0% found this document useful (0 votes)
52 views21 pages

(13.12.16) Comparison of Image Coding Methods

The document compares image coding methods such as DCT (Discrete Cosine Transform) and DWT (Discrete Wavelet Transform). It discusses image compression techniques that reduce file sizes without losing key information. The author conducted simulations to compare these transform coding techniques and reported the results.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
52 views21 pages

(13.12.16) Comparison of Image Coding Methods

The document compares image coding methods such as DCT (Discrete Cosine Transform) and DWT (Discrete Wavelet Transform). It discusses image compression techniques that reduce file sizes without losing key information. The author conducted simulations to compare these transform coding techniques and reported the results.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 21

COMPARISON OF IMAGE CODING

METHODS
MAKALAH LAPORAN PROYEK AKHIR

MATA KULIAH TEKNIK PENGKODEAN DAN APLIKASI

Disusun oleh:

Damaraji Wijoyono ( 1406571035 )

Guntur Kuntoro Prayogo ( 1406531164 )

DEPARTEMEN TEKNIK ELEKTRO


FAKULTAS TEKNIK UNIVERSITAS INDONESIA
DEPOK
2016
BAB I

PENDAHULUAN

1.1 Latar Belakang

Perkembangan teknologi khususnya teknologi informasi


memberikan perubahan pada cara kita berkomunikasi. Kini informasi
tidaklah hanya terdiri dari teks, namun dapat pula berupa multimedia,
yaitu jenis data yang tidak dapat diinterpretasikan dengan ASCII seperti
suara, citra, dan citra bergerak (video). Citra menjadi jenis multimedia
yang sering dikirimkan secara digital, dimana sebuah citra berisi
perpaduan dari berbagai titik, garis, dan warna yang dapat menampilkan
suatu informasi.

Agar keseluruhan informasi dalam suatu citra dapat diperoleh,


maka konten informasi dalam citra tersebut haruslah sebanyak dan sedetail
mungkin. Tetapi karena kapasitas transmisi media pengiriman dan
kapasitas penyimpanan memori divais, pengiriman citra secara digital
memiliki keterbatasan. Semakin banyak dan detail informasi suatu citra,
maka kapasitas kanal transmisi dan kapasitas memori yang digunakan
semakin besar pula. Hal ini yang mendasari dilakukannya teknik
kompresi, yakni teknik untuk mengkompres (mengurangi) ukuran file
suatu data tanpa menghilangkan informasi utama itu sendiri.

Terdapat beberapa jenis teknik kompresi, salah satunya adalah


transform coding. Teknik ini merupakan kompresi lossy, maksudnya
adalah proses kompres data dimana sebagian informasinya hilang.
Transform coding sejak awal mula diciptakan terus mengalami
perkembangan, sehingga dikenal beberapa jenis kompresi yang merupaan
bagian dari jenis coding ini. Beberapa jenis transform coding adalah DCT
(Discrete Cosine Transform) dan DWT (Discrete Wavelet Transform).
Untuk membandingkan teknik-teknik transform coding tersebut
dan hasilnya, maka penulis melakukan simulasi terhadap jenis coding
tersebut dan melaporkan hasil simulasi yang dilaksanakan dalam bentuk
makalah.

1.2 Tujuan

Tujuan pelaksanaan proyek ini adalah untuk memenuhi tugas akhir


mata kuliah ‘Teknik Koding dan Aplikasinya’. Dengan dilaksanakan
proyek ini, mahasiswa diharapkan bisa menerapkan atau
mengimplementasikan teknik pengkodingan yang telah dipelajari,
khususnya teknik koding citra. Proyek ini akan menjadi sebuah tools yang
bisa digunakan oleh orang awam untuk melihat dan mempelajari proses
pengkodingan tersebut.

1.3 Batasan Masalah

Makalah ini secara umum hanya membahas mengenai kompresi


citra, khususnya mengenai teknik transform coding, yakni: DCT (Discrete
Cosine Transform) dan DWT (Discrete Wavelet Transform). Selain itu,
dalam makalah ini akan dijabarkan mengenai perbandingan teknik tersebut
dan perbandingan hasil kompresinya.

1.4 Kerangka Tulisan

Laporan ini dibagi menjadi empat bab, dengan penjelasan tiap bab
sebagai berikut :

Bab I: Pendahuluan
Pada bab ini dijelaskan latar belakang, tujuan, pembatasan
masalah, dan kerangka penulisan.

Bab II: Dasar Teori


