Quels sont les artefacts JPEG et que peut-on faire à leur sujet?


25

Je sais que JPEG est un algorithme de compression «avec perte» qui élimine les informations afin d'économiser de l'espace. Quel est l'impact visuel de cela? J'ai entendu parler des "artefacts JPEG". À quoi ressemblent-elles?

Y a-t-il des situations où le même niveau de compression crée plus d'artefacts et semble pire? Le contenu de l'image est-il important? Qu'est-ce que l'algorithme gère bien et avec quoi a-t-il du mal?

En supposant que JPEG est une exigence, existe-t-il un moyen de réduire les artefacts? Si je télécharge sur un service Web qui appliquera sa propre compression en dehors de mon contrôle, puis-je faire quoi que ce soit à l'avance pour améliorer sa survie?


Quelques réponses pour des morceaux de cette question existent ici: photo.stackexchange.com/questions/5317/…
dpollitt

Merci @dpollit. Je ne l'ai pas vu à cause de l'orthographe britannique et du manque de tags. De plus, il s'agit très spécifiquement de la basse résolution et de la petite taille des fichiers.
mattdm

J'aimerais voir des exemples au niveau des pixels (ou plus) dans les réponses.
mattdm

1
Je voudrais vous diriger vers ma réponse sur le sujet @dpollit lié auparavant, en particulier le site Web lié à partir de celui-ci, qui contient toute une série d'exemples d'images de tous les principaux niveaux de "qualité", avec des détails au niveau des pixels, pour une variété de types d'images.
jrista

1
@BBking - J'adorerais voir une réponse expliquant cela, avec des références.
mattdm

Réponses:


19

Un exemple

Utilisation de la photo actuelle de l'image de la semaine. Voici le JPEG de haute qualité:

gimp Q = 99

ré-enregistré dans Gimp avec une qualité JPEG 80 (faible); veuillez noter la perte générale de netteté, les "points" autour des bords à contraste élevé, la perte de détails dans les zones à faible contraste:

gimp Q = 80

et ré-enregistré dans GIMP avec une qualité JPEG 30 (très faible); veuillez noter les blocs 8x8 évidents et la perte sévère de netteté et de détails de couleur:

gimp Q = 30

Trois types de distorsions

JPEG a tendance à introduire deux trois types de distorsions:

  • perte générale de netteté et d'oscillations autour des bords à contraste élevé: elles sont dues à l'approximation des transitions d'intensité avec des fonctions lisses (cosinus); vous les voyez comme de petits "points" ou "halos" sur les bords; ils sont particulièrement faciles à voir dans les images de texte de dessins à la main.
  • structure de blocage: l'image est traitée séparément pour chaque bloc 8x8 (ou plus en cas de sous-échantillonnage de la chrominance), les bords des blocs deviennent visibles à des taux de compression élevés.
  • perte de détails des couleurs: cela dépend de la sauvegarde des paramètres, le programme peut "sous-échantillonner" de manière agressive (réduire la résolution des) canaux de chromaticité; c'est rarement un problème pour la photographie naturelle.

La structure de bloc visible et les halos autour des bords sont généralement appelés artefacts JPEG. Zoomons sur notre exemple pour mieux les voir. De gauche à droite, un recadrage à partir des images originales, JPEG Q80 et JPEG Q30. J'ai marqué les artefacts en vert (cercles pour les halos et points pour les blocs 8x8):

comparaison à trois

Comme toute perte d'informations, vous ne pouvez pas réellement la récupérer. L'affûtage peut aider à récupérer le contraste des bords perdus, mais rend les "halos" plus évidents; le débruitage peut aider à éliminer les "halos", mais réduit encore la netteté. Si la structure des blocs est visible, il est probablement trop tard. Conservez simplement les images originales de haute résolution et de haute qualité et ne les remplacez pas.

Stratégies d'hébergement

