Image encoding and decoding

The recursive multi-tree partitioning method in video coding dynamically adapts block divisions using context-adaptive entropy decoding, addressing inefficiencies in existing standards to enhance compression efficiency and decoding speed.

JP2026035879APending Publication Date: 2026-03-04FRAUNHOFER GESELLSCHAFT ZUR FORDERUNG DER ANGEWANDTEN FORSCHUNG EV
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
JP2025243690
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Priority Date
2019-01-02
Filing Date
2025-12-09
Publication Date
2026-03-04

AI Technical Summary

Technical Problem

Existing video coding standards like HEVC and VVC face inefficiencies in block-based image/video coding due to fixed block sizes and quadtree structures, which limit compression efficiency and require extensive signaling for variable block partitions.

Method used

Implementing a recursive multi-tree partitioning method that uses partition flags to dynamically determine block divisions into coding blocks, including quad, ternary, and binary trees, to adaptively split blocks into 2 or 3 child blocks based on context-adaptive entropy decoding.

Benefits of technology

Improves decoding efficiency by reducing the size of the data stream and enhancing compression efficiency through adaptive block partitioning, optimizing the use of context-adaptive entropy coding.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026035879000001_ABST
    Figure 2026035879000001_ABST
Patent Text Reader

Abstract

To provide a device and a method for encoding and decoding an image with high compression efficiency regarding block division.SOLUTION: The decoding method decodes the picture into coding blocks according to the partitioning information signaled in the data stream by decoding from the data stream a partitioning flag of the partitioning information indicating whether a given block of the picture is partitioned, thereby stopping the recursive multi-tree splitting with the given block being one of the coding blocks. When the split flag indicates that the predetermined block of the picture is split, a quad flag of split information indicating whether the predetermined block of the picture is split into four child blocks is decoded from the data stream. If the split flag indicates that the given block of the picture is split, the splitting of the picture resumes the recursive multi-tree splitting for the child blocks using a further flag of splitting information.SELECTED DRAWING: Figure 14
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] FIELD OF THE DISCLOSURE Embodiments of the present disclosure relate to the field of image encoding and decoding, such as in the field of image or video coding. In particular, embodiments relate to partition tree design and coding thereof in hybrid video compression, such as in the field of block-based image or video coding.

[0002] In hybrid video coding, an image is typically divided into smaller blocks of variable size, allowing adaptation to the characteristics of the input video signal and ultimately resulting in higher compression efficiency. The division into blocks of variable size is typically represented by a tree structure, such as a quadtree or binary tree. The associated signaling depends on the chosen tree structure and affects the compression efficiency.

[0003] In prior art hybrid video coding, such as the High Efficiency Video Coding (HEVC) standard, an input image is first divided into fixed-size, disjoint square blocks. Each of these fixed-size square blocks constitutes the root of a partitioning tree and can be further subdivided into smaller blocks. Blocks corresponding to the leaves of the partitioning tree are used for prediction and transform coding. For these variable-size blocks, the original signal is often predicted, and the difference between the original signal and the predicted signal is called the residual signal. The residual signal is transmitted using transform coding. In HEVC, a video image is first divided into square blocks, called coding tree units (CTUs), each of which constitutes the root of a partitioning tree. HEVC uses a quadtree structure for the subdivision into smaller units. At the leaves of the quadtree, the final blocks are called coding units (CUs). Each CU constitutes the root node for two separate partitioning trees: one for prediction parameters and one for the transform coding stage. An important property of the quadtree structure is that the partitioning syntax element consists of only a single bin. This is also called the split flag, as it signals whether the current block is split into four equally sized disjoint blocks. Figure 1 shows the result of a single split into a split tree and the result in a two-dimensional image. The split syntax element is coded in the normal mode of a context-based adaptive entropy coding engine (HEVC uses context-based adaptive arithmetic coding (CABAC)). Specifically, an adaptive context model is used to code this syntax element. The context modeling process for the quadtree split syntax element employs the quadtree depth of the current node and data about the transmitted split trees of neighboring blocks. Depending on the depth of the neighboring split trees, one of three available context models is selected, and three cases are distinguished: (a) both neighbor depths are equal to or greater than the current depth; (b) both neighbor depths are less than the current depth; and (c) all other settings.

[0004] The latest video coding standardization efforts of ITU-T and ISO / IEC (called Versatile Video Coding (VVC)) use block shapes other than squares. The existing quadtree design incorporates two alternative partitioning trees: binary trees and ternary trees. As their names suggest, a node can be partitioned into two or three rectangular shapes. These partitioning shapes are interchangeable and themselves form another partitioning tree, the binary-ternary tree (BTT).

[0005] For example, image or video data compression uses block-based image / video coding and context modeling for content prediction.

[0006] It is therefore an object of the present disclosure to provide a concept for encoding and decoding images with high compression efficiency. This object is achieved by the subject matter of the independent claims contained herein.

[0007] One aspect of the present disclosure relates to an apparatus for decoding an image. The apparatus is configured to divide the image into coding blocks (e.g., leaf blocks) using recursive multi-tree partitioning according to partitioning information signaled in a data stream. The apparatus is further configured to decode the image from coding information signaled in the data stream and associated with the coding blocks. The apparatus is configured to divide the image into coding blocks according to partitioning information signaled in a data stream (e.g., the data stream described above) by decoding from the data stream a partition flag of the partition information indicating whether a given block of the image is to be partitioned, thereby stopping the recursive multi-tree partitioning when the given block becomes one of the coding blocks. That is, if the partition flag indicates that the given block is not to be partitioned, the recursive multi-tree partitioning stops. If the partition flag indicates that the given block of the image is to be partitioned, partitioning the image includes decoding from the data stream a quad flag of the partition information indicating whether the given block of the image is to be partitioned into four child blocks. If the split flag indicates that the given block of the image is to be split and the quaternion flag indicates that the given block of the image is not to be split into four child blocks, splitting the image includes decoding from the data stream one or more additional flags of the split information that indicate whether the given block of the image is to be split vertically or horizontally into two or three child blocks. Furthermore, if the split flag indicates that the given block of the image is to be split, splitting the image includes resuming the recursive multi-tree splitting for the child blocks using the additional flags of the split information. For example, one of the child blocks may be the given block in another recursion of the recursive multi-tree splitting. If the split flag indicates that the given block of the image is to be split, the device may stop the splitting and may decode and / or evaluate the split flag before decoding another flag, such as the quaternion flag, so that only one flag (i.e., the split flag) is decoded if the given block is not to be further split.By stopping the recursive splitting after decoding only one flag, the decoding efficiency is improved. Furthermore, if a given block is not further split, it is sufficient to have the split flag in the split information, which can reduce the size of the data stream.

[0008] Another aspect relates to an apparatus for decoding an image. The apparatus is configured to partition the image into coding blocks using recursive multi-tree partitioning according to partition information signaled in a data stream. The apparatus is further configured to decode the image from coding information signaled in the data stream and associated with the coding blocks. The apparatus is configured to partition the image into coding blocks according to partition information signaled in a data stream (e.g., the data stream described above) by decoding a partition flag and a tertile flag of the partition information from the data stream. The partition flag indicates whether a given block of the image is to be partitioned, thereby stopping the recursive multi-tree partitioning when the given block becomes one of the coding blocks. The tertile flag indicates whether the given block of the image is to be partitioned into four child blocks. If the given block of the image is to be partitioned but not into four child blocks, partitioning the image includes obtaining information about the split direction flag and information about the trichotomy flag. The apparatus is configured to obtain information regarding the split direction flag by decoding a split direction flag from the data stream, the split direction flag indicating whether the given block of the image is split vertically or horizontally, if neither the second nor the third predetermined criterion is met. If the second predetermined criterion is met, the apparatus is configured to obtain information regarding the split direction flag by inferring that the split direction flag indicates that the given block of the image is split vertically. If the third predetermined criterion is met, the apparatus is configured to obtain information regarding the split direction flag by inferring that the split direction flag indicates that the given block of the image is split horizontally. If the fourth predetermined criterion is not met, the apparatus is configured to obtain information regarding the split direction flag by decoding a trichotomy flag from the data stream. The trichotomy flag indicates whether the given block of the image is split into three or two child blocks.If a fourth predetermined criterion is satisfied, the apparatus is configured to obtain information about the split direction flag by inferring that the trichotomy flag indicates that the predetermined block of the image is to be split into two child blocks. Furthermore, if the predetermined block of the image is to be split, splitting the image includes resuming recursive multi-tree splitting for the child blocks using a further flag of the split information. The apparatus is further configured to decode the split direction flag from the data stream by context-adaptive entropy decoding using a second context. The second context distinguishes between the following scenarios depending on whether the following scenarios are satisfied: In a first scenario, the fourth predetermined criterion is not satisfied when the split direction flag indicates a horizontal split direction or a vertical split direction, or is satisfied when the split direction flag indicates a horizontal split direction or a vertical split direction. In a second scenario, the fourth predetermined criterion is satisfied when the split direction flag indicates a horizontal split direction, but is not satisfied when the split direction flag indicates a vertical split direction. In the third scenario, the fourth predetermined criterion is not met when the split direction indicated by the split direction flag is horizontal, and is met when the split direction indicated by the split direction flag is vertical.

[0009] Another aspect relates to an apparatus for decoding an image, the apparatus being configured to partition the image into coding blocks using recursive multiple tree partitioning in response to partition information signaled in a data stream. The apparatus is further configured to decode the image from coding information signaled in the data stream and associated with the coding blocks. The apparatus is configured to partition the image into coding blocks in response to the partition information signaled in the data stream by decoding a partition flag and a quaternary flag of the partition information from the data stream. The partition flag indicates whether a given block of the image is partitioned, with the latter indicating stopping of the recursive multiple tree partitioning once the given block becomes one of the coding blocks. The quaternary flag indicates whether the given block of the image is partitioned into four child blocks. If the given block of the image is partitioned but not into four child blocks, the apparatus is configured to obtain information about the partition direction flag and information about the trichotomy flag. Obtaining information about the split direction flag includes decoding, from the data stream, a split direction flag indicating whether the given block of the image is split vertically or horizontally if neither the second nor the third predetermined criterion is met. If the second predetermined criterion is met, obtaining information about the split direction flag includes inferring that the split direction flag indicates that the given block of the image is split vertically. If the third predetermined criterion is met, obtaining information about the split direction flag includes inferring that the split direction flag indicates that the given block of the image is split horizontally. Obtaining information about the third flag includes decoding, from the data stream, a third flag indicating whether the given block of the image is split into three or two child blocks if the fourth predetermined criterion is not met. If the fourth predetermined criterion is met, obtaining information about the third flag includes inferring that the third flag indicates that the given block of the image is split into two child blocks.Furthermore, if a fifth predetermined criterion is satisfied, obtaining information regarding the trichotomy flag includes inferring that the trichotomy flag indicates that the predetermined block of the image is to be divided into three child blocks and suppressing decoding of the trichotomy flag from the data stream. If the predetermined block of the image is divided, dividing the image includes resuming recursive multi-tree division for the child blocks using a further flag in the division information. The apparatus is further configured to decode the split direction flag from the data stream by context-adaptive entropy decoding using a second context. The second context distinguishes between the fourth predetermined criterion and the fifth predetermined criterion by determining whether a first criterion number among the fourth predetermined criterion and the fifth predetermined criterion is equal to, greater than, or less than a second criterion number among the fourth predetermined criterion and the fifth predetermined criterion. The first criterion number among the fourth predetermined criterion and the fifth predetermined criterion is satisfied if the division direction indicated by the division direction flag is horizontal. The second criterion number among the fourth predetermined criterion and the fifth predetermined criterion is satisfied if the division direction indicated by the division direction flag is vertical.

[0010] Another aspect relates to an apparatus for decoding an image, the apparatus configured to divide the image into coding blocks using recursive multiple tree partitioning according to partition information signaled in a data stream. The apparatus is further configured to decode the image from coding information signaled in the data stream and associated with the coding blocks. The apparatus is configured to divide the image into coding blocks according to the partition information signaled in the data stream (e.g., the data stream described above) by decoding a partition flag and a tertile flag of the partition information from the data stream. The partition flag indicates whether a given block of the image is to be partitioned, thereby stopping the recursive multiple tree partitioning when the given block becomes one of the coding blocks. The tertile flag indicates whether the given block of the image is to be partitioned into four child blocks. If the given block of the image is to be partitioned but not into four child blocks, partitioning the image includes decoding a partition direction flag from the data stream and decoding a tertile flag from the data stream. The partition direction flag indicates whether the given block of the image is to be partitioned vertically or horizontally. The trichotomy flag indicates whether the given block of the image is to be divided into three or two child blocks. If the given block of the image is to be divided, the image division includes resuming recursive multi-tree partitioning for the child blocks using a further flag in the partitioning information. The apparatus is further configured to decode the trichotomy flag from the data stream by context-adaptive entropy decoding using a third context. The third context is determined by the number of divisions in the recursive multi-tree partitioning used to obtain the given block (e.g., the number of recursions in the recursive multi-tree partitioning) or by the size of the given block. Alternatively or additionally, the third context is determined by whether the split direction flag indicates a horizontal split direction or whether the split direction flag indicates a vertical split direction, and distinguishes between these.

[0011] Another aspect relates to an apparatus for decoding an image, the apparatus being configured to partition the image into coding blocks using recursive multiple tree partitioning in response to partition information signaled in a data stream. The apparatus is further configured to decode the image from coding information signaled in the data stream and associated with the coding blocks. The apparatus is configured to partition the image into coding blocks in response to the partition information signaled in the data stream (e.g., the data stream described above) by decoding a partition flag and a quad flag of the partition information from the data stream. The partition flag indicates whether a given block of the image is to be partitioned, thereby stopping the recursive multiple tree partitioning when the given block becomes one of the coding blocks. The quad flag indicates whether the given block of the image is to be partitioned into four child blocks. If the given block of the image is to be partitioned but not into four child blocks, partitioning the image includes decoding from the data stream one or more other flags of the partition information indicating whether the given block of the image is to be vertically or horizontally partitioned into two or three child blocks. If the predetermined block of the image is split, splitting the image includes resuming recursive multi-tree splitting for child blocks using a further flag in the split information. The apparatus is further configured to select one of a first mode and a second mode. In the first mode, the apparatus is configured to decode a quad flag after the split flag if the split flag indicates that the predetermined block of the image is split. In the second mode, the apparatus is configured to decode a split flag after the quad flag if the quad flag indicates that the predetermined child block of the image is not split into four child blocks.

[0012] Another aspect relates to an apparatus for encoding an image. The apparatus is configured to divide the image into coding blocks using recursive multiple tree partitioning. The apparatus is configured to encode, in a data stream, partition information defining the partitioning of the image. The apparatus is further configured to encode the image into coding information associated with the coding blocks and to encode the coding information in the data stream. The apparatus is configured to encode the partition information in the data stream by encoding, in the data stream, a partition flag of the partition information. The partition flag indicates whether a given block of the image is to be partitioned, thereby stopping the recursive multiple tree partitioning when the given block becomes one of the coding blocks. For example, the partition flag may indicate to a decoder that decodes the partition flag whether the given block is a coding block (e.g., a leaf block) or whether the given block will be further partitioned by another recursion of the recursive multiple tree partitioning, thereby instructing the decoder to perform such another recursion. If the partition flag indicates that the given block of the image is to be partitioned, encoding the partition information includes encoding, in the data stream, a quaternary flag of the partition information. The quaternary flag indicates whether the given block of the image is to be partitioned into four child blocks. If the split flag indicates that the given block of the image is split and the quaternion flag indicates that the given block of the image is not split into four child blocks, encoding the split information further includes encoding one or more other flags of the split information into the data stream. The one or more other flags indicate whether the given block of the image is split vertically or horizontally into two or three child blocks. If the split flag indicates that the given block of the image is split, encoding the split information further includes resuming encoding of the split information for the child blocks using the further other flag of the split information. For example, in another recursion of the recursive multiple tree splitting, one of the child blocks may be the given block.

