• Tidak ada hasil yang ditemukan

SIMULASI TEKNIK KOMPRESI CITRA MENGGUNAKAN DISCRETE COSINE TRANSFORM (DCT) TUGAS AKHIR - Simulasi teknik kompresi citra menggunakan DCT - USD Repository

N/A
N/A
Protected

Academic year: 2019

Membagikan "SIMULASI TEKNIK KOMPRESI CITRA MENGGUNAKAN DISCRETE COSINE TRANSFORM (DCT) TUGAS AKHIR - Simulasi teknik kompresi citra menggunakan DCT - USD Repository"

Copied!
172
0
0

Teks penuh

(1)

TUGAS AKHIR

Diajukan Untuk Memenuhi Salah Satu Syarat

Memperoleh Gelar Sarjana Teknik

Program Studi Teknik Elektro

Oleh:

Nama : Lukas Pandu Prima

NIM :

025114012

PROGRAM STUDI TEKNIK ELEKTRO

JURUSAN TEKNIK ELEKTRO

FAKULTAS TEKNIK

UNIVERSITAS SANATA DHARMA

YOGYAKARTA

2007

(2)

FINAL PROJECT

Presented as Partial Fulfillment of the Requirements

To Obtain the Sarjana Teknik Degree

In Electrical Engineering Study Program

By:

Name : Lukas Pandu Prima

Student Number : 025114012

ELECTRICAL ENGINEERING STUDY PROGRAM

DEPARTMENT OF ELECTRICAL ENGINEERING

FACULTY OF ENGINEERING

SANATA DHARMA UNIVERSITY

YOGYAKARTA

2007

(3)

SIMULASI TEKNIK KOMPRESI CITRA MENGGUNAKAN

DISCRETE COSINE TRANSFORM (DCT)

(SIMULATION TECHNIQUE IMAGE COMPRESSION USING

DISCRETE COSINE TRANSFORM (DCT))

Oleh :

LUKAS PANDU PRIMA

NIM : 025114012

Telah disetujui oleh :

30 JULI 2007

Damar Wijaya, S.T., M.T.

………

………

(4)

SIMULASI TEKNIK KOMPRESI CITRA MENGGUNAKAN

DISCRETE COSINE TRANSFORM (DCT)

Oleh :

LUKAS PANDU PRIMA

NIM : 025114012

Telah dipertahankan di depan Panitia Penguji

Pada tanggal : 30 Juli 2007

dan dinyatakan memenuhi syarat

Susunan Panitia Penguji

Nama Lengkap

Tanda Tangan

Ketua

: A. Bayu Primawan, S.T., M.Eng.

...

Sekretaris : Damar Widjaja, S.T., M.T.

...

Anggota : Pius Yozy Merucahyo, S.T., M.T.

...

Anggota : Wiwien Widyastuti, S.T., M.T.

...

Yogyakarta, Agustus 2007

Fakultas Teknik Universitas Sanata Dharma

Dekan

Ir. Greg. Heliarko, SJ., B. ST., MA., M. Sc

(5)

tidak memuat karya atau bagian karya orang lain,

kecuali yang telah disebutkan dalam kutipan dan daftar pustaka,

sebagaimana layaknya karya ilmiah.”

Yogyakarta, 2007

Lukas Pandu Prima

(6)

Kupersembahkan karya sederhana ini untuk

Tuhan Yesus Kristus

Bapak dan Ibuku

serta

Adik-adikku

(7)

INTISARI

Tugas akhir ini mendeskripsikan tentang program simulasi untuk teknik

kompresi citra menggunakan

Discrete Cosine Transform

(DCT). Program ini akan

mensimulasikan tahap-tahap perancangan kompresi citra, yaitu kompresi citra dan

ekspansi citra.

Program ini akan menghasilkan citra hasil ekspansi dari citra aslinya.

Spesifikasi yang dibutuhkan yaitu jumlah piksel tiap blok

downsampling

, jumlah

piksel tiap blok DCT dan tabel kuantisasi. Hasil yang didapat berupa rasio kompresi

dan rata-rata

error

tiap piksel untuk masing-masing spesifikasi yang dimasukkan.

Dari hasil yang didapat kemudian dapat ditentukan spesifikasi terbaik untuk teknik

kompresi citra.

Program simulasi untuk kompresi citra menggunakan DCT telah

diimpementasikan dan dilakukan pengujian untuk mengamati kinerja kompresi citra.

Hasil yang terbaik diperoleh saat spesifikasi yang digunakan adalah jumlah piksel

tiap blok

downsampling

adalah 8 x 8, jumlah piksel tiap blok DCT adalah 8 x 8, dan

kuantisasi dengan

default quantization table.

Kata kunci : kompresi, ekspansi, DCT, rasio kompresi, rata-rata

error

tiap piksel

(8)

expansion.

This program will produce the image expansion from the pure image. The

needed specification are pixel count in each downsampling block, pixel count in

each DCT block, and quantization table. The result got are the compression ratio

and average of error on each pixel for each entered specification. From this, it will

be decided the best specification for image compression.

The simulation program for image compression using DCT had been

implemented and tested to observe the image compression work. The best result

was got when the specification used for image compression were the pixel count

8 x 8 in each downsampling blok, the pixel count 8 x 8 in each DCT block, and

the quantization with default quantization table.

Keyword : compression, expansion, DCT, compression ratio, average of error

every pixel.

(9)

sehingga penulis dapat menyelesaikan tugas akhir ini dengan baik dan lancar. Dalam

proses penulisan tugas akhir ini penulis menyadari bahwa ada begitu banyak pihak

yang telah memberikan perhatian dan bantuan dengan caranya masing-masing

sehingga tugas akhir ini dapat terselesaikan. Oleh karena itu penulis ingin

mengucapkan terima kasih antara lain kepada :

1.

Bapak Ir. Greg. Heliarko, SJ., B.ST., MA., M.Sc, selaku dekan fakultas teknik.

2.

Bapak Damar Wijaya, S.T., M.T. selaku pembimbing I atas ide-ide yang

berguna, bimbingan, dukungan, saran dan kesabaran bagi penulis dari awal

sampai tugas akhir ini bisa selesai.

3.

Seluruh dosen teknik elektro, laboran, dan Pak Djito atas semua yang telah

diberikan selama penulis belajar dan berinteraksi di Universitas Sanata Dharma

Yogyakarta.

4.

Bapak dan Ibu tercinta atas semangat, doa serta dukungan secara moril maupun

materiil.

5.

Sinta, Imel dan Dewa atas dukungan, cinta, bantuan yang sangat berguna.

6.

Pakde Kiman, Om Gun, Om Agus, dan Om Antok n keluarga besar mbah

buyut.hehe...

7.

Dika, makasih banyak ya dik...kamu memang BF.

8.

Hugo juga.

9.

Wuri, semoga keluarga kecilmu sehat dan bahagia.

10.

Aan, makasih buat sharingnya.

(10)

13.

Anak-anak farmasi 2005, yo kumpul lagi yo.

14.

Teman-teman angkatan 2002, 2003, 2004, 2001 yang selalu berbagi ilmu dan

pengalaman kuliah.

15.

Dan seluruh pihak yang telah ambil bagian dalam proses penulisan tugas akhir ini

yang akan memenuhi halaman ini jika disebutkan satu-persatu.

Dengan rendah hati penulis menyadari bahwa tugas akhir ini masih kurang

sempurna, oleh karena itu berbagai kritik dan saran untuk perbaikan tugas akhir ini

sangat diharapkan. Akhir kata, semoga tugas akhir ini dapat bermanfaat bagi semua

pihak. Terima kasih.

Yogyakarta, 30 Juli 2007

Penulis

(11)

HALAMAN PERSETUJUAN . . . iii

HALAMAN PENGESAHAN . . . . . . .iv

HALAMAN PERNYATAAN KEASLIAN KARYA . . . .v

HALAMAN PERSEMBAHAN . . . vi

INTISARI . . . vii

ABSTRACK . . . viii

KATA PENGANTAR . . . .ix

DAFTAR ISI . . . xi

DAFTAR GAMBAR . . . . xv

DAFTAR TABEL . . . xix

BAB I PENDAHULUAN

1.1 Latar Belakang Masalah . . . .1

1.2 Batasan Masalah . . . 2

1.3 Tujuan Penelitian . . . .2

1.4 Manfaat Penelitian . . . .2

1.5 Metodologi Penelitian . . . 2

1.6 Sistematika Penulisan . . . 3

BAB II DASAR TEORI

2.1 Pengertian Citra . . . . . . 4

2.1.1 Format Citra Digital . . . .5

2.2 Format Berkas Bitmap . . . .8

2.3 Teknik Kompresi (Pemampatan) . . . .. . 10

2.3.1 Pengertian Kompresi . . . .. .10

