Verringert das einfache Öffnen und Schließen einer JPEG-Datei die Bildqualität?


24

Ich habe einige Fotografiekurse gehabt, viele Fotobücher gelesen und viele Foren gescreent. Und ich kann keine einheitliche Antwort auf diese Frage finden. Ein "Camp" gibt an, dass bei jedem Öffnen und Schließen einer JPEG-Datei (aufgrund der Komprimierung) die Bildqualität abnimmt. Anderen Camps zufolge geht die Bildqualität nur dann verloren, wenn Sie das Foto tatsächlich BEARBEITEN und dann erneut speichern.

Macht es einen Unterschied, wenn:

  • Ich öffne das Bild in einem Standard-Bildbetrachter und schließe einfach das Bild?
  • Ich öffne das Bild in Photoshop Elements Editor und schließe es dort?
  • Wenn ich einfach schließe und das Bild versus erneut speichere?

Kann jemand eine einfache Antwort geben, wann das Schließen oder Speichern einer JPEG-Datei zu einer Verschlechterung der Bildqualität führt und wann nicht?


1
Wenn Sie ein JPEG öffnen, wird es nicht "dekomprimiert", und wenn Sie es schließen, wird es nicht "erneut komprimiert" und es kommt zu einem Qualitätsverlust. Die Komprimierung (und "Beschädigung") erfolgt, wenn das JPEG ursprünglich generiert wurde, nicht, wenn es geöffnet wurde.
ElendilTheTall

11
@ElendilTheTall: Wenn Sie ein JPEG-Bild öffnen, wird es auf jeden Fall dekomprimiert, zumindest wenn Sie damit meinen, dass es tatsächlich angezeigt wird und nicht als Dateisystem.
Michael Borgwardt

Antworten:


55

Dies beruht auf einem Missverständnis. Ein Qualitätsverlust tritt nur während der Komprimierung auf, die ausgeführt wird, wenn ein Bild als JPEG gespeichert wird. Es ist aber egal, ob es bearbeitet wurde oder nicht.

Also: Sie werden (mit einigen sehr spezifischen Ausnahmen, siehe Kommentare) an Qualität verlieren, wenn Sie ein Bild in einem Bildeditor öffnen und erneut speichern, auch wenn Sie keine Änderungen vorgenommen haben. Wenn Sie es jedoch nur öffnen, um es anzuzeigen, und dann schließen, anstatt es zu speichern, ändert sich nichts.

Übrigens: Dies gilt nur für herkömmliche Bildbearbeitungsprogramme wie Photoshop. Programme wie Lightroom, die RAW-Dateien "entwickeln", verfolgen einen anderen Ansatz (auch beim Umgang mit JPEG-Dateien): Sie behalten immer das Originalbild bei und speichern die durchgeführten Bearbeitungsschritte, die beim Export der Endergebnisse angewendet werden, separat. Bei solchen Programmen müssen Sie sich also keine Gedanken über Qualitätsverluste machen (also mehrmals). Aber dann sollten Sie sowieso keine JPEG-Quelldateien für sie verwenden.


4
"Sie werden an Qualität verlieren ... auch wenn Sie keine Änderungen vorgenommen haben." Das kommt auf die Anwendung an. Eine Anwendung weiß möglicherweise, dass keine Änderungen vorgenommen wurden, und schreibt das ursprüngliche komprimierte Schema ohne zusätzlichen Qualitätsverlust gegenüber dem ursprünglichen JPEG neu.
DocMax

9
@LightnessRacesinOrbit: Da liegst du sicher falsch. Durch die Transformation der Daten vom Frequenzbereich in den ursprünglichen Bereich und zurück können jedes Mal zusätzliche Fehler aufgrund der Quantisierung auftreten. Vielleicht wird es irgendwann zu einem stabilen Zustand konvergieren, aber ich bezweifle es.
Michael Borgwardt

2
Hier: photo.stackexchange.com/a/34192 konvergierte in meinen Beispielen in 8 oder 9 Zyklen.
Mattdm

1
@DocMax: Dies erfordert entweder, dass 1) die App den komprimierten Stream im Speicher speichert (oder erneut liest), oder dass 2) die JPEG-Datei tatsächlich nicht neu geschrieben wird und sie intakt bleibt (einschließlich Zeitstempel, falls vorhanden). Sehr unwahrscheinliche Szenarien
Leonbloy

1
Ich bin damit einverstanden, dass es selten vorkommt, dass eine Anwendung den komprimierten Stream so beibehält und neu schreibt, wie er ist. Ich habe es einmal gesehen, aber das war vor vielen Jahren, als die Erinnerung kostbarer war als heute. Mein Punkt war nur , dass „ wird Qualität verlieren“ bedeutet , dass Qualitätsverlust nicht gar vermieden werden kann; Ich hätte kein Problem mit "wird mit ziemlicher Sicherheit an Qualität verlieren".
DocMax