[0013] Another aspect relates to an apparatus for encoding an image, the apparatus being configured to divide the image into coding blocks using recursive multiple tree partitioning and to encode, in a data stream, partition information defining the partitioning. The apparatus is further configured to encode the image into coding information associated with the coding blocks and to encode the coding information in the data stream. The apparatus is configured to encode the partition information in the data stream by encoding, in the data stream, a partition flag and a quad flag of the partition information. The partition flag indicates whether a given block of the image is to be partitioned, thereby stopping the recursive multiple tree partitioning when the given block becomes one of the coding blocks. The quad flag indicates whether the given block of the image is to be partitioned into four child blocks. If the given block of the image is to be partitioned but not into four child blocks, and neither the second nor the third predetermined criterion is satisfied, encoding the partition information includes encoding, in the data stream, a partition direction flag. The partition direction flag indicates whether the given block of the image is to be partitioned vertically or horizontally. If the predetermined block of the image is divided but not divided into four child blocks and a second predetermined criterion is satisfied, encoding the partition information includes suppressing encoding of a partition direction flag, where if the second predetermined criterion is satisfied, the partition direction flag is presumed to indicate that the predetermined block of the image is divided vertically. If the predetermined block of the image is divided but not divided into four child blocks and a third predetermined criterion is satisfied, encoding the partition information includes suppressing encoding of the partition direction flag, where if the third predetermined criterion is satisfied, the partition direction flag is presumed to indicate that the predetermined block of the image is divided horizontally. If the predetermined block of the image is divided but not divided into four child blocks and a fourth predetermined criterion is not satisfied, encoding the partition information includes encoding a third flag into the data stream, where the third flag indicates whether the predetermined block of the image is divided into three child blocks or two child blocks.If the predetermined block of the image is divided but not into four child blocks and a fourth predetermined criterion is satisfied, encoding the partition information includes suppressing encoding of the trichotomy flag, and if the fourth predetermined criterion is satisfied, the trichotomy flag is inferred to indicate that the predetermined block of the image is divided into two child blocks. If the predetermined block of the image is divided, encoding the partition information includes resuming encoding of the partition information for the child blocks using a further flag in the partition information. The apparatus is further configured to encode the split direction flag into the data stream by context-adaptive entropy coding using a second context. The second context distinguishes between the following scenarios: In a first scenario, the fourth predetermined criterion is not satisfied when the split direction flag indicates a horizontal split direction or when the split direction flag indicates a vertical split direction, or is satisfied when the split direction flag indicates a horizontal split direction or when the split direction flag indicates a vertical split direction. In the second scenario, the fourth predetermined criterion is met when the split direction flag indicates a horizontal split direction, and is not met when the split direction flag indicates a vertical split direction. In the third scenario, the fourth predetermined criterion is not met when the split direction flag indicates a horizontal split direction, and is met when the split direction flag indicates a vertical split direction.

[0014] Another aspect relates to an apparatus for encoding an image, the apparatus being configured to divide the image into coding blocks using recursive multiple tree partitioning and to encode partition information defining the partition in a data stream. The apparatus is further configured to encode the image into coding information signaled in the data stream and associated with the coding blocks, and to encode the coding information in the data stream. The apparatus is configured to divide the image into coding blocks according to the partition information signaled in the data stream by encoding a partition flag and a quad flag of the partition information in the data stream. The partition flag indicates whether a given block of the image is to be partitioned, thereby stopping the recursive multiple tree partitioning when the given block becomes one of the coding blocks. The quad flag indicates whether the given block of the image is to be partitioned into four child blocks. If the given block of the image is to be partitioned but not into four child blocks and neither the second nor the third predetermined criterion is satisfied, the image partitioning includes encoding a partition direction flag in the data stream. The partition direction flag indicates whether the given block of the image is to be partitioned vertically or horizontally. If the given block of the image is divided but not divided into four child blocks and neither the second nor the third predetermined criterion is met, dividing the image includes suppressing encoding of a split direction flag, and if the second predetermined criterion is met, the split direction flag is presumed to indicate that the given block of the image is divided vertically. If the given block of the image is divided but not divided into four child blocks and if the third predetermined criterion is met, dividing the image includes suppressing encoding of the split direction flag, and if the third predetermined criterion is met, the split direction flag is presumed to indicate that the given block of the image is divided horizontally. If the given block of the image is divided but not divided into four child blocks and if neither the fourth nor the fifth predetermined criterion is met, dividing the image includes encoding a third flag into the data stream.The trichotomy flag indicates whether the given block of the image is to be divided into three or two child blocks. If the given block of the image is divided but not into four child blocks and a fourth predetermined criterion is met, segmenting the image includes suppressing encoding of the trichotomy flag, and if the fourth predetermined criterion is met, the trichotomy flag is presumed to indicate that the given block of the image is to be divided into two child blocks. If the given block of the image is divided but not into four child blocks and a fifth predetermined criterion is met, segmenting the image includes suppressing encoding of the trichotomy flag, and if the fifth predetermined criterion is met, the trichotomy flag is presumed to indicate that the given block of the image is to be divided into three child blocks. If the given block of the image is divided, segmenting the image includes resuming encoding of the partition information for the child blocks using a further flag in the partition information. The apparatus is further configured to encode the split direction flag into the data stream by context-adaptive entropy coding using a second context that determines and distinguishes between whether the first number is equal to, greater than, or smaller than the second number, where the first number is a first criterion number among fourth and fifth predetermined criteria that is satisfied when the split direction indicated by the split direction flag is horizontal, and the second number is a second criterion number among the fourth and fifth predetermined criteria that is satisfied when the split direction indicated by the split direction flag is vertical.

[0015] Another aspect relates to an apparatus for encoding an image, the apparatus being configured to divide the image into coding blocks using recursive multi-tree partitioning and to encode, in a data stream, partition information defining the partitioning. The apparatus is further configured to encode the image into coding information associated with the coding blocks and to encode the coding information in the data stream. The apparatus is configured to encode the partition information into the data stream by encoding, in the data stream, a partition flag and a quaternary flag of the partition information, wherein the partition flag indicates whether a given block of the image is to be partitioned, thereby stopping the recursive multi-tree partitioning when the given block becomes one of the coding blocks. The quaternary flag indicates whether the given block of the image is to be partitioned into four child blocks. If the given block of the image is to be partitioned but not into four child blocks, encoding the partition information includes encoding, in the data stream, a partition direction flag and a trichotomy flag. The partition direction flag indicates whether the given block of the image is to be partitioned vertically or horizontally. The trichotomy flag indicates whether the given block of the image is to be partitioned into three child blocks or two child blocks. If a given block of an image is divided, encoding the division information includes resuming encoding of the division information for a child block using a further flag in the division information. The apparatus is configured to encode the triangulation flag into the data stream by context-adaptive entropy coding using a third context. The third context is determined by the number of divisions in the recursive multi-tree division used to obtain the given block, or by the size of the given block. Additionally or alternatively, the third context is determined by whether the division direction flag indicates a horizontal division direction or whether the division direction flag indicates a vertical division direction, and distinguishes between these.

[0016] Another aspect relates to an apparatus for encoding an image, the apparatus being configured to divide the image into coding blocks using recursive multiple tree partitioning and to encode, in a data stream, partition information defining the partitioning. The apparatus is further configured to encode the image into coding information associated with the coding blocks and to encode the coding information in the data stream. The apparatus is configured to encode the partition information into the data stream by encoding, in the data stream, a partition flag and a quad flag of the partition information, the partition flag indicating whether a given block of the image is partitioned, thereby stopping the recursive multiple tree partitioning when the given block becomes one of the coding blocks. The quad flag indicates whether the given block of the image is partitioned into four child blocks. If the given block of the image is partitioned but not into four child blocks, encoding the partition information includes encoding, in the data stream, one or more further flags of the partition information indicating whether the given block of the image is partitioned vertically or horizontally into two or three child blocks. If the given block of the image is partitioned, encoding the partition information includes resuming encoding of the partition information for the child blocks using the further further flag of the partition information. The apparatus is configured to select one of a first mode and a second mode, wherein in the first mode, the apparatus is configured to encode a quad flag after the split flag if the split flag indicates that a given block of the image is to be split, and in the second mode, the apparatus is configured to encode a split flag after the quad flag if the quad flag indicates that a given child block of the image is not to be split into four child blocks.

[0017] Another aspect relates to a method for decoding an image, the method including: dividing the image 12′ into coding blocks using recursive multi-tree partitioning in response to partitioning information signaled in a data stream; and decoding the image 12′ from coding information signaled in the data stream and associated with the coding blocks. The method further includes dividing the image 12′ into coding blocks in response to the partitioning information signaled in the data stream by decoding from the data stream a partition flag of the partitioning information indicating whether a predetermined block of the image 12′ is to be partitioned, thereby stopping the recursive multi-tree partitioning when the predetermined block becomes one of the coding blocks. If the partition flag indicates that the predetermined block of the image 12′ is to be partitioned, partitioning the image includes decoding from the data stream a quad flag of the partitioning information indicating whether the predetermined block of the image 12′ is to be partitioned. If the quad flag indicates that the given block of image 12' is not to be divided into four child blocks, dividing the image includes decoding from the data stream one or more further flags of the division information that indicate whether the given block of image 12' is to be divided vertically or horizontally into two or three child blocks. If the division flag indicates that the given block of image 12' is to be divided, dividing the image includes resuming recursive multi-tree division for the child blocks using the further flags of the division information.

[0018] Another aspect relates to a method for decoding an image, the method including: partitioning an image 12' into coding blocks using recursive multi-tree partitioning in response to partition information signaled in a data stream. The method further includes decoding the image 12' from coding information signaled in the data stream and associated with the coding blocks. The method includes partitioning the image 12' into coding blocks in response to the partition information signaled in the data stream by decoding a partition flag and a quad flag of the partition information from the data stream, the partition flag indicating whether a given block of the image 12' is to be partitioned, thereby stopping the recursive multi-tree partitioning when the given block becomes one of the coding blocks. The quad flag indicating whether the given block of the image 12' is to be partitioned into four child blocks. If the given block of image 12' is split but not into four child blocks, the image segmentation includes decoding a split direction flag from the data stream that indicates whether the given block of image 12' is split vertically or horizontally if neither the second nor the third predetermined criterion is met. If the given block of image 12' is split but not into four child blocks, the image segmentation includes inferring that the split direction flag indicates that the given block of image 12' is split vertically if the second predetermined criterion is met. If the given block of image 12' is split but not into four child blocks, the image segmentation includes inferring that the split direction flag indicates that the given block of image 12' is split horizontally if the third predetermined criterion is met. If a given block of image 12' is to be split but not split into four child blocks, splitting the image includes decoding a trichotomous flag from the data stream that indicates whether the given block of image 12' is to be split into three child blocks or two child blocks if a fourth predetermined criterion is not met.If the given block of image 12' is split but not into four child blocks, splitting the image includes inferring that the trichotomy flag indicates that the given block of image 12' is to be split into two child blocks if a fourth predetermined criterion is met. If the given block of image 12' is split, splitting the image includes resuming recursive multi-tree splitting for the child blocks using a further flag in the split information. The method further includes decoding the split direction flag from the data stream by context-adaptive entropy decoding using a second context that is determined based on and distinguishes between the following scenarios: (i) the fourth predetermined criterion is not satisfied when the split direction indicated by the split direction flag is horizontal and when the split direction indicated by the split direction flag is vertical, or is satisfied when the split direction indicated by the split direction flag is horizontal and when the split direction indicated by the split direction flag is vertical; (ii) the fourth predetermined criterion is satisfied when the split direction indicated by the split direction flag is horizontal and is not satisfied when the split direction indicated by the split direction flag is vertical; and (iii) the fourth predetermined criterion is not satisfied when the split direction indicated by the split direction flag is horizontal and is satisfied when the split direction indicated by the split direction flag is vertical.

[0019] Another aspect relates to a method for decoding an image, the method comprising: partitioning the image 12′ into coding blocks using recursive multi-tree partitioning in response to partition information signaled in a data stream; and decoding the image 12′ from coding information signaled in the data stream and associated with the coding blocks. The method comprises partitioning the image 12′ into coding blocks in response to the partition information signaled in the data stream by decoding a partition flag and a quad flag of the partition information from the data stream, wherein the partition flag indicates whether a given block of the image 12′ is to be partitioned, thereby stopping the recursive multi-tree partitioning when the given block becomes one of the coding blocks. The quad flag indicates whether the given block of the image 12′ is to be partitioned into four child blocks. If the given block of image 12' is split but not into four child blocks, the image segmentation includes decoding a split direction flag from the data stream indicating whether the given block of image 12' is split vertically or horizontally if neither the second nor the third predetermined criterion is met. If the given block of image 12' is split but not into four child blocks, the image segmentation further includes inferring that the split direction flag indicates that the given block of image 12' is split vertically if the second predetermined criterion is met. If the given block of image 12' is split but not into four child blocks, the image segmentation further includes inferring that the split direction flag indicates that the given block of image 12' is split horizontally if the third predetermined criterion is met. If the predetermined block of image 12' is divided but not into four child blocks, dividing the image further includes decoding a trichotomous flag from the data stream indicating whether the predetermined block of image 12' is divided into three child blocks or two child blocks if a fourth predetermined criterion is not met.If the given block of image 12' is split but not into four child blocks, the image splitting further includes inferring that if a fourth predetermined criterion is met, the trichotomy flag indicates that the given block of image 12' is split into two child blocks, and if a fifth predetermined criterion is met, the trichotomy flag indicates that the given block of image 12' is split into three child blocks, and suppressing decoding of the trichotomy flag from the data stream. If the given block of image 12' is split, the image splitting further includes resuming recursive multi-tree splitting for the child blocks using yet another flag in the splitting information. Furthermore, the method includes decoding the split direction flag from the data stream by context-adaptive entropy decoding using a second context that is determined by and distinguishes between: (i) a first number of the fourth and fifth predetermined criteria that is satisfied when the split direction indicated by the split direction flag is horizontal is equal to a second number of the fourth and fifth predetermined criteria that is satisfied when the split direction indicated by the split direction flag is vertical; (ii) the first number being greater than the second number; and (iii) the first number being smaller than the second number.

[0020] Another aspect relates to a method for decoding an image, the method comprising: partitioning the image 12′ into coding blocks using recursive multi-tree partitioning in response to partition information signaled in a data stream; and decoding the image 12′ from coding information signaled in the data stream and associated with the coding blocks. The method comprises partitioning the image 12′ into coding blocks in response to the partition information signaled in the data stream by decoding a partition flag and a quad flag of the partition information from the data stream, wherein the partition flag indicates whether a given block of the image 12′ is to be partitioned, thereby stopping the recursive multi-tree partitioning when the given block becomes one of the coding blocks. The quad flag indicates whether the given block of the image 12′ is to be partitioned into four child blocks. If a given block of image 12' is split but not into four child blocks, segmenting the image includes decoding a split direction flag from the data stream indicating whether the given block of image 12' is split vertically or horizontally, and decoding a trichotomy flag from the data stream indicating whether the given block of image 12' is split into three or two child blocks. If the given block of image 12' is split, segmenting the image includes resuming recursive multi-tree segmentation for the child blocks using a further flag in the segmentation information. Decoding the trichotomy flag from the data stream using context-adaptive entropy decoding includes using a third context that depends on the number of recursive multi-tree segmentations used to obtain the given block or on the size of the given block. Additionally or alternatively, the third context is determined by whether the split direction flag indicates a horizontal split direction or whether the split direction flag indicates a vertical split direction, and distinguishes between these.