Pada bab ini dijelaskan mengenai dasar teori mengenai citra digital,
kompresi, hal-hal yang penting dalam kompresi citra, transform
coding, DCT, dan DWT.
Bab III: Simulasi dan Perbandingannya
Pada bab ini akan dijelaskan rancangan dari proyek yang kami
kerjakan serta penjelasan programnya.

Bab IV: Kesimpulan


Pada bab ini akan dijelaskan mengenai kesimpulan dari makalah
ini.
BAB II

DASAR TEORI

2.1 Citra Digital

Citra adalah gambar dua dimensi yang dihasilkan dari gambar


analog dua dimensi kontinu menjadi gambar diskrit melalui proses
sampling. Gambar analog dibagi menjadi N baris dan M kolom sehingga
menjadi gambar diskrit. Dimana setiap pasangan indeks baris dan kolom
menyatakan suatu titik pada citra. Nilai matriksnya menyatakan nilai
kecerahan titik tersebut. Titik-titik tersebut dinamakan sebagai elemen
citra, atau pixel (picture elemen). Dalam kamus komputer, gambar atau
foto diistilahkan sebagai citra digital yang mempunyai representasi
matematis berupa matriks Cm×n = (cij).

2.1.1 Matriks Bitmap

Citra bitmap adalah susunan bit-bit warna untuk tiap pixel


yang membentuk pola tertentu. Pola-pola warna ini menyajikan
informasi yang dapat dipahami sesuai dengan persepsi indera
penglihatan manusia. Format file ini merupakan format grafis yang
fleksibel untuk platform Windows sehingga dapat dibaca oleh
program grafis manapun. Format ini mampu menyimpan informasi
dengan kualitas tingkat 1 bit samapi 24 bit.

Bitmap dimodelkan dalam bentuk matriks. Nilai pixel atau


entri-entri dari matriks ini mewakili warna yang ditampilkan
dimana ordo matriks merupakan dimensi panjang dan lebar dari
bitmap.
Nilai-nilai warna ditentukan berdasarkan intensitascahaya
yang masuk. Dalam komputer, derajat intensitas cahaya diwakili
oleh bilangan cacah. Nilai 0 menerangkan tidak adanya cahaya
sedangkan nilai yang lain menerangkan adanya cahaya dengan
intensitas tertentu. Nilai-nilai ini bisa didapatkan melalui fungsi-
fungsi yang disediakan oleh bahasa pemrograman berdasarkan
input berupa lokasi entri-entri matriks yang hendak dicari.

2.1.2 Pixel

Pixel (Picture Elements) adalah nilai tiap-tiap entri matriks


pada bitmap. Rentang nilai-nilai pixel ini dipengaruhi oleh
banyaknya warna yang dapat ditampilkan. Jika suatu bitmap dapat
menampilkan 256 warna maka nilai-nilai pixelnya dibatasi dari 0
hingga 255. Suatu bitmap dianggap mempunyai ketepatan yang
tinggi jika dapat menampilkan lebih banyak warna. Prinsip ini
dapat dilihat dari contoh pada gambar 2.3 yang memberikan contoh
dua buah bitmap dapat memiliki perbedaan dalam menangani
transisi warna putih ke warna hitam.
Gambar 2.3. Perbedaan Ketepatan Warna Bitmap

Perbedaan ketepatan warna bitmap pada Gambar 2.3 menjelaskan


bahwa bitmap sebelah atas memberikan nilai untuk warna lebih sedikit
daripada bitmap dibawahnya. Untuk bitmap dengan pola yang lebih kompleks
dan dimensi yang lebih besar, perbedaan keakuratan dalam memberikan nilai
warna akan terlihat lebih jelas.

2.1.3 Dimensi dan Resolusi

Dimensi bitmap adalah ukuran bitmap yang dinotasikan


dengan menulis lebar × tinggi bitmap. Satuan ukur dimensi bitmap
dapat berupa satuan ukur metris maupun pixel. Dimensi yang
digunakan oleh bitmap mewakili ordo matriks citra itu sendiri.
Contoh pada gambar 2.1 menunjukkan sebuah bitmap berdimensi
15×10 pixel yang diwakili oleh matriks C10×15. Model matriks
untuk bitmap dipengaruhi oleh kerapatan pixel atau resolusi.
Kerapatan pixel ini digunakan bitmap dalam mendekati
kekontinyuan. Semakin besar resolusi suatu bitmap, obyek yang
ditampilkan citra tersebut semakin akurat.
Kerapatan titik-titik pada citra dinamakan resolusi, yang
menunjukkan seberapa tajam gambar ini ditampilkan yang
ditunjukkan dengan jumlah baris dan kolom. Resolusi merupakan
ukuran kuantitas bukan kualitas. Pixelmerupakan satuan ukuran
terhadap jumlah area photo-receptorpada sensor gambar kamera,
yang menentukan seberapa banyak data yang dapat ditangkap.
Resolusi digunakan untuk pendataan (sampling) citra dari
sensor. Sensor mengubah citra dari fungsi kontinu ke fungsi diskrit
sehingga semakin besar resolusi citra maka informasi yang
dihasilkan akan semakin baik, sebab data yang diperoleh menjadi
lebih banyak.

