Wie ein JPEG aufgebaut ist: erst ein Regelwerk, dann der Scan
Ein JPEG sind zwei Teile, die sich eine Datei teilen. Der erste ist ein kurzer Header: eine Reihe von Markern, die die Regeln tragen, die ein Decoder braucht, bevor er überhaupt etwas zeichnen kann. Der Frame-Marker (SOF) hält die Bildabmessungen fest und wie viele Farbkomponenten es gibt. Die Quantisierungstabellen (DQT) sagen, wie aggressiv die Datei komprimiert wurde. Die Huffman-Tabellen (DHT) sind das Codebuch zum Entpacken der komprimierten Werte. Zusammen sind das das Regelwerk.
Der zweite Teil ist der entropiecodierte Scan: ein einziger langer, dicht gepackter Datenstrom mit den tatsächlichen Pixeldaten, der meist fast die ganze Datei ausmacht. Er wird in strenger Reihenfolge gelesen, Block für Block, von der oberen linken Ecke bis zur unteren rechten. Der Decoder kann nicht vorspringen und nicht in der Mitte anfangen, weil jeder Block auf dem vorherigen aufbaut.
Ein JPEG in zwei Teilen: ein kleines Regelwerk vorne, dann der lange Scan der Pixel, den die Regeln zu lesen erklären.
Diese Aufteilung erklärt jedes Symptom weiter unten. Beschädige das Regelwerk, und der Decoder kann nicht einmal beginnen, selbst wenn jedes Pixel vorhanden ist. Schneide den Scan vorzeitig ab, und der Decoder zeichnet, was er kann, und hört dann dort auf, wo die Daten aufhören.
Drei Fehlerklassen, und was jede bedeutet
Beschädigte Fotos fallen in drei erkennbare Klassen. Dein Symptom seiner Klasse zuzuordnen ist der schnellste Weg, die Prognose zu kennen, bevor du Zeit in eine Reparatur steckst.
Klasse 1: es öffnet überhaupt nicht
Jeder Betrachter verweigert die Datei oder zeigt einen Platzhalter für ein kaputtes Bild. Das ist fast immer ein Schaden am Header oder an den Markern: das Regelwerk vorne ist zerstört, also kann nichts anfangen, den Scan dahinter zu lesen. So wenig es einleuchtet: Das ist die Klasse mit denbesten Chancen, weil die Bilddaten meist intakt hinter einer kaputten Eingangstür liegen.
Klasse 2: oben in Ordnung, unten grau oder verschmiert
Das Foto öffnet, der obere Teil sieht perfekt aus, und dann fällt es in flaches Grau oder ein Verschmieren der letzten guten Zeile nach unten. Das ist ein Abschneiden oder ein Bit-Fehler mitten im Scan. Nur der Teil oberhalb des Schnitts existiert noch. Das ist ein echtesTeilergebnis: du bekommst den echten oberen Teil zurück, und das Grau darunter ist weg.
Klasse 3: es öffnet, aber die Farben sind falsch
Das ganze Bild wird angezeigt, aber es ist posterisiert, verfärbt oder farbverschoben. Hier ist der Scan intakt, und falsch sind die Tabellen, die ihn steuern: eine beschädigte DQT oder DHT decodiert echte Pixel mit den falschen Regeln. Weil die Bilddaten überlebt haben, bringt das Korrigieren oder Ersetzen der Tabellen die Farben oft sauber zurück. Die drei Klassen oben sind genau die Fächer, in die das Tool zur Fotoreparatur eine Datei einsortiert, wenn es sie lokal liest.
Warum der untere Teil grau wird und grau bleibt
Ein JPEG decodiert von oben nach unten, Block für Block, und die Helligkeit jedes Blocks wird als Differenz zum vorherigen Block gespeichert. Diese fortlaufende Abhängigkeit ist der Grund, warum der Decoder in Reihenfolge vorgehen muss und nicht ans Ende einer beschädigten Datei springen kann, um sie zu retten. Endet der Scan vorzeitig, ein abgeschnittener Download oder eine mitten im Schreiben gezogene Karte, hat der Decoder schlicht keine Blöcke mehr zu zeichnen. Die meisten Betrachter füllen den Rest mit neutralem Grau; manche wiederholen den zuletzt gelesenen Wert, was wie ein senkrechtes Verschmieren aussieht.
Das Abschneiden, gezeichnet: das Regelwerk und der obere Teil des Scans haben überlebt; die Zeilen unterhalb des Schnitts waren nie in der Datei.
Der graue Bereich ist nicht versteckt, nicht verschlüsselt und wartet nicht darauf, entsperrt zu werden. Es sind Bilddaten, die in der Datei nicht existieren, also kann kein Tool sie zurückholen: sie wiederherzustellen hieße, Pixel zu erfinden, und Pixel zu erfinden ist keine Reparatur. Ein einziges gekipptes Bit mitten im Scan erzeugt die farbverschobene Version derselben Geschichte. Es bringt den komprimierten Datenstrom aus dem Takt, und alles nach diesem Punkt decodiert als Rauschen, bis ein Restart-Marker (RST), falls die Kamera welche geschrieben hat, den Decoder wieder auf die Spur bringt. Viele Kameras schreiben keine, und deshalb kann ein fehlerhaftes Byte die unteren zwei Drittel eines Bildes ruinieren.
Der Photoshop-Marker-Fehler, entschlüsselt
Wenn du die Datei in Photoshop geöffnet hast, hast du das wahrscheinlich wortwörtlich gesehen:
Could not complete your request because an unknown or invalid JPEG marker type is found.
Photoshop ist der strengste Leser im Raum: es prüft jeden Marker und verweigert die ganze Datei, wenn einer falsch ist. Diese Strenge ist für die Diagnose sogar nützlich. Öffne dieselbe Datei zuerst in einem Browser oder in der Vorschau. Erscheint das Bild dort, ist der Scan in Ordnung und der Schaden beschränkt sich auf die Marker, Klasse 1 oder Klasse 3, die besten Chancen, die du bekommen kannst. Windows-Fotos formuliert dasselbe zugrunde liegende Problem als It looks like we don't support this file format. und die Vorschau auf dem Mac neigt dazu zu sagen, die Datei may be damaged. Andere Wortwahl, dieselbe Frage darunter: ist das Regelwerk kaputt, oder ist das Bild weg?
Rettungstaktiken: Spender-Header und das EXIF-Vorschaubild
Wenn der Schaden im Header liegt und der Scan dahinter überlebt hat, ist die klassische manuelle Reparatur eine Spender-Header-Transplantation. Du nimmst ein gesundes Foto, das mit derselben Kamera bei denselben Einstellungen aufgenommen wurde, kopierst seinen Header und pfropfst ihn auf den verwaisten Scan der kaputten Datei. Dieselbe Kamera und dieselben Einstellungen bedeuten dieselben Quantisierungs- und Huffman-Tabellen und dieselben Frame-Abmessungen, also passt das geliehene Regelwerk zu dem Datenstrom, den es jetzt beschreiben muss, und das Bild decodiert wieder. Es ist fummelige Byte-Ebenen-Arbeit von Hand; strukturelle Reparatur-Tools automatisieren genau diese Art von Reparatur. Der ehrliche Vorbehalt: es funktioniert nur, wenn der Scan wirklich intakt ist und die Abmessungen übereinstimmen. Ein Spender mit anderer Auflösung oder von einem anderen Kameramodell passt nicht, und ihn zu erzwingen erzeugt Müll.
Wenn der Haupt-Scan selbst weg ist, bleibt eine Option. Die meisten JPEGs aus Kameras und Telefonen betten ein kleines Vorschaubildein, ein eigenes vollständiges kleines JPEG von ein paar hundert Pixeln Breite, in den EXIF-Metadaten vorne in der Datei. Hat der Header überlebt, das Hauptbild aber nicht, kann dieses Vorschaubild das einzige ganze Bild sein, das du herausziehen kannst. Es ist niedrig aufgelöst und es ist eine Rettung, keine Wiederherstellung, aber für ein Foto, das sonst ab dem ersten Zentimeter grau ist, kann eine saubere briefmarkengroße Version besser sein als nichts. Viele kaputte Fotos kommen so aus einer Datenrettungssoftware, wo eine per Carving herausgeschnittene Datei oft ihren Header und ihr Vorschaubild behält, während der Scan nur teilweise da ist.
Häufige Fragen
Warum ist die Hälfte meines JPEG grau?
Weil die Datei endet, bevor das Bild endet. Ein JPEG speichert seine Pixel als einen einzigen langen Datenstrom, den ein Betrachter streng von oben nach unten decodiert. Bricht der Datenstrom vorzeitig ab, ob die Datei bei einer Übertragung abgeschnitten wurde oder ein fehlerhaftes Byte den Decoder gestoppt hat, gibt es keine Pixelblöcke mehr zu zeichnen, also malt der Betrachter den Rest in neutralem Grau. Der graue Bereich ist nicht versteckt oder gesperrt; es sind Daten, die in der Datei nicht vorhanden sind. Der obere Teil ist echt und rettbar; die fehlenden Zeilen kann kein Tool wiederherstellen, weil es nichts mehr wiederherzustellen gibt.
Wie behebe ich „invalid JPEG marker type“ in Photoshop?
Photoshop ist der strengste JPEG-Leser auf deinem Rechner: ein beschädigter Marker und es verweigert die ganze Datei mit Could not complete your request because an unknown or invalid JPEG marker type is found. Öffne dieselbe Datei zuerst in einem Webbrowser oder in der Vorschau. Erscheint das Bild dort, haben die Bilddaten überlebt und nur die Marker sind beschädigt, das ist die Fehlerklasse mit den besten Reparaturchancen. Eine Reparatur auf Marker-Ebene baut die Struktur um die intakten Bilddaten herum neu auf, ohne ein einziges Pixel neu zu codieren.
Lässt sich ein Foto mit grauem unteren Teil vollständig wiederherstellen?
Nein, und jedes Tool, das etwas anderes verspricht, rät nur. Der graue Bereich sind Bilddaten, die die Datei nicht enthält, es gibt also nichts, woraus man ihn wiederaufbauen könnte. Eine Reparatur kann die Struktur der Datei aufräumen und jede Zeile zurückgeben, die tatsächlich überlebt hat, und manchmal kann sie ein kleines vollständiges Bild aus dem eingebetteten Vorschaubild herausziehen, aber sie kann keine Zeilen neu malen, deren Pixel nie geschrieben wurden. Eine ehrliche Rettung gibt dir dein echtes Foto zurück, genau so weit nach unten, wie die Daten reichen.
Was ist ein Spender-Header, und funktioniert er?
Ein Spender-Header ist das Regelwerk (die Quantisierungs- und Huffman-Tabellen und die Frame-Abmessungen), kopiert aus einem gesunden Foto, das mit derselben Kamera bei denselben Einstellungen aufgenommen wurde, und dann auf eine Datei aufgepfropft, deren eigener Header beschädigt ist, deren Bilddaten aber überlebt haben. Weil die Einstellungen übereinstimmen, passen die geliehenen Regeln zum verwaisten Bild-Datenstrom und das Bild decodiert wieder. Es funktioniert nur, wenn die Bilddaten wirklich intakt sind und die Abmessungen passen; ein Foto aus einer anderen Kamera oder mit einer anderen Auflösung passt nicht. Strukturelle Reparatur-Tools automatisieren genau diese Art von Reparatur.
Diese Fotos von einer formatierten Karte wiederhergestellt und die Hälfte lässt sich nicht öffnen? Das ist ein Muster mit einer eigenen Erklärung: warum wiederhergestellte Dateien sich nicht öffnen lassen.