DE112016003134T5 - Display objects based on a variety of models - Google Patents

Display objects based on a variety of models 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
German (de)
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/en
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)
  • Closed-Circuit Television Systems (AREA)
  • User Interface Of Digital Computer (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).Provided are a system and method for displaying surfaces of an object (240) from a viewing angle (230) that is different from the viewing angle from which a pictorial representation of the object has been acquired (210, 220). In some aspects, the pictorial representation (710) may be created for display by combining visual characteristics from multiple source images (215, 225) and applying greater weight to the visual characteristics of some of the source images relative to the other source images. The weighting may be based on the orientation of the surface (310) relative to the location from which the image was acquired (320) and the location from which the object will be displayed (430).

Description

QUERVERWEIS AUF ZUGEHÖRIGE ANMELDUNGENCROSS-REFERENCE TO RELATED APPLICATIONS

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.The present application is a continuation of U.S. Patent Application No. 14 / 877,368, filed October 7, 2015, the disclosure of which is incorporated herein by reference.

HINTERGRUND DER ERFINDUNGBACKGROUND OF THE INVENTION

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. Certain panoramas of objects are associated with information relating to the geographic location and an orientation from where the image was acquired. For example, each pixel of the image may be associated with data that identifies the angle from the geographic location from which the image was acquired to the partial area of the surface of an object (if any), its appearance by the visual characteristics of the object Pixels is shown. Each pixel may also be associated with depth data that identifies the distance from the detection location to the portion of the surface represented by the pixel.

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. Three-dimensional models of the locations of surfaces appearing in the images can be generated based on the depth data. The models contain polygons whose vertices correspond to surface locations. The polygons may be intersected by projecting visual characteristics of the panoramic image onto the model using ray tracing. A user can select a viewing angle from which the models can be displayed to the user.

KURZE ZUSAMMENFASSUNG DER ERFINDUNGBRIEF SUMMARY OF THE INVENTION

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. Aspects of the disclosure provide a system that includes one or more processors, a memory that stores a model of the orientation and visual characteristics of the surface of an object relative to viewing angles, and instructions that are executable by the one or more processors , The visual characteristics may include a first group of visual characteristics representing the appearance of the surface from a first viewing angle and a second group of visual characteristics representing the appearance of the surface from a second viewing angle. The instructions may include: receiving a request for an image of the object from a requested viewing angle that is different from the first viewing angle and the second viewing angle; Identifying a first visual characteristic from the first group of visual characteristics and a second visual characteristic from the second group of visual characteristics; Determining a first weighting value for the first visual characteristic based on the orientation of the surface relative to the requested viewing angle and the first viewing angle; Determining a second weighting value for the second visual characteristic based on the orientation of the surface relative to the requested viewing angle and the second viewing angle; Determining a visual characteristic of the requested image based on the first and second visual characteristics and the first and second weighting values; and delivering the requested image.

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.Aspects of the disclosure also provide a method of providing an image for display. The method may include: receiving a request for an image of an object from a requested viewpoint; Accessing a model of orientation and the visual Characteristics of the surface of the object relative to viewing angles, wherein the visual characteristics include a first group of visual characteristics representing the appearance of the surface from a first viewing angle, and a second group of visual characteristics representing the appearance of the surface from a second viewing angle from, wherein the first and the second angle are different from the requested angle; Identifying a first visual characteristic from the first group of visual characteristics and a second visual characteristic from the second group of visual characteristics; Determining a first weighting value for the first visual characteristic based on the orientation of the surface relative to the requested viewing angle and the first viewing angle; Determining a second weighting value for the second visual characteristic based on the orientation of the surface relative to the requested viewing angle and the second viewing angle; Determining a visual characteristic of the requested image based on the first and second visual characteristics and the first and second weighting values; and delivering the requested image to the display.

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.Aspects of the disclosure further provide a non-transitory computer device readable storage medium having computer program readable instructions of a program stored thereon. The instructions, when executed by one or more computing devices, may cause the one or more computing devices to perform a method that includes: receiving a request for an image of an object from a requested viewing angle; Accessing a model of the orientation and visual characteristics of the surface of the object relative to viewing angles, the visual characteristics comprising a first group of visual characteristics representing the appearance of the surface from a first viewing angle, and a second group of visual characteristics; representing the appearance of the surface from a second viewing angle, and wherein the first and second viewing angles are different from the requested viewing angle; Identifying a first visual characteristic from the first group of visual characteristics and a second visual characteristic from the second group of visual characteristics; Determining a first weighting value for the first visual characteristic based on the orientation of the surface relative to the requested viewing angle and the first viewing angle; Determining a second weighting value for the second visual characteristic based on the orientation of the surface relative to the requested viewing angle and the second viewing angle; Determining a visual characteristic of the requested image based on the first and second visual characteristics and the first and second weighting values; and delivering the requested image to the display.

KURZE BESCHREIBUNG DER ZEICHNUNGENBRIEF DESCRIPTION OF THE DRAWINGS

1 ist eine funktionelle graphische Darstellung eines Systems gemäß Aspekten der Offenbarung. 1 FIG. 10 is a functional diagram of a system in accordance with aspects of the disclosure. FIG.

2 ist eine graphische Darstellung eines Objekts relativ zu Blickwinkeln, von welchen aus das Objekt erfasst und angezeigt werden kann. 2 is a graphical representation of an object relative to viewing angles from which the object can be captured and displayed.

3 ist eine graphische Darstellung einer Ellipse, die basierend auf einem Blickwinkel und der Orientierung einer Oberfläche erzeugt wird. 3 Figure 12 is a graphical representation of an ellipse created based on a viewing angle and the orientation of a surface.

4 ist eine graphische Darstellung einer Texel-Ellipse und einer Pixel-Ellipse. 4 is a graphical representation of a texel ellipse and a 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. 5 is a graphical representation of a hidden surface relative to viewing angles from which the object can be captured and displayed.

6 ist eine graphische Darstellung einer Oberfläche von außen relativ zu Blickwinkeln, von welchen aus das Objekt erfasst und angezeigt werden kann. 6 Figure 12 is a graphical representation of a surface from the outside relative to viewing angles from which the object can be captured and displayed.

7 ist ein Beispiel eines Bilds, das einem Anwender angezeigt werden kann. 7 is an example of an image that can be displayed to a user.