Si vous contrôlez les paramètres de compression JPEG et souhaitez maximiser la qualité d'image:

  • maintenez le taux de compression aussi bas que possible (utilisez des paramètres de haute qualité)
  • envisager de sous-échantillonner les canaux de chromaticité (cela peut être presque imperceptible pour certaines images et permet un taux de compression plus faible dans le canal de luminosité étant donné la même contrainte de taille de fichier)
  • envisagez d'utiliser une transformée en cosinus discrète à virgule flottante (cela peut augmenter la précision de la transformation, mais l'enregistrement du fichier prendra plus de temps)
  • envisager d'utiliser une résolution plus faible au lieu d'un taux de compression plus élevé (étant donné la même limite sur la taille du fichier)

Si vous téléchargez vers un service tiers et ne contrôlez pas les paramètres de compression, vous ne pouvez pas faire grand-chose:

  • choisir un service connu pour préférer le JPEG de haute qualité (Flickr, SmugMug, 23hq, 500px) aux services connus pour surcompresser pour économiser du trafic (Picasa, Imgur, Dropbox); vous en avez généralement pour votre argent.
  • essayez de redimensionner les photos vous-même et de télécharger la bonne taille (certains services la recompresseront quand même, certains pourront servir votre fichier tel que téléchargé)

16

JPEG utilise en fait deux types de compression, avec et sans perte. La compression sans perte ne provoque pas d'artefacts, nous pouvons donc ignorer cette partie. Le type particulier de compression avec perte en JPEG, appelé transformée en cosinus discrète pour les nœuds mathématiques, permet un compromis entre le taux de compression et la fidélité. La plupart des logiciels en font une valeur de «qualité», généralement sur une échelle de 0 à 100, 100 étant effectivement sans perte ou très peu et les choses en descendant.

Cet algorithme de compression particulier a été adopté parce qu'il est bon pour jeter le genre de choses que le système visuel humain ne remarque pas autant que les autres composants de la scène. C'est en partie pourquoi des images d'aspect assez décent peuvent avoir des taux de compression impressionnants. C'est aussi pourquoi cela fonctionne bien sur de vraies photographies à tons continus et moins bien sur des images synthétiques et des dessins au trait.

Voici une région 200 x 300 d'une photo plus grande avec les pixels répliqués 2x pour mieux les voir. Cette compression JPEG utilisée "qualité" 100:

Qualité 80, réduction de la taille du fichier de 79%:

Qualité 60, 86% de réduction:

Qualité 40, réduction de 90%:

Les réductions de taille de fichier étaient basées sur des compressions JPEG de l'ensemble du fichier, de sorte que les structures d'en-tête et autres frais généraux fixes ne constituaient qu'une petite partie des données.

Notez que vous devez chercher pour trouver des artefacts dans la deuxième image, même si près des 4/5 des informations originales ont été jetées. Les artefacts de compression JPEG sont généralement plus visibles sur les arêtes vives et dans les zones plates qui changent lentement. Étant donné que les dessins au trait sont tous des bords nets, la compression JPEG n'est pas appropriée pour cela.

Vous pouvez voir les artefacts de compression s'aggraver progressivement à des taux de compression plus élevés. Gardez à l'esprit que l'image du bas conserve une quantité incroyable d'informations visuelles pour avoir supprimé 9/10 de ses informations brutes.

Les types d'artefacts caractéristiques de la compression avec perte JPEG sont le "blocage" dans les zones plates changeant lentement et la "saleté" entourant les bords à contraste élevé. Par exemple, voir la zone en bas à droite dans l'image ci-dessus. Cela contient un arrière-plan flou, donc les valeurs changent lentement. Le bloc est tout à fait évident. Pour des exemples de la "saleté", regardez autour de la corne gauche de la chèvre. Ces deux types d'artefacts indiquent généralement que la compression JPEG a été envisagée. Recherchez-les également dans les autres images ci-dessus pour avoir une idée de ce à quoi elles ressemblent lorsqu'elles commencent à apparaître et du type de taux de compression que vous pourriez tolérer dans diverses circonstances.


1
La perte visible ne provient pas du DCT lui-même, mais de la quantification des coefficients DCT après la transformation.
Sarge Borsch

