Schlagwort-Archive: UTF-8

Der Ursprung der Metadaten-Probleme bei Photoshop, XML und IPTC

Metadaten sind sehr praktisch, aber der Umgang mit ihnen ist nicht immer leicht.

Ständig müssen Fotografen Bildtitel, Suchbegriffe und ihre Urheberrechtsinformationen zu ihren Bildern hinzufügen. Am einfachsten geht das über IPTC-Daten, welches ein standarisiertes Datenprotokoll ist. Oder besser gesagt, sein sollte, denn in der Praxis gibt es beim Austausch dieser Informationen zwischen verschiedenen Programmen immer wieder Fallstricke. Das habe ich beispielsweise hier beschrieben. Dort in den Kommentaren versteckt hat Michael Steidl, seines Zeichens Managing Director beim IPTC (ja, genau der Verein, der für die gleichnamigen Metadaten verantwortlich ist) eine aufschlussreiche Erklärung für das Problem geliefert. Da sie dort etwas versteckt ist, möchte ich seinen Ausführungen noch mal einen eigenen Artikel widmen.

Achtung, es wird technisch. Aber wer sich ständig mit Metadaten herumschlagen muss, begreift danach sicher , warum es so viele Probleme geben kann.

Herr Steidl schrieb:

IPTC Metadaten-Felder können in zwei technischen Varianten abgespeichert werden:

  • dem IIM-Header: Das ist ein IPTC Standard aus dem Jahr 1991, von Adobe mit Photoshop ca. 1994 auf den Markt gebracht. Dieser Standard definiert, dass Zeichen in unterschiedlichen Zeichensätzen verwendet werden können, dazu allerdings eine Kennung im Feld 1:90 (siehe Seite 20 hier) zu setzen ist. Praktisches Problem: Keine einzige Fotosoftware setzt hier die Kennung. Daher werden die Zahlencodes für Zeichen immer im Zeichensatz des jeweiligen Computers gedeutet. Das beginnt beim Unterschied der Codes für Sonderzeichen zwischen Windows-PCs und den Apple Macs und geht weiter über verschiedene Sprachvarianten der 8-Bit-Codes (ISO 8859-… ).
  • dem XMP-Header: Das ist eine Adobe Entwicklung, inzwischen ISO-Standard, für das rein technische Abspeichern von Metadaten. Die IPTC-Felder aus IIM können auch mit dieser Technik verwendet werden. Da diese auf XML aufbaut, wird auch der Standardzeichensatz für XML, UTF-8, verwendet.

Hinweis: Die Namen IPTC-Core und IPTC-Extension haben nichts mit dem technischen Format zu tun. Das Spezifikationsdokument für den IPTC-Core enthält für jedes Feld die Norm der Speicherung in IIM und in XMP!

Ein Problem ist nun die Synchronisierung der Metadaten-Werte zwischen IIM und XMP: Wenn in einer Caption im IIM-Header steht „Kanzlerin Merkel freute sich über den Erfolg“, dann wird von vielen Programmen dieser Wert in das entsprechende XMP-Feld kopiert – das geht gut, wenn es auf der gleichen Computerart (Windows/Mac) und im gleichen Zeichensatz erfolgt, wie es bei der Eingabe des Wertes war, ansonsten kommt beim Wort „über“ Schrott heraus, weil die Codes für das „ü“ unterschiedlich sind.

Auf der IPTC-Website haben wir eine Liste von Bildbearbeitungsprogrammen und wie diese mit der Synchronisierung von Metadaten zwischen IIM und XMP umgehen.

Langer Rede kurzer Sinn: Der Urfehler seit dem Jahr 1994 war und ist, dass im IIM-Header im Feld 1:90 keine Kennungen für den Zeichensatz gesetzt wurden, daher kann eine die Metadaten lesende (und allenfalls von IIM in XMP kopierende) Software nur vermuten, welcher Zeichensatz beim Schreiben verwendet wurde.

Bei den Beispielen auf Ihrer Blog-Seite geht es aber auch um ein anderes Problem: Offenbar wissen einige Foto-Datenbanken nicht, woher sie die Werte lesen (aus dem IIM- oder dem XMP-Header) und daher wissen sie auch nicht, aus welchem Zeichensatz die Zeichencodes stammen. Weiters ist es ein bekanntes Problem, dass für deutschsprachige Webseiten gerne noch der ISO-8859-1 Zeichensatz im HTML-Header für die ganze Seite angegeben wird. Wenn nun auf so einer Seite die Metadatenwerte in UTF-8 Zeichen ausgegeben werden, dann kann nur der Schrott erscheinen, den Sie zeigen – beginnt immer mit A mit einer Tilde (~) obendrauf.

Ich hoffe, das hilft beim Verstehen dieses sicherlich komplexen Problems. Wir bei IPTC arbeiten vor allem mit Adobe aber auch anderen Softwareherstellern zusammen, um solche missliebigen Erscheinungen zu unterbinden. Allerdings können auch wir – siehe „Urfehler“ oben – das Rad der Geschichte leider nicht mehr zurückdrehen.

Übrigens: Wir haben eine öffentliches Yahoo-Forum, an das sich jeder bei Problemen mit IPTC-Foto-Metadaten wenden kann: Hier bitte anmelden.

Viele Grüße,
Michael Steidl

Update 10.04.2012: Adobe teilte mit, dass seit Adobe Photoshop CS5 das ominöse Feld 1:90 richtig gesetzt. Aber nur mit CS5 und CS 5.5 bearbeitete Fotos haben diesen Vorteil, alte Fotos mit CS 5 geöffnet können auch nicht den richtigen Zeichensatz erahnen.

Probleme mit Sonderzeichen in IPTC-Feldern beim Bildagentur-Import

Mit jeder neuen Version von Adobe Photoshop gibt es nicht nur neue Funktionen, sondern auch neue Bugs und neuen Ärger. Manchmal entsteht der Ärger nicht mal durch die Bugs, sondern die korrekt arbeitenden Funktionen.

Was ist das Problem?

Mit Photoshop CS5 hat Adobe die Behandlung von IPTC-Daten geändert. Das betrifft auch Adobe Bridge CS5 und vielleicht Adobe Lightroom 3)

Diese IPTC-Informationen (IPTC CORE, IPTC-IIM, Legacy) werden bei CS5 jetzt im UTF-8 Zeichensatz statt als 8Bit-ISO-Zeichensatz gespeichert. Im Grunde kein Problem. Schwierig wird es nur, wenn Sonderzeichen wie im Deutschen vor allem Umlaute wie ä,ö, ü oder das ß hinzukommen. Das Problem ist, dass Sonderzeichen in jedem Zeichensatz an einer anderen Stelle abgespeichert werden.

Wenn ein Programm oder eine Datenbank die Titel, Bildbeschreibungen oder Suchbegriffe aus den IPTC-Feldern ausliest, aber den benutzten Zeichensatz nicht abfragt, erkennt oder nutzen kann, führt das zu krpytischen Zeichen. In der Praxis sieht das dann zum Beispiel so aus:

Häßlich, nicht wahr? Außerdem führt das dazu, dass Bildkäufer die eigenen Fotos nicht finden, weil diese nie die kryptischen Zeichen eingeben werden.

Wer hat Schuld?

Wer hat Schuld am Problem? Adobe, weil es früher funktioniert hatte? Oder die Bildagenturen, weil sie die Daten nicht richtig importieren?

Technisch gesehen hat Adobe keine Schuld. Laut IPTC-Standard dürften für den alten Legacy IPTC-IIM-Standard nur ASCII-Zeichen verwendet werden, da sind nun mal keine Sonderzeichen dabei. Laut dem neuen XMP-Standard, in dem Adobe die Metadaten speichert, dürfen Sonderzeichen ausdrücklich benutzt werden und bei den meisten Bildagenturen klappt der Import auch.

Probleme machen vor allem einige deutsche Bildagenturen. Bei mir tritt das Problem bei diesen Agenturen auf:

  • Bildmaschine
  • Bildunion
  • ImagePoint
  • Digitalstock

Das bedeutet oft, dass deren Agentursoftware nicht die neuen XMP-Metadaten ausliest, sondern die ebenfalls immer automatisch mitgelieferten alten IPTC-Core-Metadaten.

Ich habe bei jeder Agentur nachgefragt und folgende Antworten bekommen:

  • Bildmaschine kennt das Problem und versucht, mit der Einführung des neuen Fotografen-Backends auch den Metadaten-Import zu aktualisieren. Die Umstellung auf den neuen Fotografen-Bereich ist aktuell für Mai 2011 geplant.
  • Bildunion antwortete kurz: „Wir kennen das Problem und werden das schnellstmöglich korrigieren.“
  • Bei ImagePoint scheint zwar der Import die falschen Sonderzeichen anzuzeigen (siehe Screenshot oben), aber beim Durchlaufen des internen Prüfsystems werden die Daten neu berechnet und die Umlaute danach wieder korrekt angezeigt. Wir haben das mit einigen meiner Fotos getestet und es funktioniert.
  • Digitalstock hat das Problem zur Kenntnis genommen, ist aber mehr damit beschäftigt reihenweise Bilder abzulehnen als sich um das Problem zu kümmern. Scherz beiseite: Digitalstock ist informiert und will sich darum kümmern. Viel Hoffnung habe ich jedoch nicht, dass es schnell geschehen wird.

Was ist die Lösung?

Naheliegend wäre, die Verschlagwortung einfach mit einem anderen Programm zu machen. Das ist aber keine Lösung, weil Photoshop bei einer nachträglichen Bearbeitung einer Datei wieder alle Metadaten im UTF8-Zeichenformat speichern würde. Im Idealfall würden alle betroffenen Bildagenturen den neuen XMP-Standard benutzen. Der kann übrigens theoretisch sogar die Model- und Property-Releases automatisch zuordnen. Den obigen Antworten nach sollte das bald geschehen sein. Bis dahin hilft nur ein Umweg.

Was ist die Notlösung?

Das kleine kostenlose Freeware-Programm ExifTool erlaubt zahlreiche Eingriffe in IPTC-Daten. Zum Beispiel kann damit vorgegaukelt werden, ein Foto wäre mit einer Hasselblad gemacht worden, obwohl es nur eine Canon war und ähnliches. In unserem Fall brauchen wir aber das Feature, was uns erlaubt, Zeichensätze umzuwandeln, genauer beschrieben in FAQ 10.

Bei mir sieht das konkret so aus: Ich habe mir das Programm exiftool.exe runtergeladen. Da es ein Kommandozeilen-Programm ist, kann ich eine Batch-Datei anlegen.Wie das geht? Ihr erstellt eine .txt-Datei, die genauso wie das Hauptprogramm heißt (also exiftool.txt) und schreibt darin:

exiftool -tagsfromfile @ -iptc:all -codedcharacterset= %*
pause

Danach speichert ihr die Textdatei und benennt sie in „exiftool.bat“ um. Die bat-Datei und exe-Datei müssen im gleichen Ordner liegen. Wenn ihr jetzt eure JPG-Dateien im gleichen Ordner habt, müsst ihr sie nur auf die bat-Datei ziehen und das Programm wandelt den Zeichensatz zurück in das alte ISO-Format, mit dem alle Agenturen klarkommen. Wer etwas fitter mit Kommandozeilen ist, kann sich das Ganze auch anders oder bequemer programmieren. Den obigen „Pause“-Befahl habe ich nur eingefügt, damit ihr eine Bestätigung seht, dass alles korrekt konvertiert wurde. Wer Ahnung hat, kann das weglassen. Exiftool erstellt übrigens eine Sicherheitskopie von jeder umgewandelten Datei, ihr braucht also keine Angst zu haben, etwas unwiderruflich falsch zu machen.

Wie sieht es bei euch aus? Welche Erfahrungen habt ihr mit Umlauten gemacht? Welche Agenturen bereiten Probleme? Welche Lösungen habt ihr für euch gefunden?

(Danke an ManfredG für seine Hinweis in diesem Thread)