Sunday, October 26, 2008

TEORI DASAR

BAB II. TEORI DASAR

2.1. Pengolahan Citra Digital
Citra digital dapat didefinisikan sebagai fungsi dua variabel, f(x,y), dimana x dan y adalah
koordinat spasial dan nilai f(x,y) adalah intensitas citra pada koordinat tersebut, hal tersebut
diilustrasikan pada gambar 2.1. Teknologi dasar untuk menciptakan dan menampilkan warna
pada citra digital berdasarkan pada penelitian bahwa sebuah warna merupakan kombinasi dari
tiga warna dasar, yaitu merah, hijau, dan biru (Red, Green, Blue - RGB). Komposisi warna
RGB tersebut dapat dijelaskan pada 2.2.
y
f(x1,y1)
y1
x1 x
Gambar 2.1. Citra Digital
Sebuah citra diubah ke bentuk digital agar dapat disimpan dalam memori komputer atau me-
dia lain. Proses mengubah citra ke bentuk digital bisa dilakukan dengan beberapa perangkat,
misalnya scanner, kamera digital, dan handycam. Ketika sebuah citra sudah diubah ke dalam
bentuk digital (selanjutnya disebut citra digital), bermacam-macam proses pengolahan citra
dapat diperlakukan terhadap citra tersebut.
7
Warna Komposisi RGB
Komponen Merah (Red)
Komponen Hijau (Green)
Komponen Biru (Blue)
Gambar 2.2. Komposisi Warna RGB
Pengolahan citra digital dapat dilakukan dengan cara-cara sebagai berikut :
Representasi dan permodelan citra
Peningkatan kualitas citra
Restorasi citra
Analisis citra
Rekonstruksi citra
Kompresi citra
Dalam tugas akhir ini, pengolahan citra digital difokuskan pada teknik kompresi citra.
2.2. Kompresi Citra
Kompresi citra bertujuan untuk meminimalkan jumlah bit yang diperlukan untuk merepre-
sentasikan citra. Apabila sebuah foto berwarna berukuran 3 inci x 4 inci diubah ke bentuk
digital dengan tingkat resolusi sebesar 500 dot per inch (dpi), maka diperlukan 3 x 4 x 500 x
500 = 3.000.000 dot ( piksel). Setiap piksel terdiri dari 3 byte dimana masing-masing byte
merepresentasikan warna merah, hijau, dan biru. sehingga citra digital tersebut memerlukan
volume penyimpanan sebesar 3.000.000 x 3 byte +1080 = 9.001.080 byte setelah ditambahkan
jumlah byte yang diperlukan untuk menyimpan format (header) citra.
Citra tersebut tidak bisa disimpan ke dalam disket yang berukuran 1.4 MB. Selain itu, pen-
giriman citra berukuran 9 MB memerlukan waktu lebih lama. Untuk koneksi internet dial-up
8
(56 kbps), pengiriman citra berukuran 9 MB memerlukan waktu 21 menit. Untuk itulah
diperlukan kompresi citra sehingga ukuran citra tersebut menjadi lebih kecil dan waktu pen-
giriman citra menjadi lebih cepat. Citra yang belum dikompres disebut citra mentah (raw im-
age). Sementara citra hasil kompresi disebut citra terkompresi(compressed image). Proses
pengiriman dan penyimpanan citra tersebut diilustrasikan pada gambar 2.3.
Citra Citra Digital
Analog 3 MegaPiksel
foto berwarna scanner
Citra Digital
STOP
3x4 500 dpi
9 MB
Dial Up 56 kbps
= 21 menit
Disket
= Rp. 3150,-
1.44 MB
Gambar 2.3 Proses Konversi citra analog ke citra digital beserta pengirimannya
Kompresi citra dikembangkan untuk memudahkan penyimpanan dan pengiriman citra. Teknik
kompresi yang ada sekarang memungkinkan citra dikompresi sehingga ukurannya menjadi
jauh lebih kecil daripada ukuran asli. Ada dua tipe utama kompresi data, yaitu kompresi tipe
lossless dan kompresi tipe lossy. Kompresi tipe lossy adalah kompresi dimana terdapat data
yang hilang selama proses kompresi. Akibatnya kualitas data yang dihasilkan jauh lebih ren-
dah daripada kualitas data asli. Sementara itu, kompresi tipe lossless tidak menghilangkan
informasi setelah proses kompresi terjadi, akibatnya kualitas citra hasil kompresi tidak
menurun. Namun demikian, rasio kompresi yang digunakan untuk kompresi tipe lossless
lebih kecil daripada rasio kompresi pada kompresi tipe lossy.
9
Parameter-parameter citra yang penting dalam proses kompresi diantaranya adalah sebagai
berikut :
Resolusi
2.2.1.
Resolusi citra menyatakan ukuran panjang kali lebar dari sebuah citra. Resolusi citra
biasanya dinyatakan dalam satuan piksel . piksel. Semakin tinggi resolusi sebuah
citra, semakin baik kualitas citra tersebut. Namun, tingginya resolusi menyebabkan
semakin banyaknya jumlah bit yang diperlukan untuk menyimpan dan mentrans-
misikan data citra tersebut.
Kedalaman Bit
2.2.2.
Kedalaman bit menyatakan jumlah bit yang dipelukan untuk mrepresentasikan tiap
piksel citra pada sebuah frame. Kedalaman bit biasanya dinyatakan dalam satuan bit/
piksel. Semakin banyak jumlah bit yang digunakan untuk merepresentasikan sebuah
citra, maka semakin baik kualitas citra tersebut.
Konsep Redundansi
2.2.3.
Redundansi merupakan suatu keadaan dimana representasi suatu elemen data tidak
bernilai signifikan dalam merepresentasikan keseluruhan data. Keadaan ini menye-
babkan data keseluruhan dapat direpresentasikan secara lebih kompak dengan cara
menghilangkan representasi dari sebuah elemen data yang redundan. Redundansi
yang terdapat pada citra statik adalah redundansi spasial.
Metode kompresi citra berdasarkan redundansi spasial diantaranya adalah sebagai
berikut :
Subsampling
Subsampling merupakan metode kompresi dengan mengurangi jumlah piksel yang
diperlukan untuk merepresentasikan suatu citra. Subsampling dapat dilakukan den-
gan dua cara. Cara pertama adalah mengambil piksel-piksel tertentu dari citra, misal
piksel-piksel pada baris dan kolom saja. Cara kedua adalah dengan mengambil rata-
rata dari kelompok piksel dan menggunakan nilai tersebut sebagai ganti nilai kelom-
10
pok piksel ini. Cara ini lebih kompleks, tetapi menghasilkan kualitas yang lebih baik.
Subsampling sebanding dengan pengurangan resolusi.
Pengurangan kedalaman bit
Metode ini dilakukan dengan mengurangi jumlah bit yang digunakan untuk mre-
representasikan suatu piksel. Misalnya dengan mengurangi kedalaman bit dari 16 bit/
piksel menjadi 8 bit/piksel. Metode ini mengurangi kualitas citra.
Transformation Coding
Transformation coding merupakan transformasi data dari domain ruang ke domain
frekuensi.Cara ini menghasilkan data yang lebih mudah diproses untuk kompresi
lebih lanjut. Transformasi yang populer digunakan antara lain Discrete Cosine
Transform (DCT) yang diadopsi dalam standar kompresi JPEG dan Discrete Wavelet
Transform (DWT) yang digunakan dalam kompresi JPEG 2000.
Sekarang ini, kompresi citra yang sering digunakan adalah JPEG. JPEG dikembangkan oleh
Joint Photographic Expert Group pada akhir tahun 80an dan kemudian dikenal karena teknik
kompresi-nya yang bagus. Kompresi JPEG berdasarkan pada Discrete Cosine Transform.
Pada tahun 1997, komite JPEG memutuskan untuk mengembangkan standar baru untuk kom-
presi citra. Sejak saat itulah JPEG-2000 mulai dikembangkan.
Berikut ini adalah contoh format citra baik yang lossless maupun lossy
Tabel 2.1. Macam-macam Format Citra8
Ekstensi Nama Keterangan
bmp Windows Bitmap Biasanya digunakan oleh aplikasi dan
sistem opeasi Microsoft Windows.
Merupakan kompresi tipe lossless.
gif Graphics Interchange Gif biasanya digunakan di website.
Format Format gif mendukung citra bergerak.
Namun format gif hanya mendukung
255 warna tiap frame. Format gif juga
mendukung citra transparan. Format
gif merupakan kompresi tipe lossy.
11
Ekstensi Nama Keterangan
jpg/jpeg Joint Photographic Ex- JPEG biasanya digunakan untuk foto
perts Group atau citra di website. JPEG menggu-
nakan kompresi tipe lossy. Kualitas
JPEG 2000 bisa bervariasi tergantung
setting kompresi yang digunakan.
Kompresi JPEG berbasis DCT(Dis-
creete Cosine Transform)
jp2/jpg2/j2k Joint Photographic Ex- Merupakan pengembangan dari JPEG
perts Group 2000 yang berbasis transformasi wavelet.
Format ini mendukung kompresi tipe
lossless dan lossy. Namun, support
JPEG 2000 dalam berbagai aplikasi
masih kurang, disebabkan kebutuhan
hardware yang tangguh dan paten.
pbm Portable Bitmap Format Merupakan format citra hitam putih
yang sederhana. PBM memerlukan 1
bit tiap pixel. Tidak seperti format citra
lainnya, format PBM merupakan plain
text yang bisa diolah dengan meng-
gunakan pengolah text. Format PBM
merupakan bagian dari PNM (Portable
Pixmap File Format).
pgm Portable Graymap Format Merupakan format citra abu-abu yang
sederhana. Format PGM memerlukan
8 bit tiap pixel. PGM merupakan citra
mentah dengan kompresi tipe
lossless. Format PGM merupakan
bagian dari PNM (Portable Pixmap
File Format).
ppm Portable Pixmap Format Merupakan format citra berwarna
yang sederhana. PPM memerlukan 24
bit tiap pixel. PPM merupakan citra
mentah dengan kompresi tipe
lossless. Format PPM merupakan
bagian dari PNM (Portable Pixmap
File Format).
12
Ekstensi Nama Keterangan
png Portable Network Graph- PNG adalah format citra dengan kom-
ics presi tipe lossless dengan kedalaman
bit berkisar antara 1 sampai dengan
32. PNG didesain untuk menggantikan
format citra GIF untuk diimplementasi-
kan di website. Algoritma kompresi
PNG tidak memerlukan paten karena
sudah menjadi public domain sejak
tahun 2003.
tiff Tagged Image File Format Merupakan format citra yang sudah
digunakan sejak dulu. Mendukung
kompresi tipe lossless dan lossy.
2.3. JPEG-2000
JPEG-2000 merupakan pengkodean citra baru yang dikembangkan oleh ITU (International
Telecomunication Union) dan ISO (International Organization for Standardization). JPEG
2000 menawarkan beberapa kelebihan dibandingkan JPEG. Satu kelebihan utama dari JPEG
2000 adalah mendukung kompresi lossless dan lossy pada file yang sama. Beberapa keung-
gulan JPEG 2000 adalah sebagai berikut :
Mendukung kompresi lossless dan lossy
Memiliki performance yang bagus pada kompresi dengan bit rate rendah
Memiliki transmisi yang bersifat progresif pada kualitas, resolusi, komponen, dan lokasi
spasial
Memiliki akses ke bitstream secara acak
Mampu melakukan pemrosesan pada domain yang terkompres
Mendukung peningkatan kualitas progresif pada ROI (Region Of Interest)
Memiliki kebutuhan memori yang kecil.
Proses encoding pada JPEG 2000 diilustrasikan pada gambar 2.4. Gambar 2.5 menampilkan
beberapa pengolahan bitstream JPEG 2000.
13
File format (Annex I)
Encode
Image
Preferences
Source
Codestream syntax (Annex A)
ROI
(Annex H)
Coefficient
Component Wavelet Arithmetic Data
Quantization
transform transform ordering
(Annex E) bit modeling entropy
(Annex G) (Annex F) (Annex B)
(Annex D) coding
(Annex C)
JPEG 2000
bitstream
Figure 1 - JPEG 2000 Encoder Block Diagram
Gambar 2.4. Blok Diagram Encoding JPEG 200010
2.1 Component Transform 2.6 Bitstream Ordering
The component transform provides decorrelation among Portions of coded data (output from the arithmetic coder)
image components (typically R, G, B). This improves the are collected into packets. These packets have a
compression and allows for visually relevant quantization. compressed header.
Choice of Resolution
When the reversible path is used, the Reversible While the codestream syntax allows data to be accessed in
Component Transform (RCT) is used, which maps integers almost any order, there must be some order to the data.
to integers. When the irreversible path is used the YCbCr Various orders are possible to allow progression by
transform is used as is common with the original JPEG. Choice of Color
resolution, or quality, or location, or some combination of
Components
2.2 Wavelet Transform these.
There are two wavelet transforms possible in the standard.
2.7 Codestream syntax
Both provide lower resolution images and spatial
The codestream consists of marker segments and coded
decorrelation of the images to improve compression. The
data. The marker segments allow the determination of the
9x7 filter provides the highest compression, while the 5x3
location of the coded data corresponding to a given spatial
JPEG 2000 bit-
filter provides lower complexity and allows lossless
location, resolution, and quality inof Spatial
Choice the image.
stream
compression. Region
2.8 File format
2.3 Quantization
Any data which is related to the image, but is not needed to
The trade-off between rate and distortion is obtained by
reconstruct samples of “color” components of the image, is
quantization. Wavelet coefficients can be divided by a
stored in the file format. The optional file format is
Choice of Quality
different value for each subband (similar to JPEG).
provided to prevent the proliferation of non-standard
(including lossless)
Alternatively, portions of the coded data can be discarded
proprietary formats as happened with the original JPEG
(decreasing rate and quality). This discarding of data can be
standard. The file format begins with a unique signature,
done in a variety of creative ways, see [2].
has a profile indicator, and repeats the width, height, and
2.4 Context Model Figure 2 - Images available from a JPEG 2000 bitstream
depth information from the codestream. Optionally the file
Gambar 2.5. Citra Hasil Pengolahan bitstream JPEG 200010 specification, capture
The context model divides the bits of the quantized wavelet format may contain a limited color
coefficients into groups with similar statistics so the and display resolution, intellectual property rights
5. D. Santa Cruz, T. Ebrahimi, “An analytical study of
trellis coded quantization and non-mallat decompositions
2.4. Transformasi Wavelet Diskrit (Discrete Wavelet Transform) some additional meta-data [4]. ICIP-2000,
arithmetic coder can efficiently compress them. Each information, and
JPEG2000 functionalities,” Proceedings
(frombitplane of JPEG 2000 will compress one of three coding
Part II), a coefficient is processed by satellite imagery
Sept. 2000. JPEG 2000 PARTS
at low bitratesdescribed in [1]. any current products.
passes as far better than 3.
Transformasi wavelet diskrit secara umum merupakan M.will Adams, and F. Kossentini, “JasPer: A Software-
6. dekomposisibe many partsfrekuensi sub-
There D. actually citra pada of the JPEG-2000
2.5 Arithmetic Coder
5. CONCLUSIONS Based JPEG-2000 Codec Implementation,” Proceed-
standard released separately. While most people will be
JPEG 2000 uses the MQ binary arithmetic coder to provide
The definition of JPEG-2000 each course the standard. transformasi wavelet “Core Coding dengan of Part pe-
band citra tersebut.ofKomponen pass of quantized
is of coding subband ISO interested ICIP-2000, Sept. 2000.System” cara I, the
ings in the dihasilkan
lossless compression
reasons for all the parts are described in this section.
will sell copies of this specification but only after the
wavelet coefficients. 7. T. Fukuhara, “Motion-JPEG2000 standardization and
nurunan level dekomposisi. Implementasi transformasi wavelet diskrit dapat dilakukan den-
"International Standard" stage is reached. Free software markets,” Proceedings ICIP-2000, Sept. 2000.
should soon be available so the features can be tested by
gan cara melewatkan sinyal melalui sebuah tapis lolosM. Marcellin, M. Gormish, A. Bilgin, M. tapis “An
8. rendah (low pass filter/LPF) dan Boliek,
anyone.
Overview of JPEG-2000,” Proc. Data Compression
JPEG-2000 should be a welcome standard for applications
lolos tinggi (high pass filter/HPF) dan melakukan downsampling Storer and M. Cohn,masing-
Conference, J. A. pada keluaran eds., Snowbird,
requiring either higher quality or lower bitrates, or any of Utah, Mar. 28-Mar. 30, 2000, p. 523-541.
the new features provided. tersebut dapat continue to be pada gambar 2.6.
masing filter. Proses JPEG will likely diilustrasikan
used in low complexity applications for bitrates at which
JPEG was tuned.
6. REFERENCES
1. D. Taubman, E. Ordentlich, M. Weinberger, G. Serous-
si, I. Ueno, F. Ono, “Embedded Block Coding in JPEG
2000,” Proceedings ICIP-2000, Sept. 2000.
2. W. Zeng, S. Daly, and S. Lei, “Visual Optimization
14
Tools in JPEG 2000,” Proceedings ICIP-2000, Sept.
2000.
3. Charilaos Christopoulos, Joel Askelof and Mathias
Larsson, “Efficient Regions of Interest Coding Tech-
Gambar 2.6. Dekomposisi Wavelet diskrit Pada Sinyal Satu Dimensi1
Output filter yang memiliki respon impulse h(n) dan input x(n) adalah :