2.1.4 Citra Grayscale

Skala keabuan atau grayscale merupakan suatu istilah


untuk menyebutkan satu citra yang memiliki warna putih, abu-abu
dan hitam. Format citra ini disebut skala keabuan karena pada
umumnya warna yang dipakai adalah antara hitam sebagai warna
minimal dan warna putih sebagai warna maksimalnya, sehingga
warna antaranya adalah abu-abu.
Pada citra digital banyaknya kemungkinan nilai dan nilai
maksimumnya bergantung pada jumlah bit yang digunakan.
Misalnya pada citra skala keabuan 4 bit, maka jumlah
kemungkinan nilainya adalah 24=16 dan nilai maksimumnya
adalah 24 -1 = 15. Sedangkan untuk skala keabuan 8 bit, maka
jumlah kemungkinan nilainya adalah 28 = 256, dan nilai
maksimumnya adalah 28 -1 = 255. Sehingga makin besar angka
grayscale, citra yang terbentuk makin mendekati kenyataan.

2.1.5 Model Warna (RGB)

Model warna RGB (Red-Green-Blue) adalah model formal


untuk menampilkan warna-warna pada monitor computer, kartu
grafik computer, televisi, dan sistem display lainnya.
Model warna RGB mengandung warna merah, hijau, dan
biru (warna pokok) dan dikenal dengan sistem pewarnaan additive,
yaitu warna yang dihasilkan dengan menggabungkan intensitas
warna dasar. Sebagai contoh yang ekstrim, warna hitam pada
monitor dihasilkan oleh pencampuran intensitas minimum semua
warna dasar, dan warna putih adalah pencampuran maksimum
intensitas semua warna dasar.

2.2 Kompresi

Kompresi citra adalah aplikasi kompresi data yang dilakukan


terhadap citra digital dengan tujuan untuk mengurangi pengulangan dari
data-data yang terdapat dalam citra sehingga dapat disimpan atau
ditransmisikan secara efisien. Informasi yang dirasakan berulang dapat
dikompresi untuk meminimalisasi pengulangan tersebut. Namun proses ini
harus tetap menjaga kualitas penggambaran dari informasi tersebut.
Tujuan utama dari kompresi pada citra digital adalah untuk
mengurangi penggunaan memori, sehingga akan memudahkan
penyimpanan, pengolahan serta pengiriman citra digital tersebut.

2.3 Teknik Kompresi Citra

Secara garis besar teknik kompresi dibagi menjadi:

2.3.1 Kompresi Lossy

1. Ukuran file citra menjadi lebih kecil dengan 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 ukurannya menjadi lebih kecil;
3. Biasanya digunakan pada citra foto atau image lain yang tidak
terlalu memerlukan detail citra, dimana kehilangan bitrate foto
tidak berpengaruh pada citra.

2.3.2 Kompresi Lossless

1. Teknik kompresi citra dimana tidak ada satupun informasi citra


yang dihilangkan;
2. Biasa digunakan pada citra medis;
3. Contoh kompresi: transform coding (DCT, DWT).
2.4 Transform Coding

Dengan adanya transformasi, maka suatu citra akan


direpresentasikan sebagai kombinasi linier dari basis citra dan menentukan
koefisien linier. Secara umum, transform coding memiliki beberapa
langkah berikut:

1. Konversi vektor sumber (source vector) s menjadi vektor koefisien


transformasi u = As.
2. Kuantisasi skalar terhadap koefisien transformasi u  u’.
3. Konversi vektor koefisien transformasi terkuantisasi u’ menjadi
vektor sumber (source vector) yang telah didekodekan s’ = Bu’.
Tranform coding merupakan salah satu hal yang penting dalam
teknik kompresi citra, hal ini disebabkan oleh beberapa faktor, yakni:
1. Menempatkan energi sinyal terkonsentrasi pada sebagian koefisien
transformasi, dengan demikian proses koding dengan sedikit
koefisien dan koefisien bernilai nol akan menjadi sangat efisien.
2. Kombinasi transformasi dan kuantisasi skalar menghasilkan
reduksi substansial dalam kerumitan komputasi.
3. Kuantisasi dalam domain transformasi (transform domain)
menghasilkan peningkatan kualitas, dan mengurangi konten yang
tidak relevan.

