Method and system for selectively breaking prediction in video coding
Described are techniques in video coding and/or decoding that allow for selectively breaking prediction and/or in loop filtering across segment boundaries between different segments of a video picture. A high layer syntax element, such as a parameter set or a slice header, may contain one or more indications signalling to an encoder and/or decoder whether an associated prediction or loop filtering tool may be applied across the segment boundary. In response to such one or more indications, the encoder and/or decoder may then control the prediction or loop filtering tool accordingly.
1. A decoder, comprising:
one or more processors; and
a storage medium storing instructions that, when executed, cause the one or more processors to perform operations comprising:
obtaining a coded video picture including a first slice and a second slice that are divided by at least one slice boundary and a first tile and a second tile that are divided by a tile boundary, wherein the first tile and the second tile do not have tile headers;
obtaining, from the coded video picture, a parameter set including a first flag for controlling a deblocking filter operation across the tile boundary;
determining that the first flag indicates an application of the deblocking filter operation across the tile boundary; and
in response to determining that the first flag indicates the application of the deblocking filter operation across the tile boundary, applying the deblocking filter operation across the tile boundary;
obtaining, from the coded video picture, a slice header including a second flag for controlling a deblocking filter operation across the at least one slice boundary;
determining that the second flag indicates an application of the deblocking filter operation across the at least one slice boundary; and
in response to determining that the second flag indicates the application of the deblocking filter operation across the at least one slice boundary, applying the deblocking filter operation across the at least one slice boundary,
wherein applying a deblocking filter operation across a boundary comprises:
deriving a boundary strength of the boundary based on a prediction mode of a block, values of transform coefficients of the block, and a motion vector of the block, and
filtering the boundary based on the derived boundary strength, and
wherein deblocking filter operations are performed separately for luma and chroma components.
2. The decoder of claim 1 , wherein at least the first slice is divided by the tile boundary to belong to the first tile and the second tile.
3. The decoder of claim 1 , wherein the second slice is spatially encompassed within a single tile of the coded video picture.
4. The decoder of claim 1 , wherein the slice header is associated with the first slice and a different slice header is associated with the second slice.
5. The decoder of claim 1 , wherein the parameter set is a picture parameter set.
6. The decoder of claim 1 , wherein the parameter set is a sequence parameter set.
7. A method for decoding by a decoder a coded video picture, the method comprising:
obtaining a coded video picture including a first slice and a second slice that are divided by at least one slice boundary and a first tile and a second tile that are divided by a tile boundary, wherein the first tile and the second tile do not have tile headers;
obtaining, from the coded video picture, a parameter set including a first flag for controlling a deblocking filter operation across the tile boundary;
determining that the first flag indicates an application of the deblocking filter operation across the tile boundary; and
in response to determining that the first flag indicates the application of the deblocking filter operation across the tile boundary, applying the deblocking filter operation across the tile boundary;
obtaining, from the coded video picture, a slice header including a second flag for controlling a deblocking filter operation across the at least one slice boundary;
determining that the second flag indicates an application of the deblocking filter operation across the at least one slice boundary; and
in response to determining that the second flag indicates the application of the deblocking filter operation across the at least one slice boundary, applying the deblocking filter operation across the at least one slice boundary, wherein applying a deblocking filter operation across a boundary comprises:
deriving a boundary strength of the boundary based on a prediction mode of a block, values of transform coefficients of the block, and a motion vector of the block, and
filtering the boundary based on the derived boundary strength, and
wherein deblocking filter operations are performed separately for luma and chroma components.
8. The method of claim 7 , wherein at least the first slice is divided by the tile boundary to belong to the first tile and the second tile.
9. The method of claim 7 , wherein the second slice is spatially encompassed within a single tile of the coded video picture.
10. The method of claim 7 , wherein the slice header is associated with the first slice and a different slice header is associated with the second slice.
11. The method of claim 7 , wherein the parameter set is a picture parameter set.
12. The method of claim 7 , wherein the parameter set is a sequence parameter set.
13. A non-transitory computer-readable medium having instructions stored thereon that, when executed by one or more processors, cause the one or more processors to perform operations comprising:
obtaining a coded video picture including a first slice and a second slice that are divided by at least one slice boundary and a first tile and a second tile that are divided by a tile boundary, wherein the first tile and the second tile do not have tile headers;
obtaining, from the coded video picture, a parameter set including a first flag for controlling a deblocking filter operation across the tile boundary;
determining that the first flag indicates an application of the deblocking filter operation across the tile boundary; and
in response to determining that the first flag indicates the application of the deblocking filter operation across the tile boundary, applying the deblocking filter operation across the tile boundary;
obtaining, from the coded video picture, a slice header including a second flag for controlling a deblocking filter operation across the at least one slice boundary;
determining that the second flag indicates an application of the deblocking filter operation across the at least one slice boundary; and
in response to determining that the second flag indicates the application of the deblocking filter operation across the at least one slice boundary, applying the deblocking filter operation across the at least one slice boundary; wherein applying a deblocking filter operation across a boundary comprises:
deriving a boundary strength of the boundary based on a prediction mode of a block, values of transform coefficients of the block, and a motion vector of the block, and
filtering the boundary based on the derived boundary strength, and
wherein deblocking filter operations are performed separately for luma and chroma components.
14. The computer-readable medium of claim 13 , wherein at least the first slice is divided by the tile boundary to belong to the first tile and the second tile.
15. The computer-readable medium of claim 13 , wherein the second slice is spatially encompassed within a single tile of the coded video picture.
16. The computer-readable medium of claim 13 , wherein the slice header is associated with the first slice and a different slice header is associated with the second slice.
17. The computer-readable medium of claim 13 , wherein the parameter set is a picture parameter set.
18. The computer-readable medium of claim 13 , wherein the parameter set is a sequence parameter set.