TECHNICAL FIELD

An example embodiment relates generally to video encoding and decoding.

BACKGROUND

In some video codecs, such as a High Efficiency Video Coding (HEVC) codec, video pictures are divided into coding units (CU) covering the area of the picture. A CU consists of one or more prediction units (PU) defining the prediction process for the samples within the CU and one or more transform units (TU) defining the prediction error coding process for the samples in the CU. A CU consists of a square block of samples with a size selectable from a predefined set of possible CU sizes. A CU with the maximum allowed size may be named as LCU (largest coding unit) or coding tree unit (CTU) and the video picture is divided into non-overlapping LCUs. An LCU can be further split into a combination of smaller CUs, e.g. by recursively splitting the LCU and resultant CUs. Each resulting CU may have at least one PU and at least one TU associated with the CU. Each PU and TU can be further split into smaller PUs and TUs in order to increase granularity of the prediction and prediction error coding processes, respectively. Each PU has prediction information associated with the PU defining the kind of prediction that is to be applied for the pixels within the PU (e.g., motion vector information for inter predicted PUs and intra prediction directionality information for intra predicted PUs).

A slice is an integer number of CTUs contained in one independent slice segment and all subsequent dependent slice segments (if any) that precede the next independent slice segment (if any) within the same access unit. In HEVC, a slice header is defined to be the slice segment header of the independent slice segment that is a current slice segment or is the independent slice segment that precedes a current dependent slice segment, and a slice segment header is defined to be a part of a coded slice segment containing the data elements pertaining to the first or all coding tree units represented in the slice segment. The CUs are scanned in the raster scan order of LCUs within tiles or within a picture, if tiles are not in use. Within an LCU, the CUs have a specific scan order. The position of a slice within a picture is indicated through block indexing in raster scan order within a picture.

Because the position of a slice within a picture is indicated through block indexing in raster scan order within a picture, repositioning of a slice or extracting a subset of tiles or slices (other than picture-wide subsets starting from the top-left corner of the picture) requires rewriting of slice header(s). Repositioning of slices happens in various different situations, such as when extracting a tile set to its own bitstream, viewport switching with a different tile order or picture size in decoded pictures than in encoded pictures for 360-degree videos, and the like. Rewriting slice headers for the purpose of repositioning a slice is inefficient as slice header rewriting affects the bitrate of the stream and/or requires special rewriting instructions, all of which causes additional computational time and resources to be utilized.

BRIEF SUMMARY

In some embodiments, a method, apparatus and computer program product are provided in accordance with an example embodiment in order to encode a picture into a coded picture. In one example embodiment, a method is provided that includes receiving a picture. The method further includes encoding the picture as one or more slices. The method further includes encoding, into a slice header of a slice of the one or more slices, one or more tile identifiers indicative of one or more tile positions for one or more tiles in the slice. The method further includes encoding one or more assignments of one or more tile identifier values for the one or more tile identifiers indicative of tile positions in a parameter set file.

In some implementations of such a method, the method further includes, encoding, into the slice header, a block index relative to a tile of the one or more tiles. The block index comprises a syntax element indicative of a block position for a block within the tile. In some embodiments, one tile identifier of the one or more tile identifiers is indicative of a tile that comprises a pre-defined block of the slice. In some embodiments, the method further includes constructing one or more motion vectors associated with one or more prediction units in one or more coding units in the one or more tiles. The one or more motion vectors apply in one or more anchor locations derived from one or more anchor location identifiers defining a position relative to the one or more tiles indicated by the one or more tile identifiers. In some embodiments, the method further includes constructing a decoding order constraint file associated with the picture. The decoding order constraint file includes a reorder indication indicating whether the one or more tiles are able to be reordered without affecting decodability for the one or more tiles.

In another example embodiment, an apparatus is provided that includes at least one processor and at least one memory including computer program code for one or more programs with the at least one memory and the computer program code configured to, with the at least one processor, cause the apparatus at least to receive a picture. The computer program code is further configured to, with the at least one processor, cause the apparatus to encode the picture as one or more slices. The computer program code is further configured to, with the at least one processor, cause the apparatus to encode, into a slice header of a slice of the one or more slices, one or more tile identifiers indicative of one or more tile positions for one or more tiles in the slice. The computer program code is further configured to, with the at least one processor, cause the apparatus to encode one or more assignments of one or more tile identifier values for the one or more tile identifiers indicative of tile positions in a parameter set file.

