wikipedia.infostar.cz

Grafika formát výměny

Grafika formát výměny je bitmapový obrazový formát, který byl představen CompuServe v roce 1987 a má protože vstoupit do rozšířeného použití na internetové síti kvůli jeho široké podpoře a přenositelnosti.

Formát podporuje až 8 kousků na pixel, dovolovat jediný obraz k odkazu paleta až 256 zřetelných barev volený od 24-kousl RGB barevný prostor. To také podporuje animace a dovoluje oddělenou paletu 256 barev pro každý rám. Limitace barvy dělá GIF formát nevhodný pro množící barevné fotografie a jiné obrazy s nepřetržitou barvou, ale to je dobře-vhodný pro jednodušší obrazy takový jako grafika nebo loga s pevnými oblastmi barvy.

Nepřehlédněte: Tato stránka obsahuje strojový překlad textu z anglické encyklopedie Wikipedia. Pokud budou některé pasáže špatně srozumitelné, zkuste se podívat i na text v originále, který najdete pod odkazem Graphics Interchange Format. Překlad byl vytvořen pomocí překladače Eurotran.

GIF obrazy jsou stlačeny používat Lempel-Ziv-Welch (LZW) bezztrátový technika komprese dat redukovat velikost souboru bez degradování vizuální kvalita. Tato technika komprimace byla patentována v roce 1985. Spor o licenční dohodu mezi držitelem patentu, Unisys, a CompuServe v roce 1994 inspiroval vývoj přenosné síťové grafiky (PNG) standard; od té doby všechny významné patenty vypršely.

Historie

CompuServe představil GIF formát v roce 1987 poskytovat barevný obrazový formát pro jejich soubor stahovat oblasti, nahrazovat jejich časnější běh-kódování délky (RLE) formátuje, který byl černý a bílý jen. GIF stal se populární protože to používalo LZW kompresi dat, který byl účinnější než běh-kódování délky, které formátuje takový jako PCX a MacPaint používal a docela velké obrazy mohly proto být stáhnuty v rozumně krátkém čase, dokonce s velmi pomalými modemy.

Originální verze GIF formátu byla volána 87a. V roce 1989, CompuServe vymyslel zvýrazněnou verzi, volané 89a, tu větší podporu pro vícenásobné obrazy v potoku, prokládání a ukládání aplikace-specifické metadata. Dvě verze mohou být rozlišovány tím, že se dívá na prvních šest bajtů souboru, který, když interpretovaný jak ASCII, četl “GIF87a” a “GIF89a”, příslušně.

GIF byl jeden z prvních dvou obrazových formátů běžně používaný na internetových místech, jiné bytí černý a bílý XBM.[pochvalná zmínka potřebovala] JPEG přišel potom s Prohlížeč mozaiky.

GIF89a rys uložení rozmanité obrazy v jednom souboru, doprovázený daty kontroly, je používán značně na webu produkovat jednoduchý animace. Nepovinný prokládací rys, které obchody prohlédnutí obrazu lemuje ven objednávky v takový móda že dokonce částečně stáhnutý obraz byl poněkud rozeznatelný, také pomáhal GIF popularitě,[pochvalná zmínka potřebovala] jak uživatel mohl zrušit stahování jestliže to nebylo co bylo vyžadováno.

Výslovnost

Tvůrcové formátu vyslovovali GIF s měkký”g#rquote, / ˈdʒɪf /, jak v “Georgee”. Nicméně, mnoho lidí vyslovuje GIF s tvrdý “G”, jak v ' dar ' IPA: / ˈɡɪf /[pochvalná zmínka potřebovala], odrážet cestu to je vyslovováno v jeho vlastní zkratce (grafika formát výměny). Podle tvůrce GIF formátu, Steve Wilhite, výslovnost uváženě echa, která americké arašídové pomazánky ocejchují, Jif, a zaměstnanci CompuServe by často říkali “Vybíraví vývojáři si vyberou GIF”, spoofing televizní reklamy této značky.[pochvalná zmínka potřebovala] Tato výslovnost byla také poznána CompuServe v jejich dokumentaci displeje grafiky program volal CompuShow.. Obě výslovnosti jsou dané jak správné Oxford anglický slovník a Americký dědický slovník.

