Module 7 VIDEO CODING AND MOTION ESTIMATION

Similar documents
Module 7 VIDEO CODING AND MOTION ESTIMATION

Module 7 VIDEO CODING AND MOTION ESTIMATION

Motion Estimation for Video Coding Standards

Overview: motion estimation. Differential motion estimation

Enhanced Hexagon with Early Termination Algorithm for Motion estimation

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

An Adaptive Cross Search Algorithm for Block Matching Motion Estimation

Motion estimation for video compression

CMPT 365 Multimedia Systems. Media Compression - Video

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

Cost Functions in Machine Learning

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

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

ELEC Dr Reji Mathew Electrical Engineering UNSW

Compression of Stereo Images using a Huffman-Zip Scheme

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

An Investigation of Block Searching Algorithms for Video Frame Codecs

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

Using animation to motivate motion

Implementation of H.264 Video Codec for Block Matching Algorithms

LECTURE VIII: BASIC VIDEO COMPRESSION TECHNIQUE DR. OUIEM BCHIR

AN ADJUSTABLE BLOCK MOTION ESTIMATION ALGORITHM BY MULTIPATH SEARCH

Aiyar, Mani Laxman. Keywords: MPEG4, H.264, HEVC, HDTV, DVB, FIR.

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

Redundancy and Correlation: Temporal

A High Sensitive and Fast Motion Estimation for One Bit Transformation Using SSD

Fast Block-Matching Motion Estimation Using Modified Diamond Search Algorithm

Image Processing

CHAPTER 5 MOTION DETECTION AND ANALYSIS

Biomedical Image Analysis. Point, Edge and Line Detection

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

Learning to Detect Faces. A Large-Scale Application of Machine Learning

Unsupervised Learning and Clustering

Pattern Recognition. Kjell Elenius. Speech, Music and Hearing KTH. March 29, 2007 Speech recognition

Particle Swarm Optimization applied to Pattern Recognition

EECS490: Digital Image Processing. Lecture #19

Solutions for Operations Research Final Exam

6.801/866. Segmentation and Line Fitting. T. Darrell

Combinatorial optimization and its applications in image Processing. Filip Malmberg

MultiFrame Fast Search Motion Estimation and VLSI Architecture

1 Case study of SVM (Rob)

Overview: motion-compensated coding

Chapter 10. Basic Video Compression Techniques Introduction to Video Compression 10.2 Video Compression with Motion Compensation

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

16720 Computer Vision: Homework 3 Template Tracking and Layered Motion.

POWER CONSUMPTION AND MEMORY AWARE VLSI ARCHITECTURE FOR MOTION ESTIMATION

Efficient Block Based Motion Estimation

MODULE 6 Different Approaches to Feature Selection LESSON 10

Low Discrepancy Sequences Applied in Block Matching Motion Estimation Algorithms

Enhanced Hexagonal Search for Fast Block Motion Estimation

Dynamic Obstacle Detection Based on Background Compensation in Robot s Movement Space

Supervised vs. Unsupervised Learning

VIDEO OBJECT SEGMENTATION BY EXTENDED RECURSIVE-SHORTEST-SPANNING-TREE METHOD. Ertem Tuncel and Levent Onural

6. Linear Discriminant Functions

Part 3: Image Processing

Extended Target tracking using projection curves analysis and matching Pixel count

Random Traversing Based Reversible Data Hiding Technique Using PE and LSB

A Comparative Approach for Block Matching Algorithms used for Motion Estimation

K-Means. Oct Youn-Hee Han

Correlation and Relaxation Labelling---An Experimental Investigation on Fast Algorithms

EE368 Project: Visual Code Marker Detection

Mixture Models and the EM Algorithm

.. Spring 2017 CSC 566 Advanced Data Mining Alexander Dekhtyar..

Connected components - 1

CSIT 691 Independent Project

Joint Adaptive Block Matching Search (JABMS) Algorithm

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

Multiresolution motion compensation coding for video compression

[7.3, EA], [9.1, CMB]

Fobe Algorithm for Video Processing Applications

CHAPTER 6 INFORMATION HIDING USING VECTOR QUANTIZATION

Image Segmentation for Image Object Extraction

Implementation Of A Java Applet For Demonstration Of Block-Matching Motion- Estimation Algorithms

Computer vision: models, learning and inference. Chapter 13 Image preprocessing and feature extraction

9.9 Coherent Structure Detection in a Backward-Facing Step Flow

Iterative Algorithms I: Elementary Iterative Methods and the Conjugate Gradient Algorithms

Capturing, Modeling, Rendering 3D Structures

