Anda di halaman 1dari 24

SPEECH RECOGNITION

Pertemuan Ke-12
2015-2016

Kompresi Data Suara


STATISTICAL COMPRESSION:
ALGORITMA SHANNON-FANO
Dr. R. Rizal Isnanto, ST, MM, MT
Andi Widiasmoro, ST, M.Kom

Statistical Compression
Algoritma kompresi yang menggunakan statistik huruf
dalam input stream
Kode yang dipakai pada fase kompresi berhubungan
dengan probabilitas kemunculan huruf dalam data input
Ada 2 variasi :
1. Tak Adaptif
2. Adaptif

Kompresi Statistik Tak Adaptif


Algoritma harus menghitung statistik huruf untuk seluruh
stream input (sering disebut pass1)
Kemudian kode semua huruf dihitung
Dalam pass2 semua huruf stream inputan dibaca dan
diganti dengan kode yang telah dihitung
Kode ini akan sama untuk seluruh file

Kompresi Statistik Tak Adaptif...


Kekurangan : stream inputan harus dibaca sebanyak 2
kali, pertama untuk menghitung statistik, yang kedua saat
mengkodekan semua huruf

Kompresi Statistik Adaptif


Algoritma kompresi hanya mengharuskan membaca
stream input sebanyak 1 kali
Perhitungan kode dan pengkodean digabung
Statistik sementara dari awal file sampai posisi aktual akan
dihitung, kode yang tergantung statistik tersebut dipakai
untuk pengkodean huruf aktual
Sesudah pengkodean huruf tersebut, huruf berikut akan
dibaca, dan dengan demikian statistik dan mungkin kode
berubah

Kompresi Statistik Adaptif...


Iterasi yang harus dilakukan dalam versi adaptif selalu
punya 2 langkah :
1. Enkode huruf aktual dengan kode aktual
2. Hitung kembali statistik dan kode baru
Urutan 2 step tidak bisa ditukar karena proses dekompresi
akan terganggu

Kompresi Statistik Adaptif...


Keuntungan :
Pembacaan data input secara menyeluruh hanya
dilakukan sekali
Adaptasi pada keadaan lokal stream inputan Jika pada
daerah tertentu di stream inputan ada huruf yang muncul
luar biasa sering, kardinalitas aktual untuk huruf tersebut
semakin besar dan kode huruf semakin kecil. Selanjutnya,
jika huruf tersebut tidak muncul lagi, kode akan diadaptasi
lagi menjadi lebih besar. Sehingga kode adaptif dapat
menyesuaikan diri pada situasi lokal

Kompresi Statistik Adaptif...


Kekurangan :
Metode ini seringkali lebih lambat daripada metode tak
adaptif karena perhitungan kode baru harus dilakukan
sesudah setiap huruf input, sedangkan dalam kompresi tak
adaptif cukup dilakukan sekali saja

Algoritma Shannon-Fano
Shannon-Fano coding ditemukan oleh Claude Shannon
dan Robert Fano tahun 1949.
Metode Shannon-Fano menggantikan setiap simbol
dengan sebuah alternatif kode biner yang panjangnya
ditentukan probabilitas dari simbol tersebut.

Algoritma Shannon-Fano
Algoritma Shannon-Fano (tak adaptif)
Algoritma ini menggunakan metode statistika untuk
menentukan jumlah probabilitas huruf dengan
mengurutkannya pada suatu tabel (Huruf yang
probabilitasnya tertinggi di letakkan paling atas)
Lakukan pembagian terhadap tabel atas dua kelompok
dengan probabilitas yang sama atau saling mendekati
Kelompok pertama diberikan kode 0 dan kelompok kedua
1
Ulangi langkah 2 dan 3 sampai tidak ada lagi kemungkinan
untuk membagi kelompok-kelompok tersebut dalam 2 sub
kelompok lagi

Algoritma Shannon-Fano
Misalnya:

EXAMPLE OF SHANNON FANO


Jumlah huruf dan spasi pada data stream tersebut
sebanyak 23 huruf
Maka probabilitas munculnya jenis masing-masing huruf
dapat dilihat pada tabel di slide berikut

