Le format JPEG

Mon TIPE sur le format JPEG, réalisé en classe prépa MP (2000-2001) et présenté à CCP. Sources C incluses.

Présentation

Explication des étapes de l’algorithme et source d’un programme C compressant des images RAW “à la JPEG”.

Extrait :

2 – Présentation du JPEG

À la fin des années 80, le « Joint Photographic Expert Group » s’est composé, afin de définir un
format standard de compression d’images fixes répondant à de nombreuses contraintes, donc les plus
importantes sont :

• Travail sur des images « naturelles », 256 niveaux de gris ou 16.7 Millions de couleurs
• Format avec pertes, mais dont la dégradation des images serait invisible, ou difficilement
visible.
• Une compression de l’image de gauche à droite et de haut en bas
• Un temps de compression acceptable et une complexité suffisamment faible pour pouvoir
développer des circuits intégrés réalisant cette compression.

L’aboutissement de ce travail est la norme SPIFF, qui est une explication détaillée des
manipulations à effectuer sur l’image pour réaliser sa compression. Malheureusement, elle ne définissait pasde format de fichier standard, ce qui empêchait les échanges entre les applications. La norme SPIFF fût donc complétée, et devint la norme JFIF, désignée communément par « norme JPEG ».

La compression utilisée dans la norme JPEG est basée sur l’utilisation de la Transformée de Cosinus
Discrète, ou DCT, qui est une simplification de la Transformée de Fourrier, et qui permet une
décomposition de l’image en fréquence. Les fréquences les moins significatives sont alors détruites pour
favoriser la compression.

Le format JPEG est donc bien un format « avec pertes », c’est-à-dire que l’image reconstituée ne
sera pas exactement l’image de départ, mais une très bonne approximation.

3 – Les étapes de l’algorithme

Le processus de compression proprement dit peut se décomposer en trois phases :

1 – Une séparation des différentes fréquences composant l’image à compresser (DCT)
2 – L’élimination des fréquences les moins significatives (Quantification)
3 – Le stockage des fréquences restantes par une compression sans pertes traditionnelle (l’algorithme d’Huffman)

La DCT ne pouvant s’appliquer qu’à des images codées sur une seule composante, il est nécessaire d’effectuer un pré-traitement de l’image. A cette occasion, il est possible de réaliser quelques transformations, qui vont permettre d’améliorer le taux de compression.

Téléchargement