Back to results
US 11,638,031 B2Granted
Motion compensation method and module, chip, electronic device and storage media
AssigneeAmlogic (Shanghai) Co., Ltd.
InventorsTao Ji, Zhihong He, Chun Wang, Dongjian Wang, Xuyun Chen
Life of this patent
Estimating the term…
Abstract
The present disclosure relates to a motion compensation method and module, a chip, an electronic device, and a storage medium, to improve the problem of haloes easily appearing on the edges of moving objects.
Claims17
A motion compensation method, comprising:
- determining whether a current block is located at a junction of a foreground and a background;
- in response to a determination that the current block is located at the junction of the foreground and the background, marking the current block as a target block, a motion vector of the target block being a basic motion vector;
- obtaining a first set of motion vectors based on differences between motion vectors of a first central block of the target block pointing to a previous frame within a search range and the basic motion vector;
- obtaining a second set of motion vectors based on differences between motion vectors of a second central block of the target block pointing to a current frame within a search range and the basic motion vector;
- clustering the first set of motion vectors and the second set of motion vectors to obtain an additional motion vector of the target block;
- obtaining a pixel value of the target block based on the basic motion vector and the additional motion vector;
- wherein obtaining the first set of motion vectors comprises:
- taking a block in the previous frame which basic motion vector of the target block points to as the first central block;
- obtaining motion vectors of a plurality of first surrounding blocks of the first central block within the search range;
- determining whether differences between the motion vectors of the plurality of the first surrounding blocks and the basic motion vector are greater than a first predetermined threshold;
- in response to a determination that a difference between a motion vector of one of the plurality of the first surrounding blocks and the basic motion vector is greater than a first predetermined threshold, classifying the motion vector of the one of the plurality of the first surrounding blocks into the first set of motion vectors;
- and
- obtaining the second set of motion vectors comprises:
- defining a block in the current frame which basic motion vector of the target block points to as the second central block;
- obtaining motion vectors of a plurality of second surrounding blocks of the second central block within the search range;
- determining whether differences between the motion vectors of the plurality of the second surrounding blocks and the basic motion vector are greater than a first predetermined threshold;
- and
- in response to a determination that a difference between a motion vector of one of the plurality of the second surrounding blocks and the basic motion vector is greater than a first predetermined threshold, classifying the motion vector of the one of the plurality of the second surrounding blocks into the second set of motion vectors.
15 more elements
A chip, comprising a motion compensation module, the motion compensation module comprising:
- a judgment unit, configured to determine whether a current block is located at a junction of a foreground and a background;
- an extraction unit, configured to mark the current block as a target block, a motion vector of the target block being a basic motion vector, in response to a determination that the current block is located at the junction of the foreground and the background;
- a calculation unit, configured to:
- (i) obtain a first set of motion vectors based on differences between motion vectors of a first central block of the target block pointing to a previous frame within a search range and the basic motion vector;
- and
- (ii) obtain a second set of motion vectors based on differences between motion vectors of a second central block of the target block pointing to a current frame within a search range and the basic motion vector;
- a clustering unit, configured to cluster the first set of motion vectors and the second set of motion vectors to obtain an additional motion vector of the target block;
- and
- an interpolation unit, configured to obtain a pixel value of the target block based on the basic motion vector and the additional motion vector;
- wherein the calculation unit further comprises:
- a valuation cell, configured to take a block in the previous frame which basic motion vector of the target block points to as the first central block;
- and obtain motion vectors of a plurality of first surrounding blocks of the first central block within the search range;
- and configure to define a block in the current frame which basic motion vector of the target block points to as the second central block;
- and obtain motion vectors of a plurality of second surrounding blocks of the second central block within the search range;
- a comparison cell, configured to determine whether differences between the motion vectors of the plurality of the second surrounding blocks and the basic motion vector are greater than a first predetermined threshold;
- and
- a counting cell, configured to classify the motion vector of the one of the plurality of the first surrounding blocks into the first set of motion vectors in response to a determination that a difference between a motion vector of one of the plurality of the first surrounding blocks and the basic motion vector is greater than a first predetermined threshold, and configured to classify the motion vector of the one of the plurality of the second surrounding blocks into the second set of motion vectors in response to a determination that a difference between a motion vector of one of the plurality of the second surrounding blocks and the basic motion vector is greater than a first predetermined threshold.
14 more elements
Dependencies are inferred from the claim text.