AU2017254968B2 - Apparatus of decoding video data - Google Patents

Apparatus of decoding video data Download PDF

Info

Publication number
AU2017254968B2
AU2017254968B2 AU2017254968A AU2017254968A AU2017254968B2 AU 2017254968 B2 AU2017254968 B2 AU 2017254968B2 AU 2017254968 A AU2017254968 A AU 2017254968A AU 2017254968 A AU2017254968 A AU 2017254968A AU 2017254968 B2 AU2017254968 B2 AU 2017254968B2
Authority
AU
Australia
Prior art keywords
quantization parameter
block
unit
quantization
inverse
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
AU2017254968A
Other versions
AU2017254968A1 (en
Inventor
Soo Mi Oh
Moonock Yang
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Gensquare LLC
Original Assignee
Gensquare LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from KR20110114610A external-priority patent/KR20130049526A/en
Application filed by Gensquare LLC filed Critical Gensquare LLC
Priority to AU2017254968A priority Critical patent/AU2017254968B2/en
Publication of AU2017254968A1 publication Critical patent/AU2017254968A1/en
Application granted granted Critical
Publication of AU2017254968B2 publication Critical patent/AU2017254968B2/en
Assigned to GENSQUARE LLC reassignment GENSQUARE LLC Request for Assignment Assignors: INFOBRIDGE PTE. LTD.
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

An apparatus for generating a residual block, comprising: an entropy decoding unit of decoding residual signals to generate quantized 5 coefficient components; an inverse scanning unit of determining an inverse scan pattern and generating a quantized block using the inverse scan pattern; an inverse quantization unit of deriving a quantization parameter and inversely quantizing the quantized block using the quantization parameter to generate a transformed 10 block; and an inverse transform unit of inversely transforming the transformed block to generate a residual block, wherein when the quantization parameter is a chroma quantization parameter, the chroma quantization parameter is generated using a luma quantization parameter and an 15 offset parameter indicating a relationship between the luma quantization parameter and the chroma quantization parameter, the luma quantization parameter is derived using a differential quantization parameter and a quantization parameter predictor, and the differential quantization parameter is generated by entropy decoding, 20 if two or more quantization parameters are available among a left quantization parameter, an above quantization parameter and a previous quantization parameter of a current coding unit, the quantization parameter predictor is generated using two available quantization parameters, and if only one quantization parameter is available among the left quantization 25 parameter, the above quantization parameter and the previous quantization parameter, the available quantization parameter is set as the quantization parameter predictor.

Description

APPARATUS OF DECODING VIDEO DATA [Technical Field]
The present invention relates an apparatus of decoding video data, and more particularly, to an apparatus of deriving intra prediction mode, generating a prediction block and a residual block to recover a reconstructed block for luma and chroma components.
[Background Art]
In H.264/MPEG-4 AVC, 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 efficacy. Techniques increasing a number of luma and chroma intra prediction 20 modes are also introduces to generate a prediction block more similar to an original block.
But, the amount of coding bits required for signaling the intra prediction mode increases as the number of intra prediction modes increases. Also, the difference between an original block and a prediction block prediction block is greater as the size of the coding unit is larger. Accordingly, more effective method is required to encode and 25 decode video data for luma and chroma components.
Any discussion of documents, devices, acts or knowledge in this specification is included to explain the context of the invention. It should not be taken as an admission that any of the material formed part of the prior art base or the common general knowledge in the relevant art on or before the priority date of the claims herein.
Comprises/comprising and grammatical variations thereof when used in this specification are to be taken to specify the presence of stated features, integers, steps or
2017254968 03 Nov 2017 components or groups thereof, but do not preclude the presence or addition of one or more other features, integers, steps, components or groups thereof.
[Technical Problem]
The present invention is directed to an apparatus of deriving an intra prediction mode, generate referential pixels, adaptively filtering reference pixels and generating a prediction block.
[Technical Solution]
In accordance with the present invention, there is provided an apparatus for generating a residual block, comprising:
an entropy decoding unit of decoding residual signals to generate quantized coefficient components;
an inverse scanning unit of determining an inverse scan pattern and generating a 15 quantized block using the inverse scan pattern;
an inverse quantization unit of deriving a quantization parameter and inversely quantizing the quantized block using the quantization parameter to generate a transformed block; and an inverse transform unit of inversely transforming the transformed block to 20 generate a residual block, wherein when the quantization parameter is a chroma quantization parameter, the chroma quantization parameter is generated using a luma quantization parameter and an offset parameter indicating a relationship between the luma quantization parameter and the chroma quantization parameter, the luma quantization parameter is derived using a differential quantization parameter and a quantization parameter predictor, and the differential quantization parameter is generated by entropy decoding, if two or more quantization parameters are available among a left quantization parameter, an above quantization parameter and a previous quantization parameter of a 30 current coding unit, the quantization parameter predictor is generated using two available quantization parameters, and
2017254968 03 Nov 2017 if only one quantization parameter is available among the left quantization parameter, the above quantization parameter and the previous quantization parameter, the available quantization parameter is set as the quantization parameter predictor.
Preferably when the transformed block is a luma block and a prediction mode is an intra prediction, an inverse transform type used for inversely transforming the transformed block is a DST-based integer transform if the size of the transformed block is smaller than 8x8, and the inverse transform type used for inversely transforming the transformed block is a DCT-based integer transform if the size of the transformed block is not smaller than 8x8.
When the transformed block is a chroma block, the inverse transform type used for inversely transforming the transformed block may be a DCT-based integer transform.
When the transformed block is the luma block and the prediction mode is inter prediction, the inverse transform type used for inversely transforming the transformed block may be a DCT-based integer transform.
If the left and above quantization parameters are available, an average of the left and above quantization parameters may be set as the quantization parameter predictor.
The parameter indicating the relationship between the luma quantization parameter and the chroma quantization parameter may be included in a picture parameter set.
In one embodiment, when a prediction mode is an intra prediction, the residual signals are luma signals and a size of the quantized block is equal to or smaller than 8x8, the inverse scan pattern can be selected among a diagonal scan, a vertical scan and a horizontal scan.
In another embodiment, when a prediction mode is an intra prediction, the residual signals are chroma signals and a size of the quantized block is equal to 4x4, the inverse 25 scan pattern can be selected among a diagonal scan, a vertical scan and a horizontal scan.
When a size of the quantized block is larger than 4x4, plural subsets may be generated by applying the inverse scan pattern to significant flags, coefficient signs and coefficient levels, and the quantized block can be generated by applying the inverse scan pattern to the plural subset.
The quantized block may be generated using the inverse scan pattern and non-zero subset flags.
There is also described an apparatus of decoding video data, comprising: a prediction mode decoding unit configured to derive a luma intra prediction mode and a
2017254968 03 Nov 2017 chroma intra prediction mode; a prediction size determining unit configured to determine a size of a luma transform unit and a size of a chroma transform unit using luma transform size information; a reference pixel generating unit configured to generate referential pixels if at least one reference pixel is unavailable; a reference pixel filtering unit configured to 5 adaptively filter the reference pixels of a current luma block based on the luma intra prediction mode and the size of the luma transform unit, and not to filter the reference pixels of a current chroma block; a prediction block generating unit configured to generate prediction blocks of the current luma block and the current current block; and a residual bock generating unit configured to generate a residual luma residual block and a chroma 10 residual block.
[Advantageous Effects]
An apparatus according to the present invention derives a luma intra prediction mode and a chroma intra prediction mode, determines a size of a luma transform unit and 15 a size of a chroma transform unit using luma transform size information, adaptively filters the reference pixels of a current luma block based on the luma intra prediction mode and the size of the luma transform unit, generates prediction blocks of the current luma block and the current block and generates a residual luma residual block and a chroma residual block. Therefore, the distance of intra prediction becomes short, and the amount of 20 coding bits required to encode intra prediction modes and residual blocks of luma and chroma components is reduced and the coding complexity is reduced by adaptively encoding the intra prediction modes and adaptively filtering the reference pixels.
[Description of Drawings]
FIG. 1 is a block diagram of an image coding apparatus according to the present invention.
FIG. 2 is a block diagram of an image decoding apparatus according to the present invention.
FIG. 3 is a block diagram of an apparatus of generating a prediction block according to the present invention.
2017254968 03 Nov 2017
FIG. 4 is a conceptual diagram illustrating intra prediction modes according to the present invention.
FIG.5 is a block diagram of an apparatus of generating a residual block according to the present invention.
[Detailed Description of Preferred 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 10 various types. Therefore, many other modifications and variations 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 the 15 present invention.
Referring to FIG. 1, the image coding apparatus 100 according to the present invention includes a picture division unit 110, an intra prediction unit 120, an inter prediction unit 130, a transform unit 140, a quantization unit 150, a scanning unit 160, an entropy coding unit 170, an inverse quantization unit 155, an inverse transform unit 145, a 20 post-processing unit 180, a picture storing unit 190, a subtracter 192 and an adder 194.
The picture division unit 110 divides a picture into slices, divides a slice into largest coding units (LCUs), and divides each LCU into one or more coding units. The picture division unit 110 determines prediction mode of each coding unit and a size of prediction unit. The picture, slice and coding unit are comprised of luminance sample 25 array (luma array) and two chrominance sample arrays (chroma arrays). A chroma block has half the height and half the width of a luma block. The block may be a LCU, coding unit or a prediction unit. Hereafter, a luma coding unit, a luma prediction unit and a luma transform unit is referred to as a coding unit, a prediction unit and a transform unit respectively.
An LCU includes one or more coding units. The LCU has a recursive quad tree structure to specify a division structure of coding units. Parameters for specifying the maximum size and the minimum size of the coding unit are included in a sequence
2017254968 03 Nov 2017 parameter set. The division structure is specified by one or more split coding unit flags (split_cu_flags). The size of a coding unit is 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 5 is 2Nx2N, 2NxN, Nx2N or NxN.
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). Parameter for specifying the maximum size and the minimum size of the luma transform unit is included 10 in a sequence parameter set. The chroma transform unit has half the height and half the width of the transform unit if the transform unit is not 4x4. The minimum size of the chroma transform unit is 4x4.
The intra prediction unit 120 determines an intra prediction mode of a current prediction unit and generates a prediction block using the intra prediction mode. A size 15 of the prediction block is equal to a size of the transform unit.
The inter prediction unit 130 determines motion information of the current prediction unit using one or more reference pictures stored in the picture storing unit 190, 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 140 transforms residual signals generated using an original block and a prediction block to generate a transformed block. The residual signals are transformed by the transform unit. 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. In inter prediction, DCT-based integer 25 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 predetermined size is 8x8. The transform type of the chroma transform unit is equal to the transform type of the corresponding transform unit. Therefore, the transform type for the chroma transform unit is the DCT30 based integer transform.
The quantization unit 150 determines a quantization parameter for quantizing the transformed block. The quantization parameter is a quantization step size. The luma quantization parameter is referred to as the quantization parameter. The quantization
2017254968 03 Nov 2017 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. The minimum size of the 5 quantization unit is determined per picture and a parameter for specifying the minimum size of the quantization unit is included in a picture parameter set. A chroma quantization parameter is determined by the quantization parameter. The relationship between the quantization parameter and the chroma quantization parameter may be determined by the picture. A parameter for indicating the relationship is transmitted in a picture parameter 10 set (PPS). The relationship may be changed by the slice. Another parameter for changing the relationship may be transmitted in a slice header.
The quantization unit 150 generates a quantization parameter predictor and generates a differential quantization parameter by subtracting the quantization parameter predictor from the quantization parameter. The differential quantization parameter is 15 entropy-coded.
The quantization parameter predictor is generated by using quantization parameters of neighboring coding units and quantization parameter of previous coding unit as follows.
A left quantization parameter, an above quantization parameter and a previous 20 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 25 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 30 parameter is set as the quantization parameter predictor. The average is rounded off.
The quantization unit 150 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 155 and the scanning unit 160.
2017254968 03 Nov 2017
The scanning unit 160 determines a scan pattern and applies the scan pattern to the quantized block. When CABAC 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 transformed block 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 coefficient levels. The scan pattern is applied to the significant flags, coefficient signs and coefficient levels 10 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 15 horizontal scan is selected for the vertical mode and a predetermined number of neighboring intra prediction modes of 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 20 is used. The first size is 8x8. The predetermined number is 8 if the transform unit 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.
The scan pattern of a chroma transform unit is equal to the scan pattern of a corresponding luma transform unit. Therefore, the scan pattern is selected among the 25 diagonal scan, the vertical scan and the horizontal scan as shown above when the size of the chroma transform unit is 4x4, and the diagonal scan is used when the size of the chroma transform unit is larger than 4x4.
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 remaining subsets and the 30 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. The second size is 4x4. The
2017254968 03 Nov 2017 subset is a 4x4 block containing 16 transform coefficients. The subset for chroma is also a 4x4 block containing 16 transform coefficients.
The scan pattern for scanning the subsets is the same as the scan pattern for scanning quantized transform coefficients of each subset. The quantized transform 5 coefficients of each subset are scanned in the reverse direction. The subsets are also scanned in the reverse direction.
Last non-zero coefficient position is 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. The last non-zero coefficient position is used to 10 determine the number of subsets to be signaled in the decoder. Non-zero subset flag is set for the subsets 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 155 inversely quantizes the quantized transform 15 coefficients of the quantized block.
The inverse transform unit 145 inversely transforms the inverse quantized block to generate residual signals of the spatial domain.
The adder 194 generates a reconstructed block by adding the residual block and the prediction block.
The post-processing unit 180 performs a deblocking filtering process for removing blocking artifact generated in a reconstructed picture.
The picture storing unit 190 receives post-processed image from the postprocessing unit 180, and stores the image in picture units. A picture may be a frame or a field.
The entropy coding unit 170 entropy-codes the one-dimensional coefficient information received from the scanning unit 160, intra prediction information received from the intra prediction unit 120, motion information received from the inter prediction unit 130, and so on.
FIG. 2 is a block diagram of an image decoding apparatus 200 according to the 30 present invention.
The image decoding apparatus 200 according to the present invention includes an entropy decoding unit 210, an inverse scanning unit 220, an inverse quantization unit 230, ίο
2017254968 03 Nov 2017 an inverse transform unit 240, an intra prediction unit 250, an inter prediction unit 260, a post-processing unit 270, a picture storing unit 280 and an adder 290.
The entropy decoding unit 210 extracts the intra prediction information, the inter prediction information and the one-dimensional coefficient information from a received 5 bit stream. The entropy decoding unit 210 transmits the inter prediction information to the inter prediction unit 260, the intra prediction information to the intra prediction unit 250 and the coefficient information to the inverse scanning unit 220.
The inverse scanning unit 220 uses an inverse scan pattern to generate a quantized block. When CABAC is used for entropy coding, the scan pattern is determined as 10 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 15 generate the quantized block. The inverse scan pattern of the chroma transform unit is equal to the scan pattern of a corresponding luma transform unit. The minimum size of the chroma transform unit is 4x4.
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 20 neighboring intra prediction modes of 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 25 is selected for all intra prediction modes. The first size is 8x8. The predetermined number is 8 if the transform unit is 8x8.
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 30 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 equal to the size of the subset. The subset is a 4x4 block including 16 transform coefficients. The subset for chroma is also a 4x4 block. Therefore, when the size of the chroma transform unit is
2017254968 03 Nov 2017 larger than the second size, the subsets are generated first and the subsets are inversely scanned.
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 5 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 10 used to select subsets to be generated. The main subset and the last subset are generated using the inverse scan pattern.
The inverse quantization unit 230 receives the differential quantization parameter from the entropy decoding unit 210 and generates the quantization parameter predictor to generate the quantization parameter of the coding unit. The operation of generating the 15 quantization parameter is the same as the operation of the quantization unit 150 of FIG. 1. Then, the quantization parameter of the current coding unit is generated by adding the differential quantization parameter and the quantization parameter predictor. If the differential quantization parameter for the current coding unit is not received from the encoder, the differential quantization parameter is set to 0.
A parameter for indicating the relationship between the quantization parameter and the chroma quantization parameter is included in the PPS. Another parameter is included in the slice header if it is allowed to change the relationship by the slice. Therefore, the chroma quantization parameter is generated using the quantization parameter and the parameter included in the PPS or using the quantization parameter and 25 the two parameters.
The inverse quantization unit 230 inversely quantizes the quantized block.
The inverse transform unit 240 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 30 DCT-based integer transform or the DST-based integer transform. For example, in 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 inverse transform
2017254968 03 Nov 2017 type of the chroma transform unit is equal to the inverse transform type of the corresponding transform unit. Therefore, the inverse transform type for the chroma transform unit is the DCT-based integer transform.
The intra prediction unit 250 restores the intra prediction mode of the current prediction unit using the received intra prediction information, and generates a prediction block according to the restored intra prediction mode.
The inter prediction unit 260 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 270 operates the same as the post-processing unit 180 of
FIG. 1.
The picture storing unit 280 receives post-processed image from the postprocessing unit 270, and stores the image in picture units. A picture may be a frame or a field.
The adder 290 adds the restored residual block and a prediction block to generate a reconstructed block.
FIG. 3 is a block diagram of an apparatus 300 of generating a prediction block according to the present invention.
The apparatus 300 according to the present invention includes a parsing unit 310, a prediction mode decoding unit 320, a prediction size determining unit 330, a reference pixel generating unit 340, a reference pixel filtering unit 350 and a prediction block generating unit 360.
The parsing unit 310 parses intra prediction parameters of the current prediction unit from the bit stream.
The intra prediction parameters for luma includes are a 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 (MPM 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
2017254968 03 Nov 2017 within the group specified by the mode group indicator. The intra prediction parameter for chroma is specified by a chroma prediction mode index.
The prediction mode decoding unit 320 derives a luma intra prediction mode and a chroma intra prediction mode.
The luma intra prediciton mode is derived as follows.
The MPM group is constructed using intra prediction modes of the neighboring prediction units. 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, 10 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 15 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, the intra prediction mode of the left or above neighboring unit is set as unavailable.
FIG. 4 is a conceptual diagram illustrating intra prediction modes according to the 20 present invention. As shown in FIG. 4, 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.
When both of the left intra prediction mode and the above intra prediction mode are available and are different each other, the left intra prediction mode and the above 25 intra prediction mode are included in the MPM group and one additional intra prediction mode is added to the MPM group. 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 set as the additional intra prediction mode. If both of the left and above intra prediction modes are non-directional modes, the vertical mode is set as the additional 30 intra prediction mode.
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. If the available intra
2017254968 03 Nov 2017 prediction mode is a non-directional mode, the other non-directional mode and the vertical mode are set as the additional intra prediction modes. If the available intra prediction mode is a directional mode, two non-directional modes are set as the additional intra prediction modes
When both of the left intra prediction mode and the above intra prediction mode are unavailable, the DC mode, the planar mode and the vertical mode are added to the MPM group.
If the 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 10 the current prediction unit.
If the mode group indicator does not indicate the MPM group, the three intra predictions of the MPM group are reordered in the mode number order. 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 15 number is set to a second candidate, and the intra prediction mode with highest mode number is set to a third candidate.
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. If the prediction mode index is equal to or greater than the second candidate of the MPM group, the value 20 of the prediction mode index is increased by one. 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. The value of the final prediction mode index is set as the mode number of the intra prediction mode of the current prediction unit.
The chroma intra prediction mode is set as an intra prediction mode specified by 25 the chroma prediction mode index. If the chroma prediction index specifies a DM mode, the chroma intra prediction mode is set equal to the luma intra prediction mode.
The prediction size determining unit 330 determines the size of the prediction block based on the transform size information specifying the size of the transform unit. The transform size information may be one or more split tu flags. The size of the 30 chroma prediction block is also determined based on the transform size information. The minimum size of the chroma prediction is 4x4.
If the size of the transform unit is equal to the size of the current prediction unit, the size of the prediction block is equal to the size of the current prediction unit.
2017254968 03 Nov 2017
If the size of the transform unit is smaller than the size of the current prediction unit, the size of the prediction block is equal to the size of the transform unit. In this case, a process of generating a reconstructed block is performed on each sub-block of the current prediction unit. That is, a prediction block and a residual block of a current sub5 block are generated and a reconstructed block of each sub-block is generated by adding the prediction block and the residual block. Then, a prediction block, a residual block and a reconstructed block of the next sub-block in decoding order are generated. The restored intra prediction mode is used to generate all prediction blocks of all sub-block. Some pixels of the reconstructed block of the current sub-block are used as reference pixels of 10 the next sub-block. Therefore, it is possible to generate a prediction block which is more similar to the original sub-block.
The reference pixel generating unit 340 generates reference pixels if one or more reference pixels of the current block are unavailable. The reference pixels of the current blocks are comprised of above reference pixels located at (x=0, ..., 2N-1, y=-l), left 15 reference pixels located at (x=l-, y=0, ..., 2M-1) and a corner pixel located at (x=-l, y=-l). N is the width of the current block and M is the height of the current block. The current block is the current prediction unit or the current sub-block having the size of the transform unit. Reference pixels of the current chroma block are also generated if one or more reference pixels are unavailable.
If all reference pixels are unavailable, the value of 2U1 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 25 substituted for the unavailable reference pixel.
If available reference pixels are located at both sides of the unavailable reference pixel, the average value of the reference pixels nearest to the unavailable pixel in each side or 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 filtering unit 350 adaptively filters the reference pixels of the current luma block 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
2017254968 03 Nov 2017 the vertical and horizontal modes, the reference pixels are adaptively according to the size of the current block.
If the size of the current 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 5 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 10 lies between 0 to 7 and decreases as the size of the current block is larger.
The reference pixel filtering unit 350 does not filter the reference pixels of the current chroma block regardless of the intra prediction mode and the size of the transform unit.
The prediction block generating unit 360 generates a prediction block of the 15 current block using the reference pixels according to the restored intra prediction mode.
In the DC mode, the prediction pixels of the prediction block are generated by averaging the N reference pixels located at (x=0, ...N-l, y=-l) and the M reference pixels located at (x=-l, y=0, ..M-l). The luma prediction pixels adjacent to the reference pixel are filtered by the one or two adjacent reference pixels. The chroma prediction pixels do 20 not filtered.
In the vertical mode, the prediction pixels are generated by copying the corresponding above reference pixel. The luma prediction pixels adjacent to the left reference pixel are filtered by the left neighboring reference pixel and the corner reference pixel. The chroma prediction pixels do not filtered.
In the horizontal mode, the prediction pixels are generated by copying the corresponding left reference pixel. The luma prediction pixels adjacent to the above reference pixel are filtered by the left neighboring reference pixel and the corner reference pixel. The chroma prediction pixels do not filtered.
FIG. 5 is a block diagram of an apparatus 400 of generating a residual block 30 according to the present invention.
The apparatus 400 according to the present invention includes an entropy decoding unit 410, an inverse scanning unit 420, an inverse quantization unit 430 and an inverse transform unit 440.
2017254968 03 Nov 2017
The entropy decoding unit 410 decodes encoded residual signals to generate quantized coefficient components. When CABAC is used for entropy coding, the coefficients components includes significant flags, coefficient signs and coefficient levels. The significant flag indicates whether the corresponding quantized transform coefficient 5 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.
The inverse scanning unit 420 determines an inverse scan pattern and generates a quantized block using the inverse scan pattern. The operation of the inverse scanning unit 10 420 is the same as that of the inverse scanning unit 220 of FIG.2.
The inverse quantization unit 430 derives quantization parameter, selects a inverse quantization matrix and inversely quantizes the quantized block to generate a transformed block.
The luma quantization parameter is derived as following.
A minimum size of a quantization unit is determined. The minimum size of the quantization unit is determined per picture using a QU size indicator included in the PPS. The QU size indicator specifies the minimum size of the quantization unit.
A differential quantization parameter (dQP) of the current coding unit is generated. The dQP is generated per quantization unit by entropy decoding. If the current 20 coding unit does not contain an encoded dQP, the dQP is set to zero. If the quantization unit includes plural coding units, the dQP is included in the bit stream of the first coding unit containing non-zero coefficient.
A quantization parameter predictor of the current coding unit is generated. The quantization parameter predictor is generated using the same operation of the inverse 25 quantization unit 230 of FIG. 2. If the quantization unit includes multiple coding units, the quantization parameter predictor of the first coding unit in the decoding order is generated, and the generated quantization parameter predictor is shared for all other coding units within the quantization unit.
The quantization parameter is generated using the dQP and the quantization 30 parameter predictor.
The chroma quantization parameter is generated using the luma quantization parameter and an offset parameter indicating the relationship between the luma quantization parameter and the chroma quantization parameter. The offset parameter is
2017254968 03 Nov 2017 included in the PPS. The offset parameter is changed by an offset adjusting parameter included in the slice header if it is allowed to change the the offset by the slice.
The inverse transform unit 440 inversely transforms the transformed block to generate a residual block. An inverse transform type is adaptively determined according 5 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 luma transform unit is smaller than 8x8, the DST-based integer transform is used, otherwise, the DCT-based integer transform is used. The DCT-based integer transform is applied to the chroma transformed block.
The prediction block and the residual block are added to generate a reconstructed block. The size of the reconstructed block is equal to the size of the transform unit. Therefore, if the size of the prediction unit is larger than the transform unit, the first reconstructed block is generated and then the next reconstructed block in the decoding order is generated by generating a prediction block and a residual block until the last reconstructed block is generated. The intra prediction mode of the current prediction unit is used for generating prediction blocks and residual blocks.
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 spirit 20 and scope of the invention as defined by the appended claims.

Claims (9)

  1. CLAIMS:
    1. An apparatus for generating a residual block, comprising:
    an entropy decoding unit of decoding residual signals to generate quantized coefficient components;
    5 an inverse scanning unit of determining an inverse scan pattern and generating a quantized block using the inverse scan pattern;
    an inverse quantization unit of deriving a quantization parameter and inversely quantizing the quantized block using the quantization parameter to generate a transformed block; and
    10 an inverse transform unit of inversely transforming the transformed block to generate a residual block, wherein when the quantization parameter is a chroma quantization parameter, the chroma quantization parameter is generated using a luma quantization parameter and an offset parameter indicating a relationship between the luma quantization parameter and 15 the chroma quantization parameter, the luma quantization parameter is derived using a differential quantization parameter and a quantization parameter predictor, and the differential quantization parameter is generated by entropy decoding, if two or more quantization parameters are available among a left quantization 20 parameter, an above quantization parameter and a previous quantization parameter of a current coding unit, the quantization parameter predictor is generated using two available quantization parameters, and if only one quantization parameter is available among the left quantization parameter, the above quantization parameter and the previous quantization parameter, the 25 available quantization parameter is set as the quantization parameter predictor.
  2. 2. The apparatus of claim 1, wherein when the transformed block is a luma block and a prediction mode is an intra prediction, an inverse transform type used for inversely transforming the transformed block is a DST-based integer transform if the size of the transformed block is smaller than 8x8, and the inverse transform type used for inversely
    30 transforming the transformed block is a DCT-based integer transform if the size of the transformed block is not smaller than 8x8.
    2017254968 03 Nov 2017
  3. 3. The apparatus of claim 1, wherein when the transformed block is a chroma block, the inverse transform type used for inversely transforming the transformed block is a DCT-based integer transform.
  4. 4. The apparatus of claim 1, wherein when the transformed block is the luma block 5 and the prediction mode is inter prediction, the inverse transform type used for inversely transforming the transformed block is a DCT-based integer transform.
  5. 5. The apparatus of claim 1, wherein if the left and above quantization parameters are available, an average of the left and above quantization parameters is set as the quantization parameter predictor.
    10
  6. 6. The apparatus of claim 1, wherein the parameter indicating the relationship between the luma quantization parameter and the chroma quantization parameter is included in a picture parameter set.
  7. 7. The apparatus of claim 1, wherein when a prediction mode is an intra prediction, the residual signals are luma signals and a size of the quantized block is equal to or
    15 smaller than 8x8, the inverse scan pattern is selected among a diagonal scan, a vertical scan and a horizontal scan.
  8. 8. The apparatus of claim 1, wherein when a prediction mode is an intra prediction, the residual signals are chroma signals and a size of the quantized block is equal to 4x4, the inverse scan pattern is selected among a diagonal scan, a vertical scan and a horizontal
    20 scan.
  9. 9. The apparatus of claim 1, wherein when a size of the quantized block is larger than 4x4, plural subsets are generated by applying the inverse scan pattern to significant flags, coefficient signs and coefficient levels, and the quantized block is generated by applying the inverse scan pattern to the plural subset.
    25 10. The apparatus of claim 1, wherein the quantized block is generated using the inverse scan pattern and non-zero subset flags.
AU2017254968A 2011-11-04 2017-11-03 Apparatus of decoding video data Active AU2017254968B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
AU2017254968A AU2017254968B2 (en) 2011-11-04 2017-11-03 Apparatus of decoding video data

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
KR20110114610A KR20130049526A (en) 2011-11-04 2011-11-04 Method for generating reconstructed block
KR10-2011-0114610 2011-11-04
AU2012331602A AU2012331602B2 (en) 2011-11-04 2012-11-02 Apparatus of decoding video data
PCT/CN2012/083997 WO2013064100A1 (en) 2011-11-04 2012-11-02 Apparatus of decoding video data
AU2015261606A AU2015261606B2 (en) 2011-11-04 2015-11-25 Apparatus of decoding video data
AU2017254968A AU2017254968B2 (en) 2011-11-04 2017-11-03 Apparatus of decoding video data

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
AU2015261606A Division AU2015261606B2 (en) 2011-11-04 2015-11-25 Apparatus of decoding video data

Publications (2)

Publication Number Publication Date
AU2017254968A1 AU2017254968A1 (en) 2017-11-23
AU2017254968B2 true AU2017254968B2 (en) 2019-05-16

Family

ID=54848949

Family Applications (5)

Application Number Title Priority Date Filing Date
AU2015261607A Active AU2015261607B2 (en) 2011-11-04 2015-11-25 Apparatus of decoding video data
AU2015261609A Active AU2015261609B2 (en) 2011-11-04 2015-11-25 Apparatus of decoding video data
AU2015261608A Active AU2015261608B2 (en) 2011-11-04 2015-11-25 Apparatus of decoding video data
AU2015261606A Active AU2015261606B2 (en) 2011-11-04 2015-11-25 Apparatus of decoding video data
AU2017254968A Active AU2017254968B2 (en) 2011-11-04 2017-11-03 Apparatus of decoding video data

Family Applications Before (4)

Application Number Title Priority Date Filing Date
AU2015261607A Active AU2015261607B2 (en) 2011-11-04 2015-11-25 Apparatus of decoding video data
AU2015261609A Active AU2015261609B2 (en) 2011-11-04 2015-11-25 Apparatus of decoding video data
AU2015261608A Active AU2015261608B2 (en) 2011-11-04 2015-11-25 Apparatus of decoding video data
AU2015261606A Active AU2015261606B2 (en) 2011-11-04 2015-11-25 Apparatus of decoding video data

Country Status (1)

Country Link
AU (5) AU2015261607B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117221590A (en) * 2016-06-22 2023-12-12 Lx 半导体科技有限公司 Image encoding/decoding method and image data transmission method

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060177143A1 (en) * 2005-02-09 2006-08-10 Lsi Logic Corporation Method and apparatus for efficient transmission and decoding of quantization matrices
US20130051457A1 (en) * 2011-06-25 2013-02-28 Qualcomm Incorporated Quantization in video coding

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI375472B (en) * 2008-02-04 2012-10-21 Ind Tech Res Inst Intra prediction method for luma block of video
KR102174807B1 (en) * 2009-08-12 2020-11-06 인터디지털 브이씨 홀딩스 인코포레이티드 Methods and apparatus for improved intra chroma encoding and decoding
KR101735137B1 (en) * 2009-09-14 2017-05-12 톰슨 라이센싱 Methods and apparatus for efficient video encoding and decoding of intra prediction mode

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060177143A1 (en) * 2005-02-09 2006-08-10 Lsi Logic Corporation Method and apparatus for efficient transmission and decoding of quantization matrices
US20130051457A1 (en) * 2011-06-25 2013-02-28 Qualcomm Incorporated Quantization in video coding

Also Published As

Publication number Publication date
AU2015261606A1 (en) 2015-12-17
AU2015261606B2 (en) 2017-08-03
AU2015261608B2 (en) 2017-08-10
AU2015261607A1 (en) 2015-12-17
AU2015261608A1 (en) 2015-12-17
AU2017254968A1 (en) 2017-11-23
AU2015261609B2 (en) 2017-08-03
AU2015261607B2 (en) 2017-08-03
AU2015261609A1 (en) 2015-12-17

Similar Documents

Publication Publication Date Title
US11438592B2 (en) Apparatus of decoding video data
EP4346208A2 (en) Method for decoding chroma image
AU2017254968B2 (en) Apparatus of decoding video data

Legal Events

Date Code Title Description
FGA Letters patent sealed or granted (standard patent)
PC Assignment registered

Owner name: GENSQUARE LLC

Free format text: FORMER OWNER(S): INFOBRIDGE PTE. LTD.