EP-4736415-A1 - EXTRAPOLATION FOR INTRA PREDICTION
Abstract
Disclosed herein are systems, methods, and instrumentalities associated with applying extrapolation to intra prediction. A video coding device (e.g., a video encoder or a video decoder) as described herein may obtain a first set of reconstructed samples associated with a current block based on a determination that the current block may be coded (e.g., encoded or decoded) using an intra template matching prediction (IntraTMP) mode or an intra block copy (IBC) mode. The video coding device may be further configured to determine one or more block vectors associated with the current block or a neighboring block of the current block, and obtain a second set of reconstructed samples based on the one or more block vectors. The video coding device may code (e.g., encode or decode) the current block based on the first set of reconstructed samples and the second set of reconstructed samples.
Inventors
- NASER, Karam
- BORDES, PHILIPPE
- GALPIN, FRANCK
- DUMAS, Thierry
Assignees
- InterDigital CE Patent Holdings, SAS
Dates
- Publication Date
- 20260506
- Application Date
- 20240614
Claims (19)
- 1. A video decoding device, comprising: a processor configured to: determine a block vector associated with a first video block or a neighboring video block of the first video block; select a first set of samples from a first reconstructed video block pointed to by the block vector, wherein the first reconstructed video block does not border the first video block; select a second set of samples from a second reconstructed video block that borders the first video block; determine an extrapolation filter based on the first set of samples and the second set of samples; and decode the first video block using the extrapolation filter.
- 2. The video decoding device of claim 1 , wherein the block vector includes an intra template matching (IntraTMP) block vector or an intra block copy (IBC) block vector.
- 3. The video decoding device of claim 2, wherein, on a condition that the neighboring video block is coded in an IntraTMP mode or an IBC mode, the block vector includes an IntraTMP block vector or an IBC block vector associated with the neighboring video block.
- 4. The video decoding device of claim 3, wherein the processor is further configured to receive, from a video bitstream, an indication that the block vector is to be determined based on the neighboring video block.
- 5. The video decoding device of claim 1 , wherein the processor is further configured to receive, from a video bitstream, an indication to select the first set of samples for determining the extrapolation filter based on the block vector.
- 6. The video decoding device of claim 1 , wherein the processor is further configured to predict a reference sample for the first video block based on the first set of samples and the second set of samples.
- 7. The video decoding device of claim 1 , wherein the processor is further configured to select a third set of samples based on a second block vector associated with the first video block or the neighboring video block of the first video block, and determine the extrapolation filter further based on the third set of samples.
- 8. The video decoding device of claim 1 , wherein the processor is configured to: determine a motion vector associated with a second video block that is located in an intercoded video slice; select a third set of samples based on the motion vector; determine a second extrapolation filter based on the third set of samples; and decode the second video block using the second extrapolation filter.
- 9. A video decoding method, comprising: determining a block vector associated with a first video block or a neighboring video block of the first video block; selecting a first set of samples from a first reconstructed video block pointed to by the block vector, wherein the first reconstructed video block does not border the first video block; selecting a second set of samples from a second reconstructed video block that borders the first video block; determining an extrapolation filter based on the first set of samples and the second set of samples; and decoding the first video block using the extrapolation filter.
- 10. The video decoding method of claim 9, wherein the block vector includes an intra template matching (IntraTMP) block vector or an intra block copy (IBC) block vector.
- 11 . The video decoding method of claim 10, wherein, on a condition that the neighboring video block is coded in an IntraTMP mode or an IBC mode, the block vector includes an IntraTMP block vector or an IBC block vector associated with the neighboring video block.
- 12. The video decoding method of claim 11 , further comprising receiving, from a video bitstream, at least one of an indication to select the first set of samples for determining the extrapolation filter based on the block vector, or an indication that the block vector is to be determined based on the neighboring video block.
- 13. The video decoding method of claim 9, further comprising predicting a reference sample for the first video block based on the first set of samples and the second set of samples.
- 14. The video decoding method of claim 9, further comprising: determining a motion vector associated with a second video block that is located in an intercoded video slice; selecting a third set of samples based on the motion vector; determining a second extrapolation filter based on the third set of samples; and decoding the second video block using the second extrapolation filter.
- 15. A video encoding device, comprising: a processor configured to: determine a block vector associated with a current video block or a neighboring video block of the current video block; select a first set of samples from a first reconstructed video block pointed to by the block vector, wherein the first reconstructed video block does not border the current video block; select a second set of samples from a second reconstructed video block that borders the current video block; determine an extrapolation filter based on the first set of samples and the second set of samples; and encode the current video block using the extrapolation filter.
- 16. A video encoding method, comprising: determining a block vector associated with a current video block or a neighboring video block of the current video block; selecting a first set of samples from a first reconstructed video block pointed to by the block vector, wherein the first reconstructed video block does not border the current video block; selecting a second set of samples from a second reconstructed video block that borders the current video block; determining an extrapolation filter based on the first set of samples and the second set of samples; and encoding the current video block using the extrapolation filter.
- 17. A computer program product which is stored on a non-transitory computer readable medium and comprises program code instructions for implementing the steps of a method according to any one of claims 9-14 or claim 16 when executed by a processor.
- 18. A computer program comprising program code instructions for implementing the steps of a method according to any one of claims 9-14 or claim 16 when executed by a processor.
- 19. Video data comprising information representative of a current video block encoded using a method according to claim 16.
Description
EXTRAPOLATION FOR INTRA PREDICTION CROSS-REFERENCE TO RELATED APPLICATIONS [0001] This application claims the benefit of European Patent Application No. 23306090.4, filed June 30, 2023, the disclosure of which is incorporated herein by reference in its entirety. BACKGROUND [0002] Video contents may be compressed, for example, using an intra prediction mode. Systems, methods, and instrumentalities for improving the quality of video compression may be desirable. SUMMARY [0003] Disclosed herein are systems, methods, and instrumentalities associated with coding (e.g., encoding and/or decoding) a video block. A video coding device (e.g., a video encoding device or a video decoding device) as described herein may include a processor that may configured to obtain a first set of reconstructed samples associated with a current block, wherein the current block may be coded (e.g., encoded or decoded) using an intra template matching prediction (IntraTMP) mode or an intra block copy (IBC) mode. The processor of the video coding device may be further configured to determine one or more block vectors associated with the current block or a neighboring block of the current block, obtain a second set of reconstructed samples based on the one or more block vectors, and code (e.g., encode or decode) the current block based on the first set of reconstructed samples and the second set of reconstructed samples. [0004] In examples, the one or more block vectors described herein may be determined based on the neighboring block of the current block on a condition that the neighboring block is coded using the IntraTMP mode or the IBC mode. In examples, the video coding device may be further configured to obtain a third set of reconstructed samples based on a motion vector associated with an inter-coded neighboring block of the current block, wherein the sample of the current block may be predicted further based on the third set of reconstructed samples. [0005] In examples, the video coding device may be configured to learn an extrapolation filter from at least the first set of reconstructed samples or the second set of reconstructed samples, and code (e.g., encode or decode) the current block using the extrapolation filter. [0006] A video decoding device as described herein may include a processor that may be configured to determine a block vector associated with a first video block or a neighboring video block of the first video block. The processor may be further configured to select a first set of samples from a first reconstructed video block pointed to by the block vector, wherein the first reconstructed video block may not border the first video block. The processor may be further configured to select a second set of samples from a second reconstructed video block that may border the first video block. The processor may be further configured to determine an extrapolation filter based on the first set of samples and the second set of samples, and decode the first video block using the extrapolation filter. [0007] In examples, the block vector described herein may include an intra template matching (IntraTMP) block vector or an intra block copy (IBC) block vector. In examples, on a condition that the neighboring video block is coded in an IntraTMP mode or an IBC mode, the block vector may include an IntraTMP block vector or an IBC block vector associated with the neighboring video block. [0008] In examples, the processor of the video decoding device may be further configured to receive, from a video bitstream, an indication that the block vector may be determined based on the neighboring video block. In examples, the processor of the video decoding device may be further configured to receive, from a video bitstream, an indication to select the first set of samples for determining the extrapolation filter based on the block vector. In examples, the processor of the video decoding device may be further configured to predict a reference sample for the first video block based on the first set of samples and the second set of samples. [0009] In examples, the processor of the video decoding device may be further configured to select a third set of samples based on a second block vector associated with the first video block or the neighboring video block of the first video block, and determine the extrapolation filter further based on the third set of samples. [0010] In examples, the processor of the video decoding device of claim 1 may be further configured to determine a motion vector associated with a second video block that is located in an inter-coded video slice, select a third set of samples based on the motion vector, and determine a second extrapolation filter based on the third set of samples. The processor may then decode the second video block using the second extrapolation filter. [0011] A video encoding device as described herein may include a processor configured to determine a block vector associated with a current vi