DE202013012432U1 - System zur Verbesserung der Geschwindigkeit und Wiedergabetreue von Multi-Pose-3D-Renderings - Google Patents

System zur Verbesserung der Geschwindigkeit und Wiedergabetreue von Multi-Pose-3D-Renderings Download PDF

Info

Publication number
DE202013012432U1
DE202013012432U1 DE202013012432.6U DE202013012432U DE202013012432U1 DE 202013012432 U1 DE202013012432 U1 DE 202013012432U1 DE 202013012432 U DE202013012432 U DE 202013012432U DE 202013012432 U1 DE202013012432 U1 DE 202013012432U1
Authority
DE
Germany
Prior art keywords
renderings
rendering
overlay
display
single image
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE202013012432.6U
Other languages
English (en)
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Google LLC
Original Assignee
Google LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Google LLC filed Critical Google LLC
Publication of DE202013012432U1 publication Critical patent/DE202013012432U1/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • 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
    • G06T11/002D [Two Dimensional] image generation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/60Editing figures and text; Combining figures or text
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T13/00Animation
    • G06T13/802D [Two Dimensional] animation, e.g. using sprites
    • 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
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/50Lighting effects
    • G06T15/60Shadow generation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/20Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/16Indexing scheme for image data processing or generation, in general involving adaptation to the client's capabilities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/24Indexing scheme for image data processing or generation, in general involving graphical user interfaces [GUIs]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/08Bandwidth reduction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/62Semi-transparency
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2219/00Indexing scheme for manipulating 3D models or images for computer graphics
    • G06T2219/20Indexing scheme for editing of 3D models
    • G06T2219/2024Style variation

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Graphics (AREA)
  • Architecture (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Geometry (AREA)
  • Processing Or Creating Images (AREA)

Abstract

Ein System zur Darstellung eines dreidimensionalen (3D) Multi-Pose-Renderings eines Objekts, das System umfassend: eine Datenbank zur Speicherung (1) einer Vielzahl von zweidimensionalen (2D) Renderings des Objekts, wobei jedes der Vielzahl von 2D-Renderings das Objekt aus einem anderen offensichtlichen Betrachtungswinkel darstellt, und (2) einer Vielzahl von Overlay-Renderings, wobei jedes Overlay-Rendering einem der Vielzahl von 2D-Renderings entspricht und jedes Overlay-Rendering (i) entweder (a) eine Schattenebene umfasst, die in einer ersten Farbe gerendert wird und den sichtbaren Schatten des Objekts entspricht, wie es in dem entsprechenden 2D-Rendering gerendert wurde; oder (b) Randlinien, die in einer ersten Farbe gerendert werden und den Rändern des Objekts entsprechen, wie es in dem entsprechenden 2D-Rendering gerendert wurde und (ii) einem transparenten Hintergrund; auf einem maschinenlesbaren Medium gespeicherte maschinenausführbare Anweisungen und Spezifikation einer Schnittstelle, die verwendet werden kann, um eine Vielzahl von zusammengesetzten Bildern anzuzeigen, wobei jedes zusammengesetzte Bild eines der Overlay-Renderings umfasst, das jeweils ein entsprechendes 2D-Rendering überlagert; ein kommunikativ über ein Netzwerk mit der Datenbank gekoppelter Server, der verwendet werden kann, um (1) dem kommunikativ über ein Netzwerk gekoppelten Client-Gerät die Maschinenanweisungen zu senden, die die Schnittstelle spezifizieren, und (2) eine Anfrage für das Rendering des Objekts zu erhalten und als Reaktion auf diese Anfrage die Vielzahl von 2D-Renderings und die Vielzahl von Overlay-Renderings aus der Datenbank abzurufen und die Vielzahl von 2D-Renderings und die Vielzahl von Overlay-Renderings zum Client-Gerät zu übertragen.

Description

  • Verwandte Anwendungen
  • Diese Anmeldung beansprucht das Prioritätsrecht der vorläufigen US-Patentanmeldungen Nr. 61/593,105, mit dem Titel „Method for Improving Speed an Visual Fidelity of Multi-Pose 3D Renderings By Overlaying Visible Edges”; 61/593,115, mit dem Titel „Method for Improving Speed an Visual Fidelity of Multi-Pose 3D Renderings By Overlaying Visible Shadows”; 61/593,112, mit dem Titel „Method for Improving Speed an Visual Fidelity of Multi-Pose 3D Renderings By Combining Images”; und 61/593,109, mit dem Titel „Method for Improving Speed an Visual Fidelity of Multi-Pose 3D Renderings By Preloading an Optimized Thumbnail View”, die alle jeweils am 31. Januar 2012 eingereicht wurden und hierin durch Bezugnahme in ihrer Gesamtheit und für alle Zwecke einbezogen werden.
  • Gebiet der Offenbarung
  • Die vorliegende Offenbarung bezieht sich auf die zweidimensionale Anzeige dreidimensionaler Figuren mithilfe von Multi-Pose-Renderings und insbesondere auf ein Verfahren und System zur Verbesserung der Wiedergabetreue und Geschwindigkeit, mit der solche Multi-Pose-3D-Renderings angezeigt werden, durch das Anzeigen sichtbarer Kanten.
  • Unter Schutz gestellt werden und Gegenstand des Gebrauchsmusters sind dabei, entsprechend den Vorschriften des Gebrauchsmustergesetzes, lediglich Vorrichtungen wie in den beigefügten Schutzansprüchen definiert, jedoch keine Verfahren. Soweit nachfolgend in der Beschreibung gegebenenfalls auf Verfahren Bezug genommen wird, dienen diese Bezugnahmen lediglich der beispielhaften Erläuterung der in den beigefügten Schutzansprüchen unter Schutz gestellten Vorrichtung oder Vorrichtungen.
  • Hintergrund
  • Die hierin angegebene Hintergrundbeschreibung soll den Kontext der Offenbarung allgemein darstellen. Die Arbeit der vorliegend genannten Erfinder, in dem Umfang, wie sie in diesem Hintergrundabschnitt beschrieben ist, sowie Aspekte der Beschreibung, die zum Zeitpunkt der Anmeldung sonst möglicherweise nicht als Stand der Technik qualifiziert sind, werden weder ausdrücklich noch stillschweigend als Stand der Technik gegenüber der vorliegenden Offenbarung anerkannt.
  • Es ist allgemein oft erwünscht, interaktive 3D-Ansichten von Objekten in Softwareprodukten anzuzeigen. Allerdings ist nicht jeder Computer, jedes Betriebssystem oder jeder Browser dazu fähig, „echtes” 3D darzustellen, entweder weil sie über keine Grafikprozessoren (graphics processing unit, GPU) verfügen, die Netzwerkbandbreite zu gering ist, um schnelles Herunterladen von umfangreichen 3D-Inhalten zu ermöglichen, oder die Programmierumgebung keinen Zugriff auf 3D-Anwendungsprogrammierschnittstellen (APIs) wie z. B. OpenGL® oder DirectX® ermöglicht.
  • Einige Entwickler lösen dieses Problem durch das Rendering von 3D-Objekten in 2D-Bilder. In der einfachsten Form kann eine PNG- oder JPG-Datei von einer einzelnen Kameraansicht erstellt und auf einem Webserver zur Verfügung gestellt werden. Wenn ein Benutzer eine Produktdetailseite auf einer Shopping-Website ansehen will, kann der Benutzer zumindest ein Rendering des Produkts sehen, unabhängig davon, ob sein Browser oder Computer Echtzeit-3D unterstützt.
  • Einen Schritt weither geht ein Konzept, bei dem ein Objekt oder Modell nicht nur in einer einzelnen Ansicht gerendert wird, sondern in mehreren Ansichten. Dem Benutzer wird in dem Browser eine Benutzeroberfläche bereitgestellt, in der der Benutzer per „Click and Drag” das Objekt bei interaktiven Geschwindigkeiten drehen kann. Da die mehreren Ansichten aus vor-gerenderten Ansichten des Objekts aus verschiedenen Ansichten bestehen, kann der Anwender das Objekt „schwenken” und das Objekt aus einem der vor-gerenderten Betrachtungswinkel ansehen, wodurch die Illusion von interaktivem 3D entsteht, auch wenn sich in der Realität nichts geändert hat, außer aus welchem Blickwinkel die 2D-Bilder dargestellt werden.
  • Zusammenfassung
  • In einer Ausführungsform beinhaltet ein computerimplementiertes Verfahren zur Darstellung eines Multi-Pose-3D-Renderings eines Objekts auf einem Anzeigegerät das Speichern einer Vielzahl zweidimensionaler Renderings des Objekts auf einem computerlesbaren Medium. Jedes der Vielzahl von 2D-Renderings stellt das Objekt aus einem anderen, offensichtlichen Betrachtungswinkel dar. Das Verfahren umfasst auch die Übertragung der Vielzahl von 2D-Renderings über ein Netzwerk zu einem Client-Gerät, das mit einem Anzeigegerät gekoppelt ist. Das Verfahren beinhaltet außerdem das Speichern einer Vielzahl von Overlay-Renderings auf dem computerlesbaren Medium. Jedes Overlay-Rendering entspricht jeweils einem der Vielzahl von 2D-Renderings. Jede Überlagerung beinhaltet Randlinien, die in einer ersten Farbe gerendert sind und den Rändern des Objekts entsprechen, wie es in der entsprechenden 2D-Rendering gerendert wird, sowie einen transparenten Hintergrund. Das Verfahren umfasst außerdem die Übertragung des Overlay-Renderings über das Netzwerk zum Client-Gerät und das Bereitstellen einer Schnittstelle, die verwendet werden kann, um eine Vielzahl zusammengesetzter Bilder anzuzeigen, wobei jedes zusammengesetzte Bild eines der Overlay-Renderings umfasst, das sein entsprechendes 2D-Rendering überlagert.
  • In einer weiteren Ausführungsform beinhaltet ein System für die Darstellung eines Multi-Pose-3D-Renderings eines Objekts auf einem Anzeigegerät das Speichern einer Vielzahl von zweidimensionalen Renderings des Objekts in einer Datenbank. Jedes der Vielzahl von 2D-Renderings stellt das Objekt aus einem anderen, offensichtlichen Betrachtungswinkel dar. Die Datenbank speichert außerdem eine Vielzahl von Overlay-Renderings, wobei jedes Overlay-Rendering einem der Vielzahl von 2D-Renderings entspricht. Des Weiteren beinhaltet jedes Overlay-Rendering Randlinien, die in einer ersten Farbe gerendert werden und den Rändern des Objekts entsprechen, wie es im entsprechenden 2D-Rendering gerendert wurde, sowie einen transparenten Hintergrund. Das System umfasst außerdem auf einem maschinenlesbaren Medium gespeicherte maschinenausführbare Anweisungen und die Spezifikation einer Schnittstelle, die verwendet werden kann, um eine Vielzahl von zusammengesetzten Bildern anzuzeigen, wobei jedes zusammengesetzte Bild eines der Overlay-Renderings umfasst, das jeweils ein entsprechendes 2D-Rendering überlagert. Weiterhin umfasst das System einen Server, der über ein Netzwerk kommunikativ mit der Datenbank gekoppelt ist und verwendet werden kann, um die Maschinenanweisungen für die Spezifikation der Schnittstelle über das Netzwerk an ein kommunikativ gekoppeltes Client-Gerät zu senden. Der Server kann auch dazu verwendet werden, von dem Client-Gerät eine Anfrage für das Rendering des Objekts zu erhalten und als Reaktion auf diese Anfrage die Vielzahl von 2D-Renderings und die Vielzahl von Overlay-Renderings aus der Datenbank abzurufen und die Vielzahl von 2D-Renderings und die Vielzahl von Overlay – Renderings zum Client-Gerät zu übertragen.
  • In wiederum einer weiteren Ausführungsform wird ein maschinenlesbares Speichermedium verwendet, auf dem ein Satz von maschinenausführbaren Anweisungen gespeichert sind, die bei einer Ausführung einen Prozessor dazu veranlassen, von einem über ein Netzwerk kommunikativ mit dem Prozessor gekoppelten Server eine Vielzahl von 2D-Renderings zu empfangen. Jedes der Vielzahl von 2D-Renderings stellt ein dreidimensionales Objekt aus einem anderen, offensichtlichen Betrachtungswinkel dar. Die Datenbank veranlasst außerdem den Prozessor dazu, vom Server eine Vielzahl von Overlay-Renderings zu empfangen, wobei jedes Overlay-Rendering einem der Vielzahl von 2D-Renderings entspricht. Jedes Overlay-Rendering beinhaltet Randlinien, die in einer ersten Farbe gerendert werden und den Rändern des Objekts entsprechen, wie es in der entsprechenden 2D-Rendering gerendert wurde, sowie einen transparenten Hintergrund. Des Weiteren veranlassen die Anweisungen den Prozessor, ein kommunikativ mit dem Prozessor gekoppeltes Anzeigegerät dazu, eine Vielzahl von zusammengesetzten Bildern anzuzeigen. Jedes zusammengesetzte Bild beinhaltet eines der Overlay-Renderings, welches das entsprechende 2D-Rendering überlagert.
  • In einer Ausführungsform beinhaltet ein computerimplementiertes Verfahren zur Darstellung eines Multi-Pose-3D-Renderings eines Objekts auf einem Anzeigegerät das Speichern einer Vielzahl zweidimensionaler Renderings des Objekts auf einem computerlesbaren Medium. Jedes der Vielzahl von 2D-Renderings stellt das Objekt aus einem anderen, offensichtlichen Betrachtungswinkel dar. Das Verfahren umfasst auch die Übertragung der Vielzahl von 2D-Renderings über ein Netzwerk zu einem Client-Gerät, das mit einem Anzeigegerät gekoppelt ist. Das Verfahren beinhaltet außerdem das Speichern einer Vielzahl von Overlay-Renderings auf dem computerlesbaren Medium. Jedes Overlay-Rendering entspricht jeweils einem der Vielzahl von 2D-Renderings. Jedes Overlay-Rendering beinhaltet eine Schattenschicht, die in einer ersten Farbe gerendert wird und den Schatten des Objekts entspricht, wie sie im entsprechenden 2D-Rendering gerendert wurden, sowie einen transparenten Hintergrund. Das Verfahren umfasst außerdem die Übertragung des Overlay-Renderings über das Netzwerk zum Client-Gerät und das Bereitstellen einer Schnittstelle, die verwendet werden kann, um eine Vielzahl zusammengesetzter Bilder anzuzeigen, wobei jedes zusammengesetzte Bild eines der Overlay-Renderings umfasst, das sein entsprechendes 2D-Rendering überlagert.
  • In einer weiteren Ausführungsform beinhaltet ein System für die Darstellung eines Multi-Pose-3D-Renderings eines Objekts auf einem Anzeigegerät das Speichern einer Vielzahl von zweidimensionalen Renderings des Objekts in einer Datenbank. Jedes der Vielzahl von 2D-Renderings stellt das Objekt aus einem anderen, offensichtlichen Betrachtungswinkel dar. Die Datenbank speichert außerdem eine Vielzahl von Overlay-Renderings, wobei jedes Overlay-Rendering einem der Vielzahl von 2D-Renderings entspricht. Des Weiteren beinhaltet jedes Overlay-Rendering eine Schattenschicht, die in einer ersten Farbe gerendert wird und den sichtbaren Schatten des Objekts entspricht, wie sie in der entsprechenden 2D-Rendering gerendert wurden, sowie einen transparenten Hintergrund. Das System umfasst außerdem auf einem maschinenlesbaren Medium gespeicherte maschinenausführbare Anweisungen und die Spezifikation einer Schnittstelle, die verwendet werden kann, um eine Vielzahl von zusammengesetzten Bildern anzuzeigen, wobei jedes zusammengesetzte Bild eines der Overlay-Renderings umfasst, das jeweils ein entsprechendes 2D-Rendering überlagert. Weiterhin umfasst das System einen Server, der über ein Netzwerk kommunikativ mit der Datenbank gekoppelt ist und verwendet werden kann, um die Maschinenanweisungen für die Spezifikation der Schnittstelle über das Netzwerk an ein kommunikativ gekoppeltes Client-Gerät zu senden. Der Server kann auch dazu verwendet werden, von dem Client-Gerät eine Anfrage für das Rendering des Objekts zu erhalten und als Reaktion auf diese Anfrage die Vielzahl von 2D-Renderings und die Vielzahl von Overlay-Renderings aus der Datenbank abzurufen und die Vielzahl von 2D-Renderings und die Vielzahl von Overlay-Renderings zum Client-Gerät zu übertragen.
  • In wiederum einer weiteren Ausführungsform wird ein maschinenlesbares Speichermedium verwendet, auf dem ein Satz von maschinenausführbaren Anweisungen gespeichert sind, die bei einer Ausführung einen Prozessor dazu veranlassen, von einem über ein Netzwerk kommunikativ mit dem Prozessor gekoppelten Server eine Vielzahl von 2D-Renderings zu empfangen. Jedes der Vielzahl von 2D-Renderings stellt ein dreidimensionales Objekt aus einem anderen, offensichtlichen Betrachtungswinkel dar. Die Datenbank veranlasst außerdem den Prozessor dazu, vom Server eine Vielzahl von Overlay-Renderings zu empfangen, wobei jedes Overlay-Rendering einem der Vielzahl von 2D-Renderings entspricht. Jedes Overlay-Rendering beinhaltet Randlinien, die in einer ersten Farbe gerendert werden und den Rändern des Objekts entsprechen, wie es in der entsprechenden 2D-Rendering gerendert wurde, sowie einen transparenten Hintergrund. Des Weiteren veranlassen die Anweisungen den Prozessor, ein kommunikativ mit dem Prozessor gekoppeltes Anzeigegerät dazu, eine Vielzahl von zusammengesetzten Bildern anzuzeigen. Jedes zusammengesetzte Bild beinhaltet eines der Overlay-Renderings, welches das entsprechende 2D-Rendering überlagert.
  • In einer Ausführungsform beinhaltet ein Verfahren zur Darstellung eines Multi-Pose-3D-Renderings eines Objekts auf einem Anzeigegerät das Speichern einer Bilddatei auf einem computerlesbaren Medium. Die Bilddatei speichert die Daten eines einzelnen Bildes. Das Einzelbild beinhaltet eine Vielzahl von Abschnitten, von denen jeder ein zweidimensionales Rendering des Objekts beinhaltet. Jedes der 2D-Renderings stellt das Objekt aus einem anderen, offensichtlichen Betrachtungswinkel dar. Das Verfahren umfasst auch die Übertragung der einzelnen Bilddatei über ein Netzwerk zu einem Client-Gerät, das mit einem Anzeigegerät gekoppelt ist, und die Bereitstellung einer Benutzeroberfläche, die dazu verwendet werden kann, die Vielzahl von 2D-Renderings einzeln anzuzeigen.
  • In einer weiteren Ausführungsform beinhaltet ein System für die Darstellung eines Multi-Pose-3D-Renderings eines Objekts auf einem Anzeigegerät das Speichern einer Bilddatei in einer Datenbank. Die Bilddatei speichert die Daten eines einzelnen Bildes und hat eine Vielzahl von Abschnitten, wobei jeder Abschnitt ein zweidimensionales Rendering des Objekts beinhaltet. Jedes der zweidimensionalen Renderings stellt das Objekt aus einem anderen, offensichtlichen Betrachtungswinkel dar. Das System beinhaltet des Weiteren auf einem maschinenlesbaren Medium gespeicherte maschinenausführbare Anweisungen und die Definition einer Schnittstelle, die dazu verwendet werden kann, die Vielzahl von 2D-Renderings anzuzeigen. Des Weiteren umfasst das System einen Server, der über ein Netzwerk kommunikativ mit der Datenbank gekoppelt ist. Der Server kann dazu verwendet werden, einem über das Netzwerk kommunikativ gekoppelten Client-Gerät die Maschinenanweisungen für die Spezifizierung der Schnittstelle zu übertragen. Der Server kann auch dazu verwendet werden, von dem Client-Gerät eine Anfrage für das Rendering des Objekts zu erhalten und als Reaktion auf diese Anfrage die Bilddatei aus der Datenbank abzurufen und die Bilddatei zum Client-Gerät zu übertragen.
  • In wiederum einer anderen Ausführungsform ist ein Satz von maschinenausführbaren Anweisungen auf einem maschinenlesbaren Speichermedium gespeichert. Bei Ausführung durch den Prozessor veranlassen die Anweisungen den Prozessor, eine Bilddatei von einem über ein Netzwerk kommunikativ mit dem Prozessor gekoppelten Server zu empfangen. Die Bilddatei speichert die Daten eines einzelnen Bildes. Das Einzelbild beinhaltet eine Vielzahl von Abschnitten, wobei jeder Abschnitt ein zweidimensionales Rendering des dreidimensionalen Objekts beinhaltet. Jedes der 2D-Renderings stellt das Objekt aus einem anderen, offensichtlichen Betrachtungswinkel dar. Die Anweisungen können auch dazu verwendet werden, ein mit dem Prozessor gekoppeltes Anzeigegerät dazu zu veranlassen, die Vielzahl von 2D-Renderings jeweils einzeln anzuzeigen.
  • In einer Ausführungsform beinhaltet ein Verfahren zur Darstellung eines Multi-Pose-3D-Renderings eines Objekts auf einem Anzeigegerät das Speichern einer Vielzahl von zweidimensionalen Renderings des Objekts auf einem computerlesbaren Medium. Jedes der Vielzahl von 2D-Renderings stellt das Objekt aus einem anderen, offensichtlichen Betrachtungswinkel dar. Das Verfahren beinhaltet außerdem das Speichern einer Vielzahl von Miniaturbildern, von denen jedes einem der Vielzahl von 2D-Renderings entspricht, auf dem computerlesbaren Medium. Des Weiteren beinhaltet das Verfahren die Übertragung der Vielzahl von 2D-Renderings über ein Netzwerk zu einem Client-Gerät, das mit einem Anzeigegerät gekoppelt ist, und das Übertragen der Vielzahl von Miniaturbildern über das Netzwerk zum Client-Gerät. Das Verfahren umfasst außerdem das Bereitstellen einer Schnittstelle, die verwendet werden kann, um jedes der Vielzahl von Miniaturbildern anzuzeigen und, nachdem das Client-Gerät die 2D-Renderings erhalten hat, jedes der Vielzahl von 2D-Renderings anstelle des entsprechenden Miniaturbildes anzuzeigen.
  • In einer weiteren Ausführungsform beinhaltet ein System für die Darstellung eines Multi-Pose-3D-Renderings eines Objekts auf einem Anzeigegerät das Speichern einer Vielzahl von zweidimensionalen Renderings des Objekts in einer Datenbank. Jedes der 2D-Renderings stellt das Objekt aus einem anderen, offensichtlichen Betrachtungswinkel dar. Die Datenbank speichert außerdem die Vielzahl von Miniaturbildern, von denen jeweils eines der Vielzahl von 2D-Renderings entspricht. Das System beinhaltet des Weiteren auf einem maschinenlesbaren Medium gespeicherte maschinenausführbare Anweisungen. Die Anweisungen implementieren, wenn sie von einem Prozessor ausgeführt werden, eine Benutzeroberfläche, die verwendet werden kann, um das Multi-Pose-3D-Rendering anzuzeigen. Des Weiteren beinhaltet das System einen Server, der über ein Netzwerk kommunikativ mit der Datenbank gekoppelt ist. Der Server kann dazu verwendet werden, die Vielzahl von 2D-Renderings an ein mit dem Netzwerk kommunikativ gekoppeltes Client-Gerät zu übertragen und die Vielzahl von Miniaturbildern zum Client-Gerät zu übertragen. Die Benutzeroberfläche verwendet werden, um jedes der Vielzahl von Miniaturbildern anzuzeigen, und, nachdem das Client-Gerät die 2D-Renderings erhalten hat, jedes der Vielzahl von 2D-Renderings anstelle der entsprechenden Miniaturbilder anzuzeigen.
  • In wiederum einer anderen Ausführungsform ist ein Satz von maschinenausführbaren Anweisungen auf einem maschinenlesbaren Speichermedium gespeichert. Bei Ausführung durch den Prozessor veranlassen die Anweisungen den Prozessor, von einem Server, der über ein erstes Netzwerk kommunikativ mit dem Prozessor gekoppelt ist, eine Vielzahl von zweidimensionale Renderings eines Objekts zu empfangen. Jedes der Vielzahl von 2D-Renderings stellt das Objekt aus einem anderen, offensichtlichen Betrachtungswinkel dar. Die Anweisungen veranlassen außerdem den Prozessor dazu, vom Server eine Vielzahl von Miniaturbildern zu empfangen. Jedes der Miniaturbilder entspricht jeweils einem der Vielzahl von 2D-Renderings. Die Anweisungen veranlassen außerdem ein Anzeigegerät, das kommunikativ mit dem Prozessor gekoppelt ist, zum Anzeigen jedes der Vielzahl von Miniaturbildern sowie, nach vollständigem Empfang der 2D-Renderings, zum Anzeigen jedes der Vielzahl von 2D-Renderings anstelle der entsprechenden Miniaturbilder.
  • Kurzbeschreibung der Zeichnungen
  • Die nachfolgend beschriebenen Figuren zeigen verschiedene Aspekte des Systems und der Verfahren, die hierin offenbart werden. Es sollte selbstverständlich sein, dass jede Figur eine Ausführungsform für einen besonderen Aspekt des offenbarten Systems und der Verfahren veranschaulicht und dass jede der Figuren im Einklang mit dieser möglichen Ausführungsform stehen soll. Des Weiteren bezieht sich die folgende Beschreibung soweit wie möglich auf die Bezugsnummern, die in den folgenden Figuren enthalten sind, in denen die in mehreren Figuren dargestellten Merkmale mit einheitlichen Bezugsnummern bezeichnet sind.
  • 1 ist ein Blockdiagramm, das eine beispielhafte Ausführungsform eines Systems veranschaulicht, das ein Verfahren gemäß der hier beschriebenen Ausführungsformen implementiert;
  • 2A2L zeigen jeweils 12 beispielhafte Anzeigegeräte, die ein Multi-Pose-3D-Rendering eines Objekts gemäß der vorliegenden Beschreibung anzeigen;
  • 3 veranschaulicht ein beispielhaftes 2D-Rendering eines Objekts;
  • 4 veranschaulicht ein beispielhaftes Randlinien-Überlagerungsbild für das entsprechende Rendering von 3;
  • 5 veranschaulicht ein beispielhaftes Randlinien-Überlagerungsbild, das durch die Überlagerung des Überlagerungsbildes von 4 auf das 2D-Rendering von 3 gebildet wird;
  • 6 zeigt eine Reihe von zusammengesetzten Bildern wie die von 5 sowie die jeweiligen Renderings zum Erzeugen der zusammengesetzten Bilder;
  • 7 veranschaulicht ein beispielhaftes 2D-Rendering eines Objekts;
  • 8 veranschaulicht ein beispielhaftes Schatten-Überlagerungsbild für das entsprechende Rendering von 7;
  • 9 veranschaulicht ein beispielhaftes Randlinien-Überlagerungsbild, das durch die Überlagerung des Überlagerungsbildes von 8 auf das 2D-Rendering von 7 gebildet wird;
  • 10 veranschaulicht ein beispielhaftes Bild, das die Vielzahl von 2D-Rendering-Abschnitten eines Objekts gemäß der vorliegenden Beschreibung veranschaulicht;
  • 11 veranschaulicht die Dimensionen des beispielhaften Bildes von 10 in einer anderen Form;
  • 12 veranschaulicht ein weiteres beispielhaftes Bild mit einer Vielzahl von 2D-Rendering-Abschnitten;
  • 13 zeigt eine Webseite, in der eine Anzeigeanwendung eine Benutzeroberfläche erstellt, mit der ein Multi-Pose-3D-Rendering gemäß der vorliegenden Beschreibung angezeigt wird;
  • 14 ist ein Blockdiagramm, das ein Verfahren zur Verbesserung der Geschwindigkeit und Wiedergabetreue eines Multi-Pose-3D-Renderings durch Überlagerung eines zweiten Bildes darstellt;
  • 15 ist ein Blockdiagramm, das ein Verfahren, welches durch einen Server ausgeführt wird, zur Verbesserung der Geschwindigkeit eines Multi-Pose-3D-Renderings durch das Kombinieren von Bildern darstellt;
  • 16 ist ein Blockdiagramm, das ein Verfahren, welches durch ein Client-Gerät ausgeführt wird, zur Verbesserung der Geschwindigkeit eines Multi-Pose-3D-Renderings durch das Kombinieren von Bildern darstellt; und
  • 17 ist ein Blockdiagramm, das ein Verfahren zur Verbesserung der Geschwindigkeit eines Multi-Pose-3D-Renderings durch Vorladen eines optimierten Miniaturbildes darstellt.
  • Detaillierte Beschreibung
  • In den nachfolgend beschrieben Ausführungsformen ermöglicht ein vernetztes System es einem oder mehreren Benutzern, ein Multi-Pose-3D-Rendering eines Objekts oder Modells zu betrachten. Das Multi-Pose-3D-Rendering wird auf einem oder mehreren Servern gespeichert, die das Multi-Pose-3D-Rendering einem oder mehreren Client-Geräten liefern, die innerhalb eines Local Area Network (LAN) oder eines Wide Area Network (WAN) betrieben werden. Ein Client-Gerät kann eine Workstation, ein Desktop-Computer, ein Laptop-Computer, ein Netbook-Computer, ein Tablet-Computer, ein Smartphone, ein Personal Digital Assistent usw. sein. Das Client-Gerät führt die Anweisungen für eine Anzeigeanwendung aus, um die Multi-Pose-Renderings anzuzeigen. Das Multi-Pose-3D-Rendering kann eine Vielzahl von 2D-Renderings sein (die aus erfassten Bildern des Modells oder Objekts bestehen oder texturierte Renderings des Modells oder Objekts sein können), die jeweils das Modell oder das Objekt aus einem anderen, offensichtlichen Betrachtungswinkel darstellen (Pose). Die 2D-Renderings werden nacheinander angezeigt, um eine offensichtliche 3D-Ansicht des Modells oder des Objekts zu präsentieren. Durch Manipulation über die Steuerung der Benutzeroberfläche kann der Benutzer die Anzeige der verschiedenen 2D-Renderings steuern, wodurch das Objekt oder Modell aus dem vom Benutzer gewünschten Winkel präsentiert wird. Zum Beispiel kann der Benutzer das Objekt oder das Modell aus verschiedenen Winkeln um eine vertikale, durch das Modell oder ein Objekt verlaufende Achse (im Folgenden als „schwenken” bezeichnet) oder um eine horizontal durch das Modell oder Objekt verlaufende Achse (im Folgenden als „kippen” bezeichnet) betrachten. Es können verschiedene Techniken implementiert werden, um die Geschwindigkeit und/oder die Effizienz zu steigern, mit der das Multi-Pose-3D-Rendering dargestellt wird.
  • In einigen Ausführungsformen wird ein Randlinien-Überlagerungsbild für jedes Bild der Serie von 2D-Renderings erzeugt. Jedes Überlagerungsbild enthält einen transparenten Hintergrund und eine Strichzeichnung der sichtbaren Ränder des Objekts oder des Modells in seiner aktuellen Pose. Wenn ein Randlinien-Überlagerungsbild auf das entsprechende 2D-Rendering überlagert wird, um ein zusammengesetztes Bild zu bilden, wird das zusammengesetzte Bild für einen Betrachter als Ergebnis der klar definierten Randlinien zu einem schärferen Bild.
  • In einigen Ausführungsformen ist ein für jedes Bild der Serie von 2D-Renderings erzeugtes Schatten-Überlagerungsbild ein sichtbares Schatten-Rendering. Jede Schattenüberlagerung beinhaltet einen transparenten Hintergrund und ein Schattenbild, das die Schatten beinhaltet, die auf dem Objekt in dem 3D-Rendering erscheinen. Wenn ein Schatten-Überlagerungsbild auf das entsprechende 2D-Rendering überlagert wird, um ein zusammengesetztes Bild zu bilden, wird das zusammengesetzte Bild für einen Betrachter als Ergebnis der Schatten zu einem schärferen Bild.
  • In einigen Ausführungsformen sind die Vielzahl von 2D-Renderings Teilbilder (d. h. Abschnitte) einer einzelnen Bilddatei. Die Anzeigeanwendung kann mit den Parametern der einzelnen Bilddatei programmiert werden bzw. diese erhalten, einschließlich der Gesamtabmessungen des Bildes und der Anzahl von 2D-Renderings in der Vielzahl und kann einzelne Bilder der Vielzahl von 2D-Renderings nacheinander anzeigen.
  • In einigen Ausführungsformen überträgt der Server für jedes Rendering der Vielzahl von 2D-Renderings ein Miniaturbild an den Client. Die Miniaturbilder können sich in einer einzelnen Bilddatei oder in separate Bilddateien befinden, werden aber im Vorfeld der 2D-Renderings übertragen. Nach dem Empfang der Miniaturbilder zeigt die Anzeigeanwendung die Miniaturbilder an, die dabei optional auf die gleichen Abmessungen wie die 2D-Renderings skaliert werden können. Die Miniaturbild-Renderings werden auf der Anzeige durch die 2D-Renderings ersetzt, wenn oder nachdem das Herunterladen vom Server abgeschlossen ist.
  • 1 zeigt ein Blockdiagramm einer Ausführungsform eines Systems 10, auf dem die hier beschriebenen Verfahren implementiert werden können. Das System 10 beinhaltet ein Client-Gerät 12, einen Server 14, eine Datenbank 16 und ein Kommunikationsnetzwerk 18, welches das Client-Gerät 12, den Server 14 und die Datenbank 16 koppelt. Wie vorstehend beschrieben wird, kann das Client-Gerät 12 eine Workstation, ein Desktop-Computer, ein Laptop-Computer, ein Netbook-Computer, ein Tablet-Computer, ein Smartphone, ein Personal Digital Assistent usw. sein.
  • Das Client-Gerät 12 beinhaltet in einigen Ausführungsformen eine Zentraleinheit (CPU) 20 zum Ausführen der computerlesbaren Anweisungen, einen Random Access Memory (RAM) 22 zum Speichern von Daten und Befehlen während des Betriebs und einen nichtflüchtigen Speicher 24 zum Speicher von Software-Anwendungen, gemeinsamen Software-Komponenten wie z. B. Dynamic Link Libraries (DLLs), andere von der CPU 20 ausgeführte Programme und Daten. Beispielsweise kann der nichtflüchtige Speicher 24 auf einem Festplattenlaufwerk (HDD) implementiert werden, das über einen Bus mit der CPU 20 gekoppelt ist. Alternativ dazu kann der nichtflüchtige Speicher 24 als Solid-State-Laufwerk implementiert werden (nicht dargestellt). Im Allgemeinen können die Komponenten 20, 22 und 24 in jeder geeigneten Weise implementiert werden. Zum Beispiel kann die CPU 20, obwohl sie auf 1 als eine einzelne Einheit dargestellt ist, ein oder mehrere Prozessoren in einem oder mehreren physischen Paketen sein, entweder ein Single-Core- oder ein Multi-Core-Prozessor sein oder aus einer allgemeinen Verarbeitungseinheit und einem Grafikprozessor bestehen. Des Weiteren kann die CPU 20 unter einem oder mehreren Teilsystemen des Client-Geräts 12 aufgeteilt sein, wie es beispielsweise in einer Workstation der Fall ist, die sowohl über einen Mehrzweck-Prozessor als auch ein Grafik-Subsystem mit einem spezialisierten Prozessor verfügt. Natürlich kann die CPU 20 ein oder mehrere Field Programmable Gate Arrays (FPGAs), digitale Signalprozessoren (DSPs), und/oder anwendungsspezifische integrierte Schaltungen (ASICs) beinhalten.
  • In der Beispielimplementierung von 1, ist das Client-Gerät 12 ein Personal Computer (PC). Im Allgemeinen kann das Client-Gerät 12 jedoch jedes geeignete stationäre oder tragbare Computergerät sein, wie z. B. ein Tablet-PC, ein Smartphone usw. Obwohl das Client-Gerät 12 in dem Beispiel von 1 sowohl Speicher- als auch Prozessor-Komponenten beinhaltet, kann das Client-Gerät 12 in anderen Ausführungsformen ein so genannter Thin Client sein, der für bestimmte Berechnungs- und/oder Speicherfunktionen von einem anderen Computergerät abhängig ist. In einer solchen Ausführungsform befindet sich beispielsweise der nichtflüchtige Speicher 24 außerhalb des Client-Geräts 12 und ist mit dem Client-Gerät 12 über eine Netzwerkverbindung verbunden. Des Weiteren kann das Client-Gerät 12 mit einem Eingabegerät 26 und einem Ausgabegerät 28 gekoppelt sein. Das Eingabegerät 26 kann zum Beispiel ein Zeigegerät wie eine Maus, eine Tastatur, einen Touchscreen, ein Trackball-Gerät, ein Grafiktablett oder ein Mikrofon beinhalten und das Ausgabegerät 28 kann einen LCD-Anzeigemonitor, einen Touchscreen oder ein anderes geeignetes Ausgabegerät beinhalten. Unter Verwendung des Eingabegeräts 26 und des Ausgabegeräts 28 kann ein Benutzer auf eine grafische Benutzeroberfläche (GUI) des Client-Geräts 12 zugreifen.
  • Im Betrieb kann ein Benutzer des Client-Geräts 12 eine Browser-Anwendung 30 verwenden. In einer Ausführungsform kann die Browser-Anwendung 30 eine eigenständige Anwendung sein, die in dem nichtflüchtigen Speicher 24 gespeichert ist und/oder in den RAM 22 geladen wird und durch die CPU 20 ausgeführt werden kann. Durch die in dem Browser 30 integrierte Programmierung oder durch die Implementierung über ein Software-Plug-in 32 (d. h. eine Softwarekomponente, die Funktionen zur Browser-Anwendung 30 hinzufügt) implementiert die Browser-Anwendung 30 eine Anzeigeanwendung 34, die durch die CPU 20 ausgeführt werden kann. Insbesondere kann die Browser-Anwendung 30 eine Interpretationsmaschine implementieren, die innerhalb der Browser-Anwendung 30 kleine Anweisungssätze (d. h. kleine Programme) interpretieren und ausführen kann. Die Anweisungssätze können in dieser Anmeldung als Applets bezeichnet werden. Die Applets können von dem Client-Gerät 12 als Teil einer Webseite 36 empfangen werden, die von der Browser-Anwendung 30 angefordert wird, und nach dem Herunterladen in RAM 22 und/oder im nichtflüchtigen Speicher 24 als Datei 36 gespeichert werden. Wie nachfolgend beschrieben, kann ein durch die Prozessor-CPU 20 ausgeführtes Applet die Anzeigeanwendung 34 dazu veranlassen, auf Anzeigegerät 28 eine Benutzeroberfläche zum Betrachten und Manipulieren des Multi-Pose-3D Renderings anzuzeigen. Die durch die Anzeigeanwendung 34 implementierte Benutzeroberfläche kann eine Reihe von Steuerungen zum Drehen, Neigen, Zoomen, sequentiellen Auswählen und zum anderweitigen Anpassen der Pose der dreidimensionalen Form beinhalten, die in dem Multi-Pose-3D-Rendering modelliert oder dargestellt ist.
  • Der Server 14 implementiert viele derselben Komponenten wie das Client-Gerät 12, darunter beispielsweise eine Zentraleinheit (CPU) 40 zum Ausführen der computerlesbaren Anweisungen, einen Random Access Memory (RAM) 42 zum Speichern von Daten und Anweisungen während des Betriebs, und einen nichtflüchtigen Speicher 44 zum Speichern von Software-Anwendungen, gemeinsame Software-Komponenten wie z. B. Dynamic Link Libraries (DLLs) und andere, von der CPU 40 ausgeführte Programme sowie Daten. Beispielsweise kann der nichtflüchtige Speicher 44 auf einem Festplattenlaufwerk (HDD) implementiert werden, das über einen Bus mit der CPU 20 gekoppelt ist. Alternativ dazu kann der nichtflüchtige Speicher 44 als Solid-State-Laufwerk implementiert werden (nicht dargestellt). Im Allgemeinen können die Komponenten 40, 42 und 44 in jeder geeigneten Weise implementiert werden. Zum Beispiel kann die CPU 40, obwohl sie auf 1 als eine einzelne Einheit dargestellt ist, ein oder mehrere Prozessoren in einem oder mehreren physischen Paketen sein, entweder ein Single-Core- oder ein Multi-Core-Prozessor sein oder aus einer allgemeinen Verarbeitungseinheit und einem Grafikprozessor bestehen. Des Weiteren kann die CPU 40 unter einem oder mehreren Teilsystemen des Servers 14 aufgeteilt sein, wie es beispielsweise in einer Workstation der Fall ist, die sowohl über einen Mehrzweck-Prozessor als auch ein Grafik-Subsystem mit einem spezialisierten Prozessor verfügt. Natürlich kann die CPU 40 ein oder mehrere Field Programmable Gate Arrays (FPGAs), digitale Signalprozessoren (DSPs), und/oder anwendungsspezifische integrierte Schaltungen (ASICs) beinhalten.
  • Des Weiteren kann der Server 14 mit einem Eingabegerät 47 und einem Ausgabegerät 49 gekoppelt werden. Das Eingabegerät 47 kann zum Beispiel ein Zeigegerät wie eine Maus, eine Tastatur, einen Touchscreen, ein Trackball-Gerät, ein Grafiktablett oder ein Mikrofon beinhalten und das Ausgabegerät 49 kann einen LCD-Anzeigemonitor, einen Touchscreen oder ein anderes geeignetes Ausgabegerät beinhalten. Unter Verwendung des Eingabegeräts 47 und des Ausgabegeräts 49 kann ein Benutzer auf eine grafische Benutzeroberfläche (GUI) des Client-Geräts 14 zugreifen.
  • Im Betrieb kann der Server 14 die im nichtflüchtigen Speicher 44 gespeicherte Server-Software 46 implementieren und, wenn durch die Zentraleinheit 40 ausgeführt, im RAM 42 speichern. Die Server-Software 46 kann bei Ausführung durch die CPU 40 veranlassen, dass die Webseiten 48 vom Server 14 zum Client-Gerät 12 über das Netzwerk 18 übertragen werden. In einigen Ausführungsformen können die Webseiten 48 in dem nichtflüchtigen Speicher 44 und/oder in der Datenbank 16 gespeichert werden, während in anderen Ausführungsformen die Server-Software 46 veranlassen kann, dass die Webseiten 48 gemäß der vom Client-Gerät 12 empfangenen Informationen erstellt und im RAM 42 gespeichert werden. Die Webseiten 48 können jede beliebige Webseite sein, die eine Anzeige eines Multi-Pose-3D-Renderings implementiert, zum Beispiel, aber nicht ausschließlich, eine Webseite, die mit einem Online-Händler in Verbindung steht, oder eine Webseite, die mit einer 3D-Modellierungs-Software-Anwendung in Verbindung steht. Der Server 14 und insbesondere der nichtflüchtige Speicher 44 oder der RAM 42 kann für die Anzeigeanwendung 34 auch ein Programm (d. h. maschinenausführbare Anweisungen) speichern, das als Reaktion auf eine Anforderung für die Anzeigeanwendung 34 oder als Teil einer der Webseiten 48 zum Client-Gerät 12 übertragen wird. Der Server 14 kann auch die Modelle 48 speichern, die von einer 3D-Modellierungsanwendung verwendet werden können.
  • Die Datenbank 16 kann unter anderem die Datensätze 50 speichern, die mit den Multi-Pose-3D-Renderings in Verbindung stehen. In einer Ausführungsform können ein oder mehrere der Datensätze 50 ein 3D-Modell 52 umfassen, das von der 3D-Modellierungsanwendung oder in einer 3D-Darstellung, wie beispielsweise eine 3D-Karte, verwendet werden kann. Der Datensatz 50 enthält auch eine Vielzahl von 2D-Renderings 54 für das Modell 52. Jedes der Renderings 54 stellt das durch Modell 52 dargestellte Objekt aus einem anderen Winkel dar. Die Anzahl der Renderings 54, die dem Datensatz 50 zugewiesen sind, kann eine beliebige Zahl größer als eins sein, ist aber im Allgemeinen in einem Bereich von vier bis 40. In einigen Ausführungsformen können die Renderings 54 alle das Objekt zeigen, das durch das Modell 52 aus einer ähnlichen oder gleichen Höhe repräsentiert wird, während das Objekt gedreht wird. Das bedeutet, dass 36 Bilder das Objekt bei 10 Grad Unterschied im Drehwinkel von einem Bild 54 auf das nächste Rendering 54 darstellen können. In anderen Ausführungsformen können die Renderings 54 das durch das Modell 52 repräsentierte Objekt aus einer Reihe von Drehansichten auf einer Höhe (d. h. Schwenkwinkel), aus einer Reihe von verschiedenen Höhen (d. h. Neigungswinkel) und/oder aus einer Reihe von Drehpositionen auf jeweils einer von mehreren Höhen darstellen, um so eine vollständige Sicht des Objekts bereitzustellen. Auf diese Weise kann ein Benutzer, der die Renderings betrachtet (z. B. mithilfe der Anzeigeanwendung 34, die auf dem Client-Gerät 12 betrieben wird), unter Umständen in der Lage sein, das Objekt zu betrachten, ohne dass das Client-Gerät 12 dazu benötigt wird, um eine Softwareanwendung auszuführen, mit der Echtzeit-3D-Bilder gerendert werden. Stattdessen kann der Benutzer das Objekt „schwenken” und/oder „kippen” und das Objekt aus jeglichem verfügbaren Winkeln betrachten, wodurch die Illusion von interaktivem 3D entsteht, auch wenn sich in der Realität nichts geändert hat, außer, aus welchem Blickwinkel die 2D-Renderings präsentiert werden.
  • Figs. 2A2L veranschaulichen ein Beispiel einer Anzeige 60, wie sie beispielsweise durch das Anzeigegerät 28 bei Ausführung der Anzeigeanwendung 34 angezeigt wird. Die Anzeige 60 zeigt ein kugelförmiges 3D-Objekt 62, auf dem sich die zwei Markierungen 64 und 66 befinden. Eine Steuerungsleiste 68 am unteren Rand der Anzeige 60 ermöglicht es einem Benutzer, die Ansicht des Objekts 62 zu steuern, beispielsweise durch Aktivieren (z. B. „Anklicken” mit einer Zeigevorrichtung wie einer Maus, die als die Eingabeeinrichtung 26 dient) der Steuerungen 70 und 72, um ein vorheriges bzw. nächstes Bild auszuwählen, oder durch Bewegen eines Schiebereglers 74. In der beispielhaften Anzeige 60 von 2A2L, wird das Objekt 62 in 12 Posen mit 12 entsprechenden 2D-Renderings dargestellt. Jedes der entsprechenden 2D-Renderings zeigt das Objekt 62 aus einer gleichen Höhe, aber aus einem unterschiedlichen Winkel. In jedem aufeinanderfolgenden 2D-Rendering erscheint das Objekt 62 mit einer Drehung von jeweils 30 Grad (ein Zwölftel einer vollen Drehung). Beim Betrachten der 2D-Renderings in Folge, scheint sich das Objekt 62 zu drehen, ohne die Position zu verändern, sodass der Benutzer das Objekt 62 aus verschiedenen Winkeln sehen kann. In einigen Ausführungsformen kann der Schieberegler 74 eine numerische Anzeige 76 beinhalten, die anzeigt, welche der 2D-Renderings gerade angezeigt wird. In einigen Ausführungsformen kann der Benutzer das Eingabegerät 26 benutzen, um per „Click and Drag” das Objekt bei interaktiven Geschwindigkeiten zu drehen. In einigen Ausführungsformen sind die 12 2D-Renderings in einem stark komprimierten Format gespeichert, um die Größe der zugeordneten Datei bzw. Dateien zu minimieren. In diversen Ausführungsformen können die 12 2D-Renderings das Objekt 62 in Farbe oder in Graustufen darstellen.
  • Es ist selbstverständlich, dass, obwohl 2A2L ein Ausführungsbeispiel zeigen, in dem ein Multi-Pose-Rendering des 3D-Objekts 62 mithilfe von 12 2D-Renderings erstellt wird, das Multi-Pose-Rendering des 3D-Objekts aus einer verschiedenen Anzahl von 2D-Renderings erstellt werden kann, von nur drei oder vier, bis zu 40 oder mehr.
  • Unabhängig von der Anzahl der 2D-Renderings, die zum Erstellen des Multi-Pose-3D-Renderings verwendet werden, wird in einem ersten Aspekt des offenbarten Verfahrens und Systems ein Überlagerungsbild hinzugefügt, um die Wiedergabetreue des Multi-Pose-3D-Renderings zu verbessern, selbst in Fällen, in denen die 2D-Renderings erhebliche Bildkompression verwenden. Das Überlagerungsbild enthält ein Rendering der Randlinien, die in jedem der anderen 2D-Renderings erscheinen. Das Überlagerungsbild ist ein zweifarbiges Bild, das einen transparenten Hintergrund (erste Farbe) und ein einfarbiges (zweite Farbe) Rendering der Randlinien aufweist. In einer Ausführungsform ist das Rendering der Randlinien schwarz, obwohl auch andere Farben verwendet werden können, beispielsweise abhängig davon, welches Objekt modelliert wird (z. B. wenn das Objekt, das modelliert wird, eine sehr dunkle Farbe hat – beispielsweise schwarz – ist es vielleicht vorzuziehen, die Farbe Weiß zu verwenden, um die Randlinien in dem zusätzlichen Bild zu rendern).
  • Das Überlagerungsbild stellt nicht nur die Randlinien dar, die einem einzelnen Bild der 2D-Renderings entsprechen, sondern stellt stattdessen die Randlinien dar, die jedem der anderen 2D-Renderings entsprechen. Das bedeutet unter erneuter Bezugnahme auf das in 2A2L veranschaulichte Beispiel, in dem das Multi-Pose-3D-Rendering mithilfe von 12 2D-Renderings erreicht wird, dass das Überlagerungsbild in einer Ausführungsform 12 Randlinien-Renderings umfasst, die jeweils einem der 12 2D-Renderings entsprechen. Jedes der 12 Randlinien-Renderings hat eine bestimmte Position innerhalb des Überlagerungsbildes. Die Anzeigeanwendung 34, die auf dem Client-Gerät 12 ausgeführt wird, zeigt für jedes der 12 2D-Renderings einen entsprechenden Abschnitt des Überlagerungsbildes zum Überlagern der Randlinien-Renderings über dem 2D-Rendering an.
  • Figs. 35 veranschaulichen anhand eines einzelnen 2D-Renderings die Funktionsweise des Konzepts der Verwendung von Randlinien-Überlagerungsbildern. 3 stellt ein einzelnes texturiertes 2D-Rendering 80 ein rechteckiges 3D-Objekt 82 dar. Das texturierte Rendering 80 kann eines aus einer Gruppe solcher Bilder sein, die das Objekt 82 aus einer Vielzahl von Winkeln darstellen, sodass, wenn die Renderings nacheinander betrachtet werden, die Renderings ein Multi-Pose-3D-Rendering des Objekts 82 bilden. In dem texturierten Rendering 80 hat das Objekt 82 drei sichtbare Seiten: 84, 86 und 88. Die Texturierung der Seiten 84, 86 und 88 sind in 3 durch schraffierte Linien in unterschiedlichen Ausrichtungen dargestellt. 4 zeigt einen Abschnitt 90, der einem Randlinien-Überlagerungsbild entspricht. Der entsprechende Abschnitt 90 beinhaltet ein Randlinien-Rendering 92 des Objekts 82, das auf einem transparenten Hintergrund 94 dargestellt wird (in 4 durch die schraffierte Fläche 96 gekennzeichnet). Die Randlinien 97A97D markieren die Ränder der Fläche 88, wobei die Randlinien 97B und 97C jeweils den Schnittpunkt der Flächen 88 und 84 markieren sowie den Schnittpunkt der Flächen 86 und 88. In ähnlicher Weise markieren die Randlinien 97E97G, zusammen mit Randlinie 97C die Ränder der Fläche 86, wobei die Randlinie 97E den Schnittpunkt der Flächen 84 und 86 markiert. Die Randlinien 97H und 97I markieren, zusammen mit den Randlinien 97B und 97E, den Rand der Fläche 84.
  • Die Anzeigeanwendung 34 kann, wenn diese durch die CPU 20 des Client-Geräts 12 ausgeführt wird, verwendet werden, um den entsprechenden Abschnitt 90 des Überlagerungsbildes auszuwählen und den entsprechenden Abschnitt 90 über dem texturierten 2D-Rendering 80 zu überlagern. 5 zeigt eine Anzeige 100, die durch die Anzeigeanwendung 34 erzeugt wird, sobald Anzeigeanwendung 34 das zusammengesetzte Bild 102 anzeigt, das durch Überlagerung des 2D-Renderings 80 mit dem entsprechenden Abschnitt 90 des Randlinien-Renderings erzeugt wird. Das heißt, dass das 3D-Objekt 82 in dem texturierten Rendering 80 dargestellt wird und der Randlinienabschnitt 90 über dem Rendering 80 überlagert wird, sodass die Randlinien 97A97I an den Rändern der Flächen 84, 86 und 88 ausgerichtet sind, so wie im Rendering 80 dargestellt. Im Allgemeinen kann dies in einigen Ausführungsformen erreicht werden, indem das texturierte Rendering 80 und der Randlinien-Rendering-Abschnitt 90 so erzeugt werden, dass sie identische Pixelabmessungen aufweisen (z. B. 400×400, 500×500, 400×300 usw.), sodass jedes Pixel des texturierten Renderings 80 ein entsprechendes Pixel in dem Randlinien-Rendering-Abschnitt 90 aufweist, das entweder eine transparente Farbe hat (d. h. dass es das entsprechende Pixel in dem texturierten Rendering 80 nicht verändert oder verdeckt) oder eine Randlinien-Farbe hat (d. h. dass es das entsprechende Pixel in dem texturierten Rendering 80 verdeckt).
  • Als Vorteil hieraus ergibt sich, dass die resultierende Anzeige 100 das 3D-Objekt 82 in dem schärfer aussehenden zusammengesetzten Bild 102 darstellt, trotz der Kompression des zugrunde liegenden Renderings 80. Da das Überlagerungsbild im GIF- oder PNG-Dateiformat gespeichert wird und nur aus zwei Farben besteht, ermöglicht es außerdem die maximale verlustfreie Komprimierung. Das LZW-Komprimierungsverfahren, das sowohl in PNG- als auch in GIF-Dateiformaten verwendet wird, ist besonders effizient bei langen, horizontalen Linien, die aus Pixeln derselben Farbe bestehen. Dementsprechend kann die Dateigröße (und die entsprechenden Übertragungszeiten für die Datei) minimiert werden. Des Weiteren können in einigen Ausführungsformen die Randlinien-Renderings des Überlagerungsbildes, unter Umständen wahlweise, ohne die zugrunde liegenden, texturierten Renderings angezeigt werden, um so eine nur auf den Rändern basierende Ansicht (auch als „Drahtmodell”-Ansicht bezeichnet) zu präsentieren. Zusätzlich kann in einer Ausführungsform das Überlagerungsbild vor den verbleibenden 2D-Renderings zum Client-Gerät 12 übertragen werden (d. h. durch das Client-Gerät 12 heruntergeladen werden), sodass ein Benutzer das Objekt manipulieren kann (z. B. durch Schwenken), bevor die verbleibenden 2D-Renderings vollständig heruntergeladen werden. In einigen Ausführungsformen ist der Transparenzgrad des Überlagerungsbildes und insbesondere der Randlinienfarbe variabel anpassbar (z. B. mit einem Schieberegler der Anzeigeanwendung 34), um zu steuern, wie stark die Ränder erscheinen.
  • In einigen Ausführungsformen wird das Überlagerungsbild unter Verwendung von Scalable Vector Graphics (SVG) anstelle von gerenderten Pixeln erstellt, um die dieselbe oder eine ähnliche Wirkung zu erreichen wie mit dem im GIF- oder PNG-Dateiformat gespeicherten Überlagerungsbild. Es ist außerdem selbstverständlich, dass die Überlagerungsbilder, obwohl diese vorstehend als Abschnitte einer einzelnen Bilddatei beschrieben wurden, allesamt individuelle Dateien sein könnten, die jeweils von Server 14 zum Client-Gerät 12 übertragen werden.
  • 6 veranschaulicht das Prinzip des ersten Aspekts in der Anwendung in einer Ausführungsform, bei der jedes der 2D-Renderings und jedes der Randlinien-Renderings ein Bild in einer einzelnen Datei ist. Die obere Reihe von Bildern in 6 zeigt eine Serie von sechs texturierten Renderings 80, die von der Anzeigeanwendung 34 nacheinander angezeigt werden, um ein Multi-Pose-3D-Rendering zu erstellen. Die mittlere Reihe von Bildern in 6 zeigt eine Serie von sechs Randlinien-Renderings 92A, die jeweils dem texturierten Rendering 80 direkt darüber entsprechen. Die Randlinien-Renderings 92A werden hier separat dargestellt, da sie es auch sein könnten, wenn sie in jeweils einzelnen Dateien gespeichert werden (anstatt in einer einzigen Datei gespeichert zu sein, die in die Abschnitte 90 unterteilt ist). Die untere Reihe von Bildern in 6 zeigt eine Serie von sechs zusammengesetzten Bilder 102, die jeweils durch die Überlagerung des texturierten Renderings 80 in der oberen Reihe mit dem Randlinien-Rendering 92A in der mittleren Reihe entstehen würden.
  • In einem zweiten Aspekt des offenbarten Verfahrens und Systems wird ein Überlagerungsbild hinzugefügt, um die Wiedergabetreue des Multi-Pose-3D-Renderings zu verbessern. Das Überlagerungsbild ist ein Rendering der Schatten, die in jedem der anderen 2D-Renderings erscheinen. Wie das vorstehend beschriebene Überlagerungsbild, ist das Überlagerungsbild im zweiten Aspekt ein zweifarbiges Bild, mit einem transparenten Hintergrund und einem einfarbigen Rendering der Schatten. In einer Ausführungsform ist das Rendering der Schatten in Schwarz gehalten, obwohl, wie vorgehend beschrieben, für die Randlinien auch andere Farben verwendet werden dürfen.
  • In dem zweiten Aspekt stellt das Überlagerungsbild nicht nur die Schatten dar, die einer einzelnen Darstellung der anderen 2D-Renderings entsprechen, sondern zeigt stattdessen die Schatten, die den jeweils anderen Darstellungen des 2D-Renderings entsprechen. Wie bei dem Randlinien-Überlagerungsbild umfasst das Schatten-Überlagerungsbild 12 Schatten-Renderings im Ausführungsbeispiel von 2A2L, bei dem jedes der 12 Schatten-Renderings jeweils einem der 2D-Renderings entspricht. Jedes der 12 Schatten-Renderings hat eine bestimmte Position innerhalb des Überlagerungsbildes. Die Anzeigeanwendung 34, die auf dem Client-Gerät 12 ausgeführt wird, zeigt für jedes der 12 2D-Renderings einen entsprechenden Abschnitt des Überlagerungsbildes an, um das Schatten-Rendering über das 2D-Rendering zu überlagern.
  • Figs. 79 veranschaulichen, anhand eines einzelnen 2D-Renderings, wie das Konzept der Verwendung eines Schatten-Überlagerungsbildes funktioniert. In 7 stellt das einzelne texturierte 2D-Rendering 80 (aus 3) das rechteckige 3D-Objekt 82 dar. Wieder kann das texturierte Rendering 80 eines aus einer Gruppe solcher Renderings sein, die das Objekt 82 aus einer Vielzahl von Winkeln so anzeigen, dass bei Betrachtung der Renderings in Folge die Renderings ein Multi-Pose-3D-Rendering des Objekts 82 bilden. 8 zeigt einen Abschnitt 112, der einem Schatten-Überlagerungsbild entspricht. Der entsprechende Abschnitt 112 enthält ein Schatten-Rendering 114 des Objekts 82, das sich auf einem transparenten Hintergrund 116 befindet (in 8 durch die schraffierte Fläche 118 gekennzeichnet). Ein Schatten 115 ist in dem entsprechenden Abschnitt 112 durch ein gepunktetes Feld dargestellt.
  • Die Anzeigeanwendung 34 kann, wenn diese durch die CPU 20 des Client-Geräts 12 ausgeführt wird, verwendet werden, um den entsprechenden Abschnitt 112 des Überlagerungsbildes auszuwählen und den entsprechenden Abschnitt 112 über dem texturierten 2D-Rendering 80 zu überlagern. 9 zeigt eine Anzeige 120, die durch die Anzeigeanwendung 34 erzeugt wird, wenn die Anzeigeanwendung 34 ein zusammengesetztes Bild 120 anzeigt, das durch Überlagerung des 2D-Renderings 80 mit dem entsprechenden Abschnitt 112 des Schatten-Renderings erzeugt wird. Das bedeutet, dass das 3D-Objekt 82 in dem texturierten Rendering 80 dargestellt wird und der Schatten-Rendering-Abschnitt 114 auf dem Rendering 80 überlagert wird, sodass der Schatten 115 sich an dem Rendering 80 ausrichtet. Im Allgemeinen kann dies in einigen Ausführungsformen erreicht werden, indem sowohl das texturierte Rendering 80 als auch der Schatten-Rendering-Abschnitt 114 mit identischen Pixelabmessungen erstellt werden (z. B. 400×400, 500×500, 400×300 usw.), sodass jedes Pixel der texturierten Renderings 80 ein entsprechendes Pixel in dem Schatten-Rendering-Abschnitt 114 hat, das entweder eine transparente Farbe hat (d. h. dass es das entsprechende Pixel weder ändert oder noch in dem texturierten Rendering 80 verdeckt) oder ein Schattenfarbe (d. h. dass es das entsprechende Pixel in dem texturierten Rendering 80 verdunkelt oder verdeckt).
  • Als Vorteil hieraus ergibt sich, dass die resultierende Anzeige 120 das 3D-Objekt 82 in dem schärfer aussehenden zusammengesetzten Bild 122 darstellt, trotz der Kompression des zugrunde liegenden Renderings 80. Da das Überlagerungsbild im GIF- oder PNG-Dateiformat gespeichert wird und nur aus zwei Farben besteht, ermöglicht es außerdem die maximale verlustfreie Komprimierung. Dementsprechend kann die Dateigröße (und die entsprechenden Übertragungszeiten für die Datei) minimiert werden. In einigen Ausführungsformen ist der Transparenzgrad des Überlagerungsbildes und insbesondere der Schattenfarbe variabel einstellbar (z. B. mit einem Schieberegler der Anzeigeanwendung 34), um so zu steuern, wie stark die Schatten dargestellt.
  • In einigen Ausführungsformen wird das Überlagerungsbild unter Verwendung von Scalable Vector Graphics (SVG) anstelle von gerenderten Pixeln erstellt, um dieselbe oder eine ähnliche Wirkung zu erreichen, wie mit einem im GIF- oder PNG-Dateiformat gespeichertem Überlagerungsbild.
  • Obwohl die Überlagerungsbilder im Vorstehenden als Einzelbilder beschrieben werden, von denen jedes Bereiche enthält, die allen der 2D-Renderings der Multi-Pose-3D-Rendering entsprechen, ist es möglich (obwohl, selbstverständlich, weniger effizient), ein separates Überlagerungsbild für jedes der entsprechenden 2D-Renderings des Multi-Pose-3D-Renderings zu verwenden.
  • In einem dritten Aspekt des offenbarten Verfahrens und Systems wird die Zeit, die erforderlich ist, um das Multi-Pose-3D-Rendering herunterladen, durch Kombinieren der mehrfachen 2D-Renderings in eine einzelne Bilddatei verringert. Unter jetziger Bezugnahme auf 10 wird ein Ausführungsbeispiel dargestellt, bei dem ein Multi-Pose-3D-Rendering aus 36 2D-Renderings 130 erzeugt wird. Auch wenn die Ausführungsform in 10 ein Multi-Pose-3D-Rendering aus 36 2D-Renderings 130 erstellt, kann natürlich eine verschiedene Anzahl von 2D-Renderings verwendet werden, wie es in dem Multi-Pose-3D-Rendering der Fall war, das in 2A2L dargestellt ist. Unabhängig davon werden in der Ausführungsform von 10 die 36 2D-Renderings 130 horizontal in einem einzigen Bild angeordnet und in einer Einzeldatei 132 gespeichert. In 10 zeigen die gestrichelten Linien A und G die äußersten linken und rechten Ränder des einzelnen Bildes 132, während die gestrichelten Linien B bis F die zusammenhängenden Grenzen des Bildes 132 zeigen. Das heißt, dass sich die gestrichelten B-Linien nebeneinander befinden, die gestrichelten C-Linien sich nebeneinander befinden usw., sodass die 36 2D-Renderings 130 ein einzelnes, horizontal ausgerichtetes Bild 132 bilden würden.
  • Daher würde in Hinblick auf 11 die Einzeldatei das Einzelbild 132 speichern. In dem in 11 dargestellten beispielhaften Einzelbild 132 wird das Einzelbild 132 in 36 Abschnitte 134 unterteilt, von denen jeder einem der 2D-Renderings entspricht. Die Abschnitte 134 sind so ausgerichtet, dass sie sich über eine einzelne horizontale Reihe erstrecken. Das heißt, dass die Abschnitte 134 in einer Reihe angeordnet sind und jeder der Abschnitte 134 eine Breite hat, die gleich 1/36 der Gesamtbreite des Einzelbildes 132 ist. Wenn beispielsweise jeder Abschnitt 136 eine Breite von 500 Pixeln und eine Höhe von 375 Pixeln hat, dann ist die gesamte Breite des Einzelbildes 132 18000 Pixel (500×36) und die Gesamthöhe des Einzelbildes 132 beträgt 375 Pixel.
  • Statt also jedes der 36 eigenständigen 2D-Renderings anzufordern und herunterzuladen, führt die Anzeigeanwendung 34 nur die Anfrage und den Download für das Einzelbild 132 aus. Als Ergebnis werden die benötigten Kapazitäten in Bezug auf Dateigröße und Bandbreite erheblich verringert. Da außerdem viele Browser eine Download-Warteschlange haben, die für das gleichzeitige Herunterladen von nur 1 bis 4 Dateien verwendet werden kann, kann dies beim Download vieler Einzelbilder problematisch werden, was beim Herunterladen eines einzelnen (allerdings größeren) Bildes umgangen wird. In einem spezifischen Fall des vorstehend beschriebenen Beispiels unter Bezugnahme auf 10 und 11 kann das Verfahren den Download von 828 kB über 36 HTTP-Anfragen auf 173 kB über eine einzige Anfrage zu verringern. Dies entspricht etwa einer Verringerung von 80% bei der Größe.
  • In einigen Ausführungsformen können die Multi-Pose-3D-Renderings es dem Betrachter ermöglichen, das Objekt zusätzlich zum Schwenken auch zu kippen. Unter jetziger Bezugnahme auf 12 kann ein Einzelbild 136 die Abschnitte 138 umfassen, die horizontal über dem Bild 136 angeordnet sind und dabei beispielsweise jeweils jedem der in 10 dargestellten 36 2D-Renderings 130 entsprechen. Wie vorstehend beschrieben, kann das sequentielle Betrachten der 36 2D-Renderings 130 es dem Betrachter ermöglichen, das Objekt in dem Multi-Pose-3D-Rendering scheinbar schwenken zu lassen. Das Einzelbild 136 kann außerdem für jedes der 36 2D-Renderings, mit denen das Objekt geschwenkt wird, Abschnitte 140 des Bildes umfassen, die es dem Betrachter zusammen ermöglichen, das Objekt in dem Multi-Pose-3D-Rendering zu kippen. In der in 12 dargestellten Ausführungsform sind die Abschnitte 140 im Bild senkrecht nach unten angeordnet. Das Einzelbild 136 enthält beispielsweise neun solcher Abschnitte 140 („Neigeposition”) für jede der 36 Schwenkpositionen (oder anders ausgedrückt, 36 Schwenkabschnitte für jede der neun Neigepositionen), wodurch es dem Betrachter ermöglicht wird, das Objekt oder das Modell in dem Multi-Pose-3D-Rendering aus 324 verschiedenen Winkeln zu betrachten. Das Einzelbild 136 würde in dem in 12 gezeigten Beispiel eine Gesamtgröße von 18.000 Pixeln haben; (500×36) mal 3.375 Pixel (375×9). Obwohl die Schwenkpositionen und Neigepositionen in 12 so dargestellt sind, dass diese jeweils horizontal und vertikal in dem Bild angeordnet sind, könnten die Schwenkpositionen und Neigepositionen stattdessen natürlich auch vertikal bzw. horizontal angeordnet sein.
  • In einigen Ausführungsformen wird das Einzelbild 136 in einem progressiven Format als Datei gespeichert (z. B. JPEG- oder PNG-Datei). Wenn das Einzelbild 136 zum Client-Gerät 12 übertragen wird, kann es dem Benutzer möglich sein, eine Ansicht des das Multi-Pose-3D-Renderings in niedriger Qualität zu betrachten und/oder zu neigen und/oder zu schwenken, bevor die Übertragung des Einzelbildes 136 abgeschlossen ist. Dies ist ein Vorteil gegenüber Verfahren unter Verwendung individueller Renderings (z. B. die in 2A2L dargestellten Bilder), da in diesen Verfahren der Download einiger Renderings vor dem Download anderer beendet werden würde.
  • In einem vierten Aspekt des offenbarten Verfahrens und Systems wird mithilfe von Miniaturbildern eine Vorschau des Multi-Pose-3D-Renderings gezeigt, bis das Bild bzw. die Bilder in einer höheren Qualität (z. B. das Einzelbild 136 oder der vorstehend beschriebene Satz von 2D-Renderings) übertragen worden sind und eine von mehreren Strategien eingesetzt wurde, um die Zeit zwischen der Auswahl des Modells oder Objekts, das in dem Multi-Pose-3D-Rendering dargestellt werden soll, und dem Zeitpunkt, bei dem der Benutzer anfangen kann, das Multi-Pose-3D-Rendering zu manipulieren (z. B. durch Schwenken oder Neigen) zu optimieren (d. h. zu verringern). In einigen Ausführungsformen können die Miniaturbilder mit einer niedrigeren Farbtiefe gerendert werden als die der 2D-Renderings, die das Multi-Pose-3D-Rendering bilden. Das bedeutet, dass obwohl eine „True-Color”-Ansicht (z. B. 24-Bit-Farbe oder höher) erwünscht sein kann, um die Feinheiten der Textur und Schattierung zu erfassen und so das Multi-Pose-3D-Rendering realistischer erscheinen zu lassen, eine geringere Bit-Tiefe für das Rendern der Miniaturbilder verwendet werden kann. In einigen Ausführungsformen können die Miniaturbilder als 4-Bit-Bilder (16 Farben) oder als 5-Bit-Bilder (32 Farben) gerendert werden, es können aber auch höhere bzw. niedrigere Bit-Tiefen verwendet werden. Zwar kann es zu einer Abnahme der Qualität führen, jedoch wird die Qualität für die Vorschau akzeptabel sein und die niedrigere Bit-Tiefe führt zu kleineren Bildern, was zu einer Verringerung der Zeitdauer führt, die benötigt wird, bis der Benutzer das Multi-Pose-3D-Rendering manipulieren kann.
  • In einigen Ausführungsformen wird zusätzlich oder anstelle dazu eine weitere Strategie unter Verwendung einer geringeren Farbtiefe verwendet. Anstatt die Miniaturbilder in ihrer Originalgröße zu verwenden, können die Miniaturbilder durch den Browser und/oder die Anzeigeanwendung skaliert werden. Wenn beispielsweise das Multi-Pose-3D-Rendering 400×400 Pixel hat, können die Vorschaubilder auf eine bestimmte geringere Größe gerendert werden, aber auf 400×400 Pixel skaliert werden. Zum Beispiel, aber nicht ausschließlich, können die Miniaturbilder mit 50×50 Pixeln, mit 100×100 Pixeln, mit 200×200 Pixeln usw. gerendert werden. Diese Strategie ist besonders vorteilhaft, wenn die Miniaturbilder eine Vergrößerung mit einer Potenz von 2 erfordern (d. h. Zoomen), da viele Browser mittlerweile in der Lage sind, Bilder in 2er Potenzen zu skalieren. Aus diesem Grund kann das Rendern von Miniaturbildern mit 100×100 Pixeln (oder 200×200 Pixeln) vorteilhaft sein, wenn es eine Vorschau für ein Multi-Pose-3D-Rendering mit 400×400 Pixel ist, weil die Miniaturbilder leicht mit einem Faktor kann vier (oder zwei) skaliert werden können, während Miniaturbilder mit 250×250 oder 125×125 Pixeln – auch wenn dies funktionieren könnte – besser für ein 500×500 Pixel großes Multi-Pose-3D-Rendering geeignet wären.
  • Des Weiteren können in einigen Ausführungsformen die Miniaturbilder in einer Dimension anders skaliert werden, als in der anderen. Zum Beispiel kann jedes der Miniaturbilder mit weniger Pixeln entlang der horizontalen Achse gerendert werden. Das menschliche Auge und Gehirn ist es gewohnt, „Bewegungsunschärfe” zu kompensieren, wenn sich ein Objekt über das Sichtfeld bewegt, um so die Form des unscharfen Objekts zu bestimmen. Unter Ausnutzung dieses Prinzips kann das sich drehende Objekt oder Modell ohne wesentliche Auswirkungen auf die empfundene Qualität des zugrunde liegenden Bildes entlang der Schwenkachse (d. h. die horizontale Achse) mit weniger Pixeln gerendert werden. Wenn beispielsweise das Multi-Pose-3D-Rendering 400 Pixel breit×400 Pixel hoch ist, können die Miniaturbilder als 50 Pixel breit×100 Pixel hoch gerendert werden. Die 50 von links nach rechts verlaufenden Pixel werden doppelt so stark gestreckt wie die 100 von oben nach unten verlaufenden Pixel, was die Illusion der Bewegungsunschärfe erzeugt, die das Auge des Betrachters entsprechend kompensieren wird. Zusätzlich nutzt diese Ausführungsformen, wie auch andere, die Vorteile der LZW-Komprimierung, mittels derer wiederholte horizontale Pixel komprimiert werden, wodurch die Dateigröße reduziert wird.
  • Zusätzlich oder alternativ dazu können in einigen Ausführungsformen die Miniaturbilder von links nach rechts in einem einzigen Bild gruppiert werden, ähnlich wie das vorstehend beschriebene Verfahren bezüglich der 2D-Renderings, die das Multi-Pose-3D Rendering bilden, und die in 10 und 11 dargestellt sind. Wie bei den 2D-Renderings minimiert die Anordnung der Miniaturbilder in einer einzelnen Bilddatei und insbesondere die Anordnung von links nach rechts die Anzahl von HTTP-Anfragen (d. h. die Anzahl der Dateien, die heruntergeladen werden müssen und die entsprechende Kapazitäten-Bandbreite) und nutzt die Effizienz der LZW-Komprimierungsmethode, welche bei PNG- und GIF-Bildern verwendet wird, was wiederum die Dateigröße weiter verringert.
  • Selbstverständlich können die verschiedenen Aspekte der vorstehend beschriebenen Verfahren einzeln oder in Kombination verwendet werden. Zum Beispiel, aber nicht ausschließlich, zeigt in einer Ausführungsform ein Multi-Pose-3D-Rendering ein modelliertes Objekt, das über 36 Posen hinweg geschwenkt werden kann. Das bedeutet, dass das Multi-Pose-3D-Rendering das Objekt jeweils in Schritten von etwa 10 Grad um eine zentrale vertikale Achse gedreht zeigt. Jede Pose des Multi-Pose-3D-Renderings stellt das Objekt in einem Bild von 400 Pixel×400 Pixel dar. Die 36 2D-Renderings, mit denen das Multi-Pose-3D-Rendering erstellt wird, werden in einer einzelnen Bilddatei gerendert, mit einer Größe von 14.400 Pixel×400 Pixel. Anders ausgedrückt, werden die 36 2D-Renderings in der einzelnen Bilddatei von links nach rechts angeordnet. Eine Randlinien-Überlagerungsdatei beinhaltet 36 Randlinien-Renderings, die jeweils einem der 36 2D-Renderings entsprechen und in einer einzelnen Farbe auf einen transparenten Hintergrund gerendert werden. Die 36 Randlinien-Renderings bestehen jeweils aus 400×400 Pixel, werden in True Color gerendert und werden kollektiv von links nach rechts in einem 14.400 Pixel×400 Pixel Bild in einer einzelnen Bilddatei angeordnet und gespeichert. Eine Schatten-Überlagerungsdatei beinhaltet 36 Schatten-Renderings, die jeweils einem der 36 2D-Renderings entsprechen und in einer einzelnen Farbe auf einen transparenten Hintergrund gerendert werden. Auch die 36 Schatten-Renderings bestehen jeweils aus 400×400 Pixeln und werden kollektiv von links nach rechts in einem 14.400 Pixel×400 Pixel Bild in einer einzelnen Bilddatei angeordnet und gespeichert. Eine Miniaturbilddatei enthält ebenfalls 36 Miniaturbilder, die jeweils einem der 36 2D-Renderings entsprechen und in einer niedrigeren Farbtiefe und Auflösung als die 2D-Renderings gerendert werden. Die 36 Miniaturbilder sind jeweils 50 Pixel breit und 100 Pixel hoch und werden kollektiv von links nach rechts aneinandergereiht in einem 1800 Pixel breiten und 100 Pixel hohen Bild in einer einzelnen Bilddatei gespeichert. Als zusätzlicher Vorteil kann die Miniaturbilddatei auch dafür genutzt werden, eine kleinere Version des Multi-Pose-3D-Renderings zu bieten, um diese beispielsweise als Vorschau neben den Suchergebnissen zu verwenden.
  • In der beispielhaften Ausführungsform werden die vier Bilddateien (Miniaturbilder, Randlinien-Renderings, Schatten-Renderings und 2D-Renderings) vom Server 14 zum Client-Gerät 12 übertragen. Die Randlinien-Überlagerungsdatei kann zuerst übertragen werden, danach Miniaturbilder, dann die Schatten-Überlagerungsdatei und schließlich die 2D-Renderings. Die Anzeigeanwendung 34 kann zuerst das Randlinien-Rendering anzeigen, es mit einer skalierten (d. h. gezoomten) Version der Miniaturbilder füllen, die Schatten hinzufügen, und ersetzt dann, wenn die Übertragung der Datei, die die 2D-Renderings enthält (d. h. die größte der vier Dateien), abgeschlossen ist, die Miniaturbilder mit den 2D-Renderings.
  • Natürlich ist die vorstehend beschriebene beispielhafte Ausführungsform nur eine von vielen Ausführungsformen und es sind viele andere Kombinationen der hier beschriebenen Merkmale möglich.
  • In Hinblick auf die Anzeigeanwendung 34 muss das Client-Gerät 12 in der Lage sein, das Anzeigegerät 28 dazu veranlassen, das Multi-Pose-3D-Rendering anzuzeigen. Wie vorstehend beschrieben, kann die Anzeigeanwendung 34 von der CPU 20 als Applet so ausgeführt werden, dass sie innerhalb des Browsers 30 ausgeführt wird. Die Anzeigeanwendung 34 veranlasst in einigen beispielhaften Ausführungsformen die Anzeige einer Benutzeroberfläche als Teil einer Webseite in dem Webbrowser 30. Unter Bezugnahme auf 13 umfasst ein Browserfenster 150, wie es beispielsweise durch das Anzeigegerät 28 bei Ausführung der Browser-Anwendung 30 durch die CPU 20 dargestellt werden kann, die Standardelemente vieler Browser, einschließlich eine Titelleiste 152, eine Navigationsleiste 154, eine Statusleiste 156 und ein Inhaltsfenster 158. Im Inhaltsfenster 158 können verschiedene Inhalte, einschließlich der Eigenschaften des Modells angezeigt werden (nicht dargestellt), sowie in einigen Ausführungsformen ein Suchfeld 157 und eine damit verbundene Suchschaltfläche 159, um es einem Benutzer des Client-Geräts 12 zu ermöglichen, nach Modellen und/oder Objekten zu suchen, die in einem Multi-Pose-3D-Rendering angezeigt werden sollen. Der Inhaltsbereich 158 enthält eine Benutzeroberfläche 160, die durch die Ausführung der Anzeigeanwendung 34 erzeugt wird. Die Benutzeroberfläche 160 ist in ein Rendering-Fenster 162 und einen Steuerbereich 164 aufgeteilt. Das Wiedergabefenster 162 zeigt ein Multi-Pose-3D-Rendering 166 gemäß eines durch den Benutzer ausgewählten Modells oder Objekts und des Weiteren gemäß des Status der diversen Steuerungen (nachfolgend beschrieben) in dem Steuerbereich 164. Zum Beispiel kann das Multi-Pose-3D-Rendering 166 gerenderte Randlinien 168, gerenderte Oberflächenschattierung 170 und gerenderte Schatten 172 umfassen.
  • Der Steuerbereich 164 kann verschiedene Steuerungen umfassen, abhängig von der Ausführungsform der Anzeigeanwendung 34 und der spezifischen Implementierung des Multi-Pose-3D-Renderings 166. Im Allgemeinen kann der Steuerbereich 164 eine „Wiedergabe”-Steuerung 174 beinhalten, die auch als „Pause”-Steuerung dienen kann, wenn sich das Multi-Pose-3D-Rendering 166 im „Wiedergabe”-Modus befindet. Wenn der „Wiedergabe”-Modus aktiviert ist, kann sich die Multi-Pose-3D-Rendering 166 um eine oder mehrere Achsen drehen. Zum Beispiel kann die Aktivierung der „Wiedergabe”-Steuerung 174 standardmäßig das Multi-Pose-3D-Rendering 166 dazu veranlassen, sich scheinbar um eine Achse 176 zu drehen, die in dem Rendering-Fenster 162 unter Umständen angezeigt werden kann. Der Steuerbereich 164 kann auch Richtungssteuerungen 178 und 180 umfassen, die jeweils bewirken, dass sich das Multi-Pose-3D-Rendering scheinbar um die Achse 176 in einer Rückwärts- oder Vorwärtsrichtung dreht. Ein Schieberegler 182 kann eine Steuerung 184 umfassen, die die ausgewählte Pose des Multi-Pose-3D-Renderings zeigt und/oder steuert. Das bedeutet, dass mittels Bewegung der Steuerung 184 das Multi-Pose-3D-Modell 166 gedreht werden kann.
  • Der Steuerbereich 164 kann auch, je nach Ausführungsform, ein oder mehrere Steuerelemente zum Manipulieren der Anzeigequalitäten des Multi-Pose-3D-Renderings 166 umfassen. Unter weiterer Bezugnahme auf 13 beinhaltet in einer Ausführungsform der Steuerbereich 164 eine reine Randlinien-Steuerung 186, eine Rand- und Textursteuerung 188 und eine reine Textursteuerung 190. Die reine Randlinien-Steuerung 186 bewirkt, dass die Anzeigeanwendung 34 im Rendering-Fenster 162 nur Renderings im Randlinien-Überlagerungsbild anzeigt. Analog dazu bewirkt die reine Textursteuerung 190, dass die Anzeigeanwendung 34 in dem Rendering-Fenster 162 nur die Renderings der 2D-Bilder anzeigt. Die Rand- und Textursteuerung 188 bewirkt, dass die Randlinien-Renderings über den 2D-Bildern überlagert werden. Eine zusätzliche Steuerung 192, die die Form eines Schiebereglers haben kann, kann ermöglichen, dass eine zusätzliche Schicht, insbesondere die Schatten-Renderings, in dem Multi-Pose-3D-Rendering 166 in unterschiedlicher Opazität angezeigt wird.
  • In Ausführungsformen, die einen Vorschaumodus implementieren, kann der Steuerbereich 164 eine oder mehrere zusätzliche Steuerungen umfassen. In der in 13 dargestellten Ausführungsform beinhaltet der Steuerbereich 164 eine Reihe von Vorschaumodus-Auswahlsteuerungen 194. Die Vorschaumodus-Auswahlsteuerungen sind in 13 als Optionsschaltflächen implementiert, obwohl beachtet werden sollte, dass diese spezifische Steuerungsart auf einer Entscheidung der Programmierer beruht. Die Vorschaumodus-Steuerungen 194 ermöglichen es einem Benutzer, auszuwählen, ob eine Vorschaumodus (195) deaktiviert wird, ausschließlich Randlinien enthält (196), nur Miniaturbilder (197) oder sowohl Miniaturbilder als auch Randlinien (198) enthält. Es sollte offensichtlich sein, dass die Auswahl des Vorschaumodus mithilfe der Steuerung 194 sich auf die Zeitdauer auswirken kann, die benötigt wird, um das Multi-Pose-3D-Rendering vollständig herunterzuladen, die dafür erforderliche Bandbreite und/oder die Anzahl der zum Download erforderlichen Dateien. Wenn beispielsweise die Steuerung 195 ausgewählt wird, kann die Anzeigeanwendung 34 veranlassen, dass nur das 2D-Rendering bzw. 2D-Renderings zum Client-Gerät 12 übertragen werden, und das Multi-Pose 3D-Rendering wird dann angezeigt, wenn die 2D-Renderings empfangen wurden (oder wenn ein Teil des Bildes im Fall einer Einzeldatei in einem progressiven Format empfangen wurde). Alternativ dazu kann, die Anzeigeanwendung 34 veranlassen, dass, wenn die Steuerung 196 ausgewählt wird, das Randlinien-Überlagerungsbild vor den 2D-Renderings zum Client-Gerät 12 übertragen wird und die Randlinien-Renderings des Modells oder Objekts präsentiert werden, während die 2D-Renderings übertragen werden. Als eine weitere Alternative kann die Anzeigeanwendung 34 veranlassen, dass, wenn die Steuerung 197 ausgewählt wird, der Satz von Miniaturbildern (vorzugsweise als eine einzelne Bilddatei gespeichert) vor den 2D-Renderings zum Client-Gerät 12 übertragen wird und die Miniaturbilder (auf die Größe der 2D-Renderings skaliert) präsentiert werden, während die 2D-Renderings übertragen werden. Als noch eine weitere Alternative kann die Anzeigeanwendung 34 veranlassen, dass, wenn die Steuerung 198 ausgewählt wird, das Randlinien-Überlagerungsbild und der Satz von Miniaturbildern (vorzugsweise als eine einzelne Bilddatei gespeichert) vor den 2D-Renderings zum Client-Gerät 12 übertragen werden und die Miniaturbilder mit den überlagerten Randlinien-Renderings präsentiert werden, während die 2D-Renderings übertragen werden.
  • Es sollte offensichtlich sein, dass der spezifische Einsatz der Anzeigeanwendung 34 stark von der Implementierung abhängt. Angesichts dieser Beschreibung sollte jedoch eine Person mit Erfahrung in der Programmierung in der Lage sein, die hier beschrieben Ausführungsformen mit geringem Versuchsaufwand implementieren zu können. Je nach Ausführungsform wird die Anzeigeanwendung 34 in der Lage sein, eines oder mehrere der Folgenden durchzuführen: Schichtung eines oder mehrerer Bilder auf einem oder mehreren anderen Bildern, einschließlich eines oder mehrerer Bilder, die zumindest teilweise transparent sind; Anzeigen mehrerer Abschnitte eines einzelnen Bildes als separate Bilder; Vergrößerung (d. h. Zoomen) eines Bildes oder eines Abschnitts eines Bildes; Empfangen einer Benutzereingabe zur Auswahl und Anzeige einer Schicht von einem oder mehrerer geschichteter Bildern; Empfangen einer Benutzereingabe zur Auswahl eines anzuzeigenden Bildes oder eines Abschnitts eines aus mehreren Abschnitten bestehenden Bildes; Empfangen einer Benutzereingabe, um eine Transparenzeigenschaft von einem oder mehreren Bildern anzupassen; sequentielle Anzeige eines oder mehrerer Bilder oder von Schichtkombinationen von Bildern; Anzeige eines skalierten Miniaturbildes, bis ein Bild in höherer Auflösung verfügbar ist, daraufhin ersetzt das Bild mit der höheren Auflösung das skalierte Miniaturbild.
  • Die Anzeigeanwendung 34 ist mindestens in der Lage, nacheinander eine Vielzahl von 2D-Renderings (oder Fotos) anzuzeigen, die ein Objekt oder Modell in verschiedenen Posen darstellen, sodass durch die sequentielle Anzeige der Vielzahl von 2D-Renderings das Objekt oder das Modell dem Benutzer als ein 3D-Rendering erscheint. In einigen Ausführungsformen zeigt die Anzeigeanwendung 34 nacheinander die Vielzahl von 2D-Renderings als Schleife von Bildern an (d. h. nach Anzeige sämtlicher Bilder der Vielzahl von 2D-Renderings geht die Anzeigeanwendung 34 in einer „Schleife” wieder zurück zu dem ersten Bild der Vielzahl von 2D-Renderings und zeigt alle Bilder der Vielzahl von 2D-Renderings erneut an). In einigen Ausführungsformen ist die Anzeigeanwendung 34 außerdem in der Lage, eine Benutzereingabe zu empfangen, die es dem Betrachter ermöglicht, durch Anhalten der sequentiellen Anzeige der 2D-Renderings, Umkehren der Richtung der sequentiellen Anzeige der 2D-Renderings, und/oder Durchgehen der sequentiellen Anzeige der 2D-Renderings die Vielzahl von 2D-Renderings zu manipulieren.
  • Und, was am wichtigsten ist, für zumindest einige Aspekte des beschriebenen Verfahrens und Systems ist die Anzeigeanwendung 34 in einigen Ausführungsformen in der Lage, ein erstes Bild und ein oder mehrere Überlagerungsbilder so zu schichten, dass ein zusammengesetztes Bild erzeugt wird. Das erste Bild kann zum Beispiel eines aus einer der Vielzahl von 2D-Renderings sein (z. B. das in den 3 und 7 dargestellte texturierte 2D-Rendering 80), während das Überlagerungsbild ein Bild mit mindestens einem transparenten Bereich sein kann. Insbesondere kann das Überlagerungsbild ein Randlinien-Rendering und/oder ein Schatten-Rendering sein, das dem ersten Bild entspricht (wie z. B. in 4 und 8 dargestellt). Die Schichtung das Überlagerungsbildes über das erste Bild führt aufgrund der Definition, die dem ersten Bild durch das Randlinien-Rendering oder Schatten-Rendering des Überlagerungsbildes hinzugefügt wurde, zu einer verbesserten Sichtbarkeit des zusammengesetzten Bildes. Die Anzeigeanwendung 34 kann in der Lage sein, ein zusammengesetztes Bild für jedes der Vielzahl von 2D-Renderings, die nacheinander angezeigt werden, mithilfe der entsprechenden Vielzahl von Überlagerungsbildern bereitzustellen. In einigen Ausführungsformen können die Schicht bzw. Schichten des zusammengesetzten Bildes durch eine oder mehrere Benutzereingaben (z. B. Tasten, Schieberegler, Optionsschaltfläche usw.) ausgewählt werden.
  • Zusätzlich kann bei einigen Aspekten des beschriebenen Verfahrens und Systems die Anzeigeanwendung 34 in einigen Ausführungsformen in der Lage sein, die Vielzahl von sequentiell angezeigten 2D-Renderings und/oder die entsprechende Vielzahl von Überlagerungsbildern (z. B. die Bilder, die auf der Vielzahl von 2D-Renderings zur Erstellung der zusammengesetzten Bilder überlagert wurden) als eine einzelne Bilddatei zu erhalten. Beispielsweise kann die Anzeigeanwendung 34 in der Lage sein, das durch 11 dargestellte Bild 132 zu erhalten und jeden der 36 Abschnitte 134 nacheinander anzuzeigen. In einigen Ausführungsformen kann die Anzahl der Abschnitte 134 fest in der Anzeigeanwendung 34 programmiert werden, während in anderen Ausführungsformen die Anzeigeanwendung 34 die Anzahl der Abschnitte 134 als Parameter beispielsweise vom Server 14 empfangen kann. In jedem Fall kann die Anzeigeanwendung 34 verwendet werden, um die Gesamtbreite des Bildes 132 zu bestimmen und um die Breite des Bildes 132 in die Anzahl der Abschnitte 134 zu unterteilen, wodurch jeder der Abschnitte 134 wie die Vielzahl der ersten Bilder oder wie die entsprechende Vielzahl von Überlagerungsbildern angezeigt wird. Das heißt, dass eine oder beide der ersten Bilder und/oder der Überlagerungsbilder als eine einzelne Datei übertragen werden können, die ein Bild (z. B. das Bild 132) mit mehreren Abschnitten (z. B. die Abschnitte 134) enthält.
  • Des Weiteren ist in einigen Ausführungsformen die Anzeigeanwendung 34 in der Lage, Folgendes anzufordern und/oder zu erhalten: erstens eine Vielzahl von Miniaturbildern (als einzelne Datei oder mehrere Dateien) und zweitens die Vielzahl von 2D-Renderings, die das Multi-Pose-3D-Rendering bilden. Insbesondere kann die Anzeigeanwendung 34 die Miniaturbilder empfangen und diese jeweils bis auf die volle Größe des Multi-Pose-3D-Renderings skalieren, die Miniaturbilder als Miniaturbild-Multi-Pose-Rendering anstelle der 2D-Renderings, die schließlich die Multi-Pose-3D-Renderings bilden, anzeigen und es dem Benutzer ermöglichen, das Multi-Pose-Rendering der Miniaturbilder-zu manipulieren, während die 2D-Renderings herunterladen werden. Die Anzeigeanwendung 34 kann die Miniaturbilder mit den 2D-Renderings ersetzen, wenn das jeweilige 2D-Rendering vollständig heruntergeladen wurde oder wenn alle der 2D-Renderings vollständig heruntergeladen wurden.
  • 14 zeigt ein Verfahren 200, das durch den Server 14 implementiert werden kann, um es einem Benutzer zu ermöglichen, ein Multi-Pose-3D-Rendering mit einer erhöhten Wiedergabetreue zu betrachten. Der Server 14 und/oder die Datenbank 16 kann eine Vielzahl von 2D-Renderings eines Modells oder Objekts (Block 202) speichern. Der Server 14 und/oder die Datenbank 16 kann auch Folgendes speichern: eine Vielzahl entsprechender Überlagerungsbilder (Block 204), jeweils ein Überlagerungsbild für jeweils ein Bild der Vielzahl von 2D-Renderings, einschließlich eines Randlinien-Renderings oder eines Schatten-Renderings oder beides, platziert auf einem transparenten Hintergrund. Der Server 14 kann in einigen Ausführungsformen eine Webseite zum Client-Gerät 12 übertragen, auf der eine Reihe von Modellen oder Objekten dargestellt wird, für die Multi-Pose-3D-Renderings existieren. Ein Benutzer des Client-Geräts 12 kann eines der Modelle oder Objekte wählen, worauf das Client-Gerät 12 veranlasst wird, eine Anforderung für das entsprechenden Multi-Pose-3D-Rendering zu übertragen. Der Server 14 kann bei Empfang der Anforderung für das Multi Pose-3D-Rendering (Block 206) in einigen Ausführungsformen die Anzeigeanwendung 34 übertragen, die verwendet werden kann, um die Vielzahl von 2D-Renderings mit den geschichteten Überlagerungsbildern nacheinander anzuzeigen (Block 208). In Ausführungsformen, bei denen die Anzeigeanwendung 34 auf dem Client-Gerät 12 resident ist, ist es nicht notwendig, die Anzeigeanwendung 34 zu übertragen. In jedem Fall überträgt der Server 14 die Überlagerungsbilder (Block 210) und die 2D-Renderings (Block 212) für die Schichtung und die Anzeige durch die Anzeigeanwendung 34 zum Client-Gerät 12. Natürlich ist es unerheblich, ob die Überlagerungsbilder vor oder nach den 2D-Renderings übertragen werden, es sei denn, die Anzeigeanwendung 34 zeigt die Überlagerungsbilder an (z. B. im Falle eines Randlinien-Überlagerungsbilds), bevor der Übertragung der 2D-Renderings vollständig abgeschlossen ist.
  • 15 zeigt ein Verfahren 220, welches durch einen Server 14 implementiert werden kann, um die Geschwindigkeit eines Multi-Pose-3D-Renderings durch das Kombinieren von Bildern zu verbessern. Der Server 14 und/oder die Datenbank 16 können eine Vielzahl von 2D-Renderings eines Modells oder Objekts (Block 222) in einer einzelnen Bilddatei speichern. Optional kann der Server 14 und/oder die Datenbank 16 auch eine Vielzahl von Überlagerungsbildern (Block 224), jeweils ein Überlagerungsbild für jeweils ein Bild der Vielzahl von 2D-Renderings, einschließlich eines Randlinien-Renderings oder eines Schatten-Renderings oder beides, platziert auf einem transparenten Hintergrund, in einer einzelnen Bilddatei oder in einer Vielzahl von Dateien speichern. Der Server 14 kann in einigen Ausführungsformen eine Webseite zum Client-Gerät 12 übertragen, auf der eine Reihe von Modellen oder Objekten dargestellt wird, für die Multi-Pose-3D-Renderings existieren. Ein Benutzer des Client-Geräts 12 kann eines der Modelle oder Objekte wählen, worauf das Client-Gerät 12 veranlasst wird, eine Anforderung für das entsprechenden Multi-Pose-3D-Rendering zu übertragen. Der Server 14 kann bei Empfang der Anforderung für das Multi Pose-3D-Rendering (Block 226) in einigen Ausführungsformen die Anzeigeanwendung 34 übertragen, die verwendet werden kann, um die einzelne Bilddatei, die die 2D-Renderings enthält, zu empfangen und die Abschnitte der einzelnen Bilddatei (Block 228) anzuzeigen. In Ausführungsformen, bei denen die Anzeigeanwendung 34 auf dem Client-Gerät 12 resident ist, ist es nicht notwendig, die Anzeigeanwendung 34 zu übertragen. In jedem Fall überträgt der Server 14 die Bilddatei als Reaktion auf die Anforderung für das Multi-Pose-3D-Rendering (Block 230).
  • 16 zeigt ein Verfahren 240, welches durch das Client-Gerät 12 implementiert werden kann, um die Geschwindigkeit eines Multi-Pose-3D-Renderings durch das Kombinieren von Bildern zu verbessern. Der Client-Gerät fordert ein Multi-Pose-3D-Rendering an (Block 244), beispielsweise durch Empfangen einer Benutzereingabe, mit der eine Anzahl der angezeigten Modelle oder Objekte ausgewählt wird, für die Multi-Pose 3D-Renderings verfügbar sind. Das Client-Gerät 12 erhält in einigen Ausführungsformen die Anzeigeanwendung 34, die verwendet werden kann, um die einzelne Bilddatei, die die 2D-Renderings enthält, zu empfangen und die Abschnitte der einzelnen Bilddatei (Block 246) nacheinander anzuzeigen. In Ausführungsformen, bei denen die Anzeigeanwendung 34 auf dem Client-Gerät 12 resident ist, kann der Block 246 weggelassen werden. das Client-Gerät 12 empfängt die Bilddatei mit der Vielzahl von 2D-Rendering-Abschnitten (Block 246) und bestimmt anhand des Bildes oder anhand anderer Parameter, die von Server 13 mit dem Bild empfangen werden, einen oder mehrere Parameter des Bildes (Block 248). Die Anzeigeanwendung 34 unterteilt das Bild in Abschnitte, die der Vielzahl von 2D-Renderings entsprechen (Block 250) und zeigt nacheinander die Vielzahl der 2D-Bildabschnitte an (Block 252). Natürlich kann die Anzeigeanwendung 34 in verschiedenen Ausführungsformen auch Folgendes: eines oder mehrere Überlagerungsbilder empfangen, die Überlagerungsbilder auf den Abschnitten der einzelnen Bilddatei überlagern, eine einzelne Überlagerungsbilddatei in Abschnitte unterteilen, die den Abschnitten entsprechen, die die 2D-Renderings beinhalten, Miniaturbilder erhalten, bevor die 2D-Renderings empfangen werden, und die Miniaturbild-Renderings anzeigen, während die 2D-Renderings heruntergeladen werden usw., wie es in dieser Beschreibung ausgeführt wird.
  • 17 zeigt ein Verfahren 260, welches durch einen Server 14 implementiert werden kann, um die Geschwindigkeit eines Multi-Pose-3D-Renderings durch das Vorladen eines optimierten Miniaturbildes zu verbessern. Der Server 14 und/oder die Datenbank 16 kann eine Vielzahl von 2D-Renderings eines Modells oder Objekts (Block 262) speichern. Der Server 14 und/oder die Datenbank 16 speichert außerdem eine Vielzahl von Miniaturbildern (Block 264), wobei jedes Miniaturbild einem Bild der Vielzahl von 2D-Renderings entspricht. Jedes der Miniaturbilder kann in der Farbtiefe reduziert werden, kann eine kleinere Auflösung als die 2D-Renderings haben und/oder kann eine niedrigere Auflösung in der Horizontalen als in der Vertikalen haben. Zusätzlich oder alternativ können die Miniaturbilder zu einer einzelnen Bilddatei kombiniert werden, wie vorstehend beschrieben. Der Server 14 kann in einigen Ausführungsformen eine Webseite zum Client-Gerät 12 übertragen, auf der eine Reihe von Modellen oder Objekten dargestellt wird, für die Multi-Pose-3D-Renderings existieren. Ein Benutzer des Client-Geräts 12 kann eines der Modelle oder Objekte wählen, worauf das Client-Gerät 12 veranlasst wird, eine Anforderung für das entsprechenden Multi-Pose-3D-Rendering zu übertragen. Der Server 14 kann bei Empfang der Anforderung für das Multi Pose-3D-Rendering (Block 266) in einigen Ausführungsformen die Anzeigeanwendung 34 übertragen, die verwendet werden kann, um die Vielzahl von Miniaturbildern anzuzeigen, während die Vielzahl von 2D-Renderings übertragen werden (Block 268). Der Server 14 kann die Vielzahl von Miniaturbildern als Reaktion auf die Anforderung (Block 270) übertragen (als einzelne Bilddatei oder mehrere Bilddateien) und er kann danach die Vielzahl von 2D-Renderings übertragen (Block 272).
  • In dieser gesamten Spezifikation können mehrere Instanzen Komponenten, Vorgänge oder Strukturen implementieren, die als einzelner Fall beschrieben werden. Obwohl einzelne Vorgänge von einem oder mehreren Verfahren als getrennte Vorgänge veranschaulicht und beschrieben werden, können eine oder mehrere der einzelnen Vorgänge gleichzeitig ausgeführt werden und, sofern nicht ausdrücklich beschrieben oder in anderer Weise logisch erforderlich (z. B. dass eine Struktur geschaffen werden muss, bevor es verwendet werden kann), ist es in keiner Weise erforderlich, dass die Vorgänge in der dargestellten Reihenfolge ausgeführt werden müssen. Strukturen und Funktionen, die in exemplarischen Konfigurationen als getrennte Komponenten dargestellt werden, können als kombinierte Struktur oder Komponente implementiert werden. In ähnlicher Weise können Strukturen und Funktionen, die als einzelne Komponenten dargestellt werden, als getrennte Komponenten implementiert werden. Diese und andere Variationen, Modifikationen, Ergänzungen und Verbesserungen fallen in den Anwendungsbereich des hierin beschriebenen Themas.
  • Das Netzwerk 16 kann beispielsweise u. a. eine beliebige Kombination aus einem LAN, einem MAN, einem WAN, einem mobilen, einem verdrahteten oder drahtlosen Netzwerk, einem privaten Netzwerk oder einem virtuellen, privaten Netzwerk umfassen. Obwohl zur Vereinfachung und Verdeutlichung der Beschreibung in 1 nur ein Client-Gerät 12 dargestellt ist, ist es selbstverständlich, dass eine beliebige Anzahl von Client-Geräten 12 unterstützt werden und mit dem Server 14 kommunizieren kann.
  • Zusätzlich werden bestimmte Ausführungsformen beschrieben, wie eine Logik oder eine Anzahl von Komponenten, Modulen, Routinen, Programmen oder Mechanismen. Anwendungen oder Routinen bilden entweder Software-Module (z. B. auf einem maschinenlesbaren Medium oder in einem Übertragungssignal enthaltener Code) oder Hardware-Module. Ein Hardwaremodul ist ein greifbares Gerät, das bestimmte Operationen durchführen kann, und es kann in einer bestimmten Weise konfiguriert oder angeordnet sein. In exemplarischen Ausführungsformen können eines oder mehrere Computersysteme (z. B. ein eigenständiges, Client- oder Server-Computersystem) oder eines oder mehrere Hardwaremodule eines Computersystems (z. B. ein Prozessor oder eine Gruppe von Prozessoren) von der Software (z. B. einer Anwendung oder einem Anwendungsteil) als Hardwaremodul konfiguriert sein, um bestimmte, hierin beschriebene Operationen durchzuführen.
  • In verschiedenen Ausführungsformen kann ein Hardwaremodul mechanisch oder elektronisch implementiert werden. Zum Beispiel kann ein Hardware-Modul eine dedizierte Schaltung oder Logik aufweisen, die permanent oder halbpermanent konfiguriert ist (beispielsweise als ein Prozessor für spezielle Zwecke, wie beispielsweise ein Field Programmable Gate Array (FPGA) oder eine anwendungsspezifische integrierte Schaltung (ASIC)), um bestimmte Vorgänge auszuführen. Ein Hardwaremodul kann außerdem programmierbare Logik oder Schaltkreise umfassen (z. B. wie in einem Allzweck-Prozessor oder einem anderen programmierbaren Prozessor eingeschlossen), der von der Software temporär für die Durchführung bestimmter Operationen konfiguriert ist. Es wird darauf hingewiesen, dass die Entscheidung für die mechanische Implementierung eines Hardwaremoduls in spezielle und dauerhaft konfigurierte oder temporär konfigurierte Schaltungen (z. B. per Software konfiguriert) von Kosten- und Zeitüberlegungen abhängig sein kann.
  • Dementsprechend sollte der Begriff „Hardwaremodul” dahingehend verstanden werden, dass er eine körperliche Entität umfasst, wobei dies eine Entität sein kann, die physikalisch konstruiert, dauerhaft konfiguriert (z. B. festverdrahtet) oder temporär konfiguriert (z. B. programmiert) ist, um auf eine bestimmte Art zu arbeiten oder um bestimmte, hierin beschriebene Vorgänge auszuführen. Bei Berücksichtigung von Ausführungsformen, in denen Hardwaremodule temporär konfiguriert (z. B. programmiert) sind, müssen die jeweiligen Hardwaremodule nicht zu jeder einzelnen zeitlichen Instanz konfiguriert oder instanziiert sein. Wenn die Hardwaremodule zum Beispiel einen Allzweck-Prozessor umfassen, der für die Verwendung von Software konfiguriert ist, kann der Allzweck-Prozessor als entsprechend unterschiedliche Hardwaremodule zu verschiedenen Zeiten konfiguriert sein. Software kann demgemäß einen Prozessor zum Beispiel so konfigurieren, dass er zu einer zeitlichen Instanz ein bestimmtes Hardwaremodul und zu einer anderen zeitlichen Instanz ein anderes Hardwaremodul darstellt.
  • Hardwaremodule können Informationen für andere Hardwaremodule bereitstellen und Informationen von ihnen empfangen. Demgemäß können die beschriebenen Hardwaremodule als kommunikativ gekoppelt betrachtet werden. In den Fällen, in denen solche Hardwaremodule gleichzeitig vorhanden sind, können Datenübertragungen über Signalübertragung (beispielsweise über geeignete Schaltungen und Busse) erreicht werden, die mit den Hardwaremodulen verbunden sind. In Ausführungsformen, in denen mehrere Hardwaremodule zu unterschiedlichen Zeiten konfiguriert oder instantiiert werden, können Kommunikationen zwischen solchen Hardwaremodulen z. B. durch Speichern und Abrufen von Informationen in Speicherstrukturen erreicht werden, auf die mehrere Hardwaremodule Zugriff haben. Ein Hardwaremodul kann beispielsweise einen Vorgang ausführen und die Ausgabe von diesem Vorgang in einem Speichergerät speichern, mit dem es kommunikativ verbunden ist. Ein weiteres Hardwaremodul kann dann zu einem späteren Zeitpunkt auf das Speichergerät zugreifen, um die gespeicherte Ausgabe abzurufen und zu verarbeiten. Hardwaremodule können auch Kommunikationen mit Eingabe- oder Ausgabevorrichtungen initiieren und können auf einer Ressource arbeiten (z. B. eine Sammlung von Informationen).
  • Die verschiedenen Operationen hierin beschriebener exemplarischer Verfahren können, zumindest teilweise, von einem oder mehreren Prozessoren durchgeführt werden, die temporär (z. B. durch Software) oder permanent für die Durchführung der relevanten Operationen konfiguriert sind. Ganz gleich, ob sie temporär oder permanent konfiguriert sind, stellen solche Prozessoren von Prozessoren implementierte Module dar, die betrieben werden, um eine oder mehrere Operationen oder Funktionen durchzuführen. Module, auf die hierin verwiesen wird, umfassen in einigen exemplarischen Ausführungsformen von Prozessoren implementierte Module.
  • Ihn ähnlicher Weise können hierin beschriebene Verfahren oder Routinen zumindest teilweise von Prozessoren implementiert sein. Zum Beispiel können zumindest einige der Operationen eines Verfahrens von einem oder mehreren Prozessoren oder durch Prozessoren implementierte Hardwaremodule durchgeführt werden. Die Durchführung bestimmter Operationen kann unter den ein oder mehreren Prozessoren verteilt sein, die sich nicht in einer einzigen Maschine befinden, sondern über eine Reihe von Maschinen bereitgestellt werden. In einigen exemplarischen Ausführungsformen können sich der Prozessor oder die Prozessoren an einem einzigen Ort (z. B. in einer Wohnungsumgebung, in einer Büroumgebung oder als eine Serverfarm) befinden, während in anderen Ausführungsformen die Prozessoren über eine Reihe von Orten verteilt sein können.
  • Der eine oder die mehreren Prozessoren können auch so arbeiten, dass sie die Leistung der relevanten Vorgänge in einer „Cloud Computin”-Umgebung oder als ein „Software as a Service” (SaaS) unterstützen. Beispielsweise werden zumindest einige der Vorgänge von einer Gruppe von Computer durchgeführt (wie Beispiele von Maschinen mit Prozessoren), diese Vorgänge sind über ein Netzwerk zugänglich (z. B. das Internet) und über eine oder mehrere entsprechende Schnittstellen (z. B. Anwendungsprogramm-Schnittstellen (APIs)).
  • Die Durchführung bestimmter Operationen kann unter den ein oder mehreren Prozessoren verteilt sein, die sich nicht in einer einzigen Maschine befinden, sondern über eine Reihe von Maschinen bereitgestellt werden. In einigen exemplarischen Ausführungsformen können sich die ein oder mehreren Prozessoren oder durch Prozessoren implementierten Module an einem einzigen geografischen Ort (z. B. einer Wohnumgebung, einer Büroumgebung oder einer Serverfarm) befinden. In anderen exemplarischen Ausführungsformen können die ein oder mehreren Prozessoren oder durch Prozessoren implementierten Module über eine Reihe geografischer Orte verteilt sein.
  • Einige Teile dieser Spezifikation werden in Bezug auf Algorithmen oder symbolische Darstellungen von Operationen bei Daten dargestellt, die als Bits oder binäre digitale Signale in einem Maschinenspeicher (z. B. einem Computerspeicher) gespeichert sind. Diese Algorithmen oder symbolischen Darstellungen sind Beispiele von Techniken, die von Fachleuten der Datenverarbeitungstechnik verwendet werden, um anderen Fachleuten die wesentlichen Inhalte ihrer Arbeit zu vermitteln. Wie hierin verwendet, ist ein „Algorithmus” eine in sich stimmige Folge von Vorgängen oder ähnlicher Verarbeitung, die zu einem gewünschten Ergebnis führt. In diesem Kontext beinhalten Algorithmen und Vorgänge die physikalische Manipulation von physikalischen Mengen. Normalerweise, aber nicht notwendigerweise, können solche Mengen die Form elektrischer, magnetischer oder optischer Signale annehmen, die von einer Maschine gespeichert, aufgerufen, übertragen, kombiniert, vergleichen oder sonst manipuliert werden können. Es ist manchmal praktisch, hauptsächlich aus Gründen der allgemeinen Nutzung, sich auf diese Signale mit Ausdrücken wie „Daten”, „Inhalt”, „Bits”, „Werte”, „Elemente”, „Symbole”, „Zeichen”, „Begriffe”, „Zahlen”, „Numerale” oder dergleichen zu beziehen. Diese Wörter sind jedoch lediglich praktische Bezeichnungen und dürfen nicht mit entsprechenden physischen Mengen verbunden werden.
  • Sofern nicht ausdrücklich anders angegeben, können sich Erörterungen hierin, die Wörter wie „Verarbeitung”, „Berechnung”, „Bestimmung”, „Darstellung”, „Anzeige” oder ähnliches verwenden, auf Aktionen oder Prozesse einer Maschine (z. B. eines Computers) beziehen, die Daten manipulieren oder transformieren, die als physische (z. B: elektronische, magnetische oder optische) Mengen in einem oder mehreren Speichern (z. B. flüchtiger Speicher, nicht flüchtiger Speicher oder eine Kombination davon), Register oder andere Maschinenkomponenten dargestellt sind, die Informationen empfangen, speichern, übertragen oder anzeigen.
  • Wie hierin verwendet, bedeuten Verweise auf „eine Ausführungsform” oder „Ausführungsformen”, dass ein bestimmtes Element, Merkmal, eine Struktur oder eine Eigenschaft, das/die in Verbindung mit der Ausführungsform beschrieben wird, zumindest in einer Ausführungsform enthalten ist. Das Erscheinen der Phrase „in einer Ausführungsform” an verschiedenen Orten in der Spezifikation bezieht sich nicht notwendigerweise immer auf dieselbe Ausführungsform.
  • Einige Ausführungsformen können mithilfe des Ausdrucks „gekoppelt” und „verbunden” zusammen mit deren Ableitungen beschrieben werden. Zum Beispiel können einige Ausführungsformen mithilfe des Begriffs „gekoppelt” beschrieben werden, um anzugeben, dass eines oder mehrere Elemente im direkten physischen oder elektrischen Kontakt sind. Der Begriff „gekoppelt” kann jedoch auch bedeuten, dass eines oder mehrere Elemente nicht im direkten Kontakt miteinander sind, aber trotzdem noch miteinander zusammenarbeiten oder interagieren. Die Ausführungsformen sind in diesem Kontext nicht beschränkt.
  • Wie hierin verwendet, sollen die Begriffe „umfasst”, „umfassend”, „beinhaltet”, „enthält”, „hat”, „haben” und andere Varianten davon eine nicht ausschließliche Einbeziehung abdecken. Zum Beispiel ist ein Prozess, ein Verfahren, ein Artikel oder eine Vorrichtung, der/die eine Liste von Elementen umfasst, nicht notwendigerweise nur auf diese Elemente beschränkt, sondern kann andere Elemente beinhalten, die nicht ausdrücklich aufgelistet oder bei einem solchen Prozess, einem solchen Verfahren, einem solchen Artikel oder einer solchen Vorrichtung inhärent sind. Des Weiteren bezieht sich, sofern nichts Gegenteiliges angegeben, „oder” auf ein einschließendes und nicht auf ein ausschließendes Oder. Zum Beispiel ist eine Bedingung A oder B durch eines der folgenden erfüllt: A ist wahr (oder vorhanden) und B ist falsch (oder nicht vorhanden), A ist falsch (oder nicht vorhanden) und B ist wahr (oder vorhanden) und sowohl A als auch B sind wahr (oder vorhanden).
  • Außerdem wird „eine”, „einer” oder „eines” verwendet, um Elemente und Komponenten der Ausführungsformen hierin zu beschreiben. Dies erfolgt lediglich aus praktischen Gründen, und um eine allgemeine Vorstellung der Beschreibung zu vermitteln. Die Beschreibung sollte so gelesen werden, dass sie eines oder mindestens eines enthält, und der Singular umfasst auch den Plural, außer es ist offensichtlich anders gedacht.
  • Weiterhin stellen die Figuren bevorzugte Ausführungsformen eines Karteneditorsystems nur zu Veranschaulichungszwecken dar. Ein Fachmann wird aus der folgenden Erörterung leicht erkennen, dass alternative Ausführungsformen der Strukturen und Verfahren, die hierin dargestellt sind, eingesetzt werden können, ohne von den Prinzipien der hier beschriebenen Erfindung abzuweichen.
  • Nach Lesen dieser Offenbarung werden Fachleute durch die hier offenbarten Prinzipien noch zusätzliche alternative Struktur- und Funktionsdesigns für ein System und ein Verfahren für die Identifizierung von Straßenendsegmenten erkennen. Somit sollte, während bestimmte Ausführungsformen und Anwendungen veranschaulicht und beschrieben wurden, es selbstverständlich sein, dass die offenbarten Ausführungsformen nicht auf die genaue Konstruktion und Komponenten beschränkt sind, die hierin offenbart wurden. Verschiedene Modifikationen, Änderungen und Variationen, die für Fachleute auf dem Gebiet ersichtlich werden, können in der Anordnung, dem Betrieb und in den Einzelheiten der Verfahren und der Vorrichtung, die hierin offengelegt werden, ohne Abweichung von der Idee und dem Umfang der angehängten Patentansprüche erfolgen.
  • Die bestimmten Merkmale, Strukturen oder Eigenschaften einer spezifischen Ausführungsform können mit einer oder mehreren anderen Ausführungsformen in jeder geeigneten Weise und in jeder geeigneten Kombination kombiniert werden, einschließlich der Verwendung von ausgewählten Merkmalen ohne die Verwendung entsprechender anderer Merkmale. Zusätzlich können viele Modifikationen vorgenommen werden, um eine bestimmte Anwendung, Situation oder ein Material an den wesentlichen Umfang und Geist der vorliegenden Erfindung anzupassen. Es ist selbstverständlich, dass andere Variationen und Modifikationen der Ausführungsformen der hier beschrieben und dargestellten, vorliegenden Erfindung im Rahmen der hier enthaltenen Erkenntnisse möglich sind und als Teil des Geistes und des Umfangs der vorliegenden Erfindung betrachtet werden. Zum Beispiel, aber nicht ausschließlich, erwägt die vorliegende Offenbarung zumindest die folgenden Aspekte:
    • 1. Verfahren zur Darstellung eines dreidimensionalen (3D) Multi-Pose-Renderings eines Objekts, das Verfahren umfassend: Speichern einer Vielzahl von zweidimensionalen (2D) Renderings eines Objekts auf einem computerlesbaren Medium, wobei jedes der Vielzahl von 2D-Renderings das Objekt aus einem anderen, offensichtlichen Betrachtungswinkel darstellt; Übertragen der Vielzahl von 2D-Renderings über ein Netzwerk zu einem Client-Gerät, das mit einem Anzeigegerät gekoppelt ist; Speichern einer ersten Vielzahl von Overlay-Renderings auf einem computerlesbaren Medium, wobei jedes der ersten Vielzahl von Overlay-Renderings einem der Vielzahl von 2D-Renderings und einem der Overlay-Renderings entspricht, umfassend: (1) entweder (a) eine Schattenschicht, die in einer ersten Farbe gerendert ist und den Schatten auf dem Objekt wie im entsprechenden 2D-Rendering gerendert entspricht; oder (b) Randlinien, die in einer ersten Farbe gerendert sind und den Rändern des Objekts wie im entsprechenden 2D-Rendering gerendert entspricht; und (2) einen transparenten Hintergrund; Übertragen der ersten Vielzahl von Overlay-Renderings über das Netzwerk zum Client-Gerät; Bereitstellen einer Schnittstelle, die verwendet werden kann, um eine Vielzahl von zusammengesetzten Bildern anzuzeigen, wobei jedes zusammengesetzte Bild eines der ersten Vielzahl von Overlay-Renderings umfasst, die jeweils über dem entsprechenden 2D-Rendering geschichtet sind.
    • 2. Verfahren nach Aspekt 1, worin das Speichern auf dem computerlesbaren Medium einer ersten Vielzahl von Overlay-Renderings das Speichern einer einzelnen umfasst, wobei die Datei ein Einzelbild speichert und wobei außerdem jedes der ersten Vielzahl von Overlay-Renderings einen Abschnitt des Einzelbildes bildet.
    • 3. Verfahren nach Aspekt 1 oder Aspekt 2, worin die bereitgestellte Schnittstelle außerdem verwendet werden kann, um eine Steuerung bereitzustellen, um die Transparenz der Schattenschicht zu variieren.
    • 4. Verfahren nach einem der vorstehenden Aspekte, des Weiteren umfassend: Übertragen einer zweiten Vielzahl von Overlay-Renderings, wobei jedes der zweiten Vielzahl von Overlay-Renderings einem Rendering der ersten Vielzahl von Overlay-Renderings und einem Rendering der Vielzahl von 2D-Renderings entspricht, worin die bereitgestellte Schnittstelle außerdem verwendet werden kann, um jedes Rendering der Vielzahl der ersten Overlay-Renderings und jedes Rendering der Vielzahl der zweiten Overlay-Renderings als Schichten eines zusammengesetzten Bildes mit den entsprechenden 2D-Renderings nacheinander anzuzeigen.
    • 5. Verfahren nach einem der vorstehenden Aspekte, worin die Übertragung einer zweiten Vielzahl von Overlay-Renderings die Übertragung einer zweiten einzelnen Bilddatei umfasst, wobei die zweite einzelne Bilddatei eine zweites Einzelbild enthält und wobei außerdem jedes Rendering der zweiten Vielzahl von Overlay-Renderings einen Abschnitt des zweiten Einzelbildes bildet.
    • 6. Verfahren nach einem der vorstehenden Aspekte, worin die bereitgestellte Oberfläche selektiv verwendet werden kann, um jedes Rendering der Vielzahl von 2D-Renderings anstelle der entsprechenden zusammengesetzten Bilder nacheinander anzuzeigen.
    • 7. Verfahren nach einem der vorstehenden Aspekte, worin die Bereitstellung einer Schnittstelle das Bereitstellen einer Schnittstelle umfasst, die verwendet werden kann, um jedes der Vielzahl von zusammengesetzten Bildern in einer vordefinierten Reihenfolge anzuzeigen.
    • 8. Verfahren nach einem der vorstehenden Aspekte, worin das Speichern auf dem computerlesbaren Medium einer Vielzahl von Overlay-Renderings das Speichern einer einzelnen Bilddatei umfasst, wobei die Datei ein Einzelbild speichert und wobei außerdem jedes der Vielzahl von Overlay-Renderings einen Abschnitt des Einzelbildes bildet.
    • 9. Verfahren nach einem der vorstehenden Aspekte, worin die Vielzahl von Overlay-Renderings in dem Einzelbild so angeordnet sind, dass sie der vordefinierten Reihenfolge entsprechen.
    • 10. Verfahren nach einem der vorstehenden Aspekte, worin die Übertragung der Overlay-Renderings die Übertragung der Overlay-Renderings vor der Übertragung der Vielzahl von 2D-Renderings umfasst.
    • 11. Verfahren nach einem der vorstehenden Aspekte, wobei die bereitgestellte Schnittstelle des Weiteren verwendet werden kann, um jedes der Vielzahl von Overlay-Renderings nacheinander anzuzeigen, bevor die Vielzahl von 2D-Renderings von dem Client-Gerät vollständig empfangen wurden.
    • 12. Verfahren nach einem der vorstehenden Aspekte, worin die bereitgestellte Schnittstelle selektiv verwendet werden kann, um jedes Rendering der Vielzahl von Overlay-Renderings anstelle der entsprechenden zusammengesetzten Bildern nacheinander anzuzeigen.
    • 13. Ein System zur Darstellung eines dreidimensionalen (3D) Multi-Pose-Renderings eines Objekts, das System umfassend: eine Datenbank zur Speicherung (1) einer Vielzahl von zweidimensionalen (2D) Renderings des Objekts, wobei jedes der Vielzahl von 2D-Renderings das Objekt aus einem anderen offensichtlichen Betrachtungswinkel darstellt, und (2) einer Vielzahl von Overlay-Renderings, wobei jedes Overlay-Rendering einem der Vielzahl von 2D-Renderings entspricht und jedes Overlay-Rendering (i) entweder (a) eine Schattenebene umfasst, die in einer ersten Farbe gerendert wird und den sichtbaren Schatten des Objekts entspricht, wie es in dem entsprechenden 2D-Rendering gerendert wurde; oder (b) Randlinien, die in einer ersten Farbe gerendert werden und den Rändern des Objekts entsprechen, wie es in dem entsprechenden 2D-Rendering gerendert wurde und (ii) einem transparenten Hintergrund; auf einem maschinenlesbaren Medium gespeicherte maschinenausführbare Anweisungen und Spezifikation einer Schnittstelle, die verwendet werden kann, um eine Vielzahl von zusammengesetzten Bildern anzuzeigen, wobei jedes zusammengesetzte Bild eines der Overlay-Renderings umfasst, das jeweils ein entsprechendes 2D-Rendering überlagert; ein kommunikativ über ein Netzwerk mit der Datenbank gekoppelter Server, der verwendet werden kann, um (1) dem kommunikativ über ein Netzwerk gekoppelten Client-Gerät die Maschinenanweisungen zu senden, die die Schnittstelle spezifizieren, und (2) eine Anfrage für das Rendering des Objekts zu erhalten und als Reaktion auf diese Anfrage die Vielzahl von 2D-Renderings und die Vielzahl von Overlay-Renderings aus der Datenbank abzurufen und die Vielzahl von 2D-Renderings und die Vielzahl von Overlay-Renderings zum Client-Gerät zu übertragen.
    • 14. Das System nach Aspekt 13, worin die Vielzahl von Overlay-Renderings als eine einzelne Bilddatei gespeichert sind, wobei die einzelne Bilddatei ein Einzelbild speichert und wobei außerdem jedes der Vielzahl von Overlay-Renderings einen Abschnitt des Einzelbildes bildet.
    • 15. System nach Aspekt 13 oder Aspekt 14, worin der Server verwendet werden kann, um die Overlay-Renderings vor Übertragung der Vielzahl von 2D-Renderings zu übertragen.
    • 16. System nach einem der Aspekte 13 bis 15, worin die durch den Server übertragene Schnittstelle des Weiteren verwendet werden kann, um jedes der Vielzahl von Overlay-Renderings nacheinander anzuzeigen, bevor die Vielzahl von 2D-Renderings von dem Client-Gerät vollständig empfangen wurden.
    • 17. System nach einem der Aspekte 13 bis 16, worin die durch den Server übertragene Schnittstelle selektiv verwendet werden kann, um jedes Rendering der Vielzahl von Overlay-Renderings anstelle der entsprechenden zusammengesetzten Bildern nacheinander anzuzeigen.
    • 18. System nach einem der Aspekte 13 bis 17, worin die durch den Server übertragene Schnittstelle selektiv verwendet werden kann, um jedes Rendering der Vielzahl von 2D-Renderings anstelle der korrespondierenden zusammengesetzten Bildern nacheinander anzuzeigen.
    • 19. System nach einem der Aspekte 13 bis 18, worin die durch den Server übertragene Schnittstelle des Weiteren verwendet werden kann, um jedes der Vielzahl von Bildern in einer vordefinierten Reihenfolge anzuzeigen.
    • 20. System nach einem der Aspekte 13 bis 19, worin die Vielzahl von Overlay-Renderings als eine einzelne Bilddatei gespeichert wird, wobei die einzelne Bilddatei ein Einzelbild speichert und wobei außerdem jedes der Vielzahl von Overlay-Renderings einen Abschnitt des Einzelbildes bildet.
    • 21. System nach einem der Aspekte 13 bis 20, worin die Vielzahl von Overlay-Renderings in dem Einzelbild so angeordnet ist, um der vordefinierten Reihenfolge zu entsprechen.
    • 22. System nach einem der Aspekte 13 bis 21, worin die bereitgestellte Schnittstelle des Weiteren verwendet werden kann, um eine Steuerung bereitzustellen, um die Transparenz der Schattenschicht zu variieren.
    • 23. System nach einem der Aspekte 13 bis 22, worin der Server des Weiteren verwendet werden kann, um eine zweite Vielzahl von Overlay-Renderings zu übertragen, wobei jedes der zweiten Vielzahl von Overlay-Renderings einem Rendering der ersten Vielzahl von Overlay-Renderings und einem Rendering der Vielzahl von 2D-Renderings entspricht, wobei die bereitgestellte Schnittstelle des Weiteren verwendet werden kann, um jedes Rendering der Vielzahl der ersten Overlay-Renderings und jedes Rendering der Vielzahl der zweiten Overlay-Renderings als Schichten eines zusammengesetzten Bildes mit den entsprechenden 2D-Renderings nacheinander anzuzeigen.
    • 24. Das System nach einem der Aspekte 13 bis 23, worin die zweite Vielzahl von Overlay-Renderings als eine zweite, einzelne Bilddatei gespeichert wird, wobei die zweite einzelne Bilddatei ein zweites Einzelbild speichert und wobei außerdem jedes der zweiten Vielzahl von Overlay-Renderings einen Abschnitt des zweiten Einzelbildes bildet.
    • 25. Verfahren zur Darstellung eines dreidimensionalen (3D) Multi-Pose-Renderings eines Objekts, das Verfahren umfassend: Speichern einer Bilddatei auf einem computerlesbaren Medium, wobei die Datei die Daten eines einzelnen Bildes speichert, das über eine Vielzahl von Abschnitten verfügt, wobei jeder Abschnitt ein zweidimensionales (2D) Rendering des Objekts enthält, wovon jedes der 2D-Renderings das Objekt aus einem anderen, offensichtlichen Betrachtungswinkel darstellt; Übertragen der einzelnen Bilddatei über ein Netzwerk an ein Client-Gerät, das mit dem Anzeigegerät gekoppelt ist; und Bereitstellen einer Benutzeroberfläche, die verwendet werden kann, um die Vielzahl von 2D-Renderings jeweils einzeln anzuzeigen.
    • 26. Verfahren nach Aspekt 25, worin das Speichern einer Bilddatei das Speichern eines einzelnen Bildes umfasst, das über eine Vielzahl von Abschnitten verfügt, wobei jeder Abschnitt sich über eine erste Anzahl (X) von Pixeln in eine horizontale Dimension und über eine zweite Anzahl von Pixeln (Y) in eine vertikale Dimension erstreckt, wobei die Abschnitte in dem Einzelbild so ausgerichtet sind, dass das Einzelbild sich nur Y Pixel in die vertikale Richtung erstreckt.
    • 27. Verfahren nach Aspekt 25 oder Aspekt 26, worin die Abschnitte so angeordnet sind, dass die 2D-Renderings, wenn diese nacheinander angezeigt werden, von einem am weitesten links liegenden Abschnitt des einzelnen Bildes zu einem am weitesten rechts liegenden Abschnitt des einzelnen Bildes, scheinbar eine Drehung des Objekts um eine Achse des 3D-Objekts darstellen.
    • 28. Verfahren nach einem der Aspekte 25 bis 27, worin das Speichern einer Bilddatei das Speichern eines einzelnen Bildes umfasst, das über eine Vielzahl von Abschnitten verfügt, wobei jeder Abschnitt sich über eine erste Anzahl (X) von Pixeln in eine horizontale Dimension und über eine zweite Anzahl von Pixeln (Y) in eine vertikale Dimension erstreckt, wobei die Abschnitte in dem Einzelbild so angeordnet sind, dass: die Abschnitte in der horizontalen Dimension so angeordnet sind, dass, wenn diese nacheinander angezeigt werden, von einem am weitesten links liegenden Abschnitt des einzelnen Bildes zu einem am weitesten rechts liegenden Abschnitt des einzelnen Bildes, scheinbar eine Drehung des Objekts um eine erste Achse des Objekts darstellen; und die Abschnitte in der vertikalen Dimension so angeordnet sind, dass, wenn diese nacheinander angezeigt werden, von einem am weitesten oben liegenden Abschnitt des einzelnen Bildes zu einem am weitesten unten liegenden Abschnitt des einzelnen Bildes, scheinbar die Drehung des Objekts um eine zweite Achse des Objekts orthogonal zur ersten Achse des 3D-Objekts darstellen.
    • 29. Verfahren nach einem der Aspekte 25 bis 28, des Weiteren umfassend: Speichern eines Überlagerungsbildes auf einem computerlesbaren Medium, wobei das Überlagerungsbild eine Vielzahl von Overlay-Renderings umfasst, wobei jede der Vielzahl von Overlay-Renderings jeweils einem entsprechenden Rendering der Vielzahl von 2D-Renderings entspricht und Randlinien oder Schatten auf einem transparenten Hintergrund umfasst; Übertragen des Überlagerungsbildes über das Netzwerk zum Client-Gerät; und Anzeigen jedes der Vielzahl von Overlay-Renderings, die jeweils das entsprechende Rendering der Vielzahl von 2D-Renderings überlagern.
    • 30. Verfahren nach einem der Aspekte 25 bis 29, worin das Speichern der einzelnen Bilddatei das Speichern des einzelnen Bildes in einem progressiven Bildformat umfasst.
    • 31. Verfahren nach einem der Aspekte 25 bis 30, worin eine Bereitstellung einer Benutzeroberfläche, die verwendet werden kann, um die Vielzahl von 2D-Renderings einzeln anzuzeigen, das Bereitstellen einer Benutzeroberfläche umfasst, die mit dem Anzeigen der Vielzahl von 2D-Renderings beginnen kann, bevor das einzelne Bild vollständig von dem Server empfangen wurde.
    • 32. System zur Darstellung eines dreidimensionalen Multi-Pose-Renderings eines Objekts, das System umfassend: eine Datenbank, die eine Bilddatei speichert, wobei die Bilddatei die Daten eines einzelnen Bildes speichert, wobei das einzelne Bild über eine Vielzahl von Abschnitten verfügt, die jeweils ein zweidimensionales (2D) Rendering des Objekts umfassen, wobei jedes der 2D-Renderings das Objekt aus einem offensichtlich anderen Betrachtungswinkel zeigt; auf einem maschinenlesbaren Medium gespeicherte maschinenausführbare Anweisungen und die Definition einer Schnittstelle, die verwendet werden kann, um die Vielzahl von 2D-Renderings anzuzeigen; ein kommunikativ über ein Netzwerk mit der Datenbank gekoppelter Server, der verwendet werden kann, um (1) dem kommunikativ über ein Netzwerk gekoppelten Client-Gerät die Maschinenanweisungen zu übertragen, mit denen die Schnittstelle spezifiziert wird, und (2) eine Anfrage für das Rendering des Objekts zu erhalten und als Reaktion auf diese Anfrage die Bilddatei aus der Datenbank abzurufen und die Bilddatei zum Client-Gerät zu übertragen.
    • 33. System nach Aspekt 32, worin die einzelne Bilddatei ein Einzelbild umfasst, das über eine Vielzahl von Abschnitten verfügt, wobei jeder Abschnitt sich über eine erste Anzahl (X) von Pixeln in eine horizontale Dimension und über eine zweite Anzahl von Pixeln (Y) in eine vertikale Dimension erstreckt, wobei die Abschnitte in dem Einzelbild so ausgerichtet sind, dass das Einzelbild sich nur Y Pixel in die vertikale Richtung erstreckt.
    • 34. System nach Aspekt 32 oder Aspekt 33, worin die Abschnitte so angeordnet sind, dass die 2D-Renderings, wenn diese nacheinander angezeigt werden, von einem am weitesten links liegenden Abschnitt des einzelnen Bildes zu einem am weitesten rechts liegenden Abschnitt des einzelnen Bildes, scheinbar eine Drehung des Objekts um eine Achse des Objekts darstellen.
    • 35. System nach einem der Aspekte 32 bis 34, worin die einzelne Bilddatei ein Einzelbild umfasst, das über eine Vielzahl von Abschnitten verfügt, wobei jeder Abschnitt sich über eine erste Anzahl (X) von Pixeln in eine horizontale Dimension und über eine zweite Anzahl von Pixeln (Y) in eine vertikale Dimension erstreckt, wobei die Abschnitte in dem Einzelbild so angeordnet sind, dass: die Abschnitte in der horizontalen Dimension so angeordnet sind, dass, wenn diese nacheinander angezeigt werden, von einem am weitesten links liegenden Abschnitt des einzelnen Bildes zu einem am weitesten rechts liegenden Abschnitt des einzelnen Bildes, scheinbar eine Drehung des Objekts um eine erste Achse des Objekts darstellen; und die Abschnitte in der vertikalen Dimension so angeordnet sind, dass, wenn diese nacheinander angezeigt werden, von einem am weitesten oben liegenden Abschnitt des einzelnen Bildes zu einem am weitesten unten liegenden Abschnitt des einzelnen Bildes, scheinbar die Drehung des Objekts um eine zweite Achse des Objekts orthogonal zur ersten Achse des Objekts darstellen.
    • 36. System nach einem der Aspekte 32 bis 35, worin die Datenbank außerdem ein Überlagerungsbild speichert (3), wobei das Überlagerungsbild eine Vielzahl von Overlay-Renderings umfasst, wobei jedes der Vielzahl von Overlay-Renderings jeweils einem entsprechenden Rendering der Vielzahl von 2D-Renderings entspricht und Randlinien oder Schatten auf einem transparenten Hintergrund umfasst; worin der Server des Weiteren verwendet werden kann, um (3) das Überlagerungsbild über das Netzwerk auf das Client-Gerät zu übertragen; und worin die Oberfläche des Weiteren verwendet werden kann um jedes der Vielzahl von Overlay-Renderings, die jeweils das entsprechende Rendering der Vielzahl von 2D-Renderings überlagern, anzuzeigen.
    • 37. System nach einem der Aspekte 32 bis 36, worin die Bilddatei ein in einem progressiven Bildformat gespeichertes Bild umfasst.
    • 38. System nach einem der Aspekte 32 bis 37, worin die Schnittstelle des Weiteren verwendet werden kann, um die Vielzahl von 2D-Renderings anzuzeigen, bevor das Einzelbild vollständig von dem Server empfangen wird.
    • 39. Satz von maschinenausführbaren Anweisungen, die auf einem maschinenlesbaren Speichermedium gespeichert sind, die, bei einer Ausführung, den Prozessor zu Folgendem veranlassen: Empfangen einer Bilddatei von einem kommunikativ mit dem Prozessor über ein Netzwerk gekoppelten Server, wobei die Bilddatei die Daten eines einzelnen Bildes speichert, wobei das einzelne Bild über eine Vielzahl von Abschnitten verfügt, die jeweils ein zweidimensionales (2D) Rendering des dreidimensionalen (3D) Objekts umfassen, wobei jedes der 2D-Renderings das 3D-Objekt aus einem offensichtlich anderen Betrachtungswinkel zeigt; und ein mit dem Prozessor gekoppeltes Anzeigegerät veranlassen, die Vielzahl von 2D-Renderings jeweils einzeln anzuzeigen.
    • 40. Speichermedium nach Aspekt 39, worin die Bilddatei die Daten eines einzelnen Bildes umfasst, das über eine Vielzahl von Abschnitten verfügt, wobei jeder Abschnitt sich über eine erste Anzahl (X) von Pixeln in eine horizontale Dimension und über eine zweite Anzahl von Pixeln (Y) in eine vertikale Dimension erstreckt, die Abschnitte sind in dem Einzelbild so ausgerichtet, dass das Einzelbild sich nur Y Pixel in die vertikale Richtung erstreckt.
    • 41. Speichermedium nach Aspekt 39 oder Aspekt 40, worin die Abschnitte so angeordnet sind, dass die 2D-Renderings, wenn diese nacheinander angezeigt werden, von einem am weitesten links liegenden Abschnitt des einzelnen Bildes zu einem am weitesten rechts liegenden Abschnitt des einzelnen Bildes, scheinbar eine Drehung des Objekts um eine Achse des 3D-Objekts darstellen.
    • 42. Speichermedium nach einem der Aspekte 39 bis 41, worin die Bilddatei die Daten eines einzelnen Bildes umfasst, das über eine Vielzahl von Abschnitten verfügt, wobei jeder Abschnitt sich über eine erste Anzahl (X) von Pixeln in eine horizontale Dimension und über eine zweite Anzahl von Pixeln (Y) in eine vertikale Dimension erstreckt, die Abschnitte in dem Einzelbild so angeordnet sind, dass: die Abschnitte in der horizontalen Dimension so angeordnet sind, dass, wenn diese nacheinander angezeigt werden, von einem am weitesten links liegenden Abschnitt des einzelnen Bildes zu einem am weitesten rechts liegenden Abschnitt des einzelnen Bildes, scheinbar eine Drehung des 3D-Objekts um eine erste Achse des 3D-Objekts darstellen; und die Abschnitte in der vertikalen Dimension so angeordnet sind, dass, wenn diese nacheinander angezeigt werden, von einem am weitesten oben liegenden Abschnitt des einzelnen Bildes zu einem am weitesten unten liegenden Abschnitt des einzelnen Bildes, scheinbar die Drehung des 3D-Objekts um eine zweite Achse des 3D-Objekts orthogonal zur ersten Achse des 3D-Objekts darstellen.
    • 43. Speichermedium nach einem der Aspekte 39 bis 42, worin die Anweisungen des Weiteren verwendet werden können, um den Prozessor dazu veranlassen: ein Überlagerungsbild vom Server zu erhalten, wobei das Überlagerungsbild eine Vielzahl von Overlay-Renderings umfasst, wobei jedes der Vielzahl von Overlay-Renderings jeweils einem entsprechenden Rendering der Vielzahl von 2D-Renderings entspricht und Randlinien oder Schatten auf einem transparenten Hintergrund umfasst; jedes der Vielzahl von Overlay-Renderings anzuzeigen, die jeweils das entsprechende Rendering der Vielzahl von 2D-Renderings überlagern.
    • 44. System nach einem der Aspekte 39 bis 43, worin die Bilddatei ein in einem progressiven Bildformat gespeichert ist.
    • 45. Speichermedium nach einem der Aspekte 39 bis 44, worin die Anweisungen des Weiteren verwendet werden können, um den Prozessor zu veranlassen, die Vielzahl von 2D-Renderings einzeln anzuzeigen, bevor das einzelne Bild vollständig von dem Server empfangen wird.
    • 46. Verfahren zur Darstellung eines dreidimensionalen (3D) Multi-Pose-Renderings eines Objekts, das Verfahren umfassend: Speichern einer Vielzahl von zweidimensionalen (2D) Renderings eines Objekts auf einem computerlesbaren Medium, wobei jedes der Vielzahl von 2D-Renderings das Objekt aus einem anderen, offensichtlichen Betrachtungswinkel darstellt; Speichern einer Vielzahl von Miniaturbildern auf einem computerlesbaren Medium, wobei jedes der Miniaturbilder einem der Vielzahl von 2D-Renderings entspricht; Übertragen der Vielzahl von 2D-Renderings über ein Netzwerk zu einem Client-Gerät, das mit einem Anzeigegerät gekoppelt ist; das Übertragen der Vielzahl von Miniaturbildern über das Netzwerk zum Client-Gerät; und Bereitstellen einer Schnittstelle, die verwendet werden kann, um jedes der Vielzahl von Miniaturbildern sowie jedes der Vielzahl von 2D-Renderings anstelle des entsprechenden Miniaturbildes anzuzeigen, nachdem das Client-Gerät die 2D-Renderings erhalten hat.
    • 47. Verfahren nach Aspekt 46, worin die Übertragung der Vielzahl von Miniaturbildern geschieht, bevor die Vielzahl von 2D-Renderings übertragen wird.
    • 48. Verfahren nach Aspekt 45 oder Aspekt 46, worin das Speichern einer Vielzahl von Miniaturbildern das Speichern einer Vielzahl von Miniaturbildern umfasst, die eine geringere Farbtiefe haben als die 2D-Renderings.
    • 49. Verfahren nach einem der Aspekte 45 bis 48, worin das Speichern einer Vielzahl von Miniaturbildern das Speichern einer Vielzahl von Miniaturbildern umfasst, die zumindest in einer Dimension über weniger Pixel verfügen als die entsprechenden 2D-Renderings.
    • 50. Verfahren nach einem der Aspekte 45 bis 49, worin das Speichern einer Vielzahl von Miniaturbildern das Speichern einer Vielzahl von Miniaturbildern umfasst, die in einer ersten Dimension über weniger Pixel verfügen als in einer zweiten Dimension.
    • 51. Verfahren nach einem der Aspekte 45 bis 50, worin das Anzeigen jedes Bildes einer Vielzahl von Miniaturbildern das Anzeigen jedes Miniaturbildes in der Größe seiner entsprechenden 2D-Renderings umfasst.
    • 52. Verfahren nach einem der Aspekte 45 bis 51, worin die erste Dimension zu einer offensichtlichen Drehachse orthogonal ist, um die das Objekt in der Vielzahl von Miniaturbildern gedreht zu werden scheint, und die zweite Dimension zu der Drehachse parallel ist.
    • 53. Ein System zur Darstellung eines dreidimensionalen (3D) Multi-Pose-Renderings eines Objekts, das System umfassend: eine Datenbank, die (1) eine Vielzahl von zweidimensionalen (2D) Renderings des Objekts speichert, wobei jedes der Vielzahl von 2D-Renderings das Objekt aus einem anderen offensichtlichen Betrachtungswinkel darstellt, und (2) eine Vielzahl von Miniaturbildern, wobei jedes der Miniaturbilder einem der Vielzahl von 2D-Renderings entspricht; auf einem maschinenlesbaren Medium gespeicherte maschinenausführbare Anweisungen, die, wenn sie von einem Prozessor ausgeführt werden, eine Benutzeroberfläche implementieren, die verwendet werden kann, um das Multi-Pose-3D-Rendering anzuzeigen; ein kommunikativ über ein Netzwerk mit der Datenbank gekoppelter Server, der verwendet werden kann, um (1) die Vielzahl von 2D-Renderings zu einem mit dem Netzwerk kommunikativ gekoppeltes Client-Gerät zu übertragen und (2) die Vielzahl von Miniaturbildern zum Client-Gerät zu übertragen; worin die Benutzeroberfläche verwendet werden kann, um jedes der Vielzahl von Miniaturbildern anzuzeigen und, nachdem das Client-Gerät die 2D-Renderings erhalten hat, jedes der Vielzahl von 2D-Renderings anstelle der entsprechenden Miniaturbilder anzuzeigen.
    • 54. System nach Aspekt 53, worin der Server die Vielzahl von Miniaturbildern überträgt, bevor er die Vielzahl von 2D-Renderings überträgt.
    • 55. System nach Aspekt 53 oder Aspekt 54, worin jedes der Vielzahl von Miniaturbildern eine geringere Farbtiefe hat als die entsprechenden 2D-Renderings.
    • 56. System nach einem der Aspekte 53 bis 55, worin jedes der Vielzahl von Miniaturbildern zumindest in einer Dimension über weniger Pixel verfügt als das entsprechende 2D-Rendering.
    • 57. System nach einem der Aspekte 53 bis 56, worin jedes der Vielzahl von Miniaturbildern zumindest in einer ersten Dimension über weniger Pixel verfügt als in einer zweiten Dimension.
    • 58. System nach einem der Aspekte 53 bis 57, worin die Benutzeroberfläche verwendet werden kann, um jedes der Vielzahl von Miniaturbildern in der Größe seiner entsprechenden 2D-Renderings anzuzeigen.
    • 59. System nach den Aspekte 53 bis 58, worin die erste Dimension zu einer offensichtlichen Drehachse orthogonal ist, um die das Objekt in der Vielzahl von Miniaturbildern gedreht zu werden scheint, und die zweite Dimension zu der Drehachse parallel ist.
    • 60. Satz von maschinenausführbaren Anweisungen, die auf einem maschinenlesbaren Speichermedium gespeichert sind, die, bei einer Ausführung, den Prozessor zu Folgendem veranlassen: Empfangen einer Vielzahl von zweidimensionalen (2D) Renderings des Objekts von einen kommunikativ über ein Netzwerk mit dem Prozessor gekoppelten Servers, wobei jedes der Vielzahl von 2D-Renderings das Objekt aus einem anderen, offensichtlichen Betrachtungswinkel darstellt; Empfangen einer Vielzahl von Miniaturbildern von einem Server, von denen jedes der Miniaturbilder einem der Vielzahl von 2D-Renderings entspricht; Veranlassen, dass ein Anzeigegerät, das kommunikativ mit dem Prozessor gekoppelt ist, jedes Bild der Vielzahl von Miniaturbildern sowie, nach vollständigem Empfang der 2D-Renderings, jedes Bild der Vielzahl von 2D-Renderings anstelle der entsprechenden Miniaturbilder anzeigt.
    • 61. Speichermedium nach Aspekt 60, worin die Anweisungen den Prozessor veranlassen, die Vielzahl von Miniaturbildern vor Erhalt der Vielzahl der 2D-Renderings zu empfangen.
    • 62. Speichermedium nach Aspekt 60 oder Aspekt 61, worin die Vielzahl von Miniaturbildern eine geringere Farbtiefe hat als die 2D-Renderings.
    • 63. Speichermedium nach einem der Aspekte 60 bis 62, worin die Vielzahl von Miniaturbildern zumindest in einer Dimension über weniger Pixel verfügt als das entsprechende 2D-Rendering.
    • 64. Speichermedium nach einem der Aspekte 60 bis 63, worin jedes der Vielzahl von Miniaturbildern zumindest in einer ersten Dimension über weniger Pixel verfügt als in einer zweiten Dimension.
    • 65. Speichermedium nach einem der Aspekte 60 bis 64, worin die Anweisungen verwendet werden können, um den Prozessor zu veranlassen, jedes der Miniaturbilder in der Größe des entsprechenden 2D-Renderings anzuzeigen.
    • 66. Speichermedium nach den Aspekte 60 bis 65, worin die erste Dimension zu einer offensichtlichen Drehachse orthogonal ist, um die das Objekt in der Vielzahl von Miniaturbildern gedreht zu werden scheint, und die zweite Dimension zu der Drehachse parallel ist.

Claims (26)

  1. Ein System zur Darstellung eines dreidimensionalen (3D) Multi-Pose-Renderings eines Objekts, das System umfassend: eine Datenbank zur Speicherung (1) einer Vielzahl von zweidimensionalen (2D) Renderings des Objekts, wobei jedes der Vielzahl von 2D-Renderings das Objekt aus einem anderen offensichtlichen Betrachtungswinkel darstellt, und (2) einer Vielzahl von Overlay-Renderings, wobei jedes Overlay-Rendering einem der Vielzahl von 2D-Renderings entspricht und jedes Overlay-Rendering (i) entweder (a) eine Schattenebene umfasst, die in einer ersten Farbe gerendert wird und den sichtbaren Schatten des Objekts entspricht, wie es in dem entsprechenden 2D-Rendering gerendert wurde; oder (b) Randlinien, die in einer ersten Farbe gerendert werden und den Rändern des Objekts entsprechen, wie es in dem entsprechenden 2D-Rendering gerendert wurde und (ii) einem transparenten Hintergrund; auf einem maschinenlesbaren Medium gespeicherte maschinenausführbare Anweisungen und Spezifikation einer Schnittstelle, die verwendet werden kann, um eine Vielzahl von zusammengesetzten Bildern anzuzeigen, wobei jedes zusammengesetzte Bild eines der Overlay-Renderings umfasst, das jeweils ein entsprechendes 2D-Rendering überlagert; ein kommunikativ über ein Netzwerk mit der Datenbank gekoppelter Server, der verwendet werden kann, um (1) dem kommunikativ über ein Netzwerk gekoppelten Client-Gerät die Maschinenanweisungen zu senden, die die Schnittstelle spezifizieren, und (2) eine Anfrage für das Rendering des Objekts zu erhalten und als Reaktion auf diese Anfrage die Vielzahl von 2D-Renderings und die Vielzahl von Overlay-Renderings aus der Datenbank abzurufen und die Vielzahl von 2D-Renderings und die Vielzahl von Overlay-Renderings zum Client-Gerät zu übertragen.
  2. System nach Anspruch 1, worin die Vielzahl von Overlay-Renderings als eine einzelne Bilddatei gespeichert sind, wobei die einzelne Bilddatei ein Einzelbild speichert und wobei außerdem jedes der Vielzahl von Overlay-Renderings einen Abschnitt des Einzelbildes bildet.
  3. System nach Anspruch 1, worin der Server verwendet werden kann, um die Overlay-Renderings vor Übertragung der Vielzahl von 2D-Renderings zu übertragen.
  4. System nach Anspruch 3, worin die durch den Server übertragene Schnittstelle des Weiteren verwendet werden kann, um jedes der Vielzahl von Overlay-Renderings nacheinander anzuzeigen, bevor die Vielzahl von 2D-Renderings von dem Client-Gerät vollständig empfangen wurde.
  5. System nach Anspruch 1, worin die durch den Server übertragene Schnittstelle selektiv verwendet werden kann, um jedes Rendering der Vielzahl von Overlay-Renderings anstelle der entsprechenden zusammengesetzten Bildern nacheinander anzuzeigen.
  6. System nach Anspruch 1, worin die durch den Server übertragene Schnittstelle selektiv verwendet werden kann, um jedes Rendering der Vielzahl von 2D-Renderings anstelle der entsprechenden zusammengesetzten Bildern nacheinander anzuzeigen.
  7. System nach Anspruch 1, worin die durch den Server übertragene Schnittstelle des Weiteren verwendet werden kann, um jedes der Vielzahl von Bildern in einer vordefinierten Reihenfolge anzuzeigen.
  8. System nach Anspruch 7, worin die Vielzahl von Overlay-Renderings als eine einzelne Bilddatei gespeichert sind, wobei die einzelne Bilddatei ein Einzelbild speichert und wobei außerdem jedes der Vielzahl von Overlay-Renderings einen Abschnitt des Einzelbildes bildet.
  9. System nach Anspruch 8, worin die Vielzahl von Overlay-Renderings in dem Einzelbild so angeordnet sind, dass sie der vordefinierten Reihenfolge entsprechen.
  10. System nach Anspruch 1, worin die bereitgestellte Schnittstelle des Weiteren verwendet werden kann, um eine Steuerung bereitzustellen, um die Transparenz der Schattenschicht zu variieren.
  11. System nach Anspruch 1, worin der Server des Weiteren verwendet werden kann, um eine zweite Vielzahl von Overlay-Renderings zu übertragen, wobei jedes der zweiten Vielzahl von Overlay-Renderings einem Rendering der ersten Vielzahl von Overlay-Renderings und einem Rendering der Vielzahl von 2D-Renderings entspricht, wobei die bereitgestellte Schnittstelle des Weiteren verwendet werden kann, um jedes Rendering der Vielzahl der ersten Overlay-Renderings und jedes Rendering der Vielzahl der zweiten Overlay-Renderings als Schichten eines zusammengesetzten Bildes mit den entsprechenden 2D-Renderings nacheinander anzuzeigen.
  12. Das System nach Anspruch 11, worin die zweite Vielzahl von Overlay-Renderings als eine zweite einzelne Bilddatei gespeichert wird, wobei die zweite einzelne Bilddatei ein zweites Einzelbild speichert und wobei außerdem jedes der zweiten Vielzahl von Overlay-Renderings einen Abschnitt des zweiten Einzelbildes bildet.
  13. System zur Darstellung eines dreidimensionalen Multi-Pose-Renderings eines Objekts, das System umfassend: eine Datenbank, die eine Bilddatei speichert, wobei die Bilddatei die Daten eines einzelnen Bildes speichert, wobei das einzelne Bild über eine Vielzahl von Abschnitten verfügt, die jeweils ein zweidimensionales (2D) Rendering des Objekts umfassen, wobei jedes der 2D-Renderings das Objekt aus einem offensichtlich anderen Betrachtungswinkel zeigt; auf einem maschinenlesbaren Medium gespeicherte maschinenausführbare Anweisungen und die Definition einer Schnittstelle, die verwendet werden kann, um die Vielzahl von 2D-Renderings anzuzeigen; ein kommunikativ über ein Netzwerk mit der Datenbank gekoppelter Server, der verwendet werden kann, um (1) dem kommunikativ über ein Netzwerk gekoppelten Client-Gerät die Maschinenanweisungen zu übertragen, mit denen die Schnittstelle spezifiziert wird, und (2) eine Anfrage für das Rendering des Objekts zu erhalten und als Reaktion auf diese Anfrage die Bilddatei aus der Datenbank abzurufen und die Bilddatei zum Client-Gerät zu übertragen.
  14. System nach Anspruch 13, worin die einzelne Bilddatei ein Einzelbild umfasst, das über eine Vielzahl von Abschnitten verfügt, wobei jeder Abschnitt sich über eine erste Anzahl (X) von Pixeln in eine horizontale Dimension und über eine zweite Anzahl von Pixeln (Y) in eine vertikale Dimension erstreckt, wobei die Abschnitte in dem Einzelbild so ausgerichtet sind, dass das Einzelbild sich nur Y Pixel in die vertikale Richtung erstreckt.
  15. System nach Anspruch 14, worin die Abschnitte so angeordnet sind, dass die 2D-Renderings, wenn diese nacheinander angezeigt werden, von einem am weitesten links liegenden Abschnitt des einzelnen Bildes zu einem am weitesten rechts liegenden Abschnitt des einzelnen Bildes, scheinbar eine Drehung des Objekts um eine Achse des 3D-Objekts darstellen.
  16. System nach Anspruch 13, worin die einzelne Bilddatei ein Einzelbild umfasst, das über eine Vielzahl von Abschnitten verfügt, wobei jeder Abschnitt sich über eine erste Anzahl (X) von Pixeln in eine horizontale Dimension und über eine zweite Anzahl von Pixeln (Y) in eine vertikale Dimension erstreckt, wobei die Abschnitte in dem Einzelbild so angeordnet sind, dass: die Abschnitte in der horizontalen Dimension so angeordnet sind, dass, wenn diese nacheinander angezeigt werden, von einem am weitesten links liegenden Abschnitt des einzelnen Bildes zu einem am weitesten rechts liegenden Abschnitt des einzelnen Bildes, scheinbar eine Drehung des Objekts um eine erste Achse des Objekts darstellen; und die Abschnitte in der vertikalen Dimension so angeordnet sind, dass, wenn diese nacheinander angezeigt werden, von einem am weitesten oben liegenden Abschnitt des einzelnen Bildes zu einem am weitesten unten liegenden Abschnitt des einzelnen Bildes, scheinbar die Drehung des Objekts um eine zweite Achse des Objekts orthogonal zur ersten Achse des Objekts darstellen.
  17. System nach Anspruch 13, worin die Datenbank außerdem ein Überlagerungsbild speichert (3), wobei das Überlagerungsbild eine Vielzahl von Overlay-Renderings umfasst, wobei jedes der Vielzahl von Overlay-Renderings jeweils einem entsprechenden Rendering der Vielzahl von 2D-Renderings entspricht und Randlinien oder Schatten auf einem transparenten Hintergrund umfasst; worin der Server des Weiteren verwendet werden kann, um (3) das Überlagerungsbild über das Netzwerk auf das Client-Gerät zu übertragen; und worin die Oberfläche des Weiteren verwendet werden kann um jedes der Vielzahl von Overlay-Renderings, die jeweils das entsprechende Rendering der Vielzahl von 2D-Renderings überlagern, anzuzeigen.
  18. System nach Anspruch 13, worin die Bilddatei ein in einem progressiven Bildformat gespeichertes Bild umfasst.
  19. System nach Anspruch 18, worin die Schnittstelle des Weiteren verwendet werden kann, um die Vielzahl von 2D-Renderings anzuzeigen, bevor das Einzelbild vollständig von dem Server empfangen wird.
  20. Ein System zur Darstellung eines dreidimensionalen (3D) Multi-Pose-Renderings eines Objekts, das System umfassend: eine Datenbank, die (1) eine Vielzahl von zweidimensionalen (2D) Renderings des Objekts speichert, wobei jedes der Vielzahl von 2D-Renderings das Objekt aus einem anderen offensichtlichen Betrachtungswinkel darstellt, und (2) eine Vielzahl von Miniaturbildern, wobei jedes der Miniaturbilder einem der Vielzahl von 2D-Renderings entspricht; auf einem maschinenlesbaren Medium gespeicherte maschinenausführbare Anweisungen, die, wenn sie von einem Prozessor ausgeführt werden, eine Benutzeroberfläche implementieren, die verwendet werden kann, um das Multi-Pose-3D-Rendering anzuzeigen; ein kommunikativ über ein Netzwerk mit der Datenbank gekoppelter Server, der verwendet werden kann, um (1) die Vielzahl von 2D-Renderings zu einem mit dem Netzwerk kommunikativ gekoppeltes Client-Gerät zu übertragen und (2) die Vielzahl von Miniaturbildern zum Client-Gerät zu übertragen; worin die Benutzeroberfläche verwendet werden kann, um jedes der Vielzahl von Miniaturbildern anzuzeigen und, nachdem das Client-Gerät die 2D-Renderings erhalten hat, jedes der Vielzahl von 2D-Renderings anstelle der entsprechenden Miniaturbilder anzuzeigen.
  21. System nach Anspruch 20, worin der Server die Vielzahl von Miniaturbildern überträgt, bevor er die Vielzahl von 2D-Renderings überträgt.
  22. System nach Anspruch 20, worin jedes der Vielzahl von Miniaturbildern eine geringere Farbtiefe hat als die entsprechenden 2D-Renderings.
  23. System nach Anspruch 20, worin jedes der Vielzahl von Miniaturbildern zumindest in einer Dimension über weniger Pixel verfügt als das entsprechende 2D-Rendering.
  24. System nach Anspruch 20, worin jedes der Vielzahl von Miniaturbildern zumindest in einer ersten Dimension über weniger Pixel verfügt als in einer zweiten Dimension.
  25. System nach Anspruch 24, worin die Benutzeroberfläche verwendet werden kann, um jedes der Vielzahl von Miniaturbildern in der Größe seiner entsprechenden 2D-Renderings anzuzeigen.
  26. System nach Anspruch 24, worin die erste Dimension zu einer offensichtlichen Drehachse orthogonal ist, um die das Objekt in der Vielzahl von Miniaturbildern gedreht zu werden scheint, und die zweite Dimension zu der Drehachse parallel ist.
DE202013012432.6U 2012-01-31 2013-01-30 System zur Verbesserung der Geschwindigkeit und Wiedergabetreue von Multi-Pose-3D-Renderings Expired - Lifetime DE202013012432U1 (de)

Applications Claiming Priority (8)

Application Number Priority Date Filing Date Title
US201261593109P 2012-01-31 2012-01-31
US201261593105P 2012-01-31 2012-01-31
US201261593115P 2012-01-31 2012-01-31
US201261593112P 2012-01-31 2012-01-31
US201261593109P 2012-01-31
US201261593112P 2012-01-31
US201261593115P 2012-01-31
US201261593105P 2012-01-31

Publications (1)

Publication Number Publication Date
DE202013012432U1 true DE202013012432U1 (de) 2016-10-31

Family

ID=48905791

Family Applications (1)

Application Number Title Priority Date Filing Date
DE202013012432.6U Expired - Lifetime DE202013012432U1 (de) 2012-01-31 2013-01-30 System zur Verbesserung der Geschwindigkeit und Wiedergabetreue von Multi-Pose-3D-Renderings

Country Status (6)

Country Link
US (1) US20150015581A1 (de)
EP (1) EP2810253A4 (de)
CN (1) CN104520903A (de)
AU (1) AU2013215218B2 (de)
DE (1) DE202013012432U1 (de)
WO (1) WO2013116347A1 (de)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI517675B (zh) * 2013-01-29 2016-01-11 國立交通大學 影像編碼方法及應用該影像編碼之嵌入式系統
KR20150000030A (ko) * 2013-06-20 2015-01-02 삼성전자주식회사 컨텐츠 공유 서비스
CN103973547B (zh) * 2014-04-29 2015-07-01 腾讯科技(深圳)有限公司 图片显示方法和装置
US9684440B2 (en) * 2014-06-30 2017-06-20 Apple Inc. Progressive rotational view
US20160041737A1 (en) * 2014-08-06 2016-02-11 EyeEm Mobile GmbH Systems, methods and computer program products for enlarging an image
US10216861B2 (en) * 2014-09-30 2019-02-26 International Business Machines Corporation Autonomic identification and handling of ad-hoc queries to limit performance impacts
US10163250B2 (en) * 2016-03-25 2018-12-25 Outward, Inc. Arbitrary view generation
CN105975263A (zh) * 2016-04-29 2016-09-28 乐视控股(北京)有限公司 一种在3d空间中的控件实现方法及其装置
US10440351B2 (en) * 2017-03-03 2019-10-08 Fyusion, Inc. Tilts as a measure of user engagement for multiview interactive digital media representations
US10356395B2 (en) 2017-03-03 2019-07-16 Fyusion, Inc. Tilts as a measure of user engagement for multiview digital media representations
US10262453B2 (en) * 2017-03-24 2019-04-16 Siemens Healthcare Gmbh Virtual shadows for enhanced depth perception
US20210134049A1 (en) * 2017-08-08 2021-05-06 Sony Corporation Image processing apparatus and method
EP4254349A3 (de) * 2018-07-02 2023-12-06 MasterCard International Incorporated Verfahren zur erzeugung eines datensatzes entsprechender bilder zum maschinellen lernen des sehens
CN108959599A (zh) * 2018-07-13 2018-12-07 浙江百先得服饰有限公司 一种3d建模工具设计方法
CN111862334A (zh) * 2019-04-29 2020-10-30 杭州优工品科技有限公司 一种显示三维图形、提供图形及图形数据的方法及装置
CN111862283A (zh) * 2019-04-29 2020-10-30 杭州优工品科技有限公司 一种显示零部件的三维图形及提供图形数据的方法和装置
CN110910470B (zh) * 2019-11-11 2023-07-07 广联达科技股份有限公司 一种生成高质量缩略图的方法和装置
US11923070B2 (en) 2019-11-28 2024-03-05 Braid Health Inc. Automated visual reporting technique for medical imaging processing system
CN111260540B (zh) * 2020-01-13 2023-06-13 成都卓影科技股份有限公司 5g网络下的2d-3d的2.5d转换引擎
GB2607483A (en) 2020-01-29 2022-12-07 Americas Collectibles Network Inc System and method of bridging 2D and 3D assets for product visualization and manufacturing
CN111476870B (zh) * 2020-02-29 2022-08-30 新华三大数据技术有限公司 一种对象渲染方法和装置
EP4349019A1 (de) * 2021-05-25 2024-04-10 Yoom.Com Ltd. Volumetrisches video in einem webbrowser

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6160907A (en) * 1997-04-07 2000-12-12 Synapix, Inc. Iterative three-dimensional process for creating finished media content
US6674430B1 (en) * 1998-07-16 2004-01-06 The Research Foundation Of State University Of New York Apparatus and method for real-time volume processing and universal 3D rendering
US20040217956A1 (en) * 2002-02-28 2004-11-04 Paul Besl Method and system for processing, compressing, streaming, and interactive rendering of 3D color image data
US7542050B2 (en) * 2004-03-03 2009-06-02 Virtual Iris Studios, Inc. System for delivering and enabling interactivity with images
US20070146360A1 (en) * 2005-12-18 2007-06-28 Powerproduction Software System And Method For Generating 3D Scenes
US8194074B2 (en) * 2006-05-04 2012-06-05 Brown Battle M Systems and methods for photogrammetric rendering
US8353457B2 (en) * 2008-02-12 2013-01-15 Datalogic ADC, Inc. Systems and methods for forming a composite image of multiple portions of an object from multiple perspectives
US20100169059A1 (en) * 2009-02-13 2010-07-01 Grant Thomas-Lepore Layered Personalization
US20100231582A1 (en) * 2009-03-10 2010-09-16 Yogurt Bilgi Teknolojileri A.S. Method and system for distributing animation sequences of 3d objects

Also Published As

Publication number Publication date
AU2013215218B2 (en) 2015-04-23
US20150015581A1 (en) 2015-01-15
WO2013116347A1 (en) 2013-08-08
CN104520903A (zh) 2015-04-15
EP2810253A1 (de) 2014-12-10
EP2810253A4 (de) 2015-12-23
AU2013215218A1 (en) 2014-08-21

Similar Documents

Publication Publication Date Title
DE202013012432U1 (de) System zur Verbesserung der Geschwindigkeit und Wiedergabetreue von Multi-Pose-3D-Renderings
DE60133166T2 (de) Verfahren und Vorrichtung zur Volumendarstellung
DE102016015156A1 (de) Optimieren eines Bildzuschnitts
DE202017104054U1 (de) 2D-Video mit der Option für projiziertes Betrachten in einem modellierten 3D-Raum
DE202014010937U1 (de) Überlagerung zweidimensionaler Kartendaten auf einer dreidimensionalen Szene
DE112019000687T5 (de) Fotorealistische dreidimensionale texturierung unter verwendung kanonischer ansichten und eines zweistufigen ansatzes
DE202008018626U1 (de) System zum Betrachten von Panoramabildern
DE102007023506A1 (de) Verfahren zum Darstellen von Bildobjekten in einem virtuellen dreidimensionalen Bildraum
DE202015009167U1 (de) System zur Geolokalisierung von Bildern
DE202010018459U1 (de) System zur Darstellung von Übergängen zwischen Strassenansichten
DE202011110887U1 (de) Wiedergeben und navigieren fotografischer Panoramen mit Tiefeninformationen in einem geographischen Informationssystem
DE202014010917U1 (de) Glatte Zeichenebene für das Rendern von Vektordaten komplexer dreidimensionaler Objekte
DE202012013412U1 (de) Systeme für die Steuerung einer Kamera
DE202015009138U1 (de) Indexierte Einheitsgrößenparameter für Strichwiedergabe
DE112016004195T5 (de) Navigation durch mehrdimensionale Bildräume
DE202013012446U1 (de) Strukturüberblendung für weichen Übergang zwischen unterschiedlichen Detaillierungsgraden in Grafikanwendungen
WO2014195013A1 (de) Vorrichtung und verfahren zur berechnung von hologrammdaten
DE112016005809T5 (de) Lichtfeld-Rendering eines Bildes unter Verwendung variabler Rechenkomplexität
DE102019127726A1 (de) Für fernarbeitsplatz-anwendungen geeignetes streaming individueller anwendungsfenster
DE202014010895U1 (de) Techniken für die Navigation zwischen mehreren Bildern
DE202012013439U1 (de) Das Verwenden von Banding zur Optimierung der Kartenwiedergabe in einer dreidimensionalen Neigungsansicht
DE102020001437A1 (de) Verwendung kontextsensitiver Sensoren und multidimensionaler Gesteneingaben zum effizienten Generieren von nachbearbeiteten Digitalbildern
DE102018130770A1 (de) Stereoskopische Wiedergabe von virtuellen 3D-Objekten
DE102010028668B4 (de) Verfahren zur räumlichen Darstellung
DE102021006022A1 (de) Webbasierte Digitalbildbearbeitung in Echtzeit unter Einsatz eines Latentvektorstreamwiedergebers und eines bildmodifizierenden neuronalen Netzwerkes

Legal Events

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

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

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

R082 Change of representative

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

R081 Change of applicant/patentee

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

Free format text: FORMER OWNER: GOOGLE LLC (N.D.GES.D. STAATES DELAWARE), MOUNTAIN VIEW, CALIF., US

R082 Change of representative

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

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