Kaila Studio

Poradnik webdesignera



Strona główna
Uwagi ogólne
Błędy
Przykazania
Artykuły
Linki
Słowo od autorki
Email
  Format graficzny GIF -
cechy, struktura i kompresja pliku

FORMAT GIF (Graphic Interchange Format)

Format ten został stworzony przez firmę CompuServe w 1987 roku w USA. Pierwsza jego wersja miała numer 87a, pochodzący od dwóch ostatnich cyfr roku i litery oznaczającej kolejną wersję. Następna wersja, ukazała się dwa lata później i otrzymała numer 89a, a jej nowe cechy to przede wszystkim: możliwość animacji oraz zapisu przezroczystości.

Paleta kolorów (Color Palette)

Format GIF jest ograniczony do 8 bitów, czyli oferuje paletę 256 kolorów, co miało na celu maksymalne zmniejszenie jego objętości ze względu na wolną transmisję sieci. Plik GIF posiada globalną paletę kolorów, która może zawierać 2,4,8,16,32,64,128 lub 256 kolorów. Plik graficzny truecolor po konwersji do standardu GIF zmniejsza głębię barw z 24 bitów (16,7 milionów kolorów) do 8 bitów (256 kolorów). Redukcja barw powoduje utratę części informacji. Jeżeli jednak nie wpływa to na jakość grafiki, warto jest ten format zastosować ponieważ im mniej kolorów jest zadeklarowanych w palecie, tym szybciej obraz jest ładowany. Każdy kolor używany w obrazach musi pochodzić z palety kolorów, przy czym istnieje możliwość zadeklarowania lokalnej palety dla konkretnego obrazu.

Przeplot (Interlacing)
Format GIF pozwala wyświetlać na stronie grafikę warstwa po warstwie. W przypadku GIF’a mamy możliwość wyświetlić grafikę w czterech niezależnych od siebie fazach (interlace passes). Wyświetlane są kolejno linie: w pierwszej fazie - co ósma zaczynając od zerowej linii, w drugiej fazie - co ósma zaczynając od czwartej linii, w trzeciej fazie - co druga zaczynając od drugiej linii, a w czwartej - pozostałe. Sprawia to na początku wrażenie rozmazanego obrazka, który w trakcie ładowania nabiera ostrości. Dzięki temu prawie od początku ściągania grafiki wiemy co ona przedstawia. Możemy oczywiście zrezygnować z tej możliwości i wyświetlać grafikę linijka po linijce.

CECHY FORMATU GIF W WERSJI 89a

  • określenie przezroczystego koloru
  • animacja – możemy nawet określić po jakim czasie ma być wyświetlany następny obraz z dokładnością do 1/100 sekundy
  • oczekiwanie na reakcję użytkownika
  • załączenie komentarzy, które będą ignorowane przez dekoder grafiki
  • wyświetlanie tekstu jako grafiki
  • określenie sposobu usunięcia aktualnego obrazu
  • zamieszczenie rozszerzeń aplikacyjnych

STRUKTURA PLIKU GIF89a

Plik w formacie GIF składa się z bloków oraz rozszerzeń. Bloki można podzielić na trzy podstawowe grupy:

  • kontrolne (nagłówek, opis ekranu logicznego, kontrolne rozszerzenie grafiki i blok końcowy)
  • informacyjne (opis obrazu, rozszerzenie tekstowe)
  • specjalnego przeznaczenia (komentarze, rozszerzenia aplikacyjne)

