Methods and apparatuses of processing pictures in an image or video coding system
Picture processing methods and apparatuses in an image or video encoding or decoding system for processing a picture partitioned into multiple non-overlapped Coding Tree Units (CTUs). Input data of a current CTU is received and split into one or more CUs. A CU entirely inside picture boundaries is split by a splitting type selected from a first set of splitting types, and a CU not entirely inside the picture boundaries is split by a splitting type selected from a second set of splitting types. The second set of splitting type comprises at least two different splitting types to provide flexibility for each out-of-bounds CU to select a splitting type. The current CTU is encoded or decoded when it is partitioned into leaf CUs for prediction and transform processing.
1. A picture processing method in an image or video coding system, comprising:
receiving input data associated with a current Coding Tree Unit (CTU) in a current picture, wherein the current picture is partitioned into multiple non-overlapped CTU;
splitting the current CTU into one or more non-overlapped Coding Units (CUs), and determining whether each CU in the current CTU is entirely inside boundaries of the current picture, wherein a CU entirely inside the boundaries of the current picture is an in-bounds CU and a CU not entirely inside the boundaries of the current picture is an out-of-bounds CU;
if the current CTU contains at least one in-bounds CU, determining whether to further split each in-bounds CU in the current CTU, and splitting the in-bounds CU by a splitting type selected from a first set of splitting types associated with a recursive partitioning structure if the in-bound CU is further split, wherein the in-bounds CU is a leaf CU if not further split;
if the current CTU contains at least one out-of-bounds CU, recursively splitting each out-of-bounds CU in the current CTU into leaf CUs, wherein a splitting type is selected from a second set of splitting types to partition each out-of-bounds CU, and the second set of splitting types comprise at least two different splitting types; and
encoding or decoding the current CTU by individually processing each leaf CU in the current CTU for prediction and transform processing.
2. The method of claim 1 , wherein information indicating whether to split each out-of-bounds CU in the current CTU is inferred without explicitly signaling.
3. The method of claim 1 , wherein information indicating which splitting type is selected for splitting each out-of-bounds CU in the current CTU is inferred without explicitly signaling.
4. The method of claim 1 , wherein the second set of splitting types comprises at least two one-dimensional (1-D) splitting types, the 1-D splitting types include a horizontal splitting type and a vertical splitting type, the horizontal splitting type divides a large block into smaller blocks with reduced block height and same block width and the vertical splitting type divides a large block into smaller blocks with same block height and reduced block width.
5. The method of claim 4 , wherein the second set of splitting types further comprises at least one two-dimensional (2-D) splitting type that divides a large block into smaller blocks with reduced block height and reduced block width.
6. The method of claim 5 , wherein one of the 1-D splitting types is selected for splitting an out-of-bounds CU if the out-of-bounds CU crosses only one boundary of the current picture, an out-of-bounds CU is split by the horizontal splitting type if the out-of-bounds CU crosses a bottom boundary of the current picture, and an out-of-bounds CU is split by the vertical splitting type if the out-of-bounds CU crosses a right boundary of the current picture.
7. The method of claim 5 , wherein the 2-D splitting type is selected for splitting an out-of-bounds CU if the out-of-bounds CU crosses both bottom and right boundaries of the current picture.
8. The method of claim 5 , wherein the recursive partitioning structure is QuadTree plus Binary Tree (QTBT) structure splitting the current CTU using recursive quadtree splitting followed by recursive binary-tree splitting, and the horizontal splitting type is binary-tree horizontal symmetrical splitting, the vertical splitting type is binary-tree vertical symmetrical splitting, and the 2-D splitting type is quadtree splitting.
9. The method of claim 5 , wherein the recursive partitioning structure is a Multi-Type-Tree (MTT) structure splitting the current CTU using recursive quadtree splitting followed by recursive binary-tree splitting or triple-tree splitting, and both the first and second sets of splitting types include quadtree splitting, binary-tree horizontal symmetrical splitting, binary-tree vertical symmetrical splitting, horizontal center-side triple-tree splitting, and vertical center-side triple-tree splitting.
10. The method of claim 5 , wherein the recursive partitioning structure is a Multi-Type-Tree (MTT) structure splitting the current CTU using recursive quadtree splitting followed by recursive binary-tree splitting or triple-tree splitting, and the second set of splitting types only includes quadtree splitting, binary-tree horizontal symmetrical splitting, and binary-tree vertical symmetrical splitting.
11. The method of claim 1 , wherein the second set of splitting types comprises a 2-D splitting type and at least one 1-D splitting type, an out-of-bounds CU is inferred to be split using a 1-D splitting type when the 2-D splitting type is disabled, and an out-of-bounds CU is inferred to be split using the 2-D splitting type when the at least one 1-D splitting type is disabled.
12. The method of claim 11 , wherein the at least one 1-D splitting type is disabled for splitting an out-of-bounds CU when a spatial dimension of the out-of-bounds CU is greater than a first threshold.
13. The method of claim 12 , wherein the 2-D splitting type is quadtree splitting and the at least one 1-D splitting type is binary-tree splitting, the 2-D splitting type is disabled for splitting an out-of-bounds CU when a spatial dimension of the out-of-bounds CU is less than a second threshold, and the second threshold is two times the first threshold.
14. The method of claim 12 , wherein the recursive partitioning structure is a QuadTree plus Binary Tree (QTBT) structure or a Multi-Type-Tree (MTT) structure, the 2-D splitting type is disabled for splitting an out-of-bounds CU when a spatial dimension of the out-of-bounds CU is less than a second threshold, wherein the first threshold is set equal to or derived from a maximum allowed binary-tree or triple-tree root node size, and the second threshold is set equal to or derived from a minimum allowed quadtree leaf node size.
15. The method of claim 11 , wherein the 2-D splitting type is disabled for splitting an out-of-bounds CU when a spatial dimension of the out-of-bounds CU is less than a second threshold and the out-of-bounds CU is not located at a bottom-right corner of the current picture.
16. The method of claim 11 , wherein the 2-D splitting type is disabled for splitting an out-of-bounds CU when a spatial dimension of the out-of-bounds CU is less than a second threshold or the 2-D splitting type is disabled for splitting an out-of bounds CU divided from a parent CU using the 1-D splitting type.
17. The method of claim 11 , wherein a flag is signaled to indicate an out-of-bounds CU is partitioned by the 1-D splitting type or the 2-D splitting type when the out-of-bounds CU crosses only one boundary of the current picture and both the 1-D splitting type and the 2-D splitting type are enabled for splitting the out-of-bounds CU.
18. The method of claim 17 , wherein a splitting direction for an out-of-bounds CU is inferred when the flag indicates the out-of-bounds CU is partitioned by the 1-D splitting type, wherein the out-of-bounds CU is split with a horizontal splitting direction if the out-of bounds CU crosses a bottom boundary of the current picture or the out-of-bounds CU is split with a vertical splitting direction if the out-of-bounds CU crosses a right boundary of the current picture.
19. The method of claim 1 , wherein recursively splitting each out-of-bounds CU in the current CTU into leaf CUs comprises determining whether each child CU split from the out-of-bounds CU is an in-bounds CU or an out-of-bounds CU, and further splitting each out-of-bounds CU using a splitting type selected from the second set of splitting types until all child CUs are in-bounds CUs.
20. The method of claim 1 , wherein a maximum allowed binary-tree depth for dividing in-bounds CUs split from an out-of-bounds CTU is set to be larger than a maximum allowed binary-tree depth for dividing in-bounds CUs split from an in-bounds CTU.
21. The method of claim 1 , wherein a maximum allowed binary-tree depth for dividing in-bounds CUs split from an out-of-bounds CTU is set equal to a maximum allowed binary-tree depth for dividing in-bounds CUs split from an in-bounds CTU.
22. An apparatus of processing pictures in an image or video coding system, the apparatus comprising one or more electronic circuits configured for:
receiving input data associated with a current Coding Tree Unit (CTU) in a current picture, wherein the current picture is partitioned into multiple non-overlapped CTU;
splitting the current CTU into one or more non-overlapped Coding Units (CUs), and determining whether each CU in the current CTU is entirely inside boundaries of the current picture, wherein a CU entirely inside the boundaries of the current picture is an in-bounds CU and a CU not entirely inside the boundaries of the current picture is an out-of-bounds CU;
if the current CTU contains at least one in-bounds CU, determining whether to further split each in-bounds CU in the current CTU, and splitting the in-bounds CU by a splitting type selected from a first set of splitting types associated with a recursive partitioning structure if the in-bound CU is further split, wherein the in-bounds CU is a leaf CU if not further split;
if the current CTU contains at least one out-of-bounds CU, recursively splitting each out-of-bounds CU in the current CTU into leaf CUs, wherein a splitting type is selected from a second set of splitting types to partition each out-of-bounds CU, and the second set of splitting types comprise at least two different splitting types; and
encoding or decoding the current CTU by individually processing each leaf CU in the current CTU for prediction and transform processing.
23. A non-transitory computer readable medium storing program instruction causing a processing circuit of an apparatus to perform image processing method, and the method comprising:
receiving input data associated with a current Coding Tree Unit (CTU) in a current picture, wherein the current picture is partitioned into multiple non-overlapped CTU;
splitting the current CTU into one or more non-overlapped Coding Units (CUs), and determining whether each CU in the current CTU is entirely inside boundaries of the current picture, wherein a CU entirely inside the boundaries of the current picture is an in-bounds CU and a CU not entirely inside the boundaries of the current picture is an out-of-bounds CU;
if the current CTU contains at least one in-bounds CU, determining whether to further split each in-bounds CU in the current CTU, and splitting the in-bounds CU by a splitting type selected from a first set of splitting types associated with a recursive partitioning structure if the in-bound CU is further split, wherein the in-bounds CU is a leaf CU if not further split;
if the current CTU contains at least one out-of-bounds CU, recursively splitting each out-of-bounds CU in the current CTU into leaf CUs, wherein a splitting type is selected from a second set of splitting types to partition each out-of-bounds CU, and the second set of splitting types comprise at least two different splitting types; and
encoding or decoding the current CTU by individually processing each leaf CU in the current CTU for prediction and transform processing.