Pemampatan Citra Dengan Metode Singular Value Decomposition (SVD)

ABSTRAK
TB. MOCH. YULIA RAHMAN. Pemampatan Citra dengan Metode Singular Value Decomposition
(SVD). Dibimbing oleh FAHREN BUKHARI dan YENI HERDIYENI.
Citra digital semakin banyak dibutuhkan sebagai pembawa informasi. Namun data citra
membutuhkan jumlah bit yang cukup besar. Pemampatan citra dilakukan agar biaya penyimpanan dan
biaya transmisi citra digital bisa dikurangi, dengan cara mengurangi data yang dibutuhkan untuk
merepresentasikan citra. Metode pemampatan citra yang banyak dikembangkan yaitu berbasis
Transform Coding. Pada penelitian ini dilakukan implementasi metode pemampatan citra berbasis
Transform Coding yang menggunakan transformasi SVD. Bahasa Pemrograman yang dipakai adalah
MATLAB 7.0.
Proses pertama dalam menghasilkan file citra termampatkan adalah transformasi SVD, yang akan
menghasilkan data penting dan data tidak penting berupa vektor-vektor dan nilai-nilai singular
berdasarkan skema energi. Dalam penelitian ini digunakan dua nilai presentase energi citra yang
dipertahankan, yaitu 95% dan 99%. Hanya data yang dianggap penting yang akan disimpan dalam file
citra termampatkan. Namun sebelumnya data-data berupa nilai singular dan vektor singular ini
dikuantisasi terlebih dahulu dengan kuantisasi skalar ataupun kuantisasi vektor (VQ), agar jumlah bit
yang dibutuhkan untuk penyimpanan data penting ini menjadi kecil. File citra asli yang dimampatkan
pada penelitian ini adalah file citra Grayscale dengan format BMP atau Bitmap.
Pengujian dilakukan pada enam citra uji dengan parameter pengujian β, presentase energi citra
yang dipertahankan yaitu 95% atau 0.95 dan 99% atau 0.99. Hasil percobaan yang dicatat berupa nilai
Bit Per Pixel (BPP) yang menunjukkan efisiensi pemampatan, nilai kualitas citra berupa Peak Signalto-Noise Ratio (PSNR) dan waktu pemampatan citra. Hasil pemampatan citra SVD juga dibandingkan

dengan hasil pemampatan citra JPEG pada BPP yang mendekati. Pemampatan citra JPEG disini
dihasilkan oleh fungsi MATLAB imwrite.
Sistem dibangun dengan graphical user interface (GUI) agar lebih mudah digunakan. Hasil
penelitian menunjukkan bahwa SVD telah berhasil digunakan dalam upaya memampatkan citra secara
lossy, dengan β adalah parameter yang digunakan untuk menentukan kualitas citra dan efisiensi
pemampatan. Nilai β yang rendah menyebabkan efisiensi pemampatan semakin baik, sedangkan nilai
β yang tinggi menghasilkan citra hasil pemampatan yang lebih baik dari sisi kualitas. Perbandingan
dengan metode pemampatan citra JPEG menunjukkan bahwa JPEG masih lebih baik. Pada BPP yang
mendekati, kualitas citra hasil pemampatan JPEG selalu lebih baik dibandingkan dengan kualitas citra
hasil pemampatan SVD. Ini disebabkan JPEG menerapkan pemampatan data lebih lanjut untuk
mengkodekan data hasil transformasi dan kuantisasi dengan menggunakan pemampatan data lossless.
Kata kunci : pemampatan citra, transform coding, singular value decomposition.

PEMAMPATAN CITRA DENGAN METODE
SINGULAR VALUE DECOMPOSITION (SVD)

Oleh :
TB. MOCH. YULIA RAHMAN
G06400036


DEPARTEMEN ILMU KOMPUTER
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
INSTITUT PERTANIAN BOGOR
2007

PENDAHULUAN
Latar Belakang
Pada saat ini penampilan informasi dalam
bentuk citra semakin banyak dibutuhkan. Hal
ini tidak lepas dari karakteristik citra yang
cenderung mudah dipahami. Surat kabar,
televisi, dan situs web di internet adalah
sebagian contoh media yang banyak
menampilkan informasi dalam bentuk citra.
Dibandingkan dengan citra dalam media
konvensional seperti kertas, citra digital lebih
mudah untuk diproses sesuai kebutuhan. Selain
itu citra digital lebih mudah dalam hal
transmisinya ke tempat lain. Namun demikian,
jumlah bit yang dibutuhkan oleh data citra

