Was sind JPEG-Artefakte und was kann man dagegen tun?

Ich weiß, dass JPEG ein "verlustbehafteter" Komprimierungsalgorithmus ist, der Informationen verwirft, um Platz zu sparen. Was ist die visuelle Wirkung davon? Ich habe von "JPEG-Artefakten" gehört. Wie sehen diese aus?

Gibt es Situationen, in denen die gleiche Komprimierungsstufe mehr Artefakte erzeugt und schlechter aussieht? Spielt der Inhalt des Bildes überhaupt eine Rolle? Womit kommt der Algorithmus gut zurecht und womit hat er Probleme?

Angenommen, JPEG ist eine Anforderung, gibt es eine Möglichkeit, Artefakte zu reduzieren? Wenn ich auf einen Webdienst hochlade, der seine eigene Komprimierung außerhalb meiner Kontrolle anwendet, kann ich im Voraus irgendetwas an dem Bild tun, damit es dies besser überlebt?

Einige Antworten auf Teile dieser Frage gibt es hier: photo.stackexchange.com/questions/5317/…
Danke @dpollit. Ich habe das wegen der britischen Schreibweise und fehlenden Tags nicht gesehen. Außerdem geht es sehr speziell um niedrige Auflösung und geringe Dateigröße.
Ich würde gerne einige Beispiele auf Pixelebene (oder größer) in Antworten sehen.
Ich möchte Sie auf meine Antwort zum zuvor verlinkten Thema @dpollit verweisen, insbesondere auf die von ihr verlinkte Website , die eine ganze Menge Beispielbilder von allen wichtigen "Qualitätsstufen" mit Details auf Pixelebene für eine Vielzahl von Typen enthält von Bildern.
Als ich ein Bild des Mondes aufgenommen und die Datei in JPEG exportiert habe, ist mir aufgefallen, dass die Datei relativ klein ist, da ein großer Teil des Bildes schwarz ist und für den Mond belichtet wird. Die Komprimierung scheint in diesem Fall am besten zu funktionieren, da sie in der Lage ist, alle anderen schwarzen redundanten Informationen effektiv durchzugehen und sich um den Mond zu kümmern.
@mattdm Ich möchte nur darauf hinweisen, dass "was der Algorithmus gut handhabt und womit hat er Probleme?" gilt nicht für jede .jpeg-Datei. Verschiedene Kameras und Software (z. B. Konvertieren eines RAW in .jpeg) handhaben es unterschiedlich, weshalb verschiedene Kameras unterschiedliche Ergebnisse liefern. Sie erhalten also möglicherweise keine endgültige Antwort.
@BBking - Ich würde gerne eine Antwort sehen, die darauf näher eingeht, mit Referenzen.
+1 Weil ich es auch gerne wissen möchte. Es ist nur so, ich denke, es ist schwer zu wissen, was genau die Kamera ohne den Quellcode macht, daher keine Referenzen. Aber hoffentlich kann jemand gut genug antworten.
@BBking: Hier spreche ich jedoch nicht von der RAW → JPEG-Konvertierung als Ganzes, sondern nur von den durch die Komprimierung eingeführten Artefakten. Da diese Komprimierung Standard ist, gibt es hier meiner Meinung nach nicht viel Spielraum für Variationen. (Außer bei Verwendung von ISLOW, IFAST, oder FLOATzur Quantisierung.)
Sicher. Der einzige Grund, warum ich RAW angesprochen habe, war, dass Sie mit einem Computerprogramm möglicherweise den Prozess rückwärts entwickeln können. Auch in Bezug auf Webdienste, die Bilder komprimieren, handelt es sich eher um eine Größenänderungskomprimierung. Sobald es beispielsweise eine Größe von 500 x 750 Pixel hat, besteht keine Notwendigkeit, es auf ein verlustbehafteteres Bild zu komprimieren, um ein paar KB zu sparen. Trotzdem eine berechtigte Frage. :-)
@mattdm Entschuldigung, ich habe vergessen zu fragen. Gibt es einen bestimmten Webservice/eine bestimmte Website, an die Sie gedacht haben, oder nur allgemein?
@BBking - nein. Das ist eine Art Zusatz zu der Grundfrage, weil ich Antworten wollte, die viele Bereiche abdecken.

Antworten (6)

Ein Beispiel

Verwenden Sie das aktuelle Foto der Woche. Dies ist das hochwertige JPEG:

gimp Q=99

in Gimp mit JPEG-Qualität 80 (niedrig) neu gespeichert; Bitte beachten Sie den generellen Schärfeverlust, "Punkte" um kontrastreiche Kanten, Detailverlust in kontrastarmen Bereichen:

Gimpe Q=80

und erneut in GIMP mit JPEG-Qualität 30 (sehr niedrig) gespeichert; Bitte beachten Sie die offensichtlichen 8x8-Blöcke und den starken Verlust an Schärfe und Farbdetails:

Gimpe Q=30

Drei Arten von Verzerrungen

JPEG neigt dazu, zwei drei Arten von Verzerrungen einzuführen:

  • allgemeiner Schärfeverlust und Oszillationen um kontrastreiche Kanten: Diese sind auf die Annäherung von Intensitätsübergängen mit glatten Funktionen (Cosinus) zurückzuführen; Sie sehen sie als kleine "Punkte" oder "Halos" an den Rändern; sie sind besonders gut in den Textbildern von Handzeichnungen zu sehen.
  • Blockstruktur: Bild wird für jeden 8x8-Block (oder größer bei Chroma-Downsampling) separat verarbeitet, Blockränder werden bei hohen Komprimierungsverhältnissen sichtbar.
  • Verlust von Farbdetails: Abhängig von den Speicherparametern kann das Programm Chromatizitätskanäle aggressiv "heruntersampeln" (Auflösung reduzieren); es ist selten ein Thema für die Naturfotografie.

Sichtbare Blockstruktur und Lichthöfe um Kanten werden normalerweise als JPEG-Artefakte bezeichnet. Lassen Sie uns unser Beispiel vergrößern, um sie besser zu sehen. Von links nach rechts ein Ausschnitt aus den Originalbildern JPEG Q80 und JPEG Q30. Ich habe Artefakte grün markiert (Kreise für Lichthöfe und Punkte für 8x8-Blöcke):

Drei-Wege-Vergleich

Wie bei jedem Informationsverlust können Sie ihn nicht wirklich wiederherstellen. Das Schärfen kann helfen, den verlorenen Kantenkontrast wiederherzustellen, macht aber "Halos" deutlicher; Rauschunterdrückung kann helfen, "Halos" zu entfernen, verringert aber die Schärfe noch weiter. Wenn eine Blockstruktur sichtbar ist, ist es wahrscheinlich zu spät. Behalten Sie einfach die hochauflösenden Originalbilder in hoher Qualität und überschreiben Sie sie nicht.

Hosting-Strategien

Wenn Sie die JPEG-Komprimierungsparameter steuern und die Bildqualität maximieren möchten:

  • Halten Sie das Komprimierungsverhältnis so niedrig wie möglich (verwenden Sie hochwertige Einstellungen)
  • Erwägen Sie das Downsampling von Chromatizitätskanälen (es kann bei einigen Bildern fast unbemerkt sein und ermöglicht bei gleicher Dateigrößenbeschränkung ein niedrigeres Komprimierungsverhältnis im Helligkeitskanal).
  • erwägen Sie die Verwendung einer diskreten Kosinustransformation mit Gleitkomma (dies kann die Genauigkeit der Transformation erhöhen, aber das Speichern der Datei dauert länger)
  • Erwägen Sie die Verwendung einer niedrigeren Auflösung anstelle eines höheren Komprimierungsverhältnisses (bei gleicher Begrenzung der Dateigröße).

Wenn Sie auf einen Drittanbieterdienst hochladen und die Komprimierungsparameter nicht steuern, können Sie nicht viel dagegen tun:

  • Wählen Sie einen Dienst, von dem bekannt ist, dass er hochwertiges JPEG (Flickr, SmugMug, 23hq, 500px) gegenüber Diensten bevorzugt, die bekanntermaßen zu stark komprimieren, um Datenverkehr zu sparen (Picasa, Imgur, Dropbox); normalerweise bekommen Sie, wofür Sie bezahlen.
  • Versuchen Sie, die Größe der Fotos selbst zu ändern und die richtige Größe hochzuladen (einige Dienste komprimieren sie trotzdem neu, andere stellen Ihre Datei möglicherweise so bereit, wie sie hochgeladen wurde).