Dostępne bloki:

  • Nagłówek(Header), w którym zawarte są informacje dla programu dekodującego dotyczące rodzaju pliku (czyli GIF) oraz numer wersji (87a, 89a) – razem 6 bajtów (GIF87a lub GIF89a)

  • Opis ekranu logicznego (Logical Screen Description Block): szerokość oraz wysokość ekranu, informacje o globalnej tablicy kolorów, indeks koloru tła, proporcje punktu.
  • Globalna tablica kolorów (Global Color Table) – blok ten występuje w większości plików GIF lecz nie jest obowiązkowy. Paleta kolorów w nim zdefiniowana jest stosowana do wszystkich obrazów zawartych w zbiorze nie posiadających tablic lokalnych oraz do rozszerzeń tekstowych.
  • Rozszerzenia aplikacyjne (Application Extension), czyli instrukcje dla konkretnych programów.
  • Blok rozszerzenia grafiki (Graphic Control Block) - opcjonalny blok z dodatkowymi danymi dla dekodera (m.in. kolor przezroczysty, informacja czy dany obraz posiada własną paletę kolorów, oczekiwanie na reakcję użytkownika, czas opóźnienia, sposób usunięcia aktualnego obrazu)
  • Opis obrazu (Image Descriptor) zawiera: tablicę danych obrazu (pogrupowane w sekwencyjnie bloki poszczególne punkty obrazu), opcjonalną lokalną tablicę kolorów (Local Color Table), rozmiary obrazu, pozycję obrazu na logicznym ekranie, informacje czy obraz ma być wyświetlany z przeplotem czy linia po linii. Blok ten zawiera etykietę ($2C), która umożliwia zamieszczenie w pliku GIF więcej niż jednego obrazu.
  • Rozszerzenie tekstowe (Plain Text Extension) – zawiera dane tekstowe oraz parametry konieczne do ich wyświetlenia jako grafiki.
  • Komentarze (Comment Block) - w pliku GIF można zamieścić dowolne komentarze (na przykład dane autora), które nie będą wyświetlane na ekranie. Najbezpieczniej jest zamieścić ten blok na końcu pliku, gdyż przyspieszy to ładowanie danych.
  • Blok końcowy (trailer) – znacznik końca pliku (etykieta: 0x3B).

 

KOMPRESJA FORMATU GIF

Format GIF łączy redukcję kolorów z kompresją. Format GIF korzysta z algorytmu kompresji LZW, którego nazwa pochodzi od inicjałów jego autorów: Lempel, Ziv i Welch. Od roku 1984, kiedy powstała, do dzisiejszego dnia uważana jest za jedną z najbardziej efektywnych metod kompresji. Działanie tego algorytmu polega na wyszukiwaniu w obrazie sekwencji pikseli, które stanowią powtarzający się schemat będący informacją nadmiarową (na przykład ciąg punktów o tym samym kolorze). Sekwencje te są zastępowane odpowiednimi kodami liczbowymi umieszczonymi w tablicy. Im wiecej takich powtarzających się sekwencji, tym lepszy uzyskujemy efekt kompresji, dzięki czemu rozmiar pliku jest mniejszy. LZW należy do bezstratnych metod kompresji (lossless compression mechanisms), które nie powodują utraty danych. Po dekompresji pliku spakowanego tą metodą uzyskamy obraz identyczny z oryginałem. Stopień kompresji LZW w połączeniu z redukcją kolorów wynosi od 20 do 80 procent, w zależności od rodzaju i wielkości grafiki.

Specyfikacja formatu GIF obejmująca szczególówy opis poszczególnych bloków (w języku angielskim):
GRAPHICS INTERCHANGE FORMAT (GIF) - Version 89a (http://www.lintilla.demon.co.uk/gif89a.htm)

Agnieszka Richter

Artykuł został napisany dla Optimus Pascal S.A. Publikowanie całości lub fragmentów niniejszego artykułu jest zabronione bez zgody właściciela.
 



[ Strona główna ] [ Uwagi ogólne ] [ Błędy przy tworzeniu stron ]
[ Przykazania webdesignera ] [ Artykuły ] [ Linki ] [ Słowo od autorki ]

Copyright © 1999-2001, Kaila Studio. Wszelkie prawa zastrzeżone.
Agnieszka 'Kaila' Richter - aga@kailastudio.com.pl
Ostatnia aktualizacja: 16 lipca 2000