Beschreibung
Verfahren und Vorrichtung zum Erstellen eines Komplexitats- vektors für zumindest eines Teils einer SVG Szene, sowie Ver- fahren und Prufvorrichtung zum Überprüfen einer Abspieltauglichkeit zumindest eines Teils einer SVG-Szene auf einem Gerat
Die Erfindung betrifft ein Verfahren und eine Vorrichtung zum Erstellen eines Komplexitatsvektors zumindest eines Teils einer SVG-Szene gemäß einem Oberbegriff des Anspruchs 1 beziehungsweise 8, sowie Verfahren und eine Prufvorrichtung zum Überprüfen einer Abspieltauglichkeit zumindest eines Teils einer SVG-Szene auf einem Gerat gemäß einem Oberbegriff des Anspruchs 5, 6 beziehungsweise 10.
Der Standard SVG (SVG - Scalable Vector Graphics) ist ein Standard zur Beschreibung zweidimensionaler Vektorgrafiken in der XML-Syntax (XML - Extensible Markup Language) . SVG unter- stutzt drei grundsatzlich unterschiedliche Typen von Elementen :
- Vektorgrafiken, aufgebaut aus grafischen Primitiven;
- Rastergrafiken, also gewohnliche Bitmap-Bilder, die extern eingebunden werden können;
- Text in vorgebbaren Schriftarten.
Dabei beschreibt die SVG-Szene ein oder mehrere Objekte. Zudem kann die SVG-Szene auch Interaktionen oder Links zu ex- ternen Informationen aufweisen. Ein SVG-Dokument beschreibt die SVG-Szene und umfasst dabei ein oder mehrere der vorgenannten Typen. Weitere Details des SVG-Standards sind beispielsweise unter [1] zu entnehmen. Dank der Skalierbarkeit von SVG können Vektorgrafiken an die jeweiligen Gegebenheiten eines Geräts, beispielsweise eines PDAs (PDA - Personal Digital Assistant) oder eines Mobilfunkgerates, angepasst werden, wobei die Vektorgrafiken gerendert werden. Rastergrafiken hingegen haben eine feste Auflosung und müssen bei größeren
Abweichungen interpoliert werden, was neben einem Qualitats- verlust auch mit höherem Rechenaufwand einhergeht. Speziell um den Bedurfnissen leistungsschwacherer Endgerate, wie beispielsweise einem Mobilfunktelefon, gerecht zu werden, wurde SVG auf eine Untermenge eingeschränkt, dem so genannten SVGT (SVGT - SVG Tiny) , einem ersten Profil des Mobile SVG Standards, siehe Dokument [2]. Trotz des reduzierten Funktionsumfangs von SVGT, können anspruchsvolle SVGT-Szenen erstellt werden, die die Ressourcen von Endgeraten überfordern können. Im Folgenden wird allgemein von SVG gesprochen, wobei damit der SVG-Standard selbst und eines der Profile des Mobile SVG- Standards zu verstehen sind.
Nachteilig bei SVG ist zum einen, dass das Endgerat eine SVG- Szene in einer für einen Nutzer inakzeptablen Qualität wiedergeben kann, zum Beispiel das Wiedergeben von einzelnen SVG-Objekten nicht in Echtzeit durchgeführt wird. Zum zweiten, dass Bandbreite beim Übertragen des SVG-Dokuments verbraucht und bei einem mobilen Gerat auch teuer bezahlt werden muss, obwohl die SVG-Szene, abgelegt in dem SVG-Dokument, auf dem Endgerat nicht einwandfrei abspielbar ist.
Hieraus ergibt sich die Aufgabe, Verfahren und Vorrichtungen anzugeben, mit denen ein Übertragen als auch ein Abspielen von zumindest eines Teils einer SVG-Szene, die für ein Gerat ungeeignet sind, vermieden werden kann.
Diese Aufgabe wird durch die unabhängigen Ansprüche gelost. Weiterbildungen der Erfindung sind den abhangigen Ansprüchen zu entnehmen.
Die Erfindung betrifft ein Verfahren zum Erstellen eines Kom- plexitatsvektors, der eine Komplexität zumindest eines Teils einer SVG-Szene repräsentiert, bei dem für zumindest ein EIe- ment eines DOM-Baums (DOM - Document Object Model) der SVG- Szene eine zu dem jeweiligen Element dazugehörige Komplexi- tatsgroße ermittelt und der Komplexitatsvektor durch die zumindest eine der Komplexitatsgroßen erzeugt wird.
Durch dieses Verfahren wird erreicht, dass in einfacher Weise eine Komplexität einer SVG-Szene bzw. eines Teils der SVG- Szene in Form eines Komplexitätsvektors erstellt werden kann. Dieses Verfahren zeichnet sich dadurch aus, dass es einmal ausgeführt wird, um den Komplexitätsvektor zu erstellen und bei beispielsweise Abruf der gewünschten SVG-Szene durch ein Gerät jederzeit wieder verwendet werden kann. Zudem lässt sich durch den Komplexitätsvektor die Komplexität der SVG- Szene in kompakter Form mit einem geringen Speicheraufwand organisiert speichern.
In einer vorzugsweisen Erweiterung des Verfahrens für die sich zeitlich verändernde SVG-Szene der Komplexitätsvektor dadurch erzeugt wird, dass in jeder temporären Instanz des
DOM-Baums die jeweilige Komplexitätsgröße des Elements ermittelt und ein größter Wert aus den ermittelten Komplexitätsgrößen des Elements dem Komplexitätsvektor zugewiesen wird.
In dieser Erweiterung des Verfahrens wird berücksichtigt, dass die Komplexitätsgröße der jeweiligen Elemente der SVG- Szene sich über der Zeit ändern kann und zwar abhängig von temporären Instanzen des DOM-Baums. Durch diese Erweiterung wird dann erreicht, dass die Komplexitätsgrößen der Elemente der temporären Instanzen erfasst und miteinander verglichen werden, um dann für jedes Element die größte Komplexitätsgröße zu ermitteln, die ein Endgerät erfüllen muss, um die vorliegende SVG-Grafikszene fehlerfrei abspielen zu können.
In einer alternativen Ausführungsform wird für die sich zeitlich verändernde SVG-Szene der Komplexitätsvektor dadurch erzeugt, dass a) in jeder temporären Instanz des DOM-Baums die jeweilige
Komplexitätsgröße des Elements ermittelt wird, b) für jede der temporären Instanzen eine dazugehörige temporäre Komplexitätszahl durch eine gewichtete Addition der zu der jeweiligen Instanz dazugehörigen Komplexitätsgrößen gebildet wird,
c) der Komplexitätsvektor durch die zumindest eine der Komplexitätsgrößen derjenigen temporären Instanzen gebildet wird, die die größte Komplexitätszahl aufweist.
Hierdurch kann eine Gewichtung der Komplexitätsgrößen vorgenommen werden, wodurch eine genauere Bestimmung einer Abspieltauglichkeit der SVG-Szene bzw. des Teils der SVG-Szene ermöglicht wird.
In einer vorzugsweisen Erweiterung des Verfahrens werden zumindest eines der folgenden Elemente und die jeweils dazugehörigen Komplexitätsgrößen analysiert: a) DOM-Speichervolumen des DOM-Baums; b) Linienstück-Anzahl von benötigten Linienstücken zur Appro- ximation aller graphischen Objekte; c) Fläche von gefüllten grafischen Objekten, insbesondere differenziert nach Farbe, Anzahl an Farbgradienten oder Füllmustern; d) Buchstaben-Anzahl an verwendeten Buchstaben in Text- Ob- jekten, insbesondere differenziert nach Größe der verwendeten Buchstaben; e) Daten-Anzahl und/oder Daten-Speichervolumen von referen- zierten externen Daten, insbesondere differenziert nach Dateninhalt und/oder verwendetes Kodierverfahren der refe- renzierten externen Daten; f) Animation-Anzahl von maximal gleichzeitig ausgeführten A- nimationen, insbesondere mit Angabe eine die jeweilige ausgeführte Animation repräsentierende Komplexitätsgröße; g) Skript-Anzahl von Skripten, insbesondere mit Angabe der in dem jeweiligen Skript referenzierten SVG-Objekte.
Die Komplexitätsgrößen der genannten Elemente zeichnen sich insbesondere dadurch aus, dass diese in einfacher Weise aus der SVG-Szene ermittelt werden können. Ferner kann durch Kom- bination von Komplexitätsgrößen eines oder mehrerer der Elemente eine Granularität der Komplexität der SVG-Szene erreicht werden.
Die Erfindung betrifft auch eine Vorrichtung zum Erstellen eines Komplexitatsvektors, der eine Komplexität zumindest eines Teils einer SVG-Szene repräsentiert, wobei die Vorrichtung ein Mittel aufweist, welches ausgestaltet ist zum Ermit- teln einer Komplexitatsgroße zumindest eines Elements eines DOM-Baum der SVG-Szene und zum Erzeugen des Komplexitatsvektors durch die zumindest eine der Komplexitatsgroßen . In einer alternativen Erweiterung kann das erste Mittel der Vorrichtung dahingehend erweitert werden, dass dieses ferner zum Ausfuhren zumindest eines der Verfahrensschritte zum Verarbeiten temporarer Instanzen des DOM-Baums und mehrerer unterschiedlicher Elemente der SVG-Szene ausgestaltet ist. Mit Hilfe dieser Vorrichtung ist das Verfahren implementier- und ausfuhrbar.
Die Erfindung betrifft ein Verfahren zum Überprüfen einer Abspieltauglichkeit zumindest eines Teils einer SVG-Szene für ein Gerat, bei dem die Abspieltauglichkeit der SVG-Szene auf dem Gerat gegeben ist, falls bei einer Überprüfung keine der Komplexitatsgroßen eines Komplexitatsvektors der SVG-Szene großer als die dazugehörige einer Gerate-Komplexitatsgroße eines Gerate-Komplexitatsvektors des Geräts, wobei durch die Komplexitatsgroße eine maximale Komplexität des Elements eines DOM-Baums der SVG-Szene und durch die Gerate- Komplexitatsgroße eine maximale ausfuhrbare Komplexität des Elements auf dem Gerat wiedergegeben wird.
Mit Hilfe dieses Verfahrens zum Überprüfen kann unter Verwendung des Komplexitatsvektors der SVG-Szene und des Gerate- Komplexitatsvektors in einfacher Art und Weise ermittelt werden, ob das Gerat geeignet ist, die SVG-Szene fehlerfrei wiederzugeben.
In einer alternativen Weiterbildung der Erfindung kann das Verfahren zum Überprüfen einer Abspieltauglichkeit zumindest eines Teils einer SVG-Szene für ein Gerat, mit den folgenden Schritten durchgeführt werden:
a) Ermitteln einer Komplexitatszahl durch gewichtete Addition von zumindest zwei Komplexitatsgroßen eines Komplexitats- vektors, wobei eine jeweilige Komplexitatsgroße eine Komplexität des dazugehörigen Elements eines DOM-Baums der SVG-Szene repräsentiert; b) die Abspieltauglichkeit der SVG-Szene auf dem Gerat gegeben ist, falls die Komplexitatszahl kleiner oder kleiner gleich als eine Gerate-Komplexitatszahl des Geräts ist, wobei durch den Komplexitatsvektor eine maximale Komplexi- tat der SVG-Szene und durch die Gerate-Komplexitatszahl eine maximale ausfuhrbare Komplexität auf dem Gerat wiedergegeben wird.
Hierdurch kann eine Gewichtung der Komplexitatsgroßen vorge- nommen werden, wodurch eine genauere Bestimmung einer Abspieltauglichkeit der SVG-Szene bzw. des Teils der SVG-Szene, insbesondere wenn die Gewichtung spezifische Eigenheiten des Geräts berücksichtigt, ermöglicht wird.
In einer vorzugsweisen Erweiterung des Verfahrens zum Überprüfen einer Abspieltauglichkeit werden zumindest eines der folgenden Elemente und die jeweils dazugehörige Komplexitatsgroße berücksichtigt:
a) DOM-Speichervolumen des DOM-Baums; b) Linienstuck-Anzahl von benotigten Linienstucken zur Approximation aller graphischen Objekte; c) Flache von gefüllten grafischen Objekten, insbesondere differenziert nach Farbe, Anzahl an Farbgradienten oder Fullmustern; d) Buchstaben-Anzahl an verwendeten Buchstaben in Textobjekten, insbesondere differenziert nach Große der verwendeten Buchstaben; e) Daten-Anzahl und/oder Daten-Speichervolumen von referen- zierten externen Daten, insbesondere differenziert nach
Dateninhalt und/oder verwendetes Kodierverfahren der refe- renzierten externen Daten;
f) Animation-Anzahl von maximal gleichzeitig ausgeführten A- nimationen, insbesondere mit Angabe eine die jeweilige ausgeführte Animation repräsentierende Komplexitatsgroße; g) Skript-Anzahl von Skripten, insbesondere mit Angabe der in dem jeweiligen Skript referenzierten SVG-Objekte.
Diese Erweiterung zeigt den Vorteil, dass zum einen die Zuverlässigkeit der Überprüfung einer Abspieltauglichkeit durch mehr oder weniger zu überprüfende Elemente skaliert werden kann, wobei diese Skalierung erlaubt, dass die Überprüfung schneller oder langer dauert.
Schließlich umfasst die Erfindung auch eine Prufvorrichtung zum Überprüfen einer Abspieltauglichkeit einer SVG-Szene auf einem Gerat, wobei die Prufvorrichtung ein Prufmittel aufweist, welches ausgestaltet ist, eines der beiden Verfahren zum Überprüfen der Abspieltauglichkeit auszufuhren. Die Prufvorrichtung kann ferner derart erweitert werden, dass das Prufmittel zum Ausfuhren der Überprüfung von einem oder meh- reren Elementen und der jeweils dazugehörigen Komplexitats- großen ausgestaltet ist. Mit Hilfe dieser Prufvorrichtung ist das Verfahren zum Überprüfen implementier- und ausfuhrbar.
Die Erfindung wird nachfolgend anhand von Zeichnungen naher erläutert. Dabei zeigt
Figur 1 ein Ausfuhrungsbeispiel für ein Verfahren und eine
Vorrichtung zum Erstellen eines Komplexitatsvektors für eine SVG-Szene;
Figur 2 eine schematische Anordnung zum Durchfuhren eines
Verfahrens zum Überprüfen einer Abspieltauglichkeit einer SVG-Szene auf einem Gerat.
Elemente mit gleicher Funktion und Wirkungsweise sind in den Figuren mit denselben Bezugszeichen versehen.
Das W3C (W3C - Worldwide Web Consortium, www.w3.org) hat SVG als Sprache für zweidimensionale Grafiken in XML definiert. Grafische Objekte in SVG bauen auf einfachen Primitiven auf. Komplexe Objekte sind dabei aus mehreren einfachen Objekten zusammengesetzt. Ein Pfad ist das eigentliche Grundelement in SVG und wird als quadratische beziehungsweise kubische Be- zierkurve angegeben. Diesem wurden zum einfacheren Erstellen noch die Objekte Kreis, Ellipse, Rechteck, Linie, Polylinie, Polygon hinzugeführt. Daneben gibt es noch den Text und Ras- terbilder als weitere Grafikelemente, siehe Dokument [1],
[2] . Eine Darstellungsart dieser Elemente kann über Attribute gesteuert werden. Dabei können beispielsweise Positionsangaben, Breite, Höhe, Radien, Füllfarben, Strichfarben, Strichdicke, Deckungsgrad von Strich- und Füllfarben als auch Füll- muster angegeben werden.
SVG ermöglicht auch grafische Objekte dynamisch zu verändern. Beschrieben wird dies durch Angabe von Animationsinstruktionen, die eine zeitliche Veränderung von Zuständen Transforma- tion, Position, Sichtbarkeit, Farbe und Größe erlauben. Alternativ besteht auch die Möglichkeit über Skriptsprachen (zum Beispiel Java-Script, Pearl, PHP, JSP etc.) eine DOM- Struktur (DOM - Document Object Model) einer SVG-Grafik beziehungsweise SVG-Szene zu manipulieren und so Interaktionen zu erlauben. Dafür platziert man entweder das Skript zur Manipulation in einem SVG-Dokument, das die SVG-Szene beschreibt, oder referenziert es über eine externe Datei.
Audio- und Videoobjekte werden in SVG mittels Referenzen auf externe Dateien realisiert, deren Wiedergabe über assoziierte Attribute gesteuert wird.
Mit Hilfe von Figur 1 wird ein Ausführungsbeispiel für ein Verfahren und eine Vorrichtung zum Erstellen eines Komplexi- tätsvektors, der zumindest eine Komplexitätsgröße umfasst, für zumindest einen Teil einer SVG-Szene näher erläutert. Im Folgenden wird von der SVG-Szene gesprochen, wobei die SVG- Szene auch einen Teil einer SVG-Szene beschreiben kann.
Figur 1 zeigt eine Vorrichtung V zum Erstellen eines Komplexitätsvektors KV, wobei der Komplexitätsvektor KV zumindest eine Komplexitätsgröße Gl, G2, G3 der SVG-Szene SVG_G um- fasst. In einem ersten Schritt, gekennzeichnet mit Sl, liest die Vorrichtung eine SVG-Beschreibung in Form eines DOM-Baums DOM ein, die die SVG-Szene definiert. Die SVG-Beschreibung wird durch ein SVG-Dokument SVG D zur Verfügung gestellt. Ferner analysiert die Vorrichtung im Schritt Sl diesen DOM- Baum anhand zumindest eines seiner Elemente El, E2, E3 und ermittelt daraus die jeweils dazugehörige Komplexitätsgröße Gl, G2, G3. Beispielsweise werden folgende Elemente evalu- iert :
a) Ein erstes Element El ist der DOM-Baum, bei dem das dazugehörige DOM-Speichervolumen als erste Komplexitätsgröße Gl ermittelt wird, beispielsweise Gl = 162 KByte.
b) Die Approximation der grafischen Objekte in SVG wird an- hand von Linienstücken, d.h. Pfaden, durchgeführt. Hierbei wird ein zweites Element E2 anhand der benötigten Linienstücke definiert, wobei als dazugehörige zweite Komplexitätsgröße G2 eine Anzahl an Linienstücken, das heißt die Linienstück-Anzahl, wiedergegeben wird.
c) Als dritte Komplexitätsgröße G3 dient eine Fläche von gefüllten grafischen Objekten, wobei die gefüllten grafischen Objekte ein drittes Element E3 repräsentieren. Beispielsweise weist die SVG-Szene insgesamt G3 = 5 Flächen- einheiten gefüllter grafischer Objekte E3 auf. Dieses dritte Element bzw. die dazugehörige dritte Komplexitätsgröße kann noch weiter verfeinert werden, beispielsweise nach Farbe, Anzahl an Farbgradienten oder Füllmustern. Beispielsweise weist eine Fläche G31 = zwei Flächeneinhei- ten an gefüllten grafischen Objekten E31 mit zwei Farben und ferner eine Fläche von G32 = drei Flächeneinheiten von gefüllten grafischen Objekten E32 mit vier Farben auf.
d) Als vierte Komplexitätsgröße G4 wird eine Buchstabenanzahl an verwendeten Buchstaben E4 in Textobjekten ermittelt, beispielsweise G4 = 10 Buchstaben. Dabei sind die Buchstaben das vierte Element E4. Hierbei kann eine Verfeinerung des verwendeten Elements E4 und der dazugehörigen vierten Komplexitätsgröße G4 erfolgen. So kann noch differenziert werden, nach einer Größe der verwendeten Buchstaben, wie beispielsweise verwendete Buchstaben E41 weisen eine Höhe von zwölf Punkten auf und treten mit einer Buchstabenan- zahl G41 = acht Buchstaben, d.h. acht mal in der SVG-
Szene, auf, oder auch Buchstaben E42 mit einer Höhe von 20 Punkten, die mit einer Buchstabenanzahl G42 = zwei Buchstaben in der SVG-Szene vertreten sind.
e) Die SVG-Szene SVG G gemäß Figur 1 referenziert externe Daten E5 (=fünftes Element E5) , im Ausführungsbeispiel eine Audiodatei A und eine Videodatei V. Dies ist in Figur 1 mit gestrichelten Pfeilen wiedergegeben. Dabei wird für eine fünfte Komplexitätsgröße G51 mit einem Namen Daten- Anzahl eine Anzahl an referenzierten externen Daten E5 ermittelt, das heißt im vorliegenden Beispiel ist die Daten- Anzahl G51 = 2. Ferner kann auch ein Daten-Speichervolumen G521 als weitere fünfte Komplexitätsgröße G52 für die re- ferenzierten externen Daten ermittelt werden. Das Daten- Speichervolumen ist bspw. G52 = 899 kByte für die externe Video- und Audiodatei. Zusätzlich kann die Daten-Anzahl G51 und/oder das Daten-Speichervolumen G52 differenziert werden nach dem Dateninhalt der externen Daten, zum Beispiel nach Video oder Audio, oder nach dem verwendeten Co- dierverfahren, zum Beispiel nach MP3 für die externen Audiodaten A und MPEG-2 für die externen Videodaten V.
f) SVG kann neben statischen auch dynamische Veränderungen der Objekte durchführen. Dabei wird als sechse Komplexi- tätsgröße G6 mit einem Namen Animation-Anzahl eine Anzahl von maximal gleichzeitig ausgeführten Animationen E6 als sechstes Element angegeben. Dabei kann zusätzlich noch spezifiziert werden, welche Komplexitätsgröße eine jewei-
lige ausgeführte Animation aufweist. Beispielsweise werden zwei sich gleichzeitig drehende Objekte in der SVG- Grafikszene dargestellt, so dass die Animation-Anzahl G6 = 2 ist. Für jedes der ausgeführten Animationen, das heißt in diesem Beispiel die sich drehenden Objekte, kann die
Fläche G3 oder auch die dazugehörige Linienstückanzahl G2 spezifiziert werden.
g) Als weitere Komplexitätsgröße wird eine Skriptanzahl G7 als siebte Komplexitätsgröße G7 von Skripten E7 als siebtes Element E7 spezifiziert, insbesondere mit Angabe der in dem jeweiligen Skript referenzierten SVG-Objekte.
Nach Erfassen der Komplexitätsgrößen Gl bis G7 der Elemente El bis E7 der SVG-Szene SVG_G werden diese vom Schritt Sl zum nachfolgenden Schritt S2 weitergereicht. Im Schritt S2 werden eine oder mehrere Komplexitätsgrößen aus den für die SVG- Szene ermittelten Elementen ausgewählt, die den Komplexitätsvektor KV bilden. Im vorliegenden Ausführungsbeispiel gemäß Figur 1 wird eine neues SVG-Dokument SVG D' aus dem gebildeten Komplexitätsvektor KV und dem bisherigen SVG-Dokument SVG D gebildet, wobei der Komplexitätsvektor KV bspw. durch die Komplexitätsgrößen Linienstück-Anzahl G2 und Fläche G3 repräsentiert wird. Neben der direkten Angabe der jeweiligen Komplexitätsgröße Gl, ..., G7 kann zusätzlich im Komplexitätsvektor KV noch angegeben werden, für welche Elemente El, ... , E7 Komplexitätsgrößen im Komplexitätsvektor angeben sind.
Die SVG-Szene SVG_G kann sich über die Zeit verändern. Hierbei wird die gesamte SVG-Szene nicht auf einmal, sondern in jeweiligen temporären Instanzen TI_1, TI_2, TI_3 des DOM- Baums DOM analysiert. Exemplarisch für die zweite Komplexitätsgröße, das heißt die Linienstück-Anzahl G2 der Linienstü- cke E2, wird für jede temporäre Instanz die jeweilige Linienstück-Anzahl G2_l, G2_2, G2_3 gebildet, bspw. G2_l für TI_1, G2_2 für TI_2 usw. Daran anschließend werden die Komplexitätsgrößen der temporären Instanzen pro Element dahingehend
untersucht, dass die zum untersuchten Element dazugehörige Komplexitätsgröße mit einem größten Wert, zum Beispiel die Komplexitätsgröße G2 2, aus den zuvor ermittelten Komplexitätsgrößen G2_l, G2_2, G2_3 für das zweite Element, das heißt die benötigten Linienstücke E2 der temporären Instanzen, als zu verwendende zweite Komplexitätsgröße G2 ausgewählt wird. Diese ausgewählte zweite Komplexitätsgröße wird dann analog zum obigen Beispiel an den zweiten Verarbeitungsschritt übergeben. In analoger Weise können auch weitere Elemente und da- zugehörige Komplexitätsgrößen wie zum Beispiel die verwendeten Buchstaben E4 pro temporäre Instanz TI_1, TI_2, TI_3 und die dazugehörige Buchstaben-Anzahl ermittelt und ausgewertet werden, so dass die vierte Komplexitätsgröße, das heißt Buchstabenanzahl G4 durch den ersten Verarbeitungsschritt Sl er- mittelt werden kann.
In einer alternativen Ausführungsvariante hierzu werden zunächst für jede temporäre Instanz die zu den Elementen dazugehörigen Komplexitätsgrößen ermittelt. Danach werden die zu der jeweiligen temporären Instanz dazugehörigen Komplexitätsgrößen durch bspw. gewichtete Addition zu einer der jeweiligen Instanz dazugehörigen Komplexitätszahl KNl, KN2, KN3 verknüpft. Die gewichtete Addition kann alle verknüpften Komplexitätszahlen mit einem identischen Faktor multiplizieren, z.B. 1/10, oder die jeweilige Gewichtung berücksichtigen, dass eine Einheit einer Komplexitätsgröße eine höhere Komplexität, d.h. bspw. Rechenleistung, beansprucht als die einer anderen Komplexitätsgröße, so dass die Gewichtung um so höher als die Komplexität der jeweiligen Komplexitätsgröße ist. Nachdem für jede der temporären Instanzen eine dazugehörige
Komplexitätszahl ermittelt worden ist, wird diejenige Komplexitätszahl bestimmt, die einen höchsten Wert aufweist. Hierdurch ist diejenige temporäre Instanz bestimmt, die die höchste Komplexität aufweist. Abschließend wird der Komplexi- tätsvektor durch eine oder mehrere der Komplexitätsgrößen der temporären Instanz mit der bestimmten Komplexitätszahl gebildet.
Die vorgenannten Schritte Sl und S2 werden durch ein Mittel Ml einer Vorrichtung V durchgeführt.
Bevor das modifizierte SVG-Dokument SVG D' an ein Gerät X, zum Beispiel ein in Form eines Mobilfunktelefons ausgestaltetes Endgerät X, verschickt wird, überprüft beispielsweise ein Multimedia-Server, ob das Gerät X tauglich ist, die SVG-Szene SVG G abzuspielen. Dazu wird auf einen Geräte- Komplexitätsvektor XKV zurückgegriffen, der für das Gerät X angibt, welches Element El, ..., E7 einer SVG-Szene mit welcher maximalen Komplexität verarbeitet werden kann. Dies wird im folgenden Beispiel gemäß Figur 2 als Geräte- Komplexitätsgröße XGl, ..., XG7 der Elemente El, ..., E7 dargestellt. Die nachfolgende Tabelle stellt für die Elemente El bis E7 die jeweiligen Geräte-Komplexitätsgrößen XGl bis XG7 und die korrespondierende Komplexitätsgröße Gl, ..., G7 der vorliegenden SVG- Szene SVG G dar. Hierbei können die Komplexitätsgrößen Gl, ..., G7 des Komplexitätsvektor KV aus dem modifizierten SVG-Dokuments SVG_D' entnommen werden:
Element Komplexitätsgröße Geräte-Komplexitätsgröße der SVG_G für Gerät X
El Gl = = 150 KByte XGl = = 180 Kbyte
E2 G2 = = 5515 XG2 = = 18181
E3 G3 = = 15 XG3 = = 15
E4 G4 = = 128 XG4 = = 150
E5 G51 = 2 GXG51= 5
E6 G6 = = 3 XG6 = = 3
E7 G7 = = 8 XG7 = = 9
Da pro Element die dazugehörige Geräte-Komplexitätsgröße jeweils größer oder gleich der dazugehörigen Komplexitätsgröße der vorliegenden SVG-Szene ist, kann diese SVG-Szene von dem Gerät X vollständig und korrekt wiedergegeben werden. Ist beispielsweise XG6 = 2, so kann die vorliegende SVG-
Grafikszene nicht vollständig korrekt auf dem Gerät X abgespielt werden, da XG6 kleiner G6 ist. Hierbei könnte beispielsweise durch Veränderung der SVG-Szene wie durch Weglas-
sen einer gleichzeitig ausgeführten Animation, das heißt Reduktion auf G6 = 2, erreicht werden, dass das Gerat X die SVG-Szene fehlerfrei wiedergeben kann.
In einer alternativen Ausfuhrungsform wird durch eine gewich- tete Addition von zumindest zwei der Komplexitatsgroßen des Komplexitatsvektors KV eine Komplexitatszahl KNX bestimmt. Die Gewichtung kann dabei neben einer identischen Gewichtung der Komplexitatsgroßen auch durch eine Gewichtung derart vor- nehmen, dass eine jeweilige Komplexitatsgroße, die ein Element hoher Komplexität repräsentiert, einen höheren Gewichtungsfaktor erhalt als eine Komplexitatsgroße, die ein weniger komplexes Element darstellt. Diese bestimmte Komplexitatszahl KNX wird mit einer Gerate-Komplexitatszahl XNX ver- glichen. Ist die bestimmte Komplexitatszahl KNX kleiner oder kleiner gleich als die Gerate-Komplexitatszahl XNX so ist die SVG-Szene auf dem Gerat abspielbar. Die Gerate- Komplexitatszahl repräsentiert eine Komplexität, die maximal auf dem Gerat wiedergegeben werden kann, z.B. eine Rechen- leistung in MIPS (MIPS - Million Instructions per Second) .
Die oben genannte Vorgehensweise zum Überprüfen, ob das Gerat X geeignet ist die SVG-Szene abzuspielen, wird mit einer Prufvorrichtung P umfassend ein Prufmittel MP ausgeführt.
Das Mittel Ml als auch das Prufmittel MP können in Software, Hardware oder in einer Kombination aus Software und Hardware realisiert und ausgeführt werden. Das Verfahren zum Erstellen als auch die Vorrichtung zum Erstellen können beispielsweise in einem Videoserver durchgeführt werden. Der Komplexitats- vektor KV kann für ein spateres Abrufen auch separat von dem SVG-Dokument SVG_D auf dem Server abgelegt werden. Ferner kann der Server die Vorrichtung zum Überprüfen der Abspieltauglichkeit als auch die Prufvorrichtung beziehungsweise das Prufmittel aufweisen. Bei einer Anfrage zum Übertragen des
SVG-Dokuments durch ein mobiles Endgerat überprüft der Server die Abspieltauglichkeit der angefragten SVG-Szene. Im Falle, dass die Abspieltauglichkeit gegeben ist, gekennzeichnet mit
„J" in Figur 2, übertragt der Server die SVG-Szene, d.h. das SVG_Dokument SVG_D, an das Endgerat X, gekennzeichnet mit einer gestrichelten Linie. Im anderen Fall kann dem Endgerat mitgeteilt, dass die SVG-Szene nicht geeignet ist, durch das Endgerat wiedergegeben zu werden und somit nicht übertragen wird. Ferner kann bei einer Anfrage zum Übertragen der SVG- Szene ein Geratetyp des Geräts X zusatzlich übertragen werden, wodurch die Prufvorrichtung die Gewichtung geratespezifisch durchfuhren kann und die Abspieltauglichkeit für das abfragende Gerat weiter verbessert werden kann.
Literaturangabe
[1] SVG - Scalable Vector Graphics, 1.1 Specification, W3C
Recommendation, 14. Januar 2003, http://www.w3.org/TR/2003/REC-SVGll-20030114/REC-SVGll- 20030114.pdf
[2] Mobile SVG Profiles: SVG Tiny and SVG Basic, W3C Recommendation 14 January 2003, http://www.w3.org/TR/SVGMobile/