JPEG verwendet tatsächlich zwei Arten der Komprimierung, eine verlustbehaftete und eine verlustfreie. Die verlustfreie Komprimierung verursacht keine Artefakte, daher können wir diesen Teil ignorieren. Die besondere Art der verlustbehafteten Komprimierung in JPEG, die als diskrete Kosinustransformation für die mathematischen Knurds bezeichnet wird, ermöglicht einen Kompromiss zwischen Komprimierungsverhältnis und Wiedergabetreue. Die meiste Software stellt dies als einen „Qualitäts“-Wert dar, normalerweise auf der Skala von 0-100, wobei 100 effektiv kein oder sehr geringer Verlust ist und die Dinge von dort aus nach unten gehen.

Dieser spezielle Komprimierungsalgorithmus wurde übernommen, weil er gut darin ist, die Art von Dingen auszublenden, die das menschliche visuelle System nicht so stark wahrnimmt wie andere Szenenkomponenten. Dies ist zum Teil der Grund, warum ziemlich anständig aussehende Bilder beeindruckend hohe Komprimierungsraten aufweisen können. Aus diesem Grund funktioniert es auch gut bei echten Halbtonfotografien und nicht so gut bei synthetischen Bildern und Strichzeichnungen.

Hier ist ein 200 x 300-Bereich eines größeren Fotos, bei dem die Pixel 2x repliziert wurden, um sie besser sehen zu können. Diese verwendete JPEG-Komprimierung "Qualität" 100:

Qualität 80, 79 % Reduzierung der Dateigröße:

Qualität 60, 86% Reduktion:

Qualität 40, 90% Reduktion:

Die Reduzierung der Dateigröße basierte auf JPEG-Komprimierungen der gesamten Datei, sodass Header-Strukturen und anderer fester Overhead nur einen kleinen Teil der Daten ausmachten.

Beachten Sie, dass Sie im zweiten Bild nach Artefakten suchen müssen, obwohl fast 4/5 der ursprünglichen Informationen weggeworfen wurden. JPEG-Komprimierungsartefakte sind normalerweise am deutlichsten an scharfen Kanten und in sich langsam ändernden flachen Bereichen. Da Strichzeichnungen alle aus scharfen Kanten bestehen, ist die JPEG-Komprimierung dafür nicht geeignet.

Sie können sehen, dass die Komprimierungsartefakte bei höheren Komprimierungsverhältnissen zunehmend schlimmer werden. Denken Sie jedoch daran, dass das untere Bild eine erstaunliche Menge der visuellen Informationen enthält, da 9/10 seiner Rohinformationen gelöscht wurden.

Die Arten von Artefakten, die für die verlustbehaftete JPEG-Komprimierung charakteristisch sind, sind "Blockbildung" in sich langsam ändernden flachen Bereichen und "Schmutz", der kontrastreiche Kanten umgibt. Siehe zum Beispiel den Bereich unten rechts im Bild oben. Das enthält einen unscharfen Hintergrund, sodass sich die Werte langsam ändern. Die Blockade ist ziemlich offensichtlich. Beispiele für den "Schmutz" finden Sie um das linke Horn der Ziege herum. Diese beiden Arten von Artefakten sind normalerweise ein starker Hinweis darauf, dass die JPEG-Komprimierung beteiligt war. Suchen Sie auch in den anderen Bildern oben nach diesen, um ein Gefühl dafür zu bekommen, wie sie aussehen, wenn sie gerade erst erscheinen, und welche Art von Komprimierungsverhältnis Sie unter verschiedenen Umständen tolerieren können.

Sichtbarer Verlust kommt nicht von DCT selbst, sondern von der Quantisierung von DCT-Koeffizienten nach der Transformation.

Die JPG-Komprimierung erfolgt in Pixelblöcken. In einem stark komprimierten JPG-Bild sind die Ränder dieser Blöcke zu sehen: Im Originalbild waren zwei Pixel in Helligkeit und Farbe möglicherweise sehr nahe beieinander, aber wenn sie sich in verschiedenen Blöcken befinden, dann nach der Komprimierung und Dekomprimierung (beim Betrachten). Ihre Werte können sich vom Original unterscheiden, sodass Sie diese allmähliche Überblendung verlieren und diese "Blockbildung" sehen.

Geben Sie hier die Bildbeschreibung ein

Hier ist ein typisches Beispiel in einem Himmel - JPG in 0-Qualität gespeichert.

