2-T_Multimedia-Representasi Grafik dan Image

44
AKT 361 Multimedia Technology 2 - Representasi Graphics/Image Semester Genap 2010/2011 Muhammad Ghifary, S.T., M.T.

Transcript of 2-T_Multimedia-Representasi Grafik dan Image

Page 1: 2-T_Multimedia-Representasi Grafik dan Image

AKT 361Multimedia Technology

2 - Representasi Graphics/Image

Semester Genap 2010/2011

Muhammad Ghifary, S.T., M.T.

Page 2: 2-T_Multimedia-Representasi Grafik dan Image

Overview

1. Tipe Data Graphics/Image 1-bit image 8-bit gray-level image Bitplane Dithering Color Image

2. Format File Graphics/Image Populer

Page 3: 2-T_Multimedia-Representasi Grafik dan Image

1. Tipe Data Graphics/Image

Jumlah format file pada multimedia terus berkembang

Tabel di bawah ini merupakan daftar format file yang digunakan pada Adobe Director

Page 4: 2-T_Multimedia-Representasi Grafik dan Image

1-bit Image Pixel atau pel : picture element

Setiap pixel disimpan sebagai sebuah bit (0 atau 1) => binary image

Gambar tanpa warna => 1-bit monochrome

Page 5: 2-T_Multimedia-Representasi Grafik dan Image

“Lena” in 1-bit monocrhome

Page 6: 2-T_Multimedia-Representasi Grafik dan Image

8-bit Gray-level Image Setiap pixel memiliki gray-value antara 0 –

255, direpresentasikan dengan sebuah byte

Semakin besar gray-value, semakin terang / bright

Bitmap: array 2 dimensi dari nilai pixel yang merepresentasikan data graphics/image

Resolusi => jumlah pixel pada suatu gambar digital

Semakin besar resolusi, semakin detail gambar yang dibentuk / berkualitas baik

e.g. 1.600 x 1.200 (high resolution), 640 x 480 (lower resolution)

Page 7: 2-T_Multimedia-Representasi Grafik dan Image

8-bit Gray-level Image (2)

Frame buffer: perangkat keras untuk menyimpan bitmap

e.g. Video Card / Graphic Card

Resolusi pada video card tidak harus cocok dengan resolusi gambar. Jika resolusi tidak mencukupi, data gambar dipertukarkan (“shift”) dengan RAM untuk keperluan display

8-bit image : a set of 1-bit bitplanes

setiap plane terdiri dari representasi 1-bit

higher and higher levels of “elevation” : a bit is “turned” on if the image pixel has a nonzero value at or above that bit level

Page 8: 2-T_Multimedia-Representasi Grafik dan Image

Bitplane / Bidang bit

Setiap plane memiliki nilai 0 atau 1 pada setiap pixel

Sebuah “lorong” yang menelusuri kedelapan bidang tersebut membentuk sebuah rangkaian bit yang disebut byte sehingga memiliki rentang nilai 0 - 255

Page 9: 2-T_Multimedia-Representasi Grafik dan Image

“Lena” in 8-bit grayscale

Page 10: 2-T_Multimedia-Representasi Grafik dan Image

Multimedia Presentation

Karena setiap pixel tersimpan dalam sebuah byte (0 - 255), sehingga sebuah gambar grayscale beresolusi 640x480 membutuhkan penyimpanan sebesar 300 kB (640 x 480 = 307200 bytes)

Ketika sebuah gambar dicetak, strategi dasar yang digunakan adalah dithering, yang mengandalkan intensity resolution untuk memungkinkan pencetakan multi-level images pada printer 2-level (1-bit)

Page 11: 2-T_Multimedia-Representasi Grafik dan Image

Dithering 1-bit printer/plotter hanya tau “cetak” atau “tidak

cetak”, sehingga kemungkinan warna hanyalah “hitam” atau “tidak hitam”

Digunakan untuk mengkalkulasi pola titik/dots yang berkorepondensi dengan nilai 0 – 255

Semakin “kecil” nilai, semakin “rapat/banyak/tebal” yang dicetak

Ilusi untuk menciptakan warna “baru”

e.g. pada mode grayscale : abu-abu

e.g. pada mode RGB : kuning <= merah + hijau

Strategi : timpa (replace) sebuah nilai pixel dengan pola titik yang lebih besar, misal, 2 x 2 atau 4 x 4

Page 12: 2-T_Multimedia-Representasi Grafik dan Image

Dithering (2) Dither Matrix

Matriks segiempat yang berisi nilai threshold yang digunakan untuk membentuk suatu pola nilai baru pada sebuah image

Dibuat secara ”heuristik”

Misal: terdapat matriks 1-bit titik berukuran n x n, dapat direpresentasikan n^2 + 1 levels of intensity resolution

Ilustrasi : 3 buah filled-dot dihitung sebagai 1 intensity resolution

Contoh, menggunakan 2 x 2 dither matrix :

Page 13: 2-T_Multimedia-Representasi Grafik dan Image

Dithering (3) Jika menggunakan dither matriks 2 x 2

tersebut, re-map image value dari 0 – 255 ke 0 – 4 (dengan interval 256/5). Lalu, e.g. :

jika nilai pixel 0 maka “jangan cetak” pada area 2 x 2 pada printer output

Jika nilai pixel 4, “cetak” semua 4 titik

Aturan main :

Jika intensitas > nilai entri pada dither matrix, maka cetak sebuah “on dot” pada lokasi entri tersebut: replace setiap pixel dengan sebuah matriks titik berukuran n x n

Ukuran dithered image lebih besar dari aslinya

Kondisi ekstrim: jika me-replace sebuah nilai pixel dengan matriks 10 x 10, maka ukuran gambar menjadi 100x lebih besar !

Page 14: 2-T_Multimedia-Representasi Grafik dan Image

Dithering (4) Terdapat sebuah trik untuk mengatasi masalah

terlalu besarnya dithered image. Misal, digunakan sebuah dither matrix berukuran 4 x 4 sbb ;

Triknya adalah menggunakan teknik ordered dither

Menghasilkan output yang terdiri atas nilai turning on untuk printer output bit jika level intensitas dari gambar > nilai elemen matriks pada posisi pixel tersebut

Mempertahankan ukuran gambar output agar sama dengan gambar aslinya

Page 15: 2-T_Multimedia-Representasi Grafik dan Image

Dithering (5) Algoritma untuk ordered dither, dengan

dither matrix berukuran n x n :

Page 16: 2-T_Multimedia-Representasi Grafik dan Image

Again…. “Lena” (in dithered version)

a) 8-bit grey image

b) Dithered version of the image

c) Detail of dithered version

Page 17: 2-T_Multimedia-Representasi Grafik dan Image

To be continued ….

Page 18: 2-T_Multimedia-Representasi Grafik dan Image

Tugas 1 – dikumpulkan senin, 31 Januari 2010

1. Carilah informasi mengenai sebuah proyek/teknologi/konsep multimedia terkini (state-of-the-art), dan tulis penjelasannya seinformatif mungkin (jangan lupa sebutkan pula informasi mengenai sumbernya)

2. Buat sebuah program kecil yang mensimulasikan algoritma untuk “ordered dithered”

3. Sebutkan dan jelaskan teknik dithering lainnya (min. 1 buah) selain ordered dithering yang konvensional

Page 19: 2-T_Multimedia-Representasi Grafik dan Image

Tipe Data Image

Yang paling banyak digunakan : 24-bit color dan 8-bit color

Ada yang hardware/OS restricted, ada yang cross-platform

Untuk yang tidak cross platform, biasanya ada konversi (translasi format dari suatu sistem ke sistem yang lain)

Sebagian besar format image menggunakan teknik kompresi untuk menghemat storage.

Page 20: 2-T_Multimedia-Representasi Grafik dan Image

Gambar Berwarna 24-bit

1 pixel = 3 bytes (RGB)

Mampu menyediakan 256 x 256 x256 = 16.777.216 kombinasi warna yang mungkin

Trade off : Sebuah gambar berwarna 24-bit yang berukuran 640 x 480 membutuhkan tempat penyimpanan sebesar 912.6 kB (tanpa kompresi)

Gambar berwarma 24-bit kebanyakan disimpan sebagai gambar 32-bit, dengan tambahan byte ekstra untuk setiap pixel-nya yang digunakan untuk nilai alpha / transparency

Page 21: 2-T_Multimedia-Representasi Grafik dan Image

Gambar 24-bit (“.bmp”)

a) : Contoh gambar bewarna 24-bit dalam format “.BMP”

b) c) d) : channel warna R,G, dan B untuk gambar a)

Page 22: 2-T_Multimedia-Representasi Grafik dan Image

Gambar Berwarna 8-bit

Banyak sistem yang menggunakan informasi warna 8 bit / “256 colors” untuk memproduksi screen image.

Menggunakan lookup table untuk menyimpan informasi warna

Gambar tidak menyimpan informasi warna, tetapi hanya kumpulan bytes yang masing-masing merupakan index dari tabel bernilai 3-byte yang menyatakan warna per pixel

Page 23: 2-T_Multimedia-Representasi Grafik dan Image

Histogram 3D dari Nilai RGB

Page 24: 2-T_Multimedia-Representasi Grafik dan Image

Gambar 8-bit (“.gif”)

Gambar berwarna 8 bit beriukuran 640 x 480 hanya memerlukan 300 kB, atau 3 kali lebih kecil dari 24-bit (tanpa kompresi)

Page 25: 2-T_Multimedia-Representasi Grafik dan Image

Color Look-up Tables (LUTs)

Ide : hanya menyimpan index/kode nilai dari setiap pixel pada gambar 8-bit.

Jika sebuah pixel bernilai 25, itu artinya akan mencari baris ke-25 pada color Look-up Table (LUT)

Page 26: 2-T_Multimedia-Representasi Grafik dan Image

Color-Picker

Color picker terdiri atas sebuah array blok warna yang cukup besar (semi-continuous range of color)

Pada kenyataannya, sebuah color-picker menampilkan warna palette yang berasiosiasi dengan nilai index antara 0 – 255

Dapat dilakukan process animasi yang paling sederhana dengan cara mengubah tabel warna : color cycling atau palette animation

Page 27: 2-T_Multimedia-Representasi Grafik dan Image

Color-picker untuk warna 8-bit

Setiap blok dari color-picker berkorespondensi dengan sebuah baris pada LUT

Page 28: 2-T_Multimedia-Representasi Grafik dan Image

RGB Cubes

Page 29: 2-T_Multimedia-Representasi Grafik dan Image

Bagaimana merancang color LUT ? (Pendekatan I)

Cara termudah untuk membuat 8-bit look-up color dari 24-bit color adalah membagi kubus RGB menjadi potongan-potongan yang sama di setiap dimensinya

Titik pusat dari tiap tabung potongan akan dijadikan entri pada color LUT, lalu nilai RGB yang memiliki rentang 0..255 akan disusutkan menjadi rentang yang sesuai (dalam bentuk kode 8-bit)

Karena mata manusia lebih sensistif terhadap R dan G dibandingkan B, R dan G disusutkan menjadi masing-masing 3-bit (0..7) dan B disusutkan menjadi 2-bit (0..3). Dengan demikian, total bit = 8 bit

Untuk menyusutkan R dan G, hanya dengan cara membagi nilai R atau G dengan (256/8 =) 32 lalu bulatkan. Kemudian, setiap pixel akan di replace dengan nilai index 8-bit yang baru tersebut.

Problem : color reduction (an edge appears when there is a slight change in RGB)

Page 30: 2-T_Multimedia-Representasi Grafik dan Image

Bagaimana merancang color LUT ? (Pendekatan II)

A simple alternate solution that does a better job for this color reduction problem.

The idea is to sort the R byte values and find their median; then values smaller than the median are labeled with a "0" bit and values larger than the median are labeled with a "1" bit.

This type of scheme will indeed concentrate bits where they most need to differentiate between high populations of close colors.

One can most easily visualize finding the median by using a histogram showing counts at position 0..255.

Page 31: 2-T_Multimedia-Representasi Grafik dan Image

Contoh Histogram nilai byte dari Red