In some implementations of such an apparatus, the computer program code is further configured to, with the at least one processor, cause the apparatus to encode, into the slice header, a block index relative to a tile of the one or more tiles. The block index comprises a syntax element indicative of a block position for a block within the tile. In some embodiments, one tile identifier of the one or more tile identifiers is indicative of a tile that comprises a pre-defined block of the slice. In some embodiments, the computer program code is further configured to, with the at least one processor, cause the apparatus to construct one or more motion vectors associated with one or more prediction units in one or more coding units in the one or more tiles. The one or more motion vectors apply in one or more anchor locations derived from one or more anchor location identifiers defining a position relative to the one or more tiles indicated by the one or more tile identifiers. In some embodiments, the computer program code is further configured to, with the at least one processor, cause the apparatus to construct a decoding order constraint file associated with the picture. The decoding order constraint file includes a reorder indication indicating whether the one or more tiles are able to be reordered without affecting decodability for the one or more tiles.

In another example embodiment, an apparatus is provided that includes means for receiving a picture. The apparatus further includes means for encoding the picture as one or more slices. The apparatus further includes means for encoding, into a slice header of a slice of the one or more slices, one or more tile identifiers indicative of one or more tile positions for one or more tiles in the slice. The apparatus further includes means for encoding one or more assignments of one or more tile identifier values for the one or more tile identifiers indicative of tile positions in a parameter set file.

In some implementations of such an apparatus, the apparatus further includes means for, encoding, into the slice header, a block index relative to a tile of the one or more tiles. The block index comprises a syntax element indicative of a block position for a block within the tile. In some embodiments, one tile identifier of the one or more tile identifiers is indicative of a tile that comprises a pre-defined block of the slice. In some embodiments, the apparatus further includes means for constructing one or more motion vectors associated with one or more prediction units in one or more coding units in the one or more tiles. The one or more motion vectors apply in one or more anchor locations derived from one or more anchor location identifiers defining a position relative to the one or more tiles indicated by the one or more tile identifiers. In some embodiments, the apparatus further includes means for constructing a decoding order constraint file associated with the picture. The decoding order constraint file includes a reorder indication indicating whether the one or more tiles are able to be reordered without affecting decodability for the one or more tiles.

In yet another example embodiment, a computer program product is provided that includes at least one non-transitory computer-readable storage medium having computer executable program code instructions stored therein with the computer executable program code instructions comprising program code instructions configured, upon execution, to receive a picture. The computer executable program code instructions further include program code instructions configured, upon execution, to encode the picture as one or more slices. The computer executable program code instructions further include program code instructions configured, upon execution, to encode, into a slice header of a slice of the one or more slices, one or more tile identifiers indicative of one or more tile positions for one or more tiles in the slice. The computer executable program code instructions further include program code instructions configured, upon execution, to encode one or more assignments of one or more tile identifier values for the one or more tile identifiers indicative of tile positions in a parameter set file.

In some implementations of such a computer program product, the computer executable program code instructions further include program code instructions configured, upon execution, to encode, into the slice header, a block index relative to a tile of the one or more tiles. The block index comprises a syntax element indicative of a block position for a block within the tile. In some embodiments, one tile identifier of the one or more tile identifiers is indicative of a tile that comprises a pre-defined block of the slice. In some embodiments, the computer executable program code instructions further include program code instructions configured, upon execution, to construct one or more motion vectors associated with one or more prediction units in one or more coding units in the one or more tiles. The one or more motion vectors apply in one or more anchor locations derived from one or more anchor location identifiers defining a position relative to the one or more tiles indicated by the one or more tile identifiers. In some embodiments, the computer executable program code instructions further include program code instructions configured, upon execution, to construct a decoding order constraint file associated with the picture. The decoding order constraint file includes a reorder indication indicating whether the one or more tiles are able to be reordered without affecting decodability for the one or more tiles.

In some embodiments, a method, apparatus and computer program product are provided in accordance with an example embodiment in order to construct an in-picture-prediction-enabled (IPPE) tile set. In one example embodiment, a method is provided that includes receiving or encoding a bitstream comprising a coded picture, the coded picture comprising one or more tiles. The method further includes identifying one or more dependent tiles from the one or more tiles. The one or more dependent tiles are dependent on another dependent tile within a coded picture or form a logical atomic unit with another dependent tile. The method further includes constructing an indication of an in-picture-prediction-enabled tile set comprising the one or more dependent tiles. The method further includes causing storage of the bitstream and the indication of the in-picture-prediction-enabled tile set.

