kompresi citra…

January 6, 2009 at 4:44 am (Uncategorized)

KOMPRESI CITRA

Dalam kesempatan ini saya mencoba untuk menjelaskan apa itu kompresi citra dan bagaimana cara-cara format citra dengan menggunakan BMP, PNG, JPEG, GIF, dan TIFF. Kompresi citra itu adalah aplikasi kompresi data yang dilakukan terhadap citra digital dengan tujuan untuk mengurangi redudansidari data-data yang terdapat dalam citra sehingga dapat disimpan atau ditransmisikan secara efisien.

Dalam pengolahan citra digital dapat didefinisikan sebagai fungsi dua variabel, f(x,y), dimana x dan y adalahkoordinat spasial dan nilai f(x,y) adalah intensitas citra pada koordinat tersebut, hal tersebutdiilustrasikan pada gambar 2.1. Teknologi dasar untuk menciptakan dan menampilkan warnapada citra digital berdasarkan pada penelitian bahwa sebuah warna merupakan kombinasi daritiga warna dasar, yaitu merah, hijau, dan biru (Red, Green, Blue – RGB).

Sebuah citra diubah ke bentuk digital agar dapat disimpan dalam memori komputer atau media

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.

Pengolahan citra digital dapat dilakukan dengan cara-cara sebagai berikut :

1. Representasi dan permodelan citra

2. Peningkatan kualitas citra

3. Restorasi citra

4. Analisis citra

5. Rekonstruksi citra

6. Kompresi citra

Ada dua tipe pada kompresi data, yaitu

1. Kompresi tipe lossless.

2. Kompresi tipe lossy.

I. Kompresi tipe lossless

Adalah kompresi yang tidak menghilangkan informasi setelah kompresi terjadi, akibatnya kualitas citra hasil kompresi tidak menurun.

Beberapa ciri dari kompresi lossless :

o Teknik kompresi citra dimana tidak ada satupun informasi citra yang dihilangkan.

o Biasa digunakan pada citra medis.

o Metode loseless: Run Length Encoding, Entropy Encoding (Huffman, Aritmatik), dan Adaptive Dictionary Based (LZW).

II. Kompresi tipe lossy

Adalah kompresi dimana terdapat datayang hilang selama proses kompresi, akibatnya kualitas data yang dihasilkan jauh lebih rendah daripada kualitas data asli.

Beberapa ciri dari kompresi lossy :

o Ukuran file citra menjadi lebih kecil dengan menghilangkan beberapa informasi dalam citra asli.

o 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.

o Biasanya digunakan pada citra foto atau image lain yang tidak terlalu memerlukan detail citra, dimana kehilangan bit rate foto tidak berpengaruh pada citra.

o Beberapa teknik loseless:

1. Color reduction: untuk warna-warna tertentu yang mayoritas dimana informasi warna disimpan dalam color palette.

2. Chroma subsampling: teknik yang memanfaatkan fakta bahwa mata manusia merasa brightness (luminance) lebih berpengaruh daripada warna (chrominance) itu sendiri, maka dilakukan pengurangan resolusi warna dengan disampling ulang. Biasanya digunakan pada sinyal YUV.

– Chorma Subsampling terdiri dari 3 komponen: Y (luminance) : U (CBlue) : V (CRed)

2. Transform coding: menggunakan Fourier Transform seperti DCT.

– Fractal Compression: adalah suatu metode lossy untuk mengkompresi citra dengan menggunakan kurva fractal. Sangat cocok untuk citra natural seperti pepohonan, pakis, pegunungan, dan awan.

– Fractal Compression bersandar pada fakta bahwa dalam sebuah image, terdapat bagian-bagian image yang menyerupai bagian bagian image yang lain.

– Proses kompresi Fractal lebih lambat daripada JPEG sedangkan proses dekompresinya sama.

HAL-HAL PENTING DALAM KOMPRESI CITRA :

1. Scalability/Progressive Coding/Embedded Bitstream

Adalah kualitas dari hasil proses pengkompresian citra karena manipulasi bitstream tanpa adanya dekompresi atau rekompresi. Biasanya dikenal pada loseless codec. Contohnya pada saat preview image sementara image tersebut didownload. Semakin baik scalability, makin bagus preview image.

– Tipe scalability:

a. Quality progressive: dimana image dikompres secara perlahan-lahan dengan penurunan kualitasnya.

b. Resolution progressive: dimana image dikompresi dengan mengenkode resolusi image yang lebih rendah terlebih dahulu baru kemudian ke resolusi yang lebih tinggi.

c. Component progressive: dimana image dikompresi berdasarkan komponennya, pertama mengenkode komponen gray baru kemudian komponen warnanya.