∑ x( k ) h ( n − k )
x ( n) ∗ h( n ) =
(2.1)
k = −∞
Sehingga output dari LPF dan HPF setelah downsampling adalah :
∑ x ( n ) g ( 2k − n )
y HPF (k ) =
(2.2)
n
∑ x ( n ) h( 2 k − n )
y LPF (k ) =
(2.3)
n
dimana g(n) dan h(n) adalah respon impulse dari HPF dan LPF.
Setelah operasi penambahan, bisa ditentukan masing-masing output untuk setiap level rekon-
truksi adalah sebagai berikut :
∧ ∞
x (n) = ∑y (k ) g (−n + 2k ) + y ( k ) h( − n + 2k )
HPF LPF
k = −∞ (2.4)
Proses rekonstruksi citra tersebut diilustrasikan pada gambar 2.7.
15
Gambar 2.7. Rekonstruksi Transformassi Wavelet Level n Pada Sinyal Satu Dimensi1
Untuk citra dua dimensi, prosedur dekomposisi level tunggal terdiri dari citra satu dimensi
yang di-filter pada arah mendatar kemudian diikuti oleh citra satu dimensi yang di-filter pada
arah tegak yang diutilisasi dengan menggunakan filter tapis rendah dan filter tapis tinggi.
Proses dekomposisi transformasi wavelet untuk citra dua dimensi dapat dijelaskan pada gam-
bar 2.8 . Contoh transformasi wavelet diilustrasikan pada gambar 2.9.
LL3 HL3
LL2 HL2
LH3 HH3
LL1 HL1
LH2 HH2
LH1 HH1
Gambar 2.8. Transformasi Wavelet Untuk Citra Dua Dimensi1
16
(a). Citra Asli
(b). Dekomposisi Wavelet 1 Level
(c). Dekomposisi Wavelet 2 Level
Gambar 2.9. Contoh Transformasi Wavelet Untuk Citra Dua Dimensi
2.5. Implementasi Encoder dan Decoder JPEG 2000 oleh ISO
Implementasi encoder dan decoder JPEG 2000 dengan menggunakan JavaTM dikembangkan
oleh Work Group (WG) dari ISO-IEC Joint Technical Committee (ISO/IEC/JTC1/SC29/
WG1). Proyek penelitian yang dilakukan oleh work group tersebut diberi nama JJ2000. Work-
17
group tersebut merupakan kolaborasi dari Canon Research Centre France (CRF), the Swiss
Federal Institute of Technology (EPFL), dan Ericsson.
JJ2000 memiliki beberapa keunggulan, diantaranya7 :
Mendukung kompresi tipe lossless
Mendukung beberapa format citra, diantaranya : PGM (raw - Portable GrayMap), PPM
(raw - Portable PixMap), PGX
Format PGM dan PPM sudah banyak didukung oleh software pengolah citra yang
umum dipakai. Untuk tugas akhir kali ini, format yang digunakan adalah PGM. Format
PGM mendukung kedalaman bit lebih dari 31 bpp.
Arsitektur yang digunakan oleh JJ2000 digambarkan pada diagram blok pada gambar 2.10.
(a). Diagram Blok Proses Encoding JJ2000
(b). Diagram Blok Proses Decoding JJ2000
Gambar 2.10. Diagram Blok Proses Encoding dan Decoding JJ20007
2.6. Komputasi Secara Terdistribusi
Komputasi secara terdistribusi (distributed computing) adalah aplikasi yang komponennya
berjalan pada komputer yang berbeda secara bersamaan. Komponen-komponen tersebut harus
mampu saling berkomunikasi dan didesain untuk beroperasi secara mandiri9. Untuk mengu-
bah sebuah aplikasi menjadi terdistribusi, perlu ada perubahan radikal pada aplikasi tersebut.
Komputasi secara terdistribusi sangat menarik karena operasi masing-masing komponen
menyebabkan komputer-komputer yang terlibat seringkali tidak aktif.
Tujuan dari komputasi secara terdistribusi adalah untuk menghubungkan pengguna dan re-
source pada sebuah proses yang terbuka, transparan, dan scalable. Idealnya, komputasi secara
18
terdistribusi mampu mengatur fault tolerant dan lebih powerful dibandingkan beberapa kom-
binasi komputer stand-alone.
Sistem scalable adalah sebuah sistem yang dengan mudah diubah untuk mengakomodasi pe-
rubahan pengguna, resource, dan komputasi yang terlibat. Scalability bisa diukur dalam tiga
dimensi9 :
Scalability Beban : Sebuah sistem yang terdistribusi harus dengan mudah diperbesar
untuk mengakomodasi pertambahan beban
Scalability Geografi : Sebuah sistem yang mampu mengelola kegunaan dan kemampu-
annya, tanpa peduli seberapa jauh pengguna dan resource berada
Scalability Administratif : Berapapun jumlah berbeda yang mengelola sebuah sistem
terdistribusi, sistem terdistribusi tersebut tetap mudah dikelola dan digunakan
Sistem terdistribusi biasanya dikembangkan dalam routing-routine sebagai berikut9 :
Corba (Common Object Request Broker Architecture)
JavaTM RMI (JavaTM Remote Method Invocation)
DCOM (Distributed Component Object Model)
RPC (Remote Procedure Call)
SOAP (Simple Object Access Protocol)
PVM (Parallel Virtual Access)
MPI (Message Passing Interface)
Pemrograman Soket (Socket Programming)
Pada tugas akhir kali ini, digunakan bahasa pemrograman JavaTM dengan memanfaatkan
JavaTM RMI dan Pemrograman soket pada JavaTM dengan pertimbangan bahasa JavaTM adalah
bahasa pemrograman yang multiplatform. Diantara semua routine yang dikembangkan untuk
sistem terdistribusi di atas, hanya JavaTM RMI dan pemrograman soket yang mendukung
JavaTM.
19

No comments: