IMPLEMENTASI PENDEKODE KUANTISASI VEKTOR SCALABLE PADA PERSONAL DIGITAL ASSISTANT UNTUK CITRA MEDIK Renita Fransisca Ompusunggu Laboratorium Teknologi Radar dan Gelombang Mikro Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung
[email protected] Abstraksi Citra sinar-X merupakan salah satu data yang digunakan oleh dokter sebagai acuan untuk mendiagnosis. Namun citra sinar-X dalam bentuk dijital mempunyai ukuran file yang cukup besar, sehingga perlu dilakukan kompresi pada citra tersebut. Tugas Akhir ini merupakan pengembangan dari peneliian sebelumnya, mengenai pengembangan pengkodean kuantisasi vektor scalable citra radiologi sinar-X dengan menggunakan algoritma clustering Fuzzy C-Means[1]. Kuantisasi vektor memiliki sifat yang asimetrik, yaitu proses pengkodeannya lebih lama dibandingkan proses pendekodeannya. Dalam tugas akhir ini, dikembangkan implementasi pendekodeannya pada perangkat dengan komputansi terbatas itu, yaitu Personal Digital Assistant (PDA). Implementasi ini yaitu untuk mengakses citra radiologi sinar-X pada perangkat PDA yang mempunyai tingkat mobilitas lebih tinggi dibandingkan komputer, sehingga diharapkan seorang dokter mampu mengakses citra sinar-X tanpa terbatas ruang gerak. Kata kunci- Kuantisasi vektor, Personal Digital Assistant (PDA), lossy-to-lossless, Region of Interest, scalable
kompresi yang besar, sekitar 16 kali, namun dengan tidak menyalahi aspek legal. KV ini bersifat sederhana dan asimetrik, yang artinya proses decoding lebih ringan dibandingkan proses encoding. Hal ini sangat cocok diimplementasikan dalam perangkat-perangkat yang bersifat mobile seperti halnya PDA yang memiliki kapasitas memori yang terbatas. Oleh karena itu, tugas akhir ini adalah mengimplementasikan kompresi citra tersebut pada perangkat PDA. PDA dipilih dikarenakan lebar layar yang cukup besar dibanding handset (misalnya handphone) lainnya dan memiliki resolusi yang cukup bagus. Oleh karena itu tugas akhir ini diharapkan akan diimplementasikan dalam sistem informasi kedokteran, sehingga jika seorang dokter ingin melihat hasil foto sinar-x dari seorang pasien tanpa terbatas ruang gerak, maka ia dapat mengaksesnya melalui handset PDA. Hal ini akan berguna untuk membantu seorang dokter untuk menganalisis citra sinar-x dari pasiennya dengan mobilitas yang tinggi.
1. Pendahuluan Rekam medis adalah komponen utama di dalam pencatatan sejarah kesehatan seseorang. Rekam medis yang cukup baik dan akurat akan dapat membantu ahli medis untuk melakukan diagnosis penyakit dengan lebih baik. Dalam hal rekam medis elektronik seperti halnya citra sinar-x (X-ray), lembaga-lembaga kesehatan seperti rumah sakit hanya dapat menghasilkan rekam medis dalam bentuk informasi tekstual/ fisik, dan tidak disimpan sebagai arsip lembaga kesehatan tersebut. Dalam hal ini, pengembangan rekam medis elektronik sangat diperlukan untuk penyimpanan sebagai arsip. Sebelum disimpan dalam rekam medis, citra-citra medik ini harus diubah terlebih dahulu ke dalam format digital. Solusi untuk menjawab permasalahan tersebut telah dikembangkan, yaitu kompresi citra scalable yang dikembangkan menggunakan kuantisasi vektor (KV). Terdapat dua jenis kompresi citra, yaitu kompresi lossless dan lossy. Kompresi lossless merepresentasikan citra digital original tanpa ada informasi yang hilang (loss) namun faktor kompresi yang dapat dicapai biasanya terbatas, sedangkan kompresi lossy terjadi kehilangan informasi namun faktor kompresi lebih tinggi daripada kompresi lossless. Dengan pengembangan kompresi ini, dapat memampatkan citra secara lossy dengan rasio
2. Citra Radiologi Sinar-X Sebuah citra atau gambar merupakan representasi dua dimensi dari dunia visual. Citra dapat diartikan sebagai
1
suatu fungsi kontinu dari intensitas cahaya dalam bidang dua dimensi. Citra digital merupakan fungsi diskrit dari dua dimensi f(x,y), dimana x dan y adalah koordinat spasial, dan amplitudo f sesuai dengan pasangan koordinat (x, ( y) disebut sebagai intensitas atau derajat keabuan citra pada titik tersebut. Ketika x, y,, dan nilai amplitudo dari f memiliki nilai yang berhingga, kuantitas diskrit, citra tersebut dikatakan sebagai citra digital. Elemen te terkecil dari suatu citra digital disebut sebagai piksel. Citra dua dimensi dapat dinyatakan dalam matriks dua dimensi dengan ukuran yang dapat dinyatakan sebagai berikut:
ukuran yang lebih kecil dibandingkan ukuran citra asal. Kompresi dilakukan agar dapat mempermudah dalam penyimpanan dan pengiriman iman data karena ukurannya lebih ringkas. Kompresi dapat memiliki dua sifat, yaitu: • Lossy,, yaitu kompresi dengan citra hasil decoding tidak identik pixel per pixel dengan citra asal. Kompresi ini melakukan proses pengkodean, dan ketika didekodekan, hasil pendekodean p tersebut memiliki nilai yang tidak identik dengan citra asli. Hal ini dilakukan dengan mengurangi irrelevansi (data-data data yang tidak signifikan).. signifikan • Lossless, yaitu kompresi dengan citra hasil decoding identik pixel per pixel dengan citra asal. Kompresi presi ini melakukan pengkodean yang ketika didekodekan kembali, dapat dihasilkan citra yang identik dengan citra aslinya.
(2.1) dengan, M = Panjang citra dalam satuan pixel N = Lebar citra dalam satuan pixel f(x,y) merupakan nilai pixel dari suatu koordinat x dan y pada matriks citra. Untuk citra dengan kedalaman warna 8-bit it per piksel, maka rentang nilai warna citra adalah 28 = 256, dengan (dengan 0 merepremerepre sentasikan warna hitam dan 255 merepresentasikan warna putih). Citra radiologi sinar-xx merupakan citra medik yang dihasilkan dengan menggunakan sinar-x sinar sebagai modalitasnya. Citra ini memiliki intensitas warna sebesar 8 bit dengan rentang [0,255]. Berikut ini adalah contohcontoh contoh dari citra sinar-x.
Gambar 2. Perbedaan citra hasil pendekodean pada kompresi lossy dan lossless Gambar diatas menampilkan perbedaan citra hasil rekonstruksi pada kompresi bersifat lossy dan lossless setelah melalui proses peengkodean dan pendekodean yang dijalankan pada coder.
Gambar 1. Contoh citra radiologi sinar sinar-x: (a) thorax, (b) tulang lutut, (c) femur, dan (d) telapak tangan
Gambar 3. Proses pengkodean dan pendekodean
3. Kompresi Citra
4. Kuantisasi Vektor
Kompresi merupakan suatu teknik pengkodean data (berupa citra) agar dapat dihasilkan data baru dengan
Kuantisasi Vektor adalah suatu teknik kuantisasi yang banyak digunakan untuk kompresi data berupa citra
2
digital dan sinyal suara, bekerja dengan membagi suatu kumpulan vektor yang besar kedalam kelompokkelompok yang mempunyai nilai vektor terdekat yang sama pada kelompok tersebut. Setiap grup (cluster) direpresentasikan dengan titik centroid, seperti pada kmeans dan beberapa algoritma clustering lainnya.
Pada kompresi citra lossy to lossless, skalabilitas dapat diartikan sebagai cara untuk menaikkan skala kualitas dari citra. Pada tugas akhir ini, skalabilitas diimplementasikan pada daerah RoI agar pada citra rekonstruksi yang bersifat lossy, didapat daerah RoI dengan perbaikan kualitas sehingga bersifat lossless. Gambar 5 menunjukkan pengaksesan citra yang memeiliki sifat scalable.
Gambar 4. Diagram kuantisasi vektor sebagai komposisi dari encoder dan decoder Gambar 4 menunjukkan diagram kuantisasi vektor yang terdiri dai pengkodean dan pendekodean. Citra asli x diproses melalui encoder dengan berdasarkan buku kode, dihasilkan data J yang berisi indeks buku kode dari setiap blok kuantisasi 4x4. Dan untuk mendapatkan citra hasil rekonstruksi, maka J diproses melalui decoder dan didapat citra .
Gambar 5. Skema RoI scalable
6. Hasil Eksperimen
5. Region of Interest scalable
Setelah desain diimplementasikan, didapat beberapa parameter. Parameter berikut merupakan parameter hasil pengkodean dan pendekodean yang dijalankan pada perangkat personal computer (PC) dengan s[esifikasi berokut
Region of Interest (RoI) merupakan suatu bagian terpilih dari sekelompok sampel-sampel dengan suatu himpunan data yang teridentifikasi untuk suatu tujuan tertentu. Pada citra (himpunan data dua dimensi), RoI merupakan batas-batas dari suatu objek. Pada citra medis, RoI merupakan suatu bagian dari citra yang akan diamati dengen tujuan medis tertentu. Jika suatu dokter ingin menganalisis suatu citra radiologi sinar-x seperti pada gambar di bawah ini, maka dokter akan lebih memperhatikan dan menganalisis daerah fraktur saja, ini adalah RoI menurut pengamatan dokter.
Tabel 1. Spesifikasi PC untuk proses pengkodean Spesifikasi Keterangan Jenis Acer RAM 1.49 GB Operating System Microsoft Windows XP Professional Version 2002 Processor T2080 @1.73 GHz
Seperti yang terlihat pada gambar 4, bahwa merupakan citra rekonstruksi yang bersifat lossy. Residu citra didapatkan dengan rumus sebagai berikut. (2.2) Dengan R merupakan residu citra dan X merupakan citra asli. Maka, untuk mendapatkan daerah RoI yang bersifat lossless, daerah RoI tersebut harus ditambahkan dengan residu sesuai dengan lokasi RoI tersebut. (2.3) Skalabilitas merupakan suatu properti yang diinginkan dari suatu sistem, suatu jaringan, atau suatu proses, yang mengindikasikan kemampuan untuk baik menghadapi pembesaran volume proses pada suatu perilaku tertentu.
Tabel 2. Data hasil pengkodean dan pendekodean pada PC
3
Nama Citra
Rasio Kompresi
Volume Citra Hasil Enkode (Bytes)
PSNR [Db]
Waktu Encoding (Detik)
Waktu Decoding (Detik)
xRayA
15.99
239.990
33,18
779
1,98
xRayD
15.98
214.369
35,06
635
1,56
xrayF1
15.99
211.296
39,26
713
1,72
xrayF2
15.98
204.256
39,83
622
1,99
xrayH1
15.98
216.841
39,83
763
1,75
xrayH2
16.00
221.146
39,50
754
1,86
xrayFE1
16.00
120.421
35,18
393
1,25
xrayFE2
16.00
124.616
38,56
446
1,17
xrayFE3
15.98
106.588
43,82
350
1,39
sedangkan proses pengenkodean yang dilakukan pada PC memakan waktu 400 – 800 detik. Namun pada penggunaan PDA O2 Xda Zinc, pada tabel 4, ternyata padaa proses pendekodeannya memiliki delay yang lebih kecil, yaitu antara 3 – 7 detik. Hal ini dikarenakan PDA O2 Xda Zinc memiliki prosesor yang lebih cepat dari PDA Dopod 838 Pro.
Dari tabel di atas, dapat dilihat bahwa rasio kompresi yang didapat rata-rata rata berkisar 16 atau dengan kata lain memiliki ukuran volume citra hasil encoding 1/16 kali citra sebenarnya. Hal ini dikarenakan untuk citra grayscale dengan ukuran 8-bit bit per pixel atau 1 byte per pixel, maka volume citra akan menjadi.
Pada tabel 4,, dapat terlihat juga, ketika pengambilan Region of Interest yang bersifat scalable, pembacaan residu citra memakan waktu yang lama, yaitu antara 10 – 25 detik. Dan pada PDA O2 Xda Zinc, terlihat pada tabel 4,, pembacaan residu memiliki delay antara 5 – 13 detik. Hal ini dikarenakan ukuran residu yang sama dengan ukuran uran citra asli, sehingga dalam proses pembacaan dan pembuatan array residu pun memakan waktu yang tidak singkat, karena membutuhkan alokasi memori yang besar, yaitu lebih dari 1MB.
Kemudian sistem diimplementasikan kedalam perangkat PDA,, yaitu pendekodean dan pengimplepengimple mentasian skema scalable,, yaitu pembuatan RoI yang scalable. Terdapat apat 2 perangkat PDA yang akan diuji, diuji dengan sesifikasi berikut. Tabel 3. Spesifikasi PDA untuk proses pendekodean dan pembuatan RoI scalable Dopod 838 Pro Samsung® 2442A 400 MHz 64 MB 128 MB 56.22 MB Windows mobile 5.0 professional SDK 240x320 65536
15 Waktu pendekodean (detik)
Keterangan CPU Speed RAM Size Flash Size Storage Size Operating System Screen resolution color
O2 Xda Zinc PXA270 520 MHz 64 MB 128 MB 51.11 MB Windows mobile 6.0 professional 240x320 65536
5 0 0
2000000
4000000
6000000
Ukuran citra (piksel)
Gambar 6. Gambar kurva luas citra terhadap waktu pendekodean
Tabel 4.. Data proses pendekodean dan pengambilan residu untuk RoI yang scalable Dopod 838 pro
10
O2 Xda Zinc
Nama file
Ukuran (piksel)
Waktu decoding (detik)
Ambil residu (detik)
Waktu decoding (detik)
Ambil residu (detik)
xRay A
3833830
9.55
24.619
6.858
13.137
xRay D
3418545
8.903
21.28
6.27
12.262
xRay F1
3375218
8.442
22.683
6.123
12.158
xRay F2
3256773
8.509
21.403
5.898
11.261
xRay H1
3465000
8.625
22.717
6.196
12.137
xRay H2
3538080
8.825
22.799
6.43
12.373
xRay FE1
1923720
4.953
12.094
3.626
6.807
xRay FE2
1990752
5.111
12.58
3.838
6.872
xRay FE3
1061871
4.417
10.835
3.314
5.894
Gambar 7. Gambar kurvaa luas citra RoI terhadap waktu pemrosesan untuk mendapat daerah RoI
Dari data tabel 2 dan tabel 4,, terlihat bahwa proses pengenkodean memiliki delay yang jauh lebih besar daripada proses pendekodeannya. Pada tabel 2, proses pendekodean yang diimplemetasikan pada perangkat PDA memiliki delay decoding antara 4 – 10 detik,
4
Pelaksanaan tugas akhir ini dapat dikembangkan dengan menggunakan sistem client-server dengan menggunakan web service.. Data hasil pengkodean, data buku kode, dan data residu diletakkan pada server dan pengaksesan dilakukan melalu web service. Pembukaan dan pembacaan residu yang memakan waktu lama jika langsung diakses oleh perangkat PDA, dapat dibuka pada server ketika pengguna mengakses suatu citra radiologi sinar-x dan array dibuat pada server. Karena server yang berupa komputer memiliki daya komputansi yang lebih tinggi daripada PDA, maka waktu pembukaan dan pembuatan array residu yang lama dapat diatasi. Gambar 8.. Implementasi aplikasi dengan pilihan ‘zoom’
8. Referensi [1] Setiawan, Antonius Darma.Tesis ”Pengembangan ” Pengkodean Kuantisasi Vektor Scalable Citra Radiologi Sinar-X X Menggunakan Fuzzy C-Means”. C Sekolah Teknik Elektro dan Informatika, ITB, 2007. [2] Arya, Vinay et al.2005. An Efficient Coding Method for Teleconferencing and Medical Image Sequence. Sequence Department of Electronic and Computer Engineering, IIT Roorke, Uttaranchal, India. [3] Haber Jorg and Hans Peter.2000. Using an Enhanced LBG Algorithm to Reduce the Codebook Error in Vector Quantization.. Computer Graphics Group. Max-Planck-Institut Institut fur Informatik, Germany. [4] Hsieh, Chaur-Heh Heh and Jyi-Chang Jyi Tsai.1996. Lossless Compression of VQ Index with Search-Order Search Coding. IEEE Transaction on Image Processing.
Gambar 9.. Implementasi aplikasi dengan pilihan RoI yang scalable
[5] Yoseph Linde, Andres ndres Buzo, Buzo Robert M. Gray, 1980 An Algorithm for Vector Quantizer Design. Design IEEE Transactions ransactions On Comunications
7. Kesimpulan dan Saran Pada pelaksanaann tugas akhir ini, penulis telah berhasil dalam menjalankan pengaksesan citra radiologi sinar-xx dengan menggunakan PDA. Pada pelaksanaan tugas akhir ini, penulis dapat menyimpulkan bahwa: • Dalam mengakses data citra hasil pengkodean, memakan waktu pemrosesan sebanyak 5 – 10 detik untuk perangkat PDA jenis dopod 838 pro dan 3 – 6 detik untuk perangkat PDA jenis O2 Xda Zinc. • Dalam mengakses data residu dalam hal memperbaiki kualitas citra pada daerah Region of Interest, Interest didapat waktu pemrosesan 15 – 24 detik untuk Dopod 838 pro dan 5 – 13 detik untuk O2 Zinc • Dalam proses memperbaiki kualitas citra pada daerah RoI, dibutuhkan waktu yang singkat, dengan rata-rata rata sebesar 0,127 detik. • Pada data citra hasil pengkodean, didapat rata rata-rata PSNR sebesar 38,244 dB dengan PSNR terkecil sebesar 35,060 dB dan PSNR terbesar sebesar 43,822 dB.
[6] Nicolaos B. Karayiannis, 1995. Fuzzv Vector Ouantization Algorithms and Their Application in Image Compression. IEEE Transaction on Image Processing [7] Nicolaos B. Karayiannis, Pin-I Pin Pai, Fuzzy Vector Quantization Algorithms. Department of Electrical Engineering, ing, University of Houston. [8] Chaur-Heh Hsieh, Jyi--Chang Tsai, 1996. Lossless Compression of VQ Index with Search-Order Search Coding. IEEE Transaction on Image Processing [9] Abdel-Ouahab Boudraa, Boudraa Qosai Kanafani, Azeddine Beghdadi and Anissa Zaergainoh. 1999. Vector Quantization for Image Compression based on Fuzzy
5
Clustering. L2T1, Institut GalilCe, UniversitC Paris XI11
6