Wenn Sie auf eine Website hochgeladen werden, die JPG-Komprimierung verwendet, erzielen Sie möglicherweise bessere Ergebnisse, wenn Sie zwei Dinge tun (Sie müssen mit der Website experimentieren, um zu sehen, was funktioniert):

  • Ändern Sie die Größe Ihres Bildes so, dass es innerhalb der von der Website zulässigen maximalen Höhe/Breite liegt, sodass die Website die Größe Ihrer Bilder nicht für Sie ändert

  • Führen Sie Ihre eigene Komprimierung durch, um eine kleinere Dateigröße mit guter Qualität zu erhalten. Je nachdem, wie die Website funktioniert, wird das Bild, wenn es bereits klein genug ist, möglicherweise nicht weiter komprimiert, oder selbst wenn dies der Fall ist, hat es möglicherweise einen geringeren Effekt.

Was das Entfernen von JPG-Artefakten aus einem Bild betrifft, können JPG-Artefakte ähnlich wie normales Sensorrauschen aussehen. Software zur Rauschunterdrückung wird einige kleinere JPG-Artefakte einigermaßen erfolgreich entfernen, jedoch mit Detailverlust.

Rauschen wie JPG-Artefakte

Hier ist ein Beispiel mit einer JPG-Qualität von 50 %, mit Blockigkeit, aber auch dunkleren und helleren Pixeln, die einem Rauschen ähneln.

Topaz Labs hat ein Produkt namens DeJpeg , das speziell auf JPG-Artefakte wirkt. Es macht einen guten Job, ohne zu viel Detailverlust. Das Plugin kann auch einige Schärfungen und allgemeine Rauschunterdrückung durchführen. Das Plugin ist mit Photoshop CS, Photoshop Elements und Paint Shop Pro kompatibel. Ich glaube nicht, dass es mit Lightroom oder Aperture funktioniert.

Können Sie ein Beispiel für ein JPEG-Artefakt geben, das dem Sensorrauschen ähnelt?
Habe einen dunklen Himmel hinzugefügt, der mit 50% JPG-Qualität gespeichert wurde.

Für Websites, die Dateien komprimieren, bis sie eine bestimmte Zieldateigröße erreichen, gibt es eine Möglichkeit, die Bildqualität unter bestimmten Umständen zu verbessern.

JPEG funktioniert durch Konvertieren des Bildes in eine [Reihe von] Frequenzraumdarstellungen (wobei X und Y horizontale und vertikale Frequenzen darstellen und „Helligkeit“ die Amplitude der Frequenz darstellt). Frequenzen unterhalb einer bestimmten Amplitude werden ignoriert, wodurch die gespeicherte Datenmenge reduziert und eine Komprimierung erreicht wird.

Rauschen hat ein breites Frequenzspektrum, das JPEG nicht komprimieren kann. Aus diesem Grund können Sie zwei Bilder haben, dieselbe Komprimierungsstufe anwenden und nach der JPEG-Komprimierung zwei unterschiedliche Dateigrößen erhalten.

Wenn Sie Ihr Bild aufnehmen und die unwichtigen Hintergrundbereiche absichtlich unkenntlich machen, reduzieren Sie die Gesamtmenge an Informationen und erzielen eine viel höhere Komprimierung dieser Bereiche, sodass Ihnen mehr Kilobyte zur Codierung der Bereiche zur Verfügung stehen, in denen Details wichtig sind. Das funktioniert besonders gut bei Bildern, bei denen der Hintergrund bereits unscharf ist.

Hier ist ein Beispiel für ein vergrößertes JPEG:

Geben Sie hier die Bildbeschreibung ein

Bild von Wikipedia-Benutzer FelixH. Dieses Bild ist unter der Creative Commons Attribution-Share Alike 3.0 Unported-Lizenz lizenziert.

In diesem Bild sieht man deutlich die sogenannten "Artefakte" im blauen Bereich. Beachten Sie, wie das Bild in Blöcke aufgeteilt zu sein scheint und die Blockgrenzen nicht übereinstimmen.

Es gibt eine Reihe von Dingen, die getan werden können, um dieses Problem zu vermeiden oder zu verringern:

  • Das offensichtlichste: Verwenden Sie kein JPEG. Möglicherweise möchten Sie mit Ihren Bildern in einem verlustfreien Komprimierungsformat wie RAW, PNG oder verlustfreiem TIFF arbeiten. Sie können nur im letzten Schritt auf JPEG herunterstufen, wenn Sie das Bild ins Internet, per E-Mail usw. hochladen möchten.

  • Das JPEG-Format ermöglicht die Konfiguration der Komprimierungsstufe. Sie können weniger Artefakte erhalten, wenn Sie möchten, aber die Datei wird größer.

  • Vermeiden Sie es, ein JPEG immer wieder neu zu speichern, da jede Generation die Qualität noch mehr verschlechtert.

