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