Použití

  • GIFs je vhodný k ostrohranné čárové grafice (takový jako loga) s omezeným množstvím barev. Toto bere výhoda formátu je bezztrátová komprimace, který favorizuje rovné plochy jednotné barvy se dobře definovanými okraji (na rozdíl od JPEG, které laskavosti uhladí sklony a měkčí obrazy).
  • GIFs může také být zvyklý na minimum obchodu-obarvit skřítková data pro hry.
  • GIFs může být užitý na malé animace a minimum-rozlišovací filmové klipy.
  • V pohledu na obecnou limitaci GIF obrazové palety k 256 barvám, to není obvykle použité jako formát pro digitální fotografování. Digitální fotografové používají obrazové formáty souboru schopné množení větší rozsah barev, takový jako Tiff, surový nebo lossy JPEG, který je více vhodný k fotografiím komprimování.
  • PNG formát je populární alternativa k GIF obrazům od té doby, co to použije lepší komprimační techniky a nemá limit 256 barev, ale PNGs nepodporuje animace. MNG a APNG formátuje, oba pocházeli z PNG, animace podpory, ale být ne široce použitý.

Palety

GIF je paleta umístěná: ačkoli nějaký výběr palety může být jeden z miliónů odstínů, maximální počet, který může být použit v rámci je 256. Tito jsou uloženi v “paletě”, stůl, který sdruží každé paletové výběrové číslo se specifickou RGB hodnotou. Limitace k 256 barvám vypadala rozumná v té době GIF vytvoření, protože páry lidí mohly poskytnout hardware displeji více. Jednoduchá grafika, perokresby, karikatury, a šedý-měřítko fotografuje typicky potřeba méně než 256 barev. Navíc, jeden z barev v paletě může volitelně být dán jak úplně průhledný. Průhledný pixel přijme barvu pixelu ve stejných pozicích od pozadí, který může byli určeni předchozím rámcem animace.

Tam existovat způsoby, jak rozvážit nebo rozptýlit fotografie obrazovými body používání 2 nebo více jiných barev přiblížit se v-mezi barvou ale touto transformací nevyhnutelně ztratí nějaký detail. Algoritmy vybraly paletu a vykonávat rozvažování se měnit široce v kvalitě výstupu. Dále, rozvažování významně redukuje stlačitelnost obrazu a tak pracuje opačný k GIF hlavnímu cíli.

V brzkých dnách grafických internetových prohlížečů, karty grafiky s 8-kousl vyrovnávací paměti (dovolovat jen 256 barev) byl obyčejný a to bylo docela obvyklé dělat GIF používání obrazů paleta websafe který byl založený na obyčejné podmnožině standardních Windows a Macintosh palet.[pochvalná zmínka potřebovala] Toto zajistilo předvídatelný displej ale hrozně omezilo výběr barev. Nyní to 24-bitové grafické karty jsou standard, optimalizované palety dělají méně smyslu když vytvoří obrazy, ačkoli někteří návrháři webu ještě poradí používání webové bezpečné palety.[pochvalná zmínka potřebovala]

Pravá barva

Tam být přinejmenším dva zřídka-použité metody, které mohou tvořit GIF to, jestliže dekódovaný podle GIF89a standardu, bude produkovat animaci, která končí 24-kousl RGB obraz truecolor.

GIF89a byl navrhnut založený na principu obrazů vizualizace (známý jako rámce když užitý na animaci) k logický, fixovaný-obrazovka velikosti. Každý obraz mohl volitelně mít žádné zpoždění poté, co to je vyjádřeno, a mohl mít jeho vlastní 256-barevná paleta. Také, každý obraz nemusí vyplnit celou logickou obrazovku a animace může přestat po posledním rámu; to nemusí začít znovu. Multi-rám, nula-zpoždění, a jedinečný-paletové rysy, volitelně se spojil s průhledností, počítat s každým obrazem nahradit jen část předchozího obrazu je data obrazového bodu. Když použitý bez smyčkování, více-než-256-barevný konečný výsledek může být dosáhl.

Například, GIF může být zakódován tavit jako série překrývajících se celoobrazovkových obrazů, každá náplň obrazu v barvě to wasn't v tom předchozím. Průhledné obrazové body mohou být zvyklé na barvy hájemství od předchozích obrazů.

Podobná metoda, která nepoužívá průhlednost má zakódovat GIF tavit jako série méně-než-plný-obrazy obrazovky přilehlé ke každému jiný, spíše než se překrývat.

