Format pliku

GIF - Graphics Interchange Format

GIF to stary bezstratny format obrazu, ograniczony do 256 kolorów na klatkę, a mimo to wciąż najprostszy sposób przechowywania krótkiej, niemej animacji, która odtworzy się wszędzie tam, gdzie można wyświetlić obraz.

.gif

GIF, czyli Graphics Interchange Format, został stworzony przez internetowy serwis CompuServe pod koniec lat 80., aby obrazy mogły być przesyłane przez wolne połączenia dial-up i wyświetlać się na komputerach, które nie zgadzały się ze sobą prawie w żadnej innej kwestii. Jego drugie i ostatnie wydanie dodało przezroczystość i wiele klatek i to właśnie ta wersja jest nadal używana. Dekady później GIF przetrwał z jednego powodu: to najprostszy sposób, aby umieścić krótką, cichą, zapętloną animację tam, gdzie oczekuje się zwykłego obrazu.

Jak GIF zapisuje swój obraz

GIF jest bezstratny, ale mocno ograniczony. Jego kompresja, zwana LZW, zastępuje powtarzające się ciągi pikseli krótkimi kodami i zwraca dokładnie to, co zostało zapisane. Ograniczeniem jest kolor: każda klatka może używać maksymalnie 256 kolorów, wybranych z palety zapisanej w pliku. Zdjęcie ma znacznie więcej odcieni, więc zapisanie go jako GIF zmusza koder do wybrania 256 i przybliżenia reszty, zwykle przez dithering, czyli rozsypywanie kropek w dwóch kolorach, aby imitować trzeci. Dlatego fotograficzne GIF-y wyglądają na nakrapiane i z pasami.

Przezroczystość jest wszystko albo nic. Jeden wpis w palecie może być oznaczony jako przezroczysty, więc piksel jest albo całkowicie przeźroczysty, albo całkowicie nieprzeźroczysty. Nie da się uzyskać miękkiej, półprzezroczystej krawędzi, dlatego logotypy w formacie GIF często mają twardą obwódkę na nieoczekiwanym tle.

Animacja to po prostu kilka obrazów zapisanych jeden po drugim, każdy z własną paletą, własnym opóźnieniem mierzonym w setnych sekundy oraz instrukcją usuwania mówiącą, co zrobić z poprzednią klatką. Mały dodatkowy blok informuje przeglądarkę, ile razy ma zapętlić animację. Nie ma dźwięku.

Jakie metadane zawiera GIF

To krótka sekcja, a odpowiedź jest naprawdę nietypowa: GIF praktycznie nie przenosi żadnych metadanych. Metadane to opisowe informacje, które plik przechowuje o sobie, a GIF ma na nie ledwie miejsce. Nie ma pola na ustawienia aparatu, autora, datę, tytuł ani miejsca na zapis współrzędnych GPS. Ani EXIF, ani IPTC, standardy przenoszące te informacje w zdjęciach, nigdy nie zostały zdefiniowane dla GIF.

Raport może pokazać głównie strukturę, a nie historię:

  • Wymiary obrazu, rozmiar tablicy kolorów i to, ile kolorów jest faktycznie używanych.
  • Liczbę klatek, opóźnienie i metodę usuwania każdej z nich oraz liczbę powtórzeń pętli.
  • Który element palety, jeśli w ogóle, jest przezroczysty.
  • Czy obraz jest przeplotowy, czyli czy używa starej sztuczki, która pozwalała zobaczyć zgrubną wersję, zanim plik w pełni się wczytał.
  • Bloki komentarzy. GIF pozwala na dowolne tekstowe komentarze, a oprogramowanie czasem zapisuje w nich własną nazwę, informację o prawach autorskich lub adres źródłowy. To jedyne miejsce, w którym najpewniej pojawi się jakaś nazwa.
  • Bloki aplikacji. Poza blokiem używanym do zapętlania Adobe zdefiniowało blok, który może przenosić pełny pakiet metadanych XMP wewnątrz GIF. To rzadkie, ale właśnie dlatego raport może pokazać XMP w GIF.

To działa w obie strony. GIF raczej nie ujawni twojej lokalizacji ani numeru seryjnego aparatu, bo nie ma gdzie ich zapisać. To jednak nie jest anonimowość: animacja utworzona ze zdjęcia lub z klatki wideo nadal pokazuje wszystko, co widać w pikselach, a każdy blok komentarza pozostaje w pliku, dopóki ktoś go nie usunie.

Kiedy używać GIF

Użyj GIF dla krótkiej zapętlonej animacji, która musi działać jak zwykły obraz, np. w oknie czatu, poście na forum lub wiadomości e-mail. Dla statycznego obrazu nie ma już dobrego powodu, aby go wybierać: PNG jest mniejszy przy tej samej płaskiej grafice i zachowuje pełny kolor, a JPG jest znacznie mniejszy dla fotografii.

Przy animacji uczciwe porównanie to porównanie z wideo. Klip MP4 lub WebM z tymi samymi kilkoma sekundami jest zwykle ułamkiem rozmiaru i ma płynne kolory. WebP i APNG również animują z pełną kolorystyką i prawdziwą przezroczystością. Przewagą GIF nie jest jakość ani rozmiar, lecz to, że wszystko i wszędzie już go obsługuje.