23

Absolut nicht. Sie müssen die Datei bearbeiten und erneut als JPEG speichern, um die Auswirkungen der Bildkomprimierung zu verstärken. Nur das Anschauen hat überhaupt keine Auswirkung - wenn dies der Fall wäre, würden sich alle JPEGs im Web innerhalb von ein oder zwei Tagen vollständig "abnutzen".


Zu Ihrer Information - hier ist ein Beispiel für die Art von Anleitung, die ich verwirrend finde (dies stammt von einer Fotoblog-Website): "Was ist der Nachteil beim Aufnehmen von .JPEG? Es verfügt über ein Komprimierungsschema, das bei jedem Öffnen und Speichern der Datei zu einer Bildverschlechterung führt. Die Verschlechterung ist gering. Sie würden es wahrscheinlich zuerst nicht bemerken. Aber Sie würden es mit der Zeit sehen. "
Markthomas

14
@markthomas: das entscheidende wort ist gerettet - sparen ist eine ganz andere sache als schließen.
Michael Borgwardt

2
+1 für "Abnutzung" ... Google muss alle paar Sekunden neue Schichten "Farbe" auf die Suchergebnisseite auftragen!
hjk

@MichaelBorgwardt In der Tat, aber es könnte als "jedes Mal, wenn die Datei geöffnet wird, und jedes Mal, wenn die Datei gespeichert wird" missverstanden werden. Zugegeben, Sie würden viel mehr Schaden nehmen, wenn Sie sparen würden, ohne vorher zu öffnen, aber ich denke immer noch nicht, dass das Öffnen hätte erwähnt werden sollen.
Fax

7

JPEG-Komprimierung kann als zwei verschiedene Phasen aufweisend beschrieben werden: zuerst eine verlustbehaftete Phase, dann eine verlustfreie Phase. Für diese Frage ist es wichtig, den Unterschied zwischen ihnen zu verstehen. Dies ist nicht so sehr, weil es hilft, zu verstehen, was vor sich geht, sondern weil es hilft, zu verstehen, wo die häufigsten Fehler herkommen.

Verlustbehaftete Komprimierung tritt nur auf, wenn die Datei gespeichert wird . Dies ist der Teil, der zu Qualitätsverlusten führt. Das Schließen der Datei reicht jedoch nicht aus, um eine verlustbehaftete Komprimierung auszulösen: Sie müssen sie speichern . Einige Editoren lehnen es möglicherweise ab, nicht bearbeitete JPEG-Dateien zu speichern, um zu vermeiden, dass versehentlich eine verlustfreie Komprimierung ausgelöst wird. Ich weiß jedoch nicht, ob dies tatsächlich von einem Editor durchgeführt wird oder nicht.

Verlustfreie Komprimierung tritt auch nur dann auf, wenn die Datei gespeichert wird . Der Hauptunterschied besteht darin, dass selbst wenn die Datei ohne Speichern geschlossen wurde, dies keine Rolle spielt, da sie verlustfrei ist. JPEG verwendet beide Techniken zusammen.

Die verlustfreie Dekomprimierung erfolgt immer dann, wenn die Datei geöffnet wird, jedoch nicht zu einem anderen Zeitpunkt . Nicht, wenn es geschlossen ist und nicht einmal, wenn es gespeichert ist. Wie bei der verlustfreien Dekomprimierung spielt es auch in diesen Zeiten keine Rolle, da sie verlustfrei ist.

"Verlustbehaftete Dekompression" kommt nie vor. So etwas gibt es nicht . Dies kann nicht der Fall sein, da die Daten, die während der verlustbehafteten Komprimierungsphase gelöscht wurden, nicht mehr vorhanden sind. Wenn Sie es irgendwie rekonstruieren könnten, hätten Sie einen verlustfreien Komprimierungsalgorithmus, keinen verlustbehafteten. Ich erwähne das Konzept nur, weil es, nachdem ich zwei Arten der Komprimierung erwähnt habe, seltsam wäre, wenn ich nur eine Art der Dekomprimierung erwähne, ohne zu erklären, warum.

Beachten Sie, dass das Speichern der Datei beide Komprimierungsarten auslöst . Daran führt nicht viel vorbei, es sei denn, Sie wissen, dass das Bild nicht bearbeitet wurde, aber es hat auch keinen Sinn, es zu speichern. Beachten Sie auch, dass das Schließen der Datei ohne Speichern keine der beiden Phasen auslöst , auch nicht die "sichere" verlustfreie Komprimierung. Aus diesem Grund kann das Öffnen und Schließen der Datei die Bildqualität nicht beeinträchtigen .