Sogar RAW und PNG können aufgrund der Pixelquantisierung Artefakte erhalten. Solange Sie keine Werte ändern, ist das nur ein einmaliger Effekt und es entstehen keine weiteren Verluste durch die Digitalisierung. Wenn Sie jedoch die Werte in einem beliebigen Schritt ändern, z. B. eine Szene abdunkeln oder aufhellen oder mit anderen Werten mischen usw., können die Wertverschiebungen beim nächsten Speichern (auch ohne Komprimierung) aufgrund der Quantisierung zu neuen Artefakten führen (wohl eine Form der Komprimierung), um das neu berechnete Bild zu speichern. Um diese Effekte zu minimieren, verwenden Sie bei jedem Schritt die größtmögliche Anzahl von Bits und behalten Sie Ihren gesamten Workflow bei.
@Skaperen: Sie verwechseln hier zwei verschiedene Dinge. Bei dieser Frage geht es um Detailverlust aufgrund der JPEG-Komprimierung. Was Sie beschreiben, ist ein Detailverlust, der durch bestimmte Bildverarbeitungsalgorithmen verursacht wird. Was Sie beschreiben, ist richtig, hat aber überhaupt nichts mit Bildformaten zu tun. Daher ist es falsch zu sagen, dass RAW und PNG mit Pixelquantisierung verbunden sind. Diese Dateiformate verursachen keinen Qualitätsverlust.
Dieses Bild zeigt übrigens auch ein anderes Problem: Es zeigt einen Heiligenschein von einer unscharfen Maske.

Artefakte sind die unerwünschten Nebeneffekte der Bildverarbeitung. In diesem Fall resultieren sie aus der Komprimierung der Daten durch den JPEG-Algorithmus.

Im Allgemeinen möchten die Menschen Fotos digital speichern können, ohne zu viel Speicherplatz zu verbrauchen. Daher werden die meisten Fotos im JPEG-Format gespeichert. Dies ist ein Format, das die Daten, aus denen das Bild besteht, so komprimiert, dass versucht wird, so viele Details wie möglich zu erhalten. Die Komprimierungsstufe kann beim Erstellen der Datei geändert werden. Es handelt sich jedoch um einen "verlustbehafteten" Algorithmus, was bedeutet, dass einige Daten verworfen werden - es ist nicht möglich, von einer komprimierten JPEG-Datei zu den Originaldaten zurückzukehren.

Dieser Datenverlust geht zu Lasten der Bildqualität. Die Komprimierung ist so konzipiert, dass sie das Gesamtbild nur minimal beeinflusst, kann sich aber bei hohen Komprimierungsstufen bemerkbar machen.

JPEG-Artefakte sehen am häufigsten wie blockige Farbabschnitte aus. Sie können dort gesehen werden, wo es eine subtile abgestufte Farbänderung in einer großen Farbflut gibt – z. B. bei einem blauen Himmel oder einer nebligen Szene. Die Artefakte sehen eher wie gezackte Umrisse einer bestimmten Farbe als wie eine glatte Mischung aus.

Bei stärker komprimierten Szenen sind auch Artefakte an den Motivrändern zu sehen – zB die Äste eines Baumes vor hellem Himmel. Diese sehen aus wie fleckige Blöcke, die das Motiv umgeben.

Der beste Ansatz zur Reduzierung von Artefakten ist:

  1. Behalten Sie immer das Originalbild bei - speichern Sie kein komprimiertes JPEG, öffnen Sie es später erneut und speichern Sie es erneut. Ein extremes Beispiel dafür finden Sie in Generation Loss , einem Video, das ein 600-mal neu komprimiertes Bild zeigt.
  2. Speichern Sie unter Berücksichtigung etwaiger Dateigrößenbeschränkungen in möglichst hoher Qualität.
  3. Vermeiden Sie die Verwendung von Diensten, die Ihre Bilder stark neu komprimieren - hosten Sie sie gegebenenfalls woanders und verlinken Sie sie direkt.

Weitere Informationen finden Sie unter http://photo.net/learn/jpeg/