Bilder und Fotos · Bildkonverter und Kompressor
JPEG Generationsverlust: Was passiert, wenn Sie dasselbe Foto erneut speichern?
· Wie es funktioniert
Bildformate jpeg Bildqualität
Bei jedem verlustbehafteten Speichern werden Informationen verworfen, und die Verstöße häufen sich: Ein zehnmal gespeichertes Foto ist nicht dasselbe wie ein einmal gespeichertes Foto mit derselben Qualität. In diesem Beitrag wird erklärt, warum, was es noch schlimmer macht und wie man einen Arbeitsablauf so strukturiert, dass er nur einmal passiert.
Das Bild wurde von Woche zu Woche unklarer – der langsame Rückgang bemerkte niemand, bis er die erste und die neueste Version verglich
Ein wöchentliches Kampagnenbild kann langweilig und unruhig werden, wenn jede neue Version mit dem JPEG der letzten Woche beginnt. Die Änderung könnte der Aufmerksamkeit entgehen, da niemand neben der achten Generation auch die erste Generation betrachtet. Die Formatlogik von ToolAcre benennt den Mechanismus, den sie beweisen kann: JPEG ist in jeder Qualität verlustbehaftet, und die Neucodierung eines JPEG fügt zusätzlich zur ersten eine weitere Verlustrunde hinzu.
Überprüfen Sie den Arbeitsablauf, bevor Sie über einen Schiebereglerwert diskutieren. Suchen Sie die früheste beibehaltene Quelle und listen Sie alle Operationen auf, die einen weiteren JPEG geschrieben haben. Ein Download, Umbenennen oder Kopieren verursacht an sich keinen Generationsverlust; Dekodieren gefolgt von Kodieren funktioniert. Diese Unterscheidung offenbart oft einen unnötigen Export zwischen Zuschnitt, Größenänderung, Genehmigung und endgültiger Lieferung.
Warum verlustbehaftet verlustbehaftet ist – die Quantisierung rundet die Frequenzkoeffizienten und die Rundung kann durch Dekodierung nicht rückgängig gemacht werden
Die Erklärung des Frequenzkoeffizienten des Plans ist plausibles Hintergrundmaterial, diese Berechnungen sind jedoch in diesem Antrag nicht enthalten. Der Browser besitzt den Encoder JPEG. ToolAcre übergibt ihm Leinwandpixel, einen MIME-Typ und eine MIME-Qualität und empfängt dann einen Blob. Der vertrauenswürdige Anspruch ist daher verhaltensbezogen: Details werden verworfen, und die verworfenen Informationen können nicht durch spätere Auswahl von PNG wiederhergestellt werden.
Dass die Evidenzgrenze eng gehalten wird, schwächt die Empfehlung nicht. Eine verlustbehaftete Phase sollte nur auftreten, wenn eine verlustbehaftete Zustellungsdatei erforderlich ist. Wenn zwischen Werkzeugen ein Zwischenspeicher gespeichert werden muss, behalten Sie das Originalprojekt oder, sofern möglich, ein verlustfreies Raster bei. Der nächste Export kann dann mit Pixeln beginnen, die eine vermeidbare JPEG-Annäherung noch nicht überstanden haben.
Das Repository überprüft die verlustbehaftete Browser-Kodierung, nicht die Koeffizientenmathematik JPEG
Bei einem zweiten Speichern erzeugt der Decoder Pixel aus dem ersten JPEG und der Encoder nähert diese Pixel erneut an. Der neue Pass hat keinen Zugriff auf die Quelle vor JPEG und kann Originaldetails nicht von bereits eingeführten Artefakten unterscheiden. Die Warnung von ToolAcre nennt dies ausdrücklich eine zweite Runde, anstatt darauf hinzuweisen, dass bei identischem Format und identischer Qualität Bytes unberührt bleiben.
Ein nützliches Experiment behält jede Generation bei, anstatt einen Dateinamen zu überschreiben. Beginnen Sie mit einem Master, erzeugen Sie `round-1.jpg`, laden Sie das Ergebnis für `round-2.jpg` und fahren Sie fort. Vergleichen Sie jedes mit dem Master und seinem unmittelbaren übergeordneten Element. Separate Dateien machen allmähliche Veränderungen sichtbar und verhindern, dass der Test selbst seine Referenz zerstört.
Eine zweite Speicherung ist eine zweite Browser-Kodierung aus dekodierten Pixeln
Das Zuschneiden oder Ändern der Größe zwischen Speichern führt zu einem zusätzlichen Pixelvorgang. In diesem Code markieren geänderte Abmessungen den Plan als erneut abgetastet, selbst wenn der Ziel-Encoder PNG ist. `drawImage` zeichnet das ausgewählte Quellrechteck mit hoher Glättung vor der Codierung neu in die Zielgeometrie, daher sollte eine Dimensionsänderung getrennt vom verlustbehafteten Schreibvorgang von JPEG aufgezeichnet werden.
Der Umriss weist einem verschobenen Blockraster zusätzlichen Schaden zu, aber diese Browser-Pipeline macht die Blockausrichtung nicht sichtbar. Das vertretbare Verfahren besteht darin, Variablen zu isolieren: Zuerst den Export von JPEG gleicher Größe wiederholen und dann mit einer Größenänderung wiederholen. Wenn sich die zweite Sequenz stärker ändert, gehört die Beobachtung zu diesem Browser und Testbild, ohne dass eine Erklärung auf Encoderebene erfunden werden muss.
Größenänderung fügt Resampling hinzu; Blockgitter-Erklärungen liegen außerhalb der Implementierungsbeweise
Die Verwendung der gleichen Qualitätszahl in jeder Runde schafft keinen sicheren Hafen. Der Wert wird als Anweisung an den Encoder des aktuellen Browsers übergeben; Es handelt sich nicht um eine Prüfsumme, einen Prozentsatz mit beibehaltenen Details oder um das Versprechen, dass ein anderer Encoder die Zahl identisch abbildet. Die Quelldatensätze warnen sogar davor, dass die Ausgaben je nach Browser und Plattform leicht abweichen können.
Qualität 100 wird für JPEG immer noch als verlustbehaftet eingestuft. Durch Erhöhen der Zahl in einer späteren Generation werden möglicherweise Bytes hinzugefügt, es können jedoch keine früher entfernten Texturen aufgerufen werden. Entscheiden Sie sich für Qualität, indem Sie ein Lieferexemplar der ersten Generation und dessen abgemessene Größe prüfen. Sobald Sie die Kopie akzeptiert haben, erstellen Sie diese Kopie vom Master neu, wenn sich der Inhalt ändert, anstatt den akzeptierten Export als nächste Quelle zu verwenden.
Qualitätszahlen sind Encoder-Eingaben, keine Garantien für eine gleichwertige Quantisierung
Wählen Sie für eine Demonstration in fünf Runden ein Foto mit einem glatten Himmel, Haaren, Blattwerk und kontrastreichen Kanten aus. Halten Sie die Abmessungen fest und verwenden Sie einen Browser und eine Qualität. Speichern Sie jede Runde mit einem nummerierten Dateinamen und vergleichen Sie dann alle sechs Dateien mit 100 Prozent in einem Viewer, der keine zusätzliche Bearbeitung anwendet.
Zeichnen Sie die Ausgabebytes auf, anstatt eine vorgegebene Vergrößerung oder Reduzierung zu beanspruchen. Eine spätere Runde kann je nach Pixel und Encoder kleiner oder größer ausfallen; Die Größenrichtung ist kein Qualitätsfaktor. Suchen Sie nach Änderungen an detaillierten Grenzen und glatten Bereichen und beenden Sie das Experiment, während das Original noch intakt ist.
Was dies nicht abdeckt – verlustfreie Formate, bei denen dies nicht der Fall ist, und die Bearbeitung von RAW- oder Masterdateien
Die verlustfreie Zielcodierung verhält sich anders, aber bei der Konvertierung eines beeinträchtigten JPEG in PNG werden nur die beeinträchtigten dekodierten Pixel exakt gespeichert. Frühere Verluste werden dadurch nicht rückgängig gemacht. RAW-Entwicklung, mehrschichtige Projekte und kameraspezifische Master-Workflows liegen außerhalb dieses Browser-Konverters, der JPEG, PNG, WebP und Einzelbild-GIF-Eingaben akzeptiert.
Das Tool vergleicht Generationen auch nicht automatisch und berechnet auch keine Wahrnehmungsbewertung. Die Vorher-Nachher-Fenster mit den ersten Ergebnissen unterstützen die visuelle Überprüfung, während heruntergeladene Dateien einen strengeren Vergleich der nativen Größe ermöglichen. Behandeln Sie diese Einrichtungen als Inspektionshilfen und nicht als Bestätigung dafür, dass eine ausgewählte Umgebung archivarisch ist.
Takeaway: Behalten Sie einen Master, exportieren Sie ihn einmal – wie Sie den Bildkonverter und -kompressor als letzten Schritt und nicht als wiederholten Schritt verwenden
Behalten Sie eine Quelle der Wahrheit bei und machen Sie die verlustbehaftete Datei zu einem ersetzbaren Derivat. Diese einfache Eigentumsregel verhindert, dass ein sozialer Kalender zu einer Kette von Annäherungen wird. ToolAcre sollte die endgültige Kodierung für einen bestimmten Empfänger oder Kanal sein und nicht ein unsichtbares Zwischenprodukt, das nach jeder kleinen Bearbeitung wiederholt wird.
Wenn eine neue Variante benötigt wird, öffnen Sie den Master erneut, wenden Sie alle erforderlichen Geometrien einmal an und exportieren Sie sie einmal. Archivieren Sie die Einstellungen oder Genehmigungsnotizen und nicht die beschädigte Abstammung. Der Browser kann jederzeit eine weitere Lieferung erstellen JPEG; Es kann keine Informationen rekonstruieren, die frühere Generationen weggeworfen haben.