Pemampatan Citra Dengan Metode Singular Value ... · menghasilkan data penting dan data tidak...

27
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

Transcript of Pemampatan Citra Dengan Metode Singular Value ... · menghasilkan data penting dan data tidak...

Page 1: Pemampatan Citra Dengan Metode Singular Value ... · menghasilkan data penting dan data tidak penting berupa vektor-vektor dan nilai-nilai singular ... β yang tinggi menghasilkan

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

Page 2: Pemampatan Citra Dengan Metode Singular Value ... · menghasilkan data penting dan data tidak penting berupa vektor-vektor dan nilai-nilai singular ... β yang tinggi menghasilkan

PEMAMPATAN CITRA DENGAN METODE SINGULAR VALUE DECOMPOSITION (SVD)

Skripsi

sebagai salah satu syarat untuk memperoleh gelar Sarjana Komputer pada Fakultas Matematika dan Ilmu Pengetahuan Alam

Institut Pertanian Bogor

Oleh :

TB. MOCH. YULIA RAHMAN G06400036

DEPARTEMEN ILMU KOMPUTER FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM

INSTITUT PERTANIAN BOGOR 2007

Page 3: Pemampatan Citra Dengan Metode Singular Value ... · menghasilkan data penting dan data tidak penting berupa vektor-vektor dan nilai-nilai singular ... β yang tinggi menghasilkan

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 Signal-to-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.

Page 4: Pemampatan Citra Dengan Metode Singular Value ... · menghasilkan data penting dan data tidak penting berupa vektor-vektor dan nilai-nilai singular ... β yang tinggi menghasilkan

Judul Skripsi : PEMAMPATAN CITRA DENGAN METODE SINGULAR VALUE DECOMPOSITION (SVD) Nama : Tb. Moch. Yulia Rahman NIM : G06400036

Menyetujui,

Pembimbing I

Ir. Fahren Bukhari, M.Sc. NIP 131430803

Pembimbing II

Yeni Herdiyeni, S.Si., M.Kom. NIP 132282665

Mengetahui, Dekan Fakultas Matematika Dan Ilmu Pengetahuan Alam

Institut Pertanian Bogor

Prof. Dr. Ir. Yonny Koesmaryono, M.S. NIP 131473999

Tanggal Lulus:

Page 5: Pemampatan Citra Dengan Metode Singular Value ... · menghasilkan data penting dan data tidak penting berupa vektor-vektor dan nilai-nilai singular ... β yang tinggi menghasilkan

RIWAYAT HIDUP Penulis dilahirkan di Pandeglang pada tanggal 26 Juli 1982 dari pasangan Tb. Husein Amin dan

Rt. Chadidjah. Penulis merupakan anak kelima dari enam bersaudara. Penulis menyelesaikan pendidikan Sekolah Dasar pada tahun 1994 di SDN Saruni 1, Pandeglang,

kemudian melanjutkan pendidikan ke SLTP Negeri 2 Pandeglang yang diselesaikan pada tahun 1997, dilanjutkan dengan pendidikan di SMU Negeri 1 Pandeglang dan lulus pada tahun 2000. Di tahun yang sama diterima masuk IPB melalui jalur Undangan Seleksi Masuk IPB (USMI). Penulis memilih Program Studi Ilmu Komputer, Departemen Ilmu Komputer, Fakultas Matematika dan Ilmu Pengetahuan Alam.

Pada bulan Januari sampai dengan Maret 2004 penulis berkesempatan melakukan Praktek Lapang (PL) selama dua bulan di Divisi Teknologi Informasi Puslit LIPI Biologi, Bogor .

Page 6: Pemampatan Citra Dengan Metode Singular Value ... · menghasilkan data penting dan data tidak penting berupa vektor-vektor dan nilai-nilai singular ... β yang tinggi menghasilkan

KATA PENGANTAR

Alhamdulillah, puji dan syukur penulis panjatkan kehadirat Allah SWT, karena hanya dengan izin dan kehendak-Nya penulis dapat menyelesaikan skripsi yang berjudul Pemampatan Citra Dengan Metode Singular Value Decomposition (SVD) ini.

Penulis menyadari bahwa selesainya tugas akhir ini tidak terlepas dari pihak-pihak yang telah banyak membantu. Oleh karena itu penulis ingin mengucapkan terima kasih kepada :

1. Bapak Ir. Fahren Bukhari, M.Sc., Ibu Yeni Herdiyeni S.Si., M.Kom., dan Ibu Shelvie Nidya Neyman S.Kom., M.Si. sebagai dosen pembimbing dan dosen penguji yang telah memberikan bimbingan, motivasi dan saran dalam pengerjaan tugas akhir ini.

2. Seluruh staf pengajar dan pegawai Departemen Ilmu Komputer. 3. Yudi, Adit, Yuyun, Dini, Sony, Mushtofa, Yufit, Asep, Galih, HR, Wanto, dan semua rekan

Ilkomerz atas segala bantuan dan kebersamaan yang telah terjalin. 4. Fajar, Uus, Ipul, Mas Yoqi, Wisnu, Wiken, Darmawan, Restu, Tabah, Ibu Safni, Yusuf, Edwin,

Anwar, Mas dimas, Nandar, Edo, dan teman-teman ex Villma, Riverside, SBR, Jagorawi 42, C-14, Elbios, dan Pondok Sengked.

5. Ibu, kakak-kakak dan adik penulis, yang memberikan dorongan dan doa demi terselesaikannya tugas akhir ini.

6. Teguh, Endin, Lili, Iid, Gunawan, Haris, juga semua sahabat di Banten. Semoga tugas akhir ini dapat bermanfaat dan semoga Allah SWT membalas budi baik semua

pihak yang telah membantu penulis. Amin.

Bogor, Juli 2007

Tb. Moch. Yulia Rahman

Page 7: Pemampatan Citra Dengan Metode Singular Value ... · menghasilkan data penting dan data tidak penting berupa vektor-vektor dan nilai-nilai singular ... β yang tinggi menghasilkan