[0021] Another aspect relates to a method for decoding an image, the method including: partitioning the image 12′ into coding blocks using recursive multi-tree partitioning in response to partition information signaled in a data stream; and decoding the image 12′ from coding information signaled in the data stream and associated with the coding blocks. The method includes partitioning the image 12′ into coding blocks in response to the partition information signaled in the data stream by decoding from the data stream a partition flag and a quad flag of the partition information, wherein the partition flag indicates whether a given block of the image 12′ is to be partitioned, thereby stopping the recursive multi-tree partitioning when the given block becomes one of the coding blocks. The quad flag indicates whether the given block of the image 12′ is to be partitioned into four child blocks. If the given block of the image 12′ is to be partitioned but not into four child blocks, partitioning the image includes decoding from the data stream one or more other flags of the partition information indicating whether the given block of the image 12′ is to be vertically or horizontally partitioned into two or three child blocks. If the given block of the image 12' is split, splitting the image includes resuming recursive multi-tree splitting for the child blocks using a further flag in the split information. The method further includes selecting one of a first mode and a second mode, and in the first mode, decoding a quad flag after the split flag if the split flag indicates that the given block of the image 12' is split, and in the second mode, decoding a split flag after the quad flag if the quad flag indicates that the given child block of the image 12' is not split into four child blocks.

[0022] Another aspect relates to a method for encoding an image, the method including dividing the image into coding blocks using recursive multiple tree partitioning and encoding partition information defining the partition in a data stream. The method further includes encoding the image into coding information associated with the coding blocks and encoding the coding information in the data stream. The method further includes encoding the partition information in the data stream by encoding a partition flag of the partition information in the data stream that indicates whether a predetermined block of the image is to be partitioned, thereby stopping the recursive multiple tree partitioning when the predetermined block becomes one of the coding blocks. If the partition flag indicates that the predetermined block of the image is to be partitioned, the partitioning of the image includes encoding a quad flag of the partition information in the data stream that indicates whether the predetermined block of the image is to be partitioned into four child blocks. If the quad flag indicates that the predetermined block of the image is not to be partitioned into four child blocks, the method includes encoding one or more other flags of the partition information in the data stream that indicate whether the predetermined block of the image is to be partitioned vertically or horizontally into two or three child blocks. If the split flag indicates that the given block of the image is split, the method includes resuming encoding of the split information for the child block using a further flag in the split information.

[0023] Another aspect relates to a method for encoding an image, the method including dividing the image into coding blocks using recursive multi-tree partitioning and encoding partition information defining the partitioning in a data stream. The method further includes encoding the image into coding information associated with the coding blocks and encoding the coding information in the data stream. The method further includes encoding the partitioning information in the data stream by encoding a partition flag and a quad flag of the partitioning information in the data stream, the partition flag indicating whether a given block of the image is to be partitioned, thereby stopping the recursive multi-tree partitioning when the given block becomes one of the coding blocks. The quad flag indicates whether the given block of the image is to be partitioned into four child blocks. If the given block of the image is to be partitioned but not into four child blocks, the method includes encoding a partition direction flag in the data stream indicating whether the given block of the image is to be partitioned vertically or horizontally if neither the second nor the third predetermined criterion is met. If the given block of the image is divided but not divided into four child blocks, the method includes suppressing encoding of the split direction flag if a second predetermined criterion is met, where if the second predetermined criterion is met, the split direction flag is presumed to indicate that the given block of the image is divided vertically. If the given block of the image is divided but not divided into four child blocks, the method includes suppressing encoding of the split direction flag if a third predetermined criterion is met, where if the third predetermined criterion is met, the split direction flag is presumed to indicate that the given block of the image is divided horizontally. If the given block of the image is divided but not divided into four child blocks, the method includes encoding into the data stream a trichotomy flag indicating whether the given block of the image is divided into three or two child blocks if a fourth predetermined criterion is not met.If the given block of the image is split but not into four child blocks, the method includes suppressing encoding of the trichotomous flag if a fourth predetermined criterion is met, where the trichotomous flag is presumed to indicate that the given block of the image is split into two child blocks if the fourth predetermined criterion is met. If the given block of the image is split, the method includes resuming encoding of the partition information for the child blocks using a further flag in the partition information. The method further includes encoding the split direction flag into the data stream by context-adaptive entropy coding using a second context that is determined by and distinguishes between: (i) a fourth predetermined criterion is not satisfied when the split direction indicated by the split direction flag is horizontal and when the split direction indicated by the split direction flag is vertical, or is satisfied when the split direction indicated by the split direction flag is horizontal and when the split direction indicated by the split direction flag is vertical; (ii) the fourth predetermined criterion is satisfied when the split direction indicated by the split direction flag is horizontal and is not satisfied when the split direction indicated by the split direction flag is vertical; and (iii) the fourth predetermined criterion is not satisfied when the split direction indicated by the split direction flag is horizontal and is satisfied when the split direction indicated by the split direction flag is vertical.

[0024] Another aspect relates to a method for encoding an image, the method including: dividing the image into coding blocks using recursive multi-tree partitioning; and encoding partition information defining the partitioning in a data stream. The method further includes encoding the image into coding information signaled in the data stream and associated with the coding blocks; and encoding the coding information in the data stream. The method includes dividing the image into coding blocks according to the partitioning information signaled in the data stream by encoding a partition flag and a quad flag of the partition information in the data stream, the partition flag indicating whether a predetermined block of the image is to be partitioned, thereby stopping the recursive multi-tree partitioning when the predetermined block becomes one of the coding blocks. The quad flag indicates whether the predetermined block of the image is to be partitioned into four child blocks. If the predetermined block of the image is to be partitioned but not into four child blocks, the method includes encoding a partition direction flag in the data stream indicating whether the predetermined block of the image is to be partitioned vertically or horizontally if neither the second nor the third predetermined criterion is met. If the given block of the image is divided but not divided into four child blocks, the method includes suppressing encoding of the split direction flag if a second predetermined criterion is met, where if the second predetermined criterion is met, the split direction flag is presumed to indicate that the given block of the image is divided vertically. If the given block of the image is divided but not divided into four child blocks, the method includes suppressing encoding of the split direction flag if a third predetermined criterion is met, where if the third predetermined criterion is met, the split direction flag is presumed to indicate that the given block of the image is divided horizontally. If the given block of the image is divided but not divided into four child blocks, the method includes encoding into the data stream a trichotomy flag indicating whether the given block of the image is divided into three or two child blocks if neither the fourth nor the fifth predetermined criterion is met.If the given block of the image is partitioned but not into four child blocks, the method includes suppressing encoding of the trichotomous flag if a fourth predetermined criterion is met, where if the fourth predetermined criterion is met, the trichotomous flag is presumed to indicate that the given block of the image is partitioned into two child blocks. If the given block of the image is partitioned but not into four child blocks, the method includes suppressing encoding of the trichotomous flag if a fifth predetermined criterion is met, where if the fifth predetermined criterion is met, the trichotomous flag is presumed to indicate that the given block of the image is partitioned into three child blocks. If the given block of the image is partitioned, the method includes resuming encoding of partition information for the child blocks using a further flag in the partition information. The method includes encoding the split direction flag into a data stream by context-adaptive entropy coding using a second context that is determined by and distinguishes between: (i) a first number of the fourth and fifth predetermined criteria that is satisfied when the split direction indicated by the split direction flag is horizontal is equal to a second number of the fourth and fifth predetermined criteria that is satisfied when the split direction indicated by the split direction flag is vertical; (ii) the first number being greater than the second number; and (iii) the first number being less than the second number.

[0025] Another aspect relates to a method for encoding an image, the method including dividing the image into coding blocks using recursive multi-tree partitioning and encoding partition information defining the partitioning in a data stream. The method further includes encoding the image into coding information associated with the coding blocks and encoding the coding information in the data stream. The method further includes encoding the partitioning information in the data stream by encoding a partition flag and a quaternion flag of the partitioning information in the data stream, the partition flag indicating whether a given block of the image is to be partitioned, thereby stopping the recursive multi-tree partitioning when the given block becomes one of the coding blocks. The quaternion flag indicates whether the given block of the image is to be partitioned into four child blocks. If the given block of the image is to be partitioned but not into four child blocks, the method further includes encoding a partition direction flag in the data stream indicating whether the given block of the image is to be partitioned vertically or horizontally, and encoding a trichotomy flag in the data stream indicating whether the given block of the image is to be partitioned into three child blocks or two child blocks. If the given block of the image is split, the method includes resuming encoding of the split information for the child blocks using a further flag in the split information. The method further includes encoding the trichotomy flag into the data stream by context-adaptive entropy coding using a third context that is determined by the number of divisions in the recursive multi-tree division used to obtain the given block or by the size of the given block. Additionally or alternatively, the third context is determined by whether the split direction flag indicates a horizontal split direction or whether the split direction flag indicates a vertical split direction, and distinguishes between them.

[0026] Another aspect relates to a method for encoding an image, the method including: dividing the image into coding blocks using recursive multiple tree partitioning and encoding partition information defining the partition in a data stream; and encoding the image into coding information related to the coding blocks and encoding the coding information in the data stream. The method further includes encoding the partition information in the data stream by encoding a partition flag and a quad flag of the partition information in the data stream, the partition flag indicating whether a given block of the image is partitioned or not, thereby stopping the recursive multiple tree partitioning when the given block becomes one of the coding blocks. The quad flag indicates whether the given block of the image is partitioned into four child blocks. If the given block of the image is partitioned but not into four child blocks, the method includes encoding one or more further flags of the partition information in the data stream indicating whether the given block of the image is partitioned vertically or horizontally into two or three child blocks. If the given block of the image is partitioned, the method includes resuming encoding of the partition information for the child blocks using the further flag of the partition information. The method further includes the steps of selecting one of a first mode and a second mode; in the first mode, if the split flag indicates that a predetermined block of the image is to be split, encoding a quad flag after the split flag; and in the second mode, if the quad flag indicates that a predetermined child block of the image is not to be split into four child blocks, encoding a split flag after the quad flag.

[0027] The above methods rely on the same ideas as the above-described devices, and therefore provide the same or equivalent functions and advantages. The above methods may optionally be combined with (or supplemented by) any of the features, functions, and details described herein for the corresponding devices. The above methods may optionally be combined with the above-described features, functions, and details individually or in any combination. [Brief explanation of the drawings]

[0028] Hereinafter, embodiments of the present disclosure will be described in more detail with reference to the drawings. [Figure 1] 1 is a schematic diagram of an apparatus for encoding an image in which the disclosed concepts can be implemented; [Figure 2] 1 is a schematic diagram of an apparatus for decoding an image in which the disclosed concepts can be implemented; [Figure 3] FIG. 2 illustrates signals used by an encoder or decoder according to one embodiment. [Figure 4] 1 is a schematic diagram of an apparatus for decoding an image according to one embodiment; [Figure 5] 4 is a schematic diagram of an apparatus for decoding an image according to another embodiment; [Figure 6] 4 is a schematic diagram of an apparatus for decoding an image according to another embodiment; [Figure 7] FIG. 1 illustrates an exemplary embodiment of a second context. [Figure 8] 4 is a schematic diagram of an apparatus for decoding an image according to another embodiment; [Figure 9] 4 is a schematic diagram of an apparatus for decoding an image according to another embodiment; [Figure 10A] FIG. 1 illustrates quadtree partitioning, according to one embodiment. [Figure 10B] FIG. 1 illustrates quadtree partitioning, according to one embodiment. [Figure 11] FIG. 1 is a diagram showing a partitioning tree for the current VVC. [Figure 12] FIG. 2 illustrates a partitioning tree according to one embodiment. [Figure 13] 1 is a schematic diagram of an apparatus for encoding an image according to an embodiment; [Figure 14] 1 is a flowchart of an embodiment of a method for decoding an image. [Figure 15] 1 is a flowchart of an embodiment of a method for decoding an image. [Figure 16]1 is a flowchart of an embodiment of a method for decoding an image. [Figure 17] 1 is a flowchart of an embodiment of a method for decoding an image. [Figure 18] 1 is a flowchart of an embodiment of a method for decoding an image. [Figure 19] This is a diagram showing Table 1. [Figure 20] This is a diagram showing Table 2. [Figure 21] This is a diagram showing Table 3. [Figure 22] This is a diagram showing Table 4. [Figure 23] This is a diagram showing Table 5.

[0029] Various embodiments and aspects of the present invention are described below, and further embodiments are defined by the accompanying claims.

[0030] It should be noted that any embodiment as defined by the claims can be supplemented by any of the details (features and functions) described herein. Furthermore, the embodiments described herein can be used individually and, optionally, supplemented by any of the details (features and functions) included in the claims. It should also be noted that the individual aspects described herein can be used individually or in combination, thereby adding details to each of the individual aspects without adding details to another aspect. It should also be noted that the present disclosure explicitly or implicitly describes features that can be used in image / video encoding and decoding. Thus, any of the features described herein can be used in the context of image / video encoding and decoding.

[0031] The present invention will be better understood from the following detailed description and the accompanying drawings of embodiments of the invention, which should not be construed as limiting the invention to the particular embodiments described, but are for purposes of illustration and understanding only.

[0032] The following description of the figures begins with a description of a block-based predictive codec encoder and decoder, which constitute an example of a coding framework in which embodiments of the present invention can be incorporated, by coding images of video. The encoder and decoder are described with reference to Figures 1-3, respectively. A description of embodiments of the inventive concepts is then presented, along with a description of how such concepts can be incorporated into the encoders and decoders of Figures 1 and 2, respectively. However, the embodiments described subsequently, beginning with Figure 4, can also be used in encoder and decoder configurations that do not operate according to the coding framework underlying the encoders and decoders of Figures 1 and 2.

[0033] FIG. 1 illustrates an apparatus for predictively coding an image 12 into a data stream 14 using, illustratively, transform-based residual coding. This apparatus, or encoder, is designated with the reference symbol 10. FIG. 2 illustrates a corresponding decoder, or apparatus 20, configured to predictively decode an image 12' from the data stream 14, also using transform-based residual decoding, although an apostrophe is used to indicate that the image 12' reconstructed by the decoder 20 differs from the original image 12 encoded by the apparatus 10 in terms of coding losses introduced by quantization of the predictive residual signal. While FIGS. 1 and 2 illustratively use transform-based predictive residual coding, embodiments of the present application are not limited to this type of predictive residual coding. This also applies to other details described with respect to FIGS. 1 and 2, as outlined below.

[0034] The encoder 10 is configured to perform a spatial-to-spectral transformation on the prediction residual signal and to encode the prediction residual signal thus obtained into a data stream 14. Similarly, the decoder 20 is configured to decode the prediction residual signal from the data stream 14 and to perform a spectral-to-spatial transformation on the prediction residual signal thus obtained.

[0035] The encoder 10 may include a prediction residual generator 22 for generating a prediction residual 24 and measuring the deviation of the prediction signal 26 from the original signal, i.e., image 12. The prediction residual generator 22 may be, for example, a subtractor for subtracting the prediction signal from the original signal, i.e., image 12. The encoder 10 may further include a transformer 28 for performing a spatial-spectral transformation on the prediction residual 24 to obtain a spectral domain prediction residual 24', which is subsequently quantized by a quantizer 32, also included in the encoder 10. The quantized prediction residual 24'' is then coded into the bitstream 14. To this end, the encoder 10 may optionally include an entropy coding unit 34 for entropy coding the prediction residual for transformation and quantization into the data stream 14. The prediction signal 26 is generated by a prediction stage 36 of the encoder 10 based on the decodable prediction residual 24'' coded into the data stream 14. To this end, as shown in FIG. 1 , prediction stage 36 may include an inverse quantization unit 38 that inversely quantizes prediction residual signal 24″ to obtain a spectral-domain prediction residual signal 24′″ that corresponds to signal 24′ minus quantization losses, followed by an inverse transform unit 40 that performs an inverse, i.e., spectral-to-spatial, transform on the latter prediction residual signal 24′″ to obtain a prediction residual signal 24′″ that corresponds to the original prediction residual signal 24 minus quantization losses. A combiner 42 of prediction stage 36 then recombines prediction signal 26 and prediction residual signal 24′″, e.g., by addition, to obtain a reconstructed signal 46, i.e., a reconstruction of original signal 12. Reconstructed signal 46 may correspond to signal 12′. A prediction module 44 of prediction stage 36 then generates prediction signal 26 based on signal 46, e.g., by using spatial, i.e., intra-picture, and / or temporal, i.e., inter-picture, prediction.

[0036] Similarly, decoder 20 may include components therein that correspond to prediction stage 36 and are interconnected in a manner that corresponds to prediction stage 36, as shown in Figure 2. In particular, entropy decoding unit 50 of decoder 20 may entropy decode a quantized spectral domain prediction residual signal 24" from the data stream, with inverse quantization unit 52, inverse transform unit 54, combiner 56, and prediction module 58, interconnected and cooperating in the manner described above with respect to the modules of prediction stage 36, reconstructing a reconstructed signal based on prediction residual signal 24" such that the output of combiner 56 is a reconstructed signal, i.e., image 12', as shown in Figure 2.

[0037] Although not specifically mentioned above, it is readily apparent that the encoder 10 can set some coding parameters, such as prediction mode, motion parameters, etc., according to some optimization scheme, e.g., to optimize some rate- and distortion-related criterion, i.e., coding cost. For example, the encoder 10 and decoder 20 and corresponding modules 44, 58 may each support different prediction modes, such as intra- and inter-frame predictive coding (intra-coding) modes. The granularity at which the encoder and decoder switch between these types of prediction modes may correspond to the subdivision of the images 12 and 12′, respectively, into coding segments or coding blocks. For example, these coding segments may subdivide the image into blocks to be intra-coded and blocks to be inter-coded. The intra-coding blocks are predicted based on their coded / decoded spatial neighbors, as explained in more detail below. For each intra-coding segment, multiple intra-coding modes may be selected, including a directional or angular intra-coding mode that fills each intra-coding segment by extrapolating neighboring sample values ​​along a specific direction specific to each directional intra-coding mode. The intra-coding modes may also include one or more other modes, such as a DC coding mode that assigns DC values ​​to all samples in each intra-coding segment in the prediction of each intra-coding block, and / or a planar intra-coding mode that approximates or determines the prediction of each block to have a spatial distribution of sample values ​​represented by a two-dimensional linear function relative to the sample positions of each intra-coding block, driven by tilt and offset of a plane defined by a two-dimensional linear function based on neighboring samples. In contrast, inter-coding blocks may be temporally predicted, for example.For inter-coding blocks, motion vectors indicating the spatial displacement of parts of previously coded images of the video to which the picture 12 belongs may be signaled in the data stream, and a prediction signal for each inter-coding block is obtained by sampling previously coded / decoded images. This means that the residual signal coding included in the data stream 14, such as coefficient levels of an entropy coding transform representing a quantized spectral domain prediction residual signal 24", as well as optional other parameters may be coded in the data stream 14, such as coding mode parameters assigning coding modes to various blocks, prediction parameters for parts of the blocks (such as motion parameters for inter-coding segments), and parameters controlling and signaling the subdivision of each of the pictures 12 and 12' into segments. The decoder 20 uses these parameters to subdivide the picture in the same way as the encoder, assigning the same prediction modes to the segments, and performing the same prediction to obtain the same prediction signal.

[0038] 3 illustrates the relationship between the reconstructed signal, i.e., reconstructed image 12′, on the one hand, and the combination of the predicted residual signal 24″″ and the prediction signal 26 signaled in the data stream 14, on the other hand. As mentioned above, this combination may be additive. In FIG. 3, the prediction signal 26 is illustrated as a subdivision of the image area into intra-coded blocks, shown hatched, and inter-coded blocks, shown unhatched. This subdivision may be any subdivision, such as a regular subdivision of the image area into rows and columns of square or non-square blocks, or a multi-tree subdivision of the image 12 from a root block (e.g., CTU) into multiple leaf blocks (e.g., CU) of different sizes. This subdivision may be any subdivision, such as a quad-tree subdivision or a bi- or tri-partite subdivision, a mixture of which is illustrated in FIG. 3, where the image area is first subdivided into rows and columns of root blocks, which are then further subdivided into one or more leaf blocks according to a recursive multi-tree subdivision. Recursive multitree subdivision may also be referred to as recursive multitree splitting.

[0039] Again, data stream 14 may be coded with an intra-coding mode for intra-coding blocks 80, which assigns one of multiple supported intra-coding modes to each intra-coding block 80. For inter-coding blocks 82, one or more motion parameters may be coded into data stream 14. In general terms, inter-coding blocks 82 are not limited to temporal coding. Alternatively, inter-coding block 82 may be any block predicted from previously coded portions beyond current image 12 itself, such as previously coded pictures of the video to which image 12 belongs, or pictures of another view or lower layer if the encoder and decoder are scalable encoder and decoder, respectively.

[0040] The predicted residual signal 24"" in Figure 3 is also shown as a subdivision of the image area into blocks 84. These blocks are sometimes referred to as transform blocks to distinguish them from the coding blocks 80 and 82. In fact, Figure 3 shows that the encoder 10 and decoder 20 can use two different subdivisions of the image 12 and image 12' into blocks, respectively: one subdivision into blocks 80 and 82, respectively, and another subdivision into transform blocks 84. Both subdivisions may be the same; that is, each coding block 80 and 82 may simultaneously constitute a transform block 84. However, Figure 3 shows the case where the subdivision into transform blocks 84 constitutes an extension of the subdivision into the coding blocks 80, 82, for example, so that any boundary between the two blocks 80 and 82 overlaps the boundary between the two blocks 84, or so that each block 80, 82 corresponds to one of the transform blocks 84 or a cluster of transform blocks 84. However, the subdivisions may be determined or selected independently of one another, such that the transform blocks 84 may selectively cross the block boundaries between the blocks 80, 82. Therefore, as far as the subdivision into transform blocks 84 is concerned, the same statements made above regarding the subdivision into blocks 80, 82 apply. That is, the blocks 84 may be the result of a regular subdivision of the image area into blocks (whether or not arranged into rows and columns), a recursive multitree subdivision (recursive multitree decomposition) of the image area, or a combination of these, or any other type of blocking. It should be noted that the blocks 80, 82, and 84 are not limited to being square, rectangular, or any other shape.

[0041] 3 further illustrates that the combination of the prediction signal 26 and the prediction residual signal 24'''' directly results in the reconstructed signal 12'. However, it should be noted that the image 12' according to alternative embodiments can be obtained by combining two or more prediction signals 26 with the prediction residual signal 24''''.

[0042] In FIG. 3 , the transform blocks 84 have the following meaning: the transform unit 28 and the inverse transform unit 54 perform their respective transforms in units of these transform blocks 84. For example, many codecs use some kind of DST or DCT for all transform blocks 84. For some transform blocks 84, some codecs may omit the transform so that the predicted residual signal is directly coded in the spatial domain. However, according to the embodiment described below, the encoder 10 and the decoder 20 are configured to support multiple transforms. For example, the transforms supported by the encoder 10 and the decoder 20 include the following: DCT-II (or DCT-III) (where DCT stands for Discrete Cosine Transform) DST-IV (where DST stands for Discrete Sine Transform) DCT-IV DST-VII Identity Transformation (IT)

[0043] Of course, all of the forward transform types of these transforms are supported by transform unit 28, while decoder 20 or inverse transform unit 54 supports the corresponding backward or inverse transform types. Inverse DCT-II (or inverse DCT-III) Reverse DST-IV ·Inverse DCT-IV Reverse DST-VII Identity Transformation (IT)

[0044] The following describes in more detail subdivision or division schemes of a root block into one or more leaf blocks that can be supported by the encoder 10 and decoder 20. For example, these division schemes can provide a means for obtaining coding blocks 80, 82 and / or transform blocks 84, 84a.

[0045] 10A and 10B show an example of a quadtree partitioning and the resulting nodes (e.g., child blocks). FIG. 10A shows a partitioning tree in which node A is further partitioned into four nodes. FIG. 10B shows the result of this partitioning, in which block A is subdivided into four disjoint equal-sized blocks. For example, the partitioning of node A into four nodes B, C, D, and E as shown in FIGS. 10A and 10B may represent the partitioning of a parent block into child blocks, as may be performed by a single recursion of a recursive multitree partitioning.

[0046] The divisions shown in Figures 10A and 10B may be applied recursively. That is, for example, the division may involve dividing a parent block into one or more child blocks, one of which may serve as a parent block for another recursion of the division. For example, one or more leaf blocks may be obtained by dividing a root block multiple times. The different leaf blocks may have different shapes and sizes, for example, because different leaf blocks may have been obtained by different or the same number of recursions of different or the same types of divisions. The number of recursions of the divisions that result in a particular block of an image may be referred to, for example, as the tree depth of the particular block.

[0047] The scheme for dividing a parent block into child blocks may include information about whether to divide the parent block and information about how to divide the parent block, and may be represented by a partitioning tree.

[0048] FIG. 11 shows a partitioning tree 1100 (e.g., rules for partitioning a parent block 1111 into one or more child blocks 1112) of the current VVC development, with nested binary and ternary trees. In addition to existing blocks derived from the quadtree partitioning (e.g., blocks known from previous codecs), the partitioning tree 1100 can represent, for example, other rectangular shapes. Deviations from the quadtree can occur if the quadtree partition flag is equal to zero. For example, if the quadtree partition flag indicates that the parent block 1111 should not be partitioned into four child blocks, a binary-ternary tree starts at the leaf node of the quadtree. A binary-ternary tree, like a quadtree, forms a recursive partitioning tree, but with different partitions that can be applied at each node (e.g., each parent block) if, for example, the parent block is not partitioned into four child blocks. Also, depending on certain node characteristics, such as size, position, or tree depth, not all partitions will be available at all nodes. Only a flag that cannot be estimated based on already available data needs to be sent. If mtt_split_flag is signaled or estimated to be equal to zero, the split tree is terminated at this node (i.e., the corresponding node represents a leaf node and the associated block is used for prediction and transform coding).

[0049] As shown in Figure 2, specifying the last CU shape requires up to four syntax elements. In this scheme, subdivision stopping requires at least two syntax elements (qt_split_flag equal to 0 and mtt_split_flag equal to 0). Context modeling for qt_split_flag is similar to the approach used in HEVC. The quadtree depth of the current node is compared with the last quadtree depth of the neighboring coding trees (above the current block and to the left of the current block). Furthermore, if the current quadtree depth is greater than 1, a separate context model set is used. Instead of the quadtree depth, the width and height of the current node are compared with the width of the upper neighbor and the height of the left neighbor of mtt_split_flag. For the luma component, three different context model sets are used depending on the current CU size, while for the chroma component, a dedicated context model set is used. Note that if the slice type is internal, i.e., prediction inside the current picture (or slice or tile) is limited to intra-picture prediction only, the current VVC draft allows different partitioning trees for luma and chroma.

[0050] The mtt_split_vertical_flag carries with it three context models depending on the aspect ratio of the current node: one if the node is a square block, another if the width is greater than the height, and a third if the opposite is true, whereas the mtt_split_binary_flag uses a single context model.

[0051] As mentioned above, Figures 1-3 are presented as examples in which the inventive concepts, detailed below, can be implemented to construct specific examples of the inventive encoder and decoder. Thus far, the encoder and decoder of Figures 1 and 2 may represent possible implementations of the encoder and decoder described herein, respectively. However, Figures 1 and 2 are merely examples. However, an encoder according to embodiments of the present invention may perform block-based encoding of an image 12 using concepts described below that differ from the encoder of Figure 1, e.g., by being a still image encoder rather than a video encoder, not supporting inter-prediction, or by performing the subdivision into blocks 80 differently than illustrated in Figure 3. Similarly, a decoder according to embodiments of the present application may perform block-based decoding from the data stream 14 of the image 12′ using coding concepts detailed below, but may differ from the decoder 20 of FIG. 2 in that it is, for example, a still image encoder rather than a video encoder, does not support intra prediction, or subdivides the image 12′ into blocks in a different manner than described with respect to FIG. 3, and / or derives the prediction residual from the data stream 14 in the spatial domain rather than the transform domain.

[0052] 4 illustrates an apparatus 400 for decoding an image 12′ according to one embodiment of the present disclosure. For example, the apparatus 400 may be similar to the decoder 20. The apparatus 400 is configured to partition the image 12′ into coding blocks 425 using recursive multi-tree partitioning in response to partitioning information 415 signaled in the data stream 14. The apparatus 400 is further configured to decode the image 12′ from coding information 440 signaled in the data stream 14. The coding information 416 is associated with the coding blocks 425. When partitioning the image 12′ into the coding blocks 425, the apparatus 400 is configured to decode a partition flag 416 of the partitioning information 415 from the data stream 14. The partition flag 416 indicates whether a given block 411 of the image 12′ is to be partitioned, thereby stopping the recursive multi-tree partitioning when the given block 411 becomes one of the coding blocks 425. If the split flag 416 indicates that the given block 411 of the image 12′ is split, the device 400 is configured to decode from the data stream 14 a quad flag 417 of the split information 415 that indicates whether the given block 411 of the image 12′ is split into four child blocks 412.

[0053] If the split flag 416 indicates that a given block of the image 12' is to be split and the quad flag 417 indicates that the given block 411 of the image 12' is not to be split into four child blocks 412, splitting the image 12' includes decoding one or more further flags 418 of the split information 415 from the data stream 14 that indicate whether the given block 411 of the image 12' is to be split vertically or horizontally into two or three child blocks 412.

[0054] Furthermore, if the split flag 416 indicates that the given block 411 of the image 12′ is to be split, splitting the image 12′ includes resuming recursive multi-tree splitting for the child block 412 using a further flag in the split information 415. For example, in another recursion of the recursive multi-tree splitting, one of the child blocks 412 may be the given block 411.

[0055] For example, the device 400 may be configured to receive a data stream 14 including the partition information 415 and the coding information 440. The device 400 may further be configured to decode the image 12′ from the data stream to provide a decoded signal including the image 12′. For example, the predetermined block 411 may be any block of the image 12′ that is undergoing the current recursion of the recursive multiple tree partitioning, i.e., a block for which the current recursion may estimate a partition. For example, the predetermined block 411 of the first recursion of the recursive multiple tree partitioning may be a root block, such as a CTU. If the partition flag 416 indicates that the predetermined block 411 of the image 12′ is to be partitioned, the device 400 is configured to resume the recursive multiple tree partitioning on child blocks of the predetermined block 411. The child blocks 412 may be one or more sub-blocks of the predetermined block 411 resulting from the partitioning of the predetermined block 411. For example, apparatus 400 may be configured to resume recursive multi-tree partitioning by selecting one of the child blocks 412 of the given block as the given block 411 of a subsequent recursion of partitioning and performing partitioning as described for the given block. For example, if partition flag 416 indicates that given block 411 of image 12' is not to be partitioned, apparatus 400 may be configured to stop recursive multi-tree partitioning at a state where given block 411 becomes one of coding blocks 425. Thereafter, apparatus 400 may continue partitioning at another block (e.g., an older sister block of the given block or an older sister block of a parent block of the given block or another block).

[0056] Thus, according to one embodiment, the apparatus 400 is configured to resume recursive multiple tree partitioning for a given one of the child blocks 412 using a further flag in the partitioning information 415 by decoding from the data stream 14 another split flag 416 in the partitioning information 415 that indicates whether the given child block of the image 12′ is split, thereby stopping the recursive multiple tree partitioning at the state where the given child block becomes a coding block. If the further split flag 416 indicates that the given child block of the image 12′ is split, resuming the recursive multiple tree partitioning for the child block 412 includes decoding from the data stream 14 another quad flag 417 in the partitioning information 415 that indicates whether the given child block of the image 12′ is split into four child blocks 412. If the further split flag 416 indicates that the given child block of image 12′ is to be split and the further quad flag 417 indicates that the given child block of image 12′ is not to be split into four child blocks 412, resuming recursive multiple tree splitting for the child block 412 includes decoding from data stream 14 one or more further flags 418 of split information 415 that indicate whether the given child block of image 12′ is to be split vertically or horizontally into two or three child blocks 412. Furthermore, if the further split flag 416 indicates that the given child block of image 12′ is to be split, resuming recursive multiple tree splitting for the child block 412 of the given child block includes resuming recursive multiple tree splitting for the child block 412 of the given child block using the further flag of split information 415.