cukup besar, dan akibatnya waktu yang
dibutuhkan dalam transmisinya ke tempat lain
melalui saluran komunikasi juga cukup lama.
Oleh karena itu upaya untuk memperkecil
kebutuhan ruang penyimpanan dari citra digital
menjadi
sangat
penting,
agar
dalam
transmisinya melalui saluran komunikasi juga
menjadi lebih cepat.
Pemampatan citra bertujuan meminimalkan
kebutuhan
ruang
penyimpanan
untuk
merepresentasikan citra digital. Prinsip umum
yang digunakan pada proses pemampatan citra
adalah mengurangi redundansi data di dalam

citra sehingga ruang penyimpanan yang
dibutuhkan untuk merepresentasikan citra
menjadi lebih sedikit daripada representasi citra
semula (Munir, 2004).
Salah satu metode pemampatan citra yang
banyak diterapkan adalah Transform Coding.
Pada pemampatan citra berbasis Transform
Coding, matriks citra didekomposisi dengan
tujuan untuk memadatkan sebanyak mungkin
informasi citra ke dalam sejumlah kecil
koefisien transformasi. Dengan demikian
koefisien-koefisien transformasi lain yang
kurang penting yaitu koefisien transformasi
yang memuat sedikit informasi citra dapat
dikuantisasi secara kasar atau bahkan diabaikan,
sehingga efisiensi pemampatan bisa lebih baik.
Singular
Value
Decomposition
(SVD)

merupakan suatu teknik transformasi yang
penting dalam pemampatan citra, karena
transformasi ini memungkinkan efisiensi
pemadatan informasi yang optimal untuk
sembarang citra (Jain, 1989). Namun selain
koefisien transformasi yang berupa nilai
singular, proses transformasi citra dengan SVD
juga menghasilkan vektor-vektor singular yang
juga perlu disimpan bersama dengan koefisien
transformasi. Vector Quantization (VQ) adalah
teknik kuantisasi yang bekerja pada vektor.
Pada VQ, pemampatan data vektor didapat

dengan hanya menyimpan indeks dari vektor
tersebut, dimana dalam pengkodean dan
pendekodeannya mengacu pada sejenis tabel
yang disebut codebook .
Pemampatan citra SVD yang Hybrid
dengan DCT dikembangkan oleh Wongsawat et
al (2004), menggunakan Adaptive Multistage

Vector
Quantization
(AMVQ)
dalam
pengkodean vektor-vektor singular SVD.
Karya ilmiah ini akan membahas dan
mendemonstrasikan kerja pemampatan citra
SVD berdasarkan skema yang diperkenalkan
oleh Wongsawat et al. (2004).
Tujuan
Adapun tujuan dilakukannya penelitian ini
adalah :
1. Mempelajari dan mengimplementasikan
metode pemampatan citra berbasiskan
transformasi Singular Value Decomposition
(SVD).
2. Menganalisa kinerja metode pemampatan
citra SVD yang diukur dari kualitas citra
hasil pemampatan (Peak Signal To Noise
Ratio) dan efisiensi pemampatan (Bit Per

Pixel), serta membandingkannya dengan
kinerja metode pemampatan citra Joint
Photographic Experts Group (JPEG).
Ruang Lingkup
Dalam penelitian ini dibuat suatu sistem
yang
dapat
memampatkan
citra
dan
merekonstruksi citra hasil pemampatan dengan
metode SVD, dimana citra asli yang akan
dimampatkan adalah citra dengan format bitmap
(BMP) 8-bit per pixel skala keabuan
(grayscale).
Pemampatan citra terutama
difokuskan pada citra digital fotografi.
Manfaat
Hasil penelitian ini diharapkan dapat
memberikan alternatif dalam pemilihan metode

pemampatan citra yang terbaik.

TINJAUAN PUSTAKA
Citra Digital
Sebuah citra dapat didefinisikan sebagai
sebuah fungsi dua dimensi f(x,y), dimana x dan
y menunjukkan koordinat spasial, dan nilai f
pada sembarang koordinat (x,y) disebut
intensitas atau kecerahan citra pada titik
tersebut. Ketika x, y, dan nilai f berbentuk
diskret berhingga, maka citra itu disebut sebuah
citra digital (Gonzales & Woods, 2002).
Sebuah citra digital dapat ditampilkan dalam
bentuk matriks berdimensi m × n, dengan m
dan n masing-masing menunjukkan jumlah