Tyto metody nejsou široce podporované GIF-tvořit software a web prohlížeče a jiné prohlížeče obrázků nemohou obsahovat kompletně kompatibilní GIF89a implementace, tak jejich schopnost zobrazovat takový GIFs přesně může být omezena.

Příklad. gif soubor

Program Microsoft Paint v.6 ve výhledu uloží malou černou a bílý obraz jako pokračování. gif soubor. Kvůli hornímu kódu takový jako zbytečně velká barva předložit toto. gif soubor není účinný pro obraz se jen 15 obrazovými body.

bajt # hexadecimální text nebo 
 (hexadecimální)                 hodnota        Meaning 
 0:       47 49 46 
        38 39 61       GIF89a       Záhlaví 
                                Logický obrazovkový deskriptor 
 6:       03 00          3             - obrazové body šířky 
 8:       05 00          5             - obrazové body výšky 
:       F7                         - GCT následuje pro 256 barev s rozhodnutím 3 x 8bits/primární volby 
 B:       00             0             - barva pozadí # 0 
 C:       00                         - standardní poměr stran 
                    R      G      B globální barevný stůl 
 D:       00 00 00      0      0      0 - barva # 0 černé 
 10:      80 00 00 128      0      0 -         # 1 
 :                                        : 
 85:      00 00 00      0      0      0 - barva # 40 černé 
 :                                        : 
 30A: FF FF FF 255 255 255 - barva # 255 bílé 
 30D: 21 F9 04                  Grafické kontrolní rozšíření 
 310: 01                         - transparentnost je možná 
 311: 00 00                      - zpoždění pro animaci: ne použitý    
 313: 10            16             - barva # 16 je průhledný 
 314: 00                         - konec 
 315: 2C                        Deskriptor obrazu 
 316: 00 00 00 00 (0, 0)          - prohlížet obrazové body od levého vrcholu... 
 31A: 03 00 05 00 (3, 5)          -... k pravé dolní části. 
 31E: 00                         - konec 
 31F: 08             8            LZW min. velikost kódu 
 320: 0B            11            11 bajtů LZW kódoval obrazová data znamenají 
 321: 00 51 FC 1B 28 70 A0 C1 83 01 01 
 32C: 00                         - konec 
 32D: 3B                        GIF soubor terminator

Kódování obrazu

Pixel obrazu zčervená, prohledávaný vodorovně od zbylého vrcholu, být změněn LZW kódováním ke kódům, které jsou pak mapovány do bajtů pro uložení v souboru. Pro obraz vzorku nad reverzibilním mapováním mezi 9-kousl kódy a bajty je ukazován dole.


9-kousek binární Bytes 
 (hexadecimální)              (hexadecimální) 
         00000000 00 
 100 
        0101000 | 1 51 
 028 
        111111 | 00 FC 
 0FF 
        00011 | 011 1B 
 103 
        0010 | 1000 28 
 102 
        011 | 10000 70 
 103 
        10 | 100000 A0 
 106 
        1 | 1000001 C1 
 107 
         10000011 83 
         00000001 01 
 101 
        0000000 | 1 01