[0057] That is, for example, the apparatus 400 may be configured to resume recursive multitree splitting for a child block 412 in one recursion of the recursive multitree splitting by selecting one of the child blocks 425 resulting from splitting the given block 411 for a subsequent recursion of the recursive multitree splitting. For example, the recursive splitting may be stopped if the split flag 416 referencing the given block 411 (e.g., the given block or a given child block) of the current recursion indicates that the given block 411 will not be split.

[0058] For example, the division of node A into four nodes B, C, D, and E as shown in Figures 10A and 10B may represent the division of a given block 411 into child blocks 412, such as a possible result of one recursion of recursive multitree partitioning, as described with respect to apparatus 400 and the apparatuses in subsequent figures.

[0059] 12 illustrates an alternative partitioning tree 1200 that separates partitions and type information (e.g., information about the type of partition). For example, partitioning tree 1200 may represent one recursion of a recursive partitioning according to an exemplary embodiment of apparatus 400.

[0060] Due to the characteristics of the partitioning tree 1100 in FIG. 11 , the “stop splitting” option requires the transmission of two syntax elements. For example, a first syntax element may be required to indicate that quadtree partitioning is not performed, and a second syntax element may be required to indicate that the parent block 1111 is not to be further partitioned. Because partitioning information can be expressed independently of the subsequent shape type, an exemplary embodiment of the present invention modifies the partitioning tree as shown in FIG. 12 . Note that when the second depth is reached, i.e., when mtt_vertical_flag is transmitted, the syntax remains the same for the partitioning tree 1100 shown in FIG. 11 . Therefore, the modifications of the syntax elements mtt_vertical_flag and mtt_split_binary_flag are applicable to both the bisection methods shown in FIG. 11 and FIG. 12 . For example, the partitioning method of the present embodiment may be similar to the partitioning tree 1100 in FIG. 1100, but may use modified syntax to specify the type of split. Separating the segmentation and type information can reduce the cost of the segmentation stop option, which can be important at low bitrate operating points.

[0061] In other words, embodiments of the present invention describe a general concept that further improves compression efficiency by involving adaptive tree structures and associated context modeling.

[0062] For example, the partitioning trees shown in Figures 11 and 12 may represent only the common case where all options are possible. However, each node may inherit availability constraints. Examples of such constraints are size constraints (e.g., stopping a partition is allowed if a child node has dimensions smaller than the minimum allowed block size) and consecutive partitioning constraints (e.g., only quadtree partitioning can be signaled if the previous partition was also a quadtree partitioning). For these reasons, each syntax element in the partitioning tree may slightly change its meaning depending on the specific availability constraints. That is, for example, for a given block 411, some or all partitioning options may be unavailable.

[0063] In embodiments of the present invention, availability information (e.g., information about options available for splitting a given block 411) may be explicitly used for context modeling for syntax elements of the partitioning tree. The availability information enhances the context modeling, e.g., to enable additional context modeling options. For example, the context model may be used to infer information indicated by a given flag in the partitioning information 415, thereby inferring the information without decoding the given flag. Thus, the partitioning information 415 does not necessarily need to include the given flag, thereby reducing the size of the data stream 14. For example, the context modeling may depend on one or more criteria.

[0064] In general, embodiments of the present invention may employ various implementations of a partitioning tree for recursively partitioning an image. The partitioning may rely on a number of flags, each indicating whether the partitioning option referenced by the flag applies to a given block undergoing the current recursion of the recursive partitioning. These flags may be part of the partitioning information that may be included in the data stream. However, the flags may be inferred from the availability information. Furthermore, context modeling from the data stream or partitioning information may be used when decoding the flags. For example, context modeling may use available information to reduce the number of possible options, thereby reducing the size of the data stream by encoding or decoding one or more flags with less information. For example, the partitioning of an image may rely on one or more of the partition flag 416, the quadrant flag 417, the partition direction flag 518, and the trisection flag 519. An exemplary order for evaluating such flags is shown in FIG. 12. Each of the embodiments described with respect to FIGS. 4-9 and 13-18 may employ different orders or dependencies or conditions for evaluating or decoding one or more of the flags. For example, different types of context modeling may be employed, such as relying on availability information as described above, or relying on information about neighboring blocks (e.g., blocks that have been partitioned).

[0065] For example, a first context may be used to decode the split flag 416, but different embodiments may employ different criteria, assumptions, or information for deriving the first context.

[0066] For example, the second context may be used to decode the split direction flag 418, but different embodiments may employ different criteria, assumptions, or information for deriving the second context.

[0067] For example, a third context may be used to decode the ternary flag 419, although different embodiments may employ different criteria, assumptions, or information for deriving the third context.

[0068] In other words, the context modeling of some or all of the syntax elements in the partitioning tree may be determined solely by the availability information. Second, the context modeling of some or all of the syntax elements in the partitioning tree may be a mixture of the availability information and some other information (e.g., partitioning structure information (tree depth or size) of adjacent blocks).

[0069] According to one embodiment, the device 400 may be configured to infer that one or more flags of the partition information 415 assume a predetermined flag state without decoding the one or more flags of the partition information 415 from the data stream 14, depending on whether one or more criteria are met.

[0070] For example, data stream 14 does not necessarily include all or some of the division flags 416, quad flags 417, and further flags 418 of a given block. For example, device 400 may be configured to infer the flag states of one, more, or all of said flags of a given block from information about the given block 411 or neighboring blocks.

[0071] According to one embodiment, the one or more criteria relate to one or more of child block area, child block width, child block height, current division depth, and division line alignment with the image boundary. For example, there may be a lower limit on the area, width, or height of the child block 425 resulting from the division of the given block 411. The device 400 may predict the criteria for the child block 425, thereby inferring that one or more flags in the division information 415 (e.g., the split flag 416, the quad flag 417, or one or more other flags 418) assume a predetermined flag state. For example, the device 400 may infer that the given block 411 will not be further divided or that the given block 411 will not be divided into four child blocks 412. For example, the current division depth may represent a tree depth or quadtree depth, i.e., the number of recursions of a recursive division performed to obtain the given block 411.

[0072] According to one embodiment, the device 400 is configured to initiate a recursive multi-tree decomposition at each root block where the image 12' is subdivided into rows and columns.

[0073] According to one embodiment, the device 400 is configured to start the recursive multi-tree decomposition at a root block where the image 12' is subdivided into rows and columns.

[0074] According to one embodiment, the device 400 is configured to infer that the quadrant flag 417 indicates that a given block 411 of the image 12′ is not divided into four child blocks 412 if a first predetermined criterion is met, and to suppress decoding of the quadrant flag 417 from the data stream 14.

[0075] According to one embodiment, the apparatus 400 is configured such that a first predetermined criterion is met if the given block 411 is derived from a non-quadrant of a parent block.

[0076] According to one embodiment, the device 400 is configured to decode from the data stream 14 a split direction flag indicating whether the given block 411 of the image 12′ is split vertically or horizontally in decoding the one or more further flags 418. Furthermore, for decoding the one or more further flags 418, the device 400 may be configured to decode from the data stream 14 a triangulation flag indicating whether the given block 411 of the image 12′ is split into three child blocks 412 or two child blocks 412.

[0077] According to one embodiment, the device 400 is configured to infer that the split direction flag indicates that the given block 411 of the image 12′ is split vertically if a second predetermined criterion is met and to suppress decoding of the split direction flag from the data stream 14, and to infer that the split direction flag indicates that the given block 411 of the image 12′ is split horizontally if a third predetermined criterion is met and to suppress decoding of the split direction flag from the data stream 14.

[0078] According to one embodiment, the second predetermined criterion is met if the width of the given block 411 is less than a predetermined minimum dimension when bisected horizontally, and the third predetermined criterion is met if the height of the given block 411 is less than a predetermined minimum dimension when bisected vertically.

[0079] According to one embodiment, the device 400 is configured to infer that the triangular flag indicates that a given block 411 of the image 12′ is split into two child blocks 412 if a fourth predetermined criterion is met, and to suppress decoding of the triangular flag from the data stream 14.

[0080] According to one embodiment, the device 400 is configured to infer that the triangular flag indicates that a given block 411 of the image 12′ is divided into two child blocks 412 if a fourth predetermined criterion is met and to suppress decoding of the triangular flag from the data stream 14, and further to infer that the triangular flag indicates that a given block 411 of the image 12′ is divided into three child blocks 412 if a fifth predetermined criterion is met and to suppress decoding of the triangular flag from the data stream 14.

[0081] According to one embodiment, the fourth predetermined criterion is met if, by dividing the given block 411 into thirds in the split direction indicated by the directional flag, the dimension of the given block 411 along the split direction is less than a predetermined minimum dimension.

[0082] According to one embodiment, the fifth predetermined criterion is met if bisecting the given block 411 in the split direction indicated by the directional flag causes a dimension of the given block 411 along the split direction to exceed a predetermined maximum dimension.

[0083] According to one embodiment, the apparatus 400 is configured to resume recursive multiple tree partitioning for a given one of the child blocks 412 using a further flag in the partitioning information 415 by decoding from the data stream 14 a further quad flag 417 in the partitioning information 415 that indicates whether the given child block of the image 12′ is split into four child blocks 412. If the further quad flag 417 indicates that the given child block of the image 12′ is not split into four child blocks 412, resuming recursive multiple tree partitioning for the given child block includes decoding from the data stream 14 a further split flag 416 in the partitioning information 415 that indicates whether the given child block of the image 12′ is split, thereby stopping the recursive multiple tree partitioning at a state where the given child block becomes a coding block. If the further quad flag 417 indicates that the given child block of image 12′ is not to be split into four child blocks 412 and the further split flag 416 indicates that the given child block of image 12′ is to be split, resuming recursive multiple tree partitioning for the given child block includes decoding from data stream 14 one or more further flags 418 of split information 415 that indicate whether the given child block of image 12′ is to be split vertically or horizontally into two or three child blocks 412. If the further quad flag 417 indicates that the given child block of image 12′ is not to be split into four child blocks 412 or if the further split flag 416 indicates that the given child block of image 12′ is to be split, resuming recursive multiple tree partitioning for the given child block includes resuming recursive multiple tree partitioning for the child blocks 412 of the given child block using the further flags of split information 415. That is, for example, the order of the split flags 416 and quartile flags 417 may be different for different recursions of the recursive division.

[0084] According to one embodiment, the device 400 is configured to infer that the quad flag 417 indicates that a given block 411 of the image 12′ is not to be split into four child blocks 412 if a first predetermined criterion is met, and to suppress decoding of the quad flag 417 from the data stream 14. According to this embodiment, the device 400 is further configured to decode the split flag 416 of the split information 415 from the data stream 14 by context-adaptive entropy decoding using a first context that depends on whether the first predetermined criterion is met. For example, in the bisection presented in FIG. 12, the split_flag (eg, split flag 416) may be modeled as shown in Table 1 (see FIG. 19), subject to the following information: ·Quadtree partitioning (QT) availability Current quadtree depth Current width and height Current luminance area Upper adjacent width Left adjacent part height

[0085] Table 1 shown in Figure 19 illustrates an example context modeling for the syntax element split_flag (e.g., split flag 416) using availability information and existing context modeling, which is conditional on the availability of quadtree splitting (QT), the current quadtree depth, the current width and height, the current luminance area (WxH), and the width of the top neighbor and the height of the left neighbor.

[0086] According to one embodiment, the first context is further determined by the number of divisions in the recursive multi-tree division used to obtain the given block 411. For example, such a dependency may be modeled as shown in the second column of Table 1. Alternatively or additionally, the first context is further determined by the size of the given block 411. For example, such a dependency may be modeled as shown in the third column of Table 1.

[0087] According to one embodiment, the first context is further determined and distinguished by the number of divisions of the recursive multitree division used to obtain the given block 411 being below a predetermined threshold number of divisions, or the first context is further determined and distinguished by the size of the given block 411 being above a predetermined threshold size.

[0088] According to one embodiment, the first context is further determined by the width of the coding block above the given block 411 and the height of the coding block to the left of the given block 411. An example of such a dependency of the context model is shown in the fourth and fifth columns of Table 1.

[0089] According to one embodiment, the first context is: The width of the coding block above the given block 411 is smaller than the width of the given block 411, and the height of the coding block to the left of the given block 411 is smaller than the height of the given block 411, or Whether the width of the coding block above the given block 411 is smaller than the width of the given block 411 and the height of the coding block to the left of the given block 411 is greater than the height of the given block 411; and The width of the coding block above the given block 411 is smaller than the width of the given block 411, and the height of the coding block to the left of the given block 411 is larger than the height of the given block 411, or the width of the coding block above the given block 411 is larger than the width of the given block 411, and the height of the coding block to the left of the given block 411 is smaller than the height of the given block 411, or These are further determined and distinguished by For example, such dependencies of the context model are represented by the context modeling shown in Table 1 of FIG.

[0090] According to one embodiment, the device 400 is configured to perform the division into four child blocks 412 that are equal in size and arranged in a 2x2 array. According to this embodiment, the device 400 is configured to perform the recursive multitree division using a depth-first traversal order from left to right for horizontal divisions and from top to bottom for vertical divisions, and to traverse the child blocks resulting from the division of one parent block in a row-wise raster scan order from top left to bottom right for division into four child blocks 412.

[0091] According to one embodiment, for decoding from the data stream 14 one or more further flags 418 of the partition information 415 indicating whether a given child block of the image 12′ is divided vertically or horizontally into two or three child blocks 412, the device 400 is configured to decode from the data stream 14 a partition direction flag indicating whether a given block 411 of the image 12′ is divided vertically or horizontally, and to decode from the data stream 14 a trisection flag indicating whether the given block 411 of the image 12′ is divided into three or two child blocks 412. Furthermore, if a first predetermined criterion is met, the device 400 is configured to infer that the quadruple flag 417 indicates that the given block 411 of the image 12′ is not divided into four child blocks 412, and to suppress decoding of the quadruple flag 417 from the data stream 14. If a second predetermined criterion is met, the device 400 is configured to infer that the partitioning method flag indicates that the given block 411 of the image 12′ is split vertically and suppress decoding of the partition direction flag from the data stream 14. If a third predetermined criterion is met, the device 400 is configured to infer that the partitioning method flag indicates that the given block 411 of the image 12′ is split horizontally and suppress decoding of the partition direction flag from the data stream 14. If a fourth predetermined criterion is met, the device 400 is configured to infer that the trichotomy flag indicates that the given block 411 of the image 12′ is split into two child blocks 412 and suppress decoding of the trichotomy flag from the data stream 14. Furthermore, the device is configured to decode a partition flag 416 of the partition information 415 from the data stream 14 by context-adaptive entropy decoding using a first context that depends on a sum of addends that are each associated with one of the following scenarios and assume a non-zero value if met, and zero otherwise: The first predetermined criterion is not met. - The second predetermined criterion is not met. - The third predetermined criterion is not met. If the second predetermined criterion is not met and the division direction indicated by the division direction flag is horizontal, the fourth predetermined criterion is not met. If the third predetermined criterion is not met and the division direction indicated by the division direction flag is vertical, the fourth predetermined criterion is not met. For example, we consider Tx to imply Bx, and use the following Boolean logic rules to describe agreement with the above description: First predetermined criterion: not QT, i.e., QT The second predetermined criterion: not ((not BH) and (not TH)), i.e., BH or TH The third predetermined criterion: not ((not BV) and (not TV)), i.e., BV or TV The fourth predetermined criterion: (not ((not BH) and (not TH))) and (not (not TH)), i.e., (BH or TH) and TH, i.e., TH Fifth predetermined criterion: (not ((not BV) and (not TV))) and (not (not TV)), i.e., (BV or TV) and TV, i.e., TV

