-
GEBIET DER ERFINDUNG
-
Die vorliegende Erfindung betrifft im Allgemeinen Panoramabilder.
-
HINTERGRUND
-
Computergestützte Kartensysteme stellen normalerweise eine Top-Down-Darstellung der Kartendaten bereit. Die Verbesserung des Kartensystems mit Straßenansichten stellt verschiedene Herausforderungen an die Schnittstellen: wie z. B. der Umgang mit der Navigation in der Straßenansicht, einschließlich dem Abbiegen an Kreuzungen und der Abstimmung von Standort und Ausrichtung des Nutzers auf einer Karte mit Standort und Ausrichtung des Nutzers in der Straßenansicht, sowohl in absoluten Werten (z. B. Längengrad, Breitengrad und Bewegungsrichtung) als auch im Verhältnis zu Referenzpunkten wie Straßen und Kreuzungen. Vor kurzem haben A9 BlockView (nicht mehr online) und Windows Live Local Technology Preview, bereitgestellt von Microsoft Virtual Earth (http://preview.local.live.com), versucht, eine nutzbare Oberfläche zur Ansicht auf Straßenhöhe einer Stadt bereitzustellen. A9 BlockView adressiert das Ausrichtungsproblem durch die Abflachung der Bilder in zwei Streifen, sodass der Benutzer nicht die Freiheit hat, sich 360 Grad umzuschauen. Windows Live Local präsentiert eine „Auto”-Ansicht von Bildern auf Straßenhöhe, die in Schritten von 90 Grad gedreht wird, indem ein Auto-Avatar auf der Kartenansicht b wird.
-
KURZDARSTELLUNG DER ERFINDUNG
-
Unter Schutz gestellt werden und Gegenstand des Gebrauchsmusters sind dabei, entsprechend den Vorschriften des Gebrauchsmustergesetzes, lediglich Vorrichtungen wie in den beigefügten Schutzansprüchen definiert, jedoch keine Verfahren. Soweit nachfolgend in der Beschreibung gegebenenfalls auf Verfahren Bezug genommen wird, dienen diese Bezugnahmen lediglich der beispielhaften Erläuterung der in den beigefügten Schutzansprüchen unter Schutz gestellten Vorrichtung oder Vorrichtungen. Die vorliegende Erfindung betrifft im Allgemeinen Wiedergabe, Ansicht und Beschriftung von Panoramabildern. In einer ersten Ausführungsform kann ein Verfahren verwendet werden, um Panoramabilder anzuzeigen. Das Verfahren umfasst: den Empfang zumindest eines Teils eines ersten Panoramabildes und die Darstellung eines Darstellungsfensters, das den Teil des ersten Panoramabildes anzeigt. Das Darstellungsfenster enthält eine dreidimensionale Überlagerung, die mit dem ersten Panoramabild wiedergegeben wird. Die Ausrichtung der dreidimensionalen Überlagerung verändert sich im dreidimensionalen Raum, wie wiedergegeben mit dem ersten Panoramabild, so dass sie mit einer Veränderung der Ausrichtung des ersten Panoramabilds übereinstimmt.
-
In einer zweiten Ausführungsform kann ein System zum Ansehen von Panoramabildern verwendet werden. Das System umfasst: einen Panorama-Viewer, der zumindest einen Teil eines ersten Panoramabildes empfängt und ein Darstellungsfenster anzeigt, das den Teil des ersten Panoramabildes anzeigt. Das Darstellungsfenster enthält eine dreidimensionale Überlagerung, die mit dem Panoramabild wiedergegeben wird. Der Panorama-Viewer ändert die Ausrichtung der dreidimensionalen Überlagerung im dreidimensionalen Raum, wie wiedergegeben mit dem ersten Panoramabild, so dass sie mit einer Veränderung der Ausrichtung des ersten Panoramabilds auf dem Darstellungsfenster übereinstimmt.
-
In einer dritten Ausführungsform kann ein Verfahren verwendet werden, um eine Oberfläche wiederzugeben. Das Verfahren umfasst: Berechnen eines Bereichs auf der Oberfläche, der durch eine erste Transformation von einem Ansichtsfenster zu der Oberfläche definiert wird; Berechnen einer zweiten Transformation, die eine Karte von der Region in dem Ansichtsfenster abbildet; und Bestimmen eines Teils eines Bildes, der den Bereich schneidet. Schließlich wird die zweite Konvertierung auf den Abschnitt des Bildes angewendet, der den Bereich kreuzt, was zu einem konvertierten Bild führt. Das konvertierte Bild wird in dem Darstellungsfenster wiedergegeben.
-
In einer vierten Ausführungsform gibt ein System eine Oberfläche wieder. Das System enthält einen Server, der einen Bereich auf der Oberfläche berechnet, der durch eine erste Konvertierung von einem Darstellungsfenster zur Oberfläche definiert wird. Der Server berechnet auch eine zweite Konvertierung, die eine Karte vom Bereich zum Darstellungsfenster abbildet. Das System umfasst ferner einen Panorama-Viewer, der einen Teil eines Bildes bestimmt, der den Bereich auf der Oberfläche kreuzt. Der Panorama-Viewer wendet die zweite Konvertierung auf den Teil des Bildes an, der den Bereich auf der Oberfläche kreuzt, was zu einem konvertierten Bild führt. Das konvertierte Bild wird in dem Darstellungsfenster wiedergegeben.
-
In einer fünften Ausführungsform kann ein Verfahren verwendet werden, um Beschriftungen für Panoramen zu verarbeiten. Das Verfahren umfasst: den Empfang eines ersten Nutzerkommentars für ein Merkmal in einem ersten Panorama und den Empfang eines zweiten Nutzerkommentars für das Merkmal in einem zweiten Panorama. Anhand einer Überschneidung zwischen Daten, die für die erste Nutzeranmerkung und für die zweite Nutzeranmerkung für das betreffende Merkmal erzeugt wurde, wird eine Koordinate festgelegt. Schließlich wird die Koordinate in Verbindung mit einer Anmerkung, welche die Funktion darstellt, gespeichert.
-
In einer sechsten Ausführungsform kann ein System verwendet werden, um Beschriftungen für Panoramen zu verarbeiten. Das System umfasst: einen Server, der eine erste Nutzeranmerkung für ein Merkmal in einem ersten Panorama und eine zweite Nutzeranmerkung für das Merkmal in einem zweiten Panorama empfängt. Der Server bestimmt einen Standort des Merkmals anhand eines ersten Standortes der ersten Nutzeranmerkung und einen zweiten Standort für die zweite Nutzeranmerkung für das betreffende Merkmal.
-
Weitere Ausführungsformen, Merkmale und Vorteile der vorliegenden Erfindung sowie die Struktur und der Funktionsweise der verschiedenen Ausführungsformen der vorliegenden Erfindung werden unten in Bezug auf die zugehörigen Zeichnungen detailliert beschrieben.
-
KURZE BESCHREIBUNG DER ZEICHNUNGEN/FIGUREN
-
Ausführungsformen der Erfindung sind mit Bezug auf die zugehörigen Zeichnungen beschrieben. In den Zeichnungen können gleiche Bezugsnummern identische oder funktionell ähnliche Elemente angeben.
-
1 ist ein Diagramm eines exemplarischen verteilten Systems, das geeignet ist, eine Ausführung zu praktizieren.
-
2 ist ein Diagramm, das ein Beispiel dafür veranschaulicht, wie ein Kartendienst in Übereinstimmung mit einer Ausführungsform in einen Panorama-Viewer integriert werden kann.
-
3 zeigt ein Beispiel einer Browser anzeige, in Übereinstimmung mit einer Ausführungsform.
-
4 ist ein Flussdiagramm, das in Übereinstimmung mit einer Ausführungsform eine exemplarische Verarbeitung durch einen Panorama-Viewer darstellt.
-
5 zeigt exemplarische Konfigurationsinformationen bezüglich Extensible Markup Language (XML).
-
6 veranschaulicht ein Beispiel eines Panoramabilds. 7A, 7B und 7C zeigen eine Nutzerinteraktion mit dem Darstellungsfenster des Panorama-Viewer veranschaulichen.
-
8 ist ein Flussdiagramm der Verarbeitung, die in Übereinstimmung mit einer Ausführungsform von einem Render-Programm durchgeführt wird.
-
9A, 9B und 9C veranschaulichen eine Beziehung zwischen einer Fläche, einem vorberechneten Region und einem Darstellungsfenster.
-
10A und 10B zeigen ein einfaches Beispiel für die Erzeugung von Konvertierungsparametern.
-
11 zeigt ein Panorama, das in Übereinstimmung mit einer Ausführungsform der Erfindung verzerrt wurde.
-
12 zeigt eine exemplarische Konvertierung basierend auf Drehung und Neigung für die Erstellung des Panoramas von 11.
-
13 zeigt ein exemplarisches Panoramabild, dargestellt in Übereinstimmung mit einem Ausführungsbeispiel der Erfindung.
-
14 ist ein Diagramm, das zeigt, wie in Übereinstimmung mit einer Ausführungsform Koordinaten für eine Nutzeranmerkung erzeugt werden.
-
15 ist ein Flussdiagramm einer Verarbeitung, die in Übereinstimmung mit einer Ausführungsform bei der Erzeugung von Nutzeranmerkungskoordinaten durchgeführt wird.
-
Die vorliegende Erfindung wird unter Bezugnahme auf die zugehörigen Zeichnungen beschrieben. Die Zeichnung, in der ein Element zum ersten Mal erscheint, ist normalerweise durch die Ziffer ganz links oder Ziffern in der entsprechenden Bezugsnummer angegeben.
-
AUSFÜHRLICHE BESCHREIBUNG
-
Die vorliegende Erfindung betrifft die Wiedergabe, Ansicht und Beschriftung von Panoramabildern und dazugehörige Anwendungen. In der folgenden detaillierten Beschreibung der Ausführungsformen weisen Bezugnahmen in der Beschreibung auf „eine Ausführungsform”, „eine exemplarische Ausführungsform” usw. darauf hin, dass die beschriebene Ausführungsform ein bestimmtes Merkmal, eine bestimmte Struktur oder eine bestimmte Eigenschaft beinhalten kann, aber dass nicht unbedingt jede Ausführungsform das besondere Merkmal, die besondere Struktur oder die bestimmte Eigenschaft beinhalten muss. Außerdem beziehen sich solche Ausdrücke nicht unbedingt auf dieselbe Ausführungsform. Wenn ein bestimmtes Merkmal, eine bestimmte Struktur oder eine bestimmte Eigenschaft im Zusammenhang mit einer Ausführungsform beschrieben ist, so wird weiterhin unterstellt, dass Fachleute die Kenntnis besitzt, ein solches Merkmal, eine Struktur oder Eigenschaft im Zusammenhang mit anderen Ausführungsformen zu bewirken, unabhängig davon, ob sie ausführlich beschrieben sind oder nicht.
-
1 ist ein verteiltes System, geeignet für die Praxis einer Ausführungsform der Erfindung. Ein Client 110 kommuniziert mit einem oder mehreren Servern 150, beispielsweise über ein Netzwerk, wie das Internet oder ein lokales Netzwerk. Client 110 kann ein Allzweckcomputer sein, mit einem Prozessor, einem lokalen Speicher, einer Anzeige und einem oder mehreren Eingabegeräten, wie einer Tastatur oder einer Maus. Alternativ kann der Client 110 ein spezielles Computergerät, wie zum Beispiel ein Mobiltelefon, sein. Server 150 kann/können in ähnlicher Weise implementiert werden, indem ein beliebiger Allzweckcomputer verwendet wird, der in der Lage ist, Client 110 mit Daten zu versorgen.
-
Client 110 führt einen Panorama-Viewer 120 aus, dessen Betrieb hierin ferner beschrieben wird.
-
Wie dargestellt durch 1 dargestellt, fordert der Panorama-Viewer 120 Konfigurationsinformationen 130 von dem/den Server/n 150 an. Wie hierin in weiteren Einzelheiten diskutiert, beinhalten die Konfigurationsinformationen Meta-Informationen über ein zu ladendes Panorama, einschließlich Informationen über Links innerhalb des Panoramas zu anderen Panoramen. In einer Ausführungsform wird die Konfigurationsinformation in einer Form, wie beispielsweise als Extensible Markup Language (XML), dargestellt. Der Panorama-Viewer 120 ruft visuelle Elemente 140 für das Panorama ab, zum Beispiel in Form von Panoramabildern oder in Form von Panoramabildkacheln. In einer anderen Ausführungsform beinhalten die visuellen Elemente die Konfigurationsinformationen im jeweiligen Dateiformat. Panorama-Viewer 120 zeigt eine visuelle Darstellung auf der Clientenanzeige des Panoramas sowie weitere Elemente der Bedienoberfläche, wie erzeugt von den Konfigurationsinformationen 130 und visuellen Elementen 140, wie hier weiter beschrieben. Wenn ein Benutzer mit einem Eingabegerät interagiert, um die visuelle Darstellung des Panoramas zu verändern, aktualisiert Panorama-Viewer 120 die visuelle Darstellung und fährt mit dem Herunterladen weiterer Konfigurationsinformationen und visuellen Elementen nach Bedarf fort.
-
In einer Ausführungsform kann der Panorama-Viewer
120 eine eigenständige Anwendung sein oder er kann innerhalb eines Browsers
115 ausgeführt werden, wie Mozilla Firefox oder Microsoft Internet Explorer. Der Panorama-Viewer
120 kann beispielsweise als Skript in Browser
115 oder als Plug-in in Browser
115 oder als ein Programm ausgeführt werden, das in einem Browser-Plug-in ausgeführt wird, wie beispielsweise das Adobe (Macromedia) Flash-Plug-in. In einem Ausführungsbeispiel ist Panorama-Viewer
120 in einen Kartendienst integriert, wie in
US Patent No. 7.158.878 , ”DIGITAL MAPPING SYSTEM” beschrieben, das durch Bezugnahme in seiner Gesamtheit hierin aufgenommen wird.
-
2 zeigt ein Beispiel dafür, wie ein Kartendienst 210, in den Panorama-Viewer 120 integriert werden kann. Kartendienst 210 zeigt eine visuelle Darstellung einer Karte, beispielsweise als Darstellungsfenster in einem Raster von Kartenkacheln. Das Kartensystem 210 wird unter Verwendung einer Kombination aus Markup und Scripting-Elementen implementiert, beispielsweise mit Hilfe von HTML und Javascript. Da das Darstellungsfenster bewegt wird, fordert der Kartendienst 210 zusätzliche Kartenkacheln 220 vom Server/von den Servern 150 an, unter der Annahme, dass die angeforderten Kartenkacheln nicht bereits in einem lokalen Zwischenspeicher zwischengespeichert wurden. Insbesondere können der oder die Server 220, die die Kartenkacheln bereitstellen, dieselben oder andere Server sein, die die Panoramakacheln 140 bzw. andere damit verbundene Daten liefern.
-
In einer Ausführungsform kann der Kartendienst 210 anfordern, dass Browser 115 ein Programm 250 für den Panorama-Viewer 120 vom Server/von den Servern 150 herunterlädt und alle Plug-ins instanziiert, die notwendig sind, um das Programm 250 auszuführen. Programm 250 kann eine Flash-Datei oder eine andere Form von ausführbarem Inhalt sein. Panorama-Viewer 120 führt aus und arbeitet wie oben beschrieben. Alternativ können Konfigurationsinformationen 130 und sogar Panoramakacheln 140 durch Kartendienst 210 abgerufen und an den Panorama-Viewer 120 weitergegeben werden. Panorama-Viewer 120 und Kartendienst 210 kommunizieren, um den Betrieb der Bedienoberflächenelemente zu koordinieren, damit der Nutzer mit dem Panorama-Viewer 120 bzw. dem Kartendienst 210 interagieren kann, und damit die Änderung von Standort bzw. Ausrichtung in beiden reflektiert wird.
-
3 ist eine exemplarische Browser-Anzeige 300, die sowohl einen Kartendienst 210 darstellt wie auch einen integrierten Panorama-Viewer, wie den Panorama-Viewer 120. Der Kartendienst bietet eine Schaltfläche 310 mit dem Titel „Straßenansicht”, die, wenn sie ausgewählt wird, vorzugsweise das Aussehen der Karte in Bereichen ändert, in denen Panoramadaten zur Verfügung stehen. Zum Beispiel werden in 3 Straßen mit verfügbaren Panoramadaten hervorgehoben. Diese Hervorhebung können beispielsweise ein Umriss oder eine Überlagerung mit farbigen oder schattierten Umrissen sein oder eine Änderung in der Farbe und/oder der Schattierung. Dies kann durch die Verwendung eines transparenten Bildes mit der Kartenkachel umgesetzt werden oder indem der Effekt direkt in die Kartenkachel integriert wird, die zum Kartendienst gesendet wird.
-
Der Kartendienst ermöglicht es einem Benutzer, den Panorama-Viewer zu aktivieren, indem er einen weiteren Punkt auf der Karte auswählt. Wenn ein Punkt durch den Nutzer ausgewählt wird, wird ein Zeichen oder Avatarsymbol 320 an dem betreffenden Punkt auf der Karte angezeigt. In einer Ausführungsform beinhaltet das Avatarsymbol einen Indikator, der anzeigt, in welche Richtung das Avatarsymbol zeigt, der in 3 als ein Pfeil unter dem Avatarsymbol dargestellt ist.
-
In einer Ausführungsform, wenn der Panorama-Viewer von dem Kartendienst instanziiert wird, wird der Panorama-Viewer in Form von Ansichtsfenster 330 in einem Informationsballonfenster, das mit Avatarsymbol 320 assoziiert ist, dargestellt. Die Ausrichtung der visuellen Darstellung des Panorama im Darstellungsfenster 330 entspricht der Ausrichtung des Avatarsymbols 320. Wenn der Benutzer die visuelle Darstellung des Panoramas innerhalb des Ansichtsfensters 330 verändert, informiert der Panorama-Viewer den Kartendienst über alle Änderungen von Ausrichtung oder Standort, sodass der Kartendienst Ausrichtung und Standort von Avatarsymbol 320 aktualisieren kann. Ebenso informiert der Kartendienst den Panorama-Viewer, so dass dieser seine visuelle Darstellung aktualisieren kann, wenn der Nutzer Ausrichtung oder Standort des Avatarsymbols 320 innerhalb des Kartendienstes verändert.
-
In einer Ausführungsform stellt das Ansichtsfenster 330 des Panorama-Viewers ein Panoramabild des gewählten Bereichs dar. Der Nutzer kann auf das Bild klicken und es herumziehen, um eine 360-Grad-Ansicht zu sehen. Im Beispiel des Darstellungsfensters 330 in 3 werden dem darunterliegenden Panorama verschiedene Bedienoberflächen-Elemente hinzugefügt. Zu diesen Elementen gehören Navigationseingaben, wie beispielsweise Zoom- und Panning-Regler (z. B. Navigations-Schaltflächen), auf der linken Seite des Darstellungsfensters und Anmerkungen in Form von Linien/Balken, Pfeilen und Text, die direkt im Panorama selbst vorgesehen sind. Die Anmerkungen werden in einer dreidimensionalen Weise wiedergegeben, die in etwa der im Panorama dargestellten dreidimensionalen Szene entspricht.
-
In 3 entsprechen die Linien/Balken im Darstellungsfenster 330 beispielsweise den Straßen, die in der entsprechenden Karte dargestellt werden und können sogar in der gleichen Farbe erscheinen, wie die in der Karte dargestellten Straßen. Die Pfeile sind durch einen Nutzer wählbar (durch Anklicken oder durch Ziehen entlang der Straßenlinie), einen in jede Richtung, so dass ein weiteres Panorama zur Verfügung steht. Diese Pfeile erlauben es dem Nutzer, auf der Straße auf und ab zu navigieren (d. h. den Ausgangspunkt, von dem aus die Straße betrachtet wird, zu ändern). Da der Nutzer eine 360-Grad-Sicht hat, folgen die Linien und Pfeile übergangslos dem darunterliegenden Bild, so dass die Linien auf den darunterliegenden Straßen bleiben und die Pfeile auf dem Bildschirm immer sichtbar sind. Dadurch kann der Nutzer die Straße entlang navigieren und dabei geradeaus blicken oder zur Seite auf die Geschäfte.
-
Wenn der Benutzer auf einen Pfeil klickt, um in dem Ansichtsfenster zu navigieren, vermitteln ihm eine Zoom-Überblendung und andere visuelle Hinweise das Gefühl von Bewegung. Wenn der Nutzer eine Kreuzung von zwei Straßen erreicht, gibt es für jede Straße eine grüne Linie und zwei Pfeile. All diese sind gleichzeitig sichtbar und markiert, so dass der Nutzer den aktuellen Standort kennt und in beliebiger Richtung fortfahren kann. Diese Technik kann einfach skaliert werden, um komplexere Kreuzungen mit mehr als vier Richtungen aufzunehmen. Wenn der Benutzer eine „Sackgasse” erreicht, wo die Straße zwar weiterführt, aber keine weiteren Bilder verfügbar sind, gibt es nur einen Pfeil auf der Straße, der die Richtung angibt, in die der Benutzer navigieren kann. In der anderen Richtung können ein Symbol und eine Nachricht eingebettet in das Bild dargestellt werden, um den Nutzer darüber zu informieren, dass Bilder in dieser Richtung nicht verfügbar sind.
-
Die Benutzeroberfläche ist nicht darauf beschränkt, auf einer Linie entlang zu navigieren und eine Straße hinunterzugehen und kann einfach erweitert werden, um Benutzern zu ermöglichen, bei Bedarf von den Linienelementen abweichen zu können, beispielsweise, um zur gegenüberliegenden Straßenseite zu wechseln, um sich etwas genauer anzuschauen. Darüber hinaus gibt es Umgebungen innerhalb einer Stadt, bei welchen davon ausgegangen werden kann, dass ein Nutzer eine Straße verlassen und sich innerhalb eines angrenzenden Bereichs frei bewegen möchte, beispielsweise in einem Park, auf einem Platz, in einem Einkaufszentrum oder an anderen fußgängerfreundlichen öffentlichen Orten. Die Schnittstelle kann leicht mit „freien Bewegungszonen” verbessert werden, um diese Funktionalität bereitzustellen. Es sollte auch beachtet werden, dass die Bedienoberfläche, obwohl sie im Zusammenhang mit der Navigation zwischen separaten Panoramen auf Straßenebene dargestellt wird, genauso gut verwendet werden kann, damit ein Nutzer durch eine aufeinanderfolgende Reihe von Panoramadaten navigieren kann, so dass die Navigation eine Straße entlang so übergangslos ist wie ein Video.
-
Betrieb und Implementierung der Benutzeroberflächenelemente werden in nachfolgend detaillierter beschrieben.
-
4 ist ein exemplarisches Flussdiagramm der von einem Panorama-Viewer durchgeführten Verarbeitung, wie beispielsweise Panorama-Viewer 120, in Übereinstimmung mit einer Ausführungsform der Erfindung.
-
In Schritt 402 empfängt der Panorama-Viewer eine Kennung für das zuerst darzustellende Panorama sowie verschiedene Ansichtsfenster-Parameter, wie die Größe des Ansichtsfensters und die innerhalb des Panoramas zu sehende Ausrichtung. Diese Informationen können von einem Kartendienst an den Panorama-Viewer gegeben werden, z. B durch die Verwendung von Flashvars oder ExternalInterface zwischen dem Flash-Plugin und Javascript in dem Kartendienst.
-
In Schritt 404 verwendet der Panorama-Viewer die Panoramakennung, um Konfigurationsinformationen von dem Server (z. B. eine XML-Datei) anzufordern. 5 zeigt exemplarische XML-Konfigurationsinformationen 500 und wird in weiteren Einzelheiten unten erörtert. Die XML wird analysiert, und die Informationen werden zur Verwendung durch den Panorama-Viewer in verschiedene Datenstrukturen geladen. In einer Ausführungsform beinhaltet die XML Informationen für den Panorama-Viewer wie Dateneigenschaften und Projektionseigenschaften des aktuellen Panoramas sowie Informationen über Anmerkungen/Links innerhalb des Panoramas, einschließlich Links zu anderen Panoramen.
-
In Schritt 406 fordert der Panorama-Viewer die visuellen Elemente für das Panorama an und speichert die empfangenen visuellen Elemente, beispielsweise in einem lokalen Speicher/Ablageort. In einer Ausführungsform kann der Panorama-Viewer einen Zwischenspeicher mit visuellen Elementen führen und die Bandbreitennutzung auf den Abruf von visuellen Elementen beschränken, die sich nicht im Zwischenspeicher befinden. 6 veranschaulicht ein Beispiel eines ersten Panoramabilds 600. Das komplette Panoramabild 600 kann durch den Panorama-Viewer abgerufen werden oder Panoramabild 600 kann in mehrere Panoramabildkacheln aufgeteilt werden, und die Kacheln werden nur bei Bedarf vom Panorama-Viewer angefordert.
-
In Schritt 408 verarbeitet der Panorama-Viewer die Konfigurationsinformationen und die visuellen Elemente, um die Wiedergabe der visuellen Darstellung des Panoramas in dem Ansichtsfenster in Schritt 410 vorzubereiten. Im Hinblick auf die visuellen Elemente kann der Panorama-Viewer die Panoramabildkacheln in dem Teil des vollständigen Panoramabilds zusammenzusetzen, der mit dem Darstellungsfenster überlappt. Das Panoramabild kann als flache Oberfläche oder als strukturierte dreidimensionale Oberfläche, wie zum Beispiel als Zylinder oder Kugel, dargestellt werden. Im Hinblick auf die Überlagerung mit Anmerkungen, die im Darstellungsfenster angezeigt wird, verwendet der Panorama-Viewer die Konfigurationsinformationen für die Berechnung der Formen und Positionen der verschiedenen Elemente, wie beispielsweise der Linien/Balken und der Pfeile, die im Darstellungsfenster angezeigt werden.
-
In einer Ausführungsform werden die Polygone/Formen in einem dreidimensionalen Raum modelliert, der mit dem in dem Panorama dargestellten Raum übereinstimmt. Diese Polygone/Formen können modelliert werden, beispielsweise unter Verwendung eines Lochkameramodells (z. B. kann die Brennweite durch Multiplizieren der Höhe des Ansichtsfensters mit einer konstanten relativen Tiefe des Drehmittelpunkts erzeugt werden). Die Polygone/Formen der Beschriftungsüberlagerung verändern ihre Ausrichtung in dem dreidimensionalen Raum in einer Weise, die mit der Veränderung der Ausrichtung des Ansichtsfensters übereinstimmt. In einer Ausführungsform werden die Polygone/Formen um einen Winkel gedreht, der der Differenz zwischen der gegenwärtigen Ausrichtung des Nutzer-Standorts im Panorama und der Richtung der Anmerkung entspricht, wie in der Konfigurationsinformation festgelegt. Die Polygone/Formen können weiter um unterschiedliche Raumachsen herum verändert werden, um nicht flache Panoramen, wie weiter unten beschrieben, zu berücksichtigen.
-
In Schritt 410 wird die visuelle Darstellung des Panoramas in dem Ansichtsfenster wiedergegeben.
-
In Schritt 412 empfängt und verwaltet der Panorama-Viewer Eingaben, beispielsweise durch die Erfassung von Eingabeereignissen, wie Maus- und Tastatur-Ereignissen. Der Panorama-Viewer erkennt zum Beispiel, ob der Nutzer das Darstellungsfenster geschwenkt hat (z. B. durch Ziehen mit der Maus oder durch Auswahl einer Schaltfläche zur Schwenksteuerung), ob er den Zoom ausgewählt hat (z. B. durch Klicken auf das Panorama oder durch Bewegen des Zoom-Schiebereglers auf der linken Seite des Darstellungsfensters mit der Maus) oder ob er einen Link zu einem anderen Panorama ausgewählt hat (z. B. durch Klicken mit der Maus auf einen Pfeil).
-
In Schritt 420 erfolgt eine Bestimmung dahingehend, ob ein Benutzer das Ansichtsfenster geschwenkt hat. Wenn der Nutzer das Darstellungsfenster geschwenkt hat, geht die Steuerung zu Schritt 422 über. Wenn der Nutzer das Darstellungsfenster nicht geschwenkt hat, geht die Steuerung zu Schritt 430 über.
-
In Schritt 422 bestimmt der Panorama-Viewer, ob das Ansichtsfenster mit Panoramabildkacheln überlappt, die entweder von dem Server oder von einem Zwischenspeicher abgerufen werden müssen.
-
In Schritt 424 führt der Panorama-Viewer die notwendigen Berechnungen aus, damit das Ansichtsfenster in einer anderen Ausrichtung korrekt wiedergegeben werden kann, wie hierin ferner detailliert beschrieben.
-
In Schritt 426 informiert der Panorama-Viewer den Kartendienst über die durch den Benutzer ausgewählte neue Ausrichtung, sodass der Kartendienst seinen Indikator, der auf das Avatarsymbol zeigt, aktualisieren kann. Der Panorama-Viewer berechnet die Formen und Standorte für die Ansichtsfensterelemente neu und gibt das Ansichtsfenster wieder. Um diesen Punkt zu illustrieren, siehe 7A, die das Darstellungsfenster des Panorama-Viewers aus 3 nachfolgend beschrieben. 7B zeigt das Ergebnis, nachdem ein Nutzer gewählt hat, das Panorama nach links zu schwenken. Beachten Sie, dass die Linien/Balken, die den Straßen entsprechen, die im Panorama dargestellt werden, ihre Ausrichtung ändern, wenn der Panorama-Viewer die Ausrichtung des Panoramas ändert.
-
In Schritt 430 erfolgt eine Bestimmung dahingehend, ob ein Benutzer das Ansichtsfenster vergrößert hat. Wenn der Nutzer das Darstellungsfenster vergrößert hat, geht die Steuerung zu Schritt 432 über. Wenn der Nutzer das Darstellungsfenster nicht vergrößert hat, geht die Steuerung zu Schritt 440 über.
-
In Schritt 432 legt der Panorama-Viewer beispielsweise fest, ob neue Panoramabildkacheln mit einer höheren Auflösung von einem Server (oder aus einem Zwischenspeicher) angefordert werden, oder ob vorhandene Kacheln mit einer anderen Nahaufnahmen-Auflösung verwendet werden, wenn beispielsweise keine derartigen Kacheln mit einer höheren Auflösung vorhanden sind.
-
In Schritt 434 werden die Ansichtsfenster-Parameter geändert, um die verschiedenen Zoomniveaus wiederzugeben. Zwischen den Zoomstufen kann ein Übergang vorgesehen werden, um den Eindruck eines aktiven Hineinzoomens in die nächste Zoomstufe des Panoramas zu erwecken. 7C zeigt das Ergebnis, nachdem der Benutzer ausgewählt hat, ein Merkmal in 7A zu vergrößern.
-
In Schritt 440 erfolgt eine Festlegung dahingehend, ob ein Benutzer einen Link zu einem anderen Panorama ausgewählt hat. Wenn der Nutzer einen Link zu einem anderen Panorama ausgewählt hat, geht die Steuerung zu Schritt 442. Wenn der Nutzer keinen Link zu einem anderen Panorama ausgewählt hat, geht die Steuerung zu Schritt 412.
-
In Schritt 442 fährt der Panorama-Viewer damit fort, den Prozess des Übergangs zwischen dem ursprünglichen Panorama und dem neuen Panorama einzuleiten. Der Panorama-Viewer kann beispielsweise das ursprüngliche Panorama vergrößern und eine Überblendung auf das neue Panorama durchführen, um dem Benutzer ein Gefühl von Bewegung zu geben. Alternativ kann der Panorama-Viewer einen tatsächlichen Videoübergang zwischen den beiden Panoramen abspielen.
-
In Schritt 444 informiert der Panorama-Viewer den Kartendienst über den durch den Benutzer ausgewählten neuen Standort, sodass der Kartendienst den Standort des Avatarsymbols aktualisieren und die Karte entsprechend scrollen kann.
-
In Ausführungsformen kann der Panorama-Viewer unter Verwendung einer beliebigen geeigneten Programmiersprache oder Programmierungsart umgesetzt werden. Zum Beispiel kann der Panorama-Viewer mit objektorientierter Programmierung mit separaten Klassen umgesetzt werden, die dazu bestimmt sind, die XML-Konfigurationsinformationen, die Beschriftungen, die Texturerzeugung, das Kachel-Management und der Gittergenerierung zu übernehmen.
-
5 legt exemplarische XML-Konfigurationsinformationen 500 vor (z. B. Metadaten). Wie im Beispiel in 5 dargestellt, ist das Schema für die Konfigurationsinformationen in „data_properties”, „projection_properties” und „annotation_properties” aufgeteilt.
-
Die Untergruppe Data_Properties enthält Attribute, wie „pano_id” (z. B. eine eindeutige Kennung für das Panorama), „image_width” und „image_height” (z. B. Maße des Panoramabilds, bevor es in Kacheln aufgeteilt wird), „tile_width” und „tile_height” (z. B. Maße der Kacheln), „lat” und „lng” (z. B. Koordinaten des aktuellen Panoramas) und „num_zoom_levels” (z. B. die Anzahl der Zoomniveaus, die der Benutzer im Panorama-Viewer ansehen kann). Diese Untergruppe enthält auch Elemente, wie z. B. „text” (die z. B. verwendet werden können, um den Straßennamen des aktuellen Panoramas darzustellen), „copyright” (z. B. Copyright-Informationen) und „street_range” (z. B. den Bereich der Hausnummern in der angegebenen Straße).
-
Die Untergruppe Projection_properties enthält Attribute, wie „Pano_yaw_deg” (z. B. Ausrichtung des Fahrzeugs, das die Bilder, die das Panorama-Bild erzeugt haben, erfasst hat), „tilt_yaw_deg” und „tilt_pitch_deg” (z. B. Gierung und Neigung der Linie der höchsten Neigung, die, wie hierin ferner beschrieben, nützlich ist für den Umgang mit Panoramen mit Merkmalen mit Neigung) und „vertical_scale” (z. B. ein Bruchteil des Bildes entlang der y-Achse, die in einem kleineren Zoomniveau sichtbar ist).
-
Die Untergruppe Annotation_properties enthält Attribute, wie „horizon_height_fraction” (z. B. vertikale Position (Höhe) des Horizonts, ausgedrückt als ein Bruchteil des sichtbaren Streifens, der angepasst werden kann, um die Passung zwischen den Beschriftungen und den Kachelbildern zu maximieren) und „annotation_height_fraction” (z. B. vertikale Position (Höhe) der Ebene, die die Beschriftungen enthält, ausgedrückt ein Bruchteil des sichtbaren Streifens). Diese Untergruppe beinhaltet auch die Untergruppe „pano_link”, die die Eigenschaften der Linksymbole beschreibt, die es einem Benutzer ermöglichen, zu einem danebenliegenden Panorama oder einem anderen verwandten Dokument zu navigieren. Die Untergruppe „Link” beinhaltet „link_text” (z. B. Beschreibung der Landungspanoramen) als ein Element und beinhaltet Folgende als Attribute: „yaw_deg” (z. B. Richtung, in die der Link zeigt), „pano_id” (z. B. Kennung des verknüpften Panoramas) und „road_argb” (z. B. ein Attribut der Straße, wie die Farbe der Straße auf der Karte) (nicht gezeigt). Die Untergruppe kann auch eine Gruppe oder ein Element „floating_text” beinhalten, das beliebige Merkmale in dem Panorama identifiziert und auch einen beliebigen Link bereitstellen kann, zum Beispiel zu einem lokalen Datenpool oder einer Website (nicht gezeigt).
-
Es sei darauf hingewiesen, dass das obige Schema für die Konfigurationsinformationen lediglich der Veranschaulichung dient und in einer Vielzahl von vorteilhaften Arten zusammengestellt werden kann, einschließlich unter Verwendung von Techniken, die nicht auf XML beruhen.
-
8 ist ein Flussdiagramm der Verarbeitung, die in Übereinstimmung mit einer Ausführungsform der Erfindung von einem Render-Programm durchgeführt wird.
-
In Schritt 802 berechnet das Render-Programm im Voraus ein Vorab-Bild eines Ansichtsfensters durch eine Rückwärtstransformation. Dies definiert einen Teil einer Oberfläche, der hierin als „vorausberechneter Bereich” bezeichnet wird. 9a veranschaulicht dies im Zusammenhang mit einer zylindrischen Fläche 900 mit einem rechteckigen Darstellungsfenster 920, das einen vorausberechneten Bereich 910 durch die Rückwärts-Konvertierung definiert. Es sei darauf hingewiesen, dass das Darstellungsfenster nicht rechteckig sein muss und dass die Technik für einzelne Zylinder (basierend auf einem Netz) oder für kontinuierliche Voxel-Pixel-Zuordnungen funktioniert. So kann beispielsweise ein Netz auf dem Darstellungsfenster mit einem entsprechenden Netz auf dem Zylinder definiert werden. Diese Netze müssen nicht einheitlich sein und sind Bilder voneinander, wie definiert durch die Vorwärts- oder Rückwärts-Zuordnungen. Das Netz auf dem Zylinder deckt in der Regel nur einen Teil des Zylinders. Im Falle einer kontinuierlichen Konvertierung würde das Vorab-Bild des Darstellungsfensters eine kontinuierliche Region des Zylinders definieren.
-
In Schritt 804 berechnet das Render-Programm vorab die Transformation, welche jeden Pixel aus dem vorberechneten Bereich einem Pixel in dem Ansichtsfenster zuordnet. In gewisser Weise wird davon ausgegangen, dass der Zylinder noch im Raum steht. Anstatt ein Texturbild einem wechselnden Zylinder zuzuweisen, wird davon ausgegangen, dass die Textur auf dem Zylinder „gleitet”.
-
In Schritt 806 übersetzt das Render-Programm ein Bild/eine Textur als Reaktion auf eine Benutzereingabe.
-
In Schritt 808 bestimmt das Render-Programm den Teil des Bilds/der Textur, der den vorberechneten Bereich der Oberfläche schneidet. Damit wird festgelegt, welche Pixelsätze im Darstellungsfenster wiedergegeben werden müssen. Wenn der Nutzer gerade den Standpunkt geändert hat, dann muss dies aktualisiert werden. Genauer gesagt kann jedes Schwenken des Ansichtsfensters nach links oder rechts leicht erreicht werden, indem die Textur in Schritt 806 in die entsprechende Richtung übertragen wird, wodurch eine andere Kreuzung mit dem vorausberechneten Bereich erzeugt wird. Ebenso erfolgt jedes Schwenken nach oben oder unten durch die Übertragung der Struktur entlang diesen Richtungen. Jede beliebige Schwenkrichtung wird erreicht, indem die Struktur einfach in die entsprechende Richtung übertragen wird. Jedes Mal wird eine neue Kreuzung mit dem vorausberechneten Bereich erzeugt. Dies wird dargestellt in 9B und 9C, wo 950 den vorausberechneten Bereich darstellt und 960 das Bild/die Struktur.
-
In Schritt 810 wird die vorberechnete Transformation auf den Teil des Bilds/der Textur angewendet, der den vorberechneten Bereich schneidet.
-
Schließlich wird das transformierte Bild in Schritt 812 in dem Ansichtsfenster wiedergegeben.
-
In einer Ausführungsform nutzt das Render-Programm Eigenschaften von geradlinigen Projektionen, um die Wiedergabe der Panoramabilder zu beschleunigen. Wenn eine Oberfläche, wie ein Zylinder, als unendlich angesehen wird, dann ist es eine Gruppe G mit den natürlichen Vorgängen (z. B. Übertragung entlang der Achse und Rotation um die Achse). Ebenso ist die Struktur, wenn sie als unendlich betrachtet wird, auch eine Gruppe H, ausgestattet mit Übertragungen in der Ebene. Es stellt sich heraus, dass ein kanonischer Homomorphismus zwischen G und H besteht. Das heißt, die Drehung des Zylinders um die eigene Achse entspricht einer Übertragung der Struktur z. B. in X-Richtung. Eine Übersetzung des Zylinders entlang seiner Achse ist gleichbedeutend mit einer Übertragung der Struktur, z. B. in Y-Richtung. Dadurch können alle Projektionsparameter vorausberechnet und es kann eine Änderung des Standortes als Übertragung der Struktur simuliert werden. 10A und 10B zeigen ein Beispiel, wie Projektionsparameter vom Bildschirmraum auf den Strukturraum berechnet werden. Wie in 10A und 10B dargestellt:
- (1) Wenn ein Punkt M auf dem Bildschirm 1020 Koordinaten (X, Y) hat, dann hat er im Raum Koordinaten (X, Y, R), wobei R ist der Radius des Zylinders 1010 ist.
- (2) In diesem Fall ist tanΘ = X / R, und der Punkt P hat im Texturraum folgenden Koordinaten:
-
Eine dynamische Textur kann, basierend auf dem aktuellen Zoomniveau, generiert und in dem Bildraum positioniert werden. Diese Textur ändert sich, wenn der Benutzer den Ansichtspunkt verändert (z. B. durch Zoomen oder Schwenken). Diese Struktur kann durch die Verknüpfung der Kacheln aus einer Kachel-Pyramide auf einer geeigneten Ebene und in einem geeigneten Maßstab erreicht werden. Fehlen Kacheln, kann auf eine Kachel auf einer übergeordneten Ebene in der Kachel-Pyramide zurückgegriffen werden. Die Textur wird modelliert, als wäre sie über einem Zylinder angeordnet. Eine Projektion erfolgt über den Bildschirmraum. Diese nicht-lineare Projektion kann als eine stückweise affine Konvertierung angenähert werden. Genauer gesagt können die Zylinder- und Bildschirmräume mit einem dreieckigen Netz separiert werden. Jedes Dreieck kann wiedergegeben werden, indem linear (oder besser gesagt affin) ein Stück der Struktur darüber angeordnet wird. Dies ist wohldefiniert als eine affine Konvertierung in der zweidimensionalen Ebene, da es durch seine Wirkung auf drei Punkten eindeutig bestimmt ist (daher die Verwendung von Dreiecken). Das Netz kann im Bildschirmraum (und nicht im Strukturraum) einheitlich gemacht werden. Das Bildschirmnetz ist immer dasselbe, unabhängig von der Zoomstufe. Andere Strukturnetze können je nach Zoomstufe verwendet werden. Für jedes Dreieck entspricht ein Strukturnetz einem einzigartigen Dreieck im Bildschirmnetz und einer einzigartigen (affinen) Konvertierungsmatrix. Eine solche Matrix kann als Produkt einer Bildschirmmatrix und (einer Umkehrung der) Strukturmatrix vorausberechnet werden.
-
Wenn ein Benutzer schwenkt, muss das Render-Programm lediglich die Textur anpassen bzw. aktualisieren. Das ist schnell, weil es aus Speicherkopien besteht. Das Kopieren großer Stücke von Pixeln ist in der Regel in verschiedenen Programmiersprachen optimiert.
-
In einer Ausführungsform besteht das Zoomen darin, horizontale und vertikale Blickfelder durch zwei zu teilen und das nächste Zoomniveau zu verwenden, um die Textur zu erzeugen. Wenn der Nutzer vergrößert bzw. verkleinert, kann der Panorama-Viewer ein paar Bitmap-Bilder vorab zwischenspeichern, um die Animation zu glätten. Was die Projektion selbst betrifft, können die verschiedenen Gruppen von Konvertierungsmatrizen auf integraler Zoomstufen verwendet werden. In nicht integralen Zoomstufen können die Konvertierungsmatrizen (noch immer schnell) zwischen der vorherigen Zoomstufe und der nächsten linear interpoliert werden.
-
In einem Fall, wo Pixel als quadratisch angenommen werden, entsprechen sie homogenen festen Winkeln. Das elementare Sichtfeld eines bestimmten Pixels ist das gleiche in der Horizontalen wie in der Vertikalen. Dadurch kann ein Ausgleich vorgenommen werden. Zum Beispiel kann genau gewählt werden, die geraden Linien zu erhalten, aber dies führt zu höheren Verzerrungen auf der Seite. Alternativ kann entschieden werden, dass die geraden Linien ein bisschen kurvig werden und dadurch die Stärke der Verzerrung reduzieren. In einer Ausführungsform wird die Höhe des Originalbildes auf die des Darstellungsfensters skaliert. Da die Pixel quadratisch sind, bestimmt das Verhältnis zwischen Breite und Höhe des Darstellungsfensters das horizontale Gesichtsfeld.
-
Im Fall einer Kugel anstatt eines Zylinders gelten die oben genannten Annahmen nicht mehr. Dementsprechend kann die oben beschriebene Technik allein keine echte Schwenkung nach oben/unten simulieren, weil alles, was durchgeführt wird, eine Bewegung entlang der Zylinderachse ist, wobei der Sichtvektor senkrecht zu dieser Achse verläuft. Dennoch kann die Bewegung einer echten Schwenkung nach oben/unten simuliert werden, indem eine Reihe von Transformationen und linearen Interpolationen zwischen den Transformationen vorausberechnet werden.
-
In einer Ausführungsform ist der Panorama-Viewer konfiguriert, nicht flache Panoramen zu behandeln. Nicht alle Panoramen zeigen flache und horizontale Merkmale, wie zum Beispiel viele der Straßen von San Francisco. An einem Fahrzeug montierte Kameras, die beispielsweise verwendet werden, um Panoramen zu erfassen, befinden sich parallel zum Boden. Wenn also an einem steilen Hang gefahren wird, kann dies zu fehlorientierten Bildern führen. Dementsprechend kann es in solchen Situationen vorteilhaft sein, das Panorama zu verformen, um zu gewährleisten, dass die vertikalen Gebäude in der realen Welt im Strukturraum vertikal bleiben. 11 zeigt ein Beispiel, wie ein Panorama 1100 auf diese Weise verformt werden kann. Wie in 12, das Beispiel folgt etwa einer periodischen Funktion, die verwendet werden kann, um die Platzierung des Darstellungsfensters sowie die Erzeugung der Anmerkungen so zu leiten, dass die Steigung des Panoramas berücksichtigt wird.
-
Wie hierin erwähnt, können die Konfigurationsinformationen Projektionseigenschaften beinhalten, wie beispielsweise die Gierung und die Neigung der höchsten Neigung in dem Panorama. Wie in 12, der Panorama-Viewer kann Drehung und Neigung der Richtung der steilsten Steigung verwenden, um das Darstellungssfenster auf die sinusförmigen Streifen des verzogenen Panoramas zu beschränken. Die Wiedergabe der Anmerkungselemente im Darstellungsfenster können so verändert werden, dass die Information bezüglich Drehung und Neigung des Panoramas berücksichtigt wird. Die räumliche Ausrichtung der Linien/Balken und Pfeile kann anhand der Drehungs- und Neigungsinformationen verändert werden oder können alternativ anhand der relativen Drehung der Anmerkung und der Drehung des steilsten Hangs geschätzt werden. 13 veranschaulicht das Ergebnis einer solchen Verarbeitung der Konfigurationsinformationen auf der Steigung eines Panoramas. Das Panorama platziert die vertikalen Gebäude korrekt im Panoramabild auf der steil geneigten Straße. Darüber hinaus ist die Linie/der Balken (z. B. Metadaten der Straßenlinie), die/der die Straße beschreibt, in einem Winkel geneigt, der in etwa die Steigung der Straße entspricht.
-
In einer Ausführungsform ist der Panorama-Viewer auch in der Lage, Benutzerbeschriftungen zu einem Panoramabild zu ermöglichen. Benutzerbeschriftungen zu Panoramen stellen eine Herausforderung in Bezug darauf dar, wie auf eine Beschriftung im dreidimensionalen Raum zu verweisen ist.
-
14 und 15 veranschaulichen eine Ausführungsform, die auf Nutzeranmerkungen in einem dreidimensionalen Raum eingeht. Die in 15 dargestellte Verarbeitung kann am Panorama-Viewer (oder Kartendienst), auf dem Server oder einer Kombination der beiden vorgenommen werden.
-
Unter Bezugnahme auf 15, gibt ein Nutzer in Schritt 1502 eine Anmerkung in Bezug auf ein Panorama ein. Der Panorama-Viewer kann die Benutzereingabe in einer beliebigen Anzahl von verschiedenen Möglichkeiten empfangen, einschließlich durch Empfangen eines Kfumlick-Ereignisses an der Stelle auf dem Panorama, die der Benutzer beschriften möchte. Die zweidimensionale Position der Anmerkung auf dem Panorama wird in einigen vorteilhaften Koordinatensystemen aufgezeichnet, beispielsweise durch Verorten auf dem Panoramabild oder durch Drehungs- und Neigungskoordinaten.
-
In Schritt 1504 navigiert der Benutzer zu einem anderen nahegelegenen Panorama im Panorama-Viewer, verortet dasselbe zu beschriftende Merkmal und gibt wieder eine Beschriftung in Bezug auf das zweite Panorama ein. Der Panorama-Viewer oder der Kartendienst können vermutlich auch die Fähigkeit bieten, zusätzliche Metadaten hinzuzufügen, die mit der Anmerkung verbunden sind, wie z. B. einen Titel, einen Link, Grafiken usw.
-
In Schritt 1506 werden die Beschriftungskoordinaten auf den zwei Panoramen verwendet, um dreidimensionale Koordinaten für die Beschriftung zu erzeugen. Angesichts der bekannten Position der Kameras, die die Bilder für das Panorama 1410, 1420 aufgenommen haben, und der durch den Benutzer eingegebenen Beschriftungskoordinaten relativ zu den zweidimensionalen Bildern, wie gezeigt in 14 dargestellt, ist es möglich, die Kreuzung der beiden zu berechnen, dargestellt als 1450. Das Ergebnis ist eine dreidimensionale Koordinate für die Beschriftung.
-
In Schritt 1508 wird die dreidimensionale Koordinate für die Beschriftung der Beschriftung zugeordnet und in der Beschriftungsdatenbank gespeichert. Die Anmerkung kann dann zu einem beliebigen Panorama innerhalb einiger vorteilhafter Bereiche der berechneten Koordinaten hinzugefügt werden, einschließlich Panoramen, die vom Benutzer ursprünglich nicht kommentiert wurden.
-
Wenn die relative Neigungsinformation für eine Beschriftung nicht besonders wichtig ist, ist es alternativ möglich, die Benutzerbeschriftungen als eine eindimensionale Gierrichtung auf beiden Panoramen zu empfangen, wodurch die Zuweisung eines zweidimensionalen Geocodes zu der Beschriftung (mit oder ohne Standardneigungsinformation) ermöglicht wird.
-
Während verschiedene Ausführungsformen der vorliegenden Erfindung oben beschrieben wurden, sollte sich verstehen, dass sie exemplarisch dargestellt wurden und nicht als Einschränkung. Es wird für Experten der relevanten Fachgebiete klar sein, dass verschiedene Änderungen darin vorgenommen werden können, ohne vom Umfang der Erfindung abzuweichen. Ferner sei darauf hingewiesen, dass die ausführliche Beschreibung der hierin bereitgestellten Erfindung und nicht die Zusammenfassungs- oder Kurzfassungsabschnitte zu verwenden ist, um die Ansprüche zu interpretieren. Die Zusammenfassungs- und Kurzfassungsabschnitte können eine oder mehrere, aber nicht alle exemplarischen Ausführungsformen der vorliegenden Erfindung, wie von den Erfindern betrachtet, veranschaulichen.
-
Die vorstehende Beschreibung der spezifischen Ausführungsformen wird die allgemeine Eigenschaft der Erfindung so vollständig aufzeigen, dass andere durch Anwenden von Wissen auf dem Gebiet derartige spezifische Ausführungsformen leicht für verschiedene Anwendungen ohne übermäßiges Experimentieren modifizieren und/oder anpassen können, ohne von dem allgemeinen Konzept der vorliegenden Erfindung abzuweichen. Daher sind solche Anpassungen und Modifikationen auf Basis der hierin präsentierten Lehre und Anleitung als innerhalb der Bedeutungen des Bereichs der Äquivalente der offenbarten Ausführungsformen zu betrachten. Es ist zu verstehen, dass die Ausdrucksweise und Terminologie hierin derart zum Zweck der Beschreibung und nicht als Einschränkung dient, dass die Terminologie und Ausdrucksweise der vorliegenden Spezifizierung durch den Fachmann unter Betrachtung der Lehren und Anleitung zu interpretieren ist.
-
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 Patentliteratur
-
-
Zitierte Nicht-Patentliteratur
-
- http://preview.local.live.com [0002]