• Tidak ada hasil yang ditemukan

Bit Depth : Kedalaman Warna

N/A
N/A
Protected

Academic year: 2018

Membagikan "Bit Depth : Kedalaman Warna"

Copied!
13
0
0

Teks penuh

(1)

KOMPRESI CITRA

Yeni Herdiyeni

Departmen Ilmu Komputer IPB

Terms

Enkoder / Compresor : software (atau hardware) yang mengkodekan data orisinal menjadi data terkompres

Dekoder / Decompresor : software (atau hardware) yang mendekode data terkompres menjadi data orisinal

Codec :

software (atau hardware) yang yang mengkodekan dan mendekodekan data

Algoritma : teknik yang digunakan dalam proses pengkodean/kompresi

Bit Depth : Kedalaman Warna

Kedalaman warna menentukan berapa banyak

warna yang dapat ditampilkan oleh satu

pixel

yang direpresentasikan dalam banyak bit yang

ditampung pada pixel

Kedalaman warna (

bitdepth

) :

–1 bit : monokrom (2 warna)

–4 bit : greyscale atau color (16 warna)

–8 bit : greyscale atau color (256 warna)

–16 bit : high color (16 warna)

–24 bit : true color (16.777.216 warna)

Bit Rate

Bit Rate

disebut juga dengan nama data rate

Bit rate menentukan jumlah data yang

ditampilkan saat video dimainkan, yang

dinyatakan dalam satuan

bps

(

bit per second

).

Data rate berkaitan erat dengan pemakaian

dan pemilihan codec (metode kompresi

video).

Kompresi Citra

Kompresi Citra adalah aplikasi kompresi data

(2)

Teknik Kompresi Citra

(4)

Loseless Compression :

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

–Biasa digunakan pada citra medis.

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

Contoh Citra Medik

Teknik Kompresi Citra

(1)

Lossy Compression :

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

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

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

Teknik Kompresi Citra

(2)

Beberapa teknik lossy

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

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.

(3)

Downsampling

