International Journal of Computer Science & Communication Vol. 1, No. 1, January-June 2010, pp. 153-159 Multi Step Motion Estimation Algorithm Deepak J. Jayaswal 1 & Mukesh A. Zaveri 2 1 Electronics and Telecommunication Department, St. Francis Institute of Technology, Mumbai 400103, India. 2 Computer Engineering Department, S.V.National Institute of Technology, Surat 395007, India. Email: 1 djjayaswal_vcet@ yahoo.com, 2 mazaveri@coed.svnit.ac.in ABSTRACT We propose a multi step motion estimation algorithm (MSME) that encompasses techniques such as motion vector prediction, determination of search range and search patterns, and identification of termination criteria that suits to all type of video characteristic. This approach allows us to exploit random distribution of motion vector in successive video frames from which the initial candidate predictors are derived. The derived predictors are the most probable points in search window, which will assure that, the motion vectors in the vicinity of center point and at the edge of the search window does not miss out, as it does for earlier algorithms like Three step search(TSS), Four step search(FSS), Diamond(DS), etc and refinement stage used in the algorithm will allow us to extract true motion vector so that the picture quality is as good as Full search(FS) which is the optimal algorithm. The novelty of the proposed MSME algorithm is that the search pattern derived is not static but can dynamically shrink or enlarge to account for small and large motion and fixed threshold used improves speed without sacrificing the quality of video. The Simulation result shows that our proposed algorithm outperforms all sub-optimal algorithms in terms of quality and speed up performance and in many cases PSNR of proposed algorithm is comparable to Full Search. Keywords: Motion Vector, Block Matching Algorithm, Three Step Search, Four Step Search, Diamond Search, Full Search. 1. INTRODUCTION Motion estimation (ME) and compensation are the keys to high quality video coding [1]. ME is a process of estimating the motion of macroblock (MB) of some predefined size from the reference frame to generate the current frame. Block Matching based motion estimation is used in most video codecs, including MPEG-2, MPEG- 4 and H.263 [2]. ME is also a key component in the digital restoration of achieved video and for post production and special effect in the movie industry. ME and the exploitation of the strong correlation among the successive frames allows us to encode and transmit the motion vectors along with the error frame obtained using the regenerated current frame and the actual current frame and hence, reduces the number of bits used to convey the information. To achieve this bit reduction, various approaches and algorithms have been proposed in the literature [1, 2, 3,]. The most accurate BMA is the exhaustive FS method. The only disadvantage of this method and perhaps the biggest flaw is the high computational cost associated with it. Other algorithms with reduced number of computations, for example, the successive elimination algorithm (SEA) [4], a new three step search [5], a novel four-step search (FSS) [6], efficient four step search [7], unrestricted center biased diamond search (UCBDS) [8], cross search [9], fast full search motion estimation [10], complexity bounded motion estimation [11], predictive coding based on interframe efficient motion estimation [12], Among these algorithms, the SEA is similar to the full search method except, the first one eliminates certain search points based on the Minkowiski’s inequality. Further reduction in number of search points was achieved in TSS algorithm. The main drawback of TSS is the relatively large search pattern in the first step having a distance of 4, which renders it inefficient for finding blocks with small motions. In order to exploit the characteristics of the center-biased motion vector distribution, FSS algorithm was proposed to speed up the search mechanism. The main drawback of FSS is the relatively small search pattern in the first step having a distance of 2, which renders it inefficient for finding blocks with large motions. TSS, FSS algorithm are static that is they have fixed search pattern and restricted window size, and are inefficient for predicting true motion vector for low or high motion. Other algorithm like appeared in [13–18] uses motion vector prediction (MVP) technique and has shown significant performance improvement in terms of quality. These algorithms provide better peak to signal ratio (PSNR) as compared to TSS, FSS, DS, etc. and are not static but are very complex and needs memory to store motion vectors for prediction. This makes it difficult for multimedia application where porting of video codec for embedded processor is required as well as for video streaming application for video on demand.