Recenze  |  Aktuality  |  Články
Doporučení  |  Diskuze
Fotoškola  |  Seriály
Fotoaparáty  |  Objektivy
Fotomobily  |   Software
Příslušenství  |  Ostatní
Svět hardware  |  TV Freak
Svět mobilně

Formáty pro ukládání fotografií - 6.díl: gif

5.12.2007, Roman Pihan, článek
V minulém díle jsme popsali některé vlastnosti formátu GIF a sice paletu barev a způsob její tvorby, rozklad a průhlednost. Nyní seznam vynikajících vlastností formátu GIF dokončíme a seznámíme se s jeho kompresí a možností animace.

Komprese


Samotný fakt, že GIF formát ukládá barvy pomocí významně redukované palety barev, vede k dramatickému zmenšení velikosti souboru. Na takto získaná data je ale v GIF standardu ještě uplatněna bezeztrátová LZW komprese. Ta již zachová plnou kvalitu a tedy nevede k žádným artefaktům.

Použitá LZW komprese v GIF formátu je však poměrně jednoduchá a je aplikovaná na obraz po řádcích. Nejprve jsou komprimovány pixely prvního řádku obrázku, potom druhého řádku atp. Proto obrázky obsahující horizontální motivy jsou výrazně lépe komprimovány než obrázky s vertikálními motivy.




Dva zcela stejné obrázky, jen ten spodní je otočen o 90°. Díky kompresi po řádcích při LZW komprese v GIF formátu má ale horní 4,2 KB a spodní 1,1 KB.

Přestože GIF standard používá bezeztrátovou kompresi, Adobe Photoshop umožňuje nastavit i kompresi ztrátovou. Výše „ztráty“ se zadává v procentech a způsobuje poměrně výraznou degradaci obrazu. Proto je vhodné ponechat ztrátu na 0 % či maximálně do 40 %. Navíc zmenšení souboru nebývá již nijak dramatické.


Adobe Photoshop umožňuje nastavit i ztrátovou kompresi při parametru „Ztráta“ větším než 0. Volba „Prokládaně“ umožní postupné zobrazování souboru při jeho stahování.


Uložení „Prokládaně“


Má stejný význam jako u JPEG souborů volba „Progresivní“ a tedy při načítání snímku se nejprve načte snímek nízké kvality, která se postupně, jak příchází data, zvyšuje. Má tedy význam zejména pro internet.


Animace


GIF umožňuje i jednoduché animace, což jej činní velmi populární na webu. Složitější animace typu „filmy“ je sice v GIF formátu také možné vytvořit, ale velikost souboru bude již značně růst. Proto se na složitější animace používá např. program Flash, který umí i vektorové animace a proto je mnohem úspornější. GIF v principu dokáže uložit i skutečný film, je to však datově velmi neúsporné řešení a proto bylo vytlačeno formáty jako je např. MPEG. Jednoduché animace jsou ale stále doménou GIF formátu, protože jsou velmi jednoduché a datově přijatelné.



Ukázka pokročilé animace pomocí GIF formátu. Střídá se plynule vždy po 0,09 sec 44 obrázků, všechny uložené podle pravidel GIF formátu. Celý cyklus tedy trvá asi 4 vteřiny a opakuje se do nekonečna. Soubor je však poměrně veliký (570 KB), což je 13 KB na jeden snímek. Všimněte si též posterizace v modré, což je důsledek vypnutého rozkladu barev. Obrázek převzat ze serveru Wikipedie.


Princip animace v GIF formátu je velmi jednoduchý. GIF umožňuje uložit dovnitř jednoho souboru více obrázků, každý se svojí vlastní paletou barev a ostatními parametry. Musí však být stejný rozměr všech obrázků v pixelech. Následný krok je určit, jak rychle se obrázky mají střídat (nastavit prodlevy mezi každými dvěma obrázky) a zda se mají do nekonečna opakovat.


Typické použití animovaného GIF formátu není pro rozsáhlé animace či „filmy“, ale pro jednoduché a malé ikony, loga, poutače atp.

Při vytváření animace se tedy postupuje tak, že se vytvoří jednotlivé fáze animace jako běžné obrázky (v jakémkoliv editoru) a ty se potom ve vhodném programu (např. Adobe Image Ready) rozhýbou. Lze nalézt spoustu programů i zdarma , které dokáží rozhýbat GIF – v podstatě se jedná jen o uložení více obrázků za sebou. Někdy se fakt, že GIF obsahuje animaci, zdůrazňuje slovy „animovaný GIF“.


V okně pro animace v programu Adobe Image Ready se uspořádají obrázky a určí se zpoždění mezi nimi. Řadu efektů umí program i sám – například vymyslet plynulý pohyb mezi stavy A a B.


GIF v praxi


Formát GIF se může na první pohled jevit poměrně složitý. Na rozdíl od JPEGu, kde stačilo nastavit stupeň komprese, je nutné zadat celou řadu parametrů. Je to však jen zdání, protože GIF toho také umí mnohem více a místy používá jinou metodu uložení (paleta barev a rozklad).

Pokud se stále neorientujete v parametrech GIF formátu, zde je malý praktický návod na jejich nastavení:
1. Počet barev nastavte podle typu obrázku a požadavku na velikost souboru. Nejlépe je sledovat náhled, tam se vše ukáže. Začněte na malém množství (např. 8) a zvyšujte, až se vám bude výsledek zdát OK.
2. Způsob redukce barev nastavte na Selektivní.
3. U ostře ohraničených obrázků (loga, ikony) nastavte Bez rozkladu. U obrázků obsahujících plynulé změny barev nastavte rozklad na Rozptýlený nebo Šum.
4. Průhlednost nastavte dle potřeby včetně jejího rozkladu.
5. Ztrátu nastavte na 0.

Černobílé fotografie dokáže GIF uložit bez jakékoliv ztráty kvality. Pokud vyberete paletu 256 barev, způsob redukce barev „Stupně šedi“ a „Bez rozkladu“, tak se možnosti GIF formátu srovnají s JPEG. Ten totiž černobílé obrázky také uloží s jen 256 odstíny šedé. Více šedých 24 bitová barevná hloubka (8 bitů/kanál) použitá v JPEGu ani neumí. GIF soubor bude ale větší, protože používá bezeztrátovou kompresi LZW na rozdíl od JPEG, který používá kompresi ztrátovou.






Nahoře GIF, dole JPEG – u černobílých obrázků jsou možnosti obou formátu vyrovnané. GIF soubor má ale 114 KB, JPEG (při 60 %) jen 29 KB. To je dáno způsobem komprese – GIF používá bezeztrátovou a tudíž méně úspornou.


Výhody GIF formátu


1. Uložení pomocí palety barev může být velmi výhodné – zejména pro grafiku, loga, ikony atp. a často vede k dramaticky lepšímu výsledku při menším souboru.
2. Umožňuje bezeztrátovou kompresi.
3. Umožňuje uložit a zachovat průhlednost.
4. Umožňuje animaci.
5. Je široce podporován včetně animací – zobrazí ho kdejaký prohlížeč webů či fotografií a i např. PowerPoint.


Nevýhody GIF formátu


1. Uložení barev pomocí palety je pro mnoho aplikací nevýhodné (fotografie).
2. Průhlednost je jen ano/ne, neumožňuje plynulou průhlednost.
3. Animace výrazně zvětšuje velikost výsledného souboru.
4. Bezeztrátová komprese je poměrně neúsporná a často vede k docela velkým souborům, zejména u větších obrázků.
5. GIF formát nepodporuje Exif a tak se tato data vždy ztratí.
6. GIF formát nepodporuje správu barev (ICC profil), která ale vzhledem k použití palety barev nedává příliš smysl.
7. GIF nepodporuje efektivní ukládání obrazu obsahujícího více vrstev.
8. GIF nepodporuje vektorovou grafiku.

Příště se podíváme na formát TIFF.
Autor: Roman Pihan

Vystudoval ČVUT Fakultu elektrotechnickou. Po nástupu digitální fotografie se stal jedním z propagátorů jejího využití v komerční i amatérské praxi. Pravidelně přispívá fotografickými články do řady odborných časopisů, lektoruje a přednáší fotografii na konferencích. Vydal úspěšné knihy „Mistrovství práce s DSLR“ a „Mistrovství práce se světlem“.