A Sum Square Error based Successive Elimination Algorithm for Block Motion Estimation

Similar documents
Motion estimation for video compression

Module 7 VIDEO CODING AND MOTION ESTIMATION

A New Fast Motion Estimation Algorithm. - Literature Survey. Instructor: Brian L. Evans. Authors: Yue Chen, Yu Wang, Ying Lu.

Express Letters. A Simple and Efficient Search Algorithm for Block-Matching Motion Estimation. Jianhua Lu and Ming L. Liou

Fast Block-Matching Motion Estimation Using Modified Diamond Search Algorithm

Overview: motion estimation. Differential motion estimation

Enhanced Hexagon with Early Termination Algorithm for Motion estimation

Redundancy and Correlation: Temporal

Fobe Algorithm for Video Processing Applications

An Adaptive Cross Search Algorithm for Block Matching Motion Estimation

AN ADJUSTABLE BLOCK MOTION ESTIMATION ALGORITHM BY MULTIPATH SEARCH

Toward Optimal Pixel Decimation Patterns for Block Matching in Motion Estimation

A Comparative Approach for Block Matching Algorithms used for Motion Estimation

Efficient Method for Half-Pixel Block Motion Estimation Using Block Differentials

Prediction-based Directional Search for Fast Block-Matching Motion Estimation

Module 7 VIDEO CODING AND MOTION ESTIMATION

Motion Vector Estimation Search using Hexagon-Diamond Pattern for Video Sequences, Grid Point and Block-Based

Simplified Block Matching Algorithm for Fast Motion Estimation in Video Compression

Enhanced Hexagonal Search for Fast Block Motion Estimation

Transactions Briefs. An Adaptive Search Length Algorithm for Block Matching Motion Estimation

DIGITAL video compression is essential for the reduction. Two-Bit Transform for Binary Block Motion Estimation

A Novel Hexagonal Search Algorithm for Fast Block Matching Motion Estimation

International Journal of Advance Engineering and Research Development

Overview: motion-compensated coding

Efficient and optimal block matching for motion estimation

High Performance Hardware Architectures for A Hexagon-Based Motion Estimation Algorithm

Motion Estimation for Video Coding Standards

Area Efficient SAD Architecture for Block Based Video Compression Standards

Fast Motion Estimation for Shape Coding in MPEG-4

Video Inter-frame Forgery Identification Based on Optical Flow Consistency

An Empirical Study of Block Matching Techniques for the Detection of Moving Objects. Abstract

Fast Implementation of VC-1 with Modified Motion Estimation and Adaptive Block Transform

A High Quality/Low Computational Cost Technique for Block Matching Motion Estimation

International Journal of Scientific & Engineering Research, Volume 5, Issue 7, July ISSN

Module 05 Motion Analysis / Overview. Advanced Video Analysis and Imaging (5LSH0), Module 05. Motion Applications / Video Coding (1)

Tunnelling-based Search Algorithm for Block-Matching Motion Estimation

ELEC Dr Reji Mathew Electrical Engineering UNSW

Adaptive Square-Diamond Search(ASDS) Algorithm for Fast Block Matching Motion Estimation

University of Bristol - Explore Bristol Research. Peer reviewed version. Link to published version (if available): /WIVC.1996.

Noise Reduction in Image Sequences using an Effective Fuzzy Algorithm

IJCSI International Journal of Computer Science Issues, Vol. 9, Issue 4, No 2, July 2012 ISSN (Online):

Complexity Reduced Mode Selection of H.264/AVC Intra Coding

A reversible data hiding based on adaptive prediction technique and histogram shifting

Displacement estimation

Multimedia Systems Video II (Video Coding) Mahdi Amiri April 2012 Sharif University of Technology

Joint Adaptive Block Matching Search (JABMS) Algorithm

Fast Wavelet-based Macro-block Selection Algorithm for H.264 Video Codec

Implementation of A Optimized Systolic Array Architecture for FSBMA using FPGA for Real-time Applications

Efficient Block Matching Algorithm for Motion Estimation

Comparative Study of Partial Closed-loop Versus Open-loop Motion Estimation for Coding of HDTV

An Information Hiding Scheme Based on Pixel- Value-Ordering and Prediction-Error Expansion with Reversibility

VIDEO COMPRESSION USING LBMC ALGORITHM

Video Image Sequence Super Resolution using Optical Flow Motion Estimation

Summer Internship at STMicroelectronics, Greater Noida, India

Computation-Scalable Multi-Path Motion Estimation Algorithm

