Implementation Of Four Step Search (FSS) Algorithm For Motion Estimation Using MATLAB.

(1)

i

IMPLEMENTATION OF FOUR STEP SEARCH (FSS) ALGORITHM FOR

MOTION ESTIMATION USING MATLAB

WONG CHEONG LUN

This report is submitted in partial fulfillment of the requirements for the award of

Bachelor of Electronic Engineering (Telecommunication Electronics) With Honours

Faculty of Electronic and Computer Engineering

Universiti Teknikal Malaysia Melaka


(2)

ii

UNIVERSTI TEKNIKAL MALAYSIA MELAKA

FAKULTI KEJURUTERAAN ELEKTRONIK DAN KEJURUTERAAN KOMPUTER BORANG PENGESAHAN STATUS LAPORAN

PROJEK SARJANA MUDA II

Tajuk Projek : ………

Sesi

Pengajian : ………

Saya ………..

(HURUF BESAR)

mengaku membenarkan Laporan Projek Sarjana Muda ini disimpan di Perpustakaan dengan syarat-syarat kegunaan seperti berikut:

1. Laporan adalah hakmilik Universiti Teknikal Malaysia Melaka.

2. Perpustakaan dibenarkan membuat salinan untuk tujuan pengajian sahaja.

3. Perpustakaan dibenarkan membuat salinan laporan ini sebagai bahan pertukaran antara institusi pengajian tinggi.

4. Sila tandakan ( ) :

SULIT*

(Mengandungi maklumat yang berdarjah keselamatan atau kepentingan Malaysia seperti yang termaktub di dalam AKTA RAHSIA RASMI 1972)

TERHAD* (Mengandungi maklumat terhad yang telah ditentukan oleh organisasi/badan di mana penyelidikan dijalankan)

TIDAK TERHAD

Disahkan oleh:

__________________________ ___________________________________

(TANDATANGAN PENULIS) (COP DAN TANDATANGAN PENYELIA)

Alamat Tetap: ………...

………...

Tarikh: ……….. Tarikh: ………..

Implementation of Four Step Search Algorithm for Motion Estimation 2009/2010

WONG CHEONG LUN

T9, Taman Jerantut


(3)

iii

“I hereby declare that this report is the result of my own work except for

quotes as

cited in the references.”

Signature

:

Author

: WONG CHEONG LUN

Date

:


(4)

iv

“I hereby declare that I have read this report and in my opinion this report is

sufficient in terms of the scope and quality for the award of bachelor of Electronic

Engineering (Telecommunication

Electronics) With Honours.”

Signature

:

Supervisor‟s Name

: ENCIK REDZUAN BIN ABDUL MANAP


(5)

v

Dedicated to my beloved family especially my father and mother, lecturers, and also

to all my friends


(6)

vi

ACKNOWLEDGEMENT

First and foremost, I would like to praise God for His blessing. He gave me

physical and mental strength to carry on my final year project until completion.

I would like to express gratitude and thanks to my supervisor, Mr.Redzuan

Bin Abdul Manap for his support and patience throughout the duration of the project.

His encouragement and guidance are truly appreciated. Without it, this project has

not been possible. I have learnt a lot under his guidance, be it practically or

theoretically. Other than that, I am also grateful to my friends Kong Khee Kian and

Siow Chan Hoel who help me and giving me opinion during the implementation of

this project. I would like to thanks my parent on their moral support as I can count on

them whenever I am upset or down.

Finally, I would like to offer thanks and deepest gratitude from the bottom of

my heart for all the support, encouragement and inspirations I obtained throughout

the duration of this project. The help rendered to me priceless, be it from the smallest

of its kind to the largest.


(7)

vii

ABSTRACT

To achieve high compression ratio in video coding, a technique known as

Block Matching Motion Estimation has been widely adopted in various coding

standards. This technique is implemented conventionally by exhaustively testing all

the candidate blocks within the search window .This type of implementation, called

