-
GEBIET DER ERFINDUNG
-
Die vorliegende Erfindung bezieht sich allgemein auf Panoramabilder.
-
HINTERGRUND
-
Computergestützte Kartensysteme stellen Kartendaten normalerweise als Draufsicht dar. 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 Schnittstelle zur Straßenansicht einer Stadt bereitzustellen. A9 BlockView adressiert das Ausrichtungsproblem durch die Abflachung der Bilder in zwei Streifen, so dass der Nutzer nicht mehr die Freiheit hat, in einem Winkel von 360 Grad zu suchen. Windows Live Local präsentiert einen „Autoblick” auf die Straßenansicht, der in Schritten von jeweils 90 Grad gedreht wird, indem ein Autoavatar auf der Kartenansicht bewegt 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 bezieht sich auf die Wiedergabe, Ansicht und Anmerkung 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 für die Anzeige 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: das Berechnen eines Bereichs auf der Oberfläche, der durch eine erste Konvertierung von einem Darstellungsfenster zur Oberfläche definiert wird; das Berechnen einer zweiten Konvertierung, die eine Karte von der Region zum Darstellungsfenster darstellt; und das Bestimmen eines Teils eines Bildes, das den Bereich kreuzt. 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 Anmerkungen 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 Anmerkungen 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 Erfindung sowie die Struktur und der Funktionsweise der verschiedenen Ausführungsformen der Erfindung werden unten in Bezug auf die begleitenden Zeichnungen genau beschrieben.
-
KURZE BESCHREIBUNG DER ZEICHNUNGEN/FIGUREN
-
Ausführungsbeispiele der Erfindung werden unter Bezugnahme auf die beigefügten 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 beigefügten 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 bezieht sich auf die Wiedergabe, Ansicht und Anmerkung 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 weiter unten beschrieben wird.
-
Wie in 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 darstellt, 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 den 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 dem Nutzer, 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, wie der Panorama-Viewer von der Mapping-Dienst instanziiert wird, wird der Panorama-Viewer in Form von Ansichtsfenster 330 in einem Informationsfenster Ballon mit einem Avatarsymbol 320 assoziiert eingebettet dargestellt. Die Ausrichtung der visuellen Darstellung des Panorama im Darstellungsfenster 330 entspricht der Ausrichtung des Avatarsymbols 320. Wenn der Nutzer die visuelle Darstellung des Panoramas innerhalb des Darstellungsfensters 330 verändert, informiert der Panorama-Viewer den Kartendienst über alle Änderungen von Ausrichtung oder Standort, so dass der Kartendienst Ausrichtung und Standort des Avatarsymbols 320 entsprechend 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 Darstellungsfenster 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 Nutzer auf einen Pfeil klickt, um im Darstellungsfenster 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 Nutzer 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 Nutzer 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 Bedienoberfläche ist nicht darauf beschränkt, auf einer Linie entlang zu navigieren und eine Straße hinunterzugehen und kann einfach erweitert werden, damit die Nutzer bei Bedarf von den Linienelementen abweichen können, beispielsweise um zur anderen 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 Bedienoberflächenelemente werden in weiterem Detail nachfolgend 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 Darstellungsfenster-Parameter, wie Größe des Darstellungsfensters und Ausrichtung innerhalb des Panoramas. Diese Informationen können von einem Kartendienst an den Panorama-Viewer gegeben werden, beispielsweise durch die Verwendung von Flashvars oder ExternalInterface zwischen dem Flash-Plug-in und dem Javascript Kartendienst.
-
In Schritt 404 verwendet der Panorama-Viewer die Panoramakennung zur Anforderung von Konfigurationsinformationen vom Server (z. B. eine XML-Datei). 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.
-
Bei Schritt 406 fordert der Panorama-Viewer die visuellen Elemente für das Panorama 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.
-
Bei Schritt 408 verarbeitet der Panorama-Viewer die Konfigurationsinformationen und die visuellen Elemente, um die visuelle Darstellung des Panoramas im Darstellungsfenster im Schritt 410 wiederzugeben. 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 im Panorama dargestellten Raum übereinstimmt. Diese Polygone/Formen können modelliert werden, beispielsweise unter Verwendung eines Lochkameramodells (z. B. kann die Brennweite durch Multiplikation der Höhe des Darstellungsfensters durch eine konstante relative Tiefe des Drehmittelpunkts erzeugt werden). Die Polygone/Formen der Überlagerung mit Anmerkungen ändern ihre Ausrichtung in dem dreidimensionalen Raum in einer Weise, die mit der Veränderung der Ausrichtung des Darstellungsfensters ü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.
-
Bei Schritt 410 wird die visuelle Darstellung des Panoramas im Darstellungsfenster 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).
-
Bei Schritt 420 wird bestimmt, ob der Nutzer das Darstellungsfenster 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.
-
Bei Schritt 422 bestimmt der Panorama-Viewer, ob das Darstellungsfenster mit Panoramabildkacheln überlappt, die vom Server oder von einem Zwischenspeicher abgerufen werden müssen.
-
Bei Schritt 424 führt der Panorama-Viewer die notwendigen Berechnungen aus, damit das Darstellungsfenster in einer anderen Ausrichtung korrekt wiedergegeben werden kann, wie weiter unten im Detail beschrieben.
-
In Schritt 426 informiert der Panorama-Viewer den Kartendienst über die durch den Nutzer ausgewählte neue Ausrichtung, so dass der Kartendienst die Anzeige des Avatarsymbols aktualisieren kann. Der Panorama-Viewer berechnet die Formen und Positionen für die Darstellungselemente neu und gibt das Darstellungsfenster 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.
-
Bei Schritt 430 wird festgelegt, ob der Nutzer das Darstellungsfenster 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.
-
Bei Schritt 432 legt der Panorama-Viewer beispielsweise fest, ob neue Panoramabildkacheln mit einer höheren Auflösung von einem Server (oder aus dem Zwischenspeicher) angefordert werden müssen oder ob vorhandene Kacheln mit einer anderen Nahaufnahmen-Auflösung verwendet werden, beispielsweise wo keine Kacheln mit einer höheren Auflösung vorhanden sind.
-
Bei Schritt 434 werden die Darstellungsfenster-Parameter geändert, um die verschiedenen Zoomstufen 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.
-
Bei Schritt 440 erfolgt eine Festlegung dahingehend, ob ein Nutzer 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.
-
Bei Schritt 442 leitet der Panorama-Viewer den Übergang zwischen dem ursprünglichen und dem neuen Panorama ein. 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 Nutzer ausgewählten neuen Standort, so dass der Kartendienst den Standort des Avatarsymbols ändern und die Karte entsprechend scrollen kann.
-
In Ausführungsformen kann der Panorama-Viewer mit 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 Anmerkungen, die Strukturerzeugung, das Kachel-Management und der Gittergenerierung zu verarbeiten.
-
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_roperties”, „projection_properties” und „annotation_properties” aufgeteilt.
-
Die Untergruppe Data_Properties enthält Merkmale, 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 „ing” (z. B. Koordinaten des aktuellen Panoramas) und „num_zoom_levels” (z. B. die Anzahl der Zoom-Stufen, die der Benutzer im Panorama-Viewer anzeigen 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_roperties enthält Merkmale, wie „Pano_yaw_deg” (z. B. Ausrichtung des Fahrzeugs, das die Bilder erfasst hat, die das Panorama-Bild erzeugt haben), „tilt_yaw_deg” und „tilt_pitch_deg” (z. B. Drehung und Neigung der Linie der höchsten Steigung, die, wie hier weiter beschrieben wird, nützlich ist für den Umgang mit Panoramen mit Hängen) und „vertical_scale” (z. B. ein Bruchteil des Bildes entlang der Y-Achse, die an der unteren Zoomstufe sichtbar ist).
-
Die Untergruppe Annotation_properties enthält Merkmale, wie „horizon_height_fraction” (z. B. vertikale Position (Höhe) des Horizonts, ausgedrückt als Bruchteil des sichtbaren Streifens, der angepasst werden kann, um die Passung zwischen den Anmerkungen und den Kachelbildern zu maximieren) und „annotation_height_fraction” (z. B. vertikale Position (Höhe) der Ebene, die die Anmerkungen enthält, als Bruchteil des sichtbaren Streifens). Diese Untergruppe beinhaltet auch die Untergruppe „pano_link”, die die Eigenschaften der Linksymbole beschreibt, mit denen ein Nutzer zu einem danebenliegenden Panorama oder einem anderen verwandten Dokument navigieren kann. Die Untergruppe „Link” beinhaltet „link_text” (z. B. Beschreibung der Landungspanoramen) als ein Element und umfasst die folgenden Merkmale: „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 Merkmal der Straße, wie Farbe der Straße auf der Karte) (nicht dargestellt). Die Untergruppe kann auch eine Gruppe oder ein Element „floating_text” beinhalten, das beliebige Merkmale im Panorama identifiziert und auch einen beliebigen Link bereitstellen kann, zum Beispiel zu einem lokalen Datenpool oder einer Website (nicht dargestellt).
-
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 der 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.
-
Bei Schritt 802 berechnet das Render-Programm im Voraus ein Vorab-Bild eines Darstellungsfensters über eine Rückwärts-Konvertierung. Dies definiert einen Teil einer Oberfläche, die hier 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.
-
Bei Schritt 804 berechnet das Render-Programm vorab, wodurch jedes Pixel aus dem vorausberechneten Bereich einem Pixel im Darstellungsfenster zugeordnet wird. In gewisser Weise wird davon ausgegangen, dass der Zylinder noch im Raum steht. Anstatt ein Strukturbild einem wechselnden Zylinder zuzuweisen, wird davon ausgegangen, dass die Struktur auf den Zylinder „gleitet”.
-
Bei Schritt 806 übersetzt das Render-Programm eine Bild/eine Struktur als Reaktion auf eine Benutzereingabe.
-
Bei Schritt 808 bestimmt das Render-Programm den Teil des Bilds/der Struktur, die den vorausberechneten Bereich der Oberfläche kreuzt. 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 Darstellungsfensters nach links oder rechts leicht erreicht werden, indem die Struktur bei Schritt 806 in die entsprechende Richtung übertragen wird, dadurch wird eine andere Kreuzung mit dem vorausberechneten Bereich erzeugt. 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.
-
Bei Schritt 810 wird die vorausberechnete Konvertierung auf den Teil des Bilds/der Struktur angewendet, die den vorausberechneten Bereich schneidet.
-
Schließlich wird das umgewandelte Bild bei Schritt 812 im Darstellungsfenster wiedergegeben.
-
In einer Ausführungsform, nutzt das Render-Programm Merkmale von geradlinigen Projektionen, um die Wiedergabe von Panoramabildern 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 θ = x / R , und der Punkt P hat im Strukturraum folgenden Koordinaten:
-
Eine dynamische Struktur kann, basierend auf der aktuellen Zoomstufe, generiert und im Bildraum positioniert werden. Diese Struktur ändert sich, wenn der Nutzer den Standort ä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 Nutzer schwenkt, muss das Render-Programm lediglich die Struktur 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 Vergrößern daraus, horizontale und vertikale Blickwinkel durch zwei zu teilen und die nächste Zoomstufe 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 den 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 Falle einer Kugel anstatt eines Zylinders gelten die oben genannten Annahmen nicht.
-
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, um 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 hier erwähnt, können die Konfigurationsinformationen Projektionseigenschaften beinhalten, wie beispielsweise Drehung oder Neigung der höchsten Steigung im 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, Nutzeranmerkungen zu einem Panoramabild zu ermöglichen. Nutzeranmerkungen zu Panoramen stellen eine Herausforderung in Bezug darauf dar, wie auf eine Anmerkung 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 erhalten, unter anderem durch Empfang eines Klick-Ereignisses an Ort und Stelle auf dem Panorama, das der Nutzer zu kommentieren wünscht. 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 Nutzer zu einem anderen nahe gelegenen Panorama im Panorama-Viewer, verortet dasselbe zu kommentierende Merkmal und gibt wieder eine Anmerkung 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.
-
Bei Schritt 1506 werden die Anmerkungskoordinaten auf den beiden Panoramen verwendet, um dreidimensionale Koordinaten für die Anmerkung zu erzeugen. Angesichts der bekannten Position der Kameras, die die Bilder für das Panorama 1410, 1420 aufnahmen, und der durch den Nutzer eingegebenen Anmerkungskoordinaten im Verhältnis zu den zweidimensionalen Bildern, wie 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 Anmerkung.
-
Bei Schritt 1508 wird der Anmerkung eine dreidimensionale Koordinate zugeordnet und in der Anmerkungsdatenbank 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 Anmerkung nicht besonders wichtig ist, ist es alternativ möglich, die Nutzeranmerkungen als eindimensionale Neigungsrichtung auf beiden Panoramen zu empfangen, wodurch die Zuweisung eines zweidimensionalen Geocodes zur Anmerkung (mit oder ohne Standardneigungsinformation) erleichtert wird.
-
Während verschiedene Ausführungsformen der vorliegenden Erfindung oben beschrieben wurden, sollte es verstanden werden, dass diese exemplarisch dargestellt wurden und nicht als Einschränkung zu verstehen sind. 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 zeigt somit die allgemeine Natur der Erfindung vollständig, die andere durch die Anwendung fachgerechter Technik problemlos ändern bzw. für verschiedene Anwendungen solcher spezifischer Ausführungsformen anpassen können, ohne unangemessenes Experimentieren und ohne vom 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 versteht sich, dass die hierin enthaltene Phraseologie oder Terminologie dem Zweck der Beschreibung und nicht der Einschränkung dient, sodass die Terminologie oder Phraseologie der vorliegenden Spezifikation von Fachleuten angesichts 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]