Method and apparatus for intra block copy prediction with sample padding
This disclosure relates generally to video coding and particularly to intra block copy (IBC) padding mode. One method is disclosed for performing an IBC padding. The method includes receiving a coded video bitstream; extracting, from the coded video bitstream, a first syntax element, the first syntax element indicating that an IBC padding is available for a current video block; extracting, from the coded video bitstream, a second syntax element, the second syntax element indicating that the current video block is predicted using the IBC padding; extracting, from the coded video bitstream, at least one syntax element; partitioning the current video block into at least two sub-partitions based on the at least one syntax element, wherein the at least two sub-partitions comprise a padding sub-partition and an IBC sub-partition; predicting the padding sub-partition based on a predefined padding rule; and predicting the IBC sub-partition based on a predefined IBC rule.
1. A method of video decoding, the method comprising:
receiving, by a device comprising a memory storing instructions and a processor in communication with the memory, a current video block in a coded video bitstream;
identifying a reference block for the current video block;
determining whether the reference block has a same size as the current video block;
when the reference block has the same size as the current video block, predicting the current video block using an intra block copy (IBC) with the reference block; and
when the reference block has a different size than the current video block:
partitioning, by the device, the current video block into at least two sub-partitions, wherein the at least two sub-partitions comprise a padding sub-partition in the current video block and an IBC sub-partition in the current video block;
predicting, by the device, the padding sub-partition in the current video block based on a predefined padding rule using a reconstructed sample from a candidate set; and
predicting, by the device, the IBC sub-partition in the current video block based on a predefined IBC rule.
2. The method according to claim 1 , wherein:
the partitioning the current video block into the at least two sub-partitions comprises:
partitioning, based on a first syntax element in the coded video bitstream, the current video block into the at least two sub-partitions with a horizontal split or a vertical split, and
determining, based on a second syntax element in the coded video bitstream, whether the padding sub-partition is a first sub-partition or a second sub-partition of the current video block.
3. The method according to claim 2 , wherein:
a third syntax element indicates a fraction of a size of the padding sub-partition relative to the current video block.
4. The method according to claim 3 , wherein:
the fraction comprises at least one of the following: ¼, ½, or ¾.
5. The method according to claim 1 , wherein the partitioning the current video block into the at least two sub-partitions comprises:
partitioning, based on at least one syntax element in the coded video bitstream, the current video block into the at least two sub-partitions along a defined direction other than a horizontal or vertical direction.
6. The method according to claim 1 , wherein the predicting the padding sub-partition based on the predefined padding rule comprises:
predicting the padding sub-partition based on an already reconstructed neighboring sub-partition.
7. The method according to claim 1 , wherein the predicting the padding sub-partition based on the predefined padding rule comprises:
predicting the padding sub-partition based on an already reconstructed neighboring video block.
8. The method according to claim 1 , further comprising:
extracting, from the coded video bitstream, an index, the index indicating the reconstructed sample in a sample buffer.
9. The method according to claim 8 , wherein:
the sample buffer comprises at least one of a history-based buffer or a spatially-based buffer.
10. The method according to claim 1 , further comprising:
determining an intra-prediction mode for the predefined padding rule; and
wherein the predicting the padding sub-partition based on the predefined padding rule comprises:
padding the padding sub-partition based on the reconstructed sample according to the intra-prediction mode.
11. The method according to claim 10 , wherein:
the intra-prediction mode is determined based on at least one of the following:
being signaled by the coded video bitstream,
being derived from neighboring coded information, or
being selected from at least one pre-defined intra-prediction mode.
12. A computing system, comprising:
control circuitry;
memory; and
one or more sets of instructions stored in the memory and configured for execution by the control circuitry, the one or more sets of instructions comprising instructions for:
receiving a source video sequence comprising a current video block;
identifying a reference block for the current video block;
determining whether the reference block has a same size as the current video block;
when the reference block has the same size as the current video block, encoding the current video block using an intra block copy (IBC) with the reference block; and
when the reference block has a different size than the current video block:
partitioning the current video block into at least two sub-partitions, wherein the at least two sub-partitions comprise a padding sub-partition in the current video block and an IBC sub-partition in the current video block;
encoding the padding sub-partition in the current video block based on a predefined padding rule using a reconstructed sample from a candidate set; and
encoding the IBC sub-partition in the current video block based on a predefined IBC rule.
13. The computing system of claim 12 , wherein encoding the padding sub-partition based on the predefined padding rule comprises predicting the padding sub-partition based on an already reconstructed neighboring sub-partition.
14. The computing system of claim 12 , wherein:
the one or more sets of instructions further comprise instructions for signaling an index indicating the reconstructed sample in a sample buffer.
15. A non-transitory computer-readable storage medium storing one or more sets of instructions configured for execution by a computing device having control circuitry and memory, the one or more sets of instructions comprising instructions for:
obtaining a source video sequence that comprises a plurality of frames; and
performing a conversion between the source video sequence and a video bitstream of visual media data according to a format rule,
wherein the video bitstream comprises a current video block; and
wherein the format rule specifies that:
when a reference block has a same size as the current video block, the current video block is to be decoded using an intra block copy (IBC) with the reference block; and
when the reference block has a different size than the current video block:
the current video block is to be partitioned into at least two sub-partitions, wherein the at least two sub-partitions comprise a padding sub-partition in the current video block and an IBC sub-partition in the current video block;
the padding sub-partition in the current video block is to be predicted based on a predefined padding rule using a reconstructed sample from a candidate set; and
the IBC sub-partition in the current video block is to be predicted based on a predefined IBC rule.
16. The non-transitory computer-readable storage medium of claim 15 , wherein the candidate set is stored in a sample buffer.
17. The non-transitory computer-readable storage medium of claim 15 , wherein the reconstructed sample is from a reconstructed neighboring video block.
18. The non-transitory computer-readable storage medium of claim 15 , wherein the reconstructed sample is from a reconstructed neighboring sub-partition.
19. The non-transitory computer-readable storage medium of claim 15 , wherein the padding sub-partition is to be predicted using the reconstructed sample and an intra-prediction mode.
20. The computing system of claim 12 , wherein the padding sub-partition is encoded using the reconstructed sample and an intra-prediction mode.