2.3.2 Prinsip Kompresi Data . . . .11

(12)

2.3.5 Faktor Keberhasilan Teknik Kompresi . . . .. . .13

2.3.6 Kompresi citra . . . 13

2.3.7 Prinsip Kompresi Citra . . . . .14

2.4 Discrete Cosine Transform (DCT) . . . .. . 15

2.4.1 Pengertian

Discrete Cosine Transform

. . . 15

2.4.2 Sifat-sifat

Discrete Cosine Transform (Properties of DCT)

. . . 17

2.4.2.1 Decorrelation . . . . . . .17

2.4.2.2 Energy Compaction . . . . 18

2.4.2.3 Separabilitas(

Separability

) . . . .. 19

2.4.2.4 Simetri . . . 20

2.4.2.5 Orthogonal . . . .20

2.4.3 The One-Dimensional DCT (1-D DCT) . . . 21

2.4.4 The Two-Dimensional DCT . . . 22

2.5 Entropy Coding . . . 24

2.5.1 Differential Code Pulse Modulation (DCPM) . . . .25

2.5.2 Run Length Encoding (RLE) . . . .25

2.5.3 Huffman Encoding . . . . . . 25

2.6 Tahapan Teknik Kompresi Citra menggunakan DCT . . . 27

2.6.1 Kompresi citra . . . . . . .27

2.6.1.1 Transformasi

color space/models

citra . . . . .27

2.6.1.2 Down Sampling/chroma subsampling . . . .28

2.6.1.3 Block Splitting . . . . . . . .29

2.6.1.4 Two Dimensional Discrete Cosine Transform (2-D DCT) . .. . . . 30

2.6.1.5 Kuantisasi . . . . . . .31

2.6.1.5.1 Default Quantization Table . . . . . . .31

2.6.1.5.2 Tabel kuantisasi dengan parameter kualitas . . . 33

2.6.1.6 Entropy Coding . . . . . . .33

(13)

2.6.2.2 Rekonstruksi matriks . . . . . . .34

2.6.2.3 Dekuantisasi . . . . . . 35

2.6.2.3 Invers 2-D DCT . . . . . . 35

2.6.2.4 Transformasi

color space

. . . . . . . .35

2.7 Perhitungan nilai absolut

error

rata-rata tiap piksel . . . 36

BAB III PERANCANGAN PROGRAM SIMULASI TEKNIK KOMPRESI

CITRA MENGGUNAKAN

DISCRETE COSINE TRANSFORM

(DCT)

3.1 Algoritma Perancangan Program . . . 38

3.1.1 Algoritma Kompresi citra . . . . .38

3.1.2 Algoritma Ekspansi citra . . . .. 39

3.2 Perancangan Program Simulasi Teknik Kompresi Citra menggunakan DCT

. . . .39

3.2.1 Tampilan Program. . . .39

3.2.2 Perancangan Tahapan Program . . . .43

3.2.2.1 Transformasi

color space

RGB ke YCbCr . . . 44

3.2.2.2 Down Sampling (Chroma sub sampling) . . . .46

3.2.2.3

Block Splitting

dan 2-D DCT . . . .. . . . .47

3.2.2.4 Kuantisasi . . . .49

3.2.2.5 Encoding . . . 51

3.2.2.6 Decoding . . . 54

3.2.2.7 Dekuantisasi . . . .56

3.2.2.8 Invers 2-D DCT . . . .57

3.2.2.9 Transformasi

color space

YCbCr ke RGB . . . 58

3.2.3. Perhitungan

Error

dan Rasio Kompresi . . . 59

3.2.4. Tampilan Utama Program . . . .61

(14)

4.2 Tampilan Program . . . .75

4.3. Hubungan antara jumlah piksel tiap blok

downsampling

, blok DCT dan

Table Kuantisasi dengan Hasil Kompresi . . . 80

4.3.1 Citra

Grayscale

. . . 80

4.3.2 Citra

Cartoon-like

. . . 86

4.3.3 Citra

Continuous-tone

. . . 91

BAB 5 PENUTUP

5.1 Kesimpulan . . . 96

5.2 Saran . . . .97

DAFTAR PUSTAKA

LAMPIRAN

(15)

Gambar 2.1 Citra

monochrome.

. . . .5

Gambar 2.2 Citra skala keabuan. . . .6

Gambar 2.3 Citra

continuous-tone

. . . 7

Gambar 2.4 Citra

discrete-tone.

. . . 7

Gambar 2.5 Citra

cartoon-like

. . . .8

Gambar 2.6 Perbandingan amplitudo dari dua deret piksel . . . 15

Gambar 2.7 Penerapan 2-D DCT . . . 16

Gambar 2.8 Perbandingan DCT dan DFT . . . 17

Gambar 2.9 Perbandingan (a) amplitudo data terkorelasi dengan (b) data

yang tidak terkorelasi . . . ..18

Gambar 2.10 Konsentrasi energi pada DCT . . . .19

Gambar 2.11 Komputasi 2-D DCT dengan separabilitas . . . 20

Gambar 2.12 (a)-(h) : Hasil komputasi 1-D DCT, dengan nilai

u = 0,1,2…,8 . . . . .. . . 22

Gambar 2.13 Basis fungsi DCT . . . 24

Gambar 2.14 Blok diagram tahapan kompresi citra . . . 27

Gambar 2.15

Color space

RGB dan YCbCr . . . 28

Gambar 2.16 tiga macam

down sampling

: (a) Cr,Cb

horizontal

+

vertical

down sampling

; (b) Cr,Cb

horizontal down sampling

;(c)

tanpa

down sampling

. . . . . 29

Gambar 2.17

Block Splitting

. . . . . . .30

Gambar 2.18

Zig-zag scanning

. . . . . . . . . 33

Gambar 3.1 Algoritma perancangan program simulasi kompresi citra . . . 37

Gambar 3.2 Algoritma perancangan program simulasi ekspansi citra . . . 38

Gambar 3.3 Diagram alir

layout

awal program . . . 40

Gambar 3.4

Layout

awal program . . . . . . .40

Gambar 3.5 sub menu dari

menu bar

’Main menu’ . . . .. . . .41

(16)

Gambar 3.10 Diagram alir transformasi

color space

YCbCr ke RGB. . .. .. . . 45

Gambar 3.11 Diagram alir

Downsampling

. . . . . . .47

Gambar 3.12 Diagram alir DCT . . . 48

Gambar 3.13 Diagram alir Kuantisasi. . . . . . 50

Gambar 3.14 Diagram alir proses

Encoding

. . . . . . 52

Gambar 3.15 Diagram alir

Decoding

.. . . . . . .54

Gambar 3.16 Diagram alir dekuantisasi. . . . . . . 56

Gambar 3.17 Diagram alir invers 2-D DCT . . . . 57

Gambar 3.18 Diagram alir transformasi

color space

YCbCr ke RGB . . . 57

Gambar 3.19 Diagram alir Perhitungan

error

. . . .. . . .60

Gambar 3.20 Diagram alir Rasio Kompresi . . . . . . .61

Gambar 3.21

Layout

Program utama kompresi citra . . . .. . . 62

Gambar 3.22 Diagram alir

push button

‘Compress’ . . . . . . . . . . . . .64

Gambar 3.23 Diagram alir

push button

‘The Process’ . . . . . . 65

Gambar 3.24 Diagram alir

push button

‘Reset’ . . . 66

Gambar 3.25 Diagram alir

push button

‘Exit’ . . . 67

Gambar 3.26 Diagram alir

radio button

‘Direct’ . . . . . . . . . . . . . . . . . . 68

Gambar 3.27 Diagram alir

radio button

‘With Steps’ . . . . . . .69

Gambar 3.28 Diagram alir

pop-up menu

‘Downsampling’s block’ . . . .70

Gambar 3.29 Diagram alir

pop-up menu

‘ DCT’s block’ . . . .71

Gambar 3.30 Diagram alir

pop-up menu

‘Quantization Table’ . . . 72

Gambar 3.31 Diagram alir

pop-up menu

‘With parameter’. . . . . . 72

Gambar 4.1 Perintah pengaktifan program simulasi dan

currnt directory

. . . 74

Gambar 4.2 Tampilan awal Program . . . .75

Gambar 4.3 Sub menu dari

menu bar

‘Program’. . . . . . . . . .76

Gambar 4.4 Sub menu dari

menu bar

‘Programmer’ . . . . . .76

Gambar 4.5 Program utama kompresi citra . . . .. . .77

(17)

downsampling

untuk lima macam citra

grayscale

. . . . . . . .81

Gambar 4.10 Grafik hubungan antara rata-rata

error

tiap piksel

dengan

n

piksel

downsampling

untuk lima macam citra

grayscale

. . . . . . 81

Gambar 4.11 Grafik hubungan antara rasio kompresi dengan

n

piksel DCT

