
Tilo Wütherich
Eine ausführliche Darstellung finden Sie bei: Tilo Wütherich: Ein Modul für die serienmäßige Aufbereitung von Digitalisaten. In: Kulturgut aus Archiven, Bibliotheken und Museen im Internet. Neue Ansätze und Techniken (Werkhefte der Staatlichen Archivverwaltung Baden-Württemberg). Stuttgart 2004.
Das Modul Bildbearbeitung wurde innerhalb des Projektes eingesetzt, um eine größere Anzahl von Bildern automatisch bearbeiten zu können: in einem Durchgang waren dies bis ca. 900 Bilder mit insgesamt 4-5 GB Datenvolumen. Die Verarbeitungsschritte werden im Autorensystem als Teil des Dateinamens den einzelnen Bildern hinzugefügt.
Zunächst ermittelt ein Sachbearbeiter für jedes Bild die individuellen Bearbeitungsschritte. Darunter fallen Parameter wie Größe, Segmentzahl oder Drehung. Bei anderen, wie z.B. der Farbtiefe, genügen pauschale Werte für eine ganze Serie. Diese werden vor dem Start der Bildbearbeitung in der Konfiguration des Moduls festgelegt. Wir haben für Schwarzweiß-Scans meist 4 Bit Farbtiefe (=16 Grautöne) gewählt, für Farbscans hingegen 6 bis 8 Bit (64 bis 256 Farben). Die automatische Bearbeitung wird zuerst mit Photoshop, dann mit der GD-Lib Erweiterung von PHP und zuletzt mit DeBabelizer Pro durchgeführt. Da sie verschiedene Software und Programmiersprachen verbindet, dürfte sie sich auf jedem Computersystem anders verhalten und muss ggf. angepasst werden. Die unten genannten Voraussetzungen geben deshalb nur die Mindestanforderungen wieder.
Das Programm wurde auf einem handelsüblichen PC mit Windows 2000, Athlon-Prozessor und 512 MB RAM entwickelt. Der Hauptspeicherbedarf richtet sich vor allem nach Photoshop, der den größten Ressourcenverbrauch hat. Das Programm funktioniert beispielsweise auch auf einem Pentium 3 unter Windows 98 mit 128MB RAM, wenn auch etwas langsamer. Die Grafikkarte sollte 32 Bit Farbtiefe unterstützen und es sollte ein Röhrenmonitor verwendet werden, um die Bildqualität richtig beurteilen zu können. LCD-Bildschirme sind ungeeignet, da bei diesen Bildfarbe, Helligkeit und Kontrast stark vom Einblickwinkel abhängig sind.
Die Festplatte muss genügend freien Speicherplatz haben, da durch die Datenbearbeitung die zwischengespeicherte Datenmenge auf ein Mehrfaches der Ausgangsdatenmenge anwachsen kann. Das ist jedoch durch die Bearbeitungsparameter sehr variabel. Am besten ist es, wenn man die Bildbearbeitung auf einer gesonderten Festplatte bzw. Partition betreibt.
Bei der Entwicklung kam die unten genannte Software zum Einsatz. Bei Abweichungen, insbesondere neueren Versionen, kann nicht für das Funktionieren garantiert werden.
Die zu verarbeitenden Bilddateien müssen einer bestimmten Namenskonvention genügen, um von PHP richtig interpretiert zu werden. Der Dateiname ist durch Unterstriche in einzelne Segmente aufgeteilt und weist grundsätzlich drei Bestandteile auf.
Ein gültiger Dateiname ist z.B. 00260_t_99_50%_7sg_links.png: der spätere Datei- bzw. Unterverzeichnisname ist 00260_t_99. Mit 50% wird die Größenänderung angegeben, 7sg legt die Anzahl der zu erzeugenden Segmente fest, links bewirkt die Drehung um 90° nach links. Die Segmentierung wird von PHP und GD-Lib übernommen, 7sg bewirkt eine Aufteilung des Bildes in 7 mal 7 (=49) Teilbilder.
In Photoshop (siehe Abbildung 2) müssen zunächst die gewünschten Aktionen erstellt werden. Wir haben folgende Aktionen definiert: Verkleinern in 5%-Stufen, 90°-Drehung nach links oder rechts, Scharfzeichnen und Vorschau, wobei ein kleines Vorschaubild erstellt wird. Aus Rücksicht auf Internetnutzer mit Analogmodem sollte man eine angemessene Segmentgröße im Bereich von wenigen 10 Kilobyte wählen, etwa 20-40 KB. Wir haben meist Zahlen zwischen 25 (5 x 5, z.B. bei den eher kleinen Siegeln) und 225 (15 x 15, bei großen Farbscans von Urkunden) benutzt.
|
Die Bilder werden sequentiell abgearbeitet, d.h. eines nach dem anderen fertiggestellt. Je nach Voreinstellung wird ein Bild zuerst geprüft, ob es sich öffnen lässt. Im nächsten Schritt analysiert PHP den Dateinamen. Anhand dieser Informationen werden zum einen Visual-Basic Skripte für die Photoshopaktionen erstellt und ausgeführt, zum anderen auch die Segmentierung mit der GD-Lib festgelegt. Dabei wird ein Bild mehrmals (bis viermal) geladen und gespeichert, was zeitintensiv aber technisch leider nicht anders machbar ist. Mit einer schnellen Festplatte erzielt man hier einen deutlichen Zeitgewinn. Diese Aktionen werden protokolliert und in einem eigenen Browserfenster ausgegeben. Im Zuge der Verarbeitung werden also aus einem Bild mit dem Namen 00260_t_99_....png eine Anzahl Segmente erzeugt, die in einem Verzeichnis mit dem Namen 00260_t_99 abgelegt werden. Es hat sich als sehr vorteilhaft erwiesen, die Bilder nochmals durch DeBabelizer Pro (siehe Abbildung 3) überarbeiten zu lassen. Diese Software ist besonders dafür geeignet, durch Farbreduzierung bzw. Erstellen von Farbpaletten und Anwendung von komprimierten Formaten die Dateigrößen zu reduzieren. In der Praxis konnte damit nochmals eine Verringerung beim Speicherbedarf von ca. 80% erreicht werden. DeBabelizer kann über Stapelverarbeitung (Batchskripte) gesteuert werden. Der Workflow besitzt die Option, ein vordefiniertes Skript am Ende der Bildbearbeitung zu starten. Diese unterliegt dann jedoch keiner Kontrolle mehr durch PHP und wird auf alle Dateien im Ausgabeverzeichnis angewendet.
|
Mit der Funktion Dateiabgleich (siehe Abbildung 4) ist es möglich, den Inhalt von zwei Verzeichnissen zu vergleichen, wobei die Dateinamen im einen Verzeichnis mit den Unterverzeichnisnamen im anderen verglichen werden. Das ist z.B. hilfreich, wenn man wissen möchte, welche Bilder schon fertig bearbeitet wurden.
|
Eine Bearbeitung von 100 Bildern mit durchschnittlich 3,68 MB Größe hat bei den verschiedenen Bearbeitungsschritten auf einem 800 MHz Athlon mit 512 MB RAM unter Windows 2000 ungefähr folgenden Zeitbedarf:
| Arbeitsschritt | Dauer ca. |
| Bilder prüfen | 2 Min. |
| Verschieben der Dateien in die Zwischenverzeichnisse | 2 Min. |
| VB-Skripte schreiben | < 1 min. |
| Bildbearbeitung durch Photoshop (laden, Größe ändern, Kontrast ändern, scharf zeichnen, teilweise drehen, abspeichern) | 13 Min. |
| Vorschaubilder erstellen durch Photoshop (laden, Größe ändern, Kontrast ändern, scharf zeichnen, teilweise drehen, abspeichern) | 6 Min. |
| Segmente erstellen durch die PHP-Erweiterung GD-Lib (laden, segmentieren, Unterverzeichnisse erstellen, abspeichern) | 6 Min. |
| Bearbeitung mit DeBabelizer (laden der Segmente, erstellen einer individuellen Festplatte, abspeichern mit reduzierter Farbtiefe) | 18 Min. |
| Insgesamt | 47 Min. |
Tabelle 1: Bearbeitungszeiten im Überblick.
Es hat sich gezeigt, dass das Zusammenspiel der verwendeten Software bei sehr großen Datenmengen bzw. Ausführungszeiten (mehrere Stunden) seine Tücken hat. Timeouts können bei falscher Konfiguration unvermittelt die Skripte beenden. Falls ein Problem mit browserspezifischen Timeouts auftritt, kann ein anderer Browser benutzt werden, wie z.B. Mozilla oder Netscape, oder aber man kann die Bildbearbeitung auch über die Kommandozeile starten. Dazu werden erst über die Html-Oberfläche die gewünschten Einstellungen vorgenommen, dann wird die Bearbeitung über die Eingabemaske durch den Aufruf von gesamt.php gestartet. In Tests ergaben sich damit keine Timeout-Probleme mehr, auch nicht bei Ausführungszeiten von über drei Stunden.