Graphics Interchange Format (in acronimo GIF, lett. formato di interscambio grafico) è un formato di file per le immagini di tipo bitmap. Introdotto nel 1987 da CompuServe[3], la sua diffusione è dovuta alla compatibilità di Netscape Navigator e dei successivi browser con la versione del 1989.[4]
Storia
Il formato è stato introdotto nel 1987 da CompuServe per supportare le immagini a colori, rimpiazzando il precedente formato RLE solo in bianco e nero, e la prima versione venne pubblicata come 87a. Successivamente, nel 1989, CompuServe diffuse una versione migliorata, denominata 89a,[2] che aggiunse il supporto per la trasparenza e le immagini multiple. È possibile distinguere le due versioni esaminando i primi sei byte del file che, se interpretati come caratteri ASCII, riportano rispettivamente le scritte GIF87a e GIF89a. Il formato GIF si diffuse perché utilizzava l'algoritmo non distruttivo di compressione LZW, molto più efficiente dell'RLE adottato da altri formati immagine come il PCX e MacPaint.
Il numero massimo di colori visualizzabili è 256 ma tra i punti di forza di questo formato vi è la possibilità di creare immagini animate; molto spesso viene usato per le animazioni e in secondo piano per le immagini fisse. "GIF" spesso è pronunciato all'inglese con la g dura (ghif), ma la pronuncia definita dai suoi creatori nella documentazione ufficiale è con la g dolce (gif).[6][7][8]
Anche la caratteristica opzionale di interlacciamento, che memorizza le linee in un ordine tale da rendere riconoscibile un'immagine solo parzialmente scaricata, contribuì ad incrementare la popolarità del GIF, permettendo agli utilizzatori di riconoscere anzitempo gli scaricamenti errati. La possibilità di memorizzare più immagini in un unico file di tipo GIF89a, accompagnate da dati di controllo, è spesso utilizzata per creare semplici animazioni.
I colori
Il formato GIF prevede l'utilizzo di un numero massimo di 256 colori essendo basato sull'uso della tavolozza (palette) VGA. Ogni colore all'interno della tavolozza è definito da una terna di valori (RGB: rosso, verde, blu) delle dimensioni di un byte (quindi di valore compreso tra 0 e 255) consentendo quindi di definire, per ogni colore, 256×256×256 sfumature, ovvero circa 16,8 milioni di colori distinti. La tavolozza, in questo caso, consta quindi di 256 colori, scelti tra i 16,8 milioni di colori distinti, i quali vengono appunto numerati da 0 a 255; ciò permette di rappresentare ogni singolo pixel con un solo byte che fa riferimento alla posizione del colore nella tavolozza. Al contrario, altri formati grafici, utilizzano una terna di valori RGB per ogni singolo pixel.
Esiste una tecnica per simulare un numero maggiore di colori contemporanei (dithering), accostando pixel di colore diverso, simile alla retinatura della stampa in quadricromia. Tuttavia questo sistema tende a sgranare l'immagine e non sempre il risultato è migliore di un'immagine senza l'uso di questa tecnica. In linea generale, il dithering ha una resa migliore nella rappresentazione di immagini fotografiche o con molte sfumature mentre è sconsigliato per immagini al tratto o clipart. L'uso di questa tecnica, inoltre, può diminuire sensibilmente la comprimibilità dell'immagine.
Un singolo colore della tavolozza può essere, opzionalmente, definito come trasparente e quindi, in fase di visualizzazione, viene sostituito con il colore di sfondo o con l'immagine sottostante. Questa caratteristica differisce dal canale alfa in quanto non permette di rappresentare la semitrasparenza; il risultato è paragonabile all'effetto di chroma key. Con questa opzione è possibile creare immagini non rettangolari.
Unisys ed il brevetto su LZW
L'algoritmo di compressione LZW sul quale è basato il formato GIF, è un brevetto di CompuServe e Unisys. Prima del 1994, le compagnie in questione non pretesero il pagamento di alcun diritto.
Alla fine del dicembre 1994 CompuServe e Unisys annunciarono che avrebbero cominciato a richiedere il pagamento dei diritti di utilizzo del brevetto per qualunque programma commerciale capace di creare file in formato GIF.
Ormai l'utilizzo di immagini in formato GIF era così diffuso che alle aziende non rimaneva che pagare. Il comune desiderio di un formato libero da brevetti e con meno restrizioni tecniche portò alla definizione del formato PNG.
Il brevetto sull'algoritmo LZW negli Stati Uniti è decaduto il 20 giugno 2003, quindi Unisys e Compuserve non possono più chiedere il pagamento dei diritti in questo paese. Questo giorno è stato battezzato da alcuni il "GIF Liberation Day". Lo stesso brevetto in Europa, Giappone e Canada è scaduto rispettivamente il 18 giugno, 20 giugno e 7 luglio 2004[5].
Anche IBM deteneva un brevetto su questo algoritmo ma non se ne è mai avvalsa.[senza fonte]
(EN) James D. Murray e William vanRyper, GIF File Format Summary, in Encyclopedia of Graphics File Formats, 2ª ed., O'Reilly, 1996, pp. 429-450, ISBN1-56592-161-5. URL consultato il 22 giugno 2023.
Dossier GIF (JPG) (sulla questione del brevetto), in MCmicrocomputer, n. 148, Roma, Technimedia, febbraio 1995, pp. 172-179, ISSN 1123-2714 (WC · ACNP).