Graphics Interchange Format
Van Wikipedia
Bestandsextensie: | gif |
---|---|
MIME type: | image/gif |
GIF is een bestandsindeling voor het opslaan van afbeeldingen in digitale vorm.
GIF is de afkorting van Graphics Interchange Format, een grafische bestandsindeling met pixels. GIF ondersteunt kleuren, verschillende resoluties, animatie en een transparante achtergrond. Het aantal kleuren in een GIF-bestand is beperkt tot maximaal 256 (door het gebruik van 8 bits), die elk wel uit 262.144 verschillende gekozen kunnen worden.
Compressie vindt plaats op basis van de verdeling en het aantal kleuren in horizontale richting. Indien het een afbeelding is met weinig kleuren en met herhalende patronen dan is goede compressie mogelijk en de bestandsgrootte erg klein. Zijn er veel kleuren of is er dithering toegepast dan loopt de bestandsgrootte op en zijn bestandsformaten als JPEG of PNG met 24 bits per pixel veelal een betere optie.
Inhoud |
[bewerk] Historie
De GIF-bestandsindeling is populair geworden/gemaakt door Compuserve in de jaren tachtig, vanwege de mogelijkheid om grafische informatie over netwerken te versturen. In de jaren negentig is de GIF-indeling overgenomen door ontwikkelaars van het Internet om websites op te luisteren. Tegenwoordig (2003) komt het bestandstype op zeer veel websites voor.
Voor de compressie wordt gebruikt gemaakt van de LZW compressietechnologie. Deze technologie is gepatenteerd door Unisys. Hierdoor moesten toeslagen betaald worden voor gebruik van applicaties welke deze compressie toepassen (de bewerkingsprogramma's dus). Dit was een van belangrijkste redenen voor het ontwikkelen van een rechtenvrije grafische bestandsindeling zoals PNG.
Het Verenigde Staten LZW patent (No. 4,558,302) is verjaard op 20 juni 2003. Het Canadese patent verliep op 7 juli 2004, de patenten voor Engeland, Frankrijk, Duitsland en Italië verliepen op 18 juni 2004, het Japanse patent verliep op 20 juni 2004.
Volgens een onderzoek van de Free Software Foundation is het laatste patent (van IBM) op 11 augustus 2006 verlopen.
[bewerk] Animated GIF
GIF heeft de mogelijkheid om verschillende beelden achter elkaar op te slaan in hetzelfde bestand, waardoor er een klein tekenfilmpje wordt vertoond.
[bewerk] Kleurreductie en dithering
Doordat een GIF-bestand maximaal 256 kleuren kan hebben is het niet erg geschikt voor (kleuren)foto's. Om toch een foto zo goed mogelijk weer te geven zal het palet van 256 beschikbare kleuren zo goed mogelijk verdeeld moeten worden. Ten eerste moeten de benodigde kleuren zo goed mogelijk gekozen worden uit de mogelijke 262144. In veel beeldbewerkingsprogramma's kan de gebruiker kiezen uit een aantal vaste paletten of een "optimaal palet'. Algoritmes die een optimaal palet berekenen gaan meestal uit van een driedimensionaal histogram van de in het origineel gebruikte kleuren en splitsen dit op in deelruimtes. Elk van de deelruimtes wordt vervolgens ook weer gesplitst totdat het gewenste aantal deelkleuren bereikt is. Dit leidt automatisch tot de "gemiddeld" meest gebruikte kleuren. Bij een portret zullen bijvoorbeeld meer huidtonen gekozen moeten worden, een landschap als het voorbeeld hieronder bestaat voornamelijk uit blauw- en grijstonen.
Daarnaast kan de schijnbare kleurfout nog verder teruggebracht worden door een techniek die met de Engelse term 'ditheren' of 'error diffusion' aangeduid wordt. Hierbij wordt de kleur van een enkel pixel niet alleen bepaald door de waarde van het originele pixel, maar ook door de afwijking in kleur van de omliggende pixels. Op die manier ontstaat een ietwat korrelig patroon dat gemiddeld exact de juiste kleuren heeft. Als de afbeelding van zo'n grote afstand bekeken wordt dat individuele pixels niet meer zichtbaar zijn is nauwelijks meer te zien dat het aantal kleuren beperkt is.
Hier staan enkele voorbeelden. Elk programma heeft een andere manier van ditheren. Het origineel bevat zo'n 10.000 verschillende kleuren.
De plaatjes met 256 kleuren wijken nauwelijks af van het origineel. Dat komt omdat dit voorbeeld een klein plaatje met een beperkt aantal kleuren is.
Bij de plaatjes met 16 kleuren is te zien dat het rode auto'tje rechts niet rood is. Bij het kiezen van de 16 kleuren bleek rood niet vaak genoeg voor te komen in het origineel. In plaats daarvan wordt de dichtstbijzijnde kleur gebruikt, het bruingrijs dat in het wegdek voorkomt.
In het voorbeeld met 2 kleuren is het effect van dithering goed te zien.