untuk

lima macam citra

grayscale

. . . . . . 83

Gambar 4.12 Grafik hubungan antara rata-rata

error

tiap piksel dengan

n

piksel

DCT

untuk lima macam citra

grayscale

….. . . … .. . . .. . ..83

Gambar 4.13 Grafik hubungan antara rasio kompresi dengan Tabel Kuantisasi

untuk lima macam citra

grayscale

……….84

Gambar 4.14 Grafik hubungan antara rata-rata

error

tiap piksel Tabel Kuantisasi

untuk lima macam citra

grayscale

.. . ……….85

Gambar 4.15 Grafik hubungan antara rasio kompresi dengan

n

piksel blok

downsampling

untuk lima macam citra

cartoon-like

. . . 86

Gambar 4.16 Grafik hubungan antara rata-rata

error

tiap piksel dengan

n

piksel

blok

downsampling

untuk lima macam citra

cartoon-like

. . . .87

Gambar 4.17 Grafik hubungan antara rasio kompresi dengan

n

piksel blok DCT

untuk lima macam citra

cartoon-like

……… 88

Gambar 4.18 Grafik hubungan antara rata-rata

error

tiap piksel dengan

n

piksel

blok DCT

untuk lima macam citra

cartoon-like

. ………. .89

Gambar 4.19 Grafik hubungan rasio kompresi dengan Tabel Kuantisasi . . . 90

Gambar 4.20 Grafik hubungan rata-rata

error

tiap piksel dengan Tabel Kuantisasi

. . ……….91

Gambar 4.21 Grafik hubungan antara rasio kompresi dengan

n

piksel blok

downsampling

untuk empat macam citra

continuous-tone

……….92

Gambar 4.22 Grafik hubungan antara rata-rata

error

tiap piksel dengan

n

piksel

blok

downsampling

untuk empat macam citra

continuous-tone

….92

(18)

Gambar 4.25 Grafik hubungan antara rasio kompresi dengan Tabel Kuantisasi ..95

Gambar 4.26 Grafik hubungan antara rasio kompresi dengan Tabel Kuantisasi . 96

(19)

Tabel 2.1 Struktur pada

header file

. . . .. . . 9

Tabel 2.2 Struktur pada

header bitmap

. . . .. .. . . 9

Tabel 2.3 Susunan data citra

. . . .. .. . . 10

Tabel 2.4 Tabel kuantisasi

luminance

. . . .. .. . . .32

Tabel 2.5 Tabel kuantisasi

chrominance

. . . .. .. . . 32

Tabel 4.1

Tabel Perbandingan hasil pengujian untuk tiap jenis citra . . . .96

(20)

1.1 Latar Belakang Masalah

Perkembangan teknologi komputer akhir-akhir ini semakin membutuhkan

media penyimpanan yang besar. Berbagai jenis data yang akan disimpan terus

bertambah. Menambah kapasitas media penyimpanan pada komputer tetap belum

mampu menampung data yang semakin besar seiring aktivitas manusia menggunakan

komputer.

Oleh karena itu, diperlukan suatu teknik untuk menghemat media

penyimpanan namun tidak menghilangkan data yang harus disimpan. Teknik ini

disebut dengan teknik kompresi data. Dengan teknik kompresi, data yang akan

disimpan dapat diperkecil ukurannya dengan mengubah data ke dalam bentuk kode

yang nantinya dapat diekspansi ke bentuk semula [1]. Salah satu jenis data yang

cukup penting dan memiliki ukuran yang cukup besar adalah citra.

(21)

1.2 Batasan Masalah

Batasan masalah dalam tugas akhir ini adalah :

1.

Metode yang digunakan adalah 2-D

Discrete Cosine Transform

.

2.

Program simulasi dibuat menggunakan

Graphical User Interface

yang

disediakan oleh MATLAB

®

.

3.

Berkas citra yang digunakan adalah format BMP.

4.

Hasil yang ingin dicapai berupa perbandingan ukuran berkas (

compression

ratio

), visualisasi tiap tahap kompresi dan nilai rata-rata absolut

error

tiap

piksel.

1.3

Tujuan Penelitian

Tujuan penyusunan tugas akhir ini adalah untuk menghasilkan suatu program

bantu untuk menampilkan proses kompresi data citra menggunakan DCT.

1.4 Manfaat Penelitian

Manfaat yang diharapkan dari penulisan tugas akhir ini adalah:

1.

Dapat memberikan pemahaman mengenai proses kompresi citra, khususnya

dengan teknik kompresi DCT bagi mahasiswa sub bidang pemrosesan sinyal.

2.

Dapat menjadi referensi mengenai teknik kompresi data, pemrograman pada

MATLAB dan komputasi

Discrete Cosine Transform

.

1.5

Metodologi Penelitian

Metode yang digunakan untuk menyusun tugas akhir ini adalah :

1.

Studi pustaka yang berhubungan dengan teknik kompresi data dan

Discrete

Cosine Transform

(DCT).

2.

Merancang program simulasi dan penghitungan komputasi

Discrete Cosine

Transform

(DCT).

(22)

4.

Membahas dan menganalisis hasil kompresi citra.

5.

Membuat kesimpulan dari hasil analisis dan pembahasan.

1.6 Sistematika Penulisan

Sistematika penulisan pada tugas akhir ini adalah sebagai berikut :

BAB I

PENDAHULUAN

Berisi latar belakang masalah, batasan masalah, tujuan penelitian,

metodologi penelitian dan sistematika penulisan.

BAB II

DASAR TEORI

Berisi teori-teori yang mendasari perancangan penelitian, penjelasan

tentang kompresi citra, algoritma kompresi, komputasi DCT dan

tahapan kompresi citra.

BAB III PERANCANGAN

Berisi perancangan program, alur kompresi tiap tahapan dengan

DCT sebagai komputasi utama kompresi.

BAB IV PEMBAHASAN

Berisi hasil program yang telah dibuat dan analisis hasil

kompresi dari simulasi kompresi data.

BAB V PENUTUP

(23)

2.1 Pengertian Citra

Citra merupakan keluaran suatu sistem perekaman data yang dapat bersifat

seperti foto, bersifat analog berupa sinyal video seperti gambar pada monitor

televisi, atau bersifat digital yang dapat disimpan pada media penyimpanan digital

[3]. Berdasarkan tingkat presisi yang digunakan untuk menyatakan titik-titik

kordinat pada domain bidang dan untuk menyatakan nilai keabuan atau warna

suatu citra, maka secara teoritis citra dapat dikelompokkan menjadi empat kelas

citra. Empat kelas citra tersebut adalah citra kontinyu, citra

kontinyu-diskrit, citra diskrit-kontinyu, dan citra diskrit-diskrit. Label pertama dari nama

kelas citra menyatakan tingkat presisi dari titik-titik koordinat pada bidang citra,

sedangkan label kedua menyatakan tingkat presisi dari tingkat keabuan atau warna.

Kontinyu dinyatakan dengan presisi angka tidak terhingga, sedangkan diskrit

dinyatakan dengan presisi angka terhingga [3], [4].

Komputer bekerja dengan angka-angka presisi terhingga, dengan demikian

komputer hanya bisa mengolah citra dari kelas diskrit-diskrit. Citra dari kelas

diskrit-diskrit lebih dikenal dengan citra digital. Citra digital merupakan suatu

matriks dengan unsur-unsur yang menyatakan tingkat keabuan dari unsur gambar.

Jadi informasi dari citra bersifat diskrit. Citra digital tidak selalu merupakan hasil

langsung data rekaman suatu sistem. Hasil rekaman data yang bersifat kontinyu

seperti gambar monitor televisi, foto sinar X, dan lain sebagainya harus dikonversi

terlebih dahulu agar bisa diproses secara digital [3].

Sebuah citra memiliki suatu nilai resolusi. Semakin tinggi resolusi yang

dimiliki suatu citra, semakin banyak pula jumlah titik yang dapat ditampilkan layar

(24)

citra yang dihasilkan sangat halus. Titik-titik pada layar monitor sering disebut

pixel

(

picture element

) [3].

2.1.1 Format citra digital

Format citra digital yang banyak dipakai adalah [2] :

1. Citra

monochrome

(

bi- level

)

Citra

monochrome

biasa disebut citra biner. Pada citra

monochrome

, setiap

titik bernilai 0 atau 1, masing-masing merepresentasikan warna tertentu, misalnya

warna hitam bernilai 0 dan warna putih bernilai 1. Setiap titik pada citra hanya

membutuhkan 1 bit, sehingga setiap

byte

dapat menampung informasi 8 titik.

Gambar 2.1 menampilkan contoh citra

monochrome.

Gambar 2.1

Citra

monochrome.

2. Citra skala keabuan (

gray scale

image

)

Citra skala keabuan memberi kemungkinan warna lebih banyak daripada

