GIF

Che cos’è un file GIF?

Limitato a 256 colori, ma è l’unico formato immagine che si anima dappertutto. Per il video produce file enormi.

Che cos’è GIF

GIF è un formato binario, che ha senso solo per un programma che lo conosce. Conserva una griglia di pixel, quindi si ammorbidisce non appena lo ingrandisci oltre la sua stessa risoluzione. Si usa per il web.

L’estensione è .gif e il nome per esteso è Graphics Interchange Format. Contano entrambi meno di ciò che il file può contenere, ed è di questo che parla il resto della pagina.

Da dove viene GIF

CompuServe lo ha pubblicato nel 1987. La specifica è GIF89a.

A un formato rimasto leggibile così a lungo si può affidare qualcosa che vuoi ritrovare fra dieci anni.

La specifica è pubblica

È pubblicata per intero, quindi la si può implementare partendo dal documento invece che per osservazione: è per questo che il formato compare in così tanti programmi, ed è per questo che file scritti vent’anni fa si aprono ancora. Una specifica pubblicata però non è la stessa cosa di una esente da royalty: dove un formato incapsula un codec, le licenze sui brevetti restano una questione a parte che lo standard non risolve.

È un formato ereditato

Si apre ancora dappertutto e i programmi più vecchi lo scrivono ancora, ma attorno non si costruisce più niente di nuovo. Converti ciò che vuoi tenere e non sceglierlo per qualcosa che comincia oggi.

Non si butta via niente

GIF conserva il suo contenuto esattamente. Risalvarlo non cambia nulla, quindi puoi aprirlo, modificarlo e risalvarlo quante volte vuoi senza accumulare danni: è questo che ne fa un formato di lavoro e non di consegna.

Può essere trasparente

GIF porta con sé un canale alfa, quindi un logo mantiene i bordi morbidi sopra qualunque cosa ci sia dietro invece di arrivare dentro un riquadro bianco.

Può contenere più di un fotogramma

GIF può conservare un’animazione anziché una singola immagine ferma. Vale la pena saperlo prima di convertire: una destinazione che tiene un solo fotogramma si tiene il primo e lascia cadere il resto, di solito senza dirlo.

Che colore sa descrivere

Fino a 8 bit per canale. Può lavorare in una tavolozza indicizzata.

Otto bit per canale è quello che mostra uno schermo e quello che porta praticamente ogni formato di consegna.

GIF è limitato a 256 colori

La tavolozza è il vincolo da cui discende tutto il resto. Una fotografia convertita in questo formato deve vedersi scegliere e approssimare i colori: è per questo che le sfumature escono a bande o picchiettate, ed è per questo che un disegno a tinte piatte lo attraversa senza un graffio.

C’è un limite di dimensione che conviene conoscere

GIF non può descrivere un’immagine più lunga di 65.535 pixel per lato. È molto oltre una fotografia normale e ben a portata di un panorama ricucito o di una scansione ad alta risoluzione: è esattamente lì che lo si incontra.

Che cosa apre GIF

GIMP, Adobe Photoshop e ImageMagick lo leggono, e così fanno quasi tutti i programmi dello stesso tipo.

Quando un file non si apre, il formato è raramente il problema: più spesso è il programma a essere più vecchio di lui. Convertire in qualcosa di più vecchio è la via d’uscita affidabile, ed è a questo che serve il resto di questo sito.

Aprirlo nel browser

Qualsiasi browser attuale lo legge.

Puoi quindi metterlo su una pagina o allegarlo a un messaggio senza chiederti che cosa abbia installato chi lo riceve.

È un formato di consegna

GIF è pensato per essere consegnato, non per lavorarci dentro. Modificarne uno è possibile e raramente piacevole; la strada sensata passa dall’originale e da una nuova esportazione.

Che cosa va storto con lui

Le lamentele ricorrenti: le sfumature morbide possono uscire a gradini visibili.

Nessuna di queste è un motivo per evitare il formato. Sono le cose che conviene conoscere prima che una di loro ti sorprenda, che è un’affermazione diversa e più utile.

Duecentocinquantasei colori, e da lì discende tutto il resto

Un GIF salva una tavolozza di al massimo 256 colori e poi si riferisce a essa per indice: ogni pixel è un numero che punta a una voce della tabella. Era una scelta ragionevole nel 1987, quando gli schermi mostravano 256 colori e una tavolozza era il modo normale di salvare un’immagine.

Ogni lamentela sul GIF nasce da lì. Una fotografia ha molti più di 256 colori distinti, quindi convertirla significa scartarne quasi tutti, ed è per questo che i cieli si spezzano in gradini visibili e i toni della pelle escono a chiazze. Il formato non sbaglia: fa esattamente ciò per cui è stato progettato, su contenuti per cui non è mai stato pensato.

Il dithering scambia bande con grana

Di fronte a un gradiente che non può rappresentare, un codificatore può applicare il dithering: distribuire pixel dei due colori disponibili più vicini così che l’occhio li mescoli. Funziona davvero, ed è il motivo per cui un GIF ben fatto di una fotografia appare migliore di quanto la tavolozza permetterebbe.

Si paga in due modi. Da vicino si nota una grana fine, e soprattutto costa: il dithering distrugge le sequenze di pixel identici da cui vive la compressione del GIF, quindi un GIF con dithering è spesso molto più grande di uno senza. Quello scambio — gradienti morbidi contro dimensione — è l’unica leva a disposizione di chi ne crea uno.

Sopravvive per dove è accettato, non per quello che fa