Nepatrná komprimace je evidentní: barvy pixelu vymezily zpočátku 15 bajtů je přesně reprezentováno 12 bajty kódu včetně kódů kontroly. Proces kódování, který produkuje 9-kousl kódy je ukazován dole. Místní řetězec hromadí obrazový bod čísla barvy od palety, s žádnou akcí výstupu jak dlouho jak místní řetězec může být nalezený ve stolu kódu. Tam je zvláštní zacházení prvních dvou obrazových bodů, které přijdou dříve, než stůl roste od jeho počáteční velikosti přidáními řetězců. Po každý dodal kód, místní řetězec je inicializován k nejnovějšímu obrazovému bodu barva (to nemohlo být zahrnuto ve výstupním kódu).

                          Stůl             9-kousek  
                      řetězec -- > kód        kód      Action 
                           # 0 | 000h                 Inicializovat kořenový stůl 9-kousl kódy 
                     paleta |: 
                      barvy |: 
                         # 255 | 0FFh 
                          clr | 100h 
                          konec | 101h 
                              |              100h       Clear 
 Obrazový bod            Místní           | 
 řetězec barevné palety          | 
 Černý # 40       28              |              028h       1. obrazový bod vždy k výstupu 
 Bílý # 255      FF              |                       Řetězec nalezený ve stolu 
                   28 FF        | 102h                  Přidat 1. řetězec vždy ke stolu 
                FF              |                       Inicializovat místní řetězec      
 Bílý # 255      FF FF           |                       Řetězec nenalezený ve stolu 
                              |              0FFh       - výstupní kód předchozího řetězce 
                   FF FF        | 103h                  - přidat nejnovější řetězec ke stolu 
                FF              |                       - inicializovat místní řetězec 
 Bílý # 255      FF FF           |                       Řetězec nalezený ve stolu 
 Černý # 40       FF FF 28        |                       Řetězec nenalezený ve stolu 
                              |              103h       - výstupní kód předchozího řetězce 
                   FF FF 28 | 104h                  - přidat nejnovější řetězec ke stolu 
                28              |                       - inicializovat místní řetězec 
 Bílý # 255      28 FF           |                       Řetězec nalezený ve stolu 
 Bílý # 255      28 FF FF        |                       Řetězec nenalezený ve stolu 
                              |              102h       - výstupní kód předchozího řetězce 
                   28 FF FF | 105h                  - přidat nejnovější řetězec ke stolu 
                FF              |                       - inicializovat místní řetězec 
 Bílý # 255      FF FF           |                       Řetězec nalezený ve stolu 
 Bílý # 255      FF FF FF        |                       Řetězec nenalezený ve stolu 
                              |              103h       - výstupní kód předchozího řetězce 
                   FF FF FF | 106h                  - přidat nejnovější řetězec ke stolu 
                FF              |                       - inicializovat místní řetězec 
 Bílý # 255      FF FF           |                       Řetězec nalezený ve stolu 
 Bílý # 255      FF FF FF        |                       Řetězec nalezený ve stolu 
 Bílý # 255      FF FF FF FF |                       Řetězec nenalezený ve stolu 
                              |              106h       - výstupní kód předchozího řetězce 
                   FF FF FF FF | 107h                  - přidat nejnovější řetězec ke stolu 
                FF              |                       - inicializovat místní řetězec 
 Bílý # 255      FF FF           |                       Řetězec nalezený ve stolu 
 Bílý # 255      FF FF FF        |                       Řetězec nalezený ve stolu 
 Bílý # 255      FF FF FF FF |                       Řetězec nalezený ve stolu 
                                                    Už žádné obrazové body 
                                           107h       - výstupní kód posledního řetězce 
                                           101h       Konec

Dekódování obrazu

Dekódování začne mapováním uložené bajty couvají k 9-kousl kódy. Tito jsou dekódováni obnovit barvy pixelu jak ukázaný dole. Stůl totožný k jeden používal v kodéru je postaven řetězci připočítání tímto pravidlem:

Je přícházející kód nalezený ve stolu? 
  Ano: přidat řetězec pro místní kód následovaný prvním bajtem řetězce pro přícházející kód 
  Ne: přidat řetězec pro místní kód následovaný kopií jeho vlastnit první bajt
      posun 
 9-kousek -- -- > Místní        Stůl                   Obrazový bod 
 kód          kód kódu -- > řetězcová Palette barva Action 
 100h                 000h | # 0                         Inicializovat kořenový stůl 9-kousl kódy 
                    :      | paleta 
                    :      | barvy 
                    0FFh | # 255 
                    100h | clr 
                    101h | konec 
 028h                       |               # 40      Black dekóduje 1. obrazový bod 
 0FFh          028h           |                             Přícházející kód nalezený ve stolu 
                          |               # 255 bílé - dodal řetězec od stolu 
                    102h | 28 FF                       - přidat se ke stolu 
 103h          0FFh           |                             Přícházející kód nenalezený ve stolu 
                    103h | FF FF                       - přidat se ke stolu 
                          |                             - dodal řetězec od stolu 
                          |               # 255 bílé 
                          |               # 255 bílé 
 102h          103h           |                             Přícházející kód nalezený ve stolu 
                          |                             - dodal řetězec od stolu 
                          |               # 40      Černá 
                          |               # 255 bílé 
                    104h | FF FF 28                    - přidat se ke stolu 
 103h          102h           |                             Přícházející kód nalezený ve stolu 
                          |                             - dodal řetězec od stolu 
                          |               # 255 bílé 
                          |               # 255 bílé 
                    105h | 28 FF FF                    - přidat se ke stolu 
 106h          103h           |                             Přícházející kód nenalezený ve stolu 
                    106h | FF FF FF                    - přidat se ke stolu 
                          |                             - dodal řetězec od stolu 
                          |               # 255 bílé 
                          |               # 255 bílé 
                          |               # 255 bílé 
 107h          106h           |                             Přícházející kód nenalezený ve stolu 
                    107h | FF FF FF FF                 - přidat se ke stolu 
                          |                             - dodal řetězec od stolu 
                          |               # 255 bílé 
                          |               # 255 bílé 
                          |               # 255 bílé 
                          |               # 255 bílé 
 101h                       |                             Konec

