Auf dieser Seite werden einige der Möglichkeiten die Fib bietet Beispielhaft vorgestellt. Diese stellen allerdings nur eine kleine Auswahl der Möglichkeiten mit Fib dar.

Möglichkeiten der Fib-Multimediasprache

Die Fib-Multimediasprache ist unabhängig von bestimmten Kodier-Algorithmen. Sie können mit ihr frei Ihre Ideen (mit eigenen Algorithmen) umsetzen. Fib lässt Ihnen als freies Multimediaformat alle Möglichkeiten offen. Im Nachfolgenden sind einige dieser Möglichkeiten aufgelistet.

Objekte strukturieren

Die Fib-Multimediasprache ist objektorientiert. Es können mit Fib Objekte unterschieden und Objekte zu neuen Objekten zusammengefasst werden.
Damit können die Beziehungen der Objekte in einem Multimediaobjekt direkt analysiert und ausgewertet werden.
Beispiel: Königspinguin strukturiert in seine Unterobjekte

Zurück nach oben

Objekte kommentieren

Jedes Fib-Objekt kann mit einem speziellen comment-Element kommentiert werden.
Diese Kommentare können Beispielsweise genutzt werden, um nach bestimmten Inhalten, Objekten und Beziehungen zu Suchen. Durch die Kommentare können aber auch einzelne Objekte im Multimediaformat mit Copyright Vermerken versehen werden.
Beispiel: König Wilhelm I mit kommentierten Objekten

Zurück nach oben

Objekte wiederverwenden

Fib gibt Ihnen die Möglichkeit Objekte wiederzuverwenden. Sie können Objekte erstellen wie Linien, Dreiecke oder Zeichen und diese über Parametern steuern (z. B. Startpunkt, Länge und Richtung bei Linien).
Wenn ein Objekt mehrmals (ähnlich) in einem Multimediaobjekt auftauchen, muß so diese Objekt nicht jedes mal neu beschrieben werden. Das spart Speicherplatz und macht die Analyse des Multimediaobjekts einfacher.
Auf diese Weise können auch Texturen (z. B. ein Tapetenmuster oder Rasen) mit wenigen Objekten realisiert werden.
Beispiel: sich wiederholende Muster

Zurück nach oben

Anwendungsspezifische Objekte

Mit der Möglichkeit Objekte zu deklarieren und über Parametern zu steuern, kann auch jede Anwendung ihre Objekte in ein Fib-Multimediaobjekt einbringen. Für Zeichenobjekte wie Punkte, Linien und Rechtecke in Grafikanwendung können einfach die entsprechenden Fib-Objekte mit den benötigten Parametern als Schablonen erstellt und beim Abspeichert verwendet werden. Diese Objekte können vom selbem Programm beim Laden auch wieder erkannt werden und stehen damit wieder zur weiteren Manipulation zur Verfügung.
Damit können mit Fib-Anwendungsspezifische Multimediaobjekte gespeichert werden, die auch von anderen Anwendung (die mit Fib umgehen können) angezeigt, erkannt und geändert werden können.

Zurück nach oben

Fib lesen und in Fib schreiben

Beispiel: Quelltext eines Fib-Objekts Im Gegensatz zu vielen anderen Multimediasprachen können Fib Multimediaobjekte als XML-Textdateien lesbar dargestellt werden.
Damit ist es möglich Fib-Objekte mit einem Texteditor zu lesen und zu schreiben, wie normalen Quellcode. Fib Objekte können damit per Hand und sehr einfach auf die jeweiligen Bedürfnisse zugeschnitten werden. Auch könne Fib-Objekte wie normaler Quellcode in Versionsverwaltungssystemen abgelegt werden. Unterschiede und Änderungen können dann mit den übliche Mitteln angezeigt und ausgewertet werden.
Die Arbeitsweisen von Algorithmen auf Fib kann besser verstanden werden, da die Auswirkungen dieser in Fib besser analysiert werden können.

Zurück nach oben

