next up previous contents index
Next: Elementennamen Up: Root-Element Previous: Multimediainformationen   Contents   Index


Definitionsbereiche

Der Definitionsbereichsabschnitt besteht aus zwei Listen mit unterschiedlich langen Einträgen. Die Länge der Einträge wird von ihrem Inhalt bestimmt.

Der Definitionsbereichsabschnitt wird mit einer 64 Bit natürlichen Zahl eingeleitet, welche die Anzahl der Einträge für die Definitionsbereichsliste angibt. Danach folgt die Definitionsbereichsliste.

Auf diese wiederum folgt eine 64 Bit natürliche Zahl, welche die Anzahl der Elemente in der Speicherplatzliste (die Definitionsbereichen für Werte) angibt, und dann die Speicherplatzliste.

Dabei können eine oder beide Listen auch leer sein. Für leere Listen wird dann entsprechend nur die einleitende 64 Bit natürliche Zahl gespeichert, die dann 0 ist

Die Definitionsbereichsliste gibt die Definitionsbereiche der einzelnen Elemente an. Ist ein Wert (z. B. einer Variable) außerhalb dieses Definitionsbereichs, wird er auf einen Wert innerhalb des Definitionsbereichs gerundet. Werte außerhalb dieser Definitionsbereiche können also für das Element nicht auftreten.

Die Definitionsbereiche für Werte (Speicherplatzliste) enthalten auch Definitionsbereiche, nur gelten diese Definitionsbereiche nicht für Elemente, die Variablen enthalten. Die Definitionsbereiche für Werte bestimmen, wieviel Bits zum Speichern eines Elements, welches einen Wert enthält, benötigt wird. Die Definitionsbereiche für Werte sind also dann sinnvoll, wenn die Werte eines Elements nicht den vollen möglichen Definitionsbereich für das Element ausschöpfen. Wenn beispielsweise ein Unterobjekt nur Punkte enthält, deren Positionsvektoren nur Variablen und Ganzzahlwerte zwischen 0 und 10 enthalten, kann der Definitionsbereich für Werte für Positionsvektoren auf "integerB" mit 4 Bit gesetzt werden, auch wenn die Variablen der Positionsvektoren Werte über 100 einnehmen können.

Wenn beim Abspeichern ein Wert im Haupt-Fib-Objekt gefunden wird, der außerhalb des für sein Element festgelegten Definitionsbereichs liegt, wird der Definitionsbereich automatisch erweitert, so dass er auch den Wert umfasst. Wenn der Definitionsbereich ererbt wurde, wird im root-Element ein entsprechender neuer Definitionsbereich angelegt, der den Wert und den ererbten Definitionsbereich umfasst.

Die Definitionsbereiche für Werte werden beim Abspeichern eventuell erzeugt und optimiert, um den Speicherplatz für das Fib-Objekt möglichst gering zu halten. Ein Definitionsbereich für Werte wird beim Abspeichern erzeugt, wenn durch seine Erzeugung wahrscheinlich Speicherplatz eingespart wird.

Da zu einem Fib-Multimediaobjekt viele Definitionsbereiche gehören können, wird bei ihnen mehr auf den Speicherplatz geachtet. Um zukünftige Erweiterungen einfach zu machen, wird Wert auf Flexibilität gelegt.

Der Grund, für die Einführung von zentral (in den root-Elementen) festgelegten Definitionsbereichen ist, dass einerseits beim Abspeichern des Fib-Objekts möglichst wenig Speicherplatz für die Werte verbraucht wird, ohne die Belegungsmöglichkeiten für die Werte drastisch einzuschränken und andererseits vorab bestimmt werden kann, ob und wie das Multimediaobjekt angezeigt werden kann (z. B. wie es skaliert werden muss oder ob die Anzeige aller Werte unmöglich ist). Wenn beispielsweise ein Dimensionsdefinitionsbereich nur Ganzzahlwerte zwischen 0 und 50 einnimmt (z. B. die Horizontale in einem Bild), dann reichen 6 Bit zum Abspeichern der Werte für die Dimension aus. Bei größeren Bildern können einfach mehr Bits für die Werte der Dimension verwendet werden.


Jeder Eintrag besteht aus zwei Teilen:

  1. Dem Namen des Elements, für den der Definitionsbereich gilt (siehe Abschnitt 25.2.4).
  2. Die Angabe des Definitionsbereichs für das Element (siehe Abschnitt 25.2.4).



Subsections
next up previous contents index
Next: Elementennamen Up: Root-Element Previous: Multimediainformationen   Contents   Index
Betti Österholz 2013-02-13