Full Search (FS) Algorithm, gives the optimum solution. However, substantial

amount of computational workload is required in this algorithm. To overcome this

drawback, many fast Block Matching Algorithms (BMAs) have been proposed and

developed .Different search patterns and strategies are exploited in these algorithms

in order to find the optimum motion vector with minimal number of required search

points.

One of these fast BMAs, which is proposed to be implemented in this project,

is called Four Step Search (FSS) Algorithm. The student is required to implement the

algorithm in MATLAB and then compare its performance to FS algorithm as well as

to other fast BMAs in terms of the peak signal-to-noise ratio (PSNR), number of

required search points and computational complexity.


(8)

viii

ABSTRAK

Untuk mencapai nisbah mampatan video yang tinggi dalam proses

pengekodan video, Satu teknik dikenali sebagai

Block Matching Motion Estimation

sering digunakan.

Block Matching Motion Estimation

digunakan secara konvenskyen

dengan menguji setiap blok dalam tingkap pencarian. Teknik ini, dikenali sebagai

algoritma

Full Search (FS)

, member kualiti video yang optima. Walaubagaimanapun

algoritma ini memberi kualiti video yang optima, namum, algoritma ini mewujudkan

beban pemprosesan yang banyak dan seterusnya melambatkan pemprosesan tersebut.

Bagi mengatasi masalah tersebut, banyak algoritma

Block Matching

yang ringkas

dikaji dan dicadangkan. Pelbagai corak carian dan strategi telah dieksploitasi dalam

algoritma-algoritma ini untuk mencari vektor pergerakan yang optima dengan

menggunakan jumlah titik pencarian yang minima.

Tujuan utama projek ini ialah untuk melaksanakan salah satu algoritma

tersebut, dikenali sebagai

Four Step Search

di dalam MATLAB. Prestasi algoritma

ini akan dianalisis dan dibandingkan dengan algoritma FS serta algoritma-algoritma

yang lain dalam bentuk nisbah kuasa isyarat dengan hingar (PSNR) dan nombor titik

pencarian.


(9)

ix

TABLE OF CONTENTS

CHAPTER TITLE

PAGE

ACKNOWLEDGEMENT

vi

ABSTRACT

vii

ABSTRAK

viii

TABLE OF CONTENTS

ix

LIST OF TABLES

xii

LIST OF FIGURES

xiii

LIST OF ABBREVIATION

xvii

LIST OF APPENDIX

xviii

I

INTRODUCTION

1.1

Introduction

1

1.2

Problem Statement

3

1.3

Objective

3

1.4

Scopes Of Work

4

1.5

Thesis Structure

4

II

LITERATURE REVIEW

2.1

Motion Estimation Algorithm

6

2.2

Block Matching Algorithm

9

2.3

Search Methode

12

2.3.1 Three Step Search Algorithm

13


(10)

x

Four Step Search Algorithm

15

Diamond Search Algorithm

19

III

PROJECT METHODOLOGY

3.1

Introduction

22

3.2

Step 1: Project Planning

23

3.2.1 Flow Chart Diagram

24

3.3

Step 2: Literature review

19

3.3.1 Description of FSS algorithm

25

3.4

Step 3: Video Uploading using MATLAB Software

27

3.4.1 Using MATLAB to Implement FSS Algorithm

27

3.5.

Step 4: Frame Extraction

27

3.6

Step 5: Block Construction

29

3.7

Step 6: Implementation of Four Step Search Algorithm

30

3.8

Step 7: Reconstruction of Predicted Frame

30

3.9

Step 8: Performance Analysis

30

3.9.1 Point Signal Noise-to-Ratio (PSNR)

30

3.9.2 Types of Picture Format

31

3.9.2.1 Common Intermediate Format

31

3.9.2.2 Quarter Common Intermediate Format

32

3.9.3 Video Sequence

33

3.9.3.1 Video File

33

3.9.3.2 Video File Characteristics

