Qu’elle est la différence entre une image PNG et JPEG ?

Pour stocker une image sur votre ordinateur, plusieurs formats existent comme le .png ou bien le .jpeg. Dans cet article, nous allons voir comment un ordinateur nous affiche une image, puis, nous aborderons les différences entre ces deux formats.

Affichage d’une image

Sur un ordinateur, une image est composée de plusieurs pixels. Ces pixels sont de tout petit bloc qui contiennent une seule couleur. Cette couleur est définie par un mélange des trois couleurs primaires, c’est-à-dire, le rouge, le vert et le bleu. Ainsi, le pixel va avoir trois valeurs, une pour chaque intensité, lui permettant de savoir la quantité nécessaire pour ce mélange. Pour visualiser cela, vous pouvez taper sur google : rgb(255, 255, 0). Vous obtiendrez la couleur jaune.

Sur cette image, vous pouvez voir une image où nous avons réalisé un agrandissement sur une partie de l’image. Malheureusement, nous avons du mal a visualisé cela, car les logiciels de visualisation lisse l’image. Si vous souhaitez réellement voir cet effet, utiliser gimp et réaliser un zoom sur une image, vous pourrez voir les pixels.

image-pixel.jpg

Le format PNG

Le format png est un format d’image qui est sans perte. Différents types de stockage existent, mais nous allons nous intéresser au plus courant. Ainsi, dans le format PNG, nous allons pour chaque pixel sauvegarder trois valeurs correspondant au trois valeurs primaires. Ces valeurs seront codées sur 8 bits, c’est-à-dire une suite de 8 nombres, soit 0 ou 1. Ainsi, nous allons avoir pour chaque valeur 256 possibilités, soit un total de 16 777 216 couleurs possibles. De plus, l’une des particularités du format PNG est la possibilité d’ajouter de la transparence dans notre image.

Concernant la structure de ce format, nous allons avoir tout d’abord une signature qui permet à l’ordinateur de savoir que cela est un format .png.

Signature en hexadécimal 89 50 4E 47 0D 0A 1A 0A

Ensuite, nous allons avoir un ensemble de morceaux (chunks) qui va décomposer notre image en trois parties. Nous allons avoir un morceau pour :

  • l’en-tête : permettant d’avoir des informations sur l’image, comme la taille.
  • le contenu : c’est-à-dire les valeurs de tous nos pixels.
  • la fin de l’image : nous indiquant la fin de notre image.

Un morceau est composé en quatre parties. Nous allons avoir :

  • La taille de notre morceau : qui va nous indiquer la taille totale de notre morceau.
  • Du type : nous indiquant s’il s’agit de l’en-tête, de données …
  • De données : contenant l’information que notre morceau va transporter.
  • D’un CRC (Contrôle de Redondance Cyclique) : permettant de vérifier l’intégrité du morceau.

Le Format JPEG

Le format jpeg est généralement utilisé pour compresser une image. En effet, il va s’appuyer sur les couleurs de type luminance/chrominance. La luminance correspond à la luminosité de l’image, tandis que la chrominance correspond à la teinte de l’image. Nous pouvons visualiser cela à l’aide de l’image ci-dessous (source) :

1-1-1040x650.jpg

Comme vous pouvez le constater, nous sommes plus sensible à la luminance. Ainsi, afin de compresser notre image, nous allons réduire l’information liée à la chrominance. Tout d’abord, nous allons dans un premier temps, passer d’un modèle rgb (red, green, blue), à un modèle luminance/chrominance (YCbCr). Ainsi, nous allons avoir :

  • Y : corresponds à la luminance, réaliser en faisant la somme des trois valeurs primaires.
  • Cb : La chrominance du bleu (Y moins la valeur du bleu)
  • Cr : La chrominance du rouge (R moins la valeur du rouge)

Nous n’allons pas rentrer dans les détails des opérations pour obtenir le format JPEG finale, il nous faudrait un article entier pour pouvoir bien détailler son fonctionnement. Il faut juste savoir que nous allons réduire l’information de la chrominance, car notre œil est peu sensible à cela.

Conclusion

Pour résumé, le format PNG est un format sans perte de données qui va contenir pour chaque pixel trois valeurs lui indiquant sa couleur. Pour contenir ces informations, le fichier PNG va se décomposer en plusieurs morceaux. Le format JPEG est un format compressé. Il se base sur un modèle de luminance/chrominance. Il va chercher à réduire l’information de la chrominance que nous percevons peu.

Laisser un commentaire

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur la façon dont les données de vos commentaires sont traitées.