Motion estimation approach for real-time embedded multimedia design
First Claim
1. A method for performing motion estimation, comprising:
- (a) selecting a current block in a current frame;
(b) obtaining motion vectors and residual data of a plurality of neighboring blocks adjacent to the current block;
(c) setting a predetermined threshold value according to the residual data of the plurality of neighboring blocks;
(d) comparing the current block with an initial reference block in a reference frame to obtain an initial comparison result, and comparing the predetermined threshold value with the initial comparison result;
(e) determining a predicted motion vector of the current block according to the motion vectors of the plurality of neighboring blocks if the initial comparison result is larger than the predetermined threshold value;
(f) performing a block-matching operation in a search window corresponding to the predicted motion vector to determine a best-match reference block in the search window;
wherein the predetermined threshold value is represented as;
α
n=(2×
LEFTSAD+2×
TOPSAD+TOP-RIGHTSAD+TOP-LEFTSAD+ε
)/6;
where LEFTSAD is residual data of a left neighboring block of the current block, TOPSAD is residual data of an upper neighboring block of the current block. TOP-RIGHTSAD is residual data of an upper-right neighboring block of the current block, TOP-LEFTSAD is residual data of an upper-left neighboring block of the current block, and ε
is a constant factor.
1 Assignment
0 Petitions
Accused Products
Abstract
A method for performing motion estimation is provided. The method includes the following steps: selecting a current block in a current frame; obtaining motion vectors and residual data of a plurality of neighboring blocks adjacent to the current block; setting a predetermined threshold value according to the residual data of the plurality of neighboring blocks; comparing the current block with an initial reference block in a reference frame to obtain an initial comparison result, and comparing the predetermined threshold value with the initial comparison result; determining a predicted motion vector of the current block according to the motion vectors of the plurality of neighboring blocks if the initial comparison result is larger than the predetermined threshold value; and performing a block-matching operation in a search window corresponding to the predicted motion vector to determine a corresponding reference block which best matches the current block.
-
Citations
15 Claims
-
1. A method for performing motion estimation, comprising:
-
(a) selecting a current block in a current frame; (b) obtaining motion vectors and residual data of a plurality of neighboring blocks adjacent to the current block; (c) setting a predetermined threshold value according to the residual data of the plurality of neighboring blocks; (d) comparing the current block with an initial reference block in a reference frame to obtain an initial comparison result, and comparing the predetermined threshold value with the initial comparison result; (e) determining a predicted motion vector of the current block according to the motion vectors of the plurality of neighboring blocks if the initial comparison result is larger than the predetermined threshold value; (f) performing a block-matching operation in a search window corresponding to the predicted motion vector to determine a best-match reference block in the search window; wherein the predetermined threshold value is represented as; α
n=(2×
LEFTSAD+2×
TOPSAD+TOP-RIGHTSAD+TOP-LEFTSAD+ε
)/6;where LEFTSAD is residual data of a left neighboring block of the current block, TOPSAD is residual data of an upper neighboring block of the current block. TOP-RIGHTSAD is residual data of an upper-right neighboring block of the current block, TOP-LEFTSAD is residual data of an upper-left neighboring block of the current block, and ε
is a constant factor. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A method for performing motion estimation, comprising:
-
(a) selecting a current block in a current frame; (b) obtaining motion vectors and residual data of a plurality of neighboring blocks adjacent to the current block; (c) setting a predetermined threshold value according to the residual data of the plurality of neighboring blocks; (d) comparing the current block with an initial reference block in a reference frame to obtain an initial comparison result, and comparing the predetermined threshold value with the initial comparison result; (e) determining a predicted motion vector of the current block according to the motion vectors of the plurality of neighboring blocks if the initial comparison result is larger than the predetermined threshold value; (f) performing a block-matching operation in a search window corresponding to the predicted motion vector to determine a best-match reference block in the search window; and wherein the predicted motion vector of the current block is represented as;
MV =½
(−
MV1 +MV3 +2MV4);where MV1 is a motion vector of an upper-left neighboring block of the current block, MV3 is a motion vector of an upper-right neighboring block of the current block, and MV4 is a motion vector of a left neighboring block of the current block. - View Dependent Claims (10, 11, 12, 13, 14, 15)
-
Specification