vii

DAFTAR ISI

Halaman

DAFTAR GAMBAR .................................................................................................................................. viii DAFTAR LAMPIRAN............................................................................................................................... viii PENDAHULUAN...........................................................................................................................................1

Latar Belakang..............................................................................................................................1 Tujuan ...........................................................................................................................................1 Ruang Lingkup .............................................................................................................................1 Manfaat .........................................................................................................................................1

TINJAUAN PUSTAKA .................................................................................................................................1

Citra Digital ..................................................................................................................................1 Pemampatan Citra.........................................................................................................................2 Singular Value Decomposition (SVD).........................................................................................2 Kuantisasi Skalar Seragam ...........................................................................................................3 Vector Quantization (VQ) ............................................................................................................4 Algoritma Linde-Buzo-Gray (LBG).............................................................................................4 Multistage VQ ...............................................................................................................................5 Penerapan SVD dalam Pemampatan Citra...................................................................................5 Metode Pemampatan Citra JPEG .................................................................................................5 Kriteria Pengukuran Hasil Pemampatan ......................................................................................6

METODE PENELITIAN................................................................................................................................6

Encoder SVD................................................................................................................................7 Decoder SVD................................................................................................................................7 Pembentukan Codebook ...............................................................................................................8 Implementasi.................................................................................................................................8

HASIL DAN PEMBAHASAN......................................................................................................................8

Pembentukan Codebook ...............................................................................................................8 PSNR dan BPP..............................................................................................................................8 Waktu Pemampatan Citra.............................................................................................................9 Perbandingan Pemampatan Citra SVD dengan JPEG .................................................................9

KESIMPULAN DAN SARAN................................................................................................................... 10

Kesimpulan .................................................................................................................................10 Saran............................................................................................................................................10

DAFTAR PUSTAKA .................................................................................................................................. 11

Page 8: Pemampatan Citra Dengan Metode Singular Value ... · menghasilkan data penting dan data tidak penting berupa vektor-vektor dan nilai-nilai singular ... β yang tinggi menghasilkan

viii

DAFTAR GAMBAR

Halaman

1 Representasi citra mxn ....................................................................................................................2 2 Encoder dan decoder dalam VQ .....................................................................................................4 3 Multistage VQ..................................................................................................................................5 4 Skema Penelitian .............................................................................................................................7 5 Grafik Beta terhadap BPP ...............................................................................................................9 6 Grafik Beta terhadap PSNR ............................................................................................................9 7 Grafik Beta terhadap waktu pengkodean .......................................................................................9 8 Grafik Beta terhadap waktu pendekodean .....................................................................................9 9 Citra hasil pemampatan Lena .......................................................................................................10

DAFTAR LAMPIRAN

Halaman

1 Citra yang digunakan dalam pembentukan codebook...................................................................13 2 Gambar antar muka program pemampatan citra SVD. (a) Menu pemampatan citra (b) Menu rekonstruksi citra ..........................................................................................................14 3 Citra Airplane dan hasil-hasil pemampatan ..................................................................................15 4 Citra Barbara dan hasil-hasil pemampatan....................................................................................16 5 Citra Bridge dan hasil-hasil pemampatan ....................................................................................17 6 Citra Cameraman dan hasil-hasil pemampatan.............................................................................18 7 Citra Peppers dan hasil-hasil pemampatan ...................................................................................19

Page 9: Pemampatan Citra Dengan Metode Singular Value ... · menghasilkan data penting dan data tidak penting berupa vektor-vektor dan nilai-nilai singular ... β yang tinggi menghasilkan

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

Page 10: Pemampatan Citra Dengan Metode Singular Value ... · menghasilkan data penting dan data tidak penting berupa vektor-vektor dan nilai-nilai singular ... β yang tinggi menghasilkan

2

baris dan kolom matriks tersebut seperti diilustrasikan pada Gambar 1.

y

f(x1,y1) f(x1,y2) . . . f(x1,yn) f(x2,y1) . . . . . . f(xm,y1) . . . f(xm,yn) x 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

Citra m× n

Page 11: Pemampatan Citra Dengan Metode Singular Value ... · menghasilkan data penting dan data tidak penting berupa vektor-vektor dan nilai-nilai singular ... β yang tinggi menghasilkan

3

2

1 1 1

( , ) '( , )m n r

ii j i k

A i j A i j λ= = = +

− =∑∑ ∑

1,

k

k ii

ε λ=

= ∑

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):

TA U V= ∑

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.

11 1 1

1

k n

m mk mn

a a aA

a a a

⎛ ⎞⎜ ⎟= ⎜ ⎟⎜ ⎟⎝ ⎠

K K

M O M

L L

( )1 2 ... ... k mU u u u u=

( )1 2 ... ... TTk nV v v v v=

Σ = 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 ciri-vektor 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:

' Tk k kA U V= ∑

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<r. Seringkali aproksimasi matriks yang sangat baik

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) :

dimana T T2 akar ciri dari AA atau A Ai iλ σ= =

Sedangkan Square Error antara matriks A dengan matriks aproksimasi A’ adalah hasil penjumlahan dari akar ciri yang diabaikan, yaitu (Dapena & Ahalt,2004) :

dimana 2i iλ σ= .

Kuantisasi Skalar Seragam

Nilai singular-nilai singular hasil transformasi SVD yang akan disimpan nilainya bersifat kontinu dan intervalnya cukup besar. Ini mengakibatkan besarnya jumlah bit yang dibutuhkan dalam penyimpanan. Oleh karena itu perlu dilakukan kuantisasi. Kuantisasi skalar merupakan proses pemetaan sebuah nilai skalar terhadap nilai tertentu yang dianggap mewakilinya, dimana nilai yang mungkin mewakili menjadi terbatasi banyaknya. Nilai-nilai ini disebut level rekonstruksi. Selanjutnya nilai ini diperkecil menjadi suatu nilai indeks sehingga bit yang diperlukan untuk menyimpannya menjadi berkurang. Indeks inilah yang dapat digunakan pada proses dekuantisasi untuk mengetahui level rekonstruksi mana yang mewakili skalar awal tadi.