Beliebige Eigenschaften verwenden

Beispiel: verschiedene Eigenschaften angeben

Fib begrenzt sie nicht in den Eigenschaften die Sie in einem Multimediaobjekt verwenden können. Ob sie Beispielsweise RGB-Farben, Töne oder Temparatur abbilden wollen oder gleich alle Zusammen bleibt Ihnen überlassen.
Mit Fib können auch bestimmten Objekten bestimmte Eigenschaften zugeordnet werden, Beispielsweise dem ganzen Fön ein brummendes Geräusch und seinen Teilen ihre entsprechende Farbe.
Diese Informationen stehen dann jedem zur Verfügung der auf das Multimediaobjekt zugreift und können auch (automatisch) ausgewertet werden.

Zurück nach oben

Sehr große Multimediaobjekte

Die größe der Fib-Multimediaobjekte ist praktisch unbegrenzt. Da es für den Speicheraufwand von Fib-Objekte praktisch unerheblich ist wie groß es ist, sondern nur der Inhalt (z.B. die Objekte in ihm) zählen, können auch sehr große Räume mit Fib abgebildet werden.
Beispiel: Sehr große Multimediaobjekt mit ganzem Planetensystem

Zurück nach oben

Groß aber wenig komplex: kein Problem mit Fib

Mit Fib können Objekte und Schablonen erstellt werden die immer wieder verwendet werden. Anstatt Beispielsweise also ein Rechteck immer wieder neu zu definieren, kann einmal ein Fib Objekt als Schablone für ein Rechteck erstellt werden, welche dann immer wieder verwendet wird.
Weiterhin ist es möglich solche Objekte nicht nur einfach wiederzugeben, sondern diese können auch transformiert werden. Damit kann Beispielsweise wiedergegeben werden, dass sich ein Rechteck auf einer gekippten Ebenen oder Kugel befindet.
Durch diese Möglichkeiten ist der Speicheraufwand eines Multimediaobjekts nicht von dessen Größe (im Sinne von Ausdehnung in den Dimensionen, also beispielsweise die Anzahl der Punkte bei Bildern) abhängig, sondern vielmehr von dessen Komplexität.
Example: Fractal image

Zurück nach oben

Ein Objekt unendliche Darstellungsmöglichkeiten in Fib

Fib ist sehr felexibel in den Darstellungsmöglichkeiten. So kann ein Objekt auf verschiedenste Weisen in Fib abgebildet werden. Damit kann man z. B. den verschiedenen Anwendungsbereichen Rechnung tragen.
Hat man Beispielsweise eine Anwendung die sehr gut mit Dreiecken arbeitet (z. B. OpenGL), können die Objekte mit Dreiecken in Fib dargestellt werden. Ist die Anwendung besser bei horizontalen Linien, werden stattdessen einfach Linien verwendet.
Auch können Objekte von Multimediaobjekten, die in Fib abgebildet werden sollen, ersteinmal mit einfachen Strukturen abgebildet werden, die schnell gefunden werden können. Steht dann noch weitere Rechnerzeit zur Verfügung, können für diese Objekte auch noch komplizierte und vorteilhaftere (z.B. weil sie weniger Speicherplatz benötigen) Strukturen gesucht werden und die bisherigen einfacheren Strukturen durch diese ersetzt werden.

Zurück nach oben

Möglichkeiten mit dem genetischen Algorithmus für Fib

Normale Algorithmen zum kodieren von Multimediaobjekten sind meist nicht von jedem veränderbar, deterministisch und suchen nach ganz bestimmten Strukturen. Der genetischen Algorithmus für Fib ist ein anderer Ansatz. Er ist nicht dafür gebaut möglichst schnell zu sein, sondern um möglichst viel Freiheiten zu geben und zu nutzen.
Im nachfolgenden werden einige der Vorteile des genetischen Algorithmus (GA) für Fib vorgestellt.

Zurück nach oben

Testen ihrer Kodierungsideen

