Anda di halaman 1dari 66

IKG3C3/ TEKNIK PENGKODEAN

1 10/20/2015
Media Transformasi: FT, DCT, Wavelet
- Background Needed
- Mathematicis
- Signal Processing
- Image Processing

2 10/20/2015
Kaitan Citra dengan frekuensi?
Citra  ambil 1 baris  plot (sumbu x: posisi
piksel dalam baris, sumbu y: intensitas
keabuan/warna)
Columns 1-9 : 71 70 70 70 73
77 81 83 73
……………………..
Columns 307-315: 92 93 84 93 96
79 121 218 232
Columns 316-324: 233 74 0 11 24
14 14 13 11
……………………..
Columns 397 through 400 : 24 8 13
15

3 10/20/2015
Kaitan (cont.)

Frekuensi dapat
dilihat perbaris dan
perkolom atau
perbidang

4 10/20/2015
Domain Transformasi
Transformasi juga diperlukan bila kita ingin
mengetahui suatu informasi tertentu yang
tidak tersedia sebelumnya
Contoh :
–Untuk mengetahui informasi frekuensi citra
maka transformasi yang diperlukan adalah
transformasi Fourier
–Untuk mengetahui informasi kombinasi skala
dan frekuensi kita memerlukan transformasi
wavelet
5 10/20/2015
Mengapa perlu transformasi ?
–Setiap orang pada suatu saat pernah
menggunakan suatu teknik analisis dengan
transformasi untuk menyederhanakan
penyelesaian suatu masalah [Brigham,1974]
–Contoh: penyelesaian fungsi y = x/z
 Analisis konvensional : pembagian secara manual
 Analisis transformasi : melakukan transformasi
– log(y) = log(x) – log(z)
– look-up table  pengurangan  look-up table

6 10/20/2015
Transform on Compression

Encoder
Input Codeword
data Transform Quantization assignment

Coded
bit-string
Decoder

Output Inverse Codeword


data Transform decoder

7 10/20/2015
Transformasi
Transformasi dapat diklasifikasikan menjadi 2
jenis, yakni:
–Transformasi transformasi geometris/piksel
–Transformasi ruang/domain/space

8 10/20/2015
Transformasi Geometris
Transformasi piksel masih bermain di
ruang/domain yang sama (domain spasial), hanya
posisi piksel yang kadang diubah
Contoh: rotasi, translasi, scaling, invers, shear,
dll.
Transformasi jenis ini relatif mudah
diimplementasikan dan banyak aplikasi yang
dapat melakukannya (Paint, ACDSee, dll)

9 10/20/2015
Transformasi Ruang
Transformasi ruang merupakan proses perubahan
citra dari suatu ruang/domain ke ruang/domain
lainnya, contoh: dari ruang spasial ke ruang
frekuensi
Masih ingat istilah ‘ruang’ ? Ingat-ingat kembali pelajaran
Aljabar Linier tentang Basis dan Ruang 
– Contoh : Ruang vektor. Salah satu basis yang merentang
ruang vektor 2 dimensi adalah [1 0] dan [0 1]. Artinya,
semua vektor yang mungkin ada di ruang vektor 2
dimensi selalu dapat direpresentasikan sebagai kombinasi
linier dari basis tersebut.

10 10/20/2015
Transformasi Ruang
Ada beberapa transformasi ruang, a.l.:
– Transformasi Fourier (basis: cos-sin)
– Transformasi DCT (basis: cos)
– Transformasi Wavelet (basis: scaling function dan mother
wavelet)

11 10/20/2015
Historical Development
Pre-1930
– Joseph Fourier (1807) with his theories of frequency
analysis

The 1930s
– Using scale-varying basis functions; computing the energy
of a function

1960-1980
– Guido Weiss and Ronald R. Coifman; Grossman and Morlet

Post-1980
– Stephane Mallat; Y. Meyer; Ingrid Daubechies; wavelet
applications today
12 10/20/2015
Fourier Transform
Seluruh gelombang
periodic dapat degenerate
menjadi kombinasi
gelombang Sin and Cos

Jumlah dari Frekuensi


tidak harus selalu terbatas

Transformasi Fourier
mendekomposisi
gelombang periodic
menjadi Komponen
Frekuensi

13 10/20/2015
Transformasi Fourier (FT)
Pada tahun 1822, Joseph Fourier, ahli matematika
dari Prancis menemukan bahwa: setiap fungsi
periodik (sinyal) dapat dibentuk dari penjumlahan
gelombang-gelombang sinus/cosinus.
Contoh : Sinyal kotak merupakan penjumlahan
dari fungsi-fungsi sinus