Sebuah pengkuantisasi skalar seragam l-level memiliki l+1 level keputusan d0, d1, ... , dl, dan l level rekonstruksi r0, r1, ... , rl-1. di membagi range data ke dalam l interval [d0, d1) [d1, d2) ... [dl-1, dl), dengan panjang interval yang sama yaitu (Spielman, 1996):

0ld dl−

∆ =

dimana dl dan d0 masing-masing adalah nilai maksimum dan nilai minimum dari data yang dikuantisasi.

Kuantisasi terhadap sebuah nilai a artinya menemukan interval [di, di+1) yang memuat a dan mengganti a dengan indeks i.

0a di −⎢ ⎥= ⎢ ⎥∆⎣ ⎦

Page 12: Pemampatan Citra Dengan Metode Singular Value ... · menghasilkan data penting dan data tidak penting berupa vektor-vektor dan nilai-nilai singular ... β yang tinggi menghasilkan

4

Sedangkan proses dekuantisasi menerjemahkan nilai indeks i ke dalam level rekonstruksi ri yang merupakan rataan dari interval yang relevan, menggunakan rumus :

1

2i i

id dr ++

= ,

0id d i= + ∆

Vector Quantization (VQ) Selain nilai singular, pemampatan citra SVD

juga mensyaratkan pengkodean vektor-vektor singular yang bersesuaian. Vektor-vektor ini dikodekan dengan sebuah teknik kuantisasi yang disebut Vector Quantization (VQ). VQ merupakan teknik kuantisasi yang dilakukan pada sebuah blok, atau sebuah vektor, dari nilai-nilai dalam satu waktu. VQ memetakan vektor-vektor berdimensi u pada ruang vektor Ru ke dalam sebuah himpunan terhingga vektor-vektor Y = {yi : i = 1, 2,...,N} dalam Ru. Setiap vektor yi disebut codevector atau codeword, dan himpunan dari semua codeword disebut codebook. VQ terdiri dari dua operasi, yaitu encoder dan decoder. Encoder menerima vektor input dan menghasilkan output berupa indeks dari codeword yang memberikan distorsi paling minimum. Distorsi paling minimum ini ditentukan berdasarkan jarak euclid antara vektor input dengan setiap codeword dalam codebook. Jarak euclid antara vektor input x dengan codeword yi didefinisikan sebagai :

2

1( , ) ( )

u

i j ijj

d x y x y=

= −∑

dimana xj adalah elemen ke-j dari vektor input x, yij adalah elemen ke-j dari codeword yi, dan u adalah dimensi vektor. Setelah codeword terdekat ditemukan, indeks dari codeword inilah

yang akan disimpan dalam media penyimpanan data digital atau dikirimkan melalui saluran komunikasi (Qasem, 2005). Indeks yang menunjukkan codeword membutuhkan ruang penyimpanan yang lebih kecil, sehingga terjadilah pemampatan data.

Ketika decoder menerima indeks ini, decoder akan mengubahnya kembali menjadi codeword yang bersesuaian dengan menggunakan codebook yang identik dengan codebook pada encoder. Sebagai contoh, encoder dan decoder VQ dapat dilihat pada Gambar 2.

Algoritma Linde-Buzo-Gray (LBG)

Codebook yang akan diacu dalam proses VQ dibentuk berdasarkan algoritma LBG. Algoritma ini diperkenalkan oleh Linde, Buzo, dan Gray pada tahun 1980. LBG merupakan salah satu algoritma iteratif dalam pembentukan codebook dari sebuah himpunan vektor training. Adapun langkah-langkahnya adalah sebagai berikut (Qasem, 2005): 1. Tentukan jumlah codeword N atau ukuran

codebook yang akan dibuat. 2. Bentuk codebook awal dengan cara memilih

N codeword secara acak dari training vector.

3. Dengan menggunakan jarak euclid, kelompokkan vektor input pada codeword. Vektor input menjadi satu kelompok dengan codeword yang memiliki jarak euclid minimum. Rata–rata dari jarak euclid setiap vektor terhadap codewordnya disebut dengan distorsi rata–rata dari codebook tersebut. Variabel inilah yang akan digunakan untuk menentukan tingkat kecocokan dari sebuah codebook.

Gambar 2. Encoder dan Decoder dalam VQ

(Qasem, 2005)

Page 13: Pemampatan Citra Dengan Metode Singular Value ... · menghasilkan data penting dan data tidak penting berupa vektor-vektor dan nilai-nilai singular ... β yang tinggi menghasilkan

5

4. Hitung himpunan codeword yang baru berdasarkan kelompok–kelompok yang sudah terbentuk. Codeword baru dibentuk dengan mencari rata–rata dari tiap elemen dari seluruh vektor yang merupakan anggota dari kelompok tersebut.

∑=

=m

jiji x

my

1

1

dimana i merupakan indeks komponen dari tiap–tiap vektor, dan m adalah banyaknya vektor yang berada pada kelompok tersebut.

5. Ulangi langkah 3 dan 4 sampai codebok tidak berubah atau perubahannya kecil. Perubahan codebook dilihat dari rataan

distorsi antara training vector dengan codebook. Jika selisih distorsi ternormalisasi dari sebuah iterasi dengan iterasi selanjutnya lebih kecil dari suatu nilai batas, maka algoritma dihentikan (Khan & Smith, 2000).

Seringkali dalam pengelompokkan vektor input menghasilkan satu atau lebih codeword tidak memiliki anggota. Keadaan ini dapat diatasi dengan beberapa cara, diantaranya dengan memecah codeword yang memiliki anggota paling banyak menjadi dua untuk menggantikan codeword yang tidak memiliki anggota (Khan & Smith, 2000).

Multistage VQ

