52
SVEUČILIŠTE U ZAGREBU FAKULTET ELEKTROTEHNIKE I RAČUNARSTVA DIPLOMSKI RAD br. 1670 Programski sustav za zaštitu slika zasnovan na otpornim digitalnim vodenim žigovima Senka Drobac Zagreb, rujan 2007.

Programski sustav za zaštitu slika zasnovan na otpornim ...sigurnost.zemris.fer.hr/wm/2007_drobac/Senka_Drobac-Programski_sustav...Željela bih se zahvaliti svim članovima svoje

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Programski sustav za zaštitu slika zasnovan na otpornim ...sigurnost.zemris.fer.hr/wm/2007_drobac/Senka_Drobac-Programski_sustav...Željela bih se zahvaliti svim članovima svoje

SVEUČILIŠTE U ZAGREBU

FAKULTET ELEKTROTEHNIKE I RAČUNARSTVA

DIPLOMSKI RAD br. 1670

Programski sustav za zaštitu slika zasnovan na otpornim digitalnim vodenim žigovima

Senka Drobac

Zagreb, rujan 2007.

Page 2: Programski sustav za zaštitu slika zasnovan na otpornim ...sigurnost.zemris.fer.hr/wm/2007_drobac/Senka_Drobac-Programski_sustav...Željela bih se zahvaliti svim članovima svoje

Željela bih se zahvaliti svim članovima svoje obitelji koji su me podržavali i trpjeli tijekom cijelog mog školovanja i bez kojih ovog

rada vjerojatno ne bi niti bilo.

Isto tako, veliku zahvalnost osjećam i prema svom dragom dečku Boži, koji mi je puno pomogao tehničkim savjetima, ali i

neizmjernom potporom i ljubavlju.

Naravno, ne smijem niti zaboraviti svog mentora, doc.dr.sc. Marina Goluba koji me svojim zanimljivim predavanjima najprije

zainteresirao za ovu temu, a kasnije stručnim vodstvom i pomogao pri njenoj realizaciji.

Hvala vam svima!

Page 3: Programski sustav za zaštitu slika zasnovan na otpornim ...sigurnost.zemris.fer.hr/wm/2007_drobac/Senka_Drobac-Programski_sustav...Željela bih se zahvaliti svim članovima svoje

Sažetak

U ovom radu opisan je razvoj digitalnih vodenih žigova, njihov osnovni koncept te podjela. Detaljnije su objašnjeni principi umetanja digitalnih vodenih žigova u slike i razrađene su dvije glavne grupe metoda: temeljne na zbrajanju i temeljene na kvantizaciji. Ukratko su opisani neki od algoritama iz svake grupe, da bi algoritam Xia, koji je temeljen na zbrajanju, bio detaljnije razrađen, implementiran i ispitivan. Na temelju rezultata ispitivanja doneseni su zaključci o njegovom radu i otpornosti na različite napade.

Abstract

In this paper, first there was described development of digital watermarking, its basic concepts and classification. Furthermore, there were explained main principles of digital watermarking algorithms including fundamental differences between additive and quantization algorithm principles. As most of the algorithms belong to one of those groups, there were described several algorithms from each one. Additive algorithm Xia was implemented and its robustness was tested on many different attacks.

Page 4: Programski sustav za zaštitu slika zasnovan na otpornim ...sigurnost.zemris.fer.hr/wm/2007_drobac/Senka_Drobac-Programski_sustav...Željela bih se zahvaliti svim članovima svoje

Sadržaj

1. UVOD............................................................................................................................................................ 1

2. POVIJESNI PREGLED .............................................................................................................................. 2

3. DIGITALNI VODENI ŽIGOVI ................................................................................................................. 4

3.1 SUSTAV DIGITALNOG VODENOG ŽIGA.................................................................................................... 4 3.1.1 Faza umetanja ................................................................................................................................. 5 3.1.2 Faza distribucije .............................................................................................................................. 6 3.1.3 Faza izvlačenja ................................................................................................................................ 6 3.1.4 Faza detekcije .................................................................................................................................. 8

4. DOMENE TRANSFORMACIJA............................................................................................................. 10

4.1 METODA RASPRŠENJA SPEKTRA .......................................................................................................... 10 4.2 DISKRETNA FOURIEROVA TRANSFORMACIJA ...................................................................................... 11 4.3 DISKRETNA KOSINUSNA TRANSFORMACIJA ......................................................................................... 11 4.4 MELLIN-FOURIEROVA TRANSFORMACIJA............................................................................................ 12 4.5 DISKRETNA TRANSFORMACIJA VALIĆA ............................................................................................... 13

4.5.1 Prednosti DWT nad DCT............................................................................................................... 15

5. ALGORITMI OZNAČAVANJA I DETEKCIJE DIGITALNOG VODENOG ŽIGA ....................... 16

5.1 PODJELA ALGORITAMA ....................................................................................................................... 16 5.2 ALGORITMI TEMELJENI NA ZBRAJANJU................................................................................................ 17

5.2.1 Cox-ov algoritam........................................................................................................................... 18 5.2.2 Algoritam Corvi ............................................................................................................................. 20 5.2.3 Alogritam Xia ................................................................................................................................ 21

5.3 ALGORITMI TEMELJENI NA KVANTIZACIJI ........................................................................................... 23 5.3.1 Kvantizacija ................................................................................................................................... 23 5.3.2 Uporaba kvantizacije kod digitalnih vodenih žigova..................................................................... 23 5.3.3 Algoritam Koch.............................................................................................................................. 24 5.3.4 Algoritam Ohnishi ......................................................................................................................... 26

6. PRAKTIČNA IZVEDBA ALGORITMA XIA........................................................................................ 27

6.1 UMETANJE ŽIGA U SLIKU ..................................................................................................................... 28 6.2 IZVLAČENJE ŽIGA IZ SLIKE .................................................................................................................. 29

7. OPIS I REZULTATI ISPITIVANJA ALGORITMA XIA .................................................................... 31

7.1 ISPITIVANJE OSNOVNIH PARAMETARA................................................................................................. 31 7.1.1 Veličina umetnutog žiga ................................................................................................................ 31 7.1.2 Veličina koeficijenta α ................................................................................................................... 32 7.1.3 Stupanj kompresije ........................................................................................................................ 33

7.2 ISPITIVANJE BRZINE OZNAČAVANJA VEĆEG BROJA SLIKA.................................................................... 37 7.3 FILTRIRANJE, ROTIRANJE, SKALIRANJE I TRANSLACIJA........................................................................ 38

7.3.1 Rotiranje i translacija.................................................................................................................... 38 7.3.2 Filtriranje ...................................................................................................................................... 38 7.3.3 Skaliranje....................................................................................................................................... 41

7.4 OSTALI NAPADI ................................................................................................................................... 42 7.4.1 Višestruko označavanje slike ......................................................................................................... 42 7.4.2 Brisanje dijelova slike.................................................................................................................... 44

8. ZAKLJUČAK ............................................................................................................................................ 47

9. LITERATURA........................................................................................................................................... 48

Page 5: Programski sustav za zaštitu slika zasnovan na otpornim ...sigurnost.zemris.fer.hr/wm/2007_drobac/Senka_Drobac-Programski_sustav...Željela bih se zahvaliti svim članovima svoje

1

1. Uvod

Posljednjih nekoliko godina bili smo svjedoci naglog razvoja Interneta kao distribucijskog centra digitalnih djela i upoznati smo s činjenicom da je Internet glavni krivac masovnog povređivanja autorskih prava. S ekonomskog gledišta, komercijalizacija digitalnih djela je izuzetno otežana, a potreba za tehnološkom zaštitom autorskih prava je posljednjih nekoliko godina neminovna.

S druge strane, uz digitalna djela ponekad se zahtijevaju dokazi autentičnosti, tj. mogućnost korištenja umetnute informacije za dokazivanje integriteta podataka ili za otkrivanje mogućih namjernih ili nenamjernih provedenih modifikacija. Tako, na primjer, snimke kaznenih djela se na sudu ne mogu priznati kao dokaz jer ih je moguće krivotvoriti.

Kao rješenje i problema zaštite autorskih prava i dokaza autentičnosti javlja se uporaba digitalnih vodenih žigova. U ovom radu opisani su samo algoritmi kojima je cilj umetanje otpornih digitalnih vodenih žigova.

U sljedećim poglavljima prvo je proveden je kratak opis povijesnog razvoja digitalnih vodenih žigova, zatim je objašnjen koncept sustava digitalnog vodenog žiga i problematika onih domena transformacija koje se učestalo koriste u ovom području. Nakon toga, opisana su osnovna načela algoritama za umetanje i izvlačenje digitalnih vodenih žigova te su predstavljeni neki od najpoznatijih algoritama, među kojima i algoritam Xia.

Na kraju je opisana implementacija algoritma Xia i način korištenja, te su detaljno opisana ispitivanja rada algoritma te otpornosti žiga umetnutog implementiranim algoritmom na neke više i manje uobičajene napade.

Page 6: Programski sustav za zaštitu slika zasnovan na otpornim ...sigurnost.zemris.fer.hr/wm/2007_drobac/Senka_Drobac-Programski_sustav...Željela bih se zahvaliti svim članovima svoje

2

2. Povijesni pregled

Povijest vodenih žigova seže još iz 13. stoljeća. U gradiću Fabriano, u Italiji, pronađen je najstariji označeni papir koji datira iz 1292. godine i igra važnu ulogu u razvoju papirne industrije. U tom gradu je pri kraju 13. stoljeća tržište dijelilo čak četrdesetak papirnih tvornica koje su proizvodile papire različitih oblika, kvalitete i, naravno, cijene. S obzirom na to da je proizvedeni papir imao vrlo grubu površinu koja nije bila pogodna za pisanje, bilo ga je potrebno proslijediti zanatlijama na daljnju obradu. Nakon izglađivanja, papir je bilo potrebno prebrojati, složiti i prodati veletrgovcima.

Slika 2.1 Vodeni žig u obliku srca

Slika 2.2 Vodeni žig u obliku zmije

Veliki broj tvornica, zanatlija koji su omekšavali površinu papira i veletrgovaca, uzrokovao je potrebu za identifikacijom izvora proizvoda. Tako je došlo do izuma vodenog žiga koji se vrlo brzo proširio po cijeloj Italiji i dalje po Europi. Iako mu je prvotna namjena bila prepoznavanje marke ili tvornice papira, uskoro je služio i za prepoznavanje formata, kvalitete i čvrstoće papira te označavanje vremena i autentičnosti. [1]

Page 7: Programski sustav za zaštitu slika zasnovan na otpornim ...sigurnost.zemris.fer.hr/wm/2007_drobac/Senka_Drobac-Programski_sustav...Željela bih se zahvaliti svim članovima svoje

3

Na slici 2.1 vidi se uporaba vodenog žiga u obliku srca, a na slici 2.2 u obliku zmije. Dokument na slici 2.1 upotrijebljen je 1656. godine, a onaj na slici 2.2 1618. godine. [2]

Globalna digitalizacija je potaknula prijelaz žigova s papira na digitalne sadržaje. Vodeni žigovi u novčanicama i poštanskim markicama inspirirali su prvu upotrebu termina water mark u digitalnom kontekstu. Prvu publikaciju s temom digitalnih vodenih žigova objavili su Tanaka et al. 1990. godine, a nju su slijedile publikacije Caronnija i Tirkela et al. 1993. godine. Godine 1995. digitalnim vodenim žigovima se počelo pridodavati mnogo važnosti i tada je započeo njihov ubrzani razvoj.

Iako je područje digitalnih vodenih žigova još uvijek slabo istraženo, danas postoje algoritmi za zaštitu svake vrste digitalnih medija: tekstualnih dokumenata, slika, video i audio signala, 3D modela, mapa i kompjutorskih programa. Zanimljivo je da tehnika vodenih žigova nije ograničena samo na digitalne medije, već se može primijeniti i na npr. kemijske podatke kao što je struktura proteina.

U nastavku rada razmatraju se digitalni vodeni žigovi nad slikama.

Page 8: Programski sustav za zaštitu slika zasnovan na otpornim ...sigurnost.zemris.fer.hr/wm/2007_drobac/Senka_Drobac-Programski_sustav...Željela bih se zahvaliti svim članovima svoje

4

3. Digitalni vodeni žigovi