1

PENDAHULUAN
Latar Belakang

Pada saat ini penampilan informasi dalam
bentuk citra semakin banyak dibutuhkan. Hal
ini tidak lepas dari karakteristik citra yang
cenderung mudah dipahami. Surat kabar,
televisi, dan situs web di internet adalah
sebagian contoh media yang banyak
menampilkan informasi dalam bentuk citra.
Dibandingkan dengan citra dalam media
konvensional seperti kertas, citra digital lebih
mudah untuk diproses sesuai kebutuhan. Selain
itu citra digital lebih mudah dalam hal
transmisinya ke tempat lain. Namun demikian,
jumlah bit yang dibutuhkan oleh data citra
cukup besar, dan akibatnya waktu yang
dibutuhkan dalam transmisinya ke tempat lain
melalui saluran komunikasi juga cukup lama.
Oleh karena itu upaya untuk memperkecil
kebutuhan ruang penyimpanan dari citra digital
menjadi
sangat

penting,
agar
dalam
transmisinya melalui saluran komunikasi juga
menjadi lebih cepat.
Pemampatan citra bertujuan meminimalkan
kebutuhan
ruang
penyimpanan
untuk
merepresentasikan citra digital. Prinsip umum
yang digunakan pada proses pemampatan citra
adalah mengurangi redundansi data di dalam
citra sehingga ruang penyimpanan yang
dibutuhkan untuk merepresentasikan citra
menjadi lebih sedikit daripada representasi citra
semula (Munir, 2004).
Salah satu metode pemampatan citra yang
banyak diterapkan adalah Transform Coding.
Pada pemampatan citra berbasis Transform

Coding, matriks citra didekomposisi dengan
tujuan untuk memadatkan sebanyak mungkin
informasi citra ke dalam sejumlah kecil
koefisien transformasi. Dengan demikian
koefisien-koefisien transformasi lain yang
kurang penting yaitu koefisien transformasi
yang memuat sedikit informasi citra dapat
dikuantisasi secara kasar atau bahkan diabaikan,
sehingga efisiensi pemampatan bisa lebih baik.
Singular
Value
Decomposition
(SVD)
merupakan suatu teknik transformasi yang
penting dalam pemampatan citra, karena
transformasi ini memungkinkan efisiensi
pemadatan informasi yang optimal untuk
sembarang citra (Jain, 1989). Namun selain
koefisien transformasi yang berupa nilai
singular, proses transformasi citra dengan SVD
juga menghasilkan vektor-vektor singular yang
juga perlu disimpan bersama dengan koefisien
transformasi. Vector Quantization (VQ) adalah
teknik kuantisasi yang bekerja pada vektor.
Pada VQ, pemampatan data vektor didapat

dengan hanya menyimpan indeks dari vektor
tersebut, dimana dalam pengkodean dan
pendekodeannya mengacu pada sejenis tabel
yang disebut codebook .
Pemampatan citra SVD yang Hybrid
dengan DCT dikembangkan oleh Wongsawat et
al (2004), menggunakan Adaptive Multistage
Vector
Quantization
(AMVQ)
dalam
pengkodean vektor-vektor singular SVD.
Karya ilmiah ini akan membahas dan
mendemonstrasikan kerja pemampatan citra
SVD berdasarkan skema yang diperkenalkan
oleh Wongsawat et al. (2004).
Tujuan
Adapun tujuan dilakukannya penelitian ini
adalah :
1. Mempelajari dan mengimplementasikan
metode pemampatan citra berbasiskan
transformasi Singular Value Decomposition
(SVD).
2. Menganalisa kinerja metode pemampatan
citra SVD yang diukur dari kualitas citra
hasil pemampatan (Peak Signal To Noise
Ratio) dan efisiensi pemampatan (Bit Per
Pixel), serta membandingkannya dengan
kinerja metode pemampatan citra Joint
Photographic Experts Group (JPEG).
Ruang Lingkup
Dalam penelitian ini dibuat suatu sistem
yang
dapat
memampatkan
citra
dan
merekonstruksi citra hasil pemampatan dengan
metode SVD, dimana citra asli yang akan
dimampatkan adalah citra dengan format bitmap
(BMP) 8-bit per pixel skala keabuan
(grayscale).
Pemampatan citra terutama
difokuskan pada citra digital fotografi.
Manfaat
Hasil penelitian ini diharapkan dapat
memberikan alternatif dalam pemilihan metode
pemampatan citra yang terbaik.