citra biner, karena ada nilai-nilai lain di antara nilai minimum (biasanya = 0) dan

nilai maksimum. Rentang antara nilai minimum dan nilai maksimum tergantung

jumlah bit yang dipakai.

Format citra ini disebut skala keabuan karena pada umumnya warna yang

dipakai adalah antara hitam sebagai warna minimal dan warna putih sebagai warna

maksimal. Sedangkan warna di antaranya adalah abu-abu. Namun pada prakteknya

(25)

minimal adalah putih dan warna maksimal adalah merah, atau warna yang lain.

Gambar 2.2 menampilkan contoh citra skala keabuan.

Gambar 2.2

Citra skala keabuan.

3.

Continuous-tone image

Tipe citra ini dapat memiliki beberapa warna yang mirip. Ketika piksel

yang berdekatan mempunyai warna yang berbeda satu skala saja, maka mata

manusia sangat sulit, bahkan mungkin tidak mampu untuk membedakannya.

Sebagai hasilnya adalah citra yang terdiri dari area-area dengan warna yang seakan

tampak sama terhadap sensitifitas mata di suatu area citra. Sebuah piksel

direpresentasikan oleh salah satu dari nomor pewarnaan tunggal (untuk tipe

grayscale

) atau salah satu dari tiga komponen warna (untuk citra berwarna).

Citra

continuous-tone

pada dasarnya adalah citra natural/alami (kebalikan

dari citra artifisial/buatan). Citra natural adalah citra yang direkam secara

langsung, dan belum mengalami manipulasi data. Sedangkan citra artifisial adalah

citra yang merupakan hasil manipulasi data atau murni citra yang dibuat oleh

komputer. Citra natural biasanya diperoleh dari pengambilan gambar dengan

kamera digital, atau dengan

scanning

suatu potret atau lukisan. Gambar 2.3

(26)

Gambar 2.3

Citra

continuous-tone.

4.

Discrete-tone image

Citra

discrete-tone

sering disebut dengan

graphical image

atau citra

sintetik (

synthetic image)

yang pada dasarnya adalah citra buatan (

artificial

image

). Citra ini dapat memiliki sedikit warna atau banyak warna, tetapi tidak

memiliki

noise

dan efek penghamburan (

blurring)

seperti pada citra natural.

Contoh dari tipe ini adalah obyek buatan dari mesin/komputer seperti tabel,

halaman teks, kartun, dan berbagai bagian dari layar komputer.

Tidak semua obyek buatan komputer/mesin adalah

discrete-tone.

Obyek

buatan yang memiliki ciri seperti citra alami dapat disebut citra

continuous-tone

.

Piksel yang bersebelahan dalam citra

discrete-tone

memiliki perbedaan nilai warna

yang cukup jelas. Gambar 2.4 menampilkan contoh citra

discrete-tone.

Gambar 2.4

Citra

discrete-tone.

5.

Cartoon-like image

Tipe citra ini merupakan citra berwarna yang terdiri dari area yang

seragam. Area yang seragam adalah kesamaan nilai piksel yang mewakili warna di

(27)

yang bersebelahan mungkin memiliki warna yang sangat berbeda. Sebagai contoh

adalah citra kartun yang biasa kita lihat pada film atau gambar komik. Gambar 2.5

menampilkan contoh citra

cartoon-like.

Gambar 2.5

Citra

cartoon-like

[5].

2.2 Format Berkas BMP (

Bitmap

)

Bitmap

adalah citra atau segala bentuk gambar, karakter teks dan foto yang

dibuat dari sekumpulan titik-titik kecil.

Bitmap

yang paling sederhana adalah

monochrome

, yang hanya menampilkan satu warna di atas latar belakang,

misalnya hitam di atas putih. Format

Windows

®

bitmap

adalah sebuah citra yang

langsung ditampilkan dari sebuah objek

image

[6].

Berkas dengan format BMP mempunyai tiga bagian pokok, yaitu [6] :

1.

Header file(Bitmap File Header)

2.

Header Bitmap (Bitmap Info Header)

3.

Data Citra (Tabel Warna)

1. Header file (Bitmap File Header)

Bagian ini digunakan untuk menentukan

layout,

ukuran dan tipe dari

(28)

Tabel 2.1

Struktur pada

header file

[6].

Offset

Ukuran Nama

Keterangan

0 2

byte

BfType

ASCII ”BMP”

2 4

byte

Bfsize

Ukuran berkas BMP

6 2

byte

BfReserved1

Kosong (0)

8 2

byte

BfReserved2

Kosong (0)

9 4

byte

BfOffBit

Offset

awal data citra dalam

byte

2. Header Bitmap (Bitmap Info Header)

Bagian ini digunakan untuk menentukan dimensi, tipe kompresi dan format

warna untuk

bitmap

. Tabel 2.2 menampilkan struktur dari

header bitmap.

Tabel 2.2

Struktur pada

header bitmap

[6].

Offset

Ukuran Nama

Keterangan

14 4

byte

BiSize

Ukuran

header

dalam

byte

18 4

byte

BiWidth

Lebar citra dalam piksel

22 4

byte

BiHeight

Tinggi citra dalam piksel

26 2

byte

BiPlanes

Jumlah plane dalam citra hampir

selalu 1

28 2

byte

BiBitCount

Jumlah per piksel 1, 4, 8, 24

30 4

byte

BiCompression

Jenis kompresi untuk berkas

terkompres nilainya 0

34 4

byte

BiSizeImage

Untuk ukuran citra dalam

byte

38 4

byte

BiXPelsPermeter

Resolusi horizontal dalam piksel

meter

(29)

Tabel 2.2

(lanjutan) Struktur pada

header bitmap

[6].

Offset

Ukuran Nama

Keterangan

46 4

byte

BiClrUsed

Jumlah warna yang digunakan. Jika

palet warna nilainya adalah nol,

maka semua nilainya sama.

50 4

byte

BiClrImportant

Jumlah warna yang penting

54 4

byte

x

256

BmiColor

Untuk citra 24 bit palet warnanya

tidak ada

3. Data Citra (Tabel Warna)

Data citra didefinisikan sebagai matriks dari struktur

RGBQuad

yang berisi

elemen sebanyak warna yang ada pada

bitmap

[6]. Tabel 2.3 menunjukkan

susunan data citra.

Tabel 2.3

Susunan data citra

[6].

Offset

Nama Keterangan

0

RgbBlue

Nilai warna biru

1

RgbGreen

Nilai warna hijau

2

RgbRed

Nilai Warna merah

3

RgbReserved

Nilainya selalu nol (0)

2.3 Teknik Kompresi (Pemampatan)

2.3.1 Pengertian Kompresi

Kompresi merupakan suatu proses pengubahan lambang masukan ke dalam

sandi keluaran yang dikehendaki dengan ukuran berkas yang lebih kecil dari

aslinya. Kompresi juga dapat didefinisikan sebagai suatu teknik yang digunakan

untuk memperkecil ukuran suatu berkas masukan, sehingga dapat dimuat dalam

(30)

2.3.2 Prinsip Kompresi Data

Dalam melakukan teknik kompresi, faktor utama yang memungkinkan

kompresi data adalah

data redundancy

dan kemampuan persepsi manusia (

human

perception properties

) [2].

2.3.2.1 Data redundancy

Dalam

digital audio

, contoh

data redundancy

dapat diberikan dalam

sebuah rekaman percakapan. Selama percakapan berlangsung, sering terdapat jeda

waktu di antara percakapan (keadaan diam). Sampel nilai dari keadaan diam dapat

dihilangkan tanpa mempengaruhi data utama.

Untuk citra digital, piksel yang bertetangga pada umumnya mirip.

Kemiripan ini sering disebut

spatial redundancy. Spatial redundancy

ini dapat

dihilangkan tanpa mempengaruhi data utama. Begitu pula dengan video digital,

selain memiliki

spatial redundancy

, urutan citra yang berdekatan dalam video

secara umum memiliki kemiripan. Kemiripan citra yang berurutan ini disebut

temporal redundancy

.

Temporal redundancy

ini juga dapat dihilangkan tanpa

mempengaruhi data utama [7].

2.3.2.2 Human Perception Properties

Manusia memiliki panca indera sebagai alat ukur/deteksi terhadap

perubahan keadaan dari keadaan sekitar. Walaupun begitu, panca indera manusia

tidak mampu memberikan penilaian yang mutlak benar terhadap perubahan. Dari

kemampuan yang terbatas tersebut, manusia secara normal dapat memberikan

toleransi terhadap kehilangan atau kerusakan sedikit informasi data yang diterima

tanpa mempengaruhi efektifitas penyampaian informasi.

Dengan adanya kemampuan toleransi ini berarti bahwa data yang

terkompresi tidak perlu direpresentasikan secara tepat kembali ke data aslinya. Hal

