Method and apparatus for video coding
Aspects of the disclosure provide methods and apparatuses for video encoding/decoding. In some examples, an apparatus for video decoding includes processing circuitry. The processing circuitry decodes from a coded video bitstream, transform coefficients associated with a coding block that is a non rectangular partition of a picture. Further, the processing circuitry determines residuals of the coding block based on the transform coefficients, and reconstructs samples of the coding block based on the residuals of the coding block.
1. A method for video decoding in a decoder, comprising:
decoding, by a processor and from a coded video bitstream, transform coefficients associated with a coding block that is an L-shaped partition of a picture;
partitioning the L-shaped partition of the picture into a plurality of rectangular sub-blocks based on a determination that the coding block is the L-shaped partition, each corner of the L-shaped partition being a right angle;
determining, by the processor, residuals of each of the plurality of rectangular sub-blocks in the coding block based on the transform coefficients of the respective rectangular sub-block; and
reconstructing, by the processor, samples of the coding block based on the residuals of the coding block.
2. The method of claim 1 , further comprising:
determining, by the processor, first residuals of a first rectangular sub-block of the plurality of rectangular sub-blocks based on first transform coefficients in the transform coefficients, the first rectangular sub-block being a first partition of the L-shaped partition.
3. The method of claim 2 , further comprising:
determining, by the processor, second residuals of a second rectangular sub-block of the plurality of rectangular sub-blocks based on second transform coefficients in the transform coefficients, the second rectangular sub-block being a second partition of the L-shaped partition and having a same size as the first rectangular sub-block.
4. The method of claim 2 , further comprising:
determining, by the processor, second residuals of a second rectangular sub-block of the plurality of rectangular sub-blocks based on second transform coefficients in the transform coefficients, the second rectangular sub-block being a second partition of the L-shaped partition and having a different size from the first rectangular sub-block.
5. The method of claim 1 , further comprising:
determining intermediate transform coefficients of an intermediate transform unit by performing inverse transform of a transform unit in a first direction, the transform unit being formed by the transform coefficients; and
determining the residuals of the coding block by performing inverse transform of the intermediate transform unit in a second direction.
6. The method of claim 5 , further comprising:
performing, first inverse transform operations respectively on first columns of the transform unit, the first inverse transform operations respectively being a first number of points inverse transform;
performing, second inverse transform operations respectively on second columns of the transform unit, the second inverse transform operations respectively being a second number of points inverse transform;
performing, third inverse transform operations respectively on first rows of the intermediate transform unit, the third inverse transform operations respectively being a third number of points inverse transform; and
performing, fourth inverse transform operations respectively on second rows of the intermediate transform unit, the fourth inverse transform operations respectively being a fourth number of points inverse transform.
7. The method of claim 5 , further comprising:
performing, first inverse transform operations respectively on first rows of the transform unit, the first inverse transform operations respectively being a first number of points inverse transform;
performing, second inverse transform operations respectively on second rows of the transform unit, the second inverse transform operations respectively being a second number of points inverse transform;
performing, third inverse transform operations respectively on first columns of the intermediate transform unit, the third inverse transform operations respectively being a third number of points inverse transform; and
performing, fourth inverse transform operations respectively on second columns of the intermediate transform unit, the fourth inverse transform operations respectively being a fourth number of points inverse transform.
8. The method of claim 1 , further comprising:
determining, by the processor, the residuals of the coding block by performing an inverse Karhunen-Loeve transform (KLT) of the transform coefficients.
9. The method of claim 1 , further comprising:
determining, by the processor, first residuals of a rectangular unit that includes the L-shaped partition by performing 2-dimensional inverse transform of the transform coefficients; and
selecting, by the processor, the residuals of the coding block from the first residuals of the rectangular unit.
10. The method of claim 1 , further comprising:
forming a transform unit for the L-shaped partition by following a scan order for a rectangular unit that encompasses the L-shaped partition; and
skipping a scan position that is out of the L-shaped partition.
11. An apparatus for video decoding, comprising:
processing circuitry configured to:
decode from a coded video bitstream, transform coefficients associated with a coding block that is an L-shaped partition of a picture;
partition the L-shaped partition of the picture into a plurality of rectangular sub-blocks based on a determination that the coding block is the L-shaped partition, each corner of the L-shaped partition being a right angle;
determine residuals of each of the plurality of rectangular sub-blocks in the coding block based on the transform coefficients of the respective rectangular sub-block; and
reconstruct samples of the coding block based on the residuals of the coding block.
12. The apparatus of claim 11 , wherein the processing circuitry is further configured to:
determine first residuals of a first rectangular sub-block of the plurality of rectangular sub-blocks based on first transform coefficients in the transform coefficients, the first rectangular sub-block being a first partition of the L-shaped partition.
13. The apparatus of claim 12 , wherein the processing circuitry is further configured to:
determine second residuals of a second rectangular sub-block of the plurality of rectangular sub-blocks based on second transform coefficients in the transform coefficients, the second rectangular sub-block being a second partition of the L-shaped partition and having a same size as the first rectangular sub-block.
14. The apparatus of claim 12 , wherein the processing circuitry is further configured to:
determine second residuals of a second rectangular sub-block of the plurality of rectangular sub-blocks based on second transform coefficients in the transform coefficients, the second rectangular sub-block being a second partition of the L-shaped partition and having a different size from the first rectangular sub-block.
15. The apparatus of claim 11 , wherein the processing circuitry is further configured to:
determine intermediate transform coefficients of an intermediate transform unit by performing inverse transform of a transform unit in a first direction, the transform unit being formed by the transform coefficients; and
determine the residuals of the coding block by performing inverse transform of the intermediate transform unit in a second direction.
16. The apparatus of claim 15 , wherein the processing circuitry is further configured to:
perform, first inverse transform operations respectively on first columns of the transform unit, the first inverse transform operations respectively being a first number of points inverse transform;
perform, second inverse transform operations respectively on second columns of the transform unit, the second inverse transform operations respectively being a second number of points inverse transform;
perform, third inverse transform operations respectively on first rows of the intermediate transform unit, the third inverse transform operations respectively being a third number of points inverse transform; and
perform, fourth inverse transform operations respectively on second rows of the intermediate transform unit, the fourth inverse transform operations respectively being a fourth number of points inverse transform.
17. The apparatus of claim 15 , wherein the processing circuitry is further configured to:
perform, first inverse transform operations respectively on first rows of the transform unit, the first inverse transform operations respectively being a first number of points inverse transform;
perform, second inverse transform operations respectively on second rows of the transform unit, the second inverse transform operations respectively being a second number of points inverse transform;
perform, third inverse transform operations respectively on first columns of the intermediate transform unit, the third inverse transform operations respectively being a third number of points inverse transform; and
perform, fourth inverse transform operations respectively on second columns of the intermediate transform unit, the fourth inverse transform operations respectively being a fourth number of points inverse transform.
18. The apparatus of claim 11 , wherein the processing circuitry is further configured to:
determine the residuals of the coding block by performing an inverse Karhunen-Loeve transform (KLT) of the transform coefficients.
19. The apparatus of claim 11 , wherein the processing circuitry is further configured to:
determine first residuals of a rectangular unit that includes the L-shaped partition by performing 2-dimensional inverse transform of the transform coefficients; and
select the residuals of the coding block from the first residuals of the rectangular unit.
20. The apparatus of claim 11 , wherein the processing circuitry is further configured to:
form a transform unit for the L-shaped partition by following a scan order for a rectangular unit that encompasses the L-shaped partition; and
skip a scan position that is out of the L-shaped partition.