Zu "kein Grund zum Speichern" Ich habe mir Gedanken darüber gemacht, was ein Programm tun würde, wenn ich nur die Metadaten (Kommentar, Notizen) bearbeite, wenn die Benutzeroberfläche geöffnet, bearbeitet und gespeichert ist und es keinen besonderen Hinweis darauf gibt, dass die Bilddaten kopiert werden aber nicht neu komprimiert.
JDługosz

"Verlustbehaftete Dekompression" als Konzept macht durchaus Sinn, obwohl mir nichts bewusst ist, was dies umsetzt. Die komprimierte Datei enthält eine bestimmte Datenmenge. Man könnte sich einen Dekomprimierungsalgorithmus vorstellen, der nur eine Version dieser Daten mit niedriger Auflösung extrahiert. Dies kann viel schneller sein als das Extrahieren aller verfügbaren Daten, und mit einem solchen Algorithmus kann beispielsweise eine Vorschau erstellt werden. (JPEG komprimiert beispielsweise ein Bild als eine Sequenz von 8 x 8 Blöcken. Sie können die durchschnittliche Farbe jedes Blocks extrahieren und diese als ein einzelnes Pixel für eine Vorschau in
1/8

@jdlugosz Programme, die im Allgemeinen nur Metadaten aktualisieren, dekomprimieren den Bildteil der JPG nicht bzw. komprimieren ihn nicht erneut. Sie kopieren diesen Teil einfach so, wie er in der neuen Datei ist. Das JPG-Dateiformat ist so aufgebaut, dass es tatsächlich einfacher und mit weniger Aufwand möglich ist, es so zu machen, wenn Sie nur die Metadaten aktualisieren müssen. Aber es hängt alles von der Software ab. Wenn das dumm ist, wie es Dinge tut, gibt es keinen Weg daran vorbei (abgesehen von der Verwendung anderer Software).
Tonny

@DavidRicherby Es gibt eine Menge Software, die die Dekomprimierungs-Engine für Vorschauen und dergleichen verwendet. Die meisten webbasierten Fotoalben erzeugen auf diese Weise Miniaturansichten und senden eine niedrig aufgelöste Version an einen Browser mit einer kleinen Anzeige. Unter MacOSX erledigen dies die Miniaturansichten im Finder und in iPhoto. Ich vermute, dass Miniaturansichten in Explorer unter Windows dies ebenfalls tun, bin mir jedoch nicht sicher.
Tonny

Tatsächlich kann AIUI, sowohl die JPEG-Komprimierung als auch die Dekomprimierung, (etwas) verlustreich sein. Das heißt, Sie können das Originalbild nicht exakt aus den komprimierten Daten rekonstruieren, und Sie können die komprimierten Daten nicht (immer) exakt aus dem dekomprimierten Bild rekonstruieren. Meistens, AFAIK, kann dies auf Übersteuerungen zurückzuführen sein: Wenn die komprimierten YUV-DCT-Koeffizienten auf 8-Bit-RGB-Pixelfarben abgebildet werden, erhalten einige Pixel möglicherweise Farbwerte von weniger als 0 oder mehr als 255, die übersteuert werden.
Ilmari Karonen

4

Das Öffnen und Schließen einer JPEG-Datei sollte keinen Speicherbefehl auslösen (in keinem mir bekannten Programm), und daher findet keine erneute Komprimierung statt.

In den Zeiten, in denen Sie tatsächlich auf "Speichern" klicken, hängt das, was passiert, davon ab, welche Änderungen Sie vorgenommen haben und wie intelligent das betreffende Image-Programm ist.

Der Benutzer CutNGlass hat bereits ein Beispiel für ein intelligentes Bildprogramm, "Better JPEG", erwähnt, das die Tatsache ausnutzt, dass JPEG-Bilder aus vielen unabhängig codierten rechteckigen Pixelblöcken bestehen und nur Blöcke, die wirklich neu codiert werden müssen -komprimiert beim Speichern des Bildes. Mit einem solchen Programm können Sie beispielsweise rote Augen entfernen, und wenn das JPEG-Bild gespeichert wird, werden nur die von der Änderung betroffenen Blöcke erneut komprimiert. http://www.betterjpeg.com/features.htm

Nun, diese Technik, um zu vermeiden, dass ein Teil eines JPEG-Bildes erneut komprimiert werden muss, der nicht erneut komprimiert werden muss, ist wirklich eine "alte Neuigkeit" (ich bin kein Experte und ich kenne sie seit über einem Jahrzehnt). Ich nehme also an, dass ich es als etwas Selbstverständliches angesehen habe, dass alle guten Bildbearbeitungsprogramme dies jetzt perfekt handhaben (was bedeuten würde, dass es normalerweise keine erneute Komprimierung geben würde, wenn man nur ein JPEG-Bild öffnet und auf "Speichern" drückt). weil das Programm wissen würde, dass es keine Änderung an irgendwelchen Blöcken gegeben hat, und sie einfach unangetastet lassen würde), aber wenn ich mir diese Frage und ihre unterschiedlichen Antworten anschaue, kann ich nur feststellen, dass dies NOCH nicht wahr ist! * Vielleicht ist die Programmierung hinter solchen Lösungen komplizierter als ich glaube - sonst hätten alle JPEG-Handling-Programme dies vor Jahren gehabt! *


