Method and apparatus for motion vector refinement
AssigneeAlibaba Group Holding Limited
InventorsJie Chen, Ru-Ling Liao, Yan Ye
Life of this patent
Estimating the term…
Abstract
The present disclosure provides a method and an apparatus for motion vector refinement. An exemplary method includes: determining a plurality of first blocks associated with a first motion vector and a plurality of second blocks associated with a second motion vector; determining a sum of absolute transformed difference (SATD) between one of the plurality of first blocks and one of the plurality of second blocks; and refining the first motion vector and the second motion vector based on the determined SATDs.
Claims14
A computer-implemented method comprising:
- determining a first motion vector and a second motion vector, wherein the first motion vector and the second motion vector are associated with a target block;
- determining a first set of predicted blocks based on the first motion vector, and determining a second set of predicted blocks based on the second motion vector;
- determining a sum of absolute transformed difference (SATD) between one of the first set of predicted blocks and one of the second set of predicted blocks, wherein determining the SATD comprises:
- generating a difference block between one of the first set of predicted blocks and one of the second set of predicted blocks;
- splitting the difference block into a plurality of difference sub-blocks;
- performing a first transform on the plurality of difference sub-blocks, to generate one or more transformed coefficients for each of the plurality of difference sub-blocks;
- selecting a direct current (DC) coefficient from the one or more transformed coefficients of each of the plurality of difference sub-blocks to form a selected block;
- performing a second transform on the selected block;
- placing elements in the transformed selected block back to the plurality of difference sub-blocks;
- and
- determining a sum of absolute values of coefficients of the plurality of difference sub-blocks, as the SATD associated with the one of the first set of predicted blocks and the one of the second set of predicted blocks;
- and
- refining the first motion vector and the second motion vector based on the determined SATDs.
An apparatus, comprising:
- a memory configured to store instructions;
- and
- a processor coupled to the memory and configured to execute the instructions to cause the apparatus to:
- determine a first motion vector and a second motion vector, wherein the first motion vector and the second motion vector are associated with a target block;
- determine a first set of predicted blocks based on the first motion vector, and determine a second set of predicted blocks based on the second motion vector;
- determine a sum of absolute transformed difference (SATD) between one of the first set of predicted blocks and one of the second set of predicted blocks, wherein in determining the SATD, the processor is configured to execute the instructions to cause the apparatus to:
- generate a difference block between one of the first set of predicted blocks and one of the second set of predicted blocks;
- split the difference block into a plurality of difference sub-blocks;
- perform a first transform on the plurality of difference sub-blocks, to generate one or more transformed coefficients for each of the plurality of difference sub-blocks;
- select a direct current (DC) coefficient from the one or more transformed coefficients of each of the plurality of difference sub-blocks to form a selected block:
- perform a second transform on the selected block;
- place elements in the transformed selected block back to the plurality of difference sub-blocks;
- and
- determine a sum of absolute values of coefficients of the plurality of difference sub-blocks, as the SATD associated with the one of the first set of predicted blocks and the one of the second set of predicted blocks;
- and
- refine the first motion vector and the second motion vector based on the determined SATDs.
A non-transitory computer-readable storage medium storing a set of instructions that are executable by one or more processors of a device, wherein the execution of the set of instructions causes the device to perform:
- determining a first motion vector and a second motion vector, wherein the first motion vector and the second motion vector are associated with a target block;
- determining a first set of predicted blocks based on the first motion vector, and determining a second set of predicted blocks based on the second motion vector;
- determining a sum of absolute transformed difference (SATD) between one of the first set of predicted blocks and one of the second set of predicted blocks, wherein determining the SATD comprises:
- generating a difference block between one of the first set of predicted blocks and one of the second set of predicted blocks;
- splitting the difference block into a plurality of difference sub-blocks;
- performing a first transform on the plurality of difference sub-blocks, to generate one or more transformed coefficients for each of the plurality of difference sub-blocks;
- selecting a direct current (DC) coefficient from the one or more transformed coefficients of each of the plurality of difference sub-blocks to form a selected block;
- performing a second transform on the selected block;
- placing elements in the transformed selected block back to the plurality of difference sub-blocks;
- and
- determining a sum of absolute values of coefficients of the plurality of difference sub-blocks, as the SATD associated with the one of the first set of predicted blocks and the one of the second set of predicted blocks;
- and
- refining the first motion vector and the second motion vector based on the determined SATDs..
Dependencies are inferred from the claim text.