8 ist ein beispielhaftes Ablaufdiagramm gemäß Aspekten der Offenbarung. 8th FIG. 10 is an exemplary flowchart in accordance with aspects of the disclosure. FIG.

DETAILLIERTE BESCHREIBUNGDETAILED DESCRIPTION

ÜbersichtOverview

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.The technology relates to displaying an object from a viewing angle different from the viewing angle from which a pictorial representation of the object has been acquired. For example, two or more panoramic images may capture an object from two different angles of view, and a user may request an image of the object from one location between the two detection points. The system may generate the user requested image by interspersing corresponding fragments of the images in proportion to the likelihood that the fragment is a visually accurate representation of the corresponding surface of the object. By way of example, when the user-requested image is generated, the system may calculate a quality value based on the relationship of the detection location and the user-requested point to the orientation of the surface of the object to be displayed. If the fragments are mixed, greater emphasis can be placed on fragments that have better quality values than the other fragments.

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.Based on a presentation shows 2 two different angles from which two source images of a car were captured. In this example, the angle from which the front of the car is detected is relatively orthogonal in the first source image and relatively acute in the second source image. In contrast, the angle from which the side of the car is detected is relatively acute in the first image and relatively orthogonal in the second image. The figure also shows a viewing angle selected by a user to view the car.

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. To display the object from the user-selected viewing angle, the system can generate a three-dimensional (3D) model of all the surfaces captured at each source image. For example, a laser range finder has been used to prepare a depth map, which in turn has been used to prepare a source model containing a grid of polygons whose vertices correspond to the locations of points along the surfaces of the object.

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. The source model associated with each source image may also identify the location of the detection point relative to the model, and the system may use that location to project the visual information captured in the source image onto the model. Essentially, the 3D model associated with a source image can may be identical to the 3D model associated with another source image in terms of surface locations, but the visual characteristics of textures projected onto the models may vary depending on the angle from which the surfaces were acquired ,

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).If the visual characteristics of the pixels of the image to be displayed to the user are determined, the system may use ray tracing and the location of the user requested viewing angle to identify the location at which a ray extending through each pixel displayed will be the one Textures of the model cuts, eg a Texel. The system may merge the texels from the different source images to determine the visual characteristics of the displayed pixel (e.g., hue, saturation, and brightness).

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. When the texels are merged from the models of the source images, a larger weighting on the texel from one source image over a texel from another source image can be applied. The weighting may be based on a quality score that takes into account the likelihood that the texel is an accurate representation of the visual characteristics of an object to be displayed.

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).In at least one aspect, the quality value may depend on the resolution of the displayed pixels relative to the resolution of the texels. For example, it can be defined that optimal quality occurs when there is a single texel for each displayed pixel. By contrast, it can be defined that low quality occurs when there are many texels associated with a single pixel (which can occur when a texture of a surface is detected straight ahead but viewed at a grazing angle), or many Can give pixels associated with a single texel (which can occur if the texture of a surface was detected at a grazing angle but viewed in straight line).

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. The quality value of a texel may be calculated based on the location of the user-defined and acquisition viewing angles relative to the orientation of the surface to be displayed. Based on a presentation shows 3 the location of two points: a point of view and a point on the surface of the model to be displayed to the user. The figure also shows an ellipse representing the interface of a cone and a plane. The plane reflects the orientation of the surface relative to the viewing angle, eg a plane defined by the vertices of the source model polygon containing the texel. The cone is centered on a line that extends from the viewpoint to the surface point (the "gaze / surface line"). The extent to which the ellipse is stretched is related to the orientation of the surface and the angle from which the surface is viewed from the viewing angle. If the gaze / surface line is perfectly orthogonal to the orientation of the surface, the ellipse will be a circle. As the fixed angle of the gaze / surface line becomes more accurate relative to the orientation of the surface, the ellipse will be stretched more and the ratio of the major axis of the ellipse relative to the minor axis will increase.

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. The quality value of a texel may be based on the differences between an ellipse associated with the detection point (the "texel ellipse") and an ellipse associated with the user-requested angle of view (the "pixel ellipse"). be determined. 4 provides an example of a texel ellipse and a pixel ellipse. The quality value may be calculated from the ratio of the radius of the pixel ellipse relative to the radius of the texel ellipse at an angle that gives the largest difference in length between the two radii.

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.Once the quality value has been calculated for each texel, the quality value can be applied as weights during a merge. For example, if three source images were used to identify three texels T 1 , T 2, and T 3 , the output can be written as (w 1 T 1 + w 2 T 2 + w 3 T 3 ) / (w 1 + w 2 + w 3 ), where w n is equal to the quality value of the texel. The weights can also be applied in other ways.

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.The system may also use weighting values to address occlusion. As it is in 5 2, a beam used to determine the characteristics of a displayed pixel may extend through surfaces of the object that were captured in the source images but would be biased at viewing at the user requested viewing angle. The system can render both forward and rearward surfaces so that the weighting for each rearwardly facing surface is set to zero. The system may also generate the image so that the surface closest to the viewer is selected for display within each source image, thereby allowing the system to blend textures from both models without computing a depth.

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. Film errors can also be addressed with weight values. For example and how it works in 6 Discontinuities in depth data can cause gaps in surfaces incorrectly modeled as the surface of an object. Rather than removing non-existent surfaces from a model, the system can determine a quality value for a texel of the nonexistent surface. If the angle of the beam is relatively orthogonal to the orientation of the non-existent surface, the quality value of the texel may be very low compared to the quality value of a texel on another surface detected under a different angle. However, if the angle at which the non-existent surface is viewed is relatively parallel to the orientation of the nonexistent surface, the quality value of the texel on that surface may be relatively high.

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.The system can be used to display the object to the user from the viewpoint requested by the user. In this regard and as it is in 7 As shown, a user may be able to view the object at angles other than the angles at which source imaging was detected.

