Signaling flags of intra block copy and prediction mode
A method of video encoding includes determining whether a current block in a picture satisfies a size requirement. When the current block is determined to satisfy the size requirement, the method includes predicting an intra block copy (IBC) prediction mode usage flag of the current block based on a type of a tile group or a slice to which the current block belongs, determining an IBC prediction mode that is separate from an inter prediction mode and an intra prediction mode based on the inferred IBC prediction mode usage flag, determining a block vector indicating a reference area in the picture when the IBC prediction mode is determined, and encoding the current block based on reference samples in the reference area in the picture.
1 . A method of video encoding, the method comprising:
determining whether an intra block copy (IBC) prediction mode is enabled for a current block in a picture;
determining usage of the IBC prediction mode for the current block based on (i) whether the IBC prediction mode is enabled and (ii) a type of a tile group or a slice to which the current block belongs, wherein when the type of the tile group or the slice is an I type and the current block satisfies a size constraint, the usage of the IBC prediction mode is according to whether the IBC prediction mode is enabled, and when the type of the tile group or the slice is a B or P type, the IBC prediction mode is not used;
determining a prediction mode for the current block based at least on the usage of the IBC prediction mode, wherein the prediction mode is one of an inter prediction mode, an intra prediction mode, and the IBC prediction mode that is separate from the inter prediction mode and the intra prediction mode;
determining a block vector that points to a reference area in the picture when the prediction mode is determined as the IBC prediction mode;
encoding, in a video bitstream, the current block based on reference samples in the reference area in the picture; and
encoding, in the video bitstream, an IBC enable flag indicating whether the IBC prediction mode is enabled.
2 . The method of claim 1 , wherein the IBC enable flag is a parameter of at least one of a video level, a sequence level, a picture level, and a tile group or slice level.
3 . The method of claim 1 , further comprising:
determining a prediction mode flag based on a skip flag and the type of the tile group or the slice to which the current block belongs; and
encoding the prediction mode flag in the encoded video bitstream.
4 . A method of video decoding, the method comprising:
decoding prediction information of a current block in a picture from a coded video bitstream;
retrieving, from the decoded prediction information, an intra block copy (IBC) enable flag;
determining whether an IBC prediction mode usage flag for the current block is present in the decoded prediction information; and
when the IBC prediction mode usage flag for the current block is determined not to be present,
determining the IBC prediction mode usage flag for the current block based on (i) the IBC enable flag and (ii) a type of a tile group or a slice to which the current block belongs, wherein when the type of the tile group or the slice is an I type and the current block satisfies a size constraint, a value of the IBC prediction mode usage flag is determined according to the IBC enable flag, and when the type of the tile group or the slice is a B or P type, the IBC prediction mode usage flag is determined to be 0;
determining a prediction mode for the current block based at least on the IBC prediction mode usage flag, wherein the prediction mode is one of an inter prediction mode, an intra prediction mode, and an IBC prediction mode that is separate from the inter prediction mode and the intra prediction mode;
determining a block vector that points to a reference area in the picture when the prediction mode is determined as the IBC prediction mode; and
reconstructing the current block based on reference samples in the reference area in the picture.
5 . The method of claim 4 , wherein the IBC enable flag is a parameter of at least one of a video level, a sequence level, a picture level, and a tile group or slice level.
6 . The method of claim 4 , further comprising:
decoding, from the coded video bitstream, a prediction mode flag; and
determining the prediction mode flag based on a skip flag and the type of the tile group or the slice to which the current block belongs.
7 . The method of claim 4 , further comprising:
determining, based on the decoded prediction information, a prediction mode flag, and the IBC prediction mode usage flag; and
selecting the prediction mode from the IBC prediction mode, the intra prediction mode and the inter prediction mode based on a combination of the prediction mode flag and the IBC prediction mode usage flag.
8 . A non-transitory computer-readable storage medium storing instructions which when executed by a processor cause the processor to perform a method encoding a video bitstream comprising:
determining whether an intra block copy (IBC) prediction mode is enabled for a current block in a picture;
determining usage of the IBC prediction mode for the current block based on (i) whether the IBC prediction mode is enabled and (ii) a type of a tile group or a slice to which the current block belongs, wherein when the type of the tile group or the slice is an I type and the current block satisfies a size constraint, the usage of the IBC prediction mode is according to whether the IBC prediction mode is enabled, and when the type of the tile group or the slice is a B or P type, the IBC prediction mode is not used;
determining a prediction mode for the current block based at least on the usage of the IBC prediction mode, wherein the prediction mode is one of an inter prediction mode, an intra prediction mode, and an IBC prediction mode that is separate from the inter prediction mode and the intra prediction mode;
determining a block vector that points to a reference area in the picture when the prediction mode is determined as the IBC prediction mode;
encoding, in the video bitstream, the current block based on reference samples in the reference area in the picture;
encoding, in the video bitstream, an IBC enable flag indicating whether the IBC prediction mode is enabled; and
transmitting the video bitstream.
9 . The method of claim 4 , wherein when the IBC enable flag indicates that the IBC prediction mode is enabled, the type of the tile group or the slice is the I type, and the current block satisfies the size constraint, the IBC prediction mode usage flag is determined to indicate the IBC prediction mode.