Page 32: 2-T_Multimedia-Representasi Grafik dan Image

Median-Cut Algorithm

1. Find the smallest box that contains all the colors in the image.

2. Sort the enclosed colors along the longest dimension of the box.

3. Split the box into two regions at the median of the sorted list.

4. Repeat that the above process in steps (2) and (3) until the original color space has been divided into, say, 256 regions.

5. For every box, call the mean of R, G, and B in that box the representative (the center) color for the box.

6. Based on the Euclidean distance between a pixel RGB value and the box centers, assign every pixel to one of the representative colors. Replace the pixel by the code in a lookup table that indexes representative colors.

Page 33: 2-T_Multimedia-Representasi Grafik dan Image

2. Format File Populer

8-bit GIF

Salah satu format terpenting karena hubungan historisnya dengan WWW dan HTML

Tipe image pertama yang dikenali oleh net browser

JPEG

Saat ini merupakan file format yang terpenting untuk kebutuhan kompresi

Page 34: 2-T_Multimedia-Representasi Grafik dan Image

GIF Graphics Interchange Format

GIF Standard :

Dibatasi hanya dengan warna 8-bit / 256 color

Cocok untuk kebutuhan gambar yang membutuhkan hanya beberapa warna khas (e.g. graphics ata drawing)

Mendukung interlacing

“Successive display” dari pixel dalam baris per baris sebanyak 4-pass

Memiliki 2 bentuk :

1) GIF87a: The original specifications

2) GIF89a: The later version

Mendukung animasi via blok Graphics Control Extension pada data

Menyediakan pengontrolan over delay time

A transparency index

Page 35: 2-T_Multimedia-Representasi Grafik dan Image

GIF (2) Proses Interlacing

partially copied

Mempercepat terlihatnya gambar secara garis besar

Page 36: 2-T_Multimedia-Representasi Grafik dan Image

GIF87 Untuk spesifikasi standard, format file

umum dari GIF87 adalah sebagai berikut:

Page 37: 2-T_Multimedia-Representasi Grafik dan Image

Screen Descriptor memiliki kumpulan atribut yang dimiliki oleh tiap image pada file.

Page 38: 2-T_Multimedia-Representasi Grafik dan Image

Color Map

Ukuran tabel sebenernya adalah 2^(pixel + 1)

Page 39: 2-T_Multimedia-Representasi Grafik dan Image

Image Descriptor

Page 40: 2-T_Multimedia-Representasi Grafik dan Image

Jika bit interlaced di-set pada local Image Descriptor, maka baris-baris gambar ditampilkan dalam sekuens 4-pass

Page 41: 2-T_Multimedia-Representasi Grafik dan Image

JPEG

JPEG: standar format file terpenting untuk kompresi gambar

Human vision system memiliki beberapa batasan dan JPEG memanfaatkan keterbatasan tersebut untuk mencapai kompresi yang high-rates

JPEG memungkinkan penguna untuk mengeset level of quality yang diinginkan atau compression ratio ( input / output)

Page 42: 2-T_Multimedia-Representasi Grafik dan Image

PNG

PNG singkatan dari Portable Network Graphics

dirancang untuk menggantikan format GIF

Fitur-fitur spesial

Mendukung hingga 48 bit informasi warna

Ada informasi mengenai gamma-correction

Page 43: 2-T_Multimedia-Representasi Grafik dan Image

TIFF

TIFF singkatan dari Tagged Image File Format

Adanya penambahan “tags” (attachment of additional information)

Tag terpenting : signifier (menentukan tipe kompresi penyimpanan gambar)

Dapat menyimpan gambar dalam tipe yang berbeda-beda : 1-bit, grayscale, 8-bit color, 24-bit RGB, dll

“Lossless format”

Page 44: 2-T_Multimedia-Representasi Grafik dan Image

Format-Format File Image Lainnya (silakan dieksplorasi)

EXIF (Exchange Image File)

Graphics Animation Files :

FLC, FLI, GL, DL/Amiga IFF

PS (Postscript) & PDF (Portable Document Format)

Other JPEG Format :

WMF, BMP, PAINT, PICT, PPM