• The human eye can see more detail in the Y component (brightness) than in Cb (blue) and Cr (red). Using this knowledge, encoders can be designed to compress images more efficiently. (http://en.wikipedia.org)

• Transformasi warna dari RGB ke ruang warna (color space) dinamakan YCbCr.

• Pengurangan komponen Cb dan Cr dinamakan "downsampling" atau "chroma subsampling“

• Downsampling the chroma components menghemat 33% atau 50% space yang digunakan image.

Contoh Downsampling

• Rasio downsampling pada JPEG adalah 4:4:4 (no downsampling), 4:2:2 (reduce by factor of 2 in horizontal direction), dan 4:2:0 (reduce by factor of 2 in horizontal and vertical directions).

Teknik Kompresi Citra

(3)

Transform coding : menggunakan Fourier Transform seperti DCT (Discrete Cosine Transform).

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 image yang lain.

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

Hal-Hal Penting Dalam Kompresi Citra

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.

Hal-Hal Penting Dalam Kompresi Citra

–Tipe scalability :

Quality progressive : dimana image dikompres secara perlahan-lahan dengan penurunan kualitasnya. •Resolution progressive : dimana image dikompresi

dengan mengenkode resolusi image yang lebih rendah terlebih dahulu baru kemudian ke resolusi yang lebih tinggi.

Component progressive : dimana image dikompresi berdasarkan komponennya, pertama mengenkode komponen greybaru kemudian komponen warnanya.

Hal-Hal Penting Dalam Kompresi Citra

Region of Interest Coding : daerah-daerah

tertentu dienkode dengan kualitas yang lebih

tinggi daripada yang lain.

Meta Information : image yang dikompres juga

(4)

Algoritma Kompresi/Dekompresi Citra

(1)

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

–Menggunakan salah satu teknik : DWT (Discreate Wavelet Transform) : mencari frekuensi nilai pixel masing-masing, menggabungkannya menjadi satu dan mengelompokkannya sebagai berikut:

Algoritma Kompresi/Dekompresi Citra

(2)

• Dimana

–LL : Low Low Frequency (most importance) –HL : High Low Frequency (lesser importance) –LH : Low High Frequency (more lesser importance) –HH : High High Frequency (most less importance)

Algoritma Kompresi/Dekompresi Citra

(3)

Hasil dekomposisi 3 level decomposition

Algoritma Kompresi/Dekompresi Citra

(4)

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

–4. Lakukan kuantisasi (quantization).

•Kuantisasi Scalar : data-data dikuantisasi sendiri-sendiri •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.

Algoritma Kompresi/Dekompresi Citra

Sedangkan algoritma umum dekompresi

image adalah :

–1. Baca data hasil kompresi menggunakan entropy dekoder.

–2. Dekuantisasi data.

–3. Rebuild image.

(5)

Teknik Kompresi GIF

GIF (Graphic Interchange Format) dibuat oleh

Compuserve pada tahun 1987 untuk

menyimpan berbagai file bitmap menjadi 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

Interlacing

• Interlacing separates the odd and even lines and transmits them separately. It allows the overall frame rate to be half what it would need to be if the whole display were delivered progressively. Thus, it reduces the bandwidth required to 50% and is therefore a form of compression.

Struktur file GIF

(1)

Header : menyimpan informasi identitas file

GIF (3 bytes, harus string “GIF“) dan versinya

(3 bytes, harus string “87a“ or “89b“)

Global Screen Descriptor (GSD) :

mendefinisikan logical screen area dimana

masing-masing file GIF ditampilkan.

Struktur file GIF

(3)

Global Color Table

: masing-masing image

dalam GIF dapat menggunakan

global color

table

atau tabel warnanya sendiri-sendiri.

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

Struktur file GIF

(2)

Struktur file GIF

(4)
(6)

Kompresi LZW

(Lempel, Ziv dan Welch)

pada GIF

Proses

encoding

yang mencari rangkaian

pixel

yang sama pada gambar. Pola yang lebih

sering muncul mendapatkan sebuah kode

yang mewakili rangkaian tersebut dalam file

terkompresi.

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

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.

Teknik Kompresi PNG

(1)

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

Teknik Kompresi PNG

(2)

Diprakarsai oleh Thomas Boutell dari PNG

Development Group, dan versi finalnya

direlease pada 1 Oktober 1996, 1,5 tahun

sejak project berjalan.

Byte ordering : MSB-LSB

Teknik Kompresi PNG

(3)

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

–Data (ukuran dinamis), berupa data PNG.

(7)

Proses PNG Decoder

Proses PNG decoder adalah sebagai berikut :

–Baca chunk data size

–Baca dan simpan chunk type

–Jika ukuran chunk data lebih besar daripada data buffer, alokasikan buffer yang lebih besar

–Baca chunk data

–Hitung CRC value dari chunk data

–Baca CRC dari file yang diterima

–Bandingkan hasil perhitungan CRC dengan CRC dari file, jika tidak sama, berarti chunk invalid, minta kirim ulang.

Struktur File PNG

Struktur file PNG adalah :

–PNG Signature : tanda file PNG

–IHDR chunk : menyimpan dimension, depth, dan color type

–PLTE chun k: 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

Warna PNG

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.

Warna PNG

–RGB Alpha Channel :

•agar image dan background dapat dikombinasikan •untuk mengkontrol transparency

•hanya bisa digunakan pada bit depth 8 atau 16 bits •jika alpha channel 0 berarti 100% transparan, sehingga

background terlihat seutuhnya.

•Jika alpha channel 2image bit depth -1berarti fully opaque,

sehingga background sama sekali tidak terlihat karena tertutup oleh image.

–Grayscale with Alpha Channel : hanya bisa 8/16 bits

Interlacing pada PNG

PNG mendukung interlacing yang disebut

Adam 7, yang menginterlace berdasarkan

pixel daripada berdasarkan baris. Adam akan

membagi image ke dalam 8x8 pixel, yang akan

diupdate dalam 7 fase interlacing.

Interlacing pada PNG

(8)

Teknik Kompresi PNG

Teknik kompresi yang digunakan adalah

Deflate

yang merupakan kelanjutan dari

algoritma Lempel-Ziv. Cara kerja Deflate sama

dengan LZW dan melakukan scanning secara

horisontal.

.

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 Compression Models

(1)

Sequential

: kompresi dilakukan secara

top-down

,

left-right

menggunakan proses

single-scan dan algoritma Huffman Encoding 8 bit

secara sekuensial.

JPEG Compression Models

(2)

Progressive

: kompresi dilakukan dengan

multiple-scan secara progresif, sehingga kita

dapat mengira-ira gambar yang akan kita

download.

JPEG Compression Models

(3)

Hierarchical

: super-progressive mode,

dimana image akan dipecah-pecah menjadi

sub image yang disebut frame. Frame pertama

akan membentuk image dalam resolusi

rendah hingga berangsur-angsur ke resolusi

tinggi.

Loseless (JPEG-LS) : exact image

Teknik Kompresi JPEG

JPEG merupakan nama teknik kompresi,

sedangkan nama format filenya adalah JFIF

(

JPEG File Interchange Format

)

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.

(9)

Tahapan Kompresi JPEG

(1)

Sampling

: adalah proses pengkonversian data

pixel dari RGB ke YUV/YIQ dan dilakukan

down

sampling

. Biasanya sampling dilakukan per

8x8 blok, semakin banyak blok yang dipakai

makin bagus kualitas sampling yang

dihasilkan.

DCT

(

Discreate Cosine Transform

) : hasil dari

proses sampling akan digunakan sebagai

inputan proses DCT, dimana blok 8x8 pixels

akan diubah menjadi fungsi matriks cosinus

Tahapan Kompresi JPEG

(2)

Quantization

: proses membersihkan koefisien

DCT yang tidak penting untuk pembentukan

image baru. Hal ini yang menyebabkan JPEG

bersifat lossy.

Entropy Coding

: proses penggunaan

algoritma entropy, misalnya Huffman atau

Aritmatik untuk mengenkodekan koefisien

hasil proses DCT yang akan mengeliminasi

nilai-nilai matriks yang bernilai nol secara

zig-zag order.

Tahapan Kompresi JPEG

(3)

Baseline sequential JPEG encoding and

decoding processes

Step 1: Picture Preparation (a)

Color space transformation

–First, the image is converted from RGB into a different color space called YCbCr. This is the same as the color space used by PAL, MAC and Digital color television transmission.

•The Y component represents the brightness of a pixel •The Cb and Cr components together represent the chrominance

(10)

Y U V (Y Cb Cr) Components

Assign more bits to Y, less bits to Cb and Cr

Step 1: Picture Preparation (b)

Downsampling

–The human eye can see more detail in the Y component than in Cb and Cr. Using this knowledge, encoders can be designed to compress images more efficiently. –The above transformation enables the next step, which

is to reduce the Cb and Cr components (called "downsampling" or "chroma subsampling"). –Typically each group of 4 pixels would be sampled with

4 values for Y and only 1 each for U & V (sampling ratio of 4:1:1).

–For the rest of the compression process, Y, Cb and Cr are processed separately and in a very similar manner.

Step 1: Picture Preparation (b)

Downsampling

–Original: 12 blocks. –Sampled: 4 + 1 + 1 = 6 blocks. –Compression ratio = 50%.

–There is 75% lost in chrominance components –For the rest of the compression process, Y, Cb and Cr are

processed separately and in a very similar manner.

Step 2: Picture Processing

Discrete Cosine Transform

–Next, each component (Y, Cb, Cr) of the image is "tiled" into sections of eight by eight pixels each, then each tile is converted to frequency space using a two-dimensional forward discrete cosine transform.

–Within the MCU, each component is processed separately one 8x8 block at a time.

–The luminance block is shifted from numbers 0..255 to numbers –128..127 by subtracting 128.

–Chrominance values are already in the range –128..127.

The 64 (8 X 8) DCT Basis Functions

•Each 8x8 block can be looked at as a weighted sum of these basis functions.

•The process of 2D DCT is also the process of finding those weights.

Step 2: Picture Processing

–Each block is transformed by the forward DCT into low-and high-frequency information.

–This step is lossless, except that there may be little lost due to rounding of DCT coefficients

(11)

JPEG Image Compression II

DCT: similar to FT; only real (cosine) part is kept.

Identifies average value (dc coefficient) and remaining components (ac coefficients).

Step 2: Picture Processing

–which, if we now subtract 128 from each element, results in

–and then taking the DCT and rounding to the nearest integer results in

–Note the rather large value of the top-left corner. This is the DC coefficient. The remaining 63 coefficients are called the AC coefficients.

Step 3: Quantization

• The human eye is good at seeing small differences in brightness over a relatively large area, but not so good at distinguishing the exact strength of a high frequency brightness variation.

• This fact allows one to get away with greatly reducing the amount of information in the high frequency

components.

• This is done by simply dividing each component in the frequency domain by a constant for that component, and then rounding to the nearest integer.

• This is the main lossy operation in the whole process.

Step 3: Quantization

• As a result of this, it is typically the case that many of the higher frequency components are rounded to zero, and many of the rest become small positive or negative numbers.

• A common quantization matrix is:

Step 3: Quantization

Using this quantization matrix with the DCT coefficient matrix from above results in:

For example, using −415 (the DC coefficient) and rounding to

the nearest integer

The quantization matrix may be scaled by a quality factor

Step 4: Entropy Encoding

• Entropy coding is a special form of lossless data compression.

(12)

Step 4: Entropy Encoding

• AC Coefficient Coding

–the 63 quantized coefficients are converted into a one-dimensional zig-zag sequence to increase the run length of zeros.

- zero run-length encoding is then applied. - Huffman coding or arithmetic encoding is then further applied.

Zig-zag Scan DCT Blocks

• Why? -- To group low frequency coefficients in top of vector. • Maps 8 x 8 to a 1 x 64 vector.

0 1 5 6 14 15 27 28

2 4 7 13 16 26 29 42 3 8 12 17 25 30 41 43

9 11 18 24 31 40 44 53

10 19 23 32 39 45 52 54

20 22 33 38 46 51 55 60

21 34 37 47 50 56 59 61 35 36 49 48 57 58 62 63

Horizontal frequency

V

e

rt

ic

a

l f

re

q

u

e

n

c

y

• The zig-zag sequence for the above quantized coefficients would be:

−26, −3, 0, −3, −2, −6, 2, −4, 1, −4, 1, 1, 5, 1, 2, −1, 1, −1, 2, 0, 0, 0, 0, 0, −1, −1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0

DC coefficient is -26

Zero run-length encoding is

(0, -3),

(1, -3), (0, -2), (0, -6), (0, 2), (0, -4),

(0, 1), (0, -4), (0, 1), (0, 1), (0, 5), (0, 1),

(0, 2), (0, -1), (0, 1), (0, -1), (0, 2),

(5, -1), (0, -1),

(0, 0)

Decoding

• Decoding to display the image consists of doing all the above in reverse.

• Taking the DCT coefficient matrix (after adding the difference of the DC coefficient back in)

Decoding

• and multiplying it by the quantization matrix from above results in

• which closely resembles the original DCT coefficient matrix for the top-left portion.

(13)

Decoding

• Taking the inverse DCT (type-III DCT) results in an image with values (still shifted down by 128)

• and adding 128 to each entry Original

JPEG

Latihan

• Given the following matrices Matrix A : 8 x 8 luminance block.

Matrix B : 8 x 8 Quantization matrix (luminance)

a) For this luminance block, obtain a Matrix C by subtracting each entry from 128.