f(x) = sin(x) + sin(3x)/3 +


sin(5x)/5 +
sin(7x)/7 + sin(9x)/9 …

14 10/20/2015
Fungsi kotak sebagai penjumlahan
fungsi-fungsi sinus
Bangun program matlab berikut:
– function kotak(n)
t = 0:pi/200:8*pi;
kot = sin(t);
for i = 3 : 2: n
kot = kot + (sin(i*t))/i;
end

plot(kot)

Tentukan nilai n agar hasil plot program diatas


menghasilkan fungsi kotak?
15 10/20/2015
(a) (b)

(c) (d)
Gambar a) n = 1, b) n =3, c) n = 7, d) n = 99
16 10/20/2015
FT - Motivasi
Jika semua sinyal periodik dapat dinyatakan dalam
penjumlahan fungsi-fungsi sinus-cosinus,
pertanyaan berikut muncul :
– Jika saya memiliki sebuah sinyal sembarang, bagaimana saya
tahu fungsi-fungsi cos – sin apa yang membentuknya ?

Atau dengan kata lain


– Berapakah frekuensi yang dominan di sinyal tersebut ?

Pertanyaan di atas dapat dijawab dengan menghitung nilai


F(u) dari sinyal tersebut. Dari nilai F(u) kemudian dapat
diperoleh kembali sinyal awal dengan menghitung f(x)

17 10/20/2015
Rumus FT – 1 dimensi
Rumus FT kontinu 1 dimensi

F (u )   f ( x) exp[ 2 jux]dx


f ( x)   F (u ) exp[ 2 jux]du


Euler' s formula : exp[ 2 jux]  cos 2ux  j sin 2ux


Rumus FTdiskret1 dimensi
1
F (u )   x 0 f ( x) exp[ 2 jux / N ]
N 1

N
1
f ( x)   x 0 F (u ) exp[ 2 jux / N ]
N 1

N
18 10/20/2015
Contoh FT 1 dimensi
Contoh berikut diambil dari Polikar
(http://engineering.rowan.edu/~polikar/WAVELETS/WTtutorial.html)

Misalkan kita memiliki sinyal x(t) dengan rumus sbb:


𝑥 𝑡 = cos 2 𝜋 5𝑡 + cos 2𝜋 10𝑡 + cos(2 𝜋 20𝑡) + cos(2𝜋 50𝑡)
Sinyal ini memiliki empat komponen frekuensi yaitu
5,10,20,50

19 10/20/2015
FT dari sinyal tersebut
Terlihat bahwa FT dapat
menangkap frekuensi-
frekuensi yang dominan
dalam sinyal tersebut,
yaitu 5,10, 20, 50

(nilai maksimum F(u)


berada pada angka 5,10,
20, 50)

20 10/20/2015
Contoh Penghitungan FT 1 dimensi
(Gonzalez hlm 90-92)
1 N 1 1 N 1
F (u ) 
N
 x 0
f ( x) exp[ 2 jux / N ]   x 0 f ( x)(cos( 2ux / N )  j sin( 2ux / N ))]
N
contoh : f (0)  2, f (1)  3, f (2)  4, f (3)  4
1 N 1
F (0)   x 0 f ( x)(cos( 2 0 x / N )  j sin( 2 0 x / N ))]
N
1
 [ f (0)  f (1)  f (2)  f (3)]  3.25
