Implementation Of Four Step Search (FSS) Algorithm For Motion Estimation Using MATLAB.
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 Estimationsering digunakan.
Block Matching Motion Estimationdigunakan 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 Matchingyang 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 Searchdi 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
stframe)
36
4.2
Average Searching point for FS, TSS, NTSS, FSS and DS algorithm
36
(1
stframe)
4.3
Elapsed Time for FS, TSS, NTSS, FSS and DS algorithm (1
stframe)
36
4.4
Average PSNR for FS, TSS, NTSS, FSS and DS algorithm
37
(1
st-30
thframe)
4.5
Average Searching point for FS, TSS, NTSS, FSS and DS algorithm
37
(1
st-30
thframe)
4.6
Elapsed Time for FS, TSS, NTSS, FSS and DS algorithm
37
(1
st-30
thframe)
4.7
Average PSNR for FS, TSS, NTSS, FSS and DS algorithm
50
(1
st-99
thframe)
4.8
Average Searching point for FS, TSS, NTSS, FSS and DS algorithm
50
(1
st-99
thframe)
4.9
Elapsed Time for FS, TSS, NTSS, FSS and DS algorithm
50
(1
st-99
thframe)
(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
thframe)
4.2
Average Searching point for TSS, NTSS, FSS and DS algorithm in
38
Akiyo.avi (1
st-30
thframe)
4.3
Original image in Akiyo.avi (2
ndstage)
39
4.4
Predicted image for FS, TSS, NTSS, FSS, DS in Akiyo.avi (2
ndstage)
39
4.5
Average PSNR for FS, TSS, NTSS, FSS and DS algorithm in
40
Coastguard.avi (1
st-30
thframe)
4.6
Average Searching point for TSS, NTSS, FSS and DS algorithm in
40
Coastguard.avi (1
st-30
thframe)
4.7
Original image in Coastguard.avi (2
ndstage)
41
4.8
Predicted image for FS, TSS, NTSS, FSS, DS in Coastguard.avi
41
(2
ndstage)
4.9
Average PSNR for FS, TSS, NTSS, FSS and DS algorithm in News.avi
42
(1
st-30
thframe)
4.10
Average Searching point for TSS, NTSS, FSS and DS algorithm in
42
News.avi (1
st-30
thframe)
4.11
Original image in News.avi (2
ndstage)
43
4.12
Predicted image for FS, TSS, NTSS, FSS, DS in News.avi (2
ndstage)
43
4.13
Average PSNR for FS, TSS, NTSS, FSS and DS algorithm in
44
Foreman.avi (1
st-30
thframe)
4.14
Average Searching point for TSS, NTSS, FSS and DS algorithm in
44
Foreman.avi (1
st-30
thframe)
4.15
Original image in Foreman.avi (2
ndstage)
45
4.16
Predicted image for FS, TSS, NTSS, FSS, DS in Foreman.avi (2
ndstage) 45
4.17
Average PSNR for FS, TSS, NTSS, FSS and DS algorithm in
46
Tennis.avi (1
st-30
thframe)
4.18 Average Searching point for TSS, NTSS, FSS and DS algorithm in
46
Tennis.avi (1
st-30
thframe)
4.19
Original image in Tennis.avi (2
ndstage)
47
4.20
Predicted image for FS, TSS, NTSS, FSS, DS in Tennis.avi (2
ndstage)
47
4.21
Average PSNR for FS, TSS, NTSS, FSS and DS algorithm in
48
(15)
xv
Salesman.avi (1
st-30
thframe)
4.22
Average Searching point for TSS, NTSS, FSS and DS algorithm in
48
Salesman.avi (1
st-30
thframe)
4.23
Original image in Salesman.avi (2
ndstage)
49
4.24
Predicted image for FS, TSS, NTSS, FSS, DS in Salesman.avi (2
ndstage) 49
4.25
Average PSNR for FS, TSS, NTSS, FSS and DS algorithm in
51
Akiyo.avi (1
st-99
thframe)
4.26
Average Searching point for TSS, NTSS, FSS and DS algorithm in
51
Akiyo.avi (1
st-99
thframe)
4.27
Original image in Akiyo.avi (3
rdstage)
52
4.28
Predicted image for FS, TSS, NTSS, FSS, DS in Akiyo.avi (3
rdstage)
52
4.29
Average PSNR for FS, TSS, NTSS, FSS and DS algorithm in
53
Coastguard.avi (1
st-99
thframe)
4.30
Average Searching point for TSS, NTSS, FSS and DS algorithm in
53
Coastguard.avi (1
st-99
thframe)
4.31
Original image in Coastguard.avi (3
rdstage)
54
4.32
Predicted image for FS, TSS, NTSS, FSS, DS in Coastguard.avi
54
(3
rdstage)
4.33
Average PSNR for FS, TSS, NTSS, FSS and DS algorithm in
55
News.avi (1
st-99
thframe)
4.34
Average Searching point for TSS, NTSS, FSS and DS algorithm in
55
News.avi (1
st-99
thframe)
4.35
Original image in News.avi (3
rdstage)
56
4.36
Predicted image for FS, TSS, NTSS, FSS, DS in News.avi (3
rdstage)
56
4.37
Average PSNR for FS, TSS, NTSS, FSS and DS algorithm in
57
Foreman.avi (1
st-99
thframe)
4.38
Average Searching point for TSS, NTSS, FSS and DS algorithm in
57
Foreman.avi (1
st-99
thframe)
4.39
Original image in Foreman.avi (3
rdstage)
58
4.40
Predicted image for FS, TSS, NTSS, FSS, DS in Foreman.avi (3
rdstage) 58
4.41
Average PSNR for FS, TSS, NTSS, FSS and DS algorithm in
59
Tennis.avi (1
st-99
thframe)
(16)
xvi
Tennis.avi (1
st-99
thframe)
4.43
Original image in Tennis.avi (3
rdstage)
60
4.44
Predicted image for FS, TSS, NTSS, FSS, DS in Tennis.avi (3
rdstage)
60
4.45
Average PSNR for FS, TSS, NTSS, FSS and DS algorithm in
61
Salesman.avi (1
st-99
thframe)
4.46
Average Searching point for TSS, NTSS, FSS and DS algorithm in
61
Salesman.avi (1
st-99
thframe)
4.47
Original image in Salesman.avi (3
rdstage)
62
4.48
Predicted image for TSS, NTSS, FSS, DS in Salesman.avi (3
rdstage)
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)