[0092] According to one embodiment, the device 400 is configured to decode from the data stream 14 one or more further flags 418 of the partition information 415 indicating whether a given child block of the image 12′ is split vertically or horizontally into two or three child blocks 412, decode from the data stream 14 a split direction flag indicating whether a given block of the image 12′ is split vertically or horizontally, and decode from the data stream 14 a trisection flag indicating whether the given block of the image 12′ is split into three or two child blocks 412. The device 400 is further configured to infer that the quadruple flag 417 indicates that the given block of the image 12′ is not split into four child blocks 412 if a first predetermined criterion is met, and to suppress decoding of the quadruple flag 417 from the data stream 14. The apparatus 400 is further configured to infer that the split direction flag indicates that the given block 411 of the image 12′ is split vertically if a second predetermined criterion is met, and to suppress decoding of the split direction flag from the data stream 14. The apparatus 400 is further configured to infer that the split direction flag indicates that the given block 411 of the image 12′ is split horizontally if a third predetermined criterion is met, and to suppress decoding of the split direction flag from the data stream 14. The apparatus 400 is further configured to infer that the trichotomous flag indicates that the given block 411 of the image 12′ is split into two child blocks 412 if a fourth predetermined criterion is met, and to suppress decoding of the trichotomous flag from the data stream 14, and to infer that the trichotomous flag indicates that the given block 411 of the image 12′ is split into three child blocks 412 if a fifth predetermined criterion is met, and to suppress decoding of the trichotomous flag from the data stream 14. The apparatus 400 is further configured to decode a split flag 416 of the split information 415 from the data stream 14 by context-adaptive entropy decoding using a first context determined by a sum of addends respectively associated with one of the following scenarios:Each addend assumes a non-zero value if the respective scenario is met, and zero otherwise. The first predetermined criterion is not met. If the second predetermined criterion is not met and the division direction indicated by the division direction flag is horizontal, the fifth predetermined criterion is not met. If the third predetermined criterion is not met and the division direction indicated by the division direction flag is vertical, the fifth predetermined criterion is not met. If the second predetermined criterion is not met and the division direction indicated by the division direction flag is horizontal, the fourth predetermined criterion is not met. If the third predetermined criterion is not met and the division direction indicated by the division direction flag is vertical, the fourth predetermined criterion is not met.

[0093] According to one embodiment, the first context further determines and distinguishes between whether adding 1 to one-third of the sum of the addends results in 0, 1, or 2. According to this embodiment, the non-zero value of the addend associated with the first predetermined criterion that is not met is 2, and the non-zero value of the other addends is 1.

[0094] According to one embodiment, the first context is further determined by the width of the coding block above the given block 411 and the height of the coding block to the left of the given block 411 .

[0095] According to one embodiment, the first context is: The width of the coding block above the given block 411 is smaller than the width of the given block 411, and the height of the coding block to the left of the given block 411 is smaller than the height of the given block 411, or The width of the coding block above the given block 411 is smaller than the width of the given block 411, and the height of the coding block to the left of the given block 411 is greater than the height of the given block 411, or The width of the coding block above the given block 411 is smaller than the width of the given block 411, and the height of the coding block to the left of the given block 411 is larger than the height of the given block 411, or the width of the coding block above the given block 411 is larger than the width of the given block 411, and the height of the coding block to the left of the given block 411 is smaller than the height of the given block 411, or These are further determined and distinguished by In other words, the modeling of split_flag (e.g., the first context that decodes the split flag 416) is s The number of available divisions, N, is defined as =(2·QT+BH+BV+TH+TV-1) s where QT, BH, BV, TH, and TV represent the availability of 4-split, 2-split horizontally, 2-split vertically, 3-split horizontally, and 3-split vertically. Thus, for example, an alternative context modeling for the first context decoding split flag 416 may depend on: Number of available divisions N s Current width and height Upper adjacent width Left adjacent part height

[0096] Table 2 shown in FIG. 20 illustrates the availability of all splits as well as alternative context modeling for the syntax element split_flag (eg, split flag 416) depending on the size of the neighboring block.

[0097] According to one embodiment, the device 400 is configured to decode from the data stream 14 a split direction flag indicating whether the given block 411 of the image 12′ is split vertically or horizontally if neither the second nor the third predetermined criterion is met in decoding from the data stream 14 one or more further flags 418 of the split information 415 indicating whether the given block 411 of the image 12′ is split vertically or horizontally into two or three child blocks 412. If the second predetermined criterion is met, decoding the one or more further flags 418 includes inferring that the split direction flag indicates that the given block 411 of the image 12′ is split vertically. If the third predetermined criterion is met, decoding the one or more further flags 418 includes inferring that the split direction flag indicates that the given block 411 of the image 12′ is split horizontally. If the fourth predetermined criterion is not met, decoding the one or more further flags 418 includes decoding a trichotomous flag from the data stream 14 that indicates whether the given block 411 of the image 12′ is divided into three child blocks 412 or two child blocks 412. If the fourth predetermined criterion is met, decoding the one or more further flags 418 includes inferring that the trichotomous flag indicates that the given block 411 of the image 12′ is divided into two child blocks 412. Furthermore, the apparatus 400: The fourth predetermined criterion is not satisfied when the division direction indicated by the division direction flag is horizontal, nor when the division direction indicated by the division direction flag is vertical, or is satisfied when the division direction indicated by the division direction flag is horizontal, nor when the division direction indicated by the division direction flag is vertical; the fourth predetermined criterion is satisfied when the division direction indicated by the division direction flag is horizontal, and is not satisfied when the division direction indicated by the division direction flag is vertical; the fourth predetermined criterion is not satisfied when the division direction indicated by the division direction flag is horizontal, and is satisfied when the division direction indicated by the division direction flag is vertical; and is configured to decode the split direction flag from the data stream 14 by context adaptive entropy decoding using a second context that is determined by and distinguishes between them.

[0098] According to one embodiment, the device 400 is configured to decode from the data stream 14 a split direction flag indicating whether the given block 411 of the image 12′ is split vertically or horizontally if neither the second nor the third predetermined criterion is met in decoding from the data stream 14 one or more further flags 418 of the split information 415 indicating whether the given block 411 of the image 12′ is split vertically or horizontally into two or three child blocks 412. If the second predetermined criterion is met, decoding the one or more further flags 418 includes inferring that the split direction flag indicates that the given block 411 of the image 12′ is split vertically. If the third predetermined criterion is met, decoding the one or more further flags 418 includes inferring that the split direction flag indicates that the given block 411 of the image 12′ is split horizontally. If neither the fourth nor the fifth predetermined criterion is met, decoding the one or more further flags 418 includes decoding a trichotomous flag from the data stream 14 that indicates whether the given block 411 of the image 12′ is divided into three child blocks 412 or two child blocks 412. If the fourth predetermined criterion is met, decoding the one or more further flags 418 includes presuming that the trichotomous flag indicates that the given block 411 of the image 12′ is divided into two child blocks 412 and suppressing decoding of the trichotomous flag from the data stream 14. If the fifth predetermined criterion is met, decoding the one or more further flags 418 includes presuming that the trichotomous flag indicates that the given block 411 of the image 12′ is divided into three child blocks 412 and suppressing decoding of the trichotomous flag from the data stream 14. Furthermore, the apparatus 400 The first number of the fourth predetermined criterion and the fifth predetermined criterion that are satisfied when the division direction indicated by the division direction flag is horizontal is equal to the second number of the fourth predetermined criterion and the fifth predetermined criterion that are satisfied when the division direction indicated by the division direction flag is vertical; and The first number is greater than the second number; the first number is less than the second number; and is configured to decode the split direction flag from the data stream 14 by context adaptive entropy decoding using a second context that is determined by and distinguishes between them.

[0099] 5 illustrates an apparatus 500 for decoding an image 12′ according to one embodiment of the present disclosure. For example, the apparatus 500 may be similar to the decoder 20. The apparatus 500 is configured to partition the image 12′ into coding blocks 425 using recursive multi-tree partitioning in response to partitioning information 415 signaled in the data stream 14. The apparatus 500 is further configured to decode the image 12′ from coding information 440 signaled in the data stream 14 and related to the coding blocks 425. The apparatus 500 is configured to partition the image 12′ into coding blocks 425 in response to the partitioning information 415 signaled in the data stream 14 by decoding from the data stream 14 a partition flag 416 and a quad flag 417 of the partitioning information 415 that indicate whether a given block 411 of the image 12′ is to be partitioned, thereby stopping the recursive multi-tree partitioning when the given block 411 becomes one of the coding blocks 425. The quadrant flag 417 indicates whether the given block 411 of the image 12′ is to be split into four child blocks 412. If the given block 411 of the image 12′ is to be split but not into four child blocks 412, and if neither the second nor the third predetermined criterion is met, splitting the image 12′ includes decoding a split direction flag 518 from the data stream 14, which indicates whether the given block 411 of the image 12′ is to be split vertically or horizontally. If the given block 411 of the image 12′ is to be split but not into four child blocks 412, and if the second predetermined criterion is met, splitting the image 12′ includes inferring that the split direction flag 518 indicates that the given block 411 of the image 12′ is to be split vertically. If the predetermined block 411 of the image 12' is split but not into four child blocks 412, and if a third predetermined criterion is met, splitting the image 12' includes inferring that the split direction flag 518 indicates that the predetermined block 411 of the image 12' is split horizontally.If the given block 411 of the image 12′ is split but not into four child blocks 412 and the fourth predetermined criterion is not met, splitting the image 12′ includes decoding a trichotomy flag 519 from the data stream 14, the trichotomy flag 519 indicating whether the given block 411 of the image 12′ is split into three child blocks 412 or two child blocks 412. If the given block 411 of the image 12′ is split but not into four child blocks 412 and the fourth predetermined criterion is met, splitting the image 12′ includes inferring that the trichotomy flag 519 indicates that the given block 411 of the image 12′ is split into two child blocks 412. If the given block 411 of the image 12′ is split, splitting the image 12′ includes resuming recursive multi-tree splitting for the child blocks 412 using a further flag in the split information 415. Further, the apparatus 500 The fourth predetermined criterion is not satisfied when the division direction indicated by the division direction flag 518 is horizontal or when the division direction indicated by the division direction flag 518 is vertical, or is satisfied when the division direction indicated by the division direction flag 518 is horizontal or when the division direction indicated by the division direction flag 518 is vertical; The fourth predetermined criterion is met when the division direction indicated by the division direction flag 518 is horizontal, and is not met when the division direction indicated by the division direction flag 518 is vertical; The fourth predetermined criterion is not satisfied when the division direction indicated by the division direction flag 518 is horizontal, and is satisfied when the division direction indicated by the division direction flag 518 is vertical; The split direction flag 518 is configured to be decoded from the data stream 14 by context adaptive entropy decoding using a second context 552 that is determined by and distinguishes between the two.

[0100] 6 illustrates an apparatus 600 for decoding an image 12′ according to one embodiment of the present disclosure. For example, the apparatus 500 may be similar to the decoder 20. Compared to the apparatus 600, the apparatus 500 may additionally use a fifth criterion for estimating the predetermined state of the trichotomy flag 519, and may use a different second context for decoding the split direction flag 518.

[0101] The apparatus 600 is configured to partition the image 12′ into coding blocks 425 using recursive multi-tree partitioning in response to partition information 415 signaled in the data stream 14, and further to decode the image 12′ from coding information 440 signaled in the data stream 14 and related to the coding blocks 425. The apparatus 600 is configured to partition the image 12′ into coding blocks 425 in response to the partition information 415 signaled in the data stream 14 by decoding from the data stream 14 a partition flag 416 and a quad flag 417 of the partition information 415 that indicate whether a given block 411 of the image 12′ is to be partitioned, thereby stopping the recursive multi-tree partitioning when the given block 411 becomes one of the coding blocks 425. The quad flag 417 indicates whether the given block 411 of the image 12′ is to be partitioned into four child blocks 412. If the predetermined block 411 of the image 12′ is split but not into four child blocks 412 and neither the second nor the third predetermined criterion is met, splitting the image 12′ includes decoding a split direction flag 518 from the data stream 14, the split direction flag 518 indicating whether the predetermined block 411 of the image 12′ is split vertically or horizontally. If the predetermined block 411 of the image 12′ is split but not into four child blocks 412 and the second predetermined criterion is met, splitting the image 12′ includes inferring the split direction flag 518 to indicate that the predetermined block 411 of the image 12′ is split vertically. If the predetermined block 411 of the image 12′ is split but not into four child blocks 412 and the third predetermined criterion is met, splitting the image 12′ includes inferring the split direction flag 518 to indicate that the predetermined block 411 of the image 12′ is split horizontally.If the predetermined block 411 of the image 12′ is to be split but not into four child blocks 412, and if the fourth predetermined criterion is not met, splitting the image 12′ includes decoding a trichotomy flag 519 from the data stream 14 that indicates whether the predetermined block 411 of the image 12′ is to be split into three child blocks 412 or two child blocks 412. If the given block 411 of the image 12′ is split but not into four child blocks 412 and a third predetermined criterion is met, the segmentation of the image 12′ includes inferring that if a fourth predetermined criterion is met, the trichotomy flag 519 indicates that the given block 411 of the image 12′ is split into two child blocks 412, and if a fifth predetermined criterion is met, the trichotomy flag 519 indicates that the given block 411 of the image 12′ is split into three child blocks 412, and suppressing decoding of the trichotomy flag 519 from the data stream 14. If the given block 411 of the image 12′ is split, the segmentation of the image 12′ includes resuming recursive multi-tree splitting for the child blocks 412 using a further flag in the split information 415. The apparatus 600 is further configured to decode the split direction flag 518 from the data stream 14 by context-adaptive entropy decoding using the second context 552. According to this embodiment, the second context 552 depends on and distinguishes between the following scenarios: An example of a scenario for the second context 552 is shown in FIG. The first number of the fourth predetermined criterion and the fifth predetermined criterion that are satisfied when the division direction indicated by the division direction flag 518 is horizontal is equal to the second number of the fourth predetermined criterion and the fifth predetermined criterion that are satisfied when the division direction indicated by the division direction flag 518 is vertical (this case may be represented by scenario 791 in FIG. 7). The first number is greater than the second number (this case may be represented by scenario 792 in FIG. 7). The first number is less than the second number (this case may be represented by scenario 793 in FIG. 7).

[0102] According to one embodiment, the second context 552 is: - The width of the given block 411 is equal to the height of the current block, - The width of the given block 411 is greater than the height of the current block, The width of the given block 411 is smaller than the height of the current block, These are further determined and distinguished by

[0103] According to one embodiment, if the fourth predetermined criterion is not satisfied when the split direction flag 518 indicates a horizontal direction and when the split direction flag 518 indicates a vertical direction, or is satisfied when the split direction flag 518 indicates a horizontal direction and when the split direction flag 518 indicates a vertical direction, the second context 552 is The width of the given block 411 is equal to the height of the current block (e.g., the height of the given block 411), The width of the given block 411 is greater than the height of the current block (e.g., the height of the given block 411), The width of the given block 411 is smaller than the height of the current block (e.g., the height of the given block 411), These are further determined and distinguished by

[0104] According to this embodiment, if the fourth predetermined criterion is satisfied when the division direction indicated by the division direction flag 518 is horizontal or when the division direction indicated by the division direction flag 518 is vertical, the second context 552 is - The width of the given block 411 is equal to the height of the current block, - The width of the given block 411 is greater than the height of the current block, The width of the given block 411 is smaller than the height of the current block, does not distinguish between In other words, in the case of mtt_split_vertical_flag (e.g., split direction flag 518), two backup contexts may be employed in case the number of possible results of the syntax element becomes unstable. For example, the context modeling of the second context may be: The current width and height, Availability of horizontal and vertical bisections (BH and BV) and Availability of horizontal and vertical thirds (TH and TV) and It may be determined by:

[0105] Table 3 shown in Figure 21 illustrates an example context modeling for the mtt_split_vertical_flag syntax element that may be employed for the second context decoding the split direction flag 518. W and H represent the width and height of the current node. BH, TH, BV, and TV represent the availability of horizontal and vertical bisection and trisection syntax elements. If either BH+TH or BV+TV are equal to 0, the value of the syntax element can be inferred and no context modeling is required.