10

La compression JPG se fait en blocs de pixels. Dans une image JPG hautement compressée, les bords de ces blocs peuvent être vus: dans l'image d'origine, deux pixels peuvent avoir été très proches en luminosité et en couleur, mais s'ils se trouvent dans des blocs différents, puis après compression et décompression (lorsqu'ils sont vus) chacun de leurs valeurs peuvent différer de l'original, donc vous perdez ce mélange progressif et commencez à voir ce "blocage".

entrez la description de l'image ici

Voici un exemple typique dans un ciel - JPG enregistré en qualité 0.

Si vous êtes téléchargé sur un site qui utilise la compression JPG, vous obtiendrez peut-être de meilleurs résultats en faisant deux choses (vous devrez tester le site pour voir ce qui fonctionne):

  • redimensionnez les dimensions de votre image pour qu'elle soit dans la hauteur / largeur maximale autorisée par le site, afin que le site Web ne redimensionne pas vos images pour vous

  • faites votre propre compression pour obtenir une taille de fichier plus petite avec une bonne qualité. Selon le fonctionnement du site, si l'image est déjà suffisamment petite, elle peut ne pas effectuer de compression supplémentaire, ou même si c'est le cas, cela peut avoir un effet moindre.

En ce qui concerne la suppression des artefacts JPG d'une image, les artefacts JPG peuvent ressembler au bruit de capteur normal. Le logiciel de réduction du bruit réussira quelque peu à supprimer certains artefacts JPG mineurs, mais à la perte de détails.

bruit comme des artefacts jpg

Voici un exemple avec une qualité JPG de 50%, avec des blocs, mais aussi des pixels plus sombres et plus lumineux qui ressemblent à du bruit.

Topaz Labs a un produit appelé DeJpeg , qui agit spécifiquement sur les artefacts JPG. Il fait un bon travail sans trop de détails. Le plugin peut également effectuer une certaine netteté et une réduction générale du bruit. Le plugin est compatible avec Photoshop CS, Photoshop Elements et Paint Shop Pro. Je ne pense pas que cela fonctionne avec Lightroom ou Aperture.


Pouvez-vous donner un exemple d'artefact jpeg qui ressemble au bruit du capteur?
mattdm

Ont ajouté l'un d'un ciel sombre enregistré à 50% de qualité JPG.
MikeW

5

Pour les sites Web qui compressent des fichiers jusqu'à ce qu'ils atteignent une certaine taille de fichier cible, il existe un moyen d'améliorer la qualité des images dans certaines circonstances.