In some implementations of such a method, the method further includes encoding the indication of the in-picture-prediction-enabled tile set in one or more of: a sequence parameter set associated with the bitstream, a picture parameter set associated with the bitstream, or a supplemental enhancement information message associated with the bitstream. In some embodiments, the indication indicates whether the in-picture-prediction-enabled tile set is a temporal motion-constrained tile set. In some embodiments, the indication comprises a dependency forest or graph that indicates a set of prediction dependencies for one or more tiles that are not other non-in-picture predicted tiles to one or more tiles of the in-picture-prediction-enabled tile set. In some embodiments, the indication comprises a set of anchor positions for a set of intra block copy motion vectors of a set of dependent tiles in the in-picture-prediction-enabled tile set.

In another example embodiment, an apparatus is provided that includes at least one processor and at least one memory including computer program code for one or more programs with the at least one memory and the computer program code configured to, with the at least one processor, cause the apparatus at least to receive or encode a bitstream comprising a coded picture, the coded picture comprising one or more tiles. The computer program code is further configured to, with the at least one processor, cause the apparatus to identify one or more dependent tiles from the one or more tiles. The one or more dependent tiles are dependent on another dependent tile within a coded picture or form a logical atomic unit with another dependent tile. The computer program code is further configured to, with the at least one processor, cause the apparatus to construct an indication of an in-picture-prediction-enabled tile set comprising the one or more dependent tiles. The computer program code is further configured to, with the at least one processor, cause the apparatus to cause storage of the bitstream and the indication of the in-picture-prediction-enabled tile set.

In some implementations of such an apparatus, the computer program code is further configured to, with the at least one processor, cause the apparatus to encode the indication of the in-picture-prediction-enabled tile set in one or more of: a sequence parameter set associated with the bitstream, a picture parameter set associated with the bitstream, or a supplemental enhancement information message associated with the bitstream. In some embodiments, the indication indicates whether the in-picture-prediction-enabled tile set is a temporal motion-constrained tile set. In some embodiments, the indication comprises a dependency forest or graph that indicates a set of prediction dependencies for one or more tiles that are not other non-in-picture predicted tiles to one or more tiles of the in-picture-prediction-enabled tile set. In some embodiments, the indication comprises a set of anchor positions for a set of intra block copy motion vectors of a set of dependent tiles in the in-picture-prediction-enabled tile set.

In another example embodiment, an apparatus is provided that includes means for receiving or encoding a bitstream comprising a coded picture, the coded picture comprising one or more tiles. The apparatus further includes means for identifying one or more dependent tiles from the one or more tiles. The one or more dependent tiles are dependent on another dependent tile within a coded picture or form a logical atomic unit with another dependent tile. The apparatus further includes means for constructing an indication of an in-picture-prediction-enabled tile set comprising the one or more dependent tiles. The apparatus further includes means for causing storage of the bitstream and the indication of the in-picture-prediction-enabled tile set.

In some implementations of such an apparatus, the apparatus further includes means for encoding the indication of the in-picture-prediction-enabled tile set in one or more of: a sequence parameter set associated with the bitstream, a picture parameter set associated with the bitstream, or a supplemental enhancement information message associated with the bitstream. In some embodiments, the indication indicates whether the in-picture-prediction-enabled tile set is a temporal motion-constrained tile set. In some embodiments, the indication comprises a dependency forest or graph that indicates a set of prediction dependencies for one or more tiles that are not other non-in-picture predicted tiles to one or more tiles of the in-picture-prediction-enabled tile set. In some embodiments, the indication comprises a set of anchor positions for a set of intra block copy motion vectors of a set of dependent tiles in the in-picture-prediction-enabled tile set.

In yet another example embodiment, a computer program product is provided that includes at least one non-transitory computer-readable storage medium having computer executable program code instructions stored therein with the computer executable program code instructions comprising program code instructions configured, upon execution, to receive or encode a bitstream comprising a coded picture, the coded picture comprising one or more tiles. The computer executable program code instructions further include program code instructions configured, upon execution, to identify one or more dependent tiles from the one or more tiles. The one or more dependent tiles are dependent on another dependent tile within a coded picture or form a logical atomic unit with another dependent tile. The computer executable program code instructions further include program code instructions configured, upon execution, to construct an indication of an in-picture-prediction-enabled tile set comprising the one or more dependent tiles. The computer executable program code instructions further include program code instructions configured, upon execution, to cause storage of the bitstream and the indication of the in-picture-prediction-enabled tile set.