4
1 3
F (1)   x 0 f ( x)(cos( 2x / 4)  j sin( 2x / 4))]
4
1
 [2(1  0)  3(0  j )  4(1  0)  4(0  j )
4
1 1
 (2  3 j  4  4 j )  (2  j )  0.5  0.25 j
4 4
1 1
F (2)   [1]  0.25 F (3)   [2  j ]  0.5  0.25 j
4 4

21 10/20/2015
Contoh FT 2 Dimensi
Sumber: http://www.icaen.uiowa.edu/~dip/LECTURE/LinTransforms.html

Untuk menampilkan nilai FT suatu citra, karena keterbatasan display,


seringkali digunakan nilai D(u,v)= c log [1 + |F(u,v)|]
22 10/20/2015
Sifat-sifat FT 2 dimensi
Separable :
–Pemrosesan FT 2 dimensi dapat dilakukan
dengan melakukan FT 1 dimensi terhadap
kolom, kemudian dilanjutkan dengan FT 1
dimensi terhadap baris

Translasi :
f ( x, y) exp[ 2 j (u0 x  v0 y) / N ]  F (u  u0 , v  v0 )
f ( x  x, y  y)  F (u, v) exp[ 2 j (ux0  vy0 ) / N ]

23 10/20/2015
Sifat-sifat FT 2 dimensi
Periodik
–FT dan IFT bersifat periodik dengan periode N (N
adalah jumlah titik)
Rotasi
–Jika kita merotasikan f(x,y) sebanyak θ0. maka
F(u,x) juga akan berotasi sebanyak θ0, demikian
pula sebaliknya.
Distributif
–FT dan IFT bersifat distributif terhadap
penjumlahan tapi tidak terhadap perkalian
24 10/20/2015
Sifat-sifat FT 2 dimensi
Penskalaan
af ( x, y )  aF (u, v)
1
f (ax, by )  F (u / a, v / b)
ab
Nilai Rata-rata
N 1 N 1
1 1
f ( x, y )  2
N

x 0 y 0
f ( x, y) 
N
F (0,0)

25 10/20/2015
Proses Konvolusi pada Domain Kontinue

26 10/20/2015
Konvolusi pada Domain Transformasi

Konvolusi merupakan proses penting pada analisis domain


frekwensi karena f(x)*g(x) dan F(u)G(u) membentuk suatu
pasangan transformasi Fourier (Fourier transform pair)
Teori konvolusi:
f(x)*g(x)  F(u)G(u)
f(x)g(x)  F(u)*G(u)

27 10/20/2015
Fast Fourier Transform (FFT)
Merupakan algoritma penghitungan yang mengurangi
kompleksitas FT biasa dari 𝑁2 menjadi 𝑁 log2𝑁 saja
Pada implementasinya, FFT merupakan cara yang umum
digunakan untuk menghitung FT diskret
Invers FT juga dapat dihitung dengan kompleksitas
𝑁 log2𝑁 (IFFT)
– Di Matlab : 𝑓𝑓𝑡(𝑥) atau 𝑓𝑓𝑡2(𝑋) untuk FT dan
– 𝑖𝑓𝑓𝑡(𝑥) atau 𝑖𝑓𝑓𝑡2(𝑋) untuk invers FT

28 10/20/2015
Discrete Cosine Transform (1D-DCT)
The one-dimensional forward Discrete Cosine Transform (1-D DCT) of N
samples is formulated by
𝑁−1
2 Π 2𝑥 + 1 𝑢
𝐹 𝑢 = 𝐶 𝑢 ෍ 𝑓 𝑥 cos
𝑁 2𝑁
𝑥=0

for u = 0, 1, . . . , N - 1, where
1
; 𝑓𝑜𝑟 𝑢=0
𝐶 𝑢 ={ 2
1; 𝑜𝑡ℎ𝑒𝑟𝑤𝑖𝑠𝑒

The function f(x) represents the value of the xth sample of the input signal.

F(u) represents a Discrete Cosine Transformed coefficient for u = 0, 1,


… , 𝑁 – 1 First of all we apply this transformation to the rows, then to the
columns of image data matrix.

29 10/20/2015
Inverse DCT(1D-IDCT)
The one-dimensional inverse Discrete Cosine Transform (1-D IDCT) of N
samples is formulated by:
𝑁−1
2 Π 2𝑥 + 1 𝑢
𝐹 𝑥 = ෍ 𝐶 𝑢 𝐹 𝑢 cos
𝑁 2𝑁
𝑢=0

for x = 0, 1, . . . , N – 1, where
1
; 𝑓𝑜𝑟 𝑢=0
𝐶 𝑢 ={ 2
1; 𝑜𝑡ℎ𝑒𝑟𝑤𝑖𝑠𝑒

The function f(x) represents the value of the xth sample of the input signal.

F(u) represents a Discrete Cosine Transformed coefficient for u = 0, 1, … , N –


1

For image decompression we use this 1D-DCT

30 10/20/2015
Two-dimensional DCT (2D-DCT)
We divide image matrix 8x8 blocks and apply 2D-DCT
which is defined by:

Inverse
DCT:

31 10/20/2015
Partitioning to 8x8 Blocks

32 10/20/2015
Langkah DCT 2-D

y
Row Column
f(x,y) Transform C(x,v) Transform C(u,v)

33 10/20/2015
Koefisien frekuensi pada DCT

Komponen
Frekuensi
Terendah

Komponen
Frekuensi
Tertinggi

34 10/20/2015
Pengurutan Secara Zig-zag
Frekuensi
Terendah

Frekuensi
Tertinggi

35 10/20/2015
Pemetaan Koefisien DCT ke dalam
Subband

LL LH

HL HH

36 10/20/2015
Wavelet Transform

37 10/20/2015
SHORT TIME FOURIER TRANSFORM
(STFT)
Dennis Gabor (1946) Used STFT
– To analyze only a small section of the signal at a time -- a technique called
Windowing the Signal.

The Segment of Signal is Assumed Stationary

A 3D transform

STFTX t , f    xt   * t  t  e j 2 ft dt


t
t  : the window function

A function of time
and frequency

38 10/20/2015
Fourier  Wavelet
Tranformasi wavelet (WT) merupakan perbaikan
dari transformasi Fourier(FT).
FT : hanya dapat menangkap informasi apakah
suatu sinyal memiliki frekuensi tertentu ataukah
tidak, tapi tidak dapat menangkap dimana
frekuensi itu terjadi.
Ilustrasi : seperti pada konser musik. FT hanya
bisa mengatakan apakah suatu ‘nada’ tertentu
muncul, tapi tidak dapat mengatakan kapan nada
itu muncul dan berapa kali

39 10/20/2015
Kekurangan FT
Gambar atas : ada
4 frek pada suatu
sinyal, muncul
secara bersamaan

Gambar bawah :
ada 4 frek pada FT
suatu sinyal,
muncul secara
bergantian

 bentuk FT
keduanya hampir
sama
(http://engineering.rowan.edu/~polikar/WAVELETS/WTtutorial.html)

40 10/20/2015
Kekurangan FT
Jika transformasi Fourier hanya memberikan
informasi tentang frekuensi suatu sinyal, maka
transformasi wavelet memberikan informasi
tentang kombinasi skala dan frekuensi.
Selain itu, FT berdasarkan pada basis sin-cos
yang bersifat periodik dan kontinu, sehingga sulit
bagi kita jika ingin melakukan perubahan hanya
pada posisi tertentu (pasti akan mempengaruhi
posisi-posisi lainnya)

41 10/20/2015
Contoh
Contoh pada halaman berikut menggambarkan
dekomposisi 2 buah sinyal yang hampir sama
Jika didekomposisi menggunakan basis Walsh, maka
semua koefisien dekomposisinya memiliki nilai yang
berbeda (ditunjukkan dengan warna merah),
sedangkan jika didekomposisi menggunakan wavelet
Haar, koefisien dekomposisinya tidak terlalu banyak
berbeda.
Hal ini disebabkan basis Walsh (dan FT) sama-sama
bersifat periodik, sehingga sulit mengubah satu bagian
tanpa mempengaruhi bagian lainnya.

42 10/20/2015
43 10/20/2015
44 10/20/2015
Transformasi Wavelet
Wavelet berasal dari sebuah scaling function. Dari
scaling function ini dapat dibuat sebuah mother
wavelet. Wavelet-wavelet lainnya akan muncul
dari hasil penskalaan, dilasi dan pergeseran
mother wavelet.
Scaling function  mother wavelet  mother
wavelet yang diskalakan, didilasikan dan digeser.

45 10/20/2015
Rumus Scaling Function dan Wavelet

Rumus Scaling  ( x)   ck  (2 x  k )
function :
 0 ( x)   (1) k c1k  (2 x  k )
Rumus wavelet: k

Wavelet dapat dibedakan berdasarkan rumusan scaling functionnya


Wavelet Haar memiliki scaling function dengan koefisien c0 = c1 =
Wavelet Daubechies dengan 4 koefisien (DB4) memiliki
scaling function dengan koefisien
c0 = (1+√3)/4, c1 = (3+√3)/4,
c2 = (3-√3)/4, c3 = (1-√3)/4

46 10/20/2015
Basis Wavelet Haar

Jadi Scaling function dan wavelet sama-sama membentuk sebuah basis baru.

47 10/20/2015
Wavelet Haar sebagai basis
Dalam ruang 1 0  0  0 
vektor 4 dimensi, 0  1 0  0 
kita biasa memiliki v 0    , v 1   , v 2   , v 3   
basis seperti 0  0  1 0 
       
berikut:  
0  
0  
0 1

 Wavelet Haar juga 1 1 1 0


1 1  1 0
merentang ruang
h 0    , h1   , h 2   , h 3   
vektor 4 dimensi 1  1 0 1
dengan vektor-       
1  1 0  1
vektor basis
sebagai berikut

48 10/20/2015
Wavelet Haar
Sekarang, jika kita memiliki sebuah vektor,
bagaimana merepresentasikan vektor tersebut
sebagai kombinasi linier dari basis-basis
wavelet Haar ?
Bagaimana menentukan nilai a,b,c dan d ?
 x0  1 1 1 0
x  1 1  1 0
 1  a  b   c    d  
 x2  1  1 0 1
        
 3
x 
1 
 1 0  1

49 10/20/2015
Contoh wavelet Haar
6 1  1   1  0
4 1  1   1 0
   2   3   1   (6)  
 7  1  1  0  1
        
5 1  1  0   1

Jadi, koefisien yang disimpan


adalah a0, d0, dan d1.

a berarti ‘aproksimasi’
d berarti ‘detail’

Penghitungan dengan cara


seperti ini disebut dengan
Algoritma piramida Mallat

50 10/20/2015
Wavelet Transform
1 * t 
CWT ( , s)  ( , s)  

x x(t ) ( )dt
|s| t s

where x(t) = given signal


tau = translation parameter
s = scaling parameter = 1/f
phi(t) = Mother wavelet , All kernels are
obtained by scaling and/or translating mother
wavelet

51 10/20/2015
Examples

52 10/20/2015
Continuous Wavelet transform
The kernel functions used in wavelet transform are all obtained
from one prototype function known as mother wavelet , by scaling
and/or translating it
1 t b
a ,b (t )  ( ) 1, 0 (t )   (t )
Here a a
a = scale parameter

b = translation parameter

Continuous Wavelet transform



1
W ( a, b) 
a  x(t )

a ,b (t )dt

53 10/20/2015
CWT (Contd..)
In order to become a wavelet a function must
satisfy the above two conditions

  (t )dt  0


  dt  
2
| (t ) |


54 10/20/2015
Inverse wavelet transform
 
1 1
x(t )    2 W (a, b)a ,b (t )dadb
C  a
where

|  ( w) |
C  | w | dw
provided

  (t )dt  0


55 10/20/2015
Trans. Wavelet 2 dimensi

Transformasi wavelet Haar


2 dimensi sebanyak 2 level,
menggunakan Wavelet Toolbox
pada Matlab 6.

56 10/20/2015
Macam-macam Wavelet
Seperti telah disebutkan sebelumnya,
berdasarkan scaling functionnya, wavelet
dapat dibedakan menjadi beberapa
macam, diantaranya :
–Wavelet Haar
–Wavelet Daubechies
–Wavelet Symlet
–dll

57 10/20/2015
Mother wavelet

58 10/20/2015
Discrete wavelet Transform
Discrete domain counterpart of CWT

Implemented using Filter banks satisfying PR condition

Represents the given signal by discrete coefficients {dk,n}

DWT is given by

k 2
k ,n (t )  2 (2k t  n) || k ,n (t ) || 1

x(t )   d k ,n k ,n (t )
k n

59 10/20/2015
d k ,n  x, k ,n   x(t )k*,n (t )dt
Trans. Wavelet 2 dimensi
Trans. Wavelet 2 dimensi dilakukan terhadap
baris, kemudian terhadap kolom, atau sebaliknya
dengan pembagian sebagai berikut :

LL LH

HL HH

60 10/20/2015
Implementasi 2D-DWT
COLUMN ~
H 1 2 LL Ak 1
S
ROW ~
S H 2 1
COLUMN ~
S G 1 2 LH Dk(h)1
INPUT
ROW

COLUMN
IMAGE S ~
1 2 HL Dk(v)1
S

H
~
G 2 1
ROW ~
S G 1 2 HH Dk(d)1
COLUMN
S
LLL LLH LLH
LL LH LH LH
LHL LH LL
LHL LH
INPUT
IMAGE H H
HL HH HL HH HL HH

61 10/20/2015
Downsample columns along the rows: For each row,
2 1 keep the even indexed columns, discard the odd
indexed columns

Downsample rows along the columns: For each


1 2
column, keep the even indexed rows, discard the
odd indexed rows

2 1 Upsample columns along the rows: For each row,


insert zeros at between every other sample
(column)
Upsample rows along the columns: For each
1 2
column, insert zeros at between every other sample
(row)

62 10/20/2015
Reconstruction
LL Ak 1 1 2 H
2 1 H
LH
Dk(h)1 1 2 G
ORIGINAL
IMAGE
HL
Dk(v)1 1 2 H
2 1 G
HH Dk(d)1 1 2 G

63 10/20/2015
Kegunaan Wavelet
Kompresi data (citra  format JPEG 2000)
Ekstraksi ciri
Penghilangan noise
Grafika komputer
Kompresi video
dll

64 10/20/2015
References
Solomon David, “Data Compression” , Fourth
Edition, Springer, 2007.
Hoque Imran, Yipeng Li, Diwei Zhang, “Run
Length Encoding/Decoding”.
Hendrawan, “Huffman dan Arithmetic Coding”, ITB

65 10/20/2015
THANK YOU
10/20/2015
66

Anda mungkin juga menyukai