MOTION ESTIMATION MOTION ESTIMATION IMPLEMENTATION IN IMPLEMENTATION IN RECONFIGURABLE RECONFIGURABLE
PLATFORMSPLATFORMS
[email protected]@fit.ac.cy
10/12/201010/12/2010 22
OUTLINEOUTLINE
MOTION ESTIMATIONMOTION ESTIMATION
BLOCK MATCHING MOTION ESTIMATIONBLOCK MATCHING MOTION ESTIMATION
EXISTING MOTION ESTIMATION IMPLEMENTATIONSEXISTING MOTION ESTIMATION IMPLEMENTATIONS
10/12/201010/12/2010 33
MOTION ESTIMATION (ME)MOTION ESTIMATION (ME)Video compression kernel Video compression kernel based on high based on high correlationcorrelation between frames in a video between frames in a video sequencesequenceOOperation that estimates the motion peration that estimates the motion vectorsvectors of moving objects inof moving objects in sequencesequenceMost Most computationally complexcomputationally complex and power and power intensive operation in video compressionintensive operation in video compressionObjects can have complex shapes and Objects can have complex shapes and motion (rotation, camera zoom etc.)motion (rotation, camera zoom etc.)Block matchingBlock matching ME is an efficient ME is an efficient approximationapproximation
10/12/201010/12/2010 44
(x,y)
B
B
s s
s
s
BLOCK MATCHING ME
1
0
1
0
),(),(1
),(N
l
M
k
ljykixRlykxCMN
jiMAE
Συντεταγμένες διανύσματος κίνησης: (x + u), (y + v)
Current Frame Reference Frame
(u,v)
10/12/201010/12/2010 55
BLOCK MATCHINGBLOCK MATCHING
ADVANTAGESADVANTAGES– simplesimple– straightforward straightforward – very efficientvery efficient
DISADVANTAGESDISADVANTAGES– Causes block artifactsCauses block artifacts– Can still be computationally intensive for large Can still be computationally intensive for large
frame sizesframe sizes
Efficient search strategy is requiredEfficient search strategy is required
10/12/201010/12/2010 66
SEARCH ALGORITHMS: SEARCH ALGORITHMS: FULL SEARCHFULL SEARCH
Exhaustive (raster Exhaustive (raster scan)scan)
Optimum resultOptimum result
Most Most computationally computationally intensiveintensive
+7
+6
+5
+4
+3
+2
+1
0
-1
-2
-3
-4
-5
-6
-7-7 -6 -5 -4 -3 -2 -1 0 +7+6+5+4+3+2+1
+7
+6
+5
+4
+3
+2
+1
0
-1
-2
-3
-4
-5
-6
-7-7 -6 -5 -4 -3 -2 -1 0 +7+6+5+4+3+2+1
10/12/201010/12/2010 77
SEARCH ALGORITHMS: SEARCH ALGORITHMS: SPIRAL SEARCHSPIRAL SEARCH
+7
+6
+5
+4
+3
+2
+1
0
-1
-2
-3
-4
-5
-6
-7-7 -6 -5 -4 -3 -2 -1 0 +7+6+5+4+3+2+1
•Spiral scan with early termination•Worst case equal to FS•Can be trapped in a local minimum
10/12/201010/12/2010 88
SEARCH ALGORITHMS: SEARCH ALGORITHMS: THREE STEP SEARCHTHREE STEP SEARCH
+7
+6
+5
+4
+3
+2
+1
0
-1
-2
-3
-4
-5
-6
-7-7 -6 -5 -4 -3 -2 -1 0 +7+6+5+4+3+2+1
+7
+6
+5
+4
+3
+2
+1
0
-1
-2
-3
-4
-5
-6
-7-7 -6 -5 -4 -3 -2 -1 0 +7+6+5+4+3+2+1
+7
+6
+5
+4
+3
+2
+1
0
-1
-2
-3
-4
-5
-6
-7-7 -6 -5 -4 -3 -2 -1 0 +7+6+5+4+3+2+1
•A search algorithm based on a coarse original search using 9 points
•The search is refined in two subsequent searches around the best match found in each step
•Total number of search points: 9 + 2x18 = 25
•Can be trapped in a local minimum
10/12/201010/12/2010 99
MATCHING CRITERIONMATCHING CRITERION
Second most important implementation Second most important implementation factor after the search strategyfactor after the search strategy
Must be as computationally simple as Must be as computationally simple as possible yet provide accurate evaluation of possible yet provide accurate evaluation of candidate blockcandidate block
10/12/201010/12/2010 1010
POSSIBLE SEARCH CRITERIAPOSSIBLE SEARCH CRITERIA
Mean Absolute ErrorMean Absolute Error
Mean Square ErrorMean Square Error
Sum of Square DifferencesSum of Square Differences
Sum of Absolute DifferencesSum of Absolute Differences