In some implementations of such a computer program product, the computer executable program code instructions further include program code instructions configured, upon execution, to encode the indication of the in-picture-prediction-enabled tile set in one or more of: a sequence parameter set associated with the bitstream, a picture parameter set associated with the bitstream, or a supplemental enhancement information message associated with the bitstream. In some embodiments, the indication indicates whether the in-picture-prediction-enabled tile set is a temporal motion-constrained tile set. In some embodiments, the indication comprises a dependency forest or graph that indicates a set of prediction dependencies for one or more tiles that are not other non-in-picture predicted tiles to one or more tiles of the in-picture-prediction-enabled tile set. In some embodiments, the indication comprises a set of anchor positions for a set of intra block copy motion vectors of a set of dependent tiles in the in-picture-prediction-enabled tile set.

In some embodiments, a method, apparatus and computer program product are provided in accordance with an example embodiment in order to decode a coded picture.

In one example embodiment, a method is provided that includes receiving a coded picture comprising one or more slices. The method further includes decoding, from a slice header of a slice of the one or more slices, one or more tile identifiers indicative of one or more tile positions for one or more tiles in the slice. The method further includes decoding slice data of the slice into a decoded picture starting from one or more tile positions for one or more tiles in the slice.

In some implementations of such a method, the method further includes, decoding, from the slice header, a block index relative to a tile of the one or more tiles. The block index comprises a syntax element indicative of a block position for a block within the tile. In some embodiments, one tile identifier of the one or more tile identifiers is indicative of a tile that comprises a pre-defined block of the slice. In some embodiments, the method further includes decoding one or more motion vectors associated with one or more prediction units in one or more coding units in the one or more tiles. The one or more motion vectors apply in one or more anchor locations derived from one or more anchor location identifiers defining a position relative to the one or more tiles indicated by the one or more tile identifiers. In some embodiments, the method further includes decoding one or more assignments of one or more tile identifier values for the one or more tile identifiers tile positions from a parameter set file. In some embodiments, the method further includes decoding the one or more tiles according to a decoding order constraint file associated with the picture. The decoding order constraint file includes a reorder indication indicating whether the one or more tiles are able to be reordered without affecting decodability for the one or more tiles.

In another example embodiment, an apparatus is provided that includes at least one processor and at least one memory including computer program code for one or more programs with the at least one memory and the computer program code configured to, with the at least one processor, cause the apparatus at least to receive a coded picture comprising one or more slices. The computer program code is further configured to, with the at least one processor, cause the apparatus to decode, from a slice header of a slice of the one or more slices, one or more tile identifiers indicative of one or more tile positions for one or more tiles in the slice. The computer program code is further configured to, with the at least one processor, cause the apparatus to decode slice data of the slice into a decoded picture starting from one or more tile positions for one or more tiles in the slice.

In some implementations of such an apparatus, the computer program code is further configured to, with the at least one processor, cause the apparatus to decode, from the slice header, a block index relative to a tile of the one or more tiles. The block index comprises a syntax element indicative of a block position for a block within the tile. In some embodiments, one tile identifier of the one or more tile identifiers is indicative of a tile that comprises a pre-defined block of the slice. In some embodiments, computer program code is further configured to, with the at least one processor, cause the apparatus to decode one or more motion vectors associated with one or more prediction units in one or more coding units in the one or more tiles. The one or more motion vectors apply in one or more anchor locations derived from one or more anchor location identifiers defining a position relative to the one or more tiles indicated by the one or more tile identifiers. In some embodiments, the computer program code is further configured to, with the at least one processor, cause the apparatus to decode one or more assignments of one or more tile identifier values for the one or more tile identifiers tile positions from a parameter set file. In some embodiments, the computer program code is further configured to, with the at least one processor, cause the apparatus to decode the one or more tiles according to a decoding order constraint file associated with the picture. The decoding order constraint file includes a reorder indication indicating whether the one or more tiles are able to be reordered without affecting decodability for the one or more tiles.

