-
Die
vorliegende Erfindung betrifft allgemein die Implementierung eines
dreidimensionalen Streckennavigationsdienstes über ein Telekommunikationsnetz.
Genauer gesagt, betrifft die Erfindung die Implementierung eines
Streckennavigationsdienstes mittels eines dreidimensionalen Modells
und die Optimierung des Datentransfers über ein Telekommunikationsnetz.
-
Allgemeiner
Stand der Technik
-
Jeder
ist gelegentlich mit der Notwendigkeit konfrontiert, den Weg zu
einem bestimmten Ort finden zu müssen
(beispielsweise das Rathaus in Helsinki). Nur die Richtung des Zielortes
anzudeuten, reicht in der Regel nicht aus. Man braucht Informationen
darüber,
wie der Zielort vom augenblicklichen Standort aus auf den verfügbaren Verkehrswegen
erreicht werden kann.
-
Um
dieses Problem zu lösen,
gibt es zum Beispiel Navigationscomputer, die in einem Fahrzeug zu
installieren sind und die das Fahrzeug mit Hilfe von GPS-Signalen (Global
Positioning System) lokalisieren und bei denen die Fahrtanweisungen
auf einer Karte auf einem Bildschirm angezeigt oder über einen
Lautsprecher als gesprochene Anweisungen ausgegeben werden. Bei
diesen Systemen stützen sich
die Fahrtanweisungen auf Karteninformationen, die auf einer CD-ROM
oder einem anderen Massenspeichermedium gespeichert sind. Diese
Karteninformationen enthalten eine Beschreibung des Straßensystems
in einer solchen Form, dass die Strecke zwischen zwei Punkten aus
der Software abgerufen werden kann. Die Karte hat des Weiteren Informationen über den
Straßenverlauf,
anhand derer die Position, die durch das GPS oder ein anderes Verfahren
zur Positionsbestimmung angezeigt wird, in diesem Straßensystem
eingeordnet werden kann.
-
Im
Jahr 1999 wurde der erste Kartendienst für WAP-Workstations (Wireless Application Protocol)
in Finnland eingeführt.
Wenn sich die Karteninformationen auf einem gemeinsamen Server im Netzwerk
befinden, so brauchen sich die einzelnen Benutzer nicht um die Aktualisierung
ihrer Kartendatenbanken zu kümmern.
-
Neben
herkömmlichen
Karten wurden inzwischen auch dreidimensionale virtuelle Modelle
zur Gebietsdarstellung entwickelt. Solche 3D-Modelle sind viel anschaulicher
als Karten, weil sie in vielen Fällen
bei der Orientierung und beim Auffinden des Zielortes besser helfen,
als herkömmliche
Karten es können.
-
Virtuelle
Modelle und Karten sind aber keine Alternativen, die sich gegenseitig
ausschließen.
Die beste Art der Streckendarstellung ist möglicherweise, den Streckenverlauf
auf einer Karte anzuzeigen und gleichzeitig die Ansichten entlang
der Strecke als 3D-Modell
in einem anderen Fenster darzustellen.
-
Mobilstationen
entwickeln sich derzeit zu mobilen Workstations, die mit Datennetzen
kommunizieren. Inzwischen wurden GPS-gestützte Lösungen – und in jüngster Zeit auch Lösungen,
die das Mobilfunknetz nutzen, wie beispielsweise das GSM-Basisstationsnetz – entwickelt,
mit denen sie sich lokalisieren lassen.
-
Die
neuesten Modelle mobiler Workstations des Jahres 2000 sind bereits
mit Displays ausgestattet, die zur grafischen Darstellung befähigt sind.
Beispielsweise besitzt der handflächengroße Palm III-Computer, der im
Februar 2000 vorgestellt wurde, bereits ein Farbdisplay mit einer
Auslösung,
die zum Darstellen erkennbarer Bilder von virtuellen Stadtansichten
taugt.
-
Es
gibt aber immer noch im Wesentlichen zwei Engpässe bei der Mobilfunk-Nutzung
von dreidimensionalen Modellen: die Übertragungskapazität des Telekommunikationsnetzes
und die Speicherkapazität
des Terminals. Gemessen an derzeitigen Standards ist die Datenmenge
für dreidimensionale Modelle
gewaltig. Die Übertragung
von Modell-Entitäten,
die größer sind
als ein paar Blöcke,
ist bei den derzeitigen Datentransferraten des GSM-Netzes nicht
praktikabel. Und obgleich man davon ausgeht, dass die UMTS-Technologie
die Transferrate des Mobilfunknetzes um viele Zehnfache steigern
wird, beschränken
die Engpässe
des Backbone des Internet die verfügbare Übertragungskapazität. Schon
bei den derzeitigen ISDN-Festnetzanschlüssen bildet
in der Regel nicht der eigentliche ISDN-Anschluss, sondern das Internet
den Engpass.
-
Der
Ausgangspunkt im Stand der Technik ist gewöhnlich die Vorstellung, dass
man nicht im Voraus wissen kann, aus welcher Richtung die in dem virtuellen
Modell enthaltenen 3D-Objekte betrachtet werden. Wenn zum Beispiel
eine virtuelle Stadt ein Haus umfasst, um das herum sich der Benutzer
(oder genauer gesagt: der Kamerastandpunkt, der seinen Blick repräsentiert)
frei bewegen kann, so muss das Modell alle Wände, Dachflächen und weitere Teile des
Hauses enthalten.
-
Forschung
und Entwicklung auf diesem Gebiet haben sich immer auf die Probleme
des frei beweglichen Benutzers konzentriert. Es gibt zahlreiche Lösungsvorschläge nach
dem Stand der Technik, mit denen versucht wird, die Darstellung
eines 3D-Modells, mit dem über
ein Datennetz und über
die Datenkommunikation innerhalb des Netzes gearbeitet wird, zu
optimieren. Diese Arbeiten sind in zwei Hauptrichtungen unterteilt:
- 1. Die "Progressive-Maschennetz"-Techniken versuchen,
das Herunterladen einzelner Objekte durch das Netzwerk in solcher
Weise zu optimieren, dass zuerst ein grobes Modell heruntergeladen
wird und anschließend
weitere Details in dieses Grobmodell hineingearbeitet werden. Vergleiche
beispielsweise http://research.microsoft.com/users/hhoppe/.
- 2. Viele Lösungen
suchen zu optimieren, welche Teile des Modells durch das Netzwerk
heruntergeladen werden. Diese Auswahl stützt sich auf die Entfernung
oder Sichtbarkeit der Teile des Modells. Man versucht dabei zu vermeiden,
Informationen zu Objekten abzurufen, die aufgrund von Entfernung,
Sichtbehinderungen oder aus sonstigen Gründen nicht sichtbar sind. US-Patent 5,675,721
ist ein Beispiel für
den Stand der Technik, der diesen Entwicklungstrend verfolgt.
-
Der
Nachteil der oben beschriebenen bekannten Technologie liegt jedoch
vor allem in der Tatsache, dass die Möglichkeiten zum Optimieren
der Datenmenge, die über
das Telekommunikationsnetz zum Benutzer übertragen werden soll, beschränkt sind.
Die Modelle müssen
immer eine Vielzahl von Informationen enthalten, da nicht im Voraus
bekannt ist, welche Teile des Modells in den Sichtbereich des Benutzers
kommen können
und in welcher Reihenfolge die angrenzenden Teile des Modells für den Benutzer
sichtbar werden.
-
Ein
Verfahren und ein System nach dem Oberbegriff der unabhängigen Ansprüche sind
aus EP 0.579.451 A1 bekannt.
-
Eine
Aufgabe der vorliegenden Erfindung besteht darin, diesen Nachteil
zu beseitigen und eine Lösung
für das
Problem bereitzustellen, wie das 3D-Modell zur Streckennavigation
verwendet werden kann, wenn die zu übertragende Datenmenge wegen der
Beschränkungen
der verfügbaren
Datenübertragungskapazität und der
Speicher- und Verarbeitungskapazität der Workstation
minimiert werden soll.
-
Kurzdarstellung
der Erfindung
-
Aufgabe
der vorliegenden Erfindung ist es, dem Benutzer einen Dienst bereitzustellen,
der ihm mit Hilfe eines dreidimensionalen virtuellen Modells, das
die Umgebung darstellt, zeigt, wie man sich in der realen Welt von
einem bestimmten Startpunkt zu einem bestimmten Zielpunkt bewegt.
Des Weiteren besteht die Aufgabe darin, diesen Dienst in einer solchen
Weise anzubieten, dass die Datenmenge, die zur Workstation des Benutzers
zu übertragen
ist, unter Berücksichtigung
sowohl der Datenübertragungskapazität des Telekommunikationssystems
als auch der Speicher- und Verarbeitungskapazität der Workstation so effektiv
wie möglich
optimiert wird.
-
Diese
Aufgabe wird mittels der in den unabhängigen Ansprüchen beschriebenen
Lösungen
erreicht.
-
Die
Idee der Erfindung besteht darin, die Beschreibung des zum Benutzer-Terminal
zu übertragenden
3D-Modells zu beschränken,
indem zuerst eine Strecke zwischen gewünschten Streckenpunkten definiert
wird und anschließend
unter den Oberflächenelementen,
die das 3D-Modell
umfasst, wenigstens einige der Oberflächenelemente ausgewählt werden,
die entlang der Strecke zu sehen sind. Ein Teilmodell, das nur diese
ausgewählten
Oberflächenelemente
umfasst, wird zum Benutzer-Terminal übertragen, und dazu die erforderliche
Beschreibung, wie die Streckenanimation anhand des Teilmodells zu
erzeugen ist. Der Terminal erzeugt die zu zeigenden Navigationsbilder
auf rechnerischem Weg anhand des gegebenen Teilmodells.
-
Das
heißt,
bei dem erfindungsgemäßen Verfahren
wird zuerst eine Strecke festgelegt, anhand der aus dem verwendeten
dreidimensionalen Modell ein Teilmodell erzeugt wird, wobei das
Teilmodell nur diejenigen Oberflächenelemente
umfasst, die entlang der Strecke zu sehen sind. Des Weiteren werden
in diesem Verfahren Präsentationsdaten
bezüglich
der gewählten
Oberflächenelemente
definiert, mit deren Hilfe die Übertragung
des Teilmodells über das
Telekommunikationsnetz zum Terminal und/oder die Ausführung der
Präsentation
auf dem Terminal optimiert werden können. Das Definieren der Präsentationsdaten
enthält
im Allgemeinen das Bilden einer geordneten Gruppe aus den Oberflächenelementen des
Teilmodells, so dass die Optimierung durch Erstellen der Reihenfolge
gemäß der gewünschten
Optimierungsweise erfolgen kann. Das Definieren enthält wenigstens
das Festlegen der Reihenfolge des Erscheinens der gewählten Oberflächenelemente, aber
es kann beispielsweise auch das Definieren des Sichtbarkeitszeitschlitzes
dieser Oberflächenelemente
enthalten. In jedem Fall enthält
es das Definieren der Reihenfolge der Übertragung der ausgewählten Oberflächenelemente
anhand der Reihenfolge des Erscheinens als das entscheidende Kriterium
für die
Reihenfolge der Übertragung. "Reihenfolge des Erscheinens" meint in diesem
Zusammenhang die Reihenfolge, in der die Oberflächenelemente entlang der Strecke
sichtbar werden, und "Sichtbarkeitszeitschlitz" meint den Zeitschlitz,
in dem das Oberflächenelement
notwendigerweise in dem Teilmodell, das sich im Speicher des Terminals
befindet, präsent sein
muss, damit die Landschaftsdarstellung korrekt erzeugt werden kann.
Es ist vorteilhaft, den Sichtbarkeitszeitschlitz zur Verbesserung
der Speicherausnutzung des Terminals zu verwenden, weil mit seiner Hilfe
Oberflächenelemente
sofort ausgeblendet werden können,
wenn sie für
die Streckenanimation nicht länger
benötigt
werden.
-
Kurze Beschreibung
der Zeichnungen
-
Im
Weiteren werden die Erfindung und ihre vorteilhaften Ausführungsformen
eingehender beschrieben, wobei zum Beispiel auf die 1 bis 5 Bezug
genommen wird.
-
1 zeigt
die logische Struktur des erfindungsgemäßen Systems.
-
2 ist
ein Ablaufdiagramm, welches das erfindungsgemäße Verfahren veranschaulicht.
-
3 ist
ein Ablaufdiagramm, welches ein Beispiel des Abrufens von Oberflächenelementen veranschaulicht.
-
4 ist
ein Ablaufdiagramm, welches ein Beispiel des Bildens der Präsentationsdaten
von Oberflächenelementen
veranschaulicht.
-
5 zeigt
Datenströme
und Funktionsblöcke
in dem erfindungsgemäßen System.
-
Detaillierte
Beschreibung der Erfindung
-
In
der virtuellen Technologie werden in der Regel Polygone verwendet,
um gekrümmte
Flächen annähernd darzustellen.
Je genauer die Annäherung sein
soll, desto mehr Polygone werden für das 3D-Modell benötigt. Einige
Technologien gestatten auch die Verwendung von Flächen, die
durch mathematische Kurven dargestellt werden. Im weiteren Verlauf
der Besprechung meint der Begriff "Oberflächenelement" sowohl derartige Polygone gemäß der Standardtechnologie
als auch andere Abschnitte der Oberfläche eines Objekts, die durch
eine einzelne Parametergruppe beschrieben und durch eine geschlossene
Linie umrissen werden, wie es die weiterentwickelten Technologien
gestatten.
-
1 veranschaulicht
die logische Struktur des erfindungsgemäßen Systems. Der Benutzer verwendet
einen Terminal 4, bei dem es sich um eine Mobilstation
oder eine feste Workstation handeln kann. Auf dem Terminal ist ein
3D-Navigationsprogramm 6 installiert, das über ein
Datenübertragungsnetz 7 mit
einer Serversoftware auf dem Server 5 verbunden ist. In
der Praxis befindet sich die Serversoftware in der Regel auf einem
einzigen Server, aber allgemein ausgedrückt handelt es sich um eine
Entität, die
einen oder mehrere Programmprozesse umfasst und auf einem oder mehreren
Computern (Servern) arbeitet und den Terminals den erfindungsgemäßen Streckennavigationsdienst
zur Verfügung
stellt. Bei der Implementierung des Dienstes verwendet die Serversoftware
eine Oberflächenelement-Gruppe, die
in einem Oberflächenelemente-Speicher 8 gespeichert
ist. Die Oberflächenelemente
bilden ein 3D-Modell, welches das zu bedienende Gebiet repräsentiert.
Der Oberflächenelemente-Speicher kann mit
dem Server 5 in Verbindung stehen oder kann sich auf einem
separaten Server befinden, auf den der Server 5 über das
Netzwerk zugreifen kann.
-
Das
System kann optional auch eine Möglichkeit
zum Lokalisieren des Terminals umfassen, wobei in diesem Fall das
Netzwerk ebenfalls einen separaten Lokalisierungsdienst 3b enthalten
kann, oder der Terminal kann ein separates Lokalisierungsmittel 3a enthalten.
Das Lokalisierungsmittel 3a kann beispielsweise ein GPS-Empfänger sein.
Wenn die Lokalisierung durch ein separates Lokalisierungssystem
erfolgt, das mit dem Mobilnetz verbunden ist, so benötigt der
Terminal kein separates Lokalisierungsmittel.
-
Der
Benutzer gibt über
die Eingabevorrichtung 1 seines Terminals wenigstens den
Identifikator des Standortes ein, zu dem er navigiert werden möchte (in
dem bedienten Gebiet). Dieser Identifikator kann beispielsweise
eine Telefonnummer, eine Straßenadresse
oder der Name einer Person oder eines Unternehmens sein. Bei der
Eingabevorrichtung kann es sich beispielsweise um eine Tastatur und/oder
eine Maus handeln, mit deren Hilfe der Benutzer den von ihm gewünschten
Identifikator angibt oder aus dem Menü, das auf der Anzeige 2 gezeigt wird,
auswählt.
-
Die
Anzeige präsentiert
dem Benutzer eine Animation, die ihm mittels eines dreidimensionalen Modells
zeigt, wie man vom Startpunkt zum Zielpunkt gelangt.
-
Wie
oben angesprochen, stützt
sich die Erfindung auf die Tatsache, dass nicht das gesamte Modell
eines Gebietes, für
das eine Navigation angeboten wird, zur Workstation gesandt wird.
Vielmehr wird zuerst die Strecke festgelegt, und anhand dessen wird
ein bestimmter Teil des Modells gesucht. Bei der Festlegung der
Strecke, für
die ein Navigationsdienst angeboten wird, geht der Prozess die Strecke durch
und stellt eine Liste der Oberflächenelemente zusammen,
die entlang dieser Strecke zu sehen sind. Danach sendet der Server 5 an
den Benutzer nur jene Oberflächenelemente,
die entlang dieser Strecke zu sehen sind. Des Weiteren sendet der
Server eine Beschreibung des Verlaufs der Strecke, für die eine
Navigation angeboten wird, in einem dreidimensionalen Raum (Modell).
Der Startpunkt der Strecke, für
die eine Navigation angeboten wird, kann auf zweierlei Art bestimmt
werden:
- 1. Das System lokalisiert den Terminal
und bestimmt eine geeignete Strecke zum Ziel.
- 2. Der Benutzer selbst sagt dem System, welcher Standort als
Startpunkt zu verwenden ist. Er könnte beispielsweise eine Strecke
vom Marktplatz zum Ständehaus
anfordern, selbst wenn er sich in dem Moment gar nicht am Marktplatz
befindet.
-
2 ist
ein Ablaufdiagramm, welches das erfindungsgemäße Verfahren aus Sicht des
Servers beschreibt. Am Anfang verlangt der Benutzer von seinem Terminal
eine Verbindung zu einem Server, der den Navigationsdienst anbietet,
beispielsweise Server 5 (Schritt 21). Daraufhin
wird in bekannter Weise eine Serversitzung zwischen dem Terminal
und dem Server hergestellt, und der Server empfängt die Streckenpunkte vom
Benutzer (Schritt 22). Es gibt normalerweise zwei Streckenpunkte,
das heißt,
den Start- und den Endpunkt der Strecke. Diese können beispielsweise als Straßenadressen,
welche diesen Punkten entsprechen, eingegeben werden. Anhand der
empfangenen Streckenpunkte ermittelt die Serversoftware die Strecke
vom Startpunkt bis zum Endpunkt (Schritt 23). Das Ermitteln
geschieht auf bekannte Art, beispielsweise anhand der existierenden Grafentheorie.
Die ermittelte Strecke wird in der Regel als eine Polylinie angezeigt,
die aus einer Kette aufeinanderfolgender Prüfpunkte besteht. Die Kette kann
natürlich
auch andere Punkte beinhalten, beispielsweise Punkte, an denen der
Benutzer frei in verschiedene Richtungen blicken kann. Die Entfernung
zwischen den Prüfpunkten
richtet sich in der Praxis nach der Umgebung und kann beispielsweise von
einem Meter bis zu einigen Dutzend Metern variieren.
-
Es
ist auch möglich,
dass die Strecken in dem zu bedienenden Gebiet schon im Voraus berechnet
wurden, so dass sie an diesem Punkt aus einer Streckendatenbank,
die mit der Bezugszahl 28 bezeichnet ist, abgerufen werden.
-
Wenn
die Strecke bekannt ist und es eine dreidimensionale Beschreibung
ihrer Umgebung gibt, so kann rechnerisch bestimmt werden, welche Teile
des Modells entlang der Strecke sichtbar sind. Dies geschieht im
nächsten
Schritt (Schritt 24), wobei die gerade ermittelten Oberflächenelemente,
die entlang der Strecke sichtbar sind, aus dem Oberflächenelemente-Speicher 8 entnommen
werden. Die Entnahme kann über
das Netzwerk erfolgen, wenn sich der Oberflächenelemente-Speicher nicht
im Server selbst befindet.
-
Wenn
die Strecke bekannt ist und es eine dreidimensionale Beschreibung
ihrer Umgebung gibt, so kann ebenfalls rechnerisch bestimmt werden, in
welcher Reihenfolge und zu welchem Zeitpunkt jedes Teil (Oberflächenelement)
in dem Modell sichtbar wird. Diese zeitliche Steuerung der Präsentation
der Teile des Modells erfolgt in Schritt 25, woraufhin
ein teilweises Modell, das für
den Navigationsdienst auf die notwendigen Präsentationsdaten beschränkt ist, erzeugt
wird. Diese Daten (die eine Beschreibung liefern, wie die Streckenanimation
auf dem Terminal erzeugt wird) werden für die Übertragung zum Terminal gespeichert
(Schritt 26). Allgemein ausgedrückt, werden in Schritt 25 die
Präsentationsdaten
für die
ausgewählten
Oberflächenelemente
gebildet, da diese Daten infolge der Art und Weise der Präsentation
und der Effektivität
der Optimierung des Datentransfers und der Speicherausnutzung variieren
können.
Beispielsweise können
Informationen zum Sichtbarkeitszeitschlitz jedes Oberflächenelements
aufgenommen werden, auch wenn das in der Regel nicht unverzichtbar
ist.
-
Es
ist somit kennzeichnend für
das erfindungsgemäße Navigationsverfahren,
dass zuerst die Strecke anhand der gewünschten Start- und Zielpunkte
festgelegt wird und danach anhand der Route eine dreidimensionale
Animation aus denjenigen Teilen des 3D-Modells erzeugt wird, die
entlang der Strecke sichtbar sind. Dadurch lässt sich die Menge der zu übertragenden
Daten deutlich verringern.
-
3 zeigt
ein näheres
Beispiel des Abrufens eines Oberflächenelements, das in Schritt 24 auszuführen ist.
Wie oben angesprochen, ist auf dieser Stufe die Strecke, die der
Benutzer fahren wird oder an der aus sonstigen Gründen interessiert
ist, bekannt. Zunächst
schreitet der Entnahmevorgang zum ersten Prüfpunkt der Strecke weiter und
entnimmt aus dem Oberflächenelemente-Speicher
die Oberflächenelemente,
die an diesem Punkt sichtbar sind (Schritte 31 und 32).
Die entnommenen Oberflächenelemente werden
zur Bildung von Präsentationsdaten
gespeichert (Schritt 33). Anschließend wird untersucht, ob noch
Prüfpunkt
entlang der Strecke übrig
sind (Schritt 34). Wenn das der Fall ist, wird zum nächsten Prüfpunkt fortgeschritten
(Schritt 35), und die obigen Schritte werden für diesen
Punkt ausgeführt.
Wenn alle Prüfpunkte
durchlaufen wurden, werden alle Oberflächenelemente, die entlang dieser Strecke
sichtbar sind, auf dem Server gespeichert (Schritt 36).
Das Entnehmen kann – zusätzlich zu
einer Gruppe von Oberflächenelementen – beispielsweise
auch eine Liste erzeugen, die den Index jedes Oberflächenelements
an jedem Prüfpunkt
anzeigt.
-
Das
Entnehmen von Oberflächenelementen, die
an einem bestimmten Prüfpunkt
zu sehen sind, erfolgt mittels computergrafischer Verfahren aus
dem Stand der Technik. Die Oberflächenelemente können beispielsweise
in der Weise gefunden werden, dass die Strecke in kleinen Schritten
voranschreitet und bei jedem gerenderten Bild untersucht wird, welches der
Polygone in der Datenbank sich im Sichtkegel des Betrachters befinden,
d. h. in dem Raum, den ein virtueller Betrachter sieht. Aus diesem
Sichtkegel können
des Weiteren die Polygone, die der Betrachter tatsächlich sieht,
d. h. jene, die nicht durch Sichtbehinderungen oder dergleichen
verdeckt sind, ausgesucht werden. Dies kann beispielsweise unter
Verwendung der bekannten Ray-Pick-Funktionen geschehen.
-
Es
können
alle Oberflächenelemente,
die für den
Benutzer von einem Prüfpunkt
aus sichtbar sind, aufgenommen werden, es kann eine Filterung beispielsweise
in der Weise erfolgen, dann die Oberflächenelemente nach einer bestimmten
Entfernung nicht mehr berücksichtigt
werden. Das ist zum Beispiel an Prüfpunkten wichtig, an denen
die Landschaft sehr offen ist und man darum viel sehen kann.
-
4 zeigt
ein näheres
Beispiel der Bildung von Präsentationsdaten
von Oberflächenelementen, wie
es in Schritt 25 in 2 erfolgt.
Der Prozess schreitet zunächst
zum ersten Prüfpunkt
auf der Strecke voran, an dem die aktuelle Zeit als der Moment markiert
wird, der die Zeit des Auftauchens aller Oberflächenelemente darstellt, die
für den
Benutzer zum ersten Mal am ersten Prüfpunkt sichtbar werden (Schritt 42).
In der Praxis wird ein Zeitstempel, der die aktuelle Zeit darstellt,
als die Zeit des Auftauchens aller Oberflächenelemente markiert, die
am ersten Prüfpunkt
sichtbar sind, weil diese Punkte normalerweise noch keinen Zeitstempel
haben. Das heißt,
die Zeit des Auftauchens ist der Moment, an dem das Oberflächenelement
in die Datenstruktur des Teilmodells eingefügt werden muss, damit die Landschaftsdarstellung
stimmt. Wenn die Zeit des Auftauchens auf allen Oberflächenelementen
markiert wurde, die am ersten Prüfpunkt
zum ersten Mal sichtbar werden, wird ein Zeitstempel T, der die
augenblickliche Zeit repräsentiert,
des Weiteren auf allen Oberflächenelementen
markiert (Schritt 43), die ab diesem Punkt sichtbar sind.
Danach wird untersucht, ob noch Prüfpunkte entlang der Strecke übrig bleiben
(Schritt 44). Wenn das der Fall ist, wird zum nächsten Prüfpunkt fortgeschritten
(Schritt 45), und die Schritte 42 und 43 werden
für diesen
Punkt ausgeführt.
Das heißt,
an jedem Prüfpunkt
wird eine Zeit des Auftauchens, die zur aktuellen Zeit proportional
ist, auf den Oberflächenelementen
markiert, wenn es sich bei dem Prüfpunkt um denjenigen handelt,
an dem das Oberflächenelement
zum ersten mal entlang der Strecke sichtbar wird. Des Weiteren werden
Zeitstempel T auf allen Oberflächenelementen
markiert, die von dem Prüfpunkt
aus zu sehen sind. Wenn keine Prüfpunkte
mehr übrig
sind, werden die Zeitstempel T auf den Oberflächenelementen zu Löschzeiten
umgewandelt (Schritt 46), und die Oberflächenelemente werden
zu einer Gruppe angeordnet, die nach der Zeit des Auftauchens geordnet
ist (Schritt 47). Somit wurde die Strecke in ihrer Gesamtheit
abgearbeitet, und mittels der Zeit des Auftauchens wurde der Moment,
in dem das Oberflächenelement
zum ersten Mal entlang der Strecke sichtbar wird, für jedes
Oberflächenelement
definiert, und mittels des Zeitstempels T der Moment, nach dem das
Oberflächenelement
nicht mehr an der Strecke sichtbar ist (der Zeitstempel T wird nicht
aktualisiert, nachdem das Oberflächenelement
zum letzten Mal sichtbar ist). Somit kann die Speicherausnutzung
des Terminals optimiert werden, da der Zeitstempel T den Moment
anzeigt, in dem das Oberflächenelement
aus dem Teilmodell, das sich im Speicher des Terminals befindet, entfernt
werden kann. Wenn die Geschwindigkeit des Passierens der Strecke
ein bestimmtes Verhältnis zur
Reisegeschwindigkeit des Benutzers oder der Geschwindigkeit des
Voranschreitens der Animation hat, so ist die Zeit bekannt, die
jedes Oberflächenelement
entlang der Strecke tatsächlich
sichtbar ist. Werden die Schritte 43 und 46 fortgelassen,
so hat man die bloße
Reihenfolge des Auftauchens, die durch die Zeiten des Auftauchens
angezeigt werden.
-
Das
Ergebnis des Prozesses gemäß 4 ist
ein teilweises Modell, das für
den Benutzer sichtbar ist, mit Präsentationsdaten. Diese geordnete Gruppe
aus Oberflächenelementen
wird in Schritt 48 gespeichert. Die zu speichernde Datenstruktur
kann auf eine Vielzahl von Arten realisiert werden. Gewöhnlich sind
Datenstrukturen in Grafiken jedoch Baumstrukturen, bei denen ein
bestimmter Unterbaum eine Entität
darstellt, die aus einer Anzahl von Oberflächenelementen besteht, und
die niedrigsten Knoten (Blätter)
des Baumes einzelne Oberflächenelemente
sind. In diesem beispielhaften Fall werden die oben erwähnten Erscheinungs-
und Löschzeiten in
einem Knoten markiert, der ein oder mehrere Oberflächenelemente
repräsentiert,
wie beispielsweise ein Gebäude
oder eine Mauer. Eine dieser Zeiten zeigt die Zeit an, zu der das
entsprechende Oberflächenelement
oder die entsprechende Entität
zum ersten Mal sichtbar wird und zu der es im Speicher des Terminals
präsent
sein muss, und die zweite dieser Zeiten zeigt die Zeit an, zu der
das entsprechende Oberflächenelement
oder die entsprechende Entität
letztmalig aus dem Sichtfeld verschwindet und zu der es aus dem
Speicher des Terminals gelöscht
werden kann.
-
5 veranschaulicht
die Datenströme
in dem erfindungsgemäßen System
und die Funktionsblöcke,
mit denen sie verarbeitet werden. In der Figur ist der Benutzer-Terminal
mittels einer Benutzerschnittstelle 50 veranschaulicht,
durch die einerseits dem Server die gewünschten Streckenpunkte übermittelt
werden und andererseits das eingeschränkte Modell, das zum Navigieren
verwendet wird, aus Richtung des Servers empfangen wird. Während des Empfangsprozesses 51 für auf dem
Server befindliche Streckenpunkte werden die gewünschten Streckenpunkte empfangen
und einem Streckendefinierungsprozess 52 weitergeleitet,
bei dem die Streckenoptimierung gemäß Schritt 23 in 2 ausgeführt wird
oder eine bereits berechnete Strecke aus der Datenbank abgerufen
wird. Wenn die Strecke, für die
eine Navigation stattfinden soll, als Karte ausgegeben wird, so
werden die damit verbundenen Daten an einen Oberflächenelement-Abrufprozess 53 weitergeleitet,
wo Schritt 24 in 2 beispielsweise
in der in 3 gezeigten Weise ausgeführt wird.
Die Gruppe aus Oberflächenelementen,
die gemäß Schritt 36 angezeigt
werden sollen, wird vom Abrufprozess aus zum Prozess der Bildung
von Präsentationsdaten 54 weitergeleitet.
Diese Bildung von Präsentationsdaten
kann beispielsweise so implementiert werden, wie es oben in Verbindung
mit 4 dargestellt wurde. Wie oben angesprochen, enthält das Bilden
von Präsentationsdaten
wenigstens das Festlegen der Reihenfolge des Auftauchens der Oberflächenelemente,
doch es kann auch das Festlegen ihrer Sichtbarkeitszeitschlitze
beispielsweise gemäß 4 enthalten.
-
Andererseits
kann das Bilden von Präsentationsdaten
auch die zeitliche Steuerung oder die Optimierung der Übertragung
beinhalten. Beispielsweise können
Gebäude
hinsichtlich der Wahrnehmung in verschiedene Kategorien klassifiziert
werden (wichtige Gebäude
oder Objekte, wie beispielsweise Denkmäler, einerseits und unbedeutende
graue Häuser
andererseits). In diesem Fall kann es von Bedeutung sein, wichtige
Gebäude
oder Objekte zuerst zu übermitteln,
auch wenn sie nicht sofort angezeigt werden. Der Grund dafür ist, dass,
wenn man die Strecke so schnell entlang fährt, dass nicht genug Zeit
bleibt, auch nur ein beschränktes
3D-Modell über das
Netzwerk zu übertragen,
das beschnittene Modell wenigstens die für die Strecke wichtigen Landschaftsorientierungspunkte
anzeigt, die bei der visuellen Orientierung helfen. Schritt 25 in 2 kann
somit neben der Definition der relativen Reihenfolge des Auftauchens
der Oberflächenelemente
auch die Definition ihrer Übertragungsreihenfolge
umfassen. Allgemein ausgedrückt,
ist es für
den Terminal irrelevant, in welcher Reihenfolge die Oberflächenelemente übertragen
werden, solange er Informationen zu ihrer Reihenfolge des Auftauchens
empfängt
oder in der Lage ist, diese Informationen anhand der Informationen,
die er empfangen hat, zu konstruieren. Wie oben angesprochen, kann
aber die Übertragungsreihenfolge
im Hinblick auf die verfügbare
Datenübertragungskapazität von Bedeutung
sein, und darum wird die Reihenfolge des Auftauchens als ein Kriterium
zur Festlegung der Übertragungsreihenfolge
verwendet. Es können
auch andere Kriterien einbezogen werden. Die Prozess der Übertragung
der Oberflächenelemente
empfängt
somit zur Übertragung
eine geordnete Gruppe von Oberflächenelementen,
so dass die Übertragung
des Teilmodells über
das Netzwerk mittels dieser Reihenfolge optimiert werden kann. Neben
den oben beschriebenen Präsentationsdaten
können
natürlich
auch andere Informationen bezüglich
der Ausführung
der Animation an den Terminal weitergeleitet werden.
-
Die Übertragung
kann zeitlich auch so geplant werden, dass man die Momente beobachtet,
in denen die Oberflächenelemente
entlang der Strecke sichtbar werden. Somit können die Oberflächenelemente,
die zuerst sichtbar werden, zuerst übertragen werden, und die anderen
Elemente können
entsprechend ihres Sichtbarwerdens übertragen werden. Wenn die
Sichtbarkeitszeit verwendet wird, kann das Senden der Informationen
zeitlich entsprechend den Löschungszeiten
geplant werden, indem neue Daten im gleichen Umfang in den Speicher
des Terminals geladen werden, wie Oberflächenelemente aus dem Speicher
entfernt werden.
-
Das
auf der Workstation befindliche 3D-Navigationsprogramm empfängt das
für den
Benutzer sichtbare Teilmodell und erzeugt daraus in bekannter Weise
eine Animation, die vom Startpunkt zum Zielpunkt voranschreitet.
Neben den Oberflächenelementen
können
der Präsentation
auch Fahrtrichtungspfeile, Namen von Gebäuden oder Landschaftsorientierungspunkten
oder Anweisungen, die in Text- oder akustischer Form dargeboten
werden können,
hinzugefügt
werden. Die neuesten Terminals sind in der Lage, dem Benutzer auch
Stereoton anzubieten. Wenn der Benutzer anhand des Bildes orientiert
wird, so kann er möglicherweise
auch mittels Stereoton in die richtige Richtung geleitet werden. Anhand
von – beispielsweise – Beschränkungen
ihrer Rechenleistung kann die Workstation sogar eigene Entscheidungen
treffen, um Präsentationsdaten
in einer Art und Weise zu bilden, die von der Übertragungsreihenfolge abweicht.
-
Wenn
das System eine Lokalisierungsfunktion beinhaltet, so kann das Navigationsprogramm
auf dem Terminal das Annähern
an einen wahrgenommenen Ort mit dem Voranschreiten der Animation synchronisieren.
Die Synchronisierung kann auch auf dem Server erfolgen, insbesondere
wenn die Ortsinformationen vom Server und nicht vom Terminal empfangen
werden. In einem solchen Fall würde
der Benutzer fortlaufend in der realen Welt und auf der Anzeige
des Terminals dieselbe Ansicht sehen. Das Programm könnte den
Benutzer auch warnen, wenn es feststellt, dass der Benutzer von
der Strecke abgekommen ist.
-
Obgleich
die Erfindung oben anhand von Beispielen gemäß den begleitenden Zeichnungen beschrieben
wurde, versteht es sich, dass die Erfindung nicht darauf beschränkt ist,
sondern im Rahmen des erfindungsgemäßen Gedankens, der in den angehängten Ansprüchen offenbart
ist, modifiziert werden kann. Beispielsweise kann der Umfang an
Echtzeitberechnung dadurch reguliert werden, dass man wenigstens
einen Teil der Berechnung im Voraus durchführt. Oben wurde eine Ausführungsform
offenbart, bei der sowohl das Optimieren der Strecke als auch das
Bestimmen des teilweisen Modells und der zugehörigen Daten in Echtzeit ausgeführt werden.
Es ist aber auch möglich,
einen Teil der benötigten
Daten im Voraus zu definieren und sie für eine spätere Verwendung zu speichern.
Wie oben angesprochen, können
beispielsweise die Strecken im Voraus festgelegt werden. Andererseits
kann die Streckenberechnung in Echtzeit in einer solchen Weise erfolgen, dass
nur die Strecken, die am häufigsten
verlangt werden, im Speicher gespeichert werden. Es können des
Weiteren Teilmodelle auf der Grundlage von Strecken und zugehörigen Präsentationsdaten
gespeichert werden, so dass wenigstens nicht alle Abfragen eine
Echtzeitberechnung erfordern. Es ist ebenfalls möglich, dass ein Teil des 3D-Modells
bereits auf dem Benutzer-Terminal
gespeichert ist, so dass die zu diesem Teil gehörenden Oberflächenelemente
nicht über
das Netzwerk gesendet zu werden brauchen, sondern es genügt, ihre
Identifikatoren weiterzuleiten. Des Weiteren braucht die Strecke nicht
unbedingt in der oben beschriebenen Weise ermittelt zu werden, sondern
sie kann auch in mehreren Teilen definiert werden. In diesem Fall
kann der Benutzer auch die Gelegenheit haben, auf die Streckenführung Einfluss
auszuüben.
Das System kann auch in der Weise arbeiten, dass der Server die
Oberflächenelemente
nicht entnimmt, sondern den Oberflächenelemente-Speicher auffordert,
die Oberflächenelemente,
die er auswählt,
zum Terminal zu senden.