TINJAUAN PUSTAKA
Citra Digital
Sebuah citra dapat didefinisikan sebagai
sebuah fungsi dua dimensi f(x,y), dimana x dan
y menunjukkan koordinat spasial, dan nilai f
pada sembarang koordinat (x,y) disebut
intensitas atau kecerahan citra pada titik
tersebut. Ketika x, y, dan nilai f berbentuk
diskret berhingga, maka citra itu disebut sebuah
citra digital (Gonzales & Woods, 2002).
Sebuah citra digital dapat ditampilkan dalam
bentuk matriks berdimensi m × n, dengan m
dan n masing-masing menunjukkan jumlah

1

baris dan kolom matriks tersebut seperti
diilustrasikan pada Gambar 1.
y
f(x1,y1) f(x1,y2)

. .

.

f(x2,y1)

.
.
.

f(xm,y1)

x

f(x1,yn)

.

Citra m × n

.
.

.

.

.

f(xm,yn)

1 pixel

Gambar 1. Representasi citra m × n
Setiap
elemen
matriks
tersebut
menunjukkan nilai elemen citra (pixel). Suatu
citra dengan format 8 bit memiliki 256 intesitas
warna pada setiap elemen citranya, nilai 0 untuk
tingkat paling gelap dan 255 untuk tingkat yang
paling terang (Gonzales & Woods 2002).
Pemampatan Citra
Pada umumnya representasi citra digital
membutuhkan ruang penyimpanan yang cukup
besar. Sebagai contoh sebuah citra bitmap 1024
× 768 pixel dengan format 8-bit membutuhkan
768 KB ruang penyimpanan. Besarnya jumlah
data yang berkaitan dengan informasi citra
digital merupakan sebuah masalah yang bisa
mengakibatkan mahalnya biaya penyimpanan,
misalnya space dalam harddisk, dan biaya
transmisi.
Pemampatan citra dapat mengatasi masalah
besarnya kebutuhan ruang penyimpanan citra
dan lamanya waktu transmisi. Hal utama dalam
proses pengurangan jumlah data citra adalah
penghilangan redundansi data (Gonzales &
Woods, 2002).
Dua buah citra digital dengan jumlah data
yang berbeda dapat merepresentasikan satu
informasi yang sama. Ini artinya salah satu citra
mengandung redundansi data, yaitu memuat
data yang tidak memiliki informasi yang
relevan atau data yang hanya mengulang
sesuatu yang telah diketahui sebelumnya.
Pemampatan citra dicapai dengan mengurangi
ataupun menghilangkan satu atau lebih diantara
ketiga jenis redundansi data sebagai berikut
(Gonzales & Woods, 2002) :
1. Coding Redundancy, adalah redundansi
yang terjadi karena jumlah bit yang

