NASKAH PUBLIKASI KOMPRESI IMAGE MENGGUNAKAN...
Transcript of NASKAH PUBLIKASI KOMPRESI IMAGE MENGGUNAKAN...
NASKAH PUBLIKASI
KOMPRESI IMAGE
MENGGUNAKAN VECTOR QUANTIZATION
Diajukan Untuk Memenuhi Tugas dan Syarat-syarat Guna Memperoleh Gelar
Sarjana Teknik pada Fakultas Teknik Jurusan Teknik Elektro
Universitas Muhammadiyah Surakarta
Disusun oleh :
NAMA : BAGUS ORIK M. W
NIM : D 400080026
FAKULTAS TEKNIK JURUSAN TEKNIK ELEKTRO
UNIVERSITAS MUHAMMADIYAH SURAKARTA
2012
KOMPRESI IMAGE MENGGUNAKAN
VECTOR QUANTIZATION
Bagus Orik M.W FAKULTAS TEKNIK JURUSAN TEKNIK ELEKTRO
UNIVERSITAS MUHAMMADIYAH SURAKARTA
E-mail : [email protected]
ABSTRAKSI
Salah satu yang termasuk dalam bagian pengolahan citra digital adalah kompresi citra yang merupakan
suatu teknik untuk mempresentasikan citra ke dalam bentuk yang lebih tereduksi, baik terhadap ukuran file, segi
pewarnaan maupun yang lainya. Selama ini telah banyak dikembangkan algoritma untuk proses kompresi, salah
satunya Vector Quantization merupakan metode baru yang mulai dikembangkan.
Pada kompresi citra Vector Quantization menggunakan teknik kompresi yang bersifat lossy yaitu dengan
menghilangkan beberapa informasi dalam citra asli atau dengan mengubah detail dan warna pada file citra
menjadi lebih sederhana sehingga ukurannya menjadi lebih kecil. Secara garis besar, komprsi merupakan proses
untuk menghilangkan beberapa informasi yang tidak penting (redundansi) dengan cara memadatkan isi file
sehingga ukuran file tersebut menjadi lebih kecil. Pada kompresi citra Vector Quantization kompresi dilakukan
dengan mengurangi jumlah bit yang digunakan untuk mempresentasikan citra sehingga ukuran file citra menjadi
berkurang.
Kompresi citra Vector Quantization ini digunakan untuk mengkompresi citra beberapa format citra seperti
jpeg, png, tif, bmp. Citra yang dihasilkan lebih efisien dan kualitas citra tidak jauh berbeda dengan citra aslinya.
Dari hasil pengujian diketahui rasio kompresi pada setiap format gambar yaitu format jpeg 58,71%, png 43,35%,
tif 25,24%, bmp 0% diambil dari hasil 25 gambar dan 5 tingkatan kompresi.
Kata Kunci: Kompresi Citra, Vector Quantization, Citra.
I. PENDAHULUAN
Perkembangan teknologi informasi
berjalan sangat pesat, baik di bidang perangkat
keras maupun perangkat lunaknya. Salah satu
bagian dari teknologi informasi adalah
teknologi multimedia. Teknologi ini telah
menjadi sebuah media komunikasi yang
populer pada era globalisasi. Melalui teknologi
inilah terjadi komunikasi dan pertukaran
informasi dari beberapa pihak dari lokasi yang
berbeda-beda. Salah satu bagian yang terkait
dengan multimedia adalah image atau citra.
Image merupakan sebuah media untuk
mengungkapkan kata-kata secara sederhana.
Dengan image, seseorang lebih cepat
menerima maksud yang ingin disampaikan.
Penyimpanan file image dalam suatu
media penyimpnan, ataupun pengiriman image
dari satu lokasi ke lokasi lain melalui jaringan
tenyata menimbulkan masalah, yaitu ukuran
file image yang besar, kecepatan transmisi
yang terbatas, dan kapasitas media
penyimpanan yang terbatas. Untuk masalah
kapasitas media penyimpanan mungkin bisa
diatasi dengan menambah kapasitas media
penyimpnan. Terkait dengan masalah tersebut
ukuran file citra menjadi fitur utama yang
diperhatikan. Untuk itu dikembangkan cara
untuk meminimalkan kapasitas penyimpanan
file citra tanpa mengesampingkan kualitas dari
image tersebut. Cara ini sering dikenal dengan
istilah kompresi citra.
Selama ini telah banyak dikembangkan
algoritma untuk proses kompresi ini,
diantaranya adalah Transform Coding, Block
Truncation coding, dan Vector Quantization.
Transform coding rnerupakan metode yang
paling banyak diterapkan di dunia, salah satus
standanya adaIah JPEG. Block Truncation
Coding merupakan metode yang sederhana,
namun tidak banyak dikenal dalam dunia
multimedia. SedangkanVector Quantization
merupakan metode baru yang mulai
dikembangkan.
Tugas Akhir ini bertujuan untuk
mengimplementasikan sebuah metode
kompresi citra baru yaitu Vector Quantization
dan menggunakan metode kuantisasi vektor
untuk menghasilkan kode citra yang efisien
serta citra yang dihasilkan juga tidak jauh
berbeda dari citra aslinya.
Batasan masalah dalam tugas akhir ini
adalah:
1. Menggunakan aplikasi Vector
Quantiization dalam analisis dan
perbandingan komperesi.
2. Implementasi perangkat lunak
menggunakan bahasa pemrograman
MATLAB.
1. Matlab
Matlab tersusun dari 5 bagian utama yaitu:
a. Development Environment.
Merupakan sekumpulan perangkat dan
fasilitas yang membantu dalam
penggunaan fungsi-fungsi dan file-file
Matlab. Beberapa perangkat ini
merupakan sebuah Graphical User
Interfaces (GUI). Termasuk didalamnya
adalah Matlab desktop dan
CommandWindow, command history,
sebuah editor dan debugger, dan browsers
untuk melihat help, workspace, files, dan
search path.
b. Matlab Mathematical Function Library.
Merupakan sekumpulan algoritma
komputasi mulai dari fungsi-fungsi dasar
sepertri: sum, sin, cos, dan complex
arithmetic, sampai dengan fungsi-fungsi
yang lebih kompek seperti matrix inverse,
matrix eigenvalues, Bessel functions, dan
fast fourier transforms.
c. Matlab Language.
Merupakan suatu high-level matrix/array
language dengan control flow statements,
functions, data structures, input/output,
dan fitur-fitur objectoriented
programming. Digunakan untuk
melakukan pemrograman dalam lingkup
sederhana untuk mendapatkan hasil yang
cepat, dan pemrograman dalam lingkup
yang lebih besar untuk memperoleh hasil
dan aplikasi yang komplek.
d. Graphics.
Matlab memiliki fasilitas untuk
menampilkan vector dan matrices sebagai
suatu grafik. Digunakan untuk visualisasi
data dua dimensi dan data tiga dimensi,
image processing, animasi, dan
presentation graphics. Memungkinkan
untuk memunculkan grafik mulai dari
benutk yang sederhana sampai dengan
tingkatan GUI pada aplikasi.
e. Matlab Application Program Interface
(API). Merupakan suatu library yang
memungkinkan program yang ditulis
dalam bahasa C dan Fortran mampu
berinterakasi dengan Matlab. Ini
melibatkan fasilitas untuk pemanggilan
routines dari Matlab (dynamic linking),
pemanggilan Matlab sebagai sebuah
computational engine, dan untuk
membaca dan menuliskan MAT-files.
2. Citra
Citra (image) adalah gambar pada bidang
dua dimensi yang dihasilkan darigambar
analog dua dimensi yang kontinyu menjadi
gambar diskrit melalui proses digitasi.
JPG/JPEG (Joint Photographic Expert Group)
Format file ini mampu mengkompres objek
dengan tingkat kualitas sesuai dengan pilihan
yang disediakan. Format file sering
dimanfaatkan untuk menyimpan gambar yang
akan digunakan untuk keperluan halaman web,
multimedia, dan publikasi elektronik lainnya.
Format file ini mampu menyimpan gambar
dengan mode warna RGB, CMYK, dan
Grayscale.
3. Kompresi Citra
Secara garis besar, kompresi merupakan
proses untuk menghilangkan berbagai
kerumitan yang tidak penting (redundansi)
dari suatu informasi dengan cara memadatkan
isi file sehingga ukurannya menjadi lebih kecil
dengan memaksimalkan kesederhanaannya
dan tetap menjaga kualitas penggambaran dari
informasi tersebut. Kompresi data menjadi
sangat penting karena memperkecil kebutuhan
penyimpanan data, mempercepat pengiriman
data, memperkecil kebutuhan bandwith.Teknik
kompresi bisa dilakukan terhadap data
teks/biner, gambar (JPEG, PNG, TIFF), audio
(MP3, AAC, RMA, WMA), dan video
(MPEG, H261, H263).
Ada dua tipe utama kompresi data, yaitu
kompresi tipe lossless dan kompresi tipe lossy.
Kompresi tipe lossy adalah kompresi dimana
terdapat data yang hilang selama proses
kompresi. Akibatnya kualitas data yang
dihasilkan jauh lebih rendah daripada kualitas
data asli. Sementara itu, kompresi tipe lossless
tidak menghilangkan informasi setelah proses
kompresi terjadi, akibatnya kualitas citra hasil
kompresi juga tidak berkurang.
Beberapa faktor yang perlu diperhatikan
dalam melakukan proses kompresi citra, antara
lain:
a. Resolusi
Resolusi adalah ukuran panjang kali lebar
dalam suatu gambar yang digambarkan
dalam satuan pixel. Besar kecilnya
resolusi akan berpengaruh pada kualitas
gambar. Tetapi hal ini juga akan
mempengaruhi jumlah bit datanya dan
proses transfer datanya.
b. Kedalaman bit
Kedalaman bit adalah banyak sedikitnya
jumlah bit yang dibutuhkan unruk
menggambarkan suatu citra (gambar)
dalam satuan bit/pixel. Tentu saja bila
dinalar, semakin banyak bit maka gambar
yang dihasilkan akan lebih bagus.
c. Redundansi
Redundansi adalah keadaan di mana
representasi suatu elemen data tidak
bernilai signifikan dalam menggambarkan
keseluruhan data.
3. Teknik Kompresi Citra
Teknik kompresi pada citra dapat dibagi
menjadi dua kategori besar, yaitu:
a. Lossy Compression
Lossy compression menyebabkan adanya
perubahan data dibandingkan sebelum
dilakukan proses kompresi. Sebagai gantinya
lossy compression memberikan derajat
kompresi lebih tinggi. Tipe ini cocok untuk
kompresi file suara digital dan gambar digital.
File suara dan gambar secara alamiah masih
bisa digunakan walaupun tidak berada pada
kondisi yang sama sebelum dilakukan
kompresi.
Ciri-ciri lossy compression:
1. Ukuran file citra menjadi lebih kecil
dngan menghilangkan beberapa informasi
dalam citra asli.
2. Teknik ini mengubah detail dan warna
pada file citra menjadi lebih sederhana
tanpa terlihat perbedaan yang mencolok
dalam pandangan manusia, sehingga
ukuranya menjadi lebih kecil.
3. Biasanya digunakan pada citra foto atau
image lain yang tidak terlalu memerlukan
detail citra, dimana kehilangan bit rate
foto tidak berpengaruh pada citra.
b. Lossless Compression
Sebaliknya Lossless Compression
memiliki derajat kompresi yang lebih rendah
tetapi dengan akurasi data yang terjaga antara
sebelum dan sesudah proses kompresi.
Kompresi ini cocok untuk basis data, dokumen
atau spreadsheet. Pada lossless compression
ini tidak diijinkan ada bit yang hilang dari data
pada proses kompresi.
Beberapa teknik lossless:
1. Color reduction: untuk warna-warna
tertentu yang mayoritas dimana informasi
warna disimpan dalam color palette.
2. Chroma subsampling: teknik yang
memanfaatkan fakta bahwa mata manusia
merasa brightness (luminance) lebih
berpengaruh daripada warna
(chrominance) itu sendiri, maka dilakukan
pengurangan resolusi warna dengan
disampling ulang. Biasanya digunakan
pada sinyal YUV.
3. Chroma Subsampling terdiri dari 3
komponen: Y (luminance) : U (CBlue) : V
(CRed)
4 Vector Quantization
Metode yang digunakan pada penulisan
ini adalah menggunakan metode kompresi
citra kuantisasi. Metode ini mengurangi
jumlah derajat keabuan, misalnya dari 16
menjadi 4, yang tentu saja mengurangi jumlah
bit yang dibutuhkan untuk merepresentasikan
citra. Misalkan p adalah jumlah pixel di dalam
citra semula, akan dimampatkan menjadi n
derajat keabuan.
Vector Quantization (VQ) adalah salah
satu teknik yang banyak digunakan dalam
bidang kompresi citra digital dan signal suara.
Vector Quantization merupakan generasi dari
skalar Quantization yang memungkinkan
pengkuantisasian pada ruang banyak dimensi.
II. METODE PENELITIAN
1. Alur Penelitian
Gambar 1. Diagram alir penelitian
Dalam alur pnelitian ini dijelasan proses
penelitian yang digunakan dalm penulisan
tugas akhir ini adalah sebagai berikut:
a. Perencanaan.
Bagian ini berisi tentang konsep
perancangan pembuatan program dan
interface aplikasi kompresi citra dalam
Vector Quantization.
b. Studi Pustaka.
Studi pustaka dilakukan dengan cara
mencari informasi tentang pembuatan
program kompresi citra dengan matlab
baik berupa buku-buku, jurnal, maupun
internet dan juga dari sumber lainnya yang
mendukung dalam perancangan program
kompresi citra yang berdasarkan pada
landasan teori yang sudah ada.
c. Pembuatan Program.
Pembuatan program kompresi citra dalam
Vector Quantization.
d. Pengujian Program.
Melakukan pengujian pada program
kompresi citra dalam Vector Quantization,
jika terjadi kesalahan maka dilakukan
perbaikan.
e. Analisis.
Menganalisis program yang telah dibuat
dan diuji.
f. Pembuatan Laporan.
Setelah program selesai dan sesuai yang di
harapkan maka proses selanjutnya
pembuatan karya tulisnya.
3. Algoritma Program
Gambar 2. Flowchart algoritma program.
Algoritma dari dari program kompresi citra
Vector Quantization adalah:
1. Gambar inputan di proses dalam fungsi
get untuk mengatur grafik gambar inputan
kemudian diproses dalam histogram.
2. Informasi gambar tersebut diwakili
variabel I, diatur dalam fungsi get untuk
menentukan nilai tingkatan kompresinya.
3. Kemudian informasi gambar akan
diproses dalam kompresi Vector
quantization dengan rumus:
I=uint8((single(I)/255)
*2^integerValue);
A= I/255 mengubah citra ke indeks
(0 - 1)
I= single (A) * 2 ^ integerValue
I= uint8 menggubah gambar indeks ke
gambar 8 bit (0-255)
Algoritma proses kuantitasi:
a. Menentukan bitrate dan toleransi distorsi
dari gambar inputan.
b. Membagi indeks gambar kedalam bagian-
bagian tertentu pada floating point -1038
sapai dengan 1038 dimanpatkan kedalam
4 biyte perelemen.
c. Menggunakan uint8 untuk mengubah
gambar indeks ke gambar 8 bit (0-255)
dan menulisakan kedalam file hasil.
4. Setelah dilakukan kompresi gambar siap
ditampilkan, kemudian dilakukan proses
penyimpanan dan menampilkan
hostogram gambar outputan.
III PENGUJIAN PROGRAM DAN
ANALISA HASIL
1. Pengujian Program
Program yang dibuat merupakan aplikasi
kompresi citra dalam Vector Quantization.
Program kompresi ini menggunakan teknik
kompresi lossy yakni membuat kapasitas
barkas sebuah citra menjadi lebih kecil dengan
cara menghilangkan beberapa informasi dari
sebuah citra asli sehingga citra yang
dikompresi tidak bisa di kembalikan menjadi
seperti semula. Teknik dalam kompresi ini
mengubah detail dan warna pada file citra
menjadi lebih sederhana sehingga hasil dari
citra terkompresi tidak jauh berbeda dengan
citra aslinya.
2. Analisa Hasil
1. Citra Asli
Dalam pengujian program kompresi ini
peneliti menyiapkan beberapa contoh citra
yang akan digunakan untuk pengujian. Format
gambar yang digunakan dalam pengujian
program adalah jpeg, png, tif dan bmp.
2. Citra Hasil Kompresi
Pada proses pengujian citra dikompresi
dalam tingkatan yang berbeda, citra asli
dikompresi pada level satu sampai dengan
level lima, untuk mengetahui kualitas
tingkatan kompresinya.
Setelah proses kompresi maka dilakukan
penyimpanan citra hasil kompresi sebagai
perbandingan yang digunakan untuk analisa
pengujian program. Perbandingan ukuran file
hasil kompresi adalah ukuran citra asli
dikurangi dengan ukuran citra hasil kompresi.
Sedangkan untuk perhitungan rasio
kompresi yaitu perbandingan hasil kompresi
dalam bentuk persentase, dapat dihitung
dengan rumus:
(4.1)
Perbandingan citra yang dikompresi
kedalam format asli, dapat diketahui dengan
menghitung rasio kompresi dan perbandingan
ukuran, menggunakan rumus diatas. Berikut
ini merupakan tabel perbandingan hasil
kompresi citra kedalam format aslinya.
Tabel 3.1 Hasil Kompresi Citra Level 1.
Nama File Ukuran
Asli
Ukuran
Terkompresi
Rasio
Kompresi
Elaine.jpg 120kb 21,3kb 82,25%
Fruit.png 2.496kb 520kb 79,16%
Foliage.tif 301kb 203kb 32,55%
Sky.bmp 2.069kb 2.069kb 0%
Tabel 3.2 Hasil Kompresi Citra Level 2.
Nama
File
Ukuran
Asli
Ukuran
Terkompresi
Rasio
Kompresi
Elaine.jpg 120kb 28,5kb 76,25%
Fruit.png 2.496kb 684kb 72,59%
Foliage.tif 301kb 248kb 17,60%
Sky.bmp 2.069kb 2.069kb 0%
Tabel 3.3 Hasil Kompresi Citra Level 3.
Nama
File
Ukuran
Asli
Ukuran
Terkompresi
Rasio
Kompresi
Elaine.jpg 120kb 50,2kb 58,16%
Fruit.png 2.496kb 873kb 65,02%
Foliage.tif 301kb 274kb 08,97%
Sky.bmp 2.069kb 2.069kb 0%
Tabel 3.4 Hasil Kompresi Citra Level 4.
Tabel 3.5 Hasil Kompresi Citra Level 5.
Nama File Ukuran
Asli
Ukuran
Terkompresi
Rasio
Kompresi
Elaine.jpg 120kb 120kb 0%
Fruit.png 2.496kb 1.446kb 42,06%
Foliage.tif 301kb 291kb 03,32%
Sky.bmp 2.069kb 2.069kb 0%
Tabel 3.6 Perbandingan Rasio Berdasarkan
Format Gambar.
Rata-rata rasio kompresi pada format gambar
Level
Kompresi
JPG
PNG
TIF
BMP
1 84,26%
67,96%
46,89%
0%
2 77,44%
54,06%
35,81%
0%
3 67,81%
43,67%
26,16%
0%
4 45,04%
32,88%
3,08%
0%
5 19%
18%
14%
0%
Rata -rata 58,71%
43,35%
25,24%
0%
rasio kompresi terbesar pada level kompresi
rasio kompresi terbesar pada level satu,
sedangkan pada format gambar rasio kompresi terbasar pada format jpeg.
IV KESIMPULAN
1. Pada kompresi citra dalam Vector
Quantization kompresi dilakukan dengan
mengurangi jumlah bit yang digunakan
untuk mempresentasikan citra menjadi
berkurang. Kejelasan gambar dapat diatur
pada tingkatan kompresinya, semakin
besar tingktan kompresi maka hasil
Nama
File
Ukuran
Asli
Ukuran
Terkompresi
Rasio
Kompresi
Elaine.jpg 120kb 92,9kb 22,58%
Fruit.png 2.496kb 1.122kb 55,04%
Foliage.tif 301kb 286kb 4,98%
Sky.bmp 2.069kb 2.069kb 0%
kompresi akan semakin buruk. Metode ini
masuk dalam kategori Lossy
Compression, karena citra yang sudah
dikompresi tidak dapat didekompresi
kembali seperti semula.
2. Perbandingan hasil kompresi dalam
analisa ukuran sesuai dengan tingkatan
kompresinya. Semakin tinggi tingkatan
kompresi maka ukuran dan kualitas citra
hasil kompresi semakin rendah dari citra
asli.
3. Analisa besarnya kompresi citra dari
masing-masing format gambar asli, yang
telah di kompresi dan disimpan dalam
format aslinya.
Berikut hasil rata-rata rasio kompresi
berdasarkan format gambar.
a. Format gambar JPEG memiliki rata-rata
rasio kompresi 58,71%. Diambil rata-rata
dari 5 hasil kompresi.
b. Format gambar PNG memiliki rata-rata
rasio kompresi 43,35%. Diambil rata-rata
dari 5 hasil kompresi.
c. Format gambar TIF memiliki rata-rata
rasio kompresi 25,24%. Diambil rata-rata
dari 5 hasil kompresi.
d. Format gambar BMP memiliki rata-rata
rasio kompresi 0%. Diambil rata-rata dari
5 hasil kompresi.
Dari hasil pengujian program aplikasi
kompresi citra dalam Vector Quantization
dapat di simpulkan bahwa tingkatan kompresi
terbaik pada format gambar JPEG yang
memiliki rasio kompresi 58,71%. Sedangkan
untuk citra format BMP dalam pengujian tidak
terjadi penurunan ukuran citra dengan rasio
kompresi 0%.
DAFTAR PUSTAKA
Prasetyo, Eko. 2011. Pengolahan Citra Digital
dan Aplikasinya Menggunakan Metlab.
Yogyakarta: ANDI.
Krisnawati. 2009. Kompresi Citra RGB
Dengan Metode Kuantitasi.
http://ebookbrowse.com/09-amikom-
yogyakarta-kompresi-citra-rgb-dengan-
pdf-d55230263.
Pramitarini, Yushintia. 2011. Analisa
Pengiriman Citra Terkompresi Jpeg,
Dengan Teknik Spread Spektrum Direct
Sequence (Ds-Ss).
http://www.scribd.com/doc/87438585/720
9040505-m.
Anonim. 2005/06. Multimedia7 Kompresi
Citra.Pdf. http://www.general-
files.com/download/gs14a943feh17i0/mult
imedia7%20kompresi%20citra.pdf.html.
Anonim. 2011. DownQuantization.
http://www.mathworks.com/matlabcentral
/answers /24669-down-quantization-8-bit-
grey-to-n-bit-grey-n-8.
Maulidia, Nia. 2011. Analisa Pengiriman Citra
Terkompresi SPIHT dengan Teknik
Spread Spectrum Direct Sequence (DS-
SS). http://www.eepis-
its.edu/uploadta/abstrakdetail.php?id=130
0.