A Quantized Transform-Domain Motion Estimation Technique for H.264 Secondary SP-frames

Complexity Reduction Tools for MPEG-2 to H.264 Video Transcoding

Fast Decision of Block size, Prediction Mode and Intra Block for H.264 Intra Prediction EE Gaurav Hansda

Linear Hashtable Method Predicted Hexagonal Search Algorithm with Spatial Related Criterion

Automatic Video Caption Detection and Extraction in the DCT Compressed Domain

A Novel Statistical Distortion Model Based on Mixed Laplacian and Uniform Distribution of Mpeg-4 FGS

Semi-Hierarchical Based Motion Estimation Algorithm for the Dirac Video Encoder

Stereo Vision Image Processing Strategy for Moving Object Detecting

Reversible Wavelets for Embedded Image Compression. Sri Rama Prasanna Pavani Electrical and Computer Engineering, CU Boulder

Video Stabilization, Camera Motion Pattern Recognition and Motion Tracking Using Spatiotemporal Regularity Flow

Coding of Coefficients of two-dimensional non-separable Adaptive Wiener Interpolation Filter

A Study on Block Matching Algorithms for Motion Estimation

Low Discrepancy Sequences Applied in Block Matching Motion Estimation Algorithms

Star Diamond-Diamond Search Block Matching Motion Estimation Algorithm for H.264/AVC Video Codec

Obstacle-Aware Longest-Path Routing with Parallel MILP Solvers

Multiresolution motion compensation coding for video compression

Performance analysis of Integer DCT of different block sizes.

Fast template matching using bounded partial correlation

CMPT 365 Multimedia Systems. Media Compression - Video

Digital Image Stabilization and Its Integration with Video Encoder

AN AUTOMATED ALGORITHM FOR APPROXIMATION OF TEMPORAL VIDEO DATA USING LINEAR BEZIER FITTING

A VLSI Architecture for H.264/AVC Variable Block Size Motion Estimation

IBM Research Report. Inter Mode Selection for H.264/AVC Using Time-Efficient Learning-Theoretic Algorithms

Coarse-to-Fine Search Technique to Detect Circles in Images

A COST-EFFICIENT RESIDUAL PREDICTION VLSI ARCHITECTURE FOR H.264/AVC SCALABLE EXTENSION

Image Segmentation Based on Watershed and Edge Detection Techniques

Low-Complexity Block-Based Motion Estimation via One-Bit Transforms

A Laplacian Based Novel Approach to Efficient Text Localization in Grayscale Images

The performance of xed block size fractal coding schemes for this model were investigated by calculating the distortion for each member of an ensemble

Blur Space Iterative De-blurring

Modified Directional Weighted Median Filter

Structural Similarity Based Image Quality Assessment Using Full Reference Method

IN designing a very large scale integration (VLSI) chip,

DATA hiding [1] and watermarking in digital images

An Efficient Mode Selection Algorithm for H.264

Image Quality Assessment Techniques: An Overview

A Digital Video Watermarking Algorithm Based on LSB and DCT

Digital Image Steganography Techniques: Case Study. Karnataka, India.

Video Compression System for Online Usage Using DCT 1 S.B. Midhun Kumar, 2 Mr.A.Jayakumar M.E 1 UG Student, 2 Associate Professor

Image Mosaicing with Motion Segmentation from Video

Block Matching 11.1 NONOVERLAPPED, EQUALLY SPACED, FIXED SIZE, SMALL RECTANGULAR BLOCK MATCHING

Multiframe Blocking-Artifact Reduction for Transform-Coded Video

Motion Prediction and Motion Vector Cost Reduction during Fast Block Motion Estimation in MCTF

MONDAY TUESDAY WEDNESDAY THURSDAY FRIDAY SATURDAY SUNDAY

Copyright Detection System for Videos Using TIRI-DCT Algorithm

Transcription:

A Sum Square Error based Successive Elimination Algorithm for Block Motion Estimation J.J. Francis and G. de Jager Department of Electrical Engineering, University of Cape Town Rondebosch, 7700, South Africa {jfrancis,gdj}@dip.ee.uct.ac.za Abstract Block Motion Compensation is used for finding and compressing temporal differences between frames and estimating the motion between frames. Optimal temporal compression demands minimising the error between blocks and this is best accomplished by having as large a search area as possible. Motion estimation, on the other hand, demands a small search area to preserve the coherence of the motion vector field. This paper develops a lower bound on the Sum of Squared Errors (SSE) in terms of the energies of the candidate best match and the search blocks and describes a fast method for calculating the energies of overlapping blocks. The search for a best matching block can then be truncated by eliminating search positions which do not satisfy this bound. The proposed algorithm is compared to an exhaustive search. The results show a reduction in search time and identical motion fields. 1 Introduction Block motion estimation (BME) is use to compress temporal differences between frames in several video compression algorithms, notably MPEG- [7]. BME involves dividing a frame (called the reference frame) into a series of blocks (the search blocks) and for each block finding the position of the best match block, via some criterion, within a region (the search window) of the next frame (called the motion frame) [15]. This paper considers an optimised algorithm for block motion estimation in the context of froth imaging. The performance achieved by block motion compensation depends on the search space. Examining every possible point in the search space leads to best performance at the expense of speed. This is the exhaustive search algorithm against which other block matching algorithms are compared [15, 1]. Several algorithms have been proposed in the literature which examine only a small neighbourhood around the origin of the search, these include, Two Dimensional Logarithmic Search[17], Block Based Gradient Descent Search [14], Conjugate Search [15], Cross Search [6], Dynamic Search Window Adjustment [10], Four Step Search [16], Improved Three Step Search [4], Modified Three Step Search [11], One Dimensional Full Search [5], and Three Step Search [15]. These algorithms are suboptimal in that they trade performance for speed. Until the development of the Successive Elimination Algorithm (SEA) by Li and Salari [1] a full search involved examining every point within a search window (or for temporal compression, the entire frame). The SEA, on the other hand, generates upper and lower bounds on the sum of pixels in the best match block and, having pre-calculated the sum of pixels for every possible best match block, reduces the size of the search space for every improvement in the match. Li and Salari s SEA is tied to the use of the Minimum Absolute Difference (MAD) error measure to measure the match. The algorithm described in this paper uses a similar process of calculating upper and lower bounds, but uses the SSE error estimate. The SSE has the advantage of being directly related to the correlation of the reference and motion blocks. This paper begins by briefly overviewing the SEA algorithm and block motion estimation and then derives the bounds on SSE. An experimental comparison of the SSE based algorithm and a full-search is made and finally the results are discussed. 1.1 Some definitions Denoting the search block by vector g and the candidate best match block by vector f, the following norms may be defined [9]: l p (g) = g p = p g k p (1) The sum of pixels within the search and best match k

blocks can be seen to be l 1 (g) and l 1 (f) respectively. The l norm is defined as the Euclidean, or inner norm, and may be derived from the inner product as follows: The inner product may be defined as: f = f, f () f, g = k f k g k (3) The Sum of absolute differences (SAD) may be defined as [15]: SAD(f, g) = MAD(f, g) = f g 1 (4) The SSE and Mean Square Error (MSE) may be defined as [15]: SSE(f, g) = MSE(f, g) = f g, (5) where is the number of elements within vectors f or g. An overview of the Successive Elimination Algorithm The Successive Elimination Algorithm generates bounds on the error measure. Only if a candidate best match block lies within these bounds is the the computationally expensive error measure computed. This naturally leads to a faster algorithm. The initial algorithm of Li and Salari as well as some previous attempts to impose bounds on the SSE error measure are examined..1 Li and Salari This is a refinement of the BME process [1]. BME involves dividing a frame (the search frame) into a series of blocks or search blocks. The search blocks are individually correlated with another frame (called the reference frame) to find the best match position. The difference between the best match position and the corresponding (x, y) coordinates of the search block on the reference frame, gives the motion vector. The SEA algorithm uses the SAD to derive bounds on the sum of pixels within the best match block. The lower bound on the SEA is can be shown to be [1, 19, ]: SAD(f, g) f 1 g 1, (6) where f 1 denotes the sum of pixels in the search block, g 1 denotes the sum of pixels in the current best match block under consideration, and SAD(f, g) is the SAD of the best match thus far. Equation 7 and 8 shows the bounds. f 1 SAD(f, g) g 1 f 1 + SAD(f, g) (7) Dividing by the number of pixels within a block, f 1 MAD(f, g) g 1 f 1 + MAD(f, g) (8). Attempts to bound the SSE Wang and Mercerau [19] describe a lower bound on the MSE in terms of the difference of the averages of the search and candidate best match block. Brunig and iehsen make use of a similar bound []. Given the Cauchy-Swartz inequality for vectors a and b [9]: a T b a b (9) If one sets a to be a column vector of ones, and allows b to be the pixel differences for the error measure, equation 9 becomes: f g 1 f g and squaring, SAD SSE (10) MAD MSE (11) Applying the SEA lower bound (equation 6) leads to: ( f 1 g 1 ) MAD MSE (1) This allows Li and Salaris s algorithm to be used with only one modification. The Li and Salari bounds are replaced by the give inequality and only pixels which satisfy this inequality have the computationally expensive MSE (or SSE) evaluated. Wang and Mercereau also apply Partial Distortion Elimination (PDE) to speed the computation of the MSE. Brunig and iehsen further explore splitting blocks into smaller regions in order to generate a tighter bound on the error measure used. A form of PDE is suggested to speed the computation of the error measure. These optimisations are neglected here, since they do not reduce the number of times the SSE error measure is evaluated, but simply optimise that evaluation.