33

3.10

Presentation of Result

34

IV

RESULT AND DISCUSSION

4.1

Result

35

4.2

First Stage Result

36

4.3

Second Stage Result

37


(11)

xi

4.5

Discussion

63

V

CONCLUSION AND RECOMMENDATION

5.1

Conclusion

65

5.2

Recommendation

65


(12)

xii

LIST OF TABLES

NO

TITLE

PAGE

3.1

Picture format supported

32

3.2

Type of video file

33

3.3

Characteristics of video file

33

4.1

Average PSNR for FS, TSS, NTSS, FSS and DS algorithm (1

st

frame)

36

4.2

Average Searching point for FS, TSS, NTSS, FSS and DS algorithm

36

(1

st

frame)

4.3

Elapsed Time for FS, TSS, NTSS, FSS and DS algorithm (1

st

frame)

36

4.4

Average PSNR for FS, TSS, NTSS, FSS and DS algorithm

37

(1

st

-30

th

frame)

4.5

Average Searching point for FS, TSS, NTSS, FSS and DS algorithm

37

(1

st

-30

th

frame)

4.6

Elapsed Time for FS, TSS, NTSS, FSS and DS algorithm

37

(1

st

-30

th

frame)

4.7

Average PSNR for FS, TSS, NTSS, FSS and DS algorithm

50

(1

st

-99

th

frame)

4.8

Average Searching point for FS, TSS, NTSS, FSS and DS algorithm

50

(1

st

-99

th

frame)

4.9

Elapsed Time for FS, TSS, NTSS, FSS and DS algorithm

50

(1

st

-99

th

frame)


(13)

xiii

LIST OF FIGURES

NO

TITLE

PAGE

2.1

Motion estimation block diagram

6

2.2

Basic geometry

7

2.3

Motion estimation algorithms

8

2.4

Motion estimation and motion vector

10

2.5

Filled circles are the checking points in the first point‟s step of TSS,

Squares are the 8 extra points added in the first step of NTSS and

triangles explain how the second step search is performed id the

minimum BDM in the first step is at one of the neighbors of the

window center.

15

2.6

Search patterns of the FSS.

17

2.7

Two large motion search paths of four step search algorithm.

18

2.8

Two small search paths of four step search algorithm.

18

2.9

An appropriate search pattern support-circular area with radium of 2

19

pels. The crosses show all possible checking points within the

circle.

2.10

Two search patterns derived from Fig. 2 are employed in the proposed

19

DS algorithm

2.11

Three cases of checking-point overlapping in LDSP.

20

2.12

Search path example which leads to the motion vector (

−4, −2) in

five

21

search steps

3.1

Flow chart diagram for project

24

3.2

Flow chart diagram of operation FSS algorithm

26

3.3

Extracted frame number thirty

28


(14)

xiv

3.5

Block construction in number

29

3.6

Block construction in image

29

4.1

Average PSNR for FS, TSS, NTSS, FSS and DS algorithm in Akiyo.avi 38

(1

st

-30

th

frame)

4.2

Average Searching point for TSS, NTSS, FSS and DS algorithm in

38

Akiyo.avi (1

st

-30

th

frame)

4.3

Original image in Akiyo.avi (2

nd

stage)

39

4.4

Predicted image for FS, TSS, NTSS, FSS, DS in Akiyo.avi (2

nd

stage)

39

4.5

Average PSNR for FS, TSS, NTSS, FSS and DS algorithm in

40

Coastguard.avi (1

st

-30

th

frame)

4.6

Average Searching point for TSS, NTSS, FSS and DS algorithm in

40

Coastguard.avi (1

st

-30

th

frame)

4.7

Original image in Coastguard.avi (2

nd

stage)

41

4.8

Predicted image for FS, TSS, NTSS, FSS, DS in Coastguard.avi

41

(2

nd

stage)

4.9

Average PSNR for FS, TSS, NTSS, FSS and DS algorithm in News.avi

