72

PCD-Kompresi Dan Watermarking Citra-Budi

Embed Size (px)

DESCRIPTION

PCD-Kompresi Dan Watermarking Citra-Budi

Citation preview

Page 1: PCD-Kompresi Dan Watermarking Citra-Budi
Page 2: PCD-Kompresi Dan Watermarking Citra-Budi

Konsep Kompresi citra adalah seni dan ilmu untuk mengurangi jumlah

data yang dibutuhkan untuk merepresentasikan citra.

◦ Menjadi salah salah satu faktor kesuksesan teknologi digital.

Film pada dasarnya urutan frame dimana setiap frame adalah citra full-color, setiap video player harus memainkan gerakan frame 30 fps.

◦ Maka Standart Definition (SD) digital harus mengakses:

◦ Dan untuk durasi film 2 jam menjadi:

◦ Atau sekitar 224 GB (gigabytes) data, atau sekitar 27 keping DVD dual-layer 8.5 GB (asumsi DVD 12 cm)

2

sec/ 000,104,313)480720(sec

30 bytespixel

byte

frame

pixelsframe

byteshourhour

bytes 1024.22

sec60

sec000,104,31 112

Page 3: PCD-Kompresi Dan Watermarking Citra-Budi

Konsep

Untuk menjadi 1 keping DVD, maka harus dikompres dengan faktor sekitar 26.3. ◦ Kompresi yang lebih tinggi harus dilakukan untuk dapat

menyajikan resolusi film 1980x1080x24 bits/image.

Keuntungan kompresi: ◦ Ukuran citra menjadi lebih compact.

◦ Transmisi di jaringan menjadi lebih cepat.

Kerugian: ◦ Ada waktu yang dibutuhkan untuk melakukan encode dan

decode.

◦ Kualitas citra menjadi turun (meski sulit terdeteksi mata).

Kompresi citra berakar dari topik pembicaraan kompresi data ◦ Kompresi data: proses pengurangan jumlah data yang

dibutuhkan untuk merepresentasikan kuantitas informasi.

3

Page 4: PCD-Kompresi Dan Watermarking Citra-Budi

Konsep

Kompresi data dapat terjadi ketika ada sejumlah representasi yang selalu berulang dalam data (data redundan). ◦ Semakin banyak data redundan biasanya semakin besar

rasio kompresi yang didapat.

Simbol b menyatakan jumlah bit (unit pembawa informasi) yang digunakan untuk representasi data asli, dan b‟ untuk hasil kompresi.

Ada 2 kuantitas kaitannya dengan kompresi: rasio kompresi dan data redundan relatif. ◦ Rasio kompresi:

Rasio 10 (atau 10:1) artinya 10 bit data asli untuk setiap 1 bit data

dalam representasinya.

◦ Data redundan relatif:

4

'b

bC

CR

11

Page 5: PCD-Kompresi Dan Watermarking Citra-Budi

Jenis representasi citra

5

Jenis Keterangan

TIFF Tagged Image File Format. Format file yang fleksibel dan didukung

oleh banyak standart kompresi, seperti LZW.

PNG Portable Network Graphic. Format file losslessly compressed citra

full color dengan transparansi (bisa mencapai 48 bit/piksel)

BMP Windows Bitmap. Format umum untuk citra tidak terkompres.

JPEG Joint Photographic Experts Group, standart untuk kualitas citra

foto. Lossy baseline coding system. Menggunakan teknik DCT blok

8x8, Huffman, Golomb, dan Run-Length

MPEG-1 Motion Pictures Expert Group. Standart untuk CD-ROM. Didukung

semua aplikasi komputer dan DVD player. Didukung kompresi

Huffman, Arithmetic, Run-Length, dsb.

GIF Graphic Interchange Format. Format file yang menggunakan teknik

LZW. Banyak digunakan untuk file animasi kecil di web atau film

dengan resolusi kecil

HDV High Definition Video. Pengembangan DV untuk televisi HD yang

menggunakan kompresi mirip MPEG-2, termasuk predictive coding

Page 6: PCD-Kompresi Dan Watermarking Citra-Budi

Huffman Coding

Didasarkan pada prinsip pohon Huffman (Huffman, 1952).

Metode cerdas untuk membangun sebuah kamus kompresi ◦ Yang dalam beberapa arti optimal untuk data yang

dihadapi.

Metode ini menggunakan karakter dan probabilitas sebagai masukan dengan setiap karakter yang mungkin muncul dalam data. ◦ Semakin tinggi probabilitas maka akan semakin

pendek kode-urutan yang didapat, begitu pula sebaliknya.

Kamus kompresi ekivalen dengan pohon Huffman.

6

Page 7: PCD-Kompresi Dan Watermarking Citra-Budi

Huffman Coding Trees

Salah satu cara pengkodean dapat dilakukan berdasarkan frekuensi (bobot) kemunculan karakter

→ Variable-length coding

Membangun tree dengan minimum external

path weight → Huffman Coding Tree

Setiap karakter dikodekan dalam bentuk

kumpulan bit berdasarkan Huffman

(Coding) tree yang terbentuk

Page 8: PCD-Kompresi Dan Watermarking Citra-Budi

Frekuensi Kemunculan Huruf:

contoh

Page 9: PCD-Kompresi Dan Watermarking Citra-Budi

Huffman Coding Tree Construction

Diberikan frekuensi beberapa huruf

(dari tabel di atas):

Bentuklah sebuah HCT untuk

himpunan karakter di atas

Page 10: PCD-Kompresi Dan Watermarking Citra-Budi

HCT Construction Process:

First, create a collection of n initial Huffman trees, each of which is a single leaf node containing one of the letters.

Put the n partial trees onto a min-heap (a priority queue) organized by weight (frequency).

Next, remove the first two trees (the ones with lowest weight) from the heap. Join these two trees together to create a new tree whose root has the two trees as children, and whose weight is the sum of the weights of the two trees. Put this new tree back on the heap.

This process is repeated until all of the partial Huffman trees have been combined into one

Page 11: PCD-Kompresi Dan Watermarking Citra-Budi

Huffman Coding Tree Construction (1)

Z K M C U D L E

2 7 24 32 37 42 42 120

Page 12: PCD-Kompresi Dan Watermarking Citra-Budi

12

Huffman Tree Construction (2)

Page 13: PCD-Kompresi Dan Watermarking Citra-Budi

13

Huffman Tree Construction (3)

Page 14: PCD-Kompresi Dan Watermarking Citra-Budi

14

Assigning Codes

Page 15: PCD-Kompresi Dan Watermarking Citra-Budi

15

Coding

Proses coding pesan dilakukan dengan

cara mengkodekan setiap huruf

berdasarkan Huffman tree yang terbentuk

(lihat tabel)

Contoh:

Code untuk DEED: 10100101

MUCK: 111111001110111101

Page 16: PCD-Kompresi Dan Watermarking Citra-Budi

Decoding

Decoding pesan dilakukan dengan

cara melihat bit-bit pada string code

dari kiri dan kanan dengan

menggunakan Huffman tree (mulai

dari root) sampai sebuah huruf

didekodekan.

Page 17: PCD-Kompresi Dan Watermarking Citra-Budi

Decoding: contoh

Decode 10100101:

101 = D

100 = U

1110 = C

111101 = K • Decode 1011001110111101

101 = D

0 = E

0 = E

101 = D

Page 18: PCD-Kompresi Dan Watermarking Citra-Budi

Huffman Coding Karakter disimbolkan daun dan

mengikuti tepi dari atas ke bawah untuk mendapatkan kode huruf tertentu.

Untuk membangun pohon yang "optimal" untuk alfabet tertentu dan probabilitas diberikan algoritma berikut:

1. Buat daftar node. Setiap node berisi simbol dan probabilitasnya

2. Cari dua node dengan probabilitas terkecil

3. Jadikan keduanya sebagai anak node baru yang mempunyai probabilitas dari penjumlahan probabilitas keduanya.

4. Lepaskan dua anak tadi dari daftar dan tambahkan node parent yang baru tadi kedalam daftar.

5. Ulangi langkah 2-4 sampai daftar hanya berisi satu node.

18

Page 19: PCD-Kompresi Dan Watermarking Citra-Budi

Contoh

19

1 6 7 7 7

1 0 3 5 5

3 1 3 5 4

3 1 5 5 4

Citra asli

Intensitas Jumlah Probabilitas

0 1 0.05

1 4 0.2

2 0 0

3 4 0.2

4 2 0.1

5 5 0.25

6 1 0.05

7 3 0.15 Representasi

b = 1 byte x 20 piksel = 20 byte = 160 bit

Langkah 1

Langkah 2

Page 20: PCD-Kompresi Dan Watermarking Citra-Budi

20

Langkah 3

Langkah 4

Page 21: PCD-Kompresi Dan Watermarking Citra-Budi

21

Langkah 5

Langkah 6

Page 22: PCD-Kompresi Dan Watermarking Citra-Budi

22

Langkah 7

Page 23: PCD-Kompresi Dan Watermarking Citra-Budi

23

Langkah 8

Page 24: PCD-Kompresi Dan Watermarking Citra-Budi

24

Kamus yang didapat

Intensi

tas

Probabili

tas

Encoding

0 0.05 000110

1 0.2 11

2 0 000111

3 0.2 10

4 0.1 0000

5 0.25 01

6 0.05 00010

7 0.15 001

Lavg = ((0.05)6+(0.2) 2+(0) 6 +(0.2) 2

+(0.1) 4 +(0.25) 2 +(0.05) 5+(0.15) 3)

= (0.3+0.4+0+0.4+0.4+0.5 +0.25+0.45)

= 2.7 bits/piksel

b„ = Lavg jumlah_piksel

= 2.720 = 54 bit

Page 25: PCD-Kompresi Dan Watermarking Citra-Budi

25

1 6 7 7 7

1 0 3 5 5

3 1 3 5 4

3 1 5 5 4

Citra asli

b =160 bit

11 00010 001 001 001

11 000110 10 01 01

10 11 10 01 0000

10 11 01 01 0000

Citra setelah dikompres

b' = 54 bit

96.254

160

'

b

bC

%25.666625.096.2

11

11

CR

Rasio kompresi

Data redundan relatif

Page 26: PCD-Kompresi Dan Watermarking Citra-Budi

Huffman di matlab

Fungsi untuk membuat kamus: ◦ [dict,avglen] = huffmandict(symbols,p)

◦ Dimana symbols adalah vektor intensitas, p adalah probabilitas intensitas dalam citra, dict adalah cell array berisi kamus huffman, avglen adalah panjag rata-rata code word.

Fungsi untuk encode ◦ comp = huffmanenco(sig,dict)

◦ Dimana sig adalah data input (citra asli), comp adalah vektor yang berisi code word hasil encode.

Fungsi untuk decode ◦ dsig = huffmandeco(comp,dict)

26

Page 27: PCD-Kompresi Dan Watermarking Citra-Budi

27

f = [

1 6 7 7 7

1 0 3 5 5

3 1 3 5 4

3 1 5 5 4

];

simbol = [0:7];

for i=0:7

idx = find(f==i);

p(i+1) = size(idx,1);

end

[m,n] = size(f);

p = p./(m*n);

dict = huffmandict(simbol,p); % Create the dictionary.

sig = reshape(f,m*n,1);

hcode = huffmanenco(sig,dict); % Encode the data.

dhsig = huffmandeco(hcode,dict); % Decode the code.

dh = reshape(f,m,n);

Source code contoh

Page 28: PCD-Kompresi Dan Watermarking Citra-Budi

28

>> hcode'

ans =

Columns 1 through 14

1 1 1 1 1 0 1 0 0 0 0 1 0 0

Columns 15 through 28

0 0 1 1 0 1 1 1 1 0 0 1 1 0

Columns 29 through 42

1 0 0 1 0 0 1 0 1 0 1 0 1 0

Columns 43 through 54

0 1 0 1 0 0 0 0 0 0 0 0

Hasil kompresi

11 00010 001 001 001

11 000110 10 01 01

10 11 10 01 0000

10 11 01 01 0000

Page 29: PCD-Kompresi Dan Watermarking Citra-Budi

Block Truncate Coding (BTC)

Block Truncate Coding (BTC) merupakan salah satu jenis teknik lossy image compression.

BTC membagi citra asli kedalam blok kemudian menggunakan quantiser untuk mengurangi jumlah gray level dalam setiap blok dengan tetap menjaga mean dan standar deviasi.

Menggunakan sub-blok 4x4 memberikan rasio kompresi 4:1 dengan asumsi nilai integer 8-bit digunakan selama transmisi atau penyimpanan. ◦ Blok yang lebih besar akan memberikan kompresi yang

lebih besar (nilai “a” dan “b” menyebar ke lebih banyak piksel) tetapi dengan resiko mengurangi kualitas citra asli.

29

Page 30: PCD-Kompresi Dan Watermarking Citra-Budi

Prosedur encoding BTC

Piksel citra 256x256 dibagi kedalam blok, biasanya 4x4.

Untuk setiap blok, dihitung Mean dan Standar Deviasi (piksel dalam blok sama mempunyai Mean dan Standar Deviasi yang sama dalam citra terkompresi).

Setiap nilai dalam blok ditransformasi menjadi dua level nilai (0 atau 1), dengan formula:

◦ Dimana x(i,j) adalah piksel dalam blok citra asli, y(i,j) adalah piksel dalam blok citra terkompresi

◦ adalah rata-rata, nilai juga disimpan.

30

x

Page 31: PCD-Kompresi Dan Watermarking Citra-Budi

Prosedur decoding BTC

Setiap blok berisi 16 bit (formasi 4x4) bersama dengan Mean (8 bit) dan Standar Devisasi (8 bit).

Rekonstruksi dibuat berdasarkan nilai “a” dan “b” :

◦ Dimana standar deviasi,

◦ m jumlah piksel dalam 1 blok,

◦ q adalah jumlah piksel dalam blok yang lebih besar dari

Rekonstruksi citra menggunakan formula:

31

qm

qxa

qm

qxb

x

Page 32: PCD-Kompresi Dan Watermarking Citra-Budi

Contoh

32

Salah satu blok (4x4)

dalam citra asli Mean = 241.875

Standar Deviasi = 4.5

decoding

7725.236916

95.4875.241

a

9775.246916

95.4875.241

b

Salah satu blok (4x4)

dalam citra hasil decoding

encoding

Page 33: PCD-Kompresi Dan Watermarking Citra-Budi

Block Truncate Coding Pada satu blok 4x4 citra asli

◦ b = 16 piksel x 8 bit = 128 bit

Pada satu blok 4x4 citra hasil kompresi

◦ b„ = 16 bit + 8 bit (Mean) + 8 bit (StDev) = 32

Rasio kompresi:

Data redundan relatif:

33

432

128

'

b

bC

%7575.04

11

11

CR

Page 34: PCD-Kompresi Dan Watermarking Citra-Budi

LZW Coding

Teknik sebelumnya berfokus pada pembuangan coding redundan. Dalam LZW (Lempel-Ziv-Welch) juga memperhatikan error free compression.

Memungkinkan transformasi fixed-length code word ke variable length sequence.

Pembentukan kamus pada saat encoding dilakukan dengan membaca secara sekuensial piksel-piksel. Untuk urutan yang tidak ada dalam kamus, maka akan ditentukan code wordnya.

34

Page 35: PCD-Kompresi Dan Watermarking Citra-Budi

LZW Coding

Jika 0-255 (8 bit) digunakan untuk code word intensitas citra asli, maka code word baru bentukannya dimulai dari 256 (9 bit).

Menggunakan code word 9 bit (secara konsep menggantikan 8 + 8 dengan 9).

Jika ukuran kamus terlalu kecil berpengaruh pada kemampuan deteksi sekuens level intensitas jadi lemah, tapi jika terlalu besar akan melemahkan performa kompresi.

35

Page 36: PCD-Kompresi Dan Watermarking Citra-Budi

Contoh 1

36

Citra asli

Rangkaian

saat ini

diakui

Piksel

yang

sedang

diproses

Output

encode

Code

Word Entry kamus

245

245 239 245 256 245-239

239 249 239 257 239-249

249 239 249 258 249-239

239 245 239 259 239-245

245 245 245 260 245-245

245 239

245-239 235 256 261 245-239-235

235 245 235 262 235-245

245 245

245-245 239 260 263 245-245-239

239 245

239-245 245 259 264 239-245-245

245 235 245 265 245-235

235 245 235 266 235-245

245 239

245-239 256

b„ = 12x9 = 108 bit

1852.1108

128

'

b

bC

Rasio kompresi:

Data redundan relatif:

%63.151563.0

1852.1

11

11

C

R

Page 37: PCD-Kompresi Dan Watermarking Citra-Budi

Contoh 2

37

Citra asli

b„ = 10x9 = 90 bit

42.190

128

'

b

bC

Rasio kompresi:

Data redundan relatif:

%69.292969.0

42.1

11

11

C

R

Page 38: PCD-Kompresi Dan Watermarking Citra-Budi

Pengantar: Prisoner’s Problem

5/7/2014 38

Alisa Bobi

Fred

Pesan rahasia: “Lari jam satu”

Page 39: PCD-Kompresi Dan Watermarking Citra-Budi

Lanjutan

Bagaimana Bobi mengirim pesan rahasia

kepada Alisa tanpa diketahui oleh Fred?

Alternatif 1: mengenkripsinya

xjT#9uvmY!rc$

Fred pasti curiga!

5/7/2014 39

Page 40: PCD-Kompresi Dan Watermarking Citra-Budi

Lanjutan

Alternatif 2: menyembunyikannya di dalam pesan lain

Lupakan asal rumor itu jangan ambil manfaatnya setelah aku tutup usia

Fred tidak akan curiga!

Information hiding dengan steganografi!

5/7/2014 40

Page 41: PCD-Kompresi Dan Watermarking Citra-Budi

Pesan (message)

5/7/2014 41

1. Teks

“Torang semua bersodara”

2. Audio

3. Gambar (image)

4. Video

Page 42: PCD-Kompresi Dan Watermarking Citra-Budi

5/7/2014 42

Properti Steganografi

1. Embedded message (hiddentext): pesan

yang

disembunyikan.

2. Cover-object (covertext): pesan yang

digunakan untuk menyembunyikan

embedded message.

3. Stego-object (stegotext): pesan yang

sudah berisi pesan embedded message.

Page 43: PCD-Kompresi Dan Watermarking Citra-Budi

Properti Steganografi

5/7/2014 43

Encoding

(embeddin)

covertext

hiddentext

key

Decoding

(extraction)

stegotext

key

hiddentext

covertext

Page 44: PCD-Kompresi Dan Watermarking Citra-Budi

5/7/2014 44

Contoh-contoh:

Lupakan asal rumor itu jangan ambil manfaatnya setelah aku tutup usia

Covertext:

upakan sal umor tu angan mbil anfaatnya etelah ku utup sia

Hiddentext:

Lari jam satu

Stegotext:

Lupakan asal rumor itu jangan ambil manfaatnya setelah aku tutup usia

Page 45: PCD-Kompresi Dan Watermarking Citra-Budi

Steganografi (steganography) adalah teknik menyembunyikan data rahasia di dalam wadah (media) digital, sehingga keberadaan data rahasia tersebut tidak diketahui oleh orang.

Steganografi membutuhkan dua properti : wadah penampung dan data rahasia yang akan disembunyikan.

5/7/2014 45

Page 46: PCD-Kompresi Dan Watermarking Citra-Budi

Steganografi digital menggunakan media digital sebagai wadah penampung, misalnya citra suara (audio), teks, dan video.

Data rahasia yang disembunyikan juga dapat berupa citra, suara, teks, atau video.

Penggunaan steganografi antara lain bertujuan untuk menyamarkan eksistensi (keberadaan) data rahasia, sehingga sulit dideteksi, dan melindungi hak cipta suatu produk.

5/7/2014 46

Page 47: PCD-Kompresi Dan Watermarking Citra-Budi

Steganografi dapat dipandang sebagai kelanjutan kriptografi. Jika pada kriptografi data yang telah disandikan (chipertext) tetap tersedia, maka dengan steganografi chiperteks dapat disembunyikan sehingga pihak ketiga tidak mengetahui keberadaannya.

Data rahasia yang disembunyikan dapat diekstraksi kembali persis sama seperti keadaan aslinya.

5/7/2014 47

Page 48: PCD-Kompresi Dan Watermarking Citra-Budi

5/7/2014 48

Sejarah Steganografi

Steganografi dengan media kepala budak (Herodatus, penguasa Yunani).

Kepala budak dibotaki, ditulisi pesan, rambut budak dibiarkan tumbuh, budak dikirim.

Penggunaan tinta tak-tampak (invisible

ink). Tinta dibuat dari campuran sari buah,

susu, dan cuka. Tulisan di atas kertas dapat dibaca dengan cara memanaskan kertas tersebut.

Page 49: PCD-Kompresi Dan Watermarking Citra-Budi

5/7/2014 49

Steganografi vs Kriptografi

• Steganografi dapat dianggap pelengkap

kriptografi (bukan pengganti).

• Steganografi: menyembunyikan

keberadaan (existence) pesan

• Kriptografi: menyembunyikan isi (content)

pesan

Page 50: PCD-Kompresi Dan Watermarking Citra-Budi

A. Kriteria Steganografi

Penyembunyian data rahasia ke

dalam citra digital akan mengubah

kualitas citra tersebut. Kriteria yang

harus diperhatikan dalam

penyembunyian data adalah :

1. Imperceptible, keberadaan pesan rahasia tidak dapat dipersepsi

5/7/2014 50

Page 51: PCD-Kompresi Dan Watermarking Citra-Budi

A. Kriteria Steganografi

2. Fidelity, mutu citra penampung tidak jauh berubah. Setelah penambahan data rahasia, citra hasil steganografi masih terlihat dengan baik. Pengamat tidak mengetahui kalau di dalam citra tsb terdapat data rahasia.

5/7/2014 51

Page 52: PCD-Kompresi Dan Watermarking Citra-Budi

A. Kriteria Steganografi

3. Robustness, data yang

disembunyikan harus tahan (robust)

terhadap berbagai operasi manipulasi

yang dilakukan pada citra

penampung, seperti pengubahan

kontras, penajaman, pemampatan,

rotasi, perbesaran gambar,

pemotongan (cropping), enkripsi, dsb.

5/7/2014 52

Page 53: PCD-Kompresi Dan Watermarking Citra-Budi

A. Kriteria Steganografi

Bila pada citra penampung dilakukan

operasi-operasi pengolahan citra

tersebut, maka data yang

disembunyikan seharusnya tidak

rusak (harus valid jika jika diekstraksi

kembali).

4. Recovery, data yang disembunyikan

harus dapat diungkapkan kembali

(reveal).

5/7/2014 53

Page 54: PCD-Kompresi Dan Watermarking Citra-Budi

A. Kriteria Steganografi

Karena tujuan steganografi adalah

data hiding, maka sewaktu-waktu

data rahasia di dalam citra

penampung harus dapat diambil

kembali untuk digunakan lebih lanjut.

5/7/2014 54

Page 55: PCD-Kompresi Dan Watermarking Citra-Budi

B. Teknik Menyembunyikan Data

Penyembunyian data dilakukan dengan mengganti bit-bit data di dalam segmen citra dengan bit-bit data rahasia.

Hingga saat ini sudah banyak dikemukakan oleh para ilmuwan metode-metode penyembunyian data. Metode yang paling sederhana adalah metode modifikasi LSB (Least Significant Bit Modification).

5/7/2014 55

Page 56: PCD-Kompresi Dan Watermarking Citra-Budi

B. Teknik Menyembunyikan Data

Pada susunan bit di dalam sebuah

byte (1 byte = 8 bit), ada bit yang

paling berarti (most significant bit)

atau MSB dan bit yang paling kurang

berarti (least significant bit) atau

LSB.

5/7/2014 56

Page 57: PCD-Kompresi Dan Watermarking Citra-Budi

Contoh metode modifikasi LSB untuk

menyisipkan Steganografi pada citra

digital.

Misalnya pada byte 11010010, bit 1 yang pertama (digarisbawahi) adalah bit MSB dan bit 0 yang terakhir (digarisbawahi) adalah bit LSB.

Bit yang cocok untuk diganti adalah bit bit LSB, sebab penggantian hanya mengubah nilai byte tsb. 1 lebih tinggi atau 1 lebih rendah dari nilai sebelumnya.

5/7/2014 57

Page 58: PCD-Kompresi Dan Watermarking Citra-Budi

Contoh metode modifikasi LSB untuk

menyisipkan Steganografi pada citra digital.

Misalkan byte tersebut di dalam gambar

menyatakan warna tertentu, maka

perubahan satu bit LSB tidak akan

mengubah warna tersebut secara berarti,

lagi pula mata manusia tidak dapat

membedakan perubahan yang kecil.

5/7/2014 58

Page 59: PCD-Kompresi Dan Watermarking Citra-Budi

B. Teknik Menyembunyikan Data

Bilangan acak dibangkitkan dengan pseudo-random-number-generator (PRNG).

PRNG menggunakan kunci rahasia untuk membangkitkan posisi pixel yang akan digunakan untuk menyembunyikan bit-bit.

PRNG dibangun dalam sejumlah cara, salah satunya dengan menggunakan algoritma kriptografi DES (Data Encryption Standard)

5/7/2014 59

Page 60: PCD-Kompresi Dan Watermarking Citra-Budi

B. Teknik Menyembunyikan Data

Tujuan dari enkripsi adalah menghasilkan

sekumpulan bilangan acak yang sama

untuk setiap kunci enkripsi yang sama.

Bilangan acak dihasilkan dengan cara

memilih bit-bit dari sebuah blok data hasil

enkripsi.

5/7/2014 60

Page 61: PCD-Kompresi Dan Watermarking Citra-Budi

Metode LSB (spatial domain)

5/7/2014 61

Mengganti bit LSB dengan bit data.

11010010

MSB LSB

LSB = Least Significant Bit

MSB = Most Siginificant Bit

Mengubah bit LSB hanya mengubah nilai byte satu

lebih tinggi atau satu lebih rendah dari nilai sebelumnya

Page 62: PCD-Kompresi Dan Watermarking Citra-Budi

LSB

5/7/2014 62

Misalkan cover-object adalah citra

00110011 10100010 11100010 01101111

(sekelompok pixel berwarna merah)

Misalkan embedded message: 0111

Encoding:

00110010 10100011 11100011 01101110

(pixel berwarna “merah berubah sedikit”)

Page 63: PCD-Kompresi Dan Watermarking Citra-Budi

5/7/2014 63

Ukuran data yang akan disembunyikan bergantung pada ukuran cover-object.

Citra 24-bit ukuran 256 256 pixel = 65536 pixel.

Setiap pixel berukuran 3 byte (komponen RGB), berarti ada 65536 3 = 196608 byte.

Setiap 1 byte menyembunyikan satu bit di LSB-nya, maka ukuran data yang dapat disembunyikan:

196608/8 = 24576 byte

LSB

Page 64: PCD-Kompresi Dan Watermarking Citra-Budi

5/7/2014 64

Untuk memperkuat teknik penyembunyian data, bit-bit data rahasia tidak digunakan mengganti byte-byte yang berurutan, namun dipilih susunan byte secara acak.

Misalnya jika terdapat 50 byte dan 6 bit data yang akan disembunyikan, maka maka byte yang diganti bit LSB-nya dipilih secara acak, misalkan byte nomor 36, 5, 21, 10, 18, 49.

LSB

Page 65: PCD-Kompresi Dan Watermarking Citra-Budi

5/7/2014 65

Keuntungan

Mudah diimplementasikan dan

proses encoding cepat

Kelemahan

Tidak tahan terhadap pengubahan

(modifikasi) terhadap cover object.

LSB

Page 66: PCD-Kompresi Dan Watermarking Citra-Budi

Watermarking

Semua jenis pengolahan citra sebelumnya (baik gambar maupun

video) dapat di transmisikan secara bebas.

Dapat disalin dengan mudah tanpa error

◦ Beresiko menimbulkan akuisisi oleh pihak lain

◦ Bahkan meskipun gambar sudah di enkripsi

◦ Menimbulkan pelanggaran hak cipta

Solusi: watermark (tanda air / tinta transparan)

Tujuan utama melindungi hak kepemilikan:

◦ Copyright Identification: bukti kepemilikan

◦ User Identification or fingerprinting: mengenali illegal copy

◦ Autenticity determination: menjamin bahwa citra tidak rusak

◦ Automated monitoring: monitoring kapan dan dimana citra disalin

◦ Copy protection: Bisa menetapkan aturan penggunaan dan penyalinan citra

66

Page 67: PCD-Kompresi Dan Watermarking Citra-Budi

Visible watermark

Visible watermark adalah sub-citra atau citra semi-transparan (opaque) yang diletakkan diatas citra yang lain (citra yang diberi watermark), sehingga watermark-nya masih dapat dilihat oleh pengamat.

Banyak digunakan di industri siaran televisi.

Formula untuk memasukkan watermark ke citra asli:

◦ Dimana fw adalah citra yang sudah di watermark, f adalah citra asli, w adalah citra watermark, adalah konstanta yang mengontrol penampakan relatif (opaque) dari watermarknya.

67

wffw )1(

Page 68: PCD-Kompresi Dan Watermarking Citra-Budi

Contoh

68

83 89 134 145 56 68 80 170

189 243 224 211

23 129 90 223

Citra asli

watermark

23 129 0 0 90 223 0 0 0 0 0 0

watermark

65 101 94 102 66 115 56 119

132 170 157 148

Opaque = 0.3

Citra asli setelah diwatermark

23 129 0 0 90 223 0 0 0 0 0 0

Watermark setelah

di recover wffw )1(

Page 69: PCD-Kompresi Dan Watermarking Citra-Budi

Contoh

69

f = imread('lena.tif');

f = double(f);

wm = imread('dip.tif');

wm = rgb2gray(wm);

alpha = 0.3;

[m,n] = size(f);

fwm = zeros(m,n);

[r,c] = size(wm);

fwm(101:100+r, 101:100+c) =wm;

hf = (1-alpha) * f + alpha * fwm;

hf = uint8(hf);

figure, imshow(hf);

% Kembalikan watermark

hf = double(hf);

iwm = hf - (1-alpha)*f;

iwm = uint8(iwm);

figure, imshow(iwm);

Opaque = 0.3 Citra watermark

setelah di recover

Citra asli

Citra watermark

Page 70: PCD-Kompresi Dan Watermarking Citra-Budi

Invisible watermark Sama dengan visible watermark tapi watermarknya tidak dapat

diamati oleh mata telanjang.

Persepsi mata manusia tidak dapat membedakan selisih yang kecil pada intensitas citra digital

◦ Sehingga informasi redundan yang terselip dalam citra tidak akan tampak.

◦ Watermark masih dapat direcover untuk mengembalikannya.

Formula yang digunakan:

◦ Catatan: hasil bagi yang digunakan adalah pembulatan kebawah

Secara prinsip, teknik ini men-set nol pada 2 bit LSB setiap piksel, kemudian 2 bit tersebut dipakai untuk memasukkan informasi watermark.

Recover watermark dilakukan dengan men-set nol pada 6 MSB piksel.

70

6444

wffw

Page 71: PCD-Kompresi Dan Watermarking Citra-Budi

Contoh

71

83 89 134 145 56 68 80 170

189 243 224 211

23 129 90 223

Citra asli

watermark

23 129 0 0 90 223 0 0 0 0 0 0

watermark

80 90 132 144 57 71 80 168

188 240 224 208

Opaque = 0.3

Citra asli setelah diwatermark

0 2 0 0 1 3 0 0 0 0 0 0

Watermark setelah

di recover 644

4wf

fw

Page 72: PCD-Kompresi Dan Watermarking Citra-Budi

Contoh

72

f = imread('lena.tif');

f = double(f);

wm = imread('dip.tif');

wm = rgb2gray(wm);

alpha = 0.3;

[m,n] = size(f);

fwm = zeros(m,n);

[r,c] = size(wm);

fwm(101:100+r, 101:100+c) =wm;

hf = 4*(floor(f./4)) + floor(fwm./64);

hf = uint8(hf);

figure, imshow(hf);

% Kembalikan watermark

hf = double(hf);

iwm = hf - 4*(floor(hf./4));

iwm = iwm/3;

figure, imshow(iwm); Invisible watermark Citra watermark

setelah di recover

Citra asli

Citra watermark