DE102018006838A1 - Dynamisches Mapping von virtuellen und physischen Interaktionen - Google Patents

Dynamisches Mapping von virtuellen und physischen Interaktionen Download PDF

Info

Publication number
DE102018006838A1
DE102018006838A1 DE102018006838.3A DE102018006838A DE102018006838A1 DE 102018006838 A1 DE102018006838 A1 DE 102018006838A1 DE 102018006838 A DE102018006838 A DE 102018006838A DE 102018006838 A1 DE102018006838 A1 DE 102018006838A1
Authority
DE
Germany
Prior art keywords
virtual
real
objects
scene
mapping
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
DE102018006838.3A
Other languages
English (en)
Inventor
Qi Sun
Paul John Asente
Li-Yi Wei
Jingwan Lu
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.)
Adobe Inc
Original Assignee
Adobe 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
Priority claimed from US15/934,000 external-priority patent/US10957103B2/en
Application filed by Adobe Inc filed Critical Adobe Inc
Publication of DE102018006838A1 publication Critical patent/DE102018006838A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • 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/024Multi-user, collaborative environment

Landscapes

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

Abstract

Es werden Verfahren und Systeme zum Durchführen eines dynamischen Mappings zwischen einer virtuellen Umgebung und einem realen Raum bereitgestellt. Während des dynamischen Mappings wird eine gegenwärtige virtuelle Szene der virtuellen Umgebung, die von einem Nutzer betrachtet werden kann, bezüglich Bereichen der virtuellen Umgebung, die nicht betrachtet werden können, priorisiert. Das dynamische Mapping zwischen der virtuellen Umgebung und dem realen Raum kann genutzt werden, um eine virtuelle Szene für einen Nutzer in Echtzeit zu rendern. Wenn ein Nutzer mit der virtuellen Umgebung interagiert und/oder sich in dieser bewegt, kann ein dynamisches Mapping in Echtzeit durchgeführt werden, um jedwede dynamischen Veränderungen des realen Raums und/oder der virtuellen Umgebung zu erfassen.