42

(1

st

-30

th

frame)

4.10

Average Searching point for TSS, NTSS, FSS and DS algorithm in

42

News.avi (1

st

-30

th

frame)

4.11

Original image in News.avi (2

nd

stage)

43

4.12

Predicted image for FS, TSS, NTSS, FSS, DS in News.avi (2

nd

stage)

43

4.13

Average PSNR for FS, TSS, NTSS, FSS and DS algorithm in

44

Foreman.avi (1

st

-30

th

frame)

4.14

Average Searching point for TSS, NTSS, FSS and DS algorithm in

44

Foreman.avi (1

st

-30

th

frame)

4.15

Original image in Foreman.avi (2

nd

stage)

45

4.16

Predicted image for FS, TSS, NTSS, FSS, DS in Foreman.avi (2

nd

stage) 45

4.17

Average PSNR for FS, TSS, NTSS, FSS and DS algorithm in

46

Tennis.avi (1

st

-30

th

frame)

4.18 Average Searching point for TSS, NTSS, FSS and DS algorithm in

46

Tennis.avi (1

st

-30

th

frame)

4.19

Original image in Tennis.avi (2

nd

stage)

47

4.20

Predicted image for FS, TSS, NTSS, FSS, DS in Tennis.avi (2

nd

stage)

47

4.21

Average PSNR for FS, TSS, NTSS, FSS and DS algorithm in

48


(15)

xv

Salesman.avi (1

st

-30

th

frame)

4.22

Average Searching point for TSS, NTSS, FSS and DS algorithm in

48

Salesman.avi (1

st

-30

th

frame)

4.23

Original image in Salesman.avi (2

nd

stage)

49

4.24

Predicted image for FS, TSS, NTSS, FSS, DS in Salesman.avi (2

nd

stage) 49

4.25

Average PSNR for FS, TSS, NTSS, FSS and DS algorithm in

51

Akiyo.avi (1

st

-99

th

frame)

4.26

Average Searching point for TSS, NTSS, FSS and DS algorithm in

51

Akiyo.avi (1

st

-99

th

frame)

4.27

Original image in Akiyo.avi (3

rd

stage)

52

4.28

Predicted image for FS, TSS, NTSS, FSS, DS in Akiyo.avi (3

rd

stage)

52

4.29

Average PSNR for FS, TSS, NTSS, FSS and DS algorithm in

53

Coastguard.avi (1

st

-99

th

frame)

4.30

Average Searching point for TSS, NTSS, FSS and DS algorithm in

53

Coastguard.avi (1

st

-99

th

frame)

4.31

Original image in Coastguard.avi (3

rd

stage)

54

4.32

Predicted image for FS, TSS, NTSS, FSS, DS in Coastguard.avi

54

(3

rd

stage)

4.33

Average PSNR for FS, TSS, NTSS, FSS and DS algorithm in

55

News.avi (1

st

-99

th

frame)

4.34

Average Searching point for TSS, NTSS, FSS and DS algorithm in

55

News.avi (1

st

-99

th

frame)

4.35

Original image in News.avi (3

rd

stage)

56

4.36

Predicted image for FS, TSS, NTSS, FSS, DS in News.avi (3

rd

stage)

56

4.37

Average PSNR for FS, TSS, NTSS, FSS and DS algorithm in

57

Foreman.avi (1

st

-99

th

frame)

4.38

Average Searching point for TSS, NTSS, FSS and DS algorithm in

57

Foreman.avi (1

st

-99

th

frame)

4.39

Original image in Foreman.avi (3

rd

stage)

58

4.40

Predicted image for FS, TSS, NTSS, FSS, DS in Foreman.avi (3

rd

stage) 58

4.41

Average PSNR for FS, TSS, NTSS, FSS and DS algorithm in

59

Tennis.avi (1

st

-99

th

frame)


(16)

xvi

Tennis.avi (1

st

-99

th

frame)