2. Region of Interest Coding: daerah-daerah tertentu dienkode dengan kualitas yang lebih tinggi daripada yang lain.

3. Meta Information: image yang dikompres juga dapat memiliki meta information seperti statistik warna, tekstur, small preview image, dan author atau copyright information.

PENGUKURAN ERROR KOMPRESI CITRA

Dalam kompresi image terdapat suatu standar pengukuran error (galat)

kompresi:

– MSE (Mean Square Error), yaitu sigma dari jumlah error antara citra

hasil kompresi dan citra asli.

Peak Signal to Noise Ratio (PSNR), yaitu untuk menghitung peak error.

Nilai MSE yang rendah akan lebih baik, sedangkan nilai PSNR yang tinggi akan lebih baik.

ALGORITMA KOMPRESI/DEKOMPRESI CITRA

Algoritma umum untuk kompresi image adalah:

1. Menentukan bitrate dan toleransi distorsi image dari inputan user.

2. Pembagian data image ke dalam bagian-bagian tertentu sesuai dengan tingkat kepentingan yang ada (classifying).

3. Pembagian bit-bit di dalam masing-masing bagian yang ada (bit allocation).

4. Lakukan kuantisasi (quantization).

o Kuantisasi Scalar : data-data dikuantisasi sendiri-sendiri

o Kuantisasi Vector : data-data dikuantisasi sebagai suatu himpunan nilai-nilai vektor yang diperlakukan sebagai suatu kesatuan.

5. Lakukan pengenkodingan untuk masing-masing bagian yang sudah dikuantisasi tadi dengan menggunakan teknik entropy coding (Huffman dan aritmatik) dan menuliskannya ke dalam file hasil.

Sedangkan algoritma umum dekompresi image adalah:

1. Baca data hasil kompresi menggunakan entropy dekoder.

2. Dekuantisasi data.

3. Rebuild image.

1. TEKNIK KOMPRESI GIF(GRAPHICS INTERCHANGE FORMAT)

– GIF (Graphic Interchange Format) dibuat oleh Compuserve pada tahun 1987 untuk menyimpan berbagai file bitmap manjadi file lain yang mudah diubah dan ditransmisikan pada jaringan komputer. Format gif mendukung citra bergerak. Namun format gif hanya mendukung 255 warna tiap frame dan juga pada citra transparan. Format gif juga merupakan kompresi tipe lossy.

– GIF merupakan format citra web yang tertua yang mendukung kedalaman warna sampai 8 bit (256 warna), menggunakan 4 langkah interlacing, mendukung transparency, dan mampu menyimpan banyak image dalam 1 file.

– Byte ordering: LSB – MSB

– Struktur file GIF:

o Header: menyimpan informasi identitas file GIF (3 bytes, harus string “GIF“) dan versinya (3 bytes, harus string “87a“ or “89b“).

o Global Screen Descriptor: mendefinisikan logical screen area dimana masing-masing file GIF ditampilkan.

o Global Color Table: masing-masing image dalam GIF dapat menggunakan global color table atau tabel warnanya sendirisendiri. Penggunaan GCT akan memperkecil ukuran file GIF.

o Image1, Image2, Image3, … Image-n: dimana masing-masing image memiliki struktur blok sendiri-sendiri dan terminator antar file.

o Trailer: Akhir dari sebuah file GIF

– Kompresi GIF menggunakan teknik LZW: gambar GIF yang berpola horizontal dan memiliki perubahan warna yang sedikit, serta tidak bernoise akan menghasilkan hasil kompresan yang baik.

– LZW kurang baik digunakan dalam bilevel (hitam-putih) dan true color.

– Format file GIF:

o GIF87a: mendukung interlacing dan mampu manyimpan beberapa image dalam 1 file, ditemukan tahun 1987 dan menjadi standar.

o GIF89a: kelanjutan dari 87a dan ditambahkan dengan dukungan transparency, mendukung text, dan animasi.

– Animated GIF: tidak ada standar bagaimana harus ditampilkan sehingga umumnya image viewer hanya akan menampilkan image pertama dari file GIF. Animated GIF memiliki informasi berapa kali harus diloop.

– Tidak semua bagian dalam animated GIF ditampilkan kembali, hanya

bagian yang berubah saja yang ditampilkan kembali.

2. TEKNIK KOMPRESI PNG(PORTABLE NETWORK GRAPHICS)

PNG adalah format citra dengan kompresi tipe lossless dengan kedalaman bit berkisar antara 1 sampai dengan 32. PNG didesain untuk menggantikan format citra GIF untuk diimplementasikan di website. Algoritma kompresi PNG tidak memerlukan paten karena sudah menjadi public domain sejak tahun 2003.

Menggunakan teknik loseless dan mendukung :