2.4.1 Discrete Cosine Transform (DCT)

DCT terbagi kedalam 2 jenis, yakni DCT satu dimensi dan


DCT dua dimensi. DCT satu dimensi digunakan untuk mengolah
sinyal-sinyal satu dimensi seperti bentuk gelombang suara.
Sedangkan untuk citra sinyal dua dimensi, diperlukan versi dua
dimensi dari DCT.
Di dalam proses encoding, sampel-sampel dari komponen
citra masukan dikelompokkan kedalam blok 8 x 8, dan setiap
bloknya ditransformasikan dengan forward Discrete Cosine
TransformDCT (FDCT) ke dalam sebuah himpunan 64 nilai yang
biasa disebut dengan koefisien DCT. Salah satu anggota dari
himpunan ini sering disebut sebagai koefisien DC dan sisanya 63
disebut dengan koefisien AC. Selanjutnya setiap 64 koefisien ini,
dilakukan proses kuantisasi menggunakan 64 nilai yang
bersesuaian pada tabel kuantisasinya. Setelah proses kuantisasi,
koefisien DC dan 63 koefisien AC disiapkan untuk entropy coding,
seperti terlihat pada gambar di bawah. Nilai koefisien DC yang
telah dikuantisasi sebelumnya digunakan untuk memprediksi nilai
koefisien DC terkuantisasi sekarang dan perbedaan nilainya juga
dikodekan. Kemudian 63 koefisien AC ini dikodekan seperti pada
koefisien DC tetapi sebelumnya diurutkan secara zig-zag seperti
pada gambar di bawah. Koefisien yang telah dikuantisasi ini
selanjutnya dilewatkan pada prosedur entropy encoding yang
bertugas mengkompresi data. DCT digunakan untuk format image
JPEG.

JPEG (Joint Photograpic Experts Group) merupakan teknik


kompresi, yang memiliki format file JFIF (JPEG File Interchange
Format). JPEG cocok untuk citra pemandangan (natural generated
image), tidak cocok untuk citra yang mengandung banyak garis,
ketajaman warna, dan computer generated image.

Tingkat kompresi yang baik untuk JPEG adalah 10:1-20:1


untuk citra foto, 30:1-50:1 untuk citra web, dan 60:1-100:1 untuk
kualitas rendah seperti citra untuk ponsel.

Langkah-langkah utama kompresi image JPEG adalah


sebagai berikut
Gambar 2.4 Diagram Encoding JPEG

Gambar 2.5 Diagram Decoding JPEG

2.4.2 Discrete Wavelet Transform (DWT)

Pada transformasi wavelet, dilakukan penyaringan data menjadi low pass


dan high pass. Low pass merepresentasikan bagian penting dari data dalam
resolusi yang rendah, sedangkan high pass menyatakan detail dari data yang
ditransformasikan. Pada JPEG2000, dilakukan DWT dua dimensi, yaitu DWT
terhadap baris (horizontal), dan terhadap kolom (vertikal). Suatu tahapan DWT
dua dimensi akan menghasilkan empat buah kuadran, yaitu:

LL: sub-kelompok low dari hasil transformasi pada baris dan kolom.

HL: sub-kelompok high dari hasil transformasi pada baris, dan sub-kelompok low
dari transformasi kolomnya.

LH: sub-kelompok low dari hasil transformasi pada baris, dan sub-kelompok high
dari transformasi kolomnya.
HH: sub-kelompok high dari hasil transformasi baris dan kolom.

Gambar 2.7 Transformasi Wavelet Dua Dimensi

Salah satu metode transformasi wavelet yang cukup sederhana adalah


dengan menggunakan pendekatan Lifting. Dengan metode ini, konstanta wavelet
filter seperti konstanta filter Daubechies (9,7) yang banyak digunakan, difaktorkan
menjadi konstanta lainnya yang menyatakan lifting steps.

Berikut ini beberapa konstanta yang digunakan untuk perhitungan dengan


pendekatan Lifting ini:

a = -1.586 b = -0.052 c = 0.883 d = 0.444

Gambar 2.8 Proses dekomposisi DWT


Gambar 2.9 Dekomposisi DWT 2 stage