Hallo neuer User. Vielen Dank für Ihren Beitrag, die Aufnahme eines Links zu betterjpeg ist eine nützliche Ergänzung. Aus Entwicklersicht handelt es sich um eine Situation, die wir als Extremfall bezeichnen würden. Nützlich ist, dass der Benutzer eine Teilbearbeitung vornimmt UND exakt identische Einstellungen für die Qualitätsausgabe wünscht, UND dass die Quelldatei eine der wenigen JPEG-Codierungsoptionen ist . Für die Menge der Arbeit gibt es nicht genug Nutzen.
James Snell

Hallo @JamesSnell! Zunächst einmal freue ich mich sehr über Ihr Feedback und gebe mir eine Erklärung, warum alle Bildbearbeitungsprogramme nicht alles tun, um eine Verschlechterung von JPEGs zu vermeiden, wann immer dies möglich ist. Ich muss jedoch sagen, dass es ziemlich subjektiv ist, wenn das Einspielen dieses Programmieraufwands zu aufwendig ist und der Anwendungsfall "extreme Randfälle" darstellt oder nicht! Dies hängt davon ab, wie viele Bildformate das Programm verarbeitet und wie häufig JPEG verwendet wird. Außerdem hängt es davon ab, wie anal Sie nicht wollen, dass Sie etwas verlieren, das Sie nicht verlieren müssen (in diesem Fall unnötiger Verlust der Bildqualität). .
Carl

Außerdem würde ich sagen, dass JPEG das meistverwendete Bildformat der Welt ist und dies an und für sich zu etwas anderem als einem "extremen Randfall" macht (zumindest das Wort "extrem" sollte entfernt werden ). Wenn Sie auch die Tatsache berücksichtigen, dass diese Blockhandhabungstechnik, wenn sie in einem Bildprogramm implementiert ist, für eine Vielzahl von unterschiedlichen Situationen verwendet werden kann (partielle Bearbeitungen, wie Entfernen roter Augen, Drehen / Spiegeln des Bildes, Zuschneiden) weist auch auf etwas anderes als einen "Extremfall" hin. Es ist möglicherweise nicht die am MEISTEN angeforderte Funktion, aber gleichzeitig bin ich sicher, dass es geschätzt würde!
Carl

1
Carl, ich würde @JamesSnell zustimmen, dass dies ein Randfall ist - und ich habe an einem beliebten Bildeditor gearbeitet, sodass ich hier einige Erfahrungen habe. Wenn Sie eine Datei öffnen, wird sie zur Bearbeitung in eine nicht komprimierte Version im Speicher kopiert und das Original wird sofort verworfen . Dies spart Speicher und gibt Ihnen die Flexibilität, jedes Dateiformat als Quelle zu verwenden. Ich habe Software gesehen, die ein verlustfreies Spiegeln oder Drehen eines JPEGs durchführen kann, aber es ist eine sehr spezielle Funktion. Das Programm, auf das Sie verlinken, ist der einzige Editor, den ich jemals gesehen habe, der diese Funktion auf die allgemeine Bearbeitung erweitert.
Mark Ransom

Danke fürs Abwägen, Mark - und danke für deine Einsicht. Ich würde dies jedoch immer noch nicht als "Edge-Case" bezeichnen, da es sich um sehr häufige Arten von Bearbeitungen handelt, die den weltweit häufigsten Bilddateityp verwenden ... Dass Programmierer es einfach halten möchten und sich vielleicht nicht genug darum kümmern Informationen zur Bildverschlechterung, die es sich für sie "wert" anfühlt, damit umzugehen, sind eine Erklärung dafür, warum die meisten Bildprogramme damit nicht umgehen, es aber nicht zu einem "Randfall" machen. Die JPEG-Datei ist normalerweise viel kleiner als die unkomprimierte Version, sodass sie im Speicher bleiben und diese Funktionalität hinzugefügt werden kann.
Carl

3