[0106] Alternatively, another dependency that can be exploited for better context modeling of mtt_split_vertical_flag (e.g., split direction flag 518) is the size relative to the upper and left neighbors. Given that block sizes are locally correlated, partitions that subdivide a block into parts that are more similar in shape to its neighbors are more likely to occur than other partitions. A simple formulation of this dependency is d0=w / w above , d1=h / h left This can be achieved based on two variables (w and h are the current width and height, and w above is the width of the upper neighboring block, and h left is the height of the left neighboring block). An alternative context modeling for mtt_split_vertical_flag is Availability of left and upper flanks; The current width and height, The height of the left adjacent part and The width of the upper abutment and Availability of horizontal and vertical bisections (BH and BV) and Availability of horizontal and vertical thirds (TH and TV) and is determined by.

[0107] Table 4 in Figure 22 shows an example of context modeling for mtt_split_vertical_flag based on such split availability and the similarity of the current block shape to the neighboring CU shapes (represented by d0 and d1, as described above). For example, the illustrated context modeling may be applied to a second context that decodes the split direction flag 518.

[0108] Thus, according to one embodiment, the second context 552 is: a first ratio between the width of the given block 411 and the width of the coding block above the given block 411 is equal to a second ratio between the height of the current block and the height of the coding block to the left of the given block 411; · The first ratio is greater than the second ratio, or The first ratio is less than the second ratio, or These are further determined and distinguished by

[0109] According to one embodiment, if the fourth predetermined criterion is not satisfied when the split direction flag 518 indicates a horizontal direction and when the split direction flag 518 indicates a vertical direction, or is satisfied when the split direction flag 518 indicates a horizontal direction and when the split direction flag 518 indicates a vertical direction, the second context 552 is a first ratio between the width of the given block 411 and the width of the coding block above the given block 411 is equal to a second ratio between the height of the current block and the height of the coding block to the left of the given block 411; · The first ratio is greater than the second ratio, or The first ratio is less than the second ratio, or These are further determined and distinguished by

[0110] According to this embodiment, if the fourth predetermined criterion is satisfied when the division direction indicated by the division direction flag 518 is horizontal or when the division direction indicated by the division direction flag 518 is vertical, the second context 552 is a first ratio between the width of the given block 411 and the width of the coding block above the given block 411 is equal to a second ratio between the height of the current block and the height of the coding block to the left of the given block 411; · The first ratio is greater than the second ratio, or The first ratio is less than the second ratio, or does not distinguish between

[0111] According to one embodiment, the second context 552 is: The fourth predetermined criterion is not satisfied when the division direction indicated by the division direction flag 518 is horizontal or when the division direction indicated by the division direction flag 518 is vertical; and Whether the fourth predetermined criterion is satisfied both when the division direction indicated by the division direction flag 518 is horizontal and when the division direction indicated by the division direction flag 518 is vertical; does not distinguish between

[0112] According to one embodiment, the device 400, 500, 600 is configured to decode the ternary flag 519 from the data stream 14 by context-adaptive entropy decoding using a third context that depends on the number of divisions in the recursive multi-tree division used to obtain the predetermined block 411 or on the size of the predetermined block 411.

[0113] According to one embodiment, the devices 400, 500, 600 are configured to decode the third flag 519 from the data stream 14 by context-adaptive entropy decoding using a third context that depends on and distinguishes between whether the split direction flag 518 indicates a horizontal split direction and whether the split direction flag 518 indicates a vertical split direction.

[0114] In other words, the configuration of mtt_split_binary_flag (e.g., trichotomous flag 519) may use different context models depending on previously communicated or estimated information (in both illustrated bichotomous schemes (e.g., schemes shown in Figures 11 and 12), mtt_split_binary_flag follows mtt_split_vertical_flag) and the current split tree state, as summarized in Table 5 shown in Figure 23. Context modeling of flags (e.g., trichotomous flag 519) may be: -Current BT depth (number of non-QT divisions up to the current node) Or, the BT depth is (current QT depth d QT , CTU size W CTU , and the current width and height) can be calculated as follows: d BT =log2((W CTU W CTU ) / (W curr H curr ))-2·d QT The value of the flag mtt_split_vertical_flag previously transmitted or estimated for the current node, It may be determined by:

[0115] Table 5 shown in Figure 23 illustrates an example context modeling for the mtt_split_binary_flag syntax element (e.g., trichotomy flag 519). The binary tree depth (BT depth) represents the number of bisections or its equivalent for the current node (e.g., the current recursion of a recursive partition). The value of the mtt_split_vertical_flag column represents the value signaled or inferred at the current partition level prior to coding the syntax element mtt_split_binary_flag.

[0116] 8 illustrates an apparatus 800 for decoding an image 12′ according to one embodiment of the present disclosure. For example, the apparatus 800 may be similar to the decoder 20. The apparatus 800 for decoding an image 12′ is configured to partition the image 12′ into coding blocks 425 using recursive multi-tree partitioning in response to partitioning information 415 signaled in the data stream 14, and to decode the image 12′ from coding information 440 signaled in the data stream 14 and associated with the coding blocks 425. The apparatus 800 is configured to partition the image 12′ into coding blocks 425 in response to the partitioning information 415 signaled in the data stream 14 by decoding from the data stream 14 a partition flag 416 and a quad flag 417 of the partitioning information 415 that indicate whether a given block 411 of the image 12′ is to be partitioned, thereby stopping the recursive multi-tree partitioning when the given block 411 becomes one of the coding blocks 425. The quaternion flag 417 indicates whether the given block 411 of the image 12′ is to be split into four child blocks 412. If the given block 411 of the image 12′ is to be split but not into four child blocks 412, splitting the image 12′ includes decoding a split direction flag 518 from the data stream 14, which indicates whether the given block 411 of the image 12′ is to be split vertically or horizontally, and further decoding a trichotomy flag 519 from the data stream 14, which indicates whether the given block 411 of the image 12′ is to be split into three or two child blocks 412. If the given block 411 of the image 12′ is to be split, splitting the image 12′ includes resuming recursive multi-tree splitting for the child blocks 412 using additional flags in the split information 415. The apparatus 800 is further configured to decode the ternary flag 519 from the data stream 14 by context-adaptive entropy decoding using a third context 853 that depends on the number of divisions in the recursive multi-tree division used to obtain the predetermined block 411 or on the size of the predetermined block 411.Additionally or alternatively, the third context 853 determines and distinguishes between whether the split direction flag 518 indicates a horizontal split direction and whether the split direction flag 518 indicates a vertical split direction.

[0117] 9 illustrates an apparatus 900 for decoding an image 12′ according to one embodiment of the present disclosure. For example, the apparatus 900 may be similar to the decoder 20.40. The apparatus 900 is configured to partition the image 12′ into coding blocks 425 using recursive multi-tree partitioning in response to partitioning information 415 signaled in the data stream 14, and to decode the image 12′ from coding information 440 signaled in the data stream 14 and associated with the coding blocks 425. The apparatus 900 is configured to partition the image 12′ into coding blocks 425 in response to the partitioning information 415 signaled in the data stream 14 by decoding from the data stream 14 a partition flag 416 and a quad flag 417 of the partitioning information 415 that indicate whether a given block 411 of the image 12′ is to be partitioned, thereby stopping the recursive multi-tree partitioning when the given block 411 becomes one of the coding blocks 425. The quad flag 417 indicates whether the given block 411 of the image 12′ is to be split into four child blocks 412. If the given block 411 of the image 12′ is to be split but not into four child blocks 412, splitting the image 12′ includes decoding from the data stream 14 one or more further flags 418 of the split information 415 that indicate whether the given block 411 of the image 12′ is to be split vertically or horizontally into two or three child blocks 412. If the given block 411 of the image 12′ is to be split, splitting the image 12′ includes resuming recursive multi-tree splitting for the child blocks 412 using the further further flags of the split information 415. The apparatus 900 is further configured to select one of the first and second modes. In a first mode of operation, the device 900 is configured to decode the quad flag 417 after the split flag 416 if the split flag 416 indicates that the given block 411 of the image 12′ is to be split. In a second mode of operation, the device 900 is configured to decode the split flag 416 after the quad flag 417 if the quad flag 417 indicates that the given child block of the image 12′ is not to be split into four child blocks 412.

[0118] For example, due to availability limitations, existing partitioning trees (e.g., tree 1100) already use adaptive tree structures. The adaptive tree structure is also used for shape type and direction shuffling. Generally, the ordering of syntax elements reflects a certain probability at each given node. However, this probability is determined by the signal characteristics and operating point of the codec. For example, when the quantization parameter is large, i.e., when the bit rate of the operating point is low, leaf nodes tend to be large. In such cases, partitioning is less likely to occur, so the configuration of Figure 12 is preferred. However, at the other end of the operating point, the partition information is often positive, so the configuration of Figure 11 is preferred. The adaptive partitioning tree configuration allows both signaling bisection of the partitioning tree and switching between the two options depending on context characteristics. An extension would be to maintain multiple different partitioning trees and switch between them depending on neighboring partitioning trees (backward adaptation) or the syntax elements at the root that define the partitioning tree (forward adaptation).

[0119] Thus, according to one embodiment, the device 900 is configured to perform the selection depending on the mode signaling in the data stream 14. In other words, the selection may be forward adaptive.

[0120] According to an alternative embodiment, the device 900 is configured to perform the selection backward-adaptively.

[0121] For example, according to one embodiment, the device 900 the block size of a set of previous coding blocks 425 (e.g. coding blocks 425 resulting from a previous division of a block or part of the image 12′ (e.g. a previously divided CTU or an adjacent CTU)) (this option may be realized using a sliding window); the number of partitions from which a set of past coding blocks 425 originates; quantization parameters signaled in the data stream 14; and The method is configured to perform the selection in response to an evaluation of one or more of:

[0122] According to an embodiment, syntax elements (e.g., flags) are bound to depths with respect to nested partition trees. According to another embodiment, the bound depth centralizes information (e.g., depth information), so that context modeling of a syntax element associated with a partition tree relies only on a single depth value. The easiest implementation is a single depth value that increases after each partition. Alternatively, depths may be weighted depending on the type of partition. For example, in a QT depth, a constant positive value may contribute to the depth counter, while in a bipartition, only a weighted number of constant positive values ​​(weight w≦1) of the quadtree contribute.

[0123] According to an embodiment, binary and ternary trees are combined: the direction of the division is signaled first, followed by information about whether the resulting division is binary or trichotomous. In some circumstances, a shift in probability occurs for the direction given the final shape type. In one configuration of the invention, the two syntax elements may be adaptively swapped, and this information is incorporated into the context modeling.

[0124] A further extension of the adaptive partitioning tree concept is backward or forward adaptive signaling of shape size. For example, if a 16x16 block is horizontally bisected, the result can be a 16x4 and a 16x12 shape, or two 16x8 shapes. In the current VVC draft, the final ratio is constant. In a shape size implementation, neighboring partitioning trees can be analyzed and a shape size to be used can be determined. Note that this extension is the same as the additional partitioning trees available in the adaptive partitioning scheme.

[0125] The features and embodiments described in the decoder context are equally applicable to encoders. Accordingly, embodiments provide an apparatus for encoding an image (e.g., apparatus 1300 shown in FIG. 13 ). The apparatus 1300 for encoding an image 12 is configured to partition the image 12 into coding blocks 425 using recursive multiple tree partitioning. The encoder is configured to encode partition information 415 defining the partition into the data stream 14. The apparatus 1300 is further configured to encode the image 12 into coding information 440 associated with the coding blocks 425, and to encode the coding information 440 into the data stream 14. The recursive multiple tree partitioning for partitioning the image 12 into coding blocks 425 can be performed by any of the recursive multiple tree partitioning embodiments described with respect to the decoders 400, 500, 600, 800, and 900. That is, the coding blocks 425 may result from the recursive multiple tree partitioning. Similarly, the partition information may also result from the recursive multiple tree partitioning. The number and type of flags that the encoder 1300 encodes to obtain the partition information 415 may depend on the respective embodiment of the recursive partitioning. For example, the encoding of the partition information 415 is specific to the current recursion of the recursive partitioning, depending on the partitioning of the given block 411 that is subject to the current recursion of the recursive partitioning. That is, with reference to the recursive partitioning embodiments described with respect to the decoders 400, 500, 600, 800, 900, whenever the partitioning of the image 12 suggests decoding of the given flag, the device 1300 is configured to encode the given flag into the data stream 14. For example, whenever the partitioning or the image suggests estimation of the given flag, the encoder is not necessarily configured to encode the given flag, but may be configured to suppress encoding of the given flag.

[0126] 14 is a flowchart of a method 1400 for decoding an image 12′ according to one embodiment. For example, method 1400 may be performed by device 400. The method includes step 1401 of partitioning the image 12′ into coding blocks 425 using recursive multi-tree partitioning in response to partitioning information 415 signaled in data stream 14. Method 1400 further includes step 1402 of decoding the image 12′ from coding information 440 signaled in data stream 14 and associated with the coding blocks 425. Step 1401 includes decoding from data stream 14 a partition flag 416 of the partitioning information 415 that indicates whether a given block 411 of the image 12′ is to be partitioned, thereby stopping the recursive multi-tree partitioning when the given block 411 becomes one of the coding blocks 425. Step 1401 further includes step 1420, which is performed if the partition flag 416 indicates that the given block 411 of the image 12′ is to be partitioned. Step 1420 includes step 1430 of decoding from the data stream 14 a quad flag 417 of the partition information 415 that indicates whether the given block 411 of the image 12′ is to be partitioned into four child blocks 412. Step 1420 further includes step 1431, which is performed if the quad flag 417 indicates that the given block 411 of the image 12′ is not to be partitioned into four child blocks 412. Step 1431 includes decoding from the data stream 14 one or more further flags 418 of the partition information 415 that indicate whether the given block 411 of the image 12′ is to be partitioned vertically or horizontally into two or three child blocks 412. Step 1420 further includes resuming recursive multi-tree partitioning for the child blocks 412 using the further flags of the partition information 415.

[0127] 15 is a flowchart of a method 1500 for decoding an image 12′ according to one embodiment. For example, method 1500 may be performed by device 500. The method includes step 1501 of partitioning the image 12′ into coding blocks 425 using recursive multi-tree partitioning in response to partition information 415 signaled in the data stream 14. Method 1500 further includes step 1402. Step 1501 includes step 1511 of decoding a partition flag 416 and a quad flag 417 of the partition information 415 from the data stream 14, where the partition flag 416 indicates whether a given block 411 of the image 12′ is to be partitioned, thereby stopping the recursive multi-tree partitioning when the given block 411 becomes one of the coding blocks 425. The quad flag 417 indicates whether the given block 411 of the image 12′ is to be partitioned into four child blocks 412. Step 1501 further includes step 1521, which is executed if the predetermined block 411 of the image 12' is split but not into four child blocks 412. If neither the second nor the third predetermined criterion is met, step 1521 includes step 1533 of decoding from the data stream 14 a split direction flag 518, which indicates whether the predetermined block 411 of the image 12' is split vertically or horizontally. The decoding 1533 of the split direction flag 518 includes: The fourth predetermined criterion is not satisfied when the division direction indicated by the division direction flag 518 is horizontal or when the division direction indicated by the division direction flag 518 is vertical, or is satisfied when the division direction indicated by the division direction flag 518 is horizontal or when the division direction indicated by the division direction flag 518 is vertical; The fourth predetermined criterion is met when the division direction indicated by the division direction flag 518 is horizontal, and is not met when the division direction indicated by the division direction flag 518 is vertical; The fourth predetermined criterion is not satisfied when the division direction indicated by the division direction flag 518 is horizontal, and is satisfied when the division direction indicated by the division direction flag 518 is vertical; and uses a second context 552 to distinguish between them.

[0128] Step 1521 further includes step 1534 of inferring that the split direction flag 518 indicates that the given block 411 of the image 12′ is to be split vertically if a second predetermined criterion is met. Step 1521 further includes step 1535 of inferring that the split direction flag 518 indicates that the given block 411 of the image 12′ is to be split horizontally if a third predetermined criterion is met. Step 1521 further includes step 1536 of decoding from the data stream 14 a trichotomy flag 519 indicating whether the given block 411 of the image 12′ is to be split into three or two child blocks 412 if a fourth predetermined criterion is not met. Step 1521 further includes step 1537 of inferring that the trichotomy flag 519 indicates that the given block 411 of the image 12′ is to be split into two child blocks 412 if the fourth predetermined criterion is met. Step 1501 further includes step 1503. In step 1503, step 1403 is performed if a predetermined block 411 of the image 12' is to be divided.