Beispielhafte SystemeExemplary systems

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). 1 represents a possible system 100 in which the aspects disclosed herein may be implemented. In this example, the system can 100 computer devices 110 and 120 contain. The computer device 110 can be one or more processors 112 , a store 114 and other components typically present in general computing devices. Even though 1 functionally each of the processor 112 and the memory 114 as a single block within the device 110 , which is also shown as a single block, may include the system and may include the methods described herein: multiple processors, memory, and devices that may or may not be stored within the same physical housing. For example, various methods, which are described below as including a single component (eg, the processor 112 ) contain a variety of components (such as multiple processors in a load balanced server farm). Likewise, various methods, which are described below to include different components (such as the device 110 and the device 120 ) contain a single component (eg, the device 120 rather than that the device 120 performs a determination described below, the relevant data for the device 110 send for processing and receive the results of the determination for further processing or display).

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.The memory 114 the computer device 110 can store information by the processor 112 accessible, including instructions 116 that can be executed by the processor. The memory 114 can also data 118 included by the processor 112 can be read out, manipulated or stored. The memory 114 can be any type of memory that can store information accessible by the relevant processor, such as media that can store nonvolatile data. By way of example, the memory 114 a hard disk drive, a solid state drive, a memory card, a RAM, a DVD, a writable memory, or a read-only memory. In addition, the memory may include a distributed memory system in which data, such as data 150 are stored on a variety of different storage devices that may be physically located at the same or different geographical locations.

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. The instructions 116 can be any group of instructions to get through the processor 112 or another computing device to be executed. In this regard, the terms "instructions", "application", "steps" and "programs" may be used interchangeably herein. The instructions may be stored in an object code format for intermediate processing by a processor, or in any other computer device language, including scripts or collections of independent source code modules that are interpreted upon request or compiled in advance. Functions, procedures and routines of the instructions are explained in more detail below. The processor 112 may be any conventional processor, such as a commercially available CPU. Alternatively, the processor may be a particular component, such as an ASIC or other hardware-based processor.

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.The data 118 can through the computer device 110 according to the instructions 116 be read, saved or modified. For example, although the subject matter described herein is not limited by any particular data structure, the data may be stored in computer registers, in a relational database as a table with many different fields and records, or as XML documents. The data may also be formatted in any computer-readable format, such as, but not limited to, binary values, ASCII, or Unicode. In addition, the data may include any information sufficient to identify the relevant information, such as numbers, descriptive text, ownership codes, pointers, references to data stored in other memories, such as other network sites, or information used by a function to compute the relevant data.

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.The computer device 110 can be at a node of a network 160 be and be able to directly and indirectly connect to other nodes of the network 160 to communicate. Although in 1 While only a few computing devices are shown, a typical system may include a large number of connected computing devices, each different computing device at a different node of the network 160 is. The network 160 and intervening nodes described herein may be interconnected using various protocols and systems such that the network may be part of the Internet, the Word Wide Web, specific intranets, wide area networks, or local area networks. The network may use standard communication protocols, such as Ethernet, Wi-Fi, and HTTP, protocols owned by one or more companies, and various combinations of the foregoing. As an example, the computing device 110 a web server working with the computer device 120 over the network 160 can communicate. The computer device 120 may be a client computing device and the server 110 can get information by using the network 160 Show information to a user 135 the device 120 via an ad 122 to transmit and present. Although certain advantages are obtained when transmitting or receiving information, as stated above, other aspects of the subject matter described herein are not limited to any particular type of sending of information.

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.The computer device 120 can be the same or similar to the server 110 be configured with a processor, memory and instructions as described above. The computer device 120 may be a personal computer device intended for use by a user and having all the components normally used in connection with a personal computer device, such as a central processing unit (CPU), a memory storing data and instructions, a display , such as the ad 122 (eg, a monitor with a screen, a touch screen, a projector, a TV or other device that is operable to display information), a user input device 162 (eg, a mouse, a keyboard, a touch screen, a microphone, etc.), and a camera 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.The computer device 120 may also be a mobile computing device that can wirelessly exchange data with a server over a network, such as the Internet. By way of example only, the device 120 a mobile phone or device such as a wireless PDA, a tablet PC, a portable computing device, or a netbook that can receive information over the Internet. The device may be configured to work with an operating system, such as Google's Android operating system, Microsoft's Windows, or Apple's iOS. In this regard, some of the instructions that are executed during the operations described herein may be provided by the operating system, while other instructions may be provided by an application installed on the device. Computer devices according to the systems and methods described herein may include other devices that can process instructions and send and / or transmit data to and from humans, and / or other computers, including network computers lacking local storage capability and digital receivers for televisions ,

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.The computer device 120 can be a component 130 such as circuits to determine the geographic location and orientation of the device. For example, the client device 120 a GPS receiver 131 to determine the latitude, longitude, and elevation of the device. The component may also include software for determining the position of the device based on other signals present at the client device 120 are received, such as signals that are received at an antenna of a cell phone from one or more cell phone towers when the client device is a cellular phone. You can also use a magnetic compass 132 , an accelerometer 133 and a gyroscope 134 to determine the direction in which the device is oriented. By way of example only, the apparatus may determine its pitch, yaw, or roll (or changes thereto) relative to the direction of gravity or plane perpendicular thereto. The component 130 may also include a laser range finder or similar device for determining the distance between the device and the surface of an object.

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. The server 110 may store card-related information, from which at least a portion may be transmitted to a client device. The map information is not limited to any particular format. For example, the map data may be bitmap images of geographic Locations, such as photographs captured by a satellite or aircraft.

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).The server 110 can also store a pictorial representation, such as by way of example only, a flat photograph, a photosphere, or a video of a scene. The pictorial representation may be captured and uploaded by end users for the purpose of making the photo available for later access, or for anyone looking for information regarding the feature. In addition to the image data captured by a camera, individual elements of a pictorial representation may be associated with additional data, such as a date of capture, time or day of capture, geographic orientation (eg, camera angle or direction), and location of capture ( eg latitude, longitude and altitude).

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. Portions of the pictorial representation may be associated with additional information, including a model of the geographic location of features that appear within the pictorial representation. For example, the model may identify the location of surfaces of objects captured in a panoramic image. The location of the surfaces can be stored in memory in different ways, e.g. a constellation of points whose location is defined as a fixed angle and distance from a fixed location (eg, orientations and distances from the point from which the imagery was captured), or geographically located polygons whose vertices are latitude / longitude / Altitude coordinates are expressed. The system and method may further implement locations from one reference system to another, such as generating a model of geographically located polygons from a constellation of points whose locations have been directly acquired, using a laser rangefinder, or generating images by using a stereographic triangulation. Locations can be expressed in other ways as well and depend on the type of application and a required precision. By way of example only, geographical locations may be identified by a street address, xy coordinates relative to edges of a map (such as a pixel position relative to the edge of a road map), or other reference systems that can identify geographic locations (eg, land and block numbers on survey maps). , be identified. A location may also be described by a range, e.g. For example, a geographic location may be described by a range or discrete series of latitude / longitude / elevation coordinates.