4.43

Original image in Tennis.avi (3

rd

stage)

60

4.44

Predicted image for FS, TSS, NTSS, FSS, DS in Tennis.avi (3

rd

stage)

60

4.45

Average PSNR for FS, TSS, NTSS, FSS and DS algorithm in

61

Salesman.avi (1

st

-99

th

frame)

4.46

Average Searching point for TSS, NTSS, FSS and DS algorithm in

61

Salesman.avi (1

st

-99

th

frame)

4.47

Original image in Salesman.avi (3

rd

stage)

62

4.48

Predicted image for TSS, NTSS, FSS, DS in Salesman.avi (3

rd

stage)

62


(17)

xvii

LIST OF ABBREVIATION

BDM

-

Block Distortion Measurement

BMA

-

Block Matching Algorithm

CCF

-

Cross Correlation Function

CIF

-

Common Intermediate Format

DS

-

Diamond Search

EBMA

-

Exhaustive Block Matching Algorithm

FS

-

Full Search

FSS

-

Four Step Search

LOGS

-

Logarithm Search

LDSP

-

Large Diamond Search Pattern

MAD

-

Mean Absolute Distance

MBD

-

Minimum Block Distortion

MSD

-

Mean Squared Distance

MV

-

Motion Vector

NCC

-

Normalized Cross-correlation

NTSS

-

New Three Step Search

PDC

-

Pixel Difference Classification

PSNR

-

Point Signal Noise-to-Ratio

QCIF

-

Quarter Common Intermediate Format

RGB

-

Red, Green, Blue

SAD

-

sum of absolute difference

SATD

-

sum of absolute transformed difference

SDSP

-

Small Diamond Search Pattern


(18)

xviii

LIST OF APPENDIX

NO

TITLE

PAGE

A

FSS Algorithm in MATLAB Coding

68


(19)

CHAPTER I

INTRODUCTION

1.1

Introduction

In recent years, several video compression standards had been proposed for

different applications such as CCITT H.261 [1], MPEG-1 [2] and MPEG-2 [3]. One

common feature of these standards is that they use DCT transform coding to reduce

spatial redundancy and block motion estimation/compensation to reduce the temporal

redundancy. In addition, the encoders‟ complexities of these video standards are

dominated by the motion estimation, if full search (FS) is used as the block matching

algorithm (BMA). FS matches all possible displaced candidate blocks within the

search area in the reference frame, in order to find the block with the minimum

distortion. Massive computation is, therefore, required in the implementation of FS.

On the other hand, the H.261 and MPEG standards have not specified the

BMA for motion estimation at the encoder. As a result, many fast BMAs had been

developed to alleviate the heavy computations of FS. For examples the three-step

search (TSS), the 2D-logarithm search (LOGS) [4], the conjugate directional search,

the cross-search algorithm, and the dynamic search-window adjustment algorithm,

etc. Among the proposed BMAs, the TSS became the most popular one and it is also

recommended by RM8 of H.261 and SM3 of MPEG owing to its simplicity and

effectiveness. However, the TSS uses a uniformly allocated checking point pattern in

its first step, which becomes inefficient for the estimation of small motions.


(20)

2

In addition, experimental results show that the block motion field of real

world image sequence is usually gentle, smooth, and varies slowly [5]. It results in a

center-based global minimum motion vector distribution instead of a uniform

distribution. This can be observed from the motion vector distribution based on the

FS algorithm for the two well-

known test sequences “Football” and “Tennis”

. For the

“Football” sequence, there are nearly 80% blocks that can be regarded as stationary

or quasi-stationary blocks and most of the motion vectors are enclosed in the central

5X

5 area. For the “Tennis” seque

nce, which consists of faster motion and camera

zooming, the motion vector distribution is still highly center-biased. Although it is

more diverse as compared to “Football” sequence.

Based on the characteristic of center-biased motion vector distribution, a new