ini berarti bahwa teknik kompresi akan mengutamakan rasio kompresi yang tinggi,

(31)

2.3.3 Metode Teknik Kompresi

Teknik kompresi dapat dibagi menjadi dua berdasarkan pada hasil akhir

yang dicapai dalam proses kompresi dibandingkan dengan masukannya. Dua

metode tersebut adalah [1] :

1. Tidak merugi (

lossless

)

Metode ini membuat seluruh data yang telah melalui proses kompresi, dan

kemudian diekspansi, akan kembali seperti semula seperti pada data aslinya.

Sehingga keutuhan datanya terjamin. Metode ini cocok pada jenis data

database

,

spreadsheed

, atau

word processor

, karena keakuratan dari data hasil kompresi

adalah suatu hal yang penting.

2. Merugi (

lossy

)

Metode ini membuat data yang telah melalui proses kompresi dan

kemudian diekspansi kembali akan kehilangan sebagian data. Hal ini berarti data

hasil kompresi tidak akurat lagi. Metode kompresi ini cocok digunakan pada

penyimpanan data citra grafik atau data suara digital karena kehilangan sebagian

dari data masih dapat diterima oleh indera manusia.

2.3.4 Rasio Hasil Kompresi (Pemampatan) Data

Keberhasilan suatu metode kompresi ditentukan berdasarkan besar

kecilnya rasio kompresi (pemampatan) yang dihasilkan. Rasio kompresi adalah

perbandingan ukuran data yang terkompresi dengan ukuran aslinya dalam 100%.

Semakin kecil nilai rasio kompresi berarti semakin efektif metode kompresi yang

digunakan. Persamaan untuk rasio kompresi diberikan sebagai [2]:

*

100

%

=

Ba

Bt

Rk

(2.1)

dengan

Rk

adalah rasio kompresi,

Bt

adalah berkas terkompresi, dan

Ba

adalah

(32)

2.3.5 Faktor Keberhasilan Teknik Kompresi

Terdapat empat faktor keberhasilan dalam pembuatan program teknik

kompresi yaitu [8] :

1.

Prosentase data yang dapat dikompresi

Jika teknik kompresi memiliki prosentase kompresi yang besar mendekati

100 %, maka teknik kompresi tersebut bisa dikategorikan baik.

2.

Jaminan keutuhan data setelah dikompresi dan diekspansi

Data yang dikompresi ukurannya akan menjadi lebih kecil dibandingkan

dengan data aslinya. Teknik kompresi yang digunakan dikategorikan baik

jika setelah diekspansi, maka ukurannya harus kembali seperti pada data

aslinya.

3.

Kecepatan proses kompresi

Waktu yang dibutuhkan saat proses kompresi juga mempengaruhi baik

tidaknya suatu teknik kompresi yang digunakan. Semakin sedikit waktu

yang dibutuhkan untuk proses kompresi data, teknik kompresi akan

semakin baik.

4.

Kemudahan pemakaian dan fasilitas tambahan yang tersedia

Program yang dibuat hendaknya bersifat

user friendly

yaitu mudah

dijalankan dan sederhana. Selain itu program tersebut akan semakin baik

jika dilengkapi fasilitas tambahan seperti daftar istilah, bantuan

penggunaan program, fasilitas penyimpanan dan menu pendukung yang

lain jika dimungkinkan.

2.3.6 Kompresi citra

Suatu kompresi dikatakan berhasil, jika nilai data baru yang dihasilkan

lebih kecil dalam rata-rata dari nilai data aslinya. Hasil kompresi dapat diperoleh

dengan mengkuantisasi nilai yang telah ditransformasi. Masukan dekoder berupa

data yang telah ditransformasi dari alur kompresi dan merekonstruksi data asli

dengan mengaplikasikan invers dari transformasi yang digunakan. Hal ini disebut

(33)

Sebuah citra dapat dikompres jika memiliki

redundancy

.

Redundancy

dalam sebuah citra berasal dari korelasi pikselnya. Jika ingin mentransformasikan

suatu citra untuk merepresentasikan data baru dengan piksel yang tidak terkorelasi,

maka harus mengeliminasi terlebih dahulu

redundancy.

Sehingga citra dapat

dikompres lebih optimal [2]. Istilah dari tidak terkorelasi (

decorrelated

) berarti

bahwa nilai yang telah ditransformasi bersifat independen satu dengan yang

lainnya. Hal ini menyebabkan tiap nilai dapat dikodekan secara independen pula,

sehingga komputasi yang dibutuhkan menjadi lebih sederhana.

2.3.7 Prinsip Kompresi Citra

Jika kita memilih sebuah piksel dalam suatu citra secara acak, maka

terdapat peluang bahwa piksel lain yang bersebelahan mungkin memiliki warna

yang sama atau yang mirip/hampir sama. Kompresi citra didasarkan pada fakta

bahwa piksel-piksel yang bersebelahan memiliki tingkat korelasi yang tinggi.

Korelasi yang terjadi sering juga disebut sebagai

spatial redundancy

[2].

Contoh 2.1

Deretan data berikut menunjukkan intensitas nilai dari 24 piksel acak yang

berdekatan dalam baris citra

continuous-tone

:

12, 17, 14, 19, 21, 26, 23, 29, 41, 38, 31, 44, 46, 57, 53, 50, 60, 58, 55, 54,

52, 51, 56, 60

Hanya ada dua dari 24 piksel yang identik, yaitu :

60

Rata-ratanya adalah 40.3

Kurangkan pasangan dari piksel yang bersebelahan, sehingga dihasilkan

deret baru :

12, 5, -3, 5, 2, 4, -3, 6, 11, -3, -7, 13, 4, 11, -4, -3, 10, -2, -3, 1, -2, -1, 5, 4

Gambar 2.6 menampilkan perbandingan amplitudo antara dua deretan piksel

(34)

0 5 10 15 20 25 0

10 20 30 40 50 60

0 5 10 15 20 25

-10 -5 0 5 10 15

(a)

(b)

Gambar 2.6

Perbandingan amplitudo dari dua deret piksel.

Deret yang terjadi dari proses di atas memiliki tiga indikasi yang

menunjukkan potensi kompresi, yaitu [2]:

1.

Perbedaan nilai pikselnya lebih kecil dibandingkan dengan perbedaan

nilai piksel dari deret aslinya. Rata-ratanya adalah 2.58.

2.

Hanya ada 15 nilai beda, sehingga dapat dikodekan dengan empat bit

saja.

3.

Deretnya tidak terkorelasi (

decorrelated)

, artinya perbedaan nilai piksel

yang bersebelahan cukup besar.

2.4 Discrete Cosine Transform (DCT)

2.4.1 Pengertian

Discrete Cosine Transform

Discrete Cosine Transform

(DCT) adalah salah satu metode transformasi

sinyal yang mirip dengan

Discrete Fourier Transform

(DFT) tetapi hanya

menggunakan

real number

. DCT merupakan salah satu komponen utama dalam

sebagian besar teknik pengkompresian citra dan video. Variabel kompleksitas

kerangka algoritma dapat diaplikasikan dengan baik untuk memperoleh hasil awal

dengan koefisien rendah saat dikomputasikan IDCT pada dekoder. DCT

(35)

mempunyai kerapatan tingkat energi yang cukup baik, hal ini disebabkan karena

sebagian besar sinyal informasi cenderung terkonsentrasi di frekuensi rendah [9],

[10].

DCT, khususnya dua dimensi (2-D) DCT sering digunakan untuk

pemrosesan sinyal citra, terutama untuk kompresi data dengan teknik merugi

(

lossy

) karena memiliki

energy compaction

yang besar. Sebagian besar sinyal

informasi cenderung dipusatkan di beberapa komponen frekuensi rendah DCT.

Sebagai contoh DCT digunakan dalam kompresi citra JPEG, MJPEG, MPEG dan

kompresi video DV. Untuk citra, 2-D DCT

n

x

n

blok dikomputasikan dan

hasilnya akan melewati proses kuantisasi dan kode entropi. Dalam hal ini

n

secara

tipikal adalah 8 dan DCT-II diaplikasikan pada masing-masing baris dan kolom

[10]. Gambar 2.7 menampilkankan penerapan dari 2-D DCT

n

x

n

blok.

Gambar 2.7

Penerapan 2-D DCT [10].

Seperti pengembangan transformasi lain dari DFT,

discrete cosine

transforms

(DCT) menyatakan suatu fungsi atau suatu isyarat yang memiliki

perbedaan frekuensi dan amplitudo dalam komputasi sinyal sinusoida. Seperti

discrete fourrier transforms

(DFT), DCT beroperasi pada fungsi dengan jumlah

baris data terbatas dan pada

discrete point

. Perbedaan yang jelas antara DFT dan

DCT adalah DCT hanya menggunakan fungsi

