Methods and devices for selectively applying bi-directional optical flow and decoder-side motion vector refinement for video coding
A method for video encoding is provided. The method includes obtaining, by an encoder, a plurality of blocks from a video picture, wherein each of the plurality of blocks is to be encoded by an intra prediction mode or an inter prediction mode; in response to a first pre-defined condition being satisfied, determining, by the encoder, that a current block in the plurality of blocks is eligible for an application of Decoder-side Motion Vector Refinement (DMVR); in response to the current block being eligible for both applications of DMVR and Bi-Directional Optical Flow (BDOF), determining, by the encoder, whether a pre-defined criterion based on mode information of the current block is satisfied; avoiding, by the encoder in response to the pre-defined criterion being satisfied, applying BDOF to a subblock in the current block; and outputting, by the encoder by a bitstream, prediction mode information of the current block.
1 . A method for video decoding, comprising:
determining, in response to a current block being eligible for both applications of Decoder-side Motion Vector Refinement (DMVR) and Bi-Directional Optical Flow (BDOF), whether a pre-defined criterion is satisfied, wherein the pre-defined criterion comprises a sum of absolute differences (SAD) or a sum of squared differences (SSD) between list 0 predicted samples and list 1 predicted samples of the current block is less than a pre-defined threshold number; and
avoiding, in response to the pre-defined criterion being satisfied, applying BDOF to a subblock in the current block;
wherein the current block being eligible for an application of BDOF satisfies pre-defined conditions at least comprising:
the current block uses bi-directional prediction with a forward reference picture and a backward reference picture;
weighted prediction is not enabled;
a size of the current block is not equal to 4×8;
the current block is not coded as symmetric Motion Vector Differences (MVD) mode;
the current block is not coded as sub-block merge mode; and
the current block is not using different weights when averaging the predicted samples from list 0 and list 1.
2 . The method of claim 1 , wherein block size information is used for the pre-defined criterion.
3 . The method of claim 1 , wherein the current block being eligible for an application of DMVR satisfies pre-defined conditions comprising at least one of the followings:
the current block is not coded as affine mode;
the current block is not coded as sub-block merge mode;
a distance between a current picture and a forward reference picture and a distance between the current picture and a backward reference picture are same;
a height of the current block is equal to or greater than 8; or
the current block is not coded as Merge mode with Motion Vector Differences (MMVD) mode.
4 . The method of claim 1 , wherein the pre-defined criterion comprises whether a regular mode is selected for the current block.
5 . The method of claim 1 , wherein the pre-defined criterion comprises whether a coded merge index of the current block possesses a pre-defined mathematical property.
6 . The method of claim 1 , wherein the pre-defined criterion comprises whether a block size of the current block possesses a pre-defined mathematical property.
7 . A computing device, comprising:
one or more processors;
a non-transitory storage coupled to the one or more processors; and
a plurality of programs and a bitstream stored in the non-transitory storage that, when the plurality of programs executed by the one or more processors, cause the computing device to perform acts comprising:
determining, in response to a current block being eligible for both applications of Decoder-side Motion Vector Refinement (DMVR) and Bi-Directional Optical Flow (BDOF), whether a pre-defined criterion is satisfied, wherein the pre-defined criterion comprises a sum of absolute differences (SAD) or a sum of squared differences (SSD) between list 0 predicted samples and list 1 predicted samples of the current block is less than a pre-defined threshold number; and
avoiding, in response to the pre-defined criterion being satisfied, applying BDOF to a subblock in the current block;
wherein the current block being eligible for an application of BDOF satisfies pre-defined conditions at least comprising:
the current block uses bi-directional prediction with a forward reference picture and a backward reference picture;
weighted prediction is not enabled;
a size of the current block is not equal to 4×8;
the current block is not coded as symmetric Motion Vector Differences (MVD) mode;
the current block is not coded as sub-block merge mode; and
the current block is not using different weights when averaging the predicted samples from list 0 and list 1.
8 . The computing device of claim 7 , wherein block size information is used for the pre-defined criterion.
9 . The computing device of claim 7 , wherein the current block being eligible for an application of DMVR satisfies pre-defined conditions comprising at least one of the followings:
the current block is not coded as affine mode;
the current block is not coded as sub-block merge mode;
a distance between a current picture and a forward reference picture and a distance between the current picture and a backward reference picture are same;
a height of the current block is equal to or greater than 8; or
the current block is not coded as Merge mode with Motion Vector Differences (MMVD) mode.
10 . The computing device of claim 7 , wherein the pre-defined criterion comprises whether a regular mode is selected for the current block.
11 . The computing device of claim 7 , wherein the pre-defined criterion comprises whether a coded merge index of the current block possesses a pre-defined mathematical property.
12 . The computing device of claim 7 , wherein the pre-defined criterion comprises whether a block size of the current block possesses a pre-defined mathematical property.
13 . A method for storing a bitstream, comprising:
performing an encoding method to generate a bitstream; and
storing the bitstream,
wherein the encoding method comprises:
determining, in response to a current block being eligible for both applications of Decoder-side Motion Vector Refinement (DMVR) and Bi-Directional Optical Flow (BDOF), whether a pre-defined criterion is satisfied, wherein the pre-defined criterion comprises a sum of absolute differences (SAD) or a sum of squared differences (SSD) between list 0 predicted samples and list 1 predicted samples of the current block is less than a pre-defined threshold number; and
avoiding, in response to the pre-defined criterion being satisfied, applying BDOF to a subblock in the current block;
wherein the current block being eligible for an application of BDOF satisfies pre-defined conditions at least comprising:
the current block uses bi-directional prediction with a forward reference picture and a backward reference picture;
weighted prediction is not enabled;
a size of the current block is not equal to 4×8;
the current block is not coded as symmetric Motion Vector Differences (MVD) mode;
the current block is not coded as sub-block merge mode; and
the current block is not using different weights when averaging the predicted samples from list 0 and list 1.
14 . The method of claim 13 , wherein block size information is used for the pre-defined criterion.
15 . The method of claim 13 , wherein the current block being eligible for an application of DMVR satisfies pre-defined conditions comprising at least one of the followings:
the current block is not coded as affine mode;
the current block is not coded as sub-block merge mode;
a distance between a current picture and a forward reference picture and a distance between the current picture and a backward reference picture are same;
a height of the current block is equal or greater than 8; or
the current block is not coded as Merge mode with Motion Vector Differences (MMVD) mode.
16 . The method of claim 13 , wherein the pre-defined criterion comprises whether a regular mode is selected for the current block.
17 . The method of claim 13 , wherein the pre-defined criterion comprises whether a coded merge index of the current block possesses a pre-defined mathematical property.