Description

  • QUERVERWEIS AUF VERWANDTE ANMELDUNGEN
  • Diese Anmeldung beansprucht die Priorität der US-Provisional-Anmeldung Nr. 62/581,604 , die am 3. November 2017 eingereicht worden ist, und der US-Gebrauchsmusteranmeldung Nr. 15/934,000 , die am 23. März 2018 eingereicht worden ist, die unter Bezugnahme vollständig hierin einbezogen sind.
  • HINTERGRUND
  • Überzeugende Erfahrungen auf virtueller Basis hängen häufig von der Konsistenz zwischen virtuellen Wahrnehmungen und Wahrnehmungen in der realen Welt ab (z.B. visuell, taktil, haptisch, audiobasiert, usw.). Solche Erfahrungen auf virtueller Basis nutzen häufig virtuelle Umgebungen, die mittels einer virtuellen Realität (VR), einer erweiterten Realität (AR) oder einer gemischten Realität (MR) erzeugt werden. Das Abgleichen von Wahrnehmungen in der realen Welt mit der virtuellen Umgebung kann der Erfahrung auf virtueller Basis eine eindringliche Qualität hinzufügen, während Unstimmigkeiten zu unangenehmen Irritationen führen können.
  • Ein Ansatz zum Erhöhen des Realismus nutzt ein „redirected walking“. Das „redirected walking“ ermöglicht es Nutzern, deren physische Körper in einem realen Raum zu bewegen, während sie eine virtuelle Umgebung wahrnehmen. Zusätzlich zur Verbesserung des Realismus, kann ein „redirected walking“ zusätzlich oder alternativ zum Vermindern der Simulatorkrankheit verwendet werden, wobei es sich um eine Nebenwirkung handelt, die auftreten kann, wenn sich eine virtuelle Ansicht von vestibulären Wahrnehmungen der realen Welt unterscheidet. Beispielsweise kann ein Nutzer eine Simulatorkrankheit erleiden, wenn ein Nutzer visuelle Hinweise des Bewegens in der virtuellen Welt erfährt, der Körper des Nutzers in der realen Welt jedoch statisch bleibt.
  • Im Allgemeinen kann der Nutzer, wenn ein „redirected walking“ zum Manipulieren der Bewegung eines Nutzers innerhalb einer realen Umgebung genutzt wird, von physischen Hindernissen weggeführt werden, wie z.B. Wänden und Möbeln, so dass der Nutzer nicht mit den realen Objekten zusammenstößt, wenn der Nutzer umhergeht. In einem herkömmlichen Ansatz kann ein realer Grundriss einem Mapping mit einem virtuellen Grundriss unterzogen werden, um ein „redirected walking“ durchzuführen. Ein solcher Ansatz basiert jedoch auf einem statischen zweidimensionalen Grundriss, der reale sich bewegende Objekte in der Umgebung nicht berücksichtigt, und folglich bezüglich Änderungen der Umgebung nicht adaptiv ist. Diesbezüglich kann die Bewegung eines realen Objekts (z.B. eines physischen Tischs) in einer realen Umgebung dazu führen, dass ein Nutzer mit dem bewegten realen Objekt zusammenstößt.
  • Ferner ermöglicht ein solcher herkömmlicher Ansatz keine Interaktion mit realen dreidimensionalen Objekten. Stattdessen behandelt ein „redirected walking“ reale Objekte als zu vermeidende Hindernisse und führt Nutzer von realen Objekten, wie z.B. Wänden und Möbeln, weg. In manchen Fällen kann es jedoch erwünscht sein, mit einem realen Objekt zu interagieren. Beispielsweise wenn ein Nutzer mit einem virtuellen Objekt interagiert, wird der Realismus einer virtuellen Erfahrung verbessert, wenn der Körper des Nutzers auch physisch eine Interaktion mit einem realen Objekt erfährt. Obwohl einige herkömmliche Ansätze auf das Ermöglichen einer taktilen Interaktion gerichtet sind, sind solche Ansätze auf eine beschränkte Nutzerinteraktion mit einem kleinen Objekt in einer einzelnen virtuellen Szene begrenzt.
  • ZUSAMMENFASSUNG
  • Ausführungsformen der vorliegenden Offenbarung betreffen ein System zum dynamischen Mapping einer virtuellen Umgebung zu einem realen Raum. Das dynamische Mapping kann virtuelle Pixel von einer virtuellen Umgebung mit realen Punkten abgleichen. Während des dynamischen Mappings können virtuelle Pixel von der gegenwärtigen Betrachtungsszene eines Nutzers bezüglich virtuellen Pixeln außerhalb der gegenwärtigen Betrachtungsszene priorisiert werden. Das Mapping einer virtuellen Umgebung zu einem realen Raum auf diese Weise ermöglicht ein „redirected walking“ des Nutzers in der realen Welt, während die virtuelle Umgebung betrachtet wird. Die virtuelle Umgebung, die einem Nutzer mittels eines dynamischen Mappings präsentiert wird, ermöglicht es der virtuellen Umgebung, die Position und/oder Bewegung von realen Objekten und insbesondere großen Objekten (z.B. eines Tischs, eines Stuhls, eines Betts, usw.) realistisch oder genau wiederzugeben.
  • Die dem Nutzer präsentierte virtuelle Umgebung kann während des Renderns ein dynamisches Mapping zum Erzeugen einer gegenwärtigen Betrachtungsszene der virtuellen Umgebung in einer Weise nutzen, die zum Verbessern des Realismus eine haptische Rückmeldung nutzt. Eine haptische Rückmeldung kann einem Nutzer in der virtuellen Umgebung durch Abgleichen von virtuellen Objekten und realen Objekten mit ähnlichen Eigenschaften bereitgestellt werden, wenn sich der Nutzer in der virtuellen Umgebung bewegt. Auf diese Weise kann ein dynamisches Mapping während des Rendervorgangs auf virtuelle Objekte angewandt werden, die visuell verformt werden können, ohne die Wahrnehmung des virtuellen Objekts (z.B. Wände) durch den Nutzer zu beeinträchtigen. In einem zweiten Durchgang des Renderns können Objekte, die bei der Verformung eine visuelle Irritation verursachen können, durch Abgleichen der virtuellen Objekte mit entsprechenden realen Objekten (z.B. starren Objekten, wie z.B. einem Stuhl oder einem Bett) wieder der gerenderten virtuellen Szene hinzugefügt werden. Diesbezüglich werden reale Objekte, insbesondere große reale Objekte, nicht als Hindernisse behandelt, die während eines „redirected walking“ vermieden werden sollen, sondern können stattdessen mit virtuellen Objekten abgeglichen werden, wenn ein solcher Abgleich den Realismus der virtuellen Erfahrung verbessern kann (z.B. das Abgleichen eines realen Stuhls mit einem virtuellen Stuhl, was es dem Nutzer ermöglicht, sich sowohl in der realen Welt als auch in der Erfahrung auf virtueller Basis zu setzen). Demgemäß kann ein dynamisches Mappingsystem (eine) umgeleitete („redirected“) Interaktion(en) mit großen Objekten einhergehend mit einem „redirected walking“ unterstützen, so dass für einen Nutzer eine vollständig eindringliche virtuelle Erfahrung bereitgestellt wird.
  • Solche dynamischen Maps können in Echtzeit erzeugt werden, wodurch reale Objekte in dem realen Raum interagieren können, während ein entsprechendes virtuelles Objekt aktualisiert wird. D.h., wenn sich ein Nutzer in einem realen Raum bewegt, kann die virtuelle Umgebung, die dem Nutzer präsentiert wird, in Echtzeit oder nahezu in Echtzeit aktualisiert werden, um verschiedene Aspekte des realen Raums wiederzugeben, wie z.B. kleine und große Objekte in dem Raum.
  • Figurenliste
    • 1A zeigt eine Beispielkonfiguration einer Betriebsumgebung, in der einige Implementierungen der vorliegenden Offenbarung eingesetzt werden können, gemäß verschiedener Ausführungsformen der vorliegenden Offenbarung.
    • 1B zeigt eine Beispielkonfiguration einer Betriebsumgebung, in der einige Implementierungen der vorliegenden Offenbarung eingesetzt werden können, gemäß verschiedener Ausführungsformen der vorliegenden Offenbarung.
    • 2 zeigt Aspekte eines veranschaulichenden dynamischen Mappingsystems gemäß verschiedener Ausführungsformen der vorliegenden Offenbarung.
    • 3 zeigt einen Verfahrensablauf, der eine Ausführungsform zum Durchführen eines dynamischen Mappings gemäß Ausführungsformen der vorliegenden Offenbarung zeigt.
    • 4 zeigt einen Verfahrensablauf, der eine Ausführungsform zum Durchführen eines dynamischen Mappings zwischen einer virtuellen Umgebung und einem realen Raum gemäß Ausführungsformen der vorliegenden Offenbarung zeigt.
    • 5 zeigt einen Verfahrensablauf, der eine Ausführungsform zum Rendern einer virtuellen Szene einer virtuellen Umgebung unter Verwendung eines dynamischen Mappings zwischen der virtuellen Umgebung und einem realen Raum gemäß Ausführungsformen der vorliegenden Offenbarung zeigt.
    • 6A zeigt ein Beispiel für ein dynamisches Mapping zwischen einer virtuellen Umgebung und einem realen Raum gemäß Ausführungsformen der vorliegenden Offenbarung.
    • 6B zeigt ein Beispiel für ein dynamisches Mapping zwischen einer virtuellen Szene und einem realen Raum gemäß Ausführungsformen der vorliegenden Offenbarung.
    • 6C zeigt ein Beispiel für ein dynamisches Mapping zwischen einer virtuellen Umgebung und einem realen Raum gemäß Ausführungsformen der vorliegenden Offenbarung.
    • 7A zeigt ein Beispiel für ein dynamisches Mapping mit einem langen Weg zwischen einer virtuellen Umgebung und einem realen Raum mit einem realen statischen Objekt gemäß Ausführungsformen der vorliegenden Offenbarung.
    • 7B zeigt ein Beispiel für ein dynamisches Mapping mit einem kürzeren Weg zwischen einer virtuellen Umgebung und einem realen Raum mit einem realen statischen Objekt gemäß Ausführungsformen der vorliegenden Offenbarung.
    • 7C zeigt ein Beispiel für ein dynamisches Mapping zwischen einer virtuellen Umgebung und einem realen Raum mit einem realen dynamischen Objekt gemäß Ausführungsformen der vorliegenden Offenbarung.
    • 7D zeigt ein Beispiel für ein dynamisches Mapping zwischen einer virtuellen Umgebung und einem realen Raum mit zwei realen dynamischen Objekten gemäß Ausführungsformen der vorliegenden Offenbarung.
    • 8 zeigt ein veranschaulichendes dynamisches Mapping zwischen einer virtuellen Umgebung und einem realen Raum gemäß Ausführungsformen der vorliegenden Offenbarung.
    • 9 zeigt ein veranschaulichendes dynamisches Mapping zwischen einer virtuellen Umgebung und einem realen Raum gemäß Ausführungsformen der vorliegenden Offenbarung.
    • 10 ist ein Blockdiagramm einer Beispielrechenvorrichtung, in der Ausführungsformen der vorliegenden Offenbarung eingesetzt werden können.
  • DETAILLIERTE BESCHREIBUNG
  • Häufig wünschen Nutzer, dass virtuelle Umgebungen mit sensorischen Wahrnehmungshinweisen (z.B. visuell, taktil, vestibulär, usw.) konsistent sind. Solche virtuellen Umgebungen können mittels VR, AR oder MR erfahren werden. Das Abgleichen von sensorischen Wahrnehmungshinweisen kann Erfahrungen auf virtueller Basis eine eindringliche Qualität hinzufügen, während Unstimmigkeiten zu unangenehmen Irritationen für einen Nutzer führen können.
  • Ein Verfahren, das zum Abgleichen von sensorischen Wahrnehmungshinweisen zum Verbessern des Realismus verwendet wird, ist ein „redirected walking“. Mit einem „redirected walking“ bewegt ein Nutzer im Allgemeinen den physischen Körper des Nutzers zum Überbrücken von visuellen Hinweisen, die in der visuellen Umgebung wahrgenommen werden, mit vestibulären Hinweisen. Beispielsweise wenn ein Nutzer durch einen Garten in einer virtuellen Umgebung geht, ermöglicht es ein „redirected walking“ dem Nutzer, in der realen Welt in einer Weise zu gehen, die mit der virtuellen Erfahrung abgeglichen ist. Während des „redirected walking“ führen herkömmliche Verfahren gegenwärtig einen Nutzer weg von realen Objekten, wie z.B. Wänden und/oder anderen Objekten. Solche Verfahren für ein „redirected walking“ behandeln Objekte als zu vermeidende Hindernisse, anstatt mit ihnen zu interagieren. Ferner ist es schwierig, Maps in Echtzeit zu erzeugen, da das Verfahren zum Erzeugen einer Map zwischen einer virtuellen Umgebung und einem realen Raum ein sehr rechen- und zeitaufwändiges Verfahren ist. Deshalb können herkömmliche Verfahren dynamische Veränderungen, die in der realen Umgebung vorgenommen werden, nicht handhaben.
  • Ein weiteres Verfahren, das zum Abgleichen von sensorischen Wahrnehmungshinweisen zum Verbessern des Realismus verwendet wird, ist ein haptisches Targeting oder haptisches Retargeting (hier im Allgemeinen als haptisches Targeting bezeichnet). Im Allgemeinen bezieht sich ein haptisches Targeting auf einen Nutzer, der eine physische Anwesenheit fühlt, wenn er mit einem virtuellen Objekt interagiert. Ein haptisches Retargeting beruht auf der Dominanz von visuellen Hinweisen, wenn Empfindungen im Widerspruch stehen. Der Fokus auf das haptische Retargeting besteht darin, dass reale physische Objekte zum Bereitstellen einer haptischen Rückmeldung für eine Mehrzahl von virtuellen Objekten wiederverwendet werden können. Beispielsweise kann ein Nutzer an einem Tisch sitzen, wobei ein einzelnes reales Wasserglas vor diesem steht, wobei der Nutzer in einer virtuellen Umgebung jedoch zwei Wassergläser auf dem Tisch sehen kann. Ein haptisches Retargeting kann die visuelle Wahrnehmung des Nutzers manipulieren, um Interaktionen mit dem realen Wasserglas derart zu führen, dass der Nutzer glaubt, dass tatsächlich zwei reale Wassergläser auf dem Tisch stehen. Herkömmliche Verfahren, die ein haptisches Targeting nutzen, ermöglichen jedoch taktile Rückmeldungsinteraktionen mit kleinen einzelnen Objekten. Zu diesem Zweck kann sich ein Nutzer nicht in einer Umgebung bewegen und mit Objekten, einschließlich kleinen und großen Objekten, interagieren.
  • Demgemäß sind Ausführungsformen der vorliegenden Offenbarung auf das Erleichtern des dynamischen Mappings einer virtuellen Umgebung zu einem realen Raum gerichtet. Diesbezüglich können anstelle des Behandelns von großen realen Objekten als zu vermeidende Hindernisse solche realen Objekte mit virtuellen Objekten abgeglichen werden, wenn ein solcher Abgleich den Realismus der Erfahrung auf virtueller Basis verbessern kann. Eine dynamische Map kann in Echtzeit erzeugt werden, wodurch z.B. mit großen realen Objekten interagiert werden kann, während ein entsprechendes virtuelles Objekt aktualisiert wird. Beispielsweise wenn das reale Objekt ein Stuhl ist, kann ein Nutzer den realen Stuhl bewegen und ein entsprechender virtueller Stuhl kann so gezeigt werden, dass er sich ebenfalls bewegt. Durch die Verwendung eines dynamischen Mappings kann sich ein Nutzer genau in einer virtuellen Umgebung bewegen und auch mit Objekten in der virtuellen Umgebung interagieren. D.h., ein Nutzer kann mit virtuellen Objekten mittels ihrer physischen Gegenstücke interagieren, einschließlich kleine Objekte und große Objekte, während er eine virtuelle Umgebung durch VR-, AR- oder MR-Vorrichtungen wahrnimmt und frei in einer realen Umgebung geht.
  • Im Allgemeinen bezieht sich ein dynamisches Mapping auf das Erzeugen einer Map, die eine virtuelle Umgebung mit einem realen Raum in Echtzeit oder nahezu Echtzeit assoziiert. Wie es beschrieben ist, ermöglicht eine Map (die hier auch als eine dynamische Map bezeichnet wird), die eine virtuelle Umgebung mit einem realen Raum assoziiert und die in Echtzeit erzeugt wird, dass die virtuelle Umgebung große reale Objekte genau wiedergibt, so dass ein „redirected walking“ um tatsächliche Positionen von Objekten stattfinden kann, und sie ermöglicht ferner Interaktionen mit solchen Objekten. Diesbezüglich bezieht sich das dynamische Mapping auf eine Echtzeit-Mappingberechnung im Gegensatz zu einem vorberechneten Mappingverfahren wie bei herkömmlichen Verfahren. D.h., anstelle eines statischen Mappings zwischen einer bestimmten virtuellen Umgebung und einem realen Raum wird ein dynamisches Mapping zum Anpassen von Laufzeit-Nutzerbewegungen sowie von Veränderungen in der virtuellen Umgebung und/oder dem realen Raum genutzt. Die Nutzung eines solchen dynamischen Mappings vermindert die Verformung und stellt eine überzeugendere oder gefälligere Eindringlichkeit sowohl für visuelle als auch für taktile Wahrnehmungen bereit.
  • Deshalb beschreiben Ausführungsformen der vorliegenden Offenbarung verschiedene Aspekte des Erzeugens und Verwendens einer dynamischen Map zum Rendern einer virtuellen Umgebung, die reale Objekte genau wiedergibt. Insbesondere priorisiert das hier allgemein beschriebene dynamische Mappingsystem zum effizienten Erzeugen einer dynamischen Map in Echtzeit eine virtuelle Szene der virtuellen Umgebung innerhalb einer Nutzeransicht aufgrund eines Verdeckens (z.B. durch die Tiefe) und/oder eines Beschneidens (mittels eines Kamerapyramidenstumpfs) bezüglich nicht sichtbarer Räume der virtuellen Umgebung. Eine solche Priorisierung kann durch Verwenden von mehr Samples von der virtuellen Szene innerhalb der Nutzeransicht als die Samples, die von der nicht sichtbaren virtuellen Umgebung verwendet worden sind, stattfinden. Auf diese Weise kann ein virtuelle Kamera-„aware“-Sampling (z.B. ein Sampling, das die virtuelle Ansicht des Nutzers der Szene auf der Basis der Szene priorisiert, die durch die virtuelle Kamera erfasst wird) derart stattfinden, dass dann, wenn ein Sampling für eine virtuelle Umgebung stattfindet, ein dichterer Satz von virtuellen Pixelsamples für einen sichtbaren Inhalt verwendet wird und ein dünner besetzter Satz von virtuellen Pixelsamples für einen Inhalt verwendet wird, den der Nutzer nicht sehen kann. In einer vorteilhaften Weise ermöglicht das Priorisieren der Nutzeransicht der virtuellen Szene bezüglich der Räume der virtuellen Umgebung außerhalb der Nutzeransicht eine effiziente Erzeugung von dynamischen Maps, wodurch die Recheneffizienz erhöht wird und ein dynamisches Mapping in Echtzeit durchgeführt werden kann. Durch Priorisieren der Nutzeransicht der virtuellen Szene kann die Nutzererfahrung auf virtueller Basis aufrechterhalten werden, während die virtuelle Umgebung außerhalb der Nutzeransicht verformt wird.
  • Nach dem Erzeugen von dynamischen Maps können die dynamischen Maps zum Rendern der virtuellen Umgebung verwendet werden, die verschiedene Objekte in dem realen Raum genau wiedergibt. Wie es hier beschrieben ist, kann ein Mehrfachdurchgang-Verfahren verwendet werden, das Gruppen von Objekten bei verschiedenen Kameraeinstellungen rendern kann. Ein solches Mehrfachdurchgang-Verfahren kann eine bessere Qualitätskontrolle sowie eine potenzielle Aufdeckung von Artefakten bereitstellen.
  • Unter Bezugnahme auf die 1A zeigt die 1A eine Beispielkonfiguration einer Betriebsumgebung, in der einige Implementierungen der vorliegenden Offenbarung eingesetzt werden können, gemäß verschiedener Ausführungsformen der vorliegenden Offenbarung. Es sollte beachtet werden, dass diese und andere Anordnungen, die hier beschrieben sind, nur als Beispiele angegeben sind. Andere Anordnungen und Elemente (z.B. Maschinen, Schnittstellen, Funktionen, Reihenfolgen und Gruppierungen von Funktionen, usw.) können zusätzlich oder anstelle der gezeigten verwendet werden, und einige Elemente können aus Klarheitsgründen vollständig weggelassen werden. Ferner sind viele der hier beschriebenen Elemente funktionelle Einheiten, die als einzelne oder verteilte Komponenten oder im Zusammenhang mit anderen Komponenten und in einer geeigneten Kombination und Stelle implementiert werden. Verschiedene Funktionen, die hier so beschrieben sind, dass sie durch eine oder mehrere Einheit(en) ausgeführt werden, können durch Hardware, Firmware und/oder Software durchgeführt werden. Beispielsweise können einige Funktionen durch einen Prozessor ausgeführt werden, der Anweisungen ausführt, die in einem Speicher gespeichert sind, wie es bezüglich der 10 weiter beschrieben ist.
  • Es sollte beachtet werden, dass die Betriebsumgebung 100, die in der 1A gezeigt ist, ein Beispiel für eine geeignete Betriebsumgebung ist. Neben anderen Komponenten, die nicht gezeigt sind, umfasst die Betriebsumgebung 100 eine Anzahl von Nutzervorrichtungen, wie z.B. die Nutzervorrichtungen 102a und 102b bis 102n, das Netzwerk 104 und (einen) Server 106. Jede der Komponenten, die in der 1A gezeigt ist, kann mittels jedweden Typs von Rechenvorrichtung implementiert werden, wie z.B. einer oder mehreren Rechenvorrichtung(en) 1000, die im Zusammenhang mit der 10 beschrieben ist oder sind. Diese Komponenten können über das Netzwerk 104, das drahtgebunden, drahtlos oder beides sein kann, miteinander kommunizieren. Das Netzwerk 104 kann eine Mehrzahl von Netzwerken oder ein Netzwerk von Netzwerken umfassen, ist jedoch in einer einfachen Form gezeigt, so dass Aspekte der vorliegenden Offenbarung nicht unklar werden. Beispielsweise kann das Netzwerk 104 ein oder mehrere Weitbereichsnetzwerk(e) (WANs), ein oder mehrere lokale(s) Netzwerk(e) (LANs), ein oder mehrere öffentliche(s) Netzwerk(e), wie z.B. das Internet, und/oder ein oder mehrere private(s) Netzwerk(e) umfassen. Wenn ein Netzwerk 104 ein drahtloses Telekommunikationsnetzwerk umfasst, können Komponenten, wie z.B. eine Basisstation, ein Kommunikationsturm oder sogar Zugangspunkte (sowie weitere Komponenten), eine drahtlose Konnektivität bereitstellen. Netzwerkumgebungen sind in Büros, unternehmensweiten Computernetzwerken, Intranets und dem Internet üblich. Das Netzwerk 104 kann jedwedes Netzwerk sein, das eine Kommunikation zwischen Maschinen, Datenbanken und Vorrichtungen (mobilen oder sonstigen) ermöglicht. Demgemäß kann das Netzwerk 104 ein drahtgebundenes Netzwerk, ein drahtloses Netzwerk (z.B. ein mobiles oder zelluläres Netzwerk), ein Speicherbereichsnetzwerk (SAN) oder jedwede geeignete Kombination davon sein. In einer Beispielausführungsform umfasst das Netzwerk 104 einen oder mehrere Abschnitt(e) eines privaten Netzwerks, eines öffentlichen Netzwerks (z.B. des Internets) oder eine Kombination davon. Demgemäß wird das Netzwerk 104 nicht signifikant detailliert beschrieben.
  • Es sollte beachtet werden, dass jedwede Anzahl von Nutzervorrichtungen, Servern und weiteren Komponenten innerhalb der Betriebsumgebung 100 innerhalb des Umfangs der vorliegenden Offenbarung verwendet werden kann. Jede kann eine einzelne Vorrichtung oder eine Mehrzahl von Vorrichtungen umfassen, die in einer verteilten Umgebung zusammenarbeiten.
  • Die Nutzervorrichtungen 102a bis 102n können jedweder Typ von Rechenvorrichtung sein, der durch einen Nutzer betrieben werden kann. Beispielsweise sind in einigen Implementierungen die Nutzervorrichtungen 102a bis 102n der Typ von Rechenvorrichtung, der in Bezug auf die 10 beschrieben wird. Beispielsweise und nicht beschränkend kann eine Nutzervorrichtung als ein Personalcomputer (PC), ein Laptopcomputer, eine mobile Vorrichtung, ein Smartphone, ein Tischtcomputer, eine Smartwatch, ein tragbarer Computer, ein persönlicher digitaler Assistant (PDA), ein MP3-Player, ein(e) globale(s) Positionierungssystem (GPS) oder -vorrichtung, ein Videoplayer, eine handgehaltene Kommunikationsvorrichtung, eine Gamingvorrichtung oder ein Gamingsystem, ein Unterhaltungssystem, ein Fahrzeugcomputersystem, eine eingebettetes System-Steuereinrichtung, eine Fernbedienung, ein Gerät, eine Verbraucherelektronikvorrichtung, eine Workstation, eine virtuelle Realität-Hardwareplattform, eine erweiterte Realität-Hardwareplattform, eine gemischte Realität-Hardwareplattform, jedwede Kombination dieser angegebenen Vorrichtungen oder jedwede andere geeignete Vorrichtung implementiert werden.
  • Die Nutzervorrichtungen können einen oder mehrere Prozessor(en) und ein oder mehrere computerlesbare(s) Medium oder Medien umfassen. Die computerlesbaren Medien können computerlesbare Anweisungen umfassen, die durch den einen oder die mehreren Prozessor(en) ausführbar sind. Die Anweisungen können durch eine oder mehrere Anwendung(en) implementiert werden, wie z.B. die Anwendung 110, die in der 1A gezeigt ist. Die Anwendung 110 ist aus Gründen der Einfachheit als eine einzelne Anwendung bezeichnet, jedoch kann deren Funktionalität in der Praxis durch eine oder mehrere Anwendung(en) implementiert werden. Wie es vorstehend angegeben ist, können die weiteren Nutzervorrichtungen eine oder mehrere Anwendung(en) umfassen, wie dies bei der Anwendung 110 der Fall ist.
  • Die Anwendung(en) kann oder können allgemein jewede Anwendung sein, die einen Austausch von Informationen zwischen den Nutzervorrichtungen und dem oder den Server(n) 106 bei der Durchführung eines dynamischen Mappings zwischen einer virtuellen Umgebung und einem realen Raum erleichtern kann. In einigen Implementierungen umfasst oder umfassen die Anwendung(en) eine Webanwendung, die in einem Webbrowser laufen kann und mindestens teilweise auf der Serverseite der Umgebung 100 gehostet sein könnte. Zusätzlich oder stattdessen kann oder können die Anwendung(en) eine spezielle Anwendung umfassen, wie z.B. eine Anwendung, die ein dynamisches Mapping und/oder eine virtuelle Visualisierungsfunktionalität aufweist. Beispielsweise kann eine solche Anwendung so ausgebildet sein, dass sie ein dynamisches Mapping durchführt. Eine solche Anwendung kann auch eine gerenderte virtuelle Umgebung anzeigen, die ein dynamisches Mapping nutzt. In einigen Fällen ist die Anwendung in das Betriebssystem (z.B. als Dienst) integriert. Es ist daher hier vorgesehen, dass eine „Anwendung“ breit interpretiert wird.
  • Die Nutzervorrichtung kann über das Netzwerk 104 mit einem Server 106 (z.B. einem Software als Dienst (SAAS)-Server) kommunizieren, der ein cloudbasiertes und/oder netzwerkbasiertes dynamisches Mappingsystem 108 bereitstellt. Das dynamische Mappingsystem des Servers 106 kann mit einer oder mehreren Nutzervorrichtung(en) und (einer) entsprechenden Nutzerschnittstelle(n) kommunizieren, um das dynamische Mapping einer virtuellen Umgebung mit einem realen Raum mittels der Nutzervorrichtung unter Verwendung z.B. der Anwendung 110 zu erleichtern. Das dynamische Mappingsystem 108 kann ferner mit den Nutzervorrichtungen kommunizieren, um die Visualisierung einer gerenderten virtuellen Szene unter Verwendung einer dynamischen Map der virtuellen Umgebung mit dem realen Raum zu erleichtern.
  • Wie es hier beschrieben ist, kann der Server 106 ein dynamisches Mapping der virtuellen Umgebungen mit einem realen Raum mittels des dynamischen Mappingsystems 108 erleichtern. Der Server 106 umfasst einen oder mehrere Prozessor(en) und ein oder mehrere computerlesbare(s) Medium oder Medien. Die computerlesbaren Medien umfassen computerlesbare Anweisungen, die durch den einen oder die mehreren Prozessor(en) ausgeführt werden können. Die Anweisungen können gegebenenfalls eine oder mehrere Komponente(n) des dynamischen Mappingsystems 108 implementieren, wie es nachstehend detaillierter beschrieben ist.
  • Die Anwendung 110 kann durch einen Nutzer verwendet werden, um mit der Funktionalität zu interagieren, die auf dem oder den Server(n) 106 implementiert ist, wie z.B. dem dynamischen Mappingsystem 108. In manchen Fällen umfasst die Anwendung 110 einen Webbrowser. Die Anwendung 110 kann auch eine Anwendung auf einer kopfmontierten Anzeige zum Erfahren von VR, AR und/oder MR sein. In anderen Fällen ist der Server 106 gegebenenfalls nicht erforderlich, wie es bezüglich der 1B diskutiert wird.
  • Folglich sollte beachtet werden, dass das dynamische Mappingsystem 108 mittels einer Mehrzahl von Vorrichtungen bereitgestellt werden kann, die in einer verteilten Umgebung angeordnet sind, die zusammen die hier beschriebene Funktionalität bereitstellen. Zusätzlich können weitere Komponenten, die nicht gezeigt sind, ebenfalls in die verteilte Umgebung einbezogen sein. Zusätzlich oder stattdessen kann ein dynamisches Mappingsystem 108 zumindest teilsweise in eine Nutzervorrichtung integriert werden, wie z.B. die Nutzervorrichtung 102a.
  • Unter Bezugnahme auf die 1B sind Aspekte eines veranschaulichenden dynamischen Mappingsystems gemäß verschiedenen Ausführungsformen der vorliegenden Offenbarung gezeigt. Die 1B zeigt eine Nutzervorrichtung 114 gemäß einer Beispielausführungsform, die so ausgebildet ist, dass ein dynamisches Mappingsystem ermöglicht wird. Die Nutzervorrichtung 114 kann mit der Nutzervorrichtung 102a-102n identisch oder dieser ähnlich sein und kann so ausgebildet werden, dass das dynamische Mappingsystem 116 (als eigenständige Vorrichtung oder Netzwerkvorrichtung) unterstützt wird. Beispielsweise kann die Nutzervorrichtung 114 Software/Anweisungen speichern und ausführen, um Interaktionen zwischen einem Nutzer und dem dynamischen Mappingsystem 116 mittels der Nutzerschnittstelle 118 der Nutzervorrichtung zu erleichtern.
  • Eine Nutzervorrichtung kann durch einen Nutzer zum Erleichtern eines dynamischen Mappings zwischen einer virtuellen Umgebung und einem realen Raum verwendet werden. Insbesondere kann ein Nutzer eine Erfahrung auf virtueller Basis zur Visualisierung unter Verwendung der Nutzerschnittstelle 118 auswählen. Eine virtuelle Erfahrung kann in jedweder Weise ausgewählt oder eingegeben werden. Die Nutzerschnittstelle kann es dem Nutzer erleichtern, auf eine oder mehrere gespeicherte Erfahrung(en) auf virtueller Basis auf der Nutzervorrichtung (z.B. in einer Spielebibliothek) zuzugreifen, und/oder Erfahrungen auf virtueller Basis von entfernten Vorrichtungen und/oder Anwendungen zu importieren. Die Nutzerschnittstelle kann auch den Typ von Erfahrung auf visueller Basis (z.B. VR, AR oder MR) erleichtern. Auf der Basis der ausgewählten Erfahrung auf virtueller Basis kann ein dynamisches Mapping zwischen der virtuellen Umgebung und/oder virtuellen Szenen der virtuellen Umgebung der ausgewählten Erfahrung auf virtueller Basis und einem realen Raum unter Verwendung verschiedener Techniken durchgeführt werden, wobei einige davon nachstehend unter Bezugnahme auf das dynamische Mappingsystem 204 von 2 weiter diskutiert werden. Die Nutzervorrichtung 114 kann auch zum Anzeigen einer gerenderten Visualisierung einer virtuellen Umgebung und/oder (einer) virtuellen oder virtueller Szene(n) der virtuellen Umgebung unter Verwendung eines dynamischen Mappings zwischen der virtuellen Umgebung und einem realen Raum unter Verwendung verschiedener Techniken verwendet werden, wobei einige davon nachstehend unter Bezugnahme auf das dynamische Mappingsystem 204 von 2 beschrieben werden.
  • Unter Bezugnahme auf die 2 sind Aspekte einer veranschaulichenden dynamischen Mappingumgebung 200 gemäß verschiedener Ausführungsformen der vorliegenden Offenbarung gezeigt. Das dynamische Mappingsystem 204 umfasst ein dynamisches Mapping-Modul 206 und ein Render-Modul 210. Die vorstehend genannten Module des dynamischen Mappingsystems 204 können z.B. in der Betriebsumgebung 100 von 1A und/oder der Betriebsumgebung 112 von 1B implementiert werden. Insbesondere können diese Module in jedweder geeigneten Kombination von Nutzervorrichtungen 102a und 102b bis 102n und (einem) Server(n) 106 und/oder der Nutzervorrichtung 114 integriert werden. Während das dynamisches Mapping-Modul und das Render-Modul als separate Module gezeigt sind, sollte beachtet werden, dass ein einzelnes Modul die Funktionalität von beiden Modulen ausführen kann. Zusätzlich kann in Implementierungen die Funktionalität der Module unter Verwendung von zusätzlichen Modulen und/oder Komponenten durchgeführt werden. Ferner sollte beachtet werden, dass die Funktionalität der Module durch ein System bereitgestellt werden kann, das von dem dynamischen Mappingsystem getrennt ist.
  • Wie es gezeigt ist, kann ein dynamisches Mappingsystem zusammenwirkend mit einem Datenspeicher 202 arbeiten. Der Datenspeicher 202 kann Computeranweisungen (z.B. Softwareprogrammanweisungen, Routinen oder Dienste), Daten und/oder Modelle, die in hier beschriebenen Ausführungsformen verwendet werden, speichern. In einigen Implementierungen kann der Datenspeicher 202 Informationen oder Daten speichern, die über die verschiedenen Module und/oder Komponenten des dynamischen Mappingsystems 204 empfangen werden und für die Module und/oder Komponenten gegebenenfalls einen Zugriff auf diese Informationen oder Daten bereitstellen. Obwohl er als eine einzelne Komponente gezeigt ist, kann der Datenspeicher 202 als ein oder mehrere Datenspeicher implementiert werden. Ferner können die Informationen in dem Datenspeicher 202 in jedweder geeigneten Weise über einen oder mehrere Datenspeicher zum Speichern verteilt werden (der oder die extern gehostet sein kann oder können).
  • In Ausführungsformen können Daten, die in dem Datenspeicher 202 gespeichert sind, virtuelle Umgebungen umfassen, die ein Nutzer während einer Erfahrung auf virtueller Basis besuchen kann. Solche virtuellen Umgebungen können von einer entfernten Vorrichtung, wie z.B. von einem Server oder einer Nutzervorrichtung, in den Datenspeicher 202 eingegeben werden. Daten, die in dem Datenspeicher 202 gespeichert sind, können auch virtuelle Szenen von solchen virtuellen Umgebungen umfassen. Solche virtuellen Szenen umfassen Objekte in der virtuellen Szene und dazugehörige Eigenschaften (z.B. Abmessungen der Objekte in der virtuellen Szene). Daten, die in dem Datenspeicher 202 gespeichert sind, können ferner weitere Attribute oder Informationen umfassen, die mit dem dynamischen Mapping assoziiert sind.
  • Das dynamische Mappingsystem 204 kann allgemein zum dynamischen Mapping zwischen einer virtuellen Umgebung und einem realen Raum verwendet werden. Insbesondere kann das dynamische Mappingsystem zum Mapping von Pixeln einer virtuellen Umgebung zu Punkten in einem realen Raum verwendet werden. Gemäß Ausführungsformen, die hier beschrieben sind, kann ein surjektives Mapping verwendet werden, das ein Verformen von großen virtuellen Grundrissen zu kleinen realen physischen Räumen ermöglicht. Wie hier verwendet, umfasst ein dynamisches Mapping im Allgemeinen das Mapping einer virtuellen Umgebung (z.B. eines Grundrisses), die virtuelle Objekte umfasst, zu einem realen Raum, der reale Objekte umfassen kann. Eine solche dynamische Map kann verwendet werden, um eine umgelenkte („redirected“) Interaktion sowie ein „redirected walking“ zu ermöglichen. Ein surjektives dynamisches Mapping ermöglicht ein „redirected walking“ und eine entsprechende Interaktion mit einer Mehrzahl von virtuellen Objekten, insbesondere großen realen Objekten, die mit mindestens einem realen Objekt unter Verwendung einer umgelenkten Interaktion abgeglichen werden. Auf dieses Weise ermöglicht das dynamische Mapping ein Verformen einer virtuellen Umgebung, so dass sie zu einem realen Raum passt, und ein Abgleichen von realen Objekten mit virtuellen Objekten, so dass die haptische Rückmeldung verbessert wird. Ein solches dynamisches Mapping ermöglicht es auch einer Mehrzahl von Nutzern in demselben virtuellen/realen Raum in einer Weise zu interagieren, bei der jede Nutzerposition und Interaktionen des Nutzers mit realen Objekten in einer anderen Nutzeransicht einer virtuellen Umgebung aktualisiert werden können.
  • Auf eine virtuelle Umgebung kann durch das dynamische Mappingmodul 206 für ein dynamisches Mapping mit einem realen Raum zugegriffen oder Bezug genommen werden. Diesbezüglich kann das dynamische Mappingmodul 206 auf eine virtuelle Umgebung zugreifen oder diese abrufen, einschließlich eine virtuelle Szene, die gegenwärtig durch einen Nutzer mittels einer Nutzervorrichtung betrachtet wird. Als weiteres Beispiel kann das dynamische Mappingmodul 206 eine virtuelle Umgebung von dem Datenspeicher 202 und/oder von einer entfernten Vorrichtung, wie z.B. von einem Server oder einer Nutzervorrichtung, empfangen. Ein dynamisches Mapping zwischen einer virtuellen Umgebung und einem realen Raum kann in verschiedenartiger Weise initiiert werden. Beispielsweise kann ein dynamisches Mapping automatisch in Echtzeit stattfinden, wenn ein Nutzer Ansichten in der virtuellen Umgebung verändert. Als ein weiteres Beispiel kann ein dynamisches Mapping automatisch in Echtzeit stattfinden, wenn in dem realen Raum irgendeine Veränderung vorgenommen wird.
  • Wie es gezeigt ist, kann das dynamische Mappingmodul 206 eine Sampling-Komponente 212, eine Mapping-Komponente 214 und eine Qualität-Komponente 216 umfassen. Die vorstehend genannten Komponenten des dynamischen Mappingmoduls können z.B. in der Betriebsumgebung 100 von 1A und/oder der Betriebsumgebung 112 von 1B implementiert werden. Insbesondere können diese Komponenten in jedwede geeignete Kombination von Nutzervorrichtungen 102a und 102b bis 102n und (einem) Server(n) 106 und/oder der Nutzervorrichtung 114 integriert werden. Es sollte beachtet werden, dass, während die Sampling-Komponente, die Mapping-Komponente und die Qualität-Komponente als separate Komponenten gezeigt sind, in Implementierungen die Funktionalität dieser Komponenten unter Verwendung einer einzelnen Komponente und/oder von zusätzlichen Komponenten ausgeführt werden kann.
  • Die Sampling-Komponente 212 kann zum Sampeln der virtuellen Umgebung zur Verwendung bei der Durchführung eines dynamischen Mappings verwendet werden. Im Allgemeinen bezieht sich das Sampling der virtuellen Umgebung auf das Auswählen von Pixeln in der virtuellen Umgebung zum Mapping zu Punkten in der realen Welt während eines dynamischen Mappings. Beim dynamischen Mapping wird eine virtuelle Szene der virtuellen Umgebung innerhalb einer Nutzeransicht bezüglich Räumen der virtuellen Umgebung priorisiert, die aufgrund eines Verdeckens (z.B. durch die Tiefe) und/oder Beschneiden (z.B. durch einen Kamerapyramidenstumpf) nicht sichtbar sind. Eine solche Priorisierung kann durch Verwenden von mehr Samples von der virtuellen Szene innerhalb der Nutzeransicht als die Samples, die von der Ansicht der virtuellen Umgebung verwendet werden, stattfinden. In einer vorteilhaften Weise ermöglicht das Priorisieren der Nutzeransicht der virtuellen Szene bezüglich der Räume der virtuellen Umgebung außerhalb der Nutzeransicht ein willkürlicheres Verformen der virtuellen Umgebung außerhalb der Nutzeransicht, ohne die Nutzererfahrung auf virtueller Basis negativ zu beeinträchtigen. Ein weiterer Vorteil einer solchen Priorisierung ist die Erhöhung der Recheneffizienz, die es ermöglicht, dass ein dynamisches Mapping in Echtzeit durchgeführt wird. Auf diese Weise kann ein virtuelle Kamera-aware-Sampling (z.B. ein Priorisieren des Samplings der virtuellen Nutzeransicht der Szene auf der Basis der Szene, die durch die virtuelle Kamera erfasst wird) stattfinden, so dass dann, wenn das Sampling für eine virtuelle Umgebung stattfindet, ein dichterer Satz von virtuellen Pixelsamples Sf für einen sichtbaren Inhalt verwendet wird und ein dünner besetzter Satz von virtuellen Pixelsamples So für einen nicht betrachteten Inhalt verwendet wird. Wie hier verwendet, bezieht sich ein sichtbarer Inhalt allgemein auf eine Ansicht eines Inhalts, der gegenwärtig durch einen Nutzer betrachtet wird, während sich ein nicht betrachteter Inhalt auf einen Inhalt außerhalb der gegenwärtigen Ansicht des Nutzers bezieht.
  • Die Anzahl von Samples, die im Zusammenhang mit den sichtbaren Inhalten erhalten werden sollen, und die Anzahl von Samples, die im Zusammenhang mit den nicht sichtbaren Inhalten erhalten werden sollen, können in jedweder Art und Weise festgelegt werden. In einer Ausführungsform werden etwa 100 Samples für einen sichtbaren Inhalt verwendet und etwa 7 Samples werden für einen nicht betrachteten Inhalt verwendet, obwohl der Bereich des nicht betrachteten Inhalts etwa viermal größer ist als der Bereich der sichtbaren Inhalte. In weiteren Ausführungsformen kann die Dichtedifferenz zwischen dem sichtbaren Inhalt und dem nicht betrachteten Inhalt auf der Basis des Inhalts und der Größe der virtuellen Umgebung vorbestimmt werden. Das Sampling kann z.B. unter Verwendung einer Nutzervorrichtung zum Scannen der virtuellen Umgebung und zum Auswählen der virtuellen Pixel zum Sampling durchgeführt werden.
  • Die Mapping-Komponente 214 kann zum Durchführen eines dynamischen Mappings verwendet werden. Insbesondere kann das dynamische Mapping unter Verwendung der erhaltenen oder ausgewählten Pixelsamples durchgeführt werden. Die Mapping-Komponente kann zum Mapping von Pixeln der virtuellen Umgebung zu einem realen Raum verwendet werden, so dass das Pixel der virtuellen Umgebung x = (x,y) ∈ Sv einem Mapping zu einem realen Punkt u = (u, v) ∈ Sr unterzogen wird, wobei Sv und Sr zweidimensionale planare Bereiche darstellen. Ein solches Mapping kann dahingehend surjektiv sein, dass eine Mehrzahl von Pixeln in der virtuellen Umgebung einem Mapping zu einem einzelnen realen Punkt unterzogen werden kann. Wie es ersichtlich ist, kann Sv Samples Sf für sichtbare Inhalte und So für einen nicht betrachteten Inhalt umfassen. Für Rechenzwecke können die virtuelle Umgebung und der reale Raum als polygonale Formen für die Zwecke eines dynamischen Mappings dargestellt werden. Diese polygonalen Formen können dann als konvexe/nicht-konvexe Gerüste von gescanten Daten oder Gestaltungsfiguren extrahiert werden. Auf diese Weise kann ein Pixel einer virtuellen Umgebung einem Mapping zu einem realen Punkt unterzogen werden. Eine beispielhafte Gleichung zum Durchführen dieses Mappings ist: u = f ( x ) = i = 1 p c i b i ( x ) + T x , b i ( x ) = e | x x i | 2 2 s 2
    Figure DE102018006838A1_0001
  • Eine solche Gleichung für f(x) nutzt eine analytische Berechnung von Jacobi-Matrizen und Hesse-Matrizen, wobei {bi} Basisfunktionen mit den Gewichtungen {c,} sind und T eine affine Transformationsmatrix ist. Gauss-Matrizen werden für bi(x) verwendet, so dass xi das i-te Basiszentrum ist und x ein Samplepunkt in Sv ist. Eine solche Gleichung kann derart als Verformungsfunktion verwendet werden, dass Pixel der virtuellen Umgebung einem Mapping zu realen Punkten in einer surjektiven Weise unterzogen werden können, so dass eine dynamische Map zwischen der virtuellen Umgebung und dem realen Raum erzeugt werden kann.
  • Die Qualität-Komponente 216 kann zum Bestimmen der Qualität einer dynamischen Map verwendet werden. Die Qualität kann durch Analysieren der Formbewahrung, von statischen Objektgrenzen und von dynamischen Objektgrenzen bestimmt werden. Die Qualität kann verwendet werden, um anzugeben, wie viel Verformung oder Verzerrung in der dem Mapping unterzogenen virtuellen Szene vorliegt. Mit anderen Worten, die Qualität kann angeben, wie realistisch eine virtuelle Szene für einen Nutzer erscheinen wird. Deshalb kann die Qualität zum Optimieren des dynamischen Mappings zwischen der virtuellen Umgebung und dem realen Raum verwendet werden.
  • Die Formbewahrung kann auf Wahrnehmungsschwellen und -erwartungen für eine zulässige Verzerrung von Objekten der virtuellen Umgebung basieren (z.B. können Wände ohne signifikante Verstörung des Nutzers gekrümmt werden, während Möbel nicht ohne Verschlechterung des Realismus der virtuellen Erfahrung für den Nutzer verformt werden können). Eine Beispielgleichung zum Bestimmen des Ausmaßes der Formbewahrung ist: E s = x S f w ( x ) ( J ( x ) 2 + J ( x ) 2 ( det J ( x ) ) 2 )
    Figure DE102018006838A1_0002
    Unter Verwendung einer solchen Gleichung können Verzerrungsgewichtungen, w, virtuellen Objekten in der virtuellen Umgebung zugeordnet werden. Eine solche Gleichung kann die Energie der gemessenen Szenenverzerrung angeben. Wenn diese Energie minimiert wird, kann ein isometrisches Mapping vorliegen, das Formen innerhalb der virtuellen Szene der virtuellen Umgebung bewahrt.
  • Statische Objektgrenzen beziehen sich im Allgemeinen auf den Umriss eines realen statischen Objekts. Statische Objektgrenzen können analysiert werden, um sicherzustellen, dass reale Objekte, die nicht einem Mapping zu virtuellen Objekten unterzogen werden, durch einen Nutzer vermieden werden, der sich in einer virtuellen Umgebung bewegt. Beispielsweise wenn ein realer Stuhl vorliegt und keine virtuellen Stühle in der virtuellen Umgebung vorliegen, kann der reale Stuhl als zu vermeidendes Objekt behandelt werden, da kein virtuelles Objekt zum Mapping des realen Stuhls zum Verbessern des Realismus vorliegt. Ein Beispiel für eine statische Objektgrenze ist eine reale Wand. In einem solchen Fall sollte, wenn ein dynamisches Mapping durchgeführt wird, die gesamte Map in den Grenzen der realen Wände liegen. Eine Beispielgleichung zum Bestimmen des Ausmaßes des Vermeidens von statischen Objektgrenzen ist: E B = l i x S f S o 2 d ( x , l ) + d ( x , l ) 2 + ε
    Figure DE102018006838A1_0003
    In einer solchen Beispielgleichung ist I, der 1-te Start/Endpunkt des physischen Grenzpolygons und d(x, I) ist ein vorzeichenbehafteter Abstand von f(x) zu der Grenzkante des realen Raums. ∈ kann eine kleine positive Zahl sein, die zum Benachteiligen von negativen Abständen verwendet wird. Die Verwendung einer solchen Gleichung kann sicherstellen, dass jeder einem Mapping unterzogene Punkt f(x) einem Mapping zu einem realen Punkt unterzogen worden ist, der tatsächlich innerhalb des realen Raums vorliegt.
  • Dynamische Objektgrenzen beziehen sich im Allgemeinen auf Objekte in der realen Welt, die sich bewegen können. Dynamische Objektgrenzen können analysiert werden, um sicherzustellen, dass jedwede Veränderung der Position eines realen dynamischen Objekts in der virtuellen Umgebung wiedergegeben wird. Ein reales dynamisches Objekt kann jedwedes reale Objekt sein, das bewegt werden kann und/oder das die Position innerhalb eines realen Raums ändern kann (z.B. eine Person, ein Stuhl, ein Tisch, ein Bett, usw.). Beispielsweise wenn sich eine Mehrzahl von Nutzern innerhalb desselben realen Raums aufhält, stellt eine Analyse von realen dynamischen Objekten sicher, dass Nutzer nicht miteinander oder jedweden realen Objekten, die bewegt worden sind (z.B. einem realen Stuhl, der bewegt worden ist), zusammenstoßen. Eine Beispielgleichung zum Bestimmen des Ausmaßes eines Vermeidens von dynamischen Objektgrenzen ist: E O = x S f exp ( 1 2 σ 2 ( x o ) )
    Figure DE102018006838A1_0004
    In einer solchen Beispielgleichung kann eine Gauss-Barrierefunktion verwendet werden, wobei o der Breite-Länge-Vektor der Größe eines Objekts ist. Eine Kamera kann zum Verfolgen von Objekten in der realen Welt verwendet werden, so dass o bestimmt werden kann. Die Verwendung einer solchen Gleichung ermöglicht ein dynamisches Mapping in Echtzeit, das Echtzeit-Veränderungen von Objekten in der realen Welt in dem realen Raum einbezieht. Deshalb kann ein dynamisches Mapping für Umgebungsveränderungen in der realen Welt in Echtzeit adaptiv sein.
  • Nach dem Analysieren der Formbewahrung, der Vermeidung von statischen Objektgrenzen und der Vermeidung von dynamischen Objektgrenzen kann die Qualität-Komponente 216 die Gesamtqualität eines dynamischen Mappings bestimmen. Eine Art und Weise der Bestimmung der Qualität besteht darin, dass die Energie (E) der kombinierten Terme bestimmt wird. Die Energie E kann durch Aggregieren der Terme für das Ausmaß der Formbewahrung (Es), die Vermeidung von statischen Objektgrenzen (EB) und die Vermeidung von dynamischen Objektgrenzen (EO) unter Verwendung einer linearen Summe bestimmt werden: E = a 0 E S + a 1 E B + a 2 E O
    Figure DE102018006838A1_0005
    In einer solchen Gleichung sind a0, a1 und a2 konstante Zahlen, die auf der Basis der Eigenschaften der Objekte in dem realen Raum (z.B. statisch oder dynamisch) eingestellt werden können. Beispielsweise wenn keines der Objekte in dem realen Raum dynamisch ist, kann a0 auf a0 = 10 eingestellt werden, a1 kann auf a1 = 1 eingestellt werden und a2 kann auf a2 = 0 eingestellt werden. Es sollte beachtet werden, dass dann, wenn keine dynamischen Objekte in einem realen Raum vorliegen, E0 auch Null sein wird. In einem weiteren Beispiel, wenn mindestens ein Objekt in dem realen Raum dynamisch ist, kann a0 auf a0 = 1 eingestellt werden, a1 kann auf a1 = 1 eingestellt werden und a2 kann auf a2 = 50 eingestellt werden. Je niedriger diese Energie Eist, desto besser ist die Qualität des dynamischen Mappings. Deshalb kann die Qualität verwendet werden, um das dynamische Mapping zwischen einer virtuellen Umgebung und einem realen Raum zu optimieren, so dass die dynamische Map mit der niedrigsten Energie als optimierte dynamische Map festgelegt werden kann.
  • In einigen Ausführungsformen kann das Ausmaß einer Szene, die für ein Retargeting einer virtuellen Umgebung, so dass sie besser zu einem realen Raum passt, angepasst wird, auch in die Qualitätsbestimmung einbezogen werden. Beispielsweise kann ein Bildrandschneiden zum Vermindern einer distalen Verzerrung und einer Winkelverzerrung verwendet werden. Das RGBZ-Bild (z.B. ein Bild mit einer Szenentiefe) für jede Wand kann so berücksichtigt werden, dass eine Schneidsequenz im Vorhinein berechnet werden kann. Diese Schneidsequenz kann ein Retargeting der Wände bei der Laufzeit ermöglichen, um eine bessere Anpassung einer bzw. von dynamischen Nutzerposition(en) sowie des realen Raums zu ermöglichen. Das Ausmaß einer solchen Schneidsequenz kann auch in die Qualitätsbestimmung des dynamischen Mappings einbezogen werden.
  • Wie es gezeigt ist, kann das Render-Modul 208 eine Starrheit-Komponente 218, eine Abgleich-Komponente 220, eine reales Video-Komponente 222 und eine Misch-Komponente 224 umfassen. Die vorstehenden Komponenten des Render-Moduls können z.B. in der Betriebsumgebung 100 von 1A und/oder der Betriebsumgebung 112 von 1B implementiert werden. Insbesondere können diese Komponenten in jedwede geeignete Kombination von Nutzervorrichtungen 102a und 102b bis 102n und (einem) Server(n) 106 und/oder der Nutzervorrichtung 114 integriert werden. Es sollte beachtet werden, dass, während die Starrheit-Komponente, die Abgleich-Komponente, die reales Video-Komponente und die Misch-Komponente als separate Komponenten gezeigt sind, in Implementierungen die Funktionalität dieser Komponenten unter Verwendung von einzelnen Komponenten und/oder zusätzlichen Komponenten durchgeführt werden kann.
  • Das Render-Modul 208 ist im Allgemeinen zum Nutzen einer dynamischen Map zur Durchführung eines Echtzeit-Renderns einer virtuellen Szene einer virtuellen Umgebung zum Anzeigen auf einer Nutzervorrichtung ausgebildet. Ein Bild kann für eine virtuelle Szene unter Verwendung einer dynamischen Map gerendert werden, so dass, wenn sich ein Nutzer in einer virtuellen Umgebung bewegt und virtuelle Szenen für den Nutzer dargestellt werden, der Nutzer auch in einer Weise in dem realen Raum umhergeführt wird, dass reale Objekte vermieden werden können, mit Objekten der virtuellen Szene ausgerichtet werden und/oder in das Rendern einbezogen werden (z.B. wichtige große reale Objekte).
  • Die Starrheit-Komponente 218 kann zum Bestimmen von starren Objekten der virtuellen Szene in einer virtuellen Szene der zu rendernden virtuellen Umgebung verwendet werden. Die Starrheit-Komponente kann auch zum Bestimmen von verformbaren Objekten der virtuellen Szene verwendet werden. Starre Objekte in der virtuellen Szene können diejenigen Objekte umfassen, die aufgrund einer visuellen Irritation eines Nutzers nicht verformt werden sollten (z.B. wird das Verformen eines Stuhls den Realismus einer Erfahrung auf virtueller Basis vermindern, da der Stuhl aufgrund der visuellen Verzerrung keinen realen Stuhl nachahmt). Verformbare Objekte in der virtuellen Szene können diejenigen Objekte umfassen, die verformt werden können, ohne eine signifikante Irritation eines Nutzers zu verursachen (z.B. ist das Verformen einer Wand möglich, ohne den Realismus der Erfahrung auf virtueller Basis zu vermindern). Während des Renderns können solche starren virtuellen Objekte von der Szene entfernt werden. In Ausführungsformen kann dieser Schritt der erste Durchgang eines Renderverfahrens mit mehreren Durchgängen sein. In einer vorteilhaften Weise setzt das Entfernen von starren virtuellen Objekten von einer virtuellen Szene mehr Pixel von verformbaren Objekten (z.B. Wänden) der Kamera aus, was nicht verdeckte Artefakte dadurch vermindert, das zusätzliche Pixel während des Renderns der verformbaren Objekte verwendet werden können. Nachdem starre virtuelle Objekte von der virtuellen Szene entfernt worden sind, kann das dynamische Mapping zwischen der virtuellen Umgebung und dem realen Raum als Verformungsfunktion (z.B. ein dynamisches Mapping, das durch die Mapping-Komponente 214 festgelegt ist) auf die verformbaren Objekte in der virtuellen Szene angewandt werden.
  • Nachdem verformbare Objekte in der virtuellen Szene unter Verwendung des dynamischen Mappings, das unter Verwendung einer Verformungsfunktion angewandt worden ist, gerendert worden sind, kann der zweite Durchgang eines Mehrfachdurchgang-Renderverfahrens zum Ersetzen der starren virtuellen Objekte verwendet werden. Die Abgleich-Komponente 220 kann so ausgebildet sein, dass sie solche starren virtuellen Objekte ersetzt. Die Abgleich-Komponente kann einen Abgleich zwischen realen Objekten und virtuellen Objekte in der virtuellen Szene durchführen, wenn die starren virtuellen Objekte ersetzt werden. In einer Ausführungsform können Verfolgungsmarkierungen verwendet werden, so dass Kameras dreidimensionale Positionen von realen Objekten erfassen können. Nach dem Bestimmen der Position eines realen Objekts kann die Abgleich-Komponente versuchen, das reale Objekt mit einem virtuellen Objekt unter Verwendung einer Liste von vordefinierten virtuellen Objekten und der Positionen des virtuellen Objekts abzugleichen. Ein Verfahren zum Abgleichen kann das Vergleichen der Höhenwerte des realen Objekts mit Höhenwerten von virtuellen Objekten nutzen. Beispielsweise wenn der Höhenwert eines realen Stuhls und der Höhenwert eines virtuellen Stuhls innerhalb einer vorgegebenen Schwelle zueinander liegen, kann die Abgleich-Komponente den realen Stuhl und den virtuellen Stuhl abgleichen. Deshalb kann, wenn ein reales Objekt und ein virtuelles Objekt übereinstimmen, die Abgleich-Komponente das virtuelle Objekt an der Position des realen Objekts anordnen.
  • Die reales Video-Komponente 222 kann ein Video eines realen Raums auf der Basis einer Nutzerposition innerhalb des realen Raums bereitstellen. Beispielsweise kann eine solche reales Video-Komponente der reale Frame sein, den der Nutzer sehen würde, wenn er keine Erfahrung auf virtueller Basis mittels einer Nutzervorrichtung sehen würde. Ein solcher realer Frame kann während des Renderverfahrens abhängig von dem Typ der virtuellen Erfahrung einbezogen werden. Beispielsweise werden in einer VR-Erfahrung reale Elemente von der realen Welt typischerweise nicht dem Nutzer im Zusammenhang mit der virtuellen Szene angezeigt. In einer AR- oder MR-Erfahrung können reale Elemente von der realen Welt in die virtuelle Szene einbezogen werden.
  • Die Misch-Komponente 224 kann zum Erzeugen einer gerenderten Szene zum Anzeigen für einen Nutzer mittels einer Nutzervorrichtung verwendet werden. In Ausführungsformen kann das Mischen der dritte Durchgang eines Mehrfachdurchgang-Renderverfahrens sein. Die Misch-Komponente kann eine virtuelle Szene auf der Basis des bildbasierten Renderns von verformbaren Objekten der virtuellen Szene rendern, wie es z.B. durch die Starrheit-Komponente 218 durchgeführt wird, starre Objekte in der virtuellen Szene ersetzen, wie es z.B. durch die Abgleich-Komponente 220 durchgeführt wird, und jedwede realen Elemente von einem realen Frame, wie z.B. diejenigen, die durch die reales Video-Komponente 222 bereitgestellt werden. In Ausführungsformen kann die Misch-Komponente unter Verwendung von einigen realen visuellen Aspekten (die z.B. unter Verwendung eines realen Videos bereitgestellt werden) einen Abgleich zwischen realen Objekten und Objekten der virtuellen Szene zum Erhöhen/Vermindern der Transparenz/Opazität nutzen. Beispielsweise wenn die virtuelle Ansicht und die reale Ansicht so abgeglichen sind, dass der Nutzer auf eine Ecke blickt, bei der zwei Wände sowohl in der realen Welt als auch in der virtuellen Szene verbunden sind, kann die Transparenz der virtuellen Szene erhöht werden, so dass der Nutzer den Abgleich zwischen der realen Ecke und der virtuellen Ecke sehen kann. Ein solcher Abgleich kann eine Interaktion mit der Ecke zulassen, was den Realismus erhöht. Beispielsweise kann das Abgleichen der Ecke auf diese Weise mit einem gewissen Grad an Transparenz einem Nutzer ermöglichen, zu greifen und die reale Ecke zu Berühren, während das Berühren der virtuellen Ecke visualisiert wird. In einer vorteilhaften Weise ermöglicht ein solcher Abgleich eine haptische Rückmeldung, was den Realismus der virtuellen Erfahrung erhöht. Wenn eine schlechte Übereinstimmung zwischen einem realen Objekt und einem virtuellen Objekt vorliegt, kann die Opazität erhöht werden, so dass ein Nutzer jedwede Unstimmigkeiten zwischen der realen Welt und der virtuellen Szene nicht bemerkt.
  • Ferner kann das Render-Modul 208 gegebenenfalls eine dynamische Map zum Erzeugen einer umgekehrten Map für einen Nutzer, der sich durch eine virtuelle Umgebung bewegt, nutzen. Beim Gehen durch eine virtuelle Umgebung kann eine umgekehrte Map aus einer dynamischen Map erzeugt werden. Eine umgekehrte Map kann verwendet werden, wenn die dynamische Map eine Mehrzahl von virtuellen Pixeln aufweist, die einem Mapping zu einem einzelnen realen Punkt unterzogen werden, so dass eine Mehrzahl von Lösungen für jeden realen Punkt vorliegen kann. Zusätzlich kann eine umgekehrte Map den Wahrnehmungswinkel und die Distanzverzerrung während der Bewegung durch eine virtuelle Umgebung minimieren. Die Position und Orientierung eines Nutzers kann in der realen Welt einhergehend mit einer entsprechenden virtuellen Position verfolgt werden. Deshalb kann, wenn sich ein Nutzer in einer virtuellen Umgebung bewegt, eine umgekehrte Map von der gegenwärtigen Nutzerposition in der realen Welt, Sr, zu der Nutzerposition in der virtuellen Umgebung, Sv, verwendet werden.
  • Unter Bezugnahme auf die 3 ist ein Verfahrensablauf bereitgestellt, der eine Ausführungsform des Verfahrens 300 zum dynamischen Mapping zwischen einer virtuellen Umgebung und einem realen Raum und zum Rendern einer Visualisierung einer virtuellen Szene der virtuellen Umgebung unter Verwendung des dynamisches Mappings gemäß Ausführungsformen der vorliegenden Offenbarung zeigt. Das Verfahren 300 kann z.B. durch das dynamische Mappingsystem 204 durchgeführt werden, wie es in der 2 gezeigt ist.
  • Bei dem Block 302 kann eine Veränderung der Nutzeransicht einer virtuellen Szene innerhalb einer virtuellen Umgebung bestimmt werden. Eine solche Veränderung kann von einer Nutzervorrichtung empfangen werden. Eine Veränderung der Nutzeransicht kann auf die Bewegung des Nutzers zurückzuführen sein, der sich innerhalb der virtuellen Umgebung und/oder des realen Raums bewegt. Eine Veränderung der Nutzeransicht kann auch auf einen anderen Nutzer zurückzuführen sein, der sich innerhalb der virtuellen Umgebung und/oder des realen Raums bewegt. Ferner kann eine Veränderung der Nutzeransicht darauf zurückzuführen sein, dass ein virtuelles Objekt und/oder ein reales Objekt bewegt wird oder werden. Eine solche Veränderung kann durch eine Nutzervorrichtung erfasst werden (z.B. unter Verwendung einer realen und/oder virtuellen Kamera der Nutzervorrichtung).
  • Bei dem Block 304 kann das dynamische Mapping in Echtzeit durchgeführt werden. Das dynamische Mapping kann z.B. unter Verwendung des dynamischen Mappingmoduls 206 durchgeführt werden, das in der 2 gezeigt ist. Während des dynamischen Mappings können Pixel der virtuellen Umgebung subjektiv einem Mapping zu realen Raumpunkten unterzogen werden. Ein surjektives Mapping gibt an, dass eine Mehrzahl von Pixeln der virtuellen Umgebung einem Mapping zu demselben realen Raumpunkt unterzogen werden kann. Ein surjektives Mapping ermöglicht ein Mapping von virtuellen Umgebungen, die größer sind als der reale Raum. Es sollte beachtet werden, dass gegebenenfalls auch ein bijektives Mapping verwendet werden kann, wie z.B. wenn die virtuelle Umgebung nicht größer ist als der reale Raum (z.B. wenn ein Eins-zu-Eins-Mapping von virtuellen Pixeln zu realen Punkten durchgeführt werden kann). Beim dynamischen Mapping wird die virtuelle Szene innerhalb einer Nutzeransicht bezüglich Räumen der virtuellen Umgebung außerhalb der Nutzeransicht aufgrund eines Verdeckens (z.B. durch die Tiefe) und/oder Beschneidens (z.B. durch einen Kamerakegelstumpf) priorisiert. Deshalb werden dichtere Sätze von Samplepunkten der virtuellen Umgebung für einen sichtbaren Inhalt verwendet und dünner besetzte Sätze von Samplepunkten werden für einen nicht sichtbaren Inhalt verwendet. Deshalb gibt es mehr Punkte der virtuellen Umgebung des sichtbaren Inhalts zum Mapping der realen Raumpunkte. Ein dynamisches Mapping kann durch Abgleichen von Pixeln der virtuellen Umgebung mit realen Raumpunkten unter Verwendung von z.B. der beispielhaften Gleichung, die bezüglich des dynamischen Mappingmoduls 214 von 2 diskutiert worden ist, durchgeführt werden. Eine solche Gleichung kann als eine Verformungsfunktion angewandt werden, so dass ein Pixel x der virtuellen Umgebung einem Mapping zu dem realen Punkt u unterzogen werden kann, um eine dynamische Map zwischen der virtuellen Umgebung und dem realen Raum zu erzeugen.
  • Die Qualität eines dynamischen Mappings kann durch Analysieren der Formbewahrung, Vermeiden von statischen Objektgrenzen und dynamischen Objektgrenzen bestimmt werden. Die Formbewahrung kann das Ausmaß angeben, in dem das dynamische Mapping Wahrnehmungsschwellen und -erwartungen für eine zulässige Verzerrung von Objekten der virtuellen Szene aufrechterhält (z.B. können Wände ohne die signifikante Irritation eines Nutzers gekrümmt werden, wohingegen Möbel nicht verformt werden können, ohne den Realismus der virtuellen Erfahrung für den Nutzer zu beeinträchtigen). Die Vermeidung von statischen Objektgrenzen kann analysiert werden, um sicherzustellen, dass Objekte in der realen Welt, die nicht einem Mapping zu virtuellen Objekten unterzogen werden können, durch einen Nutzer vermieden werden, der sich in einer virtuellen Umgebung bewegt. Die dynamischen Objektgrenzen können in Echtzeit analysiert werden, so dass jedwede Veränderungen der Position eines dynamischen Objekts in der realen Welt in der virtuellen Umgebung wiedergegeben werden. In einigen Ausführungsformen kann auch eine Schneidsequenz für ein Bildrandschneiden in die Qualitätsbestimmung einbezogen werden, um ein Retargeting der Wände bei der Laufzeit zu ermöglichen, um dynamische Nutzerpositionen sowie den realen Raum besser anzupassen. Bei dem Block 306 kann die dynamische Map der virtuellen Szene, die einem Mapping mit einem realen Raum unterzogen wird, ausgegeben werden.
  • Bei dem Block 308 kann ein Echtzeit-Rendern der virtuellen Szene durchgeführt werden. Das Rendern kann zum Erzeugen einer Visualisierung einer virtuellen Szene einer virtuellen Umgebung unter Verwendung eines dynamischen Mappings zwischen der virtuellen Umgebung und einem realen Raum verwendet werden.
  • Das Rendern kann unter Verwendung eines Mehrfachdurchgang-Verfahrens durchgeführt werden. In dem ersten Durchgang des Renderns können starre Objekte in der virtuellen Szene in der virtuellen Szene bestimmt und von der virtuellen Szene entfernt werden. Das Entfernen von starren virtuellen Objekten setzt mehr Pixel von verformbaren virtuellen Objekten (z.B. Wänden) der Kamera aus. In einer vorteilhaften Weise kann das Aussetzen von zusätzlichen Pixeln das Aufdecken dadurch vermindern, dass zusätzliche Pixel während des bildbasierter Renderns der verformbaren Objekte verwendet werden. Nach dem Entfernen der starren virtuellen Objekte kann ein dynamisches Mapping zwischen den verformbaren Objekten der virtuellen Umgebung und dem realen Raum angewandt werden. Eine Art und Weise des Anwendens dieses dynamischen Mappings ist die Verwendung z.B. einer Verformungsfunktion auf der Basis der dynamischen Map (z.B. die Verwendung von u = f ( x ) = i = 1 p c i b i ( x ) + T x ) .
    Figure DE102018006838A1_0006
  • Nach dem Durchführen des bildbasierten Renderns mit den verformbaren Objekten kann der zweite Durchgang des Mehrfachdurchgang-Renderverfahrens zum Ersetzen der starren virtuellen Objekte verwendet werden. In Ausführungsformen können, wenn die starren virtuellen Objekte ersetzt werden, die starren virtuellen Objekte gemäß den Positionen von realen Objekten angeordnet werden, insbesondere großen realen Objekten (z.B. wenn das starre virtuelle Objekt ein Stuhl ist, kann der virtuelle Stuhl an einer Position eines realen Stuhls ersetzt werden). Ein solches Ersetzen kann einen Abgleich zwischen Objekten in der realen Welt und virtuellen Objekte in der virtuellen Szene nutzen. In einer Ausführungsform können Verfolgungsmarkierungen verwendet werden, so dass Kameras die dreidimensionalen Positionen von realen Objekten erfassen können. Nach dem Bestimmen der Position eines realen Objekts kann das reale Objekt mit einer Liste von vordefinierten virtuellen Objekten verglichen werden (z.B. mit der Liste, die Positionen und Abmessungen des virtuellen Objekts umfasst). Ein Verfahren zum Abgleichen kann das Vergleichen des Höhenwerts des realen Objekts mit Höhenwerten von virtuellen Objekten umfassen. Ein reales Video kann ebenfalls abhängig von dem Typ der virtuellen Erfahrung in dem Renderverfahren verwendet werden (z.B. werden in einer VR reale Elemente typischerweise einem Nutzer im Zusammenhang mit einer virtuellen Szene nicht angezeigt, wohingegen in einer AR- oder MR-Erfahrung reale Elemente typischerweise in eine virtuelle Szene einbezogen werden können).
  • Schließlich kann ein Mischen als dritter Durchgang des Mehrfachdurchgang-Renderverfahrens stattfinden, wenn eine gute Übereinstimmung zwischen realen Objekten und Objekten der virtuellen Szene vorliegt, um die Transparenz/Opazität zu erhöhen/vermindern.
  • Bei dem Block 310 kann die gerenderte virtuelle Szene einer Nutzervorrichtung zum Anzeigen bereitgestellt werden. In Ausführungsformen kann die gerenderte virtuelle Szene der Nutzervorrichtung durch einen Server bereitgestellt werden, der das Rendern durchführt. In weiteren Ausführungsformen kann die Nutzervorrichtung die gerenderte virtuelle Szene ausgeben. In weiteren Ausführungsformen kann das Rendern unter Verwendung einer Kombination eines Servers oder von Servern und einer Nutzervorrichtung stattfinden.
  • Unter Bezugnahme auf die 4 ist ein Verfahrensablauf bereitgestellt, der eine Ausführungsform des Verfahrens 400 zur Durchführung eines dynamischen Mappings zwischen einer virtuellen Umgebung und einem realen Raum gemäß Ausführungsformen der vorliegenden Offenbarung zeigt. Das Verfahren 400 kann z.B. durch ein dynamisches Mappingmodul 206 des dynamischen Mappingsystems 204 durchgeführt werden, wie es in der 2 gezeigt ist. Das Verfahren 400 kann in Echtzeit durchgeführt werden.
  • Bei dem Block 402 kann ein virtuelles Kamera-aware-Sampling empfangen werden. Während des dynamischen Mappings werden gesampelte Pixel der virtuellen Umgebung surjektiv einem Mapping zu den realen Raumpunkten unterzogen. Beim dynamischen Mapping wird die virtuelle Szene innerhalb einer Nutzeransicht bezüglich der nicht sichtbaren virtuellen Umgebung aufgrund eines Verdeckens (z.B. durch die Tiefe) und/oder eines Beschneidens (z.B. durch einen Kamerapyramidenstumpf) priorisiert. Aufgrund dieser Priorisierung wird beim Sampling für eine virtuelle Umgebung ein dichterer Satz von Pixelsamples einer virtuellen Szene für einen sichtbaren Inhalt verwendet und ein dünner besetzter Satz von Pixelsamples wird für einen nicht sichtbaren Inhalt verwendet. Beispielsweise können etwa 100 Samples für einen sichtbaren Inhalt verwendet werden und etwa 7 Samples können für einen nicht sichtbaren Inhalt verwendet werden, obwohl der Bereich des nicht sichtbaren Inhalts häufig signifikant größer ist als der Bereich des sichtbaren Inhalts (z.B. kann der nicht sichtbare Inhalt viermal mehr Inhalt enthalten als der sichtbare Inhalt). Die Dichtedifferenz zwischen Samples eines sichtbaren Inhalts und Samples eines nicht sichtbaren Inhalts können auf der Basis des Inhalts und der Größe der Szene vorbestimmt werden.
  • Bei dem Schritt 404 können Punkte der virtuellen Umgebung einem Mapping zu Punkten des realen Raums unterzogen werden. Es kann ein Mapping verwendet werden, bei dem ein solches Pixel der virtuellen Umgebung x = (x, y) ∈ Sv einem Mapping zu dem realen Punkt u = (u, v) ∈ Sr unterzogen wird. Sv kann die Samples für den sichtbaren Inhalt und die Samples für den nicht sichtbaren Inhalt umfassen. Auf diese Weise kann x z.B. einem Mapping zu u unterzogen werden: u = f ( x ) = i = 1 p c i b i ( x ) + T x , b i ( x ) = e | x x i | 2 2 s 2
    Figure DE102018006838A1_0007
  • Bei dem Block 406 kann das Ausmaß, zu dem Objekte in der virtuellen Szene innerhalb von Wahrnehmungsgrenzen vorliegen, auf der Basis des dynamischen Mappings analysiert werden. Virtuelle Objekte weisen verschiedene Wahrnehmungsschwellen und -erwartungen für eine zulässige Verzerrung abhängig von dem Objekt der virtuellen Szene auf. Das Analysieren eines Ausmaßes, zu dem Objekte in der virtuellen Szene innerhalb dieser Wahrnehmungsgrenzen vorliegen, können den Erfolg des Mappings angeben, wobei der Erfolg dahingehend gemessen werden kann, wie realistisch Objekte in der virtuellen Szene erscheinen.
  • Bei dem Block 408 kann das Ausmaß, zu dem Objektgrenzen der statischen Szene vermieden werden, auf der Basis des dynamischen Mappings analysiert werden. Statische Objektgrenzen können analysiert werden, um sicherzustellen, dass reale Objekte, die nicht einem Mapping zu virtuellen Objekten unterzogen werden, durch einen Nutzer vermieden werden, der sich in einer virtuellen Umgebung bewegt (z.B. sollte die Map, die während des dynamischen Mappings erzeugt wird, innerhalb der Grenzen der realen Wände liegen).
  • Bei dem Block 410 kann das Ausmaß, zu dem Objektgrenzen einer dynamischen Szene vermieden werden, auf der Basis des dynamischen Mappings analysiert werden. Dynamische Objektgrenzen können in Echtzeit analysiert werden, um sicherzustellen, dass jedwede Veränderungen der Position eines realen dynamischen Objekts in der virtuellen Umgebung wiedergegeben werden. Beispielsweise wenn sich eine Mehrzahl von Nutzern innerhalb desselben Raums befindet, stellt das Analysieren von realen dynamischen Objekten sicher, dass Nutzer nicht miteinander oder jedweden realen Objekten kollidieren, die bewegt worden sind (z.B. einem realen Stuhl, der bewegt worden ist).
  • Bei dem Block 412 kann das Ausmaß, zum dem die Szenenanpassung durchgeführt werden sollte, auf der Basis des dynamischen Mappings analysiert werden. In einer Ausführungsform kann eine Szenenanpassung unter Verwendung eines Bildrandschneidens zum Vermindern einer distalen Verzerrung und Winkelverzerrung durchgeführt werden. Für jede Wand der virtuellen Szene kann eine Schneidsequenz im Vorhinein berechnet werden. Diese Schneidsequenz kann verwendet werden, um ein Retargeting der Wände bei der Laufzeit zum besseren Anpassen von dynamischen Nutzerpositionen sowie des realen Raums zu ermöglichen.
  • Bei dem Block 414 kann die Qualität des Mappings bestimmt werden. In einer Ausführungsform kann die Gesamtqualität einer Map, die unter Verwendung eines dynamischen Mappings erzeugt wird, auf der Formbewahrung, den statischen Objektgrenzen, den dynamischen Objektgrenzen und/oder einer Szenenanpassung beruhen. Die Qualität einer Map kann unter Verwendung der Energiemenge für die dynamische Map angegeben werden (z.B. kann eine niedrige Energiemenge eine Map mit hoher Qualität anzeigen). Eine solche Qualitätsbestimmung kann zum Optimieren des dynamischen Mappings zwischen der virtuellen Umgebung und dem realen Raum verwendet werden.
  • Bei dem Block 416 kann eine dynamische Map zwischen einer virtuellen Szene und einem realen Raum ausgegeben werden. Eine solche dynamische Map kann eine optimierte Map sein, wie es mittels einer Qualitätsbestimmung angegeben wird.
  • Unter Bezugnahme auf die 5 ist ein Verfahrensablauf bereitgestellt, der eine Ausführungsform des Verfahrens 500 zum Rendern einer virtuellen Szene unter Verwendung eines dynamischen Mappings zwischen der virtuellen Umgebung und einem realen Raum gemäß Ausführungsformen der vorliegenden Offenbarung zeigt. Das Verfahren 500 kann z.B. durch das Render-Modul 206 des dynamischen Mappingsystems 204 durchgeführt werden, wie es in der 2 gezeigt ist.
  • Bei dem Block 502 können jedwede(s) starre(n) Szenenobjekt(e) und jedwede(s) verformbare(s) Szeneobjekt(e) in einer virtuellen Szene bestimmt werden. Starre Objekte in der virtuellen Szene können diejenigen Objekte umfassen, die aufgrund einer visuellen Irritation eines Nutzers nicht verformt werden sollten (z.B. wird das Verformen eines Stuhls den Realismus der virtuellen Erfahrung vermindern, da der Stuhl aufgrund einer visuellen Verzerrung keinen realen Stuhl nachahmt). Verformbare Objekte in der virtuellen Szene können diejenigen Objekte umfassen, die verformt werden können, ohne eine signifikante visuelle Irritation für einen Nutzer zu verursachen (z.B. ist ein Verformen einer Wand möglich, ohne den Realismus der virtuellen Erfahrung zu vermindern).
  • Bei dem Block 504 kann oder können (ein) starre(s) Szeneobjekt(e) von der virtuellen Szene extrahiert werden. In Ausführungsformen kann diese Extraktion der erste Durchgang eines Mehrfachdurchgang-Renderverfahrens sein. Das Entfernen von starren virtuellen Objekten von der virtuellen Szene setzt mehr Pixel von verformbaren Objekten (z.B. Wänden) der Kamera aus, was die Verzerrung dadurch vermindert, dass zusätzliche Pixel während des Renderns der verformbaren Objekte verwendet werden können. Das Aussetzen von zusätzlichen Pixeln von verformbaren virtuellen Objekten kann die Verzerrung dadurch vermindern, dass zusätzliche Pixel während des Renderns der verformbaren Objekte verwendet werden können.
  • Bei dem Block 506 kann ein dynamisches Mapping zwischen der virtuellen Umgebung und einem realen Raum auf (ein) verformbare(s) Szeneobjekt(e) in der virtuellen Szene angewandt werden. Das dynamische Mapping kann unter Verwendung einer Verformungsfunktion auf der Basis des dynamischen Mappings der virtuellen Umgebung zu dem realen Raum angewandt werden. Eine solche Verformungsfunktion kann angewandt werden, nachdem starre virtuelle Objekte von der virtuellen Szene entfernt worden sind. Eine beispielhafte Verformungsfunktion, die auf die verformbaren Objekte in der virtuellen Szene angewandt werden kann, kann u = f ( x ) = i = 1 p c i b i ( x ) + T x
    Figure DE102018006838A1_0008
    sein.
  • Bei dem Block 508 kann oder können das oder die virtuelle(n) Szeneobjekt(e) mit Objekten in der realen Welt abgeglichen werden, insbesondere großen Objekten in der realen Welt. Dieses Abgleichen kann ein Teil des zweiten Durchgangs eines Mehrfachdurchgang-Renderverfahrens sein. In Ausführungsformen können Verfolgungsmarkierungen derart verwendet werden, dass Kameras dreidimensionale Positionen von Objekten in der realen Welt erfassen. Nach dem Bestimmen der Position eines Objekts in der realen Welt können Objekte in der realen Welt mit einem virtuellen Objekt unter Verwendung einer Liste von vordefinierten virtuellen Objekten der virtuellen Szene abgeglichen werden. Ein Verfahren zum Abgleichen kann den Höhenwert eines Objekts in der realen Welt mit Höhenwerten von virtuellen Objekten vergleichen. Beispielsweise kann, wenn der Höhenwert eines realen Stuhls und der Höhenwert eines virtuellen Stuhls innerhalb einer vorgegebenen Schwelle zueinander vorliegen, die Abgleich-Komponente den realen Stuhl und den virtuellen Stuhl abgleichen. In weiteren Ausführungsformen kann, wenn keine gute Übereinstimmung zwischen einem realen Objekt und einem Objekt einer virtuellen Szene vorliegt, das reale Objekt als zu vermeidendes Hindernis behandelt werden.
  • Bei dem Block 510 kann oder können (ein) starre(s) Szeneobjekt(e) gemäß der Bestimmung z.B. bei dem Block 508 mittels eines Abgleichens zurück in die Szene eingesetzt werden. In Ausführungsformen, bei denen ein Mehrfachdurchgang-Renderverfahren verwendet wird, kann, nachdem auf verformbare Objekte in der virtuellen Szene die Verformungsfunktion angewandt worden ist, der zweite Durchgang eines Mehrfachdurchgang-Renderverfahrens verwendet werden, um starre virtuelle Objekte in der virtuellen Szene zu ersetzen. In Ausführungsformen können, wenn die starren virtuellen Objekte ersetzt werden, die starren virtuellen Objekte gemäß den Positionen von realen Objekten angeordnet werden (z.B. wenn das starre virtuelle Objekt ein Stuhl ist, kann der virtuelle Stuhl an einer Position eines realen Stuhls ersetzt werden). Ein solches Ersetzen der starren virtuellen Objekte kann ein Abgleichen nutzen, wie z.B. dasjenige, das unter Bezugnahme auf den Block 508 beschrieben ist.
  • Bei dem Block 512 kann ein reales Video empfangen werden. Das reale Video kann in dem Renderverfahren abhängig von dem Typ der virtuellen Erfahrung verwendet werden (z.B. werden in einer VR reale Elemente einem Nutzer im Zusammenhang mit einer virtuellen Szene typischerweise nicht angezeigt, wohingegen in einer AR- oder MR-Erfahrung reale Elemente in eine virtuelle Szene typischerweise einbezogen werden können).
  • Bei dem Block 514 kann ein Mischen als dritter Durchgang eines Mehrfachdurchgang-Renderverfahrens stattfinden, wenn eine gute Übereinstimmung zwischen Objekten in der realen Welt und Objekten der virtuellen Szene vorliegt, um die Transparenz/Opazität zu erhöhen/vermindern. In Ausführungsformen kann ein solches Verfahren angewandt werden, wenn AR-Anzeigen zum Betrachten der gerenderten virtuellen Szene verwendet werden. Auf diese Weise ermöglicht ein Rendern für eine AR ein adaptives Steuern der Rendertransparenz auf der Basis dessen, ob oder wie stark ein realer Raum mit virtuellen Objekten und/oder einer virtuellen Szene überschrieben werden soll.
  • Die 6A bis 6C zeigen ein veranschaulichendes dynamisches Mapping zwischen einer virtuellen Umgebung und einem realen Raum gemäß Ausführungsformen der vorliegenden Offenbarung. Die 6A zeigt ein dynamisches Mapping zwischen einer virtuellen Umgebung und einem realen Raum. Der reale Raum 602 gibt den Bereich an, in dem sich der Nutzer 606 physisch bewegen kann, während eine virtuelle Umgebung erkundet wird. Wie es gezeigt ist, gibt das Kreuz 604 die virtuelle Umgebung an. Das Dreieck 608 gibt die Ansicht der virtuellen Szene des Nutzers 606 an.
  • Die 6B zeigt ein dynamisches Mapping zwischen einer virtuellen Umgebung und einem realen Raum. Das dynamische Mapping kann ein Typ von surjektivem Mapping von Pixeln einer virtuellen Umgebung zu Punkten eines realen Raums sein. Beim dynamischen Mapping wird die virtuelle Szene innerhalb der Ansicht des Nutzers 606, wie sie unter Verwendung des Dreiecks 608 angegeben ist, bezüglich Räumen der virtuellen Umgebung außerhalb der Ansicht des Nutzers 606 priorisiert. Wenn ein Sampling stattfindet, können virtuelle Pixel innerhalb einer gegenwärtigen Betrachtungsszene der virtuellen Umgebung bezüglich virtuellen Pixeln außerhalb der gegenwärtigen Betrachtungsszene priorisiert werden. Das Sample 610 stellt ein virtuelles Sample dar. Wie es gezeigt ist, ist das Sampling von Punkten der virtuellen Umgebung innerhalb des Dreiecks 608 der virtuellen Szene innerhalb der Ansicht des Nutzers 606 dichter als das Sampling außerhalb der Ansicht des Nutzers 606. Der virtuelle Punkt 612 befindet sich außerhalb der Ansicht des Nutzers 606 und, wie es gezeigt ist, ist kein gesampelter virtueller Punkt. Der Umriss 614 zeigt die verformte virtuelle Umgebung. Der Punkt 616 stellt die Position von einem der einem Mapping unterzogenen Samples dar, wie z.B. dem Sample 610. Der Rest des Umrisses 614 ist aus den nicht gesampelten Punkten der Szene, wie z.B. 612, ausgebildet.
  • Die 6C zeigt ein dynamisches Mapping zwischen einer virtuellen Umgebung und einem realen Raum. Ein Vorteil des dynamischen Mappings ist eine Erhöhung der Recheneffizienz, wodurch das Mapping in Echtzeit durchgeführt werden kann. Das dynamische Mapping in Echtzeit ermöglicht das Berücksichtigen von dynamischen Veränderungen in dem realen Raum während des Mappings. Beispielsweise wenn die Tür 618 geöffnet wird, wird das dynamische Mapping in Echtzeit durchgeführt, um das dynamische Mapping, wie es in der 6B gezeigt ist, wenn die Tür geschlossen ist, zu aktualisieren. Der Umriss 620 zeigt die verformte virtuelle Umgebung. Das innere Loch umschließt ein physisches Hindernis, wie z.B. eine Person, die in den Raum geht. Der Punkt 622 stellt die Position von den einem Mapping unterzogenen Samples, wie z.B. des Samples 610, dar. Der Rest des Umrisses 620 ist aus den nicht gesampelten Punkten der Szene, wie z.B. 612, ausgebildet. Wie es gezeigt ist, kann ein dynamisches Mapping Veränderungen des realen Raums in Echtzeit einbeziehen (z.B. den Umriss 614 und dazugehörige einem Mapping unterzogene Samples mit dem Umriss 620 und dazugehörigen einem Mapping unterzogenen Samples vergleichen).
  • Die 7A bis 7C zeigen eine veranschaulichende Nutzung eines dynamischen Mappings zwischen einer virtuellen Umgebung und einem realen Raum zum Erzeugen eines realen Wegs, der mit virtuellen Wegen durch die virtuelle Umgebung korreliert, gemäß Ausführungsformen der vorliegenden Offenbarung. Die 7A zeigt die Nutzung eines dynamischen Mappings zwischen einer virtuellen Umgebung und einem realen Raum zum Erzeugen eines langen realen Wegs, wenn der reale Raum ein reales statisches Objekt aufweist. Der reale Raum 702 gibt den Bereich an, in dem sich ein Nutzer physisch bewegen kann, während die virtuelle Umgebung 704 erkundet wird. Innerhalb der virtuellen Umgebung 704 gibt es einen virtuellen Tisch 708 und ein virtuelles Bett 710. Innerhalb des realen Raums 702 gibt es ein reales Bett 706. Wie es gezeigt ist, kann das reale Bett 706 als reales statisches Objekt bezeichnet werden. Ein dynamisches Mapping kann so durchgeführt werden, wie es in Bezug auf die 2 bis 5 beschrieben ist, wobei ein realer Gehweg 712 erzeugt wird. Ein Nutzer kann sich durch die virtuelle Umgebung 704 unter Verwendung eines „redirected walking“ bewegen, so dass, während der Nutzer entlang des realen Gehwegs 712 geht, der Nutzer den virtuellen Weg 714 visualisiert. Das dynamische Mapping kann so genutzt werden, dass sowohl der virtuelle Tisch 708 als auch das virtuelle Bett 710 einem Mapping zu dem realen Bett 706 unterzogen werden. Der reale Gehweg 712 nutzt einen längeren Weg durch den realen Raum 702. In einer vorteilhaften Weise kann die Verwendung eines längeren Wegs den Realismus erhöhen, mit dem ein reales Objekt einem Mapping zu zwei virtuellen Objekten, nämlich dem virtuellen Tisch 708 und dem virtuellen Bett 710, unterzogen wird. Demgemäß wird ein Nutzer in der virtuellen Umgebung eine Bewegung von dem virtuellen Tisch 708b zu dem virtuellen Bett 710b entlang des virtuellen Wegs 714 visualisieren, obwohl der Nutzer in der realen Welt von dem virtuellen Tisch 708a, der dort angeordnet ist, wo sich das reale Bett 706 in der realen Welt befindet, zu dem virtuellen Bett 710a, das dort angeordnet ist, wo sich das reale Bett 706 in der realen Welt befindet, entlang des realen Gehwegs 712 geht.
  • Die 7B zeigt die Nutzung eines dynamischen Mappings zwischen einer virtuellen Umgebung und einem realen Raum zum Erzeugen eines kürzeren realen Wegs, wenn der reale Raum ein reales statisches Objekt aufweist. Der reale Raum 716 gibt den Bereich an, in dem sich ein Nutzer physisch bewegen kann, während er die virtuelle Umgebung 718 erkundet. Innerhalb der virtuellen Umgebung 716 gibt es einen virtuellen Tisch 722 und ein virtuelles Bett 724. Innerhalb des realen Raums 716 gibt es ein reales Bett 724. Wie es gezeigt ist, kann das reale Bett 724 als reales statisches Objekt bezeichnet werden. Das dynamische Mapping kann so durchgeführt werden, wie es in Bezug auf die 2 bis 5 beschrieben ist, wobei der reale Gehweg 726 erzeugt wird. Ein Nutzer kann sich durch die virtuelle Umgebung 718 unter Verwendung eines „redirected walking“ bewegen, so dass, während der Nutzer entlang des realen Gehwegs 726 geht, der Nutzer den virtuellen Weg 728 visualisiert. Das dynamische Mapping kann so genutzt werden, dass sowohl der virtuelle Tisch 722 als auch das virtuelle Bett 724 einem Mapping zu dem realen Bett 720 unterzogen werden. Der reale Gehweg 726 kann ein kürzerer Weg durch den realen Raum 716 sein (z.B. verglichen mit dem realen Gehweg 712 in der 7A). Ein Nutzer kann in der virtuellen Umgebung eine Bewegung von dem virtuellen Tisch 722b zu dem virtuellen Bett 724b entlang des virtuellen Wegs 728 visualisieren, obwohl in der realen Welt der Nutzer von dem virtuellen Tisch 722a, der dort angeordnet ist, wo sich das reale Bett 720 in der realen Welt befindet, zu dem virtuellen Bett 724a, das dort angeordnet ist, wo sich das reale Bett 720 in der realen Welt befindet, entlang des realen Gehwegs 726 geht.
  • Die 7C zeigt die Nutzung eines dynamischen Mappings zwischen einer virtuellen Umgebung und einem realen Raum zum Erzeugen eines realen Wegs, wobei der reale Raum ein reales dynamisches Objekt aufweist. Der reale Raum 732 gibt den Bereich an, in dem sich ein Nutzer physisch bewegen kann, während er die virtuelle Umgebung 734 erkundet. Innerhalb der virtuellen Umgebung 734 gibt es einen virtuellen Tisch 738 und ein virtuelles Bett 740. Innerhalb des realen Raums 732 gibt es ein reales Bett 736. Wie es gezeigt ist, kann das reale Bett 736 als reales dynamisches Objekt gestaltet sein. Das dynamische Mapping kann so durchgeführt werden, wie es in Bezug auf die 2 bis 5 beschrieben ist, wobei der reale Gehweg 742 erzeugt wird. Ein Nutzer kann sich durch die virtuelle Umgebung 734 unter Verwendung eines „redirected walking“ bewegen, so dass, während der Nutzer entlang des realen Gehwegs 742 geht, der Nutzer den virtuellen Weg 744 visualisiert. Das dynamische Mapping kann derart genutzt werden, dass sowohl der virtuelle Tisch 738 als auch das virtuelle Bett 740 einem Mapping zu dem realen Bett 736 unterzogen werden. Ein Nutzer kann in der virtuellen Umgebung eine Bewegung von dem virtuellen Tisch 738b zu dem virtuellen Bett 740b entlang des virtuellen Wegs 744 visualisieren, obwohl in der realen Welt der Nutzer von dem virtuellen Tisch 740a, der dort angeordnet ist, wo sich das reale Bett 736 in der realen Welt befindet, zu dem virtuellen Bett 738a, das dort angeordnet ist, wo sich das reale Bett 736 in der realen Welt befindet, entlang des realen Gehwegs 742 geht.
  • Die 7D zeigt die Nutzung eines dynamischen Mappings zwischen einer virtuellen Umgebung und einem realen Raum zum Erzeugen eines realen Wegs, wobei der reale Raum zwei reale dynamische Objekte aufweist. Der reale Raum 746 gibt den Bereich an, in dem sich ein Nutzer physisch bewegen kann, während er die virtuelle Umgebung 748 erkundet. Innerhalb der virtuellen Umgebung 748 gibt es einen virtuellen Tisch 754 und ein virtuelles Bett 756. Innerhalb des realen Raums 746 gibt es einen realen Tisch 750 und ein reales Bett 752. Wie es gezeigt ist, können der reale Tisch 750 und das reale Bett 752 als reale dynamische Objekte bezeichnet werden. Das dynamische Mapping kann so durchgeführt werden, wie es in Bezug auf die 2 bis 5 beschrieben ist, wobei der reale Gehweg 758 erzeugt wird. Ein Nutzer kann sich durch die virtuelle Umgebung 748 unter Verwendung eines „redirected walking“ bewegen, so dass, während der Nutzer entlang des realen Gehwegs 758 geht, der Nutzer den virtuellen Weg 760 visualisiert. Das dynamische Mapping kann derart genutzt werden, dass der virtuelle Tisch 754 einem Mapping zu dem realen Tisch 750 unterzogen wird und das virtuelle Bett 756 einem Mapping zu dem realen Bett 752 unterzogen wird. Ein solches Mapping des virtuellen Tischs zu dem realen Tisch und des virtuellen Betts zu dem realen Bett kann z.B. unter Verwendung eines Abgleichens auf der Basis von Höhenwerten durchgeführt werden. Nach dem Bestimmen der Position der realen Objekte können die realen Objekte mit virtuellen Objekte unter Verwendung einer Liste von vordefinierten virtuellen Objekten und der Positionen der virtuellen Objekte abgeglichen werden. Ein Nutzer kann in der virtuellen Umgebung eine Bewegung von dem virtuellen Tisch 754b zu dem virtuellen Bett 756 entlang des virtuellen Wegs 760 visualisieren, obwohl in der realen Welt der Nutzer von dem virtuellen Tisch 754a, der dort angeordnet ist, wo sich der reale Tisch 750 in der realen Welt befindet, zu dem virtuellen Bett 756, das dort angeordnet ist, wo sich das reale Bett 752 in der realen Welt befindet, entlang des realen Gehwegs 758 geht.
  • Die 8 zeigt ein veranschaulichendes dynamisches Mapping zwischen einer virtuellen Umgebung und einem realen Raum gemäß Ausführungsformen der vorliegenden Offenbarung. Der Nutzer 802 ist so gezeigt, dass er eine kopfmontierte Vorrichtung 804 trägt. Die kopfmontierte Vorrichtung 804 kann zum Betrachten von virtuellen Erfahrungen unter Verwendung von VR, AR oder MR verwendet werden. Beispiele für solche kopfmontierten Vorrichtungen umfassen HoloLens und Meta Vision. Es sollte beachtet werden, dass neben kopfmontierten Anzeigen auch andere VR/AR/MR-Hardwarevorrichtungen verwendet werden können (z.B. eine nicht-transparente handgehaltene Anzeigevorrichtung, wie z.B. ein Tango-Mobiltelefon).
  • Der reale Raum 806 gibt den Bereich an, in dem sich ein Nutzer physisch bewegen kann, während er die virtuelle Umgebung 808 erkundet. Innerhalb der gezeigten virtuellen Umgebung 808 gibt es eine virtuelle Kommode 816, einen virtuellen Stuhl 818, eine virtuelle Tür 820 und eine virtuelle Couch 822. Innerhalb des gezeigten realen Raums 806 gibt es einen realen Tisch 812 und einen realen Stuhl 814. Der reale Tisch 812 und der reale Stuhl 814 können jeweils als entweder reales statisches Objekt oder als reales dynamisches Objekt gestaltet werden. Das dynamische Mapping kann so durchgeführt werden, wie es in Bezug auf die 2 bis 5 beschrieben ist, wobei die virtuelle Szene 810 einem Mapping zu dem realen Raum 806 unterzogen wird. Der Nutzer 802 kann sich durch die virtuelle Umgebung 808 unter Verwendung eines „redirected walking“ bewegen, wobei reale Objekte mit virtuellen Objekten abgeglichen werden. Beispielsweise kann ein dynamisches Mapping derart genutzt werden, dass die virtuelle Kommode 816 einem Mapping zu dem realen Tisch 812 unterzogen wird und der virtuelle Stuhl 818 einem Mapping zu dem realen Stuhl 814 unterzogen wird. Ein solches Mapping der virtuellen Kommode mit dem realen Tisch und dem virtuellen Stuhl zu dem realen Stuhl kann unter Verwendung z.B. eines Abgleichs auf der Basis von Höhenwerten durchgeführt werden. Nach dem Bestimmen der Position der realen Objekte können die realen Objekte mit virtuellen Objekten unter Verwendung einer Liste von vordefinierten virtuellen Objekten und der Positionen der virtuellen Objekte abgeglichen werden.
  • Die 9 zeigt ein veranschaulichendes dynamisches Mapping zwischen einer virtuellen Umgebung und einem realen Raum gemäß Ausführungsformen der vorliegenden Offenbarung. Der Nutzer 902 ist so gezeigt, dass er eine kopfmontierte Vorrichtung 904 trägt. Die kopfmontierte Vorrichtung 804 kann zum Betrachten von virtuellen Erfahrungen unter Verwendung von VR, AR oder MR verwendet werden. Beispiele für solche kopfmontierten Vorrichtungen umfassen HoloLens und Meta Vision. Es sollte beachtet werden, dass neben kopfmontierten Anzeigen auch andere VR/AR/MR-Hardwarevorrichtungen verwendet werden können (z.B. eine nicht-transparente handgehaltene Anzeigevorrichtung, wie z.B. ein Tango-Mobiltelefon).
  • Der Nutzer 802 kann sich durch den realen Raum 800 unter Verwendung eines „redirected walking“ bewegen, das mit der Vorrichtung 804 visualisiert wird. Die Vorrichtung 804 kann auch zum Visualisieren von gerenderten virtuellen Szenen verwendet werden. Wie es gezeigt ist, wurde der reale Stuhl 906 mit dem Stuhl 908 als virtuelles Objekt abgeglichen. Während des Mischverfahrens des Renderns können in AR-Umgebungen verschiedene Grade der Opazität abhängig davon verwendet werden, wie gut der reale Stuhl 906 und der Stuhl 908 als virtuelles Objekt abgestimmt sind.
  • Nach dem Beschreiben von Ausführungsformen der vorliegenden Offenbarung stellt die 10 ein Beispiel für eine Rechenvorrichtung bereit, in der Ausführungsformen der vorliegenden Offenbarung eingesetzt werden können. Die Rechenvorrichtung 1000 umfasst einen Bus 1010, der direkt oder indirekt die folgenden Vorrichtungen koppelt: einen Speicher 1012, einen oder mehrere Prozessor(en) 1014, eine oder mehrere Präsentationskomponente(n) 1016, Eingabe/Ausgabe (I/O)-Ports 1018, Eingabe/Ausgabe-Komponenten 1020 und eine veranschaulichende Stromversorgung 1022. Der Bus 1010 stellt dasjenige dar, bei dem es sich um einen oder mehrere Bus(se) handeln kann (wie z.B. einen Adressbus, einen Datenbus oder eine Kombination davon). Obwohl die verschiedenen Blöcke von 10 aus Klarheitsgründen mit Linien gezeigt sind, ist in der Realität die Abgrenzung der verschiedenen Komponenten nicht so eindeutig und bildlich würden die Linien genauer grau und unscharf sein. Beispielsweise kann eine Präsentationskomponente, wie z.B. eine Anzeigevorrichtung, als eine I/O-Komponente betrachtet werden. Ferner weisen Prozessoren auch einen Speicher auf. Die Erfinder sind sich bewusst, dass dies die Natur des Fachgebiets ist und wiederholen, dass das Diagramm von 10 lediglich eine beispielhafte Rechenvorrichtung zeigt, die im Zusammenhang mit einer oder mehreren Ausführungsform(en) der vorliegenden Offenbarung verwendet werden kann. Es wird keine Unterscheidung zwischen Kategorien wie z.B. „Workstation“, „Server“, „Laptop“, „handgehaltene Vorrichtung“, usw., vorgenommen, da alle innerhalb des Umfangs von 10 und unter Bezugnahme auf die „Rechenvorrichtung“ vorgesehen sind.
  • Die Rechenvorrichtung 1000 umfasst typischerweise verschiedene computerlesbare Medien. Computerlesbare Medien können jedwede verfügbaren Medien sein, auf die durch die Rechenvorrichtung 1000 zugegriffen werden kann, und umfassen sowohl flüchtige als auch nicht-flüchtige Medien, entfernbare und nicht-entfernbare Medien. Beispielsweise und ohne Beschränkung können computerlesbare Medien Computerspeichermedien und Kommunikationsmedien umfassen. Computerspeichermedien umfassen sowohl flüchtige als auch nicht-flüchtige Medien, entfernbare und nicht-entfernbare Medien, die in jedwedem Verfahren oder jedweder Technologie zum Speichern von Informationen, wie z.B. computerlesbaren Anweisungen, Datenstrukturen, Programmmodulen oder anderen Daten implementiert werden. Computerspeichermedien umfassen, sind jedoch nicht beschränkt auf, RAM, ROM, EEPROM, Flashspeicher oder eine andere Speichertechnologie, CD-ROM, digitale Mehrzweckplatten (DVDs) oder andere optische Plattenspeicher, Magnetkassetten, Magnetbänder, Magnetplattenspeicher oder andere Magnetspeichervorrichtungen oder jedwedes andere Medium, das zum Speichern der gewünschten Informationen verwendet werden kann und auf das durch die Rechenvorrichtung 1000 zugegriffen werden kann. Computerspeichermedien umfassen keine Signale als solche. Kommunikationsmedien sind typischerweise computerlesbare Anweisungen, Datenstrukturen, Programmmodule oder andere Daten in einem modulierten Datensignal, wie z.B. eine Trägerwelle oder ein anderer Transportmechanismus, und umfassen jedwede Informationsverbreitungsmedien. Der Ausdruck „moduliertes Datensignal“ steht für ein Signal, bei dem eine oder mehrere von dessen Eigenschaften so eingestellt oder verändert ist oder sind, dass sie Informationen in dem Signal kodiert oder kodieren. Beispielsweise und ohne Beschränkung umfassen Kommunikationsmedien drahtgebundene Medien, wie z.B. ein drahtgebundenes Netzwerk oder eine direktverdrahtete Verbindung, und drahtlose Medien, wie z.B. akustische, Hochfrequenz-, Infrarot- und andere drahtlose Medien. Kombinationen von jedweden der Vorstehenden sollten ebenfalls in den Umfang von computerlesbaren Medien einbezogen sein.
  • Der Speicher 1012 umfasst Computerspeichermedien in der Form eines flüchtigen und/oder nicht-flüchtigen Speichers. Wie es gezeigt ist, umfasst der Speicher 1012 Anweisungen 1024. Die Anweisungen 1024, wenn sie durch den oder die Prozessor(en) 1014 ausgeführt werden, sind so ausgebildet, dass sie bewirken, dass die Rechenvorrichtung jedwede der hier beschriebenen Vorgänge ausführt, die hier unter Bezugnahme auf die vorstehend diskutierten Figuren diskutiert worden sind, oder jedwede hier beschriebenen Programmmodule implementiert. Der Speicher kann entfernbar, nicht entfernbar oder eine Kombination davon sein. Beispiele für Hardwarevorrichtungen umfassen einen Festkörperspeicher, Festplatten, optische Plattenlaufwerke, usw. Die Rechenvorrichtung 1000 umfasst einen oder mehrere Prozessor(en), der oder die Daten von verschiedenen Einheiten, wie z.B. dem Speicher 1012 oder den I/O-Komponenten 1020, ausliest oder auslesen. (Die) Präsentationskomponente(n) 1016 präsentiert oder präsentieren Datenangaben für einen Nutzer oder eine andere Vorrichtung. Beispiele für Präsentationskomponenten umfassen eine Anzeigevorrichtung, einen Lautsprecher, eine Druckkomponente, eine Vibrationskomponente, usw.
  • Die I/O-Ports 1018 ermöglichen es der Rechenvorrichtung 1000, logisch mit anderen Vorrichtungen gekoppelt zu werden, einschließlich den I/O-Komponenten 1020, wobei einige davon eingebaut sein können. Veranschaulichende Komponenten umfassen ein Mikrophon, einen Joystick, ein Gamepad, eine Satellitenschüssel, einen Scanner, einen Drucker, eine drahtlose Vorrichtung, usw. Die I/O-Komponenten 1020 können eine natürliche Nutzerschnittstelle (NUI) bereitstellen, die Luftgesten, eine Stimme oder andere physiologische Eingaben verarbeitet, die durch einen Nutzer erzeugt werden. In einigen Fällen können Eingaben zu einem geeigneten Netzwerkelement für eine weitere Verarbeitung übertragen werden. Eine NUI kann jedwede Kombination von einer Spracherkennung, einer Berührungs- und Stifterkennung, einer Gesichtserkennung, einer biometrischen Erkennung, einer Gestenerkennung sowohl auf einem Bildschirm als auch neben dem Bildschirm, Luftgesten, Kopf- und Augenverfolgung und einer Berührungserkennung im Zusammenhang mit Anzeigen auf der Rechenvorrichtung 1000 implementieren. Die Rechenvorrichtung 1000 kann mit Tiefenkameras, wie z.B. stereoskopischen Kamerasystemen, Infrarotkamerasystemen, RGB-Kamerasystemen und Kombinationen von diesen für eine Gestenerfassung und -erkennung ausgestattet sein. Zusätzlich kann die Rechenvorrichtung 1000 mit Beschleunigungsmesseinrichtungen oder Gyroskopen ausgestattet sein, welche die Erfassung einer Bewegung ermöglichen. Die Ausgabe der Beschleunigungsmesseinrichtungen oder Gyroskope kann der Anzeige der Rechenvorrichtung 1000 bereitgestellt werden, um eine eindringliche erweiterte Realität oder virtuelle Realität bereitzustellen.
  • Hier angegebene Ausführungsformen wurden in Bezug auf bestimmte Ausführungsformen beschrieben, die in jeder Hinsicht veranschaulichend und nicht beschränkend sein sollen. Alternative Ausführungsformen sind für den Fachmann der vorliegenden Offenbarung ersichtlich, ohne von deren Umfang abzuweichen.
  • Verschiedene Aspekte der veranschaulichenden Ausführungsformen wurden unter Verwendung von Begriffen beschrieben, die von Fachleuten zum Weitergeben des Wesentlichen ihrer Arbeit an andere Fachleute üblicherweise verwendet werden. Für Fachleute ist es jedoch ersichtlich, dass alternative Ausführungsformen mit nur einigen der beschriebenen Aspekte ausgeführt werden können. Für Erläuterungszwecke sind spezifische Anzahlen, Materialien und Konfigurationen angegeben, um ein gründliches Verständnis der veranschaulichenden Ausführungsformen zu ermöglichen. Einem Fachmann ist jedoch klar, dass alternative Ausführungsformen ohne die spezifischen Details ausgeführt werden können. In anderen Fällen können bekannte Merkmale weggelassen oder vereinfacht werden, um die veranschaulichenden Ausführungsformen nicht zu unklar zu machen.
  • Verschiedene Vorgänge wurden als eine Mehrzahl von einzelnen Vorgänge in einer Weise beschrieben, die für das Verständnis der veranschaulichenden Ausführungsformen am hilfreichsten sind; die Reihenfolge der Beschreibung sollte jedoch nicht so aufgefasst werden, dass impliziert wird, dass diese Vorgänge notwendigerweise von der Reihenfolge abhängig sind. Insbesondere müssen diese Vorgänge nicht in der dargestellten Reihenfolge durchgeführt werden. Ferner sollten Beschreibungen von Vorgängen als separate Vorgänge nicht so aufgefasst werden, dass diese Vorgänge zwangsläufig unabhängig und/oder durch getrennte Einheiten ausgeführt werden müssen. Beschreibungen von Einheiten und/oder Modulen sollten entsprechend nicht so aufgefasst werden, dass es erforderlich ist, dass die Module getrennt sind und/oder getrennte Vorgänge ausführen. In verschiedenen Ausführungsformen können veranschaulichte und/oder beschriebene Vorgänge, Einheiten, Daten und/oder Module vereinigt, in weitere Nebenteile aufgespalten und/oder weggelassen werden.
  • Der Ausdruck „in einer Ausführungsform“ wird wiederholt verwendet. Der Ausdruck bezieht sich im Allgemeinen nicht auf dieselbe Ausführungsform; dies kann jedoch der Fall sein. Die Begriffe „umfassen“, „aufweisen“ und „enthalten“ sind synonym, falls sich aus dem Zusammenhang nichts Anderes ergibt. Der Ausdruck „A/B“ steht für „A oder B“. Der Ausdruck „A und/oder B“ steht für „(A), (B) oder (A und B)“. Der Ausdruck „mindestens eines von A, B und C“ steht für „(A), (B), (C), (A und B), (A und C), (B und C) oder (A, B und C)“.
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Patentliteratur
    • US 62581604 [0001]
    • US 15/934000 [0001]