.3 Fast computation of block sums Clearly computing the sum of pixels of overlapping blocks can be computationally expensive. Li and Salari [1] proposed a fast method for calculating the sum of pixels (or sum-norms). The calculation proceeds as follows for block size on an image I (neglecting blocks which touch or overlay the image borders), with the result stored in image S.: 1. Row sums are generated. The sum at a pixel is: S(x, y) = S(x 1, y)+i (x+, y) I (x 1, y) (13). The column sums are generated. The sum at a pixel is: S(x, y) = S(x, y 1)+S(x, y+ ) S(x, y 1) (14) This requires + arithmetic operations per block (neglecting blocks at the borders of the image and initial calculations to initialise the row and column sums). 3 Derivation of the Bounds on the SSE The process of computing upper and lower bounds on the Sum Squared Error (SSE) is explored here. The Cauchy- Swartz inequality f, g f g may be applied to the SSE set an upper bound on the cross-correlation peak [18]: SSE = f g from equation 5, = f, f f, g + g, g f f g + g ( f g ) (15) Where f and g denote the square root of the energy within the search and candidate best match blocks. Equation 15 has roots: ( f g + SSE)( f g SSE) 0 g SSE f g + SSE (16) or, g + SSE f g SSE (17) Unlike equation 16, only equation 17 is consistent for real numbers larger than, or equal to, one. This equation then gives a upper and lower bound on the square root of the energy of the candidate best match block. The SSE, which is expensive to compute, is only computed for pixels which satisfy the lower bound in equation 15, or alternatively, equation 17. It should be noted that the same method employed by the SEA to pre-calculate the sumnorms, or sum of pixels within a block, can be used by the proposed algorithm. The only modification is before the sumnorms are calculated, the pixels are replaced by their squared values. A further optimisation for motion estimation involves pre-calculating the energies for both frames since the search blocks now overlap (the original SEA only computed sum-norms for the motion frame [1]). 4 Experimental results An experimental comparison of the proposed SSE bound, an exhaustive search using SSE, and Wang and Mercereau s bound is made. A border ten pixels wide was neglected to account for edge effects in the motion estimation. Both algorithms employ a block size of 7 7 pixels and and a search window of 11 11 pixels centered on the position of the search bock in the reference frame. These parameters are selected arbitrarily and are expected to be data dependent. Figures 1(a) and 1(b) show two frames of a froth video sequence used to compare the performance of the algorithms. The reference frame is figure 1(a) and the motion frame is figure 1(b). Figure shows the motion vector field, a registered image and an error image. The registered image is computed by predicting the reference frame from the motion frame using the motion field. The motion field shows the predicted position of a reference pixel in the motion frame. An average of the pixels in the motion frame can be computed around this position (the averaging is Gaussian with a sigma of 0.8 and a neighbourhood of 7 7). Again these parameters were arbitrarily selected. The error image is the absolute difference between the registered image and the reference image. For display purposes the image is inverted (each pixel is subtracted from the maximum pixel value). The peaks in the difference image and the corresponding regions in the registered image show regions where the block matching algorithm did not describe the motion well. Comparison with the motion field show these regions which were not predicted well, had discontinuities in the motion field. The registration error for all algorithms is.0 10 6. The sum of the MSE for the motion estimate at each pixel examined is 6.99 10 6 for all the algorithms.

