On this page some of the possibilities Fib offers are exemplified. However, these represent only a small selection of possibilities with Fib.

Possibilities with the Fib multimedia language

The Fib multimedia language is independent of specific coding algorithms. You can implement your ideas freely with it (with your own algorithms). Fib gives you as a free multimedia format all possibilities you like. Below some of these possibilities are listed.

Structuring objects

The Fib multimedia language is object oriented. With Fib you can distinguish objects and objects can be combined into new objects.
Thus, the relationships of objects in a multimedia object can be directly analyzed and evaluated.
Example: King penguin structured into its subobjects

Back to top

Comment objects

Every Fib object can be commented on with a special comment element.
These comments can be used for example to search for specific content, objects and relationships. You can also provide copyright notes for individual objects in the multimedia format.
Example: King William I with comments on objects

Back to top

Reuse objects

Fib gives you the ability to reuse objects. You can create objects such as lines, triangles or characters, and control these with parameters (such as the start point, length and direction of the lines).
If a (similar) object appear more than once in a multimedia object, this object must not be rewritten each time. This saves space and makes the analysis of the multimedia object easier.
In this way also textures (eg. a wallpaper pattern or a lawn) can be realized with just a few objects.
Example: repeating patterns

Back to top

Application specific objects

With the ability to declare objects and control them via parameters, any application can also introduce their objects into a Fib multimedia object. For drawing objects such as points, lines and rectangles in graphics applications, the corresponding Fib objects with the required parameters can be created as templates and used when storing the created objects. These objects can also be recognized again from the same application when loading the multimedia data and can be further manipulated.
In this way application specific multimedia objects can be stored in Fib, which also other applications (wich can handle Fib) can display, identify and change.

Back to top

Read Fib and write in Fib

Example: source code for a Fib object Unlike many other multimedia languages Fib multimedia objects can be displayed readably as XML text files.
This makes it possible to read and write Fib objects with a text editor like normal source code. Fib objects can thus be tailored by hand and so easily adapted to the respective needs. Also Fib objects can be stored like ordinary source code in version control systems. Differences and changes can then be viewed and evaluated with the usual agents.
The workings of algorithms on Fib can be better understood, as the impact of these can be better analyzed in Fib.

Back to top

Arbitrary properties can be used

Example: specify different properties

Fib dos not limited the properties you can use in a multimedia object. For example, if you want to represent RGB colors, sounds or temparature or all together is up to you.
With Fib you can also associate some specific properties to certain objects, for example, the entire hair dryer a humming noise and its parts, its corresponding color.
This information is then available to anyone accessing the multimedia object and can also be evaluated (automatically).

Back to top

Very large multimedia objects

The size of the Fib multimedia objects is practical unlimited. Since it is practically irrelevant for the memory requirements of a Fib objects how big it is, because only the content (for example, the objects in it) count, even very large spaces can be represented with Fib.
Example: Very large multimedia object with the whole planetary system

Back to top

Large but not very complex: no problem with Fib

With Fib separate objects and template can be created, which can be used again and again. For example, instead of constantly redefining a rectangle, once a Fib object as a template for a rectangle can be created, which is then used again and again.
Furthermore, it is possible to not just reproduce such objects, but they can also be transformed. So it can for example be reflected that a rectangle is on a tilted plane or a ball.
Through these possibilities the memory requirements of a multimedia object dos not depend on its size (in terms of expansion in the dimensions, for example, the number of points in images), but rather on its complexity.
Example: Fractal image

Back to top

One object but infinite possibilities of representations in Fib

Fib is very felexibel in the representation possibilities. Thus an object can be displayed in a variety of ways in Fib. This can for example take different application fields into account.
If you have, for example, an application that works very well with triangles (e.g. OpenGL), the objects can be represented by triangles in Fib. If the application is better for horizontal lines, you can use simply lines instead.
It is also possible for objects of multimedia objects, which should be converted to Fib, to be first converted into simple structures, that can be found quickly. If ther is still more computer time available, these objects can also be converted to more complicated and beneficial (for example because they require less storage space) structures, which replace the previous simpler structures.

Back to top

Opportunities with the genetic algorithm for Fib

Normal algorithms to encode multimedia objects are usually not changeable by anyone, they are deterministic and search for some specific structures. The genetic algorithm for Fib is a different approach. It is not built to be fast, but to give freedom and to use this freedom.
In the following some of the advantages of the genetic algorithm (GA) for Fib are listed.

Back to top

Testing your coding ideas

Which algorithm is the best to encode multimedia data?
In general, no answer to this question can be given. One image may be good to code with well-defined surfaces, another image may contain a lot repetitive patterns, in a third image even both structures may occur in different areas.
Everyone can insert into the genetic algorithm (GA) for Fib his own coding ideas.
In this way for example researchers can test their algorithms to encode images, by simply pack them into an operator for the GA. This operator can then be made available to the public, so that people can directly and practically benefit from the research results. It can even be determined how well this coding algorithm in comparison to other coding algorithms is, since the GA will rated it.
the genetic algorithm collects ideas

Back to top

Utilize background processing power

How much time should it be?
In normal multimedia algorithms, this depends only on the multimedia data and the options and is difficult to determine in advance. These algorithms require a certain time, regardless of how much time you really have.
The genetic algorithm for Fib (Fib GA) uses the time that you give it.
To translate a multimedia object directly into Fib is relative easy and fast, but in this way the potential of Fib is not used by far. Various coding algorithms can get significantly better results in Fib, if they only get the time. It is impossible to say, whether a particular multimedia object is really coded optimal in Fib, because Fib offers so many possibilities. Therefore, it is only advantageous, if the coding algorithm for Fib uses all the possibilities and the time, which are cheaply available to it.
The genetic algorithm for Fib will continue to work and test algorithms and operators as long as time is available. If it has more time, it also has more opportunities to further improve the encoding.
Example: screenshot GA is compressing an image

Back to top

Growing without getting more complex

Large software systems usually consist of many dependencies and are therefore very complex. There is a special challenge to maintain and expand such program systems. If someone wants to extend such a system, it will cost him some effort and with each extension, the whole thing even gets more difficult.
The genetic algorithm (GA) for Fib is different. An operator, that is code for improving the Fib objects, must only take care about itself, so it will let the GA core algorithm and other operators unchanged.
Someone who wants to contribute new ideas to the GA, therefore has only to know the interface of the GA core algorithm and the Fib language elements. He does not need to know or care what other ideas are implemented for coding. The interface of the GA core algorithm and the Fib language elements remain the same, when new operators to implement new ideas are added. This means the system can grow, without the need for future developers to manage more complexity.

Zurück nach oben