Ide dasar Multistage VQ adalah untuk membagi tugas pengkodean VQ menjadi beberapa tingkat berurutan. Tingkat pertama melakukan aproksimasi level pertama dari vektor input. Aproksimasi kemudian diperbaiki oleh aproksimasi level kedua yang muncul pada tingkat kedua, untuk kemudian diperbaiki lagi pada tingkat ketiga, dan seterusnya (Khan & Smith, 2000). Pembentukan codebook adalah sebagai berikut: sebuah himpunan vektor training digunakan untuk membentuk codebook pertama. Dengan menggunakan codebook ini, sebuah himpunan vektor error dihitung dari

aproksimasi vektor training oleh codebook. Himpunan vektor error ini kemudian digunakan untuk membentuk codebook untuk tingkat 2, dan seterusnya. Prosedur pengkodeannya dijelaskan dalam gambar 3. Dalam algoritma encoder, pada awalnya vektor input x akan diaproksimasi dengan menggunakan codebook pertama C1. Selanjutnya vektor error r1 dihitung dan codebook tingkat kedua C2 digunakan untuk mengaproksimasi vektor error tingkat pertama r1, dan seterusnya. Algoritma decoder merekonstruksi vektor aproksimasi x̂ secara sederhana dengan penjumlahan vektor.

Penerapan SVD dalam Pemampatan Citra

Sebuah citra digital dapat direpresentasikan dengan sebuah matriks m×n pixel. Oleh karena itu maka matriks citra dapat pula ditransformasi SVD dan diaproksimasi rank-k oleh sebuah matriks baru yang dibangun dengan memakai hanya sebagian kecil nilai singular (yaitu sebanyak k) dan vektor singular yang bersesuaian.

Aproksimasi ini adalah pemampatan selama jumlah bit yang dibutuhkan untuk menyimpan nilai-nilai singular dan vektor-vektor singular yang relevan lebih kecil dibandingkan dengan jumlah bit yang dibutuhkan oleh citra aslinya. Konsep dasar pemampatan citra dengan SVD adalah penggunaan rank-k sekecil mungkin dalam membangun matriks aproksimasi dan pengkodean vektor singular dengan ukuran codebook yang tidak terlalu besar dalam VQ, sehingga diharapkan efisiensi pemampatan yang baik bisa dicapai. Namun demikian dalam penerapannya harus diperhitungkan secara bijak agar kualitas citra hasil pemampatan masih cukup baik. Metode Pemampatan Citra JPEG

JPEG adalah metode pemampatan citra standar yang umum digunakan pada citra fotografi. Nama JPEG merupakan singkatan dari Joint Photographic Experts Group, nama dari komite yang melakukan standarisasi terhadap metode ini (Wikipedia, 2007).

Struktur Encoder JPEG adalah sebagai berikut (Bovik, 2000): 1. Unit transformasi sinyal DCT.

Pada bagian ini dilakukan penghitungan matriks koefisien DCT dari setiap blok 8×8 pixel, sehingga informasi citra dipadatkan kedalam sejumlah kecil koefisien DCT.

2. Pengkuantisasi. Pengkuantisasi memetakan setiap koefisien DCT ke dalam sebuah level dari bilangan berhingga. Ini dilakukan dengan membagi

a)

b)

Gambar 3. Multistage VQ. a) encoder, b) decoder

Page 14: Pemampatan Citra Dengan Metode Singular Value ... · menghasilkan data penting dan data tidak penting berupa vektor-vektor dan nilai-nilai singular ... β yang tinggi menghasilkan

6

ukuran file termampatkanbpp = = banyaknya pada citra

Cpixel N

setiap elemen dari matriks koefisien DCT dengan sebuah elemen yang bersesuaian dari sebuah matriks kuantisasi 8×8 yang ditentukan dengan sebuah faktor kualitas. Semakin kecil faktor kualitas maka nilai-nilai elemen matriks kuantisasi semakin besar, sehingga nilai koefisien DCT yang berubah menjadi 0 akan semakin banyak.

3. Unit pemetaan koefisien-ke-simbol. Koefisien yang telah dikuantisasi dipetakan ke simbol agar pengkodeannya efektif. Matriks koefisien DCT yang telah di kuantisasi dibaca secara zigzag scan, sehingga menghasilkan rangkaian nilai 0 yang bisa dikodekan secara efisien dengan menggunakan Run Length Coding.

4. Unit pengkodean entropy. Bagian ini menentukan codeword yang tepat bagi simbol input, dan menghasilkan aliran bit yang harus disimpan. Prinsipnya adalah simbol yang sering muncul diwakili oleh codeword yang lebih pendek, agar bit yang dibutuhkan bisa lebih kecil. Pengkodean yang dilakukan yaitu menggunakan Huffman Coding. Agar dapat menampilkan citra hasil

pemampatan JPEG, decoder JPEG melakukan fungsi-fungsi kebalikan dari fungsi-fungsi pada Encoder. Kriteria Pengukuran Hasil Pemampatan

Parameter yang akan diamati untuk mengukur efisiensi algoritma pemampatan adalah: • Kualitas pemampatan.

Kualitas sebuah citra bersifat subyektif dan relatif, bergantung pada pengamatan orang yang menilainya. Kualitas hasil pemampatan citra dapat diukur secara kuantitatif dengan menggunakan besaran PSNR (Peak Signal To Noise Ratio) dalam satuan decibles (dB). PSNR dihitung untuk mengukur perbedaan antara citra asli dengan citra hasil pemampatan, dengan rumus (Munir, 2004):

1025520 logPSNRrms

⎛ ⎞= × ⎜ ⎟⎝ ⎠

dengan nilai 255 menunjukkan nilai sinyal terbesar pada citra digital dan rms adalah akar pangkat dua dari selisih antara citra asli dengan citra hasil pemampatan. Nilai rms dihitung dengan rumus (Munir, 2004):

( )21 1

'

=

m n

ij iji j

a a

rmsm n

= =

×

∑∑

