Quelle est la différence entre une image «JPG» / «JPEG» / «PNG» / «BMP» / «GIF» / «TIFF»?

102

J'ai vu de nombreux types d'extensions d'image mais je n'ai jamais compris les vraies différences entre elles. Existe-t-il des liens qui expliquent clairement leurs différences?

Existe-t-il des normes à prendre en compte lors du choix d'un type d'image particulier à utiliser dans une application? Que utilisons-nous pour les applications Web?

MOZILLA
la source
Quelqu'un avec un meilleur représentant que moi devrait parcourir ces réponses et les consolider.
Dana Robinson
Voici votre réponse: stackoverflow.com/questions/2336522/…
Chuck Le Butt
Cette question est close et pourrait finir par être supprimée. La même réponse est ci-dessous et devrait être acceptée réponse IMO.
toxalot

Réponses:

91

Oui. Ce sont des formats de fichiers différents (et leurs extensions de fichiers).

Les entrées Wikipedia pour chacun des formats vous donneront un peu d'informations:

  • JPEG (ou JPG, pour l'extension de fichier; Joint Photographic Experts Group)
  • PNG (graphiques réseau portables)
  • BMP (Bitmap)
  • GIF (format d'échange graphique)
  • TIFF (ou TIF, pour l'extension de fichier; Tagged Image File Format)

Les formats d'image peuvent être séparés en trois grandes catégories:

  • la compression avec perte,
  • compression sans perte,
  • non compressé,

Les formats non compressés prennent le plus de données, mais ce sont des représentations exactes de l'image. Les formats bitmap tels que BMP ne sont généralement pas compressés, bien qu'il existe également des fichiers BMP compressés.

Les formats de compression avec perte sont généralement adaptés aux photographies. Il ne convient pas aux illustrations, dessins et textes, car les artefacts de compression résultant de la compression de l'image se démarqueront. La compression avec perte, comme son nom l'indique, n'encode pas toutes les informations du fichier, donc lorsqu'il est récupéré dans une image, ce ne sera pas une représentation exacte de l'original. Cependant, il est capable de compresser les images très efficacement par rapport aux formats sans perte, car il rejette certaines informations. Un excellent exemple de format de compression avec perte est JPEG.

Les formats de compression sans perte sont adaptés aux illustrations, dessins, textes et autres éléments qui n'auraient pas l'air bien lorsqu'ils sont compressés avec une compression avec perte. Comme son nom l'indique, la compression sans perte encodera toutes les informations de l'original, donc lorsque l'image sera décompressée, ce sera une représentation exacte de l'original. Comme il n'y a pas de perte d'informations dans la compression sans perte, elle n'est pas en mesure d'obtenir une compression aussi élevée que la compression avec perte, dans la plupart des cas. PNG et GIF sont des exemples de compression d'image sans perte. (GIF autorise uniquement les images 8 bits.)

TIFF et BMP sont tous deux des formats «wrapper», car les données à l'intérieur peuvent dépendre de la technique de compression utilisée. Il peut contenir des images compressées et non compressées.

Quand utiliser un certain format de compression d'image dépend vraiment de ce qui est compressé.

Question connexe: Compression impitoyable de grandes images pour le Web

coobird
la source
Je ne pense pas que BMP soit un format `` wrapper '' de la manière dont TIFF est (ou PDF est pour cet amtter), ni qu'il peut être compressé (je veux dire, vous pouvez le ZIP, mais il ne contient pas de données compressées ).
ChrisW
2
@ChrisW: BMP permet de compresser le contenu du fichier. Je viens de jeter un œil à la page Wikipédia que j'ai référencée, et elle prend en charge RLE, PNG et JPEG. (Je ne savais pas qu'il supportait le contenu PNG et JPEG - appris quelque chose de nouveau!)
Coobird
2
BMP souffre généralement du même problème que WAV, ils ne sont tous les deux jamais standardisés et, en tant que tels, sont abusés pour presque tout ce que vous pouvez trouver.
Jasper Bekkers
3
@PhilWhittington Vous confondez l'objet bitmap avec le format de fichier. La classe Bitmap enregistre dans de nombreux formats différents, y compris BMP, TIFF et PNG - mais elle enregistre à partir d'un objet bitmap (c'est-à-dire les données de pixels brutes). Il n'y a pas de PNG dans un fichier BMP.
Chuck Le Butt
1
@Monk msdn.microsoft.com/en-us/library/windows/desktop/… et recherchez "biCompression". Cette structure C est stockée octet par octet dans un fichier BMP, de sorte que les fichiers BMP peuvent également prendre en charge ces types de compression. Ce n'est pas parce que personne ne les utilise pas qu'ils sont invalides.
user253751
78

Vous devez être conscient de quelques facteurs clés ...

Premièrement, il existe deux types de compression: sans perte et avec perte .

Sans perte signifie que l'image est réduite, mais sans nuire à la qualité. Avec perte signifie que l'image est rendue (encore) plus petite, mais au détriment de la qualité. Si vous enregistrez une image dans un format avec perte à plusieurs reprises, la qualité de l'image se détériore progressivement.

Il existe également différentes profondeurs de couleurs (palettes): Couleur indexée et Couleur directe .

Avec Indexé, cela signifie que l'image ne peut stocker qu'un nombre limité de couleurs (généralement 256) choisies par l'auteur de l'image, avec Direct cela signifie que vous pouvez stocker plusieurs milliers de couleurs qui n'ont pas été choisies par l'auteur.


BMP - Sans perte / indexé et direct

C'est un ancien format. Il est sans perte (aucune donnée d'image n'est perdue lors de l'enregistrement) mais il y a aussi peu ou pas de compression du tout, ce qui signifie que l'enregistrement en tant que BMP entraîne des tailles de fichiers TRÈS grandes. Il peut avoir des palettes à la fois indexées et directes, mais c'est une petite consolation. La taille des fichiers est si inutilement grande que personne n'utilise jamais vraiment ce format.

Bon pour: rien de vraiment. Il n'y a rien dans lequel BMP excelle ou ne se fait pas mieux par d'autres formats.

BMP vs GIF


FPG - sans perte / indexé uniquement

GIF utilise une compression sans perte, ce qui signifie que vous pouvez enregistrer l'image encore et encore et ne jamais perdre de données. Les tailles de fichier sont beaucoup plus petites que BMP, car une bonne compression est effectivement utilisée, mais il ne peut stocker qu'une palette indexée. Cela signifie qu'il ne peut y avoir qu'un maximum de 256 couleurs différentes dans le fichier. Cela ressemble à une petite quantité, et c'est le cas.

Les images GIF peuvent également être animées et avoir de la transparence.

Bon pour: les logos, les dessins au trait et d'autres images simples qui doivent être petites. Seulement vraiment utilisé pour les sites Web.

GIF contre JPEG


JPEG - avec perte / direct

Les images JPEG ont été conçues pour rendre les images photographiques détaillées aussi petites que possible en supprimant les informations que l'œil humain ne remarquera pas. En conséquence, il s'agit d'un format avec perte et l'enregistrement du même fichier à plusieurs reprises entraînera la perte de plus de données au fil du temps. Il a une palette de milliers de couleurs et est donc idéal pour les photographies, mais la compression avec perte signifie que c'est mauvais pour les logos et les dessins au trait: non seulement ils auront l'air flous, mais ces images auront également une taille de fichier plus grande que les GIF!

Bon pour: les photographies. Aussi, des dégradés.

JPEG vs GIF


PNG-8 - Sans perte / indexé

PNG est un format plus récent, et PNG-8 (la version indexée de PNG) est vraiment un bon remplacement pour les GIF. Malheureusement, cependant, il présente quelques inconvénients: Premièrement, il ne peut pas prendre en charge l'animation comme le peut le GIF (enfin, il le peut, mais seul Firefox semble le prendre en charge, contrairement à l'animation GIF qui est prise en charge par tous les navigateurs). Deuxièmement, il a des problèmes de support avec les navigateurs plus anciens comme IE6. Troisièmement, des logiciels importants comme Photoshop ont une très mauvaise implémentation du format. (Damn you, Adobe!) PNG-8 ne peut stocker que 256 couleurs, comme les GIF.

Bon pour: La principale chose que PNG-8 fait mieux que les GIF est de prendre en charge Alpha Transparency.

PNG-8 contre GIF

Remarque importante: Photoshop ne prend pas en charge la transparence alpha pour les fichiers PNG-8. (Damn you, Photoshop!) Il existe des moyens de convertir Photoshop PNG-24 en fichiers PNG-8 tout en conservant leur transparence, cependant. Une méthode est PNGQuant , une autre consiste à enregistrer vos fichiers avec Fireworks .


PNG-24 - Sans perte / Direct

PNG-24 est un excellent format qui combine l'encodage sans perte avec la couleur directe (des milliers de couleurs, tout comme JPEG). C'est très similaire à BMP à cet égard, sauf que PNG compresse les images, ce qui entraîne des fichiers beaucoup plus petits. Malheureusement, les fichiers PNG-24 seront toujours beaucoup plus volumineux que les fichiers JPEG, GIF et PNG-8, vous devez donc toujours vous demander si vous voulez vraiment en utiliser un.

Même si les PNG-24 autorisent des milliers de couleurs tout en ayant une compression, ils ne sont pas destinés à remplacer les images JPEG. Une photo enregistrée au format PNG-24 sera probablement au moins 5 fois plus grande qu'une image JPEG équivalente, ce qui améliore très peu la qualité visible. (Bien sûr, cela peut être un résultat souhaitable si vous n'êtes pas préoccupé par la taille du fichier et que vous souhaitez obtenir la meilleure qualité d'image possible.)

Tout comme PNG-8, PNG-24 prend également en charge la transparence alpha.

J'espère que cela aide!

Chuck Le Butt
la source
8
+1 La seule chose qui manque pour en faire une réponse complète à la question d'OP est une mention pour JPG (extension de fichier commune pour JPEG) et une section pour TIFF.
toxalot
2
Je mentionnerai également que la compression PNG est utile dans des situations auxquelles vous ne vous attendez peut-être pas. Par exemple, les dégradés sont hautement compressibles avec PNG.
Henry Merriam
27

En général, ce sont soit:

Compression sans perte Les algorithmes de compression sans perte réduisent la taille du fichier sans perte de qualité d'image, bien qu'ils ne soient pas compressés en un fichier aussi petit qu'un fichier de compression avec perte. Lorsque la qualité d'image est supérieure à la taille du fichier, des algorithmes sans perte sont généralement choisis.

Compression avec perte Les algorithmes de compression avec perte tirent parti des limitations inhérentes à l'œil humain et éliminent les informations invisibles. La plupart des algorithmes de compression avec perte permettent des niveaux de qualité variables (compression) et à mesure que ces niveaux sont augmentés, la taille du fichier est réduite. Aux niveaux de compression les plus élevés, la détérioration de l'image devient perceptible en tant qu '«artefact de compression». Les images ci-dessous démontrent l'artéfact notable des algorithmes de compression avec perte; sélectionnez l'image miniature pour afficher la version en taille réelle.

Chaque format est différent comme décrit ci-dessous:

Les fichiers JPEG JPEG (Joint Photographic Experts Group) sont (dans la plupart des cas) un format avec perte; l'extension de nom de fichier DOS est JPG (d'autres systèmes d'exploitation peuvent utiliser JPEG). Presque tous les appareils photo numériques peuvent enregistrer des images au format JPEG, qui prend en charge 8 bits par couleur (rouge, vert, bleu) pour un total de 24 bits, produisant des fichiers relativement petits. Lorsqu'elle n'est pas trop importante, la compression n'altère pas sensiblement la qualité de l'image, mais les fichiers JPEG subissent une dégradation générationnelle lorsqu'ils sont modifiés et enregistrés à plusieurs reprises. Les images photographiques peuvent être mieux stockées dans un format non JPEG sans perte si elles seront rééditées, ou si de petits "artefacts" (défauts causés par l'algorithme de compression JPEG) sont inacceptables. Le format JPEG est également utilisé comme algorithme de compression d'image dans de nombreux fichiers Adobe PDF.

TIFF Le TIFF (Tagged Image File Format) est un format flexible qui enregistre normalement 8 bits ou 16 bits par couleur (rouge, vert, bleu) pour les totaux 24 bits et 48 bits, respectivement, en utilisant le nom de fichier TIFF ou TIF . La flexibilité du TIFF est à la fois une bénédiction et une malédiction, car aucun lecteur ne lit tous les types de fichiers TIFF. Les TIFF sont avec et sans perte; certains offrent une compression sans perte relativement bonne pour les images à deux niveaux (noir et blanc). Certains appareils photo numériques peuvent enregistrer au format TIFF, en utilisant l'algorithme de compression LZW pour un stockage sans perte. Le format d'image TIFF n'est pas largement pris en charge par les navigateurs Web. Le TIFF reste largement accepté en tant que norme de fichier photographique dans le secteur de l'impression. Le TIFF peut gérer les espaces colorimétriques spécifiques au périphérique, tels que le CMJN défini par un jeu particulier d'encres de presse.

PNG Le format de fichier PNG (Portable Network Graphics) a été créé en tant que successeur libre et open-source du GIF. Le format de fichier PNG prend en charge TrueColor (16 millions de couleurs) tandis que le GIF ne prend en charge que 256 couleurs. Le fichier PNG excelle lorsque l'image comporte de grandes zones de couleur uniforme. Le format PNG sans perte est le mieux adapté à l'édition d'images, et les formats avec perte, comme JPG, sont les meilleurs pour la distribution finale des images photographiques, car les fichiers JPG sont plus petits que les fichiers PNG. De nombreux navigateurs plus anciens ne prennent actuellement pas en charge le format de fichier PNG, cependant, avec Internet Explorer 7, tous les navigateurs Web actuels prennent entièrement en charge le format PNG. L'entrelacement Adam7 permet un aperçu précoce, même si seul un petit pourcentage des données d'image a été transmis.

GIF GIF (Graphics Interchange Format) est limité à une palette de 8 bits, soit 256 couleurs. Cela rend le format GIF adapté au stockage de graphiques avec relativement peu de couleurs telles que des diagrammes simples, des formes, des logos et des images de style dessin animé. Le format GIF prend en charge l'animation et est encore largement utilisé pour fournir des effets d'animation d'image. Il utilise également une compression sans perte qui est plus efficace lorsque de grandes zones ont une seule couleur et inefficace pour les images détaillées ou les images tramées.

BMP Le format de fichier BMP (bitmap Windows) gère les fichiers graphiques dans le système d'exploitation Microsoft Windows. En règle générale, les fichiers BMP ne sont pas compressés, ils sont donc volumineux; l'avantage est leur simplicité, leur large acceptation et leur utilisation dans les programmes Windows.

Utilisation pour les pages Web / applications Web

Ce qui suit est un bref résumé de ces formats d'image lors de leur utilisation avec une page Web / une application.

  • PNG est idéal pour IE6 et plus (il faudra un petit patch CSS pour que la transparence fonctionne correctement). Idéal pour les illustrations et les photos.
  • JPG est idéal pour les photos en ligne
  • Le GIF est bon pour les illustrations lorsque vous ne souhaitez pas passer au PNG
  • BMP ne doit pas être utilisé en ligne dans les pages Web - gaspille de la bande passante


  • Source: Formats de fichier image

    Luke
    la source
    5

    Puisque d'autres ont couvert les différences, je vais aborder les utilisations.

    TIFF est généralement utilisé par les scanners. Il crée d'énormes fichiers et n'est pas vraiment utilisé dans les applications.

    BMP n'est pas compressé et crée également d'énormes fichiers. Il n'est pas non plus vraiment utilisé dans les applications.

    Auparavant, le GIF était partout sur le Web, mais il est tombé en disgrâce car il ne prend en charge qu'un nombre limité de couleurs et est breveté.

    JPG / JPEG est principalement utilisé pour tout ce qui est de qualité photo, mais pas pour le texte. La compression avec perte utilisée a tendance à endommager les lignes nettes.

    PNG n'est pas aussi petit que JPEG mais est sans perte, il est donc bon pour les images avec des lignes nettes. Il est maintenant couramment utilisé sur le Web.

    Personnellement, j'utilise généralement le PNG partout où je peux. C'est un bon compromis entre JPG et GIF.

    Dana Robinson
    la source
    BMP peut être compressé RLE ... Ce n'est pas beaucoup, mais efficace sur des images simples. Il s'agit également d'un format propriétaire (Microsoft).
    PhiLho
    4
    Le brevet GIF a expiré en 2004.
    Dour High Arch
    1
    TIFF est extrêmement populaire parmi les personnes qui ont besoin d'une qualité sans perte (artistes). Il est également idéal pour la compression d'images monochromes, c'est donc l'un des formats les plus populaires pour les logiciels de numérisation de fax / documents numériques.
    Vilx-
    1
    Dans la dernière spécification, BMP permet également au contenu d'être compressé au format PNG ou JPEG.
    Vilx-
    2

    JPG> Groupe conjoint d'experts photographiques

    1 Les images JPG prennent en charge 16 millions de couleurs et conviennent mieux aux photographies et aux graphiques complexes

    2 Les JPG ne prennent pas en charge la transparence.

    PNG> Graphiques réseau portables

    1 Il est utilisé comme alternative au format de fichier GIF lorsque la technologie GIF était protégée par des droits d'auteur et nécessitait une autorisation d'utilisation.

    2 PNG permettent une compression de 5 à 25% supérieure à celle des GIF et avec une gamme de couleurs plus large. Les PNG utilisent un entrelacement bidimensionnel, ce qui les rend deux fois plus rapides que les images GIF. »

    3 Image qui a beaucoup de couleurs ou nécessite une transparence variable avancée, PNG est le type de fichier préféré.

    GIF> Format d'échange graphique

    1 Réduit le nombre de couleurs d'une image à 256.

    2 Les GIF prennent également en charge la transparence.

    3 GIF ont la capacité unique d'afficher une séquence d'images, similaire à des vidéos, appelée GIF animé.

    4 Si l'image a peu de couleurs et ne nécessite aucun effet de transparence alpha avancé, GIF est la solution.

    SVG> Graphique vectoriel évolutif

    1 Les SVG sont une norme Web basée sur XML qui décrit à la fois des images statiques et des animations en deux dimensions.

    2 SVG vous permet de créer des graphiques et des animations de très haute qualité qui ne perdent pas de détails lorsque leur taille augmente / diminue.

    Dev
    la source
    1

    Ces noms font référence à différentes manières d'encoder les données d'image de pixel (JPG et JPEG sont la même chose, et TIFF peut simplement contenir un jpeg avec des métadonnées supplémentaires).

    Ces formats d'image peuvent utiliser différents algorithmes de compression, différentes représentations de couleurs, différentes capacités à transporter des données supplémentaires autres que l'image elle-même, etc.

    Pour les applications Web, je dirais que jpeg ou gif est assez bon. Jpeg est plus souvent utilisé en raison de son taux de compression plus élevé, et gif est généralement utilisé pour des animations légères où un flash (ou quelque chose de similaire) est un sur-kill, ou des endroits où un fond transparent est souhaité. PNG peut également être utilisé, mais je n'ai pas beaucoup d'expérience avec cela. BMP et TIFF ne sont probablement pas de bons candidats pour les applications Web.

    PolyThinker
    la source
    1

    Ce que coobird et Gerald ont dit.

    En outre, JPEG est le nom du format de fichier. JPG est une extension de fichier abrégée couramment utilisée pour ce format, car vous deviez avoir une extension de fichier à 3 lettres pour les systèmes Windows antérieurs. De même avec TIFF et TIF.

    Pour le moment, les navigateurs Web affichent uniquement les fichiers JPEG, PNG et GIF - ce sont donc ceux qui peuvent être affichés sur les pages Web.

    Gnudiff
    la source
    La prise en charge des navigateurs n'est pas limitée aux formats JPEG, PNG et GIF: des formats tels que BMP, ICO, SVG et XBM - entre autres - sont pris en charge nativement dans de nombreux navigateurs.
    scronide
    Assez juste, j'aurais dû dire que JPEG, GIF et PNG sont les formats pris en charge par la majorité des navigateurs.
    Gnudiff
    1

    PNG prend en charge la transparence alphachannel.

    TIFF peut avoir des options étendues Ie Geo referencing pour les applications SIG .

    Je recommande d'utiliser uniquement JPEG pour les photographies, jamais pour les images comme les cliparts, les logos, le texte, les diagrammes, les dessins au trait.

    Privilégiez le PNG.

    Roger Nelson
    la source
    1

    Les nommés sont tous des graphiques raster, mais à côté de cela, n'oubliez pas les graphiques vectoriels de plus en plus importants. Il existe des types compressés et non compressés (plus ou moins), mais ils sont tous sans perte. Les plus importants sont:

    Xn0vv3r
    la source
    0

    L'extension de fichier vous indique comment l'image est enregistrée. Certains de ces formats enregistrent simplement les bits tels quels, d'autres compressent l'image de différentes manières, y compris des méthodes sans perte et avec perte. Le Web peut vous le dire, même si je sais que certains des patients répondeurs les présenteront ici.

    Le Web privilégie les gif, jpg et png, principalement. JPEG est identique (ou très proche) de jpg.

    gbarry
    la source
    0

    Pour la différence et l'utilisation spécifiées entre les différents formats d'image, avez déjà une bonne discussion ci-dessus.

    Cependant, je veux ajouter quelque chose pour le processus global de capture d'une image et de leur stockage.

    Le processus de capture

    Ou vous pouvez dire le processus de construction (comme nous pouvons maintenant dessiner ou faire des images avec des ordinateurs). Si vous prenez une photo avec un appareil photo, vous utilisez déjà de nombreux capteurs (CCD ou CMOS) et algorithmes (Bayer Pattern Filter, sous-échantillonnage et quantification, etc.) Il existe également des trucs comme Pixel Formatet Color Space. Une fois que vous avez obtenu les informations de base sur les pixels, il doit y avoir un moyen de les stocker.

    La structure de base du fichier image

    Pour stocker les informations de pixels dans un fichier, nous avons besoin d'une convention et d'algorithmes associés. Pour économiser de l'espace, il existe une compression, mais le problème consiste essentiellement à coder les pixels en octets et à décoder les octets en pixels pour l'affichage.

    Un fichier image typique peut être composé de plusieurs parties, essentiellement deux: meta data or file headeret pixel data section. Le meta dataraconte l'image elle-même, peut height- être et width, file formatetc. Et le pixel data sectionest le réel sectionqui s'occupe du real picture.

    Stockage et affichage

    Comme nous l'avons dit précédemment, les fichiers sont stockés sur le disque dur et sont en octets / bits. Ainsi, les fichiers image n'ont pas de priorité mais aussi un flux d'octets. Pour l'affichage, nous devrions peut-être obtenir quelque chose pour savoir comment fonctionne le moniteur. Les moniteurs PC typiques utilisent le modèle RVB pour l'affichage.

    J'espère que cela t'aides:-)

    Lihang Li
    la source