CHAPTER 4 IMPLEMENTATION OF BACK PROPAGATION ALGORITHM NEURAL NETWORK FOR STEGANALYSIS

Adding Integers. Unit 1 Lesson 6

Comparative Study of ROI Extraction of Palmprint

EE795: Computer Vision and Intelligent Systems

Fast Block-Based True Motion Estimation Using Distance Dependent Thresholds Golam Sorwar

COMPARATIVE STUDY OF IMAGE EDGE DETECTION ALGORITHMS

INF4820. Clustering. Erik Velldal. Nov. 17, University of Oslo. Erik Velldal INF / 22

Robust Ring Detection In Phase Correlation Surfaces

Chapter 10 Image Segmentation. Yinghua He

EL6123 Video Processing Midterm Summary Spring 09. Yao Wang Polytechnic Institute of NYU Brooklyn, NY 11201

4.12 Generalization. In back-propagation learning, as many training examples as possible are typically used.

3D Point Cloud Processing

Cluster Analysis. Mu-Chun Su. Department of Computer Science and Information Engineering National Central University 2003/3/11 1

Fast Optical Flow Using Cross Correlation and Shortest-Path Techniques

Today. Gradient descent for minimization of functions of real variables. Multi-dimensional scaling. Self-organizing maps

Image Registration Lecture 4: First Examples

Low Complexity Block Motion Estimation Using Morphological-based Feature Extraction and XOR Operations

RIGID IMAGE REGISTRATION

Integers and Rational Numbers

Local Image Registration: An Adaptive Filtering Framework

10.2 Video Compression with Motion Compensation 10.4 H H.263

WEINER FILTER AND SUB-BLOCK DECOMPOSITION BASED IMAGE RESTORATION FOR MEDICAL APPLICATIONS

Unsupervised Learning and Clustering

Transcription:

Module 7 VIDEO CODING AND MOTION ESTIMATION Version ECE IIT, Kharagpur

Lesson Block based motion estimation algorithms Version ECE IIT, Kharagpur

Lesson Objectives At the end of this less, the students should be able to:. Name and define the matching criteria for block motion estimation.. Determine the computational complexity of each matching criterion 3. Explain full search block motion (FSBM) estimation. 4. Determine the computational complexity in FSBM. 5. State the fundamental assumption of quick search strategy. 6. Explain -D logarithmic search strategy. 7. Determine the computational complexity of -D logarithmic search..0 Introduction In lesson 0, we had introduced video codecs and discussed the role of motion estimation block. We had pointed out that block-based motion estimation is preferred over pixel based methods in practical implementations. In this lesson we are going to cover different popular algorithms on motion estimation, proposed till date. The simplest, but the most time consuming one is the full search block motion (FSBM) estimation that exhaustively searches for the best motion vector of each block within a specified search range. However searching in every candidate position increases the computational complexity of the algorithm. Several quick and efficient search methodologies, such as -D Logarithmic search, three steps search (TSS), new three steps search (NTSS), cross search, gradient descent search, four step search etc. have been proposed in recent times. These algorithms are suboptimal in performance, as compared to FSBM, but significantly reduce the computational complexities. In this lesson, we shall first define different matching criteria used for block-based motion estimation. This will be followed by FSBM and the -D Logarithmic search. The other quick search algorithms will be presented in lesson-.. Matching Criteria for block-based motion estimation Three popular matching criteria used for block-based motion estimation are:- a) Mean of squarred error (MSE) b) Mean of absolute difference (MAD) c) Matching pel count (MPC) Version ECE IIT, Kharagpur

