[TTG4J3] KODING DAN KOMPRESI
Oleh : Ledya Novamizanti Astri Novianty
Prodi S1 Teknik Telekomunikasi Fakultas Teknik Elektro Universitas Telkom
Terjadi transformasi atau revolusi dalam cara kita
berkomunikasi dalam kurun waktu 20 tahun terakhir Perkembangan internet, komunikasi mobile yang
berkembang sangat cepat, dan komunikasi multimedia
Salah satu teknologi pemicu revolusi multimedia adalah teknologi kompresi data
[TTG4J3] Koding dan Kompresi
Pengantar Kompresi Data
Data compression is the art of science of
representing information in a compact form.
Kompresi data adalah cara untuk
merepresentasikan informasi menjadi bentuk kompak.
Tujuan kompresi untuk memperkecil ukuran sebuah data [TTG4J3] Koding dan Kompresi
Pengantar Kompresi Data
Sebagian besar informasi yang kita pakai
atau pun kita hasilkan kini direpresentasikan dalam bentuk digital dan jumlahnya terus meningkat dari waktu ke waktu.
Jumlah byte pada data multimedia bisa sangat besar tanpa dikompresi [TTG4J3] Koding dan Kompresi
Pengantar Kompresi Data
Di antara dampak teknologi kompresi data: Memungkinkan penggunaan gambar, audio, dan video
pada website Berkembangnya TV digital,
dll
Awalnya kompresi data hanya domain sekelompok
kecil engineer dan scientist, tapi sekarang menjadi ubiquitous [TTG4J3] Koding dan Kompresi
Pengantar Kompresi Data
Merepresentasikan atau mengubah data ke dalam
bentuk kode tertentu sedemikian rupa sehingga kode yang dihasilkan dapat memenuhi tujuan tertentu
Di antara tujuan pengkodean: 1. Error detecting dan error correcting pada transmisi data 2. Mengamankan data (enkripsi data) 3. Kompresi data
[TTG4J3] Koding dan Kompresi
Pengantar Kompresi Data
Beberapa algoritma pengkodean hanya
dapat digunakan untuk 1 tujuan saja, beberapa dapat multifungsi
[TTG4J3] Koding dan Kompresi
Pengantar Kompresi Data
Algoritma pengkodean selalu mencakup dua
proses dasar: 1. Encoding 2. Decoding
[TTG4J3] Koding dan Kompresi
Pengantar Kompresi Data
[TTG4J3] Koding dan Kompresi
Pengantar Kompresi Data
Di dalam komputer data teks disimpan dalam bentuk representasi data ASCII Setiap simbol karakter direpresentasikan ke dalam 8 bit data Contoh: Message “ini kompresi” tersimpan dalam bentuk representsi ASCII sebanyak 12 x 8 bit = 96 bit [TTG4J3] Koding dan Kompresi
Pengantar Kompresi Data
pixel
[TTG4J3] Koding dan Kompresi
Pengantar Kompresi Data
Satuan terkecil image
adalah piksel
Pixel H (horizontal number of pixel)
Total jumlah piksel
pada image adalah (banyaknya piksel horisontal) x (banyaknya piksel vertikal) [TTG4J3] Koding dan Kompresi
Pengantar Kompresi Data
Di dalam komputer, setiap piksel dapat
direpresentasikan oleh: 1 bit data (BW)
1 byte data (grayscale) 1 byte data (256 warna)
2 byte data (64K warna) 3 byte data (16M warna) [TTG4J3] Koding dan Kompresi
Pengantar Kompresi Data
Black and White
Color Greyscale
[TTG4J3] Koding dan Kompresi
Pengantar Kompresi Data
14
= 1 byte 8 pixels
Setiap piksel pada BW image direppresentasikan dalam 1 bit data Hanya ada 2 variasi warna: hitam dan putih
Black & White [TTG4J3] Koding dan Kompresi
Pengantar Kompresi Data
15
= 1 byte 1 pixels
Setiap piksel pada Grayscale image direpresentasikan dalam 1 Byte data Ada 256 variasi warna abu-abu Greyscale [TTG4J3] Koding dan Kompresi
Pengantar Kompresi Data
16
Grayscale Image 500 x 400 pixel Ukuran file?
Pixel-2 Pixel-1
= 1 byte
Pixel-n
17 [TTG4J3] Koding dan Kompresi
Pengantar Kompresi Data
Image 400 x 500 pixel
Ukuran file?
Pixel-1
Pixel-2
18
= 1 byte
[TTG4J3] Koding dan Kompresi
Pixel-n
Pengantar Kompresi Data
Computer Sound Board Microphone Signal Conditioner
Analog to Digital Converter
Computer System
Computer Storage
[TTG4J3] Koding dan Kompresi
Pengantar Kompresi Data
19
1.
2.
3.
Sampling Sinyal audio berupa sinyal analog disampling dengan sampling rate tertentu (dalam satuan Hz, atau samples per second) Kuantifikasi Setelah sinyal disampling, dilakukan kuantifikasi untuk menentukan representasi bit setiap hasil sampling. Koding Setiap hasil sampling direpresentasikan ke dalam bentuk data bit-bit.
[TTG4J3] Koding dan Kompresi
Pengantar Kompresi Data
Quantizatio n Error
1111 1110 1101 1100 1011 1010 1001 1000 0111 0110 0101 0100 0011 0010 0001
1001
1010
1001
1011
1011
1011
1010
Sampling Period
0000
Digital Data Stream : 1010 1011 1011 1011 1001 ... [TTG4J3] Koding dan Kompresi
Pengantar Kompresi Data
21
Sampling rate untuk standar audio pada CD
adalah 44.1 kHz, pada Digital Audio Tape adalah 48 kHz.
Data audio standar umumnya disimpan dalam 16 bit data per sample.
[TTG4J3] Koding dan Kompresi
Pengantar Kompresi Data
Berapa ukuran file audio berdurasi 2 menit
menggunakan standar CD-Audio?
[TTG4J3] Koding dan Kompresi
Pengantar Kompresi Data
Berapa ukuran file audio berdurasi 5 menit
menggunakan standar CD-Audio?
[TTG4J3] Koding dan Kompresi
Pengantar Kompresi Data
Terdiri atas rangkaian frame yang
ditampilkan dengan sangat cepat
Frame pada dasarnya adalah sebuah citra
(image)
Banyaknya frame yang ditampilkan dalam 1
detik diistilahkan frame per second (fps)
[TTG4J3] Koding dan Kompresi
Pengantar Kompresi Data
frame
[TTG4J3] Koding dan Kompresi
Pengantar Kompresi Data
26
Dua jenis standar video yang banyak digunakan: a. NTSC (National Television Standards Committee)
mentrasfer 30 fps
resolusi per frame = 352 x 240 pixel = 84.480 pixel
1 pixel menggunakan RGB 3 Byte
b. PAL (Phase Alternating Line)
mentrasfer 25 fps
resolusi per frame = 352 x 288 pixel = 101.376 pixel
1 pixel menggunakan RGB 3 Byte [TTG4J3] Koding dan Kompresi
Pengantar Kompresi Data
NTSC = 30 fps, PAL = 25 fps
frame
10 minutes NTSC video consist of 10 x 60 x 30 = 18.000 frames
[TTG4J3] Koding dan Kompresi
Pengantar Kompresi Data
28
Berapa ukuran file video NTSC VCD berdurasi
10 menit tanpa kompresi?
[TTG4J3] Koding dan Kompresi
Pengantar Kompresi Data
Berapa ukuran file video PAL VCD berdurasi 2
jam?
[TTG4J3] Koding dan Kompresi
Pengantar Kompresi Data
Misalkan kita akan mentransfer video “live” melalui internet. Spesifikasi video streamnya adalah sebagai berikut: 512× 512 pixel per frame, 25 frames per second full colour RGB, 3 bytes per pixel durasi video 30 menit
Berapa kebutuhan bandwidth jika mata kita masih dapat menikmati video dengan minimal 20 fps? Jika menggunakan koneksi Ethernet 10 Mbps, hitung berapa besar data yang harus direduksi agar video dapat dinikmati oleh penerima streaming dengan kualitas 20 fps?
[TTG4J3] Koding dan Kompresi
Pengantar Kompresi Data
Berapa kebutuhan bandwidth jika mata kita masih dapat menikmati video dengan minimal 20 fps?
[TTG4J3] Koding dan Kompresi
Pengantar Kompresi Data
32
Jika menggunakan koneksi Ethernet 10 Mbps, hitung berapa besar data yang harus direduksi agar video dapat dinikmati oleh penerima streaming dengan kualitas 20 fps?
[TTG4J3] Koding dan Kompresi
Pengantar Kompresi Data
33
1.
Menghemat storage space (kapasitas
penyimpanan) 2.
Mengurangi waktu transmisi
3.
Proses transmisi dapat lebih progresif
4.
Mengurangi komputasi
[TTG4J3] Koding dan Kompresi
Pengantar Kompresi Data
Mencakup 2 algoritma dasar: 1. Algoritma kompresi
Mengubah data awal menjadi data terkompresi 2. Algoritma dekompresi/rekonstruksi
Mengubah data terkompresi menjadi data awal kembali (sesuai dengan asliya) [TTG4J3] Koding dan Kompresi
Pengantar Kompresi Data
xc
pr es i
Αβγδεζηθ λμνροψωПαβγδ εζ νροςσφψ ωПαβγδε ψωП αβγδεПαβγ δεζηθλμ νροςσφ ψωП
Ko m
Misalkan: x = data original, sebelum dikompresi xc = data hasil kompresi y = data hasil rekonstruksi/ dekompresi x
D Re eko ko m ns pre tr si uk / si
y
αβγδεζηθλμνρος σφψωПαβγδεζηθ λμνροςσφψωПα βγδεζηθλμνροςσ φψωПαβγδεζηθλ μνροςσφψωПαβ γδεζηθλμνροςσφ ψωП
αβγδεζηθλμνρος σφψωПαβγδεζηθ λμνροςσφψωПα βγδεζηθλμνροςσ φψωПαβγδεζηθλ μνροςσφψωПαβ γδεζηθλμνροςσφ ψωП
Original
Hasil Rekonstruksi
[TTG4J3] Koding dan Kompresi
Pengantar Kompresi Data
1.
Lossless Compression
2.
Lossy Compression
[TTG4J3] Koding dan Kompresi
Pengantar Kompresi Data
Tidak ada informasi yang hilang Data hasil rekonstruksi = data original Reversible Cocok untuk data diskrit (teks, bit string, dll) Digunakan ketika aplikasi tidak dapat mentolerir perubahan data atau hilangnya sebagian data. Contoh: Pada teks, contoh: “do not send money” menjadi “do now send
money” Pada data yang akan di”enhanced” oleh analisis lebih lanjut.
Dikhawatirkan analisis tersebut akan memperbesar error. Contoh pada image radiologi. [TTG4J3] Koding dan Kompresi
Pengantar Kompresi Data
Contoh kompresi teks: winzip pada Windows atau gzip pada UNIX. Algoritma Lossless Compression:
Huffman Code Golomb Code Rice Code
Tunstall Code Arithmetics Code Dictionary Code
Run-Length Code Burrows-Wheeler Transform
[TTG4J3] Koding dan Kompresi
Pengantar Kompresi Data
Ada informasi yang hilang Data hasil rekonstruksi data original Irreversible Cocok untuk data kontinu (image, sound, dll) Digunakan ketika aplikasi masih dapat mentolerir perubahan data atau hilangnya sebagian data selama perubahan data tersebut tidak mengganggu. Data hasil rekonstruksi hanya perlu “mirip” dengan data aslinya. Misalnya pada data image, audio dan video. Menghasilkan rasio kompresi yang lebih besar. [TTG4J3] Koding dan Kompresi
Pengantar Kompresi Data
1. 2.
3. 4. 5.
Kompleksitas relatif algoritma yang dipakai Besar memori yang diperlukan utuk mengimplementasikan algortima kompresi yang dipakai Kecepatan algoritma bekerja pada mesin tertentu Besar kompresi Seberapa dekat/mirip antara hasil rekonstruksi dengan data asli yang dikompresi.
[TTG4J3] Koding dan Kompresi
Pengantar Kompresi Data
Untuk Lossless Compression, biasanya yang
dijadikan acuan performansi adalah besar kompresi
Untuk Lossy Compression, parameter performansi yang umum dipakai selain rasio
kompresi adalah seberapa mirip antara hasil rekonstruksi dengan data asli yang dikompresi. [TTG4J3] Koding dan Kompresi
Pengantar Kompresi Data
Perbandingan antara jumlah data sebelum dikompresi dengan data setelah dikompresi. Contoh: sebuah image beresolusi 256x256 pixel dengan warna
1 byte, jumlah data yang tersimpan sebelum dikompresi
adalah 65.536 Bytes. Jika setelah dikompresi ukuran data menjadi 16.384
Bytes, maka rasio kompresinya adalah 4:1. [TTG4J3] Koding dan Kompresi
Pengantar Kompresi Data
Adalah prosentase jumlah data yang berhasil direduksi di dalam kompresi dibandingkan data awalnya. Untuk contoh kasus yang sama di atas, maka rasio kompresinya adalah 75%.
[TTG4J3] Koding dan Kompresi
Pengantar Kompresi Data
Perbedaan antara data original dengan data hasil rekonstruksi Semakin besar distorsi, rasio kompresi yang diperoleh semakin besar Tetapi distorsi yang besar akan menyebabkan penerima data akan merasa “terganggu” dengan data hasil rekonstruksi Pada akhirnya yang menilai kualitas kompresi Lossy adalah manusia
[TTG4J3] Koding dan Kompresi
Pengantar Kompresi Data