Beispielhafte VerfahrenExemplary methods

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.Operations in accordance with a variety of aspects of the invention will now be described. It should be understood that the following operations need not be performed in the precise order described below. Rather, different steps may be handled in a different order or simultaneously.

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.A geographic object can be captured by a pictorial representation from multiple angles. Using an example shows 2 a car 240 that in two separate pictures 215 and 225 each from two different locations 210 and 220 was recorded from. From the perspective 210 is the camera angle 211 to a level 202 , which is generally defined by the front of the car, is relatively orthogonal and is the camera angle 212 to a level 201 , which is generally defined by the side of the car, relatively pointed. In contrast to this is from the perspective 220 the point of view 221 to a front level 202 relatively pointed and is the point of view 222 to the page level 201 relatively orthogonal. (Reference 201 and 202 are used interchangeably to lean on the front and side surfaces of the car 240 and the levels generally defined by these surfaces.) In this regard, those of the sites 210 and 220 From detected images, different surfaces of the car at different angles, one surface is detected relatively straight ahead and the other is detected at an acute angle.

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.A model of the location of the object surfaces captured in the pictorial representation may be generated and associated with the pictorial representation. By way of example, the pictorial representation of the source may include a panoramic image. At the time a source image was captured, a laser range finder may be used 135 or another depth finding technique has been used to associate each pixel of the panoramic image with the distance from the detection location to the portion of a surface whose visual characteristics are represented by the pixel. Based on such information and the location from which the image was acquired (eg, latitude / longitude / elevation information provided by a GPS receiver 131 supplied), the system can generate a source model containing a grid of polygons (eg triangles) whose vertices are the location of points correspond (eg latitude / longitude / altitude), along the surface of the object.

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. The visual characteristics captured in the source image can be used to texture the model associated with that source image. For example, each pixel may be pictorial 215 and 216 also associated with a camera angle, eg, data defining a beam extending from the camera to the portion of the surface associated with the pixel. The camera angle data may be based on information provided by a geographic component 130 is delivered at the time the image was captured, such as the compass direction 132 is delivered, and orientation data by the gyroscope 134 are delivered. A ray tracing can be used to visualize the visual characteristics of each pixel of the image 215 on the polygons of the model 216 so that the visual characteristics of the polygon at the interface with the beam match the visual characteristics of the associated pixel.

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.The visual information of the polygons can be stored as textures made of texels. By way of example only, the texels of a texture may be arranged in a manner similar to the manner in which pixels of an image may be placed, e.g. a grid or other collection of individual units that define one or more visual characteristics. Portions of the following description may, for convenience of explanation, refer only to a single visual characteristic of a pixel or texel, such as color. However, pixels and texels may be associated with data that defines many different visual characteristics, including hue, saturation, and brightness.

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.Even if two different source models contain identical representations of a location of a surface, the visual characteristics of the surface may differ greatly in each model. For example, because a pictorial representation 215 the page 201 a car 240 at an acute angle 212 captures the entire length of the side of the car in just a few pixels of a picture 215 appear horizontally. As a result, when the pixel information is projected onto polygons that represent the side of the car, the information may extend from a single pixel over many texels in the horizontal direction. If the model 216 from the perspective 230 Thus, the side of the car may appear to have long horizontal color stripes as a result. However, if the model 216 from the perspective 210 (the same location from which the textures were projected) could display the page 201 of the car 240 with some or no movie errors.

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. The system can combine visual information captured at multiple angles to display a geographic object from a different angle. For example, a user can take a picture 235 of the car 240 from a single point of view 230 Requests. If the visual characteristics of the pixels of the image to be displayed to the user are determined ("displayed pixels"), the system may associate each displayed pixel with a ray extending from the viewing angle and through an image plane containing the pixel. The system may determine the point and a texel in which each beam associated with a pixel intersects a surface defined by the model. For example, if the visual characteristics of a pixel in the image 235 determine which texels (T 1 ) determine where the ray of the pixel is a polygon of a model 216 and the texel (T 2 ), where the ray of the pixel is a polygon of the model 226 cuts. The system can determine the color of the pixel by alpha blending the color of T 1 and the color of T 2 .

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. When the visual characteristics of the cut texels are mixed together, a larger weighting can be applied to the texel derived from one source image versus a texel derived from another source image. The weighting may be based on the likelihood that the texel is an accurate representation of the visual characteristics of the object to be displayed.

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. In at least one aspect, the quality value may depend on the resolution of the displayed pixels relative to the resolution of the texels; it can be defined that optimal quality occurs when there is a single texel for each displayed pixel. In contrast, it can be defined that low quality occurs when there are many texels associated with a single pixel, or there are many pixels associated with a single texel. By way of example, a first polygon may be generated in which there is a single texel for each pixel projected on it. If the pixels were projected onto the first polygon at a relatively straight-line angle, the texture may contain many close-packed texels. If this polygon is displayed straight ahead in one direction, there may be roughly a texel for each displayed pixel, and thus the texture would be considered to have a relatively high quality. However, if the polygon were displayed at an acute angle, there could be many texels for each pixel displayed and would be the Texture can be considered such that it has a relatively low quality despite the relatively high resolution of the texture.

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. By way of further example, a second polygon may be generated, with a single texel for each pixel projected thereon. However, if the pixels were projected onto the second polygon at a relatively acute angle, the texture may contain long and thin texels. If this polygon is then displayed facing straight, many displayed pixels would derive their characteristics from only a single texel, in which case the texture would be considered to have a relatively low quality. However, if the polygon is displayed at a relatively acute angle, there may be only one texel for each displayed pixel, in which case the texture would be considered to have a relatively high quality despite the relatively low resolution of the texture.

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.The quality value of a texel may be calculated based on the location of the user-defined and detection viewing angles relative to the orientation of the surface to be displayed. Based on a representation, a point 320 of the 3 the geographic location from which a geographically located polygon of a model will be viewed. The point 330 is the point where the camera angle associated with a displayed pixel intersects the polygon. A line "s" extends from the viewpoint 320 to the interface 330 , A cone 350 extends from the point 320 at an acute fixed angle ("α") to the outside. The measure of α can be arbitrarily selected. The measure of α can also be chosen so that the cone provides a similar fixed angle as the texel, as seen from the location from which the texture was detected, eg, the higher the texture resolution, the smaller the cone. An ellipse 310 represents the interface of the cone 350 and a plane (not shown). The plane reflects the orientation of the surface at the interface, eg, a plane defined by the corner points of the polygon that defines the interface 330 contains.

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.The extent to which the ellipse is stretched refers to the orientation of the surface and the viewing angle. For example, if the line "s" is perfectly orthogonal to the orientation of the plane (which would be associated with looking at the surface in a straight direction), the ellipse would 310 to be a perfect circle. When the fixed angle of the line "s" becomes sharpened relative to the orientation of the plane, the ellipse becomes 310 more stretched and will increase the ratio of the major axis of the ellipse ("b") relative to the minor axis ("a"), where "n" is the surface normal. The axes "a" and "b" can be determined from the equation a = αs × n and b = (n · s / | s |) (a × n).

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.The quality value of a texel may be based on the differences between the ellipse associated with a cone extending from the detection site to the interface (the "texel ellipse") and the ellipse associated with a cone that is different from the cone Location selected by the user extends to the interface (the "pixel ellipse"). In 4 is the Texel ellipse 425 with the detection site 420 and is the pixel ellipse 435 with a user-requested angle 430 associated. The quality value of the texels at the interface 450 can be calculated from the ratio of the radius of the pixel ellipse relative to the radius of the texel ellipse at a certain angle θ, eg quality (θ) = radius t (θ) / radius p (θ). In one aspect, the angle θ is the angle or an estimate of the angle that yields the minimum ratio. For example, the quality value may be calculated at different values of θ and the quality value of the texel may be equal to the lowest of the calculated values, eg quality min = quality (argmin θ {quality (θ)}). The minimum can be determined by expressing both ellipses in matrix form and multiplying the pixel ellipse by the inverse of the texel ellipse, mapping the pixel ellipse into a coordinate system where the texel ellipse would be a unit circle. Within this coordinate system, the ratio is equal to the newly mapped radius of the pixel ellipse, and the minimum ratio is equal to the smaller axis length of the newly mapped 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.The quality value may be estimated by projecting each of the texel ellipse axes onto each of the pixel ellipse axes, and by selecting the pixel-ellipse axis that gives the largest ratio. By way of example, a shader may calculate the minimum quality value by calculating values according to the equation quality min -1 / max ((a t * a p ) / (a p * a p ), (b t * a p ) / (a p · A p ), (a t · b p ) / (b p · b p ), (b t · b p ) / (b p · b p )), which samples four possible directions and selects the angle that associated with the lowest quality score. Other methods can also be used to calculate the quality.

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.Once the quality of a texel has been calculated, the quality can be used to determine how similar the displayed color of a pixel will be to the color of a texel. For example, if three source images were used to identify three texels T 1 , T 2, and T 3 , the blending weight for each texel in a fragment shader for each input texel and output (w 1 T 1 + w 2 T 2 + w 3 T 3 ) / (w 1 + w 2 + w 3 ), where w n is equal to the quality value of the texel. The weights may also be applied in other ways, such as by increasing the quality values to a power. For example, by increasing the weights by a large exponent, the surface with the largest weight may dominate the other weights, thereby reducing ghosting or stenciling by reducing the impact of the lower weighted texels.

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. The system may also use weighting values to address obstruction, as illustrated by an example in FIG 5 is shown. surfaces 502 and 503 were in a picture 520 captured from an angle A and surfaces 501 and 503 were in a picture 530 detected from a perspective B. A model 521 and 531 can each for each picture 520 and 531 be generated. When the model is created, the model may associate the texture with a specific side of the polygon. For example, the surface 502 in a model 521 be represented by a single triangle, with one side directed towards the angle of view A and the other side is directed away from the angle of view A. When the image data is projected onto the model, the model can indicate if the texture is on the side of the triangle that is directed toward the viewing angle.

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.When the requested image is created, a hidden surface may be hidden by determining if its associated texture is directed toward or away from the requested viewing angle and determining if the texture is closer to the viewing angle than other textures in the same model. For example, the system may, if the color of a displayed pixel under a viewing angle 540 is determined to identify all of the points at which the beam associated with the pixel 550 every surface cuts, namely the points 511 - 513 , The system may also determine for each model the cut texel closest to the viewpoint and whether the texture of the cut texture on the side of the polygon is toward ("forward") or away from ("backward"). ) is the point of view. Thus, the system may determine that T 511B is the next texel in the model 531 and is directed to the front (where "T pppm" refers to the texel is at the point of interface ppp and stored in the view angle with the associated m model). The system can also determine that T 512A is the next texel in the model 521 is and is directed backwards. Because T 512A is facing backwards, the system can automatically set its weight to zero. As a result, the color of the pixel associated with the ray 550 are determined by (w 511B T 511B + w 512A T 512A ) / (w 511B + w 512A ), where w 511B is the quality value determined for T 511B and w 512A is set to zero. As a result, the color of the displayed pixel would be the same as T 511B .

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. Alternatively, rather than ignoring certain textures or setting their weights to zero, their relative weights may be reduced. For example, rather than setting w 512A to zero and ignoring T 513A and T 513B, all of them, the back-facing texels and other texels may also be used for blending, but with reduced weights.

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. Film errors can also be addressed with weighting values, including film defects caused by discontinuities in depth data. For example and how it works in 6 shown is a model 621 be associated with the image from a standpoint 620 is captured, and can be a model 631 be associated with a picture from a point of view 630 is detected. The gap 603 between a surface 601 and 602 can in the model 621 be shown exactly. However, an inaccuracy arising from the depth data read out at the time of detection or any other error occurring during generation of the model 631 occurred, resulting in that the model 631 incorrectly indicates that a surface 635 over the gap 603 extends. If the model 631 from the perspective 640 could be viewed, an outer surface 635 have the appearance of a rubber sheet stretched from one edge of the gap to the other. For some aspects, the system can check for external polygons and remove them by comparing the model 621 with the model 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. In other aspects, the system may use the outer surfaces when creating an image for display. For example, a user may request an image asking the surfaces from a viewpoint 640 displays. If the contribution of the model 621 is determined to the color of the pixel, with the beam 641 The system may have a point A on the surface 601 identify as the first statement point. The system may also determine that the texel has a relatively high quality value at point A because the texel is viewed at an angle equal to the angle at which it was detected (location 620 ). If the contribution of the model 631 is determined to the color of the pixel, the system may have a point B on an outer surface 635 identify as the first interface. The system may determine that the texel has a relatively low quality value at point B because the texel is viewed at an angle that is relatively orthogonal to the angle which it was captured (location 630 ). As a result, when the texels are intermingled at points A and B, a relatively small weighting will be applied to the texel at point B; the color of the pixel becomes almost entirely on the color of point A on the surface 601 based.

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).At certain angles, the outer surfaces may have a significant contribution to the visual characteristics of the image to be displayed. For example, a user may view an image from a viewpoint 650 which is relatively close to the detection location 630 of the model 631 is. If the contribution of the model 631 the color of the pixel is determined with the beam 641 the system may have a point C on the outer surface 635 identify as the first interface and can further determine that the texel is at point C of the model 631 has a relatively high quality value. If the contribution of the model 621 is determined to the color of the same pixel, the system can not identify an interface when the surface 602 not represented by the model. Alternatively, if the surface 602 represented by the model, the quality value of the texel at the interface in the model 621 be relatively low, because the angle from the interface to the viewing angle 650 relatively orthogonal to the angle from the interface to the acquisition location 620 is. In any case, and as a result, the color of the displayed pixel may be substantially the same as the texel of the outer surface. This can be particularly beneficial if the model 621 no representation of the surface 602 has as an indication of the outer surface 635 displaying nothing (eg, a color indicating the absence of a surface).

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. Users can use the system and interact with the models. Just by way of example and with reference to 1 the user can 135 a camera 163 and a geographical component 130 the client device 120 use to capture image data and depth data from multiple angles. The user 135 can the image and depth data to the server 110 Upload. The processor 112 may generate a textured model for each image based on the data provided by the user and the data in memory 114 to save. The server 110 can then receive a request for an image of the object from a specific viewpoint. For example, a user 135 (or another user using the client device 121 ) a panoramic image at a specific geographical location by selecting the geographical location with a user input 162 and by sending a request to the server 110 Request. Upon receiving the request, the server may 110 Read two or more models based on the requested geographic location, such as by selecting all or a limited number of models having locations or surface locations within a threshold distance from the requested geographic location. The server can then use the models over a network 160 to the client device 120 send. Upon receipt of the models, the processor of the client device may 120 generate a panoramic image based on the models and using the requested geographic location as the viewing angle. If the requested geographic location did not include elevation, the elevation of the elevation may be based on the altitudes of the detection locations of the models.

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. The panoramic picture may be on the display 122 are displayed. For example and with reference to the 2 and 7 can then if the models 216 and 226 a car 240 sent to the client device, an image 710 of the car 240 based on a viewpoint 230 generated and displayed to the user. The user may select different viewpoints other than the detection sites by providing commands to the client device user interface, eg, pressing buttons to pan the image.

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. 8th FIG. 10 is a flowchart according to some of the aspects described above. FIG. At a block 801 a model of the surface of an object is accessed, comprising: the orientation of the surface of an object relative to a first viewing angle and a second viewing angle; a first group of visual characteristics representing the appearance of the surface at a first viewing angle; and a second set of visual characteristics that represent the appearance of the surface under a second viewing angle. At a block 802 For example, a request for an image of the object is received at a requested viewing angle different from the first viewing angle and the second viewing angle. At a block 803 For example, a first visual characteristic from the first group of visual characteristics is identified and a second visual characteristic from the second group of visual characteristics is identified. At a block 804 For example, a first weighting value for the first visual characteristic is determined based on the orientation of the surface relative to the requested viewing angle and the first viewing angle. At a block 805 For example, a second weighting value for the second visual characteristic is determined based on the orientation of the surface relative to the requested viewing angle and the second viewing angle. At a block 806 For example, a visual characteristic of the requested image is determined based on the first and second visual characteristics and the first and second weighting values. At a block 807 the requested image is delivered to the user for display.

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. Since these and other variations and combinations of the above-discussed features may be utilized without departing from the invention as defined by the claims, the foregoing description of the embodiments should be taken by way of illustration rather than limitation of the invention, such as: it is defined by the claims. It will also be understood that the provision of examples of the invention (as well as halfphrases which are formulated as "such as," "for example," "including," and the like) should not be interpreted as limiting the invention to the specific examples; rather, the examples are intended to depict only a few or many possible aspects.