To implement the block motion estimation, the candidate video frame is partitioned into a set of non overlapping blocks and the motion vector is to be determined for each such candidate block with respect to the reference. For each of these criteria, square block of size N x N pixels is considered. The intensity value of the pixel at coordinate ( n,n ) in the frame k is given by S ( n, n, k), where 0 n, n N. The frame k is referred to as the candidate frame and the block of pixels defined above is the candidates block. With these definitions, we now define the matching criteria... MSE Criterion l for backward motion estimation, the mean square error of a block of pixels computed at a displacement (I,j) in the reference frame is given by Considering (k-l) as the past references frame ( > 0) N N N MSE ( i, j) = s( n, n, k) s( n + i, n + j, k l)] [ n= 0 n= 0..(.) The physical significance of the above equation should be well understood. We consider a block of pixels of size N x N in the reference frame, at a displacement of ( i, j), where i and j are integers with respect to the candidate block position. i, within a specified search range in the reference image and the displacement that gives the minimum value of MSE is the displacement vector which is more commonly known as motion vector and is given by The MSE is computed for each displacement position ( j) [ d, d ] arg min[ MSE( i, j) = ] (.) i, j The MSE criterion defined in equation (.) requires computation of N subtractions, N multiplications (squaring) and ( N ) additions for each candidate block at each search position. This is computationally costly and a simpler matching criterion, as defined below is often preferred over the MSE criterion.... MAD criterion: Like the MSE criterion, the mean of absolute difference (MAD) too makes the error values as positive, but instead of summing up the squared differences, the absolute differences are summed up. The MAD measure at displacement ( i, j) is defined as Version ECE IIT, Kharagpur

MAD N N N ( i, j) = s( n, n, k) s( [ n + i, n + j, k l)] n= 0 n= 0 (,3) The motion vector is determined in a manner similar to that for MSE as [ d, d ] arg min[ MAD( i, j) = ] (.4) i, j The MAD criterion requires computations of N subtractions with absolute values and N additions for each candidate block at each search position. The absence of multiplications makes this criterion computationally more attractive and facilitates easier hardware implementation... MPC criterion : In this criterion, the pixels of the candidates block B are compared with the corresponding pixels in the block with displacement ( i, j) in the reference frame and those which are less than a specified threshold, i.e., closely matched are counted. The count for matching and the displacement ( i, j) for which the count is maximum correspond to the motion vector. We define a binary valued function count n, n n n ( ) ( ) B as, ( n, n, k) s( n + i, n + j, k l) if s θ count ( n, n ) = (.5) 0 otherwise where, θ is a pre-determined threshold. The matching pel count (MPC) at displacement ( i, j) is defined as the accumulated value of matched pixels as given by MPC N N ( i, j) = count( n= 0 n= 0 n, n [ d, d ] arg max[ MPC( i, j) ] = i, j ) (.6). Full-search block motion (FSBM) estimation In FSBM estimation, the search for the candidate block is exhaustively carried out in all possible positions within a specified search range ± w in the reference frame. Fig. illustrates this principle Version ECE IIT, Kharagpur

We consider a block of N x N pixels from the candidates frame at the coordinate position (r,s) as shown. We then consider a search window having a range ± w in both and n directions in the references frame, as shown. n For each of the ( w +) search position (including the current row and the current column of the reference frame), the candidate block is compared with a block of size N x N pixels, according to one of the matching criteria discussed in section. and the best matching block, along with the motion vector is determined only after all the w + search position are exhaustively explored. ( ) The FSBM is optimal in the sense that if the search range is correctly defined, it is guaranteed to determine the best matching position. However, it is highly computational intensive. For each matching position, we require O ( N ) computations (additions, subtractions, multiplications etc) and since there are ( w +) search positions, the number of computations for each matching criterion is given by Table. Version ECE IIT, Kharagpur

Table. Computational complexity of FSBM Matching Criterion Computations Additions/ Subtractions w + w + w + Multiplication Comparison MSE ( N )( ) N ( w + ) ( w +) MAD ( N )( ) --- ( w +) MPC ( N )( ) ---- N ( w + ) We therefore conclude that FSBM requires large number of computations. Say, we take w = 7 pixels, measuring that the best matching position exists within a displacement of ± 7 pixels from he current block position, we require 5 x 5=5 search positions. For real time implementation, quick and efficient search strategies were explored. It may be noted that such quick search techniques do not make exhaustive search within the search within the search area and can at best be sub-optimal..3 Quick and efficient search strategies The quick and efficient search strategies work with a heuristic assumptions that as we move away from the minimum distortion position, the distortion function (given by the MSE or the MAD criterion) monotonically increases in any of the four quadrants that can be formed with the best search position as the origin. Some of the popular and efficient search strategies are explained below..3. -D Logarithmic search : In this search strategy originally proposed by Jain and Jain [], an initial search window is considered, with an assumed best position as its centre. The initial guess of the best position may be taken as the position of the candidate block with respect to the candidate frame. Instead of searching in all possible displacement positions within the search window, search is done only in five locations which contains the centre and the mid points between the centre and the four edges of the search window. The minimum distortion position out of these five search positions is taken as the new guess of the best position and is considered as the centre of the search window for the next step, in which the search area is reduced by a factor of two. This algorithm is iteratively continued until the search window is reduced to 3 x 3 size. In the final step, all the nine locations are searched and the location corresponding to the minimum distortion is the best matching position. The corresponding displacement of the best matching position with respect to the candidate block coordinates gives the motion vector. Version ECE IIT, Kharagpur

The -D logarithmic search strategy is illustrated in Fig... The numbers indicate search steps, those circled show the optimum position for that search step and the * shows the final optimum position. Version ECE IIT, Kharagpur