Claims (20)

  1. Ein oder mehrere computerlesbare(s) Medium oder Medien mit einer Mehrzahl von ausführbaren Anweisungen, die darauf verkörpert sind, und die, wenn sie durch einen oder mehrere Prozessor(en) ausgeführt werden, bewirken, dass der eine oder die mehreren Prozessor(en) Vorgänge ausführen, umfassend: Identifizieren einer gegenwärtigen Betrachtungsszene, die einer Ansicht in einer virtuellen Umgebung entspricht; Auswählen eines Samplesatzes von virtuellen Pixeln, die mit der virtuellen Umgebung zusammenhängen, wobei virtuelle Pixel innerhalb der gegenwärtigen Betrachtungsszene bezüglich virtuellen Pixeln außerhalb der gegenwärtigen Betrachtungsszene priorisiert werden; Erzeugen einer dynamischen Map durch Mapping des Samplesatzes von virtuellen Pixeln, die mit der virtuellen Umgebung zusammenhängen, zu Punkten in einem realen Raum; Rendern der gegenwärtigen Betrachtungsszene in Echtzeit auf der Basis der dynamischen Map, wobei Objekte der virtuellen Szene mit realen Objekten abgeglichen werden; und Bereitstellen einer gerenderten virtuellen Szene zum Anzeigen auf einer Nutzervorrichtung.
  2. Medien nach Anspruch 1, wobei das Priorisieren des Samplings der gegenwärtigen Betrachtungsszene bezüglich des Samplings der virtuellen Pixel außerhalb der gegenwärtigen Betrachtungsszene das Sampling eines dichteren Satzes von virtuellen Pixeln für die virtuellen Pixel der gegenwärtigen Betrachtungsszene und eines dünner besetzten Satzes von virtuellen Pixeln für die virtuellen Pixel außerhalb der gegenwärtigen Betrachtungsszene umfasst.
  3. Medien nach Anspruch 1 oder 2, wobei das Rendern ferner ein Mehrfachdurchgang-Verfahren nutzt, welches umfasst: Entfernen von starren virtuellen Objekten; Anwenden einer Verformungsfunktion auf verformbare virtuelle Objekte; und Ersetzen der starren Objekte auf der Basis des Abgleichens der realen Objekte mit den Objekten der virtuellen Szene.
  4. Medien nach einem der vorhergehenden Ansprüche, wobei das Rendern ein Mischen auf der Basis eines Abgleichens von Objekten der virtuellen Szene und realen Objekten umfasst, wobei das Mischen die Transparenz zwischen der virtuellen Szene und dem realen Raum erhöhen kann.
  5. Medien nach einem der vorhergehenden Ansprüche, wobei das Abgleichen der realen Objekte mit den Objekten der virtuellen Szene ferner umfasst: Vergleichen eines Höhenwerts eines realen Objekts mit Höhenwerten der Objekte der virtuellen Szene; und Abgleichen des realen Objekts mit einem der Objekte der virtuellen Szene darauf bassierend, dass sich der Höhenwert des realen Objekts und ein Höhenwert des einen der Objekte der virtuellen Szene innerhalb einer vorgegebenen Schwelle zueinander befinden.
  6. Medien nach einem der vorhergehenden Ansprüche, wobei die Veränderung eine Bewegung von einem oder mehreren realen Objekt(en) umfasst.
  7. Medien nach einem der vorhergehenden Ansprüche, ferner umfassend: Bestimmen einer Qualität der dynamischen Map auf der Basis von einem oder mehreren einer Energiebestimmung zur Formbewahrung, einer Vermeidung einer statischen Grenze und einer dynamischen Hindernisvermeidung; und Nutzen der Qualität zum Optimieren der dynamischen Map, wobei eine optimierte dynamische Map eine niedrigere Energie aufweist.
  8. Medien nach einem der vorhergehenden Ansprüche, ferner umfassend: Nutzen der dynamischen Map zum Erzeugen eines realen Wegs, der einem virtuellen Weg entspricht, so dass ein Nutzer dem virtuellen Weg folgt, wobei die Objekte der virtuellen Szene mit den realen Objekten abgeglichen werden.
  9. Computerimplementiertes Verfahren, wobei das Verfahren umfasst: Zugreifen auf ein virtuelle Kamera-aware-Sampling, wobei das Sampling eines sichtbaren Inhalts einer virtuellen Szene in einer virtuellen Umgebung bezüglich des Samplings eines nicht sichtbaren Inhalts priorisiert wird; Mapping des virtuelle Kamera-aware-Samplings mit Punkten in einem realen Raum; und Rendern einer virtuellen Szene auf der Basis des Mappings, wobei reale Objekte mit Objekten der virtuellen Szene abgeglichen werden.
  10. Computerimplementiertes Verfahren nach Anspruch 9, ferner umfassend: Bestimmen einer Veränderung in der virtuellen Szene; nach dem Bestimmen der Veränderung, Durchführen eines zweiten Mappings zwischen der virtuellen Szene und dem realen Raum in Echtzeit; und Rendern der virtuellen Szene in Echtzeit auf der Basis des zweiten Mappings.
  11. Computerimplementiertes Verfahren nach Anspruch 9 oder 10, ferner umfassend: Bereitstellen einer gerenderten virtuellen Szene zum Anzeigen auf einer Nutzervorrichtung.
  12. Computerimplementiertes Verfahren nach einem der Ansprüche 9 bis 11, ferner umfassend: Bestimmen einer Qualität des Mappings auf der Basis von einer oder mehreren von einer Energiebestimmung zur Formbewahrung, einer Vermeidung einer statischen Grenze und einer dynamischen Hindernisvermeidung; und Nutzen der Qualität zum Optimieren der dynamischen Map.
  13. Computerimplementiertes Verfahren nach einem der Ansprüche 9 bis 12, ferner umfassend: Nutzen des dynamischen Mappings zum Erzeugen eines realen Wegs, der mit einem virtuellen Weg korreliert, so dass ein Nutzer dem virtuellen Weg folgt, wobei die Objekte der virtuellen Szene mit den realen Objekten abgeglichen werden.
  14. Computerimplementiertes Verfahren nach einem der Ansprüche 9 bis 13, wobei das Rendern ein Mehrfachdurchgang-Verfahren nutzt, umfassend: Entfernen von starren virtuellen Objekten; Anwenden einer Verformungsfunktion auf verformbare virtuelle Objekte; und Ersetzen der starren Objekte auf der Basis eines Abgleichens der realen Objekte mit den Objekten der virtuellen Szene.
  15. Computerimplementiertes Verfahren nach Anspruch 14, bei dem das Abgleichen der realen Objekte mit den Objekten der virtuellen Szene ferner umfasst: Vergleichen eines Höhenwerts eines realen Objekts mit Höhenwerten der Objekte der virtuellen Szene; und Abgleichen des realen Objekts mit einem der Objekte der virtuellen Szene darauf bassierend, dass sich der Höhenwert des realen Objekts und ein Höhenwert des einen der Objekte der virtuellen Szene innerhalb einer vorgegebenen Schwelle zueinander befinden.
  16. Computerimplementiertes Verfahren nach Anspruch 14 oder 15, ferner umfassend: Mischen auf der Basis des Abgleichens der realen Objekte mit den Objekten der virtuellen Szene, wobei das Mischen die Transparenz der Objekte der virtuellen Szene auf der Basis des Abgleichens der realen Objekte mit den Objekten der virtuellen Szene verändert.
  17. Computerimplementiertes Verfahren nach einem der Ansprüche 9 bis 16, bei dem das Mapping in Echtzeit stattfindet und das Rendern in Echtzeit stattfindet.
  18. Rechensystem, umfassend: einen oder mehrere Prozessor(en); und ein oder mehrere nicht-flüchtige(s) computerlesbare(s) Speichermedium oder -medien, das oder die mit dem einen oder den mehreren Prozessor(en) gekoppelt ist oder sind und auf dem oder denen (eine) Anweisung(en) gespeichert ist oder sind, die, wenn sie durch den einen oder die mehreren Prozessor(en) ausgeführt wird oder werden, bewirkt oder bewirken, dass das Rechensystem bereitstellt: eine Einrichtung zum dynamischen Mapping einer virtuellen Umgebung zu einem realen Raum, wobei das Mapping gesampelte Punkte von der virtuellen Umgebung mit Punkten von dem realen Raum mittels eines Samplings abgleicht, das einen sichtbaren Inhalt einer virtuellen Szene der virtuellen Umgebung bezüglich eines nicht sichtbaren Inhalts priorisiert; und eine Einrichtung zum Rendern der virtuellen Szene auf der Basis des dynamischen Mappings, wobei das Rendern in Echtzeit durchgeführt wird.
  19. System nach Anspruch 18, ferner umfassend: eine Einrichtung zum Bestimmen einer Qualität des Mappings auf der Basis von einem oder mehreren einer Energiebestimmung zur Formbewahrung, einer Vermeidung einer statischen Grenze und einer dynamischen Hindernisvermeidung; und das Nutzen der Qualität zum Optimieren des dynamischen Mappings.
  20. System nach Anspruch 18 oder 19, bei dem das Rendern ferner ein Mehrfachdurchgang-Verfahren nutzt, umfassend: Entfernen von starren virtuellen Objekten; Anwenden einer Verformungsfunktion auf verformbare virtuelle Objekte; und Ersetzen der starren Objekte auf der Basis des Abgleichens der realen Objekte mit Objekten der virtuellen Szene.