Digitalni vodeni žigovi definiraju se kao tehnika ubacivanja dodatnog signala u već postojeći signal. Općeniti postupak digitalnog vodenog žiga nad slikama prikazan je na slici 3.1. U originalnu sliku (sliku domaćina) umeće se određeni podatak zaštićen ključem i tako nastaje označena slika. Prilikom postupka umetanja dolazi do promjene slike domaćina. Kako bi se očuvala transparentnost, količina tih promjena mora biti malena. Označena slika se tada može distribuirati prilikom čega je izložena mnogobrojnim namjernim ili nenamjernim distorzijama. Postupak izvlačenja podatka iz slike domaćina je inverzan postupku umetanja i, ovisno o algoritmu, može, ali i ne mora, zahtijevati prisustvo originala.

Slika 3.1 Općeniti model sustava digitalnog vodenog žiga

3.1 Sustav digitalnog vodenog žiga

Kako bi se upoznala problematika digitalnih vodenih žigova povezana s podjelom algoritama i njihovih zahtjeva, potrebno je definirati općeniti model sustava digitalnog vodenog žiga (Slika 3.1) i pobliže pogledati svaku od faza njegovog rada.

Sustav digitalnog vodenog žiga može se podijeliti na četiri glavne faze:

• umetanje (Slika 3.2), • distribucija (Slika 3.3), • izvlačenje (Slika 3.4), • detekcija (Slika 3.5).

Page 9: Programski sustav za zaštitu slika zasnovan na otpornim ...sigurnost.zemris.fer.hr/wm/2007_drobac/Senka_Drobac-Programski_sustav...Željela bih se zahvaliti svim članovima svoje

5

3.1.1 Faza umetanja

S izuzetkom ranih algoritama kao što je na primjer Patchworkov, algoritmi za čvrste digitalne vodene žigove koriste frekvencijsku domenu u kojoj se mijenjaju frekvencijske karakteristike slike domaćina. Preskakanjem prelaska u frekvencijsku domenu i umetanjem žiga u prostornoj domeni mogu se ostvariti dobri algoritmi koji, na žalost, nisu otporni na napade kompresijom.

Stoga se, u fazi umetanja, originalna slika prvo prebacuje u jednu od frekvencijskih domena, kao što su diskretna kosinusna domena (DCT – discrete cosine transformation), diskretna Fourierova domena (DFT - discrete Fourier transformation) i domena valića (DWT - discrete wavelet transformation).

Podatak koji se umeće u sliku domaćina može biti binaran, malena slika (npr. logo), ili sjeme za generator pseudo-slučajnih brojeva koji proizvodi niz brojeva s određenom razdiobom (npr. Gaussovom ili uniformnom). Podatak koji se umeće u sliku najčešće se prije procesa umetanja kriptira kako bi bio bolje zaštićen i manje podložan napadima.

Nakon prebacivanja slike domaćina u frekvencijsku domenu i kriptiranja željene poruke, koeficijenti transformacije se kombiniraju s pripremljenom porukom. Bitno je izabrati prigodnu frekvencijsku domenu i izmijeniti samo određene koeficijente (najčešće u niskom i srednjem frekvencijskom pojasu) jer bi u suprotnom provedene promjene mogle biti vidljive ljudskom oku. Prilagodba ljudskom vizualnom sustavu (HVS – human visual system) može se obavljati pomoću posebno izrađenog modula.

Slika 3.2 Faza umetanja

Konačno, kako bi se dobila označena slika, na promijenjene koeficijente transformacije primjenjuje se inverzna transformacija.

Page 10: Programski sustav za zaštitu slika zasnovan na otpornim ...sigurnost.zemris.fer.hr/wm/2007_drobac/Senka_Drobac-Programski_sustav...Željela bih se zahvaliti svim članovima svoje

6

Na slici 3.2 mogu se vidjeti svi koraci faze umetanja. Originalna slika se prebacuje u odabranu frekvencijsku domenu, koeficijenti transformacije se kombiniraju s kriptiranim podacima pa se pomoću inverzne transformacije vraćaju u prostornu domenu. Kao rezultat nastaje slika označena digitalnim vodenim žigom.

3.1.2 Faza distribucije

Sljedeći korak je distribucija označene slike, na primjer objava na Internetu ili prodaja kupcu. Distribuciju najčešće prilikom transakcije zbog kompresije prati gubitak podataka.

No, nije kompresija jedina transformacija koja u fazi distribucije uzrokuje gubitak podataka. Tu su i pogreške u prijenosu, ali i uobičajene operacije nad slikama kao što su pojačanje kontrasta, gamma korekcija te geometrijske promjene (skaliranje, rotacija, rezanje, itd.). Sve promjene označene slike promatraju se kao napadi i dijele se na:

• slučajne napade – nastaju uslijed uobičajenih operacija na slici, • namjerne napade – nastaju s ciljem promjene, uništenja ili odstranjenja

umetnutog žiga.

Slika 3.3 Faza distribucije

Na slici 3.3 prikazane su distorzije slike koje se pojavljuju uslijed njene distribucije.

3.1.3 Faza izvlačenja

Nakon što označena slika prođe kroz transformacije opisane u prethodnom poglavlju, može se pojaviti potreba za izvlačenjem žiga iz označene slike. Tu potrebu može imati osoba koja je umetnula žig, kupac kojem je slika prodana, pretraživač Interneta koji traga za neovlaštenim kopijama ili primjerice predstavnik vlasti.

Page 11: Programski sustav za zaštitu slika zasnovan na otpornim ...sigurnost.zemris.fer.hr/wm/2007_drobac/Senka_Drobac-Programski_sustav...Željela bih se zahvaliti svim članovima svoje

7

U prvom slučaju, najčešće je dostupna originalna slika i tajni ključ kojim je kriptirana umetnuta poruka što izuzetno olakšava detekciju poruke. Sustave kojima je dostupan tajni ključ i originalna slika nazivaju se jasnim, ne-slijepim ili privatnim sustavima digitalnog vodenog žiga.

Situacija suprotna prethodnoj je kada prilikom izvlačenja žiga nisu poznati niti privatni ključ, niti originalna slika. Takvi sustavi se nazivaju sustavi digitalnog vodenog žiga s javnim ključem (public key watermarking system) no nije poznat niti jedan takav pouzdani sustav i smatra se da je u praksi neostvariv. U posljednje vrijeme predložene su čak i asimetrične sheme sustava vodenog žiga. [3]

Sustavi digitalnog vodenog žiga koji omogućuju izvlačenje podataka iz označene slike kada slika domaćin nije poznata nazivaju se nejasnim ili slijepim sustavima. Postoje i postupci izvlačenja i detekcije koji se temelje na samo nekim podacima ili osobinama originala i takvi sustavi se zovu polu-slijepi ili polu-jasni sustavi.

Dakle, s obzirom na raspoloživost originalne slike postoje:

• slijepi ili nejasni, • polu-slijepi, • ne-slijepi ili jasni

postupci izvlačenja žiga iz slike domaćina. S obzirom na dostupnost ključa, metode ekstrakcije žiga dijele se na:

• sustave s privatnim ključem, • sustave s javnim ključem, • asimetrične sustave.

Slika 3.4 Faza izvlačenja

Page 12: Programski sustav za zaštitu slika zasnovan na otpornim ...sigurnost.zemris.fer.hr/wm/2007_drobac/Senka_Drobac-Programski_sustav...Željela bih se zahvaliti svim članovima svoje

8

Na slici 3.4 vidi se postupak izvlačenja žiga iz slike. Označena slika, na kojoj su u većini slučaja izvršene određene transformacije, prolazi kroz postupak koji je inverzan postupku umetanja žiga. Pri tome se, ovisno o vrsti algoritama, može, ali i ne mora, koristiti originalna slika.

3.1.4 Faza detekcije

U fazi detekcije obavlja se analiza izvučenog žiga. Ovisno o vrsti programa i prirodi umetnutih podataka, faza detekcije može dati vrlo različite rezultate.

Kad se radi o aplikacijama čija svrha je zaštita od neovlaštenog kopiranja slika, izlaz iz faze detekcije može varirati između najjednostavnijih rezultata do onih iznimno kompliciranih. U najjednostavnijem slučaju, odgovor na pitanje nalazi li se oznaka vlasništva u promatranoj slici je da/ne tipa. Kompliciraniji sustavi kao rezultat vraćaju tekstualnu oznaku vlasništva ili sliku logoa, ovisno o umetnutom sadržaju. Mjera sličnosti između originalnog umetnutog žiga W i izvučenog žiga W* je normalizirana korelacija za pseudo-slučajne nizove:

WW

WW

⋅=

δ (3.1)

ili Hammingova udaljenost za binarne poruke,

∑ ⋅−= ∗N

ii wwNδ , { }1,1−∈iw (3.2)

Da/ne odgovor može se izvesti iz mjere sličnosti δ uz određeni prag r. Na primjer, ako je δ ≥ r, tada je digitalni vodeni žig prisutan u promatranoj slici, dok u suprotnom slučaju žig nije pronađen.

Algoritmima koji služe za umetanje žiga koji pobliže opisuje sadržaj ili porijeklo slike te algoritmima koji sakrivaju određene informacije nije dovoljan samo odgovor na pitanje je li žig prisutan u slici. Oni zahtijevaju ekstrakciju cijelog žiga. S obzirom na to da se u ovakvim slučajevima promjena označene slike ne tolerira, obavezan je dio koda koji služi za ispravljanje grešaka.

Sustavi za autentifikaciju slika i njihov integritet će kao rezultat vratiti ili samo da/ne odgovor na pitanje je li slika označena, ili legitimni izvor označavanja, ili će pokušati odrediti mjesta u slici koja su bila podvrgnuta izmjenama.

Page 13: Programski sustav za zaštitu slika zasnovan na otpornim ...sigurnost.zemris.fer.hr/wm/2007_drobac/Senka_Drobac-Programski_sustav...Željela bih se zahvaliti svim članovima svoje

9

Slika 3.5 Faza detekcije

Page 14: Programski sustav za zaštitu slika zasnovan na otpornim ...sigurnost.zemris.fer.hr/wm/2007_drobac/Senka_Drobac-Programski_sustav...Željela bih se zahvaliti svim članovima svoje

10

4. Domene transformacija

Tehnike umetanja digitalnog vodenog žiga u transformiranoj domeni primjenjuju određene ireverzibilne operacije na slici domaćinu prije samog umetanja podataka. Nakon toga se mijenjaju koeficijenti transformacije kako bi se željeni žig umetnuo u sliku i na kraju se provodi inverzna transformacija kako bi se dobila označena slika. Transformacije koje se najčešće koriste su diskretna Fourierova transformacija (DFT), diskretna kosinusna transformacija (DCT), diskretna transformacija valića (DWT), no postoje i pristupi koji uključuju neke egzotičnije transformacije kao što su Fersnelova transformacija, kompleksna transformacija valića (CWT) i Fourier-Mellinova transformacija.

Sustavi digitalnog vodenog žiga koji koriste neku od navedenih transformacija imaju mnoge pozitivne osobine. S obzirom da se žig umetanjem u domeni transformacije, nepravilno raspodjeljuje po određenom području, ove metode napadačima jako otežavaju čitanje ili promjenu digitalnog vodenog žiga. Kad se radi o algoritmima koji koriste globalnu diskretnu kosinusnu transformaciju, žig se raspršuje po cijeloj slici, dok se kod primjene diskretne transformacije valića ili blokno-bazirane DCT ipak koncentrira na odabranom području.

Odabir domene transformacije omogućava i izabir uskog pojasa frekvencija u kojem će se obavljati promjene dajući nam tako mogućnost izbora onog pojasa koji će najmanje utjecati na ljudski vizualni sustav. Digitalni vodeni žig, ili signal njegovog raspršenog spektra, se stoga najčešće kombinira s malenim brojem koeficijenata transformacije u pojasu niskih ili srednjih frekvencija. Kod tehnika kodiranja raspršenim spektrom, uskopojasni signal koji predstavlja umetnutu poruku mijenja se pomoću širokopojasnog signala nositelja što rezultira proširenjem, tj. raspršenjem originalnog, uskopojasnog spektra. Od tuda potječe naziv "raspršeni spektar".

4.1 Metoda raspršenja spektra

Sustavi digitalnog vodenog žiga koje koriste tehnike raspršenog spektra imaju sljedeće osobine:

1. Nemogućnost umetanja smetnji – Svojstvo nemogućnosti umetanja smetnji proizlazi iz činjenice da napadač ne zna informaciju skrivenu u slici i ako želi omesti njen prijenos mora "zakrčiti" cijeli spektar širokopojasnog signala. U kontekstu digitalnih žigova to bi značilo da napadač mora promijeniti označenu sliku toliko jako da nakon toga slika drastično izgubi na svojoj kvaliteti i više nema komercijalnu vrijednost.

2. Niska vjerojatnost uočavanja žiga – Ovo svojstvo se javlja kao posljedica raspršenja. Signal visoke energije distribuira se prijeko cijelog frekvencijskog spektra pa samo malen dio te energije zahvati svaki pojedini pojas. Količina promjene energije je obično niža od energije šuma pa je vjerojatnost da napadač uopće ne primijeti žig vrlo velika.

Page 15: Programski sustav za zaštitu slika zasnovan na otpornim ...sigurnost.zemris.fer.hr/wm/2007_drobac/Senka_Drobac-Programski_sustav...Željela bih se zahvaliti svim članovima svoje

11

3. Pseudo-šum – Ovo svojstvo je vrlo važno za digitalne vodene žigove jer napadaču onemogućuju izvlačenje žiga iz označene slike. Uz pravilno odabrane signale pseudo-šuma, čak i ako napadač dođe do malenih segmenata umetnutih podataka, nije u mogućnosti odrediti ostatak žiga.

Komponente niskih i srednjih frekvencija slika predstavljaju većinu perceptualno bitnih podataka. Stoga kompresija i ostale transformacije nad slikom teško mogu utjecati na ovaj dio slike, a da pritom ne unište njezin vizualni sadržaj. Tehnike digitalnog vodenog žiga koje koriste prostornu domenu indirektno utječu na nisko frekvencijske komponente slike domaćina pa je dobar algoritam vrlo teško ostvariti.

4.2 Diskretna Fourierova transformacija

Popularna Fourierova transformacija naišla je na zanimanje i u području digitalnih vodenih žigova. Kontroliranje frekvencija signala domaćina omogućava odabir dijelova slike u koje će biti umetnut digitalni vodeni žig, a da se pritom zadovolji svojstvo nevidljivosti žiga te svojstvo otpornosti.

Kod slike dimenzija NxM, diskretna Fourierova transformacija definirana je kao:

( )( )

( )∑∑−

=

=

+−

⋅⋅⋅

=1

0

1

0

2

2

1

,1

,N

x

M

y

M

vy

N

uxi

eyxfMN

vuFπ

(4.1)

gdje je ( )yxf , slika u prostornoj domeni, a eksponencijalna funkcija prebrojiv ortogonalan skup harmonijskih funkcija koji čini bazu razlaganja.

Inverzna Fourierova transformacija definirana je kao:

( )( )

( )∑∑−

=

=

+

⋅⋅⋅

=1

0

1

0

2

2,

1,

N

u

M

v

M

vy

N

uxi

evuFMN

yxfπ

(4.2)

Diskretna Fourierova transformacija se koristi kod umetanja digitalnog vodenog žiga u sliku pomoću modulacija faza žiga i slike domaćina te za podjelu slike na perecptualne pojaseve. [1]

4.3 Diskretna kosinusna transformacija

Po definiciji, diskretna kosinusna transformacija slike dimenzija NxN je:

( ) ( ) ( ) ( ) ( ) ( )∑∑

=

=

+⋅⋅

+⋅⋅⋅⋅⋅=

1

0

1

0 2

12cos

2

12cos,

2,

N

x

N

y N

yv

N

xuyxsvCuC

NvuS

ππ (4.3)

Page 16: Programski sustav za zaštitu slika zasnovan na otpornim ...sigurnost.zemris.fer.hr/wm/2007_drobac/Senka_Drobac-Programski_sustav...Željela bih se zahvaliti svim članovima svoje

12

Pri čemu su ( )yxs , elementi slike u prostornoj domeni, ( )vuS , elementi u frekvencijskoj domeni, a koeficijenti C(u) i C(v) imaju sljedeće vrijednosti:

==

01

02

