Cookies de statistiques et de publicité
Nous utilisons des cookies de statistiques et de publicité, tous deux destinés à Google. Si vous refusez, rien ne change visiblement pour vous.Aller à la page de confidentialité
GIF
Limité à 256 couleurs, mais le seul format d’image qui s’anime vraiment partout. Pour de la vidéo, les fichiers deviennent énormes.
GIF
GIF est un format binaire, qui ne veut rien dire hors d’un programme qui le connaît. Il stocke une grille de pixels : l’agrandir au-delà de sa propre résolution le ramollit. Il est utilisé pour le web.
L’extension est .gif et le nom complet Graphics Interchange Format. L’un et l’autre comptent moins que ce que le fichier peut contenir, et c’est le sujet du reste de cette page.
CompuServe l’a publié en 1987. La spécification est GIF89a.
À un format resté lisible aussi longtemps, on peut confier quelque chose qu’on veut retrouver dans dix ans.
Elle est publiée intégralement : n’importe qui peut l’implémenter à partir du document plutôt qu’en l’observant, et c’est pourquoi ce format apparaît dans tant de programmes et pourquoi des fichiers écrits il y a vingt ans s’ouvrent encore. Une spécification publiée n’est pas pour autant libre de redevances : quand un format enveloppe un codec, les brevets sont une question à part, que la norme ne tranche pas.
Il s’ouvre encore partout et les anciens logiciels l’écrivent toujours, mais plus rien de neuf ne se construit autour. Convertissez ce que vous voulez garder, et ne le choisissez pas pour un projet qui commence aujourd’hui.
GIF enregistre son contenu à l’identique. Le réenregistrer ne change rien : vous pouvez l’ouvrir, le modifier et le réenregistrer autant de fois que vous voulez sans accumuler de dégâts, et c’est ce qui en fait un format de travail plutôt qu’un format de livraison.
GIF porte une couche alpha : un logo garde ses bords doux par-dessus ce qui se trouve derrière, au lieu d’arriver dans un carré blanc.
GIF peut enregistrer une animation plutôt qu’une image fixe. C’est bon à savoir avant de convertir : une cible qui ne tient qu’une image garde la première et laisse tomber le reste, le plus souvent sans le dire.
Jusqu’à 8 bits par canal. Il peut travailler en une palette indexée.
Huit bits par canal, c’est ce qu’affiche un écran et ce que porte à peu près tout format de livraison.
La palette est la contrainte dont tout le reste découle. Une photographie convertie vers ce format doit voir ses couleurs choisies puis approchées : c’est pourquoi les dégradés ressortent en bandes ou en moucheté, et pourquoi un dessin en aplats le traverse sans une égratignure.
GIF ne peut pas décrire une image de plus de 65 535 pixels de côté. C’est très au-delà d’une photographie ordinaire et bien à portée d’un panorama assemblé ou d’une numérisation à haute résolution — c’est exactement là qu’on la rencontre.
GIMP, Adobe Photoshop et ImageMagick le lisent, comme la plupart des programmes du même genre.
Quand un fichier ne s’ouvre pas, le format est rarement en cause : le plus souvent, c’est le programme qui est plus ancien que lui. Convertir vers quelque chose de plus ancien est le contournement fiable, et c’est à cela que sert le reste de ce site.
Tous les navigateurs actuels le lisent.
Vous pouvez donc le poser sur une page ou l’attacher à un message sans vous demander ce que le destinataire a installé.
GIF est fait pour être transmis, pas pour travailler dedans. Modifier un tel fichier est possible et rarement agréable ; la voie raisonnable passe par la source et un nouvel export.
Les reproches qui reviennent : les dégradés doux peuvent ressortir en marches visibles.
Rien de tout cela n’est une raison d’éviter le format. Ce sont les choses à connaître avant que l’une d’elles vous surprenne, ce qui est une affirmation différente et plus utile.
Un GIF stocke une palette d’au plus 256 couleurs et y fait référence par index. Chaque pixel est un nombre pointant vers une entrée du tableau. C’était une conception sensée en 1987, quand les écrans affichaient 256 couleurs et qu’une palette était la façon dont fonctionnaient les images, et le format reste défini par cette contrainte initiale.
Toute plainte à propos du GIF y ramène. Une photographie a bien plus de 256 couleurs distinctes, donc en convertir une veut dire en écarter presque toutes — d’où les ciels en bandes visibles et les tons chair qui deviennent grumeleux. Le format ne s’en sort pas mal ; il fait exactement ce pour quoi il a été conçu, sur un contenu pour lequel il n’a pas été conçu, et cette tension n’a pas de résolution technique dans le format lui-même.
Face à un dégradé qu’il ne peut pas représenter, un encodeur peut ditherer : disperser des pixels des deux couleurs disponibles les plus proches pour que l’œil les mélange. Cela fonctionne réellement, et c’est pourquoi un GIF bien fait d’une photographie semble meilleur que ce que sa palette devrait permettre. La technique est ancienne et bien comprise, et l’amélioration visible peut être marquée.
Le coût se voit de près sous forme de grain fin, et il est coûteux. Le dithering détruit les plages de pixels identiques dont dépend la compression du GIF, de sorte qu’un GIF ditheré est souvent bien plus gros qu’un non ditheré. Cet arbitrage — des dégradés plus doux contre un fichier plus gros — est le principal levier dont on dispose quand on en fabrique un, et il se pose différemment pour chaque type d’image source.
Le GIF s’anime sans être une vidéo, et il le fait à plus d’endroits que l’APNG ou le WebP animé n’atteignent — clients de messagerie, messageries, forums, outils de présentation et beaucoup de logiciels qui n’ont jamais appris un second format animé. Cette portée l’a porté pendant quarante ans. Il n’a besoin d’aucun lecteur, d’aucune négociation de codec, ni d’aucune autorisation de lecture automatique — c’est une image, et tout ce qui affiche des images l’affiche en mouvement.
C’est un fait social plus que technique. Les applications de chat, les forums, les outils de suivi de tickets et les plateformes de messagerie acceptent un GIF animé et refusent souvent un WebP ou APNG animé, tous deux meilleurs à toute mesure respectable. Le format persiste à cause de là où il est accepté, et non de ce qu’il fait, et cette acceptation est une donnée de fait, pas un argument technique.
Chaque image est stockée comme une image, compressée seulement contre elle-même et ses voisines de façon limitée. Les codecs vidéo décrivent ce qui change entre images ; le GIF ne le fait largement pas. Donc cinq secondes d’une personne qui bouge à une taille réelle produisent un fichier de plusieurs mégaoctets, là où le même clip en MP4 fait quelques centaines de kilooctets.
Les leviers pratiques sont la résolution, la cadence et la longueur, dans cet ordre. Réduire la largeur à environ 480 pixels et la cadence à 10 ou 12 images par seconde amène en général le clip à une taille enviable. Si la destination accepte la vidéo, cela reste la meilleure réponse de loin, parce que les compromis qui valent pour une image fixe ne s’appliquent pas à une séquence, et le GIF y est nettement perdant.
Un GIF peut marquer une entrée de la palette comme transparente, et c’est tout le mécanisme. Un pixel est soit pleinement opaque, soit pleinement invisible — il n’y a pas de valeurs partielles. Cette binarité est ce qui rend le format si simple, et ce qui le rend inadapté à la plupart des usages modernes de transparence.
Le résultat visible est un bord crénelé sur toute forme courbe, et un halo de l’ancienne couleur de fond autour d’un sujet détouré sur autre chose. PNG a résolu cela en 1996 avec un vrai canal alpha, et c’est la plus forte raison isolée d’utiliser PNG pour un logo ou une icône plutôt que GIF. Pour une animation, le choix est plus contraint, et le GIF reste parfois la seule option acceptée par la plateforme.
La compression du GIF utilise LZW, sur lequel Unisys détenait des brevets. En 1994, l’entreprise a commencé à les faire valoir contre les logiciels qui écrivaient des GIF, et un format que tout le monde utilisait librement a soudain exigé une licence. Le mouvement était légal, et la surprise n’en a pas moins été considérable.
La réponse a été PNG, conçu en ouvert dans les mois qui ont suivi spécifiquement pour être libre, et il est arrivé meilleur à presque tout point de vue. Les brevets ont expiré entre 2003 et 2006 — celui des États-Unis d’abord, ses équivalents européens, japonais et canadiens en 2004, le dernier d’IBM ensuite — et la dispute est devenue histoire. À ce moment-là, le GIF avait déjà perdu l’argument de l’image fixe définitivement, et ne gardait que l’animation.
Chaque image porte son propre délai, de sorte qu’un GIF peut marquer une longue pause sur une image et passer en trombe sur d’autres. Le compte de boucle vit dans un bloc d’extension, zéro signifiant pour toujours, ce que presque tous les GIF spécifient, et la durée d’une pause n’est rien d’autre qu’un délai long sur une image particulière.
Un délai de 0 ou 1 centième de seconde est là où le comportement diverge : les navigateurs ont historiquement plafonné les délais très courts à un minimum, de sorte qu’un GIF conçu à 100 images par seconde passe à environ dix chez certains lecteurs et plus vite chez d’autres. Si une animation tourne à des vitesses visiblement différentes selon les endroits, ce plafonnement en est en général la raison, et la solution est d’éviter les délais inférieurs à 2 centièmes.
Pour une image fixe, PNG — sans perte, couleurs pleines, transparence correcte, et en général plus petit que le GIF. Pour une animation allant quelque part qui accepte la vidéo, MP4 ou WebM, qui fera une fraction de la taille à meilleure qualité. Pour une animation qui doit rester une image, WebP là où la destination le supporte, en gardant à l’esprit que le support n’est pas universel.
Convertir en GIF seulement quand la destination en veut précisément un, ce qui est un cas réel et fréquent : une fenêtre de chat, un fil de discussion, une page de documentation, une plateforme dont le formulaire de téléversement n’a pas changé en une décennie. Le format est pire que ses remplaçants et mieux accepté, et c’est tout le calcul. Le bon réflexe n’est pas de se battre contre la plateforme, c’est de produire ce qu’elle demande.
| Extension | .gif |
|---|---|
| Type de média | image/gif |
| Publié par | CompuServe |
| Première publication | 1987 |
| Spécification | GIF89a |
Ce que dit cette page se vérifie : voici les documents qui le fixent.