Sie werden definitiv keine Qualität verlieren, wenn Sie es nur ansehen. Wie bereits erwähnt, kann es jedoch beim Speichern zu Bildqualitätsverlusten kommen, ohne dass Änderungen vorgenommen werden, wenn der Editor diese beim Speichern der Datei komprimiert . Angenommen, Sie haben ein JPEG ohne Komprimierung:

  1. Sie öffnen es in The GIMP, nehmen keine Änderungen vor und speichern es
  2. Das GIMP fragt Sie, wie viel Komprimierung Sie wünschen (Qualität)
  3. Sie geben 90% Qualität ein (die Standardeinstellung)

Wenn Sie dies 20 Mal tun, wird die Qualität erheblich beeinträchtigt, da sie 20 Mal komprimiert wurde. Wenn Sie es ohne Komprimierung (100% Qualität) speichern, sehen Sie keine Änderung.


3
JPEG hat immer eine Komprimierung. Bei JPEG gibt es keine Komprimierung. Es ist von Natur aus verlustreich. Wenn Sie jedoch ein [JPEG-komprimiertes] Bild mit einer Qualität von 100% durch einen JPEG-Kompressor leiten, führt dies möglicherweise nicht zu einem Qualitätsverlust.
Leichtigkeit Rennen mit Monica

2
@geometrikal Wirklich?
Rawling

1
@geometrikal definitiv nicht der Fall
mattdm

2
Beispiel für Qualitätsverlust bei erneutem Speichern bei gleicher Qualitätsstufe: photo.stackexchange.com/a/34192
mattdm 31.10.14

2
Beachten Sie auch, dass 100% Qualität keine Komprimierung ist.
Mattdm

2

Auf jeden Fall werden, wie bei jeder Datei, keine Änderungen vorgenommen, wenn Sie nicht auf "Speichern" klicken, sondern nur die Datei schließen. (Stellen Sie es sich wie ein Wort vor, das Sie gerade öffnen und schließen.)

Wenn Sie Änderungen vornehmen, erhalten Sie von den meisten Programmen eine Benachrichtigung, in der Sie gefragt werden, ob Sie die Änderungen speichern möchten.

Die Antwort ist also definitiv nein zu Ihrer Frage.

Hoffentlich hilft das.


1

Einfach gesagt:

  • Eröffnung: kein Qualitätsverlust
  • Kopieren: kein Qualitätsverlust
  • Anzeige: kein Qualitätsverlust
  • Speichern ohne Bearbeitung: Kopieren, kein Qualitätsverlust *
  • Speichern nur mit Metadatenbearbeitung: kein Qualitätsverlust *
  • Speichern mit Änderungen der Komprimierungsqualität: Qualitätsverlust
  • Speichern nach Bilddatenbearbeitung: Qualitätsverlust

* Abhängig vom Programm können schlecht implementierte Programme sogar dann erneut komprimiert werden, wenn sie nicht benötigt werden, was zu Qualitätsverlusten führt

Das Dekodieren von digitalen Daten ist verlustfrei. Es gibt kein einziges digitales Format, in dem die Daten durch einfaches Dekodieren und Anzeigen geändert werden könnten.

Es ist nur die Neukomprimierung der Bilddaten, die potenziell verlustbehaftet ist. Bestimmte Bearbeitungsvorgänge, bei denen es sich eigentlich nur um Metadaten-Bearbeitungen handelt, sollten keine Qualitätsverluste verursachen. Beispielsweise ist die EXIF-Rotation verlustfrei.


Es ist für ein Programm möglich, eine Datei mit Daten zu generieren, die wörtlich aus Teilen des Bildes kopiert wurden, die sich nicht geändert haben, aber neue komprimierte Daten für andere Teile erzeugen. Mit dem JPEG-Assistenten können Sie beispielsweise "wichtige" Bereiche eines JPEG hervorheben und unverändert lassen, während Sie andere weniger wichtige Bereiche des Bildes aggressiv um verschiedene Beträge komprimieren.
Supercat

Das Kopieren der Datei (in Explorer, Finder usw.) führt nicht zu Qualitätsverlusten. Wenn Sie das Bild öffnen, alles auswählen, kopieren, ein neues Bild kopieren und dann speichern, wird die Qualität beeinträchtigt.
fzwo

@supercat - Blockersetzung ist nur für bestimmte JPEG-Codierungsschemata möglich. Die Option für die selektive Qualität (wie nur in einigen Bereichen) kann jedoch zu einer interessanten Platzersparnis führen, ohne dass das Bild im Web erheblich beeinträchtigt wird.
James Snell

@JamesSnell: Ich habe den JPEG-Assistenten vor langer Zeit verwendet. Ich habe nicht nachgefragt, ob / wie es gewartet oder aktualisiert wurde, aber es kann in Fällen, in denen ein Bild nur wenige Stellen enthält, an denen Details benötigt werden, und in denen viele Bereiche nicht benötigt werden, eine Menge Platz einsparen. In einigen Fällen kann das Verschwimmen aller Elemente außer den Hauptmotiven eines Bildes das Bild ästhetisch verbessern und gleichzeitig die Datei erheblich verkleinern.
Supercat

