Methods and apparatuses for decoder-side motion vector refinement in video coding
AssigneeBeijing Dajia Internet Information Technology Co., Ltd.
InventorsYi-Wen Chen, Xiaoyu Xiu, Tsung-Chuan Ma, Xianglin Wang
Life of this patent
Estimating the term…
Abstract
A method for video encoding is provided. The method includes: partitioning, by an encoder, a video frame into multiple blocks; deriving, by the encoder, an initial motion vector (MV) of a current block in the multiple blocks; determining, by the encoder, cost values for the initial MV and each of a plurality of MV candidates; obtaining, by the encoder, updated cost values by decreasing a cost value for the initial MV or increasing cost values for the MV candidates; and deriving, by the encoder a refined MV based on the updated cost values.
Claims19
A method of video encoding, comprising:
- partitioning, by an encoder, a video frame into multiple blocks;
- deriving, by the encoder, an initial motion vector (MV) of a current block in the multiple blocks;
- determining, by the encoder and in a process of decoder-side motion vector refinement (DMVR), cost values for the initial MV and each of a plurality of MV candidates;
- obtaining, by the encoder, an updated cost value for the initial MV by decreasing a cost value for the initial MV, or obtaining, by the encoder, updated cost values for the MV candidates by increasing cost values for the plurality of MV candidates;
- and
- deriving, by the encoder, a refined MV based on the updated cost value for the initial MV or the updated cost values for the MV candidates,
- wherein each MV of the initial MV and the plurality of MV candidates is associated with two reference blocks, wherein a respective cost value of the cost values is determined based on differences between reference samples in one of the two reference blocks and reference samples in the other of the two reference blocks.
An electronic device, comprising:
- one or more processors;
- and
- a memory configured to store instructions executable by the one or more processors;
- wherein the one or more processors, upon execution of the instructions, are configured to:
- derive an initial motion vector (MV) of a current block in multiple blocks;
- determine, in a process of decoder-side motion vector refinement (DMVR), cost values for the initial MV and each of a plurality of MV candidates;
- obtain an updated cost value for the initial MV by decreasing a cost value for the initial MV, or obtain updated cost values for the MV candidates by increasing cost values for the plurality of MV candidates;
- and
- derive a refined MV based on the updated cost value for the initial MV or the updated cost values for the MV candidates,
- wherein each MV of the initial MV and the plurality of MV candidates is associated with two reference blocks, wherein a respective cost value of the cost values is determined based on differences between reference samples in one of the two reference blocks and reference samples in the other of the two reference blocks.
A method of storing a bitstream, comprising:
- generating a bitstream by performing an encoding method;
- and
- storing the bitstream,
- wherein the encoding method comprises:
- partitioning a video frame into multiple blocks;
- deriving an initial motion vector (MV) of a current block in the multiple blocks;
- determining, in a process of decoder-side motion vector refinement (DMVR), cost values for the initial MV and each of a plurality of MV candidates;
- obtaining an updated cost value for the initial MV by decreasing a cost value for the initial MV, or obtaining updated cost values for the MV candidates by increasing cost values for the plurality of MV candidates;
- and
- deriving a refined MV based on the updated cost value for the initial MV or the updated cost values for the MV candidates,
- wherein each MV of the initial MV and the plurality of MV candidates is associated with two reference blocks, wherein a respective cost value of the cost values is determined based on differences between reference samples in one of the two reference blocks and reference samples in the other of the two reference blocks.
Dependencies are inferred from the claim text.