WO2019185815A1 - Concepts de partitionnement pour codage d'image à base de blocs - Google Patents

Concepts de partitionnement pour codage d'image à base de blocs Download PDF

Info

Publication number
WO2019185815A1
WO2019185815A1 PCT/EP2019/057891 EP2019057891W WO2019185815A1 WO 2019185815 A1 WO2019185815 A1 WO 2019185815A1 EP 2019057891 W EP2019057891 W EP 2019057891W WO 2019185815 A1 WO2019185815 A1 WO 2019185815A1
Authority
WO
WIPO (PCT)
Prior art keywords
tree
partitioning
split
block
partition
Prior art date
Application number
PCT/EP2019/057891
Other languages
English (en)
Inventor
Robert SKUPIN
Adam WIECKOWSKI
Valeri GEORGE
Heiner Kirchhoffer
Thomas Schierl
Yago SÁNCHEZ DE LA FUENTE
Detlev Marpe
Heiko Schwarz
Thomas Wiegand
Jackie MA
Original Assignee
Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. filed Critical Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V.
Publication of WO2019185815A1 publication Critical patent/WO2019185815A1/fr

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • H04N19/463Embedding additional information in the video signal during the compression process by compressing encoding parameters before transmission
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter

Definitions

  • the present invention concerns partitioning concepts for partitioning blocks in block-based picture coding.
  • the present invention is concerned with concepts for the block- based picture coding which concepts provide for a solution to the trade-off between signaling efficiency and coding flexibility and the trade-off between coding efficiency and coding complexity.
  • the pictures of a video sequence are coded in a certain order, which is referred to as coding order.
  • the coding order of pictures can differ from the capture and display order.
  • each video picture is partitioned into blocks.
  • a block comprises the samples of a rectangular area of a particular color component.
  • the entity of the blocks of all color components that correspond to the same rectangular picture area, together with the associated syntax, is often referred to as unit.
  • CTUs coding tree units
  • CUs coding units
  • PUs prediction units
  • TUs transform units
  • the associated sample blocks are referred to as coding tree blocks (CTBs), coding blocks (CBs), prediction blocks (PBs), and transform blocks (TBs), respectively.
  • a video picture is initially partitioned into fixed sized units (i.e. , aligned fixed sized blocks for all color components).
  • these units are referred to as coding tree units (CTUs).
  • Their size (in luma samples) is transmitted in the sequence parameter set (SPS), which contains high-level syntax elements that are valid for an entire coding video sequence (which consists of an instantaneous decoding refresh (IDR) picture and all following pictures up to (but excluding) the next IDR picture).
  • SPS sequence parameter set
  • the CTU size can be chosen between 64x64, 32x32, and 16x16 luma samples.
  • CTUs coding tree blocks
  • the fixed sized CTUs can be adaptively split into smaller units and blocks.
  • a picture can be comprised of one or multiple slices.
  • a slice represents a collection of CTUs.
  • a slice is associated with a slice type (e.g., I, P, or B slice) which determines the set of supported coding modes.
  • a slice type e.g., I, P, or B slice
  • several types of prediction such as motion vector prediction and intra-picture prediction are only supported between blocks inside a slice.
  • a CTU can be split into multiple coding units (CUs).
  • a coding unit is the entity for which a coding mode (e.g., intra- or inter-picture coding) is selected.
  • the decomposition of a CTU into one or more CUs is specified by a quadtree (QT) and transmitted as part of the bitstream.
  • QT quadtree
  • a first binary decision (bin) called split_cu_flag is transmitted, which signals whether the entire CTU forms one single CU (i.e., the CTU is not decomposed into multiple CUs) or whether the CTU is partitioned into four equally sized square units.
  • a further split_cu_flag is transmitted, which indicates whether the corresponding unit is further partitioned into four equally sized square units. This multi-level splitting is continued until for each of the units it is either signaled that the unit is not further split or a minimum CU size is reached. If a unit has the minimum CU size, no split_cu_flag is transmitted, but it is inferred that the unit is not further split.
  • the minimum allowed CU size is signaled in the sequence parameter set; it can range from the size of the CTU to 8x8 luma samples (and always presents a square with an integer power of two for both the width and height).
  • the resulting units of the described splitting are the coding units (CUs), for which a coding mode and associated parameters are selected and transmitted. Note that the partitioning represents a quadtree (QT) structure.
  • Each of the resulting CUs is associated with a coding mode, which is selected at the encoder side and transmitted as part of the bitstream.
  • the binary decisions split_cu_flag which specify the partitioning of a CTU into one or multiple CUs are coded using context-based adaptive binary arithmetic coding (CABAC).
  • CABAC context-based adaptive binary arithmetic coding
  • the CUs of a CTU are processed in the so-called z-scan order. That means, the four blocks that result from a split are processed in raster-scan order; and if any of the blocks is further partitioned, the corresponding four blocks (including the included smaller blocks) are processed before the next block of the higher splitting level is processed.
  • a CU is coded in an intra-coding mode, an intra prediction mode for the luma signal and, if the video signal includes chroma components, another intra prediction mode for the chroma signals is transmitted.
  • the luma coding block can also be split into four equally sized blocks, in which case, for each of these blocks, a separate luma intra prediction mode is transmitted. This splitting is indicated by a binary syntax element partjmode. The actual intra prediction and coding is done on the basis of transform blocks.
  • a CU can be partitioned into multiple transform blocks.
  • the subdivision into transform blocks is transmitted using a quadtree syntax.
  • the root of the quadtree is formed by the coding unit.
  • the syntax of the coding unit includes a binary decision called split_transform_f lag , which specifies whether the luma component of the CU consists of a single luma transform block or whether it is split into four equally sized square blocks. In the latter case, for each of the resulting luma blocks, another split_transform_flag is transmitted specifying whether the corresponding block is further split.
  • This quadtree splitting is continued until for each of the resulting luma blocks, it is signaled that the block is not further split or the block reaches a minimum transform block size (indicated in the sequence parameter set).
  • the first split_transform_flag (at the CU level) is not transmitted, but it is inferred that the luma coding block is split into four luma blocks.
  • the splitting of the chroma blocks basically follows the splitting of the colocated luma block, i.e. , for each luma block the associated chroma blocks cover the same picture area.
  • the luma block and the associated chroma blocks that cover the same picture area form a transform unit.
  • ITU-T H.265 MPEG-H HEVC standard: If the resulting chroma blocks would be smaller than the minimum transform block size (as specified in the sequence parameter set), only the luma block is split.
  • the binary syntax elements split_transform_flag are coded using CABAC.
  • a transform block (TB) is the entity to which a single 2d transform is applied for coding the prediction residual signal. Note that all transform blocks in ITU-T H.265
  • the TUs of an intra-coded CU are processed in z-scan order (see above). For each transform block (luma or chroma), first a prediction signal is generated using already reconstructed neighboring samples of the same color component. The algorithm that is used for generating the prediction signal is determined by the intra prediction mode. The resulting prediction error / residual signal is transmitted using transform coding. A two- dimensional transform is applied to the corresponding block of residual samples, the resulting transform coefficients are quantized (typically using uniform reconstruction quantizers), and the resulting quantization indexes, which are also referred to as transform coefficient levels, are entropy-coded.
  • the entropy coding in ITU-T H.265 j MPEG-H HEVC uses the concept of context-based adaptive binary arithmetic coding (CABAC).
  • CABAC context-based adaptive binary arithmetic coding
  • Inter-picture coded CUs can be split into multiple prediction units.
  • a prediction unit is the entity of a luma and, for color video, two associated chroma blocks (covering the same picture area), for which a single set of prediction parameters is used.
  • a CU can be coded as a single prediction unit, or it can be split into two non-square or four square prediction units. The latter (four square PUs) is only supported if the CU has the minimum CU size specified in the sequence parameter set. The chosen splitting is indicated by the syntax element partjnode.
  • ITU-T H.265 j MPEG-H HE VC supports in total 8 modes for partitioning a CU into PUs.
  • An NxN CU can be partitioned into:
  • the asymmetric splittings are only supported for CUs larger than or equal to 16x16 luma samples.
  • MPEG-H HE VC are 8x4 and 4x8.
  • Each set of motion parameters includes the number of motion hypotheses (one or two in ITU-T H.265
  • a merge_flag is transmitted, which indicates whether the motion parameters are completely derived based on already coded motion parameters or whether the motion parameters are transmitted. If the merge_flag is equal to 1 , a list of motion parameter set candidates is derived, which typically includes motion parameters sets of already coded spatially neighboring blocks as well as one or more motion parameter sets that are derived from temporally co-located blocks.
  • the used motion parameter set is indicated by a syntax element mergejdx, which specifies an index into the candidate list of motion parameter sets. If merge_flag is equal to 0, the motion parameters are transmitted as part of the bitstream.
  • a first syntax element (inter_pred_idc in ITU-T H.265
  • the reference picture lists are constructed based on slice header syntax elements.
  • Each reference picture list contains one or more already coded pictures (which are stored in a decoded picture buffer) in a specified order.
  • the syntax element inter_predjdc does not only indicate single-hypothesis prediction or bi-prediction, but for single-hypothesis prediction it additionally indicates whether list 0 or list 1 is used.
  • the first motion hypothesis refers to list 0 and the second motion hypothesis refers to list 1.
  • an associated motion vector is transmitted as part of the bitstream.
  • the motion vectors are differentially coded.
  • a list of motion vector predictor candidates is derived. It can include (potentially scaled) motion vectors of neighboring PUs as well as scaled motion vectors of temporally co-located blocks.
  • the actually chosen motion vector predictor is signaled via an index into the motion vector predictor list.
  • the difference between the actual motion vector for the PU and the selected motion vector predictor is transmitted.
  • the prediction signal for a PU is formed by a displaced block in the selected reconstructed reference picture, where the displacement relative to the current PU is specified by the motion vector.
  • the displacement is typically specified with sub-sample accuracy (in ITU-T H.265
  • the prediction signal is generated by interpolating the reconstructed reference picture (typically, using separable FIR filters).
  • the final prediction signal of PUs with multi-hypothesis prediction is formed by a weighted sum of the prediction signals for the individual motion hypothesis.
  • luma and chroma blocks of a PU share the same set of motion parameters.
  • the prediction signal for an inter-picture coded CU is composed of the prediction signals for the contained PUs.
  • the prediction error signal (also called residual signal) for the luma and chroma blocks of a coding unit is transmitted via transform coding.
  • the block of luma residual samples of a CU as well as the blocks of chroma residual samples (if present) are partitioned into transform blocks.
  • the partitioning into transform blocks is the same as for intra-picture coded CUs described above.
  • the partitioning of a CU into transform block is indicated by a quadtree syntax, which is also referred to as residual quadtree (RQT).
  • the resulting transform blocks are coded using transform coding: A 2d transform is applied to the block of residual samples, the resulting transform coefficients are quantized, and the resulting transform coefficient levels (quantization indexes) are entropy coded.
  • a skip_flag is transmitted. If this flag is equal to 1 , it indicates that the corresponding CU consists of a single prediction unit coded in merge mode (i.e., merge_flag is inferred to be equal to 1) and that all transform coefficients are equal to zero (i.e., the reconstruction signal is equal to the prediction signal). In that case, only the mergejdx is transmitted in addition to the skip_flag. If skip_flag is equal to 0, the prediction mode (inter or intra) is signaled, followed by the syntax features described above.
  • CABAC context- based adaptive binary arithmetic coding
  • Non-binary syntax elements are first binarized, i.e., they are mapped onto a series of binary decisions, which are also referred to as bins. Then, each bin (including binary syntax elements) is coded using a binary arithmetic coder.
  • the so-called regular mode one adaptive binary probability model is chosen per bin; after coding the corresponding bin, the binary probability model is updated using the actual value of the bin.
  • the entropy coder maintains a certain number of binary probability models.
  • the selected probability model depends on the syntax element and the bin number (for non-binary syntax elements). It can additionally depend on already coded syntax elements or bins.
  • the selection of binary probability models is also referred to as context modelling.
  • MPEG-H HEVC provides a multitude of possibilities for coding a block of samples (such as a coding tree unit).
  • the encoder has to select the partitionings (into CUs, PUs, and TUs), the coding modes and associated parameters (such as intra prediction modes and motion parameters), and the transform coefficient levels (quantization indexes).
  • the selected coding parameters determine both the reconstruction quality as well as the number of bits required for representing the coding parameter inside the bitstream.
  • Modern encoding algorithms are typically based on Lagrangian bit allocation.
  • the maximum achievable coding efficiency of a codec is determined by the supported syntax features, such as the set of coding modes, the partitioning options, the supported intra prediction modes, etc.
  • One of the most important syntax features are the supported partitioning options.
  • a flexible partitioning allows an adaptation of the block sizes used for prediction and transform coding to the video signal.
  • the partitioning has to be transmitted as part of the bitstream.
  • the gain in prediction and transform coding for providing additional partitioning options has to outweigh the additional signaling overhead. Due to that reason, state-of-the-art video coding standards support only very simple partitioning concepts, such as quadtree partitionings.
  • a partitioning concept based on generalized binary trees provides more flexibility than conventional partitioning concepts (such as the quadtree approach) for adapting the blocks used for prediction and transform coding to the video signal to be coded. And since the syntax for transmitting the selected partitioning is still very simple, the gain in prediction and transform coding typically outweighs the additional signaling overhead.
  • the generalized partitioning concept is capable of increasing the achievable coding efficiency of a video codec.
  • the described partitioning concept can be used for partitioning a block for coding mode signaling, intra-picture prediction, inter-picture prediction, transform coding, or any combination thereof. It can completely replace conventional partitioning concepts, or it can be combined with other partitioning concepts, such as a quadtree partitioning.
  • the quadtree splitting is very simple, it has the disadvantage that often an object or motion boundary can only be reasonably approximated by splitting a large block into many smaller blocks. This potentially increases the bit rate for signaling the prediction parameters (such as motion parameters) as well as the bit rate for the transform coding of the prediction error signals.
  • the Joint Exploration Test Model [3] specifies a combined quadtree/binary tree (QTBT) approach.
  • QTBT quadtree/binary tree
  • prediction units PUs
  • TUs transform units
  • a CTU is first split using the conventional quadtree approach.
  • the quadtree leaf nodes can be further partitioned by a binary tree (BT) structure.
  • a horizontal split which horizontally splits a NxM block into two Nx(M/2) blocks
  • a vertical split which vertically splits a NxM block into two (N/2)xM blocks.
  • the binary splitting can be continued until a minimum block width/block height is reached or a maximum number of (binary) splits were executed.
  • the resulting blocks are used for coding mode signaling, intra-picture prediction, inter-picture prediction, and transform coding.
  • an NxM block is split into three blocks: an Nx(M/4), an Nx(M/2), and an Nx(M/4) block (from top to bottom).
  • the vertical triple split vertically partitions an NxM block into an (N/4)xM, an (N/2)xM, and an (N/4)xM block (from left to right).
  • the present invention solves the above mentioned problems by providing encoders, decoders, methods for encoding, methods for decoding and corresponding computer programs according to the independent claims.
  • the generalized binary splitting that is described herein represents a superset of all mentioned splitting approaches QT, QTBT, QTBT with additional triple splits, and QTBT with additional asymmetric splits into subblocks of sizes 1/4 and 3/4. It is characterized by a simple syntax and is capable of better adapting the block sizes to object and motion boundaries, which results in an improved coding efficiency.
  • the partitioning concept as described herein may also be referred to as Generalized Binary Splitting (GBS).
  • GBS Generalized Binary Splitting
  • the inventive aspects of the present invention may, at least partially, be based on said GBS partitioning.
  • the generalized binary splitting can be combined with any other splitting.
  • the quadtree splitting (or any other splitting concept) can be used on a first level and the resulting blocks can be further partitioned using the generalized binary splitting.
  • blocks obtained by the generalized binary splitting can be further partitioned using any other splitting concept.
  • a first aspect is concerned with providing implicit splits and consecutive implicit splits wherein one or more implicit splits may be derived at the decoder side.
  • a block-based encoder for encoding a picture into a data stream, wherein the encoder is configured to partition the picture into one or more leaf blocks using recursive multi-tree partitioning along a binary splitting tree, wherein a height and a width of the leaf blocks in number of samples is a power of two, signal partitioning information of the binary splitting tree in the data stream by checking, for a tree node of the binary splitting tree comprising a set of split options including a no-split option and a split option, whether a partition to which the tree node belongs, has a height and a width which are in number of samples a power of two, if yes, signal the split option or the no-split option in the data stream, and if not, refrain from signaling the split option in the data stream.
  • a block-based decoder for decoding a picture from a data stream, wherein the decoder is configured to partition the picture into one or more leaf blocks using recursive multi-tree partitioning along a binary splitting tree, wherein a height and a width of the leaf blocks in number of samples is a power of two, obtain partitioning information of the binary splitting tree from the data stream by checking, for a tree node of the binary splitting tree comprising a set of split options including a no-split option and a split option, whether a partition to which the tree node belongs, has a height and a width which are in number of samples a power of two, if yes, obtain the split option or the no-split option from the data stream, and if not, implicitly infer the split option without an explicit split-option-signal in the data stream.
  • a method for block-based encoding block-based encoding a picture into a data stream comprises the steps of partitioning the picture into one or more leaf blocks using recursive multi-tree partitioning along a binary splitting tree, wherein a height and a width of the leaf blocks in number of samples is a power of two, signaling partitioning information of the binary splitting tree in the data stream by checking, for a tree node of the binary splitting tree comprising a set of split options including a no-split option and a split option, whether a partition to which the tree node belongs, has a height and a width which are in number of samples a power of two, if yes, the method comprises a step of signaling the split option or the no-split option in the data stream, and if not, the method comprises a step of refraining from signaling the split option in the data stream.
  • a method for block-based decoding a picture from a data stream comprises the steps of partitioning the picture into one or more leaf blocks using recursive multi-tree partitioning along a binary splitting tree, wherein a height and a width of the leaf blocks in number of samples is a power of two, obtaining partitioning information of the binary splitting tree from the data stream by checking, for a tree node of the binary splitting tree comprising a set of split options including a no-split option and a split option, whether a partition to which the tree node belongs, has a height and a width which are in number of samples a power of two, if yes, the method comprises a step of obtaining the split option or the no-split option from the data stream, and if not, the method comprises a step of implicitly inferring the split option without an explicit split-option-signal in the data stream.
  • a computer readable digital storage medium is provided, having stored thereon a computer program having a program code for
  • a data stream is provided, which data stream is generated according to the above mentioned method of block-based encoding.
  • a second concept is concerned with differentiating nodes in a tree depth evaluation, wherein tree nodes according to this aspect may be handled differently than other tree nodes which do not fulfil the requirements of this aspect.
  • a block-based encoder for encoding a picture into a data stream, wherein the encoder is configured to partition the picture into one or more leaf blocks using recursive multi-tree partitioning along a splitting tree, by checking, for a predetermined tree node of the splitting tree, wherein the splitting tree comprises a set of split options including at least one of a no-split option and a split option, whether said predetermined tree node meets a predetermined tree depth constraint depending on a distance of said predetermined tree node from a root node of the splitting tree, or a number of splits of a partition to which said predetermined tree node belongs along the splitting tree, and a) by discriminating whether coding options of one or more preceeding tree nodes, via which the predetermined tree node is connected to the root node, are implicitly signaled or explicitly signaled, and/or b) depending on a size of a partition to which the predetermined tree node belongs and/or on a size
  • a corresponding block-based decoder is provided for decoding a picture from a data stream, wherein the decoder is configured to partition the picture into one or more leaf blocks using recursive multi-tree partitioning along a splitting tree, by checking, for a predetermined tree node of the splitting tree, wherein the splitting tree comprises a set of split options including at least one of a no-split option and a split option, whether said predetermined tree node meets a predetermined tree depth constraint depending on a distance of said predetermined tree node from a root node of the splitting tree, or a number of splits of a partition to which said predetermined tree node belongs along the splitting tree, and a) by discriminating whether coding options of one or more preceeding tree nodes, via which the predetermined tree node is connected to the root no
  • a method for block-based encoding a picture into a data stream comprises the steps of partitioning the picture into one or more leaf blocks using recursive multi-tree partitioning along a splitting tree, by checking, for a predetermined tree node of the splitting tree, wherein the splitting tree comprises a set of split options including one of a no-split option and a split option, whether said predetermined tree node meets a predetermined tree depth constraint depending on a distance of said predetermined tree node from a root node of the splitting tree, or a number of splits of a partition to which said predetermined tree node belongs along the splitting tree, and a) by discriminating whether coding options of one or more proceeding tree nodes, via which the predetermined tree node is connected to the root node, are implicitly signaled or explicitly signaled, and/or b) depending on a size of a partition to which the predetermined tree node belongs and/or on a size of one or more intermediate partitions belonging to
  • a method for block-based decoding a picture from a data stream comprises the steps of partitioning the picture into one or more leaf blocks using recursive multi-tree partitioning along a splitting tree, by checking, for a predetermined tree node of the splitting tree, wherein the splitting tree comprises a set of split options including one of a no-split option and a split option, whether said predetermined tree node meets a predetermined tree depth constraint depending on a distance of said predetermined tree node from a root node of the splitting tree, or a number of splits of a partition to which said predetermined tree node belongs along the splitting tree, and a) by discriminating whether coding options of one or more proceeding tree nodes, via which the predetermined tree node is connected to the root node, are available in the data stream or not, and/or b) depending on a size of a partition to which the predetermined tree node belongs and/or on a size of one or more intermediate partitions belonging to one or more intermediate
  • a computer readable digital storage medium having stored thereon a computer program having a program code for performing, when running on a computer, at least one of the above mentioned methods of block-based encoding and block- based decoding. Furthermore, a data stream is provided, which data stream is generated according to the above mentioned method of block-based encoding.
  • a third concept is concerned with providing tree type sets comprising one or more tree types, wherein different tree types for partitioning a block may be selected at one or more different partitioning levels.
  • a block-based encoder for encoding a picture into a data stream, wherein the encoder is configured to partition the picture along a splitting tree from a tree root block, at a root block partitioning level, into one or more leaf blocks, each at a respective leaf block partitioning level, using recursive multi-tree partitioning, select, for performing the multi-tree partitioning, a tree type set comprising one or more tree types, and signal the tree type set in the data stream, wherein the signaling is done at one or more partitioning levels between the root block partitioning level and the leaf block partitioning level, including the root block partitioning level and the leaf block partitioning level.
  • a corresponding block-based decoder for decoding a picture from a data stream, wherein the decoder is configured to partition the picture along a splitting tree from a tree root block, at a root block partitioning level, into one or more leaf blocks, each at a respective leaf block partitioning level, using recursive multi-tree partitioning, perform the multi-tree partitioning using a tree type set comprising one or more tree types based on a signaling of the tree type set in the data stream, at one or more partitioning levels between the root block partitioning level and the leaf block partitioning level, including the root block partitioning level and the leaf block partitioning level.
  • a method for block-based encoding a picture into a data stream comprises the steps of partitioning the picture along a splitting tree from a tree root block, at a root block partitioning level, into one or more leaf blocks, each at a respective leaf block partitioning level, using recursive multi-tree partitioning, selecting, for performing the multi-tree partitioning, a tree type set comprising one or more tree types, and signaling the tree type set in the data stream, wherein the signaling is done at one or more partitioning levels between the root block partitioning level and the leaf block partitioning level, including the root block partitioning level and the leaf block partitioning level.
  • a corresponding method for block-based decoding a picture from a data stream comprises the steps of partitioning the picture along a splitting tree from a tree root block, at a root block partitioning level, into one or more leaf blocks, each at a respective leaf block partitioning level, using recursive multi-tree partitioning, performing the multi-tree partitioning using a tree type set comprising one or more tree types, wherein the step of performing the multi-tree partitioning is based on a signaling of the tree type set in the data stream, at one or more partitioning levels between the root block partitioning level and the leaf block partitioning level, including the root block partitioning level and the leaf block partitioning level.
  • a computer readable digital storage medium having stored thereon a computer program having a program code for performing, when running on a computer, at least one of the above mentioned methods of block-based encoding and block- based decoding.
  • a data stream is provided, which data stream is generated according to the above mentioned method of block-based encoding.
  • a fourth aspect is concerned with providing asymmetric quad splits having a splitting ratio different from 1 ⁇ 2, wherein one or more implicit splits may be derived at the decoder side.
  • a block-based encoder for encoding a picture into a data stream, wherein the encoder is configured to partition the picture into one or more leaf blocks using recursive multi-tree partitioning along a splitting tree, and signal partitioning information of the splitting tree in the data stream, wherein the encoder is further configured to perform for a predetermined block an asymmetric quad split, in which the predetermined block is partitioned by at least a first split boundary and a perpendicular second split boundary into four asymmetric subblocks, and to signal in the data stream a first split ratio of the first split boundary and a second split ratio of the second split boundary.
  • a corresponding decoder for decoding a picture from a data stream wherein the decoder is configured to partition the picture into one or more leaf blocks using recursive multi-tree partitioning along a splitting tree, and obtain a partitioning information of the splitting tree from the data stream, wherein the decoder is further configured to perform for a predetermined block an asymmetric quad split, in which the predetermined block is partitioned by at least a first split boundary and a perpendicular second split boundary into four asymmetric subblocks, and to obtain from the data stream a first split ratio of the first split boundary and a second split ratio of the second split boundary.
  • a method for block-based encoding a picture into a data stream comprises the steps of partitioning the picture into one or more leaf blocks using recursive multi-tree partitioning along a splitting tree, and signaling partitioning information of the splitting tree in the data stream, wherein the method further comprises steps of performing for a predetermined block an asymmetric quad split, in which the predetermined block is partitioned by at least a first split boundary and a perpendicular second split boundary into four asymmetric subblocks, and signaling in the data stream a first split ratio of the first split boundary and a second split ratio of the second split boundary.
  • a corresponding method for block-based decoding a picture from a data stream comprises the steps of partitioning the picture into one or more leaf blocks using recursive multi-tree partitioning along a splitting tree, and obtaining a partitioning information of the splitting tree from the data stream, wherein the method further comprises steps of performing for a predetermined block an asymmetric quad split, in which the predetermined block is partitioned by at least a first split boundary and a perpendicular second split boundary into four asymmetric subblocks, and obtaining from the data stream a first split ratio of the first split boundary and a second split ratio of the second split boundary.
  • a computer readable digital storage medium having stored thereon a computer program having a program code for performing, when running on a computer, at least one of the above mentioned methods of block-based encoding and block- based decoding.
  • a data stream is provided, which data stream is generated according to the above mentioned method of block-based encoding.
  • a fifth aspect is concerned with an inheritance of partitioning parameters, wherein a currently coded block may inherit one or more partitioning parameters from a further block of a spatial or temporal vicinity.
  • a block-based encoder for encoding a picture into a data stream using at least one of a spatial intra-prediction and a temporal inter-prediction coding
  • the encoder is configured to partition the picture along a splitting tree from a tree root block into one or more leaf blocks using recursive multi-tree partitioning, wherein the recursive multi-tree partitioning is based on one or more partitioning parameters, wherein if at least one block is encoded by means of spatial intra-prediction, the encoder is configured to inherit one or more partitioning parameters from a further block in the spatial vicinity of the at least one block, and to use said inherited one or more partitioning parameters for partitioning said at least one block in the recursive multi-tree partitioning, and if the at least one block is encoded by means of temporal inter-prediction, the encoder is configured to inherit one or more partitioning parameters from a further block in the temporal vicinity of the at least one block, and to use said inherited one
  • a corresponding block-based decoder for decoding a picture from a data stream using at least one of a spatial intra-prediction and a temporal inter-prediction coding
  • the decoder is configured to partition the picture along a splitting tree from a tree root block into one or more leaf blocks using recursive multi-tree partitioning, wherein the recursive multi-tree partitioning is based on one or more partitioning parameters
  • the decoder is configured to use, based on a signaling in the data stream, one or more inherited partitioning parameters for partitioning the at least one block, which inherited one or more partitioning parameters are inherited from a further block in the spatial vicinity of the at least one block, and if the at least one block is decoded by means of temporal inter- prediction, the decoder is configured to use, based on a signaling in the data stream, one or more inherited partitioning parameters for partitioning the
  • a method for block-based encoding a picture into a data stream using at least one of a spatial intra-prediction and a temporal inter-prediction coding comprises the steps of partitioning the picture along a splitting tree from a tree root block into one or more leaf blocks using recursive multi-tree partitioning, wherein the recursive multi-tree partitioning is based on one or more partitioning parameters, wherein if at least one block is encoded by means of spatial intra-prediction, the method comprises further steps of inheriting one or more partitioning parameters from a further block in the spatial vicinity of the at least one block, and using said inherited one or more partitioning parameters for partitioning said at least one block in the recursive multi-tree partitioning, and if the at least one block is encoded by means of temporal inter-prediction, the method comprises further steps of inheriting one or more partitioning parameters from a further block in the temporal vicinity of the at least one block, and using said inherited partitioning parameters for partition
  • a corresponding method for block-based decoding a picture from a data stream using at least one of a spatial intra-prediction and a temporal inter-prediction coding comprises the steps of partitioning the picture along a splitting tree from a tree root block into one or more leaf blocks using recursive multi-tree partitioning, wherein the recursive multi-tree partitioning is based on one or more partitioning parameters, wherein if at least one block is decoded by means of spatial intraprediction, the method comprises a further step of using, based on a signaling in the data stream, one or more inherited partitioning parameters for partitioning the at least one block, which inherited partitioning parameters are inherited from a further block in the spatial vicinity of the at least one block, and if the at least one block is decoded by means of temporal inter-prediction, the method comprises a further step of using, based on a signaling in the data stream, one or more inherited partitioning parameters for partitioning the at least one
  • a data stream is provided, which data stream is generated according to the above mentioned method of block-based encoding.
  • Fig. 1 shows an exemplary partitioning of a 128x128 CTU
  • Fig. 2 shows the partitioning tree describing the topology in fig. 1
  • Fig. 3. shows a description of non-leaf nodes of the partitioning tree in fig. 2
  • Fig. 4 shows an example of signaling of a split direction
  • Fig. 5 shows an exemplary signaling of the split ratio for a particular block size
  • Fig. 6 shows a reduced signaling from fig. 5 (for cases where not all split ratios are available)
  • Fig. 7 shows three template layouts used to define prohibited partitioning tree
  • Fig. 8 shows exemplary context modeling for a simple binary decision tree for
  • Fig. 9 shows exemplary context modeling for another binary decision tree for
  • Fig. 10 shows exemplary locations of neighboring blocks
  • Fig. 1 1 shows an example for redundant parallel splits
  • Fig. 12 shows an example for redundant perpendicular splits
  • Fig. 13 shows an example for higher-order redundancies
  • Fig. 14 shows an embodiment of an encoder according to an aspect
  • Fig. 15 shows an embodiment of a decoder according to an aspect
  • Fig. 16A shows a triple tree split according to the prior art
  • Fig. 16B shows a triple tree like split according to an embodiment
  • Fig. 17 shows a block diagram of an encoding method according to an embodiment
  • Fig. 18 shows a block diagram of a decoding method according to an embodiment
  • Fig. 19 shows a block diagram of an encoding and a decoding method according to an embodiment
  • Fig. 20 shows a selection of tree type sets according to an embodiment
  • Fig. 21 shows a further selection of tree type sets according to an embodiment
  • Fig. 22 shows a further selection of tree type sets according to an embodiment
  • Fig. 23 shows a block diagram of an encoding method according to an embodiment
  • Fig. 24 shows a block diagram of a decoding method according to an embodiment
  • Fig. 25 shows an asymmetric quad split based on a reduced GBS partitioning
  • Fig. 26 shows a block diagram of an encoding method according to an embodiment
  • Fig. 27 shows a block diagram of a decoding method according to an embodiment
  • Fig. 28 shows picture partitioning according to an embodiment, in which one or more partitioning parameters for partitioning a current block may be inherited by a further previously coded block,
  • Fig. 29 shows a schematic block diagram of a method for encoding a picture using the concept of Figure 28 in which one or more partitioning parameters for partitioning a current block may be inherited by a further previously coded block, according to an embodiment
  • Fig. 30 shows a schematic block diagram of a method for decoding a picture using the concept of Figure 28 in which one or more partitioning parameters for partitioning a current block may be inherited by a further previously coded block, according to an embodiment.
  • GBS generalized binary splitting
  • the presented generalized binary splitting can be applied for all block partitionings required in video coding.
  • it can be applied for partitioning a block into coding units (for signaling the coding mode), prediction units (for signaling prediction parameters such as motion parameters), or transform units (for transform coding of the residual signal).
  • the signaling of the coding mode, the signaling of prediction parameters and the transform coding is applied to the same blocks (i.e., such a block represents a CU, PU, and TU) and the generalized binary splitting is used for specifying the corresponding partitioning of a fixed sized block into coding units (which also represent PUs and TUs).
  • the generalized binary splitting can be applied individually to color components and auxiliary components, such as alpha channel or depth masks, respectively.
  • generalized binary splitting can be applied to groups of those components.
  • two different splitting trees can be used: one for partitioning the luma component and other for partitioning the chroma components.
  • the generalized binary splitting can be combined with any other splitting.
  • the quadtree splitting (or any other splitting concept) can be used on a first level and the resulting blocks can be further partitioned using the generalized binary splitting.
  • blocks obtained by the generalized binary splitting can be further partitioned using any other splitting concept.
  • the splitting structure can be represented as a binary splitting tree (also referred to as “partitioning tree” in the following).
  • Each node represents a binary split with a split direction (horizontal or vertical) and a split ratio (which is the ratio of the width (or height) of the first resulting block and the width (or height) of the original block).
  • the split direction is coded relative to the previous split direction (i.e. , the corresponding split on the next higher level). That means a split is coded as“parallel” or as "perpendicular” split, which always translates to either a“vertical” (splitting the width) or a“horizontal” split (splitting the height). If we assume that the current block was obtained by a horizontal split (at the last split level), then, if a“parallel split” is signaled, the current block is again horizontally split into two subblocks, and if a "perpendicular split” is signaled, the current block is vertically split into two subblocks.
  • the“parallel split” specifies a vertical split and the“perpendicular split” specified a horizontal split. Since on the highest level (i.e., for the root level block) no previous split was signaled, it has to be defined by convention whether the last split level is inferred to represent a horizontal or a vertical split.
  • a binary split is characterized by the split ratio.
  • the split ratio specifies the ratio of the sizes (in number of samples) of the first resulting subblock (from top/left) and the block being split. Note that, since a block is always split into two subblocks, the split ratio also specifies ratio of the block widths (for vertical splits) or the ratio of the block heights (for horizontal blocks).
  • the leaf nodes of the partitioning tree represent the actual units (consisting of a luma sample block and, for non-monochrome video, the co-located chroma sample blocks) being coded. These units, which shall be referred to as coding units in the following, are characterized by their positions and sizes, which can be inferred from the partitioning tree.
  • Coding, prediction and transform coding can be applied at the leaf level of the splitting structure. It is also possible to apply the generalized binary splitting to a single color component or a subset of color components (e.g., both chroma components).
  • a perpendicular split with a split ratio of 1/2 is the split that can be signaled using the minimum number of bits (or bins) in most configurations and will referred to as“default split” in the following.
  • the partitioning is signaled as follows. Without loss of generality, we define that the last split for the root block (which did not result from an actual split) is considered as vertical split. But note that it could also be defined as horizontal split. First a binary decision perpend_split_flag is coded, which indicates whether a perpendicular split is applied. If perpend_split_flag is equal to 1 and the last split (i.e., the split from which a current block resulted) was a horizontal split, a vertical split is applied to the current block. If perpend_split_flag is equal to 1 and the last split was a vertical split (with our above defined convention this includes the case that our current block is the root blocks), this indicates that a horizontal split is applied.
  • perpend_sp!it_flag is equal to 0
  • another binary decision parallel_split_flag is transmitted. If parallel_split_flag is equal to 1 and the last split was a horizontal split, the current block is again horizontally split. If parallel_split_flag is equal to 1 and the last split was a vertical split (or was inferred as vertical split by our convention), the current block is vertically split. If parallel_split_flag is equal to 0, the current block is not further split, but represents a leaf block (equivalent to a“no-split” signaling).
  • the corresponding binary decisions are not transmitted, but can be inferred at the decoder side. For example, if the last split was a vertical split and the width of the current block is equal to the minimum supported block width, the binary decision parallel_split_flag (which indicates whether the current block is again vertically split) is not transmitted, but inferred to be equal to 0.
  • Either or both of the binary decisions perpend_split_flag and parallel_split_flag can be inferred if this is indicated by high level parameters, which may be signaled in the PPS (picture parameter set), SPS (sequence parameter set) or slice header.
  • PPS picture parameter set
  • SPS sequence parameter set
  • slice header A binary decision tree for signaling the split direction is shown in fig. 4. If a horizontal split is to be applied, the split size M is defined as the length of the vertical edge of the block to be split (as the split will introduce a new horizontal edge). For a vertical split, the split size M is the length of the horizontal edge of the block to be split.
  • the split pattern consists of alternating horizontal and vertical splits. Given a particular block, the block is either not further split or it is split using a split direction that is perpendicular to the previous split direction (at the higher level). An exception could be made for the root block (where no previous split exists); for the root block it could be explicitly signaled whether a horizontal or a vertical split is applied (or whether the block is not split at all).
  • the split direction is coded using binary decisions h o r__s pi it_f I a g (indicating whether or not the block is horizontally split) and ver_split_flag (indicating whether or not the block is vertically split). These flags could be coded in any order; the second flag is only transmitted if the first flag indicates no splitting in the corresponding direction.
  • the split and the split direction are coded using a split_flag and a sp!it_direction_flag, where the splitj!ag indicates whether the current block is split at all and the split_direction_flag indicates whether the split is applied in horizontal or vertical direction.
  • the split_direction_flag indicates whether the split is applied in perpendicular direction to the last split or in the same direction as the last split.
  • the split flags are coded using context-based adaptive arithmetic coding (as CABAC in H.265
  • a split ratio is coded in addition to the split direction.
  • the set of possible split ratios can be arbitrarily chosen for every block size provided the resulting subblocks can be encoded using the video encoding framework (e.g., an appropriate transformation size has to be available).
  • the split ratio may be encoded as an element of a set as well as by binarization of the nominator and the denominator (in the former case, the set has to be predefined).
  • the split ratio is coded based on a binary decision tree (with adaptive tree pruning according to the available split ratios) as will be described below in more detail.
  • the split ratio can be coded as an index into an ordered list of available split ratios. The index can be mapped onto a series of binary decisions using any binarization scheme.
  • the overall set of split ratios is defined as: ⁇ 1/2, 1/4, 3/4, 3/8, 5/8, 1/3, 2/3, 1/5, 2/5, 3/5, 4/5 ⁇ .
  • the available set of split ratios represents a subset of this overall set.
  • the subset for a particular block and a particular split direction can be determined by the size of the current block and/or the series of previous splits. If some of the ratios are not available for a particular split size (e.g., because restrictions on transform or prediction sizes or minimum block sizes prevent these split ratios or because the splits would result in redundant partitionings), the corresponding signaling flags are not transmitted in order to reduce the bit rate.
  • all bins of the ratio signaling can be inferred and are not transmitted (e.g., for block sizes larger than the maximum block size for a non-default split). If, for a split direction, none of the split ratios can be applied (e.g., due to prohibitions enforced by high level parameters), the signaling of this split direction can be inferred as false.
  • the binary splitting will be applied recursively until no further splitting is inferred or signaled. I.e., if a block is split into two subblocks, for each of the resulting subblocks another split consisting of a split direction and a split ratio is coded (where some or all of the corresponding binary decisions can be inferred based on syntax constraints). This process is continued until it is signaled (or inferred) that no block is further split.
  • the generalized binary splitting concept is applied for partitioning fixed sized blocks (such as CTUs) into coding units, which also represent prediction units and transform units. For each of the resulting blocks, a coding mode and associated prediction parameters (such as intra prediction modes or motion parameters) are transmitted and the blocks are also used for transform coding of the residual signal.
  • the resulting blocks are used as coding blocks (i.e., for signaling the coding mode), but the coding blocks can be further partitioned into prediction and/or transform blocks (either using the generalized binary splitting concept or any other splitting method).
  • the high-level parameters controlling the behavior of generalized binary splitting can include a minimum block size (e.g., specified by a minimum block width and a minimum block height, or specified by a minimum number of samples), a maximum partition tree depth, a maximum partition tree depth following a first non-default split, a maximum block size for a non-default split, maximum and minimum allowed aspect ratios for the resulting blocks as well as constraints regarding the applicable split ratios.
  • the high-level parameters may be signaled in a picture parameter set (PPS), sequence parameter set (SPS), slice header or any other high-level syntax structure. To reduce the number of bits required for transmitting the high-level parameters, boundaries and specific domains may be defined for the high-level parameters.
  • the maximum aspect ratio may be defined as a power-of-2 bigger than 4 thus significantly reducing the number of possible options.
  • the minimum aspect ratio may be defined as the reciprocal of the maximum aspect ratio or vice versa, in which case only the minimum or maximum aspect ratio needs to be transmitted.
  • both the split direction and the split ratio are coded using context- based adaptive arithmetic coding (CABAC).
  • CABAC context- based adaptive arithmetic coding
  • these parameters are coded as a series of binary decisions with adaptive binary probability models (a subset of the bins can also be coded with non-adaptive probability models).
  • the used binary probability models for the split decision may be selected based on the size of neighboring blocks.
  • the underlying assumption is that small blocks often occur in the neighborhood of other small blocks (i.e., in finely partitioned areas of a video picture). This or a similar assumption may also be used to model the contexts for the split ratio coding. Note that non-symmetric splits result in a smaller and a larger block and smaller blocks may tend to be located in the neighborhood of other small blocks.
  • some final partitioning patterns could be generated using more than one partitioning tree.
  • some combinations of splits are prohibited by the syntax. This can be achieved by prohibiting some tree patterns from being introduced into the partitioning tree.
  • a tree pattern is defined using either the actual“verticar’fhorizontai” or the directional '‘parallel7"perpendicular” split direction semantics, possibly mixed.
  • a tree pattern also includes split ratios.
  • FIG. 1 A specific partial partitioning of a 128 x 128 block (e.g., a CTU of size 128 x 128) using the means described in this example is shown in Figure 1.
  • the partitioning tree describing the shown topology is shown in Figure 2, and Figure 3 explains which split directions and ratios were used at specific nodes.
  • the overall set of split ratios is given by
  • split ratios a/b are given as irreducible fractions (numerator and denominator are coprime).
  • symmetric split with split ratio 1/2 several non-symmetric split ratios are included in the overall set of split ratios.
  • split ratio (b- a)/b is also included. Both splits yield the same subblock sizes, but for one of the splits, the larger subblock represents the left/top part, and for the other split, the larger subblock represents the right/bottom part of the block to be split.
  • the symmetric split is included in the overall set of split ratios, in which case we have
  • Criterion 1 Granularity of block sizes
  • a split with split ratio a/b is only supported if the split size M (i.e., the width (for vertical splits) or height (for horizontal splits) of the block to be split) satisfies the following equations
  • Criterion 2 Block sizes, split depth and aspect ratios
  • the set of available splits can be constraint by a minimum block size. That means, if a split would results in a block size that is smaller than a minimum block size, it is prohibited and removed from the list of available splits.
  • the minimum and maximum aspect ratio Another possible constraint is the minimum and maximum aspect ratio. If a split would result in any subblock with an aspect ratio (block width)/(block height) greater than a maximum aspect ratio or less than a minimum aspect ratio, the corresponding split is removed from the set of available splits.
  • the minimum aspect ratio could be set equal to the reciprocal of the maximum aspect ratio.
  • the maximum aspect ratio could be set equal to 8.
  • the split depth represents the depth of the binary split tree structure. Or in other words, for a particular block, the split depth represents the number of splits required to reach the current block from the root block. If the split depth of a current block is already equal to the maximum split depth, no further split is allowed. As an example, the maximum split depth could be set equal to 3.
  • Parameters which control the minimum block size, the minimum and maximum aspect ratio, the maximum split depth, and/or values restricting the use of non-symmetric splits are preferably transmitted in a high-level syntax structure, similar to the sequence parameter set, the picture parameter set, or the slice header of H.265
  • Each restriction corresponds to one of three layouts (a, b, c), i.e., subsets of a binary splitting tree; these layouts are depicted in Fig. 7.
  • the first part of Table 1 specifies an example for prohibited parallel splits.
  • the parallel splits that are prohibited for the first subblock are labeled by“layout a)” and the parallel splits that are prohibited for the second subblock are labeled by“layout b)”.
  • the redundancy for consecutive parallel splits could also be removed by only prohibiting splits for the first subblock, or only prohibiting splits for the second subblock, or by using another combination of prohibiting splits for the first and second subblock.
  • the coding order is defined in a way that for each split, the first subblock (top or left subblock) or all blocks contained in the first subblock i s/a re coded before the second subblock (bottom or right subblock) or all block contained in the second subblock.
  • the four resulting blocks would be transmitted in the following order: top-left, bottom-left, top-right, bottom-right (see Fig. 12b).
  • the bitstream contains a syntax element, which indicates whether redundant perpendicular splits are allowed or prohibited by the syntax.
  • the actually used split ratio syntax is depending on the value of a corresponding syntax element.
  • the syntax element that indicates whether redundant perpendicular splits are allowed or prohibited could be transmitted as part of any high-level syntax structure, such as the SPS, PPS, or slice header. It is also possible that this syntax element is transmitted as part of the low-level syntax, as for example, the CTU syntax or the CU syntax.
  • redundant perpendicular splits are prohibited (either by convention or indicated by a high- level syntax element), it has to be defined which of the two variants is prohibited and which of the variants is supported. This decision could depend on which variant requires less binary decisions for coding or which variant most likely provides better intra-prediction signals or motion vector predictors, etc.
  • Table 1 gives an example for specifying prohibited redundant splits. The prohibited perpendicular splits are marked with“layout c)”. They have to be interpreted in the following way.
  • Figure 7 shows three different partitioning tree patterns that are prohibited if specific split directions and ratios for the nodes A, B, and C are met.
  • Table 1 all configurations prohibited in the described example are listed. The local topology produced by those patterns can be exactly replicated using a different partitioning tree pattern. Note that the prohibitions are chosen in correspondence to the least expensive splits.
  • Layout a) with A-Ratio 3/4 and B-Ratio 2/3 yields the same pattern as Layout b) with A-Ratio 1/2 and B-Ratio 1/2.
  • the former is prohibited whereas the latter is allowed due to the fact that 1/2 is less expensive in signaling (when using the signaling scheme described below).
  • Method A (1) Vertical split with ratio 1/4 applied to 16x16 block at location (0,0)
  • Method B (1) Vertical split with ratio 3/4 applied to 16x16 block at location (0,0)
  • both methods yield the following partitioning into 5 subblocks: 4x8 block at location (0,0), 8x8 block at location (4,0), 4x8 block at location (0,8), 8x8 block at location (4,8), and 4x16 block at location (12,0).
  • the coding order for both methods is usually different (in Fig. 13, the coding order is indicated by the numbers inside the resulting blocks), so that both ways of splitting actually represent different coding modes. Such higher-order redundancies could be prohibited, or they could be allowed by the syntax.
  • the symmetric split 1/2 is always allowed, as long as other conditions (e.g., a minimum block size) are not violated. But the split 3/4 is only allowed if it is followed by a 1/3 split in the same direction for the first subblock. The split 1/3 is only allowed if the current block represents the first subblock of a previous 3/4 split in the same direction.
  • Such a configuration/syntax would actually lead to the same partitioning scheme as QTBT with additional triple splits (triple split are splits that partition a block into three subblocks with sizes 1/4, 1/2, 1/4, see state-of-the-art [4]).
  • a tree adaption set could define a specific set of leaf nodes or branches, or a set of rules to select leaf nodes or branches added and/or removed from the default tree.
  • the aspect of an explicitly signaled tree adaption set might include the signaling of the use of a tree adaption set and/or the signaling of an index, selecting a tree adaption set out of a predefined record of tree adaption sets, using variable or fixed length codes embedded in any high level syntax structure.
  • Implicit signaling might range from deriving the use of additional tree adaption sets as well as selecting a tree adaption set out of a record by evaluation of syntax elements coded in any high level syntax structure and/or on CTU-level or below.
  • One aspect could link specific profile and level syntax elements to specific tree adaption sets, in order to limit complexity or eliminate unsupported block width, block height or block aspect ratios, which might not be compatible with certain profile-level combinations.
  • a tree adaption set might be derived from syntax elements of the temporal or spatial neighborhood, restricting or expanding the default tree, according to assumed local requirements.
  • an implicit tree adaption set could be activated by the extraordinary shape of a block at a picture, tile or shape boundary. This might also include the overriding of generally applied restrictions like aspect-ratio restrictions. Note that at picture or tile boundaries, a coding tree unit often has a different block size. For example, assume an HD picture of 1920x1080 luma samples and a CTU size of 128x128 luma samples. Then, the CTUs at the bottom of the picture only have a size of 128x56 luma samples. Here, while the CTUs are initially still considered to consist of 128x128 luma samples, an implicit splitting could be inferred.
  • a horizontal split with split ratio 1/2 and a following horizontal split with split ratio 7/8 for the first subblock could be inferred, which results in a 128x56 block; the remaining blocks that only include samples outside the picture are not coded.
  • the binary decision tree for transmitting the split ratio could also be adapted on a picture or tile boundary. For example, splits that would introduce a block border outside the picture could be eliminated for the blocks at a boundary. This concept could also be used in connection with implicit splits.
  • the block is vertically (at right boundary) or horizontally (at bottom boundary) split, but for transmitting the split ratio, all splits that would introduce a block border outside the picture/tile region are eliminated from the corresponding binary decision tree (i.e., the corresponding binary decision in the tree used for signaling the split ratio are inferred to be equal to 0 or 1 ).
  • the high-level syntax includes syntax elements by which the encoder tells the decoder the actual configuration for the binary splitting tree.
  • the encoder complexity only allows to evaluate a subset of the splitting options that are supported by the syntax.
  • the encoder signals the decoder, which subset of the splitting options are used.
  • the high-level syntax elements are transmitted in one or more high-level syntax structures, such as the sequence parameter set (SPS: valid for all pictures inside a coded video sequence), the picture parameter set (PPS: valid for one or more pictures), the slice header (valid for a slice), etc.
  • the high-level syntax elements that restrict the available splitting option can include one or more of the following parameters:
  • a minimum block sizes e.g., specified by a minimum block width and a minimum block height, or specified by a minimum number of samples
  • a maximum partition tree depth following a first non-default split i.e., the tree depth after the first split with a split ratio not equal to 1 ⁇ 2 is limited
  • a maximum block size for a non-default split i.e., splits with a ratio not equal to 1/2 are only supported if the block size is greater than or equal to a given size
  • a minimum block size for a non-default split i.e., splits with a ratio not equal to 1/2 are only supported if the block size is less than or equal to a given size
  • Fig. 5 depicts signaling diagrams for an exemplary split size of 64 (assuming no further restrictions).
  • a special algorithm for pruning the binary decision tree can be employed.
  • a non-limiting example uses a special algorithm to prune the signaling tree (an example for a full decision tree is shown in fig. 5).
  • the concept uses basically the same tree of binary decisions for signaling all split ratios, but before any binary decision (bin) is actually coded, the tree is pruned based on the availability of the split ratios. Or in other words, binary decisions that can be inferred to be equal to 0 or 1 based on the availability of the split ratios are not transmitted, but inferred at the decoder side.
  • the outputs of the signaling tree (leaf nodes of the tree) are marked according to their availability, where the availability can be derived according to any combination of the rules described above (including, minimum block size, block granularity, minimum and maximum aspect ratio, redundant parallel splits, redundant perpendicular splits, etc.).
  • Each node contains an information about the context model that is used to encode the specific bin using the CABAC engine.
  • the reduction (or pruning) algorithm reduces the decision tree as follows. Initially, it is assumed that all nodes of the binary decision tree for signaling the split ratio are available. Then, the leaf nodes of the tree are marked as available or unavailable according to the availability of the corresponding split ratios (which is derived according to any rules, for example, the rules or a subset of the rules specified above). Afterwards, the decision tree is pruned from the bottom to the top according to the following two rules: (1 ) If a node has no available child node (i.e. , both child nodes are marked as unavailable), the node is marked as unavailable (i.e., it is finally removed from the decision tree).
  • the assignment of probability model sets (also referred to as context model sets) to binary decision nodes is not modified for reduced decision trees. That means, for each binary decision, the same context model set (among which a probability model is selected based on additional parameters) is used, regardless of whether the binary decision is coded as part of the full decision tree or any form of a reduced decision tree.
  • the depth of a tree following a non-default split is restricted.
  • a first non-default split would mean that scarce partitioning is done and the last few available depths will be used to fine-adjust the block edges.
  • the probability model is selected based on the current depth of the splitting tree and the sizes of the neighboring blocks. If a subdivided block has small neighboring blocks on one end and large neighboring block on the other, it is assumed that the smaller of the blocks resulting from current subdivision will be placed at the side neighboring with other small blocks.
  • the probability model for the binary decision labelled with“ctx6” is selected based on how much do the sizes of neighboring blocks vary (if they vary much, it is assumed that the 1/5 or 4/5 ratio could be more probable as they result in subdivisions with higher difference of areas).
  • a specific example could define the context models as follows. A split area is shown in fig. 10.
  • the anchors for neighbor access are named A1 , A2, B1 , and B2.
  • the neighbors are inspected (the neighbors are defined as the units anchoring at the split block according to fig. 10). If the split direction is horizontal, is the neighbor at anchor B1 and N 2 is the neighbor at anchor B2. If the split direction is vertical Ni is the neighbor at anchor A1 and /V 2 is the neighbor at anchor A2.
  • the neighboring blocks have a specific areas area ⁇ and area(/V 2 ).
  • the context offset ctx 0 f f is defined as 1 if area (Ay equals area(iV 2 ). If area(JV t ) is greater than area(JV 2 ) the ctx off is defined as 0. In all other cases it is defined as 2.
  • the selection of the binary probability models used for coding the binary decision is based on the assumption that a partition tree of a specific CTU in a picture is similar structured compared to a corresponding partition tree of a so called collocated CTU in an already decoded picture.
  • a collocated CTU might be defined as CTU that is obtained when accessing a CTU in a given reference picture using the coordinates derived from the current CTU’s position and size, for example the CTU’s center position.
  • From the obtained collocated CTU, split depth or CTU dimension, or both, or any other syntax element of the collocated CU might be used to select probability models for signaling split decisions (in fig.4).
  • syntax elements from the obtained collocated CTU, split depth or CTU dimension, or both, or any other syntax element from the obtained collocated CU might be used to select probability models for signaling split ratio decisions (in fig.5-fig.9).
  • syntax elements from the obtained collocated CTU, split depth or CTU dimension, or both, or any other syntax element might be used to infer one or all binary split decisions (in fig.4) without additional signaling.
  • syntax elements from the obtained collocated CTU, split depth or CTU dimension, or both, or any other syntax element from the obtained collocated CU might be used to infer one, any or all split ratio decisions (in fig.5-fig.9).
  • This Lagrangian approach can also be used for deciding between different split modes. For obtaining optimal decisions, it is important to proceed the encoding using a depth-first approach.
  • the cost for a certain split mode is calculated as follows. First the cost of the first subblock is determined. At this point, the best coding mode (in rate-distortion sense) for the first subblock including all possible split modes is determined. Given the best coding mode for the first subblock, the best coding mode for the second subblock is determined (again, potential splits have to be taken into account).
  • the rate-distortion cost J for a split mode is the sum of the rate-distortion costs for the subblocks. This concept can be implemented using a recursive function, similarto the following (simplified) pseudo-code: function rd_cost( block ) ⁇
  • an encoder does not need to evaluate all coding options supported in the syntax. For decreasing the encoder complexity, it is typically beneficial to only test the most likely splitting modes and skip the evaluation of unlikely modes. Most notably, the maximum depth of a tree after the first non-default split is a very important parameter to balance the expected rd-performance and runtime. The maximum block size at which a non-default split is allowed can be used to restrict the testing of partitionings with large blocks, when much smaller blocks are more probable (e.g. for intra slices). Furthermore, the maximum aspect ratio tested in an encoder may be smaller than that supported by the syntax (correspondingly, the minimum aspect ratio tested may be larger than the minimum aspect ratio supported by the syntax).
  • the generalized binary splitting framework for partitioning blocks into coding units, prediction units, transform units, etc. may affect other parts of a video codec.
  • Another aspect is related to a coding of the last non-zero transform coefficient in a transform block.
  • the position of the last non-zero transform coefficient is indicated by transmitting the x-coordinate and the y-coordinate of the last non-zero transform coefficient.
  • the corresponding entropy codes were designed for blocks for which both the width and height represent integer powers of two.
  • the binarization for the syntax elements last_sig_coeff_x_prefix, last_sig_coeff_y_prefix, last_sig_coeff_x_suffix, last_sig_coeff_y_suffix is modified as follows:
  • the binarization codes for TrafoSize equal to an integer power of 2 are not changed. Note that version 1 includes redundancies (unnecessary bins for certain codewords), while the codeword tables for version 2 do not include redundant bins.
  • the new partition structure requires various new transforms among them Hadamard transform matrices for prediction residuals.
  • the Hadamard transform is used as a very simple approximation of a DOT.
  • the sum of absolute Hadamard coefficients is, for example, used as rate- distortion measure in the sub-sample motion search or the pre-selection of intra prediction modes.
  • the new luma block dimensions 96, 80, 48, 40, 24, 20, and 12 appear if the maximal CTU size is 128.
  • the corresponding Hadamard matrices are not all explicitly constructed. In fact it is sufficient to construct Hadamard matrices of size 20 and 12 using Paley’s construction via finite fields.
  • the other sizes are then constructed by Kronecker products since Kronecker products of Hadamard matrices are Hadamard matrices again.
  • the construction of the other matrices via Kronecker products have the advantage that a full large sized Hadamard matrix never has to be constructed entirely.
  • the number and topology of neighbors of a particular block may vary. Coding parameters of neighboring block are, for example, used for deriving merge candidates, motion vector prediction candidates, or most probable intra prediction modes.
  • an adaption of the state-of-the-art strategy for selecting candidates among the neighboring blocks could led to an improved coding efficiency.
  • the state-of-the-art strategies often implicitly assume that blocks have a square shape. But with the generalized splitting concept, the block width can be much larger than the block height or vice versa.
  • the long block edge it can be preferable to consider more candidate block along the long block edge than along the short block edge.
  • This may include but is not limited to: Scanning for all neighbors along the edges of a block (e.g. to find an extremum or a mean of a measure derived from the neighboring blocks); defining additional neighbor anchor points (e.g. in the case of scanning for merge candidates, adding anchors in the middle of the left and upper edge of a block).
  • encoder side operation may be restricted in a trade-off between complexity and coding efficiency, e.g. through reduction of considered modes.
  • restrictions can be facilitated in the signaling to reduce necessary bits, e.g. through implicit derivation of syntax elements on decoder side.
  • the following aspects introduce embodiments and examples for further restrictions and extensions.
  • a size of a block may be restricted to powers of 2, i.e. the binary logarithm of height and width in number of samples must be an integer number, which blocks may then also be referred to as log2 partitions.
  • such blocks may comprise (in number of samples) a height and/or a width of, for example, 2°, 2 ⁇ 2 2 , .... 2" samples.
  • a block comprising 64 x 128 samples (height x width) may be referred to as a log2-partition
  • a block comprising 64 x 72 samples may be referred to as a non-log2-partition.
  • the signaling of specific split decisions on encoder side may be omitted in favor of implicit derivation on decoder side.
  • a node of a splitting tree is a non-log2 partition with respect to either its height or width
  • further splitting is inevitable to progress towards log2 partitions that can host a CU as per the given constraint.
  • the encoder may perform an implicit split of a non-log2-partition in order to create two or more log2-partitions.
  • Split indications for such implicit splits of non-log2 partitions can hence be inferred at decoder side and explicitly signaling is necessary only for log2 partitions.
  • Figure 14 shows an embodiment of an inventive encoder 10 for performing such implicit splits.
  • the encoder 10 is a block-based encoder for block-based encoding a picture 12 into a data stream 14.
  • the block-based encoder 10 is configured to partition the picture 12 into one or more leaf blocks 15 using recursive multi-tree partitioning along a binary splitting tree 13, wherein a height and a width of the leaf blocks 133, 13 4 , 13s, 13e, 13s, 13g in number of samples is a power of two.
  • the blocks in which the picture 12 is partitioned may also be referred to as partitions.
  • Each of the nodes 13i, 13 2 , .... 13g of the splitting tree 13 may belong to one partition.
  • the partitioning of the picture 12 may comprise four root partitions, e.g. four CTUs.
  • the partitioning of the picture 12 may comprise four root partitions, e.g. four CTUs.
  • Figure 14 only the CTU in the upper right corner of the picture 12 will be exemplarily described in more detail now.
  • the splitting tree 13 may comprise a root node 13i at a first partitioning level, or root block level, which root node 13i belongs to the aforementioned CTU.
  • This root block may be partitioned along the splitting tree 13 to one or more leaf blocks 13 3 , 13 4 , 13 5 , 13 e , 13 e ,
  • the aforementioned CTU may first be split, at a first partitioning level, by a quad split (QT) such that four subblocks result.
  • QT quad split
  • the reference numbers of the respective tree nodes of the splitting tree 13 are indicated inside each block of the picture 12 to which the respective tree node belongs.
  • the blocks to which the tree nodes 13 3 , 13 4 , 13s belong may already be leaf blocks, wherein no further partitioning takes part.
  • these blocks to which the tree nodes 13 3 , 13 4 , 13s belong may be Iog2-partitions.
  • the block to which the tree node 13 2 belongs may not yet be a leaf block.
  • this block is further partitioned, at the second partitioning level, using a bi-split, for instance a BT or a GBS split. Accordingly, the tree node 13 2 may be partitioned at the second partitioning level resulting into two further nodes 13e, 13 7 .
  • the block to which the tree node 13e belongs may be a leaf block, wherein no further partitioning takes part.
  • the block to which the tree node 13 6 belongs may be a log2-partition.
  • the block to which the tree node 13 7 belongs may not yet be a leaf block.
  • this block may be a non-log2 partition. Since it is not yet a leaf block, it will therefore be subjected to further partitioning.
  • this block is further partitioned using a bi-split, for instance a BT or a GBS split. Accordingly, the tree node 13e may be partitioned at the third partitioning level resulting into two further nodes 13 e , 13 9 .
  • the blocks to which the tree nodes 13 0 , 13g belong may be leaf blocks, wherein no further partitioning takes part. According to the convention of this aspect, these blocks to which the tree nodes 13s, 13g belong may be log2-partitions.
  • the encoder 10 may explicitly signal log2-partitions in the data stream 14. However, the encoder 10 may implicitly split non-log2-partitions further in order to create two or more log2-partitions at subsequent levels. The one or more splits are done implicitly. That is, for said one or more implicit splits the encoder 10 refrains from signaling such implicit splits in the data stream 14. Therefore, the encoder 10 may have to check whether a partition is a log2-partition or a non-log2-partition.
  • the encoder 10 of this aspect is configured to signal partitioning
  • the binary splitting tree 13 in the data stream 14 by checking, for a tree node 13i, 13 2 , ... , 13 9 of the binary splitting tree 13 comprising a set of split options including a no-split option and a split option, whether a partition to which the respective tree node 13i, 13 2 , ... , 13 0 belongs, has a height and a width which are in number of samples a power of two.
  • the encoder 10 is configured to signal the split option or the no-split option in the data stream 14.
  • the encoder 10 is configured to refrain from signaling the split option in the data stream 14.
  • Figure 15 shows the corresponding decoder 110 of this aspect.
  • the decoder 1 10 is a block-based decoder for block-based decoding a picture 12 from a data stream 14.
  • the decoder 110 reconstructs the original picture, except for possible quantization losses, such that a reconstructed picture 12' may be output by the decoder 1 10.
  • the encoder 10 may split the log2-partition and signal the split option in the data stream 14. Alternatively, the encoder may 10 not split the log2-partition (e.g. if it is already a leaf block) and signal the no-split option in the data stream 14.
  • the encoder 10 may implicitly split the non-log2-partition so as to create two or more subsequent log2-partitions at a subsequent partition level. Since this split is implicit, the encoder 10 may not signal any split option in the data stream 10. Thus, the decoder 110 may infer the split option itself.
  • the encoder 10 may be configured to split the partition and to signal, in the data stream 14, the applied split option, or not split the partition and to signal the no-split option in the data stream 14.
  • the encoder 10 is configured to split the partition such that a resulting sub-partition belonging to a tree node 13 2 , ... , 13 9 at a subsequent tree level has a height and a width which are in number of samples a power of two, and refrain from signaling the applied split option in the data stream 14.
  • the decoder 110 is configured to partition the picture 12 into one or more leaf blocks 13 3 , 13 4 , 13s, 13 e , 13 8 , 13g using recursive multi-tree partitioning along a binary splitting tree 13, wherein a height and a width of the leaf blocks 13 3 , 13 4 , 13 5 , 13 6 , 13 8 , 13 9 in number of samples is a power of two.
  • the decoder 1 10 may check whether a partition to which a tree node 13i, 13 2 , .... 13 9 of the splitting tree 13 belongs is a log2-partition or a non-log2- partition. If it is a log2-partition, then the decoder 110 may read from the data stream 14 an indication of the split option, e.g. which split mode and/or which split ratio to apply to said partition. In other words, the decoder 110 may obtain a split-option-signal from the data stream 14.
  • the decoder 1 10 may implicitly infer, without obtaining an explicit split-option-signal from the data stream 14, the split option to be applied to the current partition.
  • the decoder 1 10 is generally configured to obtain partitioning information of the binary splitting tree 13 from the data stream 14 for a tree node 1 3i , 13 2 , . . . . 1 3g of the binary splitting tree 13, wherein the tree node 13 comprises a set of split options including a no-split option and a split option.
  • the decoder 110 may do so by checking whether a partition to which the tree node 13i, 13 2 , .... 13g belongs, has a height and a width which are in number of samples a power of two.
  • the decoder 110 is configured to obtain, from the data stream 14, the split option or the no-split option for splitting the current partition.
  • the decoder 110 is configured to implicitly infer the split option without obtaining an explicit split-option-signal from the data stream 14.
  • the decoder 110 may split said log2-partition based on a split signal in the data stream 14. Alternatively, the decoder 110 may not split said partition if a no-split signal is signaled in the data stream 14.
  • the decoder 110 may split said non-log2-partition into two or more log2-partitions on a next partitioning level. For this splitting, the decoder 1 10 may use a split option is implicitly inferred. That is, the decoder 110 may implicitly infer a split option and the decoder 110 may not obtain an explicit split-option-signal from the data stream 14 for the current non-log2- partition.
  • the decoder 110 is configured to split the partition based on a split signal in the data stream 14, or not split the partition based on a no-split signal in the data stream 14. If the partition to which the tree node 13i , 13 2 , ... , 13g belongs does not have a height and/or a width which are in number of samples a power of two, i.e.
  • the decoder 110 is configured to implicitly infer, without an explicit split-option- signal in the data stream 14, a split option that results in a sub-partition belonging to a tree node 13 2 , .... 13 9 at a subsequent tree level, which sub-partition has a height and a width which are in number of samples a power of two, and split the partition into the sub-partition according to said inferred split option.
  • a conventional GBS partitioning would require indication of each split individually, e.g. starting with a N/4, 3N/4 - split indicated in the left side of the 64 x 64 block in Figure 16A and followed by a 2N/3, N/3 - split indicated in the right side of the 64 x 64 block in Figure 16A.
  • a non-log2-partition such as the 3 N/4 partition resulting from the first split, may mandatorily be split by a parallel split into two log2-partitions with the split (and possibly the splitting ratio indication) being implicitly derived at decoder side.
  • the described mandatory consecutive split could be restricted to certain node sizes, e.g. towards leaf level of the split tree.
  • Figure 16B shows an example according to this aspect.
  • the left block 164 in Figure 16B represents a first partition.
  • Said first block 164 is again a 64 x 64 block that is split by a first vertical split having a split ratio of N/4, 3 N/4 into a first sub-partition 161 having a size of N/4, i.e. 64 x 16, and into a second sub-partition 162 having a size of 3N/4, i.e. 64 x 48.
  • the first sub-partition 161 is a log2-partition
  • the second sub-partition 162 is a non- log2-partition.
  • the second sub-partition 162 is implicitly split into two further sub-partitions 162a, 162b such that these two resulting further sub-partitions 162a, 162b are log2-partitions.
  • the second sub-partition 162 may be implicitly split by an implicit split having a split ratio of 2 N/3, N/3.
  • the block 165 as depicted on the right side of Figure 16B may result therefrom. That is, the block 165 may comprise, after said implicit split, three partitions 161 , 162a, 162b, wherein each partition 161 , 162a, 162b is a log2-partition.
  • the encoder of this aspect may refrain from signaling a split indication (e.g. split mode and split ratio) of the implicit second split in the data stream 14.
  • the decoder 1 may infer a split indication (e.g. split mode and split ratio) for the implicit second split without obtaining an explicit split-indication-signal from the data stream 14, since the second split is an implicit split for splitting the non-log2-partition 162 into two or more log2-partitions 162a, 162b.
  • the encoder 10 may be configured to split a predetermined partition 164 into at least three sub-partitions 161 , 162a, 162b, each of which having a height and a width which are in number of samples a power of two.
  • the encoder 10 may do so by applying a first split to the predetermined partition 164, wherein said first split creates a first sub-partition 162 which does not have a height and a width which are in number of samples a power of two.
  • the encoder 10 may signal the applied split option of the first split in the data stream 14.
  • the encoder 10 is configured to subsequently apply a consecutive second split to the first sub-partition 162, wherein said consecutive second split creates a second and a third sub-partition 162a, 162b, each of which having a height and a width which are in number of samples a power of two. In this case, the encoder 10 may refrain from signaling the applied split option of the consecutive second split in the data stream 14.
  • the decoder 1 10 may be configured to split a predetermined partition 164 into at least three sub-partitions 161 , 162a, 162b, each of which having a height and a width which are in number of samples a power of two.
  • the decoder 1 10 may do so by obtaining a first split option from the data stream 14 and applying a first split according to said first split option to the predetermined partition 164, wherein said first split option creates a first sub-partition 162 which does not have a height and a width which are in number of samples a power of two.
  • the decoder 110 is configured to implicitly infer, without an explicit split- option-signal in the data stream 14, a split option for a subsequent second split and to subsequently apply said second split according to the split option to the first sub-partition 162, wherein said second split creates a second and a third sub-partition 162a, 162b, each of which having a height and a width which are in number of samples a power of two.
  • the implicit second split is a parallel split relative to the first split.
  • the encoder 10 may be configured to choose a parallel split as the split option for the consecutive second split, wherein the consecutive second split is parallel to the first split.
  • the decoder 110 may be configured to choose a parallel split as the split option for the consecutive second split, wherein the consecutive second split is parallel to the first split. Again, the consecutive second split is an implicit split, wherein the split option may be inferred from the decoder 110 without an explicit split-option-signaling in the data stream 14.
  • the split option may represent an option whether a split shall be applied or not. Accordingly, the split option may either indicate whether a split or a no split shall be performed. Therefore, the split option may comprise a split indication or a no-split indication. The split option may be contained in the partitioning information.
  • the partitioning information may also comprise information which kind of split to apply, e.g. a quad split, a binary split, a generalized binary split, a triple split, or the like. This may also be referred to as the split mode.
  • the partitioning information may also comprise information about the split ratio.
  • the encoder may refrain from encoding a split mode and/or a split ratio indication into the data stream. Accordingly, for implicit splits, the decoder may infer the split mode and/or the split ratio without any explicit split mode signal and/or split ratio signal in the data stream.
  • the partitioning information may comprise at least one of a split mode and a split ratio
  • the encoder 10 may be configured to omit signaling in the data stream 14 at least one of the split mode and the split ratio for the partition to which the respective tree node 13i, 13 2 . 13 9 belongs, if said partition does not have a height and a width which are in number of samples a power of two.
  • the decoder 1 10 may accordingly be configured to infer from the data stream 14, without an explicit signaling in the data stream 14, at least one of the split mode and the split ratio for the partition to which the respective tree node 13i, 13 2 , ... , 13 9 belongs, if said partition does not have a height and a width which are in number of samples a power of two.
  • implicit splits shall only be applied to tree nodes at a certain tree depth level, or in terms of blocks, the implicit splits shall only be applied to partitions having a predetermined size, for example a size that lies above a minimum block size to be coded. This minimum block size may be pre-defined.
  • the encoder 10 may be configured to refrain from signaling the split option in the data stream 14 only if the partition or sub-partition, which shall be split according to said split option, comprises a predetermined size or if the corresponding tree node 13i, 13 2 , .... 13g of said partition or sub-partition is at a predetermined tree-depth level of the binary tree 13.
  • the decoder 1 10 may be configured to implicitly infer the split option only if the partition or sub-partition, which shall be split according to the split option, comprises a predetermined size or if the corresponding tree node 13i, 13 2 , .... 13 9 of said partition or sub-partition is at a predetermined tree-depth level of the binary tree 13.
  • the implicit splits may be performed towards a leaf block level. That is, the closer the current partitioning level is to the leaf block level, the more probable an implicit split will be.
  • the above mentioned predetermined tree-depth level may be the level of the last tree node before a tree node belonging to a leaf block. That is, the implicit splits may only be performed for the last block that, if split, may lead to a leaf block.
  • the above mentioned predetermined tree-depth level may be one level or two levels above the last tree node before a leaf block.
  • the implicit splits may only be performed for the penultimate, i.e. the second to last, or even for the third to last level before the tree node belonging to a leaf block.
  • Figure 17 shows a block diagram of a method for encoding a picture 12 into the data stream 14 according to the above described concept.
  • the picture 12 is partitioned into one or more leaf blocks using recursive multitree partitioning along a binary splitting tree, wherein a height and a width of the leaf blocks in number of samples is a power of two. That is, the picture 12 is partitioned into blocks, wherein a leaf block is a log2-partition.
  • partitioning information of the binary splitting tree 13 is signaled in the data stream 14 by checking, for a tree node 13i, 13 2 , .... 13 9 of the binary splitting tree 13 comprising a set of split options including a no-split option and a split option, whether a partition to which the tree node 13i, 13 2 , .... 13 9 belongs, has a height and a width which are in number of samples a power of two, i.e. whether the respective partition is a log2- partition.
  • the block diagram proceeds to a selection node 1703. If yes, i.e. if the current partition is a log2-partition, the method proceeds to block 1704 according to which the split option or the no-split option for said partition is signaled in the data stream 14.
  • the method proceeds to block 1705 according to which it is refrained from signaling the split option in the data stream 14, i.e. the split option is not signaled in the data stream 14.
  • Figure 18 shows a block diagram of a method for decoding a picture 12 from the data stream 14 according to the above described concept.
  • the picture 12 is partitioned into one or more leaf blocks using recursive multitree partitioning along a binary splitting tree 13, wherein a height and a width of the leaf blocks in number of samples is a power of two. That is, the picture 12 is partitioned into blocks, wherein a leaf block is a log2-partition.
  • partitioning information of the binary splitting tree 13 is obtained from the data stream 14 by checking, for a tree node 13i , 13 2 , .... 13g of the binary splitting tree 13 comprising a set of split options including a no-split option and a split option, whether a partition to which the tree node 13i, 13 2 , ... , 13 9 belongs, has a height and a width which are in number of samples a power of two, i.e. by checking whether the current partition is a log2-partition.
  • the block diagram proceeds to a selection node 1803. If yes, i.e. if the current partition is a log2-partition, the method proceeds to block 1804 according to which the split option or the no-split option for said partition is obtained from the data stream 14. If not, i.e. if the partition is a non-log2-partition, the method proceeds to block 1805 according to which the split option is implicitly inferred from the data stream 14 without an explicit split-option-signal in the data stream 14. That is, the split option is not obtained from the data stream 14.
  • Another aspect of the invention targets to constrain a GBS based codec towards a better trade-off between coding efficiency and complexity.
  • a state-of-the-art approach to control this trade-off is to restrict min/max depth of trees when searching and signaling, where tree depth is the maximum distance from a leaf node 13g to the root node 13i.
  • a splitting indication can be inferred when a block does not yet fulfill the minimum tree depth and the splitting indication can be ruled out once the maximum tree depth is reached.
  • the invention in this aspect is to differentiate tree nodes 1 3i , 13 2 , . . . . 13 9 when evaluating a depth of a tree 13,
  • the characteristics by which tree nodes 13i, 13 2 , .... 13g could be handled differently could encompass but are not limited to: a) whether split signaling is implicit for a node 13i , 13 2 , .... 13g b) whether node size belongs to a given set of node sizes, the set being either predefined (e.g. sizes below 16 x 16) or dynamic (e.g. node sizes which presence in previously coded blocks lies below a threshold) c) whether a node 13i, 13 2 , .... 13g is disallowed to contain a CU
  • the depth of a given node may be calculated differently, e.g. by omitting or weighting the count of nodes that adhere to one of the above characteristics.
  • search space is altered in an adaptive fashion adaptive to the given tree characteristics.
  • an encoder 10 for encoding a picture 12 into a data stream 14 is presented, wherein the encoder 10 is configured to partition the picture 12 into one or more leaf blocks using recursive multi-tree partitioning along a splitting tree 13, as it was previously explained above with reference to Figure 14.
  • the splitting tree 13 comprises a set of split options including at least one of a no-split option and a split option.
  • a decoder 1 10 for decoding a picture 12 from the data stream 14 is presented, wherein the decoder 110 is configured to partition the picture 12 into one or more leaf blocks using recursive multi-tree partitioning along a splitting tree 13, as it was previously explained above with reference to Figure 15.
  • the splitting tree 13 comprises a set of split options including at least one of a no-split option and a split option.
  • the encoder 12 and the decoder 100 may be configured to check, for a predetermined tree node 13i, 13 2 , .... 13g of the splitting tree 13, whether said predetermined tree node 13i, 13 2 , .... 13 9 meets a predetermined tree depth constraint.
  • This check of the encoder 10 may depend on a distance of said predetermined tree node 13i, 13 2 , ... , 13g from a root node 13i of the splitting tree 13, or a number of splits of a partition to which said predetermined tree node 13i, 13 2 , .... 13 9 belongs along the splitting tree 13.
  • the encoder 10 and the decoder 110 may evaluate said characteristics, e.g.: a) by discriminating whether coding options of one or more preceeding tree nodes, via which the predetermined tree node 13 2 , .... 13 9 is connected to the root node 13i, are implicitly signaled or explicitly signaled, as described above and/or b) depending on a size of a partition to which the predetermined tree node 13i, 13 2 , ....
  • 13g belongs and/or on a size of one or more intermediate partitions belonging to one or more intermediate tree nodes between the root node and the predetermined tree node, and/or c) by discriminating whether a partition to which the predetermined tree node belongs is allowed to be a leaf block, or not.
  • the encoder 10 and the decoder 110 may be configured to rule out the one of the no-split option and the split option, i.e. depending on the check whether the predetermined tree node meets 1 3i , 13 2 , ... . 1 3 9 the predetermined tree depth constraint.
  • the depth of a given node 13i, 13 2 , 13 9 may be calculated differently, e.g. by omitting or weighting the count of nodes that adhere to one of the above characteristics. Thereby, search space is altered in an adaptive fashion adaptive to the given tree characteristics.
  • both the encoder 10 and the decoder 1 10 may be configured to calculate the tree depth of the predetermined node 13i, 13 2 , . . . , 13 9 differently, namely depending on the above check whether the predetermined tree node 13i, 13 2 , .... 13g meets the predetermined tree depth constraint, wherein the calculating is performed by omitting or weighting the count of tree nodes 13i, 13 2 , .... 13g along the splitting tree if the predetermined tree node 13i, 13 2 , .... 13g adheres to at least one of the options a), b) or c).
  • the encoder 10 and the decoder 110 may skip this tree node 13i, 13 2 , .... 13 s in counting the tree nodes along the splitting tree 13. Additionally or alternatively, the encoder 10 and the decoder 110 may weight the count of a predetermined tree node 13i, 13 2 , ... , 13g in counting the tree nodes along the splitting tree 13, wherein the weight may depend on the respective criterion to which the predetermined tree node 13i, 13 2 , ... , 13g adheres.
  • the encoder 10 may be configured to, in discriminating according to the above mentioned option c), discriminate whether the partition has a height and a width which in number of samples is a power of two, i.e. whether the partition is a log2-partition.
  • the partition is alog2-partition, it is allowed to be a leaf block.
  • the partition is disallowed to be a leaf block and should be splitted at least one more time.
  • the encoder may be configured to explicitly signal an indication in the data stream 14 for indicating whether a current partition is allowed to be a leaf block or not. For example, if the discrimination according to option c) reveals that the partition is allowed to be a leaf block, the encoder 10 may be configured to signal an indication in the data stream 14 for indicating that the partition is allowed to be a leaf block. Additionally or alternatively, if the discrimination according to option c) reveals that the partition is not allowed to be a leaf block, the encoder 10 may be configured to signal an indication in the data stream 14 for indicating that the partition is disallowed to be a leaf block. According to a further example, if the predetermined tree node 13i, 13 2 , ....
  • the encoder 10 may be configured to omit signaling a split indication in the data stream 14. That is, if the current tree node 13i, 13 2 , .... 13g has not yet reached a minimum partitioning level in the splitting tree 13, the encoder 10 may perform implicit splits, as described above.
  • the decoder 110 may infer a split option for said predetermined node 13i, 13 2 , . . . . 1 3g, i.e. the decoder 110 does not obtain a split option from the data stream 14 since the encoder 10 did not encode any split-option signal into the data stream 14.
  • the decoder 110 may be configured to infer a split option without an explicit spiit-option-signal in the data stream 14. That is, the decoder 110 may perform an implicit split, as described above.
  • the encoder 10 may be configured to rule out the one of the no-split option and the split option. In other words, the encoder 10 may not further provide the one of the no- split option and the split option for splitting the current partition.
  • the decoder 1 10 may be configured to rule out the one of the no-split option and the split option. In other words, the decoder 110 may not further use the one of the no-split option and the split option for splitting the current partition.
  • the encoder 10 may check whether the predetermined tree node 13i, 13 2 , .... 1 3g meets the predetermined tree depth constraint according to criterion b), i.e. b) depending on a size of the partition to which the predetermined tree node 13i, 13 2 , . . . . 1 3g belongs.
  • the encoder 10 may check whether the size of the predetermined node 1 3i , 13 2 , . . . . 1 3g belongs to a given set of node sizes, the set being either pre-defined (e.g. sizes below 16 x 16) or dynamic (e.g. node sizes which presence in previously coded blocks lies below a threshold).
  • both the encoder 10 and the decoder 110 may be configured to, in checking whether the predetermined tree node 13i, 13 2 , ... , 13Q meets the predetermined tree depth constraint according to b) depending on a size of a partition to which the predetermined tree node 13i, 13 2 , .... 13g belongs, check whether the size of the partition to which the predetermined tree node 13i, 13 2 , .... 13g belongs is equal to a predetermined partition size contained in a set of partition sizes.
  • the above mentioned set of partition sizes may be static, wherein the set of partition sizes comprises one or more partition sizes, wherein each partition size has a static, i.e. fixed value.
  • the above mentioned set of partition sizes may be dynamic, wherein the set of partition sizes comprises one or more partition sizes, each partition size having a dynamically changeable value, wherein said value may depend on a variable predetermined threshold (e.g. node sizes which presence in previously coded blocks lies below said threshold).
  • a variable predetermined threshold e.g. node sizes which presence in previously coded blocks lies below said threshold.
  • Figure 19 shows a block diagram representing a method for encoding and a method for decoding a picture into/from a data stream 14, according to the above described concept.
  • the picture 12 is partitioned into one or more leaf blocks using recursive multitree partitioning along a splitting tree 13, by checking, for a predetermined tree node 13i, 13 2 , ... , 13g of the splitting tree 13, wherein the splitting tree 13 comprises a set of split options including one of a no-split option and a split option, whether said predetermined tree node 13 2 , 13g meets a predetermined tree depth constraint.
  • Checking the predetermined tree depth constraint may depend on block 1902 in which a distance of said predetermined tree node 13i, 13 2 , .... 13g from a root node 13i of the splitting tree 13, or a number of splits of a partition to which said predetermined tree node 13i, 13 2 , ... , 1 3g belongs along the splitting tree 13.
  • the predetermined tree node 13i, 13 2 , ... , 13g may further comprise one or more characteristics depending on which the predetermined tree node 13i, 13 13g may be handled differently by the encoder 10 and/or the decoder 1 10. These characteristics may be determined by the encoder 10 and the decoder 1 10, respectively, in block 1903a) by discriminating whether coding options of one or more preceeding tree nodes, via which the predetermined tree node is connected to the root node, are implicitly signaled or explicitly signaled, and/or in block 1903b) depending on a size of a partition to which the predetermined tree node belongs and/or on a size of one or more intermediate partitions belonging to one or more intermediate tree nodes between the root node and the predetermined tree node, and/or in block 1903c) by discriminating whether a partition to which the predetermined tree node belongs is allowed to be a leaf block, or not.
  • the method then proceeds to block 1904 according to which the method further comprises a step of ruling out
  • the state-of-the-art partitioning method QTBT describes an ordered combination of two partitioning tree types (namely QT and BT).
  • the two tree types are used consecutively in the partitioning of large blocks into smaller blocks where the first level uses a QT partitioning followed by a second level of BT.
  • Each tree type in QTBT is given with a corresponding set of constraints such as min and max tree depth, mode restrictions and so on.
  • TTS tree type sets
  • N levels of partitioning tree types out of a plurality of tree types such as QT, BT, GBS and so on, each with a corresponding set of constraints.
  • Signaling of a TTS can be carried in any high-level syntax structure such as parameter sets or slice headers.
  • Each coding partition such as tiles, slices, or CTUs within a bitstream can hence reference and thereby activate one of the available TTS, e.g. in high- level syntax structures such as parameter sets, slice header or also on CTU level.
  • an encoder 10 for encoding a picture 12 into a data stream 14 wherein the encoder 10 is a block-based encoder.
  • the encoder 10 is configured to partition the picture 12 along a splitting tree 13 from a tree root block 13i, at a root block partitioning level, into one or more leaf blocks 133, 13 4 , 13s, 13e, 13a, 13g, each at a respective leaf block partitioning level, using recursive multi-tree partitioning, such as described above with reference to Figure 14.
  • the encoder 10 is configured to select, for performing the multi-tree partitioning, a tree type set (in the following also referred to as TTS) comprising one or more tree types. Said tree type sets may be explained in more detail with reference to Figures 20 to 22.
  • the encoder 10 of this aspect is further configured to signal the tree type set in the data stream 14, wherein the signaling is done at one or more partitioning levels between the root block partitioning level and the leaf block partitioning level, including the root block partitioning level and the leaf block partitioning level. That is, the signaling may be done at the root block partitioning level, and/or at a leaf block partitioning level, and/or at any level between the root block and leaf block partitioning levels.
  • the decoder 110 may obtain said signaling from the data stream 14 in order to select the correct TTS for decoding the blocks of the picture using the one or more tree types contained in the signaled selected TTS.
  • a decoder 110 for decoding the picture 12 from the data stream 14 is provided, wherein the decoder 110 is a block-based decoder.
  • the decoder 110 is configured to partition the picture 12 along a splitting tree 13 from a tree root block 13i , at a root block partitioning level, into one or more leaf blocks 13s, 13 4 , 13s, 13e, 13e, 13g, each at a respective leaf block partitioning level, using recursive multitree partitioning, such as described above with reference to Figure 15.
  • the decoder 110 is configured to perform the multi-tree partitioning using a tree type set (in the following also referred to as TTS) comprising one or more tree types.
  • TTS tree type set
  • the decoder 110 is configured to perform said multi-tree partitioning based on a signaling of the tree type set in the data stream 14, at one or more partitioning levels between the root block partitioning level and the leaf block partitioning level, including the root block partitioning level and the leaf block partitioning level. That is, the signaling of the tree type set may be obtained from the data stream 14 at the root block partitioning level, and/or at a leaf block partitioning level, and/or at any level between the root block and leaf block partitioning levels.
  • Figure 20 illustrates a first embodiment of the present concept with signaling on CTU level.
  • FIG 20 shows a splitting tree 13 similar to the one described above with reference to Figures 14 and 15.
  • the splitting tree 13 may comprise a root node 13i, wherein the root node 13i is at a first partitioning level 21 1 , which may therefore also be referred to as the root block partitioning level 21 1.
  • the root block belonging to the root node 13i may be a CTU.
  • a first split of the root block may be performed, i.e. the root node 13i may be partitioned at the root block partitioning level 211 into two or more further tree nodes 13 2 , 13 3 , 13 4 , 13s at a resulting second partitioning level 212.
  • the tree nodes 13 3 , 13 4 , 13s may be leaf nodes which may not be partitioned any further.
  • the tree node 13 2 at the second partitioning level 212 may be further partitioned along the splitting tree 13 which may result in two or more further nodes 13 6 , 13 7 at a resulting third partitioning level 213.
  • the tree nodes 13 6 , 13 7 may be leaf nodes and the third partitioning level 213 may accordingly also be referred to as a leaf block partitioning level.
  • the encoder 10 may select one or more partitioning parameters for splitting the blocks into subblocks.
  • the encoder 10 may select one or more tree types for partitioning the tree nodes 13i , 13 2 , ... , 13 9 belonging to a respective block or subblock from one partitioning level to another partitioning level.
  • a partitioning parameter set 201 may be provided which may, for instance, comprise one or more tree type set (TTS) 201A, 201 B, 201C.
  • TTS tree type set
  • Each TTS 201A, 201 B, 201 C may comprise one or more tree types.
  • a first TTS 201 A may comprise one tree type, e.g. a quad split tree type (QT).
  • QT quad split tree type
  • a second TTS 201 B may also comprise one tree type, which may be the same tree type as contained in the first TTS 201A or a different tree type, e.g. a generalized binary split tree type (GBS).
  • a third TTS 201 C may comprise two tree types, e.g. a QT and a GBS.
  • the encoder 10 may select the third TTS 201 C for partitioning the tree nodes 13i, 13 2 , .... 13g along the splitting tree 13.
  • the first partitioning of the root node 13i at the root block partitioning level 211 may be performed by using a QT.
  • the root node 13i may be partitioned into four sub-nodes 13 2 , 13 3 13 4I 13 5 .
  • the nodes 13i, 13 2 , 13g in the splitting tree 13 may also be referred to as partitions.
  • the selected TTS 201 C provides a GBS tree type. Accordingly, the sub-node 13 2 is partitioned at the second partitioning level 212 by using a GBS tree type, such that two further sub-nodes 13e, 13 7 result therefrom at the third partitioning level 213. Since the two further sub-nodes 13e, 13 7 are leaf blocks, the third partitioning level is a leaf block partitioning level.
  • the selected TTS 201 C comprises two tree types - QT and GBS - and the splitting tree 13 comprises three partitioning levels 211 , 212, 213, wherein a first partitioning is performed between the first and the second partitioning level 211 , 212 and a second partitioning is performed between the second and the third partitioning level 212, 213.
  • the TTS 201 C comprises a number of tree types which number of tree types is equal to a number of partitioning levels 211 , 212, 213 minus one.
  • the splitting tree 13 comprises a number of three partitioning levels 211 , 212,
  • the selected TTS 201 C comprises a number of two tree types (QT, GBS).
  • the encoder 10 may be configured to select a tree type set 201 C comprising a number of tree types which number is equal to a number of partitioning levels 211 , 212, 213 minus one.
  • the selected TTS 201 C may be signaled at one or more partitioning levels 21 1 , 212, 213.
  • the selected TTS 201C may be signaled in the data stream 14 at the root block partitioning level 211.
  • a further embodiment provides a corresponding decoder 110, wherein the decoder 1 10 may be configured to obtain from the signaling in the data stream 14, at the root block partitioning level 211 (or alternatively at one or more other partitioning levels 212, 213), a tree type set 201 C comprising a number of tree types which number of tree types is equal to a number of partitioning levels minus one.
  • the decoder 110 may be configured to use, at each partitioning level 211 , 212 except the leaf block partitioning level, one of the tree types contained in the tree type set 201 C for performing the multi-tree partitioning.
  • the encoder 10 may further be configured to use, at each partitioning level except the leaf block partitioning level 213, i.e. at the first partitioning level 211 and at the second partitioning level 212. one of the tree types contained in the tree type set 201 C.
  • the encoder 10 is further configured to signal the selected tree type set 201 C in the data stream 14, at the root block partitioning level 211.
  • an embodiment provides an encoder 10 which may be configured to signal in the data stream 14 the selected tree type set 201 C, at the root block partitioning level 211 , and to use the one or more tree types (e.g. QT, GBS) contained in the selected tree type set 201 C for partitioning the picture 12 from the tree root block into the one or more leaf blocks, i.e. for performing the multi-tree partitioning from the root node 13i to the one or more leaf nodes 13 3 , 13 4 , 13 5 , 13 6 , 13 7 .
  • tree types e.g. QT, GBS
  • a further embodiment provides a corresponding decoder 110, wherein the decoder 110 may be configured to obtain from the signaling in the data stream 14, at the root block partitioning level 211 , the tree type set 201 C for performing the multi-tree partitioning, and to use the one or more tree types contained in the tree type set 201 C for partitioning the picture 12 from the tree root block into the one or more leaf blocks, i.e. for performing the multi-tree partitioning from the root node 13i to the one or more leaf nodes 13 3 , 13 4 , 13S, 13 6 , I SA .
  • a further embodiment provides an encoder 10 that may be configured to select a tree type set 201 C comprising a first tree type, e.g. QT, and a different second tree type, e.g. GBS.
  • a first tree type e.g. QT
  • a different second tree type e.g. GBS.
  • the encoder 10 may further be configured to use the first tree type (e.g. QT) for performing the multi-tree partitioning at a first partitioning level, for example at the root block partitioning level 211 , and to use the second tree type (e.g. GBS) for performing the multi-tree partitioning at a different second partitioning level, for example at the subsequent second partitioning level 212.
  • first tree type e.g. QT
  • second tree type e.g. GBS
  • the encoder 10 may further be configured to signal the selected tree type set 201 C in the data stream 14, at the root block partitioning level 211.
  • a further embodiment provides a corresponding decoder 110, wherein the decoder 110 may be configured to obtain from the signaling in the data stream 14, at the root block partitioning level 211 , a tree type set 201 C comprising a first tree type and a different second tree type (e.g. QT and GBS).
  • the decoder 1 10 may further be configured to use the first tree type (e.g. QT) for performing the multi-tree partitioning at a first partitioning level 211 , and to use the second tree type (e.g. GBS) for performing the multi-tree partitioning at a different second partitioning level 212.
  • the first tree type e.g. QT
  • GBS second tree type
  • the tree types may be arranged in an order, e.g. the first tree type (e.g. QT) may be arranged prior to the second tree type (e.g. GBS).
  • the tree types contained in the TTS 201 C are used in the splitting tree 13 in the order in which they are arranged in the TTS 201 C. That is, the first tree type (e.g. QT) was used at the first partitioning level 21 1 and the consecutive second tree type (e.g. GBS) was used at the second partitioning level 212.
  • the first tree type e.g. QT
  • the consecutive second tree type e.g. GBS
  • the one or more tree types contained in a tree type set 201 C may be arranged in a consecutive order, wherein both the encoder 10 and the decoder 110 may be configured to consecutively use, at each partitioning level 211, 212 except the leaf block partitioning level 213, one of the one or more consecutively arranged tree types in the order as they are arranged in the tree type set 201 C.
  • the third TTS 201C may comprise three tree types, e.g. QT, BT and GBS.
  • the focus shall first be directed to the two tree types which are depicted in parentheses, i.e“BT or GBS".
  • the tree types depicted in parentheses shall indicate that these two tree types may both be available at the same time for one and the same partition, or for one and the same partitioning level, respectively. That is, for partitioning a tree node, or for partitioning all tree nodes of a certain partitioning level 21 1 , 212, 213, the encoder 10 may be configured to selectively choose one of the two options, i.e. one of the two available tree types contained in the tree type set 201 C.
  • a tree type set may comprise more than two exemplarily described available tree types.
  • the encoder 10 may be configured to choose exactly one out of the available tree types for partitioning a tree node, or for partitioning all tree nodes of a certain partitioning level 21 1 , 212, 213.
  • the encoder 10 may be configured to select a tree type set 201 C comprising at least a first tree type (e.g. BT) and a second tree type (e.g. GBS) to be used at a predetermined partitioning level 211 , 212, 213, in this example for the second partitioning level 212.
  • the encoder 10 may further be configured to selectively choose exactly one out of the at least first and second tree types (e.g. BT or GBS) for performing the multi-tree partitioning at said predetermined partitioning level 211 , 212, 213.
  • the encoder 10 may further be configured to signal the selected tree type set 201 C in the data stream 14, at the root block partitioning level 211.
  • a further embodiment provides a corresponding decoder 110, wherein the decoder 110 may be configured to obtain from the signaling in the data stream 14, at the root block partitioning level 21 1 , a tree type set 201 C comprising at least a first tree type (e.g. BT) and a second tree type (e.g. GBS) to be used at a predetermined partitioning level 21 1 , 212, 213.
  • a first tree type e.g. BT
  • GBS second tree type
  • the decoder 110 may further be configured to selectively choose exactly one out of the at least first and second tree types (e.g. BT or GBS) for performing the multi-tree partitioning at said predetermined partitioning level 212, 213, 214.
  • first and second tree types e.g. BT or GBS
  • the encoder 10 may further encode an indication 205 into the data stream 14 for indicating which one of the available tree types (e.g. BT or GBS) was selected at the respective partitioning level 212 for partitioning the tree nodes 13 2 , 13s, 13 4 , 135 of said partitioning level 212.
  • Said indication 205 may, for instance, be a flag, such as the depicted“ Pe r-le ve l_m od e_f I ag” .
  • the encoder 10 may be configured to signal at the predetermined partitioning level 212 an indication 205 which one out of the first and second tree types (e.g. “BT or GBS”) is selectively chosen from the tree type set 201 C for performing the multi-tree partitioning at said predetermined partitioning level 212.
  • an indication 205 which one out of the first and second tree types (e.g. “BT or GBS”) is selectively chosen from the tree type set 201 C for performing the multi-tree partitioning at said predetermined partitioning level 212.
  • a further embodiment provides a corresponding decoder 110, wherein the decoder 1 10 may be configured to obtain from a signaling at the predetermined partitioning level 212 an indication 205 which one out of the first and second tree types (e.g.“BT or GBS") to selectively choose for performing the multi-tree partitioning at said predetermined partitioning level 212.
  • the decoder 1 10 may be configured to obtain from a signaling at the predetermined partitioning level 212 an indication 205 which one out of the first and second tree types (e.g.“BT or GBS”) to selectively choose for performing the multi-tree partitioning at said predetermined partitioning level 212.
  • the third TTS 201 C in Figure 21 may comprise three tree types, namely a first tree type (e.g. QT), and the aforementioned two available options (e.g.“BT or GBS”).
  • the encoder 10 may use the first tree type (e.g. QT) for partitioning the root node 13i at the first partitioning level 211 , and to selectively choose exactly one out of the two available options (e.g.“BT or GBS”) for performing the multi-tree partitioning at the second partitioning level 212, as described above.
  • the encoder 10 may be configured to select a tree type set 201 C comprising a first tree type (e.g. QT), a second tree type (e.g. BT) and a third tree type (e.g. GBS), to use the first tree type for performing the multi-tree partitioning at a predetermined partitioning level, e.g. the exemplarily depicted first partitioning level 21 1 , and to selectively choose exactly one out of the second and the third tree types (e.g.“BT or GBS”) for performing the multi-tree partitioning at one or more subsequent partitioning levels, e.g. at the exemplarily depicted second partitioning level 212, and to signal the selected tree type set 201 in the data stream 14, at the root block partitioning level 211.
  • a first tree type e.g. QT
  • BT a second tree type
  • GBS third tree type
  • the encoder 10 may be configured to signal at the second partitioning level 212 an indication, e.g. the“Per-level_mode_flag” 205”, to indicate which one out of the second and the third tree types (e.g.“BT or GBS”) is selectively chosen from the tree type set 201 C for performing the multi-tree partitioning at said second partitioning level 212.
  • an indication e.g. the“Per-level_mode_flag” 205”
  • a further embodiment provides a corresponding decoder 110, wherein the decoder 110 may be configured to obtain from the signaling in the data stream 14, at the root block partitioning level 211 , a tree type set 201 C comprising a first tree type (e.g. QT), a second tree type (e.g. BT) and a third tree type (e.g. GBS), to use the first tree type for performing the multi-tree partitioning at a predetermined partitioning level, e.g. the exemplarily depicted first partitioning level 21 1 , and to selectively choose exactly one out of the second and the third tree types (e.g. “BT or GBS”) for performing the multi-tree partitioning at one or more subsequent partitioning levels, e.g. at the exemplarily depicted second partitioning level 212.
  • a tree type set 201 C comprising a first tree type (e.g. QT), a second tree type (e.g. BT) and a third tree type (e.g.
  • the decoder 1 10 may be configured to obtain from a signaling at the second partitioning level 212 an indication, e.g. the“Per-level_mode_flag” 205”, to indicate which one out of the second and the third tree types (e.g.“BT or GBS”) to selectively choose for performing the multi-tree partitioning at said second partitioning level 212.
  • an indication e.g. the“Per-level_mode_flag” 205”
  • the above described concept of tree type sets (TTS) 201 A, 201 B, 201 C could host multiple tree types for a given level 211 , 212, e.g. QT for the first coarse level of partitioning 21 1 and either BT or GBS for the second level of partitioning 212.
  • Slice or CU-level type signaling such as a Per- level_mode_flag 205 could be used to index the used partitioning for levels 212 with multiple tree types (e.g.“BT or GBS”).
  • indication of the tree partitioning type for the current split level and potentially following split levels may exist on each individual partitioning level.
  • FIG 22 shows an example.
  • the partition parameter set 201 may again comprise, by way of non-limiting example, three tree type sets (TTS) 201 A, 201 B, 201 C.
  • TTS tree type sets
  • Each TTS 201 A, 201 B, 201 C may comprise one or more tree types.
  • each TTS 201 A, 201 B, 201 C may comprise only one tree type for the sake of simplification of the following description.
  • a first TTS 201 A may be selected by the encoder 10. Accordingly, the encoder 10 use the tree type (e.g. QT) contained in the TTS 201 A for performing the multi-tree partitioning at the first partitioning level 211. The encoder may signal said selected TTS 201A in the data stream 14 at the first partitioning level. If a TTS may comprise only one tree type, then the encoder 10 may signal the tree type that is contained in the respective TTS, instead of signaling the TTS itself.
  • the tree type e.g. QT
  • a TTS 201 A, 201 B, 201 C may again be selected by the encoder 10.
  • the encoder 10 may be configured to select one TTS 201 A, 201 B, 201 C for the entire partitioning level. Accordingly, the one or more tree types which are contained in the selected TTS may then be used for performing the multi-tree partitioning at the respective partitioning level. That is, one and the same tree type of the selected TTS may be used for partitioning all nodes of the respective partitioning level, except for leaf nodes because leaf nodes may per se not be further partitioned.
  • the encoder 10 may select the third TTS 201 C at the second partitioning level 212.
  • the encoder 10 may use the one or more tree types (e.g. GBS) contained in the selected third TTS 201 C for performing the multi-tree partitioning at the second partitioning level 212.
  • GBS tree types
  • each node of the second partitioning level 212 may be partitioned using the GBS tree type, except for leaf nodes. (Note that this example refers to a level-wise selection of TTS, which is not explicitly depicted)
  • the encoder 10 may be configured to use the one or more tree types contained in the selected TTS 201 A, 201 B, 201 C for performing the multi-tree partitioning at the respective partitioning level 21 1 , 212, 213 and at one or more subsequent partitioning levels.
  • the encoder 10 may select the first TTS 201 A comprising tree type QT for partitioning the root node 13i at the root partition level 211.
  • the encoder 10 may also use the selected TTS 201 A for further subsequent partitioning levels.
  • the encoder may use the one or more tree types (e.g. QT) contained in the first TTS 201 A as the tree type for performing the multi-tree partitioning at the second partitioning level 212 and optionally further subsequent partitioning levels.
  • the encoder 10 may be configured to select a first tree type set 201 A at a first partitioning level 21 1 and to use one of the tree types contained in said first tree type set 201 A for performing the multi-tree partitioning at said first partitioning level 21 1 , or for performing the multi-tree partitioning at said first partitioning level 211 and one or more subsequent partitioning levels 212.
  • the encoder 10 may further be configured to select the first or a second tree type set 201 A, 202B at a second partitioning level 212 and to use one of the tree types contained in the selected one of the first and the second tree type sets 201 A, 202B for performing the multitree partitioning at the second partitioning level 212, or for performing the multi-tree partitioning at said second partitioning level 212 and one or more subsequent partitioning levels. Furthermore, the encoder 10 may be configured to signal the selected tree type set 201 A, 201 B in the data stream 14, separately at the first partitioning level 21 1 and at the second partitioning level 212. That is, the encoder 10 may signal the selected TTS 201 A, 201 B level-wise.
  • the encoder 10 may select a TTS for each node of a partitioning level separately, i.e. partition-wise.
  • the encoder 10 may select the first TTS 201 A at the first partitioning level 21 1 , as described above. Further, the encoder 10 may select the third TTS 201 C for the node (which may also be referred to as a partition) 13 2 at the second partitioning level 212. Accordingly, the node 13 2 may further be partitioned, using the GBS tree type contained in the selected third TTS 201 C, into two subsequent sub- nodes 13e, 13 7 at a subsequent third partitioning level 213. However, the encoder 10 of this example may further be configured to select a TTS for another node of the second partitioning level 212.
  • the encoder 10 may select the first TTS 201 A for a further node 13s at the second partitioning level 212. Accordingly, the node 13s may further be partitioned, using the QT tree type contained in the selected first TTS 201A, into four subsequent sub-nodes 13e, 13g, 13io, 13n at a subsequent third partitioning level 213.
  • the encoder 10 may be configured to select for a first partition 13 2 of a first partitioning level 212 a first tree type set 201 C at the first partitioning level 212 and to use one of the tree types contained in said first tree type set 201 C for performing the multi-tree partitioning of said first partition 13 2 at said first partitioning level 212, or for performing the multi-tree partitioning of said first partition 13 2 at said first partitioning level 212 and of one or more subsequent partitions at one or more subsequent partitioning levels.
  • the encoder 10 may further be configured to select for a second partition 13 5 of the first partitioning level 212 the first or a second tree type set 201 A, 201 C at said first partitioning level 212 and to use one of the tree types contained in the selected one of the first and the second tree type sets 201 A, 201 C for performing the multi-tree partitioning of said second partition 13 5 at said first partitioning level 212, or for performing the multi-tree partitioning of said second partition 13s at said first partitioning level 215 and of one or more subsequent partitions at one or more subsequent partitioning levels.
  • the encoder 10 may further be configured to signal the respectively selected tree type set 201A, 201 C in the data stream 14, separately for the first partition 13 2 and the second partition 13 s at the first partitioning level 212.
  • a further embodiment provides a corresponding decoder 1 10, wherein the decoder 1 10 may be configured to obtain from the signaling in the data stream 14, at a first partitioning level 21 1 , a first tree type set 201 A and to use one of the tree types contained in said first tree type set 201A for performing the multi-tree partitioning at said first partitioning level 21 1 , or for performing the multi-tree partitioning at said first partitioning level 21 1 and one or more subsequent partitioning levels 212, 213.
  • the decoder 1 10 may further be configured to obtain from a separate signaling in the data stream 14, at a second partitioning level 212, the first or a second tree type set 201 A,
  • the decoder 1 10 may be configured to select a TTS 201 A, 201 B, 201 C partition-wise. According to this example, the decoder 1 10 may be configured to obtain from the signaling in the data stream 14, at a first partitioning level 212, a first tree type set 201 C for a first partition 13 2 of said first partition level 212, and to use one of the tree types contained in said first tree type set 201 C for performing the multi-tree partitioning of said first partition 13 2 at said first partitioning level 212, or for performing the multi-tree partitioning of said first partition 13 z at said first partitioning level 212 and of one or more subsequent partitions at one or more subsequent partitioning levels.
  • the decoder 1 10 may further be configured to obtain from the signaling in the data stream 14, at the first partitioning level 212, the first or a second tree type set 201 A, 201 C for a second partition 13s of said first partition level 212 and to use one of the tree types contained in the selected one of the first and the second tree type sets 201 A, 201 C for performing the multi-tree partitioning of said second partition 13s at said first partitioning level 212, or for performing the multi-tree partitioning of said second partition 13s at said first partitioning level 212 and one of one or more subsequent partitions at one or more subsequent partitioning levels.
  • the decoder 1 10 may be configured to obtain the signaling of the respective tree type set from the data stream 14, separately for the first partition 13 2 and the second partition 13s at the first partitioning level 212.
  • Figure 23 shows a block diagram of a method for block-based encoding a picture 12 into a data stream 14 according to the above described concept.
  • Block 2301 the picture 12 is partitioned along a splitting tree 13 from a tree root block, at a root block partitioning level 21 1 , into one or more leaf blocks, each at a respective leaf block partitioning level 213, using recursive multi-tree partitioning.
  • a tree type set 201 A, 201 B, 201 C comprising one or more tree types is selected for performing the multi-tree partitioning.
  • FIG. 24 shows a block diagram of a method for block-based decoding a picture 12 from a data stream 14 according to the above described concept.
  • the picture 12 is partitioned along a splitting tree 13 from a tree root block, at a root block partitioning level 211 , into one or more leaf blocks, each at a respective leaf block partitioning level 213, using recursive multi-tree partitioning.
  • the multi-tree partitioning is performed using a tree type set 201 A, 201 B, 201 C comprising one or more tree types.
  • the step of performing the multi-tree partitioning is based on a signaling of the tree type set 201 A, 201 B, 201 C in the data stream 14, at one or more partitioning levels 211 , 212, 213 between the root block partitioning level 211 and the leaf block partitioning level 213, including the root block partitioning level 211 and the leaf block partitioning level 213.
  • an asymmetric variant of QT is introduced, i.e. a block may be divided into four partitions by two straight boundaries with a single split.
  • An example is shown in Figure 25, which shows a block 250 that is partitioned into four subblocks 251 , 252, 253, 254.
  • the block 250 may be a tree node block, e.g. a CTU, and the subblocks 251 , 252, 253, 254 may be leaf blocks.
  • the splitting tree 13 depicted on the right side of the block 250 depicts the partitions belonging to the respective subblocks 251 , 252, 253, 254.
  • a first horizontal split at the CTU partitioning level may be performed, wherein said first split may comprise a splitting ratio of 3 ⁇ 4.
  • the partitioning into the depicted four partitions is comparatively expensive signaling-wise and requires signaling of three split decisions for each of the three partitions in the splitting tree 13, each with corresponding splitting ratios, i.e. 1 ⁇ 4 and 1/3.
  • the invention in this aspect is a QT style partitioning that may be able to split the block 250 into the depicted four partitions 251 , 252, 253, 254 based on a single split indication, but in addition to state-of-the-art QT, the inventive principle may also allow for indicated two splitting ratios that define the exact position of the splitting boundaries that may be different than N/2 splits of conventional QT. Accordingly, asymmetric subblocks
  • inventive principle of 5 this aspect may also be referred to as an Asymmetric Quad Split (AQT).
  • AQT Asymmetric Quad Split
  • an encoder 10 may be provided, wherein the encoder 0 is a block-based encoder for encoding a picture 12 into a data stream 14.
  • the encoder 10 may be configured to partition the picture 12 into one or more leaf blocks 251 , 252, 253, 254 using recursive multi-tree partitioning along a splitting tree 13.
  • the 10 encoder 10 may be configured to signal partitioning information of the splitting tree 13 in the data stream 14. This encoder 10 may be similar to the encoder as exemplarily described above with reference to Figure 14.
  • the encoder 10 may be configured to perform for a predetermined block 250 an asymmetric quad split, in which the predetermined block 250 15 is partitioned by at least a first split boundary 255 and a perpendicular second split boundary 256 into four asymmetric subblocks 251 , 252, 253, 254.
  • the encoder 10 of this aspect may be configured to signal in the data stream 14 a first split ratio of the first split boundary 255 and a second split ratio of the second split boundary 256.
  • a corresponding decoder 110 For decoding the picture, a corresponding decoder 110 is provided.
  • a block-based decoder 110 is provided for decoding the picture 12 from the data stream 14, wherein the decoder 110 may be configured to partition the picture 12 into one or more leaf blocks 251 , 252, 253, 254 using recursive multi-tree partitioning along a splitting tree 13.
  • This decoder 1 10 may be similar to the decoder as exemplarily described 25 above with reference to Figure 15.
  • the decoder 1 10 may be configured obtain a partitioning information of the splitting tree 13 from the data stream 14. Furthermore, the decoder 110 may further be configured to perform for a predetermined block 250 an asymmetric quad split, in which the predetermined block 250 is partitioned by at least a first split boundary 30 255 and a perpendicular second split boundary 256 into four asymmetric subblocks 251 ,
  • the decoder 1 10 may be configured to obtain from the data stream 14 a first split ratio of the first split boundary 255 and a second split ratio of the second split boundary 256.
  • this asymmetric quad split may be based on a single split indication. That is, a quad split is signaled together with two splitting ratios, namely a first splitting ratio for the first split boundary 255 and a second splitting ratio for the second split boundary 256.
  • the encoder 10 may be configured to perform the asymmetric quad split based on a single split indication, and to signal in the data stream 14 the single split indication and the first splitting ratio of the first split boundary 255 and the second split ratio of the second split boundary 256.
  • the decoder 1 10 of this embodiment may be configured to perform the asymmetric quad split based on a single split indication, and to obtain from the data stream 14 the single split indication and the first splitting ratio of the first split boundary 255, and the single split indication and the second split ratio of the second split boundary 256.
  • An alternative embodiment of the invention is a constraint for GBS partitioning that allows for reduction of signaling overhead in such a scenario. This is achieved by restricting the splitting ratio of the third split to be equal to the second split and omit corresponding bitstream signaling in favor of inference on decoder side.
  • Figure 25 illustrates the respective split tree 13. The set of available split ratios for the third split which leads to partitions 253 and 254 may be restricted to the actual split ratio of the second split.
  • the encoder 10 may be configured to perform the asymmetric quad split by using a binary splitting tree 13 based on at least a first and a second binary split indication, i.e. based on at least a split indication for the first binary split of the first partition 13i at the first partitioning level, and based on at least a split indication for the second binary split of the second partition 13 2 at the second partitioning level.
  • the encoder 10 may be configured to perform the first binary split of the first partition 13i which creates the first split boundary 255 having a first split ratio, e.g. 3 ⁇ 4.
  • the encoder 10 may further be configured to perform the perpendicular second binary split of the second partition 13 2 which creates the second split boundary 256 having a second split ratio, e.g. 1/3.
  • the encoder 10 may be configured to perform a perpendicular (relative to the first split boundary 255) third binary split of the third partition 13 3 creating a third split boundary having a third split ratio.
  • the third split ratio of the third binary split is restricted to be equal to the second split ratio of the second binary split, which is indicated in the splitting tree 13 by means of the arrow 257.
  • the encoder 10 is configured to omit signaling in the data stream 14 the third split ratio of the third binary split, since it is restricted to be the same as the second split ratio of the second binary split, as mentioned above.
  • this implicit third split ratio may be inferred without an explicit split ratio indication for the third binary split in the data stream 14.
  • the decoder 110 may be configured to perform the asymmetric quad split by using a binary splitting tree 13 based on at least a first and a second binary split indication, i.e. based on at least a split indication for the first binary split of the first partition 13i at the first partitioning level, and based on at least a split indication for the second binary split of the second partition 13 ⁇ at the second partitioning level.
  • the decoder 1 10 may be configured to perform a first binary split creating a first split boundary 255 having a first split ratio, e.g. 3 ⁇ 4.
  • the decoder 110 may further be configured to perform a perpendicular second binary split creating a second split boundary 256 having a second split ratio, e.g. 1/3.
  • the decoder 1 10 may be configured to perform a perpendicular (relative to the first boundary 255) third binary split creating a third split boundary having a third split ratio.
  • the third split ratio of the third binary split is restricted to be equal to the second split ratio of the second binary split, as mentioned above.
  • the decoder 110 may be configured to infer, without an explicit split-ratio-signal in the data stream 14, the third split ratio of the third binary split to be equal to the second split ratio of the second binary split.
  • Figure 26 shows a block diagram of an encoding method according to the above described concept.
  • Figure 26 shows a block diagram of a method for block-based encoding a picture 12 into a data stream 14.
  • the picture 12 is partitioned into one or more leaf blocks 251 , 252, 253, 254 using recursive multi -tree partitioning along a splitting tree 13, and partitioning information of the splitting tree 13 is signaled in the data stream 14.
  • an asymmetric quad split is performed for a predetermined block 250, in which the predetermined block 250 is partitioned by at least a first split boundary 255 and a perpendicular second split boundary 256 into four asymmetric subblocks 251 , 252, 253, 254.
  • a first split ratio of the first split boundary 255 and a second split ratio of the second split boundary 256 is signaled in the data stream 14, wherein both split ratios may be encoded into the data stream 14 during the same splitting step.
  • Figure 27 shows a block diagram of a corresponding decoding method according to the above described concept.
  • Figure 26 shows a block diagram of a method for block-based decoding the picture 12 from the data stream 14.
  • the picture 12 is partitioned into one or more leaf blocks 251 , 252, 253, 254 using recursive multi-tree partitioning along a splitting tree 13, and partitioning information of the splitting tree 13 is obtained from the data stream 14.
  • an asymmetric quad split is performed for a predetermined block 250, in which the predetermined block 250 is partitioned by at least a first split boundary 255 and a perpendicular second split boundary 256 into four asymmetric subblocks 251 , 252, 253, 254.
  • a first split ratio of the first split boundary 255 and a second split ratio of the second split boundary 256 are obtained from the data stream 14, wherein both split ratios may be obtained from the data stream 14 during the same splitting step.
  • This aspect intents to infer partitioning parameters of a block from its local neighborhood.
  • Means for defining regions within a picture exists, e.g. tiling, slices or region-wise packing.
  • ATS Adaptation Tree Sets
  • TTS Adaptation Tree Sets
  • partitioning parameters can be referenced/activated on a sub-picture basis.
  • the current region definition capabilities may not be sufficient to efficiently capture the shape of image objects accurately enough, to maximize the coding-efficiency benefit of an adapted partitioning scheme.
  • partitioning parameters of the current block are instead derived from previously coded blocks, e.g. in the spatial or temporal vicinity of the current block.
  • Figure 28 shows an example for this aspect, which example is applicable to both an inventive encoder and an inventive decoder.
  • a picture 12s is depicted which may be coded by using a spatial intra-prediction mode.
  • the picture 12s may be subdivided into sub-picture regions, e.g. slices 281 , 282, 283.
  • the slices 281 , 282, 283 may further be divided into blocks 284, 285, 286.
  • Said blocks 284, 285, 286 may, for instance, be tree root blocks, e.g. CTUs, as previously explained above.
  • the picture 12s may be partitioned, starting from a tree root block into one or more leaf blocks, along a splitting tree 13.
  • partitioning parameters 291 , 292, 293, 294 may be used by the encoder and the decoder for partitioning the respective block.
  • Partitioning parameters 291 , 292, 293, 294 may comprise, as non-limiting examples, one or more of the above described splitting indications of the other further aspects, such as, e.g. split ratios, split modes, tree types, tree type set (TTS), AQT-indications, implicit split indications for log2-partitions and non-log2-partitions, and many more.
  • one or more partitioning parameters 291 , 292 may be available for partitioning said block 286.
  • the one or more partitioning parameters 291 , 292 may be contained in a partitioning parameter set 290.
  • At least one partitioning parameter 292 of said block 286 may be an inherited partitioning parameter, which shall be explained in more detail below.
  • the picture 12s may comprise a further block 285 that may also be located in the same sub-picture region as block 286, e.g. located in slice 281.
  • Said further block 285 is located in the spatial vicinity of the block 286.
  • the further block 285 is a direct spatial neighbor of the block 286.
  • the further block 285 is located directly adjacent to the block 286.
  • the blocks 285, 286 may be coded along a coding order, wherein the further block 285 may be coded prior to the block 286. Accordingly, said further block 285 may be a previously coded block that has been previously coded prior to the block 286.
  • the further block 285 may also comprise one or more partitioning parameters 293, 294.
  • partitioning parameter‘B’ 294 may be used in partitioning the further block 285.
  • the block 286 may be consecutively coded afterwards, e.g. subsequent to the further block 285.
  • the block 286 may inherit from the previously coded further block 285 at least one partitioning parameter, e.g. the aforementioned partitioning parameter‘B’. 10 Said inheritance is indicated in Figure 28 by means of arrow 295. For the sake of symbolizing the inherited partitioning parameter in the Figure, an asterisk is used. Accordingly, the block 286 may comprise the inherited partitioning parameter‘B*’ 292. The inherited partitioning parameter‘B * ’ 292 may be a copy of partitioning parameter‘B’ 294 of the further block 285. Additionally or alternatively, block 286 may access partitioning 15 parameter‘B’ 294 by means of referencing.
  • the block 286 may be partitioned along the splitting tree 13 by using the inherited partitioning parameter‘B*’ that has been inherited from the previously coded further block 285.
  • Each of the pictures 12ti, 12t 2 may be subdivided into sub-picture regions, e.g. slices 281 , 282, 283, as explained above with reference to picture 12s.
  • the slices 281 , 282, 283 may also be divided into blocks 284, 285, 286.
  • Said blocks 284, 285, 286 may, for instance, be tree root blocks, e.g. CTUs, as previously explained above.
  • each of the blocks of the pictures 12ti, 12t 2 may 25 be partitioned, starting from a tree root block into one or more leaf blocks, along a splitting tree 13.
  • the pictures 12ti, 12t 2 may be coded along a coding order, wherein the first picture 12ti may be coded prior to the second picture 12t 2 .
  • the second picture 12t 2 may comprise at least one block 286 wherein one or more partitioning parameters 291 , 292 may be available for partitioning said at least one block 286.
  • the first picture 12ti may comprise a further block 285 wherein one or more partitioning parameters 293, 294 may be available for partitioning said further block 285.
  • partitioning parameter‘B’ 294 may be used in partitioning the further block 285.
  • the at least one block block 286 may be consecutively coded afterwards, e.g. subsequent to the further block 285.
  • inter-prediction coding may be similar to the above described example of intra-prediction coding.
  • the further block 285 may be located in the temporal vicinity of the at least one block 286. That Is, the further block 285 may be a block of a previously coded picture 12ti. However, said further block 285 may be spatially located in a corresponding sub-picture region (e.g. slice 2811) of the first picture 12ti corresponding to a respective sub-picture region (e.g. slice 2812) of the second picture 12t 2 .
  • the block 286 of the second picture 12t 2 may inherit from the previously coded further block 285 of the first picture 12ti at least one partitioning parameter, e.g. the aforementioned partitioning parameter‘B’. Said inheritance is again indicated by means of arrow 295.
  • the block 286 may comprise the inherited partitioning parameter‘B*’ 292.
  • the inherited partitioning parameter‘B*’ 292 may be a copy of partitioning parameter ⁇ ’ 294 of the further block 285. Additionally or alternatively, block 286 may access partitioning parameter‘B’ 294 by means of referencing.
  • the block 286 may be partitioned along the splitting tree 13 by using the inherited partitioning parameter‘B*’ that has been inherited from the previously coded further block 285.
  • an encoder 10 is provided for block-based encoding a picture 12s, 12ti, 12t 2 into a data stream 14 using at least one of a spatial intra-prediction and a temporal inter-prediction coding.
  • the encoder 10 is configured to partition the picture 12s, 12ti, 12t 2 along a splitting tree 13 from a tree root block 284, 285, 286 into one or more leaf blocks using recursive multi-tree partitioning, similar to the encoder 10 as explained above with reference to Figure 14.
  • the recursive multi-tree partitioning is based on one or more partitioning parameters 291 , 292, 293, 294. If at least one block 286 is encoded by means of spatial intra-prediction, the encoder 10 is configured to inherit one or more partitioning parameters 294 from a further block 285 in the spatial vicinity of the at least one block 286, and to use said inherited one or more partitioning parameters 292 for partitioning said at least one block 286 in the recursive multitree partitioning.
  • the encoder 10 is configured to inherit one or more partitioning parameters 294 from a further block 285 in the temporal vicinity of the at least one block 286, and to use said inherited one or more partitioning parameters 292 for partitioning the at least one block 286 in the recursive multi-tree partitioning.
  • the encoder 10 is configured to signal in the data stream 14 that one or more inherited partitioning parameters 294 are used for partitioning the at least one block 286.
  • the corresponding decoder 1 10 may be instructed to infer, for at least one block 286, one or more partitioning parameters 292 of a block 285 from its local neighborhood.
  • the decoder 1 10 may use one or more inherited partitioning parameters 292, which are inherited from a further block 285 in the spatial or temporal vicinity, for performing the multi-tree partitioning of the at least one block 286.
  • one or more partitioning parameters 292 of the at least one current block 286 may be derived from the previously coded further block 285, e.g. in the spatial or temporal vicinity of the at least one current block 286.
  • Such an inference may also be referred to as inheritance, and the one or more partitioning parameters 292 which are derived or inferred from the previously coded further block 285 may also be referred to as inherited partitioning parameters.
  • the above mentioned signaling in the data stream 14 may indicate whether such inference or inheritance, respectively, is used over default partitioning using one or more default partitioning parameters of the picture 12s, 12ti , 12t 2 or sub-picture region (e.g. slices, tiles, blocks, etc.).
  • a decoder 1 10 for block-based decoding a picture 12s, 12ti, 12t 2 from a data stream 14 using at least one of a spatial intra-prediction and a temporal inter-prediction coding.
  • the decoder 110 is configured to partition the picture 12s, 12ti, 12t 2 along a splitting tree 13 from a tree root block 284, 285, 286 into one or more leaf blocks using recursive multitree partitioning, which may be comparable to the decoder 110 as described above with reference to Figure 15.
  • the recursive multi-tree partitioning is based on one or more partitioning parameters 291 , 292, 293, 294.
  • the decoder 1 10 may be configured to use, based on the above mentioned signaling in the data stream 14, one or more inherited partitioning parameters 292 for partitioning the at least one block 286, which inherited one or more partitioning parameters 292 are inherited from a further block 285 in the spatial vicinity of the at least one block 286.
  • the decoder 1 10 is configured to use, based on the above mentioned signaling in the data stream 14, one or more inherited partitioning parameters 292 for partitioning the at least one block 286, which inherited one or more partitioning parameters 292 are inherited from a further block 285 in the temporal vicinity of the at least one block 286.
  • One example of this technique would be to optionally infer min/max tree depths from the partitioning trees of the spatial and/or temporal neighboring blocks 285 if advantageous.
  • a first signaling on CTU level may indicate whether such inference is used over default partitioning parameters of the picture or subpicture.
  • the one or more partitioning parameters 291 , 292, 293, 294 may comprise a predetermined (e.g. min/max) tree depth of the splitting tree 13 for partitioning the at least one block 286, wherein the encoder 10 may be configured to inherit from the further block 286 in the spatial vicinity or from the further block 268 in the temporal vicinity a predetermined tree depth 294 of a further splitting tree that is for partitioning the further block 286 in the spatial or temporal vicinity.
  • the encoder 10 may further be configured to use said inherited predetermined tree depth 292 in the splitting tree for partitioning the at least one block 286.
  • the encoder 10 may be configured to use an inherited partitioning parameter 292, i.e. the inherited tree depth of the splitting tree belonging to the previously coded further block 285, instead for partitioning the current at least one block 286.
  • the default partitioning parameter e.g. a predetermined (e.g. min/max) tree depth
  • the encoder 10 may be configured to use an inherited partitioning parameter 292, i.e. the inherited tree depth of the splitting tree belonging to the previously coded further block 285, instead for partitioning the current at least one block 286.
  • the decoder 1 10 may derive from the signaling in the data stream 14 whether to use the default tree depth or the inherited tree depth 292 instead.
  • the one or more partitioning parameters 291 , 292, 293, 294 may comprise a predetermined (e.g. min/max) tree depth of the splitting tree 13 for partitioning the at least one block 286, wherein the decoder 1 10 may be configured to, based on the signaling in the data stream 14, inherit from the further block 285 in the spatial vicinity or from the further block 285 in the temporal vicinity a predetermined tree depth of a further splitting tree that is for partitioning the further block 285 in the spatial or temporal vicinity, and to use said inherited predetermined (e.g. min/max) tree depth 292 in the splitting tree 13 for partitioning the at least one block 286.
  • a predetermined (e.g. min/max) tree depth of the splitting tree 13 for partitioning the at least one block 286, wherein the decoder 1 10 may be configured to, based on the signaling in the data stream 14, inherit from the further block 285 in the spatial vicinity or from the further block 285 in the temporal vicinity a predetermined tree depth of a further splitting tree
  • the signaling in the data stream 14 may be done at a tree root block level, e.g. on CTU level.
  • the encoder 10 may be configured to signal, at a root node partitioning level (e.g. CTU level) in the splitting tree 13, that the one or more inherited partitioning parameters 292 are used for partitioning the at least one block 286 instead of one or more default partitioning parameters.
  • a root node partitioning level e.g. CTU level
  • the decoder 1 10 may also derive said signaling in the data stream 14 at a tree root block level, e.g. on CTU level.
  • the decoder 1 10 may be configured to obtain the signaling from the data stream 14, at a root node partitioning level (e.g. CTU level) of the splitting tree 13, signaling that one or more inherited partitioning parameters 292 of the further block 285 in the spatial or temporal vicinity are used as the one or more partitioning parameters for partitioning the at least one block 286 instead of one or more default partitioning parameters.
  • a root node partitioning level e.g. CTU level
  • partitioning parameters 294, 295 of the neighboring blocks 285 into a set of partitioning parameter candidates.
  • the set could also include mixtures/generalization/relaxations of some of the included candidates.
  • the partitioning of the current block 286 could activate one of the partitioning parameter set candidates by reference through an index. Alternatively, the current block 286 could be partitioned using the most probable set out of the candidates as defined by other means.
  • both the encoder 10 and the decoder 1 10 may be configured to access a set of inheritance partitioning parameter candidates comprising one or more partitioning parameters 294, 295 of the further block 285 in the spatial vicinity and/or one or more partitioning parameters 294, 295 of the further block 285 in the temporal vicinity.
  • both the encoder 10 and the decoder 1 10 may be configured to select at least one 294 of the partitioning parameters 294, 295 contained in the set of inheritance partitioning parameter candidates, and to use said selected one 294 of the partitioning parameters from the set of inheritance partitioning parameter candidates as a partitioning parameter for partitioning the at least one block 286.
  • the selected one partitioning parameter 294 may be inherited and may, thus, become the inherited partitioning parameter 292, as depicted in Figure 28.
  • means for signaling may be required that indicate whether the sub-picture partitioning parameters through regions (defined for instance in parameter sets) are to be interpreted as to be applied to all CTUs or whether some CTUs (e.g. in the region borders) can inherit partitioning information from its neighboring CTUs that belong to another region (described inference/inheritance above).
  • the encoder 10 may be configured to partition the picture 12s, 12ti, 12t 2 into a multitude of root blocks 284, 285, 286, each of which comprising one or more own partitioning parameters 291 , 293, 294, which may be non-inherited default partitioning parameters.
  • the encoder 10 may be configured to signal an indication in the data stream 14 for indicating whether all root blocks of the multitude of root blocks 284, 285, 286 are partitioned by using their one or more own partitioning parameters 291 , 293, 294, or whether at least one root block 286 of the multitude of root blocks 284, 285, 286 is partitioned using one or more inherited partitioning parameters 292 being inherited from a further root block 285 in the temporal or spatial vicinity of the at least one root block 286, wherein the one or more inherited partitioning parameters 292 are used instead of the one or more own partitioning parameters for partitioning the at least one root block 286.
  • the decoder 110 may be configured to obtain a respective signaling comprising the above mentioned indication from the data stream 14, and the decoder 110 may then accordingly use the one or more inherited partitioning parameters 292 instead of one or more default partitioning parameters (also referred to as“own partitioning parameters").
  • the decoder 1 10 may be configured to partition the picture 12s, 12ti, 12t 2 into a multitude of root blocks 284, 285, 286, each of which comprising one or more own partitioning parameters 291 , 293, 294, which may be non-inherited default partitioning parameters.
  • the decoder 110 may be configured to obtain the above mentioned indication from the data stream 14 indicating whether all root blocks of the multitude of root blocks 284, 285, 286 are partitioned by using their one or more own partitioning parameters 291 , 293, 294, or whether at least one root block 286 of the multitude of root blocks 284, 285, 286 is partitioned using one or more inherited partitioning parameters 292 being inherited from a further root block 285 in the temporal or spatial vicinity of the at least one root block 286, wherein the one or more inherited partitioning parameters 292 are used instead of the one or more own partitioning parameters for partitioning the at least one root block 286.
  • Another embodiment would be to define a parameter that signals the number of CTUs at the border of the region for which syntax is present that allows for selecting between partitioning parameters of a neighboring CTU and default partitioning parameters of the corresponding region/subpicture.
  • the encoder 10 may be configured to partition the picture 12s, 12ti, 12t 2 into a multitude of root blocks 284, 285, 286, and to signal an indication in the data stream 14 for indicating a number of root blocks which are partitioned using one or more inherited partitioning parameters 292 being inherited from a further root block 285 in the temporal or spatial vicinity.
  • the decoder 110 may be configured to obtain said indication from the data stream 14 to derive the number of blocks, e.g. CTUs, which are partitioned by using inherited partitioning parameters 292.
  • the decoder 1 10 may be configured to partition the picture 12s, 12ti, 12t 2 into a multitude of root blocks 284, 285, 286, and to obtain an indication from the data stream 14 which indicates a number of root blocks which are partitioned using one or more inherited partitioning parameters 292 being inherited from a further root block 285 in the temporal or spatial vicinity.
  • ATS and TTS could be maintained per temporal layer.
  • Figure 29 shows a block diagram of a method for encoding a picture 12s, 12ti, 12t 2 into the data stream 14 in accordance with the above described concept.
  • the picture 12s, 12ti, 12t 2 is partitioned along a splitting tree 13 from a tree root block 284, 285, 286 into one or more leaf blocks using recursive multi-tree partitioning, wherein the recursive multi-tree partitioning is based on one or more partitioning parameters 291 , 292, 293, 294.
  • At least one block 286 is encoded by means of spatial intra- prediction
  • one or more partitioning parameters are inherited from a further block 285 in the spatial vicinity of the at least one block 286, and said inherited partitioning parameters 292 are used for partitioning said at least one block 286 in the recursive multi-tree partitioning.
  • one or more partitioning parameters are inherited from a further block 285 in the temporal vicinity of the at least one block 286, and said inherited partitioning parameters 292 are used for partitioning the at least one block 286 in the recursive multi- tree partitioning.
  • one or more inherited partitioning parameters 292 are used for partitioning the at least one block 286, as shown in method block 2904.
  • Figure 30 shows a block diagram of a corresponding method for decoding the picture 12s, 12ti, 12t 2 from the data stream 14 in accordance with the above described concept.
  • the picture 12s, 12ti, 12t 2 is partitioned along a splitting tree 13 from a tree root block 284, 285, 286 into one or more leaf blocks using recursive multi-tree partitioning, wherein the recursive multi-tree partitioning is based on one or more partitioning parameters 291 , 292, 293, 294. It is then differentiated whether a block is coded using spatial intra-prediction or temporal inter-prediction.
  • the method comprises a step of using, based on a signaling in the data stream 14, one or more inherited partitioning parameters 292 for partitioning the at least one block
  • the method comprises a step of using, based on a signaling in the data stream 14, one or more inherited partitioning parameters 292 for partitioning the at least one block
  • Block-based encoder for encoding a picture into a data stream, wherein the
  • encoder is configured to
  • Block-based decoder for decoding a picture from a data stream, wherein the
  • decoder is configured to partition the picture into one or more leaf blocks using recursive multi-tree partitioning along a splitting tree into leaf blocks, a height and a width of which in number of samples is a power of two,
  • aspects have been described in the context of an apparatus, it is clear that these aspects also represent a description of the corresponding method, where a block or device corresponds to a method step or a feature of a method step. Analogously, aspects described in the context of a method step also represent a description of a corresponding block or item or feature of a corresponding apparatus.
  • Some or all of the method steps may be executed by (or using) a hardware apparatus, like for example, a microprocessor, a programmable computer or an electronic circuit. In some embodiments, one or more of the most important method steps may be executed by such an apparatus.
  • embodiments of the invention can be implemented in hardware or in software or at least partially in hardware or at least partially in software.
  • the implementation can be performed using a digital storage medium, for example a floppy disk, a DVD, a Blu-Ray, a CD, a ROM, a PROM, an EPROM, an EEPROM or a FLASH memory, having electronically readable control signals stored thereon, which cooperate (or are capable of cooperating) with a programmable computer system such that the respective method is performed. Therefore, the digital storage medium may be computer readable.
  • embodiments of the present invention can be implemented as a computer program product with a program code, the program code being operative for performing one of the methods when the computer program product runs on a computer.
  • the program code may for example be stored on a machine readable carrier.
  • inventions comprise the computer program for performing one of the methods described herein, stored on a machine readable carrier.
  • an embodiment of the inventive method 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.
  • a further embodiment of the inventive methods is, therefore, a data carrier (or a digital storage medium, or a computer-readable medium) comprising, recorded thereon, the computer program for performing one of the methods described herein.
  • the data carrier, the digital storage medium or the recorded medium are typically tangible and/or non-transitory.
  • 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 the sequence of signals may for example be configured to be transferred via a data communication connection, for example via the Internet.
  • a further 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.
  • a processing means for example a computer, or a programmable logic device, configured to or adapted to perform one of the methods described herein.
  • a further embodiment comprises a computer having installed thereon the computer program for performing one of the methods described herein.
  • a further embodiment according to the invention comprises an apparatus or a system configured to transfer (for example, electronically or optically) a computer program for performing one of the methods described herein to a receiver.
  • the receiver may, for example, be a computer, a mobile device, a memory device or the like.
  • the apparatus or system may, for example, comprise a file server for transferring the computer program to the receiver.
  • a programmable logic device for example a field programmable gate array
  • a field programmable gate array may cooperate with a microprocessor in order to perform one of the methods described herein.
  • the methods are preferably performed by any hardware apparatus.
  • the apparatus described herein may be implemented using a hardware apparatus, or using a computer, or using a combination of a hardware apparatus and a computer.
  • the methods described herein may be performed using a hardware apparatus, or using a computer, or using a combination of a hardware apparatus and a computer.
  • ITU-T and I SO/I EC High efficiency video coding.
  • ITU-T and ISO/IEC Advanced video coding for audiovisual services.

Abstract

La présente invention concerne des concepts de partitionnement pour le partitionnement de blocs en codage d'image à base de blocs. En particulier, la présente invention concerne des concepts pour le codage d'image à base de blocs, lesquels concepts fournissent une solution au compromis entre efficacité de signalisation et flexibilité de codage et au compromis entre efficacité de codage et complexité de codage. L'invention porte sur des codeurs, des décodeurs, des procédés de codage, des procédés de décodage et des produits programmes d'ordinateur respectifs correspondants.
PCT/EP2019/057891 2018-03-29 2019-03-28 Concepts de partitionnement pour codage d'image à base de blocs WO2019185815A1 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP18165249.6 2018-03-29
EP18165249 2018-03-29

Publications (1)

Publication Number Publication Date
WO2019185815A1 true WO2019185815A1 (fr) 2019-10-03

Family

ID=61868359

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2019/057891 WO2019185815A1 (fr) 2018-03-29 2019-03-28 Concepts de partitionnement pour codage d'image à base de blocs

Country Status (1)

Country Link
WO (1) WO2019185815A1 (fr)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020044254A1 (fr) * 2018-08-28 2020-03-05 Beijing Bytedance Network Technology Co., Ltd. Binarisation de partitionnement associé à un arbre quaternaire étendu
US20210360243A1 (en) * 2019-02-03 2021-11-18 Beijing Bytedance Network Technology Co., Ltd. Condition-dependent unsymmetrical quad-tree partitioning
WO2021253373A1 (fr) * 2020-06-19 2021-12-23 Alibaba Group Holding Limited Partitionnement géométrique probabiliste en codage de vidéo
US20220046239A1 (en) * 2018-12-18 2022-02-10 Mediatek Inc. Method and Apparatus of Encoding or Decoding Video Blocks with Constraints during Block Partitioning
US11336890B2 (en) 2018-07-09 2022-05-17 Fraunhofer-Gesellschaft Zur Forderung Der Angewandten Forschung E.V. Encoder and decoder, encoding method and decoding method for versatile spatial partitioning of coded pictures
WO2022174701A1 (fr) * 2021-02-21 2022-08-25 腾讯科技(深圳)有限公司 Procédé et appareil de codage vidéo, procédé et appareil de décodage vidéo, support lisible par ordinateur et dispositif électronique

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180063528A1 (en) * 2014-12-10 2018-03-01 Mediatek Singapore Pte. Ltd. Method of Video Coding Using Binary Tree Block Partitioning
US20180109812A1 (en) * 2016-10-14 2018-04-19 Media Tek Inc. Block partitioning using tree structures
US20180199072A1 (en) * 2017-01-06 2018-07-12 Qualcomm Incorporated Multi-type-tree framework for video coding

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180063528A1 (en) * 2014-12-10 2018-03-01 Mediatek Singapore Pte. Ltd. Method of Video Coding Using Binary Tree Block Partitioning
US20180109812A1 (en) * 2016-10-14 2018-04-19 Media Tek Inc. Block partitioning using tree structures
US20180199072A1 (en) * 2017-01-06 2018-07-12 Qualcomm Incorporated Multi-type-tree framework for video coding

Non-Patent Citations (7)

* Cited by examiner, † Cited by third party
Title
"Advanced video coding for audiovisual services. ITU-T Recommendation H.264", 2003
"High efficiency video coding. ITU-T Recommendation H.265", 2013
"HIGH EFFICIENCY VIDEO CODING. ITU-T RECOMMENDATION H.265", 2014
F. LE L6ANNEC; T. POIRIER; F. URBAN: "Asymmetric Coding Units in QTBT, JVET", JVET-D0064, October 2016 (2016-10-01)
J. CHEN; E. ALSHINA; G.J. SULLIVAN; J.-R. OHM; J. BOYCE: "Algorithm Description of Joint Exploration Test Model 6 (JEM 6), JVET, doc.", JVET-F1001, April 2017 (2017-04-01)
LI X ET AL: "Multi-Type-Tree", 4. JVET MEETING; 15-10-2016 - 21-10-2016; CHENGDU; (THE JOINT VIDEO EXPLORATION TEAM OF ISO/IEC JTC1/SC29/WG11 AND ITU-T SG.16 ); URL: HTTP://PHENIX.INT-EVRY.FR/JVET/,, no. JVET-D0117-v3, 20 October 2016 (2016-10-20), XP030150367 *
X. LI; H.-C. CHUANG; J. CHEN; M. KARCZEWICZ; L. ZHANG; X. ZHAO; A. SAID: "Multi-Type-Tree, JVET", JVET-D0117, October 2016 (2016-10-01)

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11336890B2 (en) 2018-07-09 2022-05-17 Fraunhofer-Gesellschaft Zur Forderung Der Angewandten Forschung E.V. Encoder and decoder, encoding method and decoding method for versatile spatial partitioning of coded pictures
US11770528B2 (en) 2018-07-09 2023-09-26 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Encoder and decoder, encoding method and decoding method for versatile spatial partitioning of coded pictures
WO2020044254A1 (fr) * 2018-08-28 2020-03-05 Beijing Bytedance Network Technology Co., Ltd. Binarisation de partitionnement associé à un arbre quaternaire étendu
WO2020044255A1 (fr) * 2018-08-28 2020-03-05 Beijing Bytedance Network Technology Co., Ltd. Codage de contexte dans le partitionnement avec un arbre quaternaire étendu
WO2020044253A1 (fr) * 2018-08-28 2020-03-05 Beijing Bytedance Network Technology Co., Ltd. Élimination par redondance de procédés de partitionnement
US11632575B2 (en) 2018-08-28 2023-04-18 Beijing Bytedance Network Technology Co., Ltd. Binarization of partitioning related to extended quadtree
US20220046239A1 (en) * 2018-12-18 2022-02-10 Mediatek Inc. Method and Apparatus of Encoding or Decoding Video Blocks with Constraints during Block Partitioning
US11589050B2 (en) * 2018-12-18 2023-02-21 Hfi Innovation Inc. Method and apparatus of encoding or decoding video blocks with constraints during block partitioning
US11870991B2 (en) 2018-12-18 2024-01-09 Hfi Innovation Inc. Method and apparatus of encoding or decoding video blocks with constraints during block partitioning
US20210360243A1 (en) * 2019-02-03 2021-11-18 Beijing Bytedance Network Technology Co., Ltd. Condition-dependent unsymmetrical quad-tree partitioning
WO2021253373A1 (fr) * 2020-06-19 2021-12-23 Alibaba Group Holding Limited Partitionnement géométrique probabiliste en codage de vidéo
WO2022174701A1 (fr) * 2021-02-21 2022-08-25 腾讯科技(深圳)有限公司 Procédé et appareil de codage vidéo, procédé et appareil de décodage vidéo, support lisible par ordinateur et dispositif électronique

Similar Documents

Publication Publication Date Title
US11785229B2 (en) Picture coding supporting block partitioning and block merging
KR102551731B1 (ko) 화면 내 예측을 이용한 영상 부호화/복호화 방법 및 장치
WO2019185815A1 (fr) Concepts de partitionnement pour codage d'image à base de blocs
CN110393011B (zh) 用于视频编解码中具有帧内方向预测模式的内含帧内编解码工具设定的方法和装置
US11252403B2 (en) Method for encoding/decoding image signal and device for same
DK2559246T3 (en) Fusion of sample areas
US20230109828A1 (en) Image encoding/decoding methods and apparatuses
DK2991355T3 (en) Inheritance in sampler array multitree subdivision
KR20210003125A (ko) 종속 양자화
TWI830012B (zh) 圖片編碼的裝置和方法
KR20090057225A (ko) 감소된 해상도의 파티셔닝을 위한 방법 및 장치
AU2014202682A1 (en) Method, apparatus and system for copying a block of video samples
TWI731361B (zh) 依賴形狀的幀內編碼
JP2022538160A (ja) イントラ下位区分のためのコーディングを含むデコーダ、エンコーダ、および方法
US11146789B2 (en) Apparatus and method for encoding and decoding a picture using picture boundary handling
JP7399973B2 (ja) イントラ予測ベースのビデオ信号処理方法及び装置
WO2020164480A1 (fr) Partition de bloc vidéo dépendant de l'état
KR20200007671A (ko) 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체
CN113711602A (zh) 视频压缩中的非二次幂分割树的使用的限制
CN113812160A (zh) 用于屏幕内容编解码的最大可能模式列表构建
US20230007252A1 (en) Coding Concepts for a Transformed Representation of a Sample Block

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 19712794

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 19712794

Country of ref document: EP

Kind code of ref document: A1