Search Range Adjustment and Motion Vector Prediction for Fast
Motion Estimation
Using Neighbouring Motion Vectors and Distortions for Adjustment of a Search
Range and a Starting Point
Do-Kyung Lee and Je-Chang Jeong
Department of Electronics and Computer Engineering, Hanyang University, Seoul, Korea
Keywords: Fast Motion Estimation, Search Range Adjustment, Motion Vector Prediction, Partial Distortion Search,
Block Matching Algorithm.
Abstract: The block matching algorithm has been widely used for motion estimation, but it suffers from heavy
computational complexity. Many researchers in video processing area have proposed fast motion estimation
algorithms by adopting various ways to reduce its complexity. In this paper, we introduce a conventional
method controlling a search range and defining a new starting point, and also discuss our proposed method
which supplements previous work by using neighbouring block’s motion vectors and distortions.
Consequently, we obtained remarkable performance about 80 times faster than full search and 2.6 times
faster than conventional algorithm with small video quality improvement in terms of PSNR. Therefore, the
proposed method can be applied for real-time video processing applications.
1 INTRODUCTION
Motion Estimation (ME) and Motion Compensation
(MC) are important parts for video coding standards,
such as MPEG-1/2/3, H.261/263/264 and HEVC.
The purpose of ME and MC is to remove temporal
redundancy between successive frames in video
sequences. The most popular method of ME
algorithms is the Block Matching Algorithm (BMA)
which is utilized by many video coding standards.
BMA divides frames up into rectangular blocks and
match up with other blocks in reference frames.
BMAs are the most effective way because it has
very simple structure and also convenient to
implement. They find the optimal motion vector
from the minimum distortion value in terms of Sum
of Absolute Difference (SAD), sum of squared
difference (SSD), and Mean Squared Error (MSE).
The Full Search (FS) is the most straightforward
BMA; it calculates distortions and finds an optimal
motion vector between the current block and all
possible locations in pre-defined search window.
However, FS suffers from computational complexity
and it is heavy burden to implement real-time video
processing. Therefore, many fast motion estimation
(FME) algorithms to reduce complexity of FS have
been proposed for last few decades without peak-to-
noise ratio (PSNR) loss. For example, Three-Step
Search (TSS), Four-Step Search (FSS), Hexagonal
Search (HS), and Enhanced Hexagonal Search
(EHS) are taken the coarse search using geometric
search patterns that evaluates only few points in the
search window. Successive Elimination Algorithm
(SEA), Multilevel Successive Elimination Algorithm
(MSEA), Normalized Partial Distortion Search
(NPDS), Adjustable Partial Distortion Search
(APDS) and Search Range Adjustment and
Matching Point Decimation (SRAMPD) are also
proposed for FME.
In this paper, we briefly review about SRAMPD
in Section 2, SRAMPD predicts motion vector and
improves search speed by reducing search widow
size. Proposed methods that compensate defects of
SRAMPD are introduced in Section 3. Experimental
results compared with other algorithm are illustrated
in Section 4. Finally, we conclude our method with
some discussions in Section 5.
2 CONVENTIONAL METHOD
In this Section, we introduce a search range
130
Lee D. and Jeong J..
Search Range Adjustment and Motion Vector Prediction for Fast Motion Estimation - Using Neighbouring Motion Vectors and Distortions for Adjustment
of a Search Range and a Starting Point.
DOI: 10.5220/0004066001300133
In Proceedings of the International Conference on Signal Processing and Multimedia Applications and Wireless Information Networks and Systems
(SIGMAP-2012), pages 130-133
ISBN: 978-989-8565-25-9
Copyright
c
2012 SCITEPRESS (Science and Technology Publications, Lda.)
adjustment method in SRAMPD since it is a basic
idea of proposed algorithm. For reducing the search
range without noticeable video quality loss,
SRAMPD proposed a starting point decision and an
adaptive search range adjustment using a spatial
correlation between adjacently located motion
vectors. Since we cannot obtain the motion vector of
the current block until ME of the current block is
accomplished, SRAMPD firstly predict the motion
vector (mv
p
) by applying median function to
neighbouring motion vectors (left, upper and upper
left) as follows,
(, , ).
pluul
median=mv mv mv mv
(1)
For an adaptive search range, SRAMPD calculates
SAD(mv
p
) of new starting point which is located at
mv
p
and also evaluates SADs of its neighbouring
blocks which are located left, upper and upper left
position relative to new starting point is collected in
C = [SAD(mv
p
) SAD
l
SAD
u
SAD
ul
], respectively.
Finally, a search range is determined by,
max(
max 0, min , .
SAD
R
D R round
T
⎛⎞
⎛⎞
⎛⎞
=
⎜⎟
⎜⎟
⎜⎟
⎜⎟
⎜⎟
⎝⎠
⎝⎠
⎝⎠
C)
(2)
The function round( ) gives the nearest integer value
of input data, R is a maximum value of given search
range and T
SAD
is a threshold value which is set to 8
to control search range. Also, R·max(C) is
normalized by pixel numbers in the block.
3 PROPOSED ALGORITHM
3.1 Motion Vector Prediction
SRAMPD use the median function for prediction but
it cannot get accurate motion vector because
neighbouring motion vectors are not always reliable
and there are many outliers in the motion vector
field. These error vectors can be propagated spatially
and it leads video quality degradation, as well. If we
find the correct starting point ideally, ME is not
necessary because the predicted motion vector will
be a final motion vector. For this reason, we
proposed a more accurate motion vector prediction
method using distortion values corresponded to
neighbouring motion vectors.
First, collect SADs include zero vector and
neighbouring MVs like, S = [SAD(mv
z
) SAD(mv
l
),
SAD(mv
u
), SAD(mv
co
)] and evaluate a motion
vector of the minimum SAD of S as:
_
arg min( ),
pnew
=
mv
mv S
(3)
mv
z
means the zero vector and mv
ur
is the motion
vector of the block located upper right position
relative to current block. mv
co
is the co-located
motion vector in the reference frame and it can be
substituted for mv
ur
when the previous motion
vector field is not exist.
Additionally, we consider the consistency of the
reference motion vectors. If two motion vectors have
same magnitude and direction, proposed method
considers the other motion vector as unreliable
motion vector. This motion vector is skipped when
proposed algorithm is calculating the predicted
motion vector.
D_mv
P_mv
F_mv
Figure 1: The description of P_mv, D_mv and F_mv.
Figure 1 shows the relationship of motion
vectors resulted by motion vector prediction and
motion estimation. P_mv is the predicted motion
vector, F_mv is the final motion vector and we
define the difference motion vector that is D_mv
which is the result of ME for measuring the accuracy
of prediction methods.
Table 1: The Comparison about the average length (pixels)
of D_mv.
Sequence SRAMPD Proposed
Akiyo 0.03 0.01
Coastguard 0.29 0.04
Container 0.16 0.03
Flower 0.61 0.13
Foreman 1.25 0.43
Mobile 0.39 0.05
Stefan 2.08 0.30
Mother 0.98 0.28
Table 0.80 0.18
Average 0.73 0.16
Table 1 presents the accuracy of motion vector
prediction method in SRAMPD and proposed
algorithm. The prediction accuracy is significantly
increased since the average length of D_mv is
decreased about 4.6 times. It means the predicted
motion vector is more similar to the final motion
vector. Therefore, the search range can be reduced
more than conventional method for speed-up
improvement.
SearchRangeAdjustmentandMotionVectorPredictionforFastMotionEstimation-UsingNeighbouringMotionVectors
andDistortionsforAdjustmentofaSearchRangeandaStartingPoint
131
Table 2: The results of reference methods and proposed algorithm in terms of time per frame and PSNR.
FS NPDS APDS SRAMPD Proposed
Sequences Time PSNR Time PSNR Time PSNR Time PSNR Time PSNR
Akiyo 0.401 42.34 0.039 42.23 0.019 42.32 0.012 42.32 0.0030 42.32
Coastguard 0.413 30.43 0.045 30.32 0.029 30.44 0.013 30.42 0.0053 30.43
Container 0.438 38.17 0.044 38.15 0.026 38.16 0.012 38.03 0.0038 37.99
Flower 0.452 25.89 0.046 25.82 0.033 25.90 0.014 25.85 0.0076 25.87
Foreman 0.407 31.81 0.044 31.69 0.036 31.82 0.016 31.88 0.0062 31.84
Mobile 0.467 25.04 0.046 24.84 0.028 25.02 0.018 24.97 0.0071 25.01
Stefan 0.419 23.90 0.048 23.73 0.049 23.89 0.017 24.71 0.0064 25.00
Mother &daughter 0.415 40.05 0.044 39.94 0.036 40.00 0.012 39.75 0.0047 39.87
Table 0.463 31.46 0.045 31.23 0.029 31.42 0.012 31.47 0.0042 31.27
average 0.430 32.12 0.045 31.99 0.032 32.11 0.014 32.16 0.0054 32.18
Speed-up ratio 1.000 9.659 13.590 30.764 80.190
PSNR difference 0.000 -0.127 -0.014 0.035 0.057
3.2 Search Range Adjustment
Upper
Block
Left
Block
Starting
Point
Right
Block
Bottom
Block
Figure 2: The location of reference blocks.
In SRAMPD, the author refers to left, upper and
upper-left block of initial point for the search range
adjustment. However, in reference frame, there also
exist right and bottom block, and it is more
correlated with initial point than upper-left position
since, in video sequence, the dominant edges are
horizontal and vertical direction. Therefore, in
proposed algorithm, we refer to left, upper, right and
bottom block’s distortion value for the search range
control. The modified collection of SADs follows,
'[ ( ) ].
p
lurb
C SAD SAD SAD SAD SAD= mv
(4)
The equation (2) is used in proposed method to
obtain a search range; however, we changed the
threshold value experimentally that is much larger
than SRAMPD about 4 times and we utilized
average of C’ instead of maximum SAD because the
proposed method of motion vector prediction is
more accurate than conventional algorithm. Also,
4 EXPERIMENTAL RESULTS
To evaluate performance of the proposed algorithms,
we compare them with FS, NPDS, APDS and
SRAMPD in terms of time per frame and PSNR. We
use speed measurement as time per frame because
each sequences have the different number of frames.
The experimental setup is as follows: the block size
of 16 x 16, the search window size of ±16. Eight
CIF (352 x 288 pixels) video sequences, “Akiyo”,
“Coastguard”, “Container”, “Flower”, “Mobile”,
“Stefan”, “Mother & daughter” and “Table”, are
used.
Table 2 shows the performance of the proposed
algorithms. The proposed algorithms are about 2.6
times faster than SRAMPD, averagely. Especially,
in “Flower” sequence, 5.31 times faster than
conventional method. The proposed method obtains
good performance for almost every sequence even if
the sequence has the fast motion characteristic. In
“Table” sequence, we cannot get a better result in
terms of PSNR because there is a scene change at
131th frame. When the scene is completely shifts,
the common characteristics include the motion
vector filed is not ordinary. Proposed method use the
co-located motion vector in reference frame, it can
be a weak-point if there is breakpoint caused by
scene change or fast and unpredictable motions.
From Table 3, we can observe the search
window size that is almost 2.5 times smaller than
SRAMPD; therefore, our method for search range
adjustment yields speed-up improvement in terms of
time. Especially, for “Akiyo” and “Container”,
proposed algorithm achieves remarkable results
SIGMAP2012-InternationalConferenceonSignalProcessingandMultimediaApplications
132
since they have slow motion characteristic. Even the
object in the sequence moves fast, we still obtain the
gain about both PSNR and speed up improvement.
Table 3: The Comparison about the average search
window size.
Sequence SRAMPD Proposed
Akiyo 11.51 2.81
Coastguard 12.55 5.35
Container 11.22 2.98
Flower 12.80 7.51
Foreman 13.36 5.73
Mobile 15.24 7.58
Stefan 13.83 5.91
Mother 10.98 3.52
Table 11.18 3.98
Average 12.52 5.04
5 CONCLUSIONS
In this paper, we proposed a new search range
adjustment and a motion vector prediction method
by adopting adjacently located block’s motion
vector and SADs. Using the proposed motion vector
prediction, we find the almost correct initial point.
Therefore, we additionally reduced the search range
and also computational complexity. Comparing with
conventional algorithm, experimental results
confirmed that our method achieves about 2.6 times
faster speed with small PSNR improvement.
ACKNOWLEDGEMENTS
This work was supported by the Industrial Strategic
technology development program(10039886,
Combined Modulator and Demodulator with Real
Time Multi Codec Transcoder based on Hardware
Processing) funded by the Ministry of Knowledge
Economy(MKE, Korea).
REFERENCES
T. Koga, K. Iinuma, A. hirano, Y. Iijima, and T. Ishiguro,
1981. Motion compensated interframe coding for
video conferencing, In Proc. Nat. Telecommun. Conf.,
New Orleans, L.A.
R. Li, B. Zeng, and M. L. Liou, 1994. A new three-step
search algorithm for block motion estimation, IEEE
Trans. Circuits Syst. Video Technol.
Li W., Salari E, 1995. Successive elimination algorithm
for motion estimation, IEEE Trans. Image Process.
Gao X. O., Duanmu C. J., Zou C. R., 2000. A multilevel
successive elimination algorithm for block motion
estimation, IEEE Trans. Image Process.
Ahn T. G., Y. H. M., Kim J. H., 2004. Fast full-search
motion estimation based on multilevel successive
elimination algorithm, IEEE Trans. CSVT: Trans.
Letter.
S. Zhu and K. K. Ma, 2000. A new diamond search
algorithm for fast block matching motion estimation.
IEEE Transactions on Image Processing.
C. Zhu, X. Lin, and L. P. Chau, 2000. Hexagon-based
search pattern for fast block motion estimation. IEEE
Trans. Circuits Syst. Video Technol.
C. Zhu, X. Lin, and L. P. Chau, 2004. Enhanced
Hexagonal search for fast block motion estimation.
IEEE Trans. Circuits Syst. Video Technol.
C. K. Cheung and L. M. Po, 2000. Normalized partial
distortion search algorithm for block motion
estimation, IEEE Trans. Circuits Syst. Video Technol.
Cheung C. H., Po L. M, 2003. Adjustable partial distortion
search algorithm for fast block motion estimation,
IEEE Trans. Circuits Syst. Video Technol.
Jing X., Chau L. P, 2007. Partial distortion search
algorithm using predictive search area for fast full-
search motion estimation, IEEE Signal Process. Letter.
S. Lee, 2010. Fast motion estimation based on search
range adjustment and matching point decimation, IET
Image process.
SearchRangeAdjustmentandMotionVectorPredictionforFastMotionEstimation-UsingNeighbouringMotionVectors
andDistortionsforAdjustmentofaSearchRangeandaStartingPoint
133