Algoritma Shannon-Fano
Huruf

Count

Probabilitas

3/23

2/23

2/23

1/23

1/23

1/23

4/23

3/23

1/23

1/23

1/23

_ (space)

3/23

Kemudian diurutkan sesuai dengan tingginya peluang


munculnya huruf. Jika peluang sama, maka dilihat urutan
alphabetnya

Algoritma Shannon-Fano
Huruf

Count

_ (space)

Algoritma Shannon-Fano
Kemudian Tabel dibagi 2 sehingga selisih dari jumlah
bobot masing-masing bagian harus minimal
Jumlah bobot dari bagian atas dari tabel harus lebih kecil
Sehingga tabel menjadi seperti di slide berikut

Kode untuk tabel bagian atas dimulai dengan 0 ...


Kode untuk tabel bagian bawan dimulai dengan 1 ...

Algoritma Shannon-Fano
Huruf

Count

_ (space)

Bobot=10

Bobot=13

Algoritma Shannon-Fano
Huruf

Count

0...

0...

0...

Tabel bagian atas ini, dipecah lagi, dengan cara yang


sama seperti sebelumnya. Sehingga kodenya menjadi
seperti tabel berikut.
Huruf

Count

00

01...

01...

Algoritma Shannon-Fano
Pada tahap ini, tabel atas tidak bisa lagi dipecah (huruf N)
Tabel yang sebelah bawah, juga diperlakukan sama (Huruf
A dan O) sehingga kode menjadi:
Huruf

Count

00

010

011

Algoritma Shannon-Fano
Proses ini berlangsung terus untuk semua huruf yang ada
di dalam tabel.
Hasil akhir dari proses ini dapat dilihat pada tabel berikut.

Algoritma Shannon-Fano
Huruf

Count

Codeword

Count*Codeword

0 0

4*2=8

0 1 0

3*3=9

0 1 1

3*3=9

_ (space)

1 0 0

3*3=9

1 0 1

2*3=6

1 1 0 0

2*4=8

1 1 0 1 0

1*5=5

1 1 0 1 1

1*5=5

1 1 1 0 0

1*5=5

1 1 1 0 1

1*5=5

1 1 1 1 0

1*5=5

1 1 1 1 1

1*5=5

Jumlah Bit

23*8=184 bit

79 bit

Algoritma Shannon-Fano
Sehingga runtun bit yang dikirimkan adalah seperti berikut:

101111110101110011101110111011000111100

E X A M P L E _O F

1001111011010010000001100100110001000011

_ S H A N N ON _ F A N O

Algoritma Shannon-Fano
Jumlah bit sebelum kompresi = 184 bit
Jumlah bit setelah kompresi = 79 bit
Dari urutan bit ini, komputer akan membaca bit yang terdepan
(paling kiri) hingga yang terbelakang (paling kanan). Selain
membaca bit, komputer juga akan membandingkan dengan
tabel kode yang juga dikirimkan bersama data. Apabila dalam
pembacaan urutan bit lalu dibandingkan dengan tabelnya ada
kecocokan,
maka
komputer
akan
langsung
menerjemahkannya ke dalam simbol aslinya. Inilah yang
disebut unique prefix

Prose Pembacaan
Contoh: gadjahmada

101010011100110111101000
Iterasi 1 Komputer membaca bit 1
Komputer mencari di tabel apakah simbol untuk kode 1,
ternyata tidak ada
Iterasi 2 Komputer membaca bit 1 0
Komputer mencari di tabel apakah simbol untuk kode 1 0,
ternyata tidak ada
Iterasi 3 Komputer membaca bit 1 0 1
Komputer mencari di tabel apakah simbol untuk kode 1 0 1,
ternyata simbol G
dan seterusnya sampai semua kode berhasil diterjemahkan ke
simbolnya masing-masing.

TERIMA KASIH

Tugas
Kodekan dengan Algoritma Shannon-Fano untuk teks:

UNIVERSITAS DIPONEGORO SEMARANG

Anda mungkin juga menyukai