yang dalam hal ini a dan a’ masing-masing menyatakan nilai pixel citra asli dan nilai pixel citra hasil pemampatan, sedangkan m dan n masing-masing adalah dimensi baris dan dimensi kolom dari matriks citra. Semakin besar nilai PSNR, semakin bagus kualitas pemampatannya. Nilai PSNR yang umum dalam pemampatan citra berkisar antara 30-40 dB (Wikipedia, 2007).

• Efisiensi Pemampatan. Keefisienan pemampatan dapat dilihat dari jumlah rata-rata bit per pixel (BPP) pada sebuah citra hasil pemampatan.

Ukuran file termampatkan C yaitu dalam satuan bit.

METODE PENELITIAN

Tahapan pemrosesan yang dilakukan dalam pemampatan citra adalah pengkodean (encoding), yang memiliki fungsi untuk memetakan citra menjadi kode, dan pendekodean (decoding) dengan fungsi memetakan kembali kode menjadi citra. Adapun skema penelitian yang dilakukan dapat dilihat pada Gambar 4.

Encoder SVD

Encoder SVD memilah citra asli ke dalam blok-blok subbagian citra berukuran 8×8 pixel. Selain karena lebih umum, ukuran blok ini juga dipilih dengan pertimbangan langkah VQ akan bekerja pada vektor 1×8. Ukuran lebih kecil dari ini mengurangi efisiensi pemampatan vektor, sementara jika lebih besar sangat memberatkan proses pembentukan codebook. Langkah selanjutnya akan menentukan kualitas citra hasil pemampatan dan BPP yang dibutuhkan. Ini dilakukan dengan cara memilih nilai singular mana saja yang perlu disimpan dan nilai singular mana yang dapat diabaikan (selanjutnya dianggap nol). Pemilihan nilai singular yang dianggap penting adalah berdasarkan presentase informasi. Tingkat kepentingan nilai singular dihitung mulai dari nilai singular pertama dengan acuan nilai batas. Jika kuadrat dari nilai nilai singular pertama melebihi nilai batas, maka hanya nilai singular pertama yang dipertahankan. Namun jika tidak, jumlah nilai dari kuadrat nilai singular pertama dan kuadrat nilai singular kedua dihitung. Proses ini berlanjut sampai penjumlahan nilai-nilai singular kuadrat melebihi nilai batas. Nilai batas disini adalah 95% atau 99% dari total

Page 15: Pemampatan Citra Dengan Metode Singular Value ... · menghasilkan data penting dan data tidak penting berupa vektor-vektor dan nilai-nilai singular ... β yang tinggi menghasilkan

7

82 2

1 1

dimana 1,...,8 dan 0.95 atau 0.99

k

k i ii i

k

ε σ β σ

β= =

= ≥

= =

∑ ∑

energi atau informasi. Seperti yang terlihat pada rumus :

Proses ini menghasilkan berapa banyak nilai singular yang signifikan agar blok aproksimasi memiliki 95% atau 99% informasi. Banyaknya nilai singular signifikan menunjukkan rank k yang akan dipakai dalam aproksimasi matriks blok citra. Langkah selanjutnya adalah menyimpan k dengan menggunakan 3 bit. Nilai-nilai singular yang bersesuaian dikodekan dengan menggunakan kuantisasi skalar seragam, masing-masing 8, 7, 7, 6, 4, 4, 4 bit. Dalam penelitian ini besarnya ukuran codebook untuk pengkodean vektor-vektor singular hasil transformasi SVD mengacu pada ukuran codebook yang dipakai oleh Wongsawat et al (2004). Vektor singular kiri dan vektor

singular kanan dikodekan dengan menggunakan codebook yang sama yang ditraining dengan menggunakan algoritma LBG. Adapun alokasi ukuran codebook dapat dilihat pada Tabel 1. Khusus untuk vektor-vektor singular pertama dan kedua dipakai adaptive multistage VQ. Pada pengkodean vektor singular pertama, jika MSE antara vektor input dengan vektor yang akan mewakilinya lebih dari 0.01, maka VQ tidak jadi digunakan. Selanjutnya elemen-elemen vektor akan dikodekan dengan kuantisasi skalar 8 bit. Untuk vektor singular kedua, jika MSE pengkodean vektor dengan VQ melebihi 0.1, maka elemen-elemen vektor akan dikodekan dengan kuantisasi skalar 7 bit.

Percobaan dilakukan pada enam file citra uji bitmap 8-bit grayscale. Pada percobaan tadi, akan dicatat hasil-hasil berupa nilai-nilai PSNR dan BPP. Dari hasil-hasil yang didapat ini diharapkan dapat ditarik kesimpulan mengenai keefektifan metode pemampatan citra menggunakan SVD.

Tabel 1. Ukuran codebook Vektor

Singular I

(u1&v1)

Vektor Singular

II (u2&v2)

Vektor Singular

III (u3&v3)

Vektor Singular

I V (u4&v4)

Vektor Singular

V (u5&v5)

Vektor Singular

VI (u6&v6)

Vektor Singular

VI I (u7&v7)

Alokasi ukuran

codebook

Adaptive Multistage 256,64,32

Adaptive Multistage

128,64

Multistage 128,64

32 32 16 4

Nilai Singular

Vektor Singular

Citra Asli

MultistageVQ

TransformasiSVD danpemilihan

rank dari blok8x8

SQ

Nilai Singular

Vektor Singular

RekonstruksiCitraHasil

Pemampatan

MultistageVQ-1

RekonstruksiBlok 8x8

SQ-1

Codebook

ENCODER

DECODER

Hitung MSEdari Vektor

Singularoutput

Codebook

SQ-1

SQ

Vektor Singular

Gambar 4. Skema penelitian

Page 16: Pemampatan Citra Dengan Metode Singular Value ... · menghasilkan data penting dan data tidak penting berupa vektor-vektor dan nilai-nilai singular ... β yang tinggi menghasilkan

8

Decoder SVD Decoder menerjemahkan data citra

