Le codage prédictif:
La première étape de codage de la matrice quantifiée
est le codage prédictif, constitué de la modulation différentielle
et du codage adaptatif.
La modulation différentielle est basée sur le constat que les données analogiques ont tendance à varier de valeur d’une manière progressive, les sauts importants du signal étant exceptionnels. Les blocs adjacents présentent de très fortes ressemblances. Pour les données graphiques, elle permet de transmettre non plus la valeur du pixel mais la différence de valeur avec le pixel précédent.
Par exemple si un pixel est codé sur huit bits, un système de codage différentiel peut coder la différence sur quatre bits, ce qui permet de réduire le nombre de bits nécessaires au codage.
Pour la compression des images fixes le problème vient du fait que les valeurs des pixels peuvent varier de manière importante. Le codage différentiel doit donc s’adapter aux petites et au grandes différences entre les pixels, ce qui limite son efficacité.
Par exemple certaines images montrent de longues étendues de
pixels de même valeur. Elles seront donc bien compressées. Tandis
que d’autres, présentant des variations de couleur importantes, seront
peu ou pas compressées.
Le codage adaptatif s’appuie sur la prédiction d’une certaine information sur les pixels à venir. La plupart des schémas adaptatifs se basent sur les quelques pixels environnants pour calculer la valeur du pixel à traiter. Par exemple, si les dix derniers pixels d’une image à niveaux de gris ont tous une valeur comprises entre 35 et 40, le codage adaptatif prédira avec une grande probabilité que les prochains pixels seront dans le même intervalle.
La modulation différentielle intervient alors à ce niveau pour coder l’écart entre la valeur prédite et la valeur réelle du pixel.
D'où le nom de codage prédictif.
L'algorithme JPEG utilise un codage prédictif pour la compression sans perte. Le traitement se fait sans aucune perte : pour un pixel codé au départ sur 8 bits le codage différentiel calculera un écart codé sur 8 bits. Le codage prédictif augmente artificiellement les probabilités d’apparition des valeurs des pixels rencontrés, processus qui sera utile lors du codage basé sur l’entropie.