Welcher Algorithmus ist zum kodieren von Multimediadaten der beste?
Im Allgemeinen kann auf diese Frage keine Antwort gegeben werden. Ein Bild mag gut mit klar abgegrenzten Flächen zu kodieren sein, ein anderes hingeben enthält eher sich immer wiederholende Muster, in einem dritten Bild mögen sogar beide Strukturen in verschiedenen Bereichen vorkommen.
In dem genetischen Algorithmus (GA) für Fib kann jeder seine eigenen Kodierungsideen einbringen.
So können Beispielsweise Forschungseinrichtungen ihre Algorithmen zum kodieren von Bildern testen, indem sie diese einfach in einem Operator für den GA verpacken. Diese Operatoren können dann der Allgemeinheit zur Verfügung gestellt werden, so dass die Forschungsergebnisse direkt und praktisch den Menschen zu gute kommen. Es kann sogar damit ermittelt werden wie gut dieser Kodierungalgorithmus in vergleich zu anderen Kodierungalgorithmen ist, da der GA diese Bewertet.
Der genetischen Algorithmus sammelt Ideen

Zurück nach oben

Hintergrund Prozessorleistung nutzen

Wieviel Zeit darf es Sein?
Bei normalen Multimedialgorithmen hängt dies nur von den Multimediadaten und den Optionen ab und ist im vorhinein schwer zu bestimmen. Diese Algorithmen brauchen eine bestimmte Zeit und genau diese, unabhängig davon wieviel Zeit Sie wirklich haben.
Der genetische Algorithmus für Fib (Fib GA) nutzt die Zeit die Sie ihm geben.
Ein Multimediaobjekt direkt nach Fib zu übersetzen, ist relative einfach und schnell, allerdings ist damit das Potential von Fib bei weitem nicht ausgenutzt. Verschiedene Kodierungsalgorithmen können wesentlich mehr aus Fib herausholen, wenn sie nur die Zeit dafür bekommen. Es ist im Fib nur sehr schwer zu sagen, ob ein bestimmtes Fib-Objekt das Multimediaobjekt wirklich optimal kodiert, da Fib soviele Möglichkeiten bietet. Daher ist es nur vorteilhaft wenn der Kodierungsalgorithmus für Fib alle Möglichkeiten und Zeit nutzt die ihm günstig zur Verfügung stehen.
Der genetische Algorithmus für Fib wird solange weiterarbeiten und Algorithmen, bzw. Operatoren, ausprobieren, wie ihm Zeit zur Verfügung steht. Hat er mehr Zeit, hat er auch mehr Möglichkeiten die Kodierung weiter zu verbessern.
Beispiel: Bildschirmfoto GA komprimiert Bild

Zurück nach oben

Wachstum ohne Komplexitätszunahme

Große Programmsysteme beinhalten meist auch viele Abhängigkeiten und sind deshalb sehr komplex. Solche Programmsysteme zu Pflegen und zu Erweitern stellt eine besondere Herausforderung da. Wenn jemand ein solches System erweitern will, wird es ihm einige Mühen kosten und mit jeder Erweiterung wird das Ganze noch schwieriger.
Der genetischen Algorithmus (GA) für Fib ist anders. Zusätzliche Operatoren, also Code zum Verbessern von Fib-Objekten, müssen sich nur um sich selbst kümmern, sie lassen also den GA Kernalgorithmus und andere Operatoren unverändert.
Jemand der neue Ideen in den GA einbringen will, muss also nur die Schnittstelle des GA Kernalgorithmus und die Fib Sprachelemente kennen. Um das was andere für Kodierungsideen implementiert haben, braucht er sich nicht zu kümmern. Die Schnittstelle des GA Kernalgorithmus und die Fib Sprachelemente bleiben aber beim Einbringen von neuen Ideen bzw. Operatoren unverändert. Das System kann also wachsen, ohne das zukünftige Entwickler mit mehr Komplexität zurechtkommen müssen.

Zurück nach oben