MODUL II PRINSIP TEKNIK KOMPRESI
2.1. Mengapa Kompresi Motivasi kompresi sinyal : Dunia digital mengalami pertumbuhan yang sangat cepat :
Sinyal diperoleh secara digital
Sinyal analog dikonversi ke digital
Mengapa kompresi data : Sinyal digital (Image, Speech, etc.) dapat :
Dapat disimpan (direkam, diarsipkan) dalam media digital (piringan komputer)
Dapat ditransmisikan secara lokal maupun jarah jauh melalui link komunikasi digital (telekomunikasi, serat optik)
Dapat diarsipkan dalam basis data publik (ftp, web)
Dapat diolah oleh komputer : -
diagnosis / keputusan berbantukan komputer
-
pencarian otomatis untuk pola tertentu
-
pencarian konteks
-
huruf tebal atau tanda interesting suspicious regions
-
focus pada daerah tertentu dari intensitas citra
-
Pengolahan sinyal secara statistik : a. enhancement / restoration b. denoising c.
klasifikasi
d. regresi / estimasi / prediksi e. ekstraksi ciri / pengenalan pola f.
filtering
Kompresi dibutuhkan untuk transmisi yang efesien : -
mengirimkan lebih banyak data dalam bandwidth yang tersedia
-
mengirimkan data yang sama dalam bandwitdh yang lebih kecil
-
lebih banyak user pada bandwitdh dan media penyimpanan yang sama
-
dapat menyimpan lebih banyak data
-
dapat mengkompresi untuk penyimpanan lokal, meletakkan detailnya pada media yang lebih murah. Juga bermanfaat untuk rekonstruksi progresif, pengiriman scalable, browsing dan sebagai
front end dalam pengolahan sinyal lainnya. Ke depan : mengkombinasikan kompresi dan pengolahan subsequent user tertentu.
Kasus : Meminimalkan bit rate
Oleh :
[email protected]
Page 1
CD-ROM: 648 MB atau 72 menit dari suara kualitas CD stereo tanpa kompresi. Catatan : -
CD Quality : 44 100 Hz, 16 bit, Stereo 172 kbps (141.120 kbps)
-
Radio Quality : 22 050 Hz, 8 bit, Mono 22 kbps
-
Telephone Quality : 11 025 Hz, 8 bit Mono 11 kbps
CD-ROM tersebut sama dengan 30 detik TV digital kualitas studio tanpa kompresi. Sehingga untuk 90 menit video (movie) memerlukan sekitar 120 GB, yang kira-kira sama dengan 189 CD-ROM. Kita perlu kompresi !! Kompresi Lossless atau Lossy Ide Umum : Beberapa informasi berisi redundansi (informasi yang berlebihan) Apakah semua informasi dibutuhkan ? Tergantung pada viewer target dan final Kompresi tanpa cacat (Lossless) Pengkodean tanpa derau, tanpa cacat, invertible, entropy, data compaction -
seluruh informasi disimpan dan kompresi adalah reversible.
-
dapat secara sempurna recover data asli (jika tanpa bit error transmisi atau penyimpanan)
-
variabel length binary codewords (atau tanpa kompresi)
-
hanya bekerja untuk sumber digital
Ide Dasar : mengkodekan simbol yang mempunyai peluang tinggi ke dalam deretan binary yang pendek, simbol dengan peluang rendah ke dalam deretan binary yang panjang, sehingga bahwa ratarata terminimalisasi. Kompresi dengan cacat (Lossy) Beberapa informasi “dibuang” didasarkan pada respon perceptual dari observer. Dan kompresi adalah irreversible atau non invertible, ada informasi yang hilang. Kerugiannya : Berkurangnya informasi dan kualitas, tetapi jika cukup jumlah bitnya, maka cacat tidak kelihatan. Keuntungannya: Memungkinkan kompresi yang lebih besar (umumnya 6:1 to 16:1 ,80:1 to 100:1 dijanjikan dalam beberapa aplikasi) Tujuan desain : memperoleh kualitas sebaik mungkin untuk bits yang tersedia. Big issue : sebaik mungkin Contoh: DPCM, ADPCM, transform coding, LPC, H.26*, PEG, MPEG, EZW, SPHIT, CREW, StackRun
Konteks Kompresi
Oleh :
[email protected]
Page 2
- kompresi biasanya bagian dari sistem umum untuk akuisisi, transmisi, penyimpanan dan tampilan data. - Konversi analog ke Digital dan akuisisi digital - Qualitas dan penggunaan dari citra digital termodifikasi. Entropy Encoding -
Sumber dari data tidak dimasukan ke dalam penghitungan ketika sedang melakukan kompresi.
-
Pembuangan pengulangan deretan
-
Pengkodean secara statistik atau berdasarkan informasi statistik dari data
-
Lossless dan reversible
Source Encoding - Data ditransformasikan berdasarkan pada sumber dan karakteristiknya yang diketahui. - Lossy atau lossless Contoh : - membuang bagian diam dalam sebuah deretan sinyal audio - mendapatkan blok yang dipakai bersama dalam dua frame dari video Klasifikasi : - Transform Coding - Differential Coding - Kuantisasi Vektor Catatan : Entropy Coding dan Source Encoding dapat digabungkan Penekanan perulangan sequence - Penekanan nol atau blank (kosong) :
Sebuah deretan dari n successive zeroes digantikan dengan sebuah karakter tertentu diikuti oleh angka dari n
- Run-length encoding :
sama seperti diatas tetapi karakter yang menggantikan juga dimasukkan ke dalam kode.
jumlah dari kejadian sekuensial harus lebih tinggi dibandingkan 3.
Statistical Encoding -
Deretan dari data yang terjadi paling sering menggunakan kode paling pendek
-
Sebuah buku kode dibangkitkan seperti dalam kelebihan huruf (sandi) morse
-
Atau secara dinamik selama encoding
-
Dua kelompok dari Encoding :
Substitusi pola
Huffman Encoding
Oleh :
[email protected]
Page 3
Pattern Substitution Digunakan ketika mengkodekan teks : -
kata yang sering digunakan digantikan dengan code word yang lebih pendek : “Multimedia” digantikan dengan “*M” dan “Network” dengan “*N”
Transform Encoding -
Beberapa data lebih mudah dikompresi dalam kawasan frekuensi.
-
Data dipindahkan dari domain spasial atau temporal ke dalam domain frekuensi.
Gambar 2.1. Sinyal hasil transformasi Transformasi : -
Transformasi secara matematis menggambarkan suatu sinyal dapat dinyatakan dengan sinyal yang lainnya.
-
Sinyal dapat didekomposisikan menjadi beberapa sinyal yang lainnya.
-
Lossy atau Lossless
-
Beberapa frekuensi dikodekan dengan presisi yang lebih rendah atau dibuang secara keseluruhan
-
Beberapa transformasi yang sering digunakan : Fourier, DCT, wavelet, Karhunen-Loeve, Hadamard, Walsh, Sine, Hartley, Fractal yang umumnya dilakukan secara digital.
-
Discrete Cosine Transform – DCT :
digunakan ketika mengkodekan gambar
Mengapa melakukan transformasi ? Beberapa alasan: -
Transformasi yang baik cenderung mengumpulkan energi ke dalam koefisien yang sedikit, mengijinkan beberapa sampel untuk dikuantisasikan ke dalam bit 0 tanpa mempengaruhi kualitas.
-
Transformasi yang baik cenderung mendekorelasikan (mereduksi ketergantungan linier) sejumlah koefisien, menyebabkan Quantizer skalar menjadi lebih efisien (Teori Rakyat)
-
Transformasi yang baik, secara efektif mengembangkan sinyal dalam fungsi basis (Intuisi matematik)
Oleh :
[email protected]
Page 4
-
Mata dan Telinga cenderung sensitif terhadap perubahan dalam domain frekuensi, sehingga pengkodean dalam domain frekuensi mengijinkan penggunaan ukuran distorsi didasarkan pada persepsi.
Differential atau Predictive Encoding Secara singkat merupakan bentuk penyederhanaan dari penyimpanan nilai lengkap, perbedaan dari nilai prediksi perbedaan atau error term. -
Bagus ketika digunakan untuk informasi berisi variasi yang rendah
-
Daerah variasi yang lebih tinggi menggunakan jumlah bit yang sama dibandingkan dengan encoding absolut (semua sama).
Gambar. . Sinyal dan turunannya Tipe berbeda dari Differential Encoding 1. Differential Pulse Code Modulation – DPCM 2. Delta modulation (DM) 3. Adaptive differential pulse code modulation – ADPCM
Gambar.2.3. Perbandingan sinyal DPCM, DM, dan ADPCM Kuantisasi Vektor Kasus khusus dari substitusi pola : 1. Data dibagi ke dalam vektor 2. Vektor dibandingkan dengan tabel (look-up table)
Oleh :
[email protected]
Page 5
3. Indek dari pencocokan pola terbaik dalam buku kode yang digunakan. Kode buku dapat dikonstruksi dalam lanjutan atau secara dinamik Bekerja cukup baik untuk data yang diketahui karakteristiknya, dimana buku kodenya dapat dibangkitkan sebagai kelanjutannya. Sangat berguna untuk mengkuantisasi sinyal bicara (speech) Permasalahan umum adalah : 1. Bagaimana membentuk buku kode yang optimal ? 2. Algoritma yang mana yang digunakan untuk mendapatkan indeks pencocokan yang terbaik?
Gambar 2.4. Kuantisasi vektor Error Kuantisasi Error atau distorsi terjadi ketika diperoleh level dari sampel yang tidak ada yang persis sama dengan level Quantizer : -
Lossy jika mengabaikan error ini
-
Lossless jika dikirimkan perbedaan (error) dengan code word
Gambar 2.5. Kuantisasi vektor dan error kuantisasi Kompresi / Dekompresi Asimetris 1. Kompresi biasanya membutuhkan waktu yang lebih panjang dibandingkan dengan dekompresi. Dan proses yang lebih banyak. 2. Asimetris merupakan solusi yang dapat diterima dalam banyak aplikasi interaktif. 3. Waktu Tunda tidak boleh terlalu panjang di dalam konferensi elektronik yang interaktif. 4. Perlu mempertimbangkan untuk aplikasi yang real time.
Oleh :
[email protected]
Page 6