Il GIF anima senza essere un video, e lo fa in più posti di quanti ne raggiungano l’APNG o il WebP animato: messaggistica, email, forum, strumenti di presentazione e una quantità enorme di programmi che non hanno mai imparato un secondo formato animato. Non serve un lettore, né una negoziazione di codec, né il permesso di riproduzione automatica: è un’immagine, e tutto ciò che mostra immagini la mostra muoversi.

È un fatto sociale più che tecnico, e vale la pena dirlo così. Forum, gestori di ticket e app di messaggistica accettano un GIF animato e spesso rifiutano un WebP animato o un APNG, che sono migliori in tutto ciò che si può misurare. Il formato persiste per dove lo lasciano entrare.

Cinque secondi di video diventano un file enorme

Ogni fotogramma viene salvato come un’immagine, compressa contro sé stessa e solo in modo molto limitato contro i fotogrammi vicini. I codec video descrivono cosa è cambiato da un fotogramma al successivo; il GIF praticamente no. Ecco perché cinque secondi di una persona che si muove a una dimensione decente pesano diversi megabyte, mentre lo stesso filmato in MP4 sono un paio di centinaia di kilobyte.

Le leve pratiche sono risoluzione, frame rate e durata, in quest’ordine. Ridurre la larghezza a circa 480 pixel e il frame rate a 10 o 12 fotogrammi al secondo lascia di solito la clip a una dimensione ragionevole. Se la destinazione accetta video, il video resta di gran lunga la risposta migliore.

La trasparenza è a un bit e non esiste una via di mezzo

Un GIF può contrassegnare una voce della tavolozza come trasparente, ed è tutto il meccanismo. Un pixel è completamente opaco o completamente invisibile; non ci sono valori intermedi.

Il risultato visibile sono bordi frastagliati su qualsiasi curva e un alone dello sfondo vecchio intorno a un soggetto ritagliato su qualcos’altro. Il PNG ha risolto questo nel 1996 con un vero canale alfa, ed è l’argomento più forte per usare il PNG e non il GIF su un logo o un’icona.

La disputa sui brevetti da cui nacque il PNG

La compressione del GIF usa LZW, su cui Unisys deteneva brevetti. Nel 1994 l’azienda iniziò a farli valere contro il software che scriveva GIF, e un formato che tutti usavano liberamente iniziò da un giorno all’altro a richiedere una licenza.

La risposta fu il PNG, progettato apertamente nei mesi successivi apposta per non essere soggetto a nulla, e arrivò essendo migliore su quasi tutto. I brevetti scaddero fra il 2003 e il 2006, iniziando da quello statunitense, e il conflitto passò alla storia. A quel punto il GIF aveva già perso definitivamente la partita dell’immagine fissa e conservava solo l’animazione.

Cicli, tempi e i fotogrammi che si bloccano

Ogni fotogramma porta la propria attesa, quindi un GIF può mantenere una pausa lunga su un’immagine e passare rapidamente su altre. Il numero di ripetizioni vive in un blocco di estensione, dove zero significa per sempre, che è ciò che dichiara quasi ogni GIF.

Le attese di 0 o 1 centesimo sono dove il comportamento diverge: storicamente i browser hanno imposto un minimo per le attese molto brevi, quindi un GIF creato a 100 fotogrammi al secondo appare a circa dieci in alcuni visualizzatori e più veloce in altri. Se un’animazione va a velocità diverse a seconda di dove viene vista, quel limite è di solito la spiegazione.

Quale GIF scrive questo sito, e quale non scrive

Vale la pena essere espliciti, perché è qui che la maggior parte delle pagine su questo formato dicono ciò che non è. Convertendo un’immagine fissa — un JPG, un PNG, un WebP, un SVG — il GIF prodotto ha esattamente un fotogramma: non si compone un’animazione da un’immagine ferma. E non porta trasparenza di alcun tipo: non viene scritto alcun indice trasparente, quindi i pixel che erano trasparenti vengono prima adagiati su un colore di sfondo che potete scegliere e che di default è il bianco.

La tavolozza è di 256 colori fissi, senza controllo per chiederne meno: l’impostazione del numero di colori che compare in altre conversioni appartiene alla tracciatura vettoriale e non a questa. Se vi serve trasparenza reale o colore completo, la conversione giusta è verso PNG e non verso GIF.

Da video a GIF e da GIF a video, con i numeri concreti

I video sì producono un GIF animato, perché seguono un percorso separato. I valori di partenza sono 12 fotogrammi al secondo, 480 pixel di larghezza e 10 secondi, e su tutto comanda un tetto di 600 fotogrammi: circa 50 secondi a 12 fotogrammi al secondo e solo 20 a 30. Ciò che supera quel tetto viene tagliato, quindi chiedere un minuto a un frame rate alto non restituisce un minuto. I fotogrammi vengono presi distribuiti a partire dal secondo zero e ciascuno riceve la propria tavolozza di 256 colori. Non c’è audio: un GIF non ha dove metterlo.

Nella direzione opposta, convertendo un GIF in video viene rispettata la temporizzazione di ciascun fotogramma invece di calcolarne una media, così un’animazione con attese irregolari si riproduce al ritmo con cui è stata creata. Il risultato non ha traccia audio. E una cosa che il GIF qui non supporta è la compressione: lo strumento di compressione lavora con JPG, WebP, AVIF, JXL, PNG e PDF, ed esclude il GIF di proposito.

I dati, in un posto solo

Identificativi e provenienza del formato GIF.
Estensione.gif
Tipo di mediaimage/gif
Pubblicato daCompuServe
Prima pubblicazione1987
SpecificaGIF89a

Da dove vengono questi numeri

Quello che questa pagina afferma si può verificare, e questi sono i documenti che chiudono la questione.