Dynamic control of motion estimation search parameters for low complex H.264/AVC video coding
A Content Aware Fast Motion Estimation Algorithm for H.264/AVC
Transcript of A Content Aware Fast Motion Estimation Algorithm for H.264/AVC
Accepted Manuscript
Content adaptive fast motion estimation based on spatio-temporal homogeneity
analysis and motion classification
Humaira Nisar, Aamir Saeed Malik, Tae-Sun Choi
PII: S0167-8655(11)00288-1
DOI: 10.1016/j.patrec.2011.09.015
Reference: PATREC 5230
To appear in: Pattern Recognition Letters
Received Date: 9 November 2009
Please cite this article as: Nisar, H., Malik, A.S., Choi, T-S., Content adaptive fast motion estimation based on spatio-
temporal homogeneity analysis and motion classification, Pattern Recognition Letters (2011), doi: 10.1016/j.patrec.
2011.09.015
This is a PDF file of an unedited manuscript that has been accepted for publication. As a service to our customers
we are providing this early version of the manuscript. The manuscript will undergo copyediting, typesetting, and
review of the resulting proof before it is published in its final form. Please note that during the production process
errors may be discovered which could affect the content, and all legal disclaimers that apply to the journal pertain.
1
Content adaptive fast motion estimation based on spatio-temporal 1
homogeneity analysis and motion classification 2
*1Humaira Nisar, 2Aamir Saeed Malik and 3Tae-Sun Choi 3 1Universiti Tunku Abdul Rahman, Perak, Malaysia 4
2Universiti Teknologi Petronas, Malaysia 5 3Gwangju Institute of Science and Technology, Korea 6
*Corresponding author: [email protected] 7
8
Abstract 9
In video coding, research is focused on the development of fast motion estimation (ME) 10
algorithms while keeping the coding distortion as small as possible. It has been observed that 11
the real world video sequences exhibit a wide range of motion content, from uniform to 12
random, therefore if the motion characteristics of video sequences are taken into account 13
before hand, it is possible to develop a robust motion estimation algorithm that is suitable for 14
all kinds of video sequences. This is the basis of the proposed algorithm. The proposed 15
algorithm involves a multistage approach that includes motion vector prediction and motion 16
classification using the characteristics of video sequences. In the first step, spatio-temporal 17
correlation has been used for initial search centre prediction. This strategy decreases the 18
effect of unimodal error surface assumption and it also moves the search closer to the global 19
minimum hence increasing the computation speed. Secondly, the homogeneity analysis helps 20
to identify smooth and random motion. Thirdly, global minimum prediction based on 21
unimodal error surface assumption helps to identify the proximity of global minimum. 22
Fourthly, adaptive search pattern selection takes into account various types of motion content 23
by dynamically switching between stationary, center biased and, uniform search patterns. 24
Finally, the early termination of the search process is adaptive and is based on the 25
homogeneity between the neighboring blocks. 26
Extensive simulation results for several video sequences affirm the effectiveness of the 27
2
proposed algorithm. The self-tuning property enables the algorithm to perform well for 28
several types of benchmark sequences, yielding better video quality and less complexity as 29
compared to other ME algorithms. Implementation of proposed algorithm in JM12.2 of 30
H.264/AVC shows reduction in computational complexity measured in terms of encoding time 31
while maintaining almost same bit rate and PSNR as compared to Full Search algorithm. 32
33
Keywords: Motion Estimation, Block Matching, Full Search, Motion Classification, Video 34
Coding, Spatial Correlation, Temporal Correlation. 35
36
1. Introduction 37
H.264 AVC (audio video coding) standard shows higher compression ratio with better 38
visual quality than other video coding standards [1]-[4]. The major coding efficiency of H.264 39
is because of spatial intra prediction, 4x4 block based transformation, variable block size 40
motion estimation etc. Because of these additions, the complexity of the H.264 standard is 41
very high; in particular motion estimation (ME) occupies 60% to 90% of the total encoding 42
time. Therefore, low complexity fast ME algorithms are required to support real time video 43
services. Full Search (FS) is the most straightforward and optimal block matching motion 44
estimation algorithm but is computationally expensive as it covers every pixel in every frame. 45
Also, it may fail to obtain reliable motion vectors (MVs) under the presence of noise. In 46
recent years, several fast ME algorithms based on a variety of techniques have been proposed 47
to reduce the encoding time of ME while keeping a good predicted image quality. 48
49
Fast block ME algorithms can generally be classified into two categories; 1) reducing the 50
number of checking (search) points, and, 2) lowering the computational complexity in 51
calculating the block matching criterion for each checking point. Our focus is on the 52
algorithms in the first category. Some well-known ME algorithms like three-step search (TSS) 53
[5], new three-step search (NTSS) [6], four-step search (FSS) [7], diamond search (DS) [8], 54
3
and hexagonal search (HEXBS) [9] are based on unimodal error surface assumption (UESA). 55
The UESA states that the block matching error increases monotonically as we move away 56
from the global minimum. But this assumption does not always hold true in real-world video 57
sequences, and the algorithm may fall into a local minimum. This results in degradation of the 58
reconstructed image quality. Experimental results show that these fixed search pattern 59
algorithms reduce the computational requirements significantly by checking only some points 60
inside the search window, while maintaining good error performance compared with FS. DS 61
[8] is an outstanding algorithm adopted by MPEG-4 verification model (VM) due to its 62
superiority to other methods in the class of fixed search pattern algorithms. It is a center 63
biased search algorithm. However, it is also observed that fixed search patterns are unable to 64
constantly match the dynamic motion content, thus not only wasting the computational power 65
but also leading to local minimum matching error trapping and large prediction errors. 66
67
Another popular group of block ME algorithms employ spatio-temporal correlation [10]-68
[23], [27]-[29], using the neighboring blocks in spatial and temporal domain. The main 69
advantage of prediction based algorithms (algorithms using spatial or temporal neighboring 70
information) is that they alleviate the local minimum problem to some extent. Since the new 71
initial or predicted search center is usually closer to the global minimum, the chance of 72
getting trapped in a local minimum decreases. This idea has been incorporated by many fast 73
block motion estimation algorithms. It is possible that fast prediction based initial search may 74
generate more sensible initial MVs that work better for the next stage of refinement. Also, 75
MVs estimated in a prediction algorithm are more realistic in that they reflect a real physical 76
phenomenon, whereas FS just amounts to finding the minimum Sum of Absolute Difference 77
(SAD), which does not necessarily give realistic MVs and is sometimes a bad choice because 78
of the complexity and randomness of real-world imagery. UMHexagonS [10] is a very 79
successful ME algorithm; it has reduced more than 90 % ME time as compared to FS while 80
maintaining the rate-distortion performance to a very good level. UMHexagonS uses a 81
number of predictors, a hexagon based search pattern and some threshold based early 82
4
termination strategies to quit the current search. Another important algorithm based on 83
prediction is adaptive rood pattern search (ARPS) [11]. It uses neighboring block MVs for 84
prediction; the adaptive rood pattern size is dynamically determined at the initial search stage. 85
Then a unit-size rood pattern is exploited repeatedly and unrestrictedly to find the best MV in 86
the refined local search stage. ARPS-2 [12] is an improved version of ARPS. Enhanced block 87
motion estimation (EBME) based on distortion-directional search patterns [13] is another 88
good addition to the store of prediction-based algorithms, which can be taken as an advanced 89
version of ARPS and ARPS-2. The initial search is performed on a specially defined rood 90
pattern with the arm length determined adaptively. In the fine search stage, variable-size 91
directional rood patterns are used to increase the speed of the search process. Some famous 92
prediction based adaptive search algorithms are fast adaptive motion estimation (FAME) [14] 93
and the fast motion estimation algorithm using motion adaptive search (MAS) [15]. Multiple 94
initial point prediction based search pattern [19] selection is another fast motion estimation 95
algorithm that uses spatio-temporal correlation to adaptively select multiple initial starting 96
points and patterns. Another fast motion estimation algorithm is content adaptive search 97
technique (CAST) [20] that performs motion analysis to assist in motion vector search. In this 98
algorithm, the search is performed separately for foreground and background. Content 99
adaptive lagrange multiplier (CALM) [21] dynamically adapts the lagrange multipliers for 100
each macro block based on the content of neighboring or upper layer blocks to improve rate 101
distortion performance. 102
103
Motion estimation based on two stage predictive search algorithms based on joint spatio-104
temporal correlation information [26] is a recently proposed fast motion estimation algorithm. 105
Its two stage predictive search helps to reduce the computational complexity. In the first stage 106
a rough search is conducted using six spatially and temporally correlated blocks to find a 107
starting point that is closer to the global minimum. In the second stage BBGDS [25] algorithm 108
and proposed predictive partial search algorithm are used for fine search. Another recently 109
proposed fast motion estimation algorithm for H.264 [27] uses a mode discriminant approach 110
5
so that encoder does not need to check small block size modes in homogeneous regions. 111
Secondly a condensed hierarchal block matching method and a spatial neighbor searching 112
scheme are employed to find the best full pixel motion vector. In the final step direction based 113
selection rule is utilized to reduce the search range in sub pixel ME process. Fast block 114
matching using prediction and rejection criteria is another fast ME algorithm that uses 115
correlation between layers of the sum pyramid for a block. Initial motion vector prediction for 116
a template block is also used [28]. 117
118
Since moving objects and image features are different in different video sequences, 119
degradation is always accompanied with a reduction in computational complexity if prior 120
information about the video sequence is not taken into account. Some valuable information 121
such as direction of motion and content (slow, fast, smooth, irregular) can help to define the 122
search approach. Here we present a predictive motion estimation technique employing spatio-123
temporal correlation, homogeneity analysis and unimodal error surface assumption. The 124
proposed algorithm follows a multistage approach that involves motion vector prediction, 125
motion analysis and classification. The analysis stage helps the search technique to adapt to 126
motion characteristics and classifies it into various categories that control the search process 127
by avoiding search stationary regions and local minimum, and keeping track of motion 128
content (slow, medium, fast, smooth and complex motions), by using switchable search 129
patterns. The search patterns play a key role in deciding the performance of a search 130
algorithm especially when the data correlation is low. A single static search pattern cannot 131
handle all the varying real world sequences simultaneously. Each of the techniques mentioned 132
above have several diversions that may suit a particular set of video characteristics. It would 133
be hard to conceive an algorithm that can perform well for all kinds of video contents. 134
However, if important characteristics of a video sequence can be identified and utilized for 135
adjusting various steps of motion estimation, one can design an adaptive algorithm that can 136
tune its parameters to suit the video at hand. A multistage motion estimation algorithm that 137
includes a pre-stage for analyzing the motion characteristics of a video sequence in real time 138
6
is required and hence proposed in this work. Prior information of the video sequences can 139
help a lot in deriving a dynamic search pattern that can suit different video sequences 140
encountered. Adaptive early termination criteria based on motion content of video sequence 141
further accelerates the search process. We have evaluated the proposed algorithm through a 142
comprehensive performance study that shows that the proposed algorithm achieves substantial 143
speedup without quality loss for a wide range of video sequences. 144
145
The rest of the paper is organized as follows: The proposed algorithm is discussed in section 146
2. In section 2.1, motion vector prediction scheme is introduced. In section 2.2, the criteria for 147
homogeneity between the neighboring blocks, is defined. Stationary search regions have been 148
identified in section 2.3 that is followed by the classification of different types of motion 149
encountered in video sequences in section 2.4. Section 2.5 throws light on global minimum 150
prediction and a criterion has been defined to identify it. Section 2.6 describes the multiple 151
initial predictors used for the proposed algorithm. Section 2.7 defines the early termination 152
criteria followed by a comprehensive discussion of search patterns in section 2.8. The 153
simulation environment and results are discussed in section 3. Finally the paper is concluded 154
in section 4 followed by the references. 155
156
2. Proposed algorithm 157
The proposed fast ME algorithm uses the local statistics of the neighboring motion vectors to 158
adapt automatically to the varying motion fields encountered in real world video sequences. 159
First of all a simplified spatio-temporal neighborhood is used that consists of the collocated 160
block from the reference frame and top and left neighboring blocks from the current frame. 161
Then homogeneity analysis is performed on the neighboring blocks to identify the degree of 162
homogeneity/correlation between them. The homogeneity analysis provides information 163
about the neighboring blocks belonging to same object or different objects. If they belong to 164
the same object then the motion is homogeneous otherwise it is irregular or non-165
7
homogeneous. The homogeneity coefficient is used to distinguish between homogeneous, 166
non-homogeneous and stationary blocks. Motion content is classified into small/medium and 167
fast motion. One of the main drawbacks of block matching motion estimation algorithms is 168
that these are prone to fall into local minimum. In order to avoid local minimums a Global 169
Minimum Predictor (GMP) is defined that helps avoid local minimum by avoiding the global 170
minimum and hence speeds up the search process. In case of non-homogeneous motion, 171
multiple initial starting points and a large initial search pattern have been selected for final 172
search to avoid being trapped in local minimum. The separate early termination criteria, for 173
homogeneous and non-homogeneous blocks, are unique and speed up the search process. The 174
final search pattern selected is adaptive that takes into account different kinds of motion 175
behavior encountered in real world sequences. By taking into account the characteristics of 176
video sequences, the computational complexity and the output video quality can be controlled 177
effectively. This results in a motion estimation algorithm that is able to exploit the statistical 178
properties of the spatio-temporal correlation and motion vector distribution and is able to 179
adapt to the motion field of different sequences. 180
181
Fig. 1. Blocks for spatio-temporal correlation information 182
183 2.1. Motion Vector Prediction 184
The spatio-temporal neighborhood or region of support (ROS) employed in the proposed 185
algorithm consists of two neighboring blocks from the current frame and the collocated block 186
in the reference frame. The neighboring blocks in the current frame are left and up blocks, 187
whereas the collocated block is the block that lies at the same location in the reference frame. 188
Current frame
Reference frame
U
L
R
Current Block
ROS
8
The neighboring blocks used for prediction in the proposed algorithm are shown in Fig. 1. 189
The left and up blocks are directly adjacent to the current block and hence provide the best 190
possible correlation information. Many advantages of this ROS have been discussed in the 191
literature [19]. Similarly the MV of the collocated block from the previous frame gives better 192
result for sequences having complex motion when neighboring spatial blocks belong to 193
different objects or have different motion. However, the inclusion of collocated block results 194
in increase in the computational complexity to some extent. It has also been observed in the 195
real world video sequences that median spatial scheme is suitable for sequences having 196
uniform motion. 197
On the basis of above discussion, we use three kinds of initial MVs as origin of the fine 198
motion search in our experiments. These are the zero motion vector (ZMV) and the predicted 199
motion vectors PMV1 (median of the spatial MVs) and PMV2 (reference MV from previous 200
frame) respectively, as defined by Eq. 1-3. 201
202
ZMV= (0,0) (1) 203
PMV1= Median (MVU, MVL) (2) 204
PMV2= MVR (3) 205
206 Where MVU is the MV of the upper block and MVL is the MV of the left block, adjacent to 207
the current block. MVR is the MV of the reference block (block at same location) in previous 208
frame. Based on the MV distribution obtained by applying the FS algorithm to different video 209
sequences it is observed that the MV distribution w. r. t. predicted motion vector (PMV) 210
generally has more symmetric shape as compared to the MV distribution w. r. t. ZMV [23]. 211
212
2.2. Homogeneity Analysis 213
In video sequences, there exists high correlation between the neighboring blocks in spatial 214
and temporal domains. If the current and neighboring blocks belong to the same object then 215
they have consistent motion activity and hence these can be defined as homogenous blocks. 216
9
Whereas if the neighboring blocks belong to different objects then their MVs are not 217
consistent with each other and these blocks are classified as non-homogeneous blocks. 218
If the blocks are homogeneous then a simple median prediction of the spatial neighboring 219
blocks and a few search points are required to reach the final motion vector. We have defined 220
a criteria identify the degree of homogeneity or correlation between the neighboring blocks. It 221
is explained as follows: 222
Compute the average of the motion vectors of the neighboring blocks (L, U, …….) in the 223
current frame. The average of x and y components of the MVs are calculated separately. 224
∑=
=N
i xiMVNx
MV1
)1
( (4) 225
∑=
=N
i yiMV
NyMV
1)
1( (5) 226
where xMV and yMV are the average of the x and y components of the MVs, and N is the 227
number of neighboring blocks for the current frame. For our experiments we have used N=2 228
(upper and left block) as shown in Fig.1. 229
230
The homogeneity coefficient of neighboring MVs is calculated as follows [18]: 231
||/|)1|(HC_x xMVi
N
iMVxMV x∑
=−= (6) 232
||/|)1|(HC_y yMVi
N
iMVyMVy∑
=−= (7) 233
HC_y HC_x HC += (8) 234
235
However when 0=xMV or 0=yMV , then we can have two cases: 236
10
1. The x or y components of motion vectors of neighboring blocks lie in opposite 237
directions to each other. 238
2. The neighboring blocks are stationary. 239
Therefore, we will proceed further by calculating the mean using absolute value of x and y 240
components of the MVs, as follows: 241
∑=
=N
iMVxi
NxMV
1||)
1( (9) 242
∑=
=N
iMVyi
NyMV
1||)
1( (10) 243
Here the coefficient of homogeneity is calculated in the same way except that now we will 244
use the absolute mean. For differentiating the homogeneity coefficient from that defined in 245
Eqs. 6 to 8, we designate it as HCA, where A stands for absolute value of xMV and yMV as 246
defined in Eqs. 9 and 10. 247
||/|)1
|(x_A
HC xMViN
iMVxxMV∑
=−= (11) 248
||/|)1
|(y_A
HC yMViN
iMVyyMV∑
=−= (12) 249
y_A
HC x_A
HCHC A += (13) 250
However if 0=xMV or 0=yMV , then we will calculate the coefficient of 251
homogeneity under special case as follows: 252
if 0=xMV 253
yHC_ HC A = (14) 254
If 0=yMV 255
xHC_HC A = (15) 256
257
11
Homogeneity coefficient represents the degree of homogeneity between the neighboring 258
blocks. A small value means that the neighboring blocks are homogenous, have a consistent 259
motion activity and there is a high possibility that all the neighboring blocks belong to the 260
same object. On the other hand, if homogeneity coefficient has a high value then it means that 261
neighboring blocks are not homogeneous, i.e. belong to different objects or there is some 262
change in scene or change in motion activity etc. 263
264
2.3. Identification of Search Stationary Regions 265
If stationary blocks are identified before actually checking them, a lot of computational 266
effort can be saved. This can be achieved by using the motion statistics of the neighboring 267
blocks if 0=xMV and 0=yMV , then there is a high probability that the neighboring 268
blocks are stationary blocks. Hence, the current block will also be considered stationary if the 269
following condition holds: 270
0=xMV , 0=yMV (16) 271
272
2.4. Motion Classification 273
The magnitude of predicted motion vector (PMV) provides basis for motion classification 274
and hence defines the motion content of the video. In the proposed algorithm, motion is 275
classified as stationary, slow/medium and fast, and smooth or irregular. In real world video 276
sequences, the probability of slow and medium motion is higher as compared to fast motion. 277
So we focus separately on slow and medium motion to save as much search points as 278
possible. For case of large/fast and irregular motion, it is better to use a pattern that roughly 279
covers a larger area at the initial step. Large magnitude motion vectors are generally 280
unreliable and require more exhaustive search patterns. In this way, it will be easier and faster 281
to catch large motion fields. 282
Stationary blocks are defined in section 2.3 as those blocks that satisfy Eq. 16. Motion is 283
considered rapid or fast if the magnitude of the PMV is generally greater than 1/2 of search 284
12
range otherwise the motion is considered medium or slow. Smooth and irregular motion is 285
defined on the basis of homogeneity or correlation between the neighboring blocks, given by 286
Eqs. 8 and 13. For smooth motion, HC (homogeneity coefficient) has a small value whereas 287
for irregular motion, HC has a high value. 288
In the proposed algorithm motion is classified in different categories and hence different 289
adaptive search patterns are used that are dynamically selected based on the type of motion. 290
The motion speed classification is based on the magnitude of x and y components of the 291
predicted MV. The predicted MV is used as the initial MV for rough search before actually 292
calculating the final MV. The PMV is calculated using motion vectors of neighboring blocks 293
using the following equation: 294
PMV = |MVx|+ |MVy| (17) 295
Where PMV stands for the predicted motion vector while MVx and MVy stands for x and y 296
components of MV, respectively. 297
298
2.5. Global Minimum Prediction 299
Most of the block ME algorithms are based on UESA. Although this assumption does not 300
hold in general but it is safe to assume that this assumption is valid within a small search 301
window around the global minimum point [23]-[24]. The characteristics of error surfaces 302
reveal that the global minimum is usually located in a valley that has a very sharp edge. In 303
other words, the gradient of the error surface is usually small in the plateau and gets large in 304
the transient region from the plateau to the valley. Hence, we can assume that the SAD of the 305
global minimum point is generally very small as compared to the surrounding points. This 306
property can be used to identify the global minimum or the proximity to the global minimum. 307
308
In order to avoid local minimum, an error descent rate (EDR) has been defined in [24] and 309
a local minimum elimination criteria (LMEC) has been defined in [19]. Here we have defined 310
a global minimum predictor (GMP) criterion to find if we are close to or far away from the 311
global minimum, that is based on the error descent rate as defined in [24]. However, we are 312
13
checking only one point next to the center point which somewhat decreases the number of 313
computations required as compared to EDR. It has been observed that near the global 314
minimum, the error descent rate is quite sharp. Hence, the difference between the SAD values 315
of the neighboring points is quite large. Therefore, GMP can be defined as follows: 316
GMP = SADN /SADcenter (18) 317
318
Where SADN is the SAD of the point next to the center point and SADcenter is the SAD of the 319
center point. If we are close to the global minimum then the GMP has a small value and we 320
can safely use few points to search the final point. However, large value of GMP signifies that 321
the search is far away from the global minimum and we need a large search pattern and 322
multiple predictors to identify the direction of global minimum. 323
324
2.6. Multiple Initial Predictors 325
Motion vector prediction is used to find the rough initial search center that may lead to the 326
fine search position closer to the global minimum. Our selection of the initial search point is 327
based on the coefficient of homogeneity obtained by homogeneity analysis. For homogenous 328
and stationary blocks, we can safely use the neighboring blocks in the current frame to 329
calculate the predicted motion vector. However for non-homogeneous blocks, we also include 330
the temporal MV for prediction. In this case, we will start our search from multiple starting 331
points to avoid the chance of being trapped in local minimum [19]. 332
333
For stationary and homogenous blocks, predicted motion vector is calculated using PMV1 334
defined by Eq. 2. For non-homogeneous blocks, we search three motion vector predictors i.e. 335
ZMV, PMV1 and PMV2 as defined by Eqs. 1 - 3. 336
337
2.7. Early Termination 338
The early termination (ET) threshold is a very effective way to optimize an algorithm. 339
Fixed ET thresholds are less capable of matching the dynamics and complexity of video 340
14
sequences. Therefore, we have defined an adaptive ET threshold separately for homogenous 341
and non-homogeneous motion blocks. For non-homogeneous blocks a strict threshold has 342
been defined to avoid wrong search. We have chosen the following for our proposed 343
algorithm. 344
For stationary and homogenous blocks, 345
ETH = mean(SADl, SADu) (19) 346
Where ETH is the early termination criterion for homogenous blocks. SADl and SADu are 347
the SAD of left and upper block respectively. 348
For non-homogeneous blocks 349
ETNH = min (SADl, SADu) (20) 350
Where ETNH is the early termination criterion for non-homogenous blocks. 351
352
2.8. Search Patterns 353
Search patterns play an important role in defining the computational complexity of an 354
algorithm. Since searching at an algorithm’s first step is inevitable, therefore the complexity 355
of an algorithm is directly related to the number of search points in the first step. 356
Real video sequences contain a wide range of motion content, distributed along spatial 357
regions whose shape and position change over time. Adaptation to video contents by utilizing 358
multiple patterns has proven to be very successful for fast motion estimation. However, multi 359
pattern solutions are only reliable if it is possible to find a robust pattern selection algorithm. 360
In the proposed algorithm we have used motion classification based on motion homogeneity 361
and global minimum prediction to switch between different search patterns. The choices of 362
dynamic search patterns help avoid large number of initial search points as well as being 363
trapped in local minimum. Different types of search patterns used in proposed algorithm are 364
diamond, square, center biased and uniform. 365
The search pattern and procedure adopted for different types of motion are explained in the 366
following sub-sections: 367
368
15
2.8.1. Stationary Blocks 369
Step 1: If SAD (search center)< ETH stop the search. 370
Step 2: Otherwise search a small DS pattern as shown in Fig. 2. Continue the search till any 371
of the end criteria is met. 372
End Criteria: i) SAD of the minimum location is less than ETH, ii) The minimum location lies 373
at the search center, or, iii) its the end of search window. 374
375
Fig. 2. Search pattern for stationary blocks 376 377
2.8.2 Homogeneous Blocks 378
A block is said to be homogeneous if it follows the following criterion: 379
Homogeneous coefficient < Threshold 380
Step 1: Check SAD of search center. 381
Step 2: If SAD (search center) < ETH , search a small DS pattern and then stop the search. 382
Step 3: If SAD (search center) > ETH, then if the motion is classified as small/medium (based 383
on the magnitude of predicted motion vector PMV1), goto Step 4, else goto Step 5. 384
Step 4: Check the neighboring points for calculating GMP (Global minimum predictor), 385
starting from right horizontal point in clockwise direction, one point at a time, and 386
follow a small DS pattern if the points are not available. Fig. 3 shows an example of 387
points used for calculating GMP, in the 2nd step labeled as 2.1. to 2.4 . However once 388
GMP is calculated say by the help of point 2.2 (if 2.1 is not available), then point 2.3 389
will not be checked. 390
a. If GMP > 1 then stop the search (as it means that the search center may have 391
1
2
2
2
2
2.1
2.1
2.1
1 shows points searched in step 1. 2
shows a small DS pattern searched in step
2, 2.1 shows that the step 2 is continued till
end criteria is met. The arrow points in the
direction of search location that has
minimum value of SAD.
16
a smaller value than the neighboring points). Check a small DS pattern to 392
make sure that the above condition holds. 393
b. If GMP < Threshold (means that the global minimum is nearby), check a 394
small DS pattern until end criteria is met. 395
c. If GMP > Threshold (means that the global minimum is far away), i) 396
calculate a uniform square search pattern (step-size=4); if end criteria is met 397
stop the search and check a final small DS pattern, ii) otherwise check a 398
small DS pattern at a step-size of 2 until end criteria is met, iii) lastly check a 399
small DS pattern. This is shown in Fig. 3. End criteria are discussed in 400
section 2.8.1. 401
Step 5: If SAD (search center) > ETH, and the motion is classified as large, skip GMP 402
calculation in step 3 and directly follow Step 4 (c). 403
A sample search procedure for the homogeneous blocks is shown in Fig.3. 404
405
406 407
Fig. 3. Search pattern for homogeneous blocks 408
409
410
1 shows step1, where SAD of search
center is checked, 2.1. 2.2 2.3 2.4 show step 2 as SAD > ETH and the motion pattern
will follow that of small/medium blocks, so
a small DS pattern is checked one point at a
time starting from 2.1 till 2.4 to calculate
GMP. Since GMP is found to be far away so
8 points 3
are checked at a step size of 4, 4 here a small DS pattern at step size of 2
is checked; finally 5 a small DS pattern is
checked. The arrow shows the direction of
motion and the minimum SAD point in each
step
1 2.1.
2.2
2.3 2.4
3
3.
3
3 3
3
3 3
4
4
4
4
5
5 5
5
17
2.8.3 Non-Homogeneous Blocks 411
For non-homogeneous blocks, the motion can be considered high, irregular and unpredictable. 412
Here we start our search from multiple starting points [19] using spatial predictor PMV1, 413
temporal predictor PMV2 and ZMV so as to be sure to get true motion without being trapped 414
in local minimum. The search procedure is described as follows: 415
416
Step 1: Check multiple starting points, and stop the search if SAD (search center) < ETNH. 417
Step 2: Otherwise check a large square search pattern that consists of 12 points as shown in 418
Fig 4. This very large pattern is selected to incorporate any irregularity that could 419
exist because of the non-homogeneous nature of the neighboring blocks. 420
Step 3: Check a small DS pattern at a step size of 2 till end criteria is met. 421
Step 4: Finally check a small DS pattern. 422
A sample search procedure for the non homogeneous blocks is shown in Fig.4. 423
424
425
Fig. 4. Search pattern for non-homogeneous blocks 426
427
3. Simulation 428
The proposed algorithm is implemented in JM-12.2 [29] of H.264/AVC reference software. 429
In simulation we compare FS, DS, UMHexagonS and the proposed algorithm in terms of 430
1.1
1.2
1.3
2
2
2
22
2
22 2
2 2
2 3
3
3
3
4
4 4
4
In the first step, check multiple starting points 1.1 1.2 1.3 , and choose the one with minimum SAD as
the search center, 1.1 in the case above. A large
square pattern 2 is checked in step 2, in step 3 a
3 small DS pattern at step size 2 is checked and
finally 4 a small DS pattern with step size 1 is
checked. The arrow shows the direction of motion
and the minimum SAD point in each step
18
computations (search speed measured by total encoding time and ME time) and performance 431
(PSNR and bit rate). The simulation is carried out at 4 different quantization parameters 432
(QP=28, 32, 36, 40) in order to test the algorithm at different bit rates. 433
434
For encoding purposes JM-12.2 Main Encoder Profile has been used. For each test 435
sequence only the first frame has been coded as I frame and the remaining frames are coded 436
as P frames. Only one reference frame has been used. Each pixel in the image sequences is 437
uniformly quantized to 8 bits. Sum of absolute difference (SAD) distortion function is used as 438
the block distortion measure (BDM). The search range is set to 16. Image formats used are 439
QCIF and CIF, and sequences are tested at 30 fps (frames per second). The simulation 440
platform in our experiments is a PC with Intel Pentium IV 2.66 GHZ CPU. 441
442
The test sequences used for our experiments are Mobile, Akiyo, Silent and Container. 443
These sequences exhibit a variety of motion that is generally encountered in real video. 444
Homogeneity threshold is set to 6 and GMP is set to 0.75 (experimentally chosen values). 445
Tables 1-6 show the performance comparison of the proposed algorithm with other block 446
matching algorithms. Two different measures are used to calculate the computational 447
efficiency of our algorithm i.e. total time saving and ME time saving. The two performance 448
quality measures are PSNR Gain and increase in Bit Rate. These are computed as follows: 449
450
Total Time Saving = ((Total Time FS- Total Time algorithm) / Total Time FS).100 (21) 451
ME Time Saving = ((ME Time FS- ME Time algorithm) / ME Time FS).100 (22) 452
PSNR Gain = PSNR algorithm - PSNR FS (23) 453
Bit Rate Incr. = ((Bit Rate algorithm - Bit Rate FS) / Bit Rate FS).100 (24) 454
455
Negative value of PSNR gain means decreasing PSNR and positive value means increasing 456
PSNR. Similarly negative bit rate increase means that the bit rate has actually decreased. 457
19
Tables 1-4 show that the proposed algorithm has greater adaptability for the sequences of 458
different kinds. All test sequences achieve high speedup with little degradation in PSNR and 459
negligible increase for bit rate. The test results are shown at different QPs to compare the 460
performance under different bit rates. Table 5 provides the overall average performance 461
comparison for fast search algorithms. The proposed algorithm has achieved an overall 462
average encoder speedup of 72.35% and ME speedup of 82.45%. Its bit rate is increased by 463
only 0.49% while it has a minimal loss in the encoding quality of 0.027 dB. DS has an overall 464
speedup of 66.88% and ME speedup of 75.95%. Its bit rate is increased by 2.01% while loss 465
in the encoding quality is 0.035 dB. UMHexS has an overall speedup of 67.15% and ME 466
speedup of 76.88%. Its bit rate is increased by 0.18% while loss in the encoding quality is 467
0.003 dB. FME [27] that is a recently proposed fast ME algorithm has an overall speedup of 468
62.50% and ME speedup of 80.19%. Its bit rate is increased by 1.25% while loss in the 469
encoding quality is 0.003 dB. 470
471
Table 6 also shows the performance comparison of the proposed algorithm with Full Search 472
algorithm. A variety of test sequences have been used. It has been observed that the proposed 473
algorithm performs very well in terms of quality (PSNR loss ~ 0.04 dB, bit rate increase ~ 474
0.32 %) and speeds up the process by saving more than 70 % computational time. 475
476
Fig. 5 shows the rate distortion comparison of proposed and other fast block matching 477
algorithms at 30 fps. It is clear that the performance of the proposed algorithm is very close to 478
that of the FS algorithm hence showing very good results. 479
20
480
Table 1 Simulation Results for Mobile, QCIF, 30 fps, and 300 frames 481
482
Time (s) Time Saving % QP BMA PSNR
(dB) Bitrate
(Kbits/s) Total ME Total ME
PSNR Loss (dB)
Bit rateIncr.
%
FS 32.98 422.1 94.2 85.9 - - - -
DS 32.94 441.0 17.0 9.5 82.0 89.0 0.04 4.5
UMHexS 32.98 420.1 22.2 14.9 76.4 82.7 - -0.5 28
Proposed 32.96 423.0 15.8 8.6 83.2 90.0 0.02 0.2
FS 29.37 210.4 87.9 80.5 - - - -
DS 29.35 210.4 17.8 10.1 79.7 87.5 0.02 -
UMHexS 29.37 209.8 22.7 14.9 74.2 81.5 - -0.3 32
Proposed 29.34 212.1 15.6 8.2 82.3 89.8 0.03 0.8
FS 26.30 102.6 82.7 75.8 - - - -
DS 26.25 102.7 17.4 10.3 79.0 86.4 0.05 0.1
UMHexS 26.29 102.7 23.1 16.5 72.0 78.2 0.01 0.1 36
Proposed 26.24 104.1 16.1 8.9 80.5 88.3 0.06 1.5
FS 23.69 55.6 78.1 70.7 - - - -
DS 23.64 55.5 18.9 11.8 75.8 83.3 0.05 -0.2
UMHexS 23.67 55.3 23.4 16.5 70.0 76.7 0.02 -0.5 40
Proposed 23.65 56.5 15.6 8.9 80.0 87.4 0.04 1.6
483
21
484 Table 2 Simulation Results for Akiyo, QCIF, 30 fps, and 300 frames 485
486
Time (s) Time Saving % QP BMA PSNR
(dB) Bitrate
(Kbits/s) Total ME Total ME
PSNR Loss (dB)
Bit rateIncr.
%
FS 38.19 25.6 48.9 42.3 - - - -
DS 38.11 25.9 17.4 11.7 64.4 72.3 0.08 1.2
UMHexS 38.19 25.3 16.9 9.9 65.4 76.6 - -1.2 28
Proposed 38.14 25.5 14.1 7.8 71.1 81.6 0.05 -0.4
FS 35.23 14.5 46.7 40.3 - - - -
DS 35.20 14.5 18.4 11.9 60.6 70.5 0.03 -
UMHexS 35.27 14.5 16.8 9.9 64.0 75.4 -0.04 - 32
Proposed 35.21 14.6 14.1 7.9 69.8 80.4 0.02 0.7
FS 32.62 8.9 44.1 37.8 - - - -
DS 32.52 8.9 18.7 11.9 57.6 68.5 0.10 -
UMHexS 32.61 8.9 16.9 10.5 61.7 72.2 0.01 - 36
Proposed 32.60 9.1 14.0 7.6 68.3 79.9 0.02 2.2
FS 30.27 6.2 40.8 34.6 - - - -
DS 30.25 7.1 19.9 13.7 51.2 60.4 0.02 14.5
UMHexS 30.29 6.2 17.3 11.0 57.6 68.1 -0.02 - 40
Proposed 30.30 6.3 13.8 7.7 66.2 77.7 -0.03 1.6
487
22
488 Table 3 Simulation Results for Silent, QCIF, 30 fps, and 100 frames 489
490
Time (s) Time Saving % QP BMA PSNR
(dB) Bitrate
(Kbits/s) Total ME Total ME
PSNR Loss (dB)
Bit rateIncr.
%
FS 35.67 82.95 20.8 18.3 - - - -
DS 35.61 85.57 5.8 3.4 72.1 83.0 0.06 3.2
UMHexS 35.67 83.21 6.1 3.4 70.7 83.0 - 0.3 28
Proposed 35.62 85.72 5.3 2.9 74.5 84.2 0.05 3.3
FS 32.78 48.89 19.6 17.3 - - - -
DS 32.73 49.35 6.2 3.9 68.4 77.5 0.05 0.94
UMHexS 32.77 48.9 6.3 3.8 67.9 78.0 0.01 - 32
Proposed 32.73 50.4 5.2 2.8 73.5 83.8 0.05 3.1
FS 30.28 28.7 18.7 16.3 - - - -
DS 30.24 28.9 6.2 3.7 66.8 77.3 0.04 0.9
UMHexS 30.25 28.7 6.3 3.9 66.3 76.1 0.03 - 36
Proposed 30.23 29.2 5.2 3.3 72.1 79.8 0.05 1.7
FS 27.91 16.9 17.7 15.83 - - - -
DS 27.88 17.1 6.6 4.5 62.7 71.6 0.03 0.9
UMHexS 27.89 16.6 6.5 4.3 63.3 72.8 0.02 -2.1 40
Proposed 27.91 17.1 5.1 3.1 71.2 80.4 - 0.9
491
23
492 Table 4 Simulation Results for Container, QCIF, 30 fps, and 100 frames 493
494
Time (s) Time Saving % QP BMA PSNR
(dB) Bitrate
(Kbits/s) Total ME Total ME
PSNR Loss (dB)
Bit rateIncr.
%
FS 36.06 41.4 19.2 16.8 - - - -
DS 36.04 43.4 5.8 3.3 69.8 80.4 0.02 4.83
UMHexS 36.04 41.3 5.2 2.8 72.9 83.2 0.02 -0.2 28
Proposed 36.04 41.5 4.9 2.9 74.5 82.7 0.02 0.2
FS 33.37 22.2 16.8 14.8 - - - -
DS 33.36 22.4 5.9 3.9 64.9 73.6 0.01 0.9
UMHexS 33.37 22.1 5.3 3.3 68.5 77.8 - 0.5 32
Proposed 33.34 22.1 4.9 2.7 70.8 81.8 0.03 0.5
FS 30.74 12.9 15.2 12.9 - - - -
DS 30.76 13.0 6.1 4.1 59.9 68.2 -0.02 0.8
UMHexS 30.74 12.9 5.4 3.0 64.5 76.4 - - 36
Proposed 30.74 12.8 4.9 2.7 67.8 79.1 - -0.8
FS 28.35 8.4 13.7 11.5 - - - -
DS 28.34 8.5 6.2 4.0 54.8 65.2 0.01 1.1
UMHexS 28.34 8.5 5.4 3.2 60.6 71.7 0.01 1.1 40
Proposed 28.29 8.4 4.8 2.5 65.0 78.3 0.06 -
495
24
496 Table 5 Average performance comparison with respect to FS 497
Time Saving % Algorithm
Total ME PSNR
Loss(dB) Bit rate
Increase (%)
Mobile Sequence QCIF, 300 frames
DS 79.1 86.6 0.04 1.0
UMHexS 73.2 79.8 0.01 -0.3
FME 52.56 81.30 0.01 3.0
Proposed 81.5 88.9 0.04 1.0
Akiyo Sequence QCIF, 300 frames
DS 58.5 67.9 0.06 3.9
UMHexS 62.2 73.1 -0.01 0.3
FME 66.24 79.70 0.02 0.05
Proposed 68.9 79.9 0.02 1.0
Silent Sequence QCIF, 100 frames
DS 67.5 77.4 0.05 1.5
UMHexS 66.9 77.5 0.02 -0.5
FME 64.36 81.07 -.01 2.2
Proposed 72.8 82.1 0.04 2.3
Container Sequence QCIF, 100 frames
DS 62.4 71.9 0.01 1.63
UMHexS 66.6 77.3 0.01 0.35
FME 66.84 78.72 -.01 -.26
Proposed 69.5 80.5 0.03 -0.03
Average
DS 66.88 75.95 0.035 2.01
UMHexS 67.15 76.88 0.003 0.18
FME 62.50 80.19 0.003 1.25
Proposed 72.35 82.45 0.027 0.49 498
25
499
Mobile QCIF 30 Hz
28
29
30
31
175 200 225 250 275Bit Rate (kbps)
PSN
R (d
B)
FSDSUMHexSProposed
500
(a) 501
502
Akiyo QCIF 30 Hz
35
36
37
38
16 18 20 22 24Bit Rate (kbps)
PSN
R (d
B)
FSDSUMHexSProposed
503
(b) 504
505
506
507
508
509
26
Silent QCIF 30 Hz
27
28
29
30
31
18 20 22 24 26Bit Rate (kbps)
PSN
R (d
B)
FSDSUMHexSProposed
510
(c) 511
512
Container QCIF 30 Hz
33
34
35
36
25 31 37 43Bit Rate (kbps)
PSN
R (d
B)
FSDSUMHexSProposed
513 514
(d) 515
Fig. 5 Comparison of Rate-Distortion curves for different block matching algorithms, a closer 516
view, (a) Mobile, (b) Akiyo, (c) Silent, (d) Container 517
518
519
520
521
27
Table 6 Performance comparison with respect to FS 522
QP=28, 30 fps, and 100 frames 523
524
Time (s) Time Saving %Sequence BMA PSNR
(dB) Bit rate
(Kbits/s) Total ME Total ME
PSNR Loss (dB)
Bit rateIncr.
%
FS 37.22 60.65 15.99 13.74 - - - - Hall Monitor QCIF Proposed 37.19 61.51 4.99 2.55 68.8 81.4 0.03 1.41
FS 39.84 33.40 13.96 11.61 - - - - Claire QCIF Proposed 39.77 33.14 4.81 2.71 65.5 76.66 0.07 -0.78
FS 36.70 76.68 17.64 15.44 - - - - News QCIF Proposed 36.68 77.67 5.05 2.71 71.37 82.45 0.02 1.29
FS 33.95 1922.47 125.59 114.99 - - - - Mobile CIF Proposed 33.92 1909.23 23.50 12.94 81.30 88.75 0.03 -0.69
FS 35.84 199.71 89.89 81.1 - - - - Container CIF Proposed 35.82 200.46 20.93 12.02 76.72 85.18 0.02 0.38
Average 72.74 82.89 0.04 0.32
525 526
4. Conclusion 527
In this paper, we propose a fast motion estimation algorithm using the local motion 528
statistics of neighboring motion vectors in spatial and temporal domain. The motion 529
characteristics of the video sequences are studied using homogeneity analysis, based on which 530
the motion is classified into uniform or random. This helps to choose between different search 531
patterns that matches the wide range of motion content. The early termination criteria are also 532
dynamically chosen for different cases. The novelty of this paper is that by using a multistage 533
approach, the proposed algorithm has reduced the computational cost significantly without 534
sacrificing the visual quality and coding performance. 535
536
537
28
References 538
[1] D. LeGall, “MPEG: A video compression standard for multimedia,” Commun. ACM, Vol. 34, No. 539
4, pp. 47-58, Apr. 1991. 540
[2] ISO/IEC JTC// SC29/WG11 moving picture experts group, MPEG2 test model 4, 1993. 541
[3] CCITT SG XV, “Recommendation H.261 video codec for audiovisual services at p*64 kbits/sec” 542
Tech. Rep. COMXVR37-E, Aug. 1990. 543
[4] T. Wiegand, G. Sullivan, A. Luthra, “Draft ITU-T Recommendation and Final Draft International 544
Standard of Joint Video Specification (ITU-T Rec. H.264| ISO/IEC 14496-10 AVC)”, May 2003. 545
[5] T. Koga, K. Iinuma, A. Hirano, Y. Iijima and T. Ishiguro, "Motion compensated interframe coding 546
for video conferencing," Pro. Nat. Telecommun. Conf., New Orleans, pp. G5.3.1-5.3.5, Nov. 1981. 547
[6] R. Li, B. Zeng and M. L. Liou, "A new three step search algorithm for block motion estimation,” 548
IEEE Trans. Circuits Syst. Video Technol., Vol. 4, No. 4, pp. 438-442, Aug. 1994. 549
[7] L. M. Po and W. C. Ma, “A novel four-step search algorithm for fast block motion estimation,” 550
IEEE Trans. Circuits Syst. Video Technol., Vol. 6, No. 3, pp. 313-317, Jun. 1996. 551
[8] S. Zhu and K. K. Ma, “A new diamond search algorithm for fast block matching motion 552
estimation,” IEEE Trans. Image Process., Vol. 9, No. 2, pp. 287-290, Feb 2000. 553
[9] Ce Zhu, Xiao Lin, and Lap-Pui Chau, Hexagon-based search pattern for fast block motion 554
estimation, ,” IEEE Trans. Circuits Syst. Video Technol., Vol. 12, No. 5, pp. 349-355, May 2002. 555
[10] Z. Chen, P. Zhou, Y. He and Y. Chen, “Fast Integer Pel and Fractional Pel Motion Estimation for 556
JVT” ITU-T, Doc. #JVT-F-017, Dec. 2002.” 557
[11] Y. Nie and K.-K. Ma, "Adaptive rood pattern search for fast block-matching motion estimation," 558
IEEE Trans. on Image Processing, Vol. 11, No. 12, pp. 1442-1449, Dec. 2002. 559
[12] Ma, K-K and G Qui, "An improved adaptive rood pattern search for fast block-matching motion 560
estimation in JVT/H.26L," Proceedings of the IEEE Int. Symposium on Circuits and Systems, vol. 561
2, pp. 708-711, May 2003. 562
[13] Byung-Gyu Kim, Suk-Kyu Song and Pyoung-Soo Mah, “Enhanced block motion estimation based 563
on distortion-directional search patterns,” Pattern Recognition Letters, Volume 27, Issue 12, pp. 564
1325-1335 September 2006. 565
[14] Ahmad, W. Zheng, J. Luo, and M. Liou, “A fast adaptive motion estimation algorithm,” IEEE 566
Trans. Circuits Syst. Video Technol. Vol. 16 No. 3 pp. 420–438, 2006. 567
29
[15] 19. S.-C. Tai, C.-S. Yu, and F.-K. Huang, “Fast motion estimation algorithm using motion 568
adaptive search,” Opt. Eng. Vol. 47, No. 3, 037007, 2008. 569
[16] Humaira Nisar, Tae-Sun Choi, “A fast block motion estimation algorithm based on motion 570
classification and directional search patterns”, Optical Engineering, Vol. 47, No. 10, pp. 107001.1-571
10, Oct. 2008. 572
[17] H. Nisar, T.-S. Choi, “Fast motion estimation algorithm based on spatio-temporal correlation and 573
direction of motion vectors,” Electron. Lett. 42 (24) (2006) 1384–1385. 574
[18] Humaira Nisar, Tae Sun Choi, “A Content Aware Fast Motion Estimation Algorithm for 575
H.264/AVC”, Invited Paper, International Symposium on Signal Processing, Image Processing and 576
Pattern Recognition, SIP 2008, China, Dec. 2008. 577
[19] Humaira Nisar, Tae-Sun Choi, “Multiple Initial Point Prediction based Search Pattern Selection for 578
Fast Motion Estimation”, Pattern Recognition, Vol. 42, No. 3, pp. 475-486, Mar. 2009. 579
[20] Jiancong Luo, Ishfaq Ahmad, Yongfang Liang and Viswanathan Swaminathan, "Motion 580
estimation for content adaptive video compression", IEEE Trans. Circuits Syst. Video Technol., 581
Vol. 18, No. 17, pp. 900-909, Jul. 2008. 582
[21] Jun Zhang, Xiaoquan Yi, Nam Ling and Weijia Shang, "Context adaptive Lagrange multiplier 583
(CALM) for rate-distortion optimal motion estimation in video coding", IEEE Trans. Circuits Syst. 584
Video Technol., Vol. 20, No. 6, Jun 2010. 585
[22] C, Zhu, X. Lin, L. P. Chau and L. M. Po, “Enhanced hexagonal search for fast block motion 586
estimation,” IEEE Trans. Circuits Syst. Video Technol., Vol. 14 No. 10, pp. 1210-1214, Oct. 2004. 587
[23] J.J. Tsai and H. M. Hang, “Modeling of pattern based block motion estimation and its application,” 588
IEEE Trans. Circuits Syst. Video Technol., Vol. 19, No. 1, pp. 1210-1214, Jan. 2009. 589
[24] Ka-Ho Ng, Lai. Man Po and Ka-Man Wong, “Search patterns switching for motion estimation 590
using rate of error descent,” pp. 1583-1586, ICME 2007. 591
[25] Liu, L.-K., and Feig, E, “A block-based gradient descent search algorithm for fast block motion 592
estimation in video coding,” IEEE Transactions on Circuits and Systems for Video Technology, 593
Vol. 6 No. 4, pp. 419–423, 1996. 594
[26] Lili Hsieh, Wen-Shiung Chen, Chuan-Hsi Liu, “Motion estimation using two-stage predictive 595
search algorithms based on joint spatio-temporal correlation information,” Expert Systems with 596
Applications, 38, 11608–11623, 2011. 597
30
[27] Canhui Cai, Huanqiang Zeng, Sanjit K. Mitra, “Fast Motion Estimation for H.264,” Signal 598
Processing: Image Communication, Vol. 24, pp. 630-636, 2009. 599
[28] Yi Ching Liaw, Jim Z. C. Lai and Zuu Chang Hong, “Fast block matching using prediction and 600
rejection criteria,” Signal Processing, Vol. 89, pp. 1115-1120, 2009. 601
[29] Joint Video Team Reference Software, Version 12.2 (JM12.2), 602
http://iphome.hhi.de/suehring/tml/download/. 603
31
[30] 604
605
Content adaptive fast motion estimation based on spatio-temporal 606
homogeneity analysis and motion classification 607
608
609
1. Local motion statistics decrease effect of unimodal error surface assumption. 610
2. Homogeneity analysis classifies motion as uniform or random. 611
3. Dynamic search pattern switching takes into account various motion contents. 612
4. Extensive simulation results affirm the effectiveness of the proposed algorithm. 613
[31] 614