-
Die
Erfindung betrifft ein Verfahren und eine Vorrichtung zum Erstellen
eines Komplexitätsvektors zumindest eines Teils einer SVG-Szene
gemäß einem Oberbegriff des Anspruchs 1 beziehungsweise
8, sowie Verfahren und eine Prüfvorrichtung zum Überprüfen
einer Abspieltauglichkeit zumindest eines Teils einer SVG-Szene
auf einem Gerät 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 unterstützt
drei grundsätzlich unterschiedliche Typen von Elementen:
- – Vektorgrafiken, aufgebaut aus grafischen
Primitiven;
- – Rastergrafiken, also gewöhnliche 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 externen 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 Mobilfunkgerätes, angepasst
werden, wobei die Vektorgrafiken gerendert werden. Rastergrafiken
hingegen haben eine feste Auflösung und müssen
bei größeren Abweichungen interpoliert werden,
was neben einem Qualitätsverlust auch mit höherem
Rechenaufwand einhergeht. Speziell um den Bedürfnissen
leistungsschwächerer Endgeräte, 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
Endgeräten ü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 Endgerät 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 Gerät auch teuer bezahlt werden muss,
obwohl die SVG-Szene, abgelegt in dem SVG-Dokument, auf dem Endgerät
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 Gerät
ungeeignet sind, vermieden werden kann.
-
Diese
Aufgabe wird durch die unabhängigen Ansprüche
gelöst. Weiterbildungen der Erfindung sind den abhängigen
Ansprüchen zu entnehmen.
-
Die
Erfindung betrifft ein Verfahren zum Erstellen eines Komplexitätsvektors,
der eine Komplexität zumindest eines Teils einer SVG-Szene
repräsentiert, bei dem für zumindest ein Element
eines DOM-Baums (DOM – Document Object Model) der SVG-Szene
eine zu dem jeweiligen Element dazugehörige Komplexitätsgröße
ermittelt und der Komplexitätsvektor durch die zumindest
eine der Komplexitätsgröß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 Approximation 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-Objekten,
insbesondere differenziert nach Größe der verwendeten
Buchstaben;
- e) Daten-Anzahl und/oder Daten-Speichervolumen von referenzierten
externen Daten, insbesondere differenziert nach Dateninhalt und/oder
verwendetes Kodierverfahren der referenzierten externen Daten;
- f) Animation-Anzahl von maximal gleichzeitig ausgeführten
Animationen, 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 Kombination 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 Komplexitätsvektors,
der eine Komplexität zumindest eines Teils einer SVG-Szene
repräsentiert, wobei die Vorrichtung ein Mittel aufweist,
welches ausgestaltet ist zum Ermitteln einer Komplexitätsgröße
zumindest eines Elements eines DOM-Baum der SVG-Szene und zum Erzeugen
des Komplexitätsvektors durch die zumindest eine der Komplexitätsgrößen.
In einer alternativen Erweiterung kann das erste Mittel der Vorrichtung
dahingehend erweitert werden, dass dieses ferner zum Ausführen
zumindest eines der Verfahrensschritte zum Verarbeiten temporärer
Instanzen des DOM-Baums und mehrerer unterschiedlicher Elemente
der SVG-Szene ausgestaltet ist. Mit Hilfe dieser Vorrichtung ist
das Verfahren implementier- und ausführbar.
-
Die
Erfindung betrifft ein Verfahren zum Überprüfen
einer Abspieltauglichkeit zumindest eines Teils einer SVG-Szene
für ein Gerät, bei dem die Abspieltauglichkeit
der SVG-Szene auf dem Gerät gegeben ist, falls bei einer Überprüfung
keine der Komplexitätsgrößen eines Komplexitätsvektors
der SVG-Szene größer als die dazugehörige
einer Geräte-Komplexitätsgröße
eines Geräte-Komplexitätsvektors des Geräts,
wobei durch die Komplexitätsgröße eine
maximale Komplexität des Elements eines DOM-Baums der SVG-Szene
und durch die Geräte-Komplexitätsgröße
eine maximale ausführbare Komplexität des Elements
auf dem Gerät wiedergegeben wird.
-
Mit
Hilfe dieses Verfahrens zum Überprüfen kann unter
Verwendung des Komplexitätsvektors der SVG-Szene und des
Geräte-Komplexitätsvektors in einfacher Art und
Weise ermittelt werden, ob das Gerät 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 Gerät, mit
den folgenden Schritten durchgeführt werden:
- a) Ermitteln einer Komplexitätszahl durch gewichtete
Addition von zumindest zwei Komplexitätsgrößen
eines Komplexitätsvektors, wobei eine jeweilige Komplexitätsgröße
eine Komplexität des dazugehörigen Elements eines
DOM-Baums der SVG-Szene repräsentiert;
- b) die Abspieltauglichkeit der SVG-Szene auf dem Gerät
gegeben ist, falls die Komplexitätszahl kleiner oder kleiner
gleich als eine Geräte-Komplexitätszahl des Geräts
ist, wobei durch den Komplexitätsvektor eine maximale Komplexität
der SVG-Szene und durch die Geräte-Komplexitätszahl
eine maximale ausführbare Komplexität auf dem
Gerät wiedergegeben wird.
-
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, 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 Komplexitätsgröße
berücksichtigt:
- a) DOM-Speichervolumen
des DOM-Baums;
- b) Linienstück-Anzahl von benötigten Linienstücken
zur Approximation 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 Textobjekten,
insbesondere differenziert nach Größe der verwendeten
Buchstaben;
- e) Daten-Anzahl und/oder Daten-Speichervolumen von referenzierten
externen Daten, insbesondere differenziert nach Dateninhalt und/oder
verwendetes Kodierverfahren der referenzierten externen Daten;
- f) Animation-Anzahl von maximal gleichzeitig ausgeführten
Animationen, 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.
-
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 länger dauert.
-
Schließlich
umfasst die Erfindung auch eine Prüfvorrichtung zum Überprüfen
einer Abspieltauglichkeit einer SVG-Szene auf einem Gerät,
wobei die Prüfvorrichtung ein Prüfmittel aufweist,
welches ausgestaltet ist, eines der beiden Verfahren zum Überprüfen
der Abspieltauglichkeit auszuführen. Die Prüfvorrichtung
kann ferner derart erweitert werden, dass das Prüfmittel
zum Ausführen der Überprüfung von einem
oder mehreren Elementen und der jeweils dazugehörigen Komplexitätsgrößen
ausgestaltet ist. Mit Hilfe dieser Prüfvorrichtung ist
das Verfahren zum Überprüfen implementier- und
ausführbar.
-
Die
Erfindung wird nachfolgend anhand von Zeichnungen näher
erläutert. Dabei zeigt
-
1 ein
Ausführungsbeispiel für ein Verfahren und eine
Vorrichtung zum Erstellen eines Komplexitätsvektors für
eine SVG-Szene;
-
2 eine
schematische Anordnung zum Durchführen eines Verfahrens
zum Überprüfen einer Abspieltauglichkeit einer
SVG-Szene auf einem Gerät.
-
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 Bezierkurve angegeben.
Diesem wurden zum einfacheren Erstellen noch die Objekte Kreis,
Ellipse, Rechteck, Linie, Polylinie, Polygon hinzugeführt. Daneben
gibt es noch den Text und Rasterbilder 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üllmuster 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 Transformation,
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 1 wird ein Ausführungsbeispiel
für ein Verfahren und eine Vorrichtung zum Erstellen eines
Komplexitä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.
-
1 zeigt
eine Vorrichtung V zum Erstellen eines Komplexitätsvektors
KV, wobei der Komplexitätsvektor KV zumindest eine Komplexitätsgröße
G1, G2, G3 der SVG-Szene SVG_G umfasst. In einem ersten Schritt,
gekennzeichnet mit S1, 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 S1 diesen DOM-Baum
anhand zumindest eines seiner Elemente E1, E2, E3 und ermittelt
daraus die jeweils dazugehörige Komplexitätsgröße
G1, G2, G3. Beispielsweise werden folgende Elemente evaluiert:
- a) Ein erstes Element E1 ist der DOM-Baum,
bei dem das dazugehörige DOM-Speichervolumen als erste Komplexitätsgröße
G1 ermittelt wird, beispielsweise G1 = 162 KByte.
- b) Die Approximation der grafischen Objekte in SVG wird anhand
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ächeneinheiten 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ächeneinheiten 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 Buchstabenanzahl 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äß 1 referenziert
externe Daten E5 (= fünftes Element E5), im Ausführungsbeispiel
eine Audiodatei A und eine Videodatei V. Dies ist in 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 referenzierten 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 Codierverfahren, 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 Komplexitä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 G1 bis
G7 der Elemente E1 bis E7 der SVG-Szene SVG_G werden diese vom Schritt
S1 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äß 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
G1, ..., G7 kann zusätzlich im Komplexitätsvektor
KV noch angegeben werden, für welche Elemente E1, ...,
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_1, G2_2, G2_3 gebildet, bspw. G2_1
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_1,
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 dazugehö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
S1 ermittelt 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 KN1, 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 Komplexitätsvektor
durch eine oder mehrere der Komplexitätsgrößen
der temporären Instanz mit der bestimmten Komplexitätszahl
gebildet.
-
Die
vorgenannten Schritte S1 und S2 werden durch ein Mittel M1 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 E1, ..., E7 einer SVG-Szene mit welcher maximalen
Komplexität verarbeitet werden kann. Dies wird im folgenden
Beispiel gemäß
2 als Geräte-Komplexitätsgröße
XG1, ..., XG7 der Elemente E1, ..., E7 dargestellt. Die nachfolgende
Tabelle stellt für die Elemente E1 bis E7 die jeweiligen
Geräte-Komplexitätsgrößen XG1
bis XG7 und die korrespondierende Komplexitätsgröße
G1, ..., G7 der vorliegenden SVG-Szene SVG_G dar. Hierbei können
die Komplexitätsgrößen G1, ..., G7 des
Komplexitätsvektor KV aus dem modifizierten SVG-Dokuments
SVG_D' entnommen werden:
| Element | Komplexitätsgröße
der SVG_G | Geräte-Komplexitätsgröße
für Gerät X |
| E1 | G1
= 150 KByte | XG1
= 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 Gerät X die SVG-Szene fehlerfrei wiedergeben kann.
-
In
einer alternativen Ausführungsform wird durch eine gewichtete
Addition von zumindest zwei der Komplexitätsgrößen
des Komplexitätsvektors KV eine Komplexitätszahl
KNX bestimmt. Die Gewichtung kann dabei neben einer identischen
Gewichtung der Komplexitätsgrößen auch
durch eine Gewichtung derart vornehmen, dass eine jeweilige Komplexitätsgröße,
die ein Element hoher Komplexität repräsentiert,
einen höheren Gewichtungsfaktor erhält als eine
Komplexitätsgröße, die ein weniger komplexes
Element darstellt. Diese bestimmte Komplexitätszahl KNX
wird mit einer Geräte-Komplexitätszahl XNX verglichen.
Ist die bestimmte Komplexitätszahl KNX kleiner oder kleiner
gleich als die Geräte-Komplexitätszahl XNX so
ist die SVG-Szene auf dem Gerät abspielbar. Die Geräte-Komplexitätszahl
repräsentiert eine Komplexität, die maximal auf
dem Gerät wiedergegeben werden kann, z. B. eine Rechenleistung
in MIPS (MIPS – Million Instructions per Second).
-
Die
oben genannte Vorgehensweise zum Überprüfen, ob
das Gerät X geeignet ist die SVG-Szene abzuspielen, wird
mit einer Prüfvorrichtung P umfassend ein Prüfmittel
MP ausgeführt.
-
Das
Mittel M1 als auch das Prüfmittel 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 Komplexitätsvektor
KV kann für ein späteres 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 Prüfvorrichtung beziehungsweise
das Prüfmittel aufweisen. Bei einer Anfrage zum Übertragen
des SVG-Dokuments durch ein mobiles Endgerät überprüft
der Server die Abspieltauglichkeit der angefragten SVG-Szene. Im
Falle, dass die Abspieltauglichkeit gegeben ist, gekennzeichnet
mit „J” in 2, überträgt
der Server die SVG-Szene, d. h. das SVG_Dokument SVG_D, an das Endgerät
X, gekennzeichnet mit einer gestrichelten Linie. Im anderen Fall
kann dem Endgerät mitgeteilt, dass die SVG-Szene nicht
geeignet ist, durch das Endgerät wiedergegeben zu werden
und somit nicht übertragen wird. Ferner kann bei einer
Anfrage zum Übertragen der SVG-Szene ein Gerätetyp
des Geräts X zusätzlich übertragen werden,
wodurch die Prüfvorrichtung die Gewichtung gerätespezifisch
durchführen kann und die Abspieltauglichkeit für
das abfragende Gerät 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-SVG11-20030114/REC-SVG11-20030114.pdf
- [2] Mobile SVG Profiles: SVG Tiny and SVG Basic, W3C
Recommendation 14 January 2003, http://www.w3.org/TR/SVGMobile/
-
ZITATE ENTHALTEN IN DER BESCHREIBUNG
-
Diese Liste
der vom Anmelder aufgeführten Dokumente wurde automatisiert
erzeugt und ist ausschließlich zur besseren Information
des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen
Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt
keinerlei Haftung für etwaige Fehler oder Auslassungen.
-
Zitierte Nicht-Patentliteratur
-
- - www.w3.org [0027]
- - SVG – Scalable Vector Graphics, 1.1 Specification,
W3C Recommendation, 14. Januar 2003 [0040]
- - http://www.w3.org/TR/2003/REC-SVG11-20030114/REC-SVG11-20030114.pdf [0040]
- - Mobile SVG Profiles: SVG Tiny and SVG Basic, W3C Recommendation
14 January 2003 [0040]
- - http://www.w3.org/TR/SVGMobile/ [0040]