V nedávno vydaném článku o ochraně fotografií byla zmíněna možnost vložení digitálního vdoznaku. Nyní se na tuto technologii, která umožní neviditelné podepsání fotografií, podíváme blíže.
Digitální vodoznak, jak už název napovídá, vychází z myšlenky běžného vodoznaku, jaký najdete třeba na bankovkách. Snaží se ochránit dílo vložením ochranného prvku, který je viditelný jen za určitých podmínek (u bankovek proti světlu). Zatímco ale u bankovek o vodoznaku každý ví, a slouží tedy každému pro určení pravosti a odrazení padělatelů, digitální vodoznak je primárně skrytý. V ideálním případě nepoznáte, že na fotografii je, přesto v případě sporu o autorství je možné vodoznak pomocí speciálního programu odkrýt a prokázat tak, kdo je autorem. Výhoda takto neviditelného vodoznaku je zřejmá – zloděj neví, že fotografie ochranný prvek obsahuje, nepokouší se ho tedy odstranit. S tím je ovšem spojena i nevýhoda, že neviditelná ochrana zloděje neodradí. Vše tedy záleží jen na tom, zda na krádež své fotografie přijdete.
Jak digitální vodoznak funguje
Rozhodně ne jako na bankovkách. Nepředstavujte si, že je přes fotografii umístěný opravdový obrázek. Fotografie je mírně upravena datovým vyjádřením vodoznaku – vizuální efekt takového vodoznaku, kdyby byl vidět, nemá s jeho obsahem nic společného. Digitální vodoznak tedy nemusí obsahovat, a často ani kvůli velkému objemu dat neobsahuje, obrázek.
Ale začněme od začátku. Metoda skrytí dat do jiných dat se jmenuje steganografie. Vůbec se nemusí jednat o ochranu proti zneužití a vůbec se nemusí jednat o obrázky. V principu jde o skrytí dat do jiných dat, aniž by bylo poznat, že je v nich něco skryto. Využití se přímo nabízí – špionáž. Zatímco například zašifrovaný dopis vzbudí podezření už jen použitím šifry, zdánlivě nevinný dopis projde bez povšimnutí – přitom je mezi řádky napsána druhá zpráva neviditelným inkoustem. To je snad nejjednodušší příklad. Možností jak skrýt informace do různých médií je mnoho, jen pár příkladů:
- neviditelný inkoust
- dvojité mezery v elektronickém textu kódující tajnou zprávu
- zpráva skrytá pod poštovní známkou na pohlednici
- téměř neviditelné žluté tečky produkované tiskárnami HP (obsahují sériové číslo tiskárny a čas tisku na každém výtisku)
- upravená ozvěna ve zvukových souborech
- a samozřejmě upravené pixely v obrázku
Pochopitelně je vhodné i takto skrývanou zprávu šifrovat… co kdyby třeba zrovna pošťák sbíral známky.
Co se týče skrývání dat do digitálního obrázku, princip je v základu jednoduchý. Například:
Vezměme obyčejný 8-bitový obrázek. Každý pixel je tvořen 3 barevnými kanály s 256 úrovněmi. V datech, tedy ve dvojkové soustavě, je pak třeba černý pixel zapsán jako 00000000 00000000 00000000, bílý pak jako 11111111 11111111 11111111. Každá osmice číslic je hodnota jednoho barevného kanálu v jednom pixelu. Pokud tedy změníme poslední číslici této osmice, každého kanálu v daném pixelu, změní se hodnota každého kanálu jen o 1/256 a to je v celkové barvě pixelu naprosto nepostřehnutelné. Výhoda je, že když bereme data ve dvojkové soustavě, víme, že každá 8. číslice je naše tajná zpráva. Ta je také v elektronické podobě, tudíž také ve dvojkové soustavě, proto prostě každou osmou číslici obrázku nahradíme postupně číslicemi tajné zprávy… třeba i jiného obrázku. Do snímku velikosti např. 10 megapixelů se tak vejde: 10 000 000 pixelů x 3 kanály = 30 000 000 číslic. A to je 30 000 000 číslic / 8 číslic na kanál / 3 kanály = 1 250 000 pixelů. Zkráceně původní rozlišení děleno 8 (protože využíváme každý 8. bit). Samozřejmě pokud nechceme skrýt bitmapu, ale třeba jen text, nebo obecně jakákoli data, vejde se do 10Mpix obrázku teoreticky soubor až do velikosti 468.8 kB.
Pokud si chcete takové schovávání zpráv do obrázků vyzkoušet, můžete třeba pomocí prográmku OpenStego (zdarma ke stažení).
Ale je tu háček. Bavíme se o nekomprimovaných, nebo alespoň bezztrátově komprimovaných obrázcích, takže BMP, PNG, TIFF. Fotografie jsou nejčastěji v JPG – ztrátově komprimovaném formátu. V tom se kvůli zmenšení datového objemu obrazu část informací zjednoduší a jakákoli tak drobná změna jako výše uvedená by byla naprosto znehodnocena. Stejně tak i jakoukoli úpravou obrázku. Proto je potřeba u obrázků podléhajících změnám volit jiné, robustnější, metody. A to je i princip digitálního vodoznaku. Jedná se v podstatě o steganografii s takovou redundancí, případně opravou chyb, že vydrží i kompresi JPG, změnu rozměrů nebo ořez obrázku a drobné úpravy.
![]() |
Digimarc
Asi nejznámějším a nejpoužívanějším programem pro podepisování fotografií (a nejen) je produkt společnosti Digimarc. S pluginem pro vložení vodoznaku jste se mohli setkat už v poměrně historických verzích Photoshopu a nechybí ani plugin do nových verzí. Program je placený, v bezplatné verzi vkládá ukázkové informace a můžete měnit pouze pár čísel. Naopak zakoupená licence (funguje jako předplatné) vám umožní vlastní podpis a v profesionální variantě můžete využít i vyhledávání vámi podepsaných obrázků na internetu pomocí vlastní vyhledávací služby Digimarc.
![]() |
Plugin pak nabízí několik možností jak vodoznak vložit. Barevně nebo černobíle (méně odolná metoda vhodná pro černobílé snímky) a ve 4 úrovních síly (viditelnosti a odolnosti). Na ukázkové fotografii (v plném rozlišení) se můžete vidět, že okem nic nepoznáte. Pokud ale porovnáte originál s podepsaným snímkem a rozdíl zvýrazníte úpravou kontrastu, je hned vidět, jakým způsobem je snímek podepsaný. Digimarc využívá modrý kanál, protože je na modrou je lidské oko nejméně citlivé. Síla pak určuje jen to, jak moc výrazně změněný modrý kanál je.
![]() |
![]() |
U ukázkového snímku byl vodoznak detekovatelný i při zmenšení na 15 procent. Také zůstal čitelný při 90 procentním ořezu (zbylo pouhých 10 procent původního snímku!). Silný vodoznak navíc odolal i JPG kompresi a to až do 20 procent kvality, což je prakticky nepoužitelná fotografie. Pokud budete ořez, zmenšení a kompresi kombinovat, těchto mezních hodnot nedosáhnete, ale i tak je výsledek, na to, že celý vodoznak je jen hromada jemného modrého šumu, obdivuhodný. Navíc čtení vodoznaků je velmi rychlé v řádu vteřin.
![]() |
![]() |
SignMyImage
Originální český produkt SignMyImage se objevil před pár lety a od té doby je postupně vylepšován. Podobně jako Digimarc nabídne plugin do Photoshopu a v placené verzi umožní vyhledávání podepsaných obrázků na internetu. Pokud nemáte program zaplacený, podepisovat můžete, ale do rohu fotografie je vložené logo.
![]() |
Vkládání vodoznaku je zcela automatické, žádné volby odolnosti nehledejte. Fungování je odlišné od Digimarcu. Program vloží na několik automaticky vybraných míst obrázku sadu elips s různou intenzitou v modrém kanálu. Každá sada nese informaci o vodoznaku. Okem opět nic nepostřehnete. Níže najdete obrázek se zvýrazněným vodoznakem.
![]() |
Protože je vodoznak vložen do přesně daných míst, dojde-li u fotografie při ořezu k narušení všech těchto oblastí, je vodoznak nečitelný. Nemělo by tedy smysl zkoušet ořez, výsledek je zcela závislý na tom, kde fotografii ořežete, ne kolik jí ořežete. Co se týče zmenšení, vodoznak v ukázkovém snímku byl detekovatelný jen do 40 procent zmenšení. Kompresi odolala do 30 procent. I zde platí, že kombinací více faktorů může vodoznak přestat fungovat dříve. Nevýhodou SignMyImage je pomalé čtení podpisů. Detekce může v krajním případě, kdy je vodoznak poškozený, trvat i minuty.
![]() |
Závěrem
Pro vkládání vodoznaků (a nejen do obrázků) existují samozřejmě i další programy, ale jsou buď lokální (španělské, korejské), nebo nemají dostatečné možnosti hledání fotografií, což je podstatná služba. Pokud totiž nemáte možnost přímo vyhledat své snímky, slouží vodoznak jen k prokázání autorství, když na snímek náhodou natrefíte.
Toužíte-li po vkládání vodoznaku a rozhodujete se mezi Digimarc a SignMyImage, lepší je jednoznačně Digimarc. Je spolehlivější a rychlejší. Ovšem pro SingMyImage hovoří cena. Digimarc stojí na rok skoro $50 a s vyhledáváním snímků dvojnásobek. SignMyImage pořídíte za 15€ na věčné časy a rok vyhledávání můžete koupit za 10€.