1

Einfach gesagt, nein .

Um genau zu sein. Beim Speichern des JPEG-Bildes treten einige Verluste auf, da JPEG als verlustbehaftete Komprimierung definiert ist.

Das Bild wird mit Huffman-Codierung komprimiert, wenn ich mich nicht irre. Wenn ein Bildeditor ein Bild öffnet, wird das Bild nicht dekomprimiert. Das komprimierte Bild wird einfach dekodiert, sodass auf dem Bildschirm angezeigt wird, was sich darin befindet.

Wenn Sie jedoch Änderungen vornehmen und das Bild erneut speichern, wird es erneut auf ein neues JPEG-Format komprimiert, bei dem mehr Daten verloren gehen. Software wie GIMP fragt Sie jedoch, wie viel Qualität Sie möchten, damit Sie 100% wählen können, um die vorhandene Qualität beizubehalten.

Das Öffnen und Schließen eines Bildes, ohne Änderungen vorzunehmen, spielt keine Rolle, wie es gespeichert wird und welche Daten verloren gehen. Durch das Öffnen zum Anzeigen und Schließen werden keine Änderungen an der Datei vorgenommen. Egal, was der Fall ist (MP3, Bild, Word-Dokument). Da nichts gespeichert wird, bleibt die Qualität immer gleich.

Aber wie in früheren Antworten bereits gesagt wurde, können Sie andere Formate wie png oder tiff verwenden, wenn Sie sich wirklich Sorgen um Datenverlust machen.


2
Beachten Sie, dass Sie die vorhandene Qualität nicht beibehalten, wenn Sie das Foto in GINMP mit dem Wert 100% der Einstellung "Qualitätsprozentsatz" erneut speichern. Es werden nur bestimmte vom Encoder verwendete Parameter auf die höchstmögliche Qualitätsstufe eingestellt. Diese Einstellungen sind nicht verlustfrei.
Hugo

2
Kein Problem. Mehr dazu lesen Sie in dieser Frage .
Hugo

0

Selbst in diesen Antworten scheint es eine Menge Fehlinformationen zu geben.

JPEG ist ein verlustbehafteter Blockcodierungsstandard. Es ist ein Frequenzdomänencode, der seine Komprimierung erhält, indem er Bildkomponenten mit höherer Frequenz mit geringerer Genauigkeit darstellt. Die Blockgröße beträgt 8x8 Pixel.

Führen Sie eine 2D- DCT durch , um ein JPEG-Bild zu kodieren, das Sie für jeden Block aufnehmen und zeichnen das Ergebnis in einer Art Zick-Zack-Muster mit immer weniger Bits auf, beginnend bei der niedrigsten Frequenz und endend bei der höchsten. Das Präzisionsprofil wird durch eine einzige Qualitätsvariable bestimmt.

Solange Sie diesen Vorgang einmal für einen Block ausgeführt haben, können Sie so oft dekodieren und neu kodieren, wie Sie möchten, ohne die Bildqualität zu beeinträchtigen (solange Sie immer dieselbe Qualitätsvariable verwenden). Dies ist keine Übertreibung. Der Prozess des Dekodierens und Neukodierens eines JPEG-Blocks kann vollkommen verlustfrei gemacht werden, und jede Editieranwendung, die es wert ist, kann dies bereits tun.

Was bedeutet das für eine Person, die ein Bild bearbeitet? Wenn Sie ein Bild öffnen und mit derselben Bildqualität speichern (neu codieren), tritt kein Qualitätsverlust auf (Ihre Bearbeitungsanwendung sollte in der Lage sein, Ihnen die zum Codieren des Bildes verwendete Qualitätsvariable mitzuteilen). Wenn Sie ein Bild öffnen und nur einen Teil davon bearbeiten, ändern sich nur die 8x8-Blöcke, die Sie bearbeitet haben. Alles andere wird genauso sein.


2
Ist das so ?
Rawling

1
Ich habe nicht sorgfältig recherchiert, aber ich gehe davon aus, dass es Rundungsfehler sind, die dies nicht genau der Fall machen.
Mattdm

Wenn das Programm dieselbe Q-Matrix verwendet und Sie nur isolierte Regionen ändern, ist die @ stevecox-Zusammenfassung korrekt. Wenn dasselbe Programm verwendet wird, sollte dieselbe Einstellung des Schiebereglers dieselben internen Parameter ergeben. Durch Zuschneiden von links / oben kann die Blockausrichtung geändert werden. Gesamtveränderungen wie Farbton und Helligkeit berühren alles und können zu einer schrecklichen Verschlechterung führen, die über die nominelle Qualität der Komprimierung hinausgeht. Wenn die ursprüngliche Speicherung von sehr hoher Qualität war, sind die Effekte subtil, aber kumulativ.
JDługosz