In another example embodiment, an apparatus is provided that includes means for receiving a coded picture comprising one or more slices. The apparatus further includes means for decoding, from a slice header of a slice of the one or more slices, one or more tile identifiers indicative of one or more tile positions for one or more tiles in the slice. The apparatus further includes means for decoding slice data of the slice into a decoded picture starting from one or more tile positions for one or more tiles in the slice.

In some implementations of such an apparatus, the apparatus further includes means for, decoding, from the slice header, a block index relative to a tile of the one or more tiles. The block index comprises a syntax element indicative of a block position for a block within the tile. In some embodiments, one tile identifier of the one or more tile identifiers is indicative of a tile that comprises a pre-defined block of the slice. In some embodiments, the apparatus further includes means for decoding one or more motion vectors associated with one or more prediction units in one or more coding units in the one or more tiles. The one or more motion vectors apply in one or more anchor locations derived from one or more anchor location identifiers defining a position relative to the one or more tiles indicated by the one or more tile identifiers. In some embodiments, the apparatus further includes means for decoding one or more assignments of one or more tile identifier values for the one or more tile identifiers tile positions from a parameter set file. In some embodiments, the apparatus further includes means for decoding the one or more tiles according to a decoding order constraint file associated with the picture. The decoding order constraint file includes a reorder indication indicating whether the one or more tiles are able to be reordered without affecting decodability for the one or more tiles.

In another example embodiment, a computer program product is provided that includes at least one non-transitory computer-readable storage medium having computer executable program code instructions stored therein with the computer executable program code instructions comprising program code instructions configured, upon execution, to receive a coded picture comprising one or more slices. The computer executable program code instructions further include program code instructions configured, upon execution, to decode, from a slice header of a slice of the one or more slices, one or more tile identifiers indicative of one or more tile positions for one or more tiles in the slice. The computer executable program code instructions further include program code instructions configured, upon execution, to decode slice data of the slice into a decoded picture starting from one or more tile positions for one or more tiles in the slice.

In some implementations of such a computer program product, the computer executable program code instructions further include program code instructions configured, upon execution, to decode, from the slice header, a block index relative to a tile of the one or more tiles. The block index comprises a syntax element indicative of a block position for a block within the tile. In some embodiments, one tile identifier of the one or more tile identifiers is indicative of a tile that comprises a pre-defined block of the slice. In some embodiments, the computer executable program code instructions further include program code instructions configured, upon execution, to decode one or more motion vectors associated with one or more prediction units in one or more coding units in the one or more tiles. The one or more motion vectors apply in one or more anchor locations derived from one or more anchor location identifiers defining a position relative to the one or more tiles indicated by the one or more tile identifiers. In some embodiments, the computer executable program code instructions further include program code instructions configured, upon execution, to decode one or more assignments of one or more tile identifier values for the one or more tile identifiers tile positions from a parameter set file. In some embodiments, the computer executable program code instructions further include program code instructions configured, upon execution, to decode the one or more tiles according to a decoding order constraint file associated with the picture. The decoding order constraint file includes a reorder indication indicating whether the one or more tiles are able to be reordered without affecting decodability for the one or more tiles.

In some embodiments, a method, apparatus and computer program product are provided in accordance with an example embodiment in order to decode an in-picture-prediction-enabled (IPPE) tile set. In one example embodiment, a method is provided that includes receiving a bitstream comprising a coded picture, the coded picture comprising one or more tiles. The method further includes receiving an indication of an in-picture-prediction-enabled tile set. The in-picture-prediction-enabled tile set identifies one or more dependent tiles from the one or more tiles. The one or more dependent tiles are dependent on another dependent tile within a coded picture or form a logical atomic unit with another dependent tile. The method further includes decoding the bitstream according to the indication of the in-picture-prediction-enabled tile set.

In some implementations of such a method, the indication of the in-picture-prediction-enabled tile set is encoded in one or more of: a sequence parameter set associated with the bitstream, a picture parameter set associated with the bitstream, or a supplemental enhancement information message associated with the bitstream. In some embodiments, the indication indicates whether the in-picture-prediction-enabled tile set is a temporal motion-constrained tile set. In some embodiments, the indication comprises a dependency forest or graph that indicates a set of prediction dependencies for one or more tiles that are not other non-in-picture predicted tiles to one or more tiles of the in-picture-prediction-enabled tile set. In some embodiments, the indication comprises a set of anchor positions for a set of intra block copy motion vectors of a set of dependent tiles in the in-picture-prediction-enabled tile set.

