Block level geometric partitioning
A decoder is configured to decode a bitstream having a block based geometric partition having a plurality of orthogonal block boundaries by assigning a first plurality blocks on one side of an angled line segment a first common motion vector and by assigning a second plurality of blocks on the other side of the angled line segment a second common motion vector different than the first common motion vector. The decoder reconstructs the first plurality of blocks using the first common motion vector and the blocks in the second plurality of blocks using the second common motion vector.
1. A decoder comprising:
circuitry configured to receive a bitstream, the bitstream comprising a picture including a rectangular array of coded blocks, the rectangular array of coded blocks having been encoded at an encoder by forming a block based geometric partition defined by a plurality of orthogonal block boundaries within the array by assigning a first plurality of blocks in the array determined to be on one side of an angled line segment a first common motion vector and by assigning a second plurality of blocks in the array determined to be on the other side of the angled line segment a second common motion vector different than the first common motion vector, wherein the rectangular array is formed by a coding tree unit and each block is formed by a coding unit in the coding tree unit;
reconstruct the array of blocks by decoding the blocks in the first plurality using the first common motion vector and the blocks in the second plurality using the second common motion vector, whereby the block based geometric partition defined by a plurality of orthogonal block boundaries in the array is reconstructed.
2. The decoder of claim 1 , wherein the first plurality of blocks includes blocks sized 2×2 or greater.
3. The decoder of claim 1 , wherein the second plurality of blocks includes blocks sized 2×2 or greater.
4. The decoder of claim 1 , wherein the block level geometric partitioning mode is signaled in the bitstream.
5. The decoder of claim 1 , wherein the block is partitioned into the first plurality of blocks and the second plurality of blocks along a line segment characterized by a location specifying the upper left corner location of the block or an upper right corner location of the block.
6. The decoder of claim 1 , further comprising:
an entropy decoder processor configured to receive the bit stream and decode the bitstream into quantized coefficients;
an inverse quantization and inverse transformation processor configured to process the quantized coefficients including performing an inverse discrete cosine;
a deblocking filter; a frame buffer; and
an intra prediction processor.
7. The decoder of claim 1 , wherein the bitstream includes a parameter indicating whether block level geometric partitioning mode is enabled for the block.
8. The decoder of claim 1 , wherein each block forms part of a quadtree plus binary decision tree.
9. A decoder comprising:
circuitry configured to receive a bitstream, the bitstream comprising a picture including a rectangular array of coded blocks, the rectangular array of coded blocks having been encoded at an encoder by forming a block based geometric partition defined by a plurality of orthogonal block boundaries within the array by assigning a first plurality of blocks in the array determined to be on one side of an angled line segment a first common motion vector and by assigning a second plurality of blocks in the array determined to be on the other side of the angled line segment a second common motion vector different than the first common motion vector, wherein each block of the rectangular array is determined to be on one side or the other side of the angled line segment depending on whether an origin pixel location of the block is on one side or the other side of the line segment; and
reconstruct the array of blocks by decoding the blocks in the first plurality using the first common motion vector and the blocks in the second plurality using the second common motion vector, whereby the block based geometric partition defined by a plurality of orthogonal block boundaries in the array is reconstructed.
10. The decoder of claim 9 , wherein the block level geometric partitioning mode is signaled in the bitstream.
11. The decoder of claim 9 , wherein the block is partitioned into the first plurality of blocks and the second plurality of blocks along a line segment characterized by a location specifying the upper left corner location of the block or an upper right corner location of the block.