JPEG fonctionne en convertissant l'image en une [série de] représentation d'espace de fréquence [s] (où X et Y représentent les fréquences horizontales et verticales, et la "luminosité" représente l'amplitude de la fréquence). Les fréquences inférieures à une certaine amplitude sont ignorées, ce qui réduit la quantité de données stockées et permet une compression.

Le bruit a un large spectre de fréquences que JPEG ne peut pas compresser. C'est pourquoi vous pouvez avoir deux images, appliquer le même niveau de compression et obtenir deux tailles de fichiers différentes après la compression JPEG.

Si vous prenez votre image et brouillez intentionnellement les zones d'arrière-plan sans importance, vous réduisez la quantité totale d'informations et obtenez une compression beaucoup plus élevée de ces zones, vous laissant plus de kilo-octets pour coder les zones où les détails sont importants. Cela fonctionne particulièrement bien avec des images dont l'arrière-plan est déjà flou.


3

Voici un exemple de fichier JPEG agrandi:

entrez la description de l'image ici

Image de l'utilisateur de Wikipédia FelixH. Cette image est sous licence Creative Commons Attribution-Share Alike 3.0 Unported.

Dans cette image, vous pouvez clairement voir les soi-disant "artefacts" dans la zone bleue. Notez comment l'image semble être divisée en blocs et les limites des blocs ne correspondent pas.

Un certain nombre de mesures peuvent être prises pour éviter ou réduire ce problème:

  • Le plus évident: n'utilisez pas jpeg. Vous souhaiterez peut-être travailler avec vos images en utilisant un format de compression sans perte, comme RAW, PNG ou TIFF sans perte. Vous ne rétrogradez en jpeg qu'à la dernière étape, lorsque vous souhaitez télécharger l'image sur le Web, par courrier électronique, etc.

  • Le format jpeg permet la configuration du niveau de compression. Vous pouvez obtenir moins d'artefacts si vous le souhaitez, mais le fichier sera plus volumineux.

  • Évitez de réenregistrer un fichier jpeg encore et encore, car chaque génération dégrade encore plus la qualité.


Même RAW et PNG peuvent obtenir des artefacts en raison de la quantification des pixels. Tant que vous ne modifiez aucune valeur, ce n'est qu'un effet unique et aucune autre perte ne se produit en raison de la numérisation. Cependant, si vous modifiez les valeurs à n'importe quelle étape, comme l'assombrissement ou l'éclaircissement d'une scène, ou le mélange avec d'autres valeurs, etc., les changements de valeur peuvent entraîner de nouveaux artefacts lors de la prochaine sauvegarde (même sans compression) en raison de la quantification (sans doute une forme de compression) pour enregistrer la nouvelle image calculée. Pour minimiser ces effets, utilisez le plus grand nombre de bits possible à chaque étape et conservez l'intégralité de votre flux de travail.
Skaperen

@Skaperen: vous confondez deux choses différentes ici. Cette question concerne la perte de détails due à la compression JPEG. Ce que vous décrivez, c'est la perte de détails introduite par certains algorithmes de traitement d'image. Ce que vous décrivez est correct, mais n'est pas du tout lié aux formats d'image, donc dire que RAW et PNG sont associés à la quantification des pixels est faux, ces formats de fichiers ne causent aucune perte de qualité.
Miguel

Cette image montre également un autre problème, soit dit en passant: elle montre un halo de masque flou.
mattdm

1

Les artefacts sont les effets secondaires indésirables du traitement d'une image. Dans ce cas, ils résultent de la façon dont les données sont compressées par l'algorithme JPEG.

Généralement, les gens veulent pouvoir stocker des photos numériquement, sans utiliser trop d'espace de stockage. Par conséquent, la plupart des photos sont stockées au format JPEG. Il s'agit d'un format qui compresse les données qui composent l'image d'une manière qui tente de conserver autant de détails que possible. Le niveau de compression peut être modifié lors de la création du fichier. Cependant, il s'agit d'un algorithme "avec perte", ce qui signifie qu'il supprime certaines données - il n'est pas possible de revenir d'un fichier JPEG compressé aux données d'origine.

Cette perte de données se fait au détriment de la qualité de l'image. La compression est conçue pour créer un impact minimal sur l'image globale, mais peut être perceptible à des niveaux de compression élevés.

Les artefacts JPEG ressemblent le plus souvent à des sections de couleur en blocs. Ils peuvent être vus là où il y a un changement de couleur gradué subtil dans un grand lavage de couleur - par exemple dans un ciel bleu ou une scène brumeuse. Les artefacts ressemblent à des contours irréguliers d'une couleur spécifique plutôt qu'à un mélange lisse.

Avec des scènes plus fortement compressées, des artefacts peuvent également être vus autour des frontières des sujets - par exemple les branches d'un arbre contre un ciel clair. Ceux-ci ressemblent à des blocs tachés entourant le sujet.

La meilleure approche pour réduire les artefacts est:

  1. Gardez toujours l'image d'origine - ne sauvegardez pas un JPEG compressé, puis rouvrez-le plus tard et ré-enregistrez. Pour un exemple extrême de cela, voir Generation Loss , une vidéo montrant une image recompressée 600 fois.
  2. Enregistrez la meilleure qualité possible, compte tenu des restrictions de taille de fichier.
  3. Évitez d'utiliser des services qui recompressent sévèrement vos images - si nécessaire, hébergez-les ailleurs et liez-les directement.

Pour plus d'informations, voir http://photo.net/learn/jpeg/

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.