termampatkan dan bekerja merekonstruksi satu demi satu blok citra 8×8 pixel dari informasi yang didapatkan. Untuk masing-masing blok, pada awalnya decoder membaca nilai yang menunjukkan banyaknya nilai singular penting. Bit selanjutnya adalah indeks dari VQ untuk vektor singular pertama. Selanjutnya indeks ini dipakai untuk merekonstruksi aproksimasi dari vektor singular pertama. Untuk nilai singular, proses rekonstruksinya menggunakan invers dari kuantisasi skalar. Proses seperti ini berulang untuk masing-masing vektor singular dan nilai singularnya sampai matriks Uk, Σk dan Vk

T direkonstruksi. Perkalian Uk×Σk×VkT

menghasilkan rekonstruksi blok 8×8 pixel. Pada akhirnya citra hasil pemampatan yang direkonstruksi tidak sama persis dengan citra asli. Pembentukan Codebook

Semua codebook yang dipakai dalam penelitian ini dibentuk dari vektor-vektor training yang berasal dari empat buah citra, yaitu couple.bmp, boat.bmp, goldhill.bmp, dan mountain.bmp. Keempat citra tersebut dapat dilihat pada Lampiran 1. Prosedur training dijelaskan sebagai berikut : 1. Vektor-vektor singular u dan v dari keempat

citra training dihitung pada ukuran blok 8×8 pixel. Vektor-vektor singular ini kemudian dikelompokkan berdasarkan nomor vektornya. Dalam hal ini u dan v tidak dipisahkan, sehingga didapat 8 kelompok vektor singular.

2. Lakukan training VQ terhadap masing-masing kelompok vektor training, bentuk codebook dengan ukuran tertentu sesuai nomor vektor dengan menggunakan algoritma LBG.

Implementasi Untuk mengimplementasikan metode

pemampatan citra ini, akan digunakan perangkat lunak Matlab 7.0 sebagai lingkungan pemrogramannya. Alasan digunakannya perangkat lunak ini karena Matlab merupakan bahasa pemrograman yang dirancang untuk memudahkan operasi dengan data-data numerik dan matriks.

Dalam penelitian ini, akan dicoba untuk dibuat fungsi dan aplikasi yang mencoba memampatkan ukuran data citra dari input file citra asli yang diberikan menggunakan metode yang telah dijelaskan di atas.

Implementasi dari metode ini dilakukan pada komputer dengan spesifikasi sebagai berikut: 1. Perangkat keras:

• Prosesor Intel Celeron 1.8 GHz • Memori DDR 256 MB • Harddisk 80 GB 7200 rpm

2. Perangkat lunak: • Sistem Operasi Windows XP • Matlab 7.0

Matlab digunakan sebagai lingkungan pemrograman untuk penelitian ini karena Matlab dilengkapi dengan berbagai fungsi-fungsi yang diperlukan untuk mengimplementasikan metode pada penelitian ini. Fungsi-fungsi Matlab yang penting dalam penelitian ini antara lain:

• Fungsi imread, digunakan untuk membaca file citra input yang akan dimampatkan, berformat BMP menjadi sebuah data matriks.

• Fungi imshow yang dipakai untuk menampilkan citra hasil pemampatan.

• Fungsi svd, untuk penghitungan matriks-matriks svd.

• Fungsi-fungsi yang berkaitan dengan pembacaan dan penulisan file data biner yang merupakan data citra termampatkan, seperti: fungsi fopen, fclose, fwrite, fread, dan ftell.

Fungsi pembentukan codebook menggunakan progam buatan Roger Jang yang menerapkan algoritma LBG. Program ini didownload dari alamat http://neural.cs.nthu.edu.tw/jang/matlab/toolbox/DCPR/vqLBG.m.

Adapun tampilan antar muka program pemampatan citra ini dapat dilihat pada Lampiran 1.

HASIL DAN PEMBAHASAN

Pembentukan Codebook

Dari keempat citra training didapatkan 8 kelompok vektor singular yang masing-masing sebanyak 34992 buah. Waktu total yang dibutuhkan dalam pembentukan codebook adalah + 21 menit. Codebook disimpan dalam format .mat dan dipandang sebagai satu kesatuan dengan program encoder-decoder pemampatan citra SVD. PSNR dan BPP

Citra yang digunakan adalah citra Lena, Barbara, Peppers, dan Airplane (resolusi 512 ×512), serta Bridge dan Camera (resolusi 256 ×256), semua citra dalam format bitmap 8-bit

Page 17: Pemampatan Citra Dengan Metode Singular Value ... · menghasilkan data penting dan data tidak penting berupa vektor-vektor dan nilai-nilai singular ... β yang tinggi menghasilkan

9

grayscale. Untuk setiap citra uji, digunakan 2 nilai β yang berbeda yaitu 0.95 dan 0.99, seperti yang terlihat pada Tabel 2. Hasil percobaan disajikan pula dalam bentuk grafik. Hubungan Beta dan BPP dapat dilihat pada Gambar 5. Sedangkan grafik pengaruh Beta terhadap PSNR disajikan pada Gambar 6.

Dari kedua grafik tersebut terlihat bahwa nilai β yang semakin tinggi mengakibatkan kualitas citra hasil pemampatan semakin baik, namun bit yang dibutuhkan citra semakin banyak. Sebaliknya untuk nilai β yang semakin rendah, maka jumlah bit pada setiap pixel citra semakin sedikit namun nilai PSNR sebagai indikator kualitas citra semakin rendah. Hasil percobaan juga menunjukkan bahwa

pemampatan citra SVD dengan 95% informasi (β = 0.95) menghasilkan citra yang kualitasnya sangat berkurang. Sedangkan pada pemampatan citra SVD 99% informasi (β = 0.99), kualitas citra hasil pemampatan masih cukup baik karena nilai PSNR yang dihasilkan rata-rata sebesar 30dB.

Waktu pemampatan citra