In another example embodiment, an apparatus is provided that includes at least one processor and at least one memory including computer program code for one or more programs with the at least one memory and the computer program code configured to, with the at least one processor, cause the apparatus at least to receive a bitstream comprising a coded picture, the coded picture comprising one or more tiles. The computer program code is configured to, with the at least one processor, cause the apparatus to receive an indication of an in-picture-prediction-enabled tile set. The in-picture-prediction-enabled tile set identifies one or more dependent tiles from the one or more tiles. The one or more dependent tiles are dependent on another dependent tile within a coded picture or form a logical atomic unit with another dependent tile. The computer program code is configured to, with the at least one processor, cause the apparatus to decode the bitstream according to the indication of the in-picture-prediction-enabled tile set.

In some implementations of such an apparatus, the indication of the in-picture-prediction-enabled tile set is encoded in one or more of: a sequence parameter set associated with the bitstream, a picture parameter set associated with the bitstream, or a supplemental enhancement information message associated with the bitstream. In some embodiments, the indication indicates whether the in-picture-prediction-enabled tile set is a temporal motion-constrained tile set. In some embodiments, the indication comprises a dependency forest or graph that indicates a set of prediction dependencies for one or more tiles that are not other non-in-picture predicted tiles to one or more tiles of the in-picture-prediction-enabled tile set. In some embodiments, the indication comprises a set of anchor positions for a set of intra block copy motion vectors of a set of dependent tiles in the in-picture-prediction-enabled tile set.

In another example embodiment, an apparatus is provided that includes means for receiving a bitstream comprising a coded picture, the coded picture comprising one or more tiles. The apparatus further includes means for receiving an indication of an in-picture-prediction-enabled tile set. The in-picture-prediction-enabled tile set identifies one or more dependent tiles from the one or more tiles. The one or more dependent tiles are dependent on another dependent tile within a coded picture or form a logical atomic unit with another dependent tile. The apparatus further includes means for decoding the bitstream according to the indication of the in-picture-prediction-enabled tile set.

In some implementations of such an apparatus, the indication of the in-picture-prediction-enabled tile set is encoded in one or more of: a sequence parameter set associated with the bitstream, a picture parameter set associated with the bitstream, or a supplemental enhancement information message associated with the bitstream. In some embodiments, the indication indicates whether the in-picture-prediction-enabled tile set is a temporal motion-constrained tile set. In some embodiments, the indication comprises a dependency forest or graph that indicates a set of prediction dependencies for one or more tiles that are not other non-in-picture predicted tiles to one or more tiles of the in-picture-prediction-enabled tile set. In some embodiments, the indication comprises a set of anchor positions for a set of intra block copy motion vectors of a set of dependent tiles in the in-picture-prediction-enabled tile set.

In another example embodiment, a computer program product is provided that includes at least one non-transitory computer-readable storage medium having computer executable program code instructions stored therein with the computer executable program code instructions comprising program code instructions configured, upon execution, to receive a bitstream comprising a coded picture, the coded picture comprising one or more tiles. The computer executable program code instructions further include program code instructions configured, upon execution, to receive an indication of an in-picture-prediction-enabled tile set. The in-picture-prediction-enabled tile set identifies one or more dependent tiles from the one or more tiles. The one or more dependent tiles are dependent on another dependent tile within a coded picture or form a logical atomic unit with another dependent tile. The computer executable program code instructions further include program code instructions configured, upon execution, to decode the bitstream according to the indication of the in-picture-prediction-enabled tile set.

In some implementations of such a computer program product, the indication of the in-picture-prediction-enabled tile set is encoded in one or more of: a sequence parameter set associated with the bitstream, a picture parameter set associated with the bitstream, or a supplemental enhancement information message associated with the bitstream. In some embodiments, the indication indicates whether the in-picture-prediction-enabled tile set is a temporal motion-constrained tile set. In some embodiments, the indication comprises a dependency forest or graph that indicates a set of prediction dependencies for one or more tiles that are not other non-in-picture predicted tiles to one or more tiles of the in-picture-prediction-enabled tile set. In some embodiments, the indication comprises a set of anchor positions for a set of intra block copy motion vectors of a set of dependent tiles in the in-picture-prediction-enabled tile set.