a) Kedalaman warna 48 bit.

b) Tingkat ketelitian sampling : 1, 2, 4, 8, dan 16 bit.

c) Memiliki alpha channel untuk mengkontrol transparency.

d) Teknik pencocokan warna yang lebih canggih dan akurat.

Diprakarsai oleh Thomas Boutell dari PNG Development Groups, dan versi final direlease pada 1 Oktober 1996, 1,5 sejak project berjalan.

Byte ordering : MSB-LSB

Format penamaan file PNG diatur ke dalam suatu urutan blok biner yang disebut sebagai “chunk” (gumpalan), yang terdiri dari :

o Length (4 byte), berupa informasi ukuran PNG.

o Type (4 byte), berupa informasi nama chunk.

o Data (ukuran dinamis), berupa data PNG.

o CRC (cyclic redundancy check), berupa CRC-32 untuk pendeteksian error checking pada saat transmisi data.

Sedangkan struktur file PNG adalah :

a. PNG signature : tanda file PNG.

b. IHDR chunk : menyimpan dimension.

c. PLTE chunk : untuk PNG yang menggunakan color palette type.

d. IDAT chunk 1, IDAT chunk 2, IDAT chunk 3, … IDAT chunk-n.

e. IEND chunk : end of PNG image.

3. TEKNIK KOMPRESI JPEG(JOINT PHOTOGRAPIC EXPERTS GROUP)

JPEG biasanya digunakan untuk foto atau citra di website. JPEG menggunakan kompresi tipe lossy. Kualitas JPEG 2000 bisa bervariasi tergantung setting kompresi yang digunakan. Kompresi JPEG berbasis DCT(Discreete Cosine Transform).

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.

Byte order : MSB-LSB.

Tahapan kompresi JPEG :

a. Sampling adalah proses pengkonversian data pixel dari RGB ke YUV/YIQ dan dilakukan down sampling.

b. DCT (Discreete Cosine Transform) adalah hasil dari proses sampling akan digunakan sebagai inputan proses DCT, dimana blok 8*8 pixels akan diubah menjadi fungsi matriks cosines.

c. Quantization adalah proses membersihkan koefisien DCT yang tidak penting untuk pembentukan image baru.

4. TEKNIK KOMPRESI BMP(WINDOWS BITMAP)

Biasanya digunakan oleh aplikasi dan system operasi Microsoft Windows. Merupakan kompresi lossless. Ukuran sebenarnya untuk
n-bit (2n warna) bitmap dalam byte dapat dihitung:

ukuran file BMP \approx 54+4 \cdot 2^n+\frac{lebar \cdot tinggi \cdot n}{8}, dimana tinggi dan lebar dalam pixel.

Kerapatan titik-titik tersebut dinamakan resolusi, yang menunjukkan seberapa tajam gambar ini ditampilkan, ditunjukkan dengan jumlah baris dan kolom, contohnya 1024×768.

Untuk menampilkan citra bitmap pada monitor atau mencetaknya pada printer, komputer menterjemahkan bitmap ini menjadi pixel (pada layar) atau titik tinta (pada printer). Beberapa format file bitmap yang populer adalah BMP, PCX dan TIFF.

5. TEKNIK KOMPRESI TIFF(Tagged Image File Format)

TIFF adalah format gambar yang fleksibel biasanya hanya menyimpan 16-bit per warna mearh, hijau, dan biru untuk total 48-bit atau 8-bit per warna dengan menggunakan nama file atau perpanjangan TIFF TIF. TIFF yang kedua adalah fleksibilitas fitur, dan kutukan, dengan tidak ada satu pembaca semua mampu menangani berbagai jenis file TIFF. TIFF dapat lossy atau lossless. Beberapa jenis TIFF menawarkan kompresi lossless relatif baik untuk tingkat dua (hitam dan putih, tidak abu-abu) gambar. Beberapa tinggi-akhir kamera digital memiliki pilihan untuk menyimpan gambar dalam format TIFF, menggunakan algoritma kompresi LZW untuk lossless penyimpanan. TIFF format gambar yang tidak didukung penuh oleh web browser, dan tidak boleh digunakan di World Wide Web. TIFF masih secara luas diterima sebagai file foto standar dalam industri percetakan. TIFF adalah mampu menangani perangkat-warna ruang khusus, seperti yang ditetapkan oleh CMYK tertentu menetapkan pencetakan tekan inks.

3 Comments

  1. astutistuker said,

    skrng saya jadi lbh tahu mengenai jpg, png, tifll ,dll
    tx a lot

  2. keikeishensei said,

    thanks… Bosss. informasi nya akan saya gunakan untuk referensi Tugas Akhir….
    Thanks ya……

Leave a comment