DE202013012446U1 - Strukturüberblendung für weichen Übergang zwischen unterschiedlichen Detaillierungsgraden in Grafikanwendungen - Google Patents

Strukturüberblendung für weichen Übergang zwischen unterschiedlichen Detaillierungsgraden in Grafikanwendungen Download PDF

Info

Publication number
DE202013012446U1
DE202013012446U1 DE202013012446.6U DE202013012446U DE202013012446U1 DE 202013012446 U1 DE202013012446 U1 DE 202013012446U1 DE 202013012446 U DE202013012446 U DE 202013012446U DE 202013012446 U1 DE202013012446 U1 DE 202013012446U1
Authority
DE
Germany
Prior art keywords
detail
level
fade
blending
interpolation value
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE202013012446.6U
Other languages
English (en)
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Google LLC
Original Assignee
Google LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Google LLC filed Critical Google LLC
Publication of DE202013012446U1 publication Critical patent/DE202013012446U1/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/001Texturing; Colouring; Generation of texture or colour
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/04Texture mapping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20016Hierarchical, coarse-to-fine, multiscale or multiresolution image processing; Pyramid transform
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/36Level of detail
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2340/00Aspects of display data processing
    • G09G2340/04Changes in size, position or resolution of an image
    • G09G2340/0407Resolution change, inclusive of the use of different resolutions for different screen areas
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2340/00Aspects of display data processing
    • G09G2340/10Mixing of images, i.e. displayed pixel being the result of an operation, e.g. adding, on the corresponding input pixels
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2340/00Aspects of display data processing
    • G09G2340/14Solving problems related to the presentation of information to be displayed
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2350/00Solving problems of bandwidth in display systems

Abstract

Computerimplementiertes System, das ein erstes Computergerät umfasst, dessen Verarbeitungsschaltkreise konfiguriert sind, um: eine Darstellung eines geografischen Bereichs anzuzeigen, der geometrische Objekte hat, die Flächen im geografischen Bereich und Strukturen definieren, auf den Flächen wiedergeben werden, die durch die geometrischen Objekte definiert werden, wobei die Struktur mit einem ersten Detaillierungsgrad wiedergegeben wird; einen Übergang zu einer Anzeige einer Darstellung von zumindest einem Teil des geographischen Bereichs zu schaffen, wobei die Struktur auf einem zweiten Detaillierungsgrad dargestellt wird und für die Struktur eine zeitweilige Überblendung des Detaillierungsgrads verwendet wird, wobei die zeitweilige Detaillierungsgrad-Überblendung für die Struktur unabhängig von einem Detaillierungsgrad für die geometrischen Objekte durchgeführt wird.

Description

  • PRIORITÄTSANSPRUCH
  • Diese Anmeldung beansprucht die Priorität der vorläufigen US-Patentanmeldung Seriennummer 61/590.546 mit dem Titel „Strukturüberblendung für weichen Übergang zwischen unterschiedlichen Detaillierungsgraden in Grafikanwendungen”, eingereicht am 25. Januar 2012, und US-Patentanmeldung Seriennummer 13/412.796 mit dem Titel „Strukturüberblendung für weichen Übergang zwischen unterschiedlichen Detaillierungsgraden in Grafikanwendungen”, eingereicht am 6. März 2012.
  • TECHNISCHES GEBIET
  • Die vorliegende Offenbarung bezieht sich allgemein auf Computergrafik und insbesondere auf die Darstellung von Strukturen in Bildgebungssystemen, wie beispielsweise Bildgebungssysteme für geografische Strukturen. 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.
  • HINTERGRUND
  • Verbesserungen von Computerverarbeitungsleistung und Breitbandtechnologie haben zur Entwicklung interaktiver Systeme für Navigationsbilder wie geographischen Bildern geführt. Einige Navigationssysteme mit interaktiver Karte bieten eine Benutzeroberfläche mit Navigationstasten für die Navigation in Städten, Stadtteilen und anderen Geländekategorien in zwei oder drei Dimensionen. Über die Navigationstasten können die Nutzer Gelände und Gebäude innerhalb bestimmter Bereiche kippen, schwenken, drehen, zoomen und aktivieren, um unterschiedliche Perspektiven zu erhalten. exemplarische Bildgebungssysteme sind Google Earth und Google Maps von Google Inc.
  • Die von diesen interaktiven Systemen verwendeten Bilder können durch Zerschneiden geometrischer und struktureller Objekte entstehen, um eine zwei- oder dreidimensionale grafische Darstellung eines bestimmten Bereichs zu erzeugen. Die geometrischen Objekte können dreidimensionale Flächen von Objekten und Gelände definieren, die in den Bildern dargestellt werden. Die Strukturobjekte können auf den dreidimensionalen Flächen abgebildet werden, um Einzelheiten, Oberflächenstruktur, Farbe und andere Merkmale zu den dargestellten Objekten und Geländen hinzuzufügen.
  • Interaktive Systeme für die Darstellung von Bildern wie geografischen Bildern stellen geometrische und strukturelle Objekte oft mit einem groben Detaillierungsgrad (z. B. in einer niedrigen Auflösung) und mit Kameraansichten dar, die weit von einem bestimmten Bereich entfernt sind, um die Leistung zu verbessern. Wenn der Nutzer einen bestimmten Bereich vergrößert, werden geometrische und strukturelle Objekte mit einem höheren Detaillierungsgrad (z. B. in einer höheren Auflösung) dargestellt, um die Objekte mit mehr Details darzustellen. Das Umschalten zwischen zwei Detaillierungsgraden kann zu einem abrupten und daher ablenkenden Einblenden führen, wenn die Detaillierungsgrade ausreichend unterschiedlich sind bzw. wenn der Übergang zu nah an der Kameraansicht erfolgt. Das abrupte Einblenden kann eine visuelle Anomalie sein, die beim Nutzer das Gefühl des Eintauchens in die Bilder stört. Wenn darüber hinaus die geometrischen und strukturellen Daten über ein Netzwerk von einem Server abgerufen werden, kann die Latenzzeit zwischen der Anforderung, Objekte in einer höheren Auflösung zu sehen, und dem Empfang der Daten durch den Client lang sein. In diesem Fall kann ein Nutzer über die natürliche Auflösung einer dargestellten Szene hinaus vergrößern, was zu einem unscharfen Bild führt. Wenn die Bilder mit der höheren Auflösung schließlich vom Server ankommen und wiedergegeben werden, werden sie abrupt eingeblendet, weil ihre Auflösung deutlich anders ist als die der zuvor verschwommen angezeigten Bilder.
  • KURZDARSTELLUNG
  • Aspekte und Vorteile der Erfindung werden teilweise in der folgenden Beschreibung dargelegt, oder können aus der Beschreibung offensichtlich sein, oder können durch Praxis der Erfindung erfahren werden.
  • Ein exemplarischer Aspekt der vorliegenden Offenbarung richtet sich an ein computerimplementiertes Verfahren für die Darstellung von Struktur in Grafikanwendungen. Das Verfahren beinhaltet in einer Bedienoberfläche eines Anzeigegeräts die Darstellung eines geografischen Gebiets mit einer Struktur, die auf einem ersten Detaillierungsgrad dargestellt wird. Die Struktur kann zumindest teilweise auf Karten-, Satelliten- oder geografischen Bildern basieren. Das Verfahren umfasst weiterhin den Übergang zu einer Anzeige einer Darstellung von zumindest einem Teil des geographischen Bereichs, wobei die Struktur auf einem zweiten Detaillierungsgrad dargestellt wird und für die Struktur eine Überblendung des Detaillierungsgrads verwendet wird.
  • Ein weiterer exemplarischer Aspekt der vorliegenden Offenbarung richtet sich an ein computerimplementiertes Verfahren für die Darstellung von Struktur in Grafikanwendungen. Das Verfahren umfasst die Identifizierung eines ersten Detaillierungsgrads für Struktur, dargestellt in einem ersten Frame einer Grafikanwendung; die Identifizierung eines zweiten Detaillierungsgrads für Struktur in einem zweiten Frame der Grafikanwendung; und die Initiierung einer Überblendung des Detaillierungsgrads für die Frame-Ausschnitte, in welchen der zweite Detaillierungsgrad über den ersten Detaillierungsgrad hinausgeht. Das Überblenden des Detaillierungsgrads kann auch die Generierung einer Mischstruktur aus dem ersten und dem zweiten Detaillierungsgrad beinhalten sowie die Anpassung der Mischstruktur über einen bestimmten Zeitraum entsprechend einem Überblendungsgrad, um den Übergang zwischen dem ersten und dem zweiten Detaillierungsgrad herzustellen.
  • Andere exemplarische Implementierungen der vorliegenden Offenbarung sind an Systeme, Vorrichtungen, computerlesbare Medien, Vorrichtungen und Bedienoberflächen gerichtet, um in grafischen Anwendungen einen weichen Übergang zwischen einzelnen Detaillierungsgraden herzustellen.
  • Diese und andere Merkmale, Aspekte und Vorteile der vorliegenden Erfindung sind in Bezug auf die folgende Beschreibung und die angehängten Ansprüche besser zu verstehen. Die beigefügten Zeichnungen, die in diese Spezifikation einbezogen sind und einen Teil dieser Spezifikation darstellen, veranschaulichen Ausführungsformen der Erfindung und dienen, zusammen mit der Beschreibung, zur Erklärung der Prinzipien der Erfindung.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • Eine vollständige und befähigende Offenbarung der vorliegenden Erfindung, einschließlich des besten Modus dafür, die an Fachleute gerichtet ist, ist in der Spezifikation dargelegt, die auf die angehängten Figuren verweist, in denen:
  • 1 zeigt ein computerbasiertes System gemäß einer exemplarischen Ausführungsform der vorliegenden Offenbarung;
  • 2 zeigt eine grafische Bedienoberfläche für ein interaktives Bildgebungssystem gemäß einem Ausführungsbeispiel der vorliegenden Offenbarung;
  • 3 zeigt ein konzeptionelles Diagramm für die Verwendung des Detaillierungsgrads in verschiedenen Bereichen. Insbesondere Bereich 10 hat einen höheren Detaillierungsgrad als Bereich 20. Bereich 20 hat einen höheren Detaillierungsgrad als Bereich 30.
  • 4 zeigt eine Hierarchie von Objektkacheln mit zunehmend höherer Auflösung gemäß einer exemplarischen Ausführungsform der vorliegenden Offenbarung; und
  • 5A und 5B zeigen ein Flussdiagramm eines exemplarischen Verfahrens gemäß einem Ausführungsbeispiel der vorliegenden Offenbarung.
  • DETAILLIERTE BESCHREIBUNG
  • Nun wird im Detail auf Ausführungsformen der Erfindung genommen, von denen eines oder mehrere Beispiele in den Zeichnungen veranschaulicht sind. Jedes Beispiel wird durch Erläuterung der Erfindung angegeben, nicht durch die Begrenzung der Erfindung. Für Fachleute ist offensichtlich, dass verschiedene Modifizierungen und Varianten an der vorliegenden Erfindung vorgenommen werden können, ohne vom Umfang oder Geist der Erfindung abzuweichen. Zum Beispiel können Merkmale, die als Teil einer Ausführungsform veranschaulicht oder beschrieben werden, mit einer anderen Ausführungsform verwendet werden, um eine noch weitere Ausführungsform zu erreichen. Somit wird beabsichtigt, dass die vorliegende Erfindung solche Modifizierungen und Varianten als innerhalb des Umfangs der angehängten Ansprüche und ihrer Äquivalente fallend abdeckt.
  • Im Allgemeinen richtet sich die vorliegende Offenbarung an ein System und ein Verfahren für die Bereitstellung eines weichen Übergangs zwischen Detaillierungsgraden von Strukturen in einer Grafikanwendung. Zum Beispiel richtet sich die vorliegende Offenbarung an die Bereitstellung eines Übergangs zwischen einer Struktur, die in einem ersten Detaillierungsgrad dargestellt wird, zu einer Struktur, die in einem zweiten Detaillierungsgrad dargestellt wird. Der erste Detaillierungsgrad kann derjenige sein, der in einem vorhergehenden Frame dargestellt wurde. Der zweite oder neue Detaillierungsgrad kann derjenige sein, der verfügbar ist, um in einem aktuellen Frame dargestellt zu werden.
  • Wie hier verwendet, ist mit dem verfügbaren Detaillierungsgrad der Detaillierungsgrad gemeint, der verfügbar ist, um in einem aktuellen Frame dargestellt zu werden. In vielen Fällen ist der verfügbare Detaillierungsgrad gleichzeitig der Solldetaillierungsgrad für ein bestimmtes Frame. Der Solldetaillierungsgrad bezieht sich auf den Zieldetaillierungsgrad bzw. auf den gewünschten Detaillierungsgrad für ein aktuelles Frame. In einigen Fällen können der verfügbare Detaillierungsgrad und der Zieldetaillierungsgrad jedoch unterschiedlich sein, zum Beispiel, wenn der Zieldetaillierungsgrad noch nicht heruntergeladen, empfangen oder für die Darstellung im aktuellen Frame anderweitig verfügbar gemacht wurde.
  • In einer bestimmten Implementierung kann der in einem vorherigen Frame dargestellte Strukturdetaillierungsgrad mit dem Strukturdetaillierungsgrad verglichen werden, der verfügbar oder gewünscht ist, um in einem aktuellen Frame dargestellt zu werden. Für Bereiche, in denen der verfügbare Detaillierungsgrad höher ist als der vorherige Detaillierungsgrad, kann eine kurze Überblendung vom vorherigen Detaillierungsgrad zum neuen Detaillierungsgrad durchgeführt werden, um einen weichen Übergang zwischen den Detaillierungsgraden herzustellen und das abrupte Einblenden des Bilds mit der höheren Auflösung zu vermeiden. Die Überblendung des Detaillierungsgrads kann für Strukturen im jeweiligen Bild durchgeführt werden, unabhängig von dem Detaillierungsgrad, der für geometrische Objekte auf dem Bild verwendet wird.
  • Gemäß einem besonderen Aspekt der vorliegenden Offenbarung kann die Überblendung des Detaillierungsgrads implementiert werden, indem eine Mischung des vorherigen Detaillierungsgrads mit dem verfügbaren Detaillierungsgrad generiert wird. Wie hierin verwendet können die Begriffe „Mischung” und „Mischstruktur” austauschbar verwendet werden und beziehen sich auf eine Struktur mit Merkmalen der Struktur des vorhergehenden Detaillierungsgrads und mit Merkmalen der Struktur des verfügbaren Detaillierungsgrads. Zunächst kann die Mischung hauptsächlich Merkmale von Strukturen des vorhergehenden Detaillierungsgrads enthalten. Zum Beispiel kann die Struktur derart dargestellt werden, dass ein bestimmter Bereich zu 95 Prozent mit der Struktur des vorherigen Detaillierungsgrads und zu 5 Prozent mit der Struktur des verfügbaren Detaillierungsgrads dargestellt wird. Beispielsweise kann die Farbe bei jedem Pixel eine Mischung von 95 Prozent des vorherigen Detaillierungsgrads und 5 Prozents des verfügbaren Detaillierungsgrads sein.
  • In den nachfolgenden Frames kann die Mischung angepasst werden, um den Übergang zwischen dem vorhergehenden und dem neuen Detaillierungsgrad voranzubringen. Insbesondere kann die Mischstruktur so eingestellt werden, dass ein größerer Prozentsatz der Textur auf dem verfügbaren Detaillierungsgrad einen Teil der Mischung bildet, bis die gesamte Mischung auf dem verfügbaren Detaillierungsgrad dargestellt wird. Diese Einstellung der Mischung liefert die zeitliche Ebene der Detailüberblendung aus dem vorherigen Detaillierungsgrad zum verfügbaren Detaillierungsgrad. Die Verwendung einer Mischung aus den Strukturen des vorherigen Detaillierungsgrads und des zweiten Detaillierungsgrads ermöglicht es, die kurze Überblendung umzusetzen, ohne Strukturen auf Zwischendetaillierungsgraden abrufen zu müssen, was zu schnelleren Verarbeitungszeiten und reduziertem Netzwerkverkehr führt.
  • In einer Implementierung wird die Mischung basierend auf einem Interpolationswert ermittelt. Der Interpolationswert kann anhand des Unterschieds zwischen dem vorherigen und dem verfügbaren Detaillierungsgrad berechnet werden. Der Interpolationswert kann einen Wert zwischen 0 und 1 haben und den Prozentsatz für die Mischstruktur festlegen, der dem verfügbaren Detaillierungsgrad im Verhältnis zum vorherigen Detaillierungsgrad zugeordnet wird. Zum Beispiel kann aus einem Interpolationswert von 0,5 eine Mischung im Verhältnis von 50 zu 50 Prozent zwischen verfügbarem und vorherigem Detaillierungsgrad hervorgehen. Aus einem Interpolationswert von 0,9 kann eine Mischung im Verhältnis von 90 zu 10 Prozent zwischen verfügbarem und vorherigem Detaillierungsgrad hervorgehen.
  • Gemäß einem weiteren Aspekt der vorliegenden Offenbarung kann der Interpolationswert eingestellt werden, um innerhalb eines bestimmten Zeitraums eine gewünschte Überblendungsrate für den Übergang zu erreichen. Die Überblendungsrate gibt die Übergangsrate zwischen erstem und zweitem Detaillierungsgrad in der Darstellung der Frames der grafischen Anwendung an. In einer bestimmten Implementierung ist die Überblendungsrate abhängig von der Differenz zwischen erstem und zweitem Detaillierungsgrad, sodass die Übergangszeit (d. h. die Zeit, die der Übergang zwischen erstem und zweitem Detaillierungsgrad dauert) konstant bleibt, unabhängig von der Differenz oder der Anzahl von Graden zwischen erstem und zweitem Detaillierungsgrad. Auf diese Weise bleibt die Szenenauflösungszeit (d. h. die Zeit, die notwendig ist, um die Auflösung einer Szene vollständig herzustellen) relativ konstant.
  • Ausführungsbeispiele der vorliegenden Offenbarung werden nun ausführlich besprochen. Die vorliegende Thematik wird unter Hinweis auf Grafikanwendungen erörtert, sodass ein Nutzer in geografischen Bildern navigieren kann, wie Anwendungen in Zusammenhang mit Google Earth und Google Maps der Google Inc., wie ein geografisches Gebiet, das einen Teil eines Globus beinhaltet sowie andere 3D- oder/oder 2D-Bildgebungssysteme. Fachleute, die die her dargelegte Offenbarung verwenden, sollten verstehen, dass die vorliegende Offenbarung gleichermaßen auf andere geeignete Grafikanwendungen anwendbar ist.
  • 1 zeigt ein exemplarisches computergestütztes System, das entsprechend einer Ausführungsform der vorliegenden Erfindung konfiguriert ist. Das System kombiniert Satellitenbilder, Fotos, Karten und andere geographische Daten und Internet-Suchfunktionen, damit ein Benutzer in die Lage versetzt wird, Bilder des Planeten (z. B. als Teil eines Globus) und damit zusammenhängende geographische Informationen (z. B. Orte wie Inseln und Städte; interessante Orte wie Restaurants, Krankenhäuser, Parks, Hotels und Schulen) anzuzeigen. Das System ermöglicht es dem Nutzer ferner, lokale Suchen durchzuführen oder Reiseanweisungen an einen Ort oder zwischen zwei Orten zu erhalten. Der Nutzer kann praktisch aus dem Weltraum (z. B. von einem Punkt über der Erde aus) zu einer und um eine eingegebene Zieladresse herum oder zu einem und um einen eingegebenen Speicherort herumfliegen, z. B. in seiner Nachbarschaft oder in einem anderen gewünschten Bereich. Die Ergebnisse werden in einer 3D-Ansicht angezeigt. Der Benutzer kann die Ansicht kippen und drehen, um Gelände und Gebäude in 3D zu sehen. Der Nutzer kann auch Karten kommentieren und/oder Datenebenen aktivieren, um zum Beispiel Parks, Schulen, Krankenhäuser, Flughäfen, Einkaufen und andere interessante Punkte oder Lokale anzuzeigen. Der Nutzer kann auch mehrere Suchvorgänge schichten, Ergebnisse in Ordnern speichern und Suchergebnisse und Karten mit anderen teilen. Darüber hinaus ermöglicht ein Datenaustauschformat, hier als KML (Keyhole Markup Language) bezeichnet, es dem Nutzer, nützliche Anmerkungen zu teilen und Tausende von Datenpunkten anzuzeigen, die von anderen Systembenutzern erstellt wurden. Eine exemplarische grafische Benutzeroberfläche, die es dem Nutzer ermöglicht, mit dem System zu interagieren, wird unter Bezugnahme auf 2.
  • Unter Bezugnahme auf 1 erörtert. Das System beinhaltet eine Client-Server-Architektur, bei welcher die Server-Seite mit einem oder mehreren Clients 125 über ein Netzwerk 120 kommunizieren. Die Server-Seite beinhaltet ein Serversystem 105, eine Bilddatenbank 110 und einen Karteninformationsanbieter 115. Auf der Clientseite beinhaltet jeder Client 125 ein Kartenmodul 130, das als Geodaten-Browser 130a (oder als ein anderer geeigneter Viewer) aktiviert ist, um dem Nutzer eine Schnittstelle zum System bereitzustellen. In einer Ausführungsform beinhalten zumindest einige der Kartenmodule 130 des Clients 125 ferner Entwicklungsmodule, mit welchen Endnutzer Datendateien generieren können, die besondere Datenpräsentationen beschreiben. Darüber hinaus kann das System weiterhin eine oder mehrere Content-Server von Drittanbietern beinhalten.
  • Das Serversystem 105 kann ein beliebiges Computergerät sein und einen Prozessor und einen Speicher beinhalten. Der Speicher kann Befehle speichern, aufgrund derer der Prozessor Operationen durchführt wie die hier erörterten weichen Übergänge zwischen den Detaillierungsgraden. Das Serversystem 105 steht in Kommunikation mit der Bilddatenbank 110, die Bilddaten beinhaltet (z. B. digitale Karten, Satellitenbilder, Luftbilder, Fotos auf Straßenniveau). Nicht-Bilddaten wie tabellarische Daten (z. B. digitale gelbe und weiße Seiten) und Kartenebenendaten (z. B. Datenbank von Restaurants, Museen und/oder Schulen; Datenbanken der seismischen Aktivität, Datenbank nationaler Denkmäler usw.) können auch in der Datenbank 110 oder in einer anderen Speichereinrichtung gespeichert werden, die dem Serversystem 105 zugänglich ist. Die Datenbank 110 (und andere, wo zutreffend) wird vom Serversystem 105 (z. B. offline oder in Echtzeit) gespeist.
  • Der Karteninformationsanbieter 115 versorgt Serversystem 105 mit Karteninformationen (z. B. Satellitendaten, Fotos auf Straßenebene, Luftbilder, digitale Karten, Höhendaten, Daten zu Längen-/Breitengrad, GPS-Koordinaten). Die bereitgestellten Karteninformationen können beispielsweise als Funktion des Serversystems 105 gesammelt werden (z. B. ist Karteninformationsanbieter 115 eine Datenbank von Karteninformationen, die vom Serversystem 105 gesammelt werden). Alternativ oder zusätzlich dazu können verschiedene Drittkartendatendienste verwendet werden, um Karteninformationen an das Serversystem 105 zu senden. Alle diese internen/externen Informationsquellen werden in der Regel durch den Karteninformationsanbieter 115 repräsentiert.
  • In jedem Fall empfängt das Serversystem 105 Anfragen für Karteninformationen und antwortet auf diese Anfragen über das Netzwerk 120. Der Karteninformationsanbieter 115 auch so konfiguriert werden, dass er direkt weiter auf Nutzeranfragen für geografische Daten reagiert. In einer Ausführungsform verschlüsselt das Serversystem 105 die Karteninformationen in einer oder mehreren Datendateien und stellt die Dateien dem Anforderer zur Verfügung.
  • Dabei ist zu beachten, dass andere Module in dem System integriert werden können, und dass die dargestellten Module neu angeordnet werden können. Zum Beispiel kann die Datenbank 110 in das Serversystem 105 integriert werden. Auch kann der Karteninformationsanbieter 115 in das Serversystem 105 integriert werden. Andere Konfigurationen werden im Zusammenhang mit dieser Offenbarung offensichtlich, und die vorliegende Erfindung soll nicht auf eine bestimmte Konfiguration beschränkt sein. Es kann eine beliebige Anzahl von Modulen programmiert werden oder auf andere Weise konfiguriert werden, um die hierin beschriebene serverseitige Funktionalität auszuführen.
  • Ein Client 125, auf dem das Kartenmodul 130 läuft, kann beispielsweise eine Computervorrichtung mit einem Prozessor und einem Speicher sein, wie ein Desktop- oder Laptop-Computer. Alternativ kann ein Client 125 ein drahtloses Gerät sein, wie ein Personal Digital Assistant (PDA), Smartphone, Tablet, ein Navigationssystem in einem Fahrzeug, ein Handheld-GPS-System oder andere ähnliche Geräte/Systeme. Kurz gesagt kann der Client 125 ein beliebiger Computer, Gerät oder System sein, das das Kartenmodul 130 ausführen kann, und es dem Nutzer ermöglicht, mit dem Serversystem 105 zu interagieren (z. B. Karten, Wegbeschreibungen und/oder Datensuchen anzufordern und dann die entsprechenden Datendateien zu empfangen). In der gezeigten Ausführungsform führt das Kartenmodul 130 den Geodaten-Browser 130a aus oder ist anderweitig als dieser aktiviert.
  • Das Serversystem 105 kann mit konventioneller oder benutzerdefinierter Technologie implementiert werden. Zahlreiche bekannte Serverarchitekturen und Funktionalitäten können zur Implementierung eines GIS-Servers verwendet werden. Es sei weiter bemerkt, dass das Serversystem 105 einen oder mehrere Server beinhalten kann, die unter einer Lastausgleichsregelung betrieben werden, wobei jeder Server (oder eine Kombination von Servern) so konfiguriert ist, dass er über das Netzwerk 120 auf Clients reagiert und mit ihnen in Kommunikation steht.
  • Im Allgemeinen, wenn der Nutzer eine Suchanfrage eingibt (beispielsweise über den Geodaten-Browser 130a, dargestellt durch das clientenseitige Kartenmodul 130), wird diese als Anforderung über das Netzwerk 120 zum Serversystem 105 gesendet. Das Serversystem 105 bestimmt dann, wofür die Suchanfrage ist und reagiert mit den entsprechenden Daten aus verschiedenen Teilsystemen, wie Geo-Coder, Routing-Engines und lokalen Suchindizes, in einem Format, das der anfragende Client 125 verwenden kann, um dem Nutzer die Daten anzuzeigen (beispielsweise über den Geodaten-Browser 130a).
  • Neben der herkömmlichen Funktionalität ist das Serversystem 105 ferner so konfiguriert, dass es mit dem Kartenmodul 130 interagiert, wie im Zusammenhang mit dieser Offenbarung ersichtlich wird. In einer Ausführungsform reagiert das Serversystem 105 auf den anfordernden Clients 125, indem es Daten in Reaktion auf die Anfrage in einer oder mehreren Datendateien verschlüsselt und dem Client bereitstellt.
  • Das Netzwerk 120 kann jede beliebige Art von Kommunikationsnetzwerk sein, wie ein lokales Netzwerk (z. B. ein Intranet), ein Weitbereichsnetzwerk (z. B. Internet) oder eine Kombination davon. Alternativ 105 kann das Netzwerk 120 eine direkte Verbindung zwischen einem Client 125 und dem Serversystem sein. Im Allgemeinen kann die Kommunikation zwischen dem Serversystem 105 und einem Client 125 über jede Art von drahtgebundenen und/oder drahtlosen Verbindungen erfolgen, dabei kann eine Vielzahl von Kommunikationsprotokollen (z. B. TCP/IP, HTTP, SMTP, FTP), Kodierungen oder Formaten (z. B. HTML, XML) und/oder Schutzsystemen (z. B. VPN, sicheres HTTP, SSL) verwendet werden.
  • In Verbindung mit dem Serversystem 105 stellt die Geodaten-Browser-130a-Schnittstelle, bereitgestellt durch das Kartenmodul 130, ein Kartensystem 120 dar, das Karten und Daten über das Netzwerk bereitstellt. Das System ermöglicht es Nutzern, geografische Informationen der ganzen Welt oder einer bestimmten Region, Stadt oder eines anderen Ortes zu visualisieren, zu wählen, mit Anmerkungen zu versehen und zu erkunden.
  • 2 veranschaulicht eine bestimmte Ausführungsform einer grafischen Benutzeroberfläche 200, die als Geodaten-Browser 130a für Kartenmodul 130 arbeitet. Die grafische Benutzeroberfläche beinhaltet ein Anzeigefenster 321 für die Anzeige von 3D-Bildern, wie einen Teil eines Globus, sowie ein Texteingabefeld 303 für die Eingabe von Ortsinformationen wie Breiten- und Längengrad, eine Adresse und/oder eine Postleitzahl oder den Namen einer bekannten Sehenswürdigkeit (z. B. „Lincoln Memorial” oder „Area 51”). Die grafische Benutzeroberfläche 200 hat eine Reihe von Modi, in welchen sie arbeiten kann, einschließlich Fly-To-Modus, lokaler Suchmodus und Wegbeschreibungs-Modus, wie dargestellt durch Modusauswahltasten 301. Die grafische Benutzeroberfläche 200 beinhaltet auch die Navigationsregler 321 zum Einstellen von Anzeigehöhe, Betrachtungswinkel, Ansicht nach links und rechts und Aussicht auf Bereiche der 3D-Bilder links, rechts, oben oder unten im Anzeigefenster.
  • Die grafische Benutzeroberfläche 200 beinhaltet auch eine Ortssteuerung 305, die es dem Nutzer ermöglicht, gespeicherte Daten in einem Bedienfeld für Orte zu organisieren, ähnlich wie ein Nutzer Dateien und Ordner auf einer Computerfestplatte organisieren würde. Die grafische Benutzeroberfläche 200 umfasst auch eine Schichtsteuerung 307, die eine Vielzahl von Datenpunkten von geografischem Interesse bietet (z. B. interessante Orte sowie Karten-, Straßen-, Gelände- und Gebäudedaten), sodass ein Nutzer den Anzeigebereich über das Sichtfeld auswählen kann. In der in 2 dargestellten Ausführung stehen Beispiele häufig verwendeter Schichten auf dem Schichten-Bedienfeld zur Verfügung. Die grafische Benutzeroberfläche 200 dieses Ausführungsbeispiels zeigt auch Bilddaten 323 in dem unteren Bereich des Anzeigefensters 321.
  • Zahlreiche Konfigurationen und zugrundeliegenden Funktionalitäten der grafischen Benutzeroberfläche werden im Zusammenhang mit dieser Offenbarung offensichtlich, und die vorliegende Erfindung soll nicht auf eine bestimmte Konfiguration beschränkt sein. Die angezeigten 3D-Karten können über die GUI 201a bearbeitet werden. Die grafische Benutzeroberfläche 200 kann verwendet werden, um die aktuelle Kartenansicht neu zu positionieren, zum Beispiel durch Klicken und Ziehen im Anzeigefenster 321. Ein Nutzer kann auch eine geografische Lage auswählen, indem er im Anzeigefenster 321 doppelt auf die Lage klickt.
  • Unter erneuter Bezugnahme auf 1 kann das dem Clientgerät zugeordnete Kartenmodul 130 eine Software beinhalten, die (in Verbindung mit serverseitiger Software) arbeitet, um geografische/Geodaten-Bilder auf dem Computer eines Nutzers (oder allgemein auf dem Clientgerät) bereitzustellen, sodass sie vom Nutzer gesehen oder anderweitig verarbeitet werden können. Genauer gesagt und in Übereinstimmung mit einer bestimmten Ausführungsform beinhaltet das Kartenmodul 130 ein Bedienoberflächenmodul, in dem ein Bewegungsmodell im Nutzerclient verwendet wird, um die virtuelle Betrachtungsposition und -orientierung im Verhältnis zur visuellen Umgebung des Systems anzupassen. Das Bewegungsmodell bestimmt auch eine Ansichtsspezifikation, die das sichtbare Volumen des Clients innerhalb eines dreidimensionalen Raums definiert (dieses sichtbare Volumen wird allgemein als Stumpf und hier als visuelle Umgebung des Benutzers bezeichnet) und die Position und Orientierung des Stumpfs, hier bezeichnet als der virtuelle Kamerablickpunkt, in Bezug auf eine dreidimensionale Karte. Sobald eine visuelle Spezifikation bestimmt wird, wird sie im Speicher abgelegt.
  • Die Ansichtsspezifikation wird von einem Render-Programm aus dem Speicher gelesen, dies ist ein Software-Tool, das abrufbare Daten abruft oder „rendert”. Das Render-Programm kann so konfiguriert werden, dass es einen Verarbeitungszyklus wiederholt, der Folgendes beinhaltet: (1) Lesen der Ansichtsspezifikation im Speicher, (2) Durchlaufen einer Datenstruktur im Speicher (z. B. eine Quad-Knoten-Baumdatenstruktur, in der jeder Quadknoten des Baumes abrufbare Daten enthält), und (3) Abrufen der abrufbaren Daten, die in der Datenstruktur enthalten sind.
  • Eine exemplarische Datenstruktur beinhaltet eine Quad-Knoten-Baumdatenstruktur, in der jeder Quadknoten eine Nutzlast von Daten und Referenzen auf andere Dateien (z. B. vier) aufweist, die jeweils auch Quadknoten sein können. Wenn das Render-Programm den Quadknotenbaum durchläuft, liest es zuerst die Nutzlast von Daten in einem übergeordneten Quadknoten. Wenn die Nutzlast abrufbare Daten sind, wird das Render-Programm einen Begrenzungsrahmen (ein Volumen, das die Daten enthält) der Nutzlast, falls vorhanden, mit der Ansichtsspezifikation vergleichen. Wenn der Begrenzungsrahmen vollständig von der Ansichtsspezifikation getrennt ist, werden die Daten nicht abgerufen, obwohl der Quadknoten bereits von einem entfernten Server heruntergeladen wurde.
  • Wenn die Nutzlast als zum Abrufen angemessen angesehen wird, versucht das Render-Programm, auf jede der Referenzen des Quadknotens zuzugreifen. Wenn die Referenz eine Adresse für eine Datei im lokalen Speicher enthält, wird das Render-Programm zu diesem untergeordneten Quadknoten gehen, die Nutzlast lesen und den Vorgang für jeden weiteren untergeordneten Quadknoten wiederholen, bis es auf einen Quadknoten mit einer Nutzlast stößt, die einen Begrenzungsrahmen hat, der vollständig von der Ansichtsspezifikation getrennt ist. Wenn die Referenz keine Adresse im lokalen Speicher enthält (d. h. die referenzierte Datei existiert nicht im lokalen Speicher), kann das Render-Programm nicht auf die Datei zugreifen und wird sich weiterhin auf der Quadknotenstruktur Herunterbewegen, ohne zu versuchen, die Datei zu erhalten. In dieser Ausführungsform liest das Render-Programm nur vom Quadknotenbaum und bietet keine Koordinaten- und Auflösungsinformationen zu einem anderen Objekt.
  • Der Quadknoten selbst kann eine eingebaute Zugriffsfunktion haben. Wenn das Render-Programm versucht, auf eine Referenz zuzugreifen, die einen Dateinamen, aber keine entsprechende lokale Adresse hat, löst dies die Zugriffsfunktion auf den Quadknoten aus, sodass seine eigene Adresse und die untergeordnete Referenznummer auf die Abrufliste eines Cache-Knotens gesetzt wird, die eine Liste mit Informationsdateien umfasst, die Dateien, die von Remote-Servern heruntergeladen werden, identifiziert. Ein Netzwerklader in einem unabhängigen Netzwerklader-Thread überprüft die Cache-Knoten-Abrufliste und fordert nur die Dateien an, die auf der Liste aufgeführt sind.
  • Ein Cache-Knoten-Manager in einem unabhängigen Cache-Knoten-Manager-Thread ordnet lokalen Speicherplatz zu und organisiert Dateien, die vom Netzwerklader in neue Quadknoten abgerufen werden. Der Cache-Knoten-Manager aktualisiert auch die übergeordneten Quadknoten mit der lokalen Speicheradresse dieser neuen untergeordneten Quadknoten. Daher befinden sich auf den nachfolgenden Zyklen des Render-Moduls zusätzliche Quadknoten im lokalen Speicher für den Zugriff durch das Render-Programm. Wie in den vorangegangenen Zyklen prüft das Render-Programm die Nutzlast und ruft alle abrufbaren Daten ab, die sich nicht vollständig außerhalb der Ansichtsspezifikation befinden. Der Render-Thread fährt mit diesem Zyklus fort, bis er einen Quadknoten mit einer Nutzlast erreicht, deren Begrenzungsrahmen vollständig von der Ansichtsspezifikation getrennt oder aus anderen Gründen nicht abrufbar ist. Damit ruft das Render-Programm nur das ab, was bereits heruntergeladen ist und hört erst dann auf abzurufen, wenn es bereits heruntergeladene Daten trifft, deren Begrenzungsrahmen vollständig von der Ansichtsspezifikation getrennt ist.
  • In Übereinstimmung mit einem Aspekt der vorliegenden Offenbarung kann die Datenstruktur Bilddaten angeben, die sowohl in Form von geometrischen Objekten als auch von Strukturobjekten wiedergegeben werden können. Geometrische Objekte können Informationen beinhalten, die zum Rendern von dreidimensionalen Objekten und Geländen in der Geodatenansicht verwendet werden, die auf dem Clientgerät bereitgestellt wird. Texturdaten können verwendet werden, um Details, Farben, Strukturen, Etiketten und andere Eigenschaften auf den Oberflächen der dreidimensionalen Objekte darzustellen. Die Strukturobjekte können auf digitalen Landkarten, Satellitenbildern, Luftaufnahmen, Fotos auf Straßenniveau und anderen Bildern beruhen, die auf dem Server gespeichert sind. So kann beispielsweise das geografische Gelände eines interessanten Gebiets die Basis für geometrische Objekte für den interessanten Bereich liefern, während Satellitenbilder verwendet werden können, um strukturelle Objekte auf der Oberfläche des geografischen Geländes wiederzugeben.
  • Die geometrischen und die strukturellen Objekte können verschiedene Detaillierungsgrade aufweisen, je nach der Sicht des Benutzers im Verhältnis zum interessanten Bereich. So wird beispielsweise auf 3 stellt eine konzeptionelle Darstellung der Verwendung von Detaillierungsgraden in unterschiedlichen Regionen dar. Der Detaillierungsgrad kann den geometrischen und strukturellen Objekten zugeordnet werden, um die Aktivierung der Objekte aufgrund des Detaillierungsgrads der visuellen Umgebung zu steuern. Die Bereiche 10, 20 und 30 in 3 können verwendet werden, um Detaillierungsgrad-Spezifikationen im Zusammenhang mit Datenobjekten festzulegen, wie beispielsweise Strukturobjekte von zunehmend feineren Detaillierungsgraden. Die Bereiche können ähnliche Mengen an Geometrie und Textur haben, aber höhere Detaillierungsgrad-Bereiche können eine kleinere Fläche abdecken.
  • Jeder Bereich 10, 20 und 30 entspricht einem Bereich von Detaillierungsgrad-Werten, die zunehmend kleinere projizierte Pixelgrößen für die gezeichneten Objekte angeben. Die höheren Detaillierungsgrad-Bereiche sind kleiner und projizieren damit für den gegebenen Aussichtspunkt kleinere Pixelbereiche auf der Anzeige. Wenn sich die Sicht des Nutzers nähert (z. B. Blickpunkt einer virtuellen Kamera), erhöht sich die Pixelgröße des projizierten Detaillierungsgrads, wodurch Bereiche mit hohen Detaillierungsgrad-Werten Objekte mit höherer Auflösung kennzeichnen, da die Datenobjekte mehr Platz auf dem Bildschirm einnehmen. Die Bereiche mit feineren Detaillierungsgraden ersetzen die zuvor geladenen Bereiche mit gröberer Auflösung und werden in der visuellen Umgebung im Verhältnis zum Blickpunkt der virtuellen Kamera wiedergegeben. Dementsprechend können die geometrischen und strukturellen Objekte in unterschiedliche Detaillierungsgrad-Ebenen getrennt werden, sodass verschiedene Objekte angezeigt werden, wenn der Benutzer einen bestimmten Bereich von verschiedenen Blickpunkten einer virtuellen Kamera untersucht.
  • Die Detaillierungsgrad-Ebene, die mit den geometrischen und strukturellen Objekten für eine wiedergegebene Szene verknüpft ist, kann als Detaillierungsgrad-Wert beispielsweise im Bereich von 1–20 festgelegt werden. Je höher der Detaillierungsgrad-Wert, desto höher ist der mit dem Objekt verknüpfte Detaillierungsgrad. Zum Beispiel hat ein Objekt mit einem Detaillierungsgrad-Wert von 15 einen größeren Detaillierungsgrad als ein Objekt mit einem Detaillierungsgrad von 10. Während Detaillierungsgrad-Werte im Bereich zwischen 1–20 zu Diskussionszwecken verwendet werden, sollte der Fachmann auf dem Gebiet, der die hier dargelegten Offenbarungen verwendet, verstehen, dass jede beliebige Metrik oder jeder beliebige Bereich für den Vergleich der Detaillierungsgrade zwischen Objekten verwendet werden kann, ohne sich vom Umfang der vorliegenden Offenbarung zu entfernen.
  • Gemäß bestimmten Aspekten der vorliegenden Offenbarung können geometrische und strukturelle Objekte als Objektkacheln verfügbar gemacht werden, um eine Hierarchie von Bilddaten mit zunehmendem Detaillierungsgrad bereitzustellen. 4 stellt eine Verwendung von Regionen dar, um eine dreistufige Hierarchie von Datenobjektfliesen für schnelleres Laden von Daten zu erstellen. In Schritt 1 werden Bilder der verschiedenen Auflösungsstufen in eine Reihe von Teilbildern oder „Kachel”-Datenobjekten unterteilt. In diesem Beispiel werden drei verschiedene Kopien eines Bildes mit einem hohen Detaillierungsgrad (1024 Pixel) in eine andere Anzahl von Kacheln aufgeteilt (1, 4 und 16), die verschiedene Detaillierungsgrade darstellen. In Schritt 2 wird die Abtastrate der Auflösung jedes Kachelsatzes verändert, sodass jede Kachel die gleiche Anzahl von Pixeln hat, in diesem Beispiel 256 × 256 Pixel. Die aus den verschiedenen Bildern hergeleiteten Kachelsätze werden verwendet, um Bereiche mit unterschiedlichen Detailebenen zu definieren. Insbesondere ist die Auflösung jeder Bildebene doppelt so hoch wie die der jeweils vorherigen Ebene.
  • Jeder Bildsatz kann eine Reihe von Links zu untergeordneten Datenobjekten mit einer höheren Auflösung enthalten. Unter Verwendung des Beispiels in 4 kann ein einzelnes Miniaturbild Links zu jedem der vier Mittelbereichs-Bilder enthalten, woraufhin die Dateien für die Mittelbereichs-Bilder abgerufen werden, wenn das Miniaturbild aktiv wird. Die Mittelbereichs-Bilder können dann ausgewertet und auf der Grundlage ihrer Detaillierungsgrad-Spezifikationen aktiviert werden. Ebenso kann jedes Mittelbereichs-Bild Links zu vier Dateien mit vollauflösenden Bildern enthalten.
  • Wie oben erörtert, kann es wünschenswert sein, den Übergang zwischen Detaillierungsgraden für Strukturobjekte, die in einer Szene dargestellt werden, zu verwalten, um zu vermeiden, dass Bilder mit höherer Auflösung abrupt eingeblendet werden. Die 5A und 5B zeigen ein exemplarisches Verfahren 400 zum Verwalten des Detaillierungsgrad-Übergangs für Strukturobjekte gemäß einem exemplarischen Aspekt der vorliegenden Offenbarung. Das Verfahren kann auf einem geeigneten Computergerät mit einem Prozessor und einem Speicher ausgeführt werden, wie beispielsweise auf jedem der Computergeräte, die dargestellt werden in 1. Obwohl 5A und 5B die Durchführung der Schritte zwecks vereinfachter Darstellung in einer bestimmten Reihenfolge zeigen, sind die hier erörterten Verfahren nicht auf eine bestimmte Reihenfolge oder Anordnung beschränkt. Ein Fachmann auf dem Gebiet, der die hierin bereitgestellte Offenbarung verwendet, wird erkennen, dass verschiedene Schritte der Verfahren weggelassen, neu angeordnet, kombiniert und/oder auf verschiedene Weise angepasst werden können.
  • In (402) beginnt das Verfahren, Struktur für ein Frame darzustellen. „Frame” (Frame) bedeutet ein einzelnes dargestelltes Ausgabebild, das in der Grafikanwendung angezeigt wird. Die Ausgabebilder können mit einer bestimmten Frame-Rate wiedergegeben werden (z. B. Ausgabebilder pro Sekunde), um eine gewünschte Verarbeitungsgeschwindigkeit zu erreichen, wie es bei Computergrafikanwendungen nützlich ist. In Übereinstimmung mit Aspekten der vorliegenden Offenbarung können die Schritte des Verfahrens während der Wiedergabe jedes neue Frame durchgeführt werden, um einen weichen Detaillierungsgrad-Übergang zwischen den Frames zu gewährleisten.
  • In (404) bestimmt das Verfahren, ob eine Überblendung des Strukturdetaillierungsgrads für Teile der im Frame dargestellten Bilder bereits eingeleitet wurde. Wenn ja, fährt das Verfahren mit (422) 5B fort, um den Strukturdetaillierungsgrad über mehrere Frames weiter überzublenden, wie unten im Detail erörtert wird. Ansonsten führt das Verfahren bei (406) fort, wo es den Detaillierungsgrad für Strukturen in einem vorherigen Frame bestimmt. Die Detaillierungsgrad-Informationen für das vorherige Frame können aus einem Speicher abgerufen werden und einen Detaillierungsgrad-Wert beispielsweise im Bereich von 1–20 beinhalten. Beispielsweise kann das Verfahren anhand von historischen Daten, die im Speicher abgelegt und der Grafikanwendung zugeordnet sind, bestimmen, dass das vorherige Frame Strukturen beinhaltet, die einen Detaillierungsgrad-Wert von 10 aufweisen.
  • In (408) bestimmt das Verfahren den verfügbaren Detaillierungsgrad für Strukturen im aktuellen Frame. Mit dem verfügbaren Detaillierungsgrad ist der Detaillierungsgrad gemeint, der verfügbar ist, um in einem aktuellen Frame dargestellt zu werden. In vielen Fällen ist der verfügbare Detaillierungsgrad gleichzeitig der Solldetaillierungsgrad für ein bestimmtes Frame. In einigen Fällen können der verfügbare Detaillierungsgrad und der Zieldetaillierungsgrad jedoch unterschiedlich sein, zum Beispiel, wenn der Zieldetaillierungsgrad noch nicht heruntergeladen, empfangen oder anderweitig verfügbar gemacht wurde. In diesen Fällen kann sich der verfügbare Detaillierungsgrad während der Detaillierungsgrad-Überblendung verändern, wenn neue Strukturen verfügbar gemacht werden. Die zur Verfügung stehenden Detaillierungsgrad-Informationen können aus einer Datenstruktur mit einem Speicher für eine bestimmte gewünschte Ansicht der Bilder in der Grafikanwendung ermittelt werden. Zum Beispiel kann das Verfahren festlegen, dass bei einer bestimmten Kameraansicht für das aktuelle Frame Strukturobjekte mit einem Detaillierungsgrad von 15 verfügbar sind.
  • In (410) bestimmt das Verfahren den Unterschied zwischen dem verfügbaren Detaillierungsgrad im aktuellen Frame und dem Detaillierungsgrad im vorigen Frame. Im oben erörterten Beispiel beträgt der Unterschied zwischen dem Strukturdetaillierungsgrad von 10 für das vorherige Frame und dem verfügbaren Strukturdetaillierungsgrad von 15 für das aktuelle Frame 5. In (412) kann das Verfahren bestimmen, ob diese Differenz einen vorgegebenen Schwellenwert überschreitet. Der Schwellenwert kann so eingestellt werden, dass eine Überblendung des Strukturdetaillierungsgrads nur dann eingeleitet wird, wenn zwischen den Framen ein merklicher Sprung im Detaillierungsgrad erforderlich ist. Zum Beispiel kann der Schwellenwert so eingestellt werden, dass eine Überblendung des Strukturdetaillierungsgrads eingeleitet wird, wenn die Differenz zwischen dem verfügbaren Strukturdetaillierungsgrad für das aktuelle Frame und dem Detaillierungsgrad für das vorherige Frame zwei oder mehr beträgt.
  • Wenn die Differenz zwischen den Detaillierungsgrad-Werten den Schwellenwert nicht überschreitet, kann das Verfahren mit der Wiedergabe der Struktur für das aktuelle Frame fortfahren, ohne eine Detaillierungsgrad-Überblendung (420) einzuleiten. Das Verfahren beginnt dann mit der Strukturwiedergabe in nachfolgenden Frames (402), wo das Verfahren 400 wiederholt wird, um weiche Detaillierungsgrad-Übergänge zwischen den Frames zu gewährleisten.
  • Wenn die Differenz zwischen den Detaillierungsgrad-Werten den Schwellenwert nicht überschreitet. Eine Detaillierungsgrad-Überblendung kann für identifizierte Bereiche in den Bildern eingeleitet werden, wo der zur Verfügung stehende Detaillierungsgrad den vorherigen Detaillierungsgrad um den Schwellenwert (414) übersteigt. Die Überblendung des Strukturdetaillierungsgrads sorgt für einen weichen Übergang zwischen den Frames, um ein abruptes Einblenden von höher auflösenden Bildern zu vermeiden. Die Überblendung des Strukturdetaillierungsgrads kann unabhängig von dem Detaillierungsgrad, der für geometrische Objekte auf dem Bild verwendet wird, durchgeführt werden.
  • Wie unten erörtert, sorgt die Überblendung des Detaillierungsgrads für die allmähliche Überblendung zwischen Strukturen des vorherigen Detaillierungsgrads und des verfügbaren Detaillierungsgrads über aufeinander folgende Frames gemäß einer Überblendungsrate, um einen gewünschten Übergangseffekt für die Überblendung zu erzielen. Gemäß einer besonderen Ausführungsform ist die Überblendungsrate des Detaillierungsgrads eine Variable, die von der Differenz zwischen dem vorherigen und dem zweiten Detaillierungsgrad abhängig ist, sodass die Übergangszeit für eine komplette Überblendung vom vorherigen Detaillierungsgrad zum zweiten Detaillierungsgrad konstant ist. Zusätzlich wird die Verarbeitungszeit für die Überblendung im Verhältnis zu bestimmten bekannten Techniken für die Detaillierungsgrad-Überblendung verbessert, da bei der Detaillierungsgrad-Überblendung das Abrufen von Strukturobjekten auf einer Ebene zwischen dem vorherigen und dem verfügbaren Detaillierungsgrad nicht erforderlich ist.
  • In der speziellen in 5A dargestellten Implementierung kann die Detaillierungsgrad-Überblendung die Bestimmung eines Interpolationswertes für die Detaillierungsgrad-Überblendung beinhalten. Wie unten ausführlicher erörtert, wird der Interpolationswert für den Detaillierungsgrad das Verhältnis der Strukturmischung zwischen dem vorherigen und dem verfügbaren Detaillierungsgrad steuern. Der Interpolationswert kann einen Wert zwischen 0 und 1 haben.
  • Der Interpolationswert kann für das Frame anhand der Differenz zwischen dem Detaillierungsgrad, der verfügbar war, als die Überblendung eingeleitet wurde, und dem vorherigen Detaillierungsgrad kalkuliert werden. Zum Beispiel kann der Interpolationswert t wie folgt berechnet werden: t = (Überblendungsstruktur-Detaillierungsgrad (TextureFadeLOD) – Startdetaillierungsgrad (StartLOD))/(Verfügbarkeits-Detaillierungsgrad (AvailLOD) – Startdetaillierungsgrad (StartLOD) wobei der Startdetaillierungsgrad (StartLOD) für den Strukturdetaillierungsgrad des Frames vor der Einleitung der Detaillierungsgrad-Überblendung steht; Verfügbarkeits-Detaillierungsgrad (AvailLOD) für den Strukturdetaillierungsgrad des Frames, in welchem die Detaillierungsgrad-Überblendung eingeleitet wurde; und der Überblendungsstruktur-Detaillierungsgrad (TextureFadeLOD) anhand der folgenden Gleichung berechnet wird: TextureFadeLOD (Überblendungsstruktur-Detaillierungsgrad) = Vorheriger TextureFadeLOD (Vorheriger Überblendungsstruktur-Detaillierungsgrad) + Überblendungsrate·(AvailLOD-StartLOD) wobei der vorherige Überblendungstruktur-Detaillierungsgrad (TextureFadeLOD) der Überblendungstruktur-Detaillierungsgrad (TextureFadeLOD) für das vorherige Frame ist. Der vorherige Überblendungstruktur-Detaillierungsgrad (TextureFadeLOD) wird als Startdetaillierungsgrad-Wert (StartLOD-Wert) eingeleitet. Die Überblendungsrate ist eine vorgegebene Rate, die auf der Frame-Rate oder auf anderen Raten in Zusammenhang mit der Grafikanwendung basieren kann. Zum Beispiel kann die Überblendungsrate auf einer Rate basieren, die unabhängig von der Frame-Rate ist, um den Übergang zwischen den Bildern zu verbessern.
  • Wenn beispielsweise der Strukturdifferenzierungsgrad des vorherigen Frames 10 ist und der verfügbare Differenzierungsgrad des aktuellen Frames 15, kann der Interpolationswert wie folgt berechnet werden. Der TextureFadeLOD (Überblendungsstruktur-Detaillierungsgrad) wird zunächst festgelegt als (10 + Überblendungsrate·(15 – 10)) oder 10 + 5·Überblendungsrate. Unter der Annahme einer Überblendungsrate von 0,1 Detaillierungsgraden pro Frame beträgt der Wert für den anfänglichen Überblendungstruktur-Detaillierungsgrad (TextureFadeLOD-Wert) 10,5. Der Interpolationswert t kann dann berechnet werden, um t = (10,5 – 10)/(15 – 10) = 0,1 zu sein.
  • In Fällen, in denen der verfügbare Detaillierungsgrad nicht gleich dem Ziel-Detaillierungsgrad für eine bestimmte Ansicht entspricht, kann der Interpolationswert t für das Frame wie folgt berechnet werden: t = (Überblendungsstruktur-Detaillierungsgrad (TextureFadeLOD) – Startdetaillierungsgrad (StartLOD))/(Verfügbarkeits-Detaillierungsgrad (AvailLOD) – Startdetaillierungsgrad (StartLOD) wobei der Startdetaillierungsgrad (StartLOD) für den Strukturdetaillierungsgrad des Frames vor der Einleitung der Detaillierungsgrad-Überblendung steht; Verfügbarkeits-Detaillierungsgrad (AvailLOD) für den Strukturdetaillierungsgrad (TextureFadeLOD) des Frames; und der Überblendungsstruktur-Detaillierungsgrad (TextureFadeLOD) anhand der folgenden Gleichung berechnet wird: TextureFadeLOD (Überblendungsstruktur-Detaillierungsgrad) = Vorheriger TextureFadeLOD (Überblendungsstruktur-Detaillierungsgrad) + Überblendungsrate·(TargetLOD-StartLOD) wobei der vorherige Überblendungstruktur-Detaillierungsgrad (TextureFadeLOD) der Überblendungstruktur-Detaillierungsgrad (TextureFadeLOD) für das vorherige Frame ist. Der vorherige Überblendungstruktur-Detaillierungsgrad (TextureFadeLOD) wird als Startdetaillierungsgrad-Wert (StartLOD-Wert) eingeleitet. TargetLOD ist der Soll-Detaillierungsgrad für die mit dem Frame verknüpfte Ansicht. Die Überblendungsrate ist eine vorgegebene Rate, die auf der Frame-Rate oder auf anderen Raten in Zusammenhang mit der Grafikanwendung basieren kann. Zum Beispiel kann die Überblendungsrate auf einer Rate basieren, die unabhängig von der Frame-Rate ist, um den Übergang zwischen den Bildern zu verbessern.
  • Wenn beispielsweise der Struktur-Differenzierungsgrad des vorherigen Frames 10 ist und der verfügbare Differenzierungsgrad des aktuellen Frames 12 und der Ziel-Differenzierungsgrad 15, kann der Interpolationswert wie folgt berechnet werden. Der TextureFadeLOD (Überblendungsstruktur-Detaillierungsgrad) wird zunächst festgelegt als (10 + Überblendungsrate·(15 – 10)) oder 10 + 5·Überblendungsrate. Unter der Annahme einer Überb1endungsrate von 0,1 Detaillierungsgraden pro Frame beträgt der Wert für den anfänglichen Überblendungstruktur-Detaillierungsgrad (TextureFadeLOD-Wert) 10,5. Der Interpolationswert t kann dann berechnet werden, um t = (10,5 – 10)/(12 – 10) = 0,25 zu sein. Die Mischung für diesen Interpolationswert würde Merkmale beinhalten, die auf 25% bei dem verfügbaren Differenzierungsgrad und 75% beim vorherigen Differenzierungsgrad zuschreibbar sind.
  • In (418) beinhaltet das Verfahren die Erzeugung einer Mischung von Strukturen auf der Basis des Interpolationswerts. Die Mischung von Strukturen kann eine Mischstruktur sein, bei der Merkmale wie Farben der Mischstruktur eine Mischung der verfügbaren Detaillierungsgrad-Struktur und der vorherigen Detaillierungsgrad-Struktur beinhalten. Es können viele Techniken verwendet werden, um eine Mischstruktur zu erzeugen. Beispielsweise können mit der Mischstruktur verknüpfte Pixelwerte durch Interpolation von Pixelwerten, die mit einer verfügbaren Detaillierungsgrad-Struktur verknüpft sind, mit Pixelwerten, die mit einer vorherigen Detaillierungsgrad-Struktur verknüpft sind, festgelegt werden.
  • Der Interpolationswert bestimmt das Mischungsverhältnis zwischen den Strukturobjekten im vorherigen und im aktuellen Differenzierungsgrad. Ein Interpolationswert von 0,1 kann beispielsweise festlegen, dass die Strukturobjekte eine Mischung von etwa 10 Prozent der verfügbaren Differenzierungsgrad-Struktur und 90 Prozent der aktuellen Differenzierungsgrad-Struktur beinhalten. In ähnlicher Weise kann ein Interpolationswert von 0,95 angeben, dass die Strukturobjekte eine Mischung von etwa 95 Prozent der verfügbaren Differenzierungsgrad-Struktur und 5 Prozent der aktuellen Differenzierungsgrad-Struktur beinhalten.
  • Wie weiter unten im Detail erörtert wird, beinhaltet das Verfahren die Anpassung des Interpolationswerts über einen bestimmten Zeitraum zur Umsetzung der Differenzierungsgrad-Überblendung. Insbesondere kann der Interpolationswert auf der Grundlage der Überblendungsrate in aufeinanderfolgenden Frames inkrementiert werden. Auf diese Weise wird die Mischung von Texturen kontinuierlich basierend auf der Inkrementierung des Interpolationswerts angepasst, sodass ein größerer Teil der Mischung auf einen höheren verfügbaren Detaillierungsgrad während der Detaillierungsgrad-Überblendung zurückzuführen ist. Dies führt zu einem weichen Übergang zwischen den verschiedenen Detaillierungsgraden über mehrere Frames hinweg.
  • So beinhaltet das Verfahren in (420) beispielsweise die Struktur-Wiedergabe für das aktuelle Frame, wonach das Verfahren für das nachfolgende Frame zu (402) zurückkehrt. In (404) bestimmt das Verfahren, dass eine Detaillierungsgrad-Überblendung bereits eingeleitet wurde. In Bezug auf 5B bei (422) inkrementiert das Verfahren den Interpolationswert für die Detaillierungsgrad-Überblendung. Der Interpolationswert kann anhand der Überblendungsrate für die Detaillierungsgrad-Überblendung inkrementiert werden.
  • Insbesondere und mit Bezug auf das obige Beispiel, in dem der verfügbare Detaillierungsgrad gleich dem Ziel-Detaillierungsgrad ist, wird der Interpolationswert wie in folgendem Beispiel gezeigt inkrementiert. Das Verfahren bestimmt einen neuen Wert für den ÜberblendungStruktur-Detaillierungsgrad, basierend folgender Gleichung: ÜberblendungStruktur-Detaillierungsgrad = Vorheriger ÜberblendungStruktur-Detaillierungsgrad + Überblendungsrate·(AvailLOD (Verfügbarkeits-Detaillierungsgrad) – Startdetaillierungsgrad (StartLOD)).
  • In obigem Beispiel wird der ÜberblendungStruktur-Detaillierungsgrad festgelegt als (10,5 + Überblendungsrate·(15 – 10). Ausgehend von einer Überblendungsrate von 0,1 Detaillierungsgrad pro Frame wird der ÜberblendungStruktur-Detaillierungsgrad berechnet als (10,5 + 0,1·(15 – 10) = 11,0. Der Interpolationswert kann dann als (11 – 10)/(15 – 10) bzw. 0,2 berechnet werden.
  • In dem Beispiel, in dem der verfügbare Detaillierungsgrad und der Ziel-Detaillierungsgrad zu Beginn der Überblendung nicht identisch sind, aber der Ziel-Detaillierungsgrad anschließend der verfügbare Detaillierungsgrad wird, wäre die Berechnung des Interpolationswerts t dann (10,5 + Überblendungsrate·(15 – 10)) oder 10,5 + 5·Überblendungsrate. Ausgehend von einer Überblendungsrate von 0,1 Detaillierungsgrade pro Frame wird der Wert für den ÜberblendungStruktur-Detaillierungsgrad berechnet als 11,0. Der Interpolationswert wird wie folgt berechnet: t = (11 – 10)/(15 – 10) = 0,2 In diesem Beispiel würde die Mischstruktur eine Mischung aus etwa 20 Prozent verfügbarer Detaillierungsgrad-Struktur und 90 Prozent der vorherigen Detaillierungsgrad-Struktur beinhalten.
  • Die Überblendungsrate für die Detaillierungsgrad-Überblendung kann so eingestellt werden, dass die Gesamtübergangszeit für die Überblendung unabhängig von der Anzahl der Grade zwischen dem vorherigen und dem zweiten Detaillierungsgrad konstant bleibt. Wenn beispielsweise eine große Anzahl von Graden zwischen dem vorherigen und dem zweiten Detaillierungsgrad vorhanden ist, wird die Frame-Rate dynamisch erhöht, sodass der Übergang vom vorherigen zum verfügbaren Detaillierungsgrad mit einer Rate erfolgt, die im Wesentlichen gleich der Überblendungsrate für einen Übergang zwischen näheren Detaillierungsgradwerten ist. Auf diese Weise bleibt die Szenenauflösungszeit zur Herstellung einer voll aufgelösten Szene konstant.
  • In (424) legt das Verfahren fest, ob der inkrementierte Interpolationswert gleich 1 ist. Falls nicht, erzeugt das Verfahren eine Texturmischung auf der Basis des inkrementierten Interpolationswert wie bei (418) in 5A gezeigt. Zum Beispiel kann der Prozentsatz der verfügbaren Detaillierungsgrad-Struktur in der Mischung von etwa 10 Prozent bis etwa 20 Prozent erhöht werden. Das Verfahren schließt die Strukturierungswiedergabe (420) ab und beginnt mit der Strukturwiedergabe für das nächste Frame (402), wobei sich das Verfahren wiederholen kann, bis der inkrementierte Interpolationswert gleich oder größer als 1 ist. Sobald der Interpolationswert gleich 1 ist, sollte die Überblendung des Detaillierungsgrads abgeschlossen sein. An dieser Stelle beendet das Verfahren die Detaillierungsgrad-Überblendung (426) und schließt die Struktur-Wiedergabe für das aktuelle Frame (420) ab. Die Struktur wird am verfügbaren Detaillierungsgrad bestimmt, wenn die Detaillierungsgrad-Überblendung eingeleitet wurde.
  • Verschiedene Merkmale können zusammen mit der Detaillierungsgrad-Überblendung implementiert werden, um die visuelle Erfahrung des Nutzers zu verbessern. So kann das Verfahren in einem Beispiel Bereiche erkennen, die mit dem Rand einer bestimmten Ansicht verknüpft sind. Das Verfahren kann so konfiguriert sein, dass eine Detaillierungsgrad-Überblendung nicht am Rand der jeweiligen Ansicht eingeleitet wird, wenn der Nutzer die Ansicht schwenkt, um zu vermeiden, dass jede Kachel übergeblendet wird, wenn sie in Sicht kommt.
  • Auch wenn der vorliegende Gegenstand in Bezug auf spezifische exemplarisch Ausführungsform und Verfahren dafür detailliert beschrieben wurde, ist selbstverständlich, dass Fachleute nach Erhalt eines Verständnisses des Vorangegangenen Änderungen an, Varianten von und Äquivalente solcher Ausführungsformen problemlos produzieren können. Demgemäß ist der Umfang der vorliegenden Offenlegung nur exemplarisch und nicht begrenzend, und die betroffene Offenbarung schließt die Einbeziehung solcher Modifizierungen, Varianten und/oder Hinzufügungen des vorliegenden Gegenstands nicht aus, die für Fachleute problemlos offensichtlich sind.

Claims (6)

  1. Computerimplementiertes System, das ein erstes Computergerät umfasst, dessen Verarbeitungsschaltkreise konfiguriert sind, um: eine Darstellung eines geografischen Bereichs anzuzeigen, der geometrische Objekte hat, die Flächen im geografischen Bereich und Strukturen definieren, auf den Flächen wiedergeben werden, die durch die geometrischen Objekte definiert werden, wobei die Struktur mit einem ersten Detaillierungsgrad wiedergegeben wird; einen Übergang zu einer Anzeige einer Darstellung von zumindest einem Teil des geographischen Bereichs zu schaffen, wobei die Struktur auf einem zweiten Detaillierungsgrad dargestellt wird und für die Struktur eine zeitweilige Überblendung des Detaillierungsgrads verwendet wird, wobei die zeitweilige Detaillierungsgrad-Überblendung für die Struktur unabhängig von einem Detaillierungsgrad für die geometrischen Objekte durchgeführt wird.
  2. Das computergestützte System nach Anspruch 1, worin die Operationen, die durch den Verarbeitungsschaltkreis durchgeführt werden, um die Detaillierungsgrad-Überblendung zu implementieren, Folgendes umfasst: Erzeugung einer Mischstruktur, die Merkmale der Struktur mit einem ersten und einem zweiten Detaillierungsgrad umfasst; und Einstellen der Mischstruktur über einen bestimmten Zeitraum, um den Übergang zwischen dem ersten und dem zweiten Detaillierungsgrad bereitzustellen.
  3. Computergestütztes System nach Anspruch 1, worin die Mischstruktur anhand eines Interpolationswerts erzeugt wird, wobei der Interpolationswert den Prozentsatz der Mischstruktur festlegt, der dem ersten Detaillierungsgrad zugeordnet ist.
  4. Computergestütztes System nach Anspruch 1, worin der Interpolationswert mindestens teilweise anhand der Differenz zwischen dem ersten und dem zweiten Detaillierungsgrad und einer Überblendungsrate für die Detaillierungsgrad-Überblendung festgelegt wird.
  5. Computergestütztes System nach Anspruch 1, worin das erste Computergerät so konfiguriert ist, dass die Struktur für die Darstellung des geografischen Bereichs von einem zweiten Computergerät über ein Netzwerk empfangen wird.
  6. Computerimplementiertes System, das ein erstes Computergerät umfasst, dessen Verarbeitungsschaltkreise konfiguriert sind, um: eine Darstellung eines geografischen Bereichs anzuzeigen, der geometrische Objekte hat, die Flächen im geografischen Bereich und Strukturen definieren, auf den Flächen wiedergeben werden, die durch die geometrischen Objekte definiert werden, wobei die Struktur mit einem ersten Detaillierungsgrad wiedergegeben wird; Übergang zu einer Anzeige einer Darstellung von zumindest einem Teil des geographischen Bereichs, wobei die Struktur auf einem zweiten Detaillierungsgrad dargestellt wird und für die Struktur eine zeitweilige Überblendung des Detaillierungsgrads verwendet wird; worin die zeitweise Detaillierungsgrad-Überblendung durch Anpassung eines Interpolationswerts über einen bestimmten Zeitraum implementiert wird, auf der Grundlage einer Überblendungsrate für die zeitweise Detaillierungsgrad-Überblendung. Der Interpolationswert legt dabei einen Überblendungsprozentsatz anhand der Differenz zwischen dem ersten und dem zweiten Detaillierungsgrads fest.
DE202013012446.6U 2012-01-25 2013-01-24 Strukturüberblendung für weichen Übergang zwischen unterschiedlichen Detaillierungsgraden in Grafikanwendungen Expired - Lifetime DE202013012446U1 (de)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201261590546P 2012-01-25 2012-01-25
US201261590546P 2012-01-25
US13/412,796 US8654124B2 (en) 2012-01-25 2012-03-06 Texture fading for smooth level of detail transitions in a graphics application
US201213412796 2012-03-06

Publications (1)

Publication Number Publication Date
DE202013012446U1 true DE202013012446U1 (de) 2016-11-10

Family

ID=48796860

Family Applications (1)

Application Number Title Priority Date Filing Date
DE202013012446.6U Expired - Lifetime DE202013012446U1 (de) 2012-01-25 2013-01-24 Strukturüberblendung für weichen Übergang zwischen unterschiedlichen Detaillierungsgraden in Grafikanwendungen

Country Status (5)

Country Link
US (2) US8654124B2 (de)
EP (1) EP2788974B1 (de)
AU (1) AU2013212084B2 (de)
DE (1) DE202013012446U1 (de)
WO (1) WO2013112707A1 (de)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140218400A1 (en) * 2013-02-05 2014-08-07 PropertyRadar, Inc. Method for Providing Real Estate Data on an Interactive Map
US10055876B2 (en) * 2014-06-06 2018-08-21 Matterport, Inc. Optimal texture memory allocation
KR102197064B1 (ko) * 2014-10-10 2020-12-30 삼성전자 주식회사 Lod를 조절할 수 있는 그래픽스 프로세싱 유닛, 이의 작동 방법, 및 상기 그래픽스 프로세싱 유닛을 포함하는 장치들
KR102313020B1 (ko) 2014-11-27 2021-10-15 삼성전자주식회사 그래픽스 프로세싱 유닛과 이를 포함하는 장치
US10460495B1 (en) 2018-05-23 2019-10-29 Mapbox, Inc. Efficient label insertion and collision handling
US10489954B1 (en) * 2018-05-23 2019-11-26 Mapbox, Inc. Efficient duplicate label handling
CN111111176B (zh) * 2019-12-18 2023-11-14 北京像素软件科技股份有限公司 游戏中物体lod的管理方法、装置及电子设备
CN114494666A (zh) * 2022-01-29 2022-05-13 网易(杭州)网络有限公司 数据处理方法、装置、电子设备及可读介质

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5949426A (en) 1997-01-28 1999-09-07 Integrated Device Technology, Inc. Non-linear texture map blending
US6222555B1 (en) * 1997-06-18 2001-04-24 Christofferson Enterprises, Llc Method for automatically smoothing object level of detail transitions for regular objects in a computer graphics display system
US6373482B1 (en) * 1998-12-23 2002-04-16 Microsoft Corporation Method, system, and computer program product for modified blending between clip-map tiles
US6184894B1 (en) * 1999-01-29 2001-02-06 Neomagic Corp. Adaptive tri-linear interpolation for use when switching to a new level-of-detail map
US7057612B2 (en) 2000-01-12 2006-06-06 Balfour Technologies Llc Method and system for a four-dimensional temporal visualization data browser
US6650326B1 (en) * 2001-01-22 2003-11-18 Navigation Technologies Corp. Method of handling context during scaling with a map display
US7027972B1 (en) 2001-01-24 2006-04-11 Ati Technologies, Inc. System for collecting and analyzing graphics data and method thereof
JP2004213641A (ja) * 2002-12-20 2004-07-29 Sony Computer Entertainment Inc 画像処理装置、画像処理方法、情報処理装置、情報処理システム、半導体デバイス、コンピュータプログラム
US7305396B2 (en) 2002-12-31 2007-12-04 Robert Bosch Gmbh Hierarchical system and method for on-demand loading of data in a navigation system
US7075535B2 (en) * 2003-03-05 2006-07-11 Sand Codex System and method for exact rendering in a zooming user interface
US6995767B1 (en) * 2003-07-31 2006-02-07 Nvidia Corporation Trilinear optimization for texture filtering
US7551182B2 (en) 2005-01-18 2009-06-23 Oculus Info Inc. System and method for processing map data
US7746343B1 (en) 2005-06-27 2010-06-29 Google Inc. Streaming and interactive visualization of filled polygon data in a geographic information system
WO2007146967A2 (en) 2006-06-12 2007-12-21 Google Inc. Markup language for interactive geographic information system
US8106918B2 (en) 2007-05-01 2012-01-31 Vivante Corporation Apparatus and method for texture level of detail computation
US7948500B2 (en) * 2007-06-07 2011-05-24 Nvidia Corporation Extrapolation of nonresident mipmap data using resident mipmap data
US8872847B2 (en) 2008-08-28 2014-10-28 Google Inc. Architectures and methods for creating and representing time-dependent imagery
US9098926B2 (en) * 2009-02-06 2015-08-04 The Hong Kong University Of Science And Technology Generating three-dimensional façade models from images
US20110205229A1 (en) 2010-02-23 2011-08-25 Google Inc. Portable Globe Creation for a Geographical Information System
US20110210960A1 (en) 2010-02-26 2011-09-01 Google Inc. Hierarchical blurring of texture maps
US8587602B2 (en) * 2010-08-16 2013-11-19 Microsoft Corporation GPU texture tile detail control

Also Published As

Publication number Publication date
AU2013212084B2 (en) 2014-08-14
US20130187939A1 (en) 2013-07-25
US8654124B2 (en) 2014-02-18
AU2013212084A1 (en) 2014-07-24
EP2788974B1 (de) 2020-06-03
EP2788974A1 (de) 2014-10-15
WO2013112707A1 (en) 2013-08-01
EP2788974A4 (de) 2015-03-18
US9547921B1 (en) 2017-01-17

Similar Documents

Publication Publication Date Title
DE202013012446U1 (de) Strukturüberblendung für weichen Übergang zwischen unterschiedlichen Detaillierungsgraden in Grafikanwendungen
DE202008018628U1 (de) System zur Wiedergabe, Ansicht und Kommentierung von Panoramabildern und dazugehörige Anwendungen
DE202011110887U1 (de) Wiedergeben und navigieren fotografischer Panoramen mit Tiefeninformationen in einem geographischen Informationssystem
DE202009019138U1 (de) Architekturen zur Erstellung und Darstellung von zeitabhängigen Bildern
DE69731045T2 (de) Navigation und Interaktion in strukturierten Informationsräumen
DE202010018459U1 (de) System zur Darstellung von Übergängen zwischen Strassenansichten
DE202013012438U1 (de) Navigation visueller Daten, die mit einem geografischen Sonderziel verknüpft sind
DE202012013451U1 (de) System zur Darstellung von ortsbezogener Informationen zu einem ausgewählten Gebiet
US9105129B2 (en) Level of detail transitions for geometric objects in a graphics application
DE202015009198U1 (de) Auswahl der zeitlich verteilten Panoramabilder für die Anzeige
DE202015009181U1 (de) Überblendung zwischen Straßenansicht und Erdansicht
DE202014010937U1 (de) Überlagerung zweidimensionaler Kartendaten auf einer dreidimensionalen Szene
DE202013012426U1 (de) System für die Anzeige von Panoramabildern
DE202012013450U1 (de) Beschriftungspositionierbildwiedergabesystem zur Reduzierung des Kriechens bei Zoom-Aktivitäten
DE202015009166U1 (de) System zur Bereitstellung individualisierter, mobiler Asset-Anwendungen
DE202013012432U1 (de) System zur Verbesserung der Geschwindigkeit und Wiedergabetreue von Multi-Pose-3D-Renderings
DE202017104054U1 (de) 2D-Video mit der Option für projiziertes Betrachten in einem modellierten 3D-Raum
DE202014010927U1 (de) Referenzpunktidentifizierung aus Punktwolken, die aus geografischen Bilddaten erstellt werden
DE112016004195T5 (de) Navigation durch mehrdimensionale Bildräume
DE202014010911U1 (de) Effiziente Zusammensetzung und Darstellung grafischer Elemente
DE202015009167U1 (de) System zur Geolokalisierung von Bildern
DE112019000687T5 (de) Fotorealistische dreidimensionale texturierung unter verwendung kanonischer ansichten und eines zweistufigen ansatzes
DE202014010917U1 (de) Glatte Zeichenebene für das Rendern von Vektordaten komplexer dreidimensionaler Objekte
DE202012013426U1 (de) Integrieren von Karten und Straßenansichten
DE202012013434U1 (de) Vorabruf von Kartenkacheldaten entlang einer Route

Legal Events

Date Code Title Description
R207 Utility model specification
R150 Utility model maintained after payment of first maintenance fee after three years
R081 Change of applicant/patentee

Owner name: GOOGLE LLC (N.D.GES.D. STAATES DELAWARE), MOUN, US

Free format text: FORMER OWNER: GOOGLE INC., MOUNTAIN VIEW, CALIF., US

R082 Change of representative

Representative=s name: BETTEN & RESCH PATENT- UND RECHTSANWAELTE PART, DE

R151 Utility model maintained after payment of second maintenance fee after six years
R152 Utility model maintained after payment of third maintenance fee after eight years
R071 Expiry of right