DE102020104055A1 - Rendern von objekten zur anpassung von dem kamerarauschen - Google Patents

Rendern von objekten zur anpassung von dem kamerarauschen Download PDF

Info

Publication number
DE102020104055A1
DE102020104055A1 DE102020104055.5A DE102020104055A DE102020104055A1 DE 102020104055 A1 DE102020104055 A1 DE 102020104055A1 DE 102020104055 A DE102020104055 A DE 102020104055A DE 102020104055 A1 DE102020104055 A1 DE 102020104055A1
Authority
DE
Germany
Prior art keywords
noise
image
parameterized
model
generating
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
DE102020104055.5A
Other languages
English (en)
Inventor
Tobias Holl
Daniel Kurz
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.)
Apple Inc
Original Assignee
Apple Inc
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 Apple Inc filed Critical Apple Inc
Publication of DE102020104055A1 publication Critical patent/DE102020104055A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • 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
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/006Mixed reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/001Texturing; Colouring; Generation of texture or colour
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • 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
    • G06T5/00Image enhancement or restoration
    • G06T5/70Denoising; Smoothing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/32Indexing scheme for image data processing or generation, in general involving image mosaicing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2215/00Indexing scheme for image rendering
    • G06T2215/16Using real world measurements to influence rendering
    • 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/2012Colour editing, changing, or manipulating; Use of colour codes

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Graphics (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Architecture (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

Verschiedene hier offenbarte Implementierungen rendern virtuelle Inhalte mit dem Rauschen, das ähnlich ist oder anderweitig besser zum Rauschen in den Bildern passt, mit denen die virtuellen Inhalte kombiniert sind. Einige Implementierungen schließen Identifizieren von Daten für ein Bild, Erzeugen eines parametrisierten Rauschmodells basierend auf den Rauschdaten, Erzeugen eines Rauschmusters, das dem Rauschen des Bildes oder einem anderen Bild nahekommt, unter Verwendung des parametrisierten Rauschmodells, und Rendern von Inhalten, die das Bild und virtuelle Inhalte einschließen, mit dem Rauschen, das basierend auf dem Rauschmuster hinzugefügt wird, ein.

Description

  • QUERVERWEIS AUF VERWANDTE ANMELDUNGEN
  • Diese Anmeldung beansprucht den Nutzen der vorläufigen US-Patentanmeldung Seriennummer 62/809,815, eingereicht am 25. Februar 2019, die in ihrer Gesamtheit hierin aufgenommen ist.
  • TECHNISCHES GEBIET
  • Die vorliegende Offenbarung bezieht sich allgemein auf das Bereitstellen von Inhalten auf elektronischen Vorrichtungen und insbesondere auf Systeme, Verfahren und Vorrichtungen zum Bereitstellen von Inhalten, die Bildinhalte und virtuelle Inhalte mit ähnlichem Rauschen einschließen.
  • HINTERGRUND
  • Einige Augmented Reality (AR) Systeme erfassen einen Videostream und kombinieren Bilder des Videostreams mit virtuellen Inhalten. Die Bilder des Videostreams können sehr rauschbehaftet sein, insbesondere im unteren Lichtzustand, in dem bestimmte ISO-Einstellungen verwendet werden, um die Bildhelligkeit zu verstärken. Im Gegensatz dazu gibt es in den virtuellen Inhalten wenig oder kein Rauschen, da der virtuelle Inhalts-Renderer nicht unter den physikalischen Beschränkungen der Bilderfassungsvorrichtung leidet. In den AR-Inhalten, die die Bilder der realen Inhalte mit den virtuellen Inhalten kombinieren, kann das Rauschen auf den realen Objekten gesehen werden, fehlt aber im Allgemeinen in den virtuellen Inhalten. Das fehlende Erscheinungsbild von dem Rauschen, z. B. Körnigkeit, Festigkeit, seiner Variationen in den Eigenschaften zwischen Farbkanälen usw., auf den virtuellen Inhalten kann dazu führen, dass die virtuellen Inhalte zu schwimmen scheinen, gelöst aussehen, herausragen oder anderweitig nicht passgenau mit dem realen Inhalten sind. Zum Beispiel stellt 4 Inhalte 400 dar, in welchen ein reales Objekt 402 ein rauschbehaftetes Erscheinungsbild hat und das virtuelle Objekt 404 ein wesentlich weniger rauschbehaftetes Erscheinungsbild hat. Bestehende Systeme und Techniken berücksichtigen nicht ausreichend Bildrauschen beim Darstellen von virtuellen Inhalten mit Bildinhalten in AR und anderen Inhalten, die virtuelle Inhalte mit realen Bildinhalten kombinieren.
  • KURZDARSTELLUNG
  • Wie oben diskutiert, berücksichtigen bestehende Systeme und Techniken nicht ausreichend das Bildrauschen beim Darstellen von virtuellen Inhalten mit erfassten Bildinhalten. Verschiedene Implementierungen, die hierin offenbart werden, schließen Vorrichtungen, Systeme und Verfahren zum Rendern von virtuellen Inhalten mit dem Rauschen ein, das ähnlich ist oder anderweitig besser zum Rauschen in den Bildern passt, mit denen die virtuellen Inhalte kombiniert sind.
  • Bei einigen Implementierungen verwendet eine elektronische Vorrichtung einen Prozessor, um ein Verfahren durchzuführen. Das Verfahren beinhaltet das Identifizieren von Rauschdaten für ein erstes Bild, das von einer Bilderfassungsvorrichtung erfasst wird. Das Verfahren erzeugt ein parametrisiertes Rauschmodell basierend auf den Rauschdaten. In einigen Implementierungen wird das parametrisierte Rauschmodell erzeugt, indem Parameter für ein Rauschmodell derart identifiziert werden, dass die Rauschmodellausgabe den Rauschdaten ähnlich ist oder anderweitig zu diesen passt. Nach dem Erzeugen eines entsprechenden parametrisierten Rauschmodells (z. B. durch Identifizieren geeigneter Parameter für ein Gaußsches Mischmodell, polynomiale Darstellung, parametrisiertes Histogramm usw.), erzeugt das Verfahren ein Rauschmuster, das dem Rauschen eines zweiten Bildes unter Verwendung des parametrisierten Rauschmodells nahekommt und die Inhalte der computergenerierten Realität (CGR) rendert, die virtuelle Inhalte mit dem Rauschen einschließen, das basierend auf dem Rauschmuster hinzugefügt wird. Das Rauschen in den Inhalten ist relativ konsistent, z. B. relativ ähnlich für sowohl die realen Objekte als auch die virtuellen Objekte. Die CGR-Inhalte können das zweite Bild einschließen oder mit dem zweiten Bild verbunden sein, oder die CGR-Inhalte können mit einem dritten Bild verbunden sein.
  • In einigen Implementierungen ist das zweite Bild das erste Bild, z. B. dasselbe Bild wird verwendet, um das parametrisierte Rauschmodell zu erzeugen, und ist in den CGR-Inhalten eingeschlossen. In diesen Implementierungen, die hierin als Implementierungen einer „Live-Parameter-Erzeugung“ bezeichnet werden, wird das parametrisierte Rauschmodell live erzeugt, z. B. während der CGR-Erfahrung, und es wird keine vorherige Lernphase benötigt.
  • In anderen Implementierungen unterscheidet sich das zweite Bild von dem ersten Bild, z. B. ein anderes Bild oder Bilder wird zur Erzeugung des parametrisierten Rauschmodells verwendet als das Bild oder die Bilder, die in den CGR-Inhalten enthalten sind. Zum Beispiel identifiziert das Verfahren in einigen Implementierungen während einer Lernphase vor der CGR-Erfahrung für eine gegebene Kamera Kameraeinstellungen und verschiedene Signal-Rausch-Verhältnis (SRV) -Pegel Modellparameter basierend auf den durch die Bilderfassungsvorrichtung unter mehreren Beleuchtungsbedingungen erfassten Bildern, z. B., indem es einen ersten Satz von Modellparametern für die Kameraeinstellungen und den SNR-Pegel S1, einen zweiten Satz von Modellparametern für den SNR-Pegel S2 usw. identifiziert. In solchen Implementierungen, mit diesen gespeicherten SRV-Pegel-Modellparameter-Verbindungen für eine bestimmte Kameraeinstellung, können geeignete Modellparameter für ein gegebenes Livebild nachgeschlagen werden und zur Erzeugung eines entsprechenden Rauschmusters bei Laufzeit verwendet wird. Beispielsweise kann das Verfahren ein Livebild und einen zugehörigen SNR-Pegel empfangen (z. B. von einem Bildsignalprozessor (ISP) oder Maschinenlernanalyse), entsprechende Modellparameter nachschlagen und dann das parametrisierte Modell mit diesen Modellparametern verwenden, um ein geeignetes Rauschmuster für virtuelle Inhalte zu erzeugen, die mit dem Bild kombiniert werden sollen. In diesen Implementierungen, die hierin als Implementierungen eines „Live-Parameter-Nachschlagens“ bezeichnet werden, werden das parametrisierte Rauschmodell zusammen mit Modellparametern für mehrere Rauschpegel (z. B. SNR-Pegel) während einer Lernphase erzeugt, z. B. bevor die CGR-Erfahrung beginnt und während der Live-CGR-Erfahrung werden Kameraeinstellungen und Rauschpegel eines Bildes (z. B. SNR-Pegel) dazu verwendet, geeignete Modellparameter nachzuschlagen. Nachschlagen von entsprechenden Modellparametern während einer Live-CGR-Erfahrung (z. B. Live-Parameter-Nachschlagen) anstatt von Identifizieren neuer Modellparameter während der Erfahrung (z. B. Live-Parameter-Erzeugung) kann Vorteile bieten. Zum Beispiel können dadurch rechnerisch teure Optimierungen oder andere Prozesse ansonsten vermieden werden, die anderweitig verwendet werden, um Live-Modellparameter während der CGR-Erfahrung zu identifizieren. Dies kann Laufzeitberechnung und Ressourcenverwendung reduzieren und somit die Funktionsweise und Effizienz des CGR-Systems verbessern.
  • Das erzeugte Rauschmuster kann dazu verwendet werden, um zu virtuellen Inhalten das Rauschen hinzuzufügen, das mit Bildinhalten auf verschiedene Weisen kombiniert wird. Beispielsweise kann das Rauschmuster über den Oberflächenbereich eines virtuellen Objekts gekachelt werden, das bei einer Darstellung einer realen Tabelle in die CGR-Inhalte eingefügt wird. Das Rauschen, dass zu den virtuellen Inhalten hinzugefügt wird, ist im Allgemeinen dem realen Rauschen in dem Bild ähnlich, da das Rauschen, das zum virtuellen Objekt hinzugefügt wird, basierend auf dem Rauschmuster erzeugt wird. In einigen Implementierungen kann das Rauschmuster zufällig (z. B. an zufälligen Positionen, unter Verwendung von Kacheln von zufälliger Größe usw.) über die Oberfläche von virtuellen Inhalten gekachelt werden. Solche Zufälligkeit kann dabei helfen, Ähnlichkeit in dem Rauschen, das zu den virtuellen Inhalten hinzugefügt wird, über eine Sequenz von Bildern oder Frames zu vermeiden. Mit anderen Worten, nur wenn sich das reale Rauschen von Frame zu Frame einer Videosequenz zufällig ändert, wird sich das zu virtuellen Inhalten hinzugefügte Rauschen von Frame zu Frame ändern.
  • Gemäß einigen Implementierungen sind in einem nicht transitorischen computerlesbaren Speichermedium Anweisungen gespeichert, die computerausführbar sind, um jedes der hier beschriebenen Verfahren durchzuführen oder zu bewirken, dass sie durchgeführt werden. Gemäß einigen Implementierungen schließt eine elektronische Vorrichtung einen oder mehrere Prozessoren, Speicher und eines oder mehrere Programme ein; wobei das eine oder die mehreren Programme in dem nicht transitorischen Speicher gespeichert sind und so konfiguriert sind, dass sie von dem einen oder den mehreren Prozessoren ausgeführt werden, und das eine oder die mehreren Programme Anweisungen für die Ausführung oder die Veranlassung zum Ausführen jedes der hier beschriebenen Verfahren einschließen.
  • Figurenliste
  • Damit die vorliegende Offenbarung vom Fachmann verstanden werden kann, kann eine detailliertere Beschreibung unter Bezugnahme auf Gesichtspunkte einiger anschaulicher Implementierungen bereitgestellt werden, von denen einige in den beigefügten Zeichnungen gezeigt sind.
    • 1 ist ein Blockdiagramm einer beispielhaften Betriebsumgebung gemäß einigen Implementierungen.
    • 2 ist ein Blockdiagramm einer beispielhaften Steuerung gemäß einigen Implementierungen.
    • 3 ist ein Blockdiagramm einer beispielhaften Datenhelmvorrichtung (HMD: head mounted device) gemäß einigen Implementierungen.
    • 4 zeigt CGR-Inhalte, bei denen virtuelle Inhalte kein Rauschen aufweisen, das zu dem Rauschen der Darstellungen der Echtzeit-Inhalte passt.
    • 5A, 5B und 5C veranschaulichen Unterschiede zwischen CGR-Inhalten mit virtuellen Inhalten ohne das Rauschen und CGR-Inhalten mit virtuellen Inhalten mit dem Rauschen, das gemäß einigen Implementierungen hinzugefügt wurde.
    • 6 ist ein Flussdiagramm, dass ein beispielhaftes Verfahren zum Rendern von virtuellen Inhalten mit dem Rauschen darstellt, das gemäß einigen Implementierungen ähnlich ist oder anderweitig besser zu dem Rauschen in den Bildern passt, mit denen die virtuellen Inhalte kombiniert sind.
    • 7 ist ein Blockdiagramm, das eine beispielhafte Technik zum Messen des Rauschens der Bilderfassungsvorrichtung veranschaulicht.
    • 8 ist ein Blockdiagramm, das eine beispielhafte Technik zum Aufbau eines parametrisierten Rauschmodells veranschaulicht.
  • Gemäß allgemeiner Praxis können die verschiedenen Merkmale, die in den Zeichnungen veranschaulicht sind, nicht maßstabsgetreu gezeichnet sein. Dementsprechend können die Abmessungen der verschiedenen Merkmale aus Gründen der Klarheit beliebig erweitert oder reduziert werden. Zusätzlich können einige der Zeichnungen nicht alle Komponenten eines gegebenen Systems, Verfahrens oder einer gegebenen Vorrichtung darstellen. Schließlich können gleiche Bezugszeichen verwendet werden, um gleiche Merkmale überall in der Beschreibung und den Figuren zu bezeichnen.
  • BESCHREIBUNG
  • Zahlreiche Details werden beschrieben, um ein gründliches Verständnis der in den Zeichnungen gezeigten beispielhaften Implementierungen bereitzustellen. Die Zeichnungen zeigen jedoch lediglich einige beispielhafte Gesichtspunkte der vorliegenden Offenbarung und sind daher nicht als einschränkend zu betrachten. Der Fachmann wird erkennen, dass andere effektive Gesichtspunkte oder Varianten nicht alle der hierin beschriebenen spezifischen Details einschließen. Außerdem wurden gut bekannte Systeme, Verfahren, Komponenten, Vorrichtungen und Schaltungen nicht in abschließendem Detail beschrieben, um relevantere Gesichtspunkte der hierin beschriebenen beispielhaften Implementierungen nicht zu verunklaren. Obwohl die 1-3 beispielhafte Implementierungen mit einer Datenhelmvorrichtung (HMD) darstellen, beinhalten andere Implementierungen nicht notwendigerweise eine HMD und können andere Arten von Vorrichtungen beinhalten, einschließlich, jedoch nicht begrenzt auf, Uhren und andere tragbare elektronische Vorrichtungen, mobile Vorrichtungen, Laptops, Desktops, Spielvorrichtungen, Heimautomatisierungsvorrichtungen, und andere Vorrichtungen, die Bilderfassungsvorrichtungen einschließen oder verwenden.
  • 1 zeigt ein Blockdiagramm einer beispielhaften Betriebsumgebung 100 gemäß einigen Implementierungen. Während entsprechende Merkmale gezeigt sind, wird der Fachmann aus der vorliegenden Offenbarung erkennen, dass verschiedene andere Merkmale der Kürze halber nicht dargestellt worden sind, um relevantere Aspekte der hier offenbarten beispielhaften Implementierungen nicht zu verunklaren. Zu diesem Zweck schließt die Betriebsumgebung 100 als ein nicht einschränkendes Beispiel eine Steuerung 110 und eine Datenhelmvorrichtung (HMD) 120 ein, von denen eine oder beide in einer physischen Umgebung sein kann. Eine physische Umgebung bezieht sich auf eine physische Welt, die Menschen ohne die Hilfe von elektronischen Systemen wahrnehmen können und/oder mit ihr interagieren können. Physische Umgebungen, wie ein physischer Park, schließen physische Gegenstände ein, wie physische Bäume, physische Gebäude und physische Personen. Menschen können die physische Umgebung direkt wahrnehmen und/oder mit ihr interagieren, z. B. durch Sehen, Berühren, Hören, Schmecken und Riechen.
  • In einigen Implementierungen ist die Steuerung 110 konfiguriert, um eine Erfahrung computergenerierter Realität (CGR-Erfahrung) für einen Benutzer zu verwalten und zu koordinieren. In einigen Implementierungen schließt die Steuerung 110 eine geeignete Kombination aus Software, Firmware oder Hardware ein. Die Steuerung 110 wird nachstehend in Bezug auf 2 detaillierter beschrieben. In einigen Implementierungen ist die Steuerung 110 eine Rechenvorrichtung, die relativ zu der physischen Umgebung 105 lokal oder entfernt ist.
  • In einem Beispiel ist die Steuerung 110 ein lokaler Server innerhalb der physischen Umgebung 105. In einem anderen Beispiel ist die Steuerung 110 ein entfernter Server, der sich außerhalb der physischen Umgebung 105 befindet (z. B. ein Cloud-Server, zentraler Server usw.). In einigen Implementierungen ist die Steuerung 110 über einen oder mehrere drahtgebundene oder drahtlose Kommunikationskanäle 144 (z. B. BLUETOOTH, IEEE 802.11x, IEEE 802.16x, IEEE 802.3x usw.) kommunikativ mit der HMD 120 gekoppelt.
  • In einigen Implementierungen ist die HMD 120 konfiguriert, um dem Benutzer eine CGR-Erfahrung darzustellen. In einigen Implementierungen schließt die HMD 120 eine geeignete Kombination aus Software, Firmware oder Hardware ein. Die HMD 120 wird detaillierter in Bezug auf 3 beschrieben. In einigen Implementierungen werden die Funktionen der Steuerung 110 bereitgestellt oder mit der HMD 120 kombiniert, zum Beispiel, in dem Fall einer HMD, die als eine alleinstehende Einheit arbeitet.
  • Gemäß einigen Implementierungen stellt die HMD 120 eine Erfahrung computergenerierter Realität (CGR-Erfahrung) für den Benutzer dar, während sich der Benutzer innerhalb der physikalischen Umgebung 105 befindet. Eine Umgebung der computergenerierten Realität (CGR) bezieht sich auf eine ganz oder teilweise simulierte Umgebung, die Menschen über ein elektronisches System wahrnehmen und/oder mit ihr interagieren. In der CGR wird eine Teilmenge der physischen Bewegungen einer Person oder deren Darstellungen verfolgt, und als Reaktion darauf werden eine oder mehrere Eigenschaften eines oder mehrerer virtueller Objekte, die in der CGR-Umgebung simuliert werden, so angepasst, dass sie sich mindestens einem physischen Gesetz entsprechend verhalten. Zum Beispiel kann ein CGR-System die Kopfdrehung einer Person erfassen und als Reaktion darauf den der Person präsentierten graphischen Inhalt und ein akustisches Feld auf ähnliche Weise einstellen, wie solche Ansichten und Töne sich in einer physischen Umgebung ändern würden. In einigen Situationen (z. B. aus Gründen der Zugänglichkeit) können Anpassungen an den Merkmalen virtueller Objekte in einer CGR-Umgebung als Reaktion auf Darstellungen physischer Bewegungen (z. B. Stimmbefehle) vorgenommen werden.
  • Eine Person kann ein CGR-Objekt mit einem ihrer Sinne wahrnehmen und/oder mit ihm interagieren, einschließlich Sehen, Hören, Berühren, Schmecken und Riechen. So kann beispielsweise eine Person Audioobjekte wahrnehmen und/oder mit ihnen interagieren, die eine 3D- oder räumliche Audioumgebung erzeugen, die die Wahrnehmung von Punkt-Audioquellen im 3D-Raum ermöglicht. In einem anderen Beispiel können Audioobjekte Audiotransparenz ermöglichen, die selektiv Umgebungsgeräusche aus der physischen Umgebung mit oder ohne computergeneriertes Audio einbezieht. In einigen CGR-Umgebungen kann eine Person nur Audioobjekte wahrnehmen und/oder mit ihnen interagieren.
  • Beispiele für CGR schließen virtuelle Realität und gemischte Realität ein. Eine Virtual-Reality-Umgebung (VR-Umgebung) bezieht sich auf eine simulierte Umgebung, die so ausgelegt ist, dass sie vollständig auf computergenerierten sensorischen Eingaben für einen oder mehrere Sinne basiert. Eine VR-Umgebung umfasst virtuelle Objekte, mit denen eine Person interagieren und/oder die sie wahrnehmen kann. Beispielsweise sind computergenerierte Bilder von Bäumen, Gebäuden und Avatars, die Menschen darstellen, Beispiele virtueller Objekte. Eine Person kann virtuelle Objekte in der VR-Umgebung durch eine Simulation der Anwesenheit der Person in der computergenerierten Umgebung und/oder durch eine Simulation einer Teilmenge der physischen Bewegungen der Person in der computergenerierten Umgebung wahrnehmen und/oder mit ihnen interagieren.
  • Im Gegensatz zu einer VR-Umgebung, die vollständig auf computergenerierten sensorischen Eingaben basiert, bezieht sich eine Mixed-Reality-Umgebung (MR-Umgebung) auf eine simulierte Umgebung, die dazu ausgelegt ist, sensorische Eingaben von der physischen Umgebung oder eine Darstellung davon zusätzlich zu computergenerierten sensorischen Eingaben (z. B. virtuellen Objekten) aufzunehmen. Auf einem Virtualitätskontinuum befindet sich eine Mixed-Reality-Umgebung irgendwo zwischen einer vollständig physischen Umgebung an einem Ende und einer Virtual-Reality-Umgebung am anderen Ende, ist aber nicht darauf beschränkt.
  • In manchen MR-Umgebungen können computergenerierte sensorische Eingaben auf Änderungen der sensorischen Eingaben von der physischen Umgebung reagieren. Außerdem können einige elektronische Systeme zur Darstellung einer MR-Umgebung den Standort und/oder die Ausrichtung in Bezug auf die physische Umgebung verfolgen, um es virtuellen Objekten zu ermöglichen, mit realen Objekten zu interagieren (d. h. physische Artikel aus der physischen Umgebung oder deren Darstellungen). Zum Beispiel kann ein System Bewegungen berücksichtigen, sodass ein virtueller Baum in Bezug auf die physische Erde stationär erscheint.
  • Beispiele für gemischte Realitäten schließen erweiterte Realität (augmented reality) und erweiterte Virtualität (augmented virtuality) ein. Eine Augmented-Reality-Umgebung (AR-Umgebung) bezieht sich auf eine simulierte Umgebung, in der ein oder mehrere virtuelle Objekte über eine physische Umgebung oder eine Darstellung davon gelegt werden. Zum Beispiel kann ein elektronisches System zum Präsentieren einer AR-Umgebung eine transparente oder transluzente Anzeige aufweisen, durch das eine Person die physische Umgebung direkt betrachten kann. Das System kann konfiguriert sein, virtuelle Objekte auf der transparenten oder transluzenten Anzeige darzustellen, sodass eine Person unter Verwendung des Systems die virtuellen Objekte wahrnimmt, die über die physische Umgebung gelegt wurden. Alternativ kann ein System eine opake Anzeige und einen oder mehrere bildgebende Sensoren aufweisen, die Bilder oder Video der physischen Umgebung erfassen, die Darstellungen der physischen Umgebung sind. Das System setzt die Bilder oder Videos mit virtuellen Objekten zusammen, und stellt die Zusammensetzung auf der opaken Anzeige dar. Eine Person, die das System verwendet, betrachtet indirekt die physische Umgebung über die Bilder oder das Video der physischen Umgebung und nimmt die virtuellen Objekte wahr, die über die physische Umgebung gelegt wurden. Wie hierin verwendet, wird ein Video der physischen Umgebung, das auf einer opaken Anzeige angezeigt wird, „Pass-Through-Video“ genannt, was bedeutet, dass ein System einen oder mehrere Bildsensoren verwendet, um Bilder der physischen Umgebung aufzunehmen, und diese Bilder verwendet, um die AR-Umgebung auf der opaken Anzeige darzustellen. Alternativ kann ein System auch ein Projektionssystem aufweisen, das virtuelle Objekte in die physische Umgebung projiziert, z. B. als Hologramm oder auf einer physischen Oberfläche, sodass eine Person, die das System verwendet, die über die physische Umgebung gelegten virtuellen Objekte wahrnimmt.
  • Eine Augmented-Reality-Umgebung bezieht sich auch auf eine simulierte Umgebung, in der eine Darstellung einer physischen Umgebung durch computergenerierte sensorische Informationen transformiert wird. So kann beispielsweise bei der Bereitstellung von Pass-Through-Videos ein System ein oder mehrere Sensorbilder transformieren, um eine ausgewählte Perspektive (z. B. einen Blickwinkel) festzulegen, die sich von der von den Bildsensoren erfassten Perspektive unterscheidet. Als weiteres Beispiel kann eine Darstellung einer physischen Umgebung durch graphisches Modifizieren (z. B. Vergrößern) von Teilen davon transformiert werden, sodass der modifizierte Abschnitt repräsentative aber nicht fotorealistische Versionen der ursprünglich aufgenommenen Bilder sein kann. Als weiteres Beispiel kann eine Darstellung einer physischen Umgebung transformiert werden, indem Teile davon grafisch eliminiert oder verschleiert werden.
  • Eine Augmented-Virtuality-Umgebung (AV-Umgebung) bezieht sich auf eine simulierte Umgebung, in der eine virtuelle oder computergenerierte Umgebung eine oder mehrere sensorische Eingaben aus der physischen Umgebung beinhaltet. Die sensorischen Eingaben können Darstellungen einer oder mehrerer Charakteristiken der physischen Umgebung sein. Ein AV-Park kann beispielsweise virtuelle Bäume und virtuelle Gebäude aufweisen, aber Menschen mit Gesichtern werden fotorealistisch aus Bildern von physischen Menschen reproduziert. Als weiteres Beispiel kann ein virtuelles Objekt eine Form oder Farbe eines physischen Gegenstands annehmen, der durch einen oder mehrere bildgebende Sensoren abgebildet wird. Als weiteres Beispiel kann ein virtuelles Objekt Schatten annehmen, die mit der Position der Sonne in der physischen Umgebung übereinstimmen.
  • Es gibt viele verschiedene Typen von elektronischen Systemen, die es einer Person ermöglichen, verschiedene CGR-Umgebungen wahrzunehmen und/oder mit diesen zu interagieren. Beispiele sind Datenhelmsysteme, projektionsbasierte Systeme, Heads-Up-Anzeigen (HUDs), Fahrzeugwindschutzscheiben mit integrierter Anzeigefunktion, Fenster mit integrierter Anzeigefunktion, Anzeigen, die als Linsen ausgebildet sind, die dazu bestimmt sind, auf den Augen einer Person platziert zu werden (z. B. ähnlich Kontaktlinsen), Kopfhörer/Ohrhörer, Lautsprecheranordnungen, Eingabesysteme (z. B. am Körper tragbare oder als Handgeräte ausgeführte Steuerungen mit oder ohne haptische Rückmeldung), Smartphones, Tablets und Desktop-/Laptop-Computer. Ein Datenhelmsystem kann einen oder mehrere Lautsprecher und eine integrierte opake Anzeige aufweisen. Alternativ kann ein Datenhelmsystem konfiguriert sein, um eine externe opake Anzeige (z. B. ein Smartphone) aufzunehmen. Das Datenhelmsystem kann einen oder mehrere bildgebende Sensoren enthalten, um Bilder oder Video der physischen Umgebung aufzunehmen, und/oder ein oder mehrere Mikrofone, um Audio der physischen Umgebung zu erfassen. Im Gegensatz zu einer opaken Anzeige kann ein Datenhelmsystem eine transparente oder transluzente Anzeige aufweisen. Die transparente oder transluzente Anzeige kann ein Medium aufweisen, durch das Licht, das für Bilder repräsentativ ist, auf die Augen einer Person gerichtet wird. Die Anzeige kann digitale Lichtprojektion, OLEDs, LEDs, uLEDs, Flüssigkristalle auf Silicium, Laserscanning-Lichtquellen oder eine beliebige Kombination dieser Technologien verwenden. Das Medium kann ein Lichtwellenleiter, ein Hologrammmedium, ein optischer Kombinierer, ein optischer Reflektor oder irgendeine Kombination davon sein. In einer Ausführungsform kann die transparente oder transluzente Anzeige konfiguriert sein, um selektiv opak zu werden. Projektionsbasierte Systeme können retinale Projektionstechnologie verwenden, die graphische Bilder auf die Netzhaut einer Person projiziert. Projektionssysteme können auch so konfiguriert sein, dass sie virtuelle Objekte in die physische Umgebung projizieren, beispielsweise als Hologramm oder auf eine physische Oberfläche.
  • 2 ist ein Blockdiagramm eines Beispiels der Steuerung 110 gemäß einigen Implementierungen. Während bestimmte Merkmale veranschaulicht sind, wird der Fachmann aus der vorliegenden Offenbarung erkennen, dass verschiedene andere Merkmale der Kürze halber nicht veranschaulicht worden sind, um einschlägigere Gesichtspunkte der hier offenbarten Implementierungen nicht zu verdecken. Zu diesem Zweck schließt die Steuerung 110, als ein nicht einschränkendes Beispiel, in einigen Implementierungen eine oder mehrere Verarbeitungseinheiten 202 (z. B. Mikroprozessoren, anwendungsspezifische integrierte Schaltungen (ASIC), Field Programmable Gate Arrays (FPGA), grafische Verarbeitungseinheiten (GPU), zentrale Verarbeitungseinheiten (CPU), Verarbeitungskerne, bzw. Ähnliches), eine oder mehrere Eingabe/Ausgabe (E/A)-Vorrichtungen 206, eine oder mehrere Kommunikationsschnittstellen 208 (z. B. einen universellen seriellen Bus (USB), FIREWIRE, THUNDERBOLT, IEEE 802.3x, IEEE 802.11x, IEEE 802.16x, ein globales System für mobile Kommunikation (GSM), Codedivision-Mehrfachzugang (CDMA) Zeitmultiplexzugriff (TDMA), ein globales Positionierungssystem (GPS), Infrarot (IR), BLUETOOTH, ZIGBEE, oder Schnittstellen ähnlicher Art), eine oder mehrere Programmierungsschnittstellen (z. B. E/A-) Schnittstellen 210, einen Speicher 220, und einen oder mehrere Kommunikationsbusse 204 zum Verbinden dieser und verschiedener anderer Komponenten ein.
  • In einigen Implementierungen schließen der eine oder die mehreren Kommunikationsbusse 204 Schaltlogik ein, welche die Kommunikationen zwischen Systemkomponenten miteinander verbindet und steuert. Bei einigen Implementierungen schließen die eine oder die mehreren E/A-Vorrichtungen 206 wenigstens eine Tastatur, eine Maus, ein Touchpad, einen Joystick, ein oder mehrere Mikrofone, einen oder mehrere Lautsprecher, einen oder mehrere Bilderfassungsvorrichtungen oder andere Sensoren, eine oder mehrere Anzeigen oder dergleichen ein.
  • Der Speicher 220 schließt Hochgeschwindigkeitsdirektzugriffsspeicher, wie dynamischer Direktzugriffsspeicher (DRAM), statischer Direktzugriffsspeicher (SRAM), Double-Data-Rate-Direktzugriffsspeicher (DDR-RAM) oder andere Festkörper-Direktzugriffsspeichervorrichtungen. In einigen Implementierungen schließt der Speicher 220 nicht-flüchtigen Speicher, wie eine oder mehrere Magnetplattenspeichervorrichtungen, optische Plattenspeichervorrichtungen, Flash-Speichervorrichtungen oder andere nichtflüchtige Festkörperspeichervorrichtungen ein. Der Speicher 220 schließt optional eine oder mehrere Speichervorrichtungen ein, die sich entfernt von der einen oder den mehreren Verarbeitungseinheiten 202 befinden. Der Speicher 220 umfasst ein nicht transitorisches computerlesbares Speichermedium. In einigen Implementierungen speichert der Speicher 220 oder das nicht transitorische computerlesbare Speichermedium des Speichers 220 die folgenden Programme, Module und Datenstrukturen oder eine Untermenge davon, einschließlich eines optionalen Betriebssystems 230 und eines Moduls der computergenerierten Realität (CGR) 240.
  • Das Betriebssystem 230 schließt Abläufe für das Handhaben verschiedener grundlegender Systemdienste und für das Durchführen hardwareabhängiger Aufgaben ein.
  • In einigen Implementierungen schließt das Modul der computergenerierten Realität (CGR) 240 eine Rauschdateneinheit 242, eine Modelleinheit 244, eine Rauschanpassungseinheit 246 und eine CGR-Rendering-Einheit 248 ein. Die Rauschdateneinheit 242 misst oder erzeugt anderweitig eine Darstellung des Rauschens in einem Bild. Die Modelleinheit 244 erzeugt ein parametrisiertes Rauschmodell basierend auf Rauschdaten. Beispielsweise kann die Modelleinheit 244 Parameter für ein Rauschmodell identifizieren, das die räumliche Rauschkorrelation als eine Faltung mit einem Kern der gaußschen Mischung beschreibt, der eine Ausgabe erzeugt, die dem Rauschen des Bildes ähnlich ist.
  • Die Rauschanpassungseinheit 246 verwendet das parametrisierte Rauschmodell, um das Rauschen zu erzeugen, z. B. ein Rauschmuster, das dem Rauschen eines bestimmten Bildes ähnlich ist. In einigen Implementierungen werden Signal-Rausch-Verhältnis-Pegel (SRV-Pegel) oder andere Kameraparameter mit Parametern für das parametrisierte Rauschmodell während einer Lernphase verbunden und die Rauschanpassungseinheit 246 identifiziert einen SNR-Pegel für ein Bild, schlägt die entsprechenden Parameter nach und erzeugt ein Rauschmuster unter Verwendung der Parameter.
  • Die CGR-Rendering-Einheit 248 kombiniert Bildinhalte mit virtuellen Inhalten, um eine CGR-Erfahrung bereitzustellen, z. B. Bereitstellen einer Ansicht einer CGR-Umgebung für einen Benutzer. Die CGR-Rendering-Einheit 248 kann das Erscheinungsbild der Bildinhalte oder der virtuellen Inhalte einstellen. In einigen Implementierungen fügt die CGR-Rendering-Einheit den virtuellen Inhalten das Rauschen hinzu, das dem Rauschen der Bildinhalte ähnlich ist, mit denen die virtuellen Inhalte kombiniert werden. Das hinzugefügte Rauschen kann auf einem Rauschmuster basieren, das durch die Rauschanpassungseinheit 246 für das entsprechende Bild bereitgestellt wird.
  • Obwohl diese Module und Einheiten wie sich auf einer einzelnen Vorrichtung (z. B. der Steuerung 110) befindend gezeigt sind, versteht es sich, dass in anderen Implementierungen sich jede Kombination dieser Module und Einheiten in separaten Rechenvorrichtungen befinden kann. Darüber hinaus ist 2 eher als funktionale Beschreibung der verschiedenen Merkmale gedacht, die in einer bestimmten Implementierung vorhanden sind, im Gegensatz zu einem strukturellen Schema der hier beschriebenen Implementierungen. Wie der Durchschnittsfachmann erkennt, könnten separat gezeigte Gegenstände kombiniert und einige Elemente getrennt werden. Beispielsweise könnten einige Funktionsmodule, die separat in 2 gezeigt sind, in einem einzigen Modul implementiert sein, und die verschiedenen Funktionen einzelner Funktionsblöcke könnten durch einen oder mehrere Funktionsblöcke in verschiedenen Implementierungen implementiert werden. Die tatsächliche Anzahl von Modulen und die Aufteilung bestimmter Funktionen und wie die Merkmale ihnen zugeordnet sind, variieren von einer Implementierung zu einer anderen und hängen in einigen Implementierungen teilweise von der bestimmten Kombination von Hardware, Software oder Firmware ab, die für eine bestimmte Implementierung gewählt wird.
  • 3 ist ein Blockdiagramm eines Beispiels der Datenhelmvorrichtung (HMD) 120 gemäß einigen Implementierungen. Während bestimmte Merkmale veranschaulicht sind, wird der Fachmann aus der vorliegenden Offenbarung erkennen, dass verschiedene andere Merkmale der Kürze halber nicht veranschaulicht worden sind, um einschlägigere Gesichtspunkte der hier offenbarten Implementierungen nicht zu verdecken. Zu diesem Zweck schließt die HMD 120 in einigen Implementierungen als nicht einschränkendes Beispiel eine oder mehrere Verarbeitungseinheiten 302 (z. B. Mikroprozessoren, ASICs, FPGAs, GPUs, CPUs, Rechenkerne oder dergleichen), eine oder mehrere Ein-/Ausgabevorrichtungen (E/A) und Sensoren 306, eine oder mehrere Kommunikationsschnittstellen 308 (z. B. USB, FIREWIRE, THUNDERBOLT, IEEE 802.3x, IEEE 802.11x, IEEE 802.16x, GSM, CDMA, TDMA, GPS, IR, BLUETOOTH, ZIGBEE, SPI, 12C oder dergleichen Schnittstellenarten), eine oder mehrere Programmierschnittstellen (z. B. E/A) 310, eine oder mehrere Anzeigen 312, ein oder mehrere innen- und/oder außenliegende Bildsensorsysteme 314, einen Speicher 320 und einen oder mehrere Kommunikationsbusse 304 zur Verbindung dieser und verschiedener anderer Komponenten ein.
  • In einigen Implementierungen schließen der eine oder die mehreren Kommunikationsbusse 304 Schaltlogik ein, welche die Kommunikationen zwischen Systemkomponenten miteinander verbindet und steuert. In einigen Implementierungen schließen die eine oder mehreren E/A-Vorrichtungen und Sensoren 306 mindestens eines von einer Trägheitsmesseinheit (IMU: inertial measurement unit), einem Beschleunigungssensor, einem Magnetometer, einem Gyroskop, einem Thermometer, einem oder mehreren physiologischen Sensoren (z. B. Blutdruckmessgerät, Herzfrequenzmessgerät, Blutsauerstoffsensor, Blutzuckersensor usw.), ein oder mehrere Mikrofone, ein oder mehrere Lautsprecher, einen Haptik-Motor, ein oder mehrere Tiefensensoren (z. B. ein strukturiertes Licht, eine Flugzeit oder dergleichen) oder dergleichen ein.
  • In einigen Implementierungen sind die eine oder die mehreren Anzeigen 312 konfiguriert, um dem Benutzer das CGR-Erlebnis zu ermöglichen. In einigen Implementierungen entsprechen die eine oder die mehreren Anzeigen 312 einer holografischen Anzeige, DLP-Anzeige (digital light processing), LCD-Anzeige(liquid-crystal display), LCoS-Anzeige (liquid crystal on silicon), OLET-Anzeige (organic light-emitting field-effect transitory), OLED-Anzeige (organic light-emitting diode), SED-Anzeige (surface-conduction electronemitter), FED-Anzeige (field-emission display), QD-LED-Anzeige (quantum-dot light-emitting diode), MEMS-Anzeige (micro-electro-mechanical system) oder ähnlichen Anzeigearten. In einigen Implementierungen entsprechen die eine oder mehreren Anzeigen 312 diffraktiven, reflektiven, polarisierten, holographischen usw. Wellenleiterdisplays. Zum Beispiel schließt die HMD 120 eine einzige Anzeige ein. In einem weiteren Beispiel schließt die HMD 120 eine Anzeige für jedes Auge des Benutzers ein.
  • Der Speicher 320 schließt Hochgeschwindigkeitsdirektzugriffsspeicher, wie DRAM, SRAM, DDR-RAM oder andere Festkörper-Direktzugriffsspeichervorrichtungen, ein. In einigen Implementierungen schließt der Speicher 320 nicht-flüchtige Speicher, wie eine oder mehrere Magnetplattenspeichervorrichtungen, optische Plattenspeichervorrichtungen, Flash-Speichervorrichtungen oder andere nichtflüchtige Festkörperspeichervorrichtungen ein. Der Speicher 320 schließt optional eine oder mehrere Speichervorrichtungen ein, die sich entfernt von der einen oder den mehreren Verarbeitungseinheiten 302 befinden. Der Speicher 320 umfasst ein nicht transitorisches computerlesbares Speichermedium. In einigen Implementierungen speichert der Speicher 320 oder das nicht transitorische computerlesbare Speichermedium des Speichers 320 die folgenden Programme, Module und Datenstrukturen oder eine Untermenge davon, einschließlich eines optionalen Betriebssystems 330 und eines Moduls einer computergenerierten Realität (CGR) 340.
  • Das Betriebssystem 330 schließt Abläufe für das Handhaben verschiedener grundlegender Systemdienste und für das Durchführen hardwareabhängiger Aufgaben ein.
  • In einigen Implementierungen schließt das Modul der computergenerierten Realität (CGR) 340 eine Rauschdateneinheit 342, eine Modelleinheit 344, eine Rauschanpassungseinheit 346 und eine CGR-Rendering-Einheit 348 ein. Die Rauschdateneinheit 342 misst oder erzeugt anderweitig eine Darstellung des Rauschens in einem Bild. Die Modelleinheit 344 erzeugt ein parametrisiertes Rauschmodell basierend auf Rauschdaten. Beispielsweise kann die Modelleinheit 344 Parameter für ein gaußsches Mischmodell identifizieren, sodass das gaußsche Mischmodell eine Ausgabe erzeugt, die ähnlich dem Rauschen eines Bildes ist.
  • Die Rauschanpassungseinheit 346 verwendet das parametrisierte Rauschmodell, um das Rauschen zu erzeugen, z. B. ein Rauschmuster, das dem Rauschen eines bestimmten Bildes ähnlich ist. In einigen Implementierungen werden Signal-Rausch-Verhältnis-Pegel (SRV-Pegel) mit Parametern für das parametrisierte Rauschmodell während einer Lernphase verbunden und die Rauschanpassungseinheit 346 identifiziert einen SNR-Pegel für ein Bild, schlägt die entsprechenden Parameter nach und erzeugt ein Rauschmuster unter Verwendung der Parameter.
  • Die CGR-Rendering-Einheit 348 kombiniert Bildinhalte mit virtuellen Inhalten, um eine CGR-Erfahrung bereitzustellen, z. B. Bereitstellen einer Ansicht einer CGR-Umgebung für einen Benutzer. Die CGR-Rendering-Einheit 348 kann das Erscheinungsbild der Bildinhalte oder der virtuellen Inhalte einstellen. In einigen Implementierungen fügt die CGR-Rendering-Einheit den virtuellen Inhalten das Rauschen hinzu, das dem Rauschen der Bildinhalte ähnlich ist, mit denen die virtuellen Inhalte kombiniert werden. Das hinzugefügte Rauschen kann auf einem Rauschmuster basieren, das durch die Rauschanpassungseinheit 346 für das entsprechende Bild bereitgestellt wird.
  • Darüber hinaus ist 3 eher als eine funktionale Beschreibung der verschiedenen Merkmale gedacht, die in einer bestimmten Implementierung vorhanden sind, im Gegensatz zu einem strukturellen Schema der hier beschriebenen Implementierungen. Wie der Durchschnittsfachmann erkennt, könnten separat gezeigte Gegenstände kombiniert und einige Elemente getrennt werden. Beispielsweise könnten einige Funktionsmodule, die separat in 3 gezeigt sind, in einem einzigen Modul implementiert sein, und die verschiedenen Funktionen einzelner Funktionsblöcke könnten durch einen oder mehrere Funktionsblöcke in verschiedenen Implementierungen implementiert werden. Die tatsächliche Anzahl von Modulen und die Aufteilung bestimmter Funktionen und wie die Merkmale ihnen zugeordnet sind, variieren von einer Implementierung zu einer anderen und hängen in einigen Implementierungen teilweise von der bestimmten Kombination von Hardware, Software oder Firmware ab, die für eine bestimmte Implementierung gewählt wird.
  • 4 zeigt CGR-Inhalte 400, in denen die virtuellen Inhalte 404 (z. B. das virtuelle Kochgerät) kein Rauschen aufweisen, das zu dem Rauschen der Darstellungen der Inhalte realen Welt 402 (z. B. Kochgerät der realen Welt) passt. Beispielsweise weist die Darstellung der Inhalte der realen Welt 402 ein rauschbehaftetes/körniges Erscheinungsbild in Übereinstimmung mit dem Rauschen in dem Rest des Bildes auf. Im Gegensatz dazu weisen die virtuellen Inhalte 404, die eine virtuelle Version derselben Art von Gerät wie das reale Objekt 402 ist, ein wesentlich glatteres und ansonsten weniger rauschbehaftetes Erscheinungsbild auf.
  • 5A, 5B und 5C veranschaulichen Unterschiede zwischen CGR-Inhalten, die virtuelle Inhalte ohne das Rauschen einschließen und CGR-Inhalten, die virtuelle Inhalte mit dem Rauschen einschließen, das gemäß einigen Implementierungen hinzugefügt wurde. 5A zeigt ein Bild der Inhalte der realen Welt aus einer physischen Umgebung. 5B zeigt ein Beispiel von CGR-Inhalten, in denen ein virtuelles Objekt 502 mit dem Bild der Inhalte der realen Welt von 5A kombiniert wurde. 5C zeigt ein Beispiel von CGR, in der das virtuelle Objekt 504 mit hinzugefügtem Rauschen eingestellt und dann mit dem Bild der Inhalte der realen Welt von 5A kombiniert wurde. Wie durch Vergleich der Figuren gesehen werden kann, weist das virtuelle Objekt 504 von 5C ein Rauschen auf (wie in der nahen Ansicht 506 dargestellt), das dem Rauschen in den Inhalten der realen Welt ähnlich ist, während dem virtuellen Objekt 502 von 5B ein solches Rauschen fehlt. Das virtuelle Objekt 502 kann schwimmend erscheinen, abgelöst aussehen, herausragen oder anderweitig nicht mehr als das virtuelle Objekt 504 zu dem realen Inhalten passen.
  • 6 ist ein Flussdiagramm, dass ein beispielhaftes Verfahren 600 zum Rendern von virtuellen Inhalten mit dem Rauschen darstellt, das ähnlich ist oder anderweitig besser zu dem Rauschen in den Bildern passt, mit denen die virtuellen Inhalte kombiniert sind. In einigen Implementierungen wird das Verfahren 600 durch eine Vorrichtung (z. B. Steuerung 100 oder HMD 120 von 1-3) ausgeführt. Das Verfahren 600 kann an einer mobilen Vorrichtung, einer Datenhelmvorrichtung (HMD), einem Desktop, einem Laptop, einer Servervorrichtung oder durch mehrere Vorrichtungen in Kommunikation miteinander durchgeführt werden. In einigen Implementierungen wird das Verfahren 600 durch Verarbeitungslogik ausgeführt, einschließlich Hardware, Firmware, Software oder einer Kombination davon. Bei einigen Implementierungen wird das Verfahren 600 durch einen Prozessor ausgeführt, der einen Code ausführt, der in einem nicht transitorischen computerlesbaren Medium (z. B. einem Speicher) gespeichert ist.
  • Im Block 602 identifiziert das Verfahren 600 Rauschdaten (z. B. Messen von Kamerarauschen in einem Bild) für ein erstes Bild durch eine Bilderfassungsvorrichtung. 7 ist ein Blockdiagramm, das eine beispielhafte Technik zum Messen des Rauschens der Bilderfassungsvorrichtung veranschaulicht. In diesem Beispiel beinhaltet das Identifizieren der Rauschdaten das Erzeugen eines Differenzbildes 706 unter Verwendung zweier rauschbehafteter Bilder 702, 704, die von der Bilderfassungsvorrichtung bei dem gleichen Lichtpegel erfasst werden, z. B. durch Subtrahieren der Pixelwerte eines Bildes von denen des anderen Bildes. In einer Implementierung sind die Bilder, die zum Bilden der Differenzbilder verwendet werden, rot-grün-blaue Bilder (RGB-Bilder) und das Differenzbild wird gebildet und in einen YCbCr-Farbraum konvertiert. Die Rauschdaten können in verschiedene Kanäle/Komponenten unterteilt werden, z. B. Luma Y, Blau-Differenz-Chroma-Komponente Cb, Rot-Differenz-Chroma-Komponente Cr usw. Das Zerlegen eines Farbbildes in mehrere Kanäle kann das Rauschen pro Kanal verschiedene Vorteile in einigen Implementierungen bieten. Das Hinzufügen einer Art von dem Rauschen (z. B. Luminanzrauschen) kann merklich ansprechender sein als das Hinzufügen einer anderen Art von dem Rauschen (z. B. Farbrauschen). Darüber hinaus kann ein Teil des Rauschens das Ergebnis einer Nachverarbeitung (z. B. Glättungseffekte usw.) gewesen sein, die einen Kanal (z. B. den Farbkanal) mehr beeinflusst als einen anderen Kanal (z. B. den Luminanzkanal), wobei der Luminanzkanal feinkörniger wird und die Farbkanäle mit subtilem Rauschen belässt, das als gröber gekörnte Farbkleckse wahrgenommen wird. In einigen Fällen verdeckt feinkörniges Rauschen einer Art (z. B. Luminanzrauschen) das Rauschen einer anderen Art (z. B. Farbrauschen). Kurz gesagt kann das Unterteilen von dem Rauschen in mehrere Kanäle letztlich sicherzustellen, dass das Rauschen, das letztlich erzeugt wird, um dieses Rauschen zu simulieren ähnlich dem realen Rauschen sein wird.
  • In einer anderen Implementierung werden die Rauschdaten identifiziert, indem eine Sequenz von mehreren Bildern für einen gegebenen Lichtpegel genommen wird, das Rauschen in den mehreren Bildern gemittelt wird und dann eines der Bilder mit dem Mittelwert verglichen wird.
  • Die Rauschdaten können für mehrere unterschiedliche SNR-Pegel als Teil einer Lernphase erhalten werden, die einen Datensatz von SNR-Parameter-Zuordnungen für eine spätere Verwendung in einem schnellen SNR-basierten Nachschlagen aufbaut. In einigen Implementierungen umfasst die Identifizierung der Rauschdaten Messkamerarauschen für mehrere unterschiedliche SNR-Pegel unter Verwendung von Bildern, die durch die Bildaufnahme in unterschiedlichen Beleuchtungs- oder Abbildungsbedingungen erfasst wurden.
  • Im Block 604 erzeugt das Verfahren 600 ein parametrisiertes Rauschmodell basierend auf den Rauschdaten. Die parametrisierten Rauschdaten können erzeugt werden, indem Parameter eines Rauschmodells identifiziert werden, um das Rauschmodell an die Rauschdaten anzupassen.
  • 8 ist ein Blockdiagramm, das eine beispielhafte Technik zum Erzeugen eines parametrisierten Rauschmodells basierend auf Rauschdaten darstellt. In diesem Beispiel werden die Rauschmodellparameter durch Bestimmen einer pro Pixel Intensitätsabweichung 804 unter Verwendung der Rauschdaten 802 bestimmt. Die Muster der Intensitätsabweichung pro Pixel können gegeneinander verschoben werden und verwendet werden, um eine Korrelation zu berechnen, z. B. räumliche Korrelation 806, die Informationen über das Rauschen bereitstellt, z. B. durch Messen, wie sich klecksartiges vs. körniges Rauschen in dem Bild verhält. Die räumliche Korrelation stellt statistische Informationen über das Rauschen bereit, z. B. basierend darauf, wie eine starke Korrelation in dem Rauschen besteht, wenn sie räumlich gegen sich selbst verschoben wird. Das Verfahren kann eine Berechnung durchzuführen (z. B. eine Optimierung), um Parameter (z. B. pro Pixel Rauschen 808 und Glättungskern 810) für ein parametrisiertes Rauschmodell (z. B. ein gaußsches Mischmodell, eine Polynomdarstellung, parametrisiertes Histogramm usw.) zur Erzeugung einer Rauschausgabe mit ähnlichen Eigenschaften wie die räumliche Korrelation 806 oder die Verteilung der Intensitätsabweichung zu identifizieren.
  • Das Bild kann zuvor geglättet worden sein, z. B. unter Verwendung eines Glättungskerns, der ein gaußsches Mischmodell verwendet, das eine räumliche Korrelation in dem Rauschen in dem Bild bereitstellen oder hinzufügen kann. Das Verwenden derselben Modellart (z. B. eines gaußschen Mischmodells) für das parametrisierte Rauschmodell, um Rauschmuster zu erzeugen, kann eine bessere Anpassung an das Rauschen in dem Bild erleichtern.
  • Kehrt man zu 6 zurück, kann das Erzeugen des parametrisierten Rauschmodells während einer CGR-Erfahrung oder vor einer CGR-Erfahrung durchgeführt werden. Beispielsweise kann in einer Implementierung der Live-Parameter-Erzeugung das Erzeugen des parametrisierten Rauschmodells während einer CGR-Erfahrung durchgeführt werden. In einem anderen Beispiel kann in einer Implementierung des Live-Parameter-Nachschlagens das Erzeugen des parametrisierten Rauschmodells vor einer CGR-Erfahrung durchgeführt werden. In einigen Implementierungen des Live-Parameter-Nachschlagens für eine gegebene Kamera und verschiedene SNR-Pegel während einer Trainingsphase identifiziert das Verfahren 600 Rauschmodellparameter basierend auf von der Kamera erfassten Bildern unter mehreren Beleuchtungsbedingungen, um SNR-Parameter-Zuordnungen bereitzustellen, die später zum Nachschlagen nach geeigneten Parametern für gegebene Bild-SNR-Pegel verwendet werden können. In anderen Implementierungen berechnet und speichert das Verfahren 600 während einer Trainingsphase Rauschmuster für zahlreiche unterschiedliche Lichtintensitäten, Bilderfassungsvorrichtungen und Kombinationen davon, und dann können diese Muster bei der Live-CGR-Erfahrung basierend auf der Lichtintensitätserfassung und der Identifikation durch die Bilderfassungsvorrichtung nachgeschlagen werden. Implementierungen, die SNR-Parameter-Zuordnungen oder andere parameterbasierte Zuordnungen speichern, können weniger Speicher erfordern als Implementierungen, die die Mustertexturen speichern, die basierend auf einem parametrisierten Modell erzeugt werden könnten. Mit anderen Worten, kann es einen Speicher, Effizienz und andere Vorteile beim Speichern von Parametern anstelle von Mustertexturen geben.
  • Im Block 606 erzeugt das Verfahren 600 ein Rauschmuster, das einem Rauschen in einem zweiten Bild nahekommt, unter Verwendung des parametrisierten Rauschmodells.
  • In Implementierungen der Live-Parameter-Erzeugung kann das zweite Bild das erste Bild sein, z. B. werden die Rauschmodellparameter unter Verwendung des tatsächlichen Bildes bestimmt, das in der CGR-Erfahrung enthalten sein wird. In solchen Implementierungen ist eine vorherige Lernphase nicht notwendig, um SNR-Parameter-Zuordnungen zu bestimmen, da die Parameter während der Live-CGR-Erfahrung bestimmt werden.
  • Im Gegensatz zu Implementierungen der Live-Parameter-Erzeugung unterscheidet sich in Implementierungen des Live-Parameter-Nachschlagens das zweite Bild (z. B. das Bild in der CGR) von dem ersten Bild (z. B. das Bild zur Erzeugung des parametrisierten Modells). In solchen Implementierungen können SNR-Parameter-Zuordnungen während einer Lernphase vor der CGR-Erfahrung bestimmt werden. Da unterschiedliche Bilderfassungsvorrichtungen das Rauschen unterschiedlich erzeugen, kann der Lernprozess an einzelnen Vorrichtungen durchgeführt werden, um SNR-Parameter-Zuordnungen für jede einzelne Vorrichtung zu bestimmen. Die SNR-Parameter-Zuordnungen können gespeichert und dann verwendet werden, um Rauschmuster für spätere/Livebilder, wie das zweite Bild, zu bestimmen. Zum Beispiel kann ein zweites Bild durch eine Bilderfassungsvorrichtung während einer CGR-Erfahrung zur Aufnahme in der CGR-Erfahrung erfasst werden. Das Verfahren 600 kann das SNR des zweiten Bildes bestimmen, beispielsweise durch Empfangen des SNR-Pegels von einem Bildsignalprozessor (ISP) oder unter Verwendung eines Maschinenlernmodells, das das zweite Bild bewertet. Das Verfahren 600 kann das SNR verwenden, um die zugeordneten Parameter nachzuschlagen, die dann verwendet werden können, um das Rauschmuster unter Verwendung des parametrisierten Rauschmodells zu bestimmen. Für SNR-Pegel, für die keine zugeordneten Parameter verfügbar sind, können die Parameter unter Verwendung der verfügbaren Parameter in die SNR-Parameter-Zuordnungen interpoliert werden. Implementierungen des Live-Parameter-Nachschlagens können effizienter oder schneller und somit bei Laufzeit realistischer als einige Implementierungen der Live-Parameter-Erzeugung sein.
  • In einigen Implementierungen werden Rauschmuster vorberechnet und für mehrere SNR-Pegel gespeichert, z. B. als SNR-Rauschmuster-Zuordnungen, und das Rauschmuster für einen gegebenen SNR-Pegel wird bei Laufzeit nachgeschlagen. Dies kann das Schätzen von Parametern vor der Laufzeit beinhalten, wobei die Parameter vor der Laufzeit verwendet werden, um einen Satz von Rauschmustern für SNR-Pegel oder -Bereiche (z. B. einen SNR-Bereich, wo der Videostream ein mögliches Rauschen zeigt) im Voraus zu erzeugen und dann Rauschmuster bei Laufzeit zu betrachten oder zu interpolieren. Für SNR-Pegel, für die keine zugeordneten Rauschmuster verfügbar sind, kann das Rauschmuster unter Verwendung der gespeicherten Rauschmuster in den gespeicherten SNR-Rauschmuster-Zuordnungen interpoliert werden.
  • Im Block 608 rendert das Verfahren 600 Inhalte computergenerierter Realität (CGR) mit den virtuellen Inhalten mit hinzugefügtem Rauschen. Die virtuellen Inhalte können das Rauschen enthalten, das basierend auf dem Rauschmuster hinzugefügt wurde. In einigen Implementierungen wird das Rauschen den virtuellen Inhalten hinzugefügt, indem das Rauschmuster über die virtuellen Inhalte gekachelt wird. In einigen Implementierungen werden die Rauschmuster zufällig über die virtuellen Inhalte gekachelt. In einigen Implementierungen wird das Rauschmuster zuerst gemäß einer Luminanzantwortfunktion gewichtet, z. B. einer, die die pro Pixel Luminanz der gerenderten virtuellen Inhalte nutzt, und dann mit dem virtuellen Inhalten kombiniert. In einigen Implementierungen wird das Rauschen nur zu einem oder einigen der virtuellen Objekte und nicht zu einem oder mehreren anderen der virtuellen Objekte hinzugefügt. Zum Beispiel kann das Rauschen nicht zu Elementen der Benutzerschnittstelle hinzugefügt werden, die nicht aussehen sollen, als wenn die Elemente durch die Kamera abgebildet werden.
  • Die CGR-Inhalte können das zweite Bild einschließen oder mit dem zweiten Bild verbunden sein, oder die CGR-Inhalte können mit einem dritten Bild verbunden sein. In verschiedenen Implementierungen werden virtuelle Inhalte (versetzt mit dem Rauschen) mit Bildern aus einer Kamera auf verschiedene Weisen kombiniert. In einer Implementierung rendert ein Prozessor (z. B. eine Graphikverarbeitungseinheit (GPU)) das zweite Bild in einen Framepuffer und rendert dann die virtuellen Inhalte in denselben Puffer, der dann an die Anzeige ausgelesen wird. In einer anderen Implementierung rendert der Prozessor (z. B. GPU) virtuelle Inhalten in einen Framepuffer. Ein Kompositor wird verwendet, um den Framepuffer virtueller Inhalte mit dem zweiten Bild zu verbinden, z. B. mit dem von dem Kamera-ISP empfangenen Bild. In diesem Beispiel wird das zweite Bild niemals durch den Prozessor, z. B. GPU, gerendert. In einer ähnlichen Ausführung wird der Framepuffer virtueller Inhalte anstatt der Verbindung mit dem zweiten Bild mit einem dritten Bild verbunden. Diese Vorgehensweise kann beispielsweise in dem Fall sinnvoll sein, in dem bis zu der Zeit, wenn es im Verfahren zum Rendern und Verbinden kommt, das zweite Bild (welches verwendet wurde, um Rauschparameter zu bestimmen) zu alt ist. Stattdessen verwendet das Verfahren ein neueres (drittes) Bild zum Verbinden und Anzeigen in einem Versuch, die Latenz zu minimieren.
  • Bei Videoinhalten können die Inhalte jedes Frames angepasst werden, um die CGR-Inhalte mit virtuellen Inhalten zu rendern, die angemessen angepasst sind, sodass sie zu dem Rauschen des entsprechenden Framebildes passen. In einigen Implementierungen wird ein erster Frame während einer CGR-Erfahrung analysiert und Rauschmodellparameter werden zur Verwendung in diesem Frame bestimmt und eine Anzahl von nachfolgenden Frames, z. B. die nächsten 59 Frames unter der Annahme, dass das Rauschen sich über die kurzen Zeitperioden wenig ändert, und in Fällen, wenn es wünschenswert ist, Verarbeitungsressourcen zu schonen oder Verarbeitungseffizienz und Geschwindigkeit mit Rauschsimulationsgenauigkeit anderweitig auszugleichen. In einigen Implementierungen wird ein erster Frame während einer CGR-Erfahrung analysiert und ein Rauschtexturmuster wird erzeugt (z. B. über eine auf der Live-Parameter-Erzeugung basierende Technik oder eine auf dem Live-Parameter-Nachschlagen basierende Technik) und das Rauschtexturmuster wird in diesem Frame und einer Anzahl von nachfolgenden Frames verwendet (z. B. die nächsten 89 Frames). Diese Vorgehensweise kann Verarbeitungsressourcen auf ähnliche Weise schonen und die Geschwindigkeit verbessern. Das Rauschtexturmuster kann zufällig auf dem/den virtuellen Objekt(en) gekachelt werden, sodass das Rauschen zufällig (wie reelles Rauschen) von Frame zu Frame über die Länge des Videos erscheint.
  • Einige Implementierungen fügen virtuellen Objekten selektiv das Rauschen für einige Bilder hinzu, aber fügen dem virtuellen Objekt kein Rauschen für andere Bilder basierend auf Auswahlkriterien hinzu. Zum Beispiel kann die Wirkung/Vorhandensein von dem Rauschen mehr wahrnehmbar bei Bedingungen mit wenig Licht sein. Einige Implementierungen bestimmen somit selektiv, das Rauschen zu virtuellen Objekten zuzufügen, basierend auf dem Bestimmen, dass die Lichtbedingungen geringer sind als ein bestimmter Schwellenwert, z. B. adaptives Ein- und Ausschalten der virtuellen Geräuscherzeugungsmerkmale. Damit kann die Verschwendung von Ressourcen in hellen Umgebungen vermieden werden, in denen die Hinzufügung von dem Rauschen zu virtuellen Objekten weniger wahrnehmbar ist.
  • Zahlreiche spezifische Details sind hier dargelegt, um ein gründliches Verständnis des beanspruchten Gegenstands bereitzustellen. Fachleute auf diesem Gebiet werden verstehen dass der beanspruchte Gegenstand auch ohne diese spezifischen Details funktionsfähig ist. In anderen Fällen wurden Verfahren, Vorrichtungen oder Systeme, die einem Fachmann bekannt wären, nicht im Detail beschrieben, um den beanspruchten Gegenstand nicht zu verschleiern.
  • Sofern nicht speziell anders angegeben, wird anerkannt, dass die in dieser Beschreibung enthaltenen Erläuterungen unter Verwendung von Begriffen wie „Verarbeiten“, „Rechnen“, „Berechnen“, „Bestimmen“ und „Identifizieren“ oder dergleichen sich auf Vorgänge oder Verfahren von einer Rechenvorrichtung beziehen, wie einem oder mehreren Computern oder einer ähnlichen elektronischen Vorrichtung oder Vorrichtungen, die Daten manipulieren oder umwandeln, die als physikalische elektronische oder magnetische Mengen in den Speichern, Registern, oder anderen Vorrichtungen zur Informationsspeicherung, Übertragungsvorrichtungen oder Anzeigevorrichtungen der Computerplattform dargestellt werden.
  • Das System oder die Systeme, die hier diskutiert werden, sind nicht auf irgendeine spezielle Hardwarearchitektur oder Konfiguration beschränkt. Eine Rechenvorrichtung kann jede geeignete Anordnung von Komponenten einschließen, die ein auf einem oder mehreren Eingängen beruhendes Ergebnis liefert. Geeignete Computervorrichtungen schließen Mehrzweck-Mikroprozessorbasierte Computersysteme ein, die auf gespeicherte Software zugreifen, die das Computersystem von einer Allzweckrechenvorrichtung zu einer spezialisierten Computervorrichtung programmiert oder konfiguriert, die eine oder mehrere Implementationen des vorliegenden Gegenstandes implementiert. Jede geeignete Programmier-, Skript- oder jede andere Art von Sprache oder Kombinationen von Sprachen können verwendet werden, um die hier enthaltenen Lehren in Software zu implementieren, die beim Programmieren oder Konfigurieren einer Computervorrichtung zu verwenden ist.
  • Implementationen der hier offenbarten Verfahren können bei dem Betrieb solcher Rechenvorrichtungen durchgeführt werden. Die Reihenfolge der Blöcke, die in den obigen Beispielen dargestellt sind, kann beispielsweise variiert werden, Blöcke können neu geordnet, kombiniert oder in Unterblöcke zerlegt werden. Bestimmte Blöcke oder Prozesse können parallel durchgeführt werden.
  • Die Verwendung von „angepasst für“ oder „konfiguriert zu“ hierin ist als offene und einschließende Sprache gemeint, die keine Vorrichtungen ausschließt, die an zusätzliche Aufgaben oder Schritte angepasst sind oder dafür konfiguriert sind, zusätzliche Aufgaben oder Schritte auszuführen. Zusätzlich soll die Verwendung „basierend auf“ offen und einschließend sein, indem ein Prozess, Schritt, eine Berechnung oder eine andere Aktion, die auf der einen oder den mehreren angegebenen Bedingungen oder Werten basiert, in der Praxis auf zusätzlichen Bedingungen oder einem Wert über die genannten hinaus basieren kann. Die hier enthaltenen Überschriften, Listen und Nummerierungen dienen nur zur Erleichterung der Erläuterung und sollen nicht einschränkend sein.
  • Es versteht sich auch, dass, wenngleich die Begriffe „erste(r)“, „zweite(r)“ usw. hier verwendet werden können, um verschiedene Objekte zu beschreiben, diese Objekte nicht durch diese Begriffe eingeschränkt werden. Diese Begriffe werden nur verwendet, um ein Objekt von einem anderen zu unterscheiden. Zum Beispiel könnte ein erster Knoten als ein zweiter Knoten bezeichnet werden, und ähnlich könnte ein zweiter Knoten als erster Knoten bezeichnet werden, ohne die Bedeutung der Beschreibung zu ändern, solange jedes Vorkommen des „ersten Knotens“ konsequent umbenannt wird und jedes Vorkommen des „zweiten Knotens“ konsequent umbenannt wird. Bei dem ersten Knoten und dem zweiten Knoten handelt es sich bei beiden um Knoten, es handelt sich jedoch nicht um denselben Knoten.
  • Die hierin verwendete Terminologie dient lediglich der Beschreibung bestimmter Implementierungen und ist nicht dazu beabsichtigt, die Ansprüche einzuschränken. Wie in der Beschreibung der Implementierungen und den beiliegenden Ansprüchen verwendet, sollen die Singularformen „ein“, „eine“, „der“, „die“ und „das“ auch die Pluralformen einschließen, sofern es im Kontext nicht eindeutig anders angegeben ist. Es versteht sich auch, dass sich der Begriff „bzw.“, so wie er hier verwendet wird, auf jegliche und alle möglichen Kombinationen von einem oder mehreren der damit zusammenhängenden, aufgeführten Begriffe bezieht und diese einschließt. Es versteht sich ferner, dass die Begriffe „umfasst“ oder „umfassend“, wenn sie in dieser Spezifikation verwendet werden, das Vorhandensein von aufgeführten Merkmalen, ganzen Zahlen, Schritten, Vorgängen, Elementen oder Komponenten angeben, aber das Vorhandensein oder das Hinzufügen von einem oder mehreren anderen Merkmalen, ganzen Zahlen, Schritten, Vorgängen, Elementen, Komponenten oder Gruppen davon nicht ausschließen.
  • Wie hier verwendet, kann der Begriff „wenn“ als „wenn“ oder „bei“ oder „infolge des Bestimmens“ oder „gemäß einer Bestimmung“ oder „infolge des Erkennens“, dass eine genannte vorausgehende Bedingung erfüllt ist, abhängig vom Kontext, verstanden werden. Ähnlich kann die Wendung „wenn bestimmt wird, [dass eine genannte vorausgehende Bedingung erfüllt ist]“ oder „falls [eine genannte vorausgehende Bedingung erfüllt ist]“ oder „wenn [eine genannte vorausgehende Bedingung erfüllt ist]“ als „bei Bestimmung“ oder „bei einer Bestimmung, dass“ oder „gemäß einer Bestimmung“ oder „beim Erkennen“ oder „infolge des Erkennens“ so interpretiert werden, dass eine genannte vorausgehende Bedingung erfüllt ist, abhängig vom Kontext.
  • Die vorstehende Beschreibung und Kurzdarstellung der Erfindung sind als in jeder Hinsicht veranschaulichend und beispielhaft, aber nicht als einschränkend zu verstehen, und der Umfang der hier offenbarten Erfindung ist nicht nur aus der detaillierten Beschreibung der veranschaulichenden Implementierungen, sondern gemäß der durch Patentgesetze erlaubten vollen Breite zu bestimmen. Es versteht sich, dass die hier gezeigten und beschriebenen Implementierungen nur veranschaulichend für die Prinzipien der vorliegenden Erfindung sind und dass verschiedene Modifikationen durch den Fachmann implementiert werden können, ohne vom Schutzumfang und Geist der Erfindung abzuweichen.

Claims (15)

  1. Verfahren, umfassend: in einer elektronischen Vorrichtung mit einem Prozessor: Identifizieren von Rauschdaten für ein erstes Bild, das von einer Bilderfassungsvorrichtung erfasst wird; Erzeugen eines parametrisierten Rauschmodells basierend auf den Rauschdaten; Erzeugen eines Rauschmusters, das einem Rauschen in einem zweiten Bild nahekommt, unter Verwendung des parametrisierten Rauschmodells; und Rendern von Inhalten computergenerierter Realität (CGR) mit den virtuellen Inhalten, wobei die virtuellen Inhalte das Rauschen umfassen, das zu den virtuellen Inhalten basierend auf dem Rauschmuster hinzugefügt wird.
  2. Verfahren nach Anspruch 1, wobei das Identifizieren der Rauschdaten Messkamerarauschen für mehrere unterschiedliche Signal-Rausch-Verhältnis-Pegel (SRV-Pegel) umfasst, unter Verwendung von erfassten Bildern, die durch Bilderfassungsvorrichtung in mehreren unterschiedlichen Beleuchtungsbedingungen oder Abbildungsbedingungen erfasst werden.
  3. Verfahren nach Anspruch 1 oder 2, wobei das Erzeugen des parametrisierten Rauschmodells das Identifizieren von Parametern des parametrisierten Rauschmodells umfasst, um das parametrisierte Rauschmodell an die Rauschdaten anzupassen.
  4. Verfahren nach Anspruch 3, wobei das Identifizieren der Parameter umfasst: Bestimmen einer Intensitätsabweichung und einer zugehörigen räumlichen Korrelation basierend auf den Rauschdaten; und Identifizieren von Parametern für das parametrisierte Rauschmodell, um eine Ausgabe zu erzeugen, die der räumlichen Korrelation und der Verteilung der Intensitätsabweichung entspricht.
  5. Verfahren nach Anspruch 4, wobei die Intensitätsabweichung durch Erzeugen eines Differenzbildes ermittelt wird, wobei das Differenzbild eine Differenz zwischen beiden Bildern des gemessenen Rauschens umfasst, wobei die räumliche Korrelation basierend auf der Verschiebung und dem Korrelieren des Differenzbildes mit sich selbst bestimmt wird.
  6. Verfahren nach einem der Ansprüche 1 bis 5, wobei das parametrisierte Rauschmodell die räumliche Korrelation durch Glätten mit einem Kern durch ein gaußsches Mischmodell umfasst.
  7. Verfahren nach einem der Ansprüche 1 bis 6, wobei das zweite Bild das erste Bild ist, wobei Parameter für das parametrisierte Rauschmodell unter Verwendung von Bildern identifiziert werden, die von der Bilderfassungsvorrichtung während der Wiedergabe der CGR-Inhalte erfasst werden.
  8. Verfahren nach einem der Ansprüche 1 bis 6, wobei sich das zweite Bild von dem ersten Bild unterscheidet, wobei Parameter für das parametrisierte Rauschmodell für mehrere unterschiedliche Signal-Rausch-Verhältnis-Pegel (SRV-Pegel) unter Verwendung von Bildern identifiziert werden, die von der Bilderfassungsvorrichtung vor der Wiedergabe der CGR-Inhalte erfasst wurden.
  9. Verfahren nach Anspruch 8, wobei das Erzeugen des Rauschmusters umfasst: Identifizieren eines Signal-Rausch-Verhältnis-Pegels (SRV-Pegels) des zweiten Bildes; Identifizieren von Parametern basierend auf dem SNR-Pegel; und Erzeugen des Rauschmusters unter Verwendung des parametrisierten Rauschmodells und der Parameter.
  10. System, umfassend: ein nicht transitorisches computerlesbares Speichermedium; und einen oder mehrere Prozessoren, die mit dem nicht transitorischen computerlesbaren Speichermedium gekoppelt sind, wobei das nicht transitorische computerlesbare Speichermedium Programmanweisungen umfasst, die, wenn sie auf dem einen oder den mehreren Prozessoren ausgeführt werden, bewirken, dass das System Vorgänge durchführt, die umfassen: Identifizieren von Rauschdaten für ein erstes Bild, das von einer Bilderfassungsvorrichtung erfasst wird; Erzeugen eines parametrisierten Rauschmodells basierend auf den Rauschdaten; Erzeugen eines Rauschmusters, das einem Rauschen in einem zweiten Bild nahekommt, unter Verwendung des parametrisierten Rauschmodells; und Rendern von Inhalten computergenerierter Realität (CGR) mit den virtuellen Inhalten, wobei die virtuellen Inhalte das Rauschen umfassen, das zu den virtuellen Inhalten basierend auf dem Rauschmuster hinzugefügt wird.
  11. System nach Anspruch 10, wobei das Erzeugen des parametrisierten Rauschmodells das Identifizieren von Parametern des parametrisierten Rauschmodells umfasst, um das parametrisierte Rauschmodell an die Rauschdaten anzupassen.
  12. System nach Anspruch 11, wobei das Identifizieren der Parameter umfasst: Bestimmen einer Intensitätsabweichung und einer zugehörigen räumlichen Korrelation basierend auf den Rauschdaten; und Identifizieren von Parametern für das parametrisierte Rauschmodell, um eine Ausgabe zu erzeugen, die der räumlichen Korrelation und der Verteilung der Intensitätsabweichung ähnlich ist.
  13. System nach Anspruch 12, wobei das Bestimmen der Intensitätsabweichung das Erzeugen eines Differenzbildes umfasst, wobei das Differenzbild eine Differenz zwischen zwei Bildern des gemessenen Rauschens umfasst, wobei die räumliche Korrelation basierend auf der Verschiebung und dem Korrelieren des Differenzbildes mit sich selbst bestimmt wird.
  14. Nicht transitorisches computerlesbares Speichermedium, das Programmanweisungen speichert, die auf einem Rechner computerausführbar sind zum Durchführen der folgenden Operationen: Identifizieren von Rauschdaten für ein erstes Bild, das von einer Bilderfassungsvorrichtung erfasst wird; Erzeugen eines parametrisierten Rauschmodells basierend auf den Rauschdaten; Erzeugen eines Rauschmusters, das einem Rauschen in einem zweiten Bild nahekommt, unter Verwendung des parametrisierten Rauschmodells; und Rendern von Inhalten computergenerierter Realität (CGR) mit dem zweiten Bild und den virtuellen Inhalten, wobei die virtuellen Inhalte Rauschen umfassen, das zu den virtuellen Inhalten basierend auf dem Rauschmuster hinzugefügt wird.
  15. Nicht transitorisches computerlesbares Speichermedium nach Anspruch 14, wobei das Erzeugen des parametrisierten Rauschmodells das Identifizieren von Parametern des parametrisierten Rauschmodells umfasst, um das parametrisierte Rauschmodell an die Rauschdaten anzupassen.
DE102020104055.5A 2019-02-25 2020-02-17 Rendern von objekten zur anpassung von dem kamerarauschen Pending DE102020104055A1 (de)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201962809815P 2019-02-25 2019-02-25
US62/809,815 2019-02-25
US16/740,972 2020-01-13
US16/740,972 US11308652B2 (en) 2019-02-25 2020-01-13 Rendering objects to match camera noise

Publications (1)

Publication Number Publication Date
DE102020104055A1 true DE102020104055A1 (de) 2020-08-27

Family

ID=72139034

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102020104055.5A Pending DE102020104055A1 (de) 2019-02-25 2020-02-17 Rendern von objekten zur anpassung von dem kamerarauschen

Country Status (2)

Country Link
US (1) US11308652B2 (de)
DE (1) DE102020104055A1 (de)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20230139682A1 (en) * 2021-11-01 2023-05-04 Nvidia Corporation Continuous training of an object detection and classification model for varying environmental conditions

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090144137A1 (en) 2006-07-21 2009-06-04 Gregory Hagan Moulton Automated content production for largely continuous transmission
US7926590B2 (en) 2007-10-03 2011-04-19 Tesco Corporation Method of liner drilling and cementing utilizing a concentric inner string
US8416263B2 (en) * 2010-03-08 2013-04-09 Empire Technology Development, Llc Alignment of objects in augmented reality
JP2012174116A (ja) * 2011-02-23 2012-09-10 Ntt Docomo Inc オブジェクト表示装置、オブジェクト表示方法及びオブジェクト表示プログラム
JP5838747B2 (ja) 2011-11-11 2016-01-06 ソニー株式会社 情報処理装置、情報処理方法、及びプログラム
US9741145B2 (en) 2012-06-29 2017-08-22 Disney Enterprises, Inc. Augmented reality simulation continuum
PL412832A1 (pl) * 2015-06-24 2017-01-02 Politechnika Poznańska Sposób renderowania w oparciu o obraz głębi i system do renderowania w oparciu o obraz głębi
US10317989B2 (en) 2016-03-13 2019-06-11 Logitech Europe S.A. Transition between virtual and augmented reality
CN109643125B (zh) 2016-06-28 2022-11-15 柯尼亚塔有限公司 用于训练自动驾驶系统的逼真的3d虚拟世界创造与模拟
US9979942B2 (en) * 2016-06-30 2018-05-22 Apple Inc. Per pixel color correction filtering
EP3293705B1 (de) * 2016-09-12 2022-11-16 Dassault Systèmes 3d-rekonstruktion eines realen objekts aus einer tiefenkarte
EP3343502B1 (de) * 2016-12-28 2019-02-20 Dassault Systèmes Tiefensensorrauschen

Also Published As

Publication number Publication date
US11308652B2 (en) 2022-04-19
US20200273212A1 (en) 2020-08-27

Similar Documents

Publication Publication Date Title
DE102020110662A1 (de) Simultane positionsbestimmung und kartenerstellung (slam) für mehrere benutzer
US20170236332A1 (en) Reality mixer for mixed reality
DE112020001415T5 (de) Umgebung für Fernkommunikation
DE112018007721T5 (de) Aufnehmen und modifizieren von 3D-Gesichtern unter Verwendung neuronaler Bild-und Zeitverfolgungsnetze
DE102020116144A1 (de) Virtuelle inhalte, positioniert basierend auf detektiertem objekt
US11580652B2 (en) Object detection using multiple three dimensional scans
DE112020002355T5 (de) Audioverarbeitung
DE112019004485T5 (de) Wechseln zwischen bildern und tönen einer virtuellen umgebung und einer realen umgebung
DE112019002353T5 (de) Techniken zum umschalten zwischen immersionsebenen
DE112019001702T5 (de) Verfahren, systeme, herstellungsgegenstände und vorrichtungen zur erzeugung digitaler szenen
DE112019001444T5 (de) Informationsverarbeitungsvorrichtung, informationsverarbeitungsverfahren und programm
DE112021000108T5 (de) Entrauschungstechniken für rekurrente unschärfen bei raytracing-anwendungen
EP2951787B1 (de) Verfahren und vorrichtung zum verarbeiten von 3d-bilddaten
US20200292825A1 (en) Attention direction on optical passthrough displays
DE102022110363A1 (de) Verfahren und vorrichtung zur debugging-programmausführung und inhaltswiedergabe
DE102022107672A1 (de) Cloud-ausführung von audio/video compositing-anwendungen
DE102020104055A1 (de) Rendern von objekten zur anpassung von dem kamerarauschen
DE102023127131A1 (de) Techniken der künstlichen intelligenz zur extrapolation von hdr-panoramen aus ldr-bildern mit geringem blickfeld (fov)
DE112019004889T5 (de) Recheneffiziente Modellauswahl
US11182978B1 (en) Rendering virtual content with coherent visual properties
DE102022107945A1 (de) Lokalisierungsgenauigkeitsreaktion
DE102020101675A1 (de) Manipulation von virtuellen objekten mittels eines verfolgten physischen objekts
DE102022100517A1 (de) Verwenden von intrinsischen funktionen zum schattenentrauschen in raytracinganwendungen
CN111612915B (zh) 渲染对象以匹配相机噪声
DE102017007714A1 (de) Verbessertes Bemalen von Objekten durch die Verwendung von Perspektiven oder Transfers in einer digitalen Medienumgebung

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R016 Response to examination communication