cosinus

, sedangkan DFT

menggunakan fungsi

sinus

dan

cosinus

(dalam hal ini bersifat eksponen kompleks)

[9]. Gambar 2.8 menampilkan perbandingan komputasi antara DFT dan DCT pada

(36)

Gambar 2.8

Perbandingan DCT dan DFT [9].

Gambar 2.8 menunjukkan perbandingan antara DCT dan DFT, bagian kiri

merupakan nilai

magnitude

spektrum, sedangkan bagian kanan merupakan

histogram. Pada DCT energi terkonsentrasi di tingkat rendah.

2.4.2 Sifat-sifat

Discrete Cosine Transform (Properties of DCT)

2.4.2.1 Decorrelation

Seperti yang telah dibahas sebelumnya, yaitu bahwa dalam kompresi citra,

redundancy

antara piksel yang berdekatan akan dihilangkan. Sehingga dibutuhkan

koefisien transformasi yang tidak terkorelasi dan piksel dapat dikodekan secara

independent [11]. Gambar 2.9 menampilkan contoh perbandingan antara data

(37)

(a)

(b)

Gambar 2.9

Perbandingan (a) amplitudo data terkorelasi dengan

(b) data yang tidak terkorelasi [11].

Dari gambar 2.9 di atas menunjukkan bahwa amplitudo data yang tidak

terkorelasi jauh lebih kecil dibandingkan dengan data terkorelasi. Hal ini

membuktikan bahwa DCT memberikan

decorrellation

yang sangat bagus.

2.4.2.2 Energy Compaction

Salah satu indikasi kehandalan suatu teknik kompresi dapat diukur dengan

mempertimbangkan kemampuannya memasukkan banyaknya data ke dalam

sejumlah koefisien yang mungkin. Dari semua koefisien yang dimasukkan,

pengkuantisasi akan menghilangkan koefisien dengan amplitudo yang relatif kecil

tanpa memperhatikan visual distorsi dari citra yang direkonstruksi. Sehingga

dibutuhkan konsentrasi energi yang terpusat untuk koefisien dengan amplitudo

yang besar. DCT memberikan konsentrasi energi yang sempurna untuk data citra

terkorelasi [11]. Gambar 2.10 menampilkan pemusatan energi oleh DCT pada

sebuah contoh citra.

(38)

Gambar 2.10

Konsentrasi energi pada DCT [9].

Contoh di atas menunjukkan bahwa unjuk kerja dari konsentrasi energi

DCT mendekati optimal dekorelasi. Hal ini berlaku untuk hampir semua jenis citra

[11].

2.4.2.3 Separabilitas (

Separability

)

Persamaan 2-D DCT dapat didefinisikan sebagai [11]:

− = − =

⎥⎦

⎢⎣

+

⎥⎦

⎢⎣

+

=

1 0 1 0

,

2

)

1

2

(

cos

)

,

(

2

)

1

2

(

cos

)

(

)

(

)

,

(

N x N y

N

v

y

y

x

f

N

u

x

v

u

v

u

C

α

α

π

π

(2.2 )

untuk u,v = 0, 1, 2, …, N-1, dengan

C(u,v)

adalah matriks hasil operasi DCT,

f(x,y)

adalah matriks data asli.

α

(u)

sama dengan

α

(v)

dan didefinisikan sebagai :

N

1

u

= 0

α

(u)

(2.3)

N

2

(39)

Sifat separabilitas ini memiliki prinsip bahwa

C

(

u,v

) dapat dikomputasikan

dengan dua langkah, yaitu operasi 1-D pada baris dan kolom secara berurutan pada

suatu citra. Hal ini dapat diilustrasikan pada Gambar 2.11. Sifat ini juga berlaku

untuk invers DCT.

Gambar 2.11

Komputasi 2-D DCT dengan separabilitas [11].

2.4.2.4 Simetri

Seperti yang ditunjukkan pada sifat separabilitas, operasi 1-D pada kolom

dan baris secara fungsional serupa. Transformasi dengan sifat fungsi yang serupa

seperti itu disebut dengan

symmetric transform

[11]. Transformasi yang simetri

dan dapat dipisah-pisah dapat didefinisikan sebagai :

T=AfA

(2.4)

dengan

T

adalah hasil transformasi DCT ,

f

adalah fungsi DCT dan

A

adalah

NxN

transformasi simetri matriks dengan masukan

a(i,j)

didefinisikan sebagai :

=

⎥⎦

⎢⎣

+

=

1

0

,

2

)

1

2

(

cos

)

(

)

,

(

N

j

N

i

j

j

j

i

a

α

π

(2.5)

dan

f

adalah

NxN

matriks citra.

2.4.2.5 Orthogonal

DCT real dan orthogonal, didefinisikan sebagai :

(40)

2.4.3 The One-Dimensional DCT (1-D DCT)

Dalam kompresi citra, metode yang digunakan adalah 2-D DCT , akan

tetapi sebagai dasar pemahaman teori, 1-D DCT dibutuhkan dalam keseluruhan

konsep.

Persamaan 1-D DCT didefinisikan sebagai [11]:

,

2

)

1

2

(

cos

)

(

)

(

)

(

1 0

− =

⎥⎦

⎢⎣

+

=

N x

N

u

x

x

f

u

u

C

α

π

(2.7)

untuk

u

= 0, 1, 2, 3, . . ., N-1. Sedangkan invers 1-D DCT didefinisikan sebagai

[11]:

,

2

)

1

2

(

cos

)

(

)

(

)

(

1 0

− =

⎥⎦

⎢⎣

+

=

N u

N

u

x

u

C

u

x

f

α

π

(2.8)

untuk

x

= 0, 1, 2, 3, …, N-1

Hal ini jelas untuk. persamaan (2.7), untuk

u

= 0,

− =

=

=

1 0

)

(

1

)

0

(

N x

x

f

N

u

C

.

Untuk lebih jelasnya, abaikan komponen

α

(u)

dan

f(x)

terlebih dahulu pada

persamaan (2.7), kemudian hitung

=

⎥⎦

⎢⎣

0

2

)

1

2

(

cos

x

N

u

x

−1

+

N

π

dengan N = 8 dan

variasikan nilai

u

. Gambar 2.12 menampilkan hasil komputasi persamaan

C(u)

.

(a). C(u) saat u=0

(b). C(u) saat u=1

(41)

(c). C(u) saat u=2

(d). C(u) saat u=3

(e). C(u) saat u=4

(f). C(u) saat u=5

(g). C(u) saat u=6

(h). C(u) saat u=0

Gambar 2.12

(lanjutan) (a)-(h) : Hasil komputasi 1-D DCT, dengan

nilai u = 0,1,2…,7 [11].

Jika deret input memiliki lebih dari

N

sampel poin, maka deret tersebut

dapat dibagi menjadi sub deret dari panjang

N

. Pada bagian ini yang harus dicatat

adalah tiap masing-masing nilai komputasi dari basis fungsi tidak berubah. Hanya

nilai dari

f(x)

yang mengubah masing-masing sub deret. Hal ini merupakan aspek

yang sangat penting, mulai dari basis fungsi yang dapat di

pre-computed

secara

offline

kemudian baru dikalikan dengan sub deretnya. Sehingga akan mengurangi

jumlah operasi matematika yang harus dilakukan dan dapatmeningkatkan efisiensi

komputasi [2], [11].

2.4.4 The Two-Dimensional DCT

2-D DCT merupakan perluasan langsung dari 1-D dan telah didefinisikan

pada persamaan (2.2). Sedangkan Invers transform didefinisikan sebagai [11]:

(42)

∑∑

− = − =

⎥⎦

⎢⎣

+

⎥⎦

⎢⎣

+

=

1 0 1 0

,

2

)

1

2

(

cos

2

)

1

2

(

cos

)

,

(

)

(

)

(

)

,

(

N u N v

N

v

y

N

u

x

v

u

C

v

u

y

x

f

α

α

π

π

(2.9)

untuk

x, y

= 0, 1, 2, …,

N

-1. 2-D DCT dapat diinterpretasikan dalam dua cara yang

berbeda, yaitu sebagai komputasi rotasi dan sebagai basis dari

n

-dimensi

vector

space

.

Untuk interpretasi yang pertama, dimulai dengan blok

n

x

n

piksel.

Pertama, memperhitungkan tiap baris nilai blok ke dalam

n

-

dimensional space

dan

interpretasi ini akan merotasikan dimensi tersebut dengan persamaan bagian kanan

dari persamaan (2.2) :

− =

⎥⎦

⎢⎣

+

=

1 0

2

)

1

2

(

cos

)

,

(

)

(

)

,