DE102018006838.3A 2017-11-03 2018-08-29 Dynamisches Mapping von virtuellen und physischen Interaktionen Pending DE102018006838A1 (de)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201762581604P 2017-11-03 2017-11-03
US62/581,604 2017-11-03
US15/934,000 US10957103B2 (en) 2017-11-03 2018-03-23 Dynamic mapping of virtual and physical interactions
US15/934,000 2018-03-23

Publications (1)

Publication Number Publication Date
DE102018006838A1 true DE102018006838A1 (de) 2019-05-09

Family

ID=63921058

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102018006838.3A Pending DE102018006838A1 (de) 2017-11-03 2018-08-29 Dynamisches Mapping von virtuellen und physischen Interaktionen

Country Status (2)

Country Link
DE (1) DE102018006838A1 (de)
GB (1) GB2568355B (de)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115578541B (zh) * 2022-09-29 2023-07-25 北京百度网讯科技有限公司 虚拟对象驱动方法及装置、设备、系统、介质和产品

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106846245B (zh) * 2017-01-17 2019-08-02 北京大学深圳研究生院 基于主视点的全景视频映射方法
GB2573951A (en) * 2017-04-05 2019-11-20 Mediatek Inc Method and apparatus for processing projection-based frame with at least one projection face generated using non-uniform mapping
CN107622474B (zh) * 2017-09-26 2021-03-30 北京大学深圳研究生院 基于主视点的全景视频映射方法

