Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

Kompresi Gambar Klasifikasi Kompresi Teknik Kompresi 1.

Presentasi serupa


Presentasi berjudul: "Kompresi Gambar Klasifikasi Kompresi Teknik Kompresi 1."— Transcript presentasi:

1 Kompresi Gambar Klasifikasi Kompresi Teknik Kompresi 1

2 Image Compression Kompresi  untuk apa? Volume data yang besar
Bit rate tinggi  bandwidth yang tinggi Bayangkan sebuah video dengan resolusi 640x480 dengan 30 fps, dimana menggunakan penyimpanan 24-bit. Bila video berdurasi 1 jam berapa ukuran file video tersebut? 2 2

3 Image Compression Alternatif Solusi Penambahan storage dan bandwidth
Kompresi data (smart choice)‏ 3

4 Image Compression Teknik kompresi yang diharapkan :
Proses kompresi/dekompresi yang cepat Membutuhkan memory yang kecil Kualitas citra kompresi yang bagus Proses transfer dan penyimpanannya mudah 4 4

5 Image Compression Berdasarkan hasilnya, teknik kompresi ada 2 :
Lossless Compression Lossy Compression Klasifikasi Teknik Kompresi : Entropy Encoding (Lossless)‏ Run Length Encoding (RLE)‏ Pattern Substitution Huffman DPCM Source Encoding (Lossy)‏ Quantizing Compression Transform Encoding Hybrid Encoding (Lossy)‏ JPEG 5 5

6 Quantizing Compression
Teknik Quantizing Compression bersifat lossy Digunakan untuk mereduksi data dengan asumsi bahwa perubahan data tidak akan mempengaruhi content/informasi Melakukan pengkodean, rata-rata pada histogram, menggunakan matrik kuantisasi 6

7 Quantizing Compression (kode)‏
Histogram : Warna 0 = 2 Warna 1 = 2 Warna 2 = 9 Warna 3 = 11 Warna 4 = 9 Warna 5 = 4 Warna 6 = 5 Warna 7 = 8 Warna 8 = 9 Warna 9 = 6 2 9 6 4 8 3 5 7 1 Dikodekan menjadi 0 (Jumlahnya 13 pixel)‏ Dikodekan menjadi 1 (Jumlahnya 20 pixel)‏ Dikodekan menjadi 2 (Jumlahnya 17 pixel)‏ Dikodekan menjadi 3 (Jumlahnya 15 pixel)‏ 7 7

8 Quantizing Compression (kode)‏
Bisakah data ini dibalikkan? 3 2 1 8

9 Quantizing Compression (matrik)‏
Menggunakan matrik dan pembulatan = 9

10 Run Length Encoding (RLE)‏
Diubah dalam bentuk sekuensial  = 24 byte Dihitung jumlah kemunculan data  (1,1) (2,1) (1,5) (3,1) (4,4) (1,2) (3,3) (5,1) (1,4) (3,2) Data Kompresi  = 20 byte 1 2 3 4 5 10 10

11 Shannon’s Source Coding Theory
Pada umumnya teknik lossless akan melakukan proses penggantian simbol dengan suatu simbol biner Masalahnya: Menentukan simbol biner sehingga data yang dikompresi menjadi lebih kecil dan dapat “dibalikkan” kembali => harus unik 11

12 Shannon’s Source Coding Theory
Simbol MODEL _A MODEL_B MODEL_C a 00 b 01 10 1 c 110 d 11 111 Misalkan S = aacabad Model manakah yang dapat digunakan untuk encode S ?? 12

13 Shannon’s Source Coding Theory
Misalkan sebuah data: A={a1,a2,…,an} Probabilitas data : P={p1,p2,…,pn} Dengan kedua informasi tersebut maka kita dapat memperkirakan information content dari suatu simbol Semakin besar probabilitas maka akan dikodekan dengan biner yang kecil 13

14 Shannon’s Source Coding Theory
Information Content I(a) entropy dari suatu simbol a dimana kita telah mengetahui probabilitasnya dapat dirumuskan sebagai: Basis log 2 menyatakan bahwa informasi dinyatakan dalam bentuk biner 14

15 Shannon’s Source Coding Theory
Setelah mengetahui nilai Information Content suatu simbol, kita dapat menyatakan: Suatu simbol a dengan probabilitas p(a) sebaiknya direpresentasikan dalam biner dengan –log2p(a) simbol Sehingga entropy seluruh data adalah: 15

16 Huffman Code’s Dari Teori Shannon :
Sebuah source data dapat dikodekan dengan rata-rata panjang kode mendekati entropy dari source data Tahun 1952 D.A.Huffman mengajukan teknik encoding untuk menghasilkan panjang kode terpendek dari suatu source data dengan memanfaatkan probabilitasnya. 16

17 Huffman Code’s Teknik ini dikenal dengan Huffman Code’s dengan pertimbangan: The more frequently occurring symbols can be allocated with shorter codewords than the less frequently occurring symbols The two least frequently occurring symbols will have codewords of the same length, and they differ only in the least significant bit. 17

18 Huffman Code’s Algoritma dalam pseudo code
Hitunglah probabilitas dari setiap simbol yang ada Pasangkan setiap <simbol,probabilitas> dengan node Temukan 2 buah node dengan probabilitas terendah kemudian buatkah node parent dengan probabilitas gabungan dari 2 anaknya Berikan label untuk cabang dari anak ke parent dengan 0 dan 1 (sebaiknya konsisten)‏ Update node (node anak diabaikan), lalu periksa jumlah node yang ada, bila jumlah node > 1 maka ulangi langkah 3 Untuk menemukan kode setiap simbol, lakukan traverse dari root ke leaf, (label branch yang dilalui akan menjadi kode untuk leaf)‏ 18