(

1

N y

N

v

y

y

x

f

v

v

u

C

α

π

(2.10)

Komputasi di atas akan menghasilkan sebuah blok

C

1(u,v) dari koefisien

n

x

n

dengan elemen pertama dari tiap baris adalah dominan dan sisa elemennya

kecil. Kemudian dari persamaan (2.2) di atas dapat didefinisikan sebagai :

− =

⎥⎦

⎢⎣

+

=

1 0

2

)

1

2

(

cos

)

,

(

1

)

(

)

,

(

N x

N

u

x

v

u

C

u

v

u

C

α

π

(2.11)

Pada persamaan (2.11), kolom

C

1(

u

,

v

) menjadi point penting dalam

n

-dimensi space dan sudah dirotasikan. Hasilnya, satu koefisien terbesar yang

terletak di sebelah kiri atas blok dan di lokasi yang lain koefisiennya lebih kecil

sekitar

n

2

-1. Pada interpretasi ini menunjukkan bahwa 2-D DCT merupakan dua

rotasi terpisah di dalam

n

dimensi. Hal ini menjadi keuntungan karena komputasi

dua rotasi di dalam

n

dimensi lebih cepat dibandingkan satu rotasi di dalam

n

2

dimensi. Komputasi dalam satu rotasi dengan

n

2

dimensi, membutuhkan

n

2

x

n

2
(43)

Interpretasi yang kedua, diasumsikan

n

= 8, digunakan persamaan (2.2)

untuk menghasilkan 64 blok dari 8 x 8 untuk masing-masing nilai. 64 blok

kemudian akan digunakan sebagai basis dari 64

dimensional

vector space

. Blok

manapun dari 8 x 8 piksel dapat dinyatakan sebagai kombinasi linear dari basis

citra dan 64 nilai baru dari kombinasi linear tersebut merupakan koefisien DCT

[2], [11]. Gambar 2.13 menampilkan basis fungsi 64 (8 x 8) DCT :

Gambar 2.13

Basis fungsi DCT [11].

Warna abu-abu merepresentasikan nilai nol (0), warna putih

merepresentasikan nilai amplitudo positif, dan warna hitam merepresentasikan

nilai amplitudo negatif [11].

2.5 Entropy Coding

Hasil data terkompresi yang telah didapat, kemudian akan dikodekan ke

dalam

bit stream

. Pengkodean ini disebut dengan

entropy coding

. Teknik kompresi

citra menggunakan DCT, algoritma untuk

entropy coding

yang digunakan pada

umumnya adalah

Differential Code Pulse Modulation

(DCPM),

Run Length

(44)

2.5.1 Differential Code Pulse Modulation (DCPM)

Persamaan DPCM didefinisikan sebagai [14]:

DPCMcode

=

C(0,0)

j

-

C(0,0)

j-1

,

(2.11)

dengan C(0,0) adalah koefisien matriks pada (0,0) dan

j

merepresentasikan

nomor/urutan blok 8 x 8 pada matriks citra.

2.5.2 Run Length Encoding (RLE)

RLE bekerja dengan cara mengurangi ukuran fisik dari pengulangan data

suatu karakter. Pengurangan dari pengulangan data dapat dilakukan dengan

memberikan tanda. Keuntungan dari RLE adalah komputasinya sederhana dan

cepat [14].

Contoh 2.2

Jika diberikan barisan karakter sebagai berikut :

ABCCCCCDEEEFGH

Maka pengkodean RLE dari barisan karakter di atas adalah :

ABC!5DE!3FGH

Angka di sebelah kanan tanda menunjukkan jumlah karakter di

sebelah kiri tanda melakukan perulangan pada data aslinya.

2.5.3 Huffman Encoding

Huffman

Encoding

bekerja dengan mengganti nilai-nilai barisan data ke

dalam kode-kode yang lebih efisien. Kode yang digunakan berdasarkan tabel

konversi. Tabel tersebut juga digunakan dalam proses dekoding. Algoritma ini

pertama kali ditemukan oleh David Huffman pada tahun 1952 untuk data teks.

Prinsip pengubahan ke dalam kode tersebut bergantung pada frekuensi

(45)

Encoding

adalah komputasinya sederhana dan menghasilkan

lossless compression

yang baik [14].

Contoh 2.3

Jika diberikan barisan karakter sebagai berikut :

AAAAAABBBBBBCCDDDEEE

Maka pengkodean Huffman dari barisan karakter di atas adalah :

1. menentukan frekuensi dan peluang munculnya suatu karakter

p(A) = 0.3 ; p(B) = 0.3 ; p(C) = 0.1 ; p(D) = 0.15 ; p(E) = 0.15

2. melakukan algoritma pohon Huffman

Algoritma ini dilakukan dengan memasangkan karakter dengan peluang

terkecil p(C) dengan p(D) atau (p(E), kemudian diberikan nilai bit 0 dan 1 :

Kemudian C dan D dipasangkan kembali dengan E, hal yang sama berlaku

untuk A dan B

Langkah terakhir adalah menyelesaikan pohon Huffman sehingga secara

(46)

2.6 Tahapan Teknik Kompresi Citra menggunakan DCT

Tahapan teknik kompresi menggunakan DCT ada dua bagian utama yaitu

[12] :

1.

Kompresi Citra, bertujuan untuk mengubah data citra asli menjadi data

citra terkompresi.

2.

Ekspansi citra, bertujuan untuk memperoleh citra baru dengan proses

pembalikan dari citra terkompresi.

Gambar 2.14 menampilkan blok diagram tahapan kompresi citra.

Gambar 2.14

Blok diagram tahapan kompresi citra [14].

2.6.1 Kompresi citra

2.6.1.1 Transformasi

color space/models

citra

Pada tahap ini, dilakukan proses transformasi warna. Tujuannya adalah

untuk mendapatkan

color space

yang dapat diproses dengan teknik kompresi.

Transformasi yang dilakukan adalah mengubah format

color space

RGB, HSI,

(47)

Sehingga didapatkan tiga komponen warna yang terpisah dan independen satu

dengan yang lain [13]. Gambar 2.15 menampilkan

color space

RGB dan YCbCr :

Gambar 2.15

Color space

RGB dan YCbCr [13].

Komponen

Y

merepresentasikan

luminance,

sedangkan komponen

Cb Cr merepresentasikan

chrominance

. Kemampuan penglihatan mata manusia

lebih sensitif pada komponen

luminance

dibandingkan dengan

chrominance

.

Sehingga komponen

chrominance

lebih mudah direduksi tanpa mempengaruhi

kualitas citra yang dapat diterima oleh mata manusia.

Rumus konversi dari RGB ke YCbCr didefinisikan sebagai [13]:

(2.12)

=

B

G

R

Cb

Cr

Y

311

.

0

523

.

0

212

.

0

321

.

0

275

.

0

596

.

0

114

.

0

587

.

0

299

.

0

2.6.1.2 Down Sampling/chroma subsampling

Setelah citra dikonversi ke dalam

color space

YCbCr, kemudian

dipisahkan ke masing-masing komponen Y (

luminance

) dan Cb,Cr (

chrominance

).

Langkah selanjutnya adalah mereduksi komponen Cb, Cr (

chrominance

). Hal ini

dapat dilakukan dengan membagi piksel-piksel dalam masing-masing komponen

ke dalam blok

n

x

n

. Kemudian dari masing-masing blok yang terbentuk akan

didapatkan nilai rata-rata piksel untuk mewakili blok. Sehingga satu nilai rata-rata

(48)

maka grup baru hasil

down sampling

akan memiliki satu piksel saja, dari rata-rata

empat piksel.

Semakin banyak piksel dalam satu blok yang diwakili satu piksel, maka

semakin tinggi tingkat reduksinya dan semakin rendah kualitas citra. Ada tiga

macam

down sampling

yang umum digunakan, yaitu

horizontal+vertical

,

horizontal

atau

vertical

, dan tanpa

down sampling

[15]. Gambar 2.16

menampilkan tiga macam

down sampling.

(a)

(b)

(c)

Gambar 2.16

tiga macam

down sampling

: (a) Cr,Cb

horizontal

+

vertical

down

sampling

; (b) Cr,Cb

horizontal down sampling

;

(c) tanpa

down sampling

[16].

2.6.1.3 Block Splitting

Setelah citra dipisahkan ke dalam komponen

luminance

(Y) dan

chrominance

(Cb,Cr), maka masing-masing data komponen yang berupa matriks

akan dibagi menjadi blok-blok yang memuat 8 x 8 piksel yang disebut

block

splitting

. Sebagian besar komputasi citra akan diterapkan pada tiap blok 8 x 8.

(49)

Gambar 2.17

Block Splitting

[13].

Jika jumlah baris dan kolom citra bukan merupakan kelipatan dari 8, maka

baris paling bawah dan kolom paling kanan akan terduplikasi.Tujuan dari

block

splitting

8 x 8 adalah [2] :

1.

Blok 8 x 8 merupakan ukuran maksimum yang dapat ditangani oleh IC

dengan efisiensi paling baik. Matriks

n

x

n

jika ditransformasikan DCT

dua kali akan lebih cepat jika dibandingkan matriks

n

2

x

n

2

.

2.

Aplikasi DCT pada

n

x

n

piksel lebih menghasilkan kompresi yang

lebih baik dibandingkan

n

x

m

, selain itu juga mengurangi jumlah

operasi aritmatika yang harus dilakukan.

3.

Pada citra

continuous-tone

korelasi antara piksel terjadi di area yang

kecil. Piksel yang terdapat pada citra memiliki kemiripan dengan piksel

lain yang berdekatan. Sehingga dekorelasi antar piksel mudah

dilakukan dengan

blok splitting

.

2.6.1.4 Two Dimensional Discrete Cosine Transform (2-D DCT)

Setelah

dilakukan

block splitting

pada matriks data citra, maka

transformasi DCT diaplikasikan pada masing-masing blok pada data citra.

Berdasarkan persamaan (2.2), 2-D DCT didefinisikan sebagai :

∑∑

− = − =

⎥⎦

⎢⎣

+

⎥⎦

⎢⎣

+

=

1 0 1 0

,

2

)

1

2

(

cos

2

)

1

2

(

cos

)

,

(

)

(

)

(

)

,

(

N x N y

N

v

y

N

u

x

y

x

f

v

u

v

u

(50)

Dengan

C(u,v)

adalah matriks hasil operasi 2-D DCT dan

f(x,y)

adalah

matriks data asli. Dari koefisien hasil aplikasi 2-D DCT akan didapatkan dua

koefisien utama yaitu koefisien DC dan koefisien AC. Nilai yang paling besar di

bagian atas kiri merupakan koefisien DC sedangkan 63 nilai lain yang relatif lebih

kecil merupakan koefisien AC. Hal ini merupakan salah satu kelebihan DCT yaitu

energy compaction

yang baik.

2.6.1.5 Kuantisasi

Setelah masing-masing matriks 8 x 8 koefisien DCT telah didapatkan,

langkah selanjutnya adalah kuantisasi. Masing-masing nilai pada matriks koefisien

DCT akan dibagi dengan nilai-nilai yang bersesuaian dengan tabel kuantisasi yang

digunakan, dan hasilnya akan dibulatkan ke bilangan bulat terdekat.

Persamaan kuantisasi didefinisikan sebagai [2], [14]:

)

,

(

)

,

(

)

,

(

v

u

Q

v

u

C

v

u

G

=

,

(2.13)

dengan

G(u,v)

adalah matriks hasil kuantisasi,

C(u,v)

adalah matriks koefisien

DCT, dan

Q(u,v)

adalah matriks pengkuantisasi. Proses kuantisasi ini merupakan

proses terjadinya pengkuantisasian data yang utama, yaitu mengubah sebagian

besar nilai AC koefisien ke dalam nilai nol (0). Pada penerapannya, kuantisasi ini

dapat dilakukan dengan dua acuan, yaitu

Default Quantization Table

dan tabel

kuantisasi dengan parameter kualitas [2].

2.6.1.5.1 Default Quantization Table

Proses kuantisasi dilakukan dengan menggunakan tabel kuantisasi standar

yang diberikan oleh JPEG. Tabel standar ini dihasilkan oleh komite JPEG dan

dianggap dapat digunakan untuk teknik kompresi dengan hasil paling baik. Tabel

standar JPEG ada dua macam yaitu tabel kuantisasi untuk

luminance

dan

chrominance

. Dapat diperhatikan bahwa nilai kuantisasi, mulai dari kiri atas

(51)

Dengan nilai pembagian yang semakin besar hingga kanan bawah matriks

pengkuantisasi menunjukkan bagaimana mereduksi koefisien AC pada frekuensi

tinggi. Tabel 2.4 menampilkan tabel kuantisasi

luminance.

Tabel 2.4

Tabel kuantisasi

luminance

[2].

99

103

100

112

98

95

92

72

101

120

121

103

87

78

64

49

92

113

104

81

64

55

35

24

77

103

109

68

56

37

22

18

62

80

87

51

29

22

17

14

56

69

57

40

24

16

13

14

55

60

58

26

19

14

12

12

61

51

40

24

16

10

11

16

Perbedaan yang cukup besar antara tabel kuantisasi

chrominance

dengan

tabel kuantisasi

luminance

adalah nilai yang hampir seragam di bagian kanan

bawah. Hal ini menunjukkan bahwa proses penghilangan informasi pada

chrominance lebih besar dibandingkan

luminance

pada koefisien AC. Tabel 2.5

menampilkan tabel kuantisasi

chrominance.

Tabel 2.5

Tabel kuantisasi

chrominance

[2].

(52)

2.6.1.5.2 Tabel kuantisasi dengan parameter kualitas

Hal ini berarti nilai matriks dalam tabel tergantung dengan nilai

kualitas yang diinginkan. Tabel kuantisasi dengan kualitas tertentu dapat

didefinisikan sebagai [2]:

Q

(

u

,

v

)

=

1

+

(

u

+

v

)

*

R

(

2.14)

dengan

R

adalah parameter kualitas yang diinginkan.

2.6.1.6 Entropy Coding

Setelah dilakukan kuantisasi, nilai yang tidak sama dengan nol (0),

akan terletak di sebelah kiri matriks koefisien DCT, dan secara tipikal akan

terkonsentrasi di bagian kiri atas. Nilai-nilai yang dihasilkan merupakan nilai hasil

proses kompresi. Tetapi sebelum hasil kompresi ditampilkan dalam

output stream

,

nilai yang dihasilkan masih harus dikompres lebih lanjut. Proses kompresi pada

bagian ini disebut dengan

entropy coding

. Pada

entropy coding

terdapat dua

tahapan yang digunakan, yaitu

zig-zag scanning

dan

Huffman Encoding

[2]:

2.6.1.6.1 Zig-zag Scanning

64 nilai koefisien DCT disusun ulang dengan melakukan

scanning

berdasarkan arah komputasi seperti pada Gambar 2.18 .

(53)

Sehingga hasil yang didapat setelah

zig-zag scanning

adalah satu baris nilai yang

urutannya sesuai dengan Gambar 2.18.

2.6.1.6.2 Huffman Encoding

Huffman Encoding

pada proses kompresi citra bersifat lossless. Tahapan

aplikasi

Huffman Encoding

pada citra adalah [15]:

1.

Mengkomputasikan histogram dari masukan data citra di antara nilai

minimum dan nilai maksimum dari data citra.

2.

Mengaplikasikan algoritma Huffman untuk mendapatkan peta pengkodean

berdasarkan histogram.

3.

Mengaplikasikan peta pengkodean ke dalam masukan data citra, kemudian

mengkonversi ke dalam

Gambar

Gambar 2.1 menampilkan contoh citra monochrome.
Gambar 2.2 Citra skala keabuan.
Tabel 2.1 Struktur pada header file [6].
Gambar 2.16 tiga macam down sampling : (a) Cr,Cb horizontal+vertical down sampling ; (b) Cr,Cb horizontal down sampling ; (c) tanpa down sampling [16]
+7

Referensi

Dokumen terkait

yang ditemukan selama pengamatan adalah Gejala serangan Penggerek Batang padi, populasi Wereng hijau dan Walang sangit (lihat gambar 4, 5 dan Lampiran 2), Hasil pengamatan rata

Swasakti Utama Tasikmalaya yang didasarkan pada hasil dari analisis faktor internal dan analisis faktor eksternal juga analisis SWOT yang kemudian datanya digunakan

Instrumen penelitian pada penelitian ini menggunakan kuesioner untuk mengetahui perilaku beresiko masyarakat terhadap demam berdarah dengue (DBD), dan keberadaan

Setelah berdiskusi siswa diharapkan mampu menyajikan dalam bentuk tulisan tentang perkembangan kerajaan –kerajaan Islam di Jawa.. Setelah berdiskusi siswa diharapkan

Sehubungan dengan itu, Lembaga Penelitian Universitas Negeri Padang bekerjasama dengan Pimpinan Universitas, telah memfasilitasi peneliti untuk melaksanakan penelitian

dalam pasal 11 ayat (1) dilakukan paling lama 1 (satu) bulan sejak diterimanya permohonan pengembalian kelebihan pembayaran pajak sehubungan diterbitkannya Surat

Demikian juga dengan kepemimpinan manajer yang menunjukkan kategori kurang baik dengan persentase 70%.Hasil penelitian ini juga menunjukkan bahwa adanya hubungan yang

Hal itu dipertegas melalui Permendiknas Nomor 41 Tahun 2007 tentang standar proses yang berbunyi perencanaanproses pembelajaran yang mensyaratkan pendidik untuk mengembangkan