Also Published As

Publication number Publication date
GB2568355B (en) 2019-12-11
GB2568355A (en) 2019-05-15
GB201814511D0 (en) 2018-10-24

Similar Documents

Publication Publication Date Title
DE112019005750T5 (de) Erlernen des Erzeugens synthetischer Datensätze zum Trainieren neuronalerNetze
DE112017002799B4 (de) Verfahren und system zum generieren multimodaler digitaler bilder
EP3657440B1 (de) Verfahren und system zur dreidimensionalen rekonstruktion eines menschlichen kopfes aus mehreren bildern
AU2018220141B2 (en) Mapping virtual and physical interactions
DE60225933T2 (de) Tragbare virtuelle realität
DE102020000810A1 (de) 3D-Objektrekonstruktion unter Nutzung einer fotometrischen Netzdarstellung
DE69924700T2 (de) Verfahren zur Darstellung von durch Oberflächenelemente repräsentierten grafischen Objekten
DE102020110662A1 (de) Simultane positionsbestimmung und kartenerstellung (slam) für mehrere benutzer
DE102017009910A1 (de) Bearbeiten von Digitalbildern unter Nutzung eines neuronalen Netzwerkes mit einer netzwerkinternen Erstellungsschicht
DE112019000687T5 (de) Fotorealistische dreidimensionale texturierung unter verwendung kanonischer ansichten und eines zweistufigen ansatzes
DE102017010210A1 (de) Bild-Matting mittels tiefem Lernen
EP3671324A1 (de) Verfahren, vorrichtung und computerprogramm zum virtuellen anpassen einer brillenfassung
DE112018006189T5 (de) Robuste gradienten-gewichtskomprimierungsschemata für deep-learning-anwendungen
DE69924699T2 (de) Verfahren zur Schaffung von als Oberflächenelemente dargestellten grafischen Objekten
DE202012013426U1 (de) Integrieren von Karten und Straßenansichten
DE102018008275A1 (de) Verfeinern lokaler Parametrisierungen zur Übertragung zweidimensionaler Bilder auf dreidimensionale Modelle
DE202014010927U1 (de) Referenzpunktidentifizierung aus Punktwolken, die aus geografischen Bilddaten erstellt werden
DE112018007236T5 (de) Verfahren und vorrichtung zum erzeugen eines dreidimensionalen (3d) modells zur rekonstruktion einer 3d-szene
DE69924230T2 (de) Verfahren zur Modellierung von durch Oberflächenelemente dargestellten grafischen Objekten
DE112009002383T5 (de) Grafikverarbeitung unter Verwendung von Culling auf Gruppen von Vertices
DE112019001702T5 (de) Verfahren, systeme, herstellungsgegenstände und vorrichtungen zur erzeugung digitaler szenen
DE112021003160T5 (de) Mixed-reality-telekonferenz an mehreren orten
DE112019001444T5 (de) Informationsverarbeitungsvorrichtung, informationsverarbeitungsverfahren und programm
DE102018128699A1 (de) Einstellen einer Winkelabtastrate während eines Renderings unter Verwendung von Blickinformationen
DE102019005885A1 (de) Umgebungskartengenerierung und Lochfüllung

Legal Events

Date Code Title Description
R082 Change of representative

Representative=s name: MUELLER-BORE & PARTNER PATENTANWAELTE PARTG MB, DE

R012 Request for examination validly filed