About

Minggu, 02 Juni 2013

Kompresi Citra

        KOMPRESI CITRA

Kompresi Citra adalah aplikasi kompresi data yang dilakukan terhadap citra digital dengan tujuan untuk mengurangi redundansi dari data-data yang terdapat dalam citra sehingga dapat disimpan atau ditransmisikan secara efisien.

BEBERAPA METODE KOMPRESI CITRA

A.   TEKNIK KOMPRESI GIF
          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.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:
·        Header: menyimpan informasi identitas file GIF (3 bytes, harus    string “GIF“) dan versinya (3 bytes, harus string “87a“ or “89b“)
·        Global Screen Descriptor: mendefinisikan logical screen area dimana masing-masing file GIF ditampilkan.
·        Global Color Table: masing-masing image dalam GIF dapat menggunakan global color table atau tabel warnanya sendirisendiri. Penggunaan GCT akan memperkecil ukuran file GIF.
·        Image1, Image2, Image3, ... Image-n: dimana masing-masing image memiliki struktur blok sendiri-sendiri dan terminator antar file.
·        Trailer: Akhir dari sebuah file GIF


- LZW kurang baik digunakan dalam bilevel (hitam-putih) dan true   color
- Format file GIF:
·        GIF87a : mendukung interlacing dan mampu manyimpan beberapa image dalam 1 file, ditemukan tahun 1987 dan menjadi standar.
·        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.

B.   TEKNIK KOMPRESI PNG
          PNG (Portable Network Graphics) digunakan di Internet dan merupakan format terbaru setelah GIF, bahkan menggantikan GIF untuk Internet image karena GIF terkena patent LZW yang dilakukan oleh Unisys.

 Menggunakan teknik loseless dan mendukung:
·        Kedalaman warna 48 bit
·        Tingkat ketelitian sampling: 1,2,4,8, dan 16 bit
·        Memiliki alpha channel untuk mengkontrol transparency
·        Teknik pencocokan warna yang lebih canggih dan akurat

           Diprakarsai oleh Thomas Boutell dari PNG Development Group, dan versi finalnya direlease pada 1 Oktober 1996, 1,5 tahun sejak project berjalan.
- Format penamaan file PNG diatur ke dalam suatu urutan blok biner   yang disebut sebagai “chunk“ (gumpalan), yang terdiri dari:
·        Length (4 bytes), berupa informasi ukuran PNG
·        Type (4 byte), berupa informasi nama chunk

Nama chunk terdiri dari 4 karakter ASCII dengan spesifikasi:
 Karakter ke-1,2, dan 4 boleh uppercase/lowercase
a.    Jika karakter ke-1 uppercase, berarti critical chunk (harus valid), contohnya: IHDR, PLTE, IDAT, dan IEND.
b.    Jika karakter ke-1 lowercase, berarti non-critical chunk (contohnya: bKGD, cHRM, gAMA, hIST, pHYs, sBIT, tEXt, tIME, tRNS, zTXt)
c.     Jika karakter ke-2 uppercase, berarti public (PNG Standard)
d.    Jika karakter ke-2 lowercase, berarti private PNG
e.    Jika karakter ke-4 lowercase, berarti save-to-copy
f.     Jika karakter ke-4 uppercase, berarti unsave-to-copy
g.   Karakter 3 harus uppercase

Contoh penamaan:
IHDR: critical, public, unsafe to copy
gAMA: noncritical, public, unsafe to copy
pHYs: noncritical, public, safe to copy


Proses PNG decoder adalah sebagai berikut:
a.    Baca chunk data size
b.    Baca dan simpan chunk type
c.    Jika ukuran chunk data lebih besar daripada data buffer, alokasikan buffer yang lebih besar
d.    Baca chunk data
e.    Hitung CRC value dari chunk data
f.     Baca CRC dari file yang diterima
g.   Bandingkan hasil perhitungan CRC dengan CRC dari file, jika tidak sama, berarti chunk invalid, minta kirim ulang.

- Sedangkan struktur file PNG adalah:
·        PNG Signature: tanda file PNG
·        IHDR chunk: menyimpan dimension, depth, dan color type
·        PLTE chunk: untuk PNG yang menggunakan color palette type
·        IDAT chunk 1, IDAT chunk 2, IDAT chunk 3, ... IDAT chunk-n
·        IEND chunk: end of PNG image

- PNG mendukung 5 cara untuk merepresentasikan warna, dimana tipe warna disimpan dalam bagian IHDR chunk:
·        RGB Triple (R,G, dan B): untuk 8 atau 16 bits
·        Color Palette: yang disimpan dalam PLTE chunk dengan bit depth
·        1,2,4 atau 8.
·        Grayscale: 1 komponen warna per image, bisa digunakan untuk
·        semua bit depth.

          PNG mendukung interlacing yang disebut Adam 7, yang menginterlace berdasarkan pixel daripada berdasarkan baris. 
          Teknik kompresi yang digunakan adalah Deflate yang merupakan kelanjutan dari algoritma Lempel-Ziv. Cara kerja Deflate sama dengan LZW dan melakukan scanning secara horisontal.



C.   TEKNIK KOMPRESI JPEG
          JPEG (Joint Photograpic Experts Group) menggunakan teknik kompresi lossy sehingga sulit untuk proses pengeditan. JPEG cocok untuk citra pemandangan (natural generated image), tidak cocok untuk citra yang mengandung banyak garis, ketajaman warna, dan computer generated image. JPEG’s compression models:

·              Sequential: kompresi dilakukan secara top-down, left-right menggunakan proses single-scan dan algoritma Huffman Encoding 8 bit secara sekuensial

·         Progressive: kompresi dilakukan dengan multiple-scan secara progresif, sehingga kita dapat mengira-ira gambar yang akan kita download.



        
          D. JPEG 2000
                    Adalah pengembangan kompresi JPEG. Didesain untuk internet, scanning, foto digital, remote sensing, medical imegrey, perpustakaan digital dan e-commerce
         
           Kelebihan:
·        Dapat digunakan pada bit-rate rendah sehingga dapat digunakan
·        untuk network image dan remote sensing
·        Menggunakan Lossy dan loseless tergantung kebutuhan
·        bandwidth. Loseless digunakan untuk medical image
·        Transmisi progresif dan akurasi & resolusi pixel tinggi

0 komentar:

Posting Komentar