La page maison de Benoit MICHEL - La compression d'images

Boulot
Benoit Michel
Stereoscopy News
Ascenseur Spatial
Extreme Engineering
Infographie
Stéganographie
Compression
Trucage Photo

Photos
Animaux

Dicos
Le Dico Des Nains
Le Dico Des Phobies

Perso
Accueil
Autos
Cinéma
Cuisine
Bibliographie
Sites Préférés

Rigolo
Humour
Escargots
Nains De Jardin
Poétique
Frigo
Dentifrice Sportif

Nains et Brouettes
Le Nanipabullophile
Le Dico Des Nains
Morphing
Mondial
Quiz
Les Nains En Hiver
Le Livre Des Nains
Le Petit Rufin

Cours id'infographie      Le traitement d'image
 
Vitesse Théorie JPEG Wavelet Outils       Testez votre site

Vitesse de chargement

La vitesse de chargement d'une page WEB dépend principalement de la taille
des fichiers images GIF et JPG qui s'y trouvent. Respectez la règle des 50K.
Toute page principale de plus de 50Koctets est à proscrire.
Personne ne la consultera à cause de sa lenteur
( En tout cas tous ceux qui ont encore des modems 56K ou moins encore - Si,si, il en reste! )!

La transmission d'images de grande taille par Internet est de plus en plus pratiquée.
La compression permet de réduire fortement le temps de chargement d'une image par le réseau.
Les techniques de pointe dans ce domaine permettent d'atteindre
des taux de compression de 200 à 1, voire même plus.

Théorie

La compression, quelle que soit la méthode utilisée,
passe par trois étapes : transformation, quantification et encodage.

Transformation

Discrétisation

Encodage

Les données sont transformées sur base d'une série de fonctions (DCT pour le JPEG, wavelet ou fractal pour d'autres...).
Cette étape n'implique pas de pertes d'information. Par contre, c'est la plus critique car elle détermine complètement l'efficacité des deux étapes suivantes.
Les paramètres des fonctions obtenus lors de la transformation sont réduits en nombre et en taille.
C'est ici que l'on décide de perdre plus ou moins d'information par rapport à l'original. Le choix de la transformation à l'étape 1 ci-dessus est donc primordial car certaines permettent une discrétisation plus ou moins efficace.
Les paramètres restant après la discrétisation sont compactés dans un fichier de taille le plus faible possible.
Les méthodes d'encodage utilisées sont similaires à celles des encodeurs ZIP, RAR et autres méthodes bien connues. L'encodage n'implique aucune perte de données.

 

JPEG

La transformation utilisée est la DCT (Direct Cosine Transform) qui est une analyse de Fourier.
La discrétisation s'effectue sur des carrés de 8 pixels de côté.
Pour chaque carré, on garde un certain nombre de coefficients pour représenter l'image.
Plus il y a de coefficients, meilleure est l'image.
Aux forts taux de compression, le JPEG provoque l'apparition de carrés
de 8 pixels de couleurs erronées (on les appelle des 'artefacts').

Vérifiez la dégradation de la compression JPEG dans la page Compression JPEG

Le choix des paramètres à conserver et à ignorer lors de la discrétisation
donne des résultats très différents d'un programme à l'autre :

 
Comparez les deux images ci-contre : elles ont
l'air identiques et en fait, elles le sont quasiment.
Excepté que la seconde est compactée avec
JPEG Optimizer alors que la première n'est qu'une
JPEG ordinaire comme en produisent Photoshop,
PaintShopPro et autres programmes...

Photoshop 4.0 est de plus incapable de sauver cette photo
avec une taille inférieure à 6137 octets et à ce niveau de
compression, la qualité est inférieure à celle observée ici.

Sans JPEG Optimizer Sans JPEG Optimizer
(12771 octets).

Avec JPEG OptimizerAvec JPEG Optimizer
(2215 octets).

Compression par ondelettes

La transformation ondelettes (ou 'wavelet')  tient son nom du type de fonction utilisée :
des fonctions périodiques de valeur moyenne nulle, qui montent et descendent
sur et sous l'axe horizontal.
Le dessin de ces fonctions fait penser à des vagues
de diverses tailles (wave = vague en anglais).

Par rapport aux transformées Fourier ou DCT, les ondelettes sont très locales,
en espace et en fréquence. Les paramètres obtenus ne concernent jamais
qu'une petite zone de l'image, alors qu'en fractal ou en JPEG,
une modification de paramètre peut affecter une large zone de l'image.
La discrétisation en sous-bandes et le codage 'entropique'
donnent une temps de compression et de décompression
très raisonnable pour une performance exceptionnelle.

Lors de l'affichage d'une image ondelettes , les premiers paramètres
transmis permettent d'afficher l'image en faible résolution.
Ensuite, durant la transmission, la résolution s'affine progressivement.
Par rapport au JPEG qui doit être transmis par lignes horizontales,
ceci permet d'afficher très vite toute l'image en petite taille
(10% du fichier suffisent pour afficher la première image)
puis de l'agrandir au fur et à mesure du chargement.

JPEG2000

Le format de compression par ondelettes le plus connu est le JPEG2000.

Le code open source des compresseurs et décompresseurs JPEG2000 est disponible sur openjpeg.org

Outils de compression d'images

Ce site-ci a toutes ses images GIF et JPG optimisées
grâce aux outils les plus performants :
JPEG Optimizer de XAT. Et en plus, ils sont gratuits !
Sans eux, ce site pèserait trois fois plus lourd en mégaoctets!

Ces outils sont pour uniquement pour WIN 95/98/NT/Win2000.

JPEG Optimizer GIF WIZARD

 

Testez votre page du point de vue 'taille des images'

Voici un lien vers un testeur automatique de taille d'images offert par GifWizard.
Donnez-lui simplement l'URL de votre page WEB et il vous rendra la liste de
toutes vos images avec peur pourcentage d'efficacité et le nombre d'octets que
vous pouvez encore gagner en les compressant avec les meilleurs outils.