510 likes | 1.05k Views
Kompresi Data Multimedia. Multimedia 2013. Kompresi. T eknik pemampatan data , video, gambar, audio T ujuan : Memperkecil penyimpanan data Mempercepat pengiriman data Memperkecil kebutuhan bandwidth Contoh teknik kompresi T eks / biner G ambar (JPEG, PNG, TIFF),
E N D
Kompresi Data Multimedia Multimedia 2013
Kompresi • Teknikpemampatan data, video, gambar, audio • Tujuan: • Memperkecil penyimpanan data • Mempercepat pengiriman data • Memperkecil kebutuhan bandwidth • Contoh teknik kompresi • Teks/biner • Gambar (JPEG, PNG, TIFF), • Audio (MP3, AAC, RMA, WMA), • Video (MPEG, H261, H263).
Kompresi Data • Proses mengkodekaninformasimenggunakan bit atauinformation-bearing unit yang lain yang lebihrendahdaripadarepresentasi data yang tidakterkodekandengansuatusistem encoding tertentu. • Contohkompresi data : yang yg • Syarat = Pengirim dan Penerima mempunyai “KUNCI” yang sama
Contoh :Kebutuhantempatpenyimpanan per halaman • Contoh kebutuhan data selama 1 detik pada layar resolusi 640 x 480 : • Data Teks • 1 karakter = 2 bytes (termasuk karakter ASCII Extended) • Setiap karakter ditampilkan dalam 8 x 8 pixels • Jumlah karakter yang dapat ditampilkan per halaman = 640 x 480 = 4800 karakter 8 x 8 • Kebutuhan tempat penyimpanan per halaman = 4.800 × 2 byte = 9.600 byte = 9.375 Kbyte
Contoh :Kebutuhantempatpenyimpanan per halaman • Contoh kebutuhan data selama 1 detik pada layar resolusi 640 x 480 : • Data Grafik Vektor • 1 gambar membutuhkan 500 baris • Setiap 1 baris direpresentasikan dalam posisi horisontal, vertikal, dan field atribut sebesar 8-bit • sumbu Horizontal direpresentasikan dengan log2 640 = 10 bits • sumbu Vertical direpresentasikan dengan log2 480 = 9 bits • Bits per line = 9bits + 10bits + 8bits = 27bits • Kebutuhan tempat penyimpanan per halaman = 500 × 27 = 1687,5 byte = 1,65 Kbyte 8
Contoh : Kebutuhantempatpenyimpanan per halaman • Contoh kebutuhan data selama 1 detik pada layar resolusi 640 x 480 : • Color Display • Jenis : 256, 4.096, 16.384, 65.536, 16.777.216 warna • Masing-masing warna pixel memakan tempat 1 byte • Jadi 640 x 480 x 256 warna x 1 byte = 307.200 byte = 300 KByte
Contoh :Kebutuhantempatpenyimpanan per halaman • Kebutuhan tempat penyimpanan untuk media kontinyu untuk 1 detik playback : • Sinyal audio tidak terkompres dengan kualitas suara telepon dengan sample 8 kHz dan dikuantisasi 8 bit per sample, pada bandwidth 64 Kbits/s, membutuhkan storage : • Kebutuhan tempat penyimpanan per halaman = 64 Kbit/s x 1 s = 8 Kbyte 8 bit/byte 1,024 byte/Kbyte
Contoh :Kebutuhantempatpenyimpanan per halaman • Sinyal audio CD disample 44,1 kHz, dikuantisasi 16 bits per sample, dengan nilai encoding 125 bit • Storage = 44,1 kHz x 16 bits = 705,6 x 125 bits = 88.200 bytes untuk menyimpan 1 detik playback.
Kebutuhan Sistem PAL Standar • 640 x 480 dan 25 frame/detik • 3 bytes/pixel (luminance, red chrom, blue chrom) • Luminance Y menggunakan sample rate 13,5 MHz • Chrominance (R-Y dan B-Y) menggunakan sample rate 6.75 MHz • Jika menggunakan 8 bit/sample, maka
Mode Penerimaan Data • Dialoque Mode : prosespenerimaan data dimanapengirimdanpenerimaseakanberdialog (real time), contoh : video conference. • Kompresi data harusberadadalambataspenglihatandanpendengaranmanusia. • Waktutunda (delay) tidakbolehlebihdari 150 ms : 50 ms untukproseskompresidandekompresi, 100 ms untukmentransmisikan data dalamjaringan. • Retrieval Mode : prosespenerimaan data tidakdilakukansecara real time • Dapatdilakukanfast forward danfast rewind di client • Dapatdilakukanrandom access terhadap data dandapatbersifat interaktif
JenisKompresi Data 1. Lossy Compression • Data hasildekompresitidaksamadengan data sebelumkompresinamunsudah “cukup” untukdigunakan. Contoh: Mp3, streaming media, JPEG, MPEG, dan WMA. • Kelebihan: ukuran file lebihkecildibandingloselessnamunmasihtetapmemenuhisyaratuntukdigunakan. • Teknik : membuangbagian data yang tidakberguna, tidakdirasakan, tidakdilihatolehmanusiasehinggamanusiamasihberanggapanbahwa data tersebutmasihbisadigunakanwalaupunsudahdikompresi. • Contoh : Image = 12,249 bytes, • Kompresi JPEG kualitas 30 = 1,869 bytes • Image 85% lebihkecildan ratio kompresi 15%.
JenisKompresi Data 2. Loseless • Data hasil kompresi dapat didekompres lagi dan hasilnya tepat sama seperti data sebelum proses kompresi. Contoh aplikasi: ZIP, RAR, GZIP, 7-Zip • Teknik ini digunakan jika dibutuhkan data setelah dikompresi harus dapat diekstrak/dekompres lagi tepat sama. Contoh pada data teks, data program/biner, beberapa image seperti GIF dan PNG. • Kadangkala ada data-data yang setelah dikompresi dengan teknik ini ukurannya menjadi lebih besar atau sama.
Contoh • Original Image (lossless PNG, 60.1 KB size) - uncompressed is 108.5 KB • Low Compression (84% less information than uncompressed PNG, 9.37 KB) • Medium Compression (92% less information than uncompressed PNG, 4.82 KB) • High Compression (98% less information than uncompressed PNG, 1.14 KB)
Lossy vs Lossless • Keuntungan metode lossy, menghasilkan file kompresi yang lebih kecil dibandingkan dengan metode lossless • Metode lossy sering digunakan untuk mengkompresi suara, gambar dan video. • Lossy akan mengalami generation loss pada data sedangkan pada lossless tidak terjadi karena data yang hasil dekompresi sama dengan data asli. • Sedangkan lossless digunakan untuk mengkompresi data untuk diterima ditujuan dalam kondisi asli seperti dokumen teks.
Kriteria Algoritma Kompresi Data • Kualitas data hasil enkoding: ukuran lebih kecil, data tidak rusak (lossy) • Kecepatan, ratio, dan efisiensi proses kompresi dan dekompresi • Ketepatan proses dekompresi data: data hasil dekompresi tetap sama dengan data sebelum dikompres (loseless)
Klasifikasi Teknik Kompresi (1) 1. Entropy Encoding • Bersifat loseless • Tekniknya tidak berdasarkan media dengan spesifikasi dan karakteristik tertentu namun berdasarkan urutan data. • Statistical encoding, tidak memperhatikan semantik data. • Mis : Run-length coding, Huffman coding, Arithmetic coding
Klasifikasi Teknik Kompresi (2) 2. Source Coding • Bersifat lossy • Berkaitan dengan data semantik (arti data) dan media. • Mis : Prediction (DPCM, DM), Transformation (FFT, DCT), Layered Coding (Bit position, subsampling, sub-band coding), Vector Quantization 3. Hybrid Coding • Gabungan antara lossy + loseless • Mis : JPEG, MPEG, H.261, DVI
Contoh Teknik Kompresi Teks (1) • Run-Length-Encoding (RLE) • Kompresi data teks dilakukan jika ada beberapa huruf yang sama yang ditampilkan berturut-turut : Misal : Data: ABCCCCCCCCDEFGGGG = 17 karakter RLE tipe 1 (min. 4 huruf sama) : ABC!8DEFG!4 = 11 karakter • RLE ada yang menggunakan suatu karakter yang tidak digunakan dalam teks tersebut seperti misalnya ‘!’ untuk menandai. • Kelemahan? Jika ada karakter angka, mana tanda mulai dan akhir? Misal data : ABCCCCCCCCDEFGGGG = 17 karakter RLE tipe 2 : AB8CDEF4G = 9 karakter Misal data : AB12CCCCDEEEF = 13 karakter RLE tipe 2: AB124CD3EF = 10 karakter
Run Length Encoding (RLE) • Misalkan terdapat sederetan data : 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
Contoh Teknik Kompresi Teks (2) • Run-Length-Encoding (RLE) • RLE ada yang menggunakan flag bilangan negatif untuk menandai batas sebanyak jumlah karakter tersebut. • Berguna untuk data yang banyak memiliki kesamaan, misal teks ataupun grafik seperti icon atau gambar garis-garis yang banyak memiliki kesamaan pola. • Best case : untuk RLE tipe 2 adalah ketika terdapat 127 karakter yang sama sehingga akan dikompres menjadi 2 byte saja. • Worst case : untuk RLE tipe 2 adalah ketika terdapat 127 karakter yang berbeda semua, maka akan terdapat 1 byte tambahan sebagai tanda jumlah karakter yang tidak sama tersebut. • Menggunakan teknik loseless
Contoh Teknik Kompresi Teks (3) • Contoh untuk data image : Run-Length-Encoding (RLE)
Contoh Teknik Kompresi Teks (4) • Static Huffman Coding • Dibuat oleh seorang mahasiswa MIT bernama David Huffman pada tahun 1952 • Salah satu metode paling lama dan paling terkenal dalam kompresi teks. • Algoritma Huffman menggunakan prinsip pengkodean mirip dengan kode Morse : tiap karakter (simbol) dikodekan dengan rangkaian beberapa bit ; karakter yang sering muncul dikodekan dengan rangkaian bit yang pendek dan karakter yang jarang muncul dikodekan.dengan rangkaian bit yang lebih panjang.
Huffman • Misalkan : aabaaccccddbbbbef = 17 byte • Pertama-tama hitung frekuensi masing-masing data : • a 4, b 5, c 4, d 2, e 1, f 1 • Masing-masing data diberi kode bit data yang sering muncul diberi kode lebih kecil dibandingkan dengan yang jarang muncul. • b 5, a 4, c 4, d 2, e 1, f 1
17 0 1 8 9 0 1 4 0 1 0 1 2 0 1 5 4 4 2 1 1 b a c d e f Huffman Bit data akan dikodekan, sbb : a 01, b 00, c 10, d 110, e 1110, f 1111 Jadi data “aabaaccccddbbbbef” akan dikodekan sbb: 0101000101101010101101100000000011101111 = 40 bit 5 byte
Contoh Teknik Kompresi Teks (8) • Shannon-Fano Algorithm • Dikembangkan oleh Shannon (Bell Labs) dan Robert Fano (MIT) • Algoritma : • Urutkan simbol berdasarkan frekuensi kemunculannya • Bagi simbol menjadi 2 bagian secara rekursif, dengan jumlah yang kira-kira sama pada kedua bagian, sampai tiap bagian hanya terdiri dari 1 simbol. • Cara yang paling tepat untuk mengimplementasikan adalah dengan membuat binary tree.
Contoh Teknik Kompresi Teks (9) • DICTIONARY-BASED CODING • Algoritma Lempel-Ziv-Welch (LZW) menggunakan teknik adaptif dan berbasiskan “kamus” • Pendahulu LZW adalah LZ77 dan LZ78 yang dikembangkan oleh Jacob Ziv dan Abraham Lempel pada tahun 1977 dan 1978. • Terry Welch mengembangkan teknik tersebut pada tahun 1984. • LZW banyak dipergunakan pada UNIX, GIF, V.42 untuk modem.
Contoh Teknik Kompresi Teks (10) • DICTIONARY-BASED CODING • Algoritma Kompresi : BEGIN S = next input character; While not EOF { C = next input character; If s + c exists in the diactionary S = s + c Else { Output the code for s; Add string s + c to the dictionary with a new code S = c; } } END
Contoh Teknik Kompresi Teks (11) • DICTIONARY-BASED CODING • Algoritma Dekompresi : BEGIN S = NULL; While not EOF { K = NEXT INPUT CODE; Entry = dictionary entry for K; Ouput entry; If (s != NULL) add string s + entry[0] to dictionary with new code S = Entry; } END
7 2 3 6 9 3 3 2 2 3 9 8 8 6 9 6 5 2 4 6 4 3 3 8 8 8 2 7 7 4 4 1 8 2 8 7 4 5 2 6 Dikodekan menjadi 0 (Jumlahnya 13 pixel) Dikodekan menjadi 2 (Jumlahnya 17 pixel) Dikodekan menjadi 1 (Jumlahnya 20 pixel) Dikodekan menjadi 3 (Jumlahnya 15 pixel) 9 2 0 5 4 4 3 7 8 1 9 3 7 4 7 3 7 4 9 5 3 0 2 8 3 Quantizing Compression • 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 0 2 3 1 0 1 1 3 3 3 1 0 2 2 3 2 1 1 1 0 2 1 3 3 1 1 0 3 2 2 0 0 1 2 3 2 0 2 3 3 0 0 2 1 1 1 2 3 0 3 1 2 1 2 1 2 1 3 2 1 0 0 3 0 Quantizing Compression
Aplikasi Kompresi (1) • ZIP File Format • Ditemukan oleh Phil Katz untuk program PKZIP kemudian dikembangkan untuk WinZip, WinRAR, 7-Zip. • Berekstensi *.zip dan MIME application/zip • Dapat menggabungkan dan mengkompresi beberapa file sekaligus menggunakan bermacam-macam algoritma, namun paling umum menggunakan Katz’s Deflate Algorithm. • Beberapa method Zip : • Shrinking : merupakan metode variasi dari LZW • Reducing : merupakan metode yang mengkombinasikan metode same byte sequence based dan probability based encoding. • Imploding : menggunakan metode byte sequence based dan Shannon-Fano encoding. • Deflate : menggunakan LZW • Bzip2, dan lain-lain • Aplikasi : WinZip oleh Nico-Mak Computing
Aplikasi Kompresi (2) • RAR File • Ditemukan oleh Eugene Roshal, sehingga RAR merupakan singkatan dari Roshal Archive pada 10 Maret 1972 di Rusia. • Berekstensi .rar dan MIME application/x-rar-compressed • Proses kompresi lebih lambat dari ZIP tapi ukuran file hasil kompresi lebih kecil. • Aplikasi: WinRAR yang mampu menangani RAR dan ZIP, mendukung volume split, enkripsi AES.