The motion fields are shown by a pixel by pixel comparison to be identical for the algorithms considered. This is expected. The proposed algorithm evaluates the computationally expensive MSE at 6 736 50 points. The exhaustive search evaluates the error measure at 16 846 48 points. The proposed algorithm shows an improvement of a factor of.5 over the exhaustive search. Wang and Mercereau s algorithm evaluates the MSE 16 471 974 times, a marginal improvement of a factor of 1.0 over the exhaustive search. ote that the computational savings of all the considered algorithms are likely to be data dependent. 5 Conclusions The proposed algorithm provides the same results as the exhaustive search algorithm but require fewer computations. The algorithm places bounds on the energy of the candidate best match blocks. This allows the search space to be reduced each time a better match is found without sacrificing accuracy. The algorithm is suitable for motion estimation (and its use of small search areas) and searching the entire frame, if needed, for temporal compression. The expected savings in computations can be expected to increase as the search window and size of the blocks increases. Comparing the number of MSE evaluations as generated by Wang and Mercereau bound with the proposed bound, show the proposed bound is tighter. This is shown to increase the speed of the algorithm. This method implies a fast algorithm for finding crosscorrelation peaks for general use. References [1] Oscar C. Au, Yiu-Hung Fok, and Ross D. Murch. ovel fast block motion estimation in feature space. In ICIP 94 Volume III of III, volume 3 of ICIP 94, pages 09 1, 1994. [] Michael Brunig and Wolfgang iehsen. Fast full search block matching. IEEE Transactions on circuits and systems for video technology, 11():41 47, February 001. [3] Liang-Gee Chen, Wia-Ting Chen, Yeu-Shen Jehng, and Tzi-Dar Chiueh. An efficient parallel motion estimation algorithm for digital image processing. IEEE Transactions on Circuits and Systems for Video Technology, 1(4):378 385, December 1991. [4] Liang-Gee Chen, Tzi-Dar Chiueh, and Her-Ming Jong. Accuracy improvement and cost reduction of 3-step search block matching algorithm for video coding. IEEE Transactions on Circuits and Systems for Video Technology, 4(1):88 90, February 1994. [5] Mei-Juan Chen, Liang-Gee Chen, and Tzi-Dar Chiueh. One-dimensional full search motion estimation algorithm for video coding. IEEE Transactions on Circuits and Systems for Video Technology, 4(5):504 509, October 1994. [6] M. Ghanbari. The cross-search algorithm for motion estimation. IEEE Transactions on Communications, 38 o 7:950 953, July 1990. [7] Caspar Horne, T. aveen, and Ali Tabatabai. Study of the characteristics of the MPEG 4:: profile - application of the MPEG in studio environment. IEEE Transactions on Circuits and Systems for Video Technology, 6(3):51 7, June 1996. [8] S. Kappagantula and K. R. Rao. Motion compensated interframe image prediction. IEEE Transactions on Communications, COM-33(9):1011 1015, September 1985. [9] James P. Keener. Principles of applied Mathematics. Transformations and Applications. Addison-Wesley, 1988. [10] Liang-Wei Lee, Jau-Yien Lee, and Jhing-Fa Wang. Dynamic search-window adjustment and interlaced search for block-matching algorithm. IEEE Transactions on circuits and systems for video technology, 3(1):85 87, February 1993. [11] Renxiang Li, Ming L. Liou, and Bing Zeng. A new three-step search algorithm for block motion estimation. IEEE Transactions on Circuits and Systems for Video Technology, 4(4):438 44, August 1994. [1] W. Li and E. Salari. Successive elimination algorithm for motion estimation. IEEE Transactions On Image Processing, 4(1):105 107, January 1995. [13] Yih-Chuan Lin and Shen-Chuan Tai. Fast full-search block-matching algorithm for motion compensated video compression. IEEE Transactions on Communications, 45(5):57 531, May 1997. [14] Lunrng-Kuo Liu and Ephraim Feig. A block-based gradient descent search algorithm for block motion estimation in video coding. IEEE Transactions on Circuits and Systems for Video Technology, 6(4):419 4, August 1996.

(a) Frame 1. (b) Frame. FIGURE 1: The data set used. [15] H. G. Musmann, P. Pirsh, and H. J. Grallert. Advances in picture coding. Proceedings of the IEEE, 73(4):53 531, April 1985. IEEE Transactions on Image Processing, 8(3):435 438, March 1999. [16] Lai-Man Po and Wing-Chung Ma. A novel four-step search algorithm for fast block motion estimation. IEEE Transactions on Circuits and Systems for Video Technology, 6(3):313 317, June 1996. [17] Ram Srinivasan and K. R. Rao. Predictive coding based on efficient motion estimation. IEEE Transactions on Communications, COM-33(8):888 896, August 1985. [18] F. G. Stremler. Introduction to communications systems. Addison-Wesley, 1990. [19] Huan-Sheng Wang and R. M. Mersereau. Fast algorithms for the estimation of motion vectors.

(a) Motion Field. (b) Registered Image. (c) Difference (inverted) between original and registered image. FIGURE : Applying the algorithms.