1)(

uza

uzauC ,

==

01

02

1)(

vza

vzavC .

Inverzna diskretna kosinusna transformacija po definiciji je:

( ) ( ) ( ) ( ) ( )∑∑

=

=

+⋅⋅

+⋅⋅⋅⋅=

1

0

1

0 2

12cos

2

12cos,

2),(

N

u

N

v N

yv

N

xuvuSvCuC

Nyxs

ππ (4.4)

Poželjna svojstva algoritama digitalnih vodenih žigova koji koriste diskretnu kosinusnu transformaciju su:

• pojačana otpornost na JPEG kompresiju, • mogućnost predviđanja vizualnog utjecaja žiga na sliku domaćina, • podržana realizacija operatora ugrađivanja u domeni transformacije (npr.

unutar JPEG enkodera).

4.4 Mellin-Fourierova transformacija

Veliki broj algoritama digitalnog vodenog žiga nailazi na problem izvlačenja žiga nakon što su nad označenom slikom učinjene geometrijske transformacije. Kako bi se prevladala ova ranjivost, Ó Ruanaidh et al. su predložili upotrebu Mellin-Fourierove transformacije.

Područje Mellin-Fourierove transformacije temelji se na svojstvu translacije DFT:

[ ])(exp),(),( bvauivuFbyaxf +−↔++ (4.5)

Translacija uzrokuje samo promjenu faze pa je slika domaćin ograničena na podprostor relativan s obzirom na amplitudu Fourierove transformacije, što je direktni uzrok neosjetljivosti na prostorne pomake slike. Kako bi se osigurala neosjetljivost na rotaciju i zumiranje, koristi se log-polar mapping (LPM), što se može definirati kao:

=

=→

θρ

θρ

sinexp

cosexp),(

y

xyx (4.6)

gdje je [ ]πθρ 2,0, ∈ℜ∈ .

Page 17: Programski sustav za zaštitu slika zasnovan na otpornim ...sigurnost.zemris.fer.hr/wm/2007_drobac/Senka_Drobac-Programski_sustav...Željela bih se zahvaliti svim članovima svoje

13

Rotacija bilo kojeg elementa (x, y) u Kartezijevom koordinatnom sustavu rezultira translacijom u logaritamskom koordinatnom sustavu. Na sličan način, zumiranje u Kartezijevom koordinatnom sustavu rezultira translacijom u polarnom koordinatnom sustavu.

Upotrebom adekvatne modifikacije koordinatnog sustava, i rotacija i zumiranje se mogu svesti na translaciju, za koju je ranije pokazano da je otporna na pomake u prostornoj domeni. [1]

4.5 Diskretna transformacija valića

U posljednjih 15-tak godina, ova vrsta transformacije je meta mnogih proučavanja. Diskretna transformacija valića je prihvaćena kao domena u kojoj se obavlja kompresija, analiza i procesuiranje signala.

Osnovna ideja diskretne transformacije valića za jednodimenzionalne signale je sljedeća:

Signal se podijeli na dva dijela, obično na niske frekvencije i visoke frekvencije. Rubni dijelovi signala su uvelike ograničeni na dio s visokim frekvencijama. Niske frekvencije se zatim opet dijele na dva dijela s višim i nižim frekvencijama. Taj proces dijeljenja se nastavlja sve dok se signal ne sažme do kraja ili dok se proces ručno ne zaustavi. Za potrebe sustava digitalnog vodenog žiga i postupke sažimanja, najčešće se čini maksimalno pet koraka dijeljenja. Naravno, pomoću koeficijenata DWT može se rekonstruirati originalni signal i taj proces se naziva inverzna diskretna transformacija valića (IDWT). Slijedi matematički prikaz DWT i IDWT.

Neka je

∑ −⋅=k

jk

k ehH ωω)( (4.7)

nisko propusni filtar, a

∑ −⋅=k

jk

k egGωω)( (4.8)

visoko propusni filtar koji zadovoljavaju određene uvjete za kasniju rekonstrukciju.

Tada se signal F(n) može rekurzivno rastaviti na:

( ) ∑ −− =n

jkn

L

j nfhkf )(21 (4.9)

i

Page 18: Programski sustav za zaštitu slika zasnovan na otpornim ...sigurnost.zemris.fer.hr/wm/2007_drobac/Senka_Drobac-Programski_sustav...Željela bih se zahvaliti svim članovima svoje

14

( ) ∑ −− =n

jkn

H

j nfgkf )(21 (4.10)

za 0,,,1 JJJj K+= , pri čemu je ( ) ( )fFkf J =+1 , a k je korak rastava za koji vrijedi da je Zk ∈ . J+1 je indeks najvećeg nivoa rezolucije, dok je 0 indeks najnižeg nivoa. Koeficijenti

( ) ( ) ( ) ( )kfkfkfkf H

J

L

J

H

J

L

J ,,,, 1000K+ (4.11)

nazivaju se DWT signala F(n), gdje je ( )kf L

J0najniži dio rezolucije F(n), a ( )kf

H

J su

detalji F(n) u različitim frekvencijskim pojasevima. Signal F(n) može se rekonstruirati iz DWT koeficijenata:

( ) ( ) ( )∑∑ −−−− +=k

H

jkn

k

L

jkn

L

j kfgkfhnf 1212 (4.12)

Kako bi se osigurala gornja veza između DWT i IDWT, mora biti osigurana ortogonalnost filtera H(ω) i G(ω):

|H(ω)|² + |G(ω)|² = 1. Primjer odgovarajućih H(ω) i G(ω) je:

ωω jeH

−+=2

1

2

1)( (4.13)

i

ωω jeG

−−=2

1

2

1)( (4.14)

što je poznato kao Haarov filtar. Ostali poznati filtri koji se koriste prilikom obrade slika su familija Daubechovih filtara i bi-ortogonalni filtri.

Analogno se definira DWT i IDWT za dvodimenzionalne slike F(m,n) implementacijom jednodimenzionalne DWT i IDWT na svaku od dimenzija posebno, što rezultira piramidalnom reprezentacijom rezultata.

Na slici 4.1 prikazana je piramidalna dvorazinska struktura rastava, a na slici 4.2 rastavljena slika po danoj strukturi rastava.

Page 19: Programski sustav za zaštitu slika zasnovan na otpornim ...sigurnost.zemris.fer.hr/wm/2007_drobac/Senka_Drobac-Programski_sustav...Željela bih se zahvaliti svim članovima svoje

15

Slika 4.1 Struktura rastava

Slika 4.2 Rastavljena slika

4.5.1 Prednosti DWT nad DCT

Diskretna transformacija valića ima mnoge prednosti nad drugim transformacijama. Njene prednosti s obzirom na DCT su:

• DWT je više rezolucijski opis slike pa se postupak dekodiranja može obavljati slijedno od nižih prema višim rezolucijama,

• DWT je svojim svojstvima bliža ljudskom vizualnom sustavu od DCT. Kod sažimanja slike s visokim omjerom kompresije, bolji rezultati dobiju se upotrebom DWT-a,

• DWT stvara strukturu podataka poznatu kao skalarno-prostorna reprezentacija (scale-space representation). U toj reprezentaciji slike, signali visokih frekvencija se precizno lociraju u prostornoj domeni, dok se niske frekvencije precizno lociraju u frekvencijskoj domeni. Prostorna rezolucija transformacije valića raste proporcionalano s frekvencijom. Zbog toga oštri rubovi koji su prostorno lokalizirani i koji su većinom sačinjeni od visokih frekvencija mogu se primijetiti u podpojasevima i formirati konturu objekata slike. Dok je rezolucija neovisna o frekvenciji u DCT domeni, u domeni valića ona je inverzno proporcionalana s frekvencijom.

Page 20: Programski sustav za zaštitu slika zasnovan na otpornim ...sigurnost.zemris.fer.hr/wm/2007_drobac/Senka_Drobac-Programski_sustav...Željela bih se zahvaliti svim članovima svoje

16

5. Algoritmi označavanja i detekcije digitalnog vodenog žiga

Razvijeni su brojni algoritmi digitalnog vodenog žiga s ciljem zaštite autorskog prava digitalnih slika i provjere integriteta podataka. Kod većine algoritama obavlja se transformacija slike domaćina u domenu koja omogućuje umetanje otpornih i nevidljivih digitalnih žigova. Većina pristupa uključuje diskretnu kosinusnu transformaciju, no noviji zahtjevi nalažu istraživanja i drugačijih pristupa.

Tako je u ovom poglavlju prvo opisana je podjela algoritama označavanja i detekcije digitalnog vodenog žiga, nakon toga detaljnije je opisan princip rada algoritama temeljenih na zbrajanju te algoritama temeljenih na kvantizaciji.

5.1 Podjela algoritama

Algoritmi digitalnog vodenog žiga mogu se podijeliti s obzirom na: 1. domenu u kojoj se obavlja umetanje/izvlačenje žiga: • prostorna domena, • diskretna kosinusna domena, • diskretna Fourierova domena, • diskretna domena valića, • Fourier-Mellinova domena.

2. dostupnost referentnih podataka (npr. slike domaćina) za izvlačenje žiga:

• slijepe, • polu-slijepe, • ne-slijepe.

3. metodu modifikacije slike domaćina:

• linearno zbrajanje signala raspršenog spektra, • stapanje slika (prilikom umetanja loga), • postupak nelinearne kvantizacije i zamjene.

4. strategiju perceptualnog modeliranja:

• bez modeliranja, • implicitno modeliranje pomoću osobina domene transformacije, • eksplicitno modeliranje pomoću modela ljudskog vizualnog sustava. 5. namjenu: • zaštita autorskog vlasništva, praćenje cirkulacije podataka, • verifikacija i autentifikacija slika te detekcija neovlaštenih izmjena sadržaja, • skrivanje podataka i imenovanje slika.

Page 21: Programski sustav za zaštitu slika zasnovan na otpornim ...sigurnost.zemris.fer.hr/wm/2007_drobac/Senka_Drobac-Programski_sustav...Željela bih se zahvaliti svim članovima svoje

17

6. oblik medija domaćina:

• slike, • video, • posebni multimedijalni formati kao što su crtane slike i mape.

Svi opisani algoritmi su otporni algoritmi, tj. trebali bi biti otporni na sve uobičajene operacije nad slikama. Isto tako, svi su namijenjeni označavanju sivih slika. Slike u boji se mogu označavati tako da se prvo prebace u YUV područje boja i zatim se označuje komponenta osvjetljenja Y. Ostale komponente se najčešće ne koriste jer imaju premaleni raspon i kapacitet za potrebe digitalnog vodenog žiga. Drugi način označavanja slika u boji je označavanje svake RGB komponente posebno, ili pak samo jedne – npr. plave, jer se za plavu boju smatra da ljudski vizualni sustav njene promjene najslabije detektira.

5.2 Algoritmi temeljeni na zbrajanju

Kod algoritama koji se koriste zbrajanjem, niz brojeva iw duljine N umeće se u izabrani podskup koeficijenata signala domaćina f. Osnovni i često korišteni izraz prema kojem se obavlja umetanje je:

( ) )1)(,(,'iwnmfnmf ⋅+= α (5.1)

gdje je α faktor težine, a f' je promijenjeni koeficijent signala domaćina.

Neki od alternativnih načina ubacivanja žiga zbrajanjem su:

( )iwnmfnmf ⋅+= α),(,' (5.2)

i

( ) iwenmfnmf

α),(,' = (5.3)

Važno svojstvo gornjih izraza je da se inverzna funkcija funkcije umetanja:

( ) ( )( )nmf

nmfnmfwi ,

,,

−=

∗∗

α (5.4)

može vrlo lako izvesti iz f*, tj. iz primljene, najčešće promijenjene slike za koju se smatra da sadrži digitalni vodeni žig w.

U sljedećem koraku, izvučeni digitalni vodeni žig w* uspoređuje se s originalno umetnutim žigom w pomoću normalizirane korelacije za pseudo-slučajne brojeve:

Page 22: Programski sustav za zaštitu slika zasnovan na otpornim ...sigurnost.zemris.fer.hr/wm/2007_drobac/Senka_Drobac-Programski_sustav...Željela bih se zahvaliti svim članovima svoje

18

WW

WW

⋅=

δ (5.5)

gdje je mjera sličnosti δ broj iz intervala [-1, 1]. Vrijednosti blizu jedinice znače da je izvučeni niz w* jako sličan umetnutom žigu w i tada se može zaključiti da je dotična slika označena digitalnim vodenim žigom w.

Kako bi se omogućila detekcija vodenog žiga bez prisustva originalne slike, predstavljene su metode koje uspoređuju žig w direktno sa svih N koeficijenata označene slike f*:

( )

N

wnmfN

i

i∑=

∗⋅

= 1

(5.6)

te se zatim δ uspoređuje s pragom detekcije τ:

( )∑ ∗

⋅=

N

nmfN

,3

ατ (5.7)

Nedostatak ove metode je da se signal same slike tretira kao šum pa je za detekciju potrebna i originalna slika.

Neki od poznatih algoritama temeljenih na zbrajanju su: Cox-ov algoritam, algoritmi Corvi, Xia, Barni, Chen, Dugad, Kim, Su, Wang, itd. U sljedećim odlomcima objašnjeni su prva tri nabrojena algoritma.

5.2.1 Cox-ov algoritam

Cox-ov algoritam [8] je, uz Kochov algoritam, najpoznatiji algoritam koji koristi diskretnu kosinusnu transformaciju.

Autori ovog algoritma su Ingemar J. Cox, Joe Kilian, Tom Leighton i Talal G. Shamoon s NEC Research Institute, Princenton, USA. Kao digitalni vodeni žig uzima se Gaussov niz od 1000 pseudo-slučajnih brojeva koji se zatim zbraja (izraz 5. 1) s 1000 najvećih koeficijenata DCT. Izvlačenje žiga obavlja se izrazom 5.4.

Na slici 5.1 prikazan je proces umetanja Cox-ovog algoritma u kojem se koeficijenti transformacije dijele na značajne (najviših 1000) i odbačene.

Page 23: Programski sustav za zaštitu slika zasnovan na otpornim ...sigurnost.zemris.fer.hr/wm/2007_drobac/Senka_Drobac-Programski_sustav...Željela bih se zahvaliti svim članovima svoje

19

Na slici 5.2 prikazana je smanjena crno-bijela slika 4.2.03.tiff [6] prije umetanja digitalnog vodenog žiga Cox-ovim algoritmom, a na slici 5.3 nakon umetanja uz parametre N = 1000 i α = 0.3. Originalne dimenzije slike su 512x512 piksela.

Slika 5.1 Blok dijagram Cox-ovog algoritma

Slika 5.2 4.2.03.tiff

Slika 5.3 4.2.03.tiff nakon umetanja žiga algoritmom Cox uz α= 0.3

Usporedbom digitalnog vodenog žiga izvučenog iz označene slike i umetnutog žiga (izraz 5.5), Hammingova udaljenost iznosi δ = 0. 9998.

Slika 5.4 prikazuje skaliranu razliku prethodne dvije slike.

S obzirom da se kod ovog algoritma umetanje odvija u DCT domeni, on je učinkovit za teksturirane slike sa što manje ploha jednake svjetline.

Page 24: Programski sustav za zaštitu slika zasnovan na otpornim ...sigurnost.zemris.fer.hr/wm/2007_drobac/Senka_Drobac-Programski_sustav...Željela bih se zahvaliti svim članovima svoje

20

Slika 5.4 Razlika slike označene algoritmom Cox i originalne slike

5.2.2 Algoritam Corvi

Algoritam Corvi [3] su razvili Marco Corvi i Gianluca Nicchiotti s Elsag-Bailey Research Department-a iz Geove, Italija. Digitalni vodeni žig je Gausov niz pseudo-slučajnih realnih brojeva, dužine 32 x 32 =1204. Algoritam sliku domaćina prebacuje u diskretnu domenu valića i koeficijenti koji se zbrajaju s žigom su oni iz LL područja (Slika 4.5.1). Digitalni vodeni žig se umeće u aproksimiranu sliku (LL podpojas – slika 4.1) veličine 32 x 32 sljedećim izrazom:

( ) ( )isrsr wfnmffnmf α+⋅−+= 1),(),(' (5.8)

gdje je srf prosječna vrijednost koeficijenata.

Slika 5.5 Razlika slike označene algoritmom Corvi i originalne slike

Page 25: Programski sustav za zaštitu slika zasnovan na otpornim ...sigurnost.zemris.fer.hr/wm/2007_drobac/Senka_Drobac-Programski_sustav...Željela bih se zahvaliti svim članovima svoje

21

Na slici 5.5 prikazana je crno-bijela slika 4.2.03.tiff [6] prije umetanja digitalnog vodenog žiga algoritmom Corvi, a na slici 5.6 nakon umetanja uz parametre N =1024 i α =0.3. Usporedbom digitalnog vodenog žiga izvučenog iz označene slike i umetnutog žiga (izraz 5.5), dobije se Hammingova udaljenost δ = 0. 8280.

Slika 5.6 4.2.03.tiff

Slika 5.7 4.2.03.tiff nakon umetanja žiga algoritmom Corvi uz α= 0.3

Za razliku od algoritma Cox, Corvi većinu žiga ubacuje u jednolične dijelove slike pa se najbolje ponaša kod slika sa što manje tekstura.

5.2.3 Alogritam Xia

Algoritam Xia jedan je od algoritama koji koristi diskretnu domenu valića. Razvili su ga Xiang-Gen Xia, Charles G. Boncelet i Gonzalo R. Arce s odjela za Električni i kompjuterski inženjering Sveučilišta U Delawareu, Newark, USA.

Kao digitalni vodeni žig koristi se Gaussov niz pseudo slučajnih realnih brojeva. Autori preporučuju prijelaz u diskretnu domenu valića dvorazinskom strukturom rastava uz upotrebu Haarovog filtra. Digitalni vodeni žig se umeće u velike koeficijente visokih i srednjih frekvencijskih pojaseva (detaljnih podpojaseva) pa, za razliku od algoritma Corvi, digitalni vodeni žig uopće ne nalazi u LL podpojasu (slika 4.1). Umetanje žiga obavlja se sljedećom formulom:

( ) ( ) ( ) iwnmfnmfnmf ⋅⋅+=β

α ,,', (5.9)

gdje je α parametar jačine umetanja, dok β pokazuje povećanje velikih koeficijenata. Izvlačenje žiga obavlja se inverzom gornje formule. S obzirom na to da veliki koeficijenti u detaljnim podpojasevima najčešće predstavljaju rubove, ovim algoritmom se najviše energije digitalnog vodenog žiga

Page 26: Programski sustav za zaštitu slika zasnovan na otpornim ...sigurnost.zemris.fer.hr/wm/2007_drobac/Senka_Drobac-Programski_sustav...Željela bih se zahvaliti svim članovima svoje

22

koncentrira u područja rubova i tekstura. Time se postiže dobra nevidljivost umetnutog žiga jer je ljudsko oko je manje podložno primjećivanju promjena kod rubova i tekstura, za razliku od promjena uzrokovanima u području niskih frekvencija.

Slika 5.8 4.2.03.tiff

Slika 5.9 4.2.03.tiff nakon umetanja žiga algoritmom Xia uz α = 0.3

Kao i u prethodnim primjerima, prvo je prikazana skalirana crno-bijela slika 4.2.03.tiff [6] (Slika 5.8) prije umetanja digitalnog vodenog žiga algoritmom Xia, a na slici 5.6 nakon umetanja uz parametre N =1000 i α =0.3. Usporedbom digitalnog vodenog žiga izvučenog iz označene slike i umetnutog žiga (izraz 5.5), dobije se Hammingova udaljenost δ = 0. 999694.

Slika 5.10 Razlika slike označene algoritmom Xia i originalne slike

Kasnije u tekstu opisana je programska izvedba algoritma Xia te se nalazi više primjera označenih slika tim algoritmom. Također, ispitana je njegova otpornost na uobičajene operacije nad slikama.

Page 27: Programski sustav za zaštitu slika zasnovan na otpornim ...sigurnost.zemris.fer.hr/wm/2007_drobac/Senka_Drobac-Programski_sustav...Željela bih se zahvaliti svim članovima svoje

23

5.3 Algoritmi temeljeni na kvantizaciji

5.3.1 Kvantizacija

Kvantizacija (quantization) je proces preslikavanja velike, možda čak i beskonačne, grupe vrijednosti u mnogo manju grupu vrijednosti. S obzirom da se kvantizacijom smanjuje količina različitih elemenata, smatra se glavnim polazištem kod mnogih shema kompresije podataka s gubicima.

Postoje dvije vrste kvantizacije:

1. skalarna kvantizacija, 2. vektorska kvantizacija.

Kod skalarne kvantizacije, ulaz i izlaz u kvantizator (quantizier) su skalari, dok kod vektorske kvantizacije, kvantizator radi s vektorima.

Kvantizator se sastoji od kodera (encoder) i dekodera (decoder). Koder radi podjelu ulaznog signala na manje intervale, s tim da je svaki interval zastupljen svojom kodnom riječi (codeword). Kako koder svim ulaznim elementima koji svojim značajkama pripadaju jednom interval dodjeljuje istu kodnu riječ, postoji mnogo, a možda i beskonačno mnogo, različitih elemenata s istom kodnom riječi. Upravo zbog toga proces kodiranja je ireverzibilan. Za svaku kodnu riječ koju je koder stvorio, dekoder stvara novu, rekonstrukcijsku vrijednost.

Primjer jednostavnog kvantizatora:

Ukoliko se uzme da je skup ulaznih vrijednosti niz cijelih brojeva:

1 2 2 5 5 5 5 5 5 1 1 1 6 6 6 6 6 6 7 7 8 8 8 8 8 8 8 8 8

Ovaj gornji niz može se kvantizirati tako da se svaki podniz od b uzastopnih brojeva x zamijeni kodnom riječi x b:

1 2 2 5 6 1 3 6 6 7 2 8

Drugi primjer jednostavnog kvantizatora bi bila funkcija ceil() iz standardne c biblioteke (library) koja dani realni broj zamjenjuje prvim većim cjelobrojnim brojem, pa tako izrazi ceil(6.04), ceil(6.7), ceil (6.24), itd. vraćaju vrijednost 7.

5.3.2 Uporaba kvantizacije kod digitalnih vodenih žigova

Nakon dekompozicije slika pomoću DCT i DWT, pojasevi niske frekvencije u sebi nose veliku količinu energije slike i tako predstavljaju većinu šuma slike, tj vlastitog šuma (self-noise). Kod ne-slijepih algoritama, algoritama kod kojih je pri izvlačenju žiga iz slike prisutna originalna slika, vlastiti šum ne stvara problem jer se prije

Page 28: Programski sustav za zaštitu slika zasnovan na otpornim ...sigurnost.zemris.fer.hr/wm/2007_drobac/Senka_Drobac-Programski_sustav...Željela bih se zahvaliti svim članovima svoje

24

vađenja žiga može od označene slike oduzeti originalna slika. S druge strane, kod slijepih algoritama, postoji velika vjerojatnost da se žig, zbog smetnji prouzročenih vlastitim šumom, ne prepozna ili da se zamijeni sa signalom same slike.

No vlastiti šum ima i pozitivna svojstva kod označavanja slike. Naime, uobičajene operacije nad slikama gotovo uopće ne utječu na pojaseve niske frekvencije, već se uglavnom promjene odvijaju u području visokih frekvencija. A visoke frekvencije uzrokuju zanemarivo malo vlastitog šuma.

Kako bi se riješio problem vlastitog šuma, ali i zadržala otpornost algoritma, kod slijepih algoritama žig se nastoji umetnuti u srednje frekvencije. Metode umetanja žiga u sliku koje koriste kvantizatore također postižu kompromis između dobre otpornosti i niskog vlastitog šuma.

Slika 5.11 Distribucijski model kod kojeg primatelj nema originalnu sliku

Na slici 5.11. prikazan je princip većine kvantizacijskih algoritama. Potrebno je poruku m pomoću nekih značajki iz originalne slike x kodirati u žig w koji se nakon toga umetne u sliku x. Pretpostavlja se da će označena slika prolaskom kroz distribucijski kanal biti napadnuta (y) te da kod primaoca stiže promijenjena (x*), ali dovoljno slična originalu. Prolaskom kroz dekoder, iz označene i promijenjene slike x* primatelj treba dobiti poruku m* koja bi trebala biti što sličnija originalno umetnutoj poruci.

Poznatiji otporni algoritmi temeljeni na kvantizaciji su: Chae, Ejima, Jayawardena, Koch, Lin, Ohnishi, Tzovaras, Xie, itd.

U sljedećim odlomcima objašnjeni su algoritmi Koch i Ohnishi.

5.3.3 Algoritam Koch

Algoritam Koch [7] je jedan od mnoštva različitih algoritama koji se temelje na kvantizaciji. Osmislili su ga Eckhard Koch i Jian Zhao s Instituta za računalnu grafiku, Fraunhofer.

Algoritam pseudo-slučajno izabire blok DCT koeficijenata veličine 8x8. Unutar svakog bloka bi, pseudo-slučajno se izabiru dva koeficijenta srednjih frekvencija (Slika 5.12). U kasnijim dodacima osnovnoj shemi, kako bi se postigla maksimalna otpornost i nevidljivost žiga, prema posebnim kriterijima odbacuje se jedan blok ili par koeficijenata.

Page 29: Programski sustav za zaštitu slika zasnovan na otpornim ...sigurnost.zemris.fer.hr/wm/2007_drobac/Senka_Drobac-Programski_sustav...Željela bih se zahvaliti svim članovima svoje

25

Umetanje žiga (niz binarnih vrijednosti – { }1,0∈iw ) u originalnu sliku obavlja se tako da se prvo svaki blok kvantizira prema JPEG kvantizacijskoj matrici i kvantizacijskim fkatorom Q. Apsolutna razlika između izabranih koeficijenata je:

),(),( 2211 nmfnmf bbb −=∆ (5.10)

gdje je fb DCT 8x8 blok, a fb(m1,n1), fb(m2,n2) su odabrani koeficijenti u određenom bloku. Kako bi se umetnuo jedan bit žiga (wi), potrebno je par koeficijenata fb(m1,n1), fb(m2,n2) promijeniti tako da udaljenost ∆b postane:

=−≤

=≥=∆

0

1

i

i

bwzaq

wzaq (5.11)

pri čemu je q parametar koji kontrolira jačinu umetanja žiga.

Slika 5.12 Osnovna shema algoritma Koch

S obzirom da se u ovom algoritmu žig umeće u DCT 8 x 8 blokove, moguće i vjerojatne su vidljive promjene na označenoj slici, osobito u jednoličnim dijelovima slike. Kao poboljšanje algoritma Benham i Zhao su umjesto para od dva koeficijenta uveli skup tri koeficijenta što je doprinijelo povećanju otpornosti i smanjenju vidljivih poremećaja označene slike.

Page 30: Programski sustav za zaštitu slika zasnovan na otpornim ...sigurnost.zemris.fer.hr/wm/2007_drobac/Senka_Drobac-Programski_sustav...Željela bih se zahvaliti svim članovima svoje

26

5.3.4 Algoritam Ohnishi

Algoritam Ohnishi [3] osmislili su Junji Ohnishi i Kineo Matsui s Odjela za računarstvo Nacionalne Obrambene Akademije iz Yokosuke u Japanu.

Kao žig, uzima se niz bitova { }1,0∈iw . Kao koeficijenti u koje se umeće žig izabiru se svi koeficijenti iz LL frekvencijskog podpojasa nastali dvorazinskim rastavom u domeni valića (poglavlje 4.5) koji su najprije podvrgnuti pseudo-slučajnom šumu n. Množenjem originalnog signala sa spomenutim šumom n, pri čemu je { }1,1−∈in ,

dobije se funkcija ( )nmf ,~

:

( ) ( ) innmfnmf ⋅= ,,~

(5.12)

Isto tako, množenjem ( )nmf ,~

s in dobije se originalni signal jer s obzirom da je

{ }1,1−∈in vrijedi:

( ) ( ) ( )nmfnnmfnnmf ii ,,,~ 2 =⋅=⋅ (5.13)

Nakon toga, koeficijenti ( )nmf ,~

podijele se vu blokove dimenzija B x B te se u svaki blok bj umeće jedan bit žiga, wi.

Umetanje žiga u sliku obavlja se tako da se najprije svaki blok bj pomoću DCT prebaci u frekvencijsku domenu čime se dobiju frekvencijski koeficijenti bloka ( )lkb j ,

~.

Nakon toga, za umetanje svakog bita žiga, DC koeficijenti (Na slici 5.2 prikazana je smanjena crno-bijela slika 4.2.03.tiff [6] prije umetanja digitalnog vodenog žiga Cox-ovim algoritmom, a na slici 5.3 nakon umetanja uz parametre N = 1000 i α = 0.3. Originalne dimenzije slike su 512x512 piksela.

Slika 5.1) bloka ( )lkb j ,~

se kvantiziraju uniformnom kvantizacijom s korakom ∆.

Izvlačenje žiga iz označene slike obavlja se inverznim postupkom bez upotrebe originalne slike.

Page 31: Programski sustav za zaštitu slika zasnovan na otpornim ...sigurnost.zemris.fer.hr/wm/2007_drobac/Senka_Drobac-Programski_sustav...Željela bih se zahvaliti svim članovima svoje

27

6. Praktična izvedba algoritma Xia

Algoritam Xia implementiran je i radi isključivo u Linux okruženju.

Postoje dvije inačice programa – jedna koja se pokreće iz konzole te ona s grafičkim sučeljem. Kako su obje inačice jednake u svim aspektima osim u tome da inačica s grafičkim sučeljem ima nekoliko naprednijih opcija (izbor veličine žiga, podešavanje parametra jačine umetanja žiga te mogućnost umetanja žiga u svim slikama u izabranom direktoriju), u nastavku teksta bit će opisana samo izrada i korištenje inačice s grafičkim sučeljem, dok su upute o pokretanju programa bez grafičkog sučelja dostupne isključivo uz sami program.

Za izradu grafičkog sučelja na Linux operacijskom sustavu korištena je GraphApp [9] biblioteka za izradu sučelja. S obzirom da je GraphApp biblioteka opremljena vrlo jednostavnim i ograničenim elementima, izgled izrađenog sučelja nije osobito lijep, ali zadovoljavajuće je funkcionalnosti.

Na slici 6.1 prikazan je izgled grafičkog sučelja. Kao što se može vidjeti na slici, postoje dva glavna stupca, lijevi je namijenjen umetanju žiga u sliku, a desni izvlačenju iz slike.

Kod umetanja žiga u sliku moguće je izabrati ili umetanje žiga u jednu sliku ili umetanje u sve slike u direktoriju. Ukoliko se želi označiti samo jedna slika, pritiskom na gumb "Izaberite ulaznu sliku" izabere se željena slika i njen smanjeni prikaz pojavljuje se u prozorčiću ispod teksta "Ulazna slika". U kućicu "Označena slika" upisuje se ime datoteke s kojom će označena slika biti spremljena na disk. Kako algoritam, u slučaju da nije izabrana vanjska datoteka sa žigom ("Izaberite vlastiti žig") sam stvara žig, u polje "Stvoreni sig file" upisuje se ime datoteke s kojim će stvoreni žig biti spremljen na disk.

Prije umetanja žiga u sliku, moguće je izabrati i sljedeće parametre: veličinu stvorenog žiga N, stupanj jačine umetanja žiga u sliku α (zbog nemogućnosti pisanja grčkih slova, na sučelju je označen slovom "a") te s obzirom da algoritam primljenu JPEG sliku prvo prebacuje u sirovi (raw) format PGM, tada izvodi operacije na slici i kasnije je vraća u JPEG format, potrebno je odabrati i stupanj JPEG kompresije.

Kada su uneseni svi željeni parametri, odabirom tipke "Umetni žig" obavlja se umetanje žiga u izabranu sliku, a odabirom tipke "Umetni žig svim slikama" algoritam označi sve slike u odabranom direktoriju s istim žigom i istim odabranim parametrima. Ukoliko je označena samo jedna slika, njen smanjeni prikaz se prikaže ispod teksta "Označena slika".

Ukoliko se želi izvaditi žig iz slike, potrebno je pritiskom na gumb "Izaberite označenu sliku" izabrati označenu sliku, potrebno je na sličan način izabrati i originalnu sliku, te izabrati žig kojim je obavljeno umetanje. Nakon toga, pritiskom na tipku "Pronađite žig u označenoj slici" ispod teksta "Rezultati" ispiše se Hammingova udaljenost u svim označenim podpojasevima. Ukoliko je program pokrenut iz konzole, rezultati se ispišu i u konzoli.

Page 32: Programski sustav za zaštitu slika zasnovan na otpornim ...sigurnost.zemris.fer.hr/wm/2007_drobac/Senka_Drobac-Programski_sustav...Željela bih se zahvaliti svim članovima svoje

28

Slika 6.1 Prikaz grafičkog sučelja programa

6.1 Umetanje žiga u sliku

Nakon što su na sučelju izabrani svi parametri i pritisnut gumb "Umetni žig" pokreće se umetanje žiga u odabranu sliku.

Ukoliko nije odabran žig, prvo je žig potrebno stvoriti. Za potrebe ovog algoritma uzet je Box-Mullerov generator pseudo-slučajnih brojeva poznat i kao Polar [3] koji je prikazan na slici 6.2.

Nakon što je žig stvoren, sprema se u datoteku odabranog naziva.

Zatim se odabrana slika iz JPEG formata prebacuje u PGM format funkcijom loadPGMFromJPEG iz Netpbm biblioteke [10]. Priliko prebacivanja u PGM format, ukoliko je originalna slika u boji, prebacuje se u sivu sliku (grayscale).

Page 33: Programski sustav za zaštitu slika zasnovan na otpornim ...sigurnost.zemris.fer.hr/wm/2007_drobac/Senka_Drobac-Programski_sustav...Željela bih se zahvaliti svim članovima svoje

29

Slika 6.2 Box-Mullerov generator pseudo-slučajnih brojeva

Kako je napravljeni program nadogradnja implementacije algoritma Xia koju je napravio Peter Meerwald [3], za prebacivanje slike u domenu valića koriste se izmijenjeni kodovi koje je on napisao, u ovom slučaju pretvorene u biblioteke. Tako je za prebacivanje funkcije u domenu najprije potrebno pokrenuti funkciju init_dwt kojom se izabere filtar prebacivanja u domenu valića (u ovom algoritmu to je Haarov filtar), a zatim se funkcijom fdwt izabrana slika DWT rastavi na koeficijente i detalje. Potom se žig po formuli 5.9 umeće u sve detalje rastava kojima je vrijednost veća od 20 te se slika funkcijom idwt vraća u prostornu domenu. Funkcijom saveJPEGFromPGM iz Netpbm datoteke, sada već označena slika sprema se u JPEG format uz prije odabrani stupanj kompresije.

Ukoliko je na sučelju pritisnut gumb "Umetni žig svim slikama" prolazi se po imenima svih datoteka u izabranom direktoriju i ukoliko se pronađe datoteka s ekstenzijom .jpg ili .jpeg, za tu sliku se obavlja umetanje žiga u sliku po gore opisanom postupku.

6.2 Izvlačenje žiga iz slike

S obzirom da je Xia ne-slijepi algoritam, za izvlačenje žiga iz slike potrebna je i originalna slike. Osim originalne slike, za usporedbu izvučenih podataka s umetnutim podacima, potreban je i originalno umetnuti žig.

Prvi korak u programu je učitavanje umetnutog žiga i provjera je li u ispravnom formatu. Ispravan format je da u prvom redu piše veličina umetnutog žiga N, u drugom redu vrijednost parametra α, nakon toga ide jedan prazan redak koji slijedi N pseudo slučajnih realnih brojeva.

( ) ( )

( ) βα1

,

),',(

nmf

nmfnmfwi

−= (6.1)

Ukoliko je format žiga ispravan, on se učitava i sprema u internu varijablu. Nakon toga, učitavaju se odabrana označena i originalna slika i pretvaraju u PGM format. Istom funkcijom kao i kod umetanja, obje slike se prebacuju u diskretnu domenu valića. Inverzom formule 5.9, formulom 6.1, iz svih podpojaseva rastava označene

Page 34: Programski sustav za zaštitu slika zasnovan na otpornim ...sigurnost.zemris.fer.hr/wm/2007_drobac/Senka_Drobac-Programski_sustav...Željela bih se zahvaliti svim članovima svoje

30

slike vadi se žig te se formulom 5.5 uspoređuje s umetnutim žigom. Dobivene vrijednosti se ispisuju na ekran.

Page 35: Programski sustav za zaštitu slika zasnovan na otpornim ...sigurnost.zemris.fer.hr/wm/2007_drobac/Senka_Drobac-Programski_sustav...Željela bih se zahvaliti svim članovima svoje

31

7. Opis i rezultati ispitivanja algoritma Xia

U ovom poglavlju opisana su razna ispitivanja rada algoritma te otpornost digitalnih vodenih žigova umetnutih i izvučenih iz slike algoritmom Xia.

Prvo su opisana ispitivanja utjecaja žiga na kvalitetu označene slike u ovisnosti o parametru jačine umetanja α te o veličini umetnutog žiga. Isto tako, opisana je otpornost žiga na JPEG kompresiju koja je sastavni dio implementiranog algoritma.

Zatim su opisana ispitivanja implementacije algoritma za označavanje svih slika u odabranom direktoriju, dok je u ostala dva podpoglavlja opisano ispitivanje otpornosti žiga na neke uobičajene i manje uobičajene napade.

Tako se u trećem podpoglavlju nalaze rezultati testiranja na napade rotiranjem, translacijom, skaliranjem i filtriranjem označene slike, a u četvrtom je moguće pronaći ispite otpornosti žiga na neuobičajene operacije: višestruko označavanje i brisanje dijelova slike.

7.1 Ispitivanje osnovnih parametara

U ovom poglavlju prikazan je utjecaj osnovnih parametara (veličine žiga, koeficijenta α, stupnja kompresije) na kvalitetu označene slike.

Sva ispitivnja u ovom poglavlju obavljena su na slikama:

• 4.1.05.tiff [6] (House) – sivoj slici dimenzija 256x256 piksela, • 4.2.04.tiff [6] (Lena) – sivoj slici dimenzija 512x512 piksela.

7.1.1 Veličina umetnutog žiga

Veličina žiga je jedan od osnovnih parametara kod algoritama za umetanje žiga u sliku. Algoritam Xia je originalno osmišljen tako da umeće 1000 znakova u odabranu sliku, ali ovdje predstavljena implementacija algoritma napravljena je na način da je moguće umetnuti proizvoljni broj znakova, uz ograničenje da taj broj uvijek bude paran.

Za ispitivanje utjecaja veličine žiga na slike odabrana slika House čije dimenzije su samo 256x256 piksela. Na sljedeće četiri slike (Slika 7.1 - Slika 7.4) prikazana je originalna slika i slike s umetnutim žigovima veličine 1000, 5000 te 20000 znakova. Umetanje je obavljeno uz α = 0,2. Kao što se može primijetiti, povećanje veličine žiga ne djeluje drastično na izgled slike.

Page 36: Programski sustav za zaštitu slika zasnovan na otpornim ...sigurnost.zemris.fer.hr/wm/2007_drobac/Senka_Drobac-Programski_sustav...Željela bih se zahvaliti svim članovima svoje

32

Slika 7.1 Originalna (siva) slika

Slika 7.2 Slika označena uz α=0.2 i N=1000

Slika 7.3 Slika označena uz α=0.2 i N=5000

Slika 7.4 Slika označena uz α=0.2 i N=20000

7.1.2 Veličina koeficijenta α

Parametar α označava jačinu umetanja žiga u sliku. Što je α veći, žig je otporniji, ali i vidljiviji u slici.

Ispitivanje utjecaja veličine parametra α na kvalitetu označene slike obavljeno je na slici dimenzija 512x512 Lena. Radi lakšeg prikaza, ovdje prikazane slike su smanjene.

Na slici 7.5 prikazana je slika prije označavanja, a na sljedeće tri slike nakon označavanja žigom veličine 1000 uz parametre α redom: 0.2, 0.5 i 1.5.

Page 37: Programski sustav za zaštitu slika zasnovan na otpornim ...sigurnost.zemris.fer.hr/wm/2007_drobac/Senka_Drobac-Programski_sustav...Željela bih se zahvaliti svim članovima svoje

33

Dok je na slici 7.6 žig u potpunosti nevidljiv, na slici označenoj uz α = 0.5 vide se manje bijele točke u blizini rubova, dok je žig na Slici 7.8 dobro vidljiv.

Slika 7.5 Originalna (siva) slika

Slika 7.6 Slika označena uz uz α=0.2

Slika 7.7 Slika označena uz uz α=0.5

Slika 7.8 Slika označena uz uz α=1.5

7.1.3 Stupanj kompresije

S obzirom da je algoritam implementiran na način da ulaznu sliku JPEG formata prvo pretvori u sirovi (raw) format PGM u kojem se obavljaju daljnje transformacije na slici, po završetku umetanja žiga, algoritam označenu sliku je vraća u JPEG format.

Page 38: Programski sustav za zaštitu slika zasnovan na otpornim ...sigurnost.zemris.fer.hr/wm/2007_drobac/Senka_Drobac-Programski_sustav...Željela bih se zahvaliti svim članovima svoje

34

Slika 7.9 Slika označena uz uz α=0.2, N=1000 i q=100

Slika 7.10 Slika označena uz uz α=0.2, N=1000 i q=90

Slika 7.11 Slika označena uz uz α=0.2, N=1000 i q=75

Slika 7.12 Slika označena uz uz α=0.2, N=1000 i q=50

Pretvaranjem JPEG-a u sirovi format pa naknadno vraćanje u JPEG donosi gubitke u kvaliteti slike, ali i do smanjenja otpornosti umetnutog žiga. Na gornje četiri slike (Slika 7.9 - Slika 7.12) prikazane su slike označene uz stupnjeve kompresije 100, 90, 75 i 50. Kvaliteta slike je ostala dovoljno dobra uz sve navedene stupnjeve kompresije. U tablicima 7.1 i 7.2 te grafovima 1 i 2, prikazani su rezultati izvlačenja žiga u ovisnosti o stupnju kompresije i parametru α. Rezultati su iskazani kroz vrijednost Hammingove udaljenosti (jednadžba 5.5) izračunate za sve podpojaseve detalja (Slika 4.1).

Page 39: Programski sustav za zaštitu slika zasnovan na otpornim ...sigurnost.zemris.fer.hr/wm/2007_drobac/Senka_Drobac-Programski_sustav...Željela bih se zahvaliti svim članovima svoje

35

Iz rezultata je vidljivo da je žig označen uz α = 0.2 odlično opstao u svim frekvencijskim podpoasevima (HH2 – LH1) uz JPEG kompresiju s parametrima 100 i 90, dok ga je kompresija s parametrom 75 potpuno uništila u podpojasu najnižih srednjih frekvencija LH1. Kompresija s parametrom kompresije 50 uništila je žig u svim podpojasevima srednjih frekvencija, dok se žig dobro očuvao u podpojasevima visokih frekvencija.

Tablica 7.1 Rezultati izvlačenja žiga iz slike označene uz N = 1000 i α = 0.2 uz različite stupnjeve kompresije

Podpojas δ uz q = 100 δ uz q = 90 δ uz q = 75 δ uz q = 50

HH2 0.9954 0.9048 0.6447 0.3340

HL2 0.9925 0.9327 0.7122 0.3536

LH2 0.9966 0.7356 -0.0871 -0.0210

HH1 0.9849 0.9804 0.9486 0.8866

HL1 0.9801 0.9755 0.9468 0.8739

LH1 0.9908 0.9571 0.8484 0.6574

Rezultati izvlačenja žiga iz slike označene uz N = 1000 i α = 0.5

uz različite stupnjeve kompresije

-0.2

0

0.2

0.4

0.6

0.8

1

1.2

HH2 HL2 LH2 HH1 HL1 LH1

Frekvencijski podpojas

δ uz q = 100

δ uz q = 90

δ uz q = 75

δ uz q = 50

Graf 1 Prikaz rezultata tablice 7.1

Page 40: Programski sustav za zaštitu slika zasnovan na otpornim ...sigurnost.zemris.fer.hr/wm/2007_drobac/Senka_Drobac-Programski_sustav...Željela bih se zahvaliti svim članovima svoje

36

Tablica 7.2 Rezultati izvlačenja žiga iz slike označene uz N = 1000 i α = 0.5 uz različite stupnjeve kompresije

Podpojas δ uz q = 100 δ uz q = 90 δ uz q = 75 δ uz q = 50 δ uz q = 30

HH2 0.9833 0.9555 0.9014 0.6562 0.5381

HL2 0.9825 0.9767 0.9179 0.7343 0.5248

LH2 0.9907 0.9645 0.6770 0.1409 0.4184

HH1 0.9849 0.9865 0.9801 0.9641 0.9342

HL1 0.9823 0.9826 0.9762 0.9569 0.9244

LH1 0.9703 0.9833 0.9478 0.8830 0.7836

Rezultati izvlačenja žiga iz slike označene uz N = 1000 i α = 0.5

uz različite stupnjeve kompresije

0

0.2

0.4

0.6

0.8

1

1.2

HH2 HL2 LH2 HH1 HL1 LH1

Frekvencijski podpojas

δ uz q = 100

δ uz q = 90

δ uz q = 75

δ uz q = 50

Graf 2 Prikaz rezultata tablice 7.2

Kao što je već ranije navedeno, povećanjem parametra α dobije se bolja otpornost žiga. Usporedbom rezultata gornjih dviju tablica vidi se da to pravilo vrijedi i za JPEG kompresiju. Vidljivo je da su rezultati uz α = 0.5 i stupanj kompresije q = 50 bolji od rezultata uz α = 0.2 i q = 75. Drugim riječima, ukoliko je slika označena uz α = 0.5, bez straha od uništenja žiga, sliku je moguće komprimirati na čak 30% svoje originalne veličine. Ako je originalna slika veličine 150KB, nakon označavanja i JPEG kompresije s parametrom 30, označena slika će biti veličine oko 15 KB što je značajna ušteda, osobito kod slika kojima je distribucijski kanal Internet.

Page 41: Programski sustav za zaštitu slika zasnovan na otpornim ...sigurnost.zemris.fer.hr/wm/2007_drobac/Senka_Drobac-Programski_sustav...Željela bih se zahvaliti svim članovima svoje

37

7.2 Ispitivanje brzine označavanja većeg broja slika

Obavljena su mjerenja brzine rada algoritama kod označavanja svih slika u direktoriju.

U svakoj iteraciji stvoren je novi žig s 1000 znakova, faktor jačine umetanja (alpha) je bio 0.2 te je jačina kompresije stvorenog JPEG-a iznosila 100.

Ispitivanje je obavljeno u tri mjerenja sa 4 različita seta slika koji se sastoje od jedne slike kopirane u 100 primjeraka. Upotrijebljene su sljedeće slike:

1. 4.2.04.tiff [6] (Lena) – siva slika dimenzija 512x512 piksela

2. 4.2.01.tiff [6] (Splash) – slika u boji dimenzija 512x512 piksela

3. 5.3.01.tiff [6] (Man) – siva slika dimenzija 1024x1024 piksela

Sve slike su prije ispitivanja pretvorene u JPEG datoteke sa stupnjom kompresije 100.

Rezultati ispitivanja prikazani su u tablici 7.3.

Tablica 7.3 Vrijeme potrebno za označavanje100 istih slika na računalu s procesorom Intel Pentium 4 s 2,6GHz

Redni broj mjerenja

Vrijeme označavanja seta sastavljenog od 100 Lena 512x512 sivih slika

Vrijeme označavanja seta sastavljenog od 100 Splash 512x512 slika u

boji

Vrijeme označavanja seta sastavljenog od 100

Man 1024x1024 sivih slika

1. 55.54 s 54.33 s 239.17 s (3.99 min)

2. 54.95 s 53.28 s 242.95 s (4.05 min)

3. 55.26 s 53.76 s 243.44 s (4.06 min)

Prosječno: 55.25 s 53.79 s 241.85 s (4.03 min)

Mjerenja su pokazala da je za označavanje 100 slika veličine 512x512 piksela na računalu s procesorom Intel Pentium 4 s 2,6 GHz potrebno nešto manje od 1 minute, dok je za označavanje iste količine četiri puta većih slika potrebno oko 4 minute. To pokazuje da je brzina označavanja proporcionalna veličini dimenzija označavanih slika. Rezultati mjerenja označavanja slike u boji pokazali su da sam postupak pretvaranja slike u sivu sliku ne utječe na brzinu izvođenja algoritma.

Page 42: Programski sustav za zaštitu slika zasnovan na otpornim ...sigurnost.zemris.fer.hr/wm/2007_drobac/Senka_Drobac-Programski_sustav...Željela bih se zahvaliti svim članovima svoje

38

7.3 Filtriranje, rotiranje, skaliranje i translacija

7.3.1 Rotiranje i translacija

Rotiranje i translacija su ispitani na označenoj sivoj slici 4.2.04.tiff [6] (Lena) dimenzija 512x512 i rezultati su pokazali da žigovi umetnuti algoritmom Xia nisu otporni niti na rotiranje niti na translaciju.

Tablica 7.4 Rezultati izvlačenja žiga nakon napada

Maks. δ uz α=0.2, N=1000

Maks. δ uz α=0.5, N=1000

Rotaciija za 90° 0.0395 0.1270

Translacija slike za 1 piksel

udesno 0.3535 0.8039

Tablica 7.4 prikazuje maksimalnu Hammingovu udaljenost pronađenu prilikom usporedbe označene Lene (na koju je proveden napad rotacijom ili translacijom) i originalne slike. U prvom slučaju Lena je označena uz α = 0.2, a u drugom uz α = 0.5. U slučaju rotacije slike za 90° u smjeru kazaljke na satu, maksimalne Hammingove udaljenosti su toliko malene da je posve jasno da žig nije ostao sačuvan u slici. Kod translacije slike za samo 1 piksel udesno, maksimalni pronađeni δ u slučaju kada je slika označena uz α = 0.5 govori da je žig ostao sačuvan, ali kako se vidi u tablici 7.5, samo u podpojasu najviših frekvencija.

Tablica 7.5 Rezultati izvlačenja žiga po podpojasevima nakon translacije slike

HH2 HL2 LH2 HH1 HL1 LH1

δ uz α=0.5 0.6267 -0.3358 -0.2483 0.8039 0.2769 0.2310

7.3.2 Filtriranje

Ispitivanje očuvanja žiga u slici nakon napada filtriranjem obavljeno je na slici 4.2.04.tiff [6] označenoj uz parametre: α = 0.1, N =1000 i q =100.

Ispitivanje je pokazalo da filtar halftone pattern (size 1, contrast 0, pattern type: line) iz Adobe Photoshopa djeluje pogubno na žig u slici. Naime, maksimalna Hammingova udaljenost nakon izvlačenja i usporedbe žiga iznosi 0.1174.

S druge strane, mijenjanje kontrasta i svjetline slike nije značajnije utjecalo na žig u slici, osobito ukoliko se uzme u obzir da je α prrilikom označavanja slike iznosio samo 0.1.

Page 43: Programski sustav za zaštitu slika zasnovan na otpornim ...sigurnost.zemris.fer.hr/wm/2007_drobac/Senka_Drobac-Programski_sustav...Željela bih se zahvaliti svim članovima svoje

39

Slika 7.13 Označena Lena napadnuta filtrom halftone pattern

Kao što je prikazano u tablici 7.6 i na grafu 3, za sve ispitane slučajeve mijenjanja svjetline i kontrasta Hammingova udaljenost je veća od 0,7900. Zanimljivo je to da mijenjanje kontrasta i svjetline podjednako djeluju na promjenu očuvanosti žiga u svim frekvencijskim podpojasevima.

Rezultati izvlačenja žiga iz slike označene uz N = 1000 i α = 0.5

uz različite stupnjeve kompresije

0

0.2

0.4

0.6

0.8

1

1.2

HH2 HL2 LH2 HH1 HL1 LH1

Frekvencijski podpojas

δ nakon povećanja kontrastaza 15

δ nakon smanjenja svjetlineza 20

δ nakon povećanja kontrastaza 15 i svjetline za 10

Graf 3 Prikaz rezultata tablice 7.6

Page 44: Programski sustav za zaštitu slika zasnovan na otpornim ...sigurnost.zemris.fer.hr/wm/2007_drobac/Senka_Drobac-Programski_sustav...Željela bih se zahvaliti svim članovima svoje

40

Tablica 7.6 Rezultati izvlačenja žiga iz slike označene uz N = 1000 i α = 0.1 nakon promjene kontrasta i/ili svjetline slike

Podpojas δ nakon povećanja kontrasta za 15

δ nakon smanjenja svjetline za 20

δ nakon povećanja kontrasta za 15 i svjetline

za 10

HH2 0.8180 0.9864 0.8128

HL2 0.7930 0.9869 0.7901

LH2 0.8392 0.9778 0.8392

HH1 0.7989 0.9843 0.7981

HL1 0.8030 0.9797 0.8029

LH1 0.7982 0.9849 0.7980

Slika 7.14 Slika označena uz uz α=0.1, N=1000 i q=100

Slika 7.15 Označena slika nakon povećanja kontrasta za 15

Na slici 7.14 prikazana je označena slika prije napada. Slika 7.15 prikazuje označenu sliku nakon povećanja kontrasta za 15, slika 7.16 nakon smanjena svjetline za 20, sok se na slici 7.17 vidi kako označena slika izgleda nakon povećanja kontrasta za 15 i svjetline za 10.

Page 45: Programski sustav za zaštitu slika zasnovan na otpornim ...sigurnost.zemris.fer.hr/wm/2007_drobac/Senka_Drobac-Programski_sustav...Željela bih se zahvaliti svim članovima svoje

41

Slika 7.16 Označena slika nakon smanjenja svjetline za 20

Slika 7.17 Označena slika nakon povećanja kontrasta za 15 i svjetline za

10

7.3.3 Skaliranje

I ispitivanje otpornosti žiga na skaliranje je obavljeno na slici Lena. Ispitivanje je obavljeno na tri različita slučaja:

1) označena slika je prvo smanjena za 10% (na dimenzije 461x641 piksel), a zatim je vraćena na početnih 512x512 piksela (prvi stupac tablice 7.7),

2) označena slika je prvo povećana za 10% (na dimenzije 563x563 piksela), a zatim je vraćena na početnih 512x512 piksela (drugi stupac tablice 7.7),

3) označena slika je prvo smanjena za 50% (na dimenzije 256x256 piksela), a zatim je vraćena na početnih 512x512 piksela (treći stupac tablice 7.7).

Rezultati ispitivanja su pokazali da skaliranje u potpunosti uklanja žig iz podpojaseve srednjih frekvencija (HH2, HL2 i LH2), dok u podpojasevima visokih frekvencija otpornost žiga ovisi o jačini napada. Tako je žig u visokim frekvencijama ostao izvrsno sačuvan u prvom i drugom ispitanom slučaju, dok je kod skaliranja za 50% u vrlo visokoj mjeri uništen.

Page 46: Programski sustav za zaštitu slika zasnovan na otpornim ...sigurnost.zemris.fer.hr/wm/2007_drobac/Senka_Drobac-Programski_sustav...Željela bih se zahvaliti svim članovima svoje

42

Rezultati izvlačenja žiga iz slike označene uz N = 1000 i α = 0.1

nakon promjene kontrasta i/ili svjetline slike

-0.2

0

0.2

0.4

0.6

0.8

1

HH2 HL2 LH2 HH1 HL1 LH1

Frekvencijski podpojas

δ nakon smanjenja dimenzijana 461x461, pa povećanja na512x512

δ nakon povećanja dimenzijana 563x563, pa smanjenja na512x512

δ nakon smanjenja dimenzijana 256x2561, pa povećanjana 512x512

Graf 4 Prikaz rezultata tablice7.7

Tablica 7.7 Rezultati izvlačenja žiga iz slike označene uz N = 1000 i α = 0.1 nakon promjene kontrasta i/ili svjetline slike

Podpojas

δ nakon smanjenja dimenzija na 461x461,

pa povećanja na 512x512

δ nakon povećanja dimenzija na 563x563,

pa smanjenja na 512x512

δ nakon smanjenja dimenzija na 256x2561,

pa povećanja na 512x512

HH2 0.3433 0.6505 -0.0752

HL2 0.2953 0.5729 -0.0275

LH2 -0.0259 0.1730 -0.1108

HH1 0.9253 0.9393 0.3964

HL1 0.9120 0.9337 0.3182

LH1 0.9029 0.9363 0.0699

7.4 Ostali napadi

7.4.1 Višestruko označavanje slike

Zanimljivo je pogledati otpornost žiga na napad ponovnim označavanjem slike. Ispitivanje je obavljeno na način da je Lena označena žigom od 1000 znakova, uz alpha 0,2 i q=100 i označena slika je spremljena u datoteku Wm1.jpg. Nakon toga, slika Wm1.jpg je napadnuta tako da je ponovno označena istim žigom i spremljena u

Page 47: Programski sustav za zaštitu slika zasnovan na otpornim ...sigurnost.zemris.fer.hr/wm/2007_drobac/Senka_Drobac-Programski_sustav...Željela bih se zahvaliti svim članovima svoje

43

datoteku Wm2.jpg. Wm2.jpg je zatim ponovno označena i dobivena je Wm3.jpg te je isti postupak proveden kako bi se dobila Wm4.jpg. Postupak je prikazan na slici 7.18.

Slika 7.18 Ponovno označavanje slika

U tablici 7.8 prikazane su Hammingove udaljenosti dobivene izvlačenjem žiga iz Wm2.jpg, Wm3.jpg i Wm4.jpg s time da je kao originalna slika u prvom stupcu uzeta Wm1.jpg, dok u ostalim stupcima Lena.jpg.

Usporedbom prvog i drugog stupca vidi se da se ponovnim označavanjem slike prilično gubi na kvaliteti žiga, ali čak dvostruko ponovno označavanje daje u prosjeku δ iznad 0,5. Tek nakon trećeg napada označavanjem, Hammingova udaljenost pada ispod 0,5.

Tablica 7.8 Hammingova udaljenost

Podpojas

δ nakon izvlačenja žiga iz

Wm2.jpg u usporedbi s

Wm1.jpg

δ nakon izvlačenja žiga iz

Wm2.jpg u usporedbi s

Lena.jpg

δ nakon izvlačenja žiga iz

Wm3.jpg u usporedbi s

Lena.jpg

δ nakon izvlačenja žiga iz

Wm4.jpg u usporedbi s

Lena.jpg

HH2 0.9949 0.6901 0.5442 0.4111

HL2 0.9862 0.6616 0.4882 0.4111

LH2 0.9967 0.7696 0.6042 0.5691

HH1 0.9843 0.6669 0.5056 0.3924

HL1 0.9764 0.6323 0.5046 0.4233

LH1 0.9849 0.6795 0.5148 0.4105

Page 48: Programski sustav za zaštitu slika zasnovan na otpornim ...sigurnost.zemris.fer.hr/wm/2007_drobac/Senka_Drobac-Programski_sustav...Željela bih se zahvaliti svim članovima svoje

44

Rezultati izvlačenja žiga iz slike nakon napada višestrukim

označavanjem

0

0.2

0.4

0.6

0.8

1

1.2

HH2 HL2 LH2 HH1 HL1 LH1

Frekvencijski podpojas

δ nakon izvlačenja žiga izWm2.jpg u usporedbi sWm1.jpg

δ nakon izvlačenja žiga izWm2.jpg u usporedbi sLena.jpg

δ nakon izvlačenja žiga izWm3.jpg u usporedbi sLena.jpg

δ nakon izvlačenja žiga izWm4.jpg u usporedbi sLena.jpg

Graf 5 Prikaz rezultata tablice 7.8

7.4.2 Brisanje dijelova slike

U ovom poglavlju ispitana je otpornost žiga na napade brisanjem. Slika je označena uz parametar α=0,1 te žig veličine 1000.

Rezultati izvlačenja žiga iz označenih i napadnutih slika prikazanih u tablici 7.9 pokazuju da je algoritam Xia poprilično dobro otporan na napade brisanjem. Kako algoritam sprema žig u područja visoke frekvencije, ukoliko se obrišu dijelovi slike koji prikazuje ravne plohe bez mnogo rubova, žig će ostati odlično sačuvan. No, ukoliko se obrišu oni dijelovi slike koji sadrže mnogo rubova, bit će obrisan i dio žiga.

To se najbolje vidi usporedbom prvog i drugog te trećeg i četvrtog stupca tablice 7.9. I u prvom i u drugom stupcu prikazani su rezultati izvlačenja žiga iz svih frekvencijskih podpojaseva slike na kojima je obrisana ploha površine 20x20 piksela, s tom razlikom da se u prvom slučaju obrisana ploha nalazi u području niskih frekvencija, tj na ramenu Lene, dok se u drugom slučaju nalazi u području s mnogo rubova – na perju.

Ista situacija je s rezultatima u trećem i četvrtom stupcu. U trećem stupcu su rezultati izvlačenja žiga iz označene slike iz koje je obrisano 50x50 pixela iz područja niskih frekvencija, a u četvrtom iz područja visokih frekvencija.

Zanimljivo je i to što su vrijednosti izvlačenja žiga iz slike iz koje je obrisano 50x50 piksela na zidu, bolji od onih kod izvlačenja žiga iz slike s obrisanih 20x20 piksela na

Page 49: Programski sustav za zaštitu slika zasnovan na otpornim ...sigurnost.zemris.fer.hr/wm/2007_drobac/Senka_Drobac-Programski_sustav...Željela bih se zahvaliti svim članovima svoje

45

ramenu, što u svakom slučaju pokazuje da je kod napada brisanjem presudni faktor područje brisanja.

Tablica 7.9 Hammingova udaljenost dobivena izvlačenjem žiga iz slika napadnutih brisanjem

Podpojas

δ nakon izvlačenja žiga

(odrezano 20x20px na

ramenu)

δ nakon izvlačenja žiga (odrezano

20x20px na perju)

δ nakon izvlačenja žiga (odrezano

50x50px na zidu)

δ nakon izvlačenja žiga (odrezano

50x50px na perju)

HH2 0.9870 0.9870 0.9912 0.6393

HL2 0.9880 0.5656 0.9906 0.4223

LH2 0.9788 0.9788 0.9966 0.3432

HH1 0.9845 0.6854 0.9852 0.3924

HL1 0.9791 0.6381 0.9794 0.4466

LH1 0.9852 0.9142 0.9869 0.6349

Rezultati izvlačenja žiga iz slike nakon napada brisanjem

0

0.2

0.4

0.6

0.8

1

1.2

HH2 HL2 LH2 HH1 HL1 LH1

Frekvencijski podpojas

δ nakon izvlačenja žiga(odrezano 20x20px naramenu)

δ nakon izvlačenja žiga(odrezano 20x20px na perju)

δ nakon izvlačenja žiga(odrezano 50x50px na zidu)

δ nakon izvlačenja žiga(odrezano 50x50px na perju)

Graf 6 Prikaz rezultata tablice 7.9

Na slikama 7.19.-7.22 prikazana je označena Lena napadnuta brisanjem. Na prve dvije slike, obrisan je kvadrat površine 20x20 piksela, a na druge dvije kvadrat površine 50x50 piksela.

Page 50: Programski sustav za zaštitu slika zasnovan na otpornim ...sigurnost.zemris.fer.hr/wm/2007_drobac/Senka_Drobac-Programski_sustav...Željela bih se zahvaliti svim članovima svoje

46

Slika 7.19 Označena slika s odrezanih 20x20 piksela na ramenu

Slika 7.20 Označena slika s odrezanih 20x20 piksela na perju

Slika 7.21 Označena slika s odrezanih 50x50 piksela na zidu

Slika 7.22 Označena slika s odrezanih 50x50 piksela na perju

Page 51: Programski sustav za zaštitu slika zasnovan na otpornim ...sigurnost.zemris.fer.hr/wm/2007_drobac/Senka_Drobac-Programski_sustav...Željela bih se zahvaliti svim članovima svoje

47

8. Zaključak

Ispitivanja algoritma Xia pokazala su da otpornost žiga prvenstveno ovisi o jačini umetanja žiga, parametru α. Što je α veći, otpornost žiga je veća. No, s druge strane, povećanjem parametra α i vidljivost žiga u slici postaje veća pa je potrebno pronaći maksimalnu vrijednost parametra α pri kojoj je žig u slici nevidljiv ljudskom oku. Naravno, ta optimalna vrijednost ovisi o karakteristikama pojedine slike i nije ju moguće jednoznačno definirati za sve slike.

Nadalje, ispitivanja su pokazala odličnu otpornost žiga na JPEG kompresiju. Uz malo veći α, sliku je moguće kompresirati na vrlo malene veličine uz zadovoljavajuće očuvanje žiga. Taj spoznaja je odlična ukoliko se radi o slikama koje su predviđene za distribuciju preko Interneta jer manje veličine datoteka mogu značajno uštedjeti vrijeme potrebno za slanje i primanje slika.

Rotiranjem i translacijom označenih slika zaključeno je da se žig slomi i na najmanje ovakve napade, no, s druge strane, ispitivanje filtriranja i skaliranja su pokazali dobru otpornost žiga. Osobito je značajno to što se žig odlično odupro uobičajenim operacijama promjene kontrasta i svjetline.

Ispitivanje otpornosti žiga umetnutog algoritmom Xia završeno je pomalo neuobičajenim napadima. Ukoliko se ista slika zabunom (ili namjerno) označi dva puta, žig će malo oslabjeti, ali se ne će u potpunosti izgubiti. Dapače, žig može podnijeti i treće ponovno označavanje, ali na svako sljedeće će se slomiti. S druge strane, ispitivanje brisanjem dijelova slike dalo je odlične rezultate. Kako Xia umeće žig u pojaseve visokih frekvencija, postoji velika mogućnost da nakon uništavanja pojedinih dijelova slike žig opstane.

Iz dobivenih rezultata može se zaključiti da je algoritam Xia što se tiče otpornosti dosta dobar ukoliko se označena slika ne napada ciljano s uništenjem visokih frekvencija. Ono što nije dobro kod ovog algoritma je to što je, kao kod svih algoritama temeljenih na zbrajanju, za izvlačenje žiga iz slike potrebna originalna slika. Uz to, mana mu je i to što žig nije proizvoljno odabrani tekst koji se može umetnuti te poslije izvući i očitati bez prisutnosti originalnog žiga, već je niz pseudo-slučajnih brojeva čije izvlačenje može dati samo da/ne odgovor na pitanje je li žig prisutan u slici. Rješenje ovih zamjerki moguće je pronaći kod algoritama novijih generacija, opisanih u poglavlju 235.3, temeljenih na kvantizaciji.

Page 52: Programski sustav za zaštitu slika zasnovan na otpornim ...sigurnost.zemris.fer.hr/wm/2007_drobac/Senka_Drobac-Programski_sustav...Željela bih se zahvaliti svim članovima svoje

48

9. Literatura

[1] S. KATZENBEISSER, F. A. P. PETITCOLAS, Information Hiding Techniques for Steganography and Digital Watermarking, Artech house, Boston & London

[2] The Thomas L. Gravell Watermark Archive, dostupno na Internet adresi: http://ada.cath.vt.edu:591/DBs/Gravell/default.html

[3] PETER MEERWALD, Digital Image Watermarking in the Wavelet Transform Domain, Master's Thesis, Department of Scientific Computing, University of Salzburg, Austria, January 2001.

[4] C. S. COLLBERG, C. THOMBORSON, Watermarking, Tamper-Proofing And Obfuscation - Tools For Software Protection, February 10, 2000.

[5] CHUN-SHIEN LU, Multimedia security: Steganography and digital watermarking techniques for protection of intellectual property, Idea group inc., London, 2005.

[6] USC-SIPI baza slika, dostupno na Internet adresi: http://sipi.usc.edu/database/

[7] J. ZHAO, E. KOCH, Embedding robust labels into images for copyright protection, Fraunhofer Institute for Computer Graphics, Darmstadt, Germany, 1995.

[8] INGEMAR J. COX, JOE KILIAN, TOM LEIGHTON, TALAL SHAMOON, Secure Spread Spectrum Watermarking for Multimedia, IEEE Transactions on Image Processing, 1995.

[9] GRAPHAPP, biblioteka za izradu jednostavnog grafičkog sučelja na Linux platformama, dostupno na Internet adresi: http://www.enchantia.com/software/graphapp/

[10] NETPBM, biblioteka za rukovanje slikama, dostupno na Internet adresi: http://netpbm.sourceforge.net/