Waktu yang dibutuhkan oleh pemampatan citra SVD dapat dilihat pada Tabel 3. Dalam bentuk grafik disajikan pada Gambar 7 dan Gambar 8. Terlihat bahwa waktu yang dibutuhkan untuk proses pengkodean citra relatif lebih lama dibandingkan dengan waktu pendekodeannya.

Jika kita hubungkan dengan grafik Beta terhadap PSNR, secara umum untuk menghasilkan nilai PSNR yang lebih tinggi dalam proses pemampatan sebuah citra, dibutuhkan waktu pengkodean dan pendekodean yang semakin lama.

Tabel 2. PSNR dan BPP hasil pemampatan citra SVD JPEG β Citra

BPP PSNR BPP PSNR Airplane 0.879 28.882 0.881 37.467 Barbara 0.916 25.919 0.909 32.967 Bridge 0.919 24.989 0.908 27.245 Camera 0.960 27.055 0.959 32.340 Lena 0.935 29.860 0.938 35.336

0.95

Peppers 0.912 30.700 0.908 35.965 Airplane 0.942 31.300 0.941 37.843 Barbara 1.159 29.658 1.141 34.937 Bridge 1.339 27.610 1.321 28.899 Camera 1.124 29.306 1.116 33.436 Lena 1.147 32.349 1.141 36.176

0.99

Peppers 1.059 32.848 1.043 36.453

0.8

0.9

1

1.1

1.2

1.3

1.4

Airplane Barbara Bridge Camera Lena Peppers

BPP

Beta=0,95 Beta=0,99 Gambar 5. Grafik Beta terhadap BPP.

24

26

28

30

32

34

Airplane Barbara Bridge Camera Lena Peppers

PSN

R (d

B)

Beta=0,95 Beta=0,99 Gambar 6. Grafik Beta terhadap PSNR.

Tabel 3 Waktu pemampatan dan pengembalian citra β = 0.95 β = 0.99

Citra Enc.(s) Dec.(s) Enc.(s) Dec.(s) Airplane 17.6 6.0 18.8 6.5 Barbara 18.1 6.2 22.3 7.8 Bridge 4.9 1.5 6.8 2.3 Camera 5.0 1.6 5.7 1.9

Lena 19.3 6.7 22.0 7.7 Peppers 18.1 6.2 21.3 7.2

0

5

10

15

20

25

Airplane Barbara Bridge Camera Lena Peppers

Wak

tu P

engk

odea

n (d

etik

)

Beta=0,95 Beta=0,99 Gambar 7. Grafik Beta terhadap Waktu Pengkodean.

0123456789

Airplane Barbara Bridge Camera Lena Peppers

Wak

tu P

ende

kode

an (d

etik

)

Beta=0,95 Beta=0,99

Gambar 8. Grafik Beta terhadap Waktu Pendekodean.

Page 18: Pemampatan Citra Dengan Metode Singular Value ... · menghasilkan data penting dan data tidak penting berupa vektor-vektor dan nilai-nilai singular ... β yang tinggi menghasilkan

10

Dimensi citra juga mempengaruhi waktu proses, semakin besar dimensi cira maka semakin lama waktu proses pemampatan citra

Perbandingan Pemampatan Citra SVD dengan JPEG

Hasil-hasil pemampatan citra SVD dibandingkan dengan hasil-hasil pemampatan citra JPEG yang ukuran file-nya mendekati, seperti disajikan pada Tabel 2. Citra JPEG disini dihasilkan oleh fungsi MATLAB imwrite. Jika dibandingkan dengan hasil pemampatan citra SVD, terlihat jelas bahwa JPEG masih lebih baik dibandingkan dengan SVD. Pada BPP yang sama, PSNR citra hasil pemampatan JPEG selalu lebih tinggi untuk semua citra uji, yang berarti kualitasnya selalu diatas kualitas citra hasil pemampatan SVD. Secara visual

dapat pula diamati bahwa citra hasil pemampatan SVD menunjukkan kesan terkotak-kotak di beberapa blok citra, akibat dari rendahnya nilai PSNR di blok tersebut, sedangkan pada JPEG masih dapat dipertahankan bentuk alaminya. Pengamatan secara visual pada citra Lena disajikan pada gambar 9, sedangkan untuk citra yang lain terdapat pada Lampiran 3 sampai dengan lampiran 7.

KESIMPULAN DAN SARAN

Kesimpulan

Dari hasil penelitian yang telah dilakukan dapat diambil beberapa kesimpulan mengenai pemampatan citra dengan metode SVD, yaitu:

Gambar 9. Citra hasil pemampatan Lena. a) SVD 95% energi, b) SVD 99% energi c) JPEG Quality = 66, d) JPEG Quality = 75

Page 19: Pemampatan Citra Dengan Metode Singular Value ... · menghasilkan data penting dan data tidak penting berupa vektor-vektor dan nilai-nilai singular ... β yang tinggi menghasilkan

11

1. Transformasi SVD telah berhasil digunakan dalam upaya memampatkan citra secara lossy.

2. Sifat citra yang pada umumnya memiliki struktur dan tidak acak (artinya terjadi interpixel redundancy) dapat dimanfaatkan oleh pemampatan citra SVD dengan hanya mengkodekan sedikit nilai singular dan vektor-vektor singularnya.

3. Nilai β yang semakin rendah menyebabkan jumlah bit yang dibutuhkan citra menjadi berkurang, artinya ukuran file citra semakin kecil. Sedangkan nilai β yang tinggi menghasilkan citra hasil pemampatan yang lebih baik dari sisi kualitas.

4. Nilai β = 0.99 menghasilkan citra dengan kualitas masih cukup baik, sedangkan pada β = 0.95 kualitas citra banyak berkurang. Namun, pemilihan nilai β tergantung pada kebutuhan.

5. Pemampatan citra JPEG masih lebih baik dari pemampatan citra SVD, karena dalam pemampatan citra JPEG dipakai juga teknik pemampatan lossless untuk mengkodekan data hasil transformasi dan kuantisasi.