three step search (NTSS) algorithm for improving the performance of the TSS on the

estimation of small motions was proposed in [1]. The NTSS employed a

center-biased checking point pattern in the first step that combined the original checking

point used in TSS and 8 extra neighboring points of the search window center. The

NTSS use a halfway-stop technique to speed up the stationary or quasi-stationary

blocks matching. The NTSS is much more robust, and produces smaller motion

compensation errors as compared with the TSS [1]. For the maximum motion

displacements of ±7, however, the NTSS algorithm in the worst case requires 33

block matches while TSS needs only 25 block matches. For some image sequences

with a lot of large motions, the computational requirement of NTSS may be higher

than the TSS.

In addition, for the real-time or VLSI implementation of motion estimation

the worst case computational requirement should be considered instead of the

average computation. A new four-step search (FSS) algorithm based on the

center-biased motion vector distribution characteristic is proposed. The proposed FSS

produces better performance than the TSS and has similar performance as compared

with the NTSS. While the worst case computational requirement of the FSS is 27

block matches, which is only just 2 more block matches as compared with the TSS.


(21)

3

1.2

Problem Statement

Several video compression standards had been proposed for different

applications such as CCITT H.261, MPEG-1 and MPEG-2. Generally, video data

constitutes most of the multimedia data. Efficient coding of video is important for

effectual usage of limited bandwidth and storage medium. Temporal correlation

between successive image frames enables high amount of compression. Motion

estimation is an important tool for exploiting temporal correlation. Block based

motion estimation with non-overlapping rectangular blocks is used in many video

coding standards. In this case, image frames are divided into non-overlapping blocks

and the best match is searched around a pre-defined search range using all possible

positions for each block.

Though this FS method provides optimal quality it significantly suffers from

computational load. FS method matches all possible displaced candidate block within

the search area in the reference frame in order to find the block with minimum

distortion, so this FS algorithm have large motion and more searching point to do the

blocks matching and thus the computational may too complex. Therefore, lots of

works have been carried out to reduce computational burden of motion estimation.

1.3

Objectives

There are few algorithms available and developed recently to maintain the

accuracy and precision in achieving high compression ratio in video coding

technique. But each technique has been built on advantage and disadvantage. Thus,

this project is proposed:

1.

To develop and implement FSS algorithm in MATLAB.

2.

To compare and analyze the performance of FSS algorithm to FS algorithm as

well as other common fast BMAs.


(22)

4

1.4

Scope of Work

The scopes of works in this project are:

1.

Data and theory acquisition on image processing, motion estimation, BMAs

and FSS algorithm.

2.

Implementation of FSS algorithm on MATLAB.

3.

Performance comparison of the algorithm to other available BMAs.

1.5

Thesis Structure

It consists of five chapters. Following is a chapter-by-chapter description for

this report.

Chapter 1 gives reader a basic introduction to how the idea of this project is

generated. The chapter contains introduction, objective of the problem, project

statement, scopes of work, and report structure.

Chapter 2 is a literature review on theoretical concepts applied in this project.

The chapter contains the background study of motion estimation algorithm, BMA.

Besides that, this chapter also explains about the search method for various types of

block matching algorithm. The types of algorithm is diamond search algorithm (DS),

new three step search algorithm (NTSS), TSS algorithm and FSS algorithm.

Chapter 3 introduces the methodology of the project. The chapter contains the

flow chart which explains the overall flow for the project carry out. Besides that, this

chapter also introduces the flowchart of FSS Algorithm and also the description of

this algorithm. Besides that, it also describes the use of MATLAB for the

implementation of this Algorithm and explains about performance comparison

parameter which is peak signal noise to ratio (PSNR). It also describes two types of

picture format that is Quarter Common Intermediate Format (QCIF) and Common

Intermediate Format (CIF). Lastly it also describe about video file characteristic and

types of video file use in this project.


(23)

5

All the result will be covered in Chapter 4. It will also include a discussion on

