Landeswappen Baden-Württemberg

Aktuelle Hinweise

Ausstellungen

Veranstaltungen

Presse/Berichte

Neue Publikationen

Laufende Projekte

Nachrichtenarchiv

Unser Selbstverständnis

Landesarchiv

Aufgaben und Dienstleistungen

Rechtsgrundlagen

Organisation

Ansprechpartner/innen

Projekte

Jahresberichte

Publikationen

Ausbildung und Praktika

Vergabeverfahren

Stellenausschreibungen

Präsentationen und Inventare

Landeskunde entdecken online (LEO-BW)

Württembergisches Urkundenbuch Online

Karoline Luise von Baden – Kunst und Korrespondenz

Auswanderung aus Südwestdeutschland

Klöster in Baden-Württemberg

Landesforschung und Landesbeschreibung

Angebote für Schulen und Gruppen

Mitmachprojekte des Landesarchivs

Aktenaussonderung

Elektronische Systeme

Historischer Wert

Ihr Landesarchiv

Ansprechpartner im Archiv

Übergabeverzeichnisse

Wie nutzen Sie das Landesarchiv?

An welche Archivabteilung können Sie sich wenden?

Recherche & Bestellung

Mein Konto

Recherchehilfen & Dienstbibliotheken

Öffnungszeiten

Rechtsgrundlagen und Formulare

Kopien und Reproduktionen

Landesarchiv >> Projekte >> Workflow und Werkzeuge zur digitalen Bereitstellung größerer Mengen von Archivgut >> Projektergebnisse online >> Das Modul Bildbearbeitung

Das Modul Bildbearbeitung

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.

Überblick

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.

Erste Schritte

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.

Hard- und Software

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.

Systemkonfiguration und Bildvorbereitung

Die Bildbearbeitung funktioniert nur, wenn der Rechner Server und Client zugleich ist. Die Arbeitsverzeichnisse für die PHP-Skripte und die Bilder können mit der Konfiguration (siehe Abbildung 1) eingestellt werden. Die PHP-Skripte und die Bilder werden im htdocs-Verzeichnis des Webservers bzw. in seinen Unterverzeichnissen abgelegt und ausgeführt.

Screenshot der Konfigurationsseite.
Abb. 1: Konfigurationsseite.


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.

Vorbereitung von Photoshop

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.

Screenshot von Adobe Photoshop bei der automatischen Bearbeitung.
Abb. 2: Photoshop bei der automatischen Bearbeitung.

Programmablauf und Zeitbedarf

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.

Screenshot DeBabelizer für die Optimierung der Bildbearbeitung.
Abb. 3: Optimierung durch den DeBabelizer.


Leider besitzt DeBabelizer die unangenehme Eigenschaft, nach einigen 10.000 Bildern die Verarbeitung aus unbekannten Gründen abzubrechen. In einem Test war das nach ca. 36.000 Segmenten der Fall, die aus 900 digitalisierten Archivalien hervorgingen. Daher sollten die Bilder in entsprechend aufgeteilten Portionen verarbeitet werden.

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.

Screenshot Dateiabgleich von Bildern über Ausgabeverzeichnisse.
Abb. 4: Abgleich von Bildern mit Ausgabeverzeichnissen.


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.