Next: Überdeckung von Fib-Objekten
Up: Weitere Annahmen zu Fib
Previous: Weitere Annahmen zu Fib
Contents
Index
Warum ist eine effizientere Kodierung mit Fib als beim "Pixelbild" möglich?
Mit Hilfe von Fib lassen sich zumindest einfache (strukturierte) Bilder mit Fib-Objekten kürzer darstellen.
Beispiel:
Ein RGB-Farben-Bild ([r,g,b]-Vektor) mit 1.000 Pixeln horizontal und vertikal, mit schwarzem Hintergrund und einem weißen Rechteck in der oberen linken Ecke, das bis zur Mitte des Bildes reicht (Siehe Abbildung
10)
Figure:
Beispielbild: 1000 x 1000 Pixel, schwarzer Hintergrund mit weißem Rechteck
|
Eine Fib-Darstellung:
root( ( 1, 0 ) , , ( ( dim(2, 1, 2), vector( 2, naturalNumber(999), naturalNumber(999) ) ), ( property(colorRGB), vector( 3 , naturalNumber(255), naturalNumber(255) , naturalNumber(255) ) ) ), , , , list( for( y,
(0;999)
, for( x,
(0;999)
, pr(
, p((x,y)) ) ) ), for( x,
(5;500)
, for( y,
(5;500)
, pr(
, p((x,y)) ) ) ) ) , , )
Größenvergleiche einiger Formate:
- Fib: Länge dieses Fib-Objektes: 315 Bytes (Anzahl der Zeichen im String oberhalb, in der er in einer Textdatei gespeichert werden könnte)
- Bitmapbild (ohne Header): 3 Bytes pro Punkt für RGB * 1.000 * 1.000 = 3.000.000 Bytes
- JPG: Byte mit Gimp: Qualität 85 und optimiert; Byte mit Gimp: Qualität 85 und optimiert;
An diesem Beispiel ist ersichtlich, dass das Fib-Objekt eine wesentlich kürzere Darstellung ermöglicht.
Zumindest für dieses Beispiel ist eine gute Komprimierung mit Fib möglich. Die Fib-Darstellung stellt eine Verkleinerung um den Faktor von rund zu Bitmapbildern und zu JPG dar.
Beispiel höhere Auflösung:
Um das Verhalten von Fib-Multimediaobjekten bei einer Erhöhung der Auflösung zu veranschaulichen, sei hier das obige Beispiel mit doppelter Auflösung ausgeführt.
Grundlage ist also ein RGB-Farben-Bild ([r,g,b]-Vektor) mit 2.000 Pixeln horizontal und vertikal, mit schwarzem Hintergrund und einem weißen Rechteck in der oberen linken Ecke, dass bis zur Mitte des Bildes reicht (Siehe Abbildung
10).
Eine Fib-Darstellung:
root( ( 1, 0 ) , , ( ( dim(2, 1, 2), vector( 2, naturalNumber(1999), naturalNumber(1999) ) ), ( property(colorRGB), vector( 3 , naturalNumber(255), naturalNumber(255) , naturalNumber(255)) ) ), , , , list( for( y,
(0;1999)
, for( x,
(0;1999)
, pr(
, p((x,y)) ) ) ), for( x,
(10;1000)
, for( y,
(10;1000)
, pr(
, p((x,y)) ) ) ) ) , , )
Größenvergleiche einiger Formate:
- Fib: Länge dieses Fib-Objektes: 321 Bytes (Anzahl der Zeichen im String oberhalb, in der er in einer Textdatei gespeichert werden könnte)
- Bitmapbild (ohne Header): 3 Bytes pro Punkt für RGB * 2.000 * 2.000 = 12.000.000 Bytes
- JPG: 29127 Byte mit Gimp: Qualität 85 und optimiert; 26942 Byte mit Gimp: Qualität 15 und optimiert;
Da die Komplexität des Bildes sich nicht erhöht hat, ist die Größe der Fib-Darstellung annähernd gleich geblieben. Es wurde nur etwas mehr Platz für die größeren Werte benötigt.
Sowohl für die Bitmapbild- als auch für die JPG-Darstellung hat sich der Speicherbedarf ungefähr vervierfacht. Der Speicherbedarf stieg bei beiden also linear mit der Anzahl der Pixel. Dadurch konnte Fib seinen Vorsprung bei der Komprimierung weiter ausbauen.
Die Fib-Darstellung stellt eine Verkleinerung um den Faktor von rund 37000 zu Bitmapbildern und 91 zu JPG dar.
Wenn also die Komplexität von Bildern weniger als liniear mit deren Inhaltsgrößen (also der Anzahl der enthaltenden Punkte, d. h. nicht quadratisch mit deren Auflösung) steigt, werden die Komprimierungsvorteile für Fib, zumindest gegenüber Bitmap und JPG, mit zunehmender Größe der Bilder auch zunehmen.
Tauchen Strukturen auf Bildern mehrfach auf, erhöht dies die Komplexität des Bildes nicht so sehr wie völlig neue Strukturen. Mit Fib können mehrfach auftauchende ähnliche Strukturen abgedeckt werden, wahrscheinlich oft durch einen Strukturprototyp, der dann jeweils transformiert wird. Auf den meisten aufgenommenen Bildern ist es üblich, dass Strukturen in ähnlicher Weise häufiger auftauchen. Beispiele dafür sind Vierecke, Fenster eines Hauses oder auch Grashalme. Mit Vergrößerung der Aufnahme wird daher wahrscheinlich nicht die Anzahl der unterschiedlichen Strukturen, und damit die Komplexität für Fib, linear mit der Zunahme an Pixeln steigen, sondern es werden eher weniger neue Strukturen auftauchen, dafür aber werden ähnlich Strukturen öfter auftauchen. Dies gibt natürlich Fib einen Vorteil gegenüber Bitmap und JPG bei der Komprimierung größerer Bilder.
Eine Aussage im Allgemeinen über die Komprimierungsmöglichkeiten von Fib kann aber leider wegen der möglichen großen Komplexität von Fib-Objekten nicht getroffen werden. Es ist aber zu erwarten, dass die Komprimierungsmöglichkeiten mit Verringerung der Komplexität der Multimediaobjekte (z. B. Bilder), bzw. der Objekte auf diesen, zunimmt.
Next: Überdeckung von Fib-Objekten
Up: Weitere Annahmen zu Fib
Previous: Weitere Annahmen zu Fib
Contents
Index
Betti Österholz
2013-02-13