the project work. There also have comparisons in terms of the Average PSNR,

Average Algorithms point, Elapsed Time for NTSS algorithm, FSS algorithm, DS

algorithm for different number of frames. It also shows the graph for Average PSNR

and Average Algorithms point for various test done.

Chapter 5 will be the conclusion of the project. The chapter concludes with

some recommendation that can be implemented for the future work.


(24)

6

CHAPTER II

LITERATURE REVIEW

2.1

Motion Estimation Algorithms

Usage of multimedia information has been increasing every day due to

increasing computational resources and effective compression methods. Generally,

video data constitutes most of the multimedia data. Efficient coding of video is

important for effectual usage of limited bandwidth and storage medium. Temporal

correlation between successive image frames enables high amount of compression.

Motion estimation is the process of determining motion vectors that describe the

transformation from one image to another; usually from adjacent frames in a video

sequence. Figure 2.1 shows the block diagram for motion estimation [6].


(1)

CHAPTER I

INTRODUCTION

1.1

Introduction

In recent years, several video compression standards had been proposed for

different applications such as CCITT H.261 [1], MPEG-1 [2] and MPEG-2 [3]. One

common feature of these standards is that they use DCT transform coding to reduce

spatial redundancy and block motion estimation/compensation to reduce the temporal

redundancy. In addition, the encoders‟ complexities of these video standards are

dominated by the motion estimation, if full search (FS) is used as the block matching

algorithm (BMA). FS matches all possible displaced candidate blocks within the

search area in the reference frame, in order to find the block with the minimum

distortion. Massive computation is, therefore, required in the implementation of FS.

On the other hand, the H.261 and MPEG standards have not specified the

BMA for motion estimation at the encoder. As a result, many fast BMAs had been

developed to alleviate the heavy computations of FS. For examples the three-step

search (TSS), the 2D-logarithm search (LOGS) [4], the conjugate directional search,

the cross-search algorithm, and the dynamic search-window adjustment algorithm,

etc. Among the proposed BMAs, the TSS became the most popular one and it is also

recommended by RM8 of H.261 and SM3 of MPEG owing to its simplicity and

effectiveness. However, the TSS uses a uniformly allocated checking point pattern in

its first step, which becomes inefficient for the estimation of small motions.


(2)

In addition, experimental results show that the block motion field of real

world image sequence is usually gentle, smooth, and varies slowly [5]. It results in a

center-based global minimum motion vector distribution instead of a uniform

distribution. This can be observed from the motion vector distribution based on the

FS algorithm for the two well-

known test sequences “Football” and “Tennis”

. For the

“Football” sequence, there are nearly 80% blocks that can be regarded as stationary

or quasi-stationary blocks and most of the motion vectors are enclosed in the central

5X

5 area. For the “Tennis” seque

nce, which consists of faster motion and camera

zooming, the motion vector distribution is still highly center-biased. Although it is

more diverse as compared to “Football” sequence.

Based on the characteristic of center-biased motion vector distribution, a new

three step search (NTSS) algorithm for improving the performance of the TSS on the

estimation of small motions was proposed in [1]. The NTSS employed a

center-biased checking point pattern in the first step that combined the original checking

point used in TSS and 8 extra neighboring points of the search window center. The

NTSS use a halfway-stop technique to speed up the stationary or quasi-stationary

blocks matching. The NTSS is much more robust, and produces smaller motion

compensation errors as compared with the TSS [1]. For the maximum motion

displacements of ±7, however, the NTSS algorithm in the worst case requires 33

block matches while TSS needs only 25 block matches. For some image sequences

with a lot of large motions, the computational requirement of NTSS may be higher

than the TSS.

In addition, for the real-time or VLSI implementation of motion estimation

the worst case computational requirement should be considered instead of the

average computation. A new four-step search (FSS) algorithm based on the

center-biased motion vector distribution characteristic is proposed. The proposed FSS

produces better performance than the TSS and has similar performance as compared

