Meminimalkan K ebutuhan M emori dalam Merepresentasikan C itra D igital

22
Meminimalkan Kebutuhan Memori dalam Merepresentasikan Citra Digital KOMPRESI CITRA

description

KOMPRESI CITRA. Meminimalkan K ebutuhan M emori dalam Merepresentasikan C itra D igital. MANFAAT KOMPRESI CITRA. TEKNIK KOMPRESI CITRA. KRITERIA KOMPRESI CITRA. ALGORITMA HUFFMAN. Urutkan nilai-nilai grayscale berdasarkan frekuensi kemunculannya - PowerPoint PPT Presentation

Transcript of Meminimalkan K ebutuhan M emori dalam Merepresentasikan C itra D igital

Page 1: Meminimalkan  K ebutuhan  M emori dalam Merepresentasikan  C itra  D igital

Meminimalkan Kebutuhan Memori dalam Merepresentasikan Citra

Digital

KOMPRESI CITRA

Page 2: Meminimalkan  K ebutuhan  M emori dalam Merepresentasikan  C itra  D igital

MANFAAT KOMPRESI CITRA

Waktu pengiriman data lebih singkat• Pengiriman gambar dari fax• Video conferencing• Download dari internet

Membutuhkan ruang memori yang lebih sedikit

Page 3: Meminimalkan  K ebutuhan  M emori dalam Merepresentasikan  C itra  D igital

TEKNIK KOMPRESI CITRA

• Run Length Encoding (RLE)• Entropy Encoding (Huffman, Aritmatik)• Adaptive Dictionary Based (LZW)Lossless

Compression

• Color Reduction• Chroma Subsampling• Transform Coding (Transformasi

Fourier, Wavelet)Lossy

Compression

Page 4: Meminimalkan  K ebutuhan  M emori dalam Merepresentasikan  C itra  D igital

KRITERIA KOMPRESI CITRA

Waktu Kompresi dan Dekompresi

Kebutuhan Memori

Kualitas Pemampatan (Fidelity)

Format Keluaran

Page 5: Meminimalkan  K ebutuhan  M emori dalam Merepresentasikan  C itra  D igital

ALGORITMA HUFFMAN

1. Urutkan nilai-nilai grayscale berdasarkan frekuensi kemunculannya

2. Gabung dua pohon yang mempunyai frekuensi kemunculan terkecil dan urutkan kembali

3. Ulangi langkah (2) sampai tersisa satu pohon biner4. Beri label pohon biner tersebut dengan cara sisi kiri pohon

diberi label 0 dan sisi kanan pohon diberi label 15. Telusuri pohon biner dari akar ke daun. Barisan label-label

sisi dari akar ke daun adalah kode huffman

Page 6: Meminimalkan  K ebutuhan  M emori dalam Merepresentasikan  C itra  D igital

CONTOH

• Lakukan kompresi pada citra berukuran 100x100 piksel dengan kedalaman 3 bit yang memiliki probabilitas sebagai berikut :

K nk P(k) = nk/n

0 2500 0,25

1 1000 0,1

2 600 0,06

3 100 0,01

4 4000 0,4

5 400 0,04

6 500 0,05

7 900 0,09

Page 7: Meminimalkan  K ebutuhan  M emori dalam Merepresentasikan  C itra  D igital

3 : 0,01 5 : 0,04 6 : 0,05 2 : 0,06 7 : 0,09 1 : 0,1 0 : 0,25 4 : 0,4

Langkah 1

3 ,5 : 0,05 6 : 0,05 2 : 0,06 7 : 0,09 1 : 0,1 0 : 0,25 4 : 0,4

Langkah 2

3 ,5,6 : 0,12 : 0,06 7 : 0,09 1 : 0,1 0 : 0,25 4 : 0,4

Langkah 3.1

3 : 0,01 5 : 0,04

3 ,5 : 0,05 6 : 0,05

3 : 0,01 5 : 0,04

Page 8: Meminimalkan  K ebutuhan  M emori dalam Merepresentasikan  C itra  D igital

3 ,5,6 : 0,1

2 : 0,06 7 : 0,09

1 : 0,1 0 : 0,25 4 : 0,4

3 ,5 : 0,05 6 : 0,05

3 : 0,01 5 : 0,04

2,7 : 0,15

3 ,5,6 : 0,1 1 : 0,1

3 ,5 : 0,05 6 : 0,05

3 : 0,01 5 : 0,04

3 ,5,6,1 : 0,2

2 : 0,06 7 : 0,09

