-
GEBIET
-
Die vorliegende Anmeldung betrifft im Allgemeinen eine Darstellung eines Virtual Reality Objekts auf einer Anzeige basierend auf einer oder mehreren erfüllten Bedingungen.
-
STAND DER TECHNIK
-
Wie aus dem Vorliegenden zu erkennen ist, können sich bestimmte Steuerungen für Steuergeräte und -anwendungen in einer Wohnstätte oder einem Gebäude nicht immer an einer für einen gegenwärtigen Nutzer bequemen Stelle befinden. Dies kann den Benutzer frustrieren.
-
KURZDARSTELLUNG
-
Gemäß einem Aspekt beinhaltet eine Vorrichtung dementsprechend ein Gehäuse, einen Prozessor, der mit dem Gehäuse gekoppelt ist, eine Anzeige, die mit dem Gehäuse gekoppelt ist und auf die der Prozessor zugreifen kann, und einen Speicher, der mit dem Gehäuse gekoppelt ist und auf den der Prozessor zugreifen kann. Der Speicher trägt Befehle, die durch den Prozessor ausgeführt werden können, um zu bestimmen, dass mindestens eine Bedingung zum Darstellen eines Virtual Reality Objekts, um ein anderes Gerät als die Vorrichtung zu steuern, erfüllt ist. Die Befehle können durch den Prozessor auch ausgeführt werden, um das Virtual Reality Objekt in Reaktion auf die Bestimmung auf der Anzeige darzustellen.
-
Gemäß einem anderen Aspekt beinhaltet ein Verfahren ein Bestimmen, dass mindestens eine Bedingung zum Darstellen eines Virtual Reality Objekts auf einer Anzeige eines ersten Geräts erfüllt ist, wobei mit dem Virtual Reality Objekt interagiert werden kann, um eine Ausgabe eines zweiten Geräts zu steuern. Das Verfahren beinhaltet außerdem ein Darstellen des Virtual Reality Objekts auf der Anzeige in Reaktion auf die Bestimmung, ein Identifizieren einer Interaktion eines Benutzers mit dem Virtual Reality Objekt und ein Steuern einer Ausgabe des zweiten Geräts in Reaktion auf die Identifizierung.
-
Gemäß noch einem weiteren Aspekt beinhaltet eine Vorrichtung einen ersten Prozessor, einen Netzwerkadapter und einen Speicher. Der Speicher trägt Befehle, die durch einen zweiten Prozessor ausgeführt werden können, um zu bestimmen, dass mindestens eine Bedingung zum Darstellen eines Virtual Reality Objekts auf einer Anzeige einer Vorrichtung, um ein anderes Gerät als die Vorrichtung zu steuern, erfüllt ist. Die Befehle können durch den zweiten Prozessor auch ausgeführt werden, um basierend auf der Bestimmung das Virtual Reality Objekt auf der Anzeige darzustellen. Der erste Prozessor überträgt die Befehle mittels des Netzwerkadapters über ein Netzwerk an den zweiten Prozessor.
-
Die Einzelheiten der vorliegenden Prinzipien, sowohl in Bezug auf deren Struktur als auch deren Betrieb, sind am besten anhand der dazugehörigen Zeichnungen zu verstehen, in denen gleiche Bezugszeichen gleiche Teile kennzeichnen. Es zeigen:
-
KURZE BESCHREIBUNG DER ZEICHNUNGEN
-
1 ist ein Blockdiagramm eines beispielhaften Systems gemäß den vorliegenden Prinzipien,
-
2 ist ein beispielhaftes Blockdiagramm eines Netzwerks aus Geräten gemäß den vorliegenden Prinzipien,
-
3 bis 9 sind Ablaufdiagramme von beispielhaften Logarithmen gemäß den vorliegenden Prinzipien,
-
10 und 11 sind beispielhafte Darstellungen gemäß den vorliegenden Prinzipien und
-
12 ist eine beispielhafte Benutzerschnittstelle (UI) gemäß den vorliegenden Prinzipien.
-
AUSFÜHRLICHE BESCHREIBUNG
-
Die vorliegende Erfindung betrifft die Verwendung einer Vorrichtung für eine virtuelle Realität (VR) und/oder eine erweiterte Realität (AR) in einer Situation einer erweiterten Realität. Beispiele für eine derartige Vorrichtung beinhalten ein VR/AR-Headset, ein Gerät, das eine holografische Anzeige aufweist und verwendet, ein Gerät, das Project Tango von Google verwendet, und/oder ein Gerät, das eine 3D- und/oder Indoor-Mapping Technologie verwendet, um die Abmessungen verschiedener Bereiche und Objekte darin für VR/AR-Zwecke, usw. zu bestimmen.
-
Nach dem Darstellen eines Virtual Reality Objekts an einer für den Benutzer zweckmäßigen Stelle kann die Vorrichtung erkennen, dass ein Benutzer mit dem Objekt interagiert, um z.B. ein internetfähiges Gerät in der Umgebung des Benutzers zu steuern, wie etwa eine intelligente Leuchte. Das Objekt kann basierend auf einer oder mehreren erfüllten Bedingungen dargestellt werden, so dass Objekte, mit denen der Benutzer basierend auf einer gegebenen Bedingung wahrscheinlich nicht interagieren möchte, nicht das Sichtfeld des Benutzers versperren, während Objekte, die für einen Benutzer basierend auf der gegebenen Bedingung relevant sein können, dargestellt werden. Zum Beispiel kann ein Lichtschalter einer virtuellen Realität zum Steuern von Scheinwerfern für das Grundstück des Benutzers dargestellt werden, wenn es draußen dunkel ist, aber nicht während die Sonne scheint.
-
In Bezug auf ein hierin beschriebenes Computersystem kann ein System Server- und Client-Komponenten beinhalten, die über ein Netzwerk verbunden sind, so dass Daten zwischen den Client- und Server-Komponenten ausgetauscht werden können. Die Client-Komponenten können ein oder mehrere Rechengeräte beinhalten, einschließlich Fernsehgeräten (z.B. Smart TVs oder internetfähige Fernsehgeräte), Computer, wie beispielsweise Desktops, Laptops und Tablets, sogenannte konvertierbare Geräte (die z.B. eine Laptop- und eine Tablet-Konfiguration aufweisen) und andere mobile Geräte, einschließlich Smartphones. Diese Client-Geräte können als nicht beschränkende Beispiele Betriebssysteme von Apple, Google oder Microsoft verwenden. Als Betriebssystem kann Unix oder ein ähnliches Betriebssystem, wie beispielsweise Linux, verwendet werden. Diese Betriebssysteme können einen oder mehrere Browser ausführen, wie beispielsweise Browser, die von Microsoft oder Google oder Mozilla hergestellt werden, oder ein anderes Browser-Programm, das über ein Netzwerk, wie beispielsweise das Internet, ein lokales Intranet oder ein Virtual Private Netzwerk auf Webseiten und Anwendungen zugreifen kann, die von Internetservern gehostet werden.
-
Wie hierin verwendet, bezeichnen Befehle computerimplementierte Schritte zum Verarbeiten von Informationen im System. Befehle können als Software, Firmware oder Hardware oder Kombinationen hiervon implementiert sein und jede beliebige Art von programmiertem Schritt beinhalten, der von Komponenten des Systems ausgeführt wird. Somit werden veranschaulichende Komponenten, Blöcke, Module, Schaltungen und Schritte manchmal in Hinsicht auf deren Funktionalität beschrieben.
-
Ein Prozessor kann jeder herkömmliche Allzweck-, Einzel- oder Mehrfach-Chip-Prozessor sein, der Logiken mittels verschiedener Leitungen, wie beispielsweise Adressleitungen, Datenleitungen und Steuerleitungen, und Register und Verschieberegister ausführen kann. Darüber hinaus können alle hier beschriebenen Logikblöcke, Module und Schaltungen mit einem Allzweckprozessor, einem digitalen Signalprozessor (DSP), einem Field Programable Gate Array (FPGA), oder einem anderen programmierbaren Logikgerät, wie einer anwendungsspezifischen integrierten Schaltung (ASIC), einer Diskretes-Gate- oder Transistorlogik, diskreten Hardware-Komponenten oder einer Kombination hiervon, die ausgebildet ist, die hier beschriebenen Funktionen auszuführen, implementiert oder ausgeführt werden. Ein Prozessor kann durch ein Steuergerät oder eine Zustandsmaschine oder eine Kombination aus Rechengeräten implementiert sein.
-
Software-Module und/oder -Anwendungen, die hierin anhand von Ablaufdiagrammen und/oder Benutzerschnittstellen beschrieben sind, können mehrere Subroutinen, -prozeduren, usw. beinhalten. Ohne die Offenbarung einzuschränken, können Logiken, zu denen angegeben ist, dass sie durch ein spezielles Modul ausgeführt werden, an andere Software-Module weiterverteilt und/oder zu einem Einzelmodul kombiniert und/oder in einer gemeinsam zu nutzenden Bibliothek verfügbar gemacht werden.
-
Eine in Software implementierte Logik kann in einer geeigneten Sprache geschrieben sein, wie beispielsweise insbesondere in C# oder C++, und kann in einem computerlesbaren Speichermedium (das z.B. kein transitorisches Signal ist) gespeichert sein oder durch dieses übertragen werden, wie beispielsweise einem Arbeitsspeicher (RAM), einem Nur-Lese-Speicher (ROM), einem elektrisch löschbarer programmierbarer Nur-Lese-Speicher (EEPROM), einem Compakt-Disk-Nur-Lese-Speicher (CR-ROM) oder einem anderen optischen Plattenspeicher, wie eine Digital Versatile Disk (DVD), einem Magnetplattenspeicher oder anderen magnetischen Speichergeräten, einschließlich Speichersticks, usw.
-
Bei einem Beispiel kann ein Prozessor über seine Eingangsleitungen auf Informationen von dem Datenspeicher, wie dem computerlesbaren Speichermedium, zugreifen und/oder kann der Prozessor drahtlos auf Informationen von einem Internetserver zugreifen, indem ein drahtloser Transceiver aktiviert wird, um Daten zu senden und zu empfangen. Die Daten werden, wenn diese empfangen werden, typischerweise durch einen Schaltkreis zwischen der Antenne und den Registern des Prozessors von analogen Signalen in digitale umgewandelt und von digitalen in analoge, wenn diese gesendet werden. Der Prozessor verarbeitet die Daten dann durch seine Schieberegister zu berechneten Ausgabedaten auf Ausgangsleitungen für die Darstellung der berechneten Daten auf dem Gerät.
-
In einer Ausführungsform enthaltene Komponenten können in jeder geeigneten Kombination in anderen Ausführungsformen verwendet werden. Zum Beispiel können beliebige der hierin beschriebenen und/oder in den Figuren abgebildeten verschiedenen Komponenten kombiniert, ausgetauscht oder aus anderen Ausführungsformen ausgeschlossen werden.
-
"Ein System mit mindestens einem von A, B und C" (desgleichen ein "System mit mindestens einem von A, B oder C" und ein "System mit mindestens einem von A, B, C") beinhaltet Systeme, die einzig A, einzig B, einzig C, A und B zusammen, A und C zusammen, B und C zusammen und/oder A, B, und C zusammen, usw. beinhalten.
-
Der Begriff "Schaltung" oder "Schaltkreis" kann in der Kurzdarstellung, der Beschreibung und/oder den Ansprüchen verwendet werden. Wie auf dem Fachgebiet bekannt ist, beinhaltet der Begriff "Schaltkreis" alle Ebenen verfügbarer Integration, z.B. von diskreten Logikschaltungen bis zur höchsten Ebene von Schaltungsintegration, wie beispielsweise VLSL, und beinhaltet programmierbare Logikkomponenten, die dafür programmiert sind, die Funktionen einer Ausführungsform auszuführen, sowie Allzweck- oder Spezialprozessoren, die mit Befehlen zum Ausführen dieser Funktionen programmiert sind.
-
Nun ist speziell in Bezug auf 1 ein beispielhaftes Blockdiagramm eines Informationshandhabungssystems und/oder eines Computersystems 100 gezeigt. Zu beachten ist, dass das System 100 in einigen Ausführungsformen ein Desktop-Computersystem sein kann, wie beispielsweise ein PC der Reihe ThinkCentre® oder ThinkPad®, die von Lenovo (US) Inc. in Morrisville, North Carolina, vertrieben werden, oder ein Workstation-Computer, wie die ThinkStation®, die von Lenovo (US) Inc. in Morrisville, North Carolina, vertrieben wird. Wie jedoch aus der vorliegenden Beschreibung ersichtlich wird, kann ein Client-Gerät, ein Server oder eine andere Maschine gemäß den vorliegenden Prinzipien weitere Merkmale oder nur einige der Merkmale des Systems 100 beinhalten. Außerdem kann das System 100 z.B. eine Spielekonsole, wie XBOX® sein, und/oder kann das System 100 ein drahtloses Telefon, ein Notebook, ein Headset für eine virtuelle/erweiterte Realität und/oder ein anderes tragbares rechnergestütztes Gerät sein.
-
Wie in 1 gezeigt, kann das System 100 einen sogenannten Chip-Satz 110 beinhalten. Ein Chip-Satz bezeichnet einer Gruppe integrierter Schaltungen oder Chips, die konfiguriert sind, zusammenzuarbeiten. Chip-Sätze werden für gewöhnlich als ein Einzelprodukt vertrieben (siehe z.B. Chip-Sätze, die unter den Markenbezeichnungen INTEL®, AMD® usw. vertrieben werden).
-
Bei dem Beispiel von 1 weist der Chip-Satz 110 eine bestimmte Architektur auf, die bis zu einem bestimmten Umfang abhängig von Marke oder Hersteller variieren kann. Die Architektur des Chip-Satzes 110 beinhaltet eine Kern- und Speichersteuergruppe 120 und einen E/A-Steuerknoten 150, die zum Beispiel über eine Direct Management Interface oder eine Direct Media Interface (DMI) 142 oder einen Link-Controller 144 Informationen austauschen (z.B. Daten, Signale, Befehle usw.). Bei dem Beispiel von 1 ist die DMI 142 eine Chip-zu-Chip-Schnittstelle (manchmal als eine Verbindung zwischen einer "Northbridge" und einer "Southbridge" bezeichnet).
-
Die Kern- und Speichersteuergruppe 120 beinhaltet einen oder mehrere Prozessoren 122 (z.B. Einzelkern- oder Mehrkern- usw.) und einen Speicher-Steuerknoten 126, die über einen Front-Side-Bus (FSB) 124 Informationen austauschen. Wie hierin beschrieben, können verschiedene Komponenten der Kern- und Speichersteuergruppe 120 auf einem einzelnen Prozessor-Chip integriert sein, um zum Beispiel einen Chip herzustellen, der die herkömmliche Architektur im Stil einer "Northbridge" ersetzt.
-
Der Speicher-Steuergerät 126 verbindet sich mit dem Speicher 140. Zum Beispiel kann der Speicher-Steuerknoten 126 Unterstützung für einen DDR-SDRAM-Speicher (z.B. DDR, DDR2, DDR3 usw.) bereitstellen. Im Allgemeinen ist der Speicher 140 eine Art eines Arbeitsspeichers (RAM). Dieser wird häufig als "Systemspeicher" bezeichnet.
-
Der Speicher-Steuerknoten 126 kann ferner eine Low-Voltage-Differential-Signaling Schnittstelle (LVDS) 132 beinhalten. Die LVDS 132 kann eine sogenannte LVDS-Anzeigeschnittstelle (LDI) für das Unterstützen eines Anzeigegeräts 192 sein (z.B. eines CRTs, eines Flachbildschirms, eines Projektors, einer Anzeige mit Touch-Funktion usw.). Ein Block 138 beinhaltet einige Beispiele von Technologien, die mit der LVDS-Schnittstelle 132 unterstützt werden (z.B. serielles digitales Video, HDMI/DVI, Anzeigeanschluss). Der Speicher-Steuerknoten 126 beinhaltet außerdem eine oder mehrere PCI-Express-(PCI-E)-Schnittstellen 134, zum Beispiel, um diskrete Grafik 136 zu unterstützen. Diskrete Grafik, die eine PCI-E-Schnittstelle verwendet, ist zu einem alternativen Ansatz für einen Accelerated Graphics Port (AGP) geworden. Zum Beispiel kann der Speicher-Steuerknoten 126 einen 16-lane (×16) PCI-E-Anschluss für eine externe PCI-E-basierte Grafikkarte beinhalten (einschließlich z.B. einer von mehreren GPUs). Ein beispielhaftes System kann AGP oder PCI-E zum Unterstützen von Grafik beinhalten.
-
Bei Beispielen, bei denen er verwendet wird, kann der E/A-Steuerknoten 150 eine Vielfalt von Schnittstellen beinhalten. Das Beispiel von 1 beinhaltet eine SATA-Schnittstelle 151, eine oder mehrere PCI-E-Schnittstellen 152 (optional eine oder mehrere Legacy-PCI-Schnittstellen), eine oder mehrere USB-Schnittstellen 153, eine LAN-Schnittstelle 154 (allgemeiner eine Netzwerkschnittstelle für die Kommunikation über mindestens ein Netzwerk, wie das Internet, ein WAN, ein LAN, usw. unter Führung des/der Prozessoren 122), eine Allzweck-E/A-Schnittstelle (GPIO) 155, Schnittstelle mit niedriger Pin-Anzahl (LPC) 170, eine Energiemanagementschnittstelle 161, eine Taktgenerator-Schnittstelle 162, eine Audioschnittstelle 163 (z.B. für Lautsprecher 194 für eine Audioausgabe), eine Gesamtbetriebskosten(TCO)-Schnittstelle 164, eine Systemmanagementbus-Schnittstelle (z.B. eine serielle Multi-Master-Computerbus-Schnittstelle) 165 und eine serielle periphere Flash-Speicher/Steuergerät-Schnittstelle (SPI-Flash) 166, die beim Beispiel von 1 BIOS 168 und Boot-Code 190 beinhaltet. In Hinsicht auf Netzwerkverbindungen kann der E/A-Steuerknoten 150 integrierte Gigabit-Ethernet-Controllerleitungen beinhalten, die mit einem PCI-E-Schnittstellenanschluss gemultiplext sind. Weitere Netzwerkmerkmale können unabhängig von einer PCI-E-Schnittstelle funktionieren.
-
Die Schnittstellen des E/A-Steuerknotens 150 können für eine Kommunikation mit verschiedenen Geräten, Netzwerken usw. sorgen. Zum Beispiel sorgt die SATA-Schnittstelle 151, wo sie verwendet wird, für das Lesen, Schreiben oder Lesen und Schreiben von Informationen auf ein oder mehrere Laufwerke 180, wie beispielsweise HDDs, SDDs oder eine Kombination hiervon, wobei die Laufwerke 180 in jedem Fall jedoch z.B. als konkrete computerlesbare Speichermedien zu verstehen sind, die keine transitorischen Signale sind. Der E/A-Steuerknoten 150 kann außerdem eine Advanced-Host-Controller-Interface (AHCI) beinhalten, um ein oder mehrere Laufwerke 180 zu unterstützen. Die PCI-E-Schnittstelle 152 ermöglicht drahtlose Verbindungen 182 zu Geräten, Netzwerken usw. Die USB-Schnittstelle 153 steht für Eingabegeräte 184 bereit, wie beispielsweise Tastaturen (KB), Mäuse und verschiedene andere Geräte (z.B. Kameras, Telefone, Speicher, Medienabspielgeräte usw.).
-
Bei dem Beispiel von 1 sorgt die LPC-Schnittstelle 170 für die Verwendung einer oder mehreren ASICs 171, eines Trusted Platform Module (TPM) 172, eines Super-I/O 173, eines Firmware-Knoten 174, der BIOS-Unterstützung 175 sowie verschiedener Arten von Speicher 176, wie beispielsweise ROM 177, Flash 178, nicht-flüchtiger RAM (NVRAM) 179. Hinsichtlich des TPMs 172 kann dieses Modul in Form eines Chips vorliegen, der verwendet werden kann, um Software und Hardwaregeräte zu authentifizieren. Zum Beispiel kann ein TPM in der Lage sein, eine Plattformauthentifizierung auszuführen, und kann verwendet werden, um zu bestätigen, dass ein Zugriff suchendes System das erwartete System ist.
-
Das System 100 kann nach dem Einschalten konfiguriert sein, den Boot-Code 190 für das BIOS 168, wie im SPI-Flash 166 gespeichert, auszuführen, und verarbeitet danach Daten unter der Steuerung von einem oder mehreren Betriebssystemen und Anwendungssoftware (die z.B. im Systemspeicher 140 gespeichert ist). Ein Betriebssystem kann an einer von vielen Stellen gespeichert sein und kann auf dieses gemäß den Befehlen des BIOS 168 zugegriffen werden.
-
Noch weiter kann das System 100 ein(en) Audioempfänger/Mikrofon 191 beinhalten, der/das basierend auf einer erkannten Audioausgabe eine Eingabe von dem Mikrofon an den Prozessor 122 bereitstellt, wie beispielsweise von einem Benutzer, der eine hörbare Eingabe/Befehle über das Mikrofon 191 bereitstellt. Das System 100 kann außerdem eine oder mehrere Kameras 193 beinhalten, die Bilder erfassen und eine diesbezügliche Eingabe an den Prozessor 122 bereitstellen. Die Kameras 193 können Wärmebildkameras, Digitalkameras, wie beispielsweise Webcams, dreidimensionale (3D-)Kameras und/oder Kameras sein, die auf andere Weise von dem Prozessor 122 gesteuert werden können, und können in das System 100 integriert und/oder daran angeordnet sein, um Aufnahmen/Bilder und/oder Videos zu erfassen, wie beispielsweise Bilder von den Augen eines Benutzer zwecks Eye Tracking, Bilder der vom Benutzer ausgeführten Gesten, wie Zeigen auf ein bestimmtes Objekt in der Umgebung des Benutzers, und Bilder von den Umgebungen selbst.
-
Zusätzlich kann, obwohl der Klarheit wegen nicht dargestellt, das System 100 in einigen Ausführungsformen ein Gyroskop beinhalten, das die Ausrichtung des Systems 100 abtastet und/oder misst und eine diesbezügliche Eingabe an den Prozessor 122 bereitstellt, sowie einen Beschleunigungsmesser, der eine Beschleunigung und/oder Bewegung des Systems 100 abtastet und eine diesbezügliche Eingabe an den Prozessor 122 bereitstellt. Noch weiter, und der Klarheit wegen ebenfalls nicht dargestellt, kann das System 100 einen GPS-Sendeempfänger beinhalten, der dafür konfiguriert ist, Informationen zur geografischen Position von mindestens einem Satelliten zu empfangen und die Informationen an den Prozessor 122 bereitzustellen. Es versteht sich jedoch, dass gemäß den vorliegenden Prinzipien statt eines GPS-Empfängers ein anderer geeigneter Positionsempfänger verwendet werden kann, um die Position des Systems 100 zu bestimmen.
-
Es versteht sich, dass ein beispielhaftes Client-Gerät oder eine andere Maschine / ein anderer Computer weniger oder mehr Merkmale enthalten kann, als bei dem System 100 gemäß 1 gezeigt sind. In jedem Fall versteht es sich zumindest basierend auf dem Vorstehenden, dass das System 100 dafür konfiguriert ist, die vorliegenden Prinzipien auszuführen.
-
Nun mit Bezug auf 2 sind beispielhafte Geräte gezeigt, die über ein Netzwerk 200, wie beispielsweise das Internet, gemäß den vorliegenden Prinzipien kommunizieren. Es versteht sich, dass jedes der bezüglich 2 beschriebenen Geräte zumindest einige der Merkmale, Komponenten und/oder Elemente des oben beschriebenen Systems 100 beinhalten kann.
-
2 zeigt einen Notebook und/oder einen konvertierbaren Computer 202, einen Desktop-Computer 204, ein tragbares Gerät 206, wie eine Smart-Watch, ein Smart TV (TV) 208, ein Smartphone 210, ein Tablet 212, ein Headset 216, eine Konsole 218 und einen Server 214, wie beispielsweise einen Internetserver, der eine Cloud-Speicherung bereitstellen kann, auf die die Geräte 202–212, 216 und 218 zugreifen können. Es versteht sich, dass die Geräte 202–218 dafür konfiguriert sind, über das Netzwerk 200 zu kommunizieren, um die vorliegenden Prinzipien zu übernehmen.
-
Zur näheren Beschreibung des Headsets 216: Es kann ein Gehäuse beinhalten, an das ein Anzeigegerät 220 gekoppelt ist, um Inhalte einer virtuellen Realität (VR) und/oder einer erweiterten Realität (AR) darzustellen. Das Anzeigegerät 220 kann eine zumindest teilweise transparente Anzeige beinhalten, durch die ein Träger des Headsets 216 Objekte der realen Welt betrachten kann und auf der das Headset 216 Virtual Reality Objekte darstellen kann. Das Headset 216 kann außerdem mehrere Kameras 222 beinhalten, die bezüglich Funktion und Konfiguration ähnlich den oben beschriebenen Kameras 193 sein können, wobei mindestens eine der Kameras dafür ausgerichtet ist, die Augen eines Trägers abzubilden, wenn dieser das Headset 216 trägt, und eine andere der Kameras weg vom Headset 216 ausgerichtet ist, um Gesten und Umgebung des Trägers sowie Objekte abzubilden. Das Headset 216 kann außerdem ein Mikrofon 224 beinhalten, das bezüglich Funktion und Konfiguration ähnlich dem Mikrofon 191 sein kann, einen Lautsprecher 266, der bezüglich Funktion und Konfiguration ähnlich dem Lautsprecher 194 sein kann, und ein oder mehrere Kopfbefestigungselemente 228, damit ein Benutzer das Headset 216 an seinem Kopf anbringen kann. Obwohl der Klarheit wegen nicht dargestellt, versteht es sich, dass das Headset 216 außerdem eine Netzwerkschnittstelle für drahtgebundene und/oder drahtlose Kommunikation mit den anderen Geräten aus 2 beinhalten kann, wie beispielsweise über das Internet, ein lokales Netzwerk (LAN), ein Bluetooth-Netzwerk usw.
-
Zur näheren Beschreibung der Konsole 218: Sie kann eine Konsole für eine virtuelle Realität und/oder eine erweiterte Realität zur Verwendung in Verbindung mit dem Headset 216 sein. Zum Beispiel kann die Konsole 218 zusätzlich zum Headset 216, das eine oder mehrere Kameras zum Abtasten der Augenbewegung eines Benutzers, zum Abtasten der Gesten des Benutzers und zum Abtasten von Objekten in der Umgebung, in der die Geräte 216, 218 angeordnet sind, ebenfalls derartige Kameras für die gleichen oder ähnliche Zwecke beinhalten. Die Konsole 218 kann außerdem in Verbindung mit dem Headset 216 arbeiten, um Daten zu verarbeiten und die hierin beschriebenen computerimplementierten Schritte, Befehle und Funktionen auszuführen. Obwohl der Klarheit wegen nicht dargestellt, versteht es sich, dass die Konsole 218 ebenfalls eine Netzwerkschnittstelle für drahtgebunden und/oder drahtlose Kommunikation mit den anderen Geräten von 2 beinhalten kann, wie beispielsweise über das Internet, ein lokales Netzwerk (LAN), ein Bluetooth-Netzwerk usw.
-
In 3 ist ein Beispiel für eine Gesamtlogik dargestellt, die von einem Gerät, wie beispielsweise dem System 100, dem Headset 216, der Konsole 218, usw. ausgeführt werden kann, um ein oder mehrere Virtual Reality Objekte darzustellen, mit denen interagiert werden kann, um weitere Geräte gemäß den vorliegenden Prinzipien zu steuern. Der Zweckmäßigkeit halber wird das Gerät, das die Logik von 3 ausführt, als Headset bezeichnet und kann die im Weiteren beschriebene Logik bei mindestens einer Ausführungsform tatsächlich ganz oder teilweise durch das Headset ausgeführt werden.
-
Beginnend mit Block 300 kommuniziert die Logik mit anderen Geräten in einem Netzwerk, über das dieses kommuniziert, wie beispielsweise ein passwortgeschütztes Wi-Fi-Netzwerk oder ein Bluetooth-Netzwerk für eine Umgebung im persönlichen Wohnsitz. Die Logik kann mit den anderen Geräten kommunizieren, um Zustandsinformationen von diesen weiteren Geräten dazu, ob diese ein- oder ausgeschaltet sind, und/oder Informationen bezüglich anderer Art und Weise, in der diese funktionieren können, zu empfangen.
-
Von Block 300 kann die Logik zu Block 302 vorrücken, wo die Logik auf eine Verwendungsmusteraufzeichnung zugreifen kann, die Daten enthält, die Tage und Zeiten betreffen, zu denen eines oder mehrere der Geräte in der Umgebung und/oder der mit dem Netzwerk verbundenen Geräte in der Vergangenheit gesteuert wurden und sogar konkrete Benutzer/Headset-Träger, die in der Vergangenheit eines oder mehrere der Geräte in der Umgebung gesteuert und/oder mit dem Netzwerk verbunden haben. Die Aufzeichnung kann in einem Cloud-Speicher gespeichert werden, auf den das Headset zugreifen kann, kann in einem Speicher im Headset selbst gespeichert werden, kann auf einem anderen Gerät gespeichert werden, das über das Netzwerk mit dem Headset kommuniziert, usw.
-
Nach Block 302 kann die Logik zu Block 304 vorrücken, wo die Logik überwachen kann, ob eine oder mehrere Bedingungen erfüllt sind, die basierend auf den in Block 300 empfangenen Zustandsinformationen und/oder auf der Aufzeichnung, auf die in Block 302 zugegriffen wird, bestimmt werden.
-
Von Block 304 kann die Logik zu einer Entscheidungsraute 306 vorrücken, wo die Logik bestimmen kann, ob eine oder mehrere Bedingungen erfüllt sind. Konkrete Bedingungen werden im Weiteren in Bezug auf die 4–9 beschrieben. Eine negative Bestimmung an der Raute 306 bewirkt, das die Logik zu Block 304 zurückkehrt und/oder mit der Bestimmung an der Raute 306 fortfährt, bis eine bejahende Bestimmung erfolgt.
-
In Reaktion auf eine bejahende Bestimmung an der Raute 306 kann die Logik zu Block 308 fortschreiten. An Block 308 kann die Logik ein Virtual Reality Objekt auf der Anzeige des Headsets darstellen, so dass es tatsächlich auf einer flachen, nicht besetzten Oberfläche der Umgebung angeordnet zu sein scheint. Das Virtual Reality Objekt kann derart dargestellt werden, dass es ungeachtet der Bewegung des Headset-Trägers im Verhältnis zur flachen Oberfläche von einer Position zu einer anderen auf der gleichen Stelle auf der flachen Oberfläche erscheint. Dies kann unter Anwendung von Algorithmen und/oder Verarbeitung, die dreidimensionale (3D-)Grafik wiedergeben, von Algorithmen und/oder Verarbeitung, die Virtual Reality Grafik wiedergeben, von Algorithmen und/oder Verarbeitung, die Grafik erweiterter Realität wiedergeben, usw. erfolgen. Dennoch können derartige Algorithmen und Verarbeitungen gemäß den vorliegenden Prinzipien verwendet werden, um Virtual Reality Objekte auch auf nicht flachen Oberflächen darzustellen, wie beispielsweise auf der Armlehne einer Couch, auf der der Headset-Träger sitzen kann.
-
Von Block 308 kann die Logik zur Entscheidungsraute 310 vorrücken. An der Raute 310 kann die Logik bestimmen, ob der Träger mit dem virtuellen Objekt interagiert, wie basierend auf einer Eingabe von einem oder mehreren Sensoren bestimmt werden kann, wie beispielsweise aus Kameraabbildungsgesten des Trägers, einer Trägheitssensor-Abtastausrichtung und/oder Beschleunigung des Headsets und/oder eines anderen Gerätes, das von dem Träger getragen wird, einem Positionssendeempfänger auf einem Gerät, wie beispielsweise einer Smartwatch, die von dem Träger getragen wird, während er mit dem Arm gestikuliert, der die Smartwatch trägt, usw. Somit versteht es sich, dass diese Sensoreingabe verwendet werden kann um zu bestimmen, ob sich ein Teil des Trägers, wie beispielsweise dessen Hand, einer Oberfläche nähert oder dieser nahe ist, auf der das Virtual Reality Objekt für den Träger angeordnet zu sein scheint, und ob der Teil des Trägers sich im dreidimensionalen Raum in irgendeine Richtung bewegt, um das Virtual Reality Objekt derart zu steuern, als ob es sich tatsächlich auf der physischen Oberfläche im dreidimensionalen Raum der echten Welt, in dem es angeordnet zu sein scheint, befände.
-
Eine negative Bestimmung an der Raute 310 bewirkt, dass die Logik damit fortfährt, diese Bestimmung solange vorzunehmen, bis eine bejahende Bestimmung erfolgt. Dann kann die Logik in Reaktion auf eine bejahende Bestimmung an der Raute 310 zu Block 312 vorrücken, wo die Logik einen Befehl, der mit der Interaktion mit dem virtuellen Objekt in Verbindung steht, an das zu steuernde Gerät senden kann. Der Befehl kann ein Befehl sein, einen Betrieb und/oder eine Ausgabe des zu steuernden Geräts einzustellen, wie beispielsweise eine Lichtausgabe für eine Leuchte oder eine Temperaturausgabe für eine Klimaanlage.
-
Nehmen wir zum Beispiel an, dass das zu steuernde Gerät eine intelligente Leuchte oder eine andere smarte Anwendung mit einem An/Aus-Schalter ist. Bei diesem Beispiel kann das Virtual Reality Objekt ein virtueller An/Aus-Schalter für die smarte Anwendung sein. Der Träger kann mit dem virtuellen An/Aus-Schalter interagieren, indem er seine Hand zu der Stelle bewegt, wo der Schalter für den Träger angeordnet zu sein scheint, und dann seine Hand nach oben bewegt, um den virtuellen Schalter zum Beispiel virtuell von aus zu an zu bewegen. Diese Geste kann durch das Headset durch Ausführen einer Gestenerkennung mit Hilfe von Bildern einer Kamera des Headsets oder etwas anderem, das die Hand oder den Arm des Trägers abbildet, erkannt werden. In Reaktion auf die Erkennung dieser Geste kann das Headset einen Befehl an die intelligente Leuchte ausgeben, ihre Lichtausgabe einzustellen, indem diese das Licht anschaltet.
-
Die 4–9 zeigen Beispiele für eine Logik, die in Verbindung mit 3 ausgeführt werden kann. Zum Beispiel kann die Entscheidung an den entsprechenden Entscheidungsrauten in jeder dieser Figuren wie oben beschrieben an der Entscheidungsraute 306 getroffen werden und kann die Aktion, die an jedem der entsprechenden Blöcke in jeder dieser Figuren erfolgt, wie oben beschrieben am Block 308 ausgeführt werden.
-
Beginnend mit 4 kann die Logik an der Raute 400 bestimmen, ob das zu steuernde Gerät eingeschaltet ist. Bei einigen Beispielen kann die Entscheidung sogar darin bestehen, ob das Gerät an einem bestimmten Tag und/oder zu einer bestimmten Zeit eingeschaltet ist, an dem / zu der das Gerät gemäß der Verwendungsaufzeichnung, auf die zugegriffen wird, typischerweise ausgeschaltet ist. "Typischerweise" kann zumindest ein Grenzwert der Anzahl der Male an ähnlichen Tagen/Zeiten in der Vergangenheit sein, an denen der Schaltzustand während einer Anzahl von ähnlichen Tagen/Zeiten usw. in jüngster Vergangenheit am häufigsten auftrat, usw. Eine negative Bestimmung an der Raute 400 kann bewirken, dass die Logik fortfährt, diese Bestimmung solange vorzunehmen, bis eine bejahende Bestimmung erfolgt. Dann kann die Logik in Reaktion auf eine bejahende Bestimmung an der Raute 400 zu Block 402 vorrücken, wo die Logik ein Virtual Reality Objekt (z.B. einen Schalter) darstellen kann, welches in der eingeschalteten Position vorkonfiguriert ist und mit dem interagiert werden kann, um es in die ausgeschaltete Position zu bringen, um das Gerät auszuschalten.
-
5 zeigt eine weitere beispielhafte Logik. An der Raute 500 kann die Logik bestimmen, ob das zu steuernde Gerät ausgeschaltet ist. Bei einigen Beispielen kann die Entscheidung sogar darin bestehen, ob das Gerät an einem bestimmten Tag und/oder zu einer bestimmten Zeit ausgeschaltet ist, an dem / zu der das Gerät gemäß der Verwendungsaufzeichnung, auf die zugegriffen wird, typischerweise eingeschaltet ist. Eine negative Bestimmung an der Raute 500 kann bewirken, dass die Logik fortfährt, diese Bestimmung solange vorzunehmen, bis eine bejahende Bestimmung erfolgt. Dann kann die Logik in Reaktion auf eine bejahende Bestimmung an der Raute 500 zu Block 502 vorrücken, wo die Logik ein Virtual Reality Objekt (z.B. einen Schalter) darstellen kann, welches in der ausgeschalteten Position vorkonfiguriert ist und mit dem interagiert werden kann, um es in die eingeschaltete Position zu bringen, um das Gerät einzuschalten.
-
6 zeigt ein weiteres Beispiel der Logik zur Verwendung gemäß den vorliegenden Prinzipien. An der Raute 600 kann die Logik bestimmen, ob das zu steuernde Gerät eingeschaltet ist, ohne dass sich Personen in dem Raum befinden, in dem das Gerät angeordnet ist. Eine Person oder deren Abwesenheit kann basierend auf Bildern von einer Kamera in dem Raum, die den Raum abbildet, und der Ausführung einer Objekt- und/oder Gesichtserkennungssoftware an den von der Kamera empfangenen Bildern identifiziert werden, um zu bestimmen, ob mindestens eine Person anwesend ist. Eine negative Bestimmung an der Raute 600 kann bewirken, dass die Logik mit dieser Bestimmung solange fortfährt, bis eine bejahende Bestimmung erfolgt. Dann kann die Logik in Reaktion auf eine bejahende Bestimmung an der Raute 600 zu Block 602 vorrücken, wo die Logik ein Virtual Reality Objekt (z.B. einen Schalter) darstellen kann, welches in der eingeschalteten Position vorkonfiguriert ist und mit dem interagiert werden kann, um es in die ausgeschaltete Position zu bringen, um das Gerät auszuschalten, da sich niemand in dem Raum befindet, in dem das Gerät angeordnet ist, sich jedoch nicht der Träger des Headsets oder jemand anderes befindet.
-
Bezüglich 7 kann die Logik an der Raute 700 bestimmen, ob ein Träger des Headsets zu einem anderen Gerät in der Umgebung blickt und/oder auf dieses zeigt (z.B. mit einem Finger oder einem anderen Teil der Hand des Trägers). Die Geste des Zeigens kann basierend auf Bildern von einer Kamera, die den Träger abbildet, und auf der Ausführung einer Gestenerkennungssoftware an den empfangenen Bildern identifiziert werden, um zu bestimmen, dass der Träger auf etwas zeigt. Ein Träger, der auf das Gerät blickt, kann basierend auf Bildern von einer Kamera, welche die Augen des Trägers abbildet, und auf der Ausführung einer Eye Tracking Software an den empfangenen Bildern identifiziert werden, um zu bestimmen, wohin der Träger blickt. Eine negative Bestimmung an der Raute 700 kann bewirken, dass die Logik damit fortfährt, diese Bestimmung solange vorzunehmen, bis eine bejahende Bestimmung erfolgt. Dann kann die Logik in Reaktion auf eine bejahende Bestimmung an der Raute 700 zu Block 702 vorrücken, wo die Logik mindestens ein Virtual Reality Objekt auf einer Oberfläche nahe dem Träger darstellen kann, um das Gerät unter Verwendung des Virtual Reality Objekts zu steuern. Zum Beispiel können, wenn das Gerät ein Thermostat ist, Schalter einer virtuellen Realität zum An- oder Ausschalten eines Heizgerätes und zum An- oder Ausschalten einer Klimaanlage auf einem benachbarten Tisch dargestellt werden.
-
Nun mit Bezug auf 8 kann die Logik an der Raute 800 bestimmen, ob ein Befehl empfangen wurde, der ein anderes Gerät in der Umgebung betrifft, wie beispielsweise ein Sprachbefehl, der über ein Mikrofon des Headsets empfangen und mit Hilfe einer Spracherkennungssoftware erkannt wurde. Der Befehl kann zum Beispiel ein Befehl zum Darstellen von Steuerungen für das Gerät und/oder ein Befehl zum Steuern des Geräts in einer bestimmten Weise sein. Eine negative Bestimmung an der Raute 800 kann bewirken, dass die Logik damit fortfährt, diese Bestimmung solange vorzunehmen, bis eine bejahende Bestimmung erfolgt. Dann kann die Logik in Reaktion auf eine bejahende Bestimmung an der Raute 800 zu Block 802 vorrücken, wo die Logik mindestens ein Virtual Reality Objekt zum Steuern des Geräts darstellen kann, wie beispielsweise ein Objekt, das mit einer bestimmten Funktion in Verbindung steht, die im Sprachbefehl spezifiziert wurde, und/oder alle Objekte, mit denen der Träger interagieren möchte, um das Gerät zu steuern.
-
Bezüglich 9 kann die Logik an der Raute 900 bestimmen, ob sich ein Träger des Headsets anschickt, schlafen zu gehen. Die Bestimmung kann basierend auf einer Eingabe von einem Schlafsensor erfolgen, der ein oder mehrere biometrische Daten des Trägers abtastet. Die Bestimmung kann außerdem basierend auf einer Aufzeichnung erfolgen, die mit dem Träger in Verbindung steht und die eine durchschnittliche Zeit und/oder verschiedene Zeiten anzeigt, zu denen der Träger in der Vergangenheit schlafen gegangen ist. Somit kann, basierend auf darauf hinweisende Daten vom Schlafsensor und/oder basierend auf einem eintretenden Zeitgrenzwert, der vor einer Zeit liegt, zu welcher der Träger vermutlich schlafen gehen wird, basierend auf den Daten in der Aufzeichnung, bestimmt werden, ob sich der Träger anschickt, schlafen zu gehen. Eine negative Bestimmung an der Raute 900 kann bewirken, dass die Logik damit fortfährt, diese Bestimmung solange vorzunehmen, bis eine bejahende Bestimmung erfolgt. Dann kann die Logik in Reaktion auf eine bejahende Bestimmung an der Raute 900 zu Block 902 vorrücken, wo die Logik mindestens ein Virtual Reality Objekt zum Steuern eines oder mehrerer Geräte in anderen Räumen der gleichen Umgebung darstellen kann, die noch angeschaltet sind, wie beispielsweise eine Leuchte in einem allgemeinen Bereich oder der Küche am persönlichen Wohnsitz des Trägers. Die Virtual Reality Objekte können an einer für den Träger zweckmäßigen Stelle dargestellt werden, wenn sich dieser anschickt, zu Bett zu gehen, wie beispielsweise der Oberseite eines Nachttischs neben dem Bett des Trägers.
-
10 ist eine Darstellung vorliegender Prinzipien. Ein Raum 1000 weist einen Boden 1002 und Wände 1004, 1006 auf. In der Wand 1006 ist außerdem eine Tür 1008 dargestellt, zusammen mit einem tatsächlichen Lichtschalter 1010 der realen Welt, der physisch betätigt werden kann, um eine internetfähige Leuchte 1012 an- und auszuschalten. Zu beachten ist, dass der Schalter 1010 an der Wand 1006 am nächsten zu der Seite der Tür liegt, an der sich die Scharniere 1014 befinden, so dass der Schalter 1010 durch die Tür verdeckt sein kann, die in den Raum 1000 schwingt, wenn der Träger eines Headsets den Raum 1000 durch die Tür 1008 betritt, wodurch das Erreichen des Schalters 1010 zum Anschalten der Leuchte 1012 für den Träger unbequem wird.
-
Demgemäß kann, basierend auf einem Verwendungsmuster des Trägers, der Schwierigkeiten hat, den Lichtschalter 1010 hinter der Tür und im Dunkeln zu finden (z.B. die Lichter über mindestens eine Grenzwertzeit nach dem Betreten des Raumes 1000 nicht anschaltet), das vom Träger getragene Headset nach dem Betreten des Raumes 1000 und/oder Öffnen der Tür 1008 durch den Träger einen Lichtschalter 1016 einer virtuellen Realität auf seiner Anzeige darstellen, so dass er für den Träger an einem flachen Abschnitt/Bereich der Wand 1006 neben der gegenüberliegenden Seite der Tür angeordnet zu sein scheint, die frei von Gegenständen wie Gemälden, Bildern usw. ist, die sonst an der Wand hängen können. Der Träger kann somit den Raum 1000 durch die Tür 1008 betreten und bequem mit dem Lichtschalter 1016 einer virtuellen Realität interagieren, indem er eine Bewegung des "Anschaltens" des Lichtschalters an der Stelle der Wand 1006 imitiert, an der der virtuelle Lichtschalter 1016 durch das Headset dargestellt wird. Das Headset kann dann die Geste erkennen und einen Befehl zum Anschalten an die Leuchte 1012 ausgeben.
-
11 ist eine weitere Darstellung vorliegender Prinzipien. Ein Raum 1100 weist ein Fernsehgerät 1102 auf, das zusammen mit einem Kaffeetisch 1104 mit einer oberen flachen Fläche, auf der gegenwärtig keine realen, physischen Objekte platziert sind, in diesem angeordnet ist. Für den Träger eines Headsets, der den Kaffeetisch 1104 durch die Anzeige eines Headsets einer erweiterten Realität betrachtet, können jedoch ein oder mehrere Steuersets 1106–1110 auf der oberen Fläche und im dreidimensionalen Raum angeordnet erscheinen, basierend darauf, dass das Headset die Fläche als flach und nicht von anderen Gegenständen besetzt identifiziert (wie z.B. mit Hilfe von Bildern von einer Kamera zusammen mit einer Objekterkennungssoftware und/oder Raumanalysesoftware identifiziert).
-
Zum Beispiel kann die Objekterkennung verwendet werden, um zu bestimmen, dass ein Objekt der realen Welt, das auf einem Bild identifiziert wurde, eine Fläche aufweist, die dem Gerät laut Vorkonfigurierung als für eine Darstellung von Virtual Reality Objekten akzeptabel bekannt ist. Als weiteres Beispiel kann die Raumanalyse verwendet werden, um zu bestimmen, dass ein Objekt der realen Welt, das auf einem Bild identifiziert wurde, eine Fläche aufweist, die zumindest im Wesentlichen flach ist (z.B. eine Fläche mit weniger als der vordefinierten Krümmung aufweist), und um somit zu bestimmen, dass die Fläche zur Darstellung von Virtual Reality Objekten geeignet ist.
-
Das Steuerset 1106 kann zum Steuern des Fernsehgerätes 1102 verwendet werden und dementsprechend können für den Träger des Headsets eine Sender-Aufwärts-Schaltfläche 1112 und eine Sender-Abwärts-Schaltfläche 1114 derart erscheinen, als seien diese auf der oberen Fläche des Kaffeetischs 1104 angeordnet. Obwohl nur die Schaltflächen 1112 und 1114 zum Steuern des Fernsehgeräts gezeigt sind, können noch weitere Schaltflächen zum Steuern des Fernsehgeräts vorhanden sein, wie beispielsweise An- und Aus-Schaltflächen, um das Fernsehgerät an- beziehungsweise auszuschalten.
-
Das Steuerset 1108 kann zum Steuern einer Leuchte in einem anderen Raum verwendet werden und kann dementsprechend für den Träger des Headsets auch ein Lichtschalter 1116 derart erscheinen, als sei dieser auf der oberen Fläche des Kaffeetischs 1104 angeordnet.
-
Das Steuerset 1110 kann zum Steuern eines Herdes in einer Küche neben dem Raum 1100 verwendet werden und kann dementsprechend für den Träger des Headsets ein Temperaturwähler 1118 und eine Aus-Schaltfläche 1120 derart erscheinen, als seien diese auf der oberen Fläche des Kaffeetischs 1104 angeordnet.
-
Es versteht sich, dass der Träger mit jeder der Schaltflächen/Steuerungen, die dargestellt sind, als seien diese auf dem Tisch 1104 angeordnet, interagieren kann, indem er dorthin gestikuliert, wo er die entsprechende Steuerung/Schaltfläche angeordnet sieht. Des Weiteren versteht es sich, dass, wenn auf einem Teil der oberen flachen Fläche des Kaffeetischs 1104 tatsächliche Objekte der realen Welt angeordnet sind, die Virtual Reality Objekte nur derart dargestellt werden können, als seien diese auf anderen Abschnitten/Bereichen der oberen Fläche angeordnet, auf denen keine Objekte platziert wurden.
-
Fortfahrend mit der ausführlichen Beschreibung in Bezug auf 12 ist eine beispielhafte Benutzerschnittstelle (UI) 1200 gezeigt, die auf einer Anzeige dargestellt werden kann, um unter Übernahme der vorliegenden Prinzipien Einstellungen eines Gerätes zu konfigurieren. Die UI 1200 beinhaltet eine Option 1202, um die Darstellung eines Objekts / einer Steuerung einer virtuellen Realität für ein oder mehrere Geräte basierend auf einer oder mehreren erfüllten Bedingungen, wie hierin offenbart, zu ermöglichen. Die Option 1202 kann durch Markieren eines Kontrollkästchens 1204 aktiviert werden.
-
Die UI 1200 zeigt außerdem eine Unteroption 1206 für einen Benutzer zum Auswählen eines oder mehrerer bestimmter Geräte 1208, für die Steuerungen dargestellt werden können, indem das entsprechende Kontrollkästchen 1210 neben jedem Gerät 1208 markiert wird. Der Einfachheit halber sind nur wenige Geräte 1208 aufgelistet, jedoch können einige und/oder alle Geräte aufgelistet sein, die steuerbar sind.
-
Des Weiteren kann die UI 1200 eine Unteroption 1212 zum Auswählen einer oder mehrerer Bedingungen der Verwendung gemäß den vorliegenden Prinzipien beinhalten, indem das entsprechende Kontrollkästchen 1216 neben jeder Bedingung 1214 markiert wird. Der Einfachheit halber sind nur wenige Bedingungen 1214 aufgelistet, jedoch können einige und/oder alle Bedingungen aufgelistet sein, die überwacht werden können.
-
Weiterhin in Bezug auf 12 kann die UI 1200 auch eine Einstellung 1218 für einen Benutzer/Träger zur Vorauswahl einer oder mehrerer tatsächlicher Flächen in der realen Welt in einer bestimmten Umgebung beinhalten, auf denen die Steuerungen einer virtuellen Realität auf Wunsch des Benutzers dargestellt werden sollen. Damit können die Flächen vor der Darstellung auf der UI 1200 durch ein Gerät unter Übernahme der vorliegenden Prinzipien mit Hilfe der Objekterkennung identifiziert worden sein. Jede beispielhafte Fläche kann durch Markieren des entsprechenden danebenliegenden Kontrollkästchens 1220 ausgewählt werden.
-
Des Weiteren ist zu beachten, dass die erste beispielhafte Fläche 1222 nicht an sich eine einzelne tatsächliche Fläche ist, sondern eher eine Art tatsächlicher Fläche. Insbesondere ist die Art eine nicht besetzte flache Fläche, die sich einem Träger zu einem gegebenen Zeitpunkt am nächsten befindet. So kann zum Beispiel, wenn der Träger auf einer Couch sitzt, der Sitz neben dem Träger oder die Oberseite eines benachbarten Kaffeetischs die nächstgelegene Fläche sein, wohingegen, wenn der Träger an einer Wand lehnt, in diesem Fall die Wand die nächstgelegene Fläche sein kann. Das Nächstgelegene kann basierend auf Bildern von einer Kamera und auf der Ausführung einer Objekterkennungs- und/oder Raumanalysesoftware identifiziert werden, sowie basierend auf Positionsdaten, die von anderen Geräten am Headset empfangen werden. Ob eine Fläche besetzt ist oder nicht, kann basierend auf einer Ausführung einer Objekterkennungssoftware mit Hilfe von Bildern von einer Kamera bestimmt werden, um die Fläche und die Gegenstände, die auf ihr angeordnet sein können, zu identifizieren.
-
Die Einstellung 1218 kann außerdem einen Wahlschalter 1224 beinhalten. Der Wahlschalter 1224 kann ausgewählt werden, um einen Prozess in Gang zu setzen, bei dem ein Benutzer, während er sein Headset trägt, in seiner Umgebung umherlaufen und auf bestimmte Flächen weisen/zeigen kann, die das Headset dann als Flächen erkennt und zuordnet, auf denen gemäß den vorliegenden Prinzipien Virtual Reality Objekte dargestellt werden können.
-
Es versteht sich, dass über 12 hinaus gemäß den vorliegenden Prinzipien weitere Bedingungen überwacht werden können, um zu bestimmen, ob ein Virtual Reality Objekt darzustellen ist. Zum Beispiel können Wetter- und Umgebungslichtbedingungen verwendet werden. Wenn z.B. das Licht der Außenumgebung, das von einem Umgebungslichtsensor abgetastet wird, über einem Grenzwert liegt, kann gemäß den vorliegenden Prinzipien ein Gerät keinen Lichtschalter einer erweiterten Realität zum Anschalten von Scheinwerfern auf einer flachen Fläche zeigen, die sonst die Außenumgebung beleuchten würden.
-
Um ein weiteres Beispiel bereitzustellen, kann, wenn ein Benutzer normalerweise nach der Arbeit bei Dunkelheit zur Hintertür seines Hauses tritt, der Hintereingang aber keinen tatsächlichen Schalter der realen Welt für die Scheinwerfer aufweist, das Headset eines Benutzers, wenn die Person ihren Hund rauslässt, einen virtuellen Lichtschalter neben anderen tatsächlichen Lichtschaltern der realen Welt an einer Wand neben der Tür darstellen. Der Benutzer kann dann eine Bewegung machen, um den virtuellen Lichtschalter zu drücken oder zu schalten. Dabei kann das Headset ein Signal an das System des Smart Homes des Benutzers senden, welches im Hintergrund tatsächlich die Scheinwerfer anschalten könnte. Als weiteres vorliegendes Beispiel kann der Benutzer seinem Headset hinzufügen, es konfigurieren oder anweisen (z.B. dauerhaft oder immer, wenn eine vordefinierte Bedingung erfüllt ist), einen virtuellen Lichtschalter für die Scheinwerfer an einer bestimmten Stelle an der Außenwand eines Hauses darzustellen, vorausgesetzt das es sich bei den Scheinwerfern um eine Außenbeleuchtung handelt.
-
Man wird nun erkannt haben, dass die vorliegenden Prinzipien für das Erzeugen eines virtuellen Objekts in zweckmäßigen Bereichen des virtuellen Raumes / der realen Welt des Benutzers sorgen. Durch die Handhabung dieser virtuellen Objekte kann ein Benutzer die Funktion von Objekten der realen Welt modifizieren. Dies kann zum Beispiel in einer Umgebung eines Smart Homes erfolgen, wo Benutzer in ihrem Wohnsitz Geräte, Anwendungen usw. elektronisch und ferngesteuert an- oder ausschalten können. Darüber hinaus kann der Benutzer in einigen Ausführungsformen Schalter, Schaltflächen oder eine beliebige Anzahl virtueller Objekte erzeugen, die dargestellt werden sollen (und sogar bestimmte Stellen zuweisen, an denen diese virtuell dargestellt werden), um eines der verbundenen Geräte zu handhaben.
-
Vor dem Abschluss sei gesagt, dass es sich versteht, dass, obwohl eine Softwareanwendung für die Übernahme der vorliegenden Prinzipien mit einem Gerät, wie beispielsweise dem System 100, verkauft werden kann, die vorliegenden Prinzipien in Fällen gelten, in denen eine derartige Anwendung von einem Server über ein Netzwerk, wie dem Internet, auf ein Gerät heruntergeladen wird. Darüber hinaus gelten die vorliegenden Prinzipien in Fällen, in denen eine derartige Anwendung in einem computerlesbaren Speichermedium enthalten ist, das verkauft und/oder bereitgestellt wird, wobei das computerlesbare Speichermedium kein transitorisches Signal und/oder ein Signal an sich ist.
-
Es versteht sich, dass, obwohl die vorliegenden Prinzipien in Bezug auf einige beispielhafte Ausführungsformen beschrieben wurden, diese nicht einschränkend zu betrachten sind und dass verschiedene alternative Anordnungen verwendet werden können, um den hierin beanspruchten Erfindungsgegenstand umzusetzen. Komponenten, die in einer Ausführungsform enthalten sind, können in jeder geeigneten Kombination in anderen Ausführungsformen verwendet werden. Zum Beispiel können einige der hierin beschriebenen und/oder in den Figuren dargestellten verschiedenen Ausführungsformen kombiniert, ausgetauscht oder aus anderen Ausführungsformen ausgeschlossen werden.