5
-1 Nur ein schnelles Experiment mit Photoshop CC und wiederholten Öffnen und Speicher ein Bild mit genau den gleichen Einstellungen vorgenommen tut Ergebnis in einer anderen Datei jedes Mal, verglichen , wenn zum Original einer „Differenz“ Blending - Modus. Anscheinend ist Photoshop kein "Salz wert". Ich kann nicht für andere Redakteure sprechen, aber ich wette, dass das Geld dasselbe ist. Sie könnten ein Programm sehr sorgfältig schreiben, um Rundungsfehler beim fortlaufenden Dekomprimieren und erneuten Komprimieren eines Bildes zu vermeiden, aber es hätte keinen Sinn - JPEGs sind kein gutes Zwischenformat, Punkt.
Matt Grum

3
@SteveCox Ich habe ein Bild in Photoshop geöffnet, es als JPEG-Qualität 7 gespeichert, dieses JPEG geöffnet und als JPEG-Qualität 7 gespeichert und dann fünfmal wiederholt. Ich habe dann das erste JPEG mit dem 5. JPEG verglichen. Was die Referenzimplementierung bewirkt, ist nur dann von akademischem Interesse, wenn alle wichtigen Redakteure zu einer Qualitätsminderung führen.
Matt Grum

0

Die einfache Antwort lautet: "Das hängt davon ab."

Macht es einen Unterschied, wenn:

Ich öffne das Bild in einem Standard-Bildbetrachter und schließe einfach das Bild?

Sollte sicher sein, da ein Betrachter niemals in der Lage sein sollte, das Bild zu ändern.

Ich öffne das Bild in Photoshop Elements Editor und schließe es dort?

Sollte das Bild nicht ändern.

Wenn ich einfach schließe und das Bild versus erneut speichere?

Das Schließen des Bildes sollte das Bild nicht ändern. Das erneute Speichern eines Bildes würde es sehr wahrscheinlich ändern, je nachdem, welche Plug-Ins Sie verwenden.

Ein Grund, warum Sie so viele unterschiedliche Antworten finden: "Wann führt das Schließen oder Speichern eines JPEG zu einer Verschlechterung der Bildqualität und wann nicht?" Das hängt von so vielen verschiedenen Dingen ab, einschließlich: der Software, mit der Sie das Image bearbeiten, den auf dieser Software installierten Plug-Ins, der Durchführung von "Auto-Speichern" durch Ihre Software und den von Ihnen verwendeten Einstellungen wenn Sie das JPG-Bild speichern! Deshalb bearbeite ich eigentlich keine Originaldateien.

Ich verwende kein Photoshop, aber es gibt ein Plug-In, das für das jeweilige Problem hilfreich sein soll - um Bildqualitätsverluste beim Speichern eines JPEGs zu vermeiden: http://www.betterjpeg.com /jpeg-plug-in.htm

Verbessertes verlustfreies JPEG-Resave-Plug-In für Adobe Photoshop und Adobe Photoshop Elements ist ein Tool, mit dem Sie Rekomprimierungsverluste beim erneuten Speichern bearbeiteter JPEG-Bilder in Photoshop vermeiden können. Das Plug-In macht sich die Tatsache zunutze, dass JPEG-Bilder aus mehreren kleinen unabhängigen Blöcken bestehen und unveränderte Blöcke nicht erneut komprimieren.


0

Interessante Antworten. Aber einige sind immer noch ein bisschen irreführend. Ich werde versuchen zu sumarisieren.

Absolut nicht

1) Das Öffnen einer Datei hat keinerlei Auswirkungen darauf. Schließen Sie es auch. Nicht in einem Viewer oder Bearbeitungsprogramm.

Es besteht die Möglichkeit, dass Sie die Datei in verschiedenen Programmen anzeigen. Dies kann jedoch daran liegen, dass dieses Programm einige Informationen wie den Farbmodus oder das Farbprofil interpretiert. Aber dieser Prozess liest es nur.

Es besteht die Möglichkeit kleiner Änderungen

2) Machen Sie verlustfreie Operationen, wie das Drehen eines Bildes. Normalerweise ordnen die Programme die Daten einer JPG-Datei nur neu an, ohne sie zu analysieren und erneut zu komprimieren. Aber ich würde nicht für alle Programme, die das vorhaben, meine Hände aufs Feuer legen.

Kleine unrühmliche Veränderungen

3) Öffnen und Speichern mit derselben Komprimierung im selben Programm.

