Présentation

Les fichiers JPEG offrent la possibilité d'enregistrer les composants de basse fréquence en premier, ce qui signifie qu'une image partiellement téléchargée sera affichée à basse résolution au lieu d'être tronquée.

Fonctionnement

Les données compressées sont divisées en plusieurs « scans », chacun précédé d'un en-tête. Le premier scan d'une image représentative contient les informations de base telles que le nombre de canaux, les indices de tables Huffman et les coefficients DCT.

FF DA - marqueur de début de scan
00 0C - champ de longueur Big Endian (12 octets)
03 - nombre de canaux dans le scan (3)
01 - identifiant global du premier canal inclus
00 - indice de table Huffman #1 (DC : 0, AC : 0)

Construction d'un JPEG régressif

Il est possible de construire un fichier JPEG où les scans suivants écrasent les données d'image déjà rendues. Cela peut être réalisé en concaténant plusieurs images de la même résolution et en filtrant les marqueurs de début et de fin d'image.

Limites et applications

Cependant, la plupart des décodeurs abandonnent après un certain nombre de scans pour éviter les problèmes de type « zip bomb ». Pour contourner cette limitation, il est possible de minimiser le nombre de scans dans chaque trame en utilisant des JPEG de base avec un seul scan. Cela permet de créer des images qui peuvent être rendues progressivement sans infliger de perte de qualité.