CN105915924B - Cross-plane prediction - Google Patents
Cross-plane prediction Download PDFInfo
- Publication number
- CN105915924B CN105915924B CN201610422931.XA CN201610422931A CN105915924B CN 105915924 B CN105915924 B CN 105915924B CN 201610422931 A CN201610422931 A CN 201610422931A CN 105915924 B CN105915924 B CN 105915924B
- Authority
- CN
- China
- Prior art keywords
- array
- simply connected
- information
- block
- connected regions
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Ceased
Links
- 238000000034 method Methods 0.000 claims description 83
- 238000003491 array Methods 0.000 claims description 82
- 230000033001 locomotion Effects 0.000 claims description 81
- 230000001419 dependent effect Effects 0.000 claims description 37
- 241000023320 Luma <angiosperm> Species 0.000 claims description 18
- OSWPMRLSEDHDFF-UHFFFAOYSA-N methyl salicylate Chemical compound COC(=O)C1=CC=CC=C1O OSWPMRLSEDHDFF-UHFFFAOYSA-N 0.000 claims description 18
- 238000012545 processing Methods 0.000 claims description 18
- 230000005540 biological transmission Effects 0.000 claims description 16
- 230000009467 reduction Effects 0.000 abstract description 7
- 239000000523 sample Substances 0.000 description 263
- 230000000875 corresponding effect Effects 0.000 description 87
- 208000037170 Delayed Emergence from Anesthesia Diseases 0.000 description 40
- 238000000638 solvent extraction Methods 0.000 description 34
- 239000013598 vector Substances 0.000 description 29
- 238000005192 partition Methods 0.000 description 28
- 230000011664 signaling Effects 0.000 description 27
- 230000008901 benefit Effects 0.000 description 21
- 230000008569 process Effects 0.000 description 19
- 230000006978 adaptation Effects 0.000 description 13
- 238000013459 approach Methods 0.000 description 12
- 230000001364 causal effect Effects 0.000 description 11
- 230000003044 adaptive effect Effects 0.000 description 8
- 238000004590 computer program Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 8
- 238000009795 derivation Methods 0.000 description 6
- 238000006073 displacement reaction Methods 0.000 description 6
- 230000003595 spectral effect Effects 0.000 description 6
- 230000009466 transformation Effects 0.000 description 6
- 238000013507 mapping Methods 0.000 description 5
- 230000011218 segmentation Effects 0.000 description 5
- 238000000354 decomposition reaction Methods 0.000 description 4
- 239000000284 extract Substances 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 239000003550 marker Substances 0.000 description 4
- 238000013139 quantization Methods 0.000 description 4
- 238000005070 sampling Methods 0.000 description 4
- PXFBZOLANLWPMH-UHFFFAOYSA-N 16-Epiaffinine Natural products C1C(C2=CC=CC=C2N2)=C2C(=O)CC2C(=CC)CN(C)C1C2CO PXFBZOLANLWPMH-UHFFFAOYSA-N 0.000 description 3
- 230000002123 temporal effect Effects 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 108010076504 Protein Sorting Signals Proteins 0.000 description 2
- 238000012937 correction Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000000605 extraction Methods 0.000 description 2
- 239000000203 mixture Substances 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 239000013074 reference sample Substances 0.000 description 2
- 238000001228 spectrum Methods 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 240000008168 Ficus benjamina Species 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 230000001143 conditioned effect Effects 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 230000001186 cumulative effect Effects 0.000 description 1
- 238000013213 extrapolation Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008092 positive effect Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/597—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/103—Selection of coding mode or of prediction mode
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/119—Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/146—Data rate or code amount at the encoder output
- H04N19/147—Data rate or code amount at the encoder output according to rate distortion criteria
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/176—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/186—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a colour or a chrominance component
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/189—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
- H04N19/196—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/46—Embedding additional information in the video signal during the compression process
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/46—Embedding additional information in the video signal during the compression process
- H04N19/463—Embedding additional information in the video signal during the compression process by compressing encoding parameters before transmission
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/61—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/70—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/90—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
- H04N19/96—Tree coding, e.g. quad-tree coding
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
The application relates to cross-plane prediction. Although the need to signal cross-plane prediction information to the decoder will result in additional overhead, better rate-distortion ratios can be obtained when exploiting the interrelationship between the coding parameters of different planes for the purpose of redundancy reduction. Specifically, the determination of whether to use cross-plane prediction may be made for a plurality of planes, respectively. In addition, or alternatively, the determination can be made in units of blocks in consideration of one sub-plane.
Description
The application is a divisional application, the application number of a parent application is 201080067394.2, the application date is 4/13/2010, and the invention name is cross-plane prediction.
Technical Field
The invention relates to coding schemes for different spatially sampled information components of an image of a scene in planes, each plane comprising an array of information samples, such as video or still images.
Background
in video and video coding, a picture or a particular set of sample arrays for the picture is typically decomposed into blocks that are associated with particular coding parameters. An image is typically composed of a plurality of sample arrays. Furthermore, an image may also be associated with an additional auxiliary sample array, which for example indicates transparent information or a depth map. The sample arrays (including the auxiliary sample arrays) of a picture may also be grouped into one or more so-called plane groups, where each plane group is composed of one or more sample arrays. A group of planes of a picture may be encoded independently or, if the picture is associated with more than one group of planes, with predictions from other groups of planes of the same picture. Each plane group is typically broken up into a plurality of blocks. The block (or corresponding block of the sample array) is predicted by cross-picture prediction or intra-picture prediction. Each block may have a different size and may be square or rectangular. The partitioning of an image into blocks may be fixed by syntax, or may be signaled (at least in part) within the bitstream. A syntax element that is sent often signals a predetermined size for the block subdivision. Such syntax elements may indicate whether and how a block is subdivided into smaller blocks and associated coding parameters, e.g., for prediction purposes. The decoding of the associated coding parameter is indicated in some way for all samples of a block (or corresponding block of an array of samples). In this example, all samples in a block are predicted using the same set of prediction parameters, such as reference indices (identifying a reference picture in the set of coded pictures), motion parameters (indicating a measure of block motion between a reference picture and the current picture), parameters indicating interpolation filters, intra prediction modes, and so on. The motion parameters may be represented by displacement vectors having a horizontal component and a vertical component, or by higher order motion parameters, such as affine motion parameters comprising six components. It is also possible that more than one particular set of prediction parameters, such as reference indices and motion parameters, are associated with a single block. In this case, for each set of this particular prediction parameter, a single intermediate prediction signal for the block (or corresponding block of the array of samples) is generated, and the final prediction signal is established by a combination comprising the superimposed intermediate prediction signals. The corresponding weighting parameters and possibly also a constant offset (added to the weighted sum) may be fixed for a picture or a reference picture or a set of reference pictures or they may be included in the set of prediction parameters for the corresponding block. The difference between the original block (or the corresponding block of the sample array) and its prediction signal, also referred to as the residual signal, is typically transformed and quantized. Often, a two-dimensional transform is applied to the residual signal (or corresponding array of samples for the residual block). For transform coding, a block (or corresponding block of an array of samples) that has used a particular set of prediction parameters may be further split before applying the transform. The transform block may be equal to or smaller than the block used for prediction. It is also possible that a transform block comprises more than one block for prediction. Different transform blocks may have different sizes, and transform blocks may represent square or rectangular blocks. After transformation, the resulting transform coefficients are quantized to obtain so-called transform coefficient levels. Transform coefficient levels and prediction parameters and, if present, subdivision information are entropy encoded.
In video and video coding standards, the possibilities offered by syntax to subdivide a picture (or a group of planes) into blocks are very limited. It is often only specified whether (and possibly how) a block of predefined size can be subdivided into smaller blocks. As an example, the maximum block size of h.264 is 16 × 16. The 16 × 16 blocks are also referred to as macroblocks, and in the first step, each picture is divided into macroblocks. For each 16 × 16 macroblock, it may be signaled whether it is coded as a 16 × 16 block, or two 16 × 8 blocks, or two 8 × 16 blocks, or four 8 × 8 blocks. If a 16 x 16 block is subdivided into four 8 x 8 blocks, each 8 x 8 block may be encoded as one 8 x 8 block, or two 8 x 4 blocks, or two 4 x 8 blocks, or four 4 x 4 blocks. The indication of the small set possibility of partitioning into blocks in current image and video coding standards has the advantage that the side information rate for signaling the subdivision information can be kept small, but has the disadvantage that the bit rate required for transmitting the prediction parameters for that block is rather large, as detailed later. The side information rate that signals prediction information does typically represent a significantly large total bit rate for a block. When such side information is reduced, the coding efficiency is increased, e.g. by using larger block sizes. The actual image or picture of a video sequence is made up of arbitrarily shaped objects with specific properties. As an example, the object or object portion is characterized by a unique texture or a unique motion. Typically the same set of prediction parameters may be applied to this object or part of the object. But object boundaries do not generally match the block boundaries possible for large prediction blocks (e.g., 16 x 16 macroblocks by h.264).
the encoder typically decides that the subdivision (in a limited set of possibilities) results in a minimization of a specific rate-distortion cost measure. For arbitrarily shaped objects, this may result in a large number of small tiles. And since this small block is associated with a set of prediction parameters that need to be transmitted, the side information rate becomes a large fraction of the total bit rate. However, since several of the small blocks still represent regions of the same object or part of an object, the prediction parameters for the resulting blocks are the same or very similar.
In other words, the subdivision or tiling of an image into smaller portions or tiles or blocks substantially affects coding efficiency and coding complexity. As outlined above, the subdivision of an image into a plurality of smaller blocks allows for a spatially finer setting of the encoding parameters, thereby allowing for a better adaptation of such encoding parameters to the image/video material. On the other hand, setting the encoding parameters at a finer granularity imposes a higher load on the amount of side information required to inform the decoder about the required setting. Furthermore, it is noted that any degree of freedom of the encoder (further) spatially subdividing the image/video into blocks drastically increases the amount of possible coding parameter settings and thus generally makes the search for coding parameter settings leading to the best rate/distortion trade-off more difficult.
disclosure of Invention
It is an object of the present invention to provide a coding scheme for the coding of different spatially sampled information components of an image of a scene in planes, each plane comprising an array of information samples, which scheme allows to obtain a better rate-distortion ratio.
a potential idea of the invention is that, despite the overhead that would result from the need to signal cross-plane prediction information to the decoder, better rate-distortion ratios can be obtained when exploiting the interrelationship between the coding parameters of different planes for the purpose of redundancy reduction.
According to one embodiment, an array of information samples representing a spatially sampled information signal is first spatially placed in a tree root region, and then at least a subset of the tree root region is partitioned into smaller simply connected regions of different sizes by recursively partitioning the subset of the tree root region a plurality of times in accordance with multivariate tree subdivision information extracted from a data stream. In order to allow a good compromise in terms of rate-distortion between excessively fine and excessively coarse subdivision at reasonable coding complexity to be found, the maximum region size of the tree root region into which the array of information samples is spatially divided is included in the data stream and extracted from the data stream at the decoding end. Accordingly, the decoder may comprise a decimator configured to decimate the maximum region size and the polytree subdivision information from the data stream; a subdivider configured to spatially divide an array of information samples representing spatially sampled information signals into tree root regions of maximum region size, and subdivide at least a subset of the tree root regions into smaller simply connected different size regions by recursively multi-partitioning the subset of the tree root regions in accordance with the multivariate tree subdivision information; and a reconstructor configured to reconstruct an array of information samples from the data stream into smaller simply connected regions using the subdivision.
According to one embodiment, the data stream also contains the highest hierarchical level up to where the root region subset of the tree undergoes multiple partitioning recursively. By this approach, signaling of the treelet subdivision information becomes easier and requires fewer coded bits.
furthermore, the reconstructor may be configured to perform one or more of the following measures at a granularity dependent on the intermediate subdivision: determining which prediction mode to use at least in the intra-prediction mode and the inter-prediction mode; transforming from the frequency domain to the spatial domain, performing and/or setting parameters of cross prediction; parameters for intra prediction are performed and/or set.
Furthermore, the decimator may be configured to decimate, from the data stream, syntax elements associated with leaf regions of the partitioned tree blocks in a depth-first traversal order. By this approach, the decimator may develop statistics of syntax elements of neighboring leaf regions that have already been encoded with a higher probability than using a breadth-first traversal order.
According to another embodiment, a further subdivider is used to subdivide at least a subset of the smaller simply connected regions into yet smaller simply connected regions according to a further multivariate tree subdivision information. The first-level subdivision may be used by the reconstructor to perform prediction of the region of information samples, while the second-level subdivision may be used by the reconstructor to perform a retransformation from the frequency domain to the spatial domain. Defining a residual subdivision as dependent with respect to the prediction subdivision such that the coding of the total subdivision consumes fewer bits; on the other hand, the degree of restriction and freedom of residual subdivision by subordination has only a slight negative impact on coding efficiency, since most parts of the image with similar motion compensation parameters are larger than parts with similar spectral properties.
according to yet another embodiment, a further maximum region size is included in the data stream, the further maximum region size defining a tree root sub-region size, the tree root sub-region being partitioned prior to at least a subset of the tree root sub-region being subdivided into smaller simply connected regions according to further multivariate tree subdivision information. This in turn allows for an independent setting of the maximum region size of the prediction subdivision on the one hand and the residual subdivision on the other hand, so that a better rate/distortion trade-off can be found.
According to yet another embodiment of the invention, the data stream comprises a first subset of syntax elements separate from a second subset of syntax elements forming the multi-tree subdivision information, wherein a merger at the decoding end allows combining spatially adjacent small simply connected regions of the multi-tree subdivision according to the first subset of syntax elements to obtain an intermediate subdivision of the array of samples. The reconstructor may be configured to reconstruct the array of samples using the intermediate subdivision. In this way, the encoder more easily adapts the effective subdivision to the spatial distribution of the properties of the array of information samples with the best rate/distortion trade-off found. For example, if the maximum region size is large, the treelet subdivision information may be more complex as the root region of the tree becomes larger. On the other hand, if the maximum region size is small, it is more likely that the neighboring tree root regions are related to information content with similar properties, so that the tree root regions can also be processed together. Merging fills this gap between the aforementioned poles, thereby allowing near-optimal granularity refinement. From the encoder point of view, merging syntax elements allows for a more relaxed or computationally less complex encoding procedure, since if the encoder erroneously uses too fine a subdivision, this error can be compensated by the encoder later, by adapting by subsequently setting the merging syntax elements with or without adapting only a small part of the syntax elements that have been set before the merging syntax elements were set.
according to yet another embodiment, the maximum region size and the polytree subdivision information are for a residual subdivision instead of a prediction subdivision.
A depth-first traversal order, rather than a width-first traversal order, for processing simply connected regions of a multi-tree subdivision of an array of information samples representing a spatially sampled information signal is used in accordance with an embodiment. By using the depth-first traversal order, each simply connected region has a higher probability of having neighboring simply connected regions that have already been traversed, so that information about these neighboring simply connected regions can be positively utilized when reconstructing the respective current simply connected region.
When the array of information samples is first partitioned into a regular arrangement of tree root regions of zero-level hierarchical size, and then subdivides at least a subset of the tree root regions into smaller simply connected regions of different sizes, the reconstructor may use zig-zag scanning to scan the tree root regions, process the simply connected leaf regions in a depth-first traversal order for each tree root region to be partitioned, and then step into the next tree root region in a zig-zag scanning order. In addition, according to the depth-first traversal order, the simply connected leaf regions having the same hierarchical level may also be traversed in a zigzag scanning order. Thus, the likelihood of maintaining a contiguous simply connected leaf region is increased.
According to one embodiment, although the labels associated with the nodes of the treelet structure are arranged sequentially in a depth-first traversal order, the sequential encoding of the labels uses probability estimation contexts that are the same for labels associated with the treelet structure nodes within the same hierarchical level of the treelet structure, but are different for treelet structure nodes within different hierarchical levels of the treelet structure, by which a good compromise between the number of contexts to be provided is allowed and, on the other hand, the actual symbol statistics of the adaptation labels is adjusted.
according to one embodiment, the probability estimation context for the predetermined token used also depends on tokens preceding the predetermined token according to the depth-first traversal order and corresponding to regions of the tree root region having a predetermined relative positional relationship with the region corresponding to the predetermined token. Similar to the potential idea of the previous aspect, the use of a depth-first traversal order guarantees a high probability: the already encoded markers also include markers corresponding to regions neighboring the region corresponding to the predetermined marker, which knowledge may be used to adapt the context for the predetermined marker more excellently.
the mark that can be used to set the context for a predetermined mark may be the mark corresponding to the upper and/or left area of the area corresponding to the predetermined mark. Furthermore, the indicia used to select the context may be limited to indicia belonging to the same hierarchical level as the node associated with the predetermined indicia.
according to one embodiment, the encoding signaling includes an indication of a highest hierarchical level and a sequence of flags associated with nodes not equal to the highest hierarchical level, each flag indicating whether the associated node is an intermediate node or a child node, and sequentially decoding the sequence of flags from the data stream in a depth-first or width-first traversal order, skipping nodes of the highest hierarchical level to automatically point to the same leaf node, thereby reducing the encoding rate.
According to a further embodiment, the encoded signaling of the treelet structure may comprise an indication of the highest hierarchical level. In this way, it is possible to limit the presence of the flag to hierarchical levels other than the highest hierarchical level, since further partitioning of the block with the highest hierarchical level is altogether excluded.
in the case where the spatial treelet subdivision belongs to a portion of a secondary subdivision of a leaf node and an undivided tree root region of a primary treelet subdivision, the context used to encode the secondary subdivision flag may be selected such that the context is the same for flags associated with equal-sized regions.
According to an embodiment, a simply connected region into which the array of information samples is subdivided is advantageously combined or grouped in such a way that a smaller amount of data is encoded. To this end, for simply connected regions, a predetermined relative positional relationship is defined which allows for identifying, for a predetermined simply connected region, simply connected regions which have a predetermined relative positional relationship with the predetermined simply connected region inside a plurality of simply connected regions. In other words, if the number is zero, there may not be a merge indicator for the predetermined simply connected region within the data stream. Furthermore, if the number of simply connected regions having a predetermined relative position relationship to the predetermined simply connected region is 1, the encoding parameters of the simply connected region may be employed or may be used to predict the encoding parameters for the predetermined simply connected region without any additional syntax elements. Otherwise, i.e. if the number of simply connected regions having a predetermined relative positional relationship to the predetermined simply connected region is greater than 1, the introduction of an additional syntax element can be suppressed even if the encoding parameters associated with these identified simply connected regions are identical to each other.
according to an embodiment, a reference proximity identifier identifies an appropriate subset of the number of simply connected regions having a predetermined relative positional relationship to the predetermined simply connected region if the encoding parameters of the neighboring simply connected regions are not equal to each other, and uses this appropriate subset when employing the encoding parameters or predicting the encoding parameters of the predetermined simply connected region.
According to other embodiments, the intermediate subdivision of the array of samples into disjoint simply connected regions is obtained by recursively multi-partitioning a region of samples representing spatial samples of the two-dimensional information signal into a plurality of simply connected regions of different sizes performed dependent on a first subset of syntax elements in the data stream, followed by combining spatially adjacent simply connected regions dependent on a second subset of syntax elements in the data stream that are disjoint from the first subset, which are joined into the plurality of simply connected regions. The intermediate subdivision is used when reconstructing the array of samples from the data stream. This allows to make the optimization with respect to the subdivision less critical, since in practice the subdivision that is too fine can be compensated for by subsequent merging. Furthermore, the combination of subdivision and merging allows to achieve intermediate subdivisions which are not possible by recursive multiple partitioning alone, so performing a concatenation (collocation) of subdivision and merging by using a set of unconnected syntax elements allows to adapt the actual content of the two-dimensional information signal efficiently or better by the intermediate subdivisions. In contrast to its advantages, the overhead caused by the extra subset of syntax elements for indicating the merging details is negligible.
drawings
preferred embodiments of the present invention are described below with respect to the following drawings, in which:
FIG. 1 shows a block diagram of an encoder according to an embodiment of the present application;
FIG. 2 shows a block diagram of a decoder according to an embodiment of the present application;
FIGS. 3A-3C schematically illustrate one embodiment of quadtree subdivision, wherein FIG. 3A shows a first hierarchical level, FIG. 3B shows a second hierarchical level, and FIG. 3C shows a third hierarchical level;
FIG. 4 schematically shows a tree structure for the illustrative quadtree subdivision of FIGS. 3A-3C, in accordance with an embodiment;
FIGS. 5A and 5B schematically illustrate the quadtree subdivision of FIGS. 3A-3C and a tree structure with indices indicating individual leaf blocks;
FIGS. 6A and 6B schematically illustrate binary strings or marker sequences representing the tree structure of FIG. 4 and the quadtree subdivision of FIGS. 3A-3C, in accordance with various embodiments;
FIG. 7 shows a flowchart illustrating steps performed by a data stream extractor according to one embodiment;
FIG. 8 shows a flow diagram illustrating the functionality of a data stream extractor according to yet another embodiment;
FIGS. 9A and 9B are schematic diagrams illustrating an illustrative quadtree subdivision to emphasize candidate blocks adjacent to a predetermined block, according to one embodiment;
FIG. 10 shows a flow diagram of the functionality of a data stream decimator in accordance with yet another embodiment;
FIG. 11 schematically shows composition of a picture from planes and groups of planes and illustrates encoding using cross-plane adaptation/prediction in accordance with an embodiment;
12A and 12B schematically illustrate a sub-tree structure and corresponding subdivisions to describe inheritance schemes in accordance with one embodiment;
FIGS. 12C and 12D schematically illustrate a subtree structure describing an inheritance scheme using adoption and prediction, respectively, in accordance with an embodiment;
FIG. 13 shows a flowchart showing steps performed by an encoder implementing the inheritance scheme according to an embodiment;
FIGS. 14A and 14B show a subdivision and dependent subdivisions to illustrate the possibility of implementing an inheritance scheme for associative cross-prediction according to one embodiment;
FIG. 15 shows a block diagram illustrating a decoding method associated with the inheritance scheme according to one embodiment;
FIG. 16 shows a diagram illustrating a scan order for a subdivision of a sub-region of a polytree, the sub-region being subjected to intra-prediction, according to one embodiment;
Fig. 17 shows a block diagram of a decoder according to an embodiment;
18A-18C show a schematic illustrating different subdivision possibilities according to other embodiments;
DETAILED DESCRIPTION OF EMBODIMENT (S) OF INVENTION
in the detailed description of the figures that follow, elements appearing in several figures are identified by common reference numerals to avoid duplicative description of such elements. Rather, explanations regarding components presented within one figure also apply to other figures in which individual components appear, as long as the explanations presented in the other figures herein indicate deviations therein.
Furthermore, the following description starts with the encoder and decoder embodiments explained with respect to fig. 1 to 11. The embodiments presented in connection with this figure combine aspects of the present application, but are also superior if the individual implementation is internal to the coding scheme, so that the embodiments will briefly discuss the aforementioned individual aspects in connection with the following figures, which represent in different sense an abstract of the embodiments described in connection with fig. 1 and 11.
Fig. 1 shows an encoder according to an embodiment of the invention. The encoder 10 of fig. 1 includes a predictor 12, a residual precoder 14, a residual reconstructor 16, a data stream inserter 18, and a block divider 20. The encoder 10 is used to encode a space-time sampled information signal into a data stream 22. The spatio-temporal sampling information signal may be, for example, video, i.e., a sequence of images. Each image represents an array of image samples. Other examples of spatiotemporal information signals include, for example, depth imagery taken by, for example, a time-of-light camera. It is further noted that a spatially sampled information signal may comprise more than one array per frame or timestamp, such as in the case of color video, for example comprising an array of luma samples together with two arrays of chroma samples per frame. It is also possible that the temporal sampling rates for different components of the information signal, i.e. luminance and chrominance, may be different. The same applies to spatial resolution. The video may also be accompanied by additional spatial sampling information, such as depth or transparency information. But the focus of attention described hereinafter will focus on the processing of one of this array to first understand the principles of the invention more clearly, and then turn to the processing of more than one plane.
The encoder 10 of fig. 1 is configured to form the data stream 22 such that syntax elements in the data stream 22 describe pictures with granularity between full pictures and individual picture samples. To achieve this, the segmenter 20 is configured to subdivide each image 24 into simply connected regions 26 of different sizes. Hereinafter, this area will be referred to simply as block or sub-area 26.
As will be described in more detail later, segmenter 20 uses a multi-tree subdivision to subdivide image 24 into blocks 26 of different sizes. In more detail, the particular embodiments outlined below with respect to fig. 1-11 mostly use quadtree subdivision. As will be described in detail later, a cascade of tessellators 28 may be included inside segmenter 20 to subdivide image 24 into the aforementioned blocks 26, followed by merger 30 which allows such blocks 26 to be grouped into groups to obtain an effective subdivision or granularity between the undivided portions of image 24 and the subdivision defined by tessellators 28.
As illustrated by the dashed lines of fig. 1, the predictor 12, the residual precoder 14, the residual reconstructor 16 and the data stream inserter 18 operate on a picture detail defined by a partitioner 20. For example, as will be described in detail later, the predictor 12 uses the prediction subdivision defined by the partitioner 20 to decide, for an individual sub-region of the prediction subdivision, whether the individual sub-region should undergo intra-picture prediction or cross-picture prediction with set values of corresponding prediction parameters for the individual sub-region depending on the selected prediction mode.
The residual precoder 14 in turn uses the residual subregion of the image 24 to encode the prediction residual of the image 24 provided by the predictor 12. Residual reconstructor 16 reconstructs the residual from the syntax elements output by residual precoder 14, residual reconstructor 16 also operating on the aforementioned residual details. The stream inserter 18 may use the aforementioned partitioning, i.e., prediction and residual subdivision, to determine the insertion order and neighborhood between syntax elements using, for example, entropy coding for inserting the syntax elements output by the residual precoder 14 and predictor 12 into the data stream 22.
As shown in fig. 1, the encoder 10 comprises an input 32, where the original information signal enters the encoder 10. A subtractor 34, residual precoder 14 and data stream inserter 18 are connected in series in that order between the input 32 of the data stream inserter 18 and the output of the encoded data stream 22. The subtractor 34 and the residual precoder 14 are part of a prediction loop surrounded by the residual reconstructor 16, the adder and the predictor 12, which are connected in series, in the stated order, between the output of the residual precoder 14 and the inverting input of the subtractor 34. The output of the predictor 12 is also connected to a further input of the adder 36. Furthermore, predictor 12 includes an input directly connected to input 32 and may include yet another input, which is also connected to an output of adder 36 via an optional in-loop filter 38. In addition, the predictor 12 generates side information during operation, and thus the output of the predictor 12 is also coupled to the data stream inserter 18. Similarly, the splitter 20 includes an output that is connected to another input of the data stream inserter 18.
The structure of the encoder 10 has been described and further details of its mode of operation will be described later.
As previously mentioned, the segmenter 20 decides for each image 24 how to subdivide the image into cells 26. Depending on the subdivision of the image 24 to be used for prediction, the predictor 12 decides for each cell corresponding to such subdivision how to predict the individual cell. The predictor 12 outputs the prediction of the cell to an inverting input of the subtractor 34 and to a further input of the adder 36, and outputs prediction information to the data stream inserter 18 reflecting the way in which the predictor 12 obtained this prediction from the previously encoded part of the video.
At the output of subtractor 34, a prediction residual is thus obtained, wherein residual precoder 14 processes such prediction residual according to a residual subdivision also specified by divider 20. As will be explained in further detail below with respect to fig. 3-10, the residual subdivision of the image 24 used by the residual precoder 14 may be correlated with the prediction subdivision used by the predictor 12, with each prediction sub-region being employed as a residual sub-region or further subdivided into smaller residual sub-regions. But completely independent prediction and residual subdivision is also possible.
the residual precoder 14 subjects the individual residual subregions to a transformation from the spatial to the frequency domain by a two-dimensional transformation, followed by quantization of the resulting transform coefficients, which are or are uniquely related to the resulting transformed blocks, so that the distortion result is from quantization noise. For example, the data stream inserter 18 may losslessly encode syntax elements describing the aforementioned transform coefficients into the data stream 22 using, for example, entropy encoding.
The residual reconstructor 16, in turn, re-converts the transform coefficients, using re-quantization followed by a re-transform, into residual signals which are combined within adder 36 with the prediction obtained by subtractor 34 to obtain a prediction residual, by which a reconstructed portion or sub-region of a current image is obtained at the output of adder 36. The predictor 12 may use this reconstructed image subregion directly for intra-prediction, in other words to predict a certain prediction subregion by extrapolation from previously reconstructed prediction subregions in the neighborhood. But it is also theoretically possible to do intra-prediction directly inside the frequency domain by predicting the current sub-region spectrum from neighboring spectra.
For inter-prediction, the predictor 12 may use a version of the image that has been previously encoded and reconstructed, from which it has been filtered by the selective in-loop filter 38. The filter 38 may comprise, for example, a deblocking filter and/or an adaptive filter having a transfer function suitable for advantageously forming the quantization noise.
The predictor 12 selects prediction parameters showing the way a certain prediction subregion is predicted by using a comparison with the original samples inside the image 24. As will be described in more detail later, the prediction parameters may include an indication of the prediction mode, such as intra-picture prediction and cross-picture prediction, for each prediction subregion. In the case of intra-prediction of an image, the prediction parameters also include an indication of the angle at which the inner edge of the prediction sub-region to be intra-predicted extends predominantly; and under the condition of cross-image prediction, motion vectors, motion image indexes and final high power motion transformation parameters; and selective filtering information used to filter reconstructed picture samples, based on which the current prediction sub-region can be predicted, both in the case of intra-picture and/or cross-picture prediction.
As will be described in detail later, the aforementioned subdivision defined by the divider 20 substantially affects the highest rate/distortion ratio achievable by the residual precoder 14, predictor 12 and data stream inserter 18. In the case of a too fine subdivision, the prediction parameters 40 output by the predictor 12 to be inserted into the data stream 22 require too high a coding rate, but the prediction by the predictor 12 may be better and the residual signal to be coded by the residual precoder 14 may be smaller so that it can be coded with fewer bits. In the case of a subdivision that is too coarse, the opposite applies. Furthermore, the foregoing considerations also apply in a similar manner to residual subdivision: images use finer-grained transforms of individual transform blocks, resulting in reduced complexity for computing the transform and increased spatial resolution of the resulting transform. In other words, fewer residual sub-regions allows for a more consistent spectral allocation of content within individual residual sub-regions. However, the spectral resolution is reduced and the ratio of significant coefficients to insignificant coefficients (i.e., quantized to zero) is degraded. In other words, the transform granularity has to be adapted to the local image content. Furthermore, independently of the positive effect of finer granularity, finer granularity regularly increases the amount of side information needed to indicate the subdivision selected for the decoder. As will be described in more detail later, the embodiments described later provide for the encoder 10 to adapt the subdivision to the information signal content to be encoded, by instructing the data stream inserter 18 to insert subdivision information into the data stream 22 to signal the subdivision to be used at the decoding end. Details are shown below.
but before the subdivision of divider 20 is defined in further detail, a decoder in accordance with an embodiment of the present invention will be described in further detail with respect to fig. 2.
the decoder of fig. 2 is indicated by reference numeral 100 and comprises a decimator 102, a divider 104, a residual reconstructor 106, an adder 108, a predictor 110, a selective in-loop filter 112, and a selective post-filter 114. The decimator 102 receives the encoded data stream at an input 116 of the decoder 100 and decimates the encoded data stream into sub-division information 118, prediction parameters 120 and residual data 122, the decimator 102 outputting these information to the image partitioner 104, the predictor 110 and the residual reconstructor 106, respectively. Residual reconstructor 106 has an output coupled to a first input of adder 108. The other input of the adder 108 and its output are connected to a prediction loop in which the selective in-loop filter 112 and the predictor 110 are connected in series in the order described by a bypass path from the output of the adder 108 to the predictor 110, directly analogous to the connection between the adder 36 and the predictor 12 described above in fig. 1, i.e. one for intra-picture prediction and the other for cross-picture prediction. The output of the adder 108 or the output of the selective in-loop filter 112 may be connected to an output 124 of the decoder 100, where the reconstructed information signal is output, for example, to a reproduction device. An optional post-filter 114 may be connected to the path leading to the output 124 to improve the visual quality of the visual impression of the reconstructed signal at the output 124.
In general, the residual reconstructor 106, the adder 108, and the predictor 110 function similarly to the components 16, 36, and 12 of FIG. 1. In other words, the operation of the aforementioned FIG. 1 components is also simulated. To achieve this, the residual reconstructor 106 and the predictor 110 predict the prediction sub-region in the same way as the predictor 12 does or decides to do and re-transform the received transform coefficients at the same granularity as the residual precoder 14, controlled by the prediction parameters 120 and by the image partitioner 104 according to the subdivision indicated by the subdivision information 118 from the decimator 102. Image segmenter 104, in turn, relies on segmentation information 118 to reconstruct the segmentations selected by segmenter 20 in a synchronized manner. The decimator may use the subdivision information to control data decimation, such as in terms of context selection, proximity determination, probability estimation, parsing of the data stream syntax, and so forth.
Several deviations from the foregoing embodiments can be made. Some deviations will be discussed in more detail below with respect to the subdivision performed by the subdivider 28 and the merging performed by the merger 30, while other deviations will be discussed with respect to fig. 12-16 below. All of these deviations, individually or in subsets, can be applied to the detailed description of fig. 1 and 2 above, without any impediment. For example, the dividers 20 and 104 do not determine the prediction subdivision but only the residual subdivision of each picture. Instead it is also possible to determine the filter subdivision for the selective in-loop filters 38 and 112, respectively. Other prediction subdivisions or other residual coding subdivisions are independently independent or dependent. Moreover, the subdivision determined by these components may not be on a frame-by-frame basis. Instead, the subdivision of a certain frame may be reused or adopted for a certain number of the following frames, simply by subsequently transferring the new subdivision.
in providing further details regarding the division of the image into sub-regions, the following description will first focus on the subdivision for which the subdividers 28 and 104a are presumed to be responsible. The merge process performed by merger 30 and merger 104b will then be described. Finally, cross-plane adaptation/prediction is described.
The manner in which subdividers 28 and 104a partition an image is such that an image may be partitioned into blocks, possibly of different sizes, for prediction and residual coding of image or video data. As previously described, the image 24 may be used as an array of one or more image sample values. In the case of YUV/YCbCr color space, for example, the first array may represent the luminance channel while the other two represent the chrominance channels. These arrays may have different dimensions. All arrays may be grouped into one or more plane groups, each plane group consisting of one or more contiguous planes such that each plane is contained in one and only one plane group. The following applies to each plane group. The first array of a particular group of planes may be referred to as the primary array of such a group of planes. The possible subsequent array is the dependent array. The block partitioning of the array at a time may be based on a quadtree approach, as described in detail later. The block partition of the slave array may be derived based on a single partition of the array.
in accordance with an embodiment described later, the subdividers 28 and 104a are configured to divide the primary array into a plurality of equally sized square blocks, hereinafter referred to as tree blocks. When using a quadtree, the side length of a treeblock is typically a multiple of 2, such as 16, 32 or 64. However, for completeness, it is noted that other types of trees and binary trees or trees with any number of leaves are possible. Furthermore, the number of sub-generations of a tree may depend on the hierarchy of the tree and on what signals the tree represents.
Furthermore, as explained before, the sets of samples may also represent other information than the video sequence, such as depth maps or light fields, respectively. For simplicity, the focus of the following description is on quadtrees as representative examples of multivariate trees. A quadtree is a tree with exactly four children at each internal node. Each tree block constitutes a primary quadtree with dependent quadtrees at each leaf of the primary quadtree. A sub-quadtree determines the subdivision of the given treeblock for prediction, and dependent quadtrees determine the subdivision of a given prediction treeblock for residual coding.
The root node of the first quadtree corresponds to the full tree block. For example, FIG. 3A shows a tree block 150. It should be kept in mind that each image is partitioned into a regular grid of rows and columns of such tree blocks 150, thus covering the sample array without gaps. It should be noted that for all block subdivisions shown later, seamless subdivisions without overlap are not of critical importance. Instead, adjacent blocks may overlap each other as long as no leaf block is an appropriate sub-portion of an adjacent leaf block.
Along with the quadtree structure of treeblock 150, each node may be further partitioned into four sub-nodes, which in the case of a one-time quadtree, means that treeblock 150 may be split into four sub-blocks, having a half-width and a half-height of treeblock 150. In fig. 3A, the sub-blocks are indicated by reference numerals 152a to 152 d. In the same way, each of these sub-blocks is further subdivided into four smaller sub-blocks having half-widths and half-heights of the original sub-blocks. In fig. 3B, shown for example as sub-block 152c, sub-block 152c is subdivided into four small sub-blocks 154 a-154 d. So far, fig. 3A to 3C show how the tree partition 150 is first divided into four sub-partitions 152a to 152d, and then the bottom left sub-partition 152C is divided into four small sub-partitions 154a to 154 d; and finally as shown in fig. 3C, the top right block 154b of these small sub-blocks is again divided into four blocks, each having one-eighth the width and one-eighth the height of the original tree block 150, these yet smaller sub-blocks being labeled 156 a-156 d.
Fig. 4 shows a potential tree structure based on the quadtree splitting example shown in fig. 3A to 3C. The numbers next to the tree nodes are so-called subdivision flag values, which will be described in further detail later in the discussion of quad-tree structure signaling. The root node of the quadtree is shown at the top of the graph (labeled as level "0"). The four branches of the root node at level 1 correspond to the four sub-blocks shown in FIG. 3A. Since the third one of these sub-blocks is subdivided into its four sub-blocks in fig. 3B, the third node in level 1 of fig. 4 also has four branches. Again, corresponding to the subdivision of the second (top right) child node of FIG. 3C, there are four child branches connected at the second node of the hierarchical level 2 of the quadtree. The nodes at level 3 are not further subdivided.
Each leaf of the quadtree corresponds to a variable size block for which individual prediction parameters (i.e., intra or inter, prediction mode, motion parameters, etc.) may be specified. Hereinafter, these blocks are referred to as prediction blocks. In particular, these leaf blocks are the blocks shown in FIG. 3C. Referring briefly back to the description of fig. 1 and 2, the segmentor 20 or the tessellator 28 determines a quadtree tessellation as previously explained. The subdividers 152a-d perform the decision of which of the treeblock 150, sub-blocks 152a-d, mini sub-blocks 154a-d, etc. is subdivided or further divided with the goal of obtaining the best compromise between too fine and too coarse prediction refinements as indicated above. The predictor 12 in turn uses the indicated prediction subdivision to determine the aforementioned prediction parameters in accordance with the granularity of the prediction subdivision or for each prediction sub-region of the block representation, e.g., as shown in fig. 3C.
the prediction block shown in fig. 3C may be further partitioned into smaller blocks for residual coding. For each prediction block, i.e. for each leaf node of a sub-quadtree, a corresponding subdivision is determined by one or more dependent quadtrees for residual coding. For example, when a maximum residual block size of 16 × 16 is allowed, a given 32 × 32 prediction block will be partitioned into four 16 × 16 blocks, each determined by the dependent quadtree used for residual coding. Each 16 x 16 block in this example corresponds to a root node of the dependent quadtree.
As described in the context of subdivision of a given tree block into prediction blocks, each prediction block may be partitioned into multiple residual blocks using dependent quadtree decomposition. Each leaf of a dependent quadtree corresponds to a residual block for which individual residual coding parameters (i.e., transform mode, transform coefficients, etc.) may be indicated by residual precoder 14, which in turn controls residual reconstructors 16 and 106, respectively.
In other words, the subdivider 28 may be configured to determine a prediction subdivision and a dependent prediction subdivision for each image or for each group of images, the image may be first partitioned into a regular arrangement of tree blocks 150, the prediction subdivision obtained by recursively partitioning a subset of the tree blocks by quadtree subdivision, the prediction blocks may be tree blocks if no partitioning is performed on the respective tree blocks, or then further subdividing a subset of the prediction blocks, the leaf blocks of the quadtree subdivision; similarly, if a prediction block is larger than the maximum size of the subordinate residual subdivision, the residual block is obtained by first partitioning the respective prediction block into sub-tree blocks, and then subdividing a subset of the sub-tree blocks according to a quadtree subdivision procedure, the residual block may be a prediction block if no partitioning into sub-tree blocks is performed on the respective prediction block, or a sub-tree block if the respective sub-tree block is not partitioned into yet smaller areas, or a leaf block of the residual quadtree subdivision.
As noted above, the subdivision selected for the primary array may be mapped to the dependent array. This is quite easy when considering dependent arrays of the same dimension as the primary array. But special measures must be taken when the dependent array dimension is different from the primary array dimension. In summary, mapping the primary array subdivision to the slave array at different sizes may be performed by spatial mapping, i.e., by spatially mapping the block boundary of the primary array subdivision to the slave array. In particular, for each slave array, there may be scaling factors in the horizontal and vertical directions that determine the ratio of the number of dimensions of a slave array to the number of dimensions of a slave array. The partitioning of the secondary array into subblocks for prediction and residual coding may be determined by the respective secondary quadtrees of the primary quadtree and the co-located subblocks of the primary array, the resulting subblocks of the secondary array being scaled by relative scaling factors. When the scaling factors for the horizontal and vertical directions are different (e.g., in 4:2:2 chroma subsampling), the prediction and residual blocks of the resulting dependent array will no longer be square. In this case, it may be predetermined or adaptively selected (for the entire sequence, one picture in the sequence, or for each single prediction block or residual block) whether the non-square residual block should be split into square blocks. For example, in the first case, the encoder and decoder will agree to subdivide into square blocks at the time of subdivision each time the mapped block is not square. In the second case, the subdivider 28 will signal the selection to the subdivider 104a via the data stream inserter 18 and the data stream 22. For example, in the case of 4:2:2 chroma subsampling, the dependent array has half the width of the primary array but the same height, and the height of the residual block is twice the width. By splitting this block vertically, two square blocks can be obtained again.
As previously described, the subdivider 28 or the splitter 20 signals the quadtree-based partitioning to the subdivider 104a via the data stream 22, respectively. To accomplish this, the subdivider 28 informs the data stream inserter 18 of the subdivision selected for the image 24. The data stream inserter again transmits the structure of the primary and secondary quadtrees, and thus transmits the image array divided into variable size blocks for the prediction or residual blocks within the data stream or bitstream 22 to the decoding side.
The minimum and maximum allowable block sizes are transmitted as side information and may vary from image to image. Alternatively, the minimum and maximum allowed block sizes may be fixed at the encoder and decoder. These minimum and maximum block sizes may be different for the prediction block and the residual block. Signaling for the quad-tree structure that the quad-tree must be traversed, it must be indicated for each node whether this particular node is a leaf node of the quad-tree (i.e., the corresponding block is not further subdivided), or whether this particular node branches into its four children (i.e., the corresponding block is divided into four children at half size).
Signaling within an image is performed on a raster scan order, such as left-to-right and top-to-bottom, tree block by tree block basis, as shown at 140 in fig. 5A. This scanning order may also be different, for example from bottom right to top left in a checkerboard fashion. In a preferred embodiment, each tree block and thus each quadtree is traversed in a depth-first manner to signal the subdivision information.
In the preferred embodiment, not only the subdivision information (i.e., the tree structure), but also the prediction data, etc. (i.e., the payloads associated with the leaf nodes of the tree) are transmitted/processed with depth priority. The reason for this is that depth-first traversal has advantages over breadth-first. In FIG. 5B, the quadtree structure is presented with leaf nodes labeled a, B, …, j. Fig. 5A shows the resulting block partition. If the block/leaf node is traversed in breadth first order, then the following order is obtained: abjchidefg. But in depth-first order, this order is abc … ij. As can be seen from fig. 5A, the left neighboring block and the top neighboring block are always transmitted/processed before the current block in depth-first order. Thus, motion vector prediction and context modeling can always use the parameters specified for the left and top neighboring blocks to achieve improved coding performance. For breadth first, this is not the case since block j is transmitted before blocks e, g, and i, for example.
As a result, the signaling for each tree block is performed recursively along the quadtree structure of the quadtree at a time, such that a flag is transmitted for each node indicating whether the corresponding block is split into four sub-blocks. If the flag has a value of "1" (for "true"), the signaling procedure repeats recursively for all four child nodes, i.e., the sub-blocks are in raster scan order (top left, top right, bottom left, bottom right) until the leaf nodes of the quadtree are reached once. Note that leaf nodes are characterized by a value of "0" with a subdivision flag. For the case where the node resides at the lowest hierarchical level of the first quadtree and thus corresponds to the smallest allowable prediction block size, no subdivision flag need be transmitted. For the example of fig. 3A-3C, the transmission of a "1" first indicates that tree block 150 is split into its four sub-blocks 152a-d, as shown at 190 in fig. 6A. The subdivision information for all four sub-blocks 152a-d is then recursively encoded in a raster scan order 200. For the first two sub-blocks 152a, b, a "0" will be transmitted, indicating that it is not sub-divided (see 202 in fig. 6A). For the third sub-block 152c (bottom left), a "1" will be transmitted, indicating that this block is subdivided (see 204 in fig. 6A). The four sub-blocks 154a-d of this block will now be processed according to a recursive approach. Here, a "0" will be transmitted for the first sub-block (206) and a "1" will be transmitted for the second (top-right) sub-block (208). Now four blocks 156a-d of the minimum subblock size of fig. 3C will be processed. If the minimum allowed block size of this example has been reached, no more data need be transmitted, since no further subdivision is possible. Otherwise, "0000" indicating that the blocks are not further subdivided is transmitted, as indicated at 210 in fig. 6A. Subsequently, "00" will be transmitted for the lower two blocks of fig. 3B (refer to 212 in fig. 6A), and finally "0" will be transmitted for the lower right block of fig. 3A (refer to 214). The complete binary string representing the quad-tree structure will be shown in fig. 6A.
The different background shading of this binary string representation of fig. 6A corresponds to different levels in the hierarchical relationship based on quadtree subdivision. Shading 216 represents level 0 (corresponding to a block size equal to the original treeblock size), shading 218 represents level 1 (corresponding to a block size equal to half the original treeblock size), shading 220 represents level 2 (corresponding to a block size equal to one quarter of the original treeblock size), and shading 222 represents level 3 (corresponding to a block size equal to one eighth of the original treeblock size). All subdivision flags of the same hierarchical level (corresponding to the same block size and same color in the exemplary binary string representation) may be entropy encoded, for example, by the inserter 18 using one and the same probability model.
Note that for the case of breadth-first traversal, the subdivision information will be transmitted in a different order, as shown in FIG. 6B.
Similar to the subdivision of the tree blocks for prediction, the partitioning of the resulting prediction blocks into residual blocks must be transmitted in the bitstream. There may also be maximum and minimum block sizes for residual coding that is transmitted as side information and may vary from picture to picture. Or the maximum and minimum block sizes for residual coding may be fixed at the encoder and decoder. At each leaf node of the first quadtree, as shown in fig. 3C, the corresponding prediction block can be divided into residual blocks of the maximum allowable size. These blocks are the constituent root nodes of the dependent quadtree structure for residual coding. For example, if the maximum residual block size of a picture is 64 × 64 and the prediction block size is 32 × 32, the entire prediction block will correspond to one dependent (residual) quadtree root node of size 32 × 32. On the other hand, if the largest residual block for an image is 16 × 16, the 32 × 32 prediction block will be composed of four residual quadtree root nodes, each with a size of 16 × 16. Within each prediction block, the signaling of the dependent quadtree structure is done root by root node in raster scan order (left to right, top to bottom). Similar to the case of a one-time (predictive) quadtree structure, for each node, a flag is encoded indicating whether this particular node is split into four child nodes. Then if this flag has a value of "1", it is repeated recursively in raster scan order (top left, top right, bottom left, bottom right) for all four corresponding child nodes and their corresponding sub-blocks until the leaf nodes of the dependent quadtree are reached. As with the one-time quadtree case, no signaling is required for the nodes at the lowest hierarchical level of the subordinate quadtree, since these nodes are blocks corresponding to the smallest possible residual block size and cannot be further partitioned.
For entropy coding, the residual block subdivision flags of residual blocks belonging to the same block size may be coded using one and the same probability model.
As such, in accordance with the example presented above with respect to fig. 3A-6A, sub-subdivisions having differently sized blocks of the one subdivision for prediction and the one subdivision for residual coding purposes are defined by sub-subdivisions 28. The data stream inserter 18 encodes the subdivisions by signaling in a zigzag scanning order for each tree block, the bit sequence being established according to fig. 6A, together with the maximum primary block size and the maximum hierarchical level at which the subdivision is encoded. For each prediction block so defined, the associated prediction parameters are already included in the bitstream. Furthermore, encoding of similar information (i.e. maximum size, maximum hierarchical level and bit sequence according to fig. 6A) may be performed for each prediction block, the size of which is equal to or smaller than the maximum size of the residual subdivision; and for each residual tree root block, wherein the prediction block has been pre-partitioned to exceed the maximum size defined for the residual block. For each such defined residual block, residual data is inserted into the data stream.
The decimator 102 extracts the respective bit sequences from the data stream at an input 116 and informs the slicer 104 about the subdivision information thus obtained. In addition, the data stream inserter 18 and the decimator 102 may use the aforementioned order to transfer additional syntax elements between the prediction blocks and the residual blocks, such as residual data output by the residual precoder 14 and prediction parameters output by the predictor 12. An advantage of using such an order is that by utilizing syntax elements that have been encoded/decoded for neighboring blocks, the appropriate context for encoding an individual syntax element for a block can be selected. In addition, the residual precoder 14 and predictor 12 and the residual reconstructor 106 and precoder 110 may process the respective prediction blocks and residual blocks in the order as outlined above.
fig. 7 shows a flow chart of steps that may be performed by the extractor 102 to extract subdivision information from the data stream 22 when encoding in the manner outlined above. In a first step, the decimator 102 divides the image 24 into tree root blocks 150. This step is indicated in fig. 7 as step 300. Step 300 involves decimator 102 decimating the maximum prediction block size from data stream 22. Additionally or alternatively, step 300 may involve decimator 102 decimating the maximum hierarchical level from data stream 22.
Next, in step 302, the decimator 102 decodes a flag or a bit from the data stream. Proceeding to the first time step 302, the decimator 102 knows the first flag of the respective bit order that is marked as belonging to the first root tree block 150 in the root tree block scan order 140. Thus, the tag is a tag having a hierarchical level 0, and in step 302, the decimator 102 may determine a context using context modeling associated with the hierarchical level 0. Each context has a separate probability estimate for entropy coding of the marker associated with it. The probability estimates for the contexts may be individually adapted to the individual context symbol statistics. For example, to determine the appropriate context for decoding hierarchical level 0 flags at step 302, the decimator 102 may select one of a set of contexts, which is associated with hierarchical level 0, depending on the hierarchical level 0 flags of neighboring treeblocks, and further depending on information contained in the bit string of the quadtree subdivision defining the neighboring treeblocks (such as the top and left neighboring treeblocks) of the currently processed treeblock.
In the next step, step 304, the decimator 102 checks whether the current decoding flag indicates partitioning. If this is the case, the decimator 102 partitions the current block (currently a treeblock) or indicates such a partition to the subdivider 104a at step 306, which checks at step 308 whether the current hierarchical level is equal to the maximum hierarchical level minus 1. For example, the extractor 102 also has the largest hierarchical level extracted from the data stream in step 300. If the current hierarchical level is not equal to the maximum hierarchical level minus 1, the decimator 102 increments the current hierarchical level by 1 at step 310 and returns to step 302 to decode the next tag from the data stream. At this point, the mark to be decoded in step 302 belongs to another hierarchical level, so according to one embodiment, the decimator 102 may select one of the different context sets that belong to the current hierarchical level. The selection may also be based on the subdivision bit sequence of the neighboring tree block that has already been decoded according to fig. 6A.
if a flag is decoded and the check of step 304 reveals that the flag does not indicate the partition of the current block, the decimator 102 proceeds to step 312 to check whether the current hierarchical level is 0. If so, the decimator 102 processes the next root block in the scan order 140 at step 314, or stops processing to extract subdivision information if no root block remains to be processed.
It is noted that the description of fig. 7 focuses on the decoding of the subdivision indicator of only the prediction subdivision, so that, in practice, step 314 involves decoding with respect to other bins (bins) or syntax elements associated with, for example, the current treeblock. In this case, if there is a further or next tree root block, the extractor 102 proceeds from step 314 to step 302 to decode the next tag, i.e., the first tag of the tag sequence associated with the new tree block, from the subdivision information.
if the hierarchical level is not equal to 0 in step 312, operation proceeds to step 316 where it is checked whether there are other child nodes associated with the current node. In other words, when the decimator 102 checks at step 316, it has already checked at step 312 that the current hierarchical level is a hierarchical level other than the 0 hierarchical level. This in turn means that there is a parent node that belongs to one of root tile 150 or mini-tiles 152a-d or yet smaller tiles 152a-d, etc. The current decoding flag has a parent node in the tree structure to which the current decoding flag belongs, the parent node being shared by three other nodes of the current tree structure. The scan order among these child nodes with a shared parent node is illustrated in FIG. 3A, with reference numeral 200 for hierarchical level 0. Thus, in step 316, the decimator 102 checks whether all four child nodes have been accessed in the process of FIG. 7. If this is not the case, i.e., there are additional child nodes for the current parent node, the process of FIG. 7 proceeds to step 318, where the next child node within the current hierarchical level according to the zig-zag scan order 200 is accessed so that its corresponding child block now represents the current block of FIG. 7, and then, a flag is decoded from the data stream regarding the current block or the current node in step 302. However, at step 316, if there are no additional child nodes to the current parent node, the method of FIG. 7 proceeds to step 320, where the current hierarchical level is decremented by 1, where the method then proceeds at step 312.
By performing the steps shown in fig. 7, the decimator 102 cooperates with the subdivider 104a to retrieve the selected subdivisions from the data stream at the encoder side. The method of fig. 7 focuses on the case of the aforementioned prediction subdivision. In combination with the flow chart of fig. 7, fig. 8 shows how the decimator 102 and the subdivider 104a cooperate to retrieve residual subdivisions from the data stream.
Specifically, fig. 8 shows the steps performed by the extractor 102 and the subdivider 104a for each prediction block resulting from prediction subdivision. As described above, the prediction blocks are traversed between the prediction sub-divided treeblocks 150 according to the zig-zag scan order 140, and the depth-first traversal currently accessed within each treeblock 150 is used to traverse the treeblocks, as shown, for example, in fig. 3C. According to the depth-first traversal order, the leaf blocks of a partitioned primary treeblock are accessed in depth-first traversal order, the sub-blocks of a certain hierarchical level sharing the current node are accessed in a zig-zag scan order 200, and the respective subdivisions of these sub-blocks are mainly scanned first before proceeding to the next sub-block of such a zig-zag scan order 200.
For the example of fig. 3C, the resulting scan order among the leaf nodes of the tree block 150 is shown with reference numeral 350.
The process of FIG. 8 begins at step 400 for the currently accessed prediction block. In step 400, the internal parameter indicating the current size of the current block is set to be equal to the size of the hierarchical level 0 of the residual refinement, i.e. the maximum block size of the residual refinement. It should be kept in mind that the maximum residual block size may be smaller than the minimum block size of the prediction subdivision, or may be equal to or larger than the latter. In other words, according to one embodiment, the encoder is free to choose any of the aforementioned possibilities.
in the next step, step 402, a check is performed to see if the predicted block size of the currently accessed block is larger than the internal parameter denoted as current size. If this is the case, the currently accessed prediction block, which may be a leaf block of prediction refinement or a tree block of prediction refinement without any further partitioning, is larger than the maximum residual block size, in which case the process of fig. 8 proceeds to step 300 of fig. 7. In other words, the currently accessed prediction block is partitioned into the residual tree root block, the first flag of the flag sequence of the first residual tree block inside such currently accessed prediction block is decoded in step 302, and so on.
If, however, the current access prediction block has an internal parameter of a size equal to or less than the indicated current size, the process of FIG. 8 proceeds to step 404 where the prediction block size is examined to determine if it is equal to the internal parameter indicating the current size. If so, the segmentation step 300 may be skipped and the process proceeds directly to step 302 of FIG. 7.
if, however, the predicted block size of the currently accessed predicted block is less than the internal parameter indicating the current size, the process of FIG. 8 proceeds to step 406, where the hierarchical level is incremented by 1 and the current size is set to the size of the new hierarchical level, such as by 2 partitions (in the case of quadtree subdivision, in the two-axis direction). Then, the check of step 404 is performed again, and the loop effect formed by steps 404 and 406 is that the hierarchical levels often correspond to the corresponding block sizes to be partitioned, independently of the respective prediction blocks having a size smaller than or equal to/larger than the maximum residual block size. Thus, when the tag is decoded at step 302, the context modeling performed depends on both the hierarchical level to which the tag refers and the block size. The advantage of using different contexts for different hierarchical levels or block sizes of tokens respectively is that the probability estimation is well suited to the actual probability distribution of token value occurrences, and on the other hand has a moderate number of contexts to be managed, thus reducing the context management overhead and increasing the adaptation of the context to the actual symbol statistics.
As already mentioned above, there is more than one array of samples, which can be grouped into one or more groups of planes. For example, the input signal to be encoded into the input 32 may be a video sequence or a picture of a still picture. Such that the image is in the form of one or more arrays of samples. In the context of image coding of video sequences or still images, a sample array refers to three color planes, such as red, green, and blue, or to color representations of the luminance and chrominance planes, such as in YUV or YCbCr. In addition, an array of samples representing depth information for alpha (i.e., transparency) and/or 3-D video data may also be presented. A plurality of these sample arrays may be grouped together into so-called plane groups. For example, luminance (Y) may be one group of planes with only one array of samples, and chrominance (such as YCbCr) may be another group of planes with two arrays of samples; or in another example, the UV may be one group of planes with three matrices and the depth information for the 3-D video material may be a different group of planes with only one array of samples. For each plane group, a one-time quadtree structure may be encoded within the data stream 22 to represent partitioning into prediction blocks; and for each prediction block, the quadratic quadtree structure representation is partitioned into residual blocks. Thus, according to the first example described above, the luma component is a group of planes where the chroma components form another group of planes, a quadtree structure is for the prediction blocks of the luma plane, a quadtree structure is for the residual blocks of the luma plane, a quadtree structure is for the prediction blocks of the chroma plane, and a quadtree structure is for the residual blocks of the chroma plane. However, in the second example, there may be one quad-tree structure for the luma and chroma together prediction blocks (YUV), one quad-tree structure for the luma and chroma together residual blocks (YUV), one quad-tree structure for the depth information of the 3-D video data, and one quad-tree structure for the depth information of the 3-D video data.
Furthermore, in the foregoing description, the input signal is partitioned into prediction blocks using a one-time quadtree structure, and it is now described how these prediction blocks are further subdivided into residual blocks using a dependent quadtree structure. According to another embodiment, the subdivision does not end at the subordinate quadtree level. In other words, the blocks resulting from the subdivision using the dependent quadtree structure may be further subdivided using a ternary quadtree structure. This segmentation is in turn used for the purpose of using additional coding tools, which may assist in the coding of the residual signal.
The foregoing description focuses on subdividing by subdivider 28 and subdivider 104a, respectively. As mentioned above, the subdivision by the subdividers 28 and 104a, respectively, may control the processing granularity of the modules of the encoder 10 and decoder 100. However, according to the embodiments described below, the subdividers 228 and 104a are followed by the merger 30 and the merger 104b, respectively. It should be noted that combiners 30 and 104b are optional and may be eliminated.
but in fact and as detailed later, the merger provides the encoder with the opportunity to combine several of the prediction or residual blocks into groups or clusters so that the other modules or at least a portion of the other modules can process these groups of blocks together. For example, the predictor 12 may sacrifice the variance between the measured prediction parameters of part of the prediction blocks by using a subdivision optimization of the subdivider 28 and replace it with prediction parameters shared for all these prediction blocks, as long as the prediction block grouping together with the signaling of the shared parameters of all the blocks belonging to the group is more promising in terms of rate/distortion ratio than the signaling of the prediction parameters of all these prediction blocks individually. Based on these shared prediction parameters, the processes that retrieve predictions at the predictors 12 and 110 are themselves performed as prediction blocks one by one. It is also possible that the predictors 12 and 110 perform the prediction process even once for the entire group of prediction blocks.
as will be described in more detail later, it is also possible that a group of prediction blocks not only uses the same or shared prediction parameters for a set of prediction blocks, but additionally or alternatively, allows the encoder 10 to send one prediction parameter for such a group together with the prediction residual for the prediction blocks belonging to such a group, thus reducing the signaling overhead used to signal the prediction parameters of such a group. In the latter case, the merging procedure only affects the data stream inserter 18 and not the decisions made by the residual precoder 14 and predictor 12. But with further details as detailed later. For completeness, however, it is noted that the aforementioned aspects are also applicable to other subdivisions, such as the aforementioned residual or filter subdivisions.
First, the merging of sample sets (such as the prediction and residual blocks) is motivated in a more general sense, i.e., not limited to the aforementioned multi-tree subdivision. The following description will focus on the merging of blocks subdivided by the treelets in the previous embodiment.
In summary, the merging of syntax elements associated with a particular sample set for the purpose of transmitting associated coding parameters allows for a reduction of the side information rate in image and video coding applications. For example, an array of samples of a signal to be encoded is typically partitioned into a particular set of samples or samples, which may represent a rectangular block or a square block, or any other set of samples, including an arbitrarily shaped region, triangle, or other shape. In the foregoing embodiment, the simply connected regions are prediction blocks and residual blocks subdivided from the polytree. The subdivision of the sample array may be fixed by syntax; or as mentioned before, the subdivision may also be signaled at least partly inside the bitstream. To maintain the side information rate for signaling the subdivision information small, the syntax typically allows only a limited number of choices to result in simple partitioning, such as subdividing a block into smaller blocks. The sample set is associated with a particular coding parameter, which may indicate prediction information or a residual coding mode, etc. The details of this issue are as described above. For each sample set, individual coding parameters, such as to indicate predictive coding and/or residual coding, may be transmitted. In order to achieve improved coding efficiency, the merging aspect described hereinafter, i.e. merging two or more sample sets into a so-called sample set group, allows several advantages to be achieved, as will be described in more detail later. For example, sample sets may be merged such that all sample sets of such a group share the same encoding parameters, which may be transmitted along with one of the sample sets in the group. In this way, the encoding parameters need not be transmitted individually for each sample set in the group of sample sets, but instead, the encoding parameters are transmitted only once for the entire group of sample sets. As a result, side information for transmitting the coding parameters is reduced and the overall coding efficiency can be improved. As an alternative, additional refinements of one or more encoding parameters may be transmitted for one or more sample sets in a group of sample sets. Refinement may be applied to all sample sets in a group, or only to the sample set transmitted for it.
The merging aspect, described further below, also provides the encoder with a higher degree of freedom in forming the bitstream 22, since the merging approach significantly increases the number of possibilities for selecting an array of partitioned image samples. Coding efficiency may be improved because the encoder may choose between more options, such as to reduce certain rate/distortion measures. There are several possibilities to operate the encoder. In a simple approach, the encoder may first decide the best subdivision of the sample array. Referring briefly to fig. 1, the subdivider 28 will determine the optimal subdivision at the first level. Then, for each sample set, it is checked whether merging with another sample set or another group of sample sets reduces a certain rate/distortion cost measure. In this regard, the prediction parameters associated with a group of merged sample sets may be re-estimated, such as by performing new motion searches and estimations; or the prediction parameters that have been determined for the shared sample set and the candidate sample set or the group of sample sets used for merging may be evaluated for the group of sample sets considered. In a more comprehensive approach, a particular rate/distortion cost measure may be evaluated for additional groups of candidate sample sets.
It should be noted that the merging approach described below does not change the processing order of the sample sets. In other words, the merging scheme may be implemented in such a way that the delay is no longer increased, i.e. each sample set remains decodable at the same time instant without using the merging approach.
for example, if the bit rate saved by reducing the number of coding prediction parameters is larger than the bit rate additionally consumed in coding the merging information to indicate merging to the decoding end, the merging method (as described in detail later) results in an increase in coding efficiency. It has to be further mentioned that the syntax extension for merging provides an encoder with additional degrees of freedom to select a picture or a group of planes to be partitioned into multiple blocks. In other words, the encoder is not limited to first subdividing and then checking if several of the resulting blocks have the same set of prediction parameters or a similar set. As a simple alternative, based on the rate-distortion cost measure, the encoder first decides to subdivide and then for each block encoder may check whether the merging with one of its neighboring blocks or associated already determined group of blocks reduces the rate-distortion cost measure. As such, the prediction parameters associated with the new group of blocks may be re-estimated, such as by performing a new motion search; or the prediction parameters that have been determined for the current block and neighboring blocks or groups of blocks may be evaluated for the new group of blocks. The merging information is signaled in units of blocks. Effectively, merging can also be interpreted as the result of prediction parameter inference for the current block, where the inferred prediction parameter is set equal to the prediction parameter of one of the neighboring blocks. In addition, residuals may be transmitted for blocks in a group of blocks.
As such, a potential underlying concept of the merging concept described later is to reduce the bitrate required to transmit the prediction parameters or other coding parameters by merging neighboring blocks into a group of blocks, where each group of blocks is associated with a unique set of coding parameters, such as prediction parameters or residual coding parameters. In addition to the subdivision information (if present), the merging information is also signaled inside the bitstream. The advantage of the merging concept is that the reduction of side information from the coding parameters leads to an increased coding efficiency. It should be noted that the merging method described herein may also be extended to other dimensions than the spatial dimension. For example, a group of samples or block sets within several different video pictures may be merged into one block group. Merging is also applicable to 4-compression and optical field encoding.
Thus, referring briefly back to the description of FIGS. 1-8 above, it is noted that the merging procedure after subdivision is advantageous, independent of the particular manner in which the subdividers 28 and 104a subdivide the image. More specifically, the latter may also subdivide the pictures in a manner similar to h.264, in other words subdivide each picture into a regular arrangement of rectangular or square aggregated blocks of a predetermined size, such as 16 × 16 luma samples or signaled size within the data stream, each macroblock having associated therewith a number of coding parameters, including, for example, for each macroblock, a regular sub-grid defining the partition into 1, 2, 4 or some other number of partitions, as the prediction granularity and the corresponding prediction parameters in the bitstream and the partition parameters for the partitions defining the residual and the corresponding residual transform granularity.
In summary, merging provides the advantages discussed briefly above, such as reducing side information rate bits in image and video coding applications. A particular set of samples, representing a rectangular or square block or an arbitrarily shaped region or any other set of samples such as any simply connected region or samples, is typically a connected particular set of encoding parameters; for each set of samples, an encoding parameter is included in the bitstream, the encoding parameter for example representing a prediction parameter that specifies how the corresponding set of samples is to be predicted using the encoded samples. The partitioning of an image sample array into sample sets may be fixed by syntax or may be signaled by corresponding subdivision information within the bitstream. The encoding parameters for the sample set may be transmitted in a predetermined order, i.e., the order given by the syntax. Depending on the merging function, the merger 30 may signal a group of sample sets for a common sample set or a current block (such as a predicted block or residual block merged with one or more other sample sets). The coding parameters for a group of sample sets thus need only be transmitted once. In a particular embodiment, the coding parameters of the current sample set are not transmitted if the current sample set is merged with a sample set or an existing group of sample sets for which coding parameters have already been transmitted. Instead, the encoding parameter of the current sample set is set equal to the encoding parameter of the sample set or the group of sample sets with which the current sample set is merged. As an alternative, additional refinements of one or more of the encoding parameters may be transmitted for the current sample set. Refinement may be applied to all sample sets of a group or only to the sample set for which transmission is intended.
According to an embodiment, for each set of samples (such as the aforementioned prediction block, the aforementioned residual block or the aforementioned leaf block of the multi-tree subdivision), the set of all previously encoded/decoded sample sets is referred to as the "set of causal sample sets". See, for example, fig. 3C. All blocks shown in this figure are a result of some subdivision, such as a prediction subdivision or a residual subdivision or any multi-tree subdivision, and the encoding/decoding order defined between these blocks is defined by arrows 350. Consider a block between these blocks as the current sample set or current simply connected region, whose set of causal sample sets consists of all blocks in front of the current block along the order 350. It should be kept in mind that other subdivisions that do not use a polytree subdivision are possible, as long as the following discussion of the merging principle is considered.
The set of samples available for merging with the current set of samples is referred to hereinafter as the "set of candidate samples", often a subset of the "set of causal samples". The way how this subset is formed is known to the decoder or can be indicated inside the data stream or bitstream from the encoder to the decoder. If a particular current sample set is encoded/decoded, then this set of candidate sample sets is not empty, which is signaled within the data stream at the encoder, or is derived from the data stream at the decoder whether the shared sample set is merged with one of the sample sets in this set of candidate sample sets, and if so, with which of the sample sets. Otherwise, merging cannot be used for the current block because the set of candidate sample sets is often empty.
There are different ways to determine which subset of the set of causal sample sets will represent the set of candidate sample sets. For example, the candidate sample set may be determined based on samples within the current sample set that have a unique geometric definition, such as the top left image sample of a rectangular block or a square block. Starting from such a unique geometry defining sample, a certain non-zero number of samples is determined, representing direct spatial neighbors of such unique geometry defining sample. For example, such a particular non-zero number of samples includes top and left neighboring samples of the unique geometrically defined sample of the current set of samples, so the non-zero number of neighboring samples is at most 2, or 1 if one of the top or left neighboring samples is unavailable or located outside the image; alternatively, if two neighboring samples are missing, then the non-zero number is 0.
the set of candidate sample sets may be determined to cover those sample sets that contain at least one of the aforementioned non-zero number of neighboring samples. See, for example, fig. 9A. The sample set considered at present is the merging object, which must be the block X, and the geometrically uniquely defined sample thereof must be illustrated as the top left sample, indicated at 400. The top and left adjacent samples of sample 400 are indicated as 402 and 404, respectively. The set of causal sample geometries or the set of causal blocks are emphasized in a shaded manner. Thus of these blocks, blocks a and B comprise one of the neighboring samples 402 and 404, which form a set of candidate blocks or a set of candidate samples.
According to another embodiment, the set of candidate sample sets determined for merging purposes may additionally or exclusively comprise a sample set containing a certain non-zero number of samples, which number may be 1 or 2, both having the same spatial position but contained in different pictures, i.e. previously encoded/decoded pictures. For example, in addition to blocks a and B of fig. 9A, blocks of a previously encoded image may be used that include samples at the same positions of samples 400. In this way, note that only the top-adjacent samples 404 or only the left-adjacent samples 402 may be used to define a non-zero number of the aforementioned adjacent samples. In general, the set of candidate sample sets may be derived from previously processed data within the current image or other images. The derivation may include spatial orientation information, such as transform coefficients associated with a particular orientation and image gradient of the current image; or may include temporal direction information such as neighboring motion representations. From these data available at the receiver/decoder and other data within the data stream and side information, if any, a set of candidate sample sets may be derived.
It is noted that the derivation of the candidate sample set is performed side by the combiner 30 at the encoder side and the combiner 104b at the decoder side. As just described, both may decide on a set of candidate sample sets that are independent of each other based on a predefined manner known to both; or the encoder may signal hint cues within the bitstream that bring the merger 104b to a position to perform the derivation of the candidate sample sets in the same way as the merger 30 that decides the set of these sample sets on the encoder side.
as will be described in more detail later, the merger 30 and the data stream inserter 18 cooperate to transmit one or more syntax elements for each sample set that indicate whether the sample set is merged with another sample set, which in turn may be part of a group of already merged sample sets, and which of the sets of candidate sample sets is used for merging. The extractor 102 in turn extracts these syntax elements accordingly and notifies the merger 104 b. In particular, according to certain embodiments described below, one or two syntax elements are transmitted for a particular sample set to indicate merging information. The first syntax element indicates whether the current sample set is merged with another sample set. If the first syntax element indicates that the current sample set is merged with another sample set, the second syntax element transmitted only if this is the case indicates which of the set of candidate sample sets is used for merging. If the set of candidate sample sets is derived to be empty, transmission of the first syntax element may be suppressed. In other words, if the derived set of candidate samples is not empty, only this case is the case for transmitting the first syntax element. The second syntax element is only transmitted if the derived set of candidate sample sets contains more than one sample set, since no further selection is possible if only one sample set is contained in the set of candidate sample sets. Furthermore, if the set of candidate sample sets includes more than one sample set, transmission of the second syntax element may be suppressed; but not if all of the set of candidate sample sets are associated with the same encoding parameter. In other words, the second syntax element is transmitted only if at least two sample sets of a derived set of candidate samples are associated with different coding parameters.
within the bitstream, merging information for a set of samples may be encoded prior to prediction parameters or other specific encoding parameters associated with the set of samples. The prediction parameters or coding parameters are only transmitted if the merging information signals that the current set of samples is not merged with any other set of samples.
For example, the merging information for a certain sample set (i.e., a block) may be encoded after the appropriate prediction parameter subset; or more generally, encoding parameters associated with the individual sample sets have been transmitted. The prediction/coding parameter subset may be composed of one or more reference picture indices, or one or more components of a motion parameter vector, or a reference index, and one or more components of a motion parameter vector, etc. The transmitted prediction parameters or subset of coding parameters may be used to derive a set of candidate samples from a temporary set of larger candidate samples that has been derived just as described above. For example, a difference measure or a distance based on a predetermined distance measure between the encoded prediction parameter and the encoding parameter of the current sample set and the corresponding prediction parameter or encoding parameter of the previous candidate sample set may be calculated. Then, only those sample sets for which the calculated difference measure or distance is less than or equal to the predetermined threshold or the derived threshold are included in the final set (i.e., the reduced set of candidate samples). See, for example, fig. 9A. The current sample set must be block X. A subset of the coding parameters associated with this block must have been inserted into the bitstream 22. For example, assuming that block X is a prediction block, in which case a suitable subset of coding parameters may be a subset of prediction parameters for this block X, such as a subset of a set comprising picture reference indices and motion mapping information (such as motion vectors). If block X is a residual block, the subset of coding parameters is a residual information subset, such as transform coefficients or a mapping table indicating significant transform coefficient positions inside block X. Based on this information, both the stream inserter 18 and the decimator 102 may use this information to determine a subset of blocks a and B, which in this particular embodiment constitutes the preliminary set of candidate sample sets described above. In particular, since blocks a and B belong to a set of causal sample sets, their encoding parameters are available to both the encoder and decoder when the encoding parameters of block X are currently encoded/decoded. Thus, the aforementioned comparison using different approaches may be used to exclude any number of blocks in the preliminary set of candidate sample sets a and B. The resulting reduced set of candidate sample sets may then be used as described above, i.e. to determine whether a merge indicator indicates to transmit a merge from the data stream or to extract a merge from the data stream, depending on the number of sample sets within the reduced set of candidate sample sets and whether a second syntax element has to be transmitted therein; or has been extracted from the data stream, has a second syntax element indicating which sample set within the reduced candidate sample set is to be a merge partner block.
the threshold against which the distance is compared may be fixed and known to both the encoder and decoder, or may be derived based on the calculated distance, such as a median or several other trends in the median of the different values. In this case, inevitably, narrowing down the set of candidate sample sets is required to be an appropriate subset of the preliminary set of candidate sample sets. In addition, only those sample sets that are the smallest distances according to the distance measure are selected from the preliminary set of candidate sample sets. In addition, only exactly one sample set is selected from the preliminary set of candidate sample sets using the aforementioned distance measures. In the latter case, the merging information only needs to indicate which current sample set is to be merged with the single candidate sample set.
as such, the candidate block set may be formed or derived as described below with respect to fig. 9A. Starting at the top left sample position 400 of the current block X of fig. 9A, the left neighboring sample 402 position and the top neighboring sample 404 position are derived at the encoder side and the decoder side. Thus, the candidate block set has at most only two elements, i.e., the blocks in the shaded causal set of fig. 9A that contain one of the two sample positions (which is the case in fig. 9A) are blocks B and a. Thus, the candidate block set has only two immediately adjacent blocks of the top-left sample position of the current block as its elements. According to a further embodiment, the set of candidate blocks may be given by all blocks already coded before the current block and containing one or more samples representing direct spatially neighboring samples of any sample of the current block. Direct spatial proximity is limited to the immediate left-neighboring samples and/or the immediate top-neighboring samples and/or the immediate right-neighboring samples and/or the immediate bottom-neighboring samples of any sample of the current block. Another block subdivision is shown, for example, with reference to fig. 9B. In this case, the candidate blocks include four blocks, namely blocks A, B, C and D.
In addition, the candidate block set may additionally or exclusively include blocks that contain one or more samples (which are located at the same position as any sample of the current block, but are contained in a different picture, i.e., an encoded/decoded picture).
in addition, the candidate block set represents a subset of the block set, which is determined by the spatial or temporal proximity relationship. The subset of candidate blocks may be fixed, signaled, or derived. The derivation of the subset of candidate blocks may take into account decisions made on other blocks in the image or other images. As an example, blocks associated with the same or very similar coding parameters as other candidate blocks may not be included in the candidate block set.
The following description of the embodiments applies to the case where only two blocks of left and top neighboring samples containing the top-left sample of the current block are considered as most likely candidates.
If the candidate block set is not empty, a flag, referred to as merge _ flag, is signaled indicating whether the current block is merged with any candidate block. If merge _ flag is equal to 0 (for "false"), then this block will not be merged with one of its candidate blocks, typically transmitting all coding parameters. If merge _ flag is equal to 1 (for true), the latter applies. If the candidate block set contains one and only one block, then this candidate block is used for merging. Otherwise, the candidate block set contains exactly two blocks. If the prediction parameters of the two blocks are the same, the prediction parameters are used for the current block. Otherwise (the two blocks have different prediction parameters), a flag called merge _ left _ flag is signaled. If merge _ left _ flag is equal to 1 (for "true"), then the block containing the left neighboring sample position of the current block's top-left sample position is selected from the candidate block set. If merge _ left _ flag is equal to 0 (for "false"), then another (i.e., top-adjacent) block is selected from the candidate block set. The prediction parameters for the selected block are for the current block.
With respect to merging and summarizing several of the foregoing embodiments, reference is made to fig. 10 which shows the steps performed by the decimator 102 to extract merging information from the data stream 22 entering the input 116.
Processing begins at 450 with identifying a candidate block or sample set for a current sample set or block. It should be kept in mind that the coding parameters for the blocks are transmitted within the data stream 22 in some one-dimensional order, and accordingly, fig. 10 refers to a method of retrieving the merging information for the currently accessed sample set or block.
as previously described, the identifying and step 450 includes identifying in a previously decoded block (i.e., a causal block set) based on neighboring aspects. For example, those neighboring blocks may point to a candidate containing some neighboring sample that is spatially or temporally adjacent to the predetermined sample or samples of the geometry or geometries of the current block X. Furthermore, the identifying step may comprise two stages, namely a first stage involving the identification of a preliminary set of candidate blocks based on proximity as just described; and the second stage accordingly simply refers to those blocks that have been decoded from the data stream prior to step 450, which have transmitted coding parameters that satisfy some relationship to the appropriate subset of coding parameters for the current block X.
Next, the method proceeds to step 452, where it is determined whether the number of candidate blocks is greater than zero. If this is the case, merge _ flag is extracted from the data stream at step 454. The decimation step 454 may involve entropy decoding. The context used for entropy decoding the merge _ flag at step 454 may be based on syntax elements belonging to, for example, a candidate block set or a preliminary candidate block set, wherein dependency on syntax elements may be limited to the following information: whether blocks belonging to the set of interest undergo merging. The probability estimate for the selected context may be adaptively adjusted.
however, if the number of candidate blocks is determined to be zero 452, the method of fig. 10 proceeds to step 456, where the coding parameters for the current block are extracted from the bitstream, or in the case of the aforementioned bi-level identification of alternate tracks, where the remaining coding parameters are processed after the next block is processed by the extractor 102 in a block scan order (such as order 350 shown in fig. 3C).
referring to step 454, following the extraction of step 454 the method advances to step 458 where a check is made as to whether the extracted merge _ flag indicates the presence or absence of a current block merge. If no merging is performed, the method proceeds to step 456 as previously described. Otherwise, the method proceeds with step 460, which includes checking whether the number of candidate blocks is equal to 1. If this is the case, the transmission of an indication of a candidate block from among the candidate blocks is not necessary, so the method of fig. 10 proceeds to step 462, whereupon the merge partner of the current block is set as the only candidate block, wherein the coding parameters of the merge partner block are used to adjust the adaptation or prediction of the coding parameters or the remaining coding parameters of the current block after step 464. For example, the missing coding parameters of the current block are simply copied from the merge partner block. In another case, i.e., the case of prediction, step 464 may involve further extracting residual data from the data stream, residual data relating to prediction residuals of missing coding parameters for the current block, and a combination of these residual data from the merge partner block and the prediction of these missing coding parameters.
However, if the number of candidate blocks is determined to be greater than 1 in step 460, the method of fig. 10 proceeds to step 466, where it is checked that the coding parameters or the concerned portions of the coding parameters, i.e., the sub-portions associated with the portions that have not been shifted within the data stream of the current block, are consistent with each other. If so, the shared coding parameters are set as merge references, or the candidate blocks are set as merge partners at step 468, or individual coding parameters of interest are used for adaptation or prediction at step 464.
It should be noted that the merge partner itself may be a block that has signaled a merge. In this example, the adapted or predicted encoding parameters of the merge partners are used for step 464.
Otherwise, in case the coding parameters are different, the method of fig. 10 proceeds to step 470, where the additional syntax element is extracted from the data stream, i.e. the merge _ left _ flag. A separate set of contexts may be used to entropy decode this flag. The context set used for entropy decoding merge left flag may also include only one context. After step 470, the candidate block indicated by merge _ left _ flag is set as a merge partner at step 472 and used for adaptation or prediction at step 464. After step 464, the decimator 102 processes the next block in block order.
Of course, other alternatives are possible. For example, the combined syntax element may be transmitted inside the data stream, rather than signaling the merge process as described above for the separate syntax elements merge _ flag and merge _ left _ flag. In addition, the merge _ left _ flag can be transmitted within the data stream regardless of whether the two candidate blocks have the same prediction parameters, thereby reducing the computational overhead of performing the processing procedure of FIG. 10.
as described above with respect to, for example, fig. 9B, more than two blocks may be included in the candidate block set. In addition, merge information, i.e., an information that signals whether a block is merged; if so, the candidate block to be merged may be signaled via one or more syntax elements. One syntax element may indicate whether the block is merged with any of the aforementioned candidate blocks, such as the aforementioned merge _ flag. The flag is only transmitted if the set of candidate blocks is non-empty. The second syntax element may signal which candidate block is employed for merging, such as the aforementioned merge _ left _ flag, but typically indicates a choice between two or more candidate blocks. The second syntax element may be transmitted only if the first syntax element signals that the current block is to merge with one of the candidate blocks. The second syntax element is in turn transmitted more only if the set of candidate blocks contains more than one candidate block and/or if any of the candidate blocks has different prediction parameters than any other of the candidate blocks. The syntax may depend on how many candidate blocks are given and/or how different prediction parameters are associated with the candidate blocks.
The syntax that signals which of the candidate blocks to use may be set at the encoder side and the decoder side simultaneously and/or side-by-side. For example, if three candidate block selections are identified at step 450, the syntax is selected such that only three selections are available, such as for entropy coding at step 470. In other words, a syntax element is selected such that its alphabet of symbols only has as many elements as the selection of the candidate block that is present. All other selection probabilities may be considered to be zero, and the entropy encoding/decoding may be adjusted at both the encoder and decoder.
Furthermore, as noted above with respect to step 464, the prediction parameters referred to as the result of the merging method may represent the complete set of prediction parameters associated with the current block, or may represent a subset of these prediction parameters, such as the prediction parameters of one hypothesis for the block for which multi-hypothesis prediction is used.
As previously described, the syntax elements related to the merging information may be entropy-encoded using context modeling. The syntax element may consist of the aforementioned merge _ flag and merge _ left _ flag (or similar syntax elements). In one embodiment, one of three context models or contexts may be used to encode/decode merge flag at step 454. The context model index merge _ flag _ ctx used can be derived as follows: if the candidate block set contains two elements, the value of merge _ flag _ ctx is equal to the sum of the values of merge _ flags of the two candidate blocks. However, if the candidate block set contains one element, the value of merge _ flag _ ctx is twice the value of merge _ flag equal to this candidate block. Since each merge _ flag of neighboring candidate blocks may be 1 or 0, three contexts are available for the merge _ flag. The merge left flag can be encoded using only a single probability model.
But different context models may be used, depending on alternative embodiments. For example, non-binary syntax elements may be mapped to a sequence of binary symbols (so-called bins). A context model defining a number of syntax elements or syntax element bins of merging information may be derived based on the number of syntax elements or candidate blocks of neighboring blocks that have been transmitted or other measures, while other syntax elements or syntax element bins are capable of being encoded with a fixed context model.
it is noted that the candidate block set may also be derived in the same manner as described for any of the embodiments above with the following modifications: candidate blocks are limited to blocks predicted or interpreted using motion compensation. Only those elements may be elements of the candidate block set. The signaling of the merging information and the context modeling may be performed in the manner described above.
Turning to the combination of the aforementioned multi-tree subdivision embodiments and the merging aspects now described, if the picture is partitioned into unequal sized square blocks using a quadtree-based subdivision structure, for example, merge _ flag and merge _ left _ flag or other syntax elements indicating merging may be interleaved with the prediction parameters transmitted for each leaf node of the quadtree structure. Consider again, for example, fig. 9A. FIG. 9A shows an example of an image subdivided into variable size prediction blocks based on a quadtree. The last two blocks of the maximum size are so-called treeblocks, i.e. the prediction blocks of the largest possible size. The other blocks in the figure are obtained as subdivisions of their corresponding tree blocks. The current block is labeled "X". All shadow blocks are coded/decoded before the current block, so they form a causal block set. As described in the derivation description for one candidate block set in the embodiments, only the immediate (i.e., top or left) neighbor samples containing the top-left sample position of the current block may be a member of the candidate block set. Thus, the current block merges block "a" or block "B". If merge _ flag is equal to zero (for "false"), the current block "X" is not merged into either of the two blocks. If blocks "a" and "B" have the same prediction parameters, no distinction is necessary because merging with either of the two blocks will result in the same result. Therefore, in this case, merge _ left _ flag is not transmitted. Otherwise, if blocks "a" and "B" have different prediction parameters, merge _ left _ flag equal to 1 (for "true") will merge blocks "X" and "B", and merge _ left _ flag equal to 0 (for "false") will merge blocks "X" and "a". In another preferred embodiment, additional neighboring (already transmitted) blocks represent merge candidates.
Fig. 9B shows another example. Here, the current block "X" and the left neighboring block "B" are tree blocks, i.e., they have the maximum allowable block size. The top adjacent block "a" is one quarter of the size of the tree block. Blocks of elements belonging to the causal block set are shaded. Note that according to one of the preferred embodiments, the current block "X" can only be merged with two blocks "a" or "B" and not with any other top-adjacent blocks. In another preferred embodiment, additional neighboring (already transmitted) blocks represent merge candidates.
Before proceeding with this aspect of how different sample arrays of an image are processed according to embodiments of the present application, it is noted that the preceding discussion of aspects relating to the subdivision of a polytree, and the signalling on the one hand and the merging on the other hand, clearly provides the advantages discussed independently of each other. In other words, as explained above, the combination of treelet subdivision and merging has certain advantages, but the advantages come from the alternative where the merging features are embodied, for example, by subdivision by subdividers 30 and 104a, rather than being based on quadtree or treelet subdivision, but instead correspond to macroblock subdivision where these macroblock regular partitions become smaller partitions. On the other hand, the combination of the treelet subdivision together with the maximum treeblock size transmission inside the bitstream, and the use of the treelet subdivision together with the corresponding encoding parameters of the depth-first traversal-order transport blocks have the advantage of being independent of whether the merging feature is used simultaneously or not. In general, it is intuitive to consider that when the sample group coding syntax is extended in a manner that allows not only the subdivision of one block, but also the merging of two or more subdivided blocks, the coding efficiency is increased and the advantages of the merging can be appreciated. As a result, a set of blocks is obtained which are encoded with the same prediction parameters. The prediction parameters for the set of blocks need only be encoded once. Furthermore, with respect to merging of sample sets, it is again understood that the sample set under consideration may be a rectangular block or a square block, in which case the merged sample set represents a set of rectangular blocks and/or square blocks. In addition, the sample set under consideration is an arbitrarily shaped image region, and the merged sample set represents a set of arbitrarily shaped image regions.
the following description focuses on the handling of different sample arrays of an image when there is more than one sample array per image, and the aspects outlined in the following description are advantages independent of the kind of subdivision used, i.e. independent of whether the subdivision is based on a multi-tree subdivision or not and independent of whether merging is used or not. Before proceeding with a description of a specific embodiment relating to the processing of different sample arrays of images, the main topic of this embodiment is to briefly introduce the field of processing of different sample arrays per image.
The following discussion focuses on the application of video or video coding, and particularly the manner in which inter-block coding parameters of different sample arrays of an image, and more particularly, inter-block adaptive predictive coding parameters of different sample arrays of an image, are applied to, for example, the encoder and decoder of fig. 1 and 2 or other video or video coding environments. As mentioned before, the sample array represents a sample array associated with different color components, or an image associated with additional information, such as transparency information or depth map images. The array of samples associated with the color components of the image is also referred to as a color plane. The techniques described hereinafter, also referred to as cross-plane adoption/prediction, may be used in block-based video and video encoders and decoders, whereby the order of processing for sample array blocks of an image is arbitrary.
image and video encoders are typically designed to encode color images (either still images or video sequence images). The color image includes a plurality of color planes representing an array of samples of different color components. Often, a color image is encoded as a set of arrays of samples consisting of a luma plane and two chroma planes, where the latter indicate color difference components. In several application domains, it is also common for the set of encoded sample arrays to be composed of three color planes representing sample arrays of the three primary colors red, green, and blue. Furthermore, to improve the color representation, a color image may be composed of more than three color planes. Further, an image may be associated with an array of auxiliary samples that indicate additional information for the image. These auxiliary sample arrays may be, for example, sample arrays indicating the transparency of the relevant color samples (suitable for indicating display purposes), or sample arrays indicating depth maps (suitable for rendering multiple views, e.g. for 3D display).
In conventional image and video coding standards, such as h.264, color planes are typically coded together, so that certain coding parameters, such as macroblock and sub-macroblock prediction modes, reference indices, and motion vectors, are used for all color components of a block. The luminance plane may be considered a primary color plane, indicating specific coding parameters in the bitstream; the chroma plane can be regarded as a quadratic plane, and the corresponding coding parameters are estimated from the primary luma plane. Each luma block is associated with two chroma blocks representing the same area in the image. Depending on the chroma sampling format used, the chroma sample array may be smaller than the luma sample array for a block. For each macroblock consisting of one luma component and two chroma components, partitioning into smaller blocks (if the macroblock is subdivided) is used. For each block consisting of one block of luma samples and two blocks of chroma samples (which may be the macroblock itself or a sub-block of the macroblock), the same set of prediction parameters, such as the reference index, motion parameters, and occasionally intra-prediction mode, is used. In certain profiles of conventional video coding standards (such as the 4:4:4 profile in h.264), different color planes of an image can be independently encoded. In this configuration, macroblock partitions, prediction modes, reference indices, and motion parameters may be separately selected for the color components or sub-blocks of a macroblock. According to conventional coding standards, all color planes are coded together using the same set of specific coding parameters (such as subdivision information and prediction parameters), or are each coded completely independently for all color planes.
If the color planes are coded together, one set of subdivision and prediction parameters must be used for all color components of a block. This ensures that the side information remains small, but may result in a reduction in coding efficiency compared to independent coding, since using different block decomposition and prediction parameters for different color components may result in a reduction in rate-distortion cost. For example, using different motion vectors or reference frames for the chrominance components significantly reduces the residual signal energy of the chrominance components and increases the overall coding efficiency. If the color planes are independently encoded, the encoding parameters (such as block partitions, reference indices, and motion parameters) may be selected separately for each color component to optimize the encoding efficiency for each color component. But it is not possible to exploit redundancy between the color components. The multivariate transmission of specific coding parameters does result in an increase of the side information rate (compared to combinatorial coding), which may negatively impact the overall coding efficiency. Furthermore, in existing video coding standards (such as h.264), supporting an array of auxiliary samples is limited to the array of auxiliary samples being coded using its own set of coding parameters.
thus, in all of the embodiments described so far, the image plane may be processed as described above, but as discussed above, the overall coding efficiency (which may be associated with different color planes and/or auxiliary sample arrays) of the coding of multiple sample arrays may be increased, and it may be determined, for example, on a block basis whether all sample arrays for a block are coded with the same coding parameters or whether different coding parameters are used. The basic idea behind cross-plane prediction allows such adaptive decisions to be made on a block basis, for example. For example, based on a rate-distortion criterion, the encoder may select whether all or part of an array of samples for a particular block are encoded using the same encoding parameters, or whether different encoding parameters are used for different arrays of samples. This option can also be achieved by signaling whether specific coding parameters are inferred from the coded co-located blocks of different sample arrays for a particular sample array block. Different sample arrays, also referred to as sample array groups or plane groups, may be configured for an image in the group. Each plane group may contain one or more sample arrays of an image. Then, the sample array blocks inside a plane group share the same selected coding parameters, such as subdivision information, prediction mode, and residual coding mode; while other coding parameters, such as transform coefficient levels, are transmitted separately for each array of samples within the group of planes. One plane group is coded as a primary plane group, i.e. no coding parameters are inferred or predicted from the other plane groups. For each block of the group of secondary planes, a new set of selected coding parameters is adaptively selected whether to transmit or whether the selected coding parameters are inferred or predicted from the set of primary planes or another set of secondary planes. The decision whether the selected coding parameter is a prediction or a prediction for a particular block is included in the bitstream. Cross-plane prediction allows a trade-off between side information rate and prediction quality with a higher degree of freedom compared to current image coding consisting of multiple sample arrays. The advantage is improved coding efficiency relative to conventional image coding consisting of multiple sample arrays.
An in-plane employing/predicting scalable video or audio encoder, such as the video or audio encoder of the previous embodiments, allows for adaptive selection of whether a selected set of encoding parameters is inferred or predicted from already encoded co-located blocks of other sample arrays within the same image, or whether the selected set of encoding parameters for the block is encoded separately without reference to co-located blocks of other sample arrays within the same image, for a block of a color sample array or auxiliary sample array and/or a set of auxiliary sample arrays. The decision whether the selected set of encoding parameters is to be inferred or predicted for a sample array block or a plurality of sample array blocks may be included in the bitstream. Different arrays of samples associated with an image need not have the same size.
As previously mentioned, the sample arrays associated with an image (the sample arrays may represent color components and/or auxiliary sample arrays) may be arranged into two or more so-called plane groups, where each plane group is composed of one or more sample arrays. The arrays of samples contained in a particular group of planes need not be of equal size. Note that such arrangement into plane groups includes the case where the sample arrays are separately encoded.
More specifically, according to an embodiment, for each block of a group of planes, it is adaptively selected whether the coded block indicates how a block is to be inferred or predicted from already coded co-located blocks for different groups of planes of the same picture, or whether the coding parameters are coded separately for the block. The coding parameters that indicate how a block is predicted include one or more of the following coding parameters: the block prediction mode indicates which prediction is used for the block (intra prediction, cross-prediction using a single motion vector and reference picture, cross-prediction using two motion vectors and reference pictures, cross-prediction using higher order cross-prediction, i.e., non-translational motion model and a single reference picture, cross-prediction using multiple motion models and reference pictures), the intra-prediction mode indicates how the intra-prediction signal is generated, an identifier indicates how many prediction signals are combined to generate the final prediction signal for the block, a reference index indicates which reference picture(s) are used for motion compensated prediction, a motion parameter (such as a displacement vector or affine motion parameter) indicates how the prediction signal is generated using the reference picture, and an identifier indicates how the reference picture is filtered to generate the motion compensated prediction signal. Note that, in general, a block may be associated with only a subset of the encoding parameters. For example, if the block prediction mode indicates that a block is intra-predicted, the encoding parameters for a block may additionally include the intra-prediction mode, but do not indicate encoding parameters such as a reference index and motion parameters indicating how to generate the cross-prediction signal; or if the block prediction mode indicates cross-prediction, the associated coding parameters may additionally include reference indices and motion parameters, but not indicate intra-prediction mode.
one of two or more plane groups may be encoded or indicated within the bitstream as a sub-plane group. For all blocks of this sub-group of planes, the encoding parameters indicating how the prediction signal was generated are transmitted without reference to other groups of planes of the same picture. The remaining groups of planes are encoded as secondary groups of planes. For each block of a secondary group of planes, one or more syntax elements are transmitted that signal whether coding parameters indicating how the block is predicted are inferred or predicted from co-located blocks of other groups of planes, or whether a new set of these coding parameters is transmitted for the block. One of the one or more syntax elements may be referred to as a cross-plane prediction flag or a cross-plane prediction parameter. If the syntax element signals that the corresponding coding parameters are not estimated or predicted, a new set of corresponding coding parameters for the block is transmitted within the bitstream. If the syntax element signals that the corresponding coding parameter is estimated or predicted, the co-located block in the so-called reference plane group is determined. The designation of the group of reference planes for the block may be configured in a variety of ways. In one embodiment, the specific reference group is specified for each group of secondary planes; such designation may be fixed or may be signaled in a high level syntax structure, such as a parameter set, access unit header, picture header, or slice header.
in a second embodiment, the designation of the group of reference planes is intra-bitstream coded and signaled by one or more syntax elements for a block coding to indicate whether the selected coding parameters are inferred or predicted or coded separately.
To facilitate understanding of the foregoing possibilities associated with cross-plane prediction and the embodiments described in detail below, referring to FIG. 11, a picture 500 composed of three sample arrays 502, 504, and 506 is schematically shown. For ease of understanding, FIG. 11 shows only a sub-portion of the sample array 502 and 506. The sample arrays are shown as if they were spatially aligned with each other such that the sample arrays 502 and 506 overlap each other along the direction 508, the protrusion of the samples of the sample arrays 502 and 506 along the direction 508 results in the samples of all the sample arrays 502 and 506 being spatially correctly positioned with respect to each other. In other words, the planes 502 and 506 are spread out in the horizontal and vertical directions to adjust to each other for their spatial resolution and to align with each other.
according to one embodiment, all sample arrays of an image belong to the same portion of the spatial scene, wherein the resolution in the vertical and horizontal directions may differ between the individual sample arrays 502-506. Further, for purposes of illustration, sample arrays 502 and 504 are considered to belong to one plane group 510, while sample array 506 is considered to belong to another plane group 512. Further, fig. 11 shows an example case where the spatial resolution along the horizontal axis of the sample array 504 is twice the resolution in the horizontal direction of the sample array 502. In addition, sample array 504 is viewed as forming a primary array with respect to sample array 502, with sample array 502 forming a dependent array with respect to primary array 504. As explained above, in this case, the subdivision of the sample array 504 into blocks, as determined by the subdivider 30 of fig. 1, is employed by the slave array 502, wherein according to the example of fig. 11, since the vertical resolution of the sample array 502 is half the vertical resolution of the primary array 504, each block has been halved into two horizontally side-by-side blocks, which again become square blocks due to halving when measured in units of sample positions within the sample array 502.
as illustrated in fig. 11, the subdivision selected for sample array 506 is different from the subdivision of another sample group 510. As previously described, tessellator 30 may select a subdivision of pixel array 506 separately or independently from the subdivision of plane group 510. Of course, the resolution of sample array 506 may also be different from the resolution of planes 502 and 504 of plane group 510.
Now, when encoding the individual sample arrays 502-506, the encoder 10 begins encoding the primary array 504 of the group of planes 510, for example, in the manner described above. The block shown in FIG. 11 may be, for example, the prediction block described above. In addition, a block may be a residual block or other block defining granularity for defining certain coding parameters. Cross-plane prediction is not limited to quadtree or treelet subdivision, but quadtree or treelet subdivision is illustrated in FIG. 11.
After a transmission of the syntax elements of array 504, encoder 10 may decide to declare array 504 as the reference plane for slave plane 502 once. Encoder 10 and decimator 30, respectively, may signal this determination via bitstream 22, while the relevance is readily apparent from the fact that sample array 504 forms a linear array of plane groups 510, which in turn may also be part of bitstream 22. In summary, for each block within sample array 502, the interpolator 18 or any other module of the encoder 10 together with the interpolator 18 may decide whether to suppress the transition of the encoding parameters for this block within the bitstream and signal within the bitstream that the encoding parameters of the co-located block within the sub-array 504 are to be used instead for this block; or to determine whether the coding parameters of the co-located block within the primary array 504 will be used as a prediction for the coding parameters of the current block of the sample array 502, and only transfer its residual data for the current block of the sample array 502 within the bitstream. In the case of negative decisions, the coding parameters are shifted as often within the data stream. The decision for each block is signaled in the data stream 22. At the decoder side, the decimator 102 uses such cross-plane prediction information for each block to obtain therefrom the coding parameters of the individual blocks of the sample array 502, in other words, by either inferring the coding parameters of the co-located blocks of the primary array 504 if the cross-plane adoption/prediction information suggests cross-plane adoption/prediction, or otherwise extracting residual data of the block from the data stream and combining this residual data with the prediction of the coding parameters of the co-located blocks derived from the primary array 504; or, if often independent of the primary array 504, extract the coding parameters of the current block of the sample array 502.
As also described above, the reference plane is not limited to residing in the same bitplane as the block of current interest for cross-plane prediction. Thus, as previously described, plane group 510 represents a reference plane group of a primary plane group or a secondary plane group 512. In this case, the bitstream may contain a syntax element indicating, for each block of the sample array 506, whether or not the adoption/prediction of the coding parameters of the co-located macroblocks of any of the planes 502 and 504 of the aforementioned sub-group of planes or reference plane group 510 should be done, in which case the coding parameters of the current block of the sample array 506 are transmitted as usual.
It is noted that the subdivision and/or prediction parameters for planes within a plane group may be the same, i.e. since it is encoded only once for a plane group (all secondary planes of a plane group are derived subdivision information and/or prediction parameters from primary planes within the same plane group), adaptive prediction or interference of subdivision information and/or prediction parameters is performed across multiple plane groups.
It is noted that the reference plane group may be a primary plane group or a secondary plane group.
Co-location between different planar blocks within a planar group is easy to understand that subdivision of the primary sample array 504 is spatially adopted by the dependent sample array 502, except that the foregoing block subdivision makes the adopted leaf blocks square. In the case of cross-plane adoption/prediction between different plane groups, co-location may be defined in a way, thus allowing a higher degree of freedom between the subdivision of these plane groups. Given the reference plane group, a co-located block within the reference plane group is determined. The derivation of the co-located block and the group of reference planes may be performed in a similar manner as described below. A particular sample 514 is selected that one of the array of samples 506 of the secondary plane group 512 is inside the current block 516. The same is true for the upper left sample of current block 516, shown at 514 in FIG. 11 for illustrative purposes; or any other sample whose geometry is uniquely defined at the sample of current block 516 near the center of current block 516 or inside the current block. The position of such selected sample 515 within sample arrays 502 and 504 of reference plane group 510 is calculated. The locations of the samples 514 within the sample arrays 502 and 504 are indicated at 518 and 520, respectively, in FIG. 11. Which planes 502 and 504 are actually used within the reference plane group 510 may be predetermined or may be signaled within the bitstream. The sample closest to the locations 518 and 520 within the corresponding sample array 502 or 504 of the reference plane group 510 is determined and the block containing this sample is selected for use as the co-located block within the respective sample arrays 502 and 504. In the case of fig. 11, blocks 522 and 524 are respectively. Alternative approaches for determining the co-located block in other planes are described in more detail later.
In one embodiment, the coding parameters indicating the prediction of the current block 516 are fully estimated within different plane groups 510 of the same picture 500 using the corresponding prediction parameters of the co-located block 522/524 without transmitting additional side information. The estimation may include a pure copy of the corresponding coding parameters, or an adaptation of the coding parameters to take into account the differences between the current group of planes 512 and the reference group of planes 510. For example, such adaptation may include adding motion parameter corrections (e.g., displacement vector corrections) to account for phase differences between the sets of luma and chroma samples; or adjusting the adaptation may include modifying the precision of the motion parameters (e.g., modifying the precision of the displacement vectors) to account for different resolutions of the luma and chroma sample arrays. In additional embodiments, the one or more estimated coding parameters used to indicate the generation of the prediction signal are not used directly for the current block 516, but are instead used as a prediction of the corresponding coding parameters for the current block 516, and the refinement of these coding parameters for the current block 516 is transmitted in the bitstream 22. For example, instead of using the estimated motion parameters directly, motion parameter differences (such as motion vector differences) indicating deviations between the motion parameters are used for the current block 516, the estimated motion parameters are encoded in the bitstream; at the decoder side, the motion parameters actually used are obtained by combining the estimated motion parameters and the transmitted motion parameter difference.
in another embodiment, the subdivision of a block, such as the aforementioned tree block into which the prediction is subdivided (i.e., the block of samples using the same set of prediction parameters) is adaptively inferred or predicted from co-located blocks that have been encoded according to different groups of planes of the same picture, i.e., the bit sequence, of fig. 6A or 6B. In one embodiment, one of the two or more plane groups is encoded as a primary plane group. For all blocks of this sub-group of planes, the subdivision parameters are transmitted without estimating other groups of planes within the same image. The remaining groups of planes are encoded as secondary groups of planes. For a block of a secondary plane group, one or more syntax elements are transmitted, signaling whether the subdivision information is inferred or predicted from co-located blocks of other plane groups, or whether the subdivision information is transmitted in the bitstream. One of the one or more syntax elements may be referred to as a cross-plane prediction flag or a cross-plane prediction parameter. If the syntax element signals no prediction or no prediction refinement information, the refinement information for the block is transmitted in the bitstream without referring to other plane groups of the same picture. If the syntax element signals that the subdivision information is presumed or predicted, a co-located block in a so-called reference plane group is determined. The configuration of the reference plane group of the block may be configured in a variety of ways. In one embodiment, a specific group of reference planes is assigned to each group of secondary planes; this designation may be fixed or may be signaled as a parameter set, access unit header, picture header, or slice header in a high level syntax structure. In a second embodiment, the designation of reference planes is coded within the bitstream and signaled by one or more syntax elements that indicate, for a block coding, whether the subdivision information is speculatively or predictively or separately coded. The reference plane group may be a primary plane group or other secondary plane groups. Given a group of reference planes, a co-located block within the group of reference planes is determined. A co-located block is a group of reference planes corresponding to the same image area as the current block, or a block within a group of reference planes that represents the largest portion of the image area and the current block. The co-located block may be partitioned into smaller prediction blocks.
In additional embodiments, subdivision information for a current block, such as quad-tree based subdivision information in accordance with fig. 6A or 6B, is inferred using subdivision information for co-located blocks of different plane groups in the same image, without transmitting additional side information. As a specific example, if the co-located block is partitioned into 2 or 4 prediction blocks, then the current block is also partitioned into 2 or 4 sub-blocks for prediction purposes. As another specific example, if the co-located block is partitioned into four sub-blocks and one of the sub-blocks is further partitioned into four smaller sub-blocks, then the current block is also partitioned into four sub-blocks and one of the sub-blocks (corresponding to the further partition of the co-located block) is also partitioned into four smaller sub-blocks. In a further preferred embodiment, the estimated subdivision information is not used directly for the current block, but is instead used as a prediction of the actual subdivision information for the current block, the corresponding refinement information being transmitted in the bitstream. As an example, the subdivision information inferred by the co-located blocks may be further refined. For each subblock corresponding to a subblock of the co-located block that is not partitioned into smaller blocks, a syntax element may be encoded in the bitstream indicating whether the subblock is further decomposed in the current plane group. The transmission of such syntax elements may be conditioned on the size of the sub-block. Or may signal in the bitstream that the sub-blocks further partitioned in the reference plane group are not further partitioned into smaller blocks in the current plane group.
In yet another embodiment, both the subdivision of a block into prediction blocks and the encoding parameters that indicate how sub-blocks are predicted are adaptively inferred or predicted from already encoded co-located blocks for different groups of planes of the same picture. In a preferred embodiment of the present invention, one of the two or more plane groups is encoded as a secondary plane group. For all blocks of such a primary plane group, the subdivision information and prediction parameters are transmitted without reference to other plane groups of the same picture. The remaining groups of planes are encoded as secondary groups of planes. Transmitting, for a block of a secondary plane group, one or more syntax elements that signal whether subdivision information and prediction parameters are inferred or predicted from co-located blocks of other plane groups; or whether the subdivision information and prediction parameters are transmitted in the bitstream. One of the one or more syntax elements may be referred to as a cross-plane prediction flag or a cross-plane prediction parameter. If the syntax element signals that the partition information and prediction parameters are not inferred or predicted, the partition information for the block and the prediction parameters for the resulting sub-block are transmitted in the bitstream without reference to other plane groups of the same picture. If the syntax element signals that the subdivision information and prediction parameters for the sub-block are either inferred or predicted, then the co-located block in the so-called reference plane group is determined. The designation of the group of reference planes for the block may be configured in a variety of ways. In one embodiment, a specific group of reference planes is assigned to each group of secondary planes; such an assignment may be fixed or may be signaled in a high level syntax structure, such as a parameter set, access unit header, picture header, or slice header. In a second embodiment, the assignment of reference plane groups is intra-bitstream coded and signaled by one or more syntax elements for a block coding to indicate whether the subdivision information and prediction parameters are inferred or predicted or separately coded. The reference plane group may be a primary plane group or other secondary plane groups. Given a group of reference planes, a co-located block within the group of reference planes is determined. The co-located block may be a block in the reference plane group corresponding to the same image area as the current block, or the block indicating a block within the reference plane group that shares the largest partial image area with the current block. The co-located block may be divided into smaller prediction blocks. In a preferred embodiment, the subdivision information for the current block and the prediction parameters of the resulting sub-blocks are determined using the subdivision information of co-located blocks in different plane groups of the same picture and the prediction parameters of the corresponding sub-blocks, without transmitting additional side information. As a specific example, if the co-located block is partitioned into 2 or 4 prediction blocks, the current block is also partitioned into 2 or 4 sub-blocks for prediction purposes, and the prediction parameters for the sub-blocks of the current block are derived as described above. As another specific example, if the co-located block is partitioned into four sub-blocks and one of the sub-blocks is further partitioned into four smaller sub-blocks, then the current block is also partitioned into four sub-blocks and one of the sub-blocks (corresponding to the sub-block into which the co-located block is further partitioned) is also partitioned into four smaller sub-blocks, but the prediction parameters for all sub-blocks not further partitioned are estimated as described above. In a further preferred embodiment, the subdivision information is entirely based on subdivision information of co-located blocks in the reference plane group, but the sub-block derived prediction parameters are only used as a prediction of the actual prediction parameters of the sub-block. The deviation between the actual prediction parameters and the estimated prediction parameters is bitstream coded. In yet another embodiment, the inferred subdivision information is a prediction that is used as actual subdivision information for the current block, the differences are transmitted in the bitstream (as described above), but the prediction parameters are fully inferred. In another embodiment, both the estimated subdivision information and the estimated prediction parameters are used as predictions, while the difference between the actual subdivision information and the prediction parameters and their estimated values are transmitted in the bitstream.
In another embodiment, for a block of a plane group, it is adaptively selected whether the residual coding mode (such as transform type) is inferred or predicted from already coded co-located blocks of different plane groups for the same picture, or whether the residual coding mode is coded separately for the block. This embodiment is similar to the previously described embodiment for adaptive estimation/prediction of prediction parameters.
In another embodiment, the subdivision of a block, such as a prediction block, into transform blocks (i.e., blocks of samples to which a two-dimensional transform is applied) is adaptively inferred or predicted from already coded co-located blocks for different groups of planes of the same picture. The present embodiment is an embodiment of adaptive estimation/prediction subdivided into prediction blocks similar to the foregoing.
In another embodiment, a block subdivision into transform blocks and the residual coding modes (e.g., transform types) of the resulting transform blocks are either inferred or predicted from already coded co-located blocks for different plane groups of the same picture. This embodiment is similar to the foregoing adaptive estimation/prediction subdivided into prediction blocks and prediction parameters for the resulting prediction blocks.
In another embodiment, the subdivision of a block into prediction blocks, associated prediction parameters, subdivision information for the prediction blocks, and the residual coding mode for the transform block are adaptively inferred or predicted from co-located blocks that have been coded for different groups of planes of the same picture. This embodiment represents a combination of the aforementioned embodiments. It is also possible to infer or predict only a part of the coding parameters.
In this manner, cross-plane adoption/prediction may improve the aforementioned coding efficiency. But the coding efficiency gain by adopting/predicting across planes can also be achieved at other block subdivisions used based on the treelet subdivision, regardless of whether block merging is implemented or not.
The foregoing embodiments of cross-plane adaptation/prediction may be applied to image and video encoders and decoders that partition color planes of an image and, if present, arrays of auxiliary samples associated with the image into blocks and correlate the blocks with encoding parameters. For each block, a set of encoding parameters may be included in the bitstream. For example, these encoding parameters may be parameters that describe how a block is predicted and decoded at the decoder side. As particular examples, the encoding parameters may represent macroblock or block prediction modes, subdivision information, intra-prediction modes, reference indices used for motion compensated prediction, motion parameters such as displacement vectors, residual coding modes, transform coefficients, and so forth. Different sample arrays associated with an image may have different sizes.
Next, a scheme for coding parameter enhancement signaling inside the tree-based partitioning scheme described above with reference to fig. 1 to 8 is described. As for the other schemes, namely merging and cross-plane adoption/prediction, the effects and advantages of the enhanced signaling scheme (hereinafter often referred to as inheritance) are described independently from the foregoing embodiments, but the latter scheme can be combined with any of the foregoing embodiments either alone or in combination.
In general, an improved encoding scheme (referred to as inheritance, described below) for encoding side information within a tree-based partitioning scheme allows the following advantages to be obtained over conventional encoding parameter processing.
in conventional video and video coding, an image or a particular set of sample arrays for an image is typically decomposed into a plurality of blocks, which are associated with particular coding parameters. An image is typically composed of a plurality of sample arrays. Furthermore, the image may also be associated with an array of additional auxiliary samples, which may indicate, for example, transparency information or a depth map. The sample arrays (including the auxiliary sample arrays) of an image may be grouped into one or more so-called plane groups, where each plane group is composed of one or more sample arrays. A plane group of a picture may be encoded independently or, if the picture is associated with more than one plane group, a plane group of a picture may be predicted from other plane groups of the same picture. Each plane group is typically broken up into a plurality of blocks. The block (or corresponding block of the sample array) is predicted by cross-picture prediction or intra-picture prediction. The blocks may be of different sizes and may be square or rectangular. The partitioning of a picture into blocks may be fixed by syntax, or may be signaled (at least in part) within the bitstream. The syntax elements that are often transmitted signal a subdivision of a block having a predetermined size. These syntax elements may indicate whether and how a block is subdivided into smaller blocks and are associated with coding parameters for, e.g., prediction purposes. The decoding of the associated coding parameters is indicated in a predetermined manner for all samples of a block (or for a block of a corresponding array of samples). In this example, all samples of a block are predicted using the same set of prediction parameters, such as reference indices (identifying a reference picture in the set of already coded pictures), motion parameters (indicating a measure of motion of a block between a reference picture and the current picture), parameters indicating interpolation filters, intra-prediction modes, and so forth. The motion parameters may have a displacement vector representation with a horizontal component and a vertical component, or may be represented by higher order motion parameters, such as affine motion parameters composed of six components. There may be more than one particular set of prediction parameters (such as reference indices and motion parameters) associated with a single block. In this case, for each set of these particular prediction parameters, a single inter-prediction signal is generated for that block (or corresponding block of the array of samples), and the final prediction signal is built by a combination comprising overlapping inter-prediction signals. The corresponding weighting parameters and possibly also constant offsets (added to the weighted sum) may be fixed for a picture or a reference picture or a set of reference pictures; or may be included in the set of prediction parameters for the corresponding block. The difference between the original block (or corresponding block of the array of samples) and its prediction signal, also referred to as the residual signal, is typically transformed and quantized. A two-dimensional transform is often applied to the residual signal (or corresponding array of samples of the residual block). For transform coding, a block (or corresponding block of an array of samples) that has used a particular set of prediction parameters may be further partitioned before applying the transform. The transform block may be equal to or smaller than the block used for prediction. It is also possible that a transform block includes more than one of the blocks used for prediction. Different transform blocks may have different sizes, transform blocks may represent square blocks or rectangular blocks. After transformation, the resulting transform coefficients are quantized and a so-called transform coefficient hierarchy is obtained. The transform coefficient levels and prediction parameters and, if present, the refinement information are entropy encoded.
According to several video and video coding standards, the possibility of subdividing a picture (or a plane group) into blocks provided by syntax is very limited. It is generally only indicated whether (and possibly how) a block of a predetermined size can be subdivided into smaller blocks. For example, the largest block according to h.264 is 16 × 16. The 16 × 16 blocks are also referred to as macroblocks, and each picture is partitioned into macroblocks in the first step. For each 16 × 16 macroblock, it may be signaled whether to encode into a 16 × 16 block, or into two 16 × 8 blocks, or two 8 × 16 blocks, or four 8 × 8 blocks. If the 16 x 16 block is subdivided into four 8 x 8 blocks, each of these 8 x 8 blocks may be encoded as one 8 x 8 block, or two 8 x 4 blocks, or two 4 x 8 blocks or four 4 x 4 blocks. The minimum set of possibilities to indicate subdivision into blocks in current image and video coding standards has the advantage that the side information rate to signal the subdivision information remains small, but has the disadvantage that the bit rate required to transmit the prediction parameters for the blocks becomes large, as will be described in detail later. The side information rate used to signal the prediction parameters does generally represent a significant amount of the total bit rate for a block. And when this side information is reduced, e.g., can be achieved using larger block sizes, the coding efficiency can be increased. The actual image or picture of a video sequence is composed of arbitrarily shaped objects with specific properties. As an example, these objects or object parts are characterized by unique textures or unique motions. Typically the same set of prediction parameters may be applied to such an object or object part. But object boundaries do not typically coincide with possible block boundaries for large prediction blocks (e.g., 16 x 16 macroblocks in h.264). The encoder typically decides the subdivision (in a finite set of possibilities) that results in a minimal specific rate-distortion cost measure. For arbitrarily shaped objects, this can result in a large number of small blocks. And since these small blocks are associated with a set of prediction parameters that must be transmitted, the side information rate becomes a significant portion of the total bit rate. But since the mini-blocks still represent regions of the same object or object portion, the prediction parameters of the resulting blocks are the same or very similar. Intuitively, coding efficiency can be improved when the syntax is extended in a way that not only allows a block to be subdivided, but also shares coding parameters among the resulting multiple blocks after subdivision. In tree-based subdivision, sharing of encoding parameters for a given set of blocks may be achieved by assigning encoding parameters, or portions thereof, to one or more parent nodes in a tree-based hierarchical relationship. As a result, the shared parameters or parts thereof may be used to reduce the side information needed to signal the actual selection of encoding parameters for the resulting block after subdivision. The reduction may be achieved by deleting signaling of parameters of subsequent blocks, or may be achieved by sharing parameters for predictive modeling and/or context modeling of parameters of subsequent blocks.
The basic idea behind the inheritance scheme is to reduce the bit rate required to transmit encoded information by sharing the information by tree-based hierarchical relationships along the blocks. The shared information is signaled inside the bitstream (in addition to the subdivision information). The advantage of the inheritance scheme is that the coding efficiency is increased as a result of the reduced side information rate for the coding parameters.
in order to reduce the side information rate, according to the embodiments described below, individual coding parameters for a particular sample set, i.e. simply connected regions, may represent rectangular blocks or square blocks or arbitrarily shaped regions of a multi-tree subdivision or any other sample set, are signaled inside the data stream in an efficient manner. The latter inheritance scheme allows the encoding parameters to be not explicitly included in the bitstream for each of the sample sets. The encoding parameter may represent a prediction parameter indicating that the corresponding sample set is predicted using encoded samples. The possibilities and examples already mentioned above do also apply here. As already mentioned above, and as will be described in detail later, the partitioning of an array of samples of a picture into a plurality of sets of samples based on a tree may be fixed by syntax, or may be signaled by corresponding subdivision information within the bitstream. As mentioned before, the coding parameters for a set of samples may be transmitted in a predefined order, which is given by the syntax.
In accordance with the inheritance scheme, the decoder or a decimator 102 of the decoder is configured to derive information about the encoding parameters of individual simply connected regions or sets of samples in a specific way. In particular, coding parameters or a part thereof (such as parameters for prediction purposes) are shared among blocks along the given tree-based partitioning scheme, the shared groups along the tree structure being determined by the encoder or inserter 18, respectively. In a particular embodiment, the sharing of the encoding parameters of all children nodes of a given internal node of the partitioning tree is indicated using a particular binary-valued sharing flag. Alternatively, refinement of the encoding parameters may be transmitted for each node such that along the hierarchical relationship of the tree-based blocks, the cumulative refinement of the parameters may be applied to the entire sample set of the block at a given leaf node. In another embodiment, transmitting a portion of the encoding parameters for an inner node along the tree-based hierarchical relationship of the blocks may be used for context-adaptive entropy encoding and decoding at a given leaf node for the encoding parameters of the block or a portion thereof.
FIGS. 12A and 12B show the basic idea of inheritance using a special case based on quadtree partitioning. But as indicated several times above, other multi-tree subdivision schemes may be used. The tree structure is shown in FIG. 12A, and the spatial partition corresponding to the tree structure of FIG. 12A is shown in FIG. 12B. The segmentation shown therein is similar to that shown in figures 3A to 3C. In summary, the inheritance scheme will allow side information to be assigned to nodes at different non-leaf levels within the tree structure. Depending on the assignment of side information to nodes at different levels of the tree, such as the internal nodes of the tree of FIG. 12A or its root node, different degrees of shared side information may be achieved in the tree hierarchy of the tiles shown in FIG. 12B. For example, if it is determined that all leaf nodes at level 4, all having the same parent node in the case of fig. 12A, virtually share side information, which means that the smallest blocks indicated at 156a to 156d in fig. 12B share this side information, instead of having to transmit the side information completely for all of these small blocks 156a to 156d, i.e., four times, but remain as an option for the encoder. However, it is also possible to determine that the full area of hierarchical level 1 (level 2) of FIG. 12A, i.e., the quarter portion at the upper right corner of the treeblock 150, including the sub-blocks 154a, 154b and 154d and the aforementioned yet smaller sub-blocks 156a to 156d, is used as the area in which the encoding parameters are shared. Thus, the area sharing the side information is increased. The next incremental level is to sum up all of the sub-blocks of level 1, namely sub-blocks 152a, 152c and 152d and the smaller blocks described above. In other words, in this case, the entire treeblock has side information assigned to that block, and all of the sub-blocks of this treeblock 150 share side information.
In the following description, the following notations are used to describe the embodiments:
a. Reconstructed samples of the current leaf node: r is
b. Reconstructed samples of neighboring leaves: r'
c. Predictor of current leaf node: p is a radical of
d. residual of the current leaf node: res
e. reconstructed residual of current leaf node: RecRes
f. Scaling and inverse transformation: SIT
g. Sharing the mark: f. of
As a first example of inheritance, intra-prediction signaling at an internal node may be described. More precisely, it is described how to signal intra-prediction modes for intra-node partitioning based on tree blocks for prediction purposes. By traversing the tree from the root node to the leaf nodes, the internal nodes (including the root node) may pass portions of the side information that will be utilized by their corresponding child nodes. More specifically, the shared flag f is sent for the internal node with the following meaning:
If f has a value of 1 ("true"), then all children of the given internal node share the same intra-prediction mode. In addition to sharing the flag f with a value of 1, the internal node also signals the intra-prediction mode parameters to be used by all children. As a result, all subsequent child nodes do not carry any prediction mode information and any sharing flag. To reconstruct all relevant leaf nodes, the decoder applies intra-prediction modes from the corresponding internal nodes.
If f has a value of 0 ("false"), then the children nodes corresponding to the internal node do not share the same intra-prediction mode, and each child node belonging to the internal node carries a separate share flag.
FIG. 12C illustrates the intra-prediction signaling at the internal node as previously described. The internal nodes at layer 1 pass the shared flag and side information given by the intra-prediction mode information, and the children nodes do not carry any side information.
as a second inheritance example, cross-prediction refinement may be described. More specifically, describing how to partition an intra mode in a tree-based block, the side information of the cross-prediction mode is signaled for refinement purposes of the motion parameters, e.g. given by the motion vectors. By traversing the tree from the root node through to the leaf nodes, the internal nodes (including the root node) may pass portions of the side information that will be refined by their corresponding child nodes. More specifically, the shared flag f is sent for the internal node with the following meaning:
If f has a value of 1 ("true"), then all children of the given internal node share the same motion vector reference. In addition to sharing the flag f with the value 1, the internal node also signals the motion vector and the reference index. As a result, all subsequent child nodes do not carry additional shared tokens, but instead can carry refinements of this inherited motion vector reference. For reconstruction of all related leaf nodes, the decoder adds a motion vector refinement to the inherited motion vector reference value belonging to its corresponding internal parent node with a value 1 of the shared flag f at that given leaf node. This means that the motion vector at a given leaf node is refined as the difference between the actual motion vector to be applied to the leaf node for motion compensated prediction and the motion vector reference value of its corresponding internal parent node.
If f has a value of 0 ("false"), then the children of the corresponding internal node do not necessarily share the same cross-prediction mode, and refinement of the motion parameters is not performed at that child by using the motion parameters derived from the corresponding internal node, each child belonging to an internal node carrying a separate shared flag.
Fig. 12D shows the aforementioned kinetic parameter refinement. The internal nodes of layer 1 communicate the sharing flag and side information. Children nodes belonging to leaf nodes carry only motion parameter refinements, e.g. internal children nodes of layer 2 carry no side information.
Reference is now made to fig. 13. Fig. 13 shows a flow chart illustrating a mode of operation for a decoder, such as the decoder of fig. 2, for reconstructing from a data stream an array of information samples representing a spatial instance information signal, subdivided into leaf regions of different sizes by a polytree subdivision. As previously described, each leaf region has associated therewith one hierarchical level selected from a series of hierarchical levels of the multi-tree subdivision. For example, all blocks shown in FIG. 12B are leaf areas. Leaf region 156c is associated with hierarchical level 4 (or level 3), for example. Each leaf region has associated therewith an encoding parameter. Examples of these encoding parameters have been described previously. For each leaf region, the coding parameters are represented by a respective set of syntax elements. Each syntax element is a respective syntax element type selected from a set of syntax element types. Each syntax element type is, for example, a prediction mode, a motion vector component, an indication of an intra-prediction mode, etc. According to fig. 13, the decoder proceeds with the following steps.
At step 550, inheritance information is extracted from the data stream. In the case of fig. 2, the decimator 102 is responsible for step 550. The inheritance information indicates whether inheritance is used for the current array of information samples. The following description will show that there are several possibilities for inheriting information, such as sharing the flag f and signaling that the treelet structure is divided into primary and secondary parts.
The array of information samples has formed a sub-portion of an image, such as a tree block, e.g., tree block 150 of FIG. 12B. Such inheritance information indicates whether inheritance is used for a particular treeblock 150. Such inheritance information can be inserted into the data stream, for example, for all prediction subdivided tree blocks.
Furthermore, if inheritance is indicated to be used, inheritance information indicates that at least one inheritance region of the array of information samples that consists of a set of leaf regions and corresponds to a hierarchy level of the sequence of hierarchy levels of the multi-tree subdivision is lower than the respective hierarchy level with which the set of leaf regions is associated. In other words, the inheritance information indicates whether inheritance is used for the current sample array (such as tree block 150). If so, it indicates that the leaf regions within at least one inheritance region or sub-region of the treeblock 150 share coding parameters. As such, the inheritance region may not be a leaf region. In the example of fig. 12B, the inheritance region may be, for example, the region formed by the sub-blocks 156 a-156B. In addition, the inheritance region may be larger, also covering additionally the sub-blocks 154a, b and d, and even further, the inheritance region may be the treeblock 150 itself, all of the leaf blocks of which share the encoding parameters associated with the inheritance region.
It is noted that more than one inheritance region may be defined within one sample array or tree block 150. For example, assume that the lower left sub-block 152c is also partitioned into smaller blocks. In this case, the sub-block 152c may form a legacy region.
At step 552, the inheritance information is checked for use of inheritance. If so, the process of FIG. 13 proceeds to step 554, where, with respect to each cross-inheritance region, an inheritance subset comprising at least one syntax element of a predetermined syntax element type is extracted from the data stream. This inherited subset is then copied into a corresponding inherited subset of syntax elements within the set of syntax elements or used as a prediction for the inherited subset, which indicates the leaf region set composition of the at least one inherited region to be associated with the coding parameters, step 556. In other words, the data stream comprises an inherited subset of syntax elements for each inherited region indicated within the inheritance information. In other words, inheritance is a reference to at least one certain syntax element type or syntax element category that can be used for inheritance. For example, a prediction mode or cross-prediction mode or intra-prediction mode syntax element may undergo inheritance. For example, the inheritance subset contained within the data stream for the inheritance region can include cross-prediction mode syntax elements. The inheritance subset also includes an additional syntax element whose syntax element type is a value that depends on the aforementioned fixed syntax element type associated with the inheritance scheme. For example, in the case where the cross-prediction mode is a fixed component of an inherited subset, syntax elements that define motion compensation (such as motion vector components) may or may not be included with the inherited subset by the syntax. For example, assuming that the upper right quarter of the treeblock 150 (i.e., sub-block 152b) is the legacy region, the cross-prediction mode may be indicated for the legacy region alone or for the cross-prediction mode along with the motion vector and the motion vector index.
All syntax elements contained in the legacy subset are copied into, or used as predictions for, the corresponding coding parameters of the leaf blocks (i.e., leaf blocks 154a, b, d and 156 a-156 d) within the legacy zone. In the case of using prediction, the residuals are transmitted for individual leaf blocks.
One possibility for transmitting the inheritance information for leaf blocks 150 is the transmission of the aforementioned shared token f. The extraction of the inheritance information, step 550, in this example includes the following. More specifically, the decoder may be configured to extract and check the shared flag f from the data stream for non-leaf regions corresponding to any inherited set of at least one hierarchical level of the treelet subdivision, using a hierarchical level order from lower hierarchical levels to higher hierarchical levels, as to whether the respective inherited flag or shared flag indicates inheritance or not. For example, an inheritance set of hierarchical levels may be formed by hierarchical levels 1 through 3 of FIG. 12A. Thus, any node that is not a leaf node and is located in any level 1 to level 3 subtree structure may have a shared tag associated with it within the data stream. The decoder extracts these shared tokens in an order from layer 1 to layer 3, such as in depth-first or width-first traversal order. Once one of the sharing flags is equal to 1, the decoder knows that the leaf blocks contained in the corresponding inheritance region share that inheritance subset, followed by a decimation at step 554. For the children of the current node, the checking of the inheritance flag is no longer required. In other words, the inheritance flags of these children nodes are not transmitted inside the data stream, since it is clear that these node regions already belong to the inheritance region in which the inheritance subset of syntax elements is shared.
The shared flag f may signal the bit crossing of the quadtree subdivision as described previously. For example, a sequence of cross bits that includes both subdivided and shared tokens may be:
10001101(0000)000,
Which is the same subdivision information shown in fig. 6A, has two interspersed sharing marks that highlight by a underlined highlight the sub-block sharing coding parameters in fig. 3C in the lower left quarter of the tree block 150.
Another way of defining inheritance information indicating inheritance regions is to use two subdivisions defined in a dependent manner with respect to each other, as previously explained with reference to prediction subdivision and residual subdivision, respectively. Roughly speaking, a sub-divided leaf block may form the inheritance region, which defines a region in which an inheritance subset of syntax elements is shared; while the dependent subdivisions define blocks inside these inheritance regions for which inherited subsets of syntax elements are copied or used as predictions.
For example, consider a residual tree as an extension of the prediction tree. It is further contemplated that the prediction block may be further partitioned into smaller blocks for residual coding purposes. For each prediction block corresponding to a leaf node of a prediction related quadtree, the corresponding subdivision for residual coding is determined by one or more dependent quadtrees.
In this case, instead of using any prediction parameters at the internal nodes, the inventors consider that the residual tree is interpreted in such a way that the residual tree also indicates that refinement of the prediction tree means using a constant prediction mode (signaled by the corresponding leaf nodes of the prediction related tree) but with refined reference samples. The examples described below illustrate this.
For example, fig. 14A and 14B show quadtree partitioning for intra-prediction, with neighboring reference samples emphasized for one particular leaf node of a subdivision, while fig. 14B shows the residual quadtree subdivision for the same predicted leaf node with refined reference samples. All of the subblocks shown in fig. 14B share the same cross-prediction parameters contained within the data stream for the individual leaf blocks highlighted in fig. 14A. As such, fig. 14A shows an example of a quadtree partitioning conventionally used for intra-prediction, where reference samples for one particular leaf node are shown. In our preferred embodiment, however, a separate intra-prediction signal is computed for each leaf node in the residual tree, by using neighboring samples (such as indicated by the gray shaded lines of fig. 14B) of the leaf node that have been reconstructed in the residual tree. The reconstructed signal for a given residual leaf node is then obtained in the usual way by adding the quantized residual encoded signal to this prediction signal. This reconstructed signal is then used as a reference signal for subsequent prediction procedures. Note that the decoding order for prediction is the same as the residual decoding order.
as shown in fig. 15, in the decoding procedure, for each residual leaf node, a prediction signal p is calculated in accordance with the actual intra-prediction mode (indicated by the prediction-related quadtree leaf node) by using the reference sample r'.
After the SIT processing procedure, the SIT processing procedure is followed,
RecRes=SIT(Res)
The reconstructed signal r is calculated and stored for the next prediction calculation:
r=RecRes+p
The decoding procedure for prediction is the same as the residual decoding order shown in fig. 16.
Each residual leaf node is decoded as described in the previous paragraph. The reconstructed signal r is stored in a buffer, as shown in FIG. 16. In this buffer, the reference sample r' will be taken for the next prediction and decoding procedure.
Having described particular embodiments with respect to fig. 1-16 in a combined, separate subset of the previously-summarized aspects, additional embodiments of the present application will be described with focus on certain of the foregoing aspects, but the embodiments represent generalizations of several of the foregoing embodiments.
In particular, the foregoing embodiments regarding the architecture of fig. 1 and 2 mainly combine aspects of the present application and may be advantageously employed in other applications or other coding fields. As mentioned frequently above, for example, the treelet subdivision may be used without merging and/or without cross-plane adoption/prediction and/or without inheritance. For example, the transmission of the maximum block size, the use of depth-first traversal order, the context adaptation of the hierarchical level according to the individual subdivision flags, and the transmission of the maximum hierarchical level within the bitstream save side information bit rate, all of which are superior but independent of each other. The same is true when cross-plane utilization schemes are considered. The advantage of cross-plane utilization is independent of the exact way an image is subdivided into simply connected regions, and independent of the use of merging schemes and/or inheritance. The same applies to the advantages relating to merging and inheritance.
Thus, the embodiments outlined below outline the aforementioned embodiments with respect to cross-plane adoption/prediction. As the following examples represent generalizations of the above-described embodiments, many of the above-described details can be considered to be incorporated into the embodiments described below.
Fig. 17 shows a module of a decoder for decoding a data stream representing different spatially sampled information components in planes of a scene image, each plane comprising an array of information samples. The decoder may correspond to the decoder shown in fig. 2. In particular, the module 700 is responsible for the reconstruction of each array of information samples 502 to 506 by processing a payload such as residual data or spectral decomposition data which is subdivided in relation to each array of information samples 502 to 506 into simply connected regions in a manner specified by encoding parameters such as prediction parameters related to the simply connected regions. For example, in the decoder case of fig. 2, the module may be embodied by all blocks, including block 102. However, the decoder of fig. 17 need not be a hybrid decoder. Cross and/or intra prediction may not be used. The same applies to transform coding, i.e. the residual may be coded in the spatial domain instead of two-dimensional transform by spectral decomposition.
Another module 702 is responsible for deriving from the data stream coding parameters related to simply connected regions of a first array, such as array 506 of arrays of information samples. Thus, module 702 defines tasks for module 700 task execution. In the case of fig. 2, the extractor 102 is considered to be responsible for the tasks of the module 702. It should be noted that the array 506 itself may be a second array, and the encoding parameters associated therewith may be obtained in a cross-plane employing/predicting manner.
The next module 704 is for deriving cross-plane interchange information for the simply connected regions of the second array 504 of arrays of information samples from the data stream. In the case of fig. 2, the extractor 102 is considered to be responsible for the tasks of the module 702.
The next module 706 is for determining which of the next modules 708 and 710 to activate for each simply connected region or an appropriate subset of simply connected regions of the second population based on cross-plane interchange information for the simply connected regions of the second population. In the case of fig. 2, the extractor 102 cooperates with the subdivider 104 to perform the tasks of the module 706. While the decimator 102 performs the actual decimation, the subdivider controls the order in which the simply connected regions are traversed, i.e., which portions of the information are interchanged across planes with respect to which portions of the simply connected regions. In the more detailed embodiment above, cross-plane interchange information is defined separately for each simply connected region, regarding whether cross-plane adoption/prediction is made. However, this is not a problem. It is advantageous if the decision is made within the cells of the appropriate subset of simply connected regions. For example, cross-plane interchange information may define one or more larger simply connected regions, each of which includes one or more adjacent simply connected regions, for each of which cross-plane adoption/prediction is performed once.
The module 708 is configured to: in the case of fig. 2, the encoding parameters for each simply connected region or a suitable subset of simply connected regions of the second array 504 are derived at least partially from the encoding parameters of the locally corresponding simply connected region of the first array 506 of the executed task by means of a decimator in cooperation with the subdivider 104, which is responsible for deriving the joint positional relationship; and decoding the payload data associated with each of the simply connected regions of the second array, or the appropriate subset of simply connected regions, in a manner dictated by the encoding parameters so derived, which task is in turn performed by the other modules in figure 2, namely 106 to 114.
Optionally to module 708, module 710 is to: deriving from the data stream the encoding parameters for each simply connected region or a suitable subset of simply connected regions of the second array 504 while ignoring the encoding parameters of the locally corresponding simply connected regions of the first array 506, which task is considered to be taken care of by the decimator 102 in fig. 2; and decoding the payload data associated with each of the simply connected regions of the second number, or an appropriate subset of the simply connected regions, in a manner dictated by the relevant encoding parameters derived from the data stream, this task being performed by the other modules in figure 2, namely 106 to 114, under the control of the subdivider 104 which is always responsible for managing the adjacent and joint positional relationships in the simply connected regions.
As described above with respect to fig. 1-16, the array of information samples need not represent a video image or a still image or color components thereof. The sample component may also represent other two-bit sampled physical data such as a depth map or transparency map of some scenes.
As discussed above, the payload data for each of the plurality of simply connected regions may comprise residual data such as transform coefficients in a spatial domain or transform domain and a maximum map identifying the location of the maximum transform coefficient within the transform block corresponding to the residual block. In general, payload data may be, for example, data describing the simply connected region to which it relates, either directly in the spatial or spectral domain or spatially as a residual of some type of prediction thereof. Conversely, the encoding parameters are not limited to prediction parameters. The encoding parameters may indicate the transform used to transform the payload data or may define the filters used to reconstruct the individual simply connected regions when reconstructing the array of information samples.
As mentioned above, the simply connected regions into which the array of information samples is subdivided may originate from a multi-tree subdivision and may be square or rectangular in shape. Moreover, the embodiments specifically described for subdividing an array of samples are only specific embodiments, and other subdivisions may be used. Several possibilities are shown in fig. 18A to 18C. For example, fig. 18A shows a sample array 606 subdivided into a regular two-dimensional arrangement of non-overlapping treeblocks 608 that are contiguous to each other, where some of the treeblocks are subdivided into sub-blocks 610 of different sizes according to a multi-tree structure. As previously mentioned, although a quadtree subdivision is illustrated in FIG. 18A, partitioning at each parent node of any other number of child nodes is also possible. FIG. 18B shows an embodiment whereby a sample array 606 is subdivided into sub-blocks of different sizes by applying the polytree subdivision directly onto the full pixel array 606. In other words, the full pixel array 606 is treated as a treeblock process. Fig. 18C shows another embodiment. According to this embodiment, the sample array is constructed as a regular two-dimensional arrangement of square or rectangular macroblocks that are adjacent to each other, and each of these macroblocks 612 is individually associated with partition information according to which macroblocks 612 are left unpartitioned or partitioned into a regular two-dimensional arrangement of blocks of the size indicated by the partition information. As can be seen, the full subdivision of fig. 18A-18C results in the subdivision of the sample array 606 into simply connected regions, each of which is shown non-overlapping according to the embodiment of fig. 18A-18C. Several alternative approaches are possible. For example, the blocks may overlap each other. The overlap may be limited to the extent that each block has a portion that does not overlap any neighboring blocks, or such that each block sample overlaps at most one of neighboring blocks arranged side-by-side with the current block along a predetermined direction. In other words, the latter means that the left and right neighboring blocks can overlap the current block, thus completely covering the current block, but not overlapping each other, and the same applies to the neighboring blocks in the vertical and diagonal directions. As further optional in fig. 17, the granularity of the determination in module 706 and thus the cross-plane adoption/prediction may be a plane. Thus, according to a further embodiment, there are more than two planes, one primary plane and two possible secondary planes, for each possible secondary plane, the module 706 decides separately and the cross-plane interchange information within the data stream indicates separately whether cross-plane adoption/prediction should be applied to the respective planes. If so, further manipulations may be made in the above-described simply connected region manner, wherein, however, cross-plane interchange information exists and is processed only in those planes indicated by the cross-plane interchange information.
while several aspects have been described in the context of a device, it will be apparent that these aspects also represent a description of the corresponding method, where a block or a device corresponds to a method step or a feature of a method step. Likewise, aspects described in the context of method steps also represent a description of a corresponding block or item or a feature of a corresponding device. Some or all of the method steps may be performed by (or using) hardware devices, such as microprocessors, programmable computers, or electronic circuits. In several embodiments, some or some of the most important method steps may be performed by such a device.
The encoded/compressed signals of the present invention may be stored on a digital storage medium or may be transmitted over a transmission medium such as the internet (such as a wireless transmission medium or a wired transmission medium).
Embodiments of the present invention may be implemented in hardware or software, depending on a number of implementation requirements. Implementations may be implemented using a digital storage medium, such as a floppy disk, a DVD, a blu-ray disk, a CD, a ROM, a PROM, an EPROM, an EEPROM or a flash memory, on which electronically readable control signals are stored, which cooperate (or are capable of cooperating) with a programmable computer system such that the individual methods are performed. Accordingly, the digital storage medium may be computer readable.
Embodiments according to the invention comprise a data carrier with electronically readable control signals which can cooperate with a programmable computer system so as to carry out one of the methods described herein.
generally, embodiments of the invention can be implemented as a computer program product having a program code operable to perform 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 include a computer program stored on a machine-readable carrier for performing one of the methods described herein.
In other words, an embodiment of the inventive methods 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 invention is therefore a data carrier (or digital storage medium or computer readable medium) comprising recorded thereon a computer program for performing one of the methods described herein.
A further embodiment of the inventive method is thus a data stream or a signal sequence representing a computer program for executing one of the methods described herein. The data stream or signal sequence is for example arranged to be transmitted via a data communication connection, for example via the internet.
Yet another embodiment comprises, for example, a processing means such as a computer or programmable logic device configured or adapted to perform one of the methods described herein.
Yet another embodiment comprises a computer having installed thereon a computer program to perform one of the methods described herein.
In several embodiments, a programmable logic device (e.g., a field programmable gate array) may be used to perform some or all of the functions of the methods described herein. In several embodiments, a field programmable gate array may cooperate with a microprocessor to perform one of the methods described herein. Generally, the method is preferably performed by any hardware device.
The foregoing embodiments are merely illustrative of the principles of the invention. It will be appreciated that modifications and variations in the details of the arrangements described herein will be apparent to those skilled in the art. It is therefore intended that the scope of the appended claims be limited only by the specific details used to illustrate the embodiments herein.
Claims (14)
1. A method for decoding a data stream of different spatially sampled information components of an image representing a scene in planes, each plane comprising an array of information samples, the method comprising:
Reconstructing each array of information samples by processing payload data relating to a simply connected region in a manner specified by an encoding parameter, wherein each array of information samples is subdivided into said simply connected regions;
Deriving from the data stream encoding parameters relating to simply connected regions of a first array of the arrays of information samples;
Deriving cross-plane interchange information for a simply connected region of a second array of the arrays of information samples from the data stream;
Determining, for each simply connected region or an appropriate subset of the simply connected regions of the second array, based on the cross-plane interchange information for the simply connected regions of the second array:
Inferring encoding parameters for each simply connected region or an appropriate subset of simply connected regions of the second array from encoding parameters of locally corresponding simply connected regions of the first array, and decoding payload data associated with each simply connected region or appropriate subset of simply connected regions of the second array in a manner specified by the thus inferred encoding parameters;
or
Deriving from said data stream encoding parameters for each simply connected region or a suitable subset of simply connected regions of said second array and decoding payload data relating to each simply connected region or suitable subset of simply connected regions of said second array in a manner prescribed by the relevant encoding parameters derived from said data stream,
Wherein the encoding parameters for each simply connected region or a suitable subset of simply connected regions of the second array relate to motion parameters specifying how a prediction signal for each simply connected region or a suitable subset of simply connected regions of the second array is generated using a reference picture,
Wherein each array of information samples is subdivided into blocks based on a quadtree subdivision.
2. The method of claim 1, wherein the spatially sampled information signal is video accompanied by depth information.
3. The method of claim 1, wherein the spatially sampled information signal is a sequence of images, wherein each image comprises an array of luma samples together with two arrays of chroma samples per frame, wherein for each dependent array there are scaling factors in the horizontal and vertical directions, said scaling factors determining a ratio of a degree to a dimension of the dependent array.
4. A method for generating a data stream of different spatially sampled information components of an image representative of a scene in planes, each plane comprising an array of information samples, the method comprising:
For each array of information samples, determining payload data relating to simply connected regions into which each array of information samples is subdivided, and encoding parameters relating to the simply connected regions of a first array of the arrays of information samples, and cross-plane interchange information for the simply connected regions of a second array of the arrays of information samples; and
Inserting the encoding parameters and the cross-plane interchange information into the data stream;
Wherein the determining is performed such that the cross-plane interchange information for the simply connected regions of the second array indicates, for each simply connected region or an appropriate subset of simply connected regions of the second array:
Whether encoding parameters for each simply connected region or an appropriate subset of simply connected regions of the second array are to be inferred from encoding parameters for locally corresponding simply connected regions of the first array, and whether payload data relating to each simply connected region or an appropriate subset of simply connected regions of the second array is to be decoded in a manner specified by the encoding parameters so inferred; or
Whether encoding parameters for each simply connected region or an appropriate subset of simply connected regions of the second array are to be derived from the data stream, and whether payload data relating to each simply connected region or an appropriate subset of simply connected regions of the second array is to be decoded in a manner specified by the relevant encoding parameters derived from the data stream,
Wherein the encoding parameters for each simply connected region or a suitable subset of simply connected regions of the second array relate to motion parameters specifying how a prediction signal for each simply connected region or a suitable subset of simply connected regions of the second array is generated using a reference picture,
Wherein each array of information samples is subdivided into blocks based on a quadtree subdivision.
5. The method of claim 4, wherein the spatially sampled information signal is video accompanied by depth information.
6. The method of claim 4, wherein the spatially sampled information signal is a sequence of pictures, wherein each picture comprises an array of luma samples together with two arrays of chroma samples per frame, wherein for each dependent array there are scaling factors in the horizontal and vertical directions, said scaling factors determining a ratio of a degree to a dimension of the dependent array.
7. A decoder for decoding a data stream of different spatially sampled information components of an image representing a scene in planes, each plane comprising an array of information samples, the decoder being configured to:
reconstructing each array of information samples by processing payload data relating to a simply connected region in a manner specified by an encoding parameter, wherein each array of information samples is subdivided into said simply connected regions;
Deriving from the data stream encoding parameters relating to simply connected regions of a first array of the arrays of information samples;
Deriving cross-plane interchange information for a simply connected region of a second array of the arrays of information samples from the data stream;
determining, for each simply connected region or an appropriate subset of the simply connected regions of the second array, based on the cross-plane interchange information for the simply connected regions of the second array:
Inferring encoding parameters for each simply connected region or an appropriate subset of simply connected regions of the second array from encoding parameters of locally corresponding simply connected regions of the first array, and decoding payload data associated with each simply connected region or appropriate subset of simply connected regions of the second array in a manner specified by the thus inferred encoding parameters;
Or
deriving from said data stream encoding parameters for each simply connected region or a suitable subset of simply connected regions of said second array and decoding payload data relating to each simply connected region or suitable subset of simply connected regions of said second array in a manner prescribed by the relevant encoding parameters derived from said data stream,
Wherein the encoding parameters for each simply connected region or a suitable subset of simply connected regions of the second array relate to motion parameters specifying how a prediction signal for each simply connected region or a suitable subset of simply connected regions of the second array is generated using a reference picture,
Wherein each array of information samples is subdivided into blocks based on a quadtree subdivision.
8. An encoder for generating a data stream of different spatially sampled information components of an image representing a scene in planes, each plane comprising an array of information samples, the encoder being configured to:
For each array of information samples, determining payload data relating to simply connected regions into which each array of information samples is subdivided, and encoding parameters relating to the simply connected regions of a first array of the arrays of information samples, and cross-plane interchange information for the simply connected regions of a second array of the arrays of information samples; and
Inserting the encoding parameters and the cross-plane interchange information into the data stream;
wherein the encoder is configured to perform the determining such that the cross-plane interchange information for the simply connected regions of the second array indicates, for each simply connected region or appropriate subset of simply connected regions of the second array:
Whether encoding parameters for each simply connected region or an appropriate subset of simply connected regions of the second array are to be inferred from encoding parameters for locally corresponding simply connected regions of the first array, and whether payload data relating to each simply connected region or an appropriate subset of simply connected regions of the second array is to be decoded in a manner specified by the encoding parameters so inferred; or
Whether encoding parameters for each simply connected region or an appropriate subset of simply connected regions of the second array are to be derived from the data stream, and whether payload data relating to each simply connected region or an appropriate subset of simply connected regions of the second array is to be decoded in a manner specified by the relevant encoding parameters derived from the data stream,
Wherein the encoding parameters for each simply connected region or a suitable subset of simply connected regions of the second array relate to motion parameters specifying how a prediction signal for each simply connected region or a suitable subset of simply connected regions of the second array is generated using a reference picture,
Wherein each array of information samples is subdivided into blocks based on a quadtree subdivision.
9. A method for decoding a data stream of different spatially sampled information components of an image representative of a scene in planes, each plane comprising an array of information samples, the method comprising receiving and decoding a data stream comprising:
For each array of information samples, payload data associated with a simply connected region into which each array of information samples is subdivided;
Encoding parameters related to simply connected regions of a first array of the arrays of information samples; and
Cross-plane interchange of simply connected regions of a second one of the arrays of information samples,
Wherein the cross-plane interchange information indicates, for each simply connected region of the second array or a suitable subset of the simply connected regions:
Whether encoding parameters for each simply connected region or an appropriate subset of simply connected regions of the second array are to be inferred from encoding parameters for locally corresponding simply connected regions of the first array, and whether payload data relating to each simply connected region or an appropriate subset of simply connected regions of the second array is to be decoded in a manner specified by the encoding parameters so inferred; or
Whether encoding parameters for each simply connected region or a suitable subset of simply connected regions of the second array are to be derived from the data stream, and whether payload data relating to a suitable subset of simply connected regions or simply connected regions of the second array are to be decoded in a manner specified by the relevant encoding parameters derived from the data stream,
Wherein the encoding parameters for each simply connected region or a suitable subset of simply connected regions of the second array relate to motion parameters specifying how a prediction signal for each simply connected region or a suitable subset of simply connected regions of the second array is generated using a reference picture,
wherein each array of information samples is subdivided into blocks based on a quadtree subdivision.
10. A method for storing a data stream, comprising:
Storing on a digital storage medium a data stream of different spatially sampled information components of an image representing a scene in planes, each plane comprising an array of information samples, the data stream comprising:
For each array of information samples, payload data associated with a simply connected region into which each array of information samples is subdivided;
Encoding parameters related to simply connected regions of a first array of the arrays of information samples; and
Cross-plane interchange of simply connected regions of a second one of the arrays of information samples,
Wherein the cross-plane interchange information indicates, for each simply connected region of the second array or a suitable subset of the simply connected regions:
whether encoding parameters for each simply connected region or an appropriate subset of simply connected regions of the second array are to be inferred from encoding parameters for locally corresponding simply connected regions of the first array, and whether payload data relating to each simply connected region or an appropriate subset of simply connected regions of the second array is to be decoded in a manner specified by the encoding parameters so inferred; or
whether encoding parameters for a simply connected region or a suitable subset of simply connected regions of the second array are to be derived from the data stream, and whether payload data relating to a simply connected region or a suitable subset of simply connected regions of the second array are to be decoded in a manner specified by the relevant encoding parameters derived from the data stream,
wherein the encoding parameters for each simply connected region or a suitable subset of simply connected regions of the second array relate to motion parameters specifying how a prediction signal for each simply connected region or a suitable subset of simply connected regions of the second array is generated using a reference picture,
Wherein each array of information samples is subdivided into blocks based on a quadtree subdivision.
11. a method for transmitting a data stream, comprising:
Storing on a transmission medium a data stream of different spatially sampled information components representing an image of a scene in planes, each plane comprising an array of information samples, the data stream comprising:
For each array of information samples, payload data associated with a simply connected region into which each array of information samples is subdivided;
encoding parameters related to simply connected regions of a first array of the arrays of information samples; and
Cross-plane interchange of simply connected regions of a second one of the arrays of information samples,
Wherein the cross-plane interchange information indicates, for each simply connected region of the second array or a suitable subset of the simply connected regions:
Whether encoding parameters for each simply connected region or an appropriate subset of simply connected regions of the second array are to be inferred from encoding parameters for locally corresponding simply connected regions of the first array, and whether payload data relating to each simply connected region or an appropriate subset of simply connected regions of the second array is to be decoded in a manner specified by the encoding parameters so inferred; or
Whether encoding parameters for a simply connected region or a suitable subset of simply connected regions of the second array are to be derived from the data stream, and whether payload data relating to a simply connected region or a suitable subset of simply connected regions of the second array are to be decoded in a manner specified by the relevant encoding parameters derived from the data stream,
Wherein the encoding parameters for each simply connected region or a suitable subset of simply connected regions of the second array relate to motion parameters specifying how a prediction signal for each simply connected region or a suitable subset of simply connected regions of the second array is generated using a reference picture,
Wherein each array of information samples is subdivided into blocks based on a quadtree subdivision.
12. The method of any of claims 9 to 11, wherein the spatially sampled information signal is video accompanied by depth information.
13. The method according to any of claims 9 to 11, wherein the spatially sampled information signal is a sequence of pictures, wherein each picture comprises an array of luma samples together with two arrays of chroma samples per frame, wherein for each dependent array there are scaling factors in horizontal and vertical direction, said scaling factors determining the ratio of the number of times to the dimension of the dependent array.
14. the method of any of claims 9 to 11, wherein the array of information samples is one of an array of samples related to different color components and forming a color plane of an image, wherein different color planes of the image are independently encoded.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610422931.XA CN105915924B (en) | 2010-04-13 | 2010-04-13 | Cross-plane prediction |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610422931.XA CN105915924B (en) | 2010-04-13 | 2010-04-13 | Cross-plane prediction |
CN201080067394.2A CN102939750B (en) | 2010-04-13 | 2010-04-13 | Across planar prediction |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201080067394.2A Division CN102939750B (en) | 2010-04-13 | 2010-04-13 | Across planar prediction |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105915924A CN105915924A (en) | 2016-08-31 |
CN105915924B true CN105915924B (en) | 2019-12-06 |
Family
ID=56681893
Family Applications (11)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610422931.XA Ceased CN105915924B (en) | 2010-04-13 | 2010-04-13 | Cross-plane prediction |
CN201610415355.6A Active CN105915920B (en) | 2010-04-13 | 2010-04-13 | A kind of method across planar prediction, decoder, encoder |
CN201610410888.5A Active CN105872562B (en) | 2010-04-13 | 2010-04-13 | Across planar prediction |
CN201610421327.5A Active CN105915923B (en) | 2010-04-13 | 2010-04-13 | Across planar prediction |
CN201610415353.7A Active CN105933715B (en) | 2010-04-13 | 2010-04-13 | Across planar prediction |
CN201610412834.2A Active CN105915918B (en) | 2010-04-13 | 2010-04-13 | Method and apparatus across planar prediction |
CN201610420952.8A Active CN105915921B (en) | 2010-04-13 | 2010-04-13 | Across planar prediction |
CN201610420901.5A Active CN105933716B (en) | 2010-04-13 | 2010-04-13 | Across planar prediction |
CN201610411056.5A Active CN105872563B (en) | 2010-04-13 | 2010-04-13 | For decoding, generating, storing data stream and transmit video method |
CN201610420998.XA Ceased CN105915922B (en) | 2010-04-13 | 2010-04-13 | Across planar prediction |
CN201610412836.1A Active CN105915919B (en) | 2010-04-13 | 2010-04-13 | method for decoding, generating and storing a data stream |
Family Applications After (10)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610415355.6A Active CN105915920B (en) | 2010-04-13 | 2010-04-13 | A kind of method across planar prediction, decoder, encoder |
CN201610410888.5A Active CN105872562B (en) | 2010-04-13 | 2010-04-13 | Across planar prediction |
CN201610421327.5A Active CN105915923B (en) | 2010-04-13 | 2010-04-13 | Across planar prediction |
CN201610415353.7A Active CN105933715B (en) | 2010-04-13 | 2010-04-13 | Across planar prediction |
CN201610412834.2A Active CN105915918B (en) | 2010-04-13 | 2010-04-13 | Method and apparatus across planar prediction |
CN201610420952.8A Active CN105915921B (en) | 2010-04-13 | 2010-04-13 | Across planar prediction |
CN201610420901.5A Active CN105933716B (en) | 2010-04-13 | 2010-04-13 | Across planar prediction |
CN201610411056.5A Active CN105872563B (en) | 2010-04-13 | 2010-04-13 | For decoding, generating, storing data stream and transmit video method |
CN201610420998.XA Ceased CN105915922B (en) | 2010-04-13 | 2010-04-13 | Across planar prediction |
CN201610412836.1A Active CN105915919B (en) | 2010-04-13 | 2010-04-13 | method for decoding, generating and storing a data stream |
Country Status (1)
Country | Link |
---|---|
CN (11) | CN105915924B (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11778241B2 (en) | 2010-04-13 | 2023-10-03 | Ge Video Compression, Llc | Coding of a spatial sampling of a two-dimensional information signal using sub-division |
US11785264B2 (en) | 2010-04-13 | 2023-10-10 | Ge Video Compression, Llc | Multitree subdivision and inheritance of coding parameters in a coding block |
US11810019B2 (en) | 2010-04-13 | 2023-11-07 | Ge Video Compression, Llc | Region merging and coding parameter reuse via merging |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102939750B (en) | 2010-04-13 | 2016-07-06 | Ge视频压缩有限责任公司 | Across planar prediction |
US10701390B2 (en) * | 2017-03-14 | 2020-06-30 | Qualcomm Incorporated | Affine motion information derivation |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1917647A (en) * | 2005-04-19 | 2007-02-21 | 三星电子株式会社 | Method and apparatus for adaptively selecting context model for entropy coding |
CN101682763A (en) * | 2007-06-12 | 2010-03-24 | 汤姆森许可贸易公司 | Methods and apparatus supporting multi-pass video syntax structure for slice data |
Family Cites Families (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1882093B (en) * | 1998-03-10 | 2011-01-12 | 索尼公司 | Transcoding system using encoding history information |
US6563953B2 (en) * | 1998-11-30 | 2003-05-13 | Microsoft Corporation | Predictive image compression using a single variable length code for both the luminance and chrominance blocks for each macroblock |
FI116992B (en) * | 1999-07-05 | 2006-04-28 | Nokia Corp | Methods, systems, and devices for enhancing audio coding and transmission |
US7450641B2 (en) * | 2001-09-14 | 2008-11-11 | Sharp Laboratories Of America, Inc. | Adaptive filtering based upon boundary strength |
US7295609B2 (en) * | 2001-11-30 | 2007-11-13 | Sony Corporation | Method and apparatus for coding image information, method and apparatus for decoding image information, method and apparatus for coding and decoding image information, and system of coding and transmitting image information |
KR101029762B1 (en) * | 2003-03-03 | 2011-04-19 | 에이전시 포 사이언스, 테크놀로지 앤드 리서치 | Fast mode decision algorithm for intra prediction for advanced video coding |
KR100556911B1 (en) * | 2003-12-05 | 2006-03-03 | 엘지전자 주식회사 | Video data format for wireless video streaming service |
CN1268136C (en) * | 2004-07-02 | 2006-08-02 | 上海广电(集团)有限公司中央研究院 | Frame field adaptive coding method based on image slice structure |
KR100657268B1 (en) * | 2004-07-15 | 2006-12-14 | 학교법인 대양학원 | Scalable encoding and decoding method of color video, and apparatus thereof |
CN101416149A (en) * | 2004-10-21 | 2009-04-22 | 索尼电子有限公司 | Supporting fidelity range extensions in advanced video codec file format |
US20060233262A1 (en) * | 2005-04-13 | 2006-10-19 | Nokia Corporation | Signaling of bit stream ordering in scalable video coding |
WO2006120195A1 (en) * | 2005-05-12 | 2006-11-16 | Bracco Imaging S.P.A. | Method for coding pixels or voxels of a digital image and a method for processing digital images |
KR100763196B1 (en) * | 2005-10-19 | 2007-10-04 | 삼성전자주식회사 | Method for coding flags in a layer using inter-layer correlation, method for decoding the coded flags, and apparatus thereof |
KR20070074453A (en) * | 2006-01-09 | 2007-07-12 | 엘지전자 주식회사 | Method for encoding and decoding video signal |
US8315308B2 (en) * | 2006-01-11 | 2012-11-20 | Qualcomm Incorporated | Video coding with fine granularity spatial scalability |
JP5134001B2 (en) * | 2006-10-18 | 2013-01-30 | アップル インコーポレイテッド | Scalable video coding with lower layer filtering |
KR100906243B1 (en) * | 2007-06-04 | 2009-07-07 | 전자부품연구원 | Video coding method of rgb color space signal |
CN100534186C (en) * | 2007-07-05 | 2009-08-26 | 西安电子科技大学 | JPEG2000 self-adapted rate control system and method based on pre-allocated code rate |
US8270472B2 (en) * | 2007-11-09 | 2012-09-18 | Thomson Licensing | Methods and apparatus for adaptive reference filtering (ARF) of bi-predictive pictures in multi-view coded video |
US8126054B2 (en) * | 2008-01-09 | 2012-02-28 | Motorola Mobility, Inc. | Method and apparatus for highly scalable intraframe video coding |
US8155184B2 (en) * | 2008-01-16 | 2012-04-10 | Sony Corporation | Video coding system using texture analysis and synthesis in a scalable coding framework |
US8711948B2 (en) * | 2008-03-21 | 2014-04-29 | Microsoft Corporation | Motion-compensated prediction of inter-layer residuals |
US8634456B2 (en) * | 2008-10-03 | 2014-01-21 | Qualcomm Incorporated | Video coding with large macroblocks |
-
2010
- 2010-04-13 CN CN201610422931.XA patent/CN105915924B/en not_active Ceased
- 2010-04-13 CN CN201610415355.6A patent/CN105915920B/en active Active
- 2010-04-13 CN CN201610410888.5A patent/CN105872562B/en active Active
- 2010-04-13 CN CN201610421327.5A patent/CN105915923B/en active Active
- 2010-04-13 CN CN201610415353.7A patent/CN105933715B/en active Active
- 2010-04-13 CN CN201610412834.2A patent/CN105915918B/en active Active
- 2010-04-13 CN CN201610420952.8A patent/CN105915921B/en active Active
- 2010-04-13 CN CN201610420901.5A patent/CN105933716B/en active Active
- 2010-04-13 CN CN201610411056.5A patent/CN105872563B/en active Active
- 2010-04-13 CN CN201610420998.XA patent/CN105915922B/en not_active Ceased
- 2010-04-13 CN CN201610412836.1A patent/CN105915919B/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1917647A (en) * | 2005-04-19 | 2007-02-21 | 三星电子株式会社 | Method and apparatus for adaptively selecting context model for entropy coding |
CN101682763A (en) * | 2007-06-12 | 2010-03-24 | 汤姆森许可贸易公司 | Methods and apparatus supporting multi-pass video syntax structure for slice data |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11778241B2 (en) | 2010-04-13 | 2023-10-03 | Ge Video Compression, Llc | Coding of a spatial sampling of a two-dimensional information signal using sub-division |
US11785264B2 (en) | 2010-04-13 | 2023-10-10 | Ge Video Compression, Llc | Multitree subdivision and inheritance of coding parameters in a coding block |
US11810019B2 (en) | 2010-04-13 | 2023-11-07 | Ge Video Compression, Llc | Region merging and coding parameter reuse via merging |
US11856240B1 (en) | 2010-04-13 | 2023-12-26 | Ge Video Compression, Llc | Coding of a spatial sampling of a two-dimensional information signal using sub-division |
US11900415B2 (en) | 2010-04-13 | 2024-02-13 | Ge Video Compression, Llc | Region merging and coding parameter reuse via merging |
Also Published As
Publication number | Publication date |
---|---|
CN105915924A (en) | 2016-08-31 |
CN105872562A (en) | 2016-08-17 |
CN105933716A (en) | 2016-09-07 |
CN105872562B (en) | 2019-05-17 |
CN105933716B (en) | 2019-05-28 |
CN105915919A (en) | 2016-08-31 |
CN105933715B (en) | 2019-04-12 |
CN105915922B (en) | 2019-07-02 |
CN105915923A (en) | 2016-08-31 |
CN105915921B (en) | 2019-07-02 |
CN105915921A (en) | 2016-08-31 |
CN105872563A (en) | 2016-08-17 |
CN105915922A (en) | 2016-08-31 |
CN105915920B (en) | 2019-09-24 |
CN105915918A (en) | 2016-08-31 |
CN105933715A (en) | 2016-09-07 |
CN105915919B (en) | 2019-12-06 |
CN105872563B (en) | 2019-06-14 |
CN105915923B (en) | 2019-08-13 |
CN105915920A (en) | 2016-08-31 |
CN105915918B (en) | 2019-09-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106412607B (en) | Method for decoding, generating, storing data stream and transmitting video | |
CN106412604B (en) | Decoder, method for reconstructing array, encoder and encoding method | |
CN106162172B (en) | Decoder and method, encoder and method, method for generating and decoding data stream | |
CN106231327B (en) | Decoder, decoding method, encoder, and encoding method | |
CN105915919B (en) | method for decoding, generating and storing a data stream |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
IW01 | Full invalidation of patent right |
Decision date of declaring invalidation: 20220728 Decision number of declaring invalidation: 57356 Granted publication date: 20191206 |
|
IW01 | Full invalidation of patent right |