with the NTSS. While the worst case computational requirement of the FSS is 27

block matches, which is only just 2 more block matches as compared with the TSS.


(3)

1.2

Problem Statement

Several video compression standards had been proposed for different

applications such as CCITT H.261, MPEG-1 and MPEG-2. Generally, video data

constitutes most of the multimedia data. Efficient coding of video is important for

effectual usage of limited bandwidth and storage medium. Temporal correlation

between successive image frames enables high amount of compression. Motion

estimation is an important tool for exploiting temporal correlation. Block based

motion estimation with non-overlapping rectangular blocks is used in many video

coding standards. In this case, image frames are divided into non-overlapping blocks

and the best match is searched around a pre-defined search range using all possible

positions for each block.

Though this FS method provides optimal quality it significantly suffers from

computational load. FS method matches all possible displaced candidate block within

the search area in the reference frame in order to find the block with minimum

distortion, so this FS algorithm have large motion and more searching point to do the

blocks matching and thus the computational may too complex. Therefore, lots of

works have been carried out to reduce computational burden of motion estimation.

1.3

Objectives

There are few algorithms available and developed recently to maintain the

accuracy and precision in achieving high compression ratio in video coding

technique. But each technique has been built on advantage and disadvantage. Thus,

this project is proposed:

1.

To develop and implement FSS algorithm in MATLAB.

2.

To compare and analyze the performance of FSS algorithm to FS algorithm as

well as other common fast BMAs.


(4)

1.4

Scope of Work

The scopes of works in this project are:

1.

Data and theory acquisition on image processing, motion estimation, BMAs

and FSS algorithm.

2.

Implementation of FSS algorithm on MATLAB.

3.

Performance comparison of the algorithm to other available BMAs.

1.5

Thesis Structure

It consists of five chapters. Following is a chapter-by-chapter description for

this report.

Chapter 1 gives reader a basic introduction to how the idea of this project is

generated. The chapter contains introduction, objective of the problem, project

statement, scopes of work, and report structure.

Chapter 2 is a literature review on theoretical concepts applied in this project.

The chapter contains the background study of motion estimation algorithm, BMA.

Besides that, this chapter also explains about the search method for various types of

block matching algorithm. The types of algorithm is diamond search algorithm (DS),

new three step search algorithm (NTSS), TSS algorithm and FSS algorithm.

Chapter 3 introduces the methodology of the project. The chapter contains the

flow chart which explains the overall flow for the project carry out. Besides that, this

chapter also introduces the flowchart of FSS Algorithm and also the description of

this algorithm. Besides that, it also describes the use of MATLAB for the

implementation of this Algorithm and explains about performance comparison

parameter which is peak signal noise to ratio (PSNR). It also describes two types of

picture format that is Quarter Common Intermediate Format (QCIF) and Common

Intermediate Format (CIF). Lastly it also describe about video file characteristic and

types of video file use in this project.


(5)

All the result will be covered in Chapter 4. It will also include a discussion on

the project work. There also have comparisons in terms of the Average PSNR,

Average Algorithms point, Elapsed Time for NTSS algorithm, FSS algorithm, DS

algorithm for different number of frames. It also shows the graph for Average PSNR

and Average Algorithms point for various test done.

Chapter 5 will be the conclusion of the project. The chapter concludes with

some recommendation that can be implemented for the future work.


(6)

CHAPTER II

LITERATURE REVIEW

2.1

Motion Estimation Algorithms

Usage of multimedia information has been increasing every day due to

increasing computational resources and effective compression methods. Generally,

video data constitutes most of the multimedia data. Efficient coding of video is

important for effectual usage of limited bandwidth and storage medium. Temporal

correlation between successive image frames enables high amount of compression.

Motion estimation is the process of determining motion vectors that describe the

transformation from one image to another; usually from adjacent frames in a video

sequence. Figure 2.1 shows the block diagram for motion estimation [6].