Claims (20)

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. System comprising: one or more processors, a memory storing a model of the orientation and visual characteristics of the surface of an object relative to viewing angles, the visual characteristics comprising a first group of visual characteristics representing the appearance of the surface at a first viewing angle and a second group of visual characteristics representing the appearance of the surface under a second viewing angle, and Instructions executable by the one or more processors, comprising: Receiving a request for an image of the object at a requested viewing angle that is different from the first viewing angle and the second viewing angle; Identifying a first visual characteristic from the first group of visual characteristics and a second visual characteristic from the second group of visual characteristics; Determining a first weighting value for the first visual characteristic based on the orientation of the surface relative to the requested viewing angle and the first viewing angle, Determining a second weighting value for the second visual characteristic based on the orientation of the surface relative to the requested viewing angle and the second viewing angle, Determining a visual characteristic of the requested image based on the first and second visual characteristics and the first and second weighting values; and Deliver the requested image. 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.The system of claim 1, wherein the request is received by a user and providing the requested image comprises displaying the requested image to the user. 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.The system of claim 1, wherein determining a visual characteristic of the requested image comprises determining a visual characteristic more similar to the first characteristic than the second characteristic, and the measure of similarity is based on the first weighting value relative to the second weighting value. 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. The system of claim 3, wherein: the model stored in memory comprises a first model and a second model; the first group of visual characteristics are texels generated on the first model by projecting image data captured from the first viewpoint; and the second group of visual characteristics are texels generated on the second model by projecting image data captured from the second viewpoint. 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.The system of claim 1, wherein the visual characteristics are associated with colors and wherein determining a visual characteristic of the requested image comprises determining a color by alpha blending proportional to the first weighting value relative to the second weighting value, a color associated with the first visual Characteristics are associated, and a color that is associated with the second visual characteristic includes. 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.The system of claim 1, wherein the orientation of the surface defines a plane, and: the instructions further comprise selecting a point on the level; determining a first weighting value determining a value based on the relationship of the fixed angle between the plane and a line extending from the first viewing angle to the selected point and the fixed angle between the plane and a line extending from the requested viewing angle to extends selected point includes; and determining a second weighting value, determining a value based on the relationship of the fixed angle between the plane and a line extending from the second angle of view to the selected point, and the fixed angle between the plane and a line extending from the requested angle of view extends selected point includes. 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.The system of claim 6, wherein the instructions further include selecting a pixel of the requested image and determining a direction with the selected pixel, and wherein: selecting a point on the plane comprises selecting the point at which the direction associated with the pixel intersects the plane; and determining a visual characteristic of the requested image comprises determining a visual characteristic of the selected pixel. 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.The system of claim 6, wherein determining a first weighting value comprises determining a value based on a radius of a first ellipse and a corresponding radius of the second ellipse, wherein the first ellipse is defined by the intersection of the plane and a cone surrounding the line centered, which extends from the first viewing angle to the selected point, and wherein the second ellipse is defined by the interface of the plane and a cone centered around the line extending from the requested viewing angle to the selected point. 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.The system of claim 8, wherein determining a first weighting value further comprises determining a ratio based on an estimate of the radius of the first ellipse relative to an estimate of the radius of the second ellipse at a selected angle. 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.A method of providing an image for display, comprising: Receiving a request for an image of an object from a requested viewpoint; Accessing a model of the orientation and visual characteristics of the surface of the object relative to viewing angles, wherein the visual characteristics comprise a first group of visual characteristics representing the appearance of the surface from a first viewing angle, and a second group of visual characteristics depict the appearance of the surface from a second viewing angle, and wherein the first and second viewing angles are different from the requested viewing angle; Identifying a first visual characteristic from the first group of visual characteristics and a second visual characteristic from the second group of visual characteristics; Determining a first weighting value for the first visual characteristic based on the orientation of the surface relative to the requested viewing angle and the first viewing angle, Determining a second weighting value for the second visual characteristic based on the orientation of the surface relative to the requested viewing angle and the second viewing angle, Determining a visual characteristic of the requested image based on the first and second visual characteristics and on the first and second weighting values; and Deliver the requested image to the ad. 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. The method of claim 10, wherein the request is received from a user, and providing the requested image comprises displaying the requested image to the user. 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.The method of claim 10, wherein determining a visual characteristic of the requested image comprises determining a visual characteristic that is more similar to the first characteristic than the second characteristic, and the degree of similarity is based on the first weighting value relative to the second weighting value. 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.The method of claim 12, wherein: the model comprises a first model and a second model; the first group of visual characteristics are texels generated on the first model by projecting image data captured from the first viewpoint; and the second group of visual characteristics are texels generated on the second model by projecting image data captured from a second viewing angle. 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.The method of claim 10, wherein the visual characteristics are associated with colors and wherein determining a visual characteristic of the requested image comprises determining a color by alpha blending proportional to the first weighting value relative to the second weighting value, a color corresponding to the first visual characteristic and a color associated with the second visual characteristic. 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.The method of claim 10, wherein the orientation of the surface defines a plane, and further comprising: Selecting a point on the plane; determining a first weighting value determining a value based on the relationship of the fixed angle between the plane and a line extending from the first viewing angle to the selected point and the fixed angle between the plane and a line extending from the requested viewing angle to extends selected point includes; and determining a second weighting value, determining a value based on the relationship of the fixed angle between the plane and a line extending from the second angle of view to the selected point, and the fixed angle between the plane and a line extending from the requested angle of view extends selected point includes. 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. The method of claim 15, further comprising selecting a pixel of the requested image and determining a direction associated with the selected pixel, and wherein: selecting a point on the plane comprises selecting the point at which the direction associated with the pixel intersecting the plane; and determining a visual characteristic of the requested image comprises determining a visual characteristic of the selected pixel. 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.A non-transitory computer-readable storage medium having stored thereon computer-readable instructions of a program, the instructions, when executed by one or more computing devices, causing the one or more computing devices to perform a method, the method comprising: Receiving a request for an image of an object from a requested viewpoint; Accessing a model of the orientation and visual characteristics of the surface of the object relative to viewing angles, wherein the visual characteristics comprise a first group of visual characteristics representing the appearance of the surface from a first viewing angle, and a second group of visual characteristics depict the appearance of the surface from a second viewing angle, and wherein the first and second viewing angles are different from the requested viewing angle; Identifying a first visual characteristic from the first group of visual characteristics and a second visual characteristic from the second group of visual characteristics; Determining a first weighting value for the first visual characteristic based on the orientation of the surface relative to the requested viewing angle and the first viewing angle, Determining a second weighting value for the second visual characteristic based on the orientation of the surface relative to the requested viewing angle and the second viewing angle, Determining a visual characteristic of the requested image based on the first and second visual characteristics and the first and second weighting values; and Deliver the requested image to the ad. 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.The storage medium of claim 17, wherein the request is received from a user, and providing the requested image comprises displaying the requested image to the user. 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.The storage medium of claim 17, wherein determining a visual characteristic of the requested image comprises determining a visual characteristic that is more similar to the first characteristic than the second characteristic, and the similarity measure is based on the first weighting value relative to the second weighting value. 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.A storage medium according to claim 19, wherein: the model comprises a first model and a second model; the first group of visual characteristics are texels generated on the first model by projecting image data captured from the first viewpoint; and the second group of visual characteristics are texels generated on the second model by projecting image data captured from a second viewing angle.
DE112016003134.3T 2015-10-07 2016-10-04 Display objects based on a variety of models Pending DE112016003134T5 (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/877,368 2015-10-07
US14/877,368 US9773022B2 (en) 2015-10-07 2015-10-07 Displaying objects based on a plurality of models
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 (en) 2018-03-29

Family

ID=57218984

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112016003134.3T Pending DE112016003134T5 (en) 2015-10-07 2016-10-04 Display objects based on a variety of models

Country Status (8)

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

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 (en) * 2018-05-25 2021-10-26 北方工业大学 Multi-biological-feature fusion recognition method based on image quality evaluation
US11284054B1 (en) * 2018-08-30 2022-03-22 Largo Technology Group, Llc Systems and method for capturing, processing and displaying a 360° video
CN112583900B (en) * 2020-12-02 2023-04-07 深圳市互盟科技股份有限公司 Data processing method for cloud computing and related product
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
EP1371019A2 (en) 2001-01-26 2003-12-17 Zaxel Systems, Inc. Real-time virtual viewpoint in simulated reality environment
KR100433625B1 (en) * 2001-11-17 2004-06-02 학교법인 포항공과대학교 Apparatus for reconstructing multiview image using stereo image and depth map
GB2390792B (en) * 2002-07-08 2005-08-31 Vision Rt Ltd Image processing system for use with a patient positioning device
RU2358319C2 (en) * 2003-08-29 2009-06-10 Самсунг Электроникс Ко., Лтд. Method and device for photorealistic three dimensional simulation of face based on image
JP4521568B2 (en) * 2005-06-14 2010-08-11 国立大学法人京都大学 Corresponding point search method, relative orientation method, three-dimensional image measurement method, corresponding point search device, relative orientation device, three-dimensional image measurement device, corresponding point search program, and computer-readable recording medium recording the corresponding point search program
US8244025B2 (en) * 2006-03-20 2012-08-14 Siemens Energy, Inc. Method of coalescing information about inspected objects
CN101321299B (en) * 2007-06-04 2011-06-01 华为技术有限公司 Parallax generation method, generation cell and three-dimensional video generation method and device
JP5011224B2 (en) * 2008-07-09 2012-08-29 日本放送協会 Arbitrary viewpoint video generation apparatus and arbitrary viewpoint video generation program
US8525871B2 (en) * 2008-08-08 2013-09-03 Adobe Systems Incorporated Content-aware wide-angle images
CN101398936A (en) * 2008-11-07 2009-04-01 北京航空航天大学 Bidirectional texture function compressing and synthesizing method
WO2011044936A1 (en) * 2009-10-14 2011-04-21 Nokia Corporation Autostereoscopic rendering and display apparatus
US9445072B2 (en) 2009-11-11 2016-09-13 Disney Enterprises, Inc. Synthesizing views based on image domain warping
US9274595B2 (en) * 2011-08-26 2016-03-01 Reincloud Corporation Coherent presentation of multiple reality and interaction 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
US20150134651A1 (en) * 2013-11-12 2015-05-14 Fyusion, Inc. Multi-dimensional surround view based search
US20160062571A1 (en) * 2014-09-02 2016-03-03 Apple Inc. Reduced size user interface
JP2016162392A (en) * 2015-03-05 2016-09-05 セイコーエプソン株式会社 Three-dimensional image processing apparatus and three-dimensional image processing system
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
JP2018526724A (en) 2018-09-13
EP3304497A1 (en) 2018-04-11
GB201800102D0 (en) 2018-02-21
US11086927B2 (en) 2021-08-10
CN114898025A (en) 2022-08-12
US11809487B2 (en) 2023-11-07
JP2019194924A (en) 2019-11-07
GB202112089D0 (en) 2021-10-06
KR20200052984A (en) 2020-05-15
CN107851329A (en) 2018-03-27
US20200012678A1 (en) 2020-01-09
KR102340678B1 (en) 2021-12-17
US9773022B2 (en) 2017-09-26
US20170103091A1 (en) 2017-04-13
JP2021185484A (en) 2021-12-09
KR20210034693A (en) 2021-03-30
KR102111079B1 (en) 2020-05-15
JP6915001B2 (en) 2021-08-04
US20240054155A1 (en) 2024-02-15
CN107851329B (en) 2022-05-03
GB2556511A (en) 2018-05-30
JP6571262B2 (en) 2019-09-04
KR102232724B1 (en) 2021-03-26
JP2023076498A (en) 2023-06-01
US20210271706A1 (en) 2021-09-02
KR20180017108A (en) 2018-02-20
US20180046647A1 (en) 2018-02-15
GB2596662A (en) 2022-01-05
JP7247276B2 (en) 2023-03-28
WO2017062357A1 (en) 2017-04-13
US10474712B2 (en) 2019-11-12
GB2556511B (en) 2021-10-06
GB2596662B (en) 2022-04-13

Similar Documents

Publication Publication Date Title
DE112016003134T5 (en) Display objects based on a variety of models
DE202014010843U1 (en) Align ground based images with aerial images
DE202015009181U1 (en) Crossfade between street view and earth view
DE202015009182U1 (en) Aligning panoramic and aerial photography
DE202016008004U1 (en) Automatically associate images using visual property references to related applications
JP2019194924A5 (en)
DE112016002022T5 (en) MANAGING FEATURE DATA FOR ENVIRONMENTAL IMAGING ON AN ELECTRONIC DEVICE
DE102017012116A1 (en) Preview production from panoramic pictures
DE202016006110U1 (en) Extension of the field of view of photography
DE202012013439U1 (en) Using banding to optimize map playback in a three-dimensional tilt view
DE102015120999A1 (en) A method of generating and displaying a computer-generated real-environment simulation environment
DE202015009139U1 (en) image modification
DE202014010866U1 (en) Specifiability of images
EP4118628A2 (en) Method and device for precisely selecting a spatial coordinate by means of a digital image
DE102019100011A1 (en) Method for 3D reconstruction of an object
DE102017118993A1 (en) Method for identifying a ship
DE102012109105A1 (en) Method for determining planar projection of property and data projected on virtual spherical surface, involves providing value distribution on spherical surface or hemisphere surface, where value distribution is relevant to property
DE102015120927A1 (en) Method for displaying a simulation environment
DE102022202879A1 (en) System for viewing, inspecting and/or editing virtual spaces
DE102020126407A1 (en) imaging device

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