digunakan untuk merepresentasikan sebuah
kode terlalu banyak.
2. Interpixel Redundancy, adalah redundansi
yang terjadi karena tingginya korelasi antara
satu pixel dengan pixel lainnya, artinya nilai
intensitas warna pixel yang saling
bersebelahan seringkali sama. Sehingga
sebenarnya nilai intensitas warna pixel dapat
diprediksi dari intensitas warna pixel
tetangganya.
3. Psychovisual
Redundancy,
adalah
redundansi yang terjadi karena mata
manusia tidak merespon dengan kepekaan
yang sama terhadap semua informasi visual.
Beberapa informasi memiliki tingkat
kepentingan yang lebih rendah dibandingkan
dengan informasi lain. Sehingga bisa
dihilangkan tanpa berpengaruh signifikan
terhadap pemahaman atas citra secara
keseluruhan.
Metode
pemampatan
citra
dapat
diklasifikasikan ke dalam dua kelompok besar
yaitu (Munir, 2004) :
1. Metode
lossless,
adalah
metode
pemampatan citra yang merekonstruksi citra
hasil pemampatan identik pixel demi pixel
dengan
citra
semula
yang
belum
dimampatkan. Tidak ada informasi yang
hilang akibat pemampatan. Metode ini
cocok untuk memampatkan citra yang
mengandung informasi penting yang tidak
boleh rusak akibat pemampatan. Misalnya
memampatkan gambar hasil diagnosa medis.
2. Metode lossy, adalah metode pemampatan
citra yang merekonstruksi citra hasil
pemampatan hampir sama dengan citra
semula. Biasanya ada sedikit informasi yang
hilang akibat pemampatan, tetapi dapat
ditolerir oleh persepsi mata. Dengan
menggunakan
metode
ini,
efisiensi
pemampatan bisa lebih baik.
Singular Value Decomposition (SVD)
SVD
adalah
suatu
teknik
untuk
mentransformasi matriks. Pada pemampatan
citra
berbasiskan
Transform
Coding,
transformasi matriks citra dilakukan untuk
memetakan sinyal citra menjadi representasi
lain yang lebih cocok untuk pemampatan.
Dalam hal ini matriks citra ditransformasi
sehingga sebagian besar dari informasi citra
terkonsentrasi ke dalam koefisien-koefisien
transformasi yang jumlahnya relatif kecil, untuk
kemudian dikuantisasi dan dikodekan (Jain,
1989).
Tujuan dari proses transformasi adalah
untuk menemukan korelasi antar pixel, atau
untuk
memadatkan
sebanyak
mungkin

2

informasi kedalam sejumlah kecil koefisien
transformasi. Proses kuantisasi kemudian secara
selektif mengeliminasi atau mengkuantisasi
secara lebih kasar koefisien yang membawa
informasi paling sedikit. Koefisien-koefisien ini
memiliki pengaruh yang paling kecil terhadap
kualitas citra yang akan direkonstruksi
(Gonzales & Woods, 2002).
Transformasi SVD memungkinkan sebagian
besar informasi citra termuat dalam sedikit
koefisien transformasi, sedangkan sebagian
besar koefisien lain menjadi tidak penting. Jika
A adalah sebuah matriks dengan dimensi m ×
n, maka SVD dari A adalah (Wongsawat et al,
2004):

bisa didapatkan hanya dengan menggunakan
sebagian kecil nilai singular, atau dengan k yang
jauh lebih kecil dari r. Besarnya energi atau
informasi yang dikandung oleh matriks
aproksimasi dapat dihitung (Wongsawat et al,
2004) :
k

ε k = ∑ λi ,
i =1

dimana

λi = σ i 2 = akar ciri dari AA

n

∑∑

2

A(i, j ) − A '(i, j ) =

i =1 j =1

dimana U dan V adalah matriks orthogonal yang
masing-masing berdimensi m × m dan n × n,
dan Σ adalah matriks koefisien transformasi m
× n yang semua elemen selain diagonalnya
bernilai 0.

⎛ a11 K a1k K a1n ⎞


O
M ⎟
A=⎜ M
⎜a

⎝ m1 L amk L amn ⎠
U = ( u1 u2 ... uk ... um )

V T = ( v1 v2 ... vk ... vn )

T

Σ = diag (σ1, ... ,σmin(m,n))
Dimana σi adalah nilai singular ke-i. ui
adalah vektor kolom ke-i dari U dan vi adalah
vektor kolom ke-i dari V. Vektor ui disebut
vektor singular kiri dari σi, sedangkan vektor vi
disebut vektor singular kanan dari σi.
Vektor-vektor singular kiri tidak lain adalah
vektor ciri-vektor ciri dari AAT,, sedangkan
vektor-vektor singular kanan adalah vektor cirivektor ciri dari ATA. Akar ciri-akar ciri dari
AAT atau ATA adalah kuadrat dari nilai-nilai
singular untuk matriks A. Nilai-nilai singular σi
ini tidak lain adalah elemen-elemen diagonal
dari matriks Σ dan tersusun dalam urutan dari
besar ke kecil. Oleh karena itu kita bisa
mendapatkan
aproksimasi
A
dengan
menggunakan SVD sebagian:

A ' = U k ∑ k Vk

T

Dalam hal ini A’ adalah matriks aproksimasi
rank-k untuk matriks A. Uk dan Vk adalah
matriks yang diambil dari k kolom pertama U
dan V dan Σk = diag (σ1, ... ,σk) dengan k