An example device includes a memory to store the video data, and processing circuitry in communication with the memory. The processing circuitry is configured to compare a value of a dimension of a current block of the stored video data to a value of a corresponding dimension of a neighboring block of the current block to obtain a relative dimension value. The processing circuitry is further configured to determine, based on the relative dimension value, that the current block is to be partitioned according to a prediction tree (PT) portion of a multi-type tree-based partitioning scheme. The PT portion comprises partitioning according to one of a binary tree structure or a center-side triple tree structure. The processing circuitry is further configured to partition, based on the determination, the current block according to the PT portion, to form a plurality of sub-blocks.
Legal claims defining the scope of protection, as filed with the USPTO.
1. A method of coding video data, the method comprising: comparing a value of a dimension of a current block of the video data to a value of a corresponding dimension of a neighboring block of the current block to obtain a relative dimension value, the neighboring block being positioned adjacent to the current block; based on the relative dimension value, determining that the current block is to be partitioned according to a prediction tree (PT) portion of a multi-type tree-based partitioning scheme, the multi-type tree-based partitioning scheme including a binary tree structure and a center-side triple tree structure, and the PT portion of the multi-type tree-based partitioning scheme comprising partitioning according to one of the binary tree structure or the center-side triple tree structure; and based on the determination, partitioning the current block according to the PT portion of the multi-type tree-based partitioning scheme to form a plurality of sub-blocks.
2. The method of claim 1 , wherein the neighboring block comprises an above-neighboring block that is positioned above the current block, wherein comparing the value of the dimension of the current block to the value of the corresponding dimension of the above-neighboring block comprises comparing, based on the neighboring block comprising the above-neighboring block that is positioned above the current block, a width of the current block to a width of the above-neighboring block, and wherein partitioning the current block comprises vertically partitioning the current block.
3. The method of claim 1 , wherein the neighboring block comprises a left-neighboring block that is positioned left of the current block, wherein comparing the dimension of the current block to the corresponding dimension of the left-neighboring block comprises comparing, based on the neighboring block comprising the left-neighboring block that is positioned left of the current block, a height of the current block to a height of the left-neighboring block, and wherein partitioning the current block comprises horizontally partitioning the current block.
4. The method of claim 1 , wherein the neighboring block is a diagonally-neighboring block that comprises one of: an above-left neighboring block that is positioned above and left of the current block, an above-right neighboring block that is positioned above and right of the current block, or a below-left neighboring block that is positioned below and right of the current block, and wherein comparing the value of the dimension of the current block to the value of the corresponding dimension of the diagonally-neighboring block comprises comparing, based on the neighboring block being the diagonally-neighboring block, an area of the current block to an area of the above-neighboring block.
5. The method of claim 1 , further comprising selecting the neighboring block from one of: (i) a plurality of above-neighboring blocks that includes a first above-neighboring block that is positioned above a leftmost 4×4 sub-block along a top boundary of the current block, a second above-neighboring block that is positioned above a middle 4×4 sub-block along the top boundary of the current block, and a third above-neighboring block that is positioned above a rightmost 4×4 sub-block along the top boundary of the current block, or (ii) a plurality of left-neighboring blocks that includes a first left-neighboring block that is positioned left of a top 4×4 sub-block along a left boundary of the current block, a second left-neighboring block that is positioned left of a middle 4×4 sub-block along the left boundary of the current block, and a third left-neighboring block that is positioned left of a bottom 4×4 sub-block along the left boundary of the current block.
6. The method of claim 5 , wherein the method of coding the video data comprises a method of decoding encoded video data, the method further comprising: decoding one or more sub-blocks of the plurality of sub-blocks.
7. The method of claim 6 , the method further comprising: receiving, in an encoded video bitstream, at least one of a sequence parameter set (SPS), a picture parameter set (PPS), or a slice header (SH); and decoding, from the received SPS, PPS, or SH, an indication of the selected neighboring block for one or more blocks in a unit of the video data that corresponds to the respective one of the SPS, PPS, or SH.
8. The method of claim 5 , wherein the method of coding comprises a method of encoding the video data, the method further comprising: encoding the plurality of sub-blocks; and signaling encoded video data representing the encoded plurality of sub-blocks in an encoded video bitstream.
9. The method of claim 8 , the method further comprising: signaling, in one of a sequence parameter set (SPS), a picture parameter set (PPS), or a slice header (SH), an indication of the selected neighboring block for one or more blocks in a unit of the video data that corresponds to the respective one of the SPS, PPS, or SH.
10. The method of claim 5 , further comprising: comparing a width of the current block to a height of the current block to determine a shape of the current block, wherein selecting the neighboring block comprises selecting the neighboring block from one of the plurality of left-neighboring blocks or the plurality of above-neighboring blocks based on the determined shape of the current block.
11. The method of claim 1 , wherein the method of coding the video data comprises a method of decoding encoded video data, the method further comprising: comparing at least one of a width of the current block or a height of the current block, respectively, to at least one of a predetermined minimum width for the current block or a predetermined minimum height for the current block; and determining at least one of a tree type for partitioning the current block or a partitioning direction for partitioning the current block based on the comparison.
12. The method of claim 1 , wherein the current block is a current coding unit (CU), wherein the method of coding the video data comprises a method of decoding encoded video data, the method further comprising: determining that a coding tree unit (CTU) of the video data spans a picture boundary such that a size of the CTU extends beyond a padding region of a current picture; and based on the CTU spanning the picture boundary, recursively partitioning the CTU using a predetermined partitioning scheme of the multi-type tree structure to form a plurality of coding units (CUs) that includes the current CU, wherein the current CU is positioned entirely within the current picture.
13. The method of claim 1 , wherein the method of coding comprises a method of encoding the video data, the method further comprising: assigning a respective codeword of a plurality of codewords to a respective direction-tree type combination of a plurality of direction-tree type combinations for partitioning the current block, wherein the plurality of direction-tree type combinations includes a horizontal-binary tree combination, a vertical-binary tree combination, a horizontal center-side-triple tree combination, and a vertical center-side triple tree combination, and wherein partitioning the current block according to the PT portion of the multi-type tree-based partitioning scheme comprises partitioning the current block according to a particular direction-tree type combination included in the plurality of direction-tree type combinations; and signaling, in an encoded video bitstream, the respective codeword assigned to the particular direction-tree type combination according to which the current block is partitioned.
14. The method of claim 1 , wherein determining that the current block is to be partitioned according to the prediction tree (PT) portion of the multi-type tree-based partitioning scheme comprises determining a value of a flag indicative of the multi-type tree-based partitioning scheme using context dependent entropy coding and a context that is determined based on the relative dimension value.
15. The method of claim 14 , wherein determining that the current block is to be partitioned according to the prediction tree (PT) portion of the multi-type tree-based partitioning scheme comprises: determining a first context for decoding a first flag indicating whether the block is to be split; determining, based on the relative dimension value, a second context for decoding a second flag indicating whether the block is to be split vertically or horizontally; determining a third context for decoding a third flag indicating into which type of structure the block is to be split; and coding values of the first flag, second flag, and third flag based on the first context, second context, and third context, respectively.
16. The method of claim 15 , wherein determining the third context comprises determining the third context based on the relative dimension value.
17. The method of claim 15 , wherein determining the first context comprises determining the first context based on a comparison of the value of the dimension of the current block and the value of the corresponding dimension of the neighboring block.
18. A device for coding video data, the device comprising: a memory configured to store the video data; and processing circuitry in communication with the memory, the processing circuitry being configured to: compare a value of a dimension of a current block of the stored video data to a value of a corresponding dimension of a neighboring block of the current block to obtain a relative dimension value, the neighboring block being positioned adjacent to the current block; determine, based on the relative dimension value, that the current block is to be partitioned according to a prediction tree (PT) portion of a multi-type tree-based partitioning scheme, the multi-type tree-based partitioning scheme including a binary tree structure and a center-side triple tree structure, and the PT portion of the multi-type tree-based partitioning scheme comprising partitioning according to one of the binary tree structure or the center-side triple tree structure; and partition, based on the determination, the current block according to the PT portion of the multi-type tree-based partitioning scheme to form a plurality of sub-blocks.
19. The device of claim 18 , wherein the neighboring block comprises an above-neighboring block that is positioned above the current block, wherein to compare the value of the dimension of the current block to the value of the corresponding dimension of the above-neighboring block, the processing circuitry is configured to compare, based on the neighboring block comprising the above-neighboring block that is positioned above the current block, a width of the current block to a width of the above-neighboring block, and wherein to partition the current block, the processing circuitry is configured to vertically partition the current block.
20. The device of claim 18 , wherein the neighboring block comprises a left-neighboring block that is positioned left of the current block, wherein to compare the dimension of the current block to the corresponding dimension of the left-neighboring block, the processing circuitry is configured to compare, based on the neighboring block comprising the left-neighboring block that is positioned left of the current block, a height of the current block to a height of the left-neighboring block, and wherein to partition the current block, the processing circuitry is configured to horizontally partition the current block.
21. The device of claim 18 , wherein the neighboring block is a diagonally-neighboring block that comprises one of: an above-left neighboring block that is positioned above and left of the current block, an above-right neighboring block that is positioned above and right of the current block, or a below-left neighboring block that is positioned below and right of the current block, and wherein to compare the value of the dimension of the current block to the value of the corresponding dimension of the diagonally-neighboring block, the processing circuitry is configured to compare, based on the neighboring block being the diagonally-neighboring block, an area of the current block to an area of the above-neighboring block.
22. The device of claim 18 , wherein the processing circuitry is further configured to select the neighboring block from one of: (i) a plurality of above-neighboring blocks that includes a first above-neighboring block that is positioned above a leftmost 4×4 sub-block along a top boundary of the current block, a second above-neighboring block that is positioned above a middle 4×4 sub-block along the top boundary of the current block, and a third above-neighboring block that is positioned above a rightmost 4×4 sub-block along the top boundary of the current block, or (ii) a plurality of left-neighboring blocks that includes a first left-neighboring block that is positioned left of a top 4×4 sub-block along a left boundary of the current block, a second left-neighboring block that is positioned left of a middle 4×4 sub-block along the left boundary of the current block, and a third left-neighboring block that is positioned left of a bottom 4×4 sub-block along the left boundary of the current block.
23. The device of claim 22 , wherein the device comprises a device for decoding encoded video data, and wherein the processing circuitry is further configured to: decode one or more sub-blocks of the plurality of sub-blocks.
24. The device of claim 23 , further comprising communication hardware, wherein the processing circuitry is further configured to: receive, via the communication hardware, in an encoded video bitstream, at least one of a sequence parameter set (SPS), a picture parameter set (PPS), or a slice header (SH); and decode, from the received SPS, PPS, or SH, an indication of the selected neighboring block for one or more blocks in a unit of the video data that corresponds to the respective one of the SPS, PPS, or SH.
25. The device of claim 22 , wherein the device comprises a device for encoding the video data, and wherein the processing circuitry is further configured to: encoding the plurality of sub-blocks.
26. The device of claim 22 , wherein the device further comprises communication hardware, and wherein the processing circuitry is further configured to: signal, via the communication hardware, encoded video data representing the encoded plurality of sub-blocks in an encoded video bitstream; signal, via the communication hardware, in one of a sequence parameter set (SPS), a picture parameter set (PPS), or a slice header (SH), an indication of the selected neighboring block for one or more blocks in a unit of the video data that corresponds to the respective one of the SPS, PPS, or SH.
27. The device of claim 22 , wherein the processing circuitry is further configured to: compare width of the current block to a height of the current block to determine a shape of the current block, wherein to select the neighboring block, the processing circuitry is configured to select the neighboring block from one of the plurality of left-neighboring blocks or the plurality of above-neighboring blocks based on the determined shape of the current block.
28. The device of claim 18 , wherein the device comprises a device for encoding the video data, and wherein the processing circuitry is further configured to: compare at least one of a width of the current block or a height of the current block, respectively, to at least one of a predetermined minimum width for the current block or a predetermined minimum height for the current block; and determine at least one of a tree type for partitioning the current block or a partitioning direction for partitioning the current block based on the comparison.
29. The device of claim 18 , wherein the current block is a current coding unit (CU), wherein the device comprises a device for decoding encoded video data, and wherein the processing circuitry is further configured to: determine that a coding tree unit (CTU) of the video data spans a picture boundary such that a size of the CTU extends beyond a padding region of a current picture; and based on the CTU spanning the picture boundary, recursively partition the CTU using a predetermined partitioning scheme of the multi-type tree structure to form a plurality of coding units (CUs) that includes the current CU, wherein the current CU is positioned entirely within the current picture.
30. The device of claim 18 , wherein the device comprises a device for encoding the video data, wherein the device further comprises communication hardware, and wherein the processing circuitry is further configured to: assign a respective codeword of a plurality of codewords to a respective direction-tree type combination of a plurality of direction-tree type combinations for partitioning the current block, wherein the plurality of direction-tree type combinations includes a horizontal-binary tree combination, a vertical-binary tree combination, a horizontal center-side-triple tree combination, and a vertical center-side triple tree combination, and wherein to partition the current block according to the PT portion of the multi-type tree-based partitioning scheme, the processing circuitry is configured to partition the current block according to a particular direction-tree type combination included in the plurality of direction-tree type combinations; and signal, via the communication hardware, in an encoded video bitstream, the respective codeword assigned to the particular direction-tree type combination according to which the current block is partitioned.
31. The device of claim 18 , wherein to determine that the current block is to be partitioned according to the prediction tree (PT) portion of the multi-type tree-based partitioning scheme, the processing circuitry is further configured to determine a value of a flag indicative of the multi-type tree-based partitioning scheme using context dependent entropy coding and a context that is determined based on the relative dimension value.
32. The device of claim 31 , wherein to determine that the current block is to be partitioned according to the prediction tree (PT) portion of the multi-type tree-based partitioning scheme, the processing circuitry is further configured to: determine a first context for decoding a first flag indicating whether the block is to be split; determine, based on the relative dimension value, a second context for decoding a second flag indicating whether the block is to be split vertically or horizontally; determine a third context for decoding a third flag indicating into which type of structure the block is to be split; and code values of the first flag, second flag, and third flag based on the first context, second context, and third context, respectively.
33. The device of claim 32 , wherein to determine the third context, the processing circuitry is further configured to determine the third context based on the relative dimension value.
34. The device of claim 32 , wherein to determine the first context, the processing circuitry is further configured to determine the first context based on a comparison of the value of the dimension of the current block and the value of the corresponding dimension of the neighboring block.
Cooperative Patent Classification codes for this invention. Click any code to explore related patents in that topic.
September 6, 2017
March 31, 2020
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.