Gezielte Redundanz?
Quelle: Dt. Fotothek |
Auf der DV-Tagung der Max-Planck-Gesellschaft 2014 kam während eines Vortrages eine interessante Frage
auf: „Warum nicht bestmögliche Kompression verwenden und das
komprimierte Objekt dann mit gezielter Vorwärtsfehlerkorrektur
behandeln?“
Die Idee hat was. Hier ein paar der gesammelten Argumente pro und contra:
Nehmen wir mal als Beispiel einen klassischen Buch-Scan in 300dpi. Als unkomprimiertes Bild (mit 1717x1027 Pixeln) im TIFF 6.0 baseline belegt es 31MB.
Mit jpeg2000 baseline ist das Bild auf 17MB (verlustfrei) eingedampft (PNG 18MB). Damit stünden 31-17=14MB für künstliche Redundanzen zur Verfügung.
Unter Verwendung von vdmfec wäre es beispielsweise möglich, diese Redundanzen hinzuzufügen. Mit den Default Werten von n=18 und K=14 und der eingestellten Blockgröße von 1024*1024Bytes=1MB würden n=18 Blöcke für jeden der K=14 Eingabeblöcke geschrieben, es könnten also n-K=4 aus jeder der n-Blöcke verloren gehen.
Für das obige Bild würden sich dann 22MB Speicherplatz für die gesicherte Fassung ergeben.
In dem Fall ließe sich eine Ersparnis von 31-22=9MB erzielen und das Bild wäre trotzdem gegen Blockverluste geschützt.
Leider kodiert vdmfec nicht die Parameter bei der Erstellung der fehlerkorrigierten Datei mit. Welche Vorwärtsfehlerkorrekturprogramme bzw. -formate sinnvoll wären, wäre dann aber einen eigenen Beitrag wert.
Die Idee hat was. Hier ein paar der gesammelten Argumente pro und contra:
Pro
- Spart Plattenplatz zumindest bei stark redundanten Dokumenten, wie zB. Videomaterial
- An den Schutzgrad anpassbare Fehlerkorrektur. Wenn Material plötzlich besonders gesichert werden muss, dann kann man den Schutzgrad individuell erhöhen
- Gerade für Objekte, für die nur Bitstream Preservation in Frage kommt, kann individuellerer Schutzgrad festgelegt werden
- Zahl der Kopien kann ggf. auf zwei reduziert werden
- Redundanz wird zielgerichtet ausgenutzt
Contra
- erhöhter Aufwand beim Erstellen und Prüfen der Vorwärtsfehlerkorrektur
- es ist immer "Auspacken" notwendig um auf die Inhalte zuzugreifen
- Das Verpacken ist eine zusätzliche Fehlerquelle
- Kompression und Vorwärtsfehlerkorrektur sind sehr rechenaufwändig
- Funktioniert nur, wenn sich durch Kompression mehr an Bits einsparen lässt, als für die angestrebte Fehlerkorrektur notwendig ist
- Für die richtige Auswahl des Schutzes sollte Bitfehlerverteilung bekannt sein
- Komplexität erschwert das Verständnis des Inhaltes
Eine kleine Rechnung
Nehmen wir mal als Beispiel einen klassischen Buch-Scan in 300dpi. Als unkomprimiertes Bild (mit 1717x1027 Pixeln) im TIFF 6.0 baseline belegt es 31MB.
Mit jpeg2000 baseline ist das Bild auf 17MB (verlustfrei) eingedampft (PNG 18MB). Damit stünden 31-17=14MB für künstliche Redundanzen zur Verfügung.
Unter Verwendung von vdmfec wäre es beispielsweise möglich, diese Redundanzen hinzuzufügen. Mit den Default Werten von n=18 und K=14 und der eingestellten Blockgröße von 1024*1024Bytes=1MB würden n=18 Blöcke für jeden der K=14 Eingabeblöcke geschrieben, es könnten also n-K=4 aus jeder der n-Blöcke verloren gehen.
Für das obige Bild würden sich dann 22MB Speicherplatz für die gesicherte Fassung ergeben.
In dem Fall ließe sich eine Ersparnis von 31-22=9MB erzielen und das Bild wäre trotzdem gegen Blockverluste geschützt.
Leider kodiert vdmfec nicht die Parameter bei der Erstellung der fehlerkorrigierten Datei mit. Welche Vorwärtsfehlerkorrekturprogramme bzw. -formate sinnvoll wären, wäre dann aber einen eigenen Beitrag wert.