19 Huffman Code’s Misalkan data: Hitung frekuensi data ≈ probalitas
S= AABAACCCCDDBBBBEF Hitung frekuensi data ≈ probalitas a  4, b  5, c  4, d  2, e  1, f  1 Proses pembangunan code sebagai berikut 19

20 Huffman Code’s A,4 9 1 B,5 17 1 C,4 D,2 8 4 1 E,1 1 2 1 F,1 20

21 Huffman Code’s Kode untuk setiap simbol:
A -> 10 B -> C -> 00 D -> 010 E- > F -> 0110 Jadi data S= aabaaccccddbbbbef (17 byte) akan dikodekan menjadi : = 40 bit ≈ 5 byte 21

22 Huffman Code’s Dalam implementasinya teknik Huffman Code’s dapat dipercepat dengan menggunakan mekanisme sorting data (insertion sort)‏ Bagaimana mekanisme Decodenya?? 22

23 Arithmetic Coding Pada teknik ini, simbol yang ada akan direpresentasikan dengan bilangan real mulai dari 0-1. Konsekuensi? Aritmethic Coding menawarkan eficiency yang lebih baik dibandingkan dengan Huffman Code’s Cocok bila digunakan untuk jumlah simbol sedikit (binary simbol) dan simbol dengan highly skewed probabilities 23

24 Arithmetic Coding [Encoding]
Example penerapan arithmetic coding Informasi yang dimiliki Sbl. P(s)‏ Cumulative P(s)‏ Range Simbol A 0.3 [0.000 , 0.300] B 0.2 0.5 [0.300 , 0.500] C 0.4 0.9 [0.500 , 0.900] D 0.1 1 [0.900 , 1.000] 24

25 Arithmetic Coding [Encoding]
Range Simbol Awal Range simbol ini akan digunakan untuk menentukan bilangan yang mewakili data yang di kompresi Note: Pada umumnya hasil akhir proses encoding akan dikonversi dalam bentuk biner [ ] D [ ] C [ ] B [ ] A [ ] 25

26 Arithmetic Coding [Encoding]
Pesan akan di encode menjadi sebuah bilangan beserta informasi range simbol Proses penghasilan dengan memasukkan pesan pada range simbol dan melakukan update range simbol Misalkan simbol : “ C A C B A D“ 26

27 Arithmetic Coding [Encoding]
[ ] [ ] [ ] [ ] [ ] [ ] D [ ] [ ] [ ] [ ] [ ] C [ ] [ ] [ ] [ ] [ ] [ ] B [ ] [ ] [ ] [ ] [ ] A [ ] 27

28 Arithmetic Coding [Encoding]
Pada akhir proses kita akan memperoleh sebuah range simbol akhir, dalam kasus ini adalah [ , ] Pesan “ C A C B A D“ dapat kita kodekan menjadi suatu bilangan pada range terakhir Misalkan dengan midpoint interval maka pesan dikodekan menjadi 28

29 Arithmetic Coding [Decoding]
Untuk melakukan Decoding kita membutuhkan range simbol awal Langkahnya adalah: Cocokkan nilai data kode dengan range yang ada pada range simbol, lalu ekstrak kode yang sesuai dengan range simbol Pecah range simbol sesuai dengan hasil pencocokan (Mengubah range simbol)‏ 29

30 Arithmetic Coding [Decoding]
(data yang akan di-decoding, di cocokkan dengan interval kemudian dilakukan pembagian interval seperti pada tahap encoding [ ] [ ] [ ] [ ] [ ] [ ] D [ ] [ ] [ ] [ ] [ ] C [ ] [ ] [ ] [ ] [ ] [ ] B [ ] [ ] [ ] [ ] [ ] A [ ] 30

31 JPEG Joint Photographic Experts Group
31 31

32 JPEG Tahap Persiapan (Preparation Process)
Pada tahap ini dilakukan proses membagi citra menjadi blok 8x8 32 32

33 JPEG 2. Tranformasi DCT Transformasi DCT bertujuan mengubah menghitung frekuensi-frekuensi pembentuk dari citra blok 8x8 dan memisahkan frekuensi rendah dan frekuensi tinggi dari hasil tranformasi DCT. Transformasi DCT terhadap blok 8x8 dapat dilakukan dengan rumus : Dimana : 33 33

34 Frekuensi >>, Penting <<
JPEG 2. Tranformasi DCT (cont.)‏ Frekuensi >>, Penting << DCT 34 34

35 JPEG 3. Quantisasi Proses Quantisasi bertujuan untuk menghilangkan nilai- nilai yang tidak penting (dalam hal ini nilai-nilai yang berada pada daerah frekuensi tinggi) pada matrix hasil dari Transformasi DCT. 35 35

36 JPEG 3. Quantisasi (Cont.)‏ = 36 36

37 JPEG 4. Entropy Encoding Entropy Encoding adalah teknik kompresi yang bersifat lossless. Tahap ini bertujuan untuk mengkompresi matrix hasil quantisasi, bisa menggunakan metode huffman atau RLE Proses Entropy Encoding terhadap hasil quantisasi di atas dengan pembacaan zig-zag : Hasil encoding jika menggunakan RLE : 326,-6,-7,1,-5,1,6,1,-3, [0,3] , -1,1,[0,2],2,[0,1],3, [0,1], 1, [0,1],4,1,[0,3],1,[0,5],4,-4,-2,4,-1,[0,2],-1,[0,1], -1, [0,4],-3,4,1,[0,5],12,1,[0,7] = 49 byte 37 37


Download ppt "Kompresi Gambar Klasifikasi Kompresi Teknik Kompresi 1."

Presentasi serupa


Iklan oleh Google