Eine erste Neukomprimierung wird durchgeführt, wenn Sie eine JPG-Datei zum ersten Mal speichern. Wenn Sie die Datei ein zweites Mal mit denselben Einstellungen speichern, ist der ursprüngliche Datenverlust bereits aufgetreten, kleine Änderungen können jedoch erneut angewendet werden. Nicht in gleichem Maße wie beim ersten, aber dies kann sich mehrmals bemerkbar machen. Das kommt aber auf das Programm an.

Auffällige Veränderungen

4) Das offensichtlichste ist das erneute Speichern mit einer anderen Komprimierungseinstellung.

Nicht nur auf der "Skala", was auch immer das Programm hat, sondern auch der verwendete Algorithmus. Dies ist etwas zu technisch, aber es gibt mindestens zwei Hauptkomprimierungsalgorithmen 4: 4: 4 und 4: 2: 2.

Sie können den "Schieberegler" in Ihrem Programm verwenden, um die beste "Qualität" zu erzielen. Wenn Ihr Programm jedoch 4: 2: 2 und das Original 4: 4: 4 verwendet, kommt es zu erheblichen Datenverlusten.

Hier ist ein kleines Papier, das ich vor einigen Jahren gemacht habe, damit Sie sehen können, was dieser Datenverlust bedeutet. Es ist auf Spanisch, aber Sie können google translate verwenden: http://otake.com.mx/Apuntes/PruebasDeCompresion2/1-CompresionJpgProceso.htm

Ein totales Durcheinander

5) Wenn Sie ein Bild öffnen und in einem Programm mit eingeschränkten Funktionen speichern. Ein viwer kann beispielsweise nur RGB-Dateien speichern und mit CMYK-Dateien nicht ordnungsgemäß arbeiten, oder er versteht das eingebettete Farbprofil möglicherweise nicht. Sie könnten Ihr Bild beim Speichern völlig ruinieren.

6) Mit viel Komprimierung. Sie speichern es für Ihre Website und komprimieren es. Löschen Sie Ihre Originale bitte nicht!

Nur im bearbeiteten Teil des Bildes

7) Die Neukomprimierung wird normalerweise für alle Bilder durchgeführt, aber wie ich unter Punkt 3 erwähnt habe, ist es nicht viel davon, wenn sich das Bild nicht geändert hat. Wenn Sie ein Bild bearbeiten, muss diese Analyse in diesem bearbeiteten Bereich erneut durchgeführt werden.

Denken Sie daran, dass eine Bearbeitung in drei Gruppen eingeteilt werden kann.

a) Farbkorrekturen, Kontrast usw.

b) Ändern eines Bildteils (rote Augen, Entfernen einer Person, Reinigen unerwünschter Stellen)

c) Eine völlig neue Collage.

In einigen Fällen ist das Bild also völlig anders, zumindest in Bezug auf Analyse und Rekompression.

In diesem Beitrag: /photo//a/67434/37321 hat der Benutzer ein Programm erwähnt, das eine sehr clevere Analyse der vorhandenen Komprimierung durchführt und diese nicht erneut komprimiert, wenn dies nicht erforderlich ist.


0

Ja, das tut es offensichtlich! Ich werde es nur mit einem Beispielbild und einer JPEG-Qualität von 30 machen, um es schnell zu machen. (160 Kb) Bildbeschreibung hier eingeben

Erste Runde (10 Kb) Bildbeschreibung hier eingeben

Zweite Runde (9Kb) Bildbeschreibung hier eingeben

Daher verringert JPEG die Bildqualität nicht wesentlich, solange Sie die Größe nicht ändern oder die Qualitätsmetrik nicht ändern. Das Bild verschlechtert sich weiterhin langsam, aber unbedeutend. Und jetzt entferne ich nur 4 Pixel aus dem Bild (eine Spalte von rechts). Und nochmal speichern. Bildbeschreibung hier eingeben

Deutliche Verschlechterung. Um dies zu erklären, müssten wir uns eingehend mit dem JPEG-Algorithmus befassen. Wie auch immer, wenn Sie sich in dieser Situation befinden, denken Sie daran - es ist noch nicht vorbei. Es gibt einige großartige JPEG-Rauschentfernungssoftware, zum Beispiel die Superauflösung und -verbesserung von Bildern im neuronalen Netzwerk. Ich habe das letzte Bild (das schlechteste) in diesen Dienst hochgeladen und hier ist, was ich habe. Wirklich schönes Ergebnis. Bildbeschreibung hier eingeben


Was Software öffnen Sie und schließen mit ? Sind Sie sicher, dass Ihre Software das Bild beim Schließen nicht speichert (und daher erneut komprimiert)?
Mattdm

Nur grundlegende Photoshop erneut speichern
Sofiia Shvets

1
Da sich die Frage nach verschiedenen Situationen richtet, ist diese Antwort verwirrend, ohne dies klar zu machen.
Mattdm
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.