b) Obtained the DCT coefficient matrix as a result of apply DCT to Matrix C.

c) Compute the quantized coefficients using truncation to the nearest integers and then write them out in a zig-zag order.

d) Compute the quantized coefficients by rounding to the nearest integers and then write them out in a zig-zag order.

e) Compare the merits of using each of the techniques in parts (d) and (e) above.

JPEG 2000

• JPEG 2000 merupakan 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

JPEG 2000

• Kelebihan (lanjutan) :

–Robustness to bit error yang digunakan untuk komunikasi jaringan dan wireless

–Open architecture : single compression/decompression –Mendukung protective image security : watermarking,

labeling, stamping, dan encryption

–Mendukung image ukuran besar 64k x 64k, size up to 232

-1

Gambar

gambar GIF yang berpola horizontal dan

Referensi

Dokumen terkait

Kompresi citra merupakan aplikasi data yang dilakukan terhadap citra digital dengan tujuan untuk mengurangi redudansi dari data-data yang terdapat dalam citra sehingga dapat

Kompresi citra adalah aplikasi kompresi data yang dilakukan terhadap citra digital dengan tujuan untuk mengurangi redundansi dari data – data yang terdapat dalam

Kompresi Citra adalah aplikasi kompresi data yang dilakukan terhadap citra digital dengan tujuan untuk mengurangi redundansi dari data-data yang terdapat dalam citra

Kompresi citra yaitu aplikasi kompresi data yang dilakukan terhadap citra digital dengan tujuan untuk mengurangi redudansi dari data yang terdapat dalam citra sehingga dapat

Selain itu juga didalam sebuah citra juga terdapat Kompresi Citra adalah aplikasi kompresi data yang dilakukan terhadap citra digital dengan tujuan untuk

Prinsip umum yang digunakan pada proses pemampatan citra adalah mengurangi redundansi data di dalam citra sehingga ruang penyimpanan yang dibutuhkan untuk merepresentasikan citra

• Kompresi Citra adalah aplikasi kompresi data yang dilakukan terhadap citra digital dengan tujuan untuk mengurangi redundansi dari data-data yang terdapat dalam

KOMPRESI CITRA Kompresi Citra adalah aplikasi kompresi data yang dilakukan terhadap citra digital dengan tujuan untuk mengurangi redundansi dari data-data yang