2,7 : 0,15 0 : 0,25 4 : 0,4

Langkah 3.2

Langkah 3.3

Page 9: Meminimalkan  K ebutuhan  M emori dalam Merepresentasikan  C itra  D igital

3 ,5,6 : 0,1 1 : 0,1

3 ,5 : 0,05 6 : 0,05

3 : 0,01 5 : 0,04

3 ,5,6,1 : 0,2

2 : 0,06 7 : 0,09

2,7 : 0,15

Langkah 3.4

0 : 0,25 4 : 0,42,7,3 ,5,6,1 : 0,35

Page 10: Meminimalkan  K ebutuhan  M emori dalam Merepresentasikan  C itra  D igital

3 ,5,6 : 0,1 1 : 0,1

3 ,5 : 0,05 6 : 0,05

3 : 0,01 5 : 0,04

3 ,5,6,1 : 0,2

2 : 0,06 7 : 0,09

2,7 : 0,15

Langkah 3.5

0 : 0,25

4 : 0,4

2,7,3 ,5,6,1 : 0,35

0,2,7,3 ,5,6,1 : 0,6

Page 11: Meminimalkan  K ebutuhan  M emori dalam Merepresentasikan  C itra  D igital

3 ,5,6 : 0,1 1 : 0,1

3 ,5 : 0,05 6 : 0,05

3 : 0,01 5 : 0,04

3 ,5,6,1 : 0,2

2 : 0,06 7 : 0,09

2,7 : 0,15

Langkah 3.6

0 : 0,25

4 : 0,4

2,7,3 ,5,6,1 : 0,35

0,2,7,3 ,5,6,1 : 0,6

4,0,2,7,3 ,5,6,1 : 1

Page 12: Meminimalkan  K ebutuhan  M emori dalam Merepresentasikan  C itra  D igital

3 ,5,6 : 0,1 1 : 0,1

3 ,5 : 0,05 6 : 0,05

3 : 0,01 5 : 0,04

3 ,5,6,1 : 0,2

2 : 0,06 7 : 0,09

2,7 : 0,15

Langkah 4

0 : 0,25

4 : 0,4

2,7,3 ,5,6,1 : 0,35

0,2,7,3 ,5,6,1 : 0,6

4,0,2,7,3 ,5,6,1 : 1

0 1

0 1

0 1

0 1 0 1

0 1

0 1

Page 13: Meminimalkan  K ebutuhan  M emori dalam Merepresentasikan  C itra  D igital

3 ,5,6 : 0,1 1 : 0,1

3 ,5 : 0,05 6 : 0,05

3 : 0,01 5 : 0,04

3 ,5,6,1 : 0,2

2 : 0,06 7 : 0,09

2,7 : 0,15

Langkah 5

0 : 0,25

4 : 0,4

2,7,3 ,5,6,1 : 0,35

0,2,7,3 ,5,6,1 : 0,6

4,0,2,7,3 ,5,6,1 : 1

0 1

0 1

0 1

0 1 0 1

0 1

0 1

Penelusuran dari akar ke daun :4 = 0

1 = 1111

0 = 10

6 = 11101

2 = 1100

5 = 111001

7 = 11013 = 111000

Page 14: Meminimalkan  K ebutuhan  M emori dalam Merepresentasikan  C itra  D igital

HASIL KOMPRESIK nk Kode Huffman0 2500 10 (2 bit)

1 1000 1111 (4 bit)

2 600 1100 (4 bit)

3 100 111000 (6 bit)

4 4000 0 (1 bit)

5 400 111001 (6 bit)

6 500 11101 (5 bit)

7 900 1101 (4 bit)

• Ukuran citra sebelum kompresi (kedalaman 3 bit = 8 warna)

= 100 x 100 x 3 bit = 30.000 bit

• Ukuran citra setelah kompresi= 2500 x 2 + 1000 x 4 + 600 x 4 + 100 x 6 + 4000 x 1 + 400 x 6 + 500 x 5 + 900 x 4= 24.500 bit

• Rasio kompresi= 100% - 24.500/30.000 x 100%= 18,3%

Page 15: Meminimalkan  K ebutuhan  M emori dalam Merepresentasikan  C itra  D igital

ALGORITMA RUN LENGTH ENCODING (RLE)

• Cocok digunakan untuk memampatkan citra yang memiliki kelompok-kelompok piksel berderajat keabuan yang sama1. Seluruh citra dinyatakan sebagai sebuah baris run2. Menghitung run-length untuk setiap derajat keabuan

