Abstract: A video encoder (101) according to embodiments is provided. The video encoder (101) is configured for encoding a plurality of pictures of a video by generating an encoded video signal, wherein each of the plurality of pictures comprises original picture data. The video encoder (101) comprises a data encoder (110) configured for generating the encoded video signal comprising encoded picture data, wherein the data encoder is configured to encode the plurality of pictures of the video into the encoded picture data. Moreover, the video encoder (101) comprises an output interface (120) configured for outputting the encoded picture data of each of the plurality of pictures. Furthermore, a video decoders, systems, methods for encoding and decoding, computer programs and encoded video signals according to embodiments are provided.
Encoder and Decoder, Encoding Method and Decoding Method
with Complexity Handling for Flexibly Sized Picture Partitions
Description
The present invention relates to video encoding and video decoding and, in particular, to an encoder and a decoder, to an encoding method and to a decoding method with complexity handling for flexibly sized picture data.
H.265/HEVC (HEVC = High Efficiency Video Coding) is a video codec which already provides tools for elevating or even enabling parallel processing at an encoder and/or at a decoder. For example, HEVC supports a sub-division of pictures into an array of tiles which are encoded independently from each other. Another concept supported by HEVC pertains to WPP, according to which CTU-rows or CTU-lines of the pictures may be processed in parallel from left to right, e.g. in stripes, provided that some minimum CTU offset is obeyed in the processing of consecutive CTU lines (CTU = coding tree unit). It would be favorable, however, to have a video codec at hand which supports parallel processing capabilities of video encoders and/or video decoders even more efficiently.
In the following, an introduction to VCL partitioning according to the state-of-the-art is described (VCL = video coding layer).
Typically, in video coding, a coding process of picture samples requires smaller partitions, where samples are divided into some rectangular areas for joint processing such as prediction or transform coding. Therefore, a picture is partitioned into blocks of a particular size that is constant during encoding of the video sequence. In H.264/AVC standard fixed-size blocks of 16x16 samples, so called macroblocks, are used (AVC = Advanced Video Coding).
In the state-of-the-art HEVC standard (see [1]), there are Coded Tree Blocks (CTB) or Coding Tree Units (CTU) of a maximum size of 64 x 64 samples. In the further description of HEVC, for such a kind of blocks, the more common term CTU is used.
CTUs are processed in raster scan order, starting with the top-left CTU, processing CTUs in the picture line-wise, down to the bottom-right CTU.
The coded CTU data is organized into a kind of container called slice. Originally, in former video coding standards, slice means a segment comprising one or more consecutive
CTUs of a picture. Slices are employed for a segmentation of coded data. From another point of view, the complete picture can also be defined as one big segment and hence, historically, the term slice is still applied. Besides the coded picture samples, slices also comprise additional information related to the coding process of the slice itself which is placed into a so-called slice header.
According to the state-of-the-art, a VCL (video coding layer) also comprises techniques for fragmentation and spatial partitioning. Such partitioning may, e.g., be applied in video coding for various reasons, among which are processing load-balancing in parallelization, CTU size matching in network transmission, error-mitigation etc.
The object of the present invention is to provide improved concepts for video encoding and video decoding.
The object of the present invention is solved by the subject-matter of the independent claims.
Preferred embodiments are provided in the dependent claims.
In the following, embodiments of the present invention are described in detail with reference to the figures, in which:
Fig. 1 illustrates a video encoder according to an embodiment.
Fig. 2 illustrates a video decoder according to an embodiment.
Fig. 3 illustrates a system according to an embodiment.
Fig. 4 illustrates CTUs affected by displacing a partial CTU creating tile boundary.
Fig. 5 illustrates luma sample per picture compensation from partial CTUs.
Fig. 6 illustrates CTU grid alignment mismatches.
Fig. 7 illustrates a rate of grid mismatch affected CTUs.
Fig. 8 illustrates two sets of tile boundaries.
Fig. 9 illustrates corresponding CTU rows in reference picture after partial CTU in current picture.
Fig. 10 illustrates a video encoder.
Fig. 11 illustrates a video decoder.
Fig. 12 illustrates the relationship between the reconstructed signal, i.e. the reconstructed picture, on the one hand, and the combination of the prediction residual signal as signaled in the data stream, and the prediction signal, on the other hand.
Fig. 13 illustrates picture segmentation with slices in raster scan order.
Fig. 14 illustrates picture partitioning with tiles.
The following description of the figures starts with a presentation of a description of an encoder and a decoder of a block-based predictive codec for coding pictures of a video in order to form an example for a coding framework into which embodiments of the present invention may be built in. The respective encoder and decoder are described with respect to Fig. 10 to Fig. 12. Thereinafter the description of embodiments of the concept of the present invention is presented along with a description as to how such concepts could be built into the encoder and decoder of Fig. 10 and Fig. 11 , respectively, although the embodiments described with Fig. 1 to Fig. 3 and following, may also be used to form encoders and decoders not operating according to the coding framework underlying the encoder and decoder of Fig. 10 and Fig. 1 1.
Fig. 10 shows a video encoder, an apparatus for predictively coding a picture 12 into a data stream 14 exemplarily using transform-based residual coding. The apparatus, or encoder, is indicated using reference sign 10. Fig. 11 shows a corresponding video decoder 20, i.e. an apparatus 20 configured to predictively decode the picture 12’ from the data stream 14 also using transform-based residual decoding, wherein the apostrophe has been used to indicate that the picture 12’ as reconstructed by the decoder 20 deviates from picture 12 originally encoded by apparatus 10 in terms of coding loss introduced by a quantization of the prediction residual signal. Fig. 10 and Fig. 11 exemplarily use transform based prediction residual coding, although embodiments of the present
application are not restricted to this kind of prediction residual coding. This is true for other details described with respect to Fig. 10 and Fig. 1 1 , too, as will be outlined hereinafter.
The encoder 10 is configured to subject the prediction residual signal to spatial-to-spectral transformation and to encode the prediction residual signal, thus obtained, into the data stream 14. Likewise, the decoder 20 is configured to decode the prediction residual signal from the data stream 14 and subject the prediction residual signal thus obtained to spectral-to-spatial transformation.
Internally, the encoder 10 may comprise a prediction residual signal former 22 which generates a prediction residual 24 so as to measure a deviation of a prediction signal 26 from the original signal, i.e. from the picture 12. The prediction residual signal former 22 may, for instance, be a subtractor which subtracts the prediction signal from the original signal, i.e. from the picture 12. The encoder 10 then further comprises a transformer 28 which subjects the prediction residual signal 24 to a spatial-to-spectral transformation to obtain a spectral-domain prediction residual signal 24’ which is then subject to quantization by a quantizer 32, also comprised by the encoder 10. The thus quantized prediction residual signal 24” is coded into bitstream 14. To this end, encoder 10 may optionally comprise an entropy coder 34 which entropy codes the prediction residual signal as transformed and quantized into data stream 14. The prediction signal 26 is generated by a prediction stage 36 of encoder 10 on the basis of the prediction residual signal 24” encoded into, and decodable from, data stream 14. To this end, the prediction stage 36 may internally, as is shown in Fig. 10, comprise a dequantizer 38 which dequantizes prediction residual signal 24” so as to gain spectral-domain prediction residual signal 24’”, which corresponds to signal 24’ except for quantization loss, followed by an inverse transformer 40 which subjects the latter prediction residual signal 24”’ to an inverse transformation, i.e. a spectral-to-spatial transformation, to obtain prediction residual signal 24””, which corresponds to the original prediction residual signal 24 except for quantization loss. A combiner 42 of the prediction stage 36 then recombines, such as by addition, the prediction signal 26 and the prediction residual signal 24”” so as to obtain a reconstructed signal 46, i.e. a reconstruction of the original signal 12. Reconstructed signal 46 may correspond to signal 12’. A prediction module 44 of prediction stage 36 then generates the prediction signal 26 on the basis of signal 46 by using, for instance, spatial prediction, i.e. intra-picture prediction, and/or temporal prediction, i.e. inter-picture prediction.
Likewise, decoder 20, as shown in Fig. 1 1 , may be internally composed of components corresponding to, and interconnected in a manner corresponding to, prediction stage 36.
In particular, entropy decoder 50 of decoder 20 may entropy decode the quantized spectral-domain prediction residual signal 24” from the data stream, whereupon dequantizer 52, inverse transformer 54, combiner 56 and prediction module 58, interconnected and cooperating in the manner described above with respect to the modules of prediction stage 36, recover the reconstructed signal on the basis of prediction residual signal 24” so that, as shown in Fig. 11 , the output of combiner 56 results in the reconstructed signal, namely picture 12’.
Although not specifically described above, it is readily clear that the encoder 10 may set some coding parameters including, for instance, prediction modes, motion parameters and the like, according to some optimization scheme such as, for instance, in a manner optimizing some rate and distortion related criterion, i.e. coding cost. For example, encoder 10 and decoder 20 and the corresponding modules 44, 58, respectively, may support different prediction modes such as intra-coding modes and inter-coding modes. The granularity at which encoder and decoder switch between these prediction mode types may correspond to a subdivision of picture 12 and 12’, respectively, into coding segments or coding blocks. In units of these coding segments, for instance, the picture may be subdivided into blocks being intra-coded and blocks being inter-coded. Intra-coded blocks are predicted on the basis of a spatial, already coded/decoded neighborhood of the respective block as is outlined in more detail below. Several intracoding modes may exist and be selected for a respective intra-coded segment including directional or angular intra-coding modes according to which the respective segment is filled by extrapolating the sample values of the neighborhood along a certain direction which is specific for the respective directional intra-coding mode, into the respective intra-coded segment. The intra-coding modes may, for instance, also comprise one or more further modes such as a DC coding mode, according to which the prediction for the respective intra-coded block assigns a DC value to all samples within the respective intra-coded segment, and/or a planar intra-coding mode according to which the prediction of the respective block is approximated or determined to be a spatial distribution of sample values described by a two-dimensional linear function over the sample positions of the respective intra-coded block with driving tilt and offset of the plane defined by the two-dimensional linear function on the basis of the neighboring samples. Compared thereto, inter-coded blocks may be predicted, for instance, temporally. For inter-coded blocks, motion vectors may be signaled within the data stream, the motion vectors indicating the spatial displacement of the portion of a previously coded picture of the video to which picture 12 belongs, at which the previously coded/decoded picture is sampled in order to obtain the prediction signal for the respective inter-coded block. This means, in addition to the residual signal coding comprised by data stream 14, such as the entropy-coded
transform coefficient levels representing the quantized spectral-domain prediction residual signal 24”, data stream 14 may have encoded thereinto coding mode parameters for assigning the coding modes to the various blocks, prediction parameters for some of the blocks, such as motion parameters for inter-coded segments, and optional further parameters such as parameters for controlling and signaling the subdivision of picture 12 and 12’, respectively, into the segments. The decoder 20 uses these parameters to subdivide the picture in the same manner as the encoder did, to assign the same prediction modes to the segments, and to perform the same prediction to result in the same prediction signal.
Fig. 12 illustrates the relationship between the reconstructed signal, i.e. the reconstructed picture 12’, on the one hand, and the combination of the prediction residual signal 24”” as signaled in the data stream 14, and the prediction signal 26, on the other hand. As already denoted above, the combination may be an addition. The prediction signal 26 is illustrated in Fig. 12 as a subdivision of the picture area into intra-coded blocks which are illustratively indicated using hatching, and inter-coded blocks which are illustratively indicated not-hatched. The subdivision may be any subdivision, such as a regular subdivision of the picture area into rows and columns of square blocks or non-square blocks, or a multi-tree subdivision of picture 12 from a tree root block into a plurality of leaf blocks of varying size, such as a quadtree subdivision or the like, wherein a mixture thereof is illustrated in Fig. 12 in which the picture area is first subdivided into rows and columns of tree root blocks which are then further subdivided in accordance with a recursive multi-tree subdivisioning into one or more leaf blocks.
Again, data stream 14 may have an intra-coding mode coded thereinto for intra-coded blocks 80, which assigns one of several supported intra-coding modes to the respective intra-coded block 80. For inter-coded blocks 82, the data stream 14 may have one or more motion parameters coded thereinto. Generally speaking, inter-coded blocks 82 are not restricted to being temporally coded. Alternatively, inter-coded blocks 82 may be any block predicted from previously coded portions beyond the current picture 12 itself, such as previously coded pictures of a video to which picture 12 belongs, or picture of another view or an hierarchically lower layer in the case of encoder and decoder being scalable encoders and decoders, respectively.
The prediction residual signal 24”” in Fig. 12 is also illustrated as a subdivision of the picture area into blocks 84. These blocks might be called transform blocks in order to distinguish same from the coding blocks 80 and 82. In effect, Fig. 12 illustrates that encoder 10 and decoder 20 may use two different subdivisions of picture 12 and picture
12’, respectively, into blocks, namely one subdivisioning into coding blocks 80 and 82, respectively, and another subdivision into transform blocks 84. Both subdivisions might be the same, i.e. each coding block 80 and 82, may concurrently form a transform block 84, but Fig. 12 illustrates the case where, for instance, a subdivision into transform blocks 84 forms an extension of the subdivision into coding blocks 80, 82 so that any border between two blocks of blocks 80 and 82 overlays a border between two blocks 84, or alternatively speaking each block 80, 82 either coincides with one of the transform blocks 84 or coincides with a cluster of transform blocks 84. However, the subdivisions may also be determined or selected independent from each other so that transform blocks 84 could alternatively cross block borders between blocks 80, 82. As far as the subdivision into transform blocks 84 is concerned, similar statements are thus true as those brought forward with respect to the subdivision into blocks 80, 82, i.e. the blocks 84 may be the result of a regular subdivision of picture area into blocks (with or without arrangement into rows and columns), the result of a recursive multi-tree subdivisioning of the picture area, or a combination thereof or any other sort of blockation. Just as an aside, it is noted that blocks 80, 82 and 84 are not restricted to being of quadratic, rectangular or any other shape.
Fig. 12 further illustrates that the combination of the prediction signal 26 and the prediction residual signal 24”” directly results in the reconstructed signal 12’. However, it should be noted that more than one prediction signal 26 may be combined with the prediction residual signal 24”” to result into picture 12’ in accordance with alternative embodiments.
In Fig. 12, the transform blocks 84 shall have the following significance. Transformer 28 and inverse transformer 54 perform their transformations in units of these transform blocks 84. For instance, many codecs use some sort of DST or DCT for all transform blocks 84. Some codecs allow for skipping the transformation so that, for some of the transform blocks 84, the prediction residual signal is coded in the spatial domain directly. However, in accordance with embodiments described below, encoder 10 and decoder 20 are configured in such a manner that they support several transforms. For example, the transforms supported by encoder 10 and decoder 20 could comprise:
o DCT-II (or DCT-III), where DCT stands for Discrete Cosine Transform
o DST-IV, where DST stands for Discrete Sine Transform
o DCT-IV
o DST-VII
o Identity Transformation (IT)
Naturally, while transformer 28 would support all of the forward transform versions of these transforms, the decoder 20 or inverse transformer 54 would support the corresponding backward or inverse versions thereof:
o Inverse DCT-II (or inverse DCT-III)
o Inverse DST-IV
o Inverse DCT-IV
o Inverse DST-VII
o Identity Transformation (IT)
The subsequent description provides more details on which transforms could be supported by encoder 10 and decoder 20. In any case, it should be noted that the set of supported transforms may comprise merely one transform such as one spectral-to-spatial or spatial-to-spectral transform.
As already outlined above, Fig. 10 to Fig. 12 have been presented as an example where the inventive concept described further below may be implemented in order to form specific examples for encoders and decoders according to the present application. Insofar, the encoder and decoder of Fig. 10 and Fig. 1 1 , respectively, may represent possible implementations of the encoders and decoders described herein below. Fig. 10 and Fig. 11 are, however, only examples. An encoder according to embodiments of the present application may, however, perform block-based encoding of a picture 12 using the concept outlined in more detail below and being different from the encoder of Fig. 10 such as, for instance, in that same is no video encoder, but a still picture encoder, in that same does not support inter-prediction, or in that the sub-division into blocks 80 is performed in a manner different than exemplified in Fig. 12. Likewise, decoders according to embodiments of the present application may perform block-based decoding of picture 12’ from data stream 14 using the coding concept further outlined below, but may differ, for instance, from the decoder 20 of Fig. 11 in that same is no video decoder, but a still picture decoder, in that same does not support intra-prediction, or in that same subdivides picture 12’ into blocks in a manner different than described with respect to Fig. 12 and/or in that same does not derive the prediction residual from the data stream 14 in transform domain, but in spatial domain, for instance.
Picture partitioning with slices is now briefly described.
Beginning with the H.263 standard, the sequence of data representing contiguous blocks in a particular scan order can be organized into groups called slices. Typically, the dependencies between CTUs of different slices of a picture, e.g. in terms of prediction and entropy coding, are prohibited, so individual slices within a picture can be independently reconstructed.
Fig. 13 illustrates picture segmentation with slices in raster scan order. The size of a slice is determined by the number of CTUs (coding tree units) and the size of each coded CTU that belongs to a slice as illustrated in Fig. 13. Fig. 13 comprises 50 CTUs, for example, CTU 221 , CTU 224 and CTU 251.
Picture partitioning with tiles is now briefly described with reference to Fig. 14. Fig. 14 comprises 50 CTUs, for example, CTU 223, CTU 227 and CTU 241.
Tiles are a concept introduced in HEVC, although the concept is a quite similar to Flexible Macroblock Ordering (FMO) was added to H.264/AVC. The concept of tiles allows dividing the picture into several rectangular regions.
Tiles are thus a result of dividing the original picture into a given number of rows and columns with a specified height and width respectively as illustrated in Fig. 14. As a result of that, tiles within an HEVC bitstream are required to have common boundaries that form a regular grid.
In the following, a generic video encoder according to embodiments is described in Fig. 1 , a generic video decoder according to embodiments is described in Fig. 2, and a generic system according to embodiments is described in Fig. 3.
Fig. 1 illustrates a generic video encoder 101 according to embodiments.
The video encoder 101 is configured for encoding a plurality of pictures of a video by generating an encoded video signal, wherein each of the plurality of pictures comprises original picture data.
The video encoder 101 comprises a data encoder 110 configured for generating the encoded video signal comprising encoded picture data, wherein the data encoder is configured to encode the plurality of pictures of the video into the encoded picture data.
Moreover, the video encoder 101 comprises an output interface 120 configured for outputting the encoded picture data of each of the plurality of pictures.
Fig. 2 illustrates a generic video decoder 151 according to embodiments.
The video decoder 151 is configured for decoding an encoded video signal comprising encoded picture data to reconstruct a plurality of pictures of a video.
The video decoder 151 comprises an input interface 160 configured for receiving the encoded video signal.
Moreover, the video decoder comprises a data decoder 170 configured for reconstructing the plurality of pictures of the video by decoding the encoded picture data.
Fig. 3 illustrates a generic system according to embodiments.
The system comprises the video encoder 101 of Fig. 1 and the video decoder 151 of Fig. 2.
The video encoder 101 is configured to generate the encoded video signal. The video decoder 151 is configured to decode the encoded video signal to reconstruct the picture of the video.
A first aspect of the invention is claimed in claims 1 to 5, in claims 45 to 49 and in claims 89 to 93.
A second aspect of the invention is claimed in claims 6 to 13, in claims 50 to 57 and in claims 94 to 98.
A third aspect of the invention is claimed in claims 14 to 18, in claims 58 to 62 and in claims 99 to 103.
A fourth aspect of the invention is claimed in claims 19 to 22, in claims 63 to 66 and in claims 104 to 108.
A fifth aspect of the invention is claimed in claims 24 to 27, in claims 68 to 71 and in claims 109 to 1 13.
A sixth aspect of the invention is claimed in claims 28 to 32, in claims 72 to 76 and in claims 114 to 118.
A seventh aspect of the invention is claimed in claims 33 and 34, in claims 77 and 78 and in claims 1 19 to 123.
An eighth aspect of the invention is claimed in claims 35 to 38, in claims 79 to 82 and in claims 124 to 128.
A ninth aspect of the invention is claimed in claims 40 to 44, in claims 84 to 88 and in claims 129 to 133.
Claims 23, 39, 67 and 83 claim particular examples that may, for example, be employed for different aspects of the invention.
In the following, details of complexity handling for flexibly sized picture partitions according to embodiments are described.
Tiles have been specified in HEVC as a subdivision mechanism for the picture. They are defined in the picture parameter set (PPS), where their dimensions are given. Tiles, as defined for now have a size which is multiple of CTUs (typically 64 samples) and only the last tiles, i.e. tiles at the right or bottom border, of a picture are allowed to have their CTUs at the right and bottom picture boundaries being smaller than 64.
However, such a restriction prevents a couple of use-cases:
MCTS bitstream merging: the bitstreams to be merged together within a single bitstream need to be a multiple of the size chose for the CTU, as original picture boundaries might not be picture boundaries in the merged bitstream.
Proper load balancing, where tiles adjust to the content not necessarily at multiples of a predefined size (the CTU size)
In addition, the current video coding specification developed by JVET - Versatile Video Coding - allows larger values of CTUs (up to 128), which makes it even more crucial to allow for tiles that are not multiple of CTUs. Defining partial CTUs based on whether the desired functionality is required, would be possible but would affect the coding efficiency for such cases. Still, it is desirable to allow tiles to not comprise a complete number of
CTUs of a determined size but to allow the rightmost CTUs and CTUs on the bottom boundary of a tiles to be smaller.
However, when such a functionality is allowed, different aspects affect the decoding process.
In the following, controlling the complexity of partial in-picture CTUs is described.
In particular, the first aspect of the invention is now described in detail:
Currently, that all CTUs are the same size, processors are optimized to decode the structures of the predefined size. Allowing that variable size might impose a complexity increase for a decoder. Especially, since the number of CTUs can change from picture to picture.
The first aspect of the current invention is that when such variable sized CTUs are allowed within each tile, a constraint need to be fulfilled that keeps the number of variable sized CTUs constant from picture to picture.
In the first aspect, a constraint is always applied.
Fig. 4 illustrates CTUs affected by displacing a partial CTU creating tile boundary.
If tiles sizes are not multiple of the predefined CTU size, hence variable sized CTUs smaller than the predefined CTU size are introduced, it is a requirement of bitstream conformance to have the same number of such variable sized CTUs in each of the pictures as illustrated in Fig. 4.
Additionally, this property can be signaled to a decoder using a flag in a parameter set that indicates n u m_pa rt i a l_ctus_co n sta nt_f I ag .
The second aspect of the invention is now described in detail:
The second aspect differentiates partial CTUs creating tile boundaries from regular tile boundaries in their complexity impact. When decoder checks level limitations for maximum amount of decoded pels per time unit, it adds a complexity factor for partial CTUs. For example, the partial CTU could be counted with 1.5 times it’s actual size, or with the number of pels of the predetermined CTU size as if it were not to be limited in size to be a variable sized CTU by a tile boundary. This means that picture size limits could be affected by the presence of partial CTUs. For instance, if all CTUs are of the same size a picture limit for a decoder can be 4096x2160 at 50 frames per second, but if 5x4 tiles where defined and all would have partial CTUs at the right and bottom boundaries, i.e. 20 partial CTUs, then the limit could be 4056x2128 at the same frame rate.
Fig. 5 illustrates luma sample per picture compensation from partial CTUs. In particular, the complexity adjusted picture area is illustrated in Fig. 5.
Furthermore, a lower limit to the size of variable sized CTUs is imposed to regard the granularity with which motion vector or displacement information of reference pictures is stored in the coding process, e.g. with a 16x16 samples granularity, as opposed to allow arbitrarily small variable CTUs with a size between 1 sample and a predefined CTU size in any direction. A variable sized CTU is not allowed to be smaller than a predetermined minimal CTU size to be indicated or derived, e.g. from the motion vector storage granularity so that no two CTUs lie within the scope of the same motion vector storage unit.
The third aspect of the invention is now described in detail:
In such another independent third aspect, the presence of partial CTUs is taken into account for the complexity signaling of tiles. For instance, HE VC comprises the parameters min_spatial_segmentation_idc in VUI that describe the complexity of spatial segments including tiles. Currently, when applied to tiles it implies that“there is no tile in the CVS (coded video sequence) that comprises more than ( 4 * PicSizelnSamplesY ) / (min_spatial_segmentationJdc+4) luma samples”. In addition, as part of the invention, the complexity signaling limits for tiles to not comprise more than a given number of partial CTUs depending on the maximum tile size and/or relationship between the default CTU size and the size of partial CTUs. Alternatively, an additional parameter is signaled in VUI indicating the relative amount of partial CTUs allowed in a picture.
In the following, embodiments are described where CTU boundaries can change from picture to picture.
In particular, the fourth aspect of the invention is now described in detail:
If tiles might have their right/bottom boundaries end at smaller granularity than the pre- defined CTU size, and following tiles start with CTUs at pre-defined size, when the tiles setup changes from picture to picture, CTU alignment across pictures will not be achieved, which might be detrimental for some predictive coding, such as using temporal motion vector prediction. Memory management could be more difficult and therefore, it would be desirable to limit the flexibility of generating CTU boundary misalignment from picture to picture.
The fourth aspect would be to constrain that any tile boundary, that creates partial CTUs, can only be moved to a location, at which it creates partial CTUs at same split ratio at a different picture within the same video sequence. This allows for having aligned CTUs in areas not covered by the range from initial last CTU position and modified last CTU position as illustrated Fig. 6.
Fig. 6 illustrates CTU grid alignment mismatches.
The fifth aspect of the invention is now described in detail:
In the fifth aspect, a limitation is applied for the rate of blocks, in which with grid mismatches may occur between pictures with changing partial tile boundaries as illustrated in Fig. 7. This constraint may either be defined in a default manner for a given profile/level, or indicated as a syntax element in the bitstream, e.g. num_misaligned_ctus_per_picture. Fig. 7 illustrates a rate of grid mismatch affected CTUs.
Alternatively, the constraint described here, where the number of partial (boundary) CTUs stays constant and with same ratio, can be implemented as a simple constraint indication, e.g. misalignment_constant_flag, where indication of tile boundaries stays flexible but has to fulfill the constraint or can be achieved by a less flexible manner.
The sixth aspect of the invention is now described in detail:
In the sixth aspect, CTU misalignment is completely avoided: two set of tile boundaries are defined. The first set of tile boundaries corresponds to traditional tile boundaries:
Entropy coding reset
Intra prediction constraints
Scan order change
And in addition, tiles of the first set allow creating partial CTUs at the right and bottom tile boundaries.
The second set of tile boundaries does solely create partial CTUs at the right and/or bottom tile boundaries, i.e. to the left and/or above of said tile boundaries and does not imply entropy coding reset, intra prediction or a change in scan order. Thereby, the location of partial CTUs within the picture can (and is constraint to) remain static while actual tile configuration is allowed to change over time.
Fig. 8 illustrates two sets of tile boundaries. Within a CVS, tile boundaries that change position are not allowed to create new partial tiles. Fig. 8 illustrates the invention based on two pictures of different time instants where the tile boundary of the first set changes position from time instant T-1 to time instant T and a new tile boundary of the second set is introduced to keep the position of partial CTUs at time instant T similar to time instant T-1 , albeit the occurring changes to scan order, entropy coding and intra prediction.
The seventh aspect of the invention is now described in detail:
In another independent embodiment, the problem is tackled to reduce the complexity impact partial CTUs introduce on line buffer requirements.
Fig. 9 illustrates corresponding CTU rows in reference picture after partial CTU in current picture.
A horizontal row of partial CTUs in one picture would lead a CTU grid misalignment with respect to reference picture without the row of partial CTUs as illustrated in Fig. 9 where a single row (Current CTU row) would access to CUs (CU = coding unit) of two CTU rows for tools such as ATMVP (Alternative Temporal Motion Vector Prediction). As the collocated CTU row is often cached in a cost intensive high-speed memory in hardware implementations (referred to as line buffer), it is undesirable to hold multiple CTU rows in this cache. Therefore, in order to maintain CTU row alignment across picture in presence of partial CTU creating tile boundaries, another constraint is that horizontal tile boundaries that create partial CTUs above them are not allowed to change during a coded video sequence and are hence static.
In the following, predictors derivation from collocated CTUs according to embodiments is described.
In particular, the eighth aspect of the invention is now described in detail:
TMVP (Temporal Motion Vector Prediction) and ATMVP derivation currently depends on the pre-defined CTU size, i.e. using a constant CTU grid over the picture:
For TMVP:
If yCb » CtbLog2SizeY is equal to yColBr » CtbLog2SizeY, yColBr is less than pic_height_injuma_samples and xColBr is less than pic_width_in_luma_samples
(in other words: if the bottom-right CB of the reference picture is in the same CTU row, hence it can be cached in a line buffer memory)
Then the right-bottom collocated predictor is taken. Otherwise (if the bottom-right CB of the reference picture is NOT in the same CTU row, hence it is NOT in the line buffer), the center-collocated predictor is taken.
And for ATMVP:
The location ( xColSb, yColSb ) of the collocated subblock inside ColPic is derived as follows.
xColSb = Clip3( xCtb,
Min( CurPicWidthlnSamplesY - 1 , xCtb + ( 1 « CtbLog2SizeY ) + 3 ), xSb + ( tempMv[0] » 4 ) )
yColSb = Clip3( yCtb,
Min( CurPicHeightlnSamplesY - 1 , yCtb + ( 1 « CtbLog2SizeY ) - 1 ), ySb + ( tempMv[1] » 4 ) )
In other words, coordinates of the collocated sub-blocks are clipped in each dimension to be inside the same CTU row. The same line buffer considerations hold true.
Both TMVP and ATMVP use the size of the pre-defined CTU CtbLog2SizeY that divides all samples of the coded picture(s) into coded blocks for derivation of the collocated blocks and subblocks.
With tiles borders, that are allowed to create partial CTUs, the CTU grid is not constant and may vary from picture to picture and create overlap between a varying number of
CTU rows as illustrated in Fig. 9. In this part of the invention, the CTU grid of the current picture is imposed onto the reference frame to organize buffer management and predictor access. In other words, the current local partial CTU dimensions or size are applied for selecting the referenced area in the used (collocated) reference picture (as opposed to a constant maximum CTU size across the picture),
For TMVP, one embodiment of the invention is:
yTi!eStart and xTileStart correspond to the top-left sample position of a given tile hosting the current coding block with yCblnTile and xCblnTile correspond to the sample position of the current coding block relative to the tile start and collocated blocks correspondingly.
(Differences are highlighted in bold):
yCblnTile = yCb-yTileStart
yColBrlnTile = yColBr-yTileStart
and CtbLog2HeightY(y) describing the height of the respective CTU row.
If yCblnTile » CtbLog2HeightY(yCblnTile) is equal to yColBrlnTile » CtbLog2HeightY(yCblnTile), yColBr is less than pic_heightjn_luma_samples and xColBr is less than pic_width_injuma_samples
then the right-bottom collocated predictor is taken. Otherwise, the center-collocated predictor is taken.
For ATMVP, an embodiment in form of an adjusted clipping operation is as follows:
The location ( xColSb, yColSb ) of the collocated subblock inside ColPic is derived as follows.
xColSb = Clip3( xCtb,
Min( CurPicWidthlnSamplesY - 1 , xCtb + ( 1 « CtbLog2WidthY(xCtb)) + 3 ), xSb + ( tempMv[0] » 4 ) )
yColSb = Clip3( yCtb,
Min( CurPicHeightlnSamplesY - 1 , yCtb + ( 1 « CtbLog2HeightY(yCtb)) - 1 ), ySb + ( tempMv[1] » 4 ) )
In the following, sub-picture wise coding tool restriction indication is described.
In particular, the ninth aspect of the invention is now described in detail:
In former video coding standards, sub-picture (e.g. slices or tiles) wise coding restrictions are distinguished as follows:
l_SLICE - intra coding, usually random access points, does not use references to other pictures
P_SLJCE - predictive coding. Use one picture from one reference picture list for motion compensated prediction.
B_SLICE - bi-predictive coding with two reference picture lists. Allows combining motion compensated predictions from pictures in both lists.
The term slice or tile in this context are interchangeable, i.e. a group of consecutive-inbitstream CTUs belonging to a single coded picture and being jointly entropy coded.
This differentiation allows two things, namely
controlling the parsing and decoding process of the respective sub-picture right on from slice or tile header parsing, and
profiling based on such types by for instance prohibiting usage of
computationally complex types such as B_SLICES.
The type indication can also be interpreted as a bag of constraints associated with each type, e.g. the l_SLICE type being the most restricted type, P_SLICE type relaxing the constraint to include inter-prediction using one reference picture and B_SLICE type relaxing the constraint further to include reference from both temporally preceding and following pictures by allowing a bitstream order of pictures different from the presentation order
The following problems arise:
I_SL1CE type can also comprise“current picture referencing”, which is a P_SLICE type like“motion“ compensated or translation compensated block based prediction using the currently coded picture as reference
P_SLICE is not used frequently anymore and mostly replaced by B_SLICE in applications
Inter-prediction has evolved beyond usage of two reference frames
Current picture referencing as referred to above imposes additional complexity to the decoding process compared to traditional intra prediction. Traditionally, intra prediction relies only on sample values within the current picture which are in close proximity to the currently predicted block, e.g. the directly neighboring samples or, in so called multireference-line prediction, a small number (e.g. 3) of lines of directly neighboring samples, to generate the sample values of the predicted block, e.g. through interpolation. Current picture referencing on the other hand relies on mechanisms formerly only used in interprediction between frames of a video sequence in which the sample values of a reference block are copied to the current block location, the amount of samples accessed to generate the predictor in this technique is much higher than regular intra-prediction. For one, the predictor samples are not only derived from much fewer accessed samples compared but the search on encoder side to derive a suitable motion vector or displacement information is much higher. Furthermore, the reference picture has to be updated along the decoding process of the current picture to reflect the availability of ever greater regions on the current picture, i.e. the reconstructed regions, for reference.
In one embodiment of the invention, instead of using the above type distinction, the actual imposed tool constraints are signaled in the (tile) header.
1) A flag should be used to indicate whether the use of reference picture other than the current picture may be used (intra/inter switch)
2) A flag shall be used to indicate the use of current picture referencing (interprediction using the currently coded picture). This may be signaled depending on the intra/inter selection.
3) A syntax element is signaled to indicate the number of reference picture lists that are used in the prediction process. In the case that current picture referencing only is used, this syntax element may be inferred to be equal to 1. In other cases the value of 1 refers to what previously was a P_SLICE type, while 2 refers to former B_SLICE type. Additional values may be used for instance to indicate multi-hypothesis prediction.
An example syntax could be as follows:
current_picture_only_reference_fIag equal to 1 indicates that only using the current picture as reference is allowed. This is similar to classical l_SLICE type.
c u rre n t_p i ct u rej n te r_ref e re n ce_f I ag equal to 1 indicates that the current picture is available for inter prediction (“Current picture referencing” or“Intra Block Copy" tools).
num_ref_pic_lists_active indicates the number of active reference pictures lists.
If current_picture_only_reference_flag is equal to 1 and
cu rre nt_pi ctu rej nter_refere n ce_f I ag is equal to 0,
num_ref_pic_lists_active shall be active to zero (and could be omitted from the bitstream). If current_picture_only_reference_flag is equal to 0,
num_ref_pic_lists_active equal to 1 would indicate a tile type similar to P_SLICE.
num_ref_pic_lists_active equal to 2 would indicate a tile type similar to B_SLICE.
num_ref_pic_Iists_active larger than 2 can be used to indicate the use of more reference picture lists, e.g. for multi-hypothesis inter prediction.
Although some 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.
Depending on certain implementation requirements, 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.
Some embodiments according to the invention comprise a data carrier having electronically readable control signals, which are capable of cooperating with a programmable computer system, such that one of the methods described herein is performed.
Generally, 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.
Other embodiments comprise the computer program for performing one of the methods described herein, stored on a machine readable carrier.
In other words, 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 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.
In some embodiments, a programmable logic device (for example a field programmable gate array) may be used to perform some or all of the functionalities of the methods described herein. In some embodiments, a field programmable gate array may cooperate with a microprocessor in order to perform one of the methods described herein. Generally, 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.
The above described embodiments are merely illustrative for the principles of the present invention. It is understood that modifications and variations of the arrangements and the details described herein will be apparent to others skilled in the art. It is the intent, therefore, to be limited only by the scope of the impending patent claims and not by the specific details presented by way of description and explanation of the embodiments herein.
Claims
1. A video encoder (101) for encoding a plurality of pictures of a video by generating an encoded video signal, wherein each of the plurality of pictures comprises original picture data, wherein the video encoder (101) comprises:
a data encoder (1 10) configured for generating the encoded video signal comprising encoded picture data, wherein the data encoder is configured to encode the plurality of pictures of the video into the encoded picture data, and
an output interface (120) configured for outputting the encoded picture data of each of the plurality of pictures,
wherein, for each picture of the plurality of pictures, the data encoder (110) is configured to partition the picture into a plurality of tiles comprising a plurality of coding tree units of the picture, wherein each coding tree unit of the plurality of coding tree units comprises a plurality of samples of the picture,
wherein, for each picture of the plurality of pictures, each coding tree unit of the plurality of coding tree units of the picture is either a partial unit or a full unit, wherein the coding tree unit is the partial unit, if the number of samples of the coding tree unit is smaller than a predefined sample number, and wherein the coding tree unit is the full unit, if the number of samples of the coding tree unit is not smaller than the predefined sample number,
wherein the data encoder (110) is configured to partition each of the plurality of pictures such that each picture of the plurality of pictures comprises a same first number of partial units among the plurality of coding tree units of the picture,
wherein, for each picture of the plurality of pictures, the data encoder (110) is configured to encode the original picture data of each of the plurality of tiles of the picture independently from the original picture data of any other tile of the plurality of tiles of the picture.
2. A video encoder (101) according to claim 1 ,
wherein the data encoder (110) is configured to partition each picture of the plurality of pictures into the plurality of tiles such that each tile of the plurality of tiles of each picture of the plurality of pictures comprises a same second number of partial units among the plurality of coding tree units of the tile.
3. A video encoder (101 ) according to claim 2,
wherein the data encoder (110) comprises at least two processors, and
wherein the data encoder (110) is configured to encode the original picture data of a first tile of the plurality of tiles of one of the plurality of pictures by a first processor of the at least two processors,
wherein the data encoder (110) is configured to encode the original picture data of a second tile of the plurality of tiles of the one of the plurality of pictures by a second processor of the at least two processors, and
wherein the first processor and the second processor are arranged such that the first processor encodes the original picture data of the first tile in parallel to the second processor encoding the original picture data of the second tile.
4. A video encoder (101) according to one of claims 1 to 3,
wherein the data encoder (120) is configured to generate the encoded video signal such that the encoded video signal further comprises a flag indicating that each picture of the plurality of pictures comprises the same first number of partial units among the plurality of coding tree units of the picture.
5. A video encoder (101) according to one of the preceding claims,
wherein, for each picture of the plurality of pictures, the data encoder (110) is configured to partition the picture into the plurality of coding tree units, such that each coding tree unit of the plurality of coding tree units comprises a number of the samples of the picture being equal to a predefined sample number or being smaller than the predefined sample number.
6. A video encoder (101 ) for encoding a plurality of pictures of a video by generating an encoded video signal, wherein each of the plurality of pictures comprises original picture data, wherein the video encoder (101 ) comprises:
a data encoder (110) configured for generating the encoded video signal comprising encoded picture data, wherein the data encoder is configured to encode the plurality of pictures of the video into the encoded picture data, and
an output interface (120) configured for outputting the encoded picture data of each of the plurality of pictures,
wherein, for each picture of the plurality of pictures, a partitioning of the picture defines in a first way, how the picture is partitioned into a plurality of tiles comprising a plurality of coding tree units of the picture, wherein each coding tree unit of the plurality of coding tree units comprises a plurality of samples of the picture,
wherein, for each picture of the plurality of pictures, the data encoder (1 10) is configured to determine a complexity value depending on a number of samples of each of the plurality of coding tree units of each of the plurality of tiles of the picture,
wherein, if the complexity value is greater than a complexity threshold value, the data encoder (110) is configured to adapt the partitioning of the picture and is configured to define in a different, second way, how the picture is partitioned,
wherein, for each picture of the plurality of pictures, the data encoder (110) is configured to encode, depending on the partitioning of the picture, the original picture data of each of the plurality of tiles of the picture independently from the original picture data of any other tile of the plurality of tiles of the picture.
A video encoder (110) according to claim 6,
wherein, for each picture of the plurality of pictures, the data encoder (110) is configured to determine the complexity value by determining a CTU-dependent value for each coding tree unit of the plurality of coding tree units of each of the plurality of tiles of the picture, wherein the CTU-dependent value of the coding tree unit depends on whether the coding tree unit is a partial unit or whether the coding tree unit is a full unit,
wherein the coding tree unit is a partial unit, if the number of samples of the coding tree unit is smaller than a predefined sample number, and
wherein the coding tree unit is a full unit, if the number of samples of the coding tree unit is not smaller than the predefined sample number.
8. A video encoder (110) according to claim 7,
wherein a predefined minimum size exists, so that each of the plurality of coding tree units of each of the plurality of pictures being a partial unit comprises at least the predefined minimum size of the plurality of samples of the picture.
9. A video encoder (110) according to claim 8,
wherein each of the plurality of coding tree units of each of the plurality of pictures being a partial unit comprises has a minimum horizontal sample length and a minimum vertical sample length, wherein a number of samples of the minimum horizontal sample length is equal to a number of samples of the minimum vertical sample length.
10. A video encoder (110) according to one of claims 7 to 9,
wherein, for each picture of the plurality of pictures, the data encoder (1 10) is configured to determine the complexity value by adding the CTU-dependent values of the plurality of coding tree units of the plurality of tiles of the picture.
1 1. A video encoder (110) according to claim 10,
wherein, for each picture of the plurality of pictures, the data encoder (110) is configured to determine the CTU-dependent value for each coding tree unit of the plurality of coding tree units of each of the plurality of tiles of the picture,
such that the CTU-dependent value depends on the number of samples of the coding tree unit, if the coding tree unit is a full unit, and
such that the CTU-dependent value depends on the number of samples of the coding tree unit and further depends on a complexity factor, if the coding tree unit is a partial unit.
12. A video encoder (110) according to claim 11 ,
wherein, for each picture of the plurality of pictures, the data encoder (110) is configured to determine the CTU-dependent value for each coding tree unit of the plurality of coding tree units of each of the plurality of tiles of the picture,
such that the CTU-dependent value is the number of samples of the coding tree unit, if the coding tree unit is a full unit, and
such that the CTU-dependent value is a product of the complexity factor times the number of samples of the coding tree unit, if the coding tree unit is a partial unit, wherein the complexity factor is a scalar value being different from 0.
13. A video encoder (110) according to claim 10,
wherein, for each picture of the plurality of pictures, the data encoder (110) is configured to determine the CTU-dependent value for each coding tree unit of the plurality of coding tree units of each of the plurality of tiles of the picture,
such that the CTU-dependent value depends on the number of samples of the coding tree unit, if the coding tree unit is a full unit, and
such that the CTU-dependent value is equal to the CTU-dependent value of another one of the plurality of coding tree units being a full unit, if the coding tree unit is a partial unit.
14. A video encoder (101) for encoding a plurality of pictures of a video by generating an encoded video signal, wherein each of the plurality of pictures comprises original picture data, wherein the video encoder (101) comprises:
a data encoder (110) configured for generating the encoded video signal comprising encoded picture data, wherein the data encoder is configured to encode the plurality of pictures of the video into the encoded picture data, and
an output interface (120) configured for outputting the encoded picture data of each of the plurality of pictures,
wherein, for each picture of the plurality of pictures, the picture is partitioned into a plurality of tiles comprising a plurality of coding tree units of the picture, wherein each coding tree unit of the plurality of coding tree units comprises a plurality of samples of the picture,
wherein, for each picture of the plurality of pictures, each coding tree unit of the plurality of coding tree units of each of the plurality of tiles of the picture, the coding tree unit is either a partial unit or a full unit, wherein the coding tree unit is the partial unit, if the number of samples of the coding tree unit is smaller than a predefined sample number, and wherein the coding tree unit is the full unit, if the number of samples of the coding tree unit is not smaller than the predefined sample number,
wherein, for each picture of the plurality of pictures, the data encoder (110) is configured to encode the original picture data of each of the plurality of tiles of the picture independently from the original picture data of any other tile of the plurality of tiles of the picture,
wherein the data encoder (110) is configured to generate the encoded video signal such that the encoded video signal further comprises indication data providing information on a number of the coding tree units that are partial units among the plurality of coding tree units of a tile of the plurality of tiles of a picture of the plurality of pictures.
15. A video encoder (101) according to claim 14,
wherein the indication data indicates a maximum number of the coding tree units that are the partial units among the plurality of coding tree units of the tile.
16. A video encoder (101) according to claim 13,
wherein the maximum number of the coding tree units that are the partial units among the plurality of coding tree units of the tile depends on a maximum tile size.
17. A video encoder (101) according to claim 15 or 16,
wherein the maximum number of the coding tree units that are the partial units among the plurality of coding tree units of the tile depends on a first number of samples of one of the plurality of coding tree units which is a full unit, the first number being the predefined sample number, and further depends on a second
number of samples of another one of the plurality of coding tree units which is a partial unit.
A video encoder (101 ) according to one of claims 14 to 17,
wherein the indication data indicates a relative amount of the coding tree units that are the partial units among the plurality of coding tree units of the tile.
A video encoder (101) for encoding a plurality of pictures of a video by generating an encoded video signal, wherein each of the plurality of pictures comprises original picture data, wherein the video encoder (101 ) comprises:
a data encoder (110) configured for generating the encoded video signal comprising encoded picture data, wherein the data encoder is configured to encode the plurality of pictures of the video into the encoded picture data, and
an output interface (120) configured for outputting the encoded picture data of each of the plurality of pictures,
wherein, for each picture of the plurality of pictures, the data encoder (110) is configured to partition the picture into a plurality of tiles comprising a plurality of coding tree units of the picture, wherein each coding tree unit of the plurality of coding tree units comprises a plurality of samples of the picture, wherein for each coding tree unit of the plurality of coding tree units of each of the plurality of tiles of the picture, the coding tree unit is either a partial unit or a full unit, wherein the coding tree unit is the partial unit, if the number of samples of the coding tree unit is smaller than a predefined sample number, and wherein the coding tree unit is the full unit, if the number of samples of the coding tree unit is not smaller than the predefined sample number,
wherein for at least two pictures of the plurality of pictures, the data encoder (110) is configured to partition the picture such that the at least two pictures have a same partial-to-full-unit ratio, wherein the partial-to-full-unit ratio defines for a picture of the plurality of pictures a ratio of a number of the coding tree units of the picture that are partial units to a number of the coding tree units of the picture that are full units,
wherein, for each picture of the plurality of pictures, the data encoder (110) is configured to encode the original picture data of each of the plurality of tiles of the picture independently from the original picture data of any other tile of the plurality of tiles of the picture.
20. A video encoder (101) according to claim 19,
wherein for each of the plurality of pictures, the data encoder (110) is configured to partition the picture such that each of the plurality of pictures has the partial-to-full- unit ratio being smaller than a threshold value.
21. A video encoder (101) according to claim 19 or 20,
wherein the threshold value is 1.
22. A video encoder (101) according to one of claims 19 to 21 ,
wherein for each of the plurality of pictures, the data encoder (110) is configured to partition the picture such that the plurality of pictures have the same partial-to-full- unit ratio.
23. A video encoder (101) according to one of claims 1 to 5 or according to one of claims 7 to 22, wherein for each tile of the plurality of tiles of each picture of the plurality of pictures, coding tree units of the tile that are partial units appear only at a bottom border or at a right border of the tile.
24. A video encoder (101) for encoding a plurality of pictures of a video by generating an encoded video signal, wherein each of the plurality of pictures comprises original picture data, wherein the video encoder (101) comprises:
a data encoder (110) configured for generating the encoded video signal comprising encoded picture data, wherein the data encoder is configured to encode the plurality of pictures of the video into the encoded picture data, and
an output interface (120) configured for outputting the encoded picture data of each of the plurality of pictures,
wherein, for each picture of the plurality of pictures, the data encoder (110) is configured to partition the picture into a plurality of tiles comprising a plurality of coding tree units of the picture, wherein each coding tree unit of the plurality of coding tree units comprises a plurality of samples of the picture and has a position within the picture,
wherein the plurality of pictures comprises a current picture and a reference picture,
wherein for each coding tree unit of the coding tree units of the current picture, the coding tree unit is correctly aligned, if another coding tree unit among the plurality of coding tree units of the reference picture exists, the position of said another coding tree unit within the reference picture being equal to the position of said coding tree unit within the current picture,
wherein for each coding tree unit of the coding tree units of the current picture, the coding tree unit is misaligned, if no other coding tree unit among the plurality of coding tree units of the reference picture exists, having a position within the reference picture being equal to the position of said coding tree unit within the current picture,
wherein the data encoder (110) is configured to partition the current picture into the plurality of tiles such that a ratio between the coding tree units of the current picture being misaligned to the coding tree units of the current picture being correctly aligned is not greater than a threshold value,
wherein, for each picture of the plurality of pictures, the data encoder (110) is configured to encode the original picture data of each of the plurality of tiles of the picture independently from the original picture data of any other tile of the plurality of tiles of the picture.
25. A video encoder (101) according to claim 24,
wherein for each coding tree unit of the plurality of coding tree units of each of the plurality of tiles of the picture, the coding tree unit is either a partial unit or a full unit, wherein the coding tree unit is the partial unit, if the number of samples of the coding tree unit is smaller than a predefined sample number, and wherein the
coding tree unit is the full unit, if the number of samples of the coding tree unit is not smaller than the predefined sample number,
wherein two or more of the plurality of coding tree units being said full unit and wherein at least one of the plurality of coding tree units being said partial unit.
26. A video encoder (101) according to claim 24 or 25,
wherein the data encoder (110) is configured to receive a bitstream comprising the threshold value.
27. A video encoder (101) according to one of claims 24 to 26,
wherein the threshold value is smaller than 1.
28. A video encoder (101) for encoding a plurality of pictures of a video by generating an encoded video signal, wherein each of the plurality of pictures comprises original picture data, wherein the video encoder (101) comprises:
a data encoder (110) configured for generating the encoded video signal comprising encoded picture data, wherein the data encoder is configured to encode the plurality of pictures of the video into the encoded picture data, and
an output interface (120) configured for outputting the encoded picture data of each of the plurality of pictures,
wherein, for each picture of the plurality of pictures, the data encoder (110) is configured to partition the picture into a plurality of tiles comprising a plurality of coding tree units of the picture by defining a plurality of tile boundaries for each tile of the plurality of tiles, wherein each coding tree unit of the plurality of coding tree units of each picture of the plurality of pictures comprises a plurality of samples of the picture,
wherein, for each picture of the plurality of pictures, the data encoder (110) is configured to encode, depending on the plurality of tile boundaries of each tile of the plurality of tiles of the picture, the original picture data of said tile independently from the original picture data of any other tile of the plurality of tiles of the picture, wherein each tile boundary of the plurality of tile boundaries of each of the plurality of tiles of each of the plurality of pictures is either assigned to a first set of tile boundaries or is assigned to a second set of tile boundaries,
wherein the data encoder (1 10) is configured to change an encoding scan order at a first tile boundary of the plurality of tile boundaries of a first tile of the plurality of tiles of a picture of the plurality of pictures, when encoding the original picture data, if said tile boundary is assigned to the first set of tile boundaries, and
wherein the data encoder (110) is configured to not change the encoding scan order at a second tile boundary of the plurality of tile boundaries of a second tile of the plurality of tiles of a picture of the plurality of pictures, when encoding the original picture data, if said tile boundary is assigned to the second set of tile boundaries.
29. A video encoder (101) according to claim 28,
wherein the data encoder (110) is configured to apply an intra prediction constraint at a third tile boundary of the plurality of tile boundaries of a third tile of the plurality of tiles of a picture of the plurality of pictures, when encoding the original picture data, if said tile boundary is assigned to the first set of tile boundaries, and
wherein the data encoder (110) is configured to not apply the intra prediction constraint at a fourth tile boundary of the plurality of tile boundaries of a fourth tile of the plurality of tiles of a picture of the plurality of pictures, when encoding the original picture data, if said tile boundary Is assigned to the second set of tile boundaries.
30. A video encoder (101) according to claim 29,
wherein the data encoder (1 10) is configured to conduct an entropy coding reset constraint at a fifth tile boundary of the plurality of tile boundaries of a fifth tile of the plurality of tiles of a picture of the plurality of pictures, when encoding the original picture data, if said tile boundary is assigned to the first set of tile boundaries, and
wherein the data encoder (110) is configured to not conduct the entropy coding reset at a sixth tile boundary of the plurality of tile boundaries of a sixth tile of the plurality of tiles of a picture of the plurality of pictures, when encoding the original picture data, if said tile boundary is assigned to the second set of tile boundaries.
31. A video encoder (101) according to one of claims 28 to 30,
wherein each coding tree unit of the plurality of coding tree units of each picture of the plurality of pictures has a position within the picture,
wherein the plurality of pictures comprises a current picture and a reference picture,
wherein for each coding tree unit of the coding tree units of the current picture, the coding tree unit is correctly aligned, if another coding tree unit among the plurality of coding tree units of the reference picture exists, the position of said another coding tree unit within the reference picture being equal to the position of said coding tree unit within the current picture,
wherein for each coding tree unit of the coding tree units of the current picture, the coding tree unit is misaligned, if no other coding tree unit among the plurality of coding tree units of the reference picture exists, having a position within the reference picture being equal to the position of said coding tree unit within the current picture,
wherein the data encoder (110) is configured to partition the current picture into the plurality of tiles such that more than half of the coding tree units of the current picture are correctly aligned, and such that less than half of the coding tree units of the current picture are misaligned.
32. A video encoder (101) according to claim 31 ,
wherein, for each picture of the one or more subsequent pictures, the data encoder (110) is configured to partition the picture into the plurality of tiles such that all of the coding tree units of the picture are correctly aligned, and such that none of the coding tree units of the picture are misaligned.
33. A video encoder (101) for encoding a plurality of pictures of a video by generating an encoded video signal, wherein each of the plurality of pictures comprises original picture data, wherein the video encoder (101) comprises:
a data encoder (110) configured for generating the encoded video signal comprising encoded picture data, wherein the data encoder is configured to encode the plurality of pictures of the video into the encoded picture data, and
an output interface (120) configured for outputting the encoded picture data of each of the plurality of pictures,
wherein, for each picture of the plurality of pictures, the data encoder (1 10) is configured to partition the picture into a plurality of tiles comprising a plurality of coding tree units of the picture, wherein each coding tree unit of the plurality of coding tree units comprises a plurality of samples of the picture and has a position within the picture,
wherein the plurality of pictures comprises a current picture and a reference picture,
wherein for each coding tree unit of the coding tree units of the current picture, the coding tree unit is correctly aligned, if another coding tree unit among the plurality of coding tree units of the reference picture exists, the position of said another coding tree unit within the reference picture being equal to the position of said coding tree unit within the current picture,
wherein for each coding tree unit of the coding tree units of the current picture, the coding tree unit is misaligned, if no other coding tree unit among the plurality of coding tree units of the reference picture exists, having a position within the reference picture being equal to the position of said coding tree unit within the current picture,
wherein the plurality of coding tree units of the current picture is arranged within the current picture such that the plurality of coding tree units of the current picture form one or more rows of coding tree units of the current picture,
wherein the data encoder (110) is configured to partition the current picture such that there exists no row among the one or more rows of the current picture where any coding tree unit of said row is misaligned,
wherein the data encoder (1 10) is configured to encode the original picture data of each of the plurality of tiles of the current picture independently from the original picture data of any other tile of the plurality of tiles of the current picture.
A video encoder (101) according to claim 33,
wherein the data encoder (1 10) is configured to generate the encoded video signal such that the encoded video signal comprises an indication that no row among the one or more rows of the picture exists, where any coding tree unit of said row is misaligned.
A video encoder (101) for encoding a plurality of pictures of a video by generating an encoded video signal, wherein each of the plurality of pictures comprises original picture data, wherein the video encoder (101) comprises:
a data encoder (110) configured for generating the encoded video signal comprising encoded picture data, wherein the data encoder is configured to encode the plurality of pictures of the video into the encoded picture data, and
an output interface (120) configured for outputting the encoded picture data of each of the plurality of pictures,
wherein, for each picture of the plurality of pictures, the data encoder (110) is configured to partition the picture into a plurality of tiles comprising a plurality of coding tree units of the picture, wherein each coding tree unit of the plurality of coding tree units comprises a plurality of samples of the picture and has a position within the picture,
wherein the plurality of pictures comprises a current picture and a reference picture, wherein the reference picture precedes the current picture in time,
wherein the data encoder (110) is configured to determine a motion vector of the current picture depending on a motion vector of the reference picture and depending on how the current picture is partitioned, and
wherein the data encoder (110) is configured to encode, depending on the motion vector of the current picture, the original picture data of each of the plurality of tiles of the current picture independently from the original picture data of any other tile of the plurality of tiles of the picture.
36. A video encoder (101) according to claim 35,
wherein the data encoder (110) is configured to determine the motion vector of the current picture by selecting a first motion vector predictor at a first location within the reference picture or a second motion vector predictor at a second location within the reference picture depending on a location of the motion vector of the current picture and depending on how the current picture is partitioned.
37. A video encoder (101) according to claim 36,
wherein for each coding tree unit of the coding tree units of the current picture, the coding tree unit is misaligned, if no other coding tree unit among the plurality of coding tree units of the reference picture exists, having a position within the reference picture being equal to the position of said coding tree unit within the current picture, and
wherein at least two coding tree units of the plurality of coding tree units of the current picture are misaligned.
38. A video encoder (101) according to claim 35,
wherein the data encoder (1 10) is configured to determine a motion vector of the current picture
by determining a position of a related block in the reference picture depending on how the current picture is partitioned,
by determining a location of a motion vector predictor in the reference picture depending on a location of the motion vector in the current block, and
by applying a clipping operation on the location of the motion vector predictor in the reference picture to adapt the location of the motion vector predictor in the reference picture depending on how the current picture is partitioned.
39. A video encoder (101) according to one of claims 24 to 38,
wherein, for each picture of the plurality of pictures, each coding tree unit of the plurality of coding tree units of the picture is either a partial unit or a full unit, wherein the coding tree unit is the partial unit, if the number of samples of the coding tree unit is smaller than a predefined sample number, and wherein the coding tree unit is the full unit, if the number of samples of the coding tree unit is not smaller than the predefined sample number,
wherein for each tile of the plurality of tiles of each picture of the plurality of pictures, coding tree units of the tile that are partial units appear only at a bottom border or at a right border of the tile.
40. A video encoder (101) for encoding a plurality of pictures of a video by generating an encoded video signal, wherein each of the plurality of pictures comprises original picture data, wherein the video encoder (101) comprises:
a data encoder (110) configured for generating the encoded video signal comprising encoded picture data, wherein the data encoder is configured to encode the plurality of pictures of the video into the encoded picture data, and
an output interface (120) configured for outputting the encoded picture data of each of the plurality of pictures,
wherein, for each picture of the plurality of pictures, the data encoder (110) is configured to partition the picture into a plurality of tiles comprising a plurality of coding tree units of the picture, wherein each coding tree unit of the plurality of coding tree units comprises a plurality of samples of the picture,
wherein, for each picture of the plurality of pictures, the data encoder (110) is configured to encode the original picture data of each of the plurality of tiles of the picture,
wherein the data encoder (110) is configured to generate the encoded video signal such that the encoded video signal further comprises a first flag that indicates for a current picture of the plurality of pictures, whether a reference picture of the
plurality of pictures being different from the current picture has been used for encoding the current picture.
41. A video encoder (101 ) according to claim 40,
wherein the data encoder (110) is configured to generate the encoded video signal such that the encoded video signal further comprises a second flag that indicates whether current picture referencing is used, wherein using the current picture referencing comprises copying a reference block of a picture of the plurality of pictures to a current block of said picture, being different from the reference block.
42. A video encoder (101) according to claim 40 or 41 ,
wherein the data encoder (1 10) is configured to generate the encoded video signal such that the encoded video signal further comprises a syntax element that indicates a number of reference picture lists that are used in prediction.
43. A video encoder (101) according to claim 42,
wherein the data encoder (1 10) is configured to set the syntax element that indicates the number of the reference picture lists that are used in prediction to a value 0 or to a value 1 or to a value 2, but not to a different value.
44. A video encoder (101) according to claim 42,
wherein the data encoder (110) is configured to set the syntax element that indicates the number of the reference picture lists that are used in prediction to a value 0 or to a value 1 or to a value 2 or to an integer value being greater than 2.
45. A video decoder (151 ) for decoding an encoded video signal comprising encoded picture data to reconstruct a plurality of pictures of a video, wherein the video decoder (151) comprises:
an input interface (160) configured for receiving the encoded video signal, and
a data decoder (170) configured for reconstructing the plurality of pictures of the video by decoding the encoded picture data,
wherein, for each picture of the plurality of pictures, the picture is partitioned into a plurality of tiles comprising a plurality of coding tree units of the picture, wherein each coding tree unit of the plurality of coding tree units comprises a plurality of samples of the picture,
wherein, for each picture of the plurality of pictures, each coding tree unit of the plurality of coding tree units of the picture is either a partial unit or a full unit, wherein the coding tree unit is the partial unit, if the number of samples of the coding tree unit is smaller than a predefined sample number, and wherein the coding tree unit is the full unit, if the number of samples of the coding tree unit is not smaller than the predefined sample number,
wherein each of the plurality of pictures is partitioned such that each picture of the plurality of pictures comprises a same first number of partial units among the plurality of coding tree units of the picture,
wherein, for each picture of the plurality of pictures, the data decoder (170) is configured to decode the encoded picture data of each of the plurality of tiles of the picture independently from the encoded picture data of any other tile of the plurality of tiles of the picture.
A video decoder (151) according to claim 45,
wherein each picture of the plurality of pictures is partitioned into the plurality of tiles such that each tile of the plurality of tiles of each picture of the plurality of pictures comprises a same second number of partial units among the plurality of coding tree units of the tile.
A video decoder (151) according to claim 46,
wherein the data decoder (170) comprises at least two processors, and
wherein the data decoder (170) is configured to decode the encoded picture data of a first tile of the plurality of tiles of one of the plurality of pictures by a first processor of the at least two processors,
wherein the data decoder (170) is configured to decode the encoded picture data of a second tile of the plurality of tiles of the one of the plurality of pictures by a second processor of the at least two processors, and
wherein the first processor and the second processor are arranged such that the first processor decodes the encoded picture data of the first tile in parallel to the second processor decoding the encoded picture data of the second tile.
A video decoder (151) according to one of claims 45 to 47,
wherein the encoded video signal further comprises a flag indicating that each picture of the plurality of pictures comprises the same first number of partial units among the plurality of coding tree units of the picture,
wherein, for each picture of the plurality of pictures, the data decoder (170) is configured to decode the encoded picture data of each of the plurality of tiles of the picture depending on the flag, independently from the encoded picture data of any other tile of the plurality of tiles of the picture.
A video decoder (151) according to one of claims 45 to 48,
wherein, for each picture of the plurality of pictures, the picture is partitioned into the plurality of coding tree units, such that each coding tree unit of the plurality of coding tree units comprises a number of the samples of the picture being equal to a predefined sample number or being smaller than the predefined sample number.
A video decoder (151) for decoding an encoded video signal comprising encoded picture data to reconstruct a plurality of pictures of a video, wherein the video decoder (151) comprises:
an input interface (160) configured for receiving the encoded video signal, and
a data decoder (170) configured for reconstructing the plurality of pictures of the video by decoding the encoded picture data,
wherein, for each picture of the plurality of pictures, the picture is partitioned into a plurality of tiles comprising a plurality of coding tree units of the picture, wherein each coding tree unit of the plurality of coding tree units comprises a plurality of samples of the picture,
wherein, for each picture of the plurality of pictures, the data decoder (110) is configured to determine a complexity value depending on a number of samples of each of the plurality of coding tree units of each of the plurality of tiles of the picture, and
wherein, for each picture of the plurality of pictures, the data decoder (170) is configured to decode depending on the complexity value the encoded picture data of each of the plurality of tiles of the picture independently from the encoded picture data of any other tile of the plurality of tiles of the picture to obtain original picture data of the plurality of coding tree units of each of the plurality of pictures.
A video decoder (151 ) according to claim 50,
wherein, for each picture of the plurality of pictures, data decoder (170) is configured to determine the complexity value by determining a CTU-dependent value for each coding tree unit of the plurality of coding tree units of each of the plurality of tiles of the picture, wherein the CTU-dependent value of the coding tree unit depends on whether the coding tree unit is a partial unit or whether the coding tree unit is a full unit,
wherein the coding tree unit is a partial unit, if the number of samples of the coding tree unit is smaller than a predefined sample number, and
wherein the coding tree unit is a full unit, if the number of samples of the coding tree unit is not smaller than the predefined sample number.
A video decoder (151) according to claim 51 ,
wherein a predefined minimum size exists, so that each of the plurality of coding tree units of each of the plurality of pictures being a partial unit comprises at least the predefined minimum size of the plurality of samples of the picture.
A video decoder (151) according to claim 52,
wherein each of the plurality of coding tree units of each of the plurality of pictures being a partial unit comprises has a minimum horizontal sample length and a minimum vertical sample length, wherein a number of samples of the minimum horizontal sample length is equal to a number of samples of the minimum vertical sample length.
54. A video decoder (151) according to one of claims 51 to 53,
wherein, for each picture of the plurality of pictures, the data decoder (170) is configured to determine the complexity value by adding the CTU-dependent values of the plurality of coding tree units of the plurality of tiles of the picture.
55. A video decoder (151) according to claim 54,
wherein, for each picture of the plurality of pictures, the data decoder (170) is configured to determine the CTU-dependent value for each coding tree unit of the plurality of coding tree units of each of the plurality of tiles of the picture,
such that the CTU-dependent value depends on the number of samples of the coding tree unit, if the coding tree unit is a full unit, and
such that the CTU-dependent value depends on the number of samples of the coding tree unit and further depends on a complexity factor, if the coding tree unit is a partial unit.
56. A video decoder (151) according to claim 55,
wherein, for each picture of the plurality of pictures, the data decoder (170) is configured to determine the CTU-dependent value for each coding tree unit of the plurality of coding tree units of each of the plurality of tiles of the picture,
such that the CTU-dependent value is the number of samples of the coding tree unit, if the coding tree unit is a full unit, and
such that the CTU-dependent value is a product of the complexity factor times the number of samples of the coding tree unit, if the coding tree unit is a partial unit, wherein the complexity factor is a scalar value being different from 0.
57. A video decoder (151) according to claim 51 ,
wherein, for each picture of the plurality of pictures, the data decoder (170) is configured to determine the CTU-dependent value for each coding tree unit of the plurality of coding tree units of each of the plurality of tiles of the picture,
such that the CTU-dependent value of the coding tree unit depends on the number of samples of the coding tree unit, if the coding tree unit is a full unit, and
such that the CTU-dependent value of the coding tree unit is equal to the CTU- dependent value of another one of the plurality of coding tree units being a full unit, if the coding tree unit is a partial unit.
58. A video decoder (151 ) for decoding an encoded video signal comprising encoded picture data to reconstruct a plurality of pictures of a video, wherein the video decoder (151 ) comprises:
an input interface (160) configured for receiving the encoded video signal, and
a data decoder (170) configured for reconstructing the plurality of pictures of the video by decoding the encoded picture data,
wherein, for each picture of the plurality of pictures, the picture is partitioned into a plurality of tiles comprising a plurality of coding tree units of the picture, wherein each coding tree unit of the plurality of coding tree units comprises a plurality of samples of the picture,
wherein, for each picture of the plurality of pictures, each coding tree unit of the plurality of coding tree units of each of the plurality of tiles of the picture, the coding tree unit is either a partial unit or a full unit, wherein the coding tree unit is the partial unit, if the number of samples of the coding tree unit is smaller than a predefined sample number, and wherein the coding tree unit is the full unit, if the number of samples of the coding tree unit is not smaller than the predefined sample number,
wherein the encoded video signal further comprises indication data providing information on a number of the coding tree units that are partial units among the
plurality of coding tree units of a tile of the plurality of tiles of a picture of the plurality of pictures,
wherein, for each picture of the plurality of pictures, the data decoder (170) is configured to decode depending on the indication data the encoded picture data of each of the plurality of tiles of the picture independently from the encoded picture data of any other tile of the plurality of tiles of the picture to obtain original picture data of the plurality of coding tree units of each of the plurality of pictures.
59. A video decoder (151) according to claim 58,
wherein the indication data indicates a maximum number of the coding tree units that are the partial units among the plurality of coding tree units of the tile.
60. A video decoder (151) according to claim 59,
wherein the maximum number of the coding tree units that are the partial units among the plurality of coding tree units of the tile depends on a maximum tile size.
61. A video decoder (151) according to claim 59 or 60,
wherein the maximum number of the coding tree units that are the partial units among the plurality of coding tree units of the tile depends on a first number of samples of one of the plurality of coding tree units which is a full unit, the first number being the predefined sample number, and further depends on a second number of samples of another one of the plurality of coding tree units which is a partial unit.
62. A video decoder (151) according to one of claims 58 to 61 ,
wherein the indication data indicates a relative amount of the coding tree units that are the partial units among the plurality of coding tree units of the tile.
63. A video decoder (151) for decoding an encoded video signal comprising encoded picture data to reconstruct a plurality of pictures of a video, wherein the video decoder (151) comprises:
an input interface (160) configured for receiving the encoded video signal, and
a data decoder (170) configured for reconstructing the plurality of pictures of the video by decoding the encoded picture data,
wherein, for each picture of the plurality of pictures, the picture is partitioned into a plurality of tiles comprising a plurality of coding tree units of the picture, wherein each coding tree unit of the plurality of coding tree units comprises a plurality of samples of the picture, wherein for each coding tree unit of the plurality of coding tree units of each of the plurality of tiles of the picture, the coding tree unit is either a partial unit or a full unit, wherein the coding tree unit is the partial unit, if the number of samples of the coding tree unit is smaller than a predefined sample number, and wherein the coding tree unit is the full unit, if the number of samples of the coding tree unit is not smaller than the predefined sample number,
wherein for at least two pictures of the plurality of pictures, the picture is partitioned such that the at least two pictures have a same partial-to-full-unit ratio, wherein the partial-to-full-unit ratio defines for a picture of the plurality of pictures a ratio of a number of the coding tree units of the picture that are partial units to a number of the coding tree units of the picture that are full units,
wherein, for each picture of the plurality of pictures, the data decoder (170) is configured to decode the encoded picture data of each of the plurality of tiles of the picture independently from the encoded picture data of any other tile of the plurality of tiles of the picture to obtain original picture data of the plurality of coding tree units of each of the plurality of pictures.
A video decoder (151) according to claim 63,
wherein for each of the plurality of pictures, the picture is partitioned such that each of the plurality of pictures has the partial-to-full-unit ratio being smaller than a threshold value.
A video decoder (151) according to claim 64,
wherein the threshold value is 1.
66. A video decoder (151) according to one of claims 63 to 65
wherein for each of the plurality of pictures, the picture is partitioned such that the plurality of pictures have the same partial-to-full-unit ratio.
A video decoder (151) according to one of claims 45 to 49 or according to one of claims 51 to 66, wherein for each tile of the plurality of tiles of each picture of the plurality of pictures, coding tree units of the tile that are partial units appear only at a bottom border or at a right border of the tile.
A video decoder (151 ) for decoding an encoded video signal comprising encoded picture data to reconstruct a plurality of pictures of a video, wherein the video decoder (151) comprises:
an input interface (160) configured for receiving the encoded video signal, and
a data decoder (170) configured for reconstructing the plurality of pictures of the video by decoding the encoded picture data,
wherein, for each picture of the plurality of pictures, the picture is partitioned into a plurality of tiles comprising a plurality of coding tree units of the picture, wherein each coding tree unit of the plurality of coding tree units comprises a plurality of samples of the picture and has a position within the picture,
wherein the plurality of pictures comprises a current picture and a reference picture,
wherein for each coding tree unit of the coding tree units of the current picture, the coding tree unit is correctly aligned, if another coding tree unit among the plurality of coding tree units of the reference picture exists, the position of said another coding tree unit within the reference picture being equal to the position of said coding tree unit within the current picture,
wherein for each coding tree unit of the coding tree units of the current picture, the coding tree unit is misaligned, if no other coding tree unit among the plurality of coding tree units of the reference picture exists, having a position within the reference picture being equal to the position of said coding tree unit within the current picture,
wherein the current picture is partitioned into the plurality of tiles such that a ratio between the coding tree units of the current picture being misaligned to the coding tree units of the current picture being correctly aligned is not greater than a threshold value,
wherein, for each picture of the plurality of pictures, the data decoder (170) is configured to decode the encoded picture data of each of the plurality of tiles of the picture independently from the encoded picture data of any other tile of the plurality of tiles of the picture to obtain original picture data of the plurality of coding tree units of each of the plurality of pictures.
69. A video decoder (151) according to claim 68,
wherein for each coding tree unit of the plurality of coding tree units of each of the plurality of tiles of the picture, the coding tree unit is either a partial unit or a full unit, wherein the coding tree unit is the partial unit, if the number of samples of the coding tree unit is smaller than a predefined sample number, and wherein the coding tree unit is the full unit, if the number of samples of the coding tree unit is not smaller than the predefined sample number,
wherein two or more of the plurality of coding tree units being said full unit and wherein at least one of the plurality of coding tree units being said partial unit.
70. A video decoder (151 ) according to claim 68 or 69,
wherein the data decoder (170) is configured to receive a bitstream comprising the threshold value.
71. A video decoder (151) according to one of claims 68 to 70,
wherein the threshold value is smaller than 1.
72. A video decoder (151) for decoding an encoded video signal comprising encoded picture data to reconstruct a plurality of pictures of a video, wherein the video decoder (151) comprises:
an input interface (160) configured for receiving the encoded video signal, and
a data decoder (170) configured for reconstructing the plurality of pictures of the video by decoding the encoded picture data,
wherein, for each picture of the plurality of pictures, the picture is partitioned into a plurality of tiles comprising a plurality of coding tree units of the picture by defining a plurality of tile boundaries for each tile of the plurality of tiles, wherein each coding tree unit of the plurality of coding tree units of each picture of the plurality of pictures comprises a plurality of samples of the picture,
wherein, for each picture of the plurality of pictures, the data decoder (170) is configured to decode, depending on the plurality of tile boundaries of each tile of the plurality of tiles of the picture, the encoded picture data of said tile independently from the encoded picture data of any other tile of the plurality of tiles of the picture to obtain original picture data of the plurality of coding tree units of each of the plurality of pictures,
wherein each tile boundary of the plurality of tile boundaries of each of the plurality of tiles of each of the plurality of pictures is either assigned to a first set of tile boundaries or is assigned to a second set of tile boundaries,
wherein the data decoder (170) is configured to change a decoding scan order at a first tile boundary of the plurality of tile boundaries of a first tile of the plurality of tiles of a picture of the plurality of pictures, when decoding the encoded picture data, if said tile boundary is assigned to the first set of tile boundaries, and
wherein the data decoder (170) is configured to not change the decoding scan order at a second tile boundary of the plurality of tile boundaries of a second tile of the plurality of tiles of a picture of the plurality of pictures, when decoding the encoded picture data, if said tile boundary is assigned to the second set of tile boundaries.
73. A video decoder (151) according to claim 72,
wherein the data decoder (170) is configured to apply an intra prediction constraint at a third tile boundary of the plurality of tile boundaries of a third tile of the plurality of tiles of a picture of the plurality of pictures, when decoding the encoded picture data, if said tile boundary is assigned to the first set of tile boundaries, and
wherein the data decoder (170) is configured to not apply the intra prediction constraint at a fourth tile boundary of the plurality of tile boundaries of a fourth tile of the plurality of tiles of a picture of the plurality of pictures, when decoding the encoded picture data, if said tile boundary is assigned to the second set of tile boundaries.
74. A video decoder (151) according to claim 73,
wherein the data decoder (170) is configured to conduct an entropy coding reset constraint at a fifth tile boundary of the plurality of tile boundaries of a fifth tile of the plurality of tiles of a picture of the plurality of pictures, when decoding the encoded picture data, if said tile boundary is assigned to the first set of tile boundaries, and
wherein the data decoder (170) is configured to not conduct the entropy coding reset at a sixth tile boundary of the plurality of tile boundaries of a sixth tile of the plurality of tiles of a picture of the plurality of pictures, when decoding the encoded picture data, if said tile boundary is assigned to the second set of tile boundaries.
75. A video decoder (151) according to one of claims 72 to 74,
wherein each coding tree unit of the plurality of coding tree units of each picture of the plurality of pictures has a position within the picture,
wherein the plurality of pictures comprises a current picture and a reference picture,
wherein for each coding tree unit of the coding tree units of the current picture, the coding tree unit is correctly aligned, if another coding tree unit among the plurality of coding tree units of the reference picture exists, the position of said another coding tree unit within the reference picture being equal to the position of said coding tree unit within the current picture,
wherein for each coding tree unit of the coding tree units of the current picture, the coding tree unit is misaligned, if no other coding tree unit among the plurality of coding tree units of the reference picture exists, having a position within the reference picture being equal to the position of said coding tree unit within the current picture,
wherein the current picture is partitioned into the plurality of tiles such that more than half of the coding tree units of the current picture are correctly aligned, and such that less than half of the coding tree units of the current picture are misaligned.
A video decoder (151) according to claim 75,
wherein, for each picture of the one or more subsequent pictures, the picture is partitioned into the plurality of tiles such that all of the coding tree units of the picture are correctly aligned, and such that none of the coding tree units of the picture are misaligned.
A video decoder (151 ) for decoding an encoded video signal comprising encoded picture data to reconstruct a plurality of pictures of a video, wherein the video decoder (151 ) comprises:
an input interface (160) configured for receiving the encoded video signal, and
a data decoder (170) configured for reconstructing the plurality of pictures of the video by decoding the encoded picture data,
wherein, for each picture of the plurality of pictures, the picture is partitioned into a plurality of tiles comprising a plurality of coding tree units of the picture, wherein each coding tree unit of the plurality of coding tree units comprises a plurality of samples of the picture and has a position within the picture,
wherein the plurality of pictures comprises a current picture and a reference picture,
wherein for each coding tree unit of the coding tree units of the current picture, the coding tree unit is correctly aligned, if another coding tree unit among the plurality of coding tree units of the reference picture exists, the position of said another coding tree unit within the reference picture being equal to the position of said coding tree unit within the current picture,
wherein for each coding tree unit of the coding tree units of the current picture, the coding tree unit is misaligned, if no other coding tree unit among the plurality of coding tree units of the reference picture exists, having a position within the reference picture being equal to the position of said coding tree unit within the current picture,
wherein the plurality of coding tree units of the current picture is arranged within the current picture such that the plurality of coding tree units of the current picture form one or more rows of coding tree units of the current picture,
wherein the current picture is partitioned such that there exists no row among the one or more rows of the current picture where any coding tree unit of said row is misaligned,
wherein the data decoder (170) is configured to decode the encoded picture data of each of the plurality of tiles of the current picture independently from the encoded picture data of any other tile of the plurality of tiles of the current picture to obtain original picture data of the plurality of coding tree units of the current picture.
A video decoder (151) according to claim 77,
wherein the data decoder (170) is configured to receive the encoded video signal comprising an indication that no row among the one or more rows of the picture exists, where any coding tree unit of said row is misaligned,
wherein the data decoder (170) is configured to decode the encoded picture data of each of the plurality of tiles of the current picture depending on the indication independently from the encoded picture data of any other tile of the plurality of tiles of the current picture to obtain original picture data of the plurality of coding tree units of the current picture.
A video decoder (151) for decoding an encoded video signal comprising encoded picture data to reconstruct a plurality of pictures of a video, wherein the video decoder (151) comprises:
an input interface (160) configured for receiving the encoded video signal, and
a data decoder (170) configured for reconstructing the plurality of pictures of the video by decoding the encoded picture data,
wherein, for each picture of the plurality of pictures, the picture is partitioned into a plurality of tiles comprising a plurality of coding tree units of the picture, wherein each coding tree unit of the plurality of coding tree units comprises a plurality of samples of the picture and has a position within the picture,
wherein the plurality of pictures comprises a current picture and a reference picture, wherein the reference picture precedes the current picture in time,
wherein the data decoder (170) is configured to determine a motion vector of the current picture depending on a motion vector of the reference picture and depending on how the current picture is partitioned into the plurality of tiles of the current picture, and
wherein, for each picture of the plurality of pictures, the data decoder (170) is configured to decode, depending on the motion vector of the current picture, the encoded picture data of each of the plurality of tiles of the picture independently from the encoded picture data of any other tile of the plurality of tiles of the picture to obtain original picture data of the plurality of coding tree units of each of the plurality of pictures.
A video decoder (151) according to claim 79,
wherein the data decoder (170) is configured to determine the motion vector of the current picture by selecting a first motion vector predictor at a first location within the reference picture or a second motion vector predictor at a second location within the reference picture depending on a location of the motion vector of the current picture and depending on how the current picture is partitioned.
A video decoder (151) according to claim 80,
wherein for each coding tree unit of the coding tree units of the current picture, the coding tree unit is misaligned, if no other coding tree unit among the plurality of coding tree units of the reference picture exists, having a position within the reference picture being equal to the position of said coding tree unit within the current picture, and
wherein at least two coding tree units of the plurality of coding tree units of the current picture are misaligned.
82. A video decoder (151) according to claim 79,
wherein the data decoder (170) is configured to determine a motion vector of the current picture
by determining a position of a related block in the reference picture depending on how the current picture is partitioned,
by determining a location of a motion vector predictor in the reference picture depending on a location of the motion vector in the current block, and
by applying a clipping operation on the location of the motion vector predictor in the reference picture to adapt the location of the motion vector predictor in the reference picture depending on how the current picture is partitioned.
A video decoder (151) according to one of claims 68 to 82,
wherein, for each picture of the plurality of pictures, each coding tree unit of the plurality of coding tree units of the picture is either a partial unit or a full unit, wherein the coding tree unit is the partial unit, if the number of samples of the coding tree unit is smaller than a predefined sample number, and wherein the coding tree unit is the full unit, if the number of samples of the coding tree unit is not smaller than the predefined sample number,
wherein for each tile of the plurality of tiles of each picture of the plurality of pictures, coding tree units of the tile that are partial units appear only at a bottom border or at a right border of the tile.
A video decoder (151) for decoding an encoded video signal comprising encoded picture data to reconstruct a plurality of pictures of a video, wherein the video decoder (151) comprises:
an input interface (160) configured for receiving the encoded video signal, and
a data decoder (170) configured for reconstructing the plurality of pictures of the video by decoding the encoded picture data,
wherein, for each picture of the plurality of pictures, the picture is partitioned into a plurality of tiles comprising a plurality of coding tree units of the picture, wherein each coding tree unit of the plurality of coding tree units comprises a plurality of samples of the picture,
wherein the encoded video signal further comprises a first flag that indicates for a current picture of the plurality of pictures, whether a reference picture of the plurality of pictures being different from the current picture has been used for encoding the current picture,
wherein, for a picture of the plurality of pictures, the data decoder (170) is configured to decode the encoded picture data of each of the plurality of tiles of the picture depending on the first flag to obtain original picture data of the plurality of coding tree units of each of the plurality of pictures.
A video decoder (151 ) according to claim 84,
wherein the encoded video signal further comprises a second flag that indicates whether current picture referencing is used, wherein using the current picture referencing comprises copying a reference block of a picture of the plurality of pictures to a current block of said picture, being different from the reference block,
wherein the data decoder (170) is configured to decode the encoded picture data of each of the plurality of tiles of said picture depending on the second flag.
A video decoder (151) according to claim 84 or 85,
wherein the encoded video signal further comprises a syntax element that indicates a number of reference picture lists that are used in prediction,
wherein the data decoder (170) is configured to decode the encoded picture data of each of the plurality of tiles of said picture depending on the syntax element.
87. A video decoder (151) according to claim 86,
wherein the syntax element that indicates the number of the reference picture lists that are used in prediction is set to a value 0 or to a value 1 or to a value 2, but not to a different value.
88. A video decoder (151 ) according to claim 86,
wherein the syntax element that indicates the number of the reference picture lists that are used in prediction is set to a value 0 or to a value 1 or to a value 2 or to an integer value being greater than 2.
89. A method for encoding a plurality of pictures of a video by generating an encoded video signal, wherein each of the plurality of pictures comprises original picture data, wherein method comprises:
generating the encoded video signal comprising encoded picture data, wherein the data encoder is configured to encode the plurality of pictures of the video into the encoded picture data, and
outputting the encoded picture data of each of the plurality of pictures,
wherein the method further comprises:
for each picture of the plurality of pictures, partitioning the picture into a plurality of tiles comprising a plurality of coding tree units of the picture, wherein each coding tree unit of the plurality of coding tree units comprises a plurality of samples of the picture,
wherein, for each picture of the plurality of pictures, each coding tree unit of the plurality of coding tree units of the picture is either a partial unit or a full unit, wherein the coding tree unit is the partial unit, if the number of samples of the coding tree unit is smaller than a predefined sample number, and wherein the coding tree unit is the full unit, if the number of samples of the coding tree unit is not smaller than the predefined sample number,
wherein partitioning each of the plurality of pictures is conducted such that each picture of the plurality of pictures comprises a same first number of partial units among the plurality of coding tree units of the picture,
wherein, for each picture of the plurality of pictures, encoding the original picture data of each of the plurality of tiles of the picture is conducted independently from the original picture data of any other tile of the plurality of tiles of the picture.
A method for decoding an encoded video signal comprising encoded picture data to reconstruct a plurality of pictures of a video, wherein the method comprises:
receiving the encoded video signal, and
reconstructing the plurality of pictures of the video by decoding the encoded picture data,
wherein, for each picture of the plurality of pictures, the picture is partitioned into a plurality of tiles comprising a plurality of coding tree units of the picture, wherein each coding tree unit of the plurality of coding tree units comprises a plurality of samples of the picture,
wherein, for each picture of the plurality of pictures, each coding tree unit of the plurality of coding tree units of the picture is either a partial unit or a full unit, wherein the coding tree unit is the partial unit, if the number of samples of the coding tree unit is smaller than a predefined sample number, and wherein the coding tree unit is the full unit, if the number of samples of the coding tree unit is not smaller than the predefined sample number,
wherein each of the plurality of pictures is partitioned such that each picture of the plurality of pictures comprises a same first number of partial units among the plurality of coding tree units of the picture,
wherein, for each picture of the plurality of pictures, decoding the encoded picture data of each of the plurality of tiles of the picture is conducted independently from the encoded picture data of any other tile of the plurality of tiles of the picture.
A computer program for implementing the method of claim 89 or 90 when being executed on a computer or signal processor.
An encoded video signal encoding a picture, wherein the encoded video signal comprises encoded picture data encoding the picture,
wherein, for each picture of the plurality of pictures, the picture is partitioned into a plurality of tiles comprising a plurality of coding tree units of the picture, wherein each coding tree unit of the plurality of coding tree units comprises a plurality of samples of the picture,
wherein, for each picture of the plurality of pictures, each coding tree unit of the plurality of coding tree units of the picture is either a partial unit or a full unit, wherein the coding tree unit is the partial unit, if the number of samples of the coding tree unit is smaller than a predefined sample number, and wherein the coding tree unit is the full unit, if the number of samples of the coding tree unit is not smaller than the predefined sample number,
wherein partitioning each of the plurality of pictures is conducted such that each picture of the plurality of pictures comprises a same first number of partial units among the plurality of coding tree units of the picture,
wherein, for each picture of the plurality of pictures, the original picture data of each of the plurality of tiles of the picture is encoded within the encoded video signal independently from the original picture data of any other tile of the plurality of tiles of the picture.
A system comprising:
the video encoder (101) according to one of claims 1 to 5, and
the video decoder (151) according to one of claims 45 to 49,
wherein the video encoder (101) configured to generate the encoded video signal, and
wherein the video decoder (151) is configured to decode the encoded video signal to reconstruct the picture of the video.
A method for encoding a plurality of pictures of a video by generating an encoded video signal, wherein each of the plurality of pictures comprises original picture data, wherein the method comprises:
generating the encoded video signal comprising encoded picture data, wherein the data encoder is configured to encode the plurality of pictures of the video into the encoded picture data, and
outputting the encoded picture data of each of the plurality of pictures,
wherein, for each picture of the plurality of pictures, a partitioning of the picture defines in a first way, how the picture is partitioned into a plurality of tiles comprising a plurality of coding tree units of the picture, wherein each coding tree unit of the plurality of coding tree units comprises a plurality of samples of the picture,
wherein the method further comprises
for each picture of the plurality of pictures, determine a complexity value depending on a number of samples of each of the plurality of coding tree units of each of the plurality of tiles of the picture,
if the complexity value is greater than a complexity threshold value, adapting the partitioning of the picture and is configured to define in a different, second way, how the picture is partitioned,
wherein, for each picture of the plurality of pictures, encoding, depending on the partitioning of the picture, the original picture data of each of the plurality of tiles of the picture independently from the original picture data of any other tile of the plurality of tiles of the picture.
A method for decoding an encoded video signal comprising encoded picture data to reconstruct a plurality of pictures of a video, wherein the method comprises:
receiving the encoded video signal, and
reconstructing the plurality of pictures of the video by decoding the encoded picture data,
for each picture of the plurality of pictures, the picture is partitioned into a plurality of tiles comprising a plurality of coding tree units of the picture, wherein each
coding tree unit of the plurality of coding tree units comprises a plurality of samples of the picture,
wherein the method further comprises:
5
for each picture of the plurality of pictures, determining a complexity value depending on a number of samples of each of the plurality of coding tree units of each of the plurality of tiles of the picture, and
10 for each picture of the plurality of pictures, decoding depending on the complexity value the encoded picture data of each of the plurality of tiles of the picture independently from the encoded picture data of any other tile of the plurality of tiles of the picture to obtain original picture data of the plurality of coding tree units of each of the plurality of pictures.
15
96. A computer program for implementing the method of claim 94 or 95 when being executed on a computer or signal processor.
97. An encoded video signal encoding a picture, wherein the encoded video signal
20 comprises encoded picture data encoding the picture,
wherein, for each picture of the plurality of pictures, the picture is partitioned into a plurality of tiles comprising a plurality of coding tree units of the picture, wherein each coding tree unit of the plurality of coding tree units comprises a plurality of 25 samples of the picture,
wherein the partitioning of the picture depends on whether a complexity value is greater than a complexity threshold value, wherein the complexity value depends on a number of samples of each of the plurality of coding tree units of each of the 30 plurality of tiles of the picture,
wherein, for each picture of the plurality of pictures, original picture data of each of the plurality of tiles of the picture is encoded within the encoded video signal independently from original picture data of any other tile of the plurality of tiles of 35 the picture.
98. A system comprising:
the video encoder (101) according to one of claims 6 to 13, and
the video decoder (151) according to one of claims 50 to 57,
wherein the video encoder (101) configured to generate the encoded video signal, and
wherein the video decoder (151) is configured to decode the encoded video signal to reconstruct the picture of the video.
99. A method for encoding a plurality of pictures of a video by generating an encoded video signal, wherein each of the plurality of pictures comprises original picture data, wherein the method comprises:
generating the encoded video signal comprising encoded picture data, wherein the data encoder is configured to encode the plurality of pictures of the video into the encoded picture data, and
outputting the encoded picture data of each of the plurality of pictures,
wherein, for each picture of the plurality of pictures, the picture is partitioned into a plurality of tiles comprising a plurality of coding tree units of the picture, wherein each coding tree unit of the plurality of coding tree units comprises a plurality of samples of the picture,
wherein, for each picture of the plurality of pictures, each coding tree unit of the plurality of coding tree units of each of the plurality of tiles of the picture, the coding tree unit is either a partial unit or a full unit, wherein the coding tree unit is the partial unit, if the number of samples of the coding tree unit is smaller than a predefined sample number, and wherein the coding tree unit is the full unit, if the number of samples of the coding tree unit is not smaller than the predefined sample number,
wherein the method further comprises:
for each picture of the plurality of pictures, encoding the original picture data of each of the plurality of tiles of the picture independently from the original picture data of any other tile of the plurality of tiles of the picture,
wherein generating the encoded video signal is conducted such that the encoded video signal further comprises indication data providing information on a number of the coding tree units that are partial units among the plurality of coding tree units of a tile of the plurality of tiles of a picture of the plurality of pictures.
100. A method for decoding an encoded video signal comprising encoded picture data to reconstruct a plurality of pictures of a video, wherein the method comprises:
receiving the encoded video signal, and
reconstructing the plurality of pictures of the video by decoding the encoded picture data,
wherein, for each picture of the plurality of pictures, the picture is partitioned into a plurality of tiles comprising a plurality of coding tree units of the picture, wherein each coding tree unit of the plurality of coding tree units comprises a plurality of samples of the picture,
wherein, for each picture of the plurality of pictures, each coding tree unit of the plurality of coding tree units of each of the plurality of tiles of the picture, the coding tree unit is either a partial unit or a full unit, wherein the coding tree unit is the partial unit, if the number of samples of the coding tree unit is smaller than a predefined sample number, and wherein the coding tree unit is the full unit, if the number of samples of the coding tree unit is not smaller than the predefined sample number,
wherein the encoded video signal further comprises indication data providing information on a number of the coding tree units that are partial units among the plurality of coding tree units of a tile of the plurality of tiles of a picture of the plurality of pictures,
wherein the method further comprises:
for each picture of the plurality of pictures, decoding depending on the indication data the encoded picture data of each of the plurality of tiles of the picture independently from the encoded picture data of any other tile of the plurality of tiles of the picture to obtain original picture data of the plurality of coding tree units of each of the plurality of pictures.
101. A computer program for implementing the method of claim 99 or 100 when being executed on a computer or signal processor.
102. An encoded video signal encoding a picture, wherein the encoded video signal comprises encoded picture data encoding the picture,
wherein, for each picture of the plurality of pictures, the picture is partitioned into a plurality of tiles comprising a plurality of coding tree units of the picture, wherein each coding tree unit of the plurality of coding tree units comprises a plurality of samples of the picture,
wherein, for each picture of the plurality of pictures, each coding tree unit of the plurality of coding tree units of each of the plurality of tiles of the picture, the coding tree unit is either a partial unit or a full unit, wherein the coding tree unit is the partial unit, if the number of samples of the coding tree unit is smaller than a predefined sample number, and wherein the coding tree unit is the full unit, if the number of samples of the coding tree unit is not smaller than the predefined sample number,
wherein, for each picture of the plurality of pictures, the original picture data of each of the plurality of tiles of the picture is encoded independently from the original picture data of any other tile of the plurality of tiles of the picture within the encoded video signal,
wherein the encoded video signal further comprises indication data providing information on a number of the coding tree units that are partial units among the plurality of coding tree units of a tile of the plurality of tiles of a picture of the plurality of pictures.
103. A system comprising:
the video encoder (101) according to one of claims 14 to 18, and
the video decoder (151) according to one of claims 58 to 62,
wherein the video encoder (101) configured to generate the encoded video signal, and
wherein the video decoder (151) is configured to decode the encoded video signal to reconstruct the picture of the video.
104. A method for encoding a plurality of pictures of a video by generating an encoded video signal, wherein each of the plurality of pictures comprises original picture data, wherein the method comprises:
generating the encoded video signal comprising encoded picture data, wherein the data encoder is configured to encode the plurality of pictures of the video into the encoded picture data, and
outputting the encoded picture data of each of the plurality of pictures,
wherein the method further comprises:
for each picture of the plurality of pictures, partitioning the picture into a plurality of tiles comprising a plurality of coding tree units of the picture, wherein each coding tree unit of the plurality of coding tree units comprises a plurality of samples of the picture, wherein for each coding tree unit of the plurality of coding tree units of each of the plurality of tiles of the picture, the coding tree unit is either a partial unit or a full unit, wherein the coding tree unit is the partial unit, if the number of samples of the coding tree unit is smaller than a predefined sample number, and wherein the coding tree unit is the full unit, if the number of samples of the coding tree unit is not smaller than the predefined sample number,
wherein for at least two pictures of the plurality of pictures, partitioning the picture is conducted such that the at least two pictures have a same partial-to-full-unit ratio, wherein the partial-to-full-unit ratio defines for a picture of the plurality of pictures a ratio of a number of the coding tree units of the picture that are partial units to a number of the coding tree units of the picture that are full units,
wherein, for each picture of the plurality of pictures, the original picture data of each of the plurality of tiles of the picture is encoded independently from the original picture data of any other tile of the plurality of tiles of the picture.
105. A method for decoding an encoded video signal comprising encoded picture data to reconstruct a plurality of pictures of a video, wherein method comprises:
receiving the encoded video signal, and
reconstructing the plurality of pictures of the video by decoding the encoded picture data,
wherein, for each picture of the plurality of pictures, the picture is partitioned into a plurality of tiles comprising a plurality of coding tree units of the picture, wherein each coding tree unit of the plurality of coding tree units comprises a plurality of samples of the picture, wherein for each coding tree unit of the plurality of coding tree units of each of the plurality of tiles of the picture, the coding tree unit is either a partial unit or a full unit, wherein the coding tree unit is the partial unit, if the number of samples of the coding tree unit is smaller than a predefined sample number, and wherein the coding tree unit is the full unit, if the number of samples of the coding tree unit is not smaller than the predefined sample number,
wherein for at least two pictures of the plurality of pictures, the picture is partitioned such that the at least two pictures have a same partial-to-full-unit ratio, wherein the partial-to-full-unit ratio defines for a picture of the plurality of pictures a ratio of a number of the coding tree units of the picture that are partial units to a number of the coding tree units of the picture that are full units,
wherein, for each picture of the plurality of pictures, decoding the encoded picture data of each of the plurality of tiles of the picture is conducted independently from the encoded picture data of any other tile of the plurality of tiles of the picture to obtain original picture data of the plurality of coding tree units of each of the plurality of pictures.
106. A computer program for implementing the method of claim 104 or 105 when being executed on a computer or signal processor.
107. An encoded video signal encoding a picture, wherein the encoded video signal comprises encoded picture data encoding the picture,
wherein, for each picture of the plurality of pictures, the picture is partitioned into a plurality of tiles comprising a plurality of coding tree units of the picture, wherein each coding tree unit of the plurality of coding tree units comprises a plurality of samples of the picture, wherein for each coding tree unit of the plurality of coding tree units of each of the plurality of tiles of the picture, the coding tree unit is either a partial unit or a full unit, wherein the coding tree unit is the partial unit, if the number of samples of the coding tree unit is smaller than a predefined sample number, and wherein the coding tree unit is the full unit, if the number of samples of the coding tree unit is not smaller than the predefined sample number,
wherein for at least two pictures of the plurality of pictures, the picture is partitioned such that the at least two pictures have a same partial-to-full-unit ratio, wherein the partial-to-full-unit ratio defines for a picture of the plurality of pictures a ratio of a number of the coding tree units of the picture that are partial units to a number of the coding tree units of the picture that are full units,
wherein, for each picture of the plurality of pictures, the original picture data of each of the plurality of tiles of the picture is encoded within the encoded video signal independently from the original picture data of any other tile of the plurality of tiles of the picture.
108. A system comprising:
the video encoder (101) according to one of claims 19 to 22, and
the video decoder (151) according to one of claims 63 to 66,
wherein the video encoder (101) configured to generate the encoded video signal and
wherein the video decoder (151) is configured to decode the encoded video signal to reconstruct the picture of the video.
109. A method for encoding a plurality of pictures of a video by generating an encoded video signal, wherein each of the plurality of pictures comprises original picture data, wherein the method comprises:
generating the encoded video signal comprising encoded picture data, wherein the data encoder is configured to encode the plurality of pictures of the video into the encoded picture data, and
outputting the encoded picture data of each of the plurality of pictures,
wherein the method further comprises;
for each picture of the plurality of pictures, partitioning the picture into a plurality of tiles comprising a plurality of coding tree units of the picture, wherein each coding tree unit of the plurality of coding tree units comprises a plurality of samples of the picture and has a position within the picture,
wherein the plurality of pictures comprises a current picture and a reference picture,
wherein for each coding tree unit of the coding tree units of the current picture, the coding tree unit is correctly aligned, if another coding tree unit among the plurality of coding tree units of the reference picture exists, the position of said another coding tree unit within the reference picture being equal to the position of said coding tree unit within the current picture,
wherein for each coding tree unit of the coding tree units of the current picture, the coding tree unit is misaligned, if no other coding tree unit among the plurality of coding tree units of the reference picture exists, having a position within the reference picture being equal to the position of said coding tree unit within the current picture,
wherein partitioning the current picture into the plurality of tiles is conducted such that a ratio between the coding tree units of the current picture being misaligned to the coding tree units of the current picture being correctly aligned is not greater than a threshold value,
wherein, for each picture of the plurality of pictures, the original picture data of each of the plurality of tiles of the picture is encoded independently from the original picture data of any other tile of the plurality of tiles of the picture.
110. A method for decoding an encoded video signal comprising encoded picture data to reconstruct a plurality of pictures of a video, wherein the method comprises;
receiving the encoded video signal, and
reconstructing the plurality of pictures of the video by decoding the encoded picture data,
wherein, for each picture of the plurality of pictures, the picture is partitioned into a plurality of tiles comprising a plurality of coding tree units of the picture, wherein each coding tree unit of the plurality of coding tree units comprises a plurality of samples of the picture and has a position within the picture,
wherein the plurality of pictures comprises a current picture and a reference picture,
wherein for each coding tree unit of the coding tree units of the current picture, the coding tree unit is correctly aligned, if another coding tree unit among the plurality of coding tree units of the reference picture exists, the position of said another coding tree unit within the reference picture being equal to the position of said coding tree unit within the current picture,
wherein for each coding tree unit of the coding tree units of the current picture, the coding tree unit is misaligned, if no other coding tree unit among the plurality of coding tree units of the reference picture exists, having a position within the reference picture being equal to the position of said coding tree unit within the current picture,
wherein the current picture is partitioned into the plurality of tiles such that a ratio between the coding tree units of the current picture being misaligned to the coding tree units of the current picture being correctly aligned is not greater than a threshold value,
wherein, for each picture of the plurality of pictures, the encoded picture data of each of the plurality of tiles of the picture is decoded independently from the encoded picture data of any other tile of the plurality of tiles of the picture to obtain original picture data of the plurality of coding tree units of each of the plurality of pictures.
11 1. A computer program for implementing the method of claim 109 or 110 when being executed on a computer or signal processor.
112. An encoded video signal encoding a picture, wherein the encoded video signal comprises encoded picture data encoding the picture,
wherein, for each picture of the plurality of pictures, the picture is partitioned into a plurality of tiles comprising a plurality of coding tree units of the picture, wherein each coding tree unit of the plurality of coding tree units comprises a plurality of samples of the picture and has a position within the picture,
wherein the plurality of pictures comprises a current picture and a reference picture,
wherein for each coding tree unit of the coding tree units of the current picture, the coding tree unit is correctly aligned, if another coding tree unit among the plurality of coding tree units of the reference picture exists, the position of said another coding tree unit within the reference picture being equal to the position of said coding tree unit within the current picture,
wherein for each coding tree unit of the coding tree units of the current picture, the coding tree unit is misaligned, if no other coding tree unit among the plurality of coding tree units of the reference picture exists, having a position within the reference picture being equal to the position of said coding tree unit within the current picture,
wherein the current picture is partitioned into the plurality of tiles is conducted such that a ratio between the coding tree units of the current picture being misaligned to the coding tree units of the current picture being correctly aligned is not greater than a threshold value,
wherein, for each picture of the plurality of pictures, the original picture data of each of the plurality of tiles of the picture is encoded within the encoded video signal independently from the original picture data of any other tile of the plurality of tiles of the picture.
1 13. A system comprising;
the video encoder (101) according to one of claims 24 to 27, and
the video decoder (151) according to one of claims 68 to 71
wherein the video encoder (101 ) configured to generate the encoded video signal, and
wherein the video decoder (151) is configured to decode the encoded video signal to reconstruct the picture of the video.
114. A method for encoding a plurality of pictures of a video by generating an encoded video signal, wherein each of the plurality of pictures comprises original picture data, wherein method comprises:
generating the encoded video signal comprising encoded picture data, wherein the data encoder is configured to encode the plurality of pictures of the video into the encoded picture data, and
outputting the encoded picture data of each of the plurality of pictures,
wherein the method further comprises:
for each picture of the plurality of pictures, partitioning the picture into a plurality of tiles comprising a plurality of coding tree units of the picture by defining a plurality of tile boundaries for each tile of the plurality of tiles, wherein each coding tree unit of the plurality of coding tree units of each picture of the plurality of pictures comprises a plurality of samples of the picture,
for each picture of the plurality of pictures, encoding, depending on the plurality of tile boundaries of each tile of the plurality of tiles of the picture, the original picture data of said tile independently from the original picture data of any other tile of the plurality of tiles of the picture,
wherein each tile boundary of the plurality of tile boundaries of each of the plurality of tiles of each of the plurality of pictures is either assigned to a first set of tile boundaries or is assigned to a second set of tile boundaries,
wherein encoding the original picture data comprises changing an encoding scan order at a first tile boundary of the plurality of tile boundaries of a first tile of the plurality of tiles of a picture of the plurality of pictures, when encoding the original picture data, if said tile boundary Is assigned to the first set of tile boundaries, and wherein encoding the original picture data comprises not changing the encoding scan order at a second tile boundary of the plurality of tile boundaries of a second tile of the plurality of tiles of a picture of the plurality of pictures, when encoding the original picture data, if said tile boundary is assigned to the second set of tile boundaries.
115. A method for decoding an encoded video signal comprising encoded picture data to reconstruct a plurality of pictures of a video, wherein the method comprises:
receiving the encoded video signal, and
reconstructing the plurality of pictures of the video by decoding the encoded picture data,
wherein, for each picture of the plurality of pictures, the picture is partitioned into a plurality of tiles comprising a plurality of coding tree units of the picture by defining a plurality of tile boundaries for each tile of the plurality of tiles, wherein each coding tree unit of the plurality of coding tree units of each picture of the plurality of pictures comprises a plurality of samples of the picture,
wherein the method further comprises:
for each picture of the plurality of pictures, decoding, depending on the plurality of tile boundaries of each tile of the plurality of tiles of the picture, the encoded picture data of said tile independently from the encoded picture data of any other tile of the plurality of tiles of the picture to obtain original picture data of the plurality of coding tree units of each of the plurality of pictures,
wherein each tile boundary of the plurality of tile boundaries of each of the plurality of tiles of each of the plurality of pictures is either assigned to a first set of tile boundaries or is assigned to a second set of tile boundaries,
wherein decoding the encoded picture data comprises changing a decoding scan order at a first tile boundary of the plurality of tile boundaries of a first tile of the plurality of tiles of a picture of the plurality of pictures, when decoding the encoded picture data, if said tile boundary is assigned to the first set of tile boundaries, and wherein decoding the encoded picture data comprises not changing the decoding scan order at a second tile boundary of the plurality of tile boundaries of a second tile of the plurality of tiles of a picture of the plurality of pictures, when decoding the encoded picture data, if said tile boundary is assigned to the second set of tile boundaries.
1 16. A computer program for implementing the method of claim 114 or 115 when being executed on a computer or signal processor.
117. An encoded video signal encoding a picture, wherein the encoded video signal comprises encoded picture data encoding the picture,
wherein, for each picture of the plurality of pictures, the picture is partitioned into a plurality of tiles comprising a plurality of coding tree units of the picture by defining a plurality of tile boundaries for each tile of the plurality of tiles, wherein each coding tree unit of the plurality of coding tree units of each picture of the plurality of pictures comprises a plurality of samples of the picture,
wherein, for each picture of the plurality of pictures, the original picture data of each tile of the plurality of tiles of the picture is encoded within the encoded video signal, depending on the plurality of tile boundaries of said tile, independently from the original picture data of any other tile of the plurality of tiles of the picture,
wherein each tile boundary of the plurality of tile boundaries of each of the plurality of tiles of each of the plurality of pictures is either assigned to a first set of tile boundaries or is assigned to a second set of tile boundaries,
wherein the original picture data is encoded depending on that a change of an encoding scan order has been conducted at a first tile boundary of the plurality of tile boundaries of a first tile of the plurality of tiles of a picture of the plurality of pictures, when the original picture data has been encoded, if said tile boundary is assigned to the first set of tile boundaries, and
wherein the original picture data is encoded depending on that a change of the encoding scan order has not been conducted at a second tile boundary of the plurality of tile boundaries of a second tile of the plurality of tiles of a picture of the plurality of pictures, when the original picture data has been encoded, if said tile boundary is assigned to the second set of tile boundaries.
1 18. A system comprising:
the video encoder (101) according to one of claims 28 to 32, and
the video decoder (151 ) according to one of claims 72 to 76,
wherein the video encoder (101) configured to generate the encoded video signal, and
wherein the video decoder (151) is configured to decode the encoded video signal to reconstruct the picture of the video.
1 19. A method for encoding a plurality of pictures of a video by generating an encoded video signal, wherein each of the plurality of pictures comprises original picture data, wherein the method comprises:
generating the encoded video signal comprising encoded picture data, wherein the data encoder is configured to encode the plurality of pictures of the video into the encoded picture data, and
outputting the encoded picture data of each of the plurality of pictures,
wherein the method further comprises:
for each picture of the plurality of pictures, partitioning the picture into a plurality of tiles comprising a plurality of coding tree units of the picture, wherein each coding tree unit of the plurality of coding tree units comprises a plurality of samples of the picture and has a position within the picture,
wherein the plurality of pictures comprises a current picture and a reference picture,
wherein for each coding tree unit of the coding tree units of the current picture, the coding tree unit is correctly aligned, if another coding tree unit among the plurality of coding tree units of the reference picture exists, the position of said another coding tree unit within the reference picture being equal to the position of said coding tree unit within the current picture,
wherein for each coding tree unit of the coding tree units of the current picture, the coding tree unit is misaligned, if no other coding tree unit among the plurality of coding tree units of the reference picture exists, having a position within the reference picture being equal to the position of said coding tree unit within the current picture,
wherein the plurality of coding tree units of the current picture is arranged within the current picture such that the plurality of coding tree units of the current picture form one or more rows of coding tree units of the current picture,
wherein partitioning the current picture is conducted such that there exists no row among the one or more rows of the picture where any coding tree unit of said row is misaligned,
wherein encoding the original picture data of each of the plurality of tiles of the current picture is conducted independently from the original picture data of any other tile of the current picture.
120. A method for decoding an encoded video signal comprising encoded picture data to reconstruct a plurality of pictures of a video, wherein the method comprises:
receiving the encoded video signal, and
reconstructing the plurality of pictures of the video by decoding the encoded picture data,
wherein, for each picture of the plurality of pictures, the picture is partitioned into a plurality of tiles comprising a plurality of coding tree units of the picture, wherein each coding tree unit of the plurality of coding tree units comprises a plurality of samples of the picture and has a position within the picture,
wherein the plurality of pictures comprises a current picture and a reference picture,
wherein for each coding tree unit of the coding tree units of the current picture, the coding tree unit is correctly aligned, if another coding tree unit among the plurality of coding tree units of the reference picture exists, the position of said another
coding tree unit within the reference picture being equal to the position of said coding tree unit within the current picture,
wherein for each coding tree unit of the coding tree units of the current picture, the coding tree unit is misaligned, if no other coding tree unit among the plurality of coding tree units of the reference picture exists, having a position within the reference picture being equal to the position of said coding tree unit within the current picture,
wherein the plurality of coding tree units of the current picture is arranged within the current picture such that the plurality of coding tree units of the current picture form one or more rows of coding tree units of the current picture,
wherein the data encoder (1 10) is configured to partition the current picture such that there exists no row among the one or more rows of the current picture where any coding tree unit of said row is misaligned,
wherein the data encoder (110) is configured to encode the original picture data of each of the plurality of tiles of the current picture independently from the original picture data of any other tile of the plurality of tiles of the current picture.
wherein the current picture is partitioned such that there exists no row among the one or more rows of the current picture where any coding tree unit of said row is misaligned,
wherein decoding the encoded picture data of each of the plurality of tiles of the current picture is conducted independently from the encoded picture data of any other tile of the plurality of tiles of the current picture to obtain original picture data of the current picture.
121. A computer program for implementing the method of claim 119 or 120 when being executed on a computer or signal processor.
122. An encoded video signal encoding a picture, wherein the encoded video signal comprises encoded picture data encoding the picture,
wherein, for each picture of the plurality of pictures, the picture is partitioned into a plurality of tiles comprising a plurality of coding tree units of the picture, wherein each coding tree unit of the plurality of coding tree units comprises a plurality of samples of the picture and has a position within the picture,
wherein the plurality of pictures comprises a current picture and a reference picture,
wherein for each coding tree unit of the coding tree units of the current picture, the coding tree unit is correctly aligned, if another coding tree unit among the plurality of coding tree units of the reference picture exists, the position of said another coding tree unit within the reference picture being equal to the position of said coding tree unit within the current picture,
wherein for each coding tree unit of the coding tree units of the current picture, the coding tree unit is misaligned, if no other coding tree unit among the plurality of coding tree units of the reference picture exists, having a position within the reference picture being equal to the position of said coding tree unit within the current picture,
wherein the plurality of coding tree units of the current picture is arranged within the current picture such that the plurality of coding tree units of the current picture form one or more rows of coding tree units of the current picture,
wherein the data encoder (1 10) is configured to partition the current picture such that there exists no row among the one or more rows of the current picture where any coding tree unit of said row is misaligned,
wherein the data encoder (1 10) is configured to encode the original picture data of each of the plurality of tiles of the current picture independently from the original picture data of any other tile of the plurality of tiles of the current picture,
wherein the current picture is partitioned such that there exists no row among the one or more rows of the current picture where any coding tree unit of said row is misaligned,
wherein the original picture data of each of the plurality of tiles of the current picture is encoded within the encoded video signal independently from the original picture data of any other tile of the plurality of tiles of the current picture.
123. A system comprising:
the video encoder (101) according to claim 33 or 34, and
the video decoder (151) according to claim 77 or 78,
wherein the video encoder (101) configured to generate the encoded video signal, and
wherein the video decoder (151) is configured to decode the encoded video signal to reconstruct the picture of the video.
124. A method for encoding a plurality of pictures of a video by generating an encoded video signal, wherein each of the plurality of pictures comprises original picture data, wherein the method comprises:
generating the encoded video signal comprising encoded picture data, wherein the data encoder is configured to encode the plurality of pictures of the video into the encoded picture data, and
outputting the encoded picture data of each of the plurality of pictures,
wherein the method further comprises:
for each picture of the plurality of pictures, partitioning the picture into a plurality of tiles comprising a plurality of coding tree units of the picture, wherein each coding tree unit of the plurality of coding tree units comprises a plurality of samples of the picture and has a position within the picture,
wherein the plurality of pictures comprises a current picture and a reference picture, wherein the reference picture precedes the current picture in time,
determining a motion vector of the current picture depending on a motion vector of the reference picture and depending on how the current picture is partitioned into the plurality of tiles of the current picture, and
encoding, depending on the motion vector of the current picture, the original picture data of each of the plurality of tiles of the current picture independently from the original picture data of any other tile of the plurality of tiles of the picture.
125. A method for decoding an encoded video signal comprising encoded picture data to reconstruct a plurality of pictures of a video, wherein method comprises:
receiving the encoded video signal, and
reconstructing the plurality of pictures of the video by decoding the encoded picture data,
wherein, for each picture of the plurality of pictures, the picture is partitioned into a plurality of tiles comprising a plurality of coding tree units of the picture, wherein each coding tree unit of the plurality of coding tree units comprises a plurality of samples of the picture and has a position within the picture,
wherein the plurality of pictures comprises a current picture and a reference picture, wherein the reference picture precedes the current picture in time,
wherein the method further comprises:
determining a motion vector of the current picture depending on a motion vector of the reference picture and depending on how the current picture is partitioned into the plurality of tiles of the current picture, and
for each picture of the plurality of pictures, decoding, depending on the motion vector of the current picture, the encoded picture data of each of the plurality of tiles of the picture independently from the encoded picture data of any other tile of the plurality of tiles of the picture to obtain original picture data of the plurality of coding tree units of each of the plurality of pictures.
126. A computer program for implementing the method of claim 124 or 125 when being executed on a computer or signal processor.
127. An encoded video signal encoding a picture, wherein the encoded video signal comprises encoded picture data encoding the picture,
wherein, for each picture of the plurality of pictures, the picture is partitioned into a plurality of tiles comprising a plurality of coding tree units of the picture, wherein each coding tree unit of the plurality of coding tree units comprises a plurality of samples of the picture and has a position within the picture, wherein the plurality of pictures comprises a current picture and a reference picture, wherein the reference picture precedes the current picture in time,
wherein a motion vector of the current picture depends on a motion vector of the reference picture and depends on how the current picture is partitioned into the plurality of tiles of the current picture, and
wherein the original picture data of each of the plurality of tiles of the current picture is encoded within the encoded video signal depending on the motion vector of the current picture, encoded independently from the original picture data of any other tile of the plurality of tiles of the picture.
128. A system comprising:
the video encoder (101) according to one of claims 35 to 38, and
the video decoder (151) according to one of claims 79 to 82,
wherein the video encoder (101) configured to generate the encoded video signal, and
wherein the video decoder (151) is configured to decode the encoded video signal to reconstruct the picture of the video.
129. A method for encoding a plurality of pictures of a video by generating an encoded video signal, wherein each of the plurality of pictures comprises original picture data, wherein the method comprises:
generating the encoded video signal comprising encoded picture data, wherein the data encoder is configured to encode the plurality of pictures of the video into the encoded picture data, and
outputting the encoded picture data of each of the plurality of pictures,
wherein the method further comprises:
for each picture of the plurality of pictures, partitioning the picture into a plurality of tiles comprising a plurality of coding tree units of the picture, wherein each coding tree unit of the plurality of coding tree units comprises a plurality of samples of the picture,
for each picture of the plurality of pictures, encoding the original picture data of each of the plurality of tiles of the picture, and
wherein generating the encoded video signal is conducted such that the encoded video signal further comprises a first flag that indicates for a current picture of the plurality of pictures, whether a reference picture of the plurality of pictures being different from the current picture has been used for encoding the current picture.
130. A method for decoding an encoded video signal comprising encoded picture data to reconstruct a plurality of pictures of a video, wherein the method comprises:
receiving the encoded video signal, and
reconstructing the plurality of pictures of the video by decoding the encoded picture data,
wherein, for each picture of the plurality of pictures, the picture is partitioned into a plurality of tiles comprising a plurality of coding tree units of the picture, wherein each coding tree unit of the plurality of coding tree units comprises a plurality of samples of the picture,
wherein the encoded video signal further comprises a first flag that indicates for a current picture of the plurality of pictures, whether a reference picture of the plurality of pictures being different from the current picture has been used for encoding the current picture,
wherein, for a picture of the plurality of pictures, decoding the encoded picture data of each of the plurality of tiles of the picture is conducted depending on the first flag to obtain original picture data of the plurality of coding tree units of each of the plurality of pictures.
131. A computer program for implementing the method of claim 129 or 130 when being executed on a computer or signal processor.
132. An encoded video signal encoding a picture, wherein the encoded video signal comprises encoded picture data encoding the picture,
wherein, for each picture of the plurality of pictures, the picture is partitioned into a plurality of tiles comprising a plurality of coding tree units of the picture, wherein each coding tree unit of the plurality of coding tree units comprises a plurality of samples of the picture,
wherein, for each picture of the plurality of pictures, the original picture data of each of the plurality of tiles of the picture is encoded within the encoded video signal, and
wherein the encoded video signal further comprises a first flag that indicates for a current picture of the plurality of pictures, whether a reference picture of the plurality of pictures being different from the current picture has been used for encoding the current picture.
133. A system comprising:
the video encoder (101) according to one of claims 40 to 44, and
the video decoder (151) according to one of claims 84 to 88,
wherein the video encoder (101) configured to generate the encoded video signal, and
wherein the video decoder (151) is configured to decode the encoded video signal to reconstruct the picture of the video.
| Section | Controller | Decision Date |
|---|---|---|
| # | Name | Date |
|---|---|---|
| 1 | 202137029334-IntimationOfGrant29-05-2024.pdf | 2024-05-29 |
| 1 | 202137029334-STATEMENT OF UNDERTAKING (FORM 3) [30-06-2021(online)].pdf | 2021-06-30 |
| 2 | 202137029334-FORM 1 [30-06-2021(online)].pdf | 2021-06-30 |
| 2 | 202137029334-PatentCertificate29-05-2024.pdf | 2024-05-29 |
| 3 | 202137029334-FIGURE OF ABSTRACT [30-06-2021(online)].pdf | 2021-06-30 |
| 3 | 202137029334-Annexure [22-04-2024(online)].pdf | 2024-04-22 |
| 4 | 202137029334-PETITION UNDER RULE 137 [22-04-2024(online)].pdf | 2024-04-22 |
| 4 | 202137029334-DRAWINGS [30-06-2021(online)].pdf | 2021-06-30 |
| 5 | 202137029334-Written submissions and relevant documents [22-04-2024(online)].pdf | 2024-04-22 |
| 5 | 202137029334-DECLARATION OF INVENTORSHIP (FORM 5) [30-06-2021(online)].pdf | 2021-06-30 |
| 6 | 202137029334-FORM-26 [05-04-2024(online)].pdf | 2024-04-05 |
| 6 | 202137029334-COMPLETE SPECIFICATION [30-06-2021(online)].pdf | 2021-06-30 |
| 7 | 202137029334-MARKED COPIES OF AMENDEMENTS [07-07-2021(online)].pdf | 2021-07-07 |
| 7 | 202137029334-Correspondence to notify the Controller [02-04-2024(online)].pdf | 2024-04-02 |
| 8 | 202137029334-FORM 3 [15-03-2024(online)].pdf | 2024-03-15 |
| 8 | 202137029334-FORM 18 [07-07-2021(online)].pdf | 2021-07-07 |
| 9 | 202137029334-FORM 13 [07-07-2021(online)].pdf | 2021-07-07 |
| 9 | 202137029334-US(14)-HearingNotice-(HearingDate-08-04-2024).pdf | 2024-02-23 |
| 10 | 202137029334-AMMENDED DOCUMENTS [07-07-2021(online)].pdf | 2021-07-07 |
| 10 | 202137029334-CLAIMS [07-10-2022(online)].pdf | 2022-10-07 |
| 11 | 202137029334-COMPLETE SPECIFICATION [07-10-2022(online)].pdf | 2022-10-07 |
| 11 | 202137029334-Proof of Right [30-07-2021(online)].pdf | 2021-07-30 |
| 12 | 202137029334-DRAWING [07-10-2022(online)].pdf | 2022-10-07 |
| 12 | 202137029334-FORM-26 [04-08-2021(online)].pdf | 2021-08-04 |
| 13 | 202137029334-FER_SER_REPLY [07-10-2022(online)].pdf | 2022-10-07 |
| 13 | 202137029334-Information under section 8(2) [21-09-2021(online)].pdf | 2021-09-21 |
| 14 | 202137029334-OTHERS [07-10-2022(online)].pdf | 2022-10-07 |
| 14 | 202137029334.pdf | 2021-10-19 |
| 15 | 202137029334-FORM 3 [16-06-2022(online)].pdf | 2022-06-16 |
| 15 | 202137029334-Information under section 8(2) [24-11-2021(online)].pdf | 2021-11-24 |
| 16 | 202137029334-FER.pdf | 2022-04-08 |
| 16 | 202137029334-POA [24-02-2022(online)].pdf | 2022-02-24 |
| 17 | 202137029334-FORM 13 [24-02-2022(online)].pdf | 2022-02-24 |
| 17 | 202137029334-AMENDED DOCUMENTS [24-02-2022(online)].pdf | 2022-02-24 |
| 18 | 202137029334-AMENDED DOCUMENTS [24-02-2022(online)].pdf | 2022-02-24 |
| 18 | 202137029334-FORM 13 [24-02-2022(online)].pdf | 2022-02-24 |
| 19 | 202137029334-FER.pdf | 2022-04-08 |
| 19 | 202137029334-POA [24-02-2022(online)].pdf | 2022-02-24 |
| 20 | 202137029334-FORM 3 [16-06-2022(online)].pdf | 2022-06-16 |
| 20 | 202137029334-Information under section 8(2) [24-11-2021(online)].pdf | 2021-11-24 |
| 21 | 202137029334-OTHERS [07-10-2022(online)].pdf | 2022-10-07 |
| 21 | 202137029334.pdf | 2021-10-19 |
| 22 | 202137029334-FER_SER_REPLY [07-10-2022(online)].pdf | 2022-10-07 |
| 22 | 202137029334-Information under section 8(2) [21-09-2021(online)].pdf | 2021-09-21 |
| 23 | 202137029334-DRAWING [07-10-2022(online)].pdf | 2022-10-07 |
| 23 | 202137029334-FORM-26 [04-08-2021(online)].pdf | 2021-08-04 |
| 24 | 202137029334-Proof of Right [30-07-2021(online)].pdf | 2021-07-30 |
| 24 | 202137029334-COMPLETE SPECIFICATION [07-10-2022(online)].pdf | 2022-10-07 |
| 25 | 202137029334-AMMENDED DOCUMENTS [07-07-2021(online)].pdf | 2021-07-07 |
| 25 | 202137029334-CLAIMS [07-10-2022(online)].pdf | 2022-10-07 |
| 26 | 202137029334-FORM 13 [07-07-2021(online)].pdf | 2021-07-07 |
| 26 | 202137029334-US(14)-HearingNotice-(HearingDate-08-04-2024).pdf | 2024-02-23 |
| 27 | 202137029334-FORM 18 [07-07-2021(online)].pdf | 2021-07-07 |
| 27 | 202137029334-FORM 3 [15-03-2024(online)].pdf | 2024-03-15 |
| 28 | 202137029334-Correspondence to notify the Controller [02-04-2024(online)].pdf | 2024-04-02 |
| 28 | 202137029334-MARKED COPIES OF AMENDEMENTS [07-07-2021(online)].pdf | 2021-07-07 |
| 29 | 202137029334-COMPLETE SPECIFICATION [30-06-2021(online)].pdf | 2021-06-30 |
| 29 | 202137029334-FORM-26 [05-04-2024(online)].pdf | 2024-04-05 |
| 30 | 202137029334-DECLARATION OF INVENTORSHIP (FORM 5) [30-06-2021(online)].pdf | 2021-06-30 |
| 30 | 202137029334-Written submissions and relevant documents [22-04-2024(online)].pdf | 2024-04-22 |
| 31 | 202137029334-PETITION UNDER RULE 137 [22-04-2024(online)].pdf | 2024-04-22 |
| 31 | 202137029334-DRAWINGS [30-06-2021(online)].pdf | 2021-06-30 |
| 32 | 202137029334-FIGURE OF ABSTRACT [30-06-2021(online)].pdf | 2021-06-30 |
| 32 | 202137029334-Annexure [22-04-2024(online)].pdf | 2024-04-22 |
| 33 | 202137029334-PatentCertificate29-05-2024.pdf | 2024-05-29 |
| 33 | 202137029334-FORM 1 [30-06-2021(online)].pdf | 2021-06-30 |
| 34 | 202137029334-STATEMENT OF UNDERTAKING (FORM 3) [30-06-2021(online)].pdf | 2021-06-30 |
| 34 | 202137029334-IntimationOfGrant29-05-2024.pdf | 2024-05-29 |
| 1 | 202137029334E_04-03-2022.pdf |