DWT digunakan untuk format image JPEG2000. JPEG 2000 adalah tehnik
kompresi image yang paling terbaru. JPEG 2000 merupakan pengembangan dari
JPEG, yang jumlah bit error yang relatif rendah, ratedistorsi, transmisi dan
mempunyai kualitas yang baik dibandingkan dengan JPEG. JPEG 2000
menerapkan teknik kompresi lossy dan lossless. Dan penggunan ROI coding
(Region of interest coding). ROI memungkinkan dilakukannya pengkodean secara
berbeda pada area tertentu dari citra digital, sehingga mempunyai kualitas yang
lebih baik dari area sekitarnya (background). Fitur ini menjadi sangat penting, bila
terdapat bagian tertentu dari citra digital yang dirasakan lebih penting dari bagian
yang lainnya. JPEG 2000 didesain untuk internet , scanning, digital photograpi,
remote sensing , medical imegrey, perpustakaan digital dan Ecommerce. Berikut
ini skema proses kompresi pada JPEG2000:

Gambar 2.4 Skema Proses Kompresi JPEG2000


2.5.4 Kuantisasi
Kompresi berbasis kuantisasi menggunakan metode pengurangan
jumlah intensitas warna, sehingga dapat mengurangi jumlah bit yang
digunakan untuk merepresentasikan citra. Kompresi ini bersifat lossy, karena
intensitas warna berkurang, sehingga kualitas gambar hasil kompresi menjadi
kurang baik. Secara algoritma teknik kompresi ini diberikan sebagai berikut:

1. Buat histogram citra asal


Histogram citra adalah grafik yang menunjukkan distribusi dari intensitas
citra. Histogram citra menyatakan frekuensi kemunculan berbagai derajat
keabuan dalam citra. Teknik pemodelan histogram mengubah citra hingga
memiliki histogram sesuai keinginan. Untuk meningkatkan kualitas citra
salah satunya dapat dilakukan dengan ekualisasi histogram. Dengan
ekualisasi histogram dapat diperoleh histogram citra dengan distribusi
seragam.

{Contoh} Diketahui citra array berukuran 6x6 piksel (8 derajat keabuan, 3


bit) sebagai berikut :

2. Buat kelompok intensitas warna baru dengan menghitung jumlah


piksel/jumlah kelompok.
3. Atur pengelompokan

4. Lakukan kuantisasi.
5. Kodekan nilai intensitas warna hasil kuantisasi kedalam citra kompresi.
Ukuran citra sebelum kompresi = 36 piksel x 3 bit =108 bit
Ukuran citra setelah kompresi = 36 piksel x 2 bit =72 bit
Penghematan = 100%-(72/108)=33.33%, yang artinya 33% dari citra telah
dimampatkan.

2.5.5 Entropy Coding


Entropy coding adalah proses penggunaan algoritma entropy,
misalnya Huffman atau Aritmatik untuk mengenkodekan koefisien hasil
proses DCT yang akan mengeliminasi nilai-nilai matriks yang bernilai nol
secara zig-zag order.

2.6 Perhitungan Kualitas Citra

Perhitungan kualitas citra digital yang merupakan hasil modifikasi,


terhadap citra digital yang asli, dapat dilakukan dengan menghitung nilai
MSE (Mean Square Error) dan juga nilai PSNR (Peak Signal-to-Noise
Ratio). Pada program ini perhitungan kualitas citra hasil kompresi
dilakukan dengan perhutungan PSNR. Perhitungan nilai PSNR, dapat
dilakukan dengan rumus berikut:

2252
𝑃𝑆𝑁𝑅 = 10 log ( )
𝑀𝑆𝐸
Semakin besar PSNR, maka kualitas citra hasil modifikasi akan
semakin baik, sebab tidak banyak data yang mengalami perubahan,
dibandingkan aslinya.
BAB III

SIMULASI DAN PERBANDINGANNYA

3.1 Flowchart GUI


Pada proses “SET” terdapat prosedur pengaturan dimensi gambar
agar ukuran baris (r) sama dengan ukuran kolom (c).
Pada proses “Compress” di DCT, image akan dikonversi dari
model RGB menjadi model YIQ. Lalu dilakukan DCT terhadap matriks
YIQ dan dikuantisasi dengan matriks Chrominance dan luminance yang
nilai dari tiap elemen matriks telah dirubah tergantung dengan nilai quality
yang diinput oleh user. Hasilnya akan dirubah kembali ke RGB sebagai
image yang telah dikompresi.
Pada proses “Compress” di DWT, terdapat proses dekomposisi
yang mana bergantung kepada nilai level yang input oleh user. Kemudian
image di rekonstuksi ulang sebagai image yang telah dikompresi.

You might also like