LZW kódové délky

Kratší kódové délky mohou být užité na menší palety než 256 (maximálních) barev v příkladě. Stůl kódu zpočátku obsahuje kódy, které jsou jeden kousek déle než velikost palety aby dával další prostor pro dva kódy speciality clr a skončí a pro řetězce, které jsou sčítaly během procesu. Když stůl je plný délka kódu se zvětší dávat prostor pro více řetězců, až do maximálního kódu 4095 = FFF (hexadecimální). Jak dekodér staví jeho stůl to sleduje tyto zvyšování délky kódu a to je schopné rozbalit přícházející bajty společně.

Non-stlačený. gif

Standard dovolí kódovacímu zařízení vkládání ' clr ' kód u nějakého času v obrazových datech, který implicitně připustí. gif soubory být vytvořen bez LZW komprimace. Kódovací stůl pak potřeba nikdy stanou se dál ' konec ' hodnota kódu. U ceny větší velikosti souboru toto dává výhody jednoduššího kódování s 1: 1 korespondence pixelů a paletových kódů zatímco drží kompatibilitu s obyčejný. displeje gif. To vyhýbalo se porušit minulé LZW patenty. Pro příklad 3x5 obraz nad pokračováním 9-kódy kousku reprezentují ' clr ' následovaný obrazovými body obrazu v objednávce prohlédnutí a ' konec '.

9-kousl kódy: 100 028 0FF 0FF 0FF 028 0FF 0FF 0FF 0FF 0FF 0FF 0FF 0FF 0FF 0FF 101

Po nahoře kódy jsou mapovány k bajtům non-komprimovaný soubor se liší od komprimovaného souboru tak:

 : 
 320: 14              20              20 bajtů non-stlačená obrazová data znamenají 
 321: 00 51 FC FB F7 0F C5 BF 7F FF FE FD FB FB F7 EF DF BF 7F 01 01 
 335: 00                            - konec 
 :

Oživený. gif

An oživený. gif soubor zahrnuje množství obrazů nebo rámce být zobrazován postupně, každý popsal jeho vlastnit GCE (grafické kontrolní rozšíření), předcházený záhlavím jehož obsah opomenutím platí o všech rámcích. Po záhlaví data jsou potok-orientovaný místo toho, aby byl u fixovaných indexů tak umístění startu GCE závisí na délce předcházet GCE (s). Uvnitř GCE LZE-kódovaná obrazová data jsou uspořádána v blokách každý až 255 bajtů; velikost bloku je deklarována bajtem, který předchází tomu. Dole je struktura animační Rotating země (velká). gif:

bajt # hexadecimální text nebo 
 (hexadecimální)                 hodnota        Meaning 
 0:       47 49 46 
        38 39 61       GIF89a       Záhlaví 
                                Logický obrazovkový deskriptor 
 6:       90 01          400           - obrazové body šířky 
 8:       90 01          400           - obrazové body výšky 
:       F7                         - GCT následuje pro 256 barev s rozhodnutím 3 x 8bits/primární volby 
 B:       00             0             - barva pozadí # 0 
 C:       00                         - standardní poměr stran 
 D:                               Globální barevný stůl 