Saran Untuk pengembangan metode ini lebih

lanjut, hal-hal berikut ini dapat dilakukan untuk penelitian-penelitian selanjutnya: 1. Teknik transformasi citra SVD dapat

dikombinasikan dengan teknik transformasi lain seperti DCT untuk mengembangkan sebuah metode pemampatan citra hybrid, seperti yang dilakukan oleh Dapena & Ahalt (2002) dan Wongsawat et al (2004).

2. Menggunakan teknik VQ yang lebih baik dalam kuantisasi vektor-vektor singular untuk meningkatkan kualitas citra hasil pemampatan.

3. Pemampatan data lebih lanjut setelah proses transformasi dan kuantisasi dengan menggunakan metode pemampatan data lossless, sehingga BPP semakin kecil.

DAFTAR PUSTAKA

Bovik, Al. 2000. Handbook Of Image And

Video Processing. San Diego: Academic Press.

Dapena A, Ahalt S. 2002. A Hybrid DCT-SVD Image-Coding Algorithm. IEEE Trans. CSVT, vol. 12, pp.114-121.

Gonzalez RC, Woods RE. 2002. Digital Image Processing. Ed-ke-2. New Jersey: Prentice-Hall.

Jain AK. 1989. Fundamentals of Digital Image Processing. New Jersey: Prentice-Hall.

Khan MA, Smith MJT. 2000. Fundamentals of Vector Quantization. Georgia: Academic Press.

Munir R. 2001. Pengolahan Citra Digital Dengan Pendekatan Algoritmik. Bandung: Penerbit Informatika.

Qasem M. Vector Quantization. http://us.geocities.com/mohamedqasem/ vectorquantization/vq.html [18 juli 2005].

Wikipedia. 2007. JPEG. en.wikipedia.org/wiki/ JPEG. [12 Juni 2007].

Wikipedia. 2007. Peak Signal-To-Noise Ratio. en.wikipedia.org/wiki/Peak_signal-to-noise_ratio. [31 Mei 2007].

Wongsawat Y, Ochoa H, Rao KR, Oraintara S. 2004. A Modified Hybrid DCT-SVD Image-Coding For Color Image. IEEE ISCIT, vol. 2, pp.766-769.

Page 20: Pemampatan Citra Dengan Metode Singular Value ... · menghasilkan data penting dan data tidak penting berupa vektor-vektor dan nilai-nilai singular ... β yang tinggi menghasilkan

LAMPIRAN

Page 21: Pemampatan Citra Dengan Metode Singular Value ... · menghasilkan data penting dan data tidak penting berupa vektor-vektor dan nilai-nilai singular ... β yang tinggi menghasilkan

13

Lampiran 1. Citra yang digunakan dalam pembentukan codebook

Couple.bmp Boat.bmp

Goldhill.bmp Mountain.bmp

Page 22: Pemampatan Citra Dengan Metode Singular Value ... · menghasilkan data penting dan data tidak penting berupa vektor-vektor dan nilai-nilai singular ... β yang tinggi menghasilkan

14

Lampiran 2. Gambar antar muka program pemampatan citra SVD. (a) Menu pemampatan citra (b) Menu rekonstruksi citra

(a)

(b)

Page 23: Pemampatan Citra Dengan Metode Singular Value ... · menghasilkan data penting dan data tidak penting berupa vektor-vektor dan nilai-nilai singular ... β yang tinggi menghasilkan

15

Lampiran 3. Citra Airplane dan hasil-hasil pemampatan

Citra hasil pemampatan SVD 95% energi

(β = 0.95) Citra hasil pemampatan SVD 99% energi

(β = 0.99)

Citra hasil pemampatan JPEG, Quality = 67 Citra hasil pemampatan JPEG, Quality = 70

Page 24: Pemampatan Citra Dengan Metode Singular Value ... · menghasilkan data penting dan data tidak penting berupa vektor-vektor dan nilai-nilai singular ... β yang tinggi menghasilkan

16

Lampiran 4. Citra Barbara dan hasil-hasil pemampatan

Citra hasil pemampatan SVD 95% energi

(β = 0.95) Citra hasil pemampatan SVD 99% energi

(β = 0.99)

Citra hasil pemampatan JPEG, Quality = 51 Citra hasil pemampatan JPEG, Quality = 67

Page 25: Pemampatan Citra Dengan Metode Singular Value ... · menghasilkan data penting dan data tidak penting berupa vektor-vektor dan nilai-nilai singular ... β yang tinggi menghasilkan

17

Lampiran 5. Citra Bridge dan hasil-hasil pemampatan

Citra hasil pemampatan SVD 95% energi

(β = 0.95) Citra hasil pemampatan SVD 99% energi

(β = 0.99)

Citra hasil pemampatan JPEG, Quality = 26 Citra hasil pemampatan JPEG, Quality = 47

Page 26: Pemampatan Citra Dengan Metode Singular Value ... · menghasilkan data penting dan data tidak penting berupa vektor-vektor dan nilai-nilai singular ... β yang tinggi menghasilkan

18

Lampiran 6. Citra Cameraman dan hasil-hasil pemampatan

Citra hasil pemampatan SVD 95% energi

(β = 0.95) Citra hasil pemampatan SVD 99% energi

(β = 0.99)

Citra hasil pemampatan JPEG, Quality = 57 Citra hasil pemampatan JPEG, Quality = 67

Page 27: Pemampatan Citra Dengan Metode Singular Value ... · menghasilkan data penting dan data tidak penting berupa vektor-vektor dan nilai-nilai singular ... β yang tinggi menghasilkan

19

Lampiran 7. Citra Peppers dan hasil-hasil pemampatan

Citra hasil pemampatan SVD 95% energi

(β = 0.95) Citra hasil pemampatan SVD 99% energi

(β = 0.99)

Citra hasil pemampatan JPEG, Quality = 69 Citra hasil pemampatan JPEG, Quality = 75