[0129] 16 is a flowchart of a method 1600 for decoding an image 12′ according to one embodiment. For example, method 1600 may be performed by device 600. The method includes step 1601 of partitioning the image 12′ into coding blocks 425 using recursive multi-tree partitioning in response to partitioning information 415 signaled in the data stream 14. Method 1600 further includes step 1402. Step 1601 includes step 1511. Step 1601 further includes step 1622, which is performed if a given block 411 of the image 12′ is partitioned but not into four child blocks 412. Step 1622 includes steps 1661, 1534, 1535, 1536, and 1662. Step 1661 includes decoding a split direction flag 518 from the data stream 14, indicating whether the given block 411 of the image 12' is split vertically or horizontally if neither the second nor the third predetermined criterion is met. Decoding 1661 the split direction flag 518 includes using a second context 552. The configuration of the second context 552 used by the method 1600 or the apparatus 600 may be different from the configuration of the second context 552 used by the method 1500 or the apparatus 500. For the method 1600 and the apparatus 600, the second context is: The first number of the fourth predetermined criterion and the fifth predetermined criterion that are satisfied when the division direction indicated by the division direction flag 518 is the horizontal direction is equal to the second number of the fourth predetermined criterion and the fifth predetermined criterion that are satisfied when the division direction indicated by the division direction flag 518 is the vertical direction; and The first number is greater than the second number; the first number is less than the second number; These are determined by and distinguished from each other.

[0130] Step 1662 further includes inferring that if a fourth predetermined criterion is met, the trichotomous flag 519 indicates that the given block 411 of the image 12′ is to be split into two child blocks 412, and if a fifth predetermined criterion is met, the trichotomous flag 519 indicates that the given block 411 of the image 12′ is to be split into three child blocks 412, and suppressing decoding of the trichotomous flag 519 from the data stream 14. Step 1601 further includes step 1503.

[0131] 17 is a flowchart of a method 1800 for decoding an image 12′ according to one embodiment. For example, the method 1800 may be performed by the device 800. The method includes step 1801 of partitioning the image 12′ into coding blocks 425 using recursive multi-tree partitioning in response to partition information 415 signaled in the data stream 14. The method 1800 further includes step 1402. Step 1801 includes step 1511. Step 1801 further includes step 1823, which is performed if the given block 411 of the image 12′ is partitioned but not into four child blocks 412. Step 1823 includes step 1881 of decoding a partition direction flag 518 from the data stream 14, the partition direction flag indicating whether the given block 411 of the image 12′ is partitioned vertically or horizontally. Step 1823 further includes step 1882 of decoding from the data stream 14 a trichotomous flag 519 indicating whether a given block 411 of the image 12′ is divided into three or two child blocks 412. Step 1801 further includes step 1503.

[0132] 18 is a flowchart of a method 1900 for decoding an image 12′ according to one embodiment. For example, the method 1900 may be performed by the device 900. The method includes step 1901 of partitioning the image 12′ into coding blocks 425 using recursive multi-tree partitioning in response to partitioning information 415 signaled in the data stream 14. The method 1900 further includes step 1402. Step 1901 includes step 1911 of decoding a partition flag 416 and a quad flag 417 of the partitioning information 415 from the data stream 14, where the partition flag 416 indicates whether a given block 411 of the image 12′ is to be partitioned, thereby stopping the recursive multi-tree partitioning when the given block 411 becomes one of the coding blocks 425. The quad flag 417 indicates whether the given block 411 of the image 12′ is to be partitioned into four child blocks 412. Step 1901 further includes step 1905 of selecting one of a first mode and a second mode. In the first mode, method 1900 includes, for example, in step 1911, decoding the quad flag 417 after the split flag 416 if the split flag 416 indicates that the given block 411 of image 12′ is to be split. In the second mode, method 1900 includes, for example, in step 1911, decoding the quad flag 417 after the split flag 416 if the quad flag 417 indicates that the given child block of image 12′ is not to be split into four child blocks 412. Step 1901 includes step 1991, which is performed if the given block 411 of image 12′ is to be split but not into four child blocks 412. Step 1901 includes decoding from the data stream 14 one or more further flags 418 of the split information 415 that indicate whether a given block 411 of the image 12′ is split vertically or horizontally into two or three child blocks 412. Step 1901 further includes step 1503.

[0133] Another embodiment provides a method for encoding an image 12. The method for encoding an image includes dividing the image 12 into coding blocks 425 using recursive multi-tree partitioning and encoding partition information 415 defining the partition in the data stream 14. These methods further include encoding the image 12 into coding information 440 associated with the coding blocks 425 and encoding the coding information 440 in the data stream 14. Similar to the correspondence between the encoders and decoders described above, the method for encoding an image is similar to methods 1400, 1500, 1600, 1800, and 1900. For example, the division of the image 12 relies on the same steps described with respect to these methods. That is, the encoding method includes encoding each flag whenever the flag is decoded. The steps of methods 1400, 1500, 1600, 1800, and 1900 that include flag estimation are not necessarily part of the method for encoding an image; instead, these methods may include suppressing the encoding of flags.

[0134] Although some aspects have been described in the context of an apparatus, it will be apparent that these aspects also describe a corresponding method, where a block or apparatus corresponds to a method step or feature thereof, and similarly, aspects described in the context of a method step also describe a corresponding block, item, or feature of a corresponding apparatus.

[0135] Some or all of the method steps may be performed by (or using) a hardware device such as a microprocessor, a programmable computer, or an electronic circuit, and in some embodiments, one or more of the most important method steps may be performed by such a device.

[0136] Depending on specific implementation requirements, embodiments of the present invention, or at least parts thereof, can be implemented in hardware or software. Implementations can be performed using a digital storage medium (e.g., floppy disk, DVD, Blu-Ray, CD, ROM, PROM, EPROM, EEPROM, or flash memory) on which electronically readable control signals are stored that cooperate (or can cooperate) with a programmable computer system to perform the respective methods. Thus, the digital storage medium may be computer-readable.

[0137] Some embodiments of the present invention comprise a data carrier having electronically readable control signals that can cooperate with a programmable computer system to perform one of the methods described herein.

[0138] Generally, embodiments of the present invention can be implemented as a computer program product comprising a program code which, when run on a computer, is operative to perform one of the above methods, the program code may for example be stored on a machine readable carrier.

[0139] Other embodiments comprise the computer program for performing one of the methods described herein, stored on a machine readable carrier.

[0140] In other words, an embodiment of the present invention is, therefore, a computer program having a program code for performing one of the methods described herein when the computer program runs on a computer.

[0141] A further embodiment of the method according to the invention is therefore a data carrier (or digital storage medium or computer readable medium) having recorded thereon a computer program for performing one of the methods described herein. The data carrier, digital storage medium or recording medium is typically tangible and / or non-transitory.

[0142] A further embodiment of the inventive method is therefore a data stream or a sequence of signals representing the computer program for performing one of the methods described herein, the data stream or sequence of signals being for example adapted to be transmitted via a data communications connection (e.g. the Internet).

[0143] Another embodiment comprises a processing means (for example a computer, or a programmable logic device) configured to or adapted to perform one of the methods described herein.

[0144] Another embodiment comprises a computer having installed thereon the computer program for performing one of the methods described herein.

[0145] Another embodiment according to the invention comprises an apparatus or system configured to transmit (e.g. electronically or optically) a computer program for performing one of the methods described herein to a receiver, which may be e.g. a computer, a mobile device, a memory device, etc. The apparatus or system may comprise e.g. a file server which transmits the computer program to the receiver.

[0146] In some embodiments, a programmable logic device (e.g., a field programmable gate array) may be used to perform some or all of the functions of the methods described herein. In some embodiments, a field programmable gate array may cooperate with a microprocessor to perform one of the methods described herein. In general, the methods are preferably performed by any hardware apparatus.

[0147] The devices described herein may be implemented using a hardware device, a computer, or a combination of a hardware device and a computer.

[0148] The methods described herein may be adapted to be performed using a hardware apparatus, a computer, or a combination of a hardware apparatus and a computer.

[0149] The above-described embodiments are merely illustrative of the principles of the present invention. It will be understood that modifications and variations of the arrangements and details described herein will be apparent to those skilled in the art. It is therefore intended to be limited only by the scope of the appended claims and not by the specific details presented by the description and illustration of the embodiments herein.

Claims

1. 1. An apparatus for decoding an image, comprising: receiving, via a data stream, partition information corresponding to a predetermined block; determining a segmentation flag from the segmentation information to indicate that the predetermined block of the image is segmented; determining a division direction flag from the division information, which indicates whether the predetermined block of the image is divided vertically or horizontally, and the value of the division direction flag is 0 or 1; decoding from the data stream a trisection flag indicating whether the given block of the image is divided into three child blocks or two child blocks; the trisection flag is decoded from the data stream by context adaptive entropy coding using a context index determined using both 1) the split direction flag and 2) a tree depth corresponding to the given block; If the tree depth is less than 2 and the value of the split direction flag is 0, the determined context index has a first value; When the tree depth is less than 2 and the value of the split direction flag is 1, the context index has a second value; When the tree depth is 2 or more and the value of the split direction flag is 0, the context index has a third value; When the tree depth is 2 or more and the value of the split direction flag is 1, the context index has a fourth value; the first value, the second value, the third value, and the fourth value are different from each other; decoding the trisection flag; 1. An apparatus comprising: at least one processor configured to perform operations including:

2. determining the split flag includes decoding the split flag from the data stream; After decoding the split flag from the data stream, the operations further include decoding a quadtree split flag from the data stream indicating whether the given block of the image is split into four child blocks.

10. The apparatus of claim 1.

3. The apparatus of claim 1 , wherein the operations further comprise determining a quadtree split flag from the split information indicating that the given block of the image is not split into four child blocks.

4. The operation is Bisecting the predetermined block horizontally results in a width that is less than a predetermined minimum dimension; or vertically bisecting the predetermined block to have a height less than the predetermined minimum dimension; The apparatus of claim 1 , further comprising: inferring the split direction flag based at least in part on at least one of:

5. The apparatus of claim 1 , wherein determining the split flag comprises decoding or inferring the split flag from the split information signaled over the data stream.

6. The apparatus of claim 1 , wherein determining the split direction flag comprises decoding or inferring the split direction flag from the split information signaled over the data stream.

7. 1. An apparatus for encoding an image, comprising: Encoding partition information corresponding to a predetermined block into a data stream, The division information is a split flag indicating that the predetermined block of the image is split; a division direction flag indicating whether the predetermined block of the image is divided vertically or horizontally, the value of the division direction flag being 0 or 1; Showing, encoding the partition information; encoding in the data stream a trisection flag indicating whether the given block of the image is divided into three child blocks or two child blocks, the trisection flag is coded into the data stream by context adaptive entropy coding using a context index determined using both 1) the division direction flag and 2) a tree depth corresponding to the predetermined block; If the tree depth is less than 2 and the value of the split direction flag is 0, the determined context index has a first value; When the tree depth is less than 2 and the value of the split direction flag is 1, the context index has a second value; When the tree depth is 2 or more and the value of the split direction flag is 0, the context index has a third value; When the tree depth is 2 or more and the value of the split direction flag is 1, the context index has a fourth value; the first value, the second value, the third value, and the fourth value are different from each other; encoding a triangulation flag; 1. An apparatus comprising: at least one processor configured to perform operations including:

8. encoding the segmentation information includes encoding the segmentation flag into the data stream; After encoding the split flag into the data stream, the operations further include encoding a quadtree split flag into the data stream indicating whether the given block of the image is split into four child blocks.

8. The apparatus of claim 7.

9. The apparatus of claim 7 , wherein the split information further indicates a quadtree split flag indicating that the given block of the image is not split into four child blocks.

10. The operation is Bisecting the predetermined block horizontally results in a width that is less than a predetermined minimum dimension; or vertically bisecting the predetermined block to have a height less than the predetermined minimum dimension; 8. The apparatus of claim 7, further comprising: encoding the split information indicating the split direction flag based at least in part on at least one of:

11. 1. A method of decoding an image, comprising: receiving, via a data stream, partition information corresponding to a predetermined block; determining a segmentation flag from the segmentation information to indicate that the predetermined block of the image is segmented; determining a division direction flag from the division information, which indicates whether the predetermined block of the image is divided vertically or horizontally, and the value of the division direction flag is 0 or 1; decoding from the data stream a trisection flag indicating whether the given block of the image is divided into three child blocks or two child blocks; the trisection flag is decoded from the data stream by context adaptive entropy coding using a context index determined using both 1) the split direction flag and 2) the tree depth corresponding to the given block; If the tree depth is less than 2 and the value of the split direction flag is 0, the determined context index has a first value; When the tree depth is less than 2 and the value of the split direction flag is 1, the context index has a second value; When the tree depth is 2 or more and the value of the split direction flag is 0, the context index has a third value; When the tree depth is 2 or more and the value of the split direction flag is 1, the context index has a fourth value; the first value, the second value, the third value, and the fourth value are different from each other; decoding the trisection flag; A method comprising:

12. determining the split flag includes decoding the split flag from the data stream; After decoding the split flag from the data stream, the method further includes decoding a quadtree split flag from the data stream indicating whether the given block of the image is split into four child blocks. The method of claim 11.

13. The method of claim 11 , further comprising determining a quadtree split flag from the split information indicating that the given block of the image is not split into four child blocks.

14. Bisecting the predetermined block horizontally results in a width that is less than a predetermined minimum dimension; or vertically bisecting the predetermined block to have a height less than the predetermined minimum dimension; The method of claim 11 , further comprising inferring the split direction flag based at least in part on at least one of:

15. The method of claim 11 , wherein determining the split flag comprises decoding or inferring the split flag from the split information signaled over the data stream.

16. The method of claim 11 , wherein determining the split direction flag comprises decoding or inferring the split direction flag from the split information signaled over the data stream.

17. 12. A non-transitory computer-readable medium comprising instructions that, when executed by at least one processor, cause the at least one processor to perform the method of claim 11.

18. 1. A method for encoding an image, comprising: Encoding partition information corresponding to a predetermined block into a data stream, The division information is a split flag indicating that the predetermined block of the image is split; a division direction flag indicating whether the predetermined block of the image is divided vertically or horizontally, the value of the division direction flag being 0 or 1; Showing, encoding the partition information; encoding in the data stream a trisection flag indicating whether the given block of the image is divided into three child blocks or two child blocks, the trisection flag is coded into the data stream by context adaptive entropy coding using a context index determined using both 1) the division direction flag and 2) the tree depth corresponding to the predetermined block; If the tree depth is less than 2 and the value of the split direction flag is 0, the determined context index has a first value; When the tree depth is less than 2 and the value of the split direction flag is 1, the context index has a second value; When the tree depth is 2 or more and the value of the split direction flag is 0, the context index has a third value; When the tree depth is 2 or more and the value of the split direction flag is 1, the context index has a fourth value; the first value, the second value, the third value, and the fourth value are different from each other; encoding a triangulation flag; A method comprising:

19. encoding the segmentation information includes encoding the segmentation flag into the data stream; After encoding the split flag into the data stream, the method further includes encoding a quadtree split flag into the data stream indicating whether the given block of the image is split into four child blocks.

20. The method of claim 18.

20. 20. The method of claim 18, wherein the split information further indicates a quadtree split flag indicating that the given block of the image is not split into four child blocks.

21. Bisecting the predetermined block horizontally results in a width that is less than a predetermined minimum dimension; or vertically bisecting the predetermined block to have a height less than the predetermined minimum dimension; 20. The method of claim 18, further comprising encoding the split information indicating the split direction flag based at least in part on at least one of:

22. 20. A non-transitory computer-readable medium comprising instructions that, when executed by at least one processor, cause the at least one processor to perform the method of claim 18.

23. The apparatus of claim 1 , wherein the determined value of the context index is 0, 1, 2, or 3.

Citation Information

Patent Citations

  • Image encoding and decoding

    JP7544938B2