Wedgelet-based coding concept
Wedgelet-based coding for coding blocks of varying size is rendered more efficient by the usage of a variable length coded syntax element having a prefix and a suffix, wherein the size of the suffix is dependent on the prefix and the size of the current coding block. By this measure, it is feasible to efficiently adapt the length of the variable-length coded syntax element which controls the bi-partitioning of the current coding block to the actual needs, namely the size, of the current coding block, and the variability of the bi-partitioning by varying the wedglet separation line, respectively. The greater the current coding block is, the longer the variable-length coded syntax element may be. This length dependency may even be sufficiently effective in terms of coding efficiency so that the variable length coded syntax element may be coded without context-adaptive entropy coding, but directly or using fixed-equal-probability binary entropy coding.
1 . A decoder, comprising:
a processor;
a reader configured to read, using the processor, one or more coded syntax elements from a data stream, the one or more coded syntax elements indicating a direction and an offset of a wedgelet separation line for a current coding block;
a wedgelet bi-partitioner configured to, using the processor:
determine a bi-partitioning of the current coding block into two wedgelets along the wedgelet separation line having the direction and the offset indicated by the one or more coded syntax elements,
associate each sample of the current coding block with one of the two wedgelets, and
assign at least one constant value to samples associated with at least one of the two wedgelets; and
a reconstructor configured to, using the processor, reconstruct the current coding block in accordance with the bi-partitioning based on the at least one constant value.
2 . The decoder according to claim 1 , wherein the wedgelet bi-partitioner is configured to determine the bi-partitioning by performing a table lookup based on the direction, the offset, and a size of the current coding block.
3 . The decoder according to claim 1 , wherein the decoder is a hybrid decoder configured to use the reconstruction of the current coding block as a prediction residual of a prediction signal.
4 . The decoder according to claim 1 , wherein the current coding block is a coding block of a depth map.
5 . The decoder according to claim 1 , wherein the decoder is a multi-view video plus depth decoder.
6 . The decoder according to claim 1 , wherein the wedgelet bi-partitioner is configured to:
obtain a wedgelet pattern from a lookup table; and
associate each sample of the current coding block with one of the two wedgelets in accordance with the wedgelet pattern.
7 . The decoder according to claim 6 , wherein:
the lookup table is a three-dimensional data structure; and
the wedgelet pattern is obtained from the lookup table using a three-dimensional index represented by a size of the current coding block, the direction, and the offset of the wedgelet separation line.
8 . The decoder according to claim 1 , wherein the reconstructor is configured to:
spatially predict constant values for the two wedgelets based on an averaging process;
refine the predicted constant values; and
fill the two wedgelets using the refined constant values.
9 . The decoder according to claim 8 , wherein spatially predicting the constant values comprises:
spatially predicting a first constant value assigned to samples associated with a first wedgelet of the two wedgelets, using already decoded samples neighboring the first wedgelet; and
spatially predicting a second constant value assigned to samples associated with a second wedgelet of the two wedgelets, using already decoded samples neighboring the second wedgelet.
10 . The decoder according to claim 8 , wherein refining the predicted constant values comprises:
determining, from the data stream, a residual signal for each sample in the two wedgelets; and
refining the predicted constant values using the residual signal for each sample in the two wedgelets.
11 . An encoder, comprising:
a processor;
a writer configured to, using the processor, write one or more syntax elements into a data stream, the one or more syntax elements indicating a direction and an offset of a wedgelet separation line for a current coding block;
a wedgelet bi-partitioner configured to, using the processor:
determine a bi-partitioning of the current coding block into two wedgelets along the wedgelet separation line having the direction and the offset indicated by the one or more coded syntax elements,
associate each sample of the current coding block with one of the two wedgelets, and
assign at least one constant value to samples associated with at least one of the two wedgelets; and
a coder configured to, using the processor, encode the current coding block in accordance with the bi-partitioning based on the at least one constant value.
12 . The encoder according to claim 11 , wherein the wedgelet bi-partitioner is configured to determine the bi-partitioning by performing a table lookup based on the direction, the offset, and a size of the current coding block.
13 . The encoder according to claim 11 , wherein the current coding block is a coding block of a depth map.
14 . The encoder according to claim 11 , wherein the wedgelet bi-partitioner is configured to:
obtain a wedgelet pattern from a lookup table; and
associate each sample of the current coding block with one of the two wedgelets in accordance with the wedgelet pattern.
15 . The encoder according to claim 14 , wherein:
the lookup table is a three-dimensional data structure; and
the wedgelet pattern is obtained from the lookup table using a three-dimensional index represented by a size of the current coding block, the direction, and the offset of the wedgelet separation line.
16 . The encoder according to claim 11 , wherein the offset of the wedgelet separation line for the current coding block is derived based on a size of the current coding block.
17 . A method, comprising:
reading one or more coded syntax elements from a data stream, the one or more coded syntax elements indicating a direction and an offset of a wedgelet separation line for a current coding block;
determining a bi-partitioning of the current coding block into two wedgelets along the wedgelet separation line having the direction and the offset indicated by the one or more coded syntax elements;
associating each sample of the current coding block with one of the two wedgelets;
assigning at least one constant value to samples associated with at least one of the two wedgelets; and
reconstructing the current coding block in accordance with the bi-partitioning based on the at least one constant value.
18 . The method according to claim 17 , wherein reconstructing the current coding block comprises:
spatially predicting constant values for the two wedgelets based on an averaging process;
refining the predicted constant values; and
filling the two wedgelets using the refined constant values.
19 . The method according to claim 18 , wherein spatially predicting the constant values comprises:
spatially predicting a first constant value assigned to samples associated with a first wedgelet of the two wedgelets, using already decoded samples neighboring the first wedgelet; and
spatially predicting a second constant value assigned to samples associated with a second wedgelet of the two wedgelets, using already decoded samples neighboring the second wedgelet.
20 . The method according to claim 18 , wherein refining the predicted constant values comprises:
determining, from the data stream, a residual signal for each sample in the two wedgelets; and
refining the predicted constant values using the residual signal for each sample in the two wedgelets.