Image Compression. Kompresi untuk apa?

dokumen-dokumen yang mirip
Image Compression. Tujuan Kompresi Image. Teknik kompresi yang diharapkan. Image Compression. Kompresi untuk apa?

Image Compression. Tujuan Kompresi Image. Teknik kompresi yang diharapkan. Image Compression. Kompresi untuk apa?

MKB3383 -TEKNIK PENGOLAHAN CITRA. Kompresi Citra. Muhammad Zidny Naf an, M.Kom. Genap, 2016/2017

1. Pendahuluan. 1.1 Latar Belakang Masalah

TEKNIK KOMPRESI LOSSLESS TEXT

KOMPRESI DATA DAN TEKS. By : Nurul Adhayanti

MULTIMEDIA system. Roni Andarsyah, ST., M.Kom Lecture Series

PEMAMPATAN CITRA (IMA

Pemampatan Citra. Esther Wibowo Erick Kurniawan

DIGITAL IMAGE CODING. Go green Aldi Burhan H Chandra Mula Fitradi Mardiyah

Standard Kompresi Citra: JPEG

BAB 2 TINJAUAN PUSTAKA

BAB 2 LANDASAN TEORI

BAB I. PENDAHULUAN Latar Belakang Masalah

IMPLEMENTASI DAN ANALISIS KINERJA ALGORITMA ARIHTMETIC CODING DAN SHANNON-FANO PADA KOMPRESI CITRA BMP

Kompresi Citra dan Video. Muhtadin, ST. MT.

KOMPRESI JPEG 2000 PADA CITRA DIGITAL DENGAN TRANSFORMASI WAVELET DISKRIT

KOMPRESI CITRA. Pertemuan 12 Mata Pengolahan Citra

BAB 2 LANDASAN TEORI

BAB 2 TINJAUAN PUSTAKA

NASKAH PUBLIKASI KOMPRESI CITRA DENGAN METODE ARITHMETIC CODING DALAM KAWASAN ENTROPY CODING

PEMAMPATAN TATA TEKS BERBAHASA INDONESIA DENGAN METODE HUFFMAN MENGGUNAKAN PANJANG SIMBOL BERVARIASI

~ By : Aprilia Sulistyohati, S.Kom ~

Pemampatan Citra Pemampatan Citra versus Pengkodean Citra

PENGANTAR KOMPRESI DATA

KOMPRESI TEKS MENGGUNAKAN ALGORITMA DAN POHON HUFFMAN. Nama : Irfan Hanif NIM :

BAB 2 TINJAUAN PUSTAKA

BAB 1 PENDAHULUAN. 1.1 Latar Belakang Masalah

Teknik Kompresi Citra Menggunakan Metode Huffman

N, 1 q N-1. A mn cos 2M , 2N. cos. 0 p M-1, 0 q N-1 Dengan: 1 M, p=0 2 M, 1 p M-1. 1 N, q=0 2. α p =

BAB 1 PENDAHULUAN Latar Belakang

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

Penggunaan Pohon Huffman Sebagai Sarana Kompresi Lossless Data

BAB 2 TINJAUAN PUSTAKA

KOMPRESI DATA. Multimedia Jurusan Teknik Informatika. Riki Ruli S -

BAB 2 LANDASAN TEORI

Penggunaan Kode Huffman dan Kode Aritmatik pada Entropy Coding

BAB I PENDAHULUAN. Dalam dunia modern sekarang ini kebanyakan aktivitas manusia selalu

Oleh : Page 1

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

TEKNIK PENGOLAHAN CITRA. Kuliah 13 Kompresi Citra. Indah Susilawati, S.T., M.Eng.

[TTG4J3] KODING DAN KOMPRESI. Oleh : Ledya Novamizanti Astri Novianty. Prodi S1 Teknik Telekomunikasi Fakultas Teknik Elektro Universitas Telkom

PROGRAM STUDI S1 SISTEM KOMPUTER UNIVERSITAS DIPONEGORO MULTIMEDIA. Kompresi. Oky Dwi Nurhayati, ST, MT

Page 1

SATUAN ACARA PERKULIAHAN ( SAP )

BAB II TEORI DASAR PENGOLAHAN CITRA DIGITAL. foto, bersifat analog berupa sinyal sinyal video seperti gambar pada monitor

BAB II LANDASAN TEORI. Kompresi data atau pemampatan data adalah suatu proses pengubahan

Kompresi. Definisi Kompresi

BAB 2 LANDASAN TEORI

Contoh kebutuhan data selama 1 detik pada layar resolusi 640 x 480 : 640 x 480 = 4800 karakter 8 x 8

KOMPRESI TEKS dengan MENGGUNAKAN ALGORITMA HUFFMAN

PERBANDINGAN ALGORITMA HUFFMAN DAN ALGORITMA SHANNON-FANO PADA PROSES KOMPRESI BERBAGAI TIPE FILE. Irwan Munandar

KOMPRESI CITRA MENGGUNAKAN METODE RUN LENGTH ENCODING (RLE) DAN ALGORITMA ARITMETIC CODING

[TTG4J3] KODING DAN KOMPRESI. Oleh : Ledya Novamizanti Astri Novianty. Prodi S1 Teknik Telekomunikasi Fakultas Teknik Elektro Universitas Telkom

BAB 2 LANDASAN TEORI

BAB III METODOLOGI PENELITIAN. Penelitian ini dilakukan di Jurusan Ilmu Komputer Fakultas Matematika dan

1. PENDAHULUAN 1.1. Latar Belakang Masalah

[TTG4J3] KODING DAN KOMPRESI. Oleh : Ledya Novamizanti Astri Novianty. Prodi S1 Teknik Telekomunikasi Fakultas Teknik Elektro Universitas Telkom

Kata kunci: pohon biner, metode Huffman, metode Kanonik Huffman, encoding, decoding.

KOMPRESI FILE MENGGUNAKAN ALGORITMA HUFFMAN KANONIK

>>> Kompresi Data dan Teks <<<

BAB 2 LANDASAN TEORI

BAB 1 PENDAHULUAN. tertulis, audio dan video. Objek-objek tersebut yang sebelumnya hanya bisa

ANALISIS BEBERAPA TEKNIK CODING RAHMAD FAUZI, ST, MT JURUSAN TEKNIK ELEKTRO FAKULTAS TEKNIK UNIVERSITAS SUMATERA UTARA BAB I PENDAHULUAN

Penerapan Algoritma Huffman dalam Kompresi Gambar Digital

Penerapan Pohon Biner Huffman Pada Kompresi Citra

Entropy Naskah Bahasa Sunda Dan Bahasa Jawa Untuk Kompresi Teks Menggunakan Algoritma Binary Huffman Code

PROGRAM STUDI S1 SISTEM KOMPUTER UNIVERSITAS DIPONEGORO. Oky Dwi Nurhayati, ST, MT.

KOMPRESI DAN TEKS. By Aullya Rachmawati,

Konstruksi Kode dengan Redundansi Minimum Menggunakan Huffman Coding dan Range Coding

UAS. Pembentukan Citra Digital a. Sampling dan Kuatisasi b. Penyimpanan Citra dalam File. Halftoning ================================================

BAB 2 TINJAUAN PUSTAKA

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB SHEET KOMUNIKASI DATA

BAB II DASAR TEORI. 2.1 Pendahuluan

Lesson 8. Run Length Encoding (RLE) dan BW Transform

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

IMPLEMENTASI DAN ANALISIS KINERJA ALGORITMA SHANNON- FANO UNTUK KOMPRESI FILE TEXT

BAB 2 LANDASAN TEORI

STMIK GI MDP. Program Studi Teknik Informatika Skripsi Sarjana Komputer Semester Ganjil Tahun 2010/2011


BAB 2 LANDASAN TEORI. 2.1 Pengenalan Citra

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

BAB III METODE KOMPRESI HUFFMAN DAN DYNAMIC MARKOV COMPRESSION. Kompresi ialah proses pengubahan sekumpulan data menjadi suatu bentuk kode

KOMPRESI DAN TEKS. = 4800 karakter. 8 x 8 Kebutuhan tempat penyimpanan per halaman = byte = byte = Kbyte

[TTG4J3] KODING DAN KOMPRESI. Oleh : Ledya Novamizanti Astri Novianty. Prodi S1 Teknik Telekomunikasi Fakultas Teknik Elektro Universitas Telkom

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

Studi Kompresi Data dengan Metode Arithmetic Coding

Informasi dan Coding

BAB I PENDAHULUAN. 1.1 Latar Belakang. Komunikasi memegang suatu peranan yang sangat penting di abad ini

BAB I PENDAHULUAN I-1

SISTEM ANALISA PERBANDINGAN UKURAN HASIL KOMPRESI WINZIP DENGAN 7-ZIP MENGGUNAKAN METODE TEMPLATE MATCHING

APLIKASI PENYEMBUNYIAN PESAN PADA CITRA JPEG DENGAN ALGORITMA F5 DALAM PERANGKAT MOBILE BERBASIS ANDROID

UKDW BAB 1 PENDAHULUAN

Penyandian (Encoding) dan Penguraian Sandi (Decoding) Menggunakan Huffman Coding

Kompleksitas Algoritma dari Algoritma Pembentukan pohon Huffman Code Sederhana

Bab 6. Kompresi Data dan Teks. Pokok Bahasan : Tujuan Belajar : Sekilas Kompresi Data

Analisa Perbandingan Rasio Kecepatan Kompresi Algoritma Dynamic Markov Compression Dan Huffman

Kompresi Citra Dengan Menggabungkan Metode Discrete Cosine Transform (DCT) dan Algoritma Huffman

Transkripsi:

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

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

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

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 Transfrom Encoding Hybrid Encoding (Lossy) JPEG 5

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 hitogram, menggunakan matrik kuantisasi 6

Quantizing Compression (kode) 2 9 6 4 8 3 8 5 4 7 3 8 4 7 4 3 9 4 7 2 2 0 4 3 8 2 6 3 8 5 6 3 8 2 8 9 2 3 8 2 7 6 2 1 6 9 5 4 7 1 9 3 7 4 7 3 7 4 9 5 3 0 2 8 3 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 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

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

Quantizing Compression (matrik) Menggunakan matrik dan pembulatan = 9

Run Length Encoding (RLE) 1 2 1 1 1 1 1 1 3 4 4 4 1 3 3 1 1 1 1 3 3 Diubah dalam bentuk sekuensial 1 2 1 1 1 1 1 3 4 4 4 4 1 1 3 3 3 5 1 1 1 1 3 3 = 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 1 1 2 1 1 5 3 1 4 4 1 2 3 3 5 1 1 4 3 2 = 20 byte 3 4 5 10

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

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

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

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

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 log 2 p(a) simbol Sehingga entropy seluruh data adalah: 15

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

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

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

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

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

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

Huffman Code s Dalam implementasinya teknik Huffaman Code s dapat dipercepat dengan menggunakan mekanisme sorting data (insertion sort) Bagaimana mekanisme Decodenya?? Coba buatlah code-matlab untuk perbaikan huffman encoding 22

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 Sesuai digunakan untuk jumlah simbol sedikit (binary simbol) dan simbol dengan highly skewed probabilities 23

Arithmetic Coding [Encoding] Example penerapan arithmetic coding Informasi yang dimiliki Sbl. P(s) Cumulative Range Simbol P(s) A 0.3 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

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 [1.000000] [0.900000] [0.500000] [0.300000] [0.000000] 25

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

Arithmetic Coding [Encoding] [1.000000] [0.900000] [0.620000] [0.608000] [0.584000] [0.577280] [0.577280] D D D D D D D [0.900000] [0.860000] [0.608000] [0.603200] [0.583040] [0.576992] [0.577251] C C C C C C C [0.500000] [0.700000] [0.560000] [0.584000] [0.579200] [0.575840] [0.577136] B B B B B B B [0.300000] [0.620000] [0.536000] [0.574400] [0.577280] [0.575264] [0.577078] A A A A A A A [0.000000] [0.500000] [0.500000] [0.560000] [0.574400] [0.574400] [0.576992] C A C B A D 27

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

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

Arithmetic Coding [Decoding] 0.577136 (data yang akan di-decoding, di cocokkan dengan interval kemudian dilakukan pembagian interval seperti pada tahap encoding [1.000000] [0.900000] [0.620000] [0.608000] [0.584000] [0.577280] [0.577280] D D D D D D D [0.900000] [0.860000] [0.608000] [0.603200] [0.583040] [0.576992] [0.577251] C C C C C C C [0.500000] [0.700000] [0.560000] [0.584000] [0.579200] [0.575840] [0.577136] B B B B B B B [0.300000] [0.620000] [0.536000] [0.574400] [0.577280] [0.575264] [0.577078] A A A A A A A [0.000000] [0.500000] [0.500000] [0.560000] [0.574400] [0.574400] [0.576992] C A C B A D 30

JPEG Joint Photographic Experts Group 31

JPEG 1. Tahap Persiapan (Preparation Process) Pada tahap ini dilakukan proses membagi citra menjadi blok 8x8 10 12 11 10 11 12 13 20 11 11 12 16 17 18 12 11 10 10 15 16 14 13 19 20 20 18 16 16 15 14 12 11 12 13 11 11 10 13 14 17 10 11 17 16 15 12 12 13 17 18 18 10 11 12 14 15 11 12 20 19 18 17 17 15 32

JPEG 2. Tranformasi DCT DCT( u, v) 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 : = 1 4 Dimana :. C( u). C( v) 7 7 x= 0 y= 1, C( z) = 2 1, (2. x+ 1). u. π (2. y+ 1). v.. f( x, y).cos.cos 0 16 16 z= 0 z> 0 π 33

JPEG 2. Tranformasi DCT (cont.) Frekuensi >>, Penting << 3588-86 -27-105 -2 1 44 19 DCT -100-79 24 34 45-22 -14-43 18-64 -35-20 -15-17 21 15-184 3 72-17 0-53 8-13 14 9 44 11 6-15 -3-23 39 99 122-25 -13-18 -6 26 7-116 -46-93 30 35-4 28 Fre ekuensi >>, Penting << -53-110 137-56 -19-3 -11 3 34

JPEG 3. Quantisasi Proses Quantisasi bertujuan untuk menghilangkan nilainilai yang tidak penting (dalam hal ini nilai-nilai yang berada pada daerah frekuensi tinggi) pada matrix hasil dari Transformasi DCT. Quantized _ Value( i, j) = DCT_ Matrix( i, j) Quantum_ Matrix( i, j) 35

JPEG 3. Quantisasi (Cont.) = 36

JPEG 4. Entropy Encoding Entropy Encoding adalah teknik kompresi yang bersifat lossless. Tahap ini bertujuan untuk mengkompresi matrix hasil quantisasi, bisa menggunakn metode huffman atau RLE Proses Entropy Encoding terhadap hasil quantisasi di atas dengan pembacaan zig-zag : 326-6 -1-6 0 0 1 0-7 -5 1 1 2 0 0-1 1-3 -1 0 0 0 0 0-10 0 3 0 0-1 0 0 0 0 1 0 0 0 0 0 1 4 4 0 0 0 12 0 0-4 -1-3 0 1 0 0 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 -2-4 4-1 0 0 0 0 37