DE112016003134T5 - Anzeigen von Objekten basierend auf einer Vielzahl von Modellen - Google Patents

Anzeigen von Objekten basierend auf einer Vielzahl von Modellen Download PDF

Info

Publication number
DE112016003134T5
DE112016003134T5 DE112016003134.3T DE112016003134T DE112016003134T5 DE 112016003134 T5 DE112016003134 T5 DE 112016003134T5 DE 112016003134 T DE112016003134 T DE 112016003134T DE 112016003134 T5 DE112016003134 T5 DE 112016003134T5
Authority
DE
Germany
Prior art keywords
determining
viewing angle
requested
visual
visual characteristics
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.)
Pending
Application number
DE112016003134.3T
Other languages
English (en)
Inventor
Janne Matias Kontkanen
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 DE112016003134T5 publication Critical patent/DE112016003134T5/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/50Information retrieval; Database structures therefor; File system structures therefor of still image data
    • G06F16/58Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • G06F16/583Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
    • G06F16/5838Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content using colour
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • 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
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • G06T15/20Perspective computation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • G06T15/20Perspective computation
    • G06T15/205Image-based rendering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/50Lighting effects
    • G06T15/503Blending, e.g. for anti-aliasing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/30Scenes; Scene-specific elements in albums, collections or shared content, e.g. social network photos or video

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Graphics (AREA)
  • Geometry (AREA)
  • Computing Systems (AREA)
  • Library & Information Science (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Processing Or Creating Images (AREA)
  • Image Generation (AREA)
  • User Interface Of Digital Computer (AREA)
  • Closed-Circuit Television Systems (AREA)

Abstract

Zur Verfügung gestellt sind ein System und ein Verfahren zum Anzeigen von Oberflächen eines Objekts (240) von einem Blickwinkel (230) aus, der unterschiedlich von dem Blickwinkel ist, von welchem aus eine bildliche Darstellung des Objekts erfasst wurde (210, 220). Bei einigen Aspekten kann die bildliche Darstellung (710) zur Anzeige durch Kombinieren von visuellen Charakteristiken aus mehreren Quellenbildern (215, 225) und durch Anwenden einer größeren Gewichtung auf die visuellen Charakteristiken von einigen der Quellenbilder relativ zu den anderen Quellebildern erzeugt werden. Die Gewichtung kann auf der Orientierung der Oberfläche (310) relativ zu dem Standort basieren, von welchem aus das Bild erfasst wurde (320), und dem Standort, von welchem aus das Objekt angezeigt werden wird (430).

Description

  • QUERVERWEIS AUF ZUGEHÖRIGE ANMELDUNGEN
  • Die vorliegende Anmeldung ist eine Fortsetzung bzw. Continuation der US-Patentanmeldung Nr. 14/877,368, eingereicht am 7. Oktober 2015, deren Offenbarung hierin durch Bezugnahme enthalten ist.
  • HINTERGRUND DER ERFINDUNG
  • Bestimmte Panoramabilder von Objekten sind mit Information in Bezug auf den geographischen Standort und eine Orientierung, von wo das Bild erfasst wurde, assoziiert. Beispielsweise kann jedes Pixel des Bilds mit Daten assoziiert sein, die den Winkel von dem geographischen Standort, von welchem aus das Bild erfasst wurde, bis zu dem Teilbereich der Oberfläche eines Objekts (wenn es eines gibt) identifizieren, dessen Erscheinungsbild durch die visuellen Charakteristiken des Pixels dargestellt ist. Jedes Pixel kann auch mit Tiefendaten assoziiert sein, die den Abstand vom Erfassungsstandort zum Teilbereich der Oberfläche identifizieren, der durch das Pixel dargestellt ist.
  • Dreidimensionale Modelle der Standorte von Oberflächen, die in den Bildern erscheinen, können basierend auf den Tiefendaten erzeugt werden. Die Modelle enthalten Polygone, deren Eckpunkte den Oberflächenstandorten entsprechen. Die Polygone können durch Projizieren von visuellen Charakteristiken des Panoramabilds auf das Modell unter Verwendung einer Strahlverfolgung Schnittstelleiert sein. Ein Anwender kann einen Blickwinkel auswählen, von welchem aus die Modelle dem Anwender angezeigt werden können.
  • KURZE ZUSAMMENFASSUNG DER ERFINDUNG
  • Aspekte der Offenbarung stellen ein System zur Verfügung, das einen oder mehrere Prozessoren, einen Speicher, der ein Modell der Orientierung und der visuellen Charakteristiken der Oberfläche eines Objekts relativ zu Blickwinkeln speichert, und Anweisungen, die durch den einen oder mehrere Prozessoren ausführbar sind, enthält. Die visuellen Charakteristiken können eine erste Gruppe von visuellen Charakteristiken enthalten, die das Erscheinungsbild der Oberfläche von einem ersten Blickwinkel aus darstellen, und eine zweite Gruppe von visuellen Charakteristiken, die das Erscheinungsbild der Oberfläche von einem zweiten Blickwinkel aus darstellen. Die Anweisungen können enthalten: Empfangen einer Anfrage für ein Bild des Objekts von einem angefragten Blickwinkel aus, der unterschiedlich von dem ersten Blickwinkel und dem zweiten Blickwinkel ist; Identifizieren einer ersten visuellen Charakteristik aus der ersten Gruppe von visuellen Charakteristiken und einer zweiten visuellen Charakteristik aus der zweiten Gruppe von visuellen Charakteristiken; Bestimmen eines ersten Gewichtungswerts für die erste visuelle Charakteristik basierend auf der Orientierung der Oberfläche relativ zu dem angefragten Blickwinkel und dem ersten Blickwinkel; Bestimmen eines zweiten Gewichtungswerts für die zweite visuelle Charakteristik basierend auf der Orientierung der Oberfläche relativ zu dem angefragten Blickwinkel und dem zweiten Blickwinkel; Bestimmen einer visuellen Charakteristik des angefragten Bilds basierend auf den ersten und zweiten visuellen Charakteristiken und den ersten und zweiten Gewichtungswerten; und Liefern des angefragten Bilds.
  • Aspekte der Offenbarung stellen auch ein Verfahren zum Liefern eines Bilds zur Anzeige zur Verfügung. Das Verfahren kann enthalten: Empfangen einer Anfrage für ein Bild eines Objekts von einem angefragten Blickwinkel aus; Zugreifen auf ein Modell der Orientierung und der visuellen Charakteristiken der Oberfläche des Objekts relativ zu Blickwinkeln, wobei die visuellen Charakteristiken eine erste Gruppe von visuellen Charakteristiken enthalten, die das Erscheinungsbild der Oberfläche von einem ersten Blickwinkel aus darstellen, und eine zweite Gruppe von visuellen Charakteristiken, die das Erscheinungsbild der Oberfläche von einem zweiten Blickwinkel aus darstellen, wobei der erste und der zweite Blickwinkel unterschiedlich vom angefragten Blickwinkel sind; Identifizieren einer ersten visuellen Charakteristik aus der ersten Gruppe von visuellen Charakteristiken und einer zweiten visuellen Charakteristik aus der zweiten Gruppe von visuellen Charakteristiken; Bestimmen eines ersten Gewichtungswerts für die erste visuelle Charakteristik basierend auf der Orientierung der Oberfläche relativ zu dem angefragten Blickwinkel und dem ersten Blickwinkel; Bestimmen eines zweiten Gewichtungswerts für die zweite visuelle Charakteristik basierend auf der Orientierung der Oberfläche relativ zu dem angefragten Blickwinkel und dem zweiten Blickwinkel; Bestimmen einer visuellen Charakteristik des angefragten Bilds basierend auf den ersten und zweiten visuellen Charakteristiken und den ersten und zweiten Gewichtungswerten; und Liefern des angefragten Bilds zur Anzeige.
  • Aspekte der Offenbarung stellen weiterhin ein nichtflüchtiges computervorrichtungslesbares Speichermedium zur Verfügung, auf welchem computervorrichtungslesbare Anweisungen eines Programms gespeichert sind. Die Anweisungen können dann, wenn sie durch eine oder mehrere Computervorrichtungen ausgeführt werden, veranlassen, dass die eine oder die mehreren Computervorrichtungen ein Verfahren durchführen, das enthält: Empfangen einer Anfrage für ein Bild eines Objekts von einem angefragten Blickwinkel aus; Zugreifen auf ein Modell der Orientierung und der visuellen Charakteristiken der Oberfläche des Objekts relativ zu Blickwinkeln, wobei die visuellen Charakteristiken eine erste Gruppe von visuellen Charakteristiken umfassen, die das Erscheinungsbild der Oberfläche von einem ersten Blickwinkel aus darstellen, und eine zweite Gruppe von visuellen Charakteristiken, die das Erscheinungsbild der Oberfläche von einem zweiten Blickwinkel aus darstellen, und wobei die ersten und zweiten Blickwinkel unterschiedlich vom angefragten Blickwinkel sind; Identifizieren einer ersten visuellen Charakteristik aus der ersten Gruppe von visuellen Charakteristiken und einer zweiten visuellen Charakteristik aus der zweiten Gruppe von visuellen Charakteristiken; Bestimmen eines ersten Gewichtungswerts für die erste visuelle Charakteristik basierend auf der Orientierung der Oberfläche relativ zu dem angefragten Blickwinkel und dem ersten Blickwinkel; Bestimmen eines zweiten Gewichtungswerts für die zweite visuelle Charakteristik basierend auf der Orientierung der Oberfläche relativ zu dem angefragten Blickwinkel und dem zweiten Blickwinkel; Bestimmen einer visuellen Charakteristik des angefragten Bilds basierend auf den ersten und zweiten visuellen Charakteristiken und den ersten und zweiten Gewichtungswerten; und Liefern des angefragten Bilds zur Anzeige.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • 1 ist eine funktionelle graphische Darstellung eines Systems gemäß Aspekten der Offenbarung.
  • 2 ist eine graphische Darstellung eines Objekts relativ zu Blickwinkeln, von welchen aus das Objekt erfasst und angezeigt werden kann.
  • 3 ist eine graphische Darstellung einer Ellipse, die basierend auf einem Blickwinkel und der Orientierung einer Oberfläche erzeugt wird.
  • 4 ist eine graphische Darstellung einer Texel-Ellipse und einer Pixel-Ellipse.
  • 5 ist eine graphische Darstellung einer verdeckten bzw. verschlossenen Oberfläche relativ zu Blickwinkeln, von welchen aus das Objekt erfasst und angezeigt werden kann.
  • 6 ist eine graphische Darstellung einer Oberfläche von außen relativ zu Blickwinkeln, von welchen aus das Objekt erfasst und angezeigt werden kann.
  • 7 ist ein Beispiel eines Bilds, das einem Anwender angezeigt werden kann.
  • 8 ist ein beispielhaftes Ablaufdiagramm gemäß Aspekten der Offenbarung.
  • DETAILLIERTE BESCHREIBUNG
  • Übersicht
  • Die Technologie betrifft ein Anzeigen eines Objekts von einem Blickwinkel aus, der unterschiedlich von dem Blickwinkel ist, von welchem aus eine bildliche Darstellung des Objekts erfasst wurde. Beispielsweise können zwei oder mehrere Panoramabilder ein Objekt von zwei unterschiedlichen Blickwinkeln aus erfassen und kann ein Anwender ein Bild des Objekts von einem Standort aus zwischen den zwei Erfassungspunkten anfragen. Das System kann das vom Anwender angefragte Bild durch Vermischen entsprechender Fragmente der Bilder miteinander proportional zu der Wahrscheinlichkeit erzeugen, dass das Fragment eine visuell genaue Darstellung der entsprechenden Oberfläche des Objekts ist. Anhand eines Beispiels kann das System dann, wenn das vom Anwender angefragte Bild erzeugt wird, einen Qualitätswert berechnen, der auf der Beziehung des Erfassungsstandorts und dem vom Anwender angefragten Punkt zu der Orientierung der Oberfläche des anzuzeigenden Objekts basiert. Wenn die Fragmente vermischt sind, kann eine größere Gewichtung auf Fragmente angewendet werden, die bessere Qualitätswerte als die anderen Fragmente haben.
  • Anhand einer Darstellung zeigt 2 zwei unterschiedliche Blickwinkel, von welchen aus zwei Quellenbilder eines Autos erfasst wurden. Bei diesem Beispiel ist der Winkel, von welchem aus die Vorderseite des Autos erfasst ist, relativ orthogonal im ersten Quellenbild und relativ spitz im zweiten Quellenbild. Gegensätzlich dazu ist der Winkel, von welchem aus die Seite des Autos erfasst ist, relativ spitz im ersten Bild und relativ orthogonal im zweiten Bild. Die Figur zeigt auch einen Blickwinkel, der durch einen Anwender ausgewählt ist, um das Auto anzuschauen.
  • Um das Objekt von dem vom Anwender ausgewählten Blickwinkel aus anzuzeigen, kann das System ein dreidimensionales (3D) Modell von allen der Oberflächen erzeugen, die bei jedem Quellenbild erfasst sind. Beispielsweise ist ein Laser-Entfernungsmesser verwendet worden, um eine Tiefenabbildung vorzubereiten, welche wiederum verwendet wurde, um ein Quellenmodell vorzubereiten, das ein Gitter von Polygonen enthält, deren Eckpunkte den Standorten von Punkten entlang den Oberflächen des Objekts entsprechen.
  • Das Quellenmodell, das mit jedem Quellenbild assoziiert ist, kann auch den Standort des Erfassungspunkts relativ zum Modell identifizieren und das System kann diesen Standort verwenden, um die visuelle Information, die im Quellenbild erfasst ist, auf das Modell zu projizieren. Das mit einem Quellenbild assoziierte 3D-Modell kann im Wesentlichen identisch zu dem 3D-Modell sein, das mit einem anderen Quellenbild in Bezug auf Oberflächenstandorte assoziiert ist, aber die visuellen Charakteristiken von Texturen, die auf die Modelle projiziert sind, können in Abhängigkeit von dem Winkel unterschiedlich sein, von welchem aus die Oberflächen erfasst wurden.
  • Wenn die visuellen Charakteristiken der Pixel des dem Anwender anzuzeigenden Bilds bestimmt werden, kann das System eine Strahlverfolgung verwenden, und den Standort des vom Anwender angefragten Blickwinkels, um den Standort zu identifizieren, bei welchem ein Strahl, der sich durch jedes angezeigte Pixel erstreckt, die Texturen des Modells schneidet, z.B. ein Texel. Das System kann die Texel von den unterschiedlichen Quellenbildern miteinander vermischen, um die visuellen Charakteristiken des angezeigten Pixels zu bestimmen (z.B. Farbton, Sättigung und Helligkeit).
  • Wenn die Texel von den Modellen der Quellenbilder miteinander vermischt werden, kann eine größere Gewichtung auf das Texel von einem Quellenbild gegenüber einem Texel von einem anderen Quellenbild angewendet werden. Die Gewichtung kann auf einem Qualitätswert basieren, der die Wahrscheinlichkeit berücksichtigt, dass das Texel eine genaue Darstellung der visuellen Charakteristiken eines anzuzeigenden Objekts ist.
  • Bei wenigstens einem Aspekt kann der Qualitätswert von der Auflösung der angezeigten Pixel relativ zu der Auflösung der Texel abhängen. Beispielsweise kann definiert werden, dass eine optimale Qualität auftritt, wenn es ein einziges Texel für jedes angezeigte Pixel gibt. Gegensätzlich dazu kann definiert werden, dass eine niedrige Qualität auftritt, wenn es viele Texel gibt, die mit einem einzigen Pixel assoziiert sind (was auftreten kann, wenn eine Textur einer Oberfläche geradeaus erfasst wurde, aber bei einem Streifwinkel angeschaut wird), oder es viele Pixel geben kann, die mit einem einzigen Texel assoziiert sind (was auftreten kann, wenn die Textur einer Oberfläche bei einem Streifwinkel erfasst wurde, aber in geradeaus angeschaut wird).
  • Der Qualitätswert eines Texels kann basierend auf dem Standort der vom Anwender definierten und Erfassungs-Blickwinkel relativ zur Orientierung der anzuzeigenden Oberfläche berechnet werden. Anhand einer Darstellung zeigt 3 den Standort von zwei Punkten: einen Blickwinkel und einen Punkt auf der Oberfläche des dem Anwender anzuzeigenden Modells. Die Figur zeigt auch eine Ellipse, die die Schnittstelle eines Konus und einer Ebene darstellt. Die Ebene reflektiert die Orientierung der Oberfläche relativ zum Blickwinkel, z.B. eine Ebene, die durch die Eckpunkte des Quellenmodellpolygons definiert ist, das das Texel enthält. Der Konus ist auf einer Linie zentriert, die sich vom Blickwinkel zum Oberflächenpunkt erstreckt (der "Blick/Oberflächen-Linie"). Das Ausmaß, bis zu welchem die Ellipse gestreckt ist, ist bezogen auf die Orientierung der Oberfläche und des Winkels, von welchem aus die Oberfläche vom Blickwinkel aus angeschaut wird. Wenn die Blick/Oberflächen-Linie perfekt orthogonal zur Orientierung der Oberfläche ist, wird die Ellipse ein Kreis sein. Wenn der feste Winkel der Blick/Oberflächen-Linie relativ zur Orientierung der Oberfläche genauer wird, wird die Ellipse mehr gestreckt und wird sich das Verhältnis der Hauptachse der Ellipse relativ zur kleineren Achse erhöhen.
  • Der Qualitätswert eines Texels kann basierend auf den Unterschieden zwischen einer Ellipse, die mit dem Erfassungspunkt assoziiert ist, (der "Texel-Ellipse") und einer Ellipse, die mit dem vom Anwender angefragten Blickwinkel assoziiert ist, (der "Pixel-Ellipse") bestimmt werden. 4 stellt ein Beispiel einer Texel-Ellipse und einer Pixel-Ellipse zur Verfügung. Der Qualitätswert kann aus dem Verhältnis des Radius der Pixel-Ellipse relativ zum Radius der Texel-Ellipse unter einem Winkel berechnet werden, der den größten Unterschied bezüglich einer Länge zwischen den zwei Radien ergibt.
  • Wenn der Qualitätswert für jedes Texel einmal berechnet worden ist, kann der Qualitätswert während einer Vermischung als Gewichtungen angewendet werden. Beispielsweise kann dann, wenn drei Quellenbilder verwendet wurden, um drei Texel T1, T2 und T3 zu identifizieren, die Ausgabe als (w1T1 + w2T2 + w3T3)/(w1 + w2 + w3) berechnet werden, wobei wn gleich dem Qualitätswert des Texels ist. Die Gewichtungen können auch auf andere Weisen angewendet werden.
  • Das System kann auch Gewichtungswerte verwenden, um eine Verdeckung zu adressieren. Wie es in 5 gezeigt ist, kann sich ein Strahl, der dazu verwendet wird, die Charakteristiken eines angezeigten Pixels zu bestimmen, durch Oberflächen des Objekts erstrecken, die in den Quellenbildern erfasst wurden, aber bei dem vom Anwender angefragten Blickwinkel gegenüber einem Anschauen verstellt sein würden. Das System kann sowohl nach vorn als auch nach hinten gerichtete Oberflächen wiedergeben, so dass die Gewichtung für jede nach hinten gerichtete Oberfläche auf null eingestellt ist. Das System kann auch das Bild so erzeugen, dass die Oberfläche, die für den Betrachter am nächsten ist, innerhalb jedes Quellenbilds zur Anzeige ausgewählt wird, um dadurch zuzulassen, dass das System Texturen von beiden Modellen miteinander vermischt, ohne eine Tiefe zu berechnen.
  • Filmfehler können auch mit Gewichtungswerten adressiert werden. Beispielsweise und wie es in 6 gezeigt ist, können Diskontinuitäten in Tiefendaten veranlassen, dass Lücken in Oberflächen unrichtig als die Oberfläche eines Objekts modelliert werden. Eher als solche nicht existenten Oberflächen von einem Modell zu entfernen, kann das System einen Qualitätswert für ein Texel der nicht existierenden Oberfläche bestimmen. Wenn der Winkel des Strahls relativ orthogonal zur Orientierung der nicht existierenden Oberfläche ist, kann der Qualitätswert des Texels im Vergleich mit dem Qualitätswert eines Texels auf einer anderen Oberfläche sehr niedrig sein, die unter einem anderen Blickwinkel erfasst ist. Wenn jedoch der Winkel, unter welchem die nicht existierende Oberfläche angeschaut wird, relativ parallel zur Orientierung der nicht existierenden Oberfläche ist, kann der Qualitätswert des Texels auf dieser Oberfläche relativ hoch sein.
  • Das System kann dazu verwendet werden, das Objekt dem Anwender unter dem Blickwinkel anzuzeigen, der durch den Anwender angefragt ist. Diesbezüglich und wie es in 7 gezeigt ist kann ein Anwender dazu fähig sein, das Objekt unter Blickwinkeln anzuschauen, die andere als die Blickwinkel sind, unter welchen die Quellenbildgabe erfasst wurde.
  • Beispielhafte Systeme
  • 1 stellt ein mögliches System 100 dar, bei welchem die hierin offenbarten Aspekte implementiert sein können. Bei diesem Beispiel kann das System 100 Computervorrichtungen 110 und 120 enthalten. Die Computervorrichtung 110 kann einen oder mehrere Prozessoren 112, einen Speicher 114 und andere Komponenten, die typischerweise in allgemeinen Computervorrichtungen vorhanden sind, enthalten. Obwohl 1 funktionell jeden von dem Prozessor 112 und dem Speicher 114 als einen einzelnen Block innerhalb der Vorrichtung 110 darstellt, was auch als einziger Block dargestellt ist, kann das System enthalten und können die hierin beschriebenen Verfahren enthalten: mehrere Prozessoren, Speicher und Vorrichtungen, die innerhalb desselben physikalischen Gehäuses gelagert sein können oder nicht sein können. Beispielsweise können verschiedene Verfahren, die nachstehend derart beschrieben sind, dass sie eine einzige Komponente (z.B. den Prozessor 112) enthalten, eine Vielzahl von Komponenten enthalten (wie z.B. mehrere Prozessoren in einer bezüglich der Last ausgeglichenen Serverfarm). Gleichermaßen können verschiedene Verfahren, die nachstehend derart beschrieben sind, dass sie unterschiedliche Komponenten enthalten (wie z.B. die Vorrichtung 110 und die Vorrichtung 120) eine einzige Komponente enthalten (z.B. kann die Vorrichtung 120, eher als dass die Vorrichtung 120 eine nachstehend beschriebene Bestimmung durchführt, die relevanten Daten zur Vorrichtung 110 zum Verarbeiten senden und die Ergebnisse der Bestimmung für eine weitere Verarbeitung oder eine Anzeige empfangen).
  • Der Speicher 114 der Computervorrichtung 110 kann Information speichern, auf die durch den Prozessor 112 zugreifbar ist, einschließlich Anweisungen 116, die durch den Prozessor ausgeführt werden können. Der Speicher 114 kann auch Daten 118 enthalten, die durch den Prozessor 112 ausgelesen, manipuliert oder gespeichert werden können. Der Speicher 114 kann irgendein Typ von Speicher sein, der Information speichern kann, auf die durch den relevanten Prozessor zugreifbar ist, wie beispielsweise Medien, die nichtflüchtige Daten speichern können. Anhand eines Beispiels kann der Speicher 114 ein Festplattenlaufwerk, ein Festkörperlaufwerk, eine Speicherkarte, ein RAM, eine DVD, ein beschreibbarer Speicher oder ein Nurlesespeicher sein. Zusätzlich kann der Speicher ein verteiltes Speichersystem enthalten, bei dem Daten, wie beispielsweise Daten 150, auf einer Vielzahl von unterschiedlichen Speichervorrichtungen gespeichert sind, die physikalisch bei demselben oder bei unterschiedlichen geographischen Standorten angeordnet sein können.
  • Die Anweisungen 116 können irgendeine Gruppe von Anweisungen sein, um durch den Prozessor 112 oder eine andere Computervorrichtung ausgeführt zu werden. Diesbezüglich können die Ausdrücke "Anweisungen", "Anwendung", "Schritte" und "Programme" hierin austauschbar verwendet werden. Die Anweisungen können in einem Objektcodeformat für eine Zwischenverarbeitung durch einen Prozessor gespeichert sein, oder in irgendeiner anderen Computervorrichtungssprache, einschließlich Skripten oder Sammlungen von unabhängigen Quellcodemodulen, die auf eine Aufforderung hin interpretiert oder im Voraus kompiliert werden. Funktionen, Verfahren und Routinen der Anweisungen sind nachstehend detaillierter erklärt. Der Prozessor 112 kann irgendein herkömmlicher Prozessor sein, wie beispielsweise eine kommerziell erhältliche CPU. Alternativ kann der Prozessor eine bestimmte Komponente sein, wie beispielsweise eine ASIC oder ein anderer auf Hardware basierender Prozessor.
  • Die Daten 118 können durch die Computervorrichtung 110 gemäß den Anweisungen 116 ausgelesen, gespeichert oder modifiziert werden. Beispielsweise können, obwohl der hierin beschriebene Gegenstand nicht durch irgendeine bestimmte Datenstruktur beschränkt ist, die Daten in Computerregistern, in einer relationalen Datenbank als eine Tabelle mit vielen unterschiedlichen Feldern und Aufzeichnungen oder als XML-Dokumente gespeichert sein. Die Daten können auch in irgendeinem computervorrichtungslesbaren Format formatiert sein, wie beispielsweise, aber nicht darauf beschränkt, in binären Werten, ASCII oder Unicode. Darüber hinaus können die Daten irgendeine Information umfassen, die ausreichend ist, um die relevante Information zu identifizieren, wie beispielsweise Zahlen, beschreibender Text, Eigentumscodes, Zeiger, Referenzen zu Daten, die in anderen Speichern gespeichert sind, wie beispielsweise bei anderen Netzwerkstandorten, oder Information, die durch eine Funktion verwendet wird, um die relevanten Daten zu berechnen.
  • Die Computervorrichtung 110 kann bei einem Knoten eines Netzwerks 160 sein und dazu fähig sein, direkt und indirekt mit anderen Knoten des Netzwerks 160 zu kommunizieren. Obwohl in 1 nur einige Computervorrichtungen gezeigt sind, kann ein typisches System eine große Anzahl von verbundenen Computervorrichtungen enthalten, wobei jede unterschiedliche Computervorrichtung bei einem unterschiedlichen Knoten des Netzwerks 160 ist. Das Netzwerk 160 und dazwischenliegende Knoten, die hierin beschrieben sind, können unter Verwendung verschiedener Protokolle und Systeme miteinander verbunden sein, so dass das Netzwerk ein Teil des Internets, des Word Wide Web, spezifischer Intranets, Weitverkehrsnetze oder lokaler Netze sein kann. Das Netzwerk kann Standard-Kommunikationsprotokolle verwenden, wie beispielsweise Ethernet, Wi-Fi und HTTP, Protokolle, die Eigentum für eine oder mehrere Firmen sind, und verschiedene Kombinationen von dem Vorangehenden. Als ein Beispiel kann die Computervorrichtung 110 ein Web-Server sein, der mit der Computervorrichtung 120 über das Netzwerk 160 kommunizieren kann. Die Computervorrichtung 120 kann eine Client-Computervorrichtung sein und der Server 110 kann Information durch Verwenden des Netzwerks 160 anzeigen, um Information zu einem Anwender 135 der Vorrichtung 120 über eine Anzeige 122 zu übertragen und zu präsentieren. Obwohl bestimmte Vorteile erhalten werden, wenn Information gesendet oder empfangen wird, wie es oben angegeben ist, sind andere Aspekte des hierin beschriebenen Gegenstands nicht auf irgendeine bestimmte Art eines Sendens von Information beschränkt.
  • Die Computervorrichtung 120 kann gleich bzw. ähnlich dem Server 110 mit einem Prozessor, einem Speicher und Anweisungen, wie es oben beschrieben ist, konfiguriert sein. Die Computervorrichtung 120 kann eine Personalcomputervorrichtung sein, die zur Verwendung durch einen Anwender beabsichtigt ist, und alle der Komponenten haben, die normalerweise in Verbindung mit einer Personalcomputervorrichtung verwendet werden, wie beispielsweise eine zentrale Verarbeitungseinheit (CPU), einen Speicher, der Daten und Anweisungen speichert, eine Anzeige, wie beispielsweise die Anzeige 122 (z.B. ein Monitor mit einem Bildschirm, ein Berührungsbildschirm, ein Projektor, ein Fernsehgerät oder eine andere Vorrichtung, die betreibbar ist, um Information anzuzeigen), eine Anwendereingabevorrichtung 162 (z.B. eine Maus, eine Tastatur, ein Berührungsbildschirm, ein Mikrophon, etc.), und eine Kamera 163.
  • Die Computervorrichtung 120 kann auch eine mobile Computervorrichtung sein, die drahtlos Daten mit einem Server über ein Netzwerk, wie beispielsweise das Internet, austauschen kann. Anhand von nur einem Beispiel kann die Vorrichtung 120 ein Mobiltelefon oder eine Vorrichtung, wie beispielsweise ein drahtlosfähiger PDA, ein Tablet-PC, eine tragbare Computervorrichtung oder ein Netbook, das Information über das Internet erhalten kann, sein. Die Vorrichtung kann konfiguriert sein, um mit einem Betriebssystem zu arbeiten, wie beispielsweise dem Android-Betriebssystem von Google, Windows von Microsoft oder iOS von Apple. Diesbezüglich können einige der Anweisungen, die während der hierin beschriebenen Operationen ausgeführt werden, durch das Betriebssystem geliefert werden, während andere Anweisungen durch eine auf der Vorrichtung installierte Anwendung geliefert werden können. Computervorrichtungen gemäß den hierin beschriebenen Systemen und Verfahren können andere Vorrichtungen enthalten, die Anweisungen verarbeiten und Daten zu und von Menschen senden bzw. übertragen könne, und/oder anderen Computern, einschließlich Netzwerkcomputern, denen eine Fähigkeit für eine lokale Speicherung fehlt, und Digitalempfängern für Fernsehgeräte.
  • Die Computervorrichtung 120 kann eine Komponente 130 enthalten, wie beispielsweise Schaltungen, um den geographischen Standort und die Orientierung der Vorrichtung zu bestimmen. Beispielsweise kann die Client-Vorrichtung 120 einen GPS-Empfänger 131 enthalten, um den Breitengrad, den Längengrad und die Höhenlage der Vorrichtung zu bestimmen. Die Komponente kann auch Software zum Bestimmen der Position der Vorrichtung basierend auf anderen Signalen umfassen, die bei der Client-Vorrichtung 120 empfangen werden, wie beispielsweise Signalen, die bei einer Antenne eines Zellentelefons von einem oder mehreren Zellentelefontürmen empfangen werden, wenn die Client-Vorrichtung ein zellulares Telefon ist. Sie kann auch einen magnetischen Kompass 132, ein Akzelerometer 133 und ein Gyroskop 134 enthalten, um die Richtung zu bestimmen, in welcher die Vorrichtung orientiert ist. Nur anhand eines Beispiels kann die Vorrichtung ihr Nicken, Gieren oder Rollen (oder Änderungen daran) relativ zu der Richtung einer Schwerkraft oder einer Ebene senkrecht dazu bestimmen. Die Komponente 130 kann auch ein Laser-Entfernungsmesser oder eine ähnliche Vorrichtung zum Bestimmen der Entfernung zwischen der Vorrichtung und der Oberfläche eines Objekts enthalten.
  • Der Server 110 kann kartenbezogene Information speichern, von welcher wenigstens ein Teilbereich zu einer Client-Vorrichtung übertragen werden kann. Die Karteninformation ist nicht auf irgendein bestimmtes Format beschränkt. Beispielsweise können die Kartendaten Bitmap-Bilder von geographischen Standorten enthalten, wie beispielsweise Fotografien, die durch einen Satelliten oder Luftfahrzeuge erfasst sind.
  • Der Server 110 kann auch eine bildliche Darstellung speichern, wie beispielsweise, nur anhand eines Beispiels, eine flache Fotografie, eine Fotosphäre oder ein Video einer Szenerie. Die bildliche Darstellung kann durch Endanwender zu dem Zweck erfasst und hochgeladen werden, das Foto für einen späteren Zugriff verfügbar zu machen, oder für irgendjemanden, der nach Information in Bezug auf das Merkmal sucht. Zusätzlich zu den durch eine Kamera erfassten Bilddaten können individuelle Elemente einer bildliche Darstellung mit zusätzlichen Daten assoziiert sein, wie beispielsweise einem Datum einer Erfassung, einer Zeit oder eines Tages einer Erfassung, der geographischen Orientierung (z.B. Kamerawinkel oder -richtung) und Standort einer Erfassung (z.B. Breitengrad, Längengrad und Höhenlage).
  • Teilbereiche der bildlichen Darstellung können mit zusätzlicher Information assoziiert sein, einschließlich eines Modells des geographischen Standorts von Merkmalen, die innerhalb der bildlichen Darstellung erscheinen. Beispielsweise kann das Modell den Standort von Oberflächen von Objekten identifizieren, die in einem Panoramabild erfasst sind. Der Standort der Oberflächen kann in einem Speicher auf unterschiedliche Weisen gespeichert werden, z.B. einer Konstellation von Punkten, deren Standort als ein fester Winkel und Abstand von einem festen Standort (z.B. Orientierungen und Abstände von dem Punkt, von welchem aus die bildliche Darstellung erfasst wurde) definiert ist, oder geographisch lokalisierte Polygone, deren Eckpunkte in Breitengrad/Längengrad/Höhenlage-Koordinaten ausgedrückt sind. Das System und das Verfahren können weiterhin Standorte von einem Referenzsystem zu einem anderen umsetzen, wie beispielsweise ein Erzeugen eines Modells von geographisch lokalisierten Polygonen von einer Konstellation von Punkten, deren Standorte direkt erfasst wurden, mit der Verwendung eines Laser-Entfernungsmessers, oder erzeugt aus Bildern durch eine Verwendung einer stereographischen Dreiecksbildung. Standorte können auf andere Weisen ebenso gut ausgedrückt werden und hängen von der Art der Anwendung und einer erforderlichen Präzision ab. Nur anhand eines Beispiels können geographische Standorte durch eine Straßenadresse, x-y-Koordinaten relativ zu Rändern einer Karte (wie beispielsweise einer Pixel-Position relativ zum Rand einer Straßenkarte) oder andere Referenzsysteme, die geographische Standorte identifizieren können (z.B. Grundstücks- und Blocknummern auf Vermessungskarten), identifiziert werden. Ein Standort kann auch durch einen Bereich bzw. eine Entfernung beschrieben werden, z.B. kann ein geographischer Standort beschrieben werden durch einen Bereich bzw. eine Entfernung oder diskrete Reihen von Breitengrad/Längengrad/Höhenlage-Koordinaten.
  • Beispielhafte Verfahren
  • Operationen gemäß einer Vielfalt von Aspekten der Erfindung werden nun beschrieben werden. Es sollte verstanden werden, dass die folgenden Operationen nicht in der präzisen Reihenfolge durchgeführt werden müssen, die nachstehend beschrieben ist. Vielmehr können verschiedene Schritte in einer anderen Reihenfolge oder gleichzeitig gehandhabt werden.
  • Ein geographisches Objekt kann durch eine bildliche Darstellung unter mehreren Blickwinkeln erfasst werden. Anhand eines Beispiels zeigt 2 ein Auto 240, das in zwei separaten Bildern 215 und 225 jeweils von zwei unterschiedlichen Standorten 210 und 220 aus erfasst wurde. Unter dem Blickwinkel 210 ist der Kamerawinkel 211 zu einer Ebene 202, die allgemein durch die Vorderseite des Autos definiert ist, relativ orthogonal und ist der Kamerawinkel 212 zu einer Ebene 201, die allgemein durch die Seite des Autos definiert ist, relativ spitz. Gegensätzlich dazu ist unter dem Blickwinkel 220 der Blickwinkel 221 zu einer vorderen Ebene 202 relativ spitz und ist der Blickwinkel 222 zur Seitenebene 201 relativ orthogonal. (Bezugszeichen 201 und 202 werden austauschbar verwendet, um sich auf die vorderen und seitlichen Oberflächen des Autos 240 zu beziehen, sowie auf die Ebenen, die allgemein durch diese Oberflächen definiert sind.) Diesbezüglich erfassen die von den Standorten 210 und 220 aus erfassten Bilder unterschiedliche Oberflächen des Autos unter unterschiedlichen Winkeln, wobei eine Oberfläche relativ geradeaus erfasst wird und die andere unter einem spitzen Winkel erfasst wird.
  • Ein Modell des Standorts der Objektoberflächen, die in der bildlichen Darstellung erfasst sind, kann erzeugt werden und mit der bildlichen Darstellung assoziiert werden. Anhand eines Beispiels kann die bildliche Darstellung der Quelle ein Panoramabild enthalten. Zu der Zeit, zu der ein Quellenbild erfasst wurde, kann ein Laser-Entfernungsmesser 135 oder eine andere Tiefenbestimmungstechnik verwendet worden sein, um jedes Pixel des Panoramabilds mit der Entfernung von dem Erfassungsstandort zu dem Teilbereich einer Oberfläche zu assoziieren, deren visuelle Charakteristiken durch das Pixel dargestellt sind. Basierend auf solcher Information und dem Standort, von welchem aus das Bild erfasst wurde (z.B. Breitengrad/Längengrad/Höhenlage-Information, die durch einen GPS-Empfänger 131 geliefert ist), kann das System ein Quellenmodell erzeugen, das ein Gitter von Polygonen (z.B. Dreiecke) enthält, deren Eckpunkte dem Standort von Punkten entsprechen (z.B. Breitengrad/Längengrad/Höhenlage), und zwar entlang der Oberfläche des Objekts.
  • Die visuellen Charakteristiken, die im Quellenbild erfasst sind, können dazu verwendet werden, dass mit diesem Quellenbild assoziierte Modell zu texturieren. Beispielsweise kann jedes Pixel einer bildlichen Darstellung 215 und 216 auch mit einem Kamerawinkel assoziiert sein, z.B. Daten, die einen Strahl definieren, der sich von der Kamera zu dem Teilbereich der Oberfläche erstreckt, der mit dem Pixel assoziiert ist. Die Kamerawinkeldaten können auf Information basieren, die durch eine geographische Komponente 130 zu der Zeit geliefert ist, zu welcher das Bild erfasst wurde, wie beispielsweise die Himmelsrichtung, die durch den Kompass 132 geliefert ist, und Orientierungsdaten, die durch das Gyroskop 134 geliefert sind. Eine Strahlverfolgung kann verwendet werden, um die visuellen Charakteristiken von jedem Pixel des Bilds 215 auf die Polygone des Modells 216 zu projizieren, so dass die visuellen Charakteristiken des Polygons bei der Schnittstelle mit dem Strahl mit den visuellen Charakteristiken des assoziierten Pixels übereinstimmen.
  • Die visuelle Information der Polygone kann als Texturen gespeichert werden, die aus Texel gebildet sind. Nur anhand eines Beispiels können die Texel einer Textur auf eine Weise angeordnet werden, die ähnlich der Weise ist, auf welche Pixel eines Bilds angeordnet werden können, z.B. ein Gitter oder eine andere Sammlung von individuellen Einheiten, die eine oder mehrere visuelle Charakteristiken definieren. Teilbereiche der folgenden Beschreibung können sich der Einfachheit einer Erklärung halber nur auf eine einzelne visuelle Charakteristik eines Pixels oder Texels beziehen, wie beispielsweise Farbe. Jedoch können Pixel und Texel mit Daten assoziiert sein, die viele unterschiedliche visuelle Charakteristiken definieren, einschließlich eines Farbtons, einer Sättigung und einer Helligkeit.
  • Selbst wenn zwei unterschiedliche Quellenmodelle identische Darstellungen eines Standorts einer Oberfläche enthalten, können sich die visuellen Charakteristiken der Oberfläche in jedem Modell stark unterscheiden. Beispielsweise kann deshalb, weil eine bildliche Darstellung 215 die Seite 201 eines Autos 240 unter einem spitzen Winkel 212 erfasst, die gesamte Länge der Seite des Autos in nur einigen Pixeln eines Bilds 215 horizontal erscheinen. Als ein Ergebnis kann dann, wenn die Pixelinformation auf Polygone projiziert wird, die die Seite des Autos darstellen, sich die Information von einem einzigen Pixel über viele Texel in der horizontalen Richtung erstrecken. Wenn das Modell 216 unter dem Blickwinkel 230 angezeigt würde, kann die Seite des Autos somit derart erscheinen, dass sie als ein Ergebnis lange horizontale Farbstreifen hat. Wenn jedoch das Modell 216 unter dem Blickwinkel 210 angezeigt wird (demselben Standort, von welchem aus die Texturen projiziert wurden), könnte die Seite 201 des Autos 240 mit einigen oder keinen Filmfehlern angezeigt werden.
  • Das System kann visuelle Information, die unter mehreren Blickwinkeln erfasst ist, kombinieren, um ein geographisches Objekt unter noch einem anderen Blickwinkel anzuzeigen. Beispielsweise kann ein Anwender ein Bild 235 des Autos 240 unter einem Blickwinkel 230 anfragen. Wenn die visuellen Charakteristiken der Pixel des dem Anwender anzuzeigenden Bilds bestimmt werden ("angezeigte Pixel"), kann das System jedes angezeigte Pixel mit einem Strahl assoziieren, der sich vom Blickwinkel und durch eine Bildebene, die das Pixel enthält, erstreckt. Das System kann den Punkt und ein Texel bestimmen, bei welchem jeder mit einem Pixel assoziierte Strahl eine Oberfläche schneidet, die durch das Modell definiert ist. Beispielsweise kann das System, wenn die visuellen Charakteristiken eines Pixels im Bild 235 bestimmt werden, das Texel (T1) bestimmen, bei welchem der Strahl des Pixels ein Polygon eines Modells 216 schneidet, und das Texel (T2), bei welchem der Strahl des Pixels ein Polygon des Modells 226 schneidet. Das System kann die Farbe des Pixels durch eine Alpha-Vermischung der Farbe von T1 und der Farbe von T2 bestimmen.
  • Wenn die visuellen Charakteristiken der geschnittenen Texel miteinander vermischt sind, kann eine größere Gewichtung auf das Texel angewendet werden, das von einem Quellenbild abgeleitet ist, gegenüber einem Texel, das von einem anderen Quellenbild abgeleitet ist. Die Gewichtung kann auf der Wahrscheinlichkeit basieren, dass das Texel eine genaue Darstellung der visuellen Charakteristiken des anzuzeigenden Objekts ist.
  • Bei wenigstens einem Aspekt kann der Qualitätswert von der Auflösung der angezeigten Pixel relativ zu der Auflösung der Texel abhängen; es kann definiert werden, dass eine optimale Qualität auftritt, wenn es ein einziges Texel für jedes angezeigte Pixel gibt. Gegensätzlich dazu kann definiert werden, dass eine geringe Qualität auftritt, wenn es viele Texel gibt, die mit einem einzigen Pixel assoziiert sind, oder es viele Pixel gibt, die mit einem einzigen Texel assoziiert sind. Anhand eines Beispiels kann ein erstes Polygon erzeugt werden, bei welchem es ein einziges Texel für jedes Pixel gibt, das auf es projiziert ist. Wenn die Pixel auf das erste Polygon unter einem relativ geradeaus gerichteten Winkel projiziert wurden, kann die Textur viele dicht gepackte Texel enthalten. Wenn dieses Polygon in einer Richtung geradeaus angezeigt wird, kann es grob ein Texel für jedes angezeigte Pixel geben, und die Textur würde somit derart angesehen werden, dass sie eine relativ hohe Qualität hat. Wenn jedoch das Polygon unter einem spitzen Winkel angezeigt würde, kann es viele Texel für jedes angezeigte Pixel geben und würde die Textur derart angesehen werden, dass sie trotz der relativ hohen Auflösung der Textur eine relativ niedrige Qualität hat.
  • Anhand eines weiteren Beispiels kann ein zweites Polygon erzeugt werden, wobei es auch ein einziges Texel für jedes auf es projizierte Pixel gibt. Wenn jedoch die Pixel auf das zweite Polygon unter einem relativ spitzen Winkel projiziert würden, kann die Textur lange und dünne Texel enthalten. Wenn dieses Polygon dann geradeaus gerichtet angezeigt wird, würden viele angezeigte Pixel ihre Charakteristiken von nur einem einzigen Texel ableiten, in welchem Fall die Textur derart angesehen werden würde, dass sie eine relativ niedrige Qualität hat. Wenn jedoch das Polygon unter einem relativ spitzen Winkel angezeigt wird, kann es nur ein Texel für jedes angezeigte Pixel geben, in welchem Fall die Textur derart angesehen werden würde, dass sie trotz der relativ niedrigen Auflösung der Textur eine relativ hohe Qualität hat.
  • Der Qualitätswert eines Texels kann basierend auf dem Standort der anwenderdefinierten und Erfassungs-Blickwinkel relativ zu der Orientierung der anzuzeigenden Oberfläche berechnet werden. Anhand einer Darstellung kann ein Punkt 320 der 3 der geographische Standort sein, von welchem aus ein geographisch lokalisiertes Polygon eines Modells angeschaut werden wird. Der Punkt 330 ist der Punkt, bei welchem der Kamerawinkel, der mit einem angezeigten Pixel assoziiert ist, das Polygon schneidet. Eine Linie "s" erstreckt sich vom Blickwinkel 320 zur Schnittstelle 330. Ein Konus 350 erstreckt sich vom Punkt 320 unter einem spitzen festen Winkel ("α") nach außen. Das Maß von α kann beliebig ausgewählt werden. Das Maß von α kann auch so ausgewählt werden, dass der Konus einen ähnlichen bzw. gleichen festen Winkel wie das Texel zur Verfügung stellt, wie es von dem Standort aus gesehen wird, von welchem die Textur erfasst wurde, z.B. je höher die Texturauflösung ist, umso kleiner ist der Konus. Eine Ellipse 310 stellt die Schnittstelle des Konus 350 und einer Ebene (nicht gezeigt) dar. Die Ebene reflektiert die Orientierung der Oberfläche bei der Schnittstelle, z.B. eine Ebene, die durch die Eckpunkte des Polygons definiert ist, das die Schnittstelle 330 enthält.
  • Das Ausmaß, bis zu welchem die Ellipse gestreckt ist, bezieht sich auf die Orientierung der Oberfläche und den Blickwinkel. Wenn beispielsweise die Linie "s" perfekt orthogonal zur Orientierung der Ebene ist (welche mit einem Anschauen der Oberfläche in gerader Richtung assoziiert sein würde), würde die Ellipse 310 ein perfekter Kreis sein. Wenn der feste Winkel von der Linie "s" relativ zur Orientierung der Ebene spitzer wird, wird die Ellipse 310 mehr gestreckt und wird sich das Verhältnis der Hauptachse der Ellipse ("b") relativ zur kleineren Achse ("a") erhöhen, wobei "n" die Oberflächennormale ist. Die Achsen "a" und "b" können aus der Gleichung a = αs × n und b = (n·s/|s|)(a × n) bestimmt werden.
  • Der Qualitätswert eines Texels kann basierend auf den Unterschieden zwischen der Ellipse, die mit einem Konus assoziiert ist, der sich vom Erfassungsstandort zur Schnittstelle erstreckt, (der "Texel-Ellipse") und der Ellipse, die mit einem Konus assoziiert ist, der sich vom Standort aus, der durch den Anwender ausgewählt ist, zur Schnittstelle erstreckt, (der "Pixel-Ellipse") bestimmt werden. In 4 ist die Texel-Ellipse 425 mit dem Erfassungsstandort 420 assoziiert und ist die Pixel-Ellipse 435 mit einem vom Anwender angefragten Blickwinkel 430 assoziiert. Der Qualitätswert der Texels bei der Schnittstelle 450 kann aus dem Verhältnis des Radius der Pixel-Ellipse relativ zum Radius der Texel-Ellipse unter einem bestimmten Winkel θ berechnet werden, z.B. Qualität(θ) = Radiust(θ)/Radiusp(θ). Bei einem Aspekt ist der Winkel θ der Winkel oder eine Schätzung des Winkels, der oder die das minimale Verhältnis ergibt. Beispielsweise kann der Qualitätswert bei unterschiedlichen Werten von θ berechnet werden und kann der Qualitätswert des Texels gleich dem niedrigsten der berechneten Werte sein, z.B. Qualitätmin = Qualität (argminθ{Qualität(θ)}). Das Minimum kann durch Ausdrücken von beiden Ellipsen in Matrixform und Multiplizieren der Pixel-Ellipse mit dem Inversen der Texel-Ellipse bestimmt werden, was die Pixel-Ellipse in ein Koordinatensystem abbildet, bei welchem die Texel-Ellipse ein Einheitskreis sein würde. Innerhalb dieses Koordinatensystems ist das Verhältnis gleich dem neu abgebildeten Radius der Pixel-Ellipse und ist das minimale Verhältnis gleich der kleineren Achsenlänge der neu abgebildeten Pixel-Ellipse.
  • Der Qualitätswert kann durch Projizieren von jeder der Texel-Ellipsenachsen auf jede der Pixel-Ellipsenachsen geschätzt werden, und durch Auswählen der Pixel-Ellipsenachse, die das größte Verhältnis ergibt. Anhand eines Beispiels kann ein Schattierer den minimalen Qualitätswert durch Berechnen von Werten gemäß der Gleichung Qualitätmin ~1/max((at·ap)/(ap·ap), (bt·ap)/(ap·ap), (at·bp)/(bp·bp), (bt·bp)/(bp·bp)) approximieren, die vier mögliche Richtungen abtastet und den Winkel auswählt, der mit dem niedrigsten Qualitätswert assoziiert ist. Andere Verfahren können auch verwendet werden, um die Qualität zu berechnen.
  • Wenn einmal die Qualität eines Texels berechnet worden ist, kann die Qualität dazu verwendet werden, zu bestimmen, wie ähnlich die angezeigte Farbe eines Pixels der Farbe eines Texels sein wird. Wenn beispielsweise drei Quellenbilder verwendet würden, um drei Texel T1, T2 und T3 zu identifizieren, kann die Vermischungsgewichtung für jedes Texel in einem Fragment-Schattierer für jedes eingegebene Texel und eine Ausgabe (w1T1 + w2T2 + w3T3)/(w1 + w2 + w3) berechnet werden, wobei wn gleich dem Qualitätswert des Texels ist. Die Gewichtungen können auch auf andere Weisen angewendet werden, wie beispielsweise durch Erhöhen der Qualitätswerte zu einer Potenz. Beispielsweise kann durch Erhöhen der Gewichtungen um einen großen Exponenten die Oberfläche mit der größten Gewichtung die anderen Gewichtungen dominieren, um dadurch ein Bilden von Geisterbildern bzw. ein Schablonieren durch Reduzieren des Einflusses der Texel mit den niedrigeren Gewichtungen zu reduzieren.
  • Das System kann auch Gewichtungswerte verwenden, um eine Verdeckung zu adressieren, wie es anhand eines Beispiels in 5 gezeigt ist. Oberflächen 502 und 503 wurden in einem Bild 520 unter einem Blickwinkel A erfasst und Oberflächen 501 und 503 wurden in einem Bild 530 unter einem Blickwinkel B erfasst. Ein Modell 521 und 531 kann jeweils für jedes Bild 520 und 531 erzeugt worden sein. Wenn das Modell erzeugt wird, kann das Modell die Textur mit einer spezifischen Seite des Polygons assoziieren. Beispielsweise kann die Oberfläche 502 in einem Modell 521 durch ein einziges Dreieck dargestellt sein, wobei eine Seite in Richtung zum Blickwinkel A gerichtet ist und die andere Seite weg vom Blickwinkel A gerichtet ist. Wenn die Bilddaten auf das Modell projiziert werden, kann das Modell anzeigen, ob die Textur auf der Seite des Dreiecks ist, die in Richtung zum Blickwinkel gerichtet ist.
  • Wenn das angefragte Bild erzeugt wird, kann eine verdeckte Oberfläche versteckt werden durch Bestimmen, ob ihre assoziierte Textur in Richtung zu oder weg vom angefragten Blickwinkel gerichtet ist, und durch Bestimmen, ob die Textur näher zum Blickwinkel als andere Texturen im selben Modell ist. Beispielsweise kann das System, wenn die Farbe eines angezeigten Pixels unter einem Blickwinkel 540 bestimmt wird, alle der Punkte identifizieren, bei welchen der mit dem Pixel assoziierte Strahl 550 jede Oberfläche schneidet, nämlich die Punkte 511513. Das System kann auch für jedes Modell das geschnittene Texel bestimmen, das am nächsten zum Blickwinkel ist, und ob die Textur der geschnittenen Textur auf der Seite des Polygons in Richtung zu ("nach vorn gerichtet") oder weg von ("nach hinten gerichtet") dem Blickwinkel ist. Somit kann das System bestimmen, dass T511B das nächste Texel im Modell 531 ist und nach vorn gerichtet (wobei sich "Tpppm" auf das Texel bezieht, das bei dem Punkt einer Schnittstelle ppp ist und in dem mit dem Blickwinkel m assoziierten Modell gespeichert ist). Das System kann auch bestimmen, dass T512A das nächste Texel im Modell 521 ist und nach hinten gerichtet ist. Weil T512A nach hinten gerichtet ist, kann das System seine Gewichtung automatisch auf null einstellen. Als ein Ergebnis kann die Farbe des Pixels, das mit dem Strahl 550 assoziiert ist, bestimmt werden durch (w511BT511B + w512AT512A)/(w511B + w512A), wobei w511B der Qualitätswert ist, der für T511B bestimmt ist, und wobei w512A auf null eingestellt ist. Als ein Ergebnis würde die Farbe des angezeigten Pixels dieselbe wie T511B sein.
  • Alternativ dazu können, eher als ein Ignorieren von bestimmten Texturen oder ein Einstellen ihrer Gewichtungen auf null, ihre relativen Gewichtungen reduziert werden. Beispielsweise können, eher als ein Einstellen von w512A auf null und ein Ignorieren von T513A und T513B allen miteinander, die nach hinten gerichteten Texel und andere Texel auch zum Vermischen verwendet werden, aber mit reduzierten Gewichtungen.
  • Filmfehler können auch mit Gewichtungswerten adressiert werden, einschließlich Filmfehlern, die durch Diskontinuitäten bezüglich Tiefendaten verursacht sind. Beispielsweise und wie es in 6 gezeigt ist, kann ein Modell 621 mit dem Bild assoziiert sein, das von einem Standpunkt 620 erfasst ist, und kann ein Modell 631 mit einem Bild assoziiert sein, das von einem Standpunkt 630 erfasst ist. Die Lücke 603 zwischen einer Oberfläche 601 und 602 kann in dem Modell 621 genau dargestellt werden. Jedoch kann eine Ungenauigkeit, die aus den Tiefendaten entsteht, die zur Zeit einer Erfassung ausgelesen werden, oder irgendein anderer Fehler, der während einer Erzeugung des Modells 631 auftrat, darin resultieren, dass das Modell 631 unrichtig anzeigt, dass eine Oberfläche 635 sich über den Spalt 603 erstreckt. Wenn das Modell 631 unter dem Blickwinkel 640 angeschaut würde, kann eine äußere Oberfläche 635 das Erscheinungsbild eines Gummibogens haben, der von einem Rand des Spalts zum anderen gestreckt ist. Bei einigen Aspekten kann das System auf äußere Polygone prüfen und diese entfernen durch ein Vergleichen des Modells 621 mit dem Modell 631.
  • Bei anderen Aspekten kann das System die äußeren Oberflächen verwenden, wenn ein Bild zur Anzeige erzeugt wird. Beispielsweise kann ein Anwender ein Bild anfordern bzw. anfragen, das die Oberflächen unter einem Blickwinkel 640 anzeigt. Wenn der Beitrag des Modells 621 zu der Farbe des Pixels bestimmt wird, das mit dem Strahl 641 assoziiert ist, kann das System einen Punkt A auf der Oberfläche 601 als den ersten Anweisungspunkt identifizieren. Das System kann auch bestimmen, dass das Texel beim Punkt A einen relativ hohen Qualitätswert hat, weil das Texel unter einem Winkel angeschaut wird, der gleich dem Winkel ist, unter welchem es erfasst wurde (Standort 620). Wenn der Beitrag des Modells 631 zu der Farbe des Pixels bestimmt wird, kann das System einen Punkt B an einer äußeren Oberfläche 635 als die erste Schnittstelle identifizieren. Das System kann bestimmen, dass das Texel bei dem Punkt B einen relativ niedrigen Qualitätswert hat, weil das Texel unter einem Winkel angeschaut wird, der relativ orthogonal zu dem Winkel ist, unter welchem es erfasst wurde (Standort 630). Als ein Ergebnis wird dann, wenn die Texel bei den Punkten A und B miteinander vermischt werden, eine relativ geringe Gewichtung auf das Texel beim Punkt B angewendet werden; die Farbe des Pixels wird nahezu gänzlich auf der Farbe des Punkts A auf der Oberfläche 601 basieren.
  • Unter bestimmten Winkeln können die äußeren Oberflächen einen signifikanten Beitrag zu den visuellen Charakteristiken des anzuzeigenden Bilds haben. Beispielsweise kann ein Anwender ein Bild unter einem Blickwinkel 650 anfordern, welcher relativ nahe zum Erfassungsstandort 630 des Modells 631 ist. Wenn der Beitrag des Modells 631 zur Farbe des Pixels bestimmt wird, das mit dem Strahl 641 assoziiert ist, kann das System einen Punkt C auf der äußeren Oberfläche 635 als die erste Schnittstelle identifizieren und kann weiterhin bestimmen, dass das Texel beim Punkt C des Modells 631 einen relativ hohen Qualitätswert hat. Wenn der Beitrag des Modells 621 zur Farbe desselben Pixels bestimmt wird, kann das System keine Schnittstelle identifizieren, wenn die Oberfläche 602 nicht durch das Modell dargestellt ist. Alternativ dazu kann dann, wenn die Oberfläche 602 durch das Modell dargestellt ist, der Qualitätswert des Texels bei der Schnittstelle im Modell 621 relativ niedrig sein, weil der Winkel von der Schnittstelle zum Blickwinkel 650 relativ orthogonal zum Winkel von der Schnittstelle zum Erfassungsstandort 620 ist. In jedem Fall und als ein Ergebnis kann die Farbe des angezeigten Pixels im Wesentlichen dieselbe wie das Texel der äußeren Oberfläche sein. Dies kann besonders vorteilhaft sein, wenn das Modell 621 keine Darstellung der Oberfläche 602 hat, da ein Anzeigen der äußeren Oberfläche 635 einem Anzeigen von nichts bevorzugt sein kann (z.B. eine Farbe, die die Abwesenheit einer Oberfläche anzeigt).
  • Anwender können das System verwenden und mit den Modellen interagieren. Nur anhand eines Beispiels und unter Bezugnahme auf 1 kann der Anwender 135 eine Kamera 163 und eine geographische Komponente 130 der Client-Vorrichtung 120 verwenden, um Bilddaten und Tiefendaten unter mehreren Blickwinkeln zu erfassen. Der Anwender 135 kann das Bild und Tiefendaten zum Server 110 hochladen. Der Prozessor 112 kann ein texturiertes Modell für jedes Bild basierend auf den Daten erzeugen, die durch den Anwender geliefert sind, und die Daten im Speicher 114 speichern. Der Server 110 kann dann eine Anfrage für ein Bild des Objekts unter einem spezifischen Blickwinkel empfangen. Beispielsweise kann ein Anwender 135 (oder ein anderer Anwender unter Verwendung der Client-Vorrichtung 121) ein Panoramabild bei einem spezifischen geographischen Standort durch Auswählen des geographischen Standorts mit einer Anwendereingabe 162 und durch Senden einer Anfrage zum Server 110 anfordern. Auf ein Empfangen der Anforderung hin kann der Server 110 zwei oder mehr Modelle basierend auf dem angeforderten geographischen Standort auslesen, wie beispielsweise durch Auswählen von allen oder einer beschränkten Anzahl der Modelle, die Standorte oder Oberflächenstandorte innerhalb einer Schwellenentfernung vom angeforderten geographischen Standort haben. Der Server kann dann die Modelle über ein Netzwerk 160 zur Client-Vorrichtung 120 senden. Auf ein Empfangen der Modelle hin kann der Prozessor der Client-Vorrichtung 120 ein Panoramabild basierend auf den Modellen und unter Verwendung des angefragten geographischen Standorts als den Blickwinkel erzeugen. Wenn der angefragte geographische Standort keine Höhenlage enthielt, kann die Höhenlage des Blickwinkels auf den Höhenlagen der Erfassungsstandorte der Modelle basieren.
  • Das Panoramabild kann auf der Anzeige 122 angezeigt werden. Beispielsweise und unter Bezugnahme auf die 2 und 7 kann dann, wenn die Modelle 216 und 226 eines Autos 240 zur Client-Vorrichtung gesendet würden, ein Bild 710 des Autos 240 basierend auf einem Blickwinkel 230 erzeugt und dem Anwender angezeigt werden. Der Anwender kann andere Blickwinkel auswählen, die unterschiedlich von den Erfassungsstandorten sind, durch Liefern von Befehlen für die Anwenderschnittstelle der Client-Vorrichtung, z.B. Drücken von Knöpfen, um das Bild zu schwenken.
  • 8 ist ein Ablaufdiagramm gemäß einigen der oben beschriebenen Aspekte. Bei einem Block 801 wird auf ein Modell der Oberfläche eines Objekts zugegriffen, enthaltend: die Orientierung der Oberfläche eines Objekts relativ zu einem ersten Blickwinkel und einem zweiten Blickwinkel; eine erste Gruppe von visuellen Charakteristiken, die das Erscheinungsbild der Oberfläche unter einem ersten Blickwinkel darstellen; und eine zweite Gruppe von visuellen Charakteristiken, die das Erscheinungsbild der Oberfläche unter einem zweiten Blickwinkel darstellen. Bei einem Block 802 wird eine Anfrage für ein Bild des Objekts unter einem angefragten Blickwinkel empfangen, der unterschiedlich von dem ersten Blickwinkel und dem zweiten Blickwinkel ist. Bei einem Block 803 wird eine erste visuelle Charakteristik aus der ersten Gruppe von visuellen Charakteristiken identifiziert und wird eine zweite visuelle Charakteristik aus der zweiten Gruppe von visuellen Charakteristiken identifiziert. Bei einem Block 804 wird ein erster Gewichtungswert für die erste visuelle Charakteristik basierend auf der Orientierung der Oberfläche relativ zu dem angefragten Blickwinkel und dem ersten Blickwinkel bestimmt. Bei einem Block 805 wird ein zweiter Gewichtungswert für die zweite visuelle Charakteristik basierend auf der Orientierung der Oberfläche relativ zu dem angefragten Blickwinkel und dem zweiten Blickwinkel bestimmt. Bei einem Block 806 wird eine visuelle Charakteristik des angefragten Bildes basierend auf den ersten und zweiten visuellen Charakteristiken und den ersten und zweiten Gewichtungswerten bestimmt. Bei einem Block 807 wird das angefragte Bild zur Anzeige zum Anwender geliefert.
  • Da diese und andere Variationen und Kombinationen der oben diskutierten Merkmale verwendet werden können, ohne von der Erfindung abzuweichen, wie sie durch die Ansprüche definiert ist, sollte die vorangehende Beschreibung der Ausführungsformen eher anhand einer Darstellung genommen werden, als anhand einer Beschränkung der Erfindung, wie sie durch die Ansprüche definiert ist. Es wird auch verstanden werden, dass das Vorsehen von Beispielen der Erfindung (sowie Halbsätze, die formuliert sind als "wie beispielsweise", "z.B.", "einschließlich" und ähnlich) nicht als die Erfindung auf die spezifischen Beispiele beschränkend interpretiert werden sollten; vielmehr sind die Beispiele dafür beabsichtigt, nur einige oder viele mögliche Aspekte darzustellen.

Claims (20)

  1. System, umfassend: einen oder mehrere Prozessoren, einen Speicher, der ein Modell der Orientierung und visueller Charakteristiken der Oberfläche eines Objekts relativ zu Blickwinkeln speichert, wobei die visuellen Charakteristiken eine erste Gruppe von visuellen Charakteristiken umfassen, die das Erscheinungsbild der Oberfläche unter einem ersten Blickwinkel darstellen, und eine zweite Gruppe von visuellen Charakteristiken, die das Erscheinungsbild der Oberfläche unter einem zweiten Blickwinkel darstellen, und Anweisungen, die durch den einen oder die mehren Prozessoren ausführbar sind, umfassend: Empfangen einer Anfrage für ein Bild des Objekts unter einem angefragten Blickwinkel, der unterschiedlich von dem ersten Blickwinkel und dem zweiten Blickwinkel ist; Identifizieren einer ersten visuellen Charakteristik aus der ersten Gruppe von visuellen Charakteristiken und einer zweiten visuellen Charakteristik aus der zweiten Gruppe von visuellen Charakteristiken, Bestimmen eines ersten Gewichtungswerts für die erste visuelle Charakteristik basierend auf der Orientierung der Oberfläche relativ zu dem angefragten Blickwinkel und dem ersten Blickwinkel, Bestimmen eines zweiten Gewichtungswerts für die zweite visuelle Charakteristik basierend auf der Orientierung der Oberfläche relativ zu dem angefragten Blickwinkel und dem zweiten Blickwinkel, Bestimmen einer visuellen Charakteristik des angefragten Bildes basierend auf den ersten und zweiten visuellen Charakteristiken und den ersten und zweiten Gewichtungswerten; und Liefern des angefragten Bildes.
  2. System nach Anspruch 1, wobei die Anfrage von einem Anwender empfangen wird und ein Liefern des angefragten Bildes ein Anzeigen des angefragten Bildes zum Anwender umfasst.
  3. System nach Anspruch 1, wobei ein Bestimmen einer visuellen Charakteristik des angefragten Bildes ein Bestimmen einer visuellen Charakteristik umfasst, die ähnlicher der ersten Charakteristik als der zweiten Charakteristik ist, und das Maß an Ähnlichkeit auf dem ersten Gewichtungswert relativ zum zweiten Gewichtungswert basiert.
  4. System nach Anspruch 3, wobei: das Modell, das im Speicher gespeichert ist, ein erstes Modell und ein zweites Modell umfasst; die erste Gruppe von visuellen Charakteristiken Texel sind, die durch Projizieren von Bilddaten, die von dem ersten Blickwinkel aus erfasst sind, auf das erste Modell erzeugt sind; und die zweite Gruppe von visuellen Charakteristiken Texel sind, die durch Projizieren von Bilddaten, die von dem zweiten Blickwinkel aus erfasst sind, auf das zweite Modell erzeugt sind.
  5. System nach Anspruch 1, wobei die visuellen Charakteristiken mit Farben assoziiert sind und wobei ein Bestimmen einer visuellen Charakteristik des angefragten Bildes ein Bestimmen einer Farbe durch eine Alpha-Vermischung proportional zu dem ersten Gewichtungswert relativ zum zweiten Gewichtungswert, einer Farbe, die mit der ersten visuellen Charakteristik assoziiert sind, und eine Farbe, die mit der zweiten visuellen Charakteristik assoziiert ist, umfasst.
  6. System nach Anspruch 1, wobei die Orientierung der Oberfläche eine Ebene definiert, und: die Anweisungen weiterhin ein Auswählen eines Punkts auf der Ebene umfassen; ein Bestimmen eines ersten Gewichtungswerts ein Bestimmen eines Werts basierend auf der Beziehung des festen Winkels zwischen der Ebene und einer Linie, die sich vom ersten Blickwinkel zum ausgewählten Punkt erstreckt, und des festen Winkels zwischen der Ebene und einer Linie, die sich vom angefragten Blickwinkel zum ausgewählten Punkt erstreckt, umfasst; und ein Bestimmen eines zweiten Gewichtungswerts ein Bestimmen eines Werts basierend auf der Beziehung des festen Winkels zwischen der Ebene und einer Linie, die sich vom zweiten Blickwinkel zum ausgewählten Punkt erstreckt, und des festen Winkels zwischen der Ebene und einer Linie, die sich vom angefragten Blickwinkel zum ausgewählten Punkt erstreckt, umfasst.
  7. System nach Anspruch 6, wobei die Anweisungen weiterhin ein Auswählen eines Pixels des angefragten Bilds und ein Bestimmen einer Richtung, die mit dem ausgewählten Pixel assoziiert ist, umfassen, und wobei: ein Auswählen eines Punkts auf der Ebene ein Auswählen des Punkts umfasst, bei welchem die Richtung, die mit dem Pixel assoziiert ist, die Ebene schneidet; und ein Bestimmen einer visuellen Charakteristik des angefragten Bildes ein Bestimmen einer visuellen Charakteristik des ausgewählten Pixels umfasst.
  8. System nach Anspruch 6, wobei ein Bestimmen eines ersten Gewichtungswerts ein Bestimmen eines Werts basierend auf einem Radius einer ersten Ellipse und eines entsprechenden Radius der zweiten Ellipse umfasst, wobei die erste Ellipse durch die Schnittstelle der Ebene und eines Konus definiert ist, der um die Linie zentriert ist, die sich vom ersten Blickwinkel zum ausgewählten Punkt erstreckt, und wobei die zweite Ellipse durch die Schnittstelle der Ebene und eines Konus definiert ist, der um die Linie zentriert ist, die sich vom angefragten Blickwinkel zum ausgewählten Punkt erstreckt.
  9. System nach Anspruch 8, wobei ein Bestimmen eines ersten Gewichtungswerts weiterhin ein Bestimmen eines Verhältnisses basierend auf einer Schätzung des Radius der ersten Ellipse relativ zu einer Schätzung des Radius der zweiten Ellipse unter einem ausgewählten Winkel umfasst.
  10. Verfahren zum Liefern eines Bilds zur Anzeige, umfassend: Empfangen einer Anfrage für ein Bild eines Objekts von einem angefragten Blickwinkel aus; Zugreifen auf ein Modell der Orientierung und visueller Charakteristiken der Oberfläche des Objekts relativ zu Blickwinkeln, wobei die visuellen Charakteristiken eine erste Gruppe von visuellen Charakteristiken umfassen, die das Erscheinungsbild der Oberfläche von einem ersten Blickwinkel aus darstellen, und eine zweite Gruppe von visuellen Charakteristiken, die das Erscheinungsbild der Oberfläche von einem zweiten Blickwinkel aus darstellen, und wobei der erste und der zweite Blickwinkel unterschiedlich vom angefragten Blickwinkel sind; Identifizieren einer ersten visuellen Charakteristik aus der ersten Gruppe von visuellen Charakteristiken und einer zweiten visuellen Charakteristik aus der zweiten Gruppe von visuellen Charakteristiken, Bestimmen eines ersten Gewichtungswerts für die erste visuelle Charakteristik basierend auf der Orientierung der Oberfläche relativ zu dem angefragten Blickwinkel und dem ersten Blickwinkel, Bestimmen eines zweiten Gewichtungswerts für die zweite visuelle Charakteristik basierend auf der Orientierung der Oberfläche relativ zu dem angefragten Blickwinkel und dem zweiten Blickwinkel, Bestimmen einer visuellen Charakteristik des angefragten Bildes basierend auf den ersten und zweiten visuellen Charakteristiken und auf den ersten und zweiten Gewichtungswerten; und Liefern des angefragten Bildes zur Anzeige.
  11. Verfahren nach Anspruch 10, wobei die Anfrage von einem Anwender empfangen wird und ein Liefern des angefragten Bilds ein Anzeigen des angefragten Bilds zum Anwender umfasst.
  12. Verfahren nach Anspruch 10, wobei ein Bestimmen einer visuellen Charakteristik des angefragten Bildes ein Bestimmen einer visuellen Charakteristik umfasst, die ähnlicher zu der ersten Charakteristik als der zweiten Charakteristik ist, und das Ähnlichkeitsausmaß auf dem ersten Gewichtungswert relativ zum zweiten Gewichtungswert basiert.
  13. Verfahren nach Anspruch 12, wobei: das Modell ein erstes Modell und ein zweites Modell umfasst; die erste Gruppe von visuellen Charakteristiken Texel sind, die durch Projizieren von Bilddaten, die vom ersten Blickwinkel aus erfasst sind, auf das erste Modell erzeugt sind; und die zweite Gruppe von visuellen Charakteristiken Texel sind, die durch Projizieren von Bilddaten, die von einem zweiten Blickwinkel aus erfasst sind, auf das zweite Modell erzeugt sind.
  14. Verfahren nach Anspruch 10, wobei die visuellen Charakteristiken mit Farben assoziiert sind und wobei ein Bestimmen einer visuellen Charakteristik des angefragten Bilds ein Bestimmen einer Farbe durch eine Alpha-Vermischung proportional zum ersten Gewichtungswert relativ zum zweiten Gewichtungswert, einer Farbe, die mit der ersten visuellen Charakteristik assoziiert ist, und einer Farbe, die mit der zweiten visuellen Charakteristik assoziiert ist, umfasst.
  15. Verfahren nach Anspruch 10, wobei die Orientierung der Oberfläche eine Ebene definiert, und weiterhin umfassend: Auswählen eines Punkts auf der Ebene; ein Bestimmen eines ersten Gewichtungswerts ein Bestimmen eines Werts basierend auf der Beziehung des festen Winkels zwischen der Ebene und einer Linie, die sich vom ersten Blickwinkel zum ausgewählten Punkt erstreckt, und des festen Winkels zwischen der Ebene und einer Linie, die sich vom angefragten Blickwinkel zum ausgewählten Punkt erstreckt, umfasst; und ein Bestimmen eines zweiten Gewichtungswerts ein Bestimmen eines Werts basierend auf der Beziehung des festen Winkels zwischen der Ebene und einer Linie, die sich vom zweiten Blickwinkel zum ausgewählten Punkt erstreckt, und des festen Winkels zwischen der Ebene und einer Linie, die sich vom angefragten Blickwinkel zum ausgewählten Punkt erstreckt, umfasst.
  16. Verfahren nach Anspruch 15, das weiterhin ein Auswählen eines Pixels des angefragten Bilds und ein Bestimmen einer Richtung, die mit dem ausgewählten Pixel assoziiert ist, umfasst, und wobei: ein Auswählen eines Punkts auf der Ebene ein Auswählen des Punkts umfasst, bei welchem die Richtung, die mit dem Pixel assoziiert ist, die Ebene schneidet; und ein Bestimmen einer visuellen Charakteristik des angefragten Bilds ein Bestimmen einer visuellen Charakteristik des ausgewählten Pixels umfasst.
  17. Nichtflüchtiges computervorrichtungslesbares Speichermedium, auf welchem computervorrichtungslesbare Anweisungen eines Programms gespeichert sind, wobei die Anweisungen dann, wenn sie durch eine oder mehrere Computervorrichtungen ausgeführt werden, veranlassen, dass die eine oder die mehrere Computervorrichtungen ein Verfahren durchführen, wobei das Verfahren umfasst: Empfangen einer Anfrage für ein Bild eines Objekts von einem angefragten Blickwinkel aus; Zugreifen auf ein Modell der Orientierung und visueller Charakteristiken der Oberfläche des Objekts relativ zu Blickwinkeln, wobei die visuellen Charakteristiken eine erste Gruppe von visuellen Charakteristiken umfassen, die das Erscheinungsbild der Oberfläche von einem ersten Blickwinkel aus darstellen, und eine zweite Gruppe von visuellen Charakteristiken, die das Erscheinungsbild der Oberfläche von einem zweiten Blickwinkel aus darstellen, und wobei die ersten und zweiten Blickwinkel unterschiedlich vom angefragten Blickwinkel sind; Identifizieren einer ersten visuellen Charakteristik aus der ersten Gruppe von visuellen Charakteristiken und einer zweiten visuellen Charakteristik aus der zweiten Gruppe von visuellen Charakteristiken, Bestimmen eines ersten Gewichtungswerts für die erste visuelle Charakteristik basierend auf der Orientierung der Oberfläche relativ zu dem angefragten Blickwinkel und dem ersten Blickwinkel, Bestimmen eines zweiten Gewichtungswerts für die zweite visuelle Charakteristik basierend auf der Orientierung der Oberfläche relativ zu dem angefragten Blickwinkel und dem zweiten Blickwinkel, Bestimmen einer visuellen Charakteristik des angefragten Bilds basierend auf den ersten und zweiten visuellen Charakteristiken und den ersten und zweiten Gewichtungswerten; und Liefern des angefragten Bilds zur Anzeige.
  18. Speichermedium nach Anspruch 17, wobei die Anfrage von einem Anwender empfangen wird und ein Liefern des angefragten Bilds ein Anzeigen des angefragten Bilds zum Anwender umfasst.
  19. Speichermedium nach Anspruch 17, wobei ein Bestimmen einer visuellen Charakteristik des angefragten Bilds ein Bestimmen einer visuellen Charakteristik umfasst, die ähnlicher zu der ersten Charakteristik als der zweiten Charakteristik ist, und das Ähnlichkeitsmaß auf dem ersten Gewichtungswert relativ zum zweiten Gewichtungswert basiert.
  20. Speichermedium nach Anspruch 19, wobei: das Modell ein erstes Modell und ein zweites Modell umfasst; die erste Gruppe von visuellen Charakteristiken Texel sind, die durch Projizieren von Bilddaten, die von dem ersten Blickwinkel aus erfasst sind, auf das erste Modell erzeugt sind; und die zweite Gruppe von visuellen Charakteristiken Texel sind, die durch Projizieren von Bilddaten, die von einem zweiten Blickwinkel aus erfasst sind, auf das zweite Modell erzeugt sind.
DE112016003134.3T 2015-10-07 2016-10-04 Anzeigen von Objekten basierend auf einer Vielzahl von Modellen Pending DE112016003134T5 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/877,368 US9773022B2 (en) 2015-10-07 2015-10-07 Displaying objects based on a plurality of models
US14/877,368 2015-10-07
PCT/US2016/055323 WO2017062357A1 (en) 2015-10-07 2016-10-04 Displaying objects based on a plurality of models

Publications (1)

Publication Number Publication Date
DE112016003134T5 true DE112016003134T5 (de) 2018-03-29

Family

ID=57218984

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112016003134.3T Pending DE112016003134T5 (de) 2015-10-07 2016-10-04 Anzeigen von Objekten basierend auf einer Vielzahl von Modellen

Country Status (8)

Country Link
US (5) US9773022B2 (de)
EP (1) EP3304497A1 (de)
JP (4) JP6571262B2 (de)
KR (3) KR102340678B1 (de)
CN (2) CN114898025A (de)
DE (1) DE112016003134T5 (de)
GB (2) GB2556511B (de)
WO (1) WO2017062357A1 (de)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9691241B1 (en) * 2012-03-14 2017-06-27 Google Inc. Orientation of video based on the orientation of a display
US9773022B2 (en) * 2015-10-07 2017-09-26 Google Inc. Displaying objects based on a plurality of models
CN108921191B (zh) * 2018-05-25 2021-10-26 北方工业大学 基于图像质量评估的多生物特征融合识别方法
US11284054B1 (en) * 2018-08-30 2022-03-22 Largo Technology Group, Llc Systems and method for capturing, processing and displaying a 360° video
CN112583900B (zh) * 2020-12-02 2023-04-07 深圳市互盟科技股份有限公司 云计算的数据处理方法及相关产品
US11756261B2 (en) * 2021-11-10 2023-09-12 Ford Global Technologies, Llc Single-perspective image relighting
US11776200B2 (en) 2021-11-10 2023-10-03 Ford Global Technologies, Llc Image relighting

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6697062B1 (en) 1999-08-06 2004-02-24 Microsoft Corporation Reflection space image based rendering
US7085409B2 (en) 2000-10-18 2006-08-01 Sarnoff Corporation Method and apparatus for synthesizing new video and/or still imagery from a collection of real video and/or still imagery
AU2002303082A1 (en) 2001-01-26 2002-09-12 Zaxel Systems, Inc. Real-time virtual viewpoint in simulated reality environment
KR100433625B1 (ko) * 2001-11-17 2004-06-02 학교법인 포항공과대학교 스테레오 카메라의 두영상과 양안차도를 이용한 다시점영상 합성 장치
GB2390792B (en) * 2002-07-08 2005-08-31 Vision Rt Ltd Image processing system for use with a patient positioning device
RU2358319C2 (ru) * 2003-08-29 2009-06-10 Самсунг Электроникс Ко., Лтд. Способ и устройство для фотореалистического трехмерного моделирования лица на основе изображения
JP4521568B2 (ja) * 2005-06-14 2010-08-11 国立大学法人京都大学 対応点探索方法、相互標定方法、3次元画像計測方法、対応点探索装置、相互標定装置、3次元画像計測装置、対応点探索プログラム及び対応点探索プログラムを記録したコンピュータ読み取り可能な記録媒体
US8244025B2 (en) * 2006-03-20 2012-08-14 Siemens Energy, Inc. Method of coalescing information about inspected objects
CN101321299B (zh) * 2007-06-04 2011-06-01 华为技术有限公司 视差生成方法、生成单元以及三维视频生成方法及装置
JP5011224B2 (ja) * 2008-07-09 2012-08-29 日本放送協会 任意視点映像生成装置及び任意視点映像生成プログラム
US8525871B2 (en) * 2008-08-08 2013-09-03 Adobe Systems Incorporated Content-aware wide-angle images
CN101398936A (zh) * 2008-11-07 2009-04-01 北京航空航天大学 一种双向纹理函数的压缩和合成方法
RU2524834C2 (ru) * 2009-10-14 2014-08-10 Нокиа Корпорейшн Устройство для автостереоскопического рендеринга и отображения
US9445072B2 (en) 2009-11-11 2016-09-13 Disney Enterprises, Inc. Synthesizing views based on image domain warping
WO2013032955A1 (en) * 2011-08-26 2013-03-07 Reincloud Corporation Equipment, systems and methods for navigating through multiple reality models
US20130127988A1 (en) 2011-11-17 2013-05-23 Sen Wang Modifying the viewpoint of a digital image
US9626798B2 (en) * 2011-12-05 2017-04-18 At&T Intellectual Property I, L.P. System and method to digitally replace objects in images or video
US9565450B2 (en) 2012-03-07 2017-02-07 Lg Electronics Inc. Method and device for processing video signal
US8842162B2 (en) * 2012-08-16 2014-09-23 Nice-Systems Ltd Method and system for improving surveillance of PTZ cameras
US9836875B2 (en) 2013-04-26 2017-12-05 Flipboard, Inc. Viewing angle image manipulation based on device rotation
US9269012B2 (en) * 2013-08-22 2016-02-23 Amazon Technologies, Inc. Multi-tracker object tracking
US20150130800A1 (en) * 2013-11-12 2015-05-14 Fyusion, Inc. Segmentation of surround view data
US10073590B2 (en) * 2014-09-02 2018-09-11 Apple Inc. Reduced size user interface
JP2016162392A (ja) * 2015-03-05 2016-09-05 セイコーエプソン株式会社 3次元画像処理装置および3次元画像処理システム
US11783864B2 (en) * 2015-09-22 2023-10-10 Fyusion, Inc. Integration of audio into a multi-view interactive digital media representation
US9773022B2 (en) * 2015-10-07 2017-09-26 Google Inc. Displaying objects based on a plurality of models

Also Published As

Publication number Publication date
KR20180017108A (ko) 2018-02-20
US11809487B2 (en) 2023-11-07
JP2021185484A (ja) 2021-12-09
KR102340678B1 (ko) 2021-12-17
JP6915001B2 (ja) 2021-08-04
US10474712B2 (en) 2019-11-12
US20180046647A1 (en) 2018-02-15
KR20200052984A (ko) 2020-05-15
JP7247276B2 (ja) 2023-03-28
WO2017062357A1 (en) 2017-04-13
GB2596662B (en) 2022-04-13
US11086927B2 (en) 2021-08-10
CN107851329A (zh) 2018-03-27
US20210271706A1 (en) 2021-09-02
JP2018526724A (ja) 2018-09-13
US20200012678A1 (en) 2020-01-09
KR20210034693A (ko) 2021-03-30
GB2556511A (en) 2018-05-30
GB201800102D0 (en) 2018-02-21
GB2596662A (en) 2022-01-05
EP3304497A1 (de) 2018-04-11
JP2019194924A (ja) 2019-11-07
US20170103091A1 (en) 2017-04-13
JP2023076498A (ja) 2023-06-01
GB2556511B (en) 2021-10-06
CN114898025A (zh) 2022-08-12
KR102232724B1 (ko) 2021-03-26
US9773022B2 (en) 2017-09-26
CN107851329B (zh) 2022-05-03
US20240054155A1 (en) 2024-02-15
JP6571262B2 (ja) 2019-09-04
GB202112089D0 (en) 2021-10-06
KR102111079B1 (ko) 2020-05-15

Similar Documents

Publication Publication Date Title
DE112016003134T5 (de) Anzeigen von Objekten basierend auf einer Vielzahl von Modellen
DE202014010843U1 (de) Ausrichten von bodenbasierten Bildern mit Luftbildern
DE202015009181U1 (de) Überblendung zwischen Straßenansicht und Erdansicht
DE202015009182U1 (de) Ausrichten von Panoramaaufnahmen und Luftaufnahmen
DE202016008004U1 (de) Automatische Verbindung von Bildern unter Verwendung visueller Eigenschaftsquerverweise auf zugehörige Anwendungen
JP2019194924A5 (de)
DE112016002022T5 (de) Managen von merkmalsdaten zur umgebungsabbildung auf einer elektronischen vorrichtung
DE102017012116A1 (de) Vorschauerzeugung aus panoramischen Bildern
DE202016006110U1 (de) Erweiterung des Sichtfeldes von Fotografie
DE202012013439U1 (de) Das Verwenden von Banding zur Optimierung der Kartenwiedergabe in einer dreidimensionalen Neigungsansicht
DE102015120999A1 (de) Verfahren zur Erzeugung und Darstellung einer computergenerierten, eine Realumgebung abbildenden Simulationsumgebung
DE202015009139U1 (de) Bildmodifikation
DE202014010866U1 (de) Spekularitätsbestimmung von Bildern
DE102017118993A1 (de) Verfahren zur Identifizierung eines Schiffes
DE102019100011A1 (de) Verfahren zur 3D-Rekonstruktion eines Objekts
DE102017118992A1 (de) Verfahren zur Erzeugung eines ISAR-Bildes
EP4118628A2 (de) Verfahren und vorrichtung zum präzisen auswählen einer raumkoordinate mittels eines digitalen bildes
DE102015120927A1 (de) Verfahren zur Darstellung einer Simulationsumgebung
DE102022202879A1 (de) System zur Betrachtung, Begehung und/oder Bearbeitung von virtuellen Räumen
DE102020126407A1 (de) Bildaufnahmegerät
DE102012109105A1 (de) Verfahren zur Echt-Zeit-Drehung flächentreuer Projektionen radialer Eigenschaftsverteilungen

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R082 Change of representative

Representative=s name: KILBURN & STRODE LLP, GB

Representative=s name: KILBURN & STRODE LLP, NL

R082 Change of representative

Representative=s name: KILBURN & STRODE LLP, NL

R016 Response to examination communication