yang berurutan

Page 16: Meminimalkan  K ebutuhan  M emori dalam Merepresentasikan  C itra  D igital

CONTOH2 2 7 7 7 7 2 2 2 2

3 3 3 3 7 7 7 7 1 1

5 5 5 5 1 1 6 6 6 6

2 2 2 2 0 0 0 0 2 2

4 4 4 4 1 1 5 5 5 5

0 0 0 3 3 3 3 3 6 6

6 6 0 0 7 7 7 2 2 2

6 6 6 6 6 6 6 6 6 6

6 6 6 3 3 0 0 5 5 5

1 1 7 7 7 4 4 2 2 2

Hasil Kompresi(2,2) (7,4) (2,4) (3,4) (7,4)(1,2) (5,4) (1,2) (6,4) (2,4) (0,4) (2,2) (4,4) (1,2) (5,4)(0,3) (3,5) (6,2) (6,2) (0,2) (7,3) (2,3) (6,10) (6,3) (3,2) (0,2) (5,3)(1,2) (7,3) (4,2) (2,3)

Page 17: Meminimalkan  K ebutuhan  M emori dalam Merepresentasikan  C itra  D igital

HASIL PENGKODEAN• Pengkodean :

2 2 7 4 2 4 3 4 7 4 1 2 5 4 1 2 6 4 2 4 0 4 2 2 4 4 1 2 5 4 0 3 3 5 6 2 6 2 0 2 7 3 2 3 6 10 6 3 3 2 0 2 5 3 1 2 7 3 4 2 2 3Total = 59 piksel

• Ukuran citra sebelum dikompres = 10 x 10 x 3 bit = 300 bit• Ukuran citra setelah dikompres = 59 x 3 bit = 177 bit• Rasio kompresi = 100% - 177/300 x 100% = 41%

Page 18: Meminimalkan  K ebutuhan  M emori dalam Merepresentasikan  C itra  D igital

METODE KUANTISASI

• Mengurangi derajat keabuan sehingga jumlah bit yang dibutuhkan untuk merepresentasikan citra berkurang

• Misal P adalah jumlah piksel citra sebelum dimampatkan1. Buat histogram citra semula2. Buat n kelompok sehingga setiap kelompok berjumlah

kira-kira P/n3. Ganti keabuan piksel dengan keabuan kelompok yang

baru

Page 19: Meminimalkan  K ebutuhan  M emori dalam Merepresentasikan  C itra  D igital

CONTOH• Citra 4 bit berukuran 10x10 piksel akan dimampatkan menjadi

citra 2 bit berukuran 10x10 piksel

0 0 1 1 1 3 4 4 4 3

2 2 1 3 3 3 4 0 0 3

2 0 0 0 4 5 0 0 5 3

1 5 6 0 6 6 6 6 5 5

1 1 6 0 0 0 7 7 5 5

5 3 1 3 3 0 3 3 3 5

5 8 1 1 8 0 8 7 7 5

5 8 8 5 5 8 8 2 2 7

5 3 8 5 5 2 2 2 7 7

3 3 3 5 5 8 9 9 7 2

Page 20: Meminimalkan  K ebutuhan  M emori dalam Merepresentasikan  C itra  D igital

LANGKAH 1

K nk

0 15

1 10

2 9

3 17

4 5

5 19

6 6

7 8

8 9

9 2

Page 21: Meminimalkan  K ebutuhan  M emori dalam Merepresentasikan  C itra  D igital

LANGKAH 2

K nk nbaru kbaru

0 1525 0

1 10

2 926 1

3 17

4 524 2

5 19

6 6

25 37 8

8 9

9 2

Page 22: Meminimalkan  K ebutuhan  M emori dalam Merepresentasikan  C itra  D igital

LANGKAH 30 0 0 0 0 1 2 2 2 1

1 1 0 1 1 1 2 0 0 1

1 0 0 0 2 2 0 0 2 1

0 2 3 0 3 3 3 3 2 2

0 0 3 0 0 0 3 3 2 2

2 1 0 1 1 0 1 1 1 2

2 3 0 0 3 0 3 3 3 2

2 3 3 2 2 3 3 1 1 3

2 1 3 2 2 1 1 1 3 3

1 1 1 2 2 3 3 3 3 1

• Ukuran citra sebelum kompresi = 10 x 10 x 4 bit = 400 bit

• Ukuran citra setelah kompresi= 10 x 10 x 2= 200 bit

• Rasio kompresi= 100% - 200/400 x 100%= 50%