: 
 30D: 21 FF 0B                  Rozšíření aplikace 
 310: 4E 45 54 
        53 43 41 
        50 45 32 
        2E 30          NETSCAPE2.0 
 31B: 03 01                      - data znamenají 
 31D: FF FF                      - animace smyčky 
 31F: 00                         - konec 
 320: 21 F9 04                  Grafický kontrolní rozšiřovací rám # 1 
 323: 08                         - žádná průhlednost 
 324: 09 00                      - 0.09 sec trvání 
 325: 00                         - žádná průhledná barva 
 327: 00                         - konec 
 328: 2C                        Deskriptor obrazu 
 329: 00 00 00 00 (0, 0)         - prohlížet obrazové body od levého vrcholu... 
 32D: 90 01 90 01 (400,400) -... k pravé dolní části 
 331: 00                         - konec 
 332: 08             8            LZW min velikost kódu 
 333: FF             255          255 bajtů LZW kódoval obrazová data znamenají 
 334:                  data 
 433: FF             255          255 bajtů LZW kódoval obrazová data znamenají 
                     data 
                     : 
 92BA: 00                        konec 
 92BB: 21 F9 04                  Grafický kontrolní rozšiřovací rám # 2 
 :                                                               : 
 153B7B: 21 F9 04                  Grafický kontrolní rozšiřovací rám # 44 
 : 
 15CF35: 3B             1 429 301 soubor skončí

GCEs vyhradí trvání na kterého každý rám je zobrazován být specifikován v hundredths sekundy. Nějaká ekonomika dat je možná kde potřeba rámce jen přepsat porci obrazových bodů displeje, protože Image deskriptor může definovat menší obdélník být rescanned místo celého obrazu. Displeje, které nepodpírají oživený. gifs ukážou se jen první rám.

Unisys a LZW patentuje vynucení

V roce 1977 a 1978, Jacob Ziv a Abraham Lempel vydával pár papírů na nové třídě bezztrátových dat-algoritmy komprimace, nyní všeobecně odkazoval se na jako “LZ77” a “LZ78”. V roce 1983, Terry Welch vyvinul rychlou variantu LZ78 který byl jmenoval LZW.

Welch zařadil přihlášku patentu pro LZW metodu v červnu 1983. Výsledný patent, nás   jasný   4558302, udělený v prosinci 1985, byl přidělen do Sperry korporace, která následně se spojila s Burroughs korporací v roce 1986 a tvořil Unisys. Další patenty byly získány ve Spojeném království, Francie, Německo, Itálie, Japonsko a Kanada.

V červnu 1984, článek Welcha byl vydáván v IEEE časopise, který veřejně popisoval LZW techniku poprvé. LZW se stal populární datovou komprimační technikou a, když patent byl udělen, Unisys vstoupil do licenčních dohod s přes sto společností.

Popularita LZW vedla CompuServe vybrat to jako techniku komprimace pro jejich GIF formát, rozvinutý v roce 1987. V té době, CompuServe nebyl vědomý patentu. Unisys stal se vědomý, že GIF formát použil LZW komprimační techniku a vstoupil do licenčních jednání s CompuServe v lednu 1993. Následující dohoda byla oznámena 24. prosince 1994. Unisys říkal, že oni očekávali všechny hlavní komerční online informační služby společnosti zaměstnávat LZW patent povolit technologii od Unisys u rozumného poměru, ale že oni by nevyžadovali licencování nebo poplatky být placen, pro non-komerční, nevýdělečný GIF-založené aplikace, včetně těch pro použití na online službách.

Následovat toto oznámení, tam byl široce rozšířené odmítání CompuServe a Unisys, a mnoho vývojářů softwaru hrozilo přestat použít GIF formátu. PNG formát byl vyvinut v roce 1995 jako zamýšlené nahrazení. Nicméně, trvat podpora výrobců internetových prohlížečů a jiný software pro PNG formát ukázali se těžcí a to nebylo možné nahradit GIF formát úplně, ačkoli PNG má postupně zvýšený v popularitě.

V srpnu 1999, Unisys měnil podrobnosti jejich licenční praxe, oznamovat volbu pro vlastníky Billboard a Intra síťová internetová místa získat licence na platbě bývalého licenčního poplatku $5000 nebo $7500. Takové licence nebyly požadované pro vlastníky internetových stránek nebo jiní GIF uživatelé, kteří používali povolili softwaru tvořit GIFs. Přesto, Unisys předmět tisíců online útoků a hrubých e-mailů od uživatelů věřil, že oni šli být účtován $5000 nebo žádal o používání GIFs na jejich internetových stránkách.. Přesto, že dává volné licence ke stovkám neziskových organizací, škol a vlád, Unisys byl kompletně neschopný vyvolat dobrou publicitu a pokračoval být haněn jednotlivci a organizacemi takový jako liga pro programovací svobodu, která začala “spálit celý GIFs” kampaň.

Americký LZW patent vypršel 20. června 2003. Protější patenty ve Spojeném království, Francie, Německo a Itálie vypršeli 18. června 2004, japonské protější patenty vypršely 20. června 2004 a protější kanadský patent vypršel 7. července 2004. Následně, zatímco Unisys má další patenty a přihlášky patentu se vztahovat k zlepšením k LZW technice, GIF formát může nyní být používán volně.

PNG a jiné alternativy

Přenosná síťová grafika (PNG) byl navrhnut jako nahrazení pro GIF formát aby se vyhnul porušení Unisys patentu na LZW komprimační techniku. PNG nabídne lepší komprimaci[pochvalná zmínka potřebovala] a více rysů než GIF. Formát je vhodnější než GIF v příkladech kde pravdivý-barva imaging a alpha průhlednost být vyžadován. MNG byl původně vyvinut jako PNG-založené řešení pro animace, ale nebyl široce adoptovaný. GIF formát je ještě přednostní pro animaci přes PNG, ačkoli pravdivý Oživená přenosná síťová grafika být ve vývoji Mozilla a být podporován v Firefox 3.

Ačkoli to vzalo čas na PNG formát být podporované, nové internetové prohlížeče podporují PNG formát a GIF obrazy mohou obvykle být nahrazené PNG obrazy jestliže požadovaný. Nicméně, verze Internet Explorera 6 a dříve nepodporují PNG alfu kanál rys průhlednosti bez používání Microsoft-specifická HTML rozšíření. Používat standard HTML < img > značky pro PNG obrazy v Internet Explorere mohou produkovat pohled odlišný od toho zamýšlel. Internet Explorer 7 podporuje průhlednost alfy kanál bez potřebovat rozšíření. Žádné verze Internet Explorera, nicméně, podporovat gamu rys PNG obrazů a ukázky těchto obrazů může být špatného odstínu.

PNG obrazové soubory jsou obecně menší než GIF informace o stejné obrazové kvalitě, kvůli účinnější komprimaci techniky používaly v PNG kódování.[pochvalná zmínka potřebovala] PNG soubory mohou opravdu být hodně větší než GIF soubory v situacích kde GIF a PNG soubor byl vytvořen od vysoce kvalitního mistrovského obrazu, zatímco PNG je schopný uložení více obarvit hloubku a informace průhlednosti než GIF. Nicméně, pro totožný 8-kousek (nebo nižší) obrazová data, PNG-formátové obrazové soubory jsou téměř vždy menší než ekvivalent GIF. Dezinformace o PNG efektivitě může obecně být stopována zpátky do chudé PNG podpory ve starších verzích některých obrazových manipulačních programů, (například Adobe Photoshop neoptimalizoval PNGs pro redukované barevné palety standardně).[pochvalná zmínka potřebovala]. Pracovní řešení je pngcrush. Obecně to může být si všiml toho také pořádná podpora pro (oživený) GIF je těžký: komplikovaná plachtovina, nadměrný obarvit záznamy, slovník resetuje.[objasnění potřebovalo] Také si všimnout komplikovaného vzájemného ovlivňování mezi quantization barvy, komprimace (obzvláště v animacích) a rozvažování poznamenalo v bývalém odkazu s je zastaralý s PNG.[objasnění potřebovalo]

V roce 2004, navrhované rozšíření k PNG formátu volalo APNG byl navrhnut. To mělo poskytovat schopnost k živým PNG souborům, zatímco udrží zpětnou kompatibilitu v dekodérech, které nemohou rozumět pořádnému kusu animace. Starší dekodéry by prostě skýtaly první rám animace. MNG, varianta PNG to podporuje animaci, dosáhl verze 1.0 v roce 2001, ale nemnoho aplikací podporuje to, protože to je téměř jako komplex jak Adobe blesk[pochvalná zmínka potřebovala]. Oživený GIF zůstane široce použitý tolik aplikací je schopné vytvoření souborů a to zůstane jen oživeným obrazovým formátem schopným bytí poskytnutý v skoro všechny moderní internetové prohlížeče bez použití zásuvného modulu. Přesto, vložený Flash namítá, MPEGs a jiné video formáty jsou používány na místě oživil GIFs v mnoha internetových stránkách. Ostatní přístupy, takové jak individuální rámce sloužily AJAX, nebo SVG obrazy mohou být oživené přes JavaScript.

Viz též

Externí odkazy