DE102019107103A1 - METHOD AND SYSTEM FOR OBJECT SEGMENTATION IN A MIXED REALITY ENVIRONMENT - Google Patents
METHOD AND SYSTEM FOR OBJECT SEGMENTATION IN A MIXED REALITY ENVIRONMENT Download PDFInfo
- Publication number
- DE102019107103A1 DE102019107103A1 DE102019107103.8A DE102019107103A DE102019107103A1 DE 102019107103 A1 DE102019107103 A1 DE 102019107103A1 DE 102019107103 A DE102019107103 A DE 102019107103A DE 102019107103 A1 DE102019107103 A1 DE 102019107103A1
- Authority
- DE
- Germany
- Prior art keywords
- image
- user
- input device
- limb
- peripheral input
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/011—Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
- G06F3/012—Head tracking input arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/16—Constructional details or arrangements
- G06F1/1613—Constructional details or arrangements for portable computers
- G06F1/163—Wearable computers, e.g. on a belt
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/16—Constructional details or arrangements
- G06F1/1613—Constructional details or arrangements for portable computers
- G06F1/1633—Constructional details or arrangements of portable computers not specific to the type of enclosures covered by groups G06F1/1615 - G06F1/1626
- G06F1/1684—Constructional details or arrangements related to integrated I/O peripherals not covered by groups G06F1/1635 - G06F1/1675
- G06F1/1686—Constructional details or arrangements related to integrated I/O peripherals not covered by groups G06F1/1635 - G06F1/1675 the I/O peripheral being an integrated camera
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/16—Constructional details or arrangements
- G06F1/1613—Constructional details or arrangements for portable computers
- G06F1/1633—Constructional details or arrangements of portable computers not specific to the type of enclosures covered by groups G06F1/1615 - G06F1/1626
- G06F1/1684—Constructional details or arrangements related to integrated I/O peripherals not covered by groups G06F1/1635 - G06F1/1675
- G06F1/1694—Constructional details or arrangements related to integrated I/O peripherals not covered by groups G06F1/1635 - G06F1/1675 the I/O peripheral being a single or a set of motion sensors for pointer control or gesture input obtained by sensing movements of the portable computer
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/017—Gesture based interaction, e.g. based on a set of recognized hand gestures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/03—Arrangements for converting the position or the displacement of a member into a coded form
- G06F3/0304—Detection arrangements using opto-electronic means
- G06F3/0308—Detection arrangements using opto-electronic means comprising a plurality of distinctive and separately oriented light emitters or reflectors associated to the pointing device, e.g. remote cursor controller with distinct and separately oriented LEDs at the tip whose radiations are captured by a photo-detector associated to the screen
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/03—Arrangements for converting the position or the displacement of a member into a coded form
- G06F3/0304—Detection arrangements using opto-electronic means
- G06F3/0325—Detection arrangements using opto-electronic means using a plurality of light emitters or reflectors or a plurality of detectors forming a reference frame from which to derive the orientation of the object, e.g. by triangulation or on the basis of reference deformation in the picked up image
-
- G—PHYSICS
- G02—OPTICS
- G02B—OPTICAL ELEMENTS, SYSTEMS OR APPARATUS
- G02B27/00—Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
- G02B27/01—Head-up displays
- G02B27/0101—Head-up displays characterised by optical features
- G02B2027/0138—Head-up displays characterised by optical features comprising image capture systems, e.g. camera
-
- G—PHYSICS
- G02—OPTICS
- G02B—OPTICAL ELEMENTS, SYSTEMS OR APPARATUS
- G02B27/00—Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
- G02B27/01—Head-up displays
- G02B27/0101—Head-up displays characterised by optical features
- G02B2027/014—Head-up displays characterised by optical features comprising information/image processing systems
-
- G—PHYSICS
- G02—OPTICS
- G02B—OPTICAL ELEMENTS, SYSTEMS OR APPARATUS
- G02B27/00—Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
- G02B27/01—Head-up displays
- G02B27/017—Head mounted
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Processing Or Creating Images (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
Es werden Verfahren und Systeme zum Ermöglichen einer Mixed-Reality (MR) -Interaktion angegeben. Bei einem Beispiel umfasst das Verfahren: Aufnehmen eines ersten Bildes von der Gliedmaße eines Benutzers und einer realen Peripherieeingabevorrichtung, wobei die Gliedmaße des Benutzers die reale Peripherieeingabevorrichtung zumindest teilweise verdeckt; Segmentieren des ersten Bildes in einen der Gliedmaße des Benutzers entsprechenden ersten Pixelbereich, wobei ein zweiter Pixelbereich der realen Peripherieeingabevorrichtung entspricht; Erstellen eines zusammengesetzten Bildes aus dem ersten Bild auf Basis dessen, dass anstelle des zweiten Pixelbereichs Pixel gerendert werden, die eine virtuelle Peripherieeingabevorrichtung darstellen, sodass die virtuelle Peripherieeingabevorrichtung im zusammengesetzten Bild räumlich an derselben Stelle wie die reale Peripherieeingabevorrichtung erscheint und von der Gliedmaße des Benutzers zumindest teilweise verdeckt ist; und Anzeigen des zusammengesetzten Bildes für den Benutzer.Methods and systems for facilitating mixed reality (MR) interaction are provided. In one example, the method includes: capturing a first image of a user's limb and a real peripheral input device, wherein the limb of the user at least partially obscures the real peripheral input device; Segmenting the first image into a first pixel region corresponding to the limb of the user, wherein a second pixel region corresponds to the real peripheral input device; Creating a composite image from the first image based on rendering pixels representing a virtual peripheral input device instead of the second pixel region such that the virtual peripheral input device spatially appears in the composite image at the same location as the real peripheral input device and at least the user's limb partially obscured; and displaying the composite image to the user.
Description
VERWEISE AUF IN BEZUG GENOMMENE ANMELDUNGENREFERENCE TO RELATED APPLICATIONS
Diese nichtprovisorische Anmeldung nimmt die Rechte aus der am 20. März 2018 eingereichten provisorischen
Die folgende reguläre US-Patentanmeldung (einschließlich dieser) wurde gleichzeitig eingereicht, wobei die gesamte Offenbarung der anderen Anmeldung in diese Anmeldung für alle Zwecke durch Bezugnahme aufgenommen ist:
- • Anmeldung Nr. 16/267,200 mit dem Titel „METHOD AND SYSTEM FOR MIXED REALITY INTERACTION WITH PERIPHERAL DEVICE“, eingereicht am 4. Februar 2019.
- • Application No. 16 / 267,200 entitled "METHOD AND SYSTEM FOR MIXED REALITY INTERACTION WITH PERIPHERAL DEVICE" filed on 4 February 2019.
HINTERGRUNDBACKGROUND
Peripheriegeräte können als Schnittstelle zwischen Mensch und Computer verwendet werden. Tastaturen, Computermäuse, Bildscanner, Lautsprecher, Mikrofone, Webkameras, ein Head-Mounted Display (HMD), Taststifte, Stifte, Zeigergeräte und dergleichen mehr stellen einige der gängigen Peripheriegeräte dar. Einige dieser Peripheriegeräte können zur Verbesserung der Benutzerfreundlichkeit zusammenwirken. So kann beispielsweise ein HMD mit anderen Peripheriegeräten (z. B. einer Maus, einer Tastatur usw.) betrieben werden, um ein Mixed-Reality-Erlebnis (MR-Erlebnis) oder ein Erweiterte-Realität-Erlebnis (AR-Erlebnis) zu ermöglichen. So kann ein von einem Benutzer aufgesetztes HMD beispielsweise Kameras aufweisen, um Echtzeitbilder einer Interaktion des Benutzers mit einer sich vor dem Benutzer befindenden anderen Peripheriegeräten (z. B. einer Tastatur) aufzunehmen. Durch Kombinieren eines realen Elements (z. B. einer realen Hand oder anderer Körperteile, einer realen Tastatur usw.) aus den Bildern mit einem virtuellen Element (z. B. einer virtuellen Tastatur, einer virtuellen Hand, usw.) kann ein zusammengesetztes Bild erzeugt werden. Ein zusammengesetztes Bild kann für jedes der Echtzeitbilder erzeugt werden, wobei dem Benutzer an dem HMD anstelle der Echtzeitbilder die zusammengesetzten Bilder angezeigt werden können.Peripherals can be used as an interface between humans and computers. Keyboards, computer mice, image scanners, speakers, microphones, web cameras, a head-mounted display (HMD), styli, pens, pointing devices and the like are some of the common peripherals. Some of these peripherals may interact to enhance usability. For example, an HMD may be operated with other peripherals (eg, a mouse, a keyboard, etc.) to facilitate a mixed reality (MR) experience or an augmented reality (AR) experience , For example, an HMD set up by a user may include cameras to capture real-time images of an interaction of the user with other peripheral devices (eg, a keyboard) in front of the user. By combining a real element (eg, a real hand or other body parts, a real keyboard, etc.) from the images with a virtual element (eg, a virtual keyboard, a virtual hand, etc.), a composite image may be created be generated. A composite image may be generated for each of the real-time images, where the composite image may be displayed to the user at the HMD instead of the real-time images.
Wenn sich das HMD aufgrund einer Bewegung des Benutzers bewegt, kann das in dem HMD angezeigte zusammengesetzte Bild aktualisiert werden, um die Änderung des Betrachtungswinkels des Benutzers relativ zur Peripheriegerät nachzuvollziehen. Zur Optimierung der Konsistenz und zur Minimierung von Übelkeitsanfällen sollten das Rendern des virtuellen Elements und der realen Elemente im zusammengesetzten Bild mit der Bewegung des HMD synchronisiert sein.As the HMD moves due to movement of the user, the composite image displayed in the HMD may be updated to track the change in the viewing angle of the user relative to the peripheral device. To optimize consistency and minimize nausea, the rendering of the virtual element and the real elements in the composite image should be synchronized with the movement of the HMD.
KURZBESCHREIBUNGSUMMARY
Bestimmte Ausführungsformen geben ein Verfahren zum Bereitstellen von Mixed-Reality-Interaktion (MR-Interaktion) an. Das Verfahren umfasst ein Aufnehmen eines ersten Bildes einer realen Interaktion eines Benutzers mit einem realen Objekt zu einem ersten Zeitpunkt und unter Verwendung einer Kamera eines Head-Mounted Displays (HMD) eines Benutzers, ein Messen einer Bewegung des HMD relativ zu dem realen Objekt zwischen dem ersten und einem zweiten Zeitpunkt, ein Verarbeiten des ersten Bildes auf Basis der Messung der Bewegung des HMD zum Erzeugen eines zweiten Bildes, ein Erzeugen eines zusammengesetzten Bildes einer virtuellen Interaktion, die den Benutzer miteinbezieht, auf Basis des zweiten Bildes und ein Anzeigen der virtuellen Interaktion anstelle der realen Interaktion für den Benutzer an dem HMD auf Basis des zusammengesetzten Bildes zum zweiten Zeitpunkt.Certain embodiments provide a method for providing mixed-reality interaction (MR interaction). The method includes capturing a first image of a user's real interaction with a real object at a first time and using a head-mounted display (HMD) camera of a user, measuring movement of the HMD relative to the real object between the user first and second timings, processing the first image based on measuring the movement of the HMD to generate a second image, generating a composite image of a virtual interaction involving the user based on the second image, and displaying the virtual interaction instead of real interaction for the user at the HMD based on the composite image at the second time.
Bei einigen Ausgestaltungen wird das erste Bild zu einem ersten Zeitpunkt aufgenommen. Das Verfahren umfasst ferner ein Messen der Bewegung des HMD relativ zum realen Objekt zwischen dem ersten Zeitpunkt und dem zweiten Zeitpunkt, um ein oder mehrere Messergebnisse zu erhalten, und ein Verarbeiten des ersten Bildes auf Basis des einen oder der mehreren Messergebnisse, um das zweite Bild zu erzeugen.In some embodiments, the first image is taken at a first time. The method further comprises measuring the movement of the HMD relative to the real object between the first time and the second time to obtain one or more measurement results, and processing the first image based on the one or more measurement results to obtain the second image to create.
Bei einigen Ausgestaltungen umfasst die Verarbeitung des ersten Bildes auf Basis des einen oder der mehreren Messergebnisse, um das zweite Bild zu erzeugen, ein Speichern des ersten Bildes in einem Bildpufferspeicher, ein Verschieben eines Bestandteils des ersten Bildes in dem Bildpufferspeicher auf Basis des einen oder der mehreren Messergebnisse und ein Erzeugen des zweiten Bildes auf Basis des verschobenen Bestandteils des ersten Bildes.In some embodiments, processing the first image based on the one or more measurement results to produce the second image comprises storing the first image in a frame buffer, shifting a constituent of the first image in the frame buffer based on the one or more a plurality of measurement results and generating the second image based on the shifted component of the first image.
Bei einigen Ausgestaltungen umfasst der Bildpufferspeicher einen ersten Pufferspeicherbereich und einen zweiten Pufferspeicherbereich. Die Daten des ersten Bildes werden zwischen dem ersten Pufferspeicherbereich und dem zweiten Pufferspeicherbereich aufgeteilt. Das zweite Bild wird auf Basis eines im ersten Pufferspeicherbereich gespeicherten Teils der Daten des ersten Bildes erzeugt. Das Verschieben des Bestandteils des ersten Bildes im Bildpufferspeicher umfasst ein Ändern eines Speicherorts des ersten Pufferspeicherbereichs innerhalb des Bildpufferspeichers. In some embodiments, the frame buffer includes a first buffer area and a second buffer area. The data of the first image is divided between the first buffer memory area and the second buffer memory area. The second image is generated based on a portion of the data of the first image stored in the first buffer memory area. Moving the component of the first image in the frame buffer includes changing a location of the first buffer area within the frame buffer.
Bei einigen Ausgestaltungen umfasst der Bildpufferspeicher einen ersten Pufferspeicherbereich und einen zweiten Pufferspeicherbereich. Die Daten des ersten Bildes können zwischen dem ersten Pufferspeicherbereich und dem zweiten Pufferspeicherbereich aufgeteilt werden. Das zweite Bild kann auf Basis eines im ersten Pufferspeicherbereich gespeicherten Teils der Daten des ersten Bildes erzeugt werden. Das Verschieben des Bestandteils des ersten Bildes im Bildpufferspeicher kann ein Ändern von Speicherorten der Daten des ersten Bildes relativ zu einem Speicherort des ersten Pufferspeicherbereichs innerhalb des Bildpuffers umfassen.In some embodiments, the frame buffer includes a first buffer area and a second buffer area. The data of the first image may be divided between the first buffer memory area and the second buffer memory area. The second image may be generated based on a portion of the data of the first image stored in the first buffer memory area. The shifting of the constituent of the first image in the frame buffer may include changing locations of the data of the first image relative to a location of the first buffer area within the frame buffer.
Bei einigen Ausgestaltungen umfassen die einen oder die mehreren Messergebnisse eine Winkelgeschwindigkeit des HMD und eine Drehrichtung des HMD.In some embodiments, the one or more measurements include an angular velocity of the HMD and a direction of rotation of the HMD.
Bei einigen Ausgestaltungen umfasst ein Verschieben eines Bestandteils des ersten Bildes im Bildpufferspeicher auf Basis des einen oder der mehreren Messergebnisse ein Bestimmen eines Drehwinkels auf Basis der Winkelgeschwindigkeit, der Drehrichtung und einer Zeitdifferenz zwischen dem ersten Zeitpunkt und dem zweiten Zeitpunkt, ein Bestimmen einer Verschiebestrecke und einer Verschieberichtung auf Basis des Drehwinkels, einer ersten Position des HMD und einer zweiten Position des realen Objekts sowie ein Verschieben des Bestandteils des ersten Bildes im Bildpufferspeicher auf Basis der Verschiebestrecke und der Verschieberichtung.In some embodiments, shifting a component of the first image in the frame buffer based on the one or more measurement results includes determining a rotation angle based on the angular velocity, the direction of rotation, and a time difference between the first time and the second time, determining a displacement distance, and Displacement direction based on the angle of rotation, a first position of the HMD and a second position of the real object and a shifting of the component of the first image in the image buffer memory on the basis of the displacement distance and the displacement direction.
Bei einigen Ausgestaltungen umfasst das Verfahren ferner ein Bestimmen der Zeitdifferenz auf Basis einer Schätzung eines Zeitverzugs zwischen dem ersten Zeitpunkt und dem zweiten Zeitpunkt.In some embodiments, the method further comprises determining the time difference based on an estimate of a time delay between the first time and the second time.
Bei einigen Ausgestaltungen umfasst das erste Bild ein Bild einer Anzeigevorrichtung, die ein sich mit der Zeit änderndes Muster anzeigt. Das Verfahren umfasst ferner ein Identifizieren des Musters in dem ersten Bild und ein Bestimmen des ersten Zeitpunkts auf Basis des identifizierten Musters.In some embodiments, the first image includes an image of a display device that displays a time-varying pattern. The method further comprises identifying the pattern in the first image and determining the first time based on the identified pattern.
Bei einigen Ausgestaltungen umfasst das erste Bild ein von dem realen Objekt emittiertes sich mit der Zeit änderndes Lichtmuster. Das Verfahren umfasst ferner ein Identifizieren des Lichtmusters in dem ersten Bild und ein Bestimmen des ersten Zeitpunkts auf Basis des identifizierten Lichtmusters.In some embodiments, the first image includes a time varying light pattern emitted by the real object. The method further comprises identifying the light pattern in the first image and determining the first time based on the identified light pattern.
Bei einigen Ausgestaltungen wird der erste Zeitpunkt auf Basis einer Bestimmung der Zeit bestimmt, zu der sich ein Verschluss der Kamera des HMD öffnet.In some embodiments, the first time is determined based on a determination of the time at which a shutter of the camera of the HMD opens.
Bei einigen Ausgestaltungen wird der zweite Zeitpunkt auf Basis einer Bestimmung der Zeit bestimmt, zu der das erste Bild im Bildpufferspeicher gespeichert wird.In some embodiments, the second time is determined based on a determination of the time at which the first image is stored in the frame buffer.
Bei einigen Ausgestaltungen wird die zweite Position des realen Objekts auf Basis von Informationen bestimmt, die von einem an dem realen Objekt angebrachten optischen Sensor empfangen werden.In some embodiments, the second position of the real object is determined based on information received from an optical sensor attached to the real object.
Bei einigen Ausgestaltungen wird die zweite Position des realen Objekts auf Basis von Informationen bestimmt, die von einem optischen Sensor empfangen werden, der Licht von einem an dem realen Objekt angebrachten Lichtsender empfängt.In some embodiments, the second position of the real object is determined based on information received from an optical sensor that receives light from a light emitter attached to the real object.
Bei einigen Ausgestaltungen wird die erste Position des HMD auf Basis eines Erfassens von gerichteten Lichtstrahlen mehrerer Lichtemitter und vorgegebener Positionen der mehreren Lichtemitter bestimmt.In some embodiments, the first position of the HMD is determined based on detecting directional light rays of multiple light emitters and predetermined positions of the plurality of light emitters.
Bei einigen Ausgestaltungen basiert das Erzeugen des zusammengesetzten Bildes auf einem Bestimmen einer Bildposition des realen Objekts im zweiten Bild auf Basis einer Position des HMD, einer Position des realen Objekts und des einen oder der mehreren Messergebnisse, und auf einem Ersetzen von Pixeln, die dem realen Objekt an der Bildposition im zweiten Bild entsprechen, durch Pixel eines virtuellen Objekts, um das zusammengesetzte Bild zu erzeugen.In some embodiments, generating the composite image is based on determining an image position of the real object in the second image based on a position of the HMD, a position of the real object and the one or more measurement results, and a replacement of pixels corresponding to the real one Object at the image position in the second image correspond, through pixels of a virtual object, to produce the composite image.
Bei einigen Ausgestaltungen basiert das Erzeugen des zusammengesetzten Bildes auf einem Bestimmen einer ersten Bildposition des realen Objekts im zweiten Bild auf Basis einer Position des HMD, einer Position des realen Objekts und dem einen oder den mehreren Messergebnissen, einem Bestimmen einer zweiten Bildposition eines Körperteils des Benutzers, der an der realen Interaktion mit dem realen Objekt beteiligt ist, auf Basis der ersten Bildposition und in dem zweiten Bild, ein Extrahieren von Pixeln des Körperteils des Benutzers an einer zweiten Bildposition im zweiten Bild und Einfügen der Pixel des Körperteils des Benutzers in das zusammengesetzte Bild.In some embodiments, generating the composite image is based on determining a first image position of the real object in the second image based on a position of the HMD, a position of the real object, and the one or more measurement results, determining a second image position of a body part of the user based on the first image position and the second image, extracting pixels of the body part of the user at a second image position in the second image, and inserting the pixels of the body part of the user into the composite object involved in real interaction with the real object Image.
Bei einigen Ausgestaltungen umfasst der Körperteil des Benutzers zumindest einen Teil einer Hand des Benutzers.In some embodiments, the body part of the user includes at least a portion of a user's hand.
Bestimmte Ausführungsformen geben eine Vorrichtung an. Die Vorrichtung umfasst eine Anzeigevorrichtung, eine Kamera, die zum Aufnehmen eines ersten Bildes einer realen Interaktion eines Benutzers mit einem realen Objekt zu einem ersten Zeitpunkt ausgebildet ist, und einen mit der Kamera und der Anzeigevorrichtung gekoppelten Bildprozessor, der zum Messen einer Bewegung der Vorrichtung relativ zu dem realen Objekt zwischen dem ersten Zeitpunkt und einem zweiten Zeitpunkt, zum Verarbeiten des ersten Bildes auf Basis der Messung der Bewegung der Vorrichtung zum Erzeugen eines zweites Bildes, zum Erzeugen eines zusammengesetzten Bildes einer virtuellen Interaktion, die den Benutzer miteinbezieht, auf Basis des zweiten Bildes und zum Ausgeben des zusammengesetzten Bildes an die Anzeigevorrichtung ausgebildet ist, um dem Benutzer zum zweiten Zeitpunkt anstelle der realen Interaktion die virtuelle Interaktion anzuzeigen.Certain embodiments specify a device. The apparatus includes a display device, a camera configured to capture a first image of a real user interaction with a real object at a first time, and an image processor coupled to the camera and the display device that is relatively capable of measuring movement of the device to the real object between the first time and a second time, for Processing the first image based on the measurement of the movement of the second image forming device, generating a composite image of a virtual interaction involving the user based on the second image and outputting the composite image to the display device to show the user the virtual interaction instead of the real interaction at the second time.
Bestimmte Ausführungsformen geben ein nicht nichtflüchtiges, computerlesbares Medium an. Das nichtflüchtige, computerlesbare Medium speichert Anweisungen, die bei Ausführung durch einen Hardwareprozessor den Hardwareprozessor veranlassen, von einer Kamera eines Head-Mounted Displays (HMD) ein erstes Bild einer realen Interaktion eines Benutzers mit einem realen Objekt zu empfangen, wobei das erste Bild von der Kamera zu einem ersten Zeitpunkt aufgenommen wurde, eine Bewegung des HMD relativ zu dem realen Objekt zwischen dem ersten Zeitpunkt und einem zweiten Zeitpunkt zu messen, das erste Bild auf Basis der Messung der Bewegung des HMD zu verarbeiten, um ein zweites Bild zu erzeugen, ein zusammengesetztes Bild einer virtuellen Interaktion, die den Benutzer miteinbezieht, auf Basis des zweiten Bildes zu erzeugen und das zusammengesetzte Bild einer Anzeigevorrichtung zur Verfügung zu stellen, um dem Benutzer zum zweiten Zeitpunkt anstelle der realen Interaktion die virtuelle Interaktion anzuzeigen.Certain embodiments specify a non-transient, computer-readable medium. The non-transitory computer-readable medium stores instructions that, when executed by a hardware processor, cause the hardware processor to receive from a camera of a head-mounted display (HMD) a first image of a real user interaction with a real object, the first image being from the user Camera was taken at a first time to measure a movement of the HMD relative to the real object between the first time and a second time to process the first image based on the measurement of the movement of the HMD to produce a second image a composite image of a virtual interaction involving the user based on the second image and providing the composite image to a display device to display the virtual interaction to the user at the second time instead of the real interaction.
Bestimmte Ausführungsformen geben ein Verfahren zum Bereitstellen einer Mixed-Reality-Interaktion (MR-Interaktion) an. Das Verfahren umfasst ein Aufnehmen eines ersten Bildes von einer Gliedmaße eines Benutzers und einer realen Peripherieeingabevorrichtung, wobei die Gliedmaße des Benutzers zumindest einen Teil der realen Peripherieeingabevorrichtung verdeckt, ein Segmentieren des ersten Bildes in einen ersten Pixelbereich, der der Gliedmaße des Benutzers entspricht, wobei ein zweiter Pixelbereich der realen Peripherieeingabevorrichtung entspricht, ein Erzeugen eines zusammengesetzten Bildes aus dem ersten Bild auf Basis dessen, dass anstelle des zweiten Pixelbereichs Pixel gerendert werden, die eine virtuelle Peripherieeingabevorrichtung darstellen, sodass die virtuelle Peripherieeingabevorrichtung im zusammengesetzten Bild räumlich an derselben Stelle wie die reale Peripherieeingabevorrichtung erscheint und von der Gliedmaße des Benutzers zumindest teilweise verdeckt ist, und ein Anzeigen des zusammengesetzten Bildes für den Benutzer.Certain embodiments provide a method for providing mixed reality (MR) interaction. The method includes capturing a first image of a limb of a user and a real peripheral input device, wherein the limb of the user obscures at least a portion of the real peripheral input device, segmenting the first image into a first pixel region corresponding to the limb of the user second pixel region of the physical peripheral input device corresponds to generating a composite image from the first image based on rendering pixels representing a virtual peripheral input device instead of the second pixel region so that the virtual peripheral input device in the composite image spatially occupies the same location as the real peripheral input device appears and is at least partially obscured by the limb of the user, and displaying the composite image to the user.
Bei einigen Ausgestaltungen wird das zusammengesetzte Bild dem Benutzer praktisch zur derselben Zeit angezeigt, zu der die Gliedmaße des Benutzers zumindest einen Teil der realen Peripherieeingabevorrichtung verdeckt.In some embodiments, the composite image is displayed to the user at virtually the same time that the limb of the user obscures at least a portion of the physical peripheral input device.
Bei einigen Ausgestaltungen erfolgt das Segmentieren des ersten Bildes auf Basis einer Verteilung von Aktivitäten auf mehrere Stellen der realen Peripherieeingabevorrichtung.In some embodiments, segmentation of the first image is based on a distribution of activities to multiple locations of the physical peripheral input device.
Bei einigen Ausgestaltungen umfasst das Segmentieren des ersten Bildes ein Bestimmen einer historischen Verteilung der Aktivitäten auf die mehreren Stellen der realen Peripherieeingabevorrichtung, wobei die historische Verteilung der Aktivitäten auf vorherigen Interaktionen zwischen dem Benutzer oder einer Gruppe von Benutzern mit der realen Peripherieeingabevorrichtung basiert, ein Bestimmen von einem oder mehreren Schwellwerten auf Basis der historischen Verteilung der Aktivitäten, ein Vergleichen der Pixel des ersten Bildes mit dem einen bzw. den mehreren Schwellwerten und ein Bestimmen des der Gliedmaße des Benutzers entsprechenden ersten Pixelbereichs und des der realen Peripherieeingabevorrichtung entsprechenden zweiten Pixelbereichs auf Basis der Vergleichsergebnisse.In some embodiments, segmenting the first image includes determining an historical distribution of the activities to the multiple locations of the physical peripheral input device, wherein the historical distribution of the activities is based on previous interactions between the user or a group of users with the physical peripheral input device one or more thresholds based on the historical distribution of the activities, comparing the pixels of the first image with the one or more thresholds, and determining the first pixel region corresponding to the limb of the user and the second pixel region corresponding to the physical peripheral input device based on the comparison results ,
Bei einigen Ausgestaltungen umfasst das Segmentieren des ersten Bildes ein Bestimmen einer Verteilung der Wahrscheinlichkeiten, dass die Gliedmaße des Benutzers sich an einer jeweiligen Stelle der mehreren Stellen der realen Peripherieeingabevorrichtung befindet, auf Basis einer statistischen Analyse der historischen Verteilung der Aktivitäten, ein Identifizieren von Pixeln, die wahrscheinlich Teil der Gliedmaße des Benutzers sind, auf Basis der Verteilung der Wahrscheinlichkeiten und ein Bestimmen des einen oder der mehreren Schwellwerte auf Basis von einem oder mehreren Attributen der identifizierten Pixel.In some embodiments, segmenting the first image includes determining a distribution of the probabilities that the user's limb is located at a respective one of the plurality of locations of the physical peripheral input device based on a statistical analysis of the historical distribution of the activities, identifying pixels, which are likely to be part of the user's limb, based on the distribution of the probabilities and determining the one or more thresholds based on one or more attributes of the identified pixels.
Bei einigen Ausgestaltungen umfasst das Verfahren ferner ein Bestimmen eines einem ersten Bereich der Gliedmaße des Benutzers entsprechenden ersten Schwellwerts des einen oder der mehreren Schwellwerte, Bestimmen eines einem zweiten Bereich der Gliedmaße des Benutzers entsprechenden zweiten Schwellwerts des einen oder der mehreren Schwellwerte, und Vergleichen der Pixel des ersten Bildes mit dem ersten Schwellwert und dem zweiten Schwellwert, um den ersten Pixelbereich zu bestimmen, der der Gliedmaße des Benutzers entspricht.In some embodiments, the method further comprises determining a first threshold of the one or more thresholds corresponding to a first portion of the limb of the user, determining a second threshold of the one or more thresholds corresponding to a second portion of the limb of the user, and comparing the pixels of the first image having the first threshold and the second threshold to determine the first pixel region corresponding to the limb of the user.
Bei einigen Ausgestaltungen umfasst das Verfahren ferner ein Bestimmen des ersten und/oder des zweiten Schwellwerts auf Basis von einer Umgebungshelligkeit und/oder einer Benutzeridentität.In some embodiments, the method further comprises determining the first and / or second threshold based on ambient brightness and / or user identity.
Bei einigen Ausgestaltungen umfasst die Verteilung der Aktivitäten eine aktuelle Verteilung der Aktivitäten auf die mehreren Stellen der realen Peripherieeingabevorrichtung.In some embodiments, the distribution of activities includes a current distribution of the activities to the multiple locations of the real peripheral input device.
Bei einigen Ausgestaltungen umfasst das Verfahren ferner ein Empfangen einer Meldung über eine wahrgenommene Aktivität von einem sich an einer ersten Stelle der realen Peripherieeingabevorrichtung befindenden Sensor, ein Aufnehmen eines dritten Bildes von der realen Peripherieeingabevorrichtung auf Basis der Meldung, ein Auswählen eines der ersten Stelle entsprechenden dritten Pixelbereichs und eines die erste Stelle umgebenden vierten Pixelbereichs, ein Bestimmen eines ersten Farbkomponenten-Histogramms für den dritten Pixelbereich, ein Bestimmen eines zweiten Farbkomponenten-Histogramms für den vierten Pixelbereich, ein Bestimmen von einem oder von mehreren Schwellwerten auf Basis des ersten Histogramms und des zweiten Histogramms und ein Vergleichen von Pixeln des ersten Bildes mit dem einen oder den mehreren Schwellwerten, um den ersten Pixelbereich des ersten Bildes zu bestimmen, der der Gliedmaße des Benutzers entspricht. In some embodiments, the method further comprises receiving a sensed activity message from a sensor located at a first location of the physical peripheral input device, capturing a third image from the physical peripheral input device based on the message, selecting a third corresponding to the first location A pixel region and a fourth pixel region surrounding the first location, determining a first color component histogram for the third pixel region, determining a second color component histogram for the fourth pixel region, determining one or more thresholds based on the first histogram and the second Histogram and comparing pixels of the first image with the one or more thresholds to determine the first pixel region of the first image that corresponds to the limb of the user.
Bei einigen Ausgestaltungen umfasst das Verfahren ferner ein Identifizieren einer zweiten Stelle der realen Peripherieeingabevorrichtung, an der weniger als eine vorgegebene Anzahl vorangegangener Aktivitäten stattfand, auf Basis einer historischen Aktivitätsverteilung, ein Identifizieren eines der zweiten Stelle entsprechenden fünften Pixelbereichs in dem dritten Bild, ein Bestimmen eines dritten Farbkomponenten-Histogramms für den fünften Pixelbereich, ein Bestimmen eines zweiten Schwellwerts des einen oder der mehreren Schwellwerte auf Basis des dritten Histogramms und ein Vergleichen der Pixel des ersten Bildes mit dem zweiten Schwellwert, um den zweiten Pixelbereich des ersten Bildes zu bestimmen, der der realen Tastatur entspricht.In some embodiments, the method further comprises identifying a second location of the real peripheral input device on which less than a predetermined number of previous activities occurred based on a historical activity distribution, identifying a fifth pixel area corresponding to the second location in the third image, determining a third color component histogram for the fifth pixel region, determining a second threshold value of the one or more threshold values based on the third histogram, and comparing the pixels of the first image with the second threshold value to determine the second pixel region of the first image that is the second pixel real keyboard corresponds.
Bei einigen Ausgestaltungen umfasst das Verfahren ferner ein Bestimmen einer Änderung der Verteilung der Aktivitäten über der Zeit, ein Bestimmen eines Bereichs von Interesse auf Basis der Änderung, ein Identifizieren von Pixeln in dem interessierenden Bereich des ersten Bildes und ein Bestimmen des der Gliedmaße des Benutzers entsprechenden ersten Pixelbereichs aus den identifizierten Pixeln.In some embodiments, the method further comprises determining a change in the distribution of the activities over time, determining a region of interest based on the change, identifying pixels in the region of interest of the first image, and determining the limb of the user first pixel area from the identified pixels.
Bei einigen Ausgestaltungen umfasst das Verfahren ferner ein Erfassen eines zweiten Bildes der nicht von einer Gliedmaße des Benutzers verdeckten realen Peripherieeingabevorrichtung, ein Bestimmen einer oder mehrerer Schwellwerte auf Basis des zweiten Bildes, ein Übermitteln einer Meldung an den Benutzer, damit die Gliedmaße des Benutzers auf vorgegebene Stellen der realen Peripherieeingabevorrichtung gelegt wird, ein Aufnehmen eines dritten Bildes der Gliedmaße des Benutzers an den vorgegebenen Stellen der realen Peripherieeingabevorrichtung, ein Anpassen des einen oder der mehreren Schwellwerte auf Basis von Pixeln des dritten Bildes, die den vorgegebenen Stellen der realen Tastatur entsprechen, und ein Vergleichen der Pixel des ersten Bildes mit dem angepassten einen oder den angepassten mehreren Schwellwerten, um den der Gliedmaße des Benutzers entsprechenden ersten Pixelbereich zu bestimmen.In some embodiments, the method further comprises capturing a second image of the real peripheral input device not obscured by a limb of the user, determining one or more thresholds based on the second image, transmitting a message to the user to set the limb of the user to a predetermined one Places the real peripheral input device, capturing a third image of the limb of the user at the predetermined locations of the real peripheral input device, adjusting the one or more thresholds based on pixels of the third image corresponding to the predetermined locations of the real keyboard, and comparing the pixels of the first image with the adjusted one or more thresholds to determine the first pixel region corresponding to the limb of the user.
Bei einigen Ausgestaltungen wird die Verteilung der Aktivitäten aus mehreren Aktivitätsverteilungen auf Basis eines Modells der realen Peripherieeingabevorrichtung und/oder einer Anwendung bestimmt, für die der Benutzer mit der realen Peripherieeingabevorrichtung interagiert.In some embodiments, the distribution of the activities from multiple activity distributions is determined based on a model of the real peripheral input device and / or an application for which the user interacts with the real peripheral input device.
Bei einigen Ausgestaltungen wird das zusammengesetzte Bild auf Basis eines Ersetzens von Pixeln, die der realen Umgebung entsprechen, in der sich die reale Peripherieeingabevorrichtung befindet, durch Pixel erstellt, die eine virtuelle Umgebung repräsentieren, in der sich die virtuelle Peripherieeingabevorrichtung befindet.In some embodiments, the composite image is created based on replacement of pixels corresponding to the real environment in which the real peripheral input device is located by pixels representing a virtual environment in which the virtual peripheral input device resides.
Bei einigen Ausgestaltungen wird das zusammengesetzte Bild auf Basis einer Anpassung einer Luminanz des ersten Pixelbereichs auf Basis einer Luminanz der virtuellen Umgebung erstellt.In some embodiments, the composite image is created based on a luminance match of the first pixel region based on a luminance of the virtual environment.
Bei einigen Ausgestaltungen wird das zusammengesetzte Bild auf Basis eines Hinzufügens eines virtuellen Schattens, den die Gliedmaße des Benutzers in der virtuellen Umgebung wirft, erstellt.In some embodiments, the composite image is created based on adding a virtual shadow that the user's limb casts in the virtual environment.
Bei einigen Ausgestaltungen wird das erste Bild von einer Kamera eines Head-Mounted Displays (HMD) aufgenommen. Das zusammengesetzte Bild wird an dem HMD angezeigt.In some embodiments, the first image is captured by a camera of a head-mounted display (HMD). The composite image is displayed on the HMD.
Bei einigen Ausgestaltungen umfasst das Segmentieren des ersten Bildes in den der Gliedmaße des Benutzers entsprechenden ersten Pixelbereich das Identifizieren von zwei oder mehr Schwellwerten für die Pixelwerte, die die Gliedmaße des Benutzers repräsentieren, wobei Pixel des ersten Bildes, die nicht innerhalb der zwei oder mehr Schwellwerte liegen, verworfen werden.In some embodiments, segmenting the first image into the first pixel region corresponding to the limb of the user comprises identifying two or more thresholds for the pixel values representing the limb of the user, where pixels of the first image are not within the two or more thresholds lie, be discarded.
Bestimmte Ausführungsformen geben eine Vorrichtung an. Die Vorrichtung kann eine Anzeigevorrichtung, eine zum Aufnehmen eines ersten Bildes von einer Gliedmaße eines Benutzers und einer realen Peripherieeingabevorrichtung ausgebildete Kamera, wobei die Gliedmaße des Benutzers zumindest einen Teil der realen Peripherieeingabevorrichtung verdeckt, und einen mit der Kamera und der Anzeigevorrichtung gekoppelten Bildprozessor aufweisen, der ausgebildet ist, zum Erhalt des ersten Bildes von der Kamera, zum Durchführen einer Segmentierung des ersten Bildes in einen der Gliedmaße des Benutzers entsprechenden ersten Pixelbereich, wobei ein zweiter Pixelbereich der realen Peripherieeingabevorrichtung entspricht, zum Erstellen eines zusammengesetzten Bildes aus dem ersten Bild auf Basis dessen, dass statt des zweiten Pixelbereichs Pixel gerendert werden, die eine virtuelle Peripherieeingabevorrichtung repräsentieren, sodass die virtuelle Peripherieeingabevorrichtung in dem zusammengesetzten Bild räumlich an derselben Position wie die reale Peripherieeingabevorrichtung erscheint und durch die Gliedmaße des Benutzers zumindest teilweise verdeckt ist, und zum Ausgeben des zusammengesetzten Bildes an der Anzeigevorrichtung zur Anzeige für den Benutzer.Certain embodiments specify a device. The apparatus may include a display device, a camera adapted to capture a first image of a limb of a user and a real peripheral input device, wherein the limb of the user obscures at least a portion of the real peripheral input device, and an image processor coupled to the camera and the display device is formed, for obtaining the first image from the camera, for performing a segmentation of the first image into a first pixel region corresponding to the limb of the user, wherein a second pixel region of the real A peripheral input device for generating a composite image from the first image based on rendering pixels representing a virtual peripheral input device instead of the second pixel region, so that the virtual peripheral input device spatially appears in the composite image at the same position as the real peripheral input device the limb of the user is at least partially hidden, and outputting the composite image on the display device for display to the user.
Einige Ausführungsformen geben ein nichtflüchtiges computerlesbares Medium an. Das nichtflüchtige computerlesbare Medium speichert Anweisungen, die bei Ausführung durch einen Hardwareprozessor den Hardwareprozessor veranlassen, von einer Kamera ein erstes Bild von einer Gliedmaße eines Benutzers und einer realen Peripherieeingabevorrichtung zu empfangen, wobei die Gliedmaße des Benutzers mindestens einen Teil der realen Peripherieeingabevorrichtung verdeckt, eine Segmentierung des ersten Bildes in einen der Gliedmaße des Benutzers entsprechenden ersten Pixelbereich vorzunehmen, wobei ein zweiter Pixelbereich der realen Peripherieeingabevorrichtung entspricht, ein zusammengesetztes Bild aus dem ersten Bild auf Basis dessen zu erstellen, dass statt des zweiten Pixelbereichs Pixel gerendert werden, die eine virtuelle Peripherieeingabevorrichtung repräsentieren, sodass die virtuelle Peripherieeingabevorrichtung in dem zusammengesetzten Bild räumlich an derselben Position wie die reale Peripherieeingabevorrichtung erscheint und durch die Gliedmaße des Benutzers zumindest teilweise verdeckt ist, und das zusammengesetzte Bild einer Anzeigevorrichtung zum Anzeigen für den Benutzer zur Verfügung zu stellen.Some embodiments specify a non-transitory computer-readable medium. The non-transitory computer readable medium stores instructions that, when executed by a hardware processor, cause the hardware processor to receive from a camera a first image of a limb of a user and a real peripheral input device, the limb of the user obscuring at least a portion of the physical peripheral input device, a segmentation the first image into a first pixel region corresponding to the limb of the user, wherein a second pixel region corresponds to the real peripheral input device to create a composite image from the first image based on rendering pixels representing a virtual peripheral input device instead of the second pixel region so that the peripheral virtual input device in the composite image spatially appears at the same position as the real peripheral input device and through the limb of the user s is at least partially obscured, and to provide the composite image to a display device for display to the user.
Figurenlistelist of figures
Bei der ausführliche Beschreibung wird auf die beiliegenden Figuren Bezug genommen.
-
1A und1B zeigen eine typische Implementierung eines Systems, bei dem die offenbarten Techniken eingesetzt werden. -
2 zeigt ein System zum Betreiben eines Peripheriegerätes. -
3A -3F veranschaulichen Beispiele für ein Erzeugen eines immersiven Mixed-Reality-Erlebnisses (MR-Erlebnisses) mit einem System nach1A und1B , gemäß einiger Ausführungsformen. -
4A -4D veranschaulichen Beispiele für ein Bildverzögerungskompensationskonzept gemäß einiger Ausführungsformen. -
5A -5F veranschaulichen Beispiele für Handsegmentierungskonzepte gemäß einiger Ausführungsformen. -
6 veranschaulicht ein Beispiel für eine Bildverarbeitungsengine gemäß einiger Ausführungsformen. -
7 zeigt ein Flussdiagramm zur Veranschaulichung eines Beispiels für ein Verfahren zum Bereitstellen eines Mixed-Reality-Erlebnisses (MR-Erlebnisses) gemäß einiger Ausführungsformen. -
8 zeigt ein Flussdiagramm zur Veranschaulichung eines Beispiels eines Verfahrens zum Bereitstellen eines MR-Erlebnisses gemäß einiger Ausführungsformen.
-
1A and1B show a typical implementation of a system employing the disclosed techniques. -
2 shows a system for operating a peripheral device. -
3A -3F illustrate examples of creating an immersive mixed reality (MR) experience with a system1A and1B , according to some embodiments. -
4A -4D illustrate examples of an image delay compensation concept according to some embodiments. -
5A -5F illustrate examples of hand segmentation concepts according to some embodiments. -
6 illustrates an example of an image processing engine according to some embodiments. -
7 FIG. 12 is a flowchart illustrating an example of a method for providing a mixed-reality (MR) experience in accordance with some embodiments. FIG. -
8th FIG. 12 is a flowchart illustrating an example of a method of providing an MR experience according to some embodiments. FIG.
AUSFÜHRLICHE BESCHREIBUNGDETAILED DESCRIPTION
Aspekte der vorliegenden Offenbarung beziehen sich auf Peripheriegeräte im Allgemeinen, und im Besonderen auf Peripheriegeräte, die gemäß bestimmter Beispiele interaktive Mixed-Reality (MR) oder Erweiterte-Realität (AR) -Erlebnisse ermöglichen. In dieser Schrift wird unter Erweiterter Realität (AR; Augmented Reality) ein interaktives Erlebnis einer realen Umgebung verstanden. Die reale Umgebung kann vom Benutzer mit seinen/ihren Augen (z. B. mit Hilfe einer AR-Brille) direkt betrachtet oder mit Hilfe von Kameras dargestellt werden, die an der Blickrichtung des Benutzers ausgerichtet sind. Bei AR werden sich in der realen Welt befindende Objekte durch computergenerierte wahrnehmbare Informationen ergänzt, die manchmal mehrere, das Sehen, Hören, Tasten, Fühlen und Riechen einschließende Sinne ansprechen. Mixed Reality (MR), manchmal auch als hybride Realität bezeichnet, kann sich auf das Verschmelzen von realer und virtueller Welt beziehen. In einer hybriden Realität lässt sich eine komplett computergenerierte Umgebung darstellen, in die Bilder oder Darstellungen realer Objekte eingebunden werden können. Eine hybride Realität kann neue Umgebungen und Visualisierungen, in denen reale und digitale Objekte koexistieren und in Echtzeit interagieren, als auch neue Benutzerinteraktionen hervorbringen. Mixed Reality bietet eine Mischung aus Realität und virtueller Realität und kann vermittels einer immersiven Technologie eine erweiterte Realität mit einschließen.Aspects of the present disclosure relate to peripherals in general, and more particularly to peripherals that enable interactive mixed reality (MR) or augmented reality (AR) experiences according to particular examples. In this document, Augmented Reality (AR) is understood to mean an interactive experience of a real environment. The real environment can be viewed directly by the user with his / her eyes (eg with the aid of AR glasses) or displayed with the aid of cameras which are aligned in the direction of the user's gaze. In AR, real-world objects are augmented with computer-generated perceptual information that sometimes appeals to multiple senses that include seeing, hearing, touching, feeling, and smelling. Mixed reality (MR), sometimes referred to as hybrid reality, can refer to the merging of real and virtual worlds. In a hybrid reality, a completely computer-generated environment can be represented in which images or representations of real objects can be integrated. A hybrid reality can bring about new environments and visualizations in which real and digital objects coexist and interact in real time, as well as generate new user interactions. Mixed Reality offers a mix of reality and virtual reality, and can incorporate augmented reality through immersive technology.
In der nachfolgenden Beschreibung werden verschiedene Beispiele für Peripheriegeräte erläutert, die interaktive MR- und/oder AR-Erlebnisse ermöglichen. Die hier dargelegten speziellen Ausgestaltungen und Einzelheiten dienen einer Erläuterung, die ein gründliches Verständnis der Ausführungsformen ermöglicht. Ein Fachmann wird jedoch ohne Weiteres erkennen, dass bestimmte Ausführungsformen in die Praxis umgesetzt oder realisiert werden können auch ohne, dass jedes Detail offenbart ist. Ferner können allgemein bekannte Merkmale weggelassen oder vereinfacht werden, um die in dieser Schrift angegebenen neuen Merkmale klarer darzustellen.In the following description, various examples of peripheral devices that enable interactive MR and / or AR experiences will be discussed. The specific embodiments and details set forth herein are illustrative, which provides a thorough understanding of the embodiments. However, one of ordinary skill in the art will readily recognize that certain embodiments may be practiced or practiced without that every detail is disclosed. Furthermore, well-known features may be omitted or simplified to more clearly illustrate the novel features set forth in this specification.
Peripheriegeräte können als Schnittstelle zwischen Mensch und Computer verwendet werden. Einige der gängigen Peripheriegeräte umfassen Tastaturen, Computermäuse, Bildscanner, Lautsprecher, Mikrofone, Webkameras, ein Head-Mounted Display (HMD), Taststifte, Stifte, Zeigegeräte und dergleichen mehr. Einige dieser Peripheriegeräte können eine Bewegung als Benutzereingabe erkennen und die Bewegung in eine Computereingabe übersetzen. Zum Beispiel kann ein tragbares Peripheriegerät, wie beispielsweise eine Computermaus, ihre Bewegung relativ zu einer Oberfläche erfassen und die Bewegung relativ zur Oberfläche in eine entsprechende Bewegung eines Cursors übersetzen, der an einer grafischen Benutzerschnittstelle (GUI; graphical user interface) angezeigt wird. Ferner kann die Tastatur eine Bewegung einer Taste und/oder eine Tippbewegung eines Fingers an der Taste erkennen und ein Signal an einen Computer senden, damit eine durch die Taste repräsentierte bestimmte Information (z. B. ein Buchstabe, ein Symbol, eine Cursorbewegung, usw.) angezeigt wird.Peripherals can be used as an interface between humans and computers. Some of the popular peripherals include keyboards, computer mice, image scanners, speakers, microphones, web cameras, a head-mounted display (HMD), styli, pens, pointing devices, and the like. Some of these peripherals can detect motion as user input and translate the motion into a computer input. For example, a portable peripheral device, such as a computer mouse, may sense its motion relative to a surface and translate the motion relative to the surface into corresponding movement of a cursor displayed on a graphical user interface (GUI). Further, the keyboard may detect a movement of a key and / or a jogging movement of a finger on the key and send a signal to a computer for allowing certain information represented by the key (eg, a letter, a symbol, a cursor movement, etc .) is shown.
Einige dieser Peripheriegeräte können zur Optimierung des Benutzererlebnisses zusammenwirken. So kann beispielsweise ein HMD zusammen mit anderen Peripheriegeräten (z. B. einer Maus, einer Tastatur usw.) betrieben werden, um ein MixedReality- (MR-) oder Erweiterte-Realität- (AR-) -System auszubilden. So kann beispielsweise ein von einem Benutzer getragenes HMD Kameras zum Aufnehmen von Bildern in Echtzeit aufweisen, die eine reale Umgebung aus der Betrachtung eines Benutzers zeigen. Um ein immersives MR/AR-Erlebnis zu ermöglichen, können Echtzeitbilder einer Interaktion des Benutzers mit einem anderen Peripheriegerät (z. B. Tippen auf einer realen Tastatur) aufgenommen werden. Zum Erstellen eines zusammengesetzten Bildes kann ein in den Bildern dargestelltes erstes reales Element (z. B. eine reale Hand oder ein(e) andere(s) Körperteil/Gliedmaße eines Benutzers) mit einem virtuellen Element kombiniert werden, das ein zweites reales Element in der realen Umgebung (z. B. eine virtuelle Tastatur) repräsentiert. Die relativen Bildpositionen des ersten realen Elements und des virtuellen Elements im zusammengesetzten Bild können beispielsweise auf Basis der realen Positionen des ersten realen Elements und des zweiten realen Elements relativ zum HMD bestimmt werden.Some of these peripherals can work together to optimize the user experience. For example, an HMD may be operated in conjunction with other peripherals (eg, a mouse, a keyboard, etc.) to form a Mixed Reality (MR) or Augmented Reality (AR) system. For example, a user-worn HMD may have cameras for capturing real-time images that show a real environment from the perspective of a user. To enable an immersive MR / AR experience, real-time images of a user's interaction with another peripheral device (eg, typing on a real keyboard) can be captured. To create a composite image, a first real element (eg, a real hand or another body part / limb of a user) shown in the images may be combined with a virtual element that has a second real element in it represents the real environment (eg a virtual keyboard). For example, the relative image positions of the first real element and the virtual element in the composite image may be determined based on the real positions of the first real element and the second real element relative to the HMD.
Wenn sich das HMD aufgrund einer Bewegung des Benutzers bewegt (z. B. Drehen des Kopfes, Kopfnicken, Ganzkörperbewegung des Benutzers, usw.), kann das in dem HMD angezeigte zusammengesetzte Bild aktualisiert werden, um die Änderung der Sicht des Benutzers auf die reale Umgebung während der Bewegung des Benutzers zur Optimierung des immersiven interaktiven Erlebnisses nachzuahmen. Wenn ein zusammengesetztes Bild beispielsweise durch Einfügen einer virtuelle Tastatur (oder anderer virtueller Peripheriegeräte) in das die Hand aufweisende Bild erstellt wird, kann die Bildposition der virtuellen Tastatur relativ zum Bild verschoben werden, um einer neuen Position/Orientierung des HMD Rechnung zu tragen. Wenn ferner ein zusammengesetztes Bild erzeugt wird, indem aus dem Bild Handpixel entnommen und in ein virtuelles Bild, das die virtuelle Tastatur enthält, eingefügt werden, kann auch der Stelle von der die Handpixel entnommen werden, ebenfalls verschoben werden, um der neuen Position/Orientierung des HMD Rechnung zu tragen.When the HMD moves due to a user's movement (eg, turning the head, nodding, the user's full body movement, etc.), the composite image displayed in the HMD may be updated to reflect the change in the user's view of the real world Mimic environment as the user moves to optimize the immersive interactive experience. For example, if a composite image is created by inserting a virtual keyboard (or other virtual peripherals) into the hand-held image, the image position of the virtual keyboard relative to the image may be shifted to accommodate a new position / orientation of the HMD. Further, if a composite image is created by removing hand pixels from the image and pasting them into a virtual image containing the virtual keyboard, the location from which the hand pixels are extracted may also be shifted to the new position / orientation HMD.
Bei beiden Arten zum Erstellen eines zusammengesetzten Bildes kann das Verschiebung der Bildposition des virtuellen Elements bzw. das Verschiebung der Stelle für die Extraktion des realen Elements auf der Annahme basieren, dass das Bild die aktuelle Position/Orientierung des HMD widerspiegelt. Eine solche Annahme ist jedoch nicht unbedingt gültig. Beispielsweise kann, wenn zu Beginn einer Bewegung des HMD ein Bild aufgenommen wird, aufgrund diverser Faktoren wie Videokameralatenz, Bildaufbau- und Verarbeitungsverzögerung, Datenübertragungsverzögerung usw. eine beträchtliche Zeit (z. B. 0,1 Sekunde) bis zu dem Zeitpunkt vergangen sein, an dem das Bild zum Extrahieren des realen Elements oder für eine Kombination mit dem virtuellen Element zum Erstellen des zusammengesetzten Bildes verfügbar ist. Daher kann das Bild nur eine ältere Position/Orientierung des HMD wiedergeben. Die Latenz beim Aufbau des Bildes, das die letzte Position/Orientierung des HMD widerspiegelt, ist für den Benutzer erkennbar und kann das Benutzererlebnis beeinträchtigen. Beispielsweise kann ein Extrahieren von Pixeln aus dem Bild an einer Bildposition, die auf Basis der letzten Position/Orientierung des HMD aktualisiert wurde, nicht das erwartete reale Element (z. B. die Hand) hervorbringen. Außerdem kann ein Einfügen des virtuellen Elements in das Videobild an der aktualisierten Bildposition in dem zusammengesetzten Bild zu einer fehlerhaften Anordnung der realen und virtuellen Elemente relativ zueinander führen. Beispielsweise kann das HMD zu einem bestimmten Zeitpunkt eine Hand auf einer virtuellen Tastatur anzeigen und mit ihr interagieren. Wenn sich das HMD bewegt, kann das HMD die Hand aufgrund der zuvor erwähnten fehlerhaften Anordnung in einer relativ zur Tastatur nacheilenden Position anzeigen, sodass die Hand nur bei stationärem HMD mit der virtuellen Tastatur ausgerichtet ist, bei einem sich bewegenden HMD jedoch nicht. Dies kann zu einem inkonsistenten interaktiven Erlebnis oder sogar zu Übelkeit führen.In both ways of creating a composite image, the shift of the virtual element's image position or the displacement of the real element's extraction location may be based on the assumption that the image reflects the current position / orientation of the HMD. However, such an assumption is not necessarily valid. For example, if an image is captured at the beginning of a movement of the HMD, a significant amount of time (eg, 0.1 second) may have elapsed by that time due to various factors such as video camera latency, frame and processing delay, data transfer delay, and so forth where the image is available to extract the real element or for combination with the virtual element to create the composite image. Therefore, the image can only reflect an older position / orientation of the HMD. The latency in building the image, which reflects the final position / orientation of the HMD, is recognizable to the user and may affect the user experience. For example, extracting pixels from the image at an image position that has been updated based on the last position / orientation of the HMD may not yield the expected real element (eg, the hand). Additionally, inserting the virtual element into the video image at the updated image position in the composite image may result in misplacement of the real and virtual elements relative to each other. For example, at some point in time, the HMD may display and interact with a hand on a virtual keyboard. When the HMD moves, the HMD may display the hand in a position lagging relative to the keyboard due to the aforementioned erroneous location, so that the hand is aligned with the virtual keyboard only in stationary HMD, but not in a moving HMD. This can lead to an inconsistent interactive experience or even nausea.
Außerdem kann das zuvor erwähnte AR/MR-System ein zusammengesetztes Bild wie oben angegeben erzeugen, indem es aus dem Bild Handpixel entnimmt und die Handpixel in einem virtuellen Bild, das die virtuelle Tastatur (oder ein anderes virtuelles Peripheriegerät) enthält, anordnet. Um ein interaktives AR/MR-Erlebnisses zu schaffen, kann das zusammengesetzte Bild dem Benutzer an dem HMD angezeigt werden, wenn der Benutzer mit einer von der virtuellen Tastatur repräsentierten realen Tastatur interagiert. Die Qualität des interaktiven Erlebnisses kann von der genauen Segmentierung der Hand in einem Bild abhängen, das die Interaktion der Hand mit der realen Tastatur bildlich wiedergibt. Das Segmentieren einer Hand kann auf einem Vergleich der Bildpixel mit einem oder mehreren Schwellwerten und einem auf den Vergleichsergebnissen basierenden Klassifizieren der Pixel als zur Hand oder zum Peripheriegerät (bzw. anderen Hintergrundobjekten) gehörend basieren. Die Genauigkeit des Segmentierens der Hand kann durch verschiedene Faktoren wie z. B. Hauttönen, Ausleuchtungsänderungen, usw. beeinflusst werden. Ein Segmentierungskonzept, das beim Vergleich der Pixel eine oder mehrere feste Schwellwerte verwendet, kann nur bei einem kleinen Bereich von Hauttönen und einer kleinen Palette von Umgebungen gut funktionieren. Um den Einsatz des AR/MR-Systems bei einer größeren Palette von Umgebungen zu ermöglichen, wodurch der Nutzwert des Systems und das Benutzererlebnis verbessert werden können, bedarf es eines robusteren Konzepts, bei dem die Handpixel bei einem größeren Bereich von Hauttönen und einer größeren Palette von Umgebungen genauer von den Hintergrundpixeln unterschieden werden können. In addition, the aforementioned AR / MR system may generate a composite image as indicated above by extracting hand pixels from the image and placing the hand pixels in a virtual image containing the virtual keyboard (or other virtual peripheral device). To provide an interactive AR / MR experience, the composite image may be displayed to the user at the HMD when the user interacts with a real keyboard represented by the virtual keyboard. The quality of the interactive experience may depend on the precise segmentation of the hand in an image that depicts the interaction of the hand with the real keyboard. Segmentation of a hand may be based on comparing the image pixels with one or more thresholds and classifying the pixels based on the comparison results as belonging to the hand or peripheral device (s). The accuracy of the segmentation of the hand may be due to various factors such. As skin tones, illumination changes, etc. are affected. A segmentation concept that uses one or more fixed thresholds when comparing the pixels can only work well for a small range of skin tones and a small range of environments. To enable the use of the AR / MR system in a wider range of environments, which can improve the utility of the system and enhance the user experience, a more robust approach is needed where the handpixels cover a wider range of skin tones and a wider range environments can be more accurately distinguished from the background pixels.
Konzeptioneller Überblick über bestimmte AusführungsformenConceptual overview of certain embodiments
Beispiele der vorliegenden Offenbarung betreffen Verfahren und Systeme zur Bereitstellung immersiver AR/MR-Erlebnisse und können einige der oben beschriebenen Aufgaben lösen. Einige Ausführungsformen geben ein Verfahren zum Bereitstellen einer Mixed-Reality- (MR) -Interaktion an. Das Verfahren umfasst: Aufnehmen eines ersten Bildes von einer realen Interaktion eines Benutzers mit einem Peripheriegerät zu einem ersten Zeitpunkt unter Verwendung einer Kamera eines Head-Mounted Display (HMD) eines Benutzers, Messen einer Bewegung des HMD relativ zum Peripheriegerät zwischen dem ersten Zeitpunkt und einem zweiten Zeitpunkt, Verarbeiten des ersten Bildes auf Basis der Messung der Bewegung des HMD zum Erzeugen ein zweiten Bildes; Erstellen eines zusammengesetzten Bildes auf Basis des zweiten Bildes zur Darstellung einer virtuellen Interaktion, die den Benutzer mit einbezieht, und Anzeigen der virtuellen Interaktion anstelle der realen Interaktion an dem HMD und auf Basis des zusammengesetzten Bildes für den Benutzer zum zweiten Zeitpunkt. Die virtuelle Interaktion kann beispielsweise eine virtuelle Interaktion zwischen einem Körperteil des Benutzers und einem das Peripheriegerät repräsentierenden virtuellen Objekt (z. B. eine virtuelle Tastatur), eine virtuelle Interaktion zwischen einem den Körperteil des Benutzers repräsentierenden virtuellen Objekt (z. B. eine virtuelle Hand) und dem Peripheriegerät, usw. umfassen.Examples of the present disclosure relate to methods and systems for providing immersive AR / MR experiences, and can solve some of the objects described above. Some embodiments provide a method for providing mixed reality (MR) interaction. The method includes: capturing a first image of a user's real interaction with a peripheral device at a first time using a user's head-mounted display (HMD) camera, measuring movement of the HMD relative to the peripheral device between the first time and a second second timing, processing the first image based on measuring the movement of the HMD to produce a second image; Creating a composite image based on the second image to represent a virtual interaction involving the user and displaying the virtual interaction instead of the real interaction at the HMD and based on the composite image for the user at the second time. The virtual interaction may, for example, be a virtual interaction between a body part of the user and a virtual object representing the peripheral device (eg a virtual keyboard), a virtual interaction between a virtual object representing the body part of the user (eg a virtual hand ) and the peripheral device, etc.
Konkret, kann das erste Bild von der realen Interaktion des Benutzers (z. B. vermittels der Hände oder anderer Körperteile) mit dem Peripheriegerät zum ersten Zeitpunkt aufgenommen werden bevor die Bewegung des HMD beginnt, wobei aufgrund der Verarbeitungsverzögerung das erste Bild erst zum zweiten Zeitpunkt für die Erzeugung eines zusammengesetzten Bildes zur Verfügung steht, wenn das HMD bereits über eine bestimmte Strecke bewegt oder um einen bestimmten Winkel in eine bestimmte Richtung gedreht wurde. Daher spiegelt das erste Bild nicht die momentane Sicht des Benutzers auf die Interaktion mit dem Peripheriegerät zum zweiten Zeitpunkt wieder. Ein Kombinieren eines realen Elements der zum ersten Zeitpunkt aufgenommenen realen Interaktion mit einem virtuellen Element an einem Stelle der vom Benutzer zum zweiten Zeitpunkt betrachteten realen Interaktion kann zu einem Anordnungsfehler zwischen dem realen Element und dem virtuellen Element führen. Das HMD kann, um ein anschauliches Beispiel anzuführen, ein Bild einer realen Interaktion zwischen den Fingern eines Benutzers und einer Tastatur aufnehmen und ein zusammengesetztes Bild erstellen, das eine virtuelle Interaktion zwischen den Fingern des Benutzers und einer virtuellen Tastatur darstellt. Wenn sich das HMD bewegt, kann es vorkommen, dass das HMD aufgrund des oben genannten Anordnungsfehlers die Finger des Benutzers von der virtuellen Tastatur abgehoben oder versetzt zu dieser anzeigt, sodass die Finger nur bei stationärem HMD korrekt zur virtuellen Tastatur angeordnet sind. Dies kann zu einem inkonsistenten interaktiven Erlebnis (z. B. einer verminderten Effizienz beim Tippen auf einer virtuellen Tastatur) oder sogar zu Übelkeit führen.Specifically, the first image of the user's real interaction (eg, with the hands or other body parts) may be captured with the peripheral device at the first time before the movement of the HMD begins, due to the processing delay the first image is only at the second time is available for generating a composite image when the HMD has already moved a certain distance or has been rotated by a certain angle in a certain direction. Therefore, the first image does not reflect the user's current view of the interaction with the peripheral device at the second time. Combining a real element of the real-time, initially-recorded interaction with a virtual element at a location of the real interaction being considered by the user at the second time may result in a placement error between the real element and the virtual element. The HMD, to give an illustrative example, may capture an image of a real interaction between a user's fingers and a keyboard and create a composite image representing a virtual interaction between the user's fingers and a virtual keyboard. When the HMD is moving, it may happen that the HMD, due to the above-mentioned placement error, lifts or offsets the user's fingers from the virtual keyboard so that the fingers are correctly aligned with the virtual keyboard only at steady state HMD. This can lead to an inconsistent interactive experience (eg reduced efficiency when typing on a virtual keyboard) or even nausea.
Zur Verringerung einer Fehlanordnung kann das erste Bild auf Basis einer Messung der Bewegung des HMD zum Erzeugen eines zweiten Bildes weiterverarbeitet werden, wobei das zweite Bild zum Erstellen des zusammengesetzten Bildes verwendet werden kann. Das Verarbeiten zum Erzeugen des zweiten Bildes kann ein Verschieben eines Bestandteils des ersten Bildes umfassen. Das zweite Bild kann eine von der Kamera des HMD zum zweiten Zeitpunkt aufgenommen Ansicht der Interaktion repräsentieren. Bei einigen Beispielen kann die Verschiebung des Bestandteils des ersten Bildes an einem Bildpufferspeicher erfolgen, in dem das erste Bild gespeichert ist. Der Bildpufferspeicher kann in einen Anzeigebereich und einen Nichtanzeigebereich aufgeteilt sein. Im Anzeigebereich gespeicherte Bilddaten werden zum Erzeugen eines zusammengesetzten Bildes und/oder zur Anzeige vorgehalten, während im Nichtanzeigebereich gespeicherte Bilddaten nicht zur Erzeugung eines zusammengesetzten Bildes oder zur Anzeige vorgehalten werden. Die Speicherort des Anzeigebereichs im Bildpufferspeicher kann verschoben werden, um einen anderen anzuzeigenden Bestandteil der Bilddaten auszuwählen, wodurch ein Effekt erzielt werden kann, bei dem der Bestandteil der Bilddaten innerhalb des zusammengesetzten Bildes oder relativ zu diesem verschoben wird. Das zweite Bild kann von dem sich innerhalb des Anzeigebereichs befindenden Bestandteil der ersten Bilddaten gebildet sein. Bei einigen Beispielen können der Anzeigebereich und der Nichtanzeigebereich auch statisch sein, wobei die sich innerhalb des Bildpufferspeichers befindenden Bilddaten zum Erzeugen des Verschiebungseffekts relativ zum statischen Anzeigebereich und Nichtanzeigebereich verschoben werden können.To reduce misplacement, the first image may be further processed based on a measurement of the movement of the HMD to produce a second image, where the second image may be used to construct the composite image. Processing to generate the second image may include shifting a component of the first image. The second image may represent a view of the interaction taken by the camera of the HMD at the second time. In some examples, the shift of the component of the first image may occur on a frame buffer in which the first image is stored. The frame buffer may be in a display area and a Non-display area be split. Image data stored in the display area is maintained for generating a composite image and / or for display, while image data stored in the non-display area is not held for generation of a composite image or for display. The storage location of the display area in the frame buffer may be shifted to select a different portion of the image data to be displayed, whereby an effect can be achieved in which the component of the image data is shifted within or relative to the composite image. The second image may be formed by the component of the first image data located within the display area. In some examples, the display area and the non-display area may also be static, and the image data for generating the displacement effect within the image buffer memory may be shifted relative to the static display area and non-display area.
Bei einigen Beispielen kann der Wert der Verschiebung des Bestandteils des ersten Bildes auf Basis einer Messung der Bewegung des HMD als auch der Positionen von HMD und Peripheriegerät zum zweiten Zeitpunkt bestimmt werden. Die Messung der Bewegung kann z. B. einen Drehwinkel des HMD umfassen. Zur Bestimmung des Drehwinkels können eine Winkelgeschwindigkeit und Drehrichtung sowie eine Zeitspanne zwischen dem ersten Zeitpunkt und dem zweiten Zeitpunkt ermittelt werden. Die Winkelgeschwindigkeit und Drehrichtung können z. B. mit Hilfe einer Trägheitsmesseinheit (IMU; inertial measurement unit) des HMD ermittelt werden. Die zwischen dem ersten Zeitpunkt und dem zweiten Zeitpunkt verstrichene Zeitspanne kann ferner auf Basis einer Verzögerung durch die Weiterverarbeitung des ersten Bildes am HMD ermittelt werden. Es gibt verschiedene Möglichkeiten zur Bestimmung der Verzögerung durch die Weiterverarbeitung. Beispielsweise kann die Kamera des HMD im Rahmen eines Kalibrierungsprozesses zum Aufnehmen eines Bildes eines Objekts verwendet werden, das eine Zeitangabe bereitstellt. Das Objekt kann beispielsweise eine Uhr, eine Anzeigevorrichtung, die ein sich mit der Zeit änderndes Bild anzeigt (z. B. einen Strichcode), ein von einem Peripheriegerät emittiertes sich mit der Zeit änderndes Muster, usw. umfassen. Das Bild kann analysiert werden, um ein die Zeit angebendes Muster zu identifizieren (z. B. von der Uhr angezeigte Ziffern, Positionen von Uhrzeigern, die Strichcodemuster, usw.), und aus dem identifizierten Muster können Zeitinformationen abgeleitet werden. Das Peripheriegerät kann beispielsweise eine Tastatur, eine Maus, usw. aufweisen. Die von dem Objekt angezeigte Zeit kann mit der Zeitsteuerung des HMD synchronisiert und als Aufnahmezeit des Bildes verwendet werden. Die Anzeigezeit kann beim Anzeigen des Bildes an dem HMD aufgezeichnet werden. Die Differenz zwischen der Anzeigezeit und der Aufnahmezeit kann die Verarbeitungsverzögerung repräsentieren. Da die Verzögerung durch die Weiterverarbeitung in einem bekannten System in der Regel recht stabil ist, kann das zuvor genannte Kalibrierverfahren zur Bestimmung der Verarbeitungsverzögerung bei anderen nachfolgenden Bilder an dem HMD verwendet werden.In some examples, the value of the displacement of the component of the first image may be determined based on a measurement of the movement of the HMD as well as the positions of the HMD and peripheral device at the second time. The measurement of the movement can z. B. include a rotation angle of the HMD. To determine the angle of rotation, an angular velocity and direction of rotation and a time interval between the first time and the second time can be determined. The angular velocity and direction can z. B. be determined using an inertial measurement unit (IMU) of the HMD. The elapsed time between the first time and the second time may also be determined on the basis of a delay by the further processing of the first image on the HMD. There are various ways of determining the delay by further processing. For example, as part of a calibration process, the camera of the HMD may be used to capture an image of an object that provides a time indication. The object may include, for example, a clock, a display device displaying a time-varying image (eg, a bar code), a time-varying pattern emitted by a peripheral device, and so forth. The image may be analyzed to identify a time-indicating pattern (e.g., numbers indicated by the watch, positions of clock hands, bar code patterns, etc.) and time information may be derived from the identified pattern. The peripheral device may include, for example, a keyboard, a mouse, etc. The time indicated by the object can be synchronized with the timing of the HMD and used as the recording time of the image. The display time can be recorded on the HMD when the image is displayed. The difference between the display time and the recording time may represent the processing delay. Since the delay through further processing in a known system is generally quite stable, the aforementioned calibration method can be used to determine the processing delay on other subsequent images on the HMD.
Zudem können die Positionen des HMD und des Peripheriegeräts im realen Raum zum zweiten Zeitpunkt bestimmt werden. Zwischen einer Position des Peripheriegeräts und einer Position des HMD kann ein erster Ortsvektor festgelegt werden. Außerdem kann ein auf das HMD bezogener zweiter Ortsvektor des Peripheriegeräts durch Drehen des ersten Ortsvektors um den Drehwinkel festgelegt werden. Der zweite Ortsvektor kann zur Repräsentation einer nicht korrigierten Position des Bildes des Peripheriegeräts im ersten Bild verwendet werden. Der zweite Ortsvektor kann auch den Kehrwert der zur Durchführung der Korrektur erforderlichen Verschiebung repräsentieren. Der Betrag der Verschiebung kann ermittelt werden, indem ein Verschiebungsvektor zwischen der nicht korrigierten Position des Bildes des Peripheriegeräts und der Position des Peripheriegeräts ermittelt und der Verschiebungsvektor auf die Anzeigekoordinaten zurückskaliert wird. Das Skalieren kann beispielsweise auf Basis eines Matrixausdrucks erfolgen, der Weltkoordinaten auf Anzeigekoordinaten projiziert.In addition, the positions of the HMD and the peripheral device in real space can be determined at the second time. Between a position of the peripheral device and a position of the HMD, a first position vector can be set. In addition, a second location vector of the peripheral device related to the HMD can be set by rotating the first location vector by the rotation angle. The second location vector may be used to represent an uncorrected position of the image of the peripheral device in the first image. The second location vector may also represent the reciprocal of the shift required to effect the correction. The amount of displacement can be determined by determining a displacement vector between the uncorrected position of the peripheral device image and the peripheral device's position and scaling the displacement vector back to the display coordinates. For example, scaling may be based on a matrix expression that projects world coordinates onto display coordinates.
Es gibt verschiedene Möglichkeiten zur Bestimmung der Position des HMD und des Peripheriegeräts. Bei einem Beispiel können an dem Peripheriegerät eine oder mehrere Sensorkapseln angebracht sein, um gerichtete Lichtstrahlen von an verschiedenen vorgegebenen Positionen im Raum angeordneten Lichtemittern (z. B. Leuchttürmen) zu erfassen. Die Sensorkapseln können auch Entfernungsmessungen vornehmen, die beispielsweise auf der Laufzeit des gerichteten Lichts basieren. Anhand der Richtungs- und Laufzeitinformationen sowie der bekannten Positionen der Leuchttürme kann die Position des Peripheriegeräts bestimmt werden. Bei einem anderen Beispiel kann das Peripheriegerät Lichtemitter zum Emittieren gerichteter Lichtstrahlen aufweisen, die von mehreren an verschiedenen vorbestimmten Positionen im Raum abgeordneten Lichtsensoren erfasst werden können. Die Lichtsensoren können auch Entfernungsmessungen vornehmen. Auch auf Basis der Entfernungsmessungen und der Richtungen der von den Lichtsensoren erfassten Lichtstrahlen sowie den bekannten Positionen der Lichtsensoren lässt sich die Position des Peripheriegeräts bestimmen. Zur Bestimmung der Position des Peripheriegeräts können auch ähnliche Techniken verwendet werden.There are several ways to determine the position of the HMD and the peripheral device. In one example, one or more sensor capsules may be attached to the peripheral device to detect directional light rays from light emitters (eg, lighthouses) located at different predetermined positions in space. The sensor capsules can also take distance measurements based, for example, on the transit time of the directional light. Based on the direction and transit time information as well as the known positions of the lighthouses, the position of the peripheral device can be determined. In another example, the peripheral device may include light emitters for emitting directed light rays that may be detected by a plurality of light sensors at different predetermined positions in space. The light sensors can also make distance measurements. The position of the peripheral device can also be determined on the basis of the distance measurements and the directions of the light beams detected by the light sensors as well as the known positions of the light sensors. To determine the position of the peripheral device, similar techniques may be used.
Das durch die Verarbeitung des ersten Bildes auf Basis der Messung der Bewegung/Drehung des HMD erzeugte zweite Bild kann auf verschiedene Weise zum Erzeugen des zusammengesetzten Bildes verwendet werden. Bei einem Beispiel kann ein virtuelles Element (z. B. die virtuelle Tastatur) in das zweite Bild an der für den zweiten Zeitpunkt der Interaktion vorhergesagten Bildposition angeordnet werden. Bei einem anderen Beispiel kann aus dem zweiten Bild ein reales Element (z. B. die Hand/Finger des Benutzers oder ein anderes Körperteil des Benutzers) an der für den zweiten Zeitpunkt der Interaktion vorhergesagten Position extrahiert werden, wobei das reale Element in einem virtuellen Bild angeordnet werden kann, das an der für den zweiten Zeitpunkt der Interaktion vorhergesagten Position auch ein virtuelles Element (z. B. die virtuelle Tastatur) aufweist. In beiden Fällen kann im zusammengesetzten Bild eine Interaktion zwischen der Hand und der virtuellen Tastatur dargestellt werden. Das reale Element der Interaktion (z. B. die Hand des Benutzers) wird eher an dem virtuellen Element der Interaktion (z. B. der virtuellen Tastatur) ausgerichtet, wodurch Konsistenz und Qualität des interaktiven Erlebnisses verbessert (insbesondere bei Interaktionen, die eine Koordination zwischen visuellen und körperlichen Reizen erfordern, wie z. B. Tippen) und die Wahrscheinlichkeit eines Übelkeitsanfalls verringert werden. The second image generated by processing the first image based on the measurement of the motion / rotation of the HMD may be used in various ways to produce the composite image. In one example, a virtual element (eg, the virtual keyboard) may be placed in the second image at the image position predicted for the second time of interaction. In another example, from the second image, a real element (eg, the user's hand / finger or another body part of the user) may be extracted at the position predicted for the second time of interaction, where the real element is in a virtual Image that also has a virtual element (eg, the virtual keyboard) at the position predicted for the second time of interaction. In both cases, an interaction between the hand and the virtual keyboard can be presented in the composite image. The real element of the interaction (eg, the user's hand) is more aligned with the virtual element of the interaction (eg, the virtual keyboard), thereby improving the consistency and quality of the interactive experience (especially in interactions involving coordination between visual and physical stimuli, such as typing) and the likelihood of a nausea attack are reduced.
Zudem geben einige Ausführungsformen ein Verfahren zum Bereitstellen einer Interaktion mit einer Mixed-Reality (MR) an. Das Verfahren kann umfassen: Aufnehmen eines ersten Bildes einer realen Interaktion zwischen einem Körperteil eines Benutzers und einem realen Objekt mit Hilfe eine Kamera eines Head-Mounted Displays (HMD) eines Benutzers, Segmentieren des ersten Bildes mit Hilfe des HMD in einen dem Körperteil des Benutzers entsprechenden ersten Pixelbereich und einen dem realen Objekt entsprechenden zweiten Pixelbereich, wobei das Segmentieren auf einer Verteilung der realen Interaktionen auf mehrere Stellen des realen Objekts basiert, Erzeugen eines zusammengesetzten Bildes einer virtuellen Interaktion, die den Benutzer miteinbezieht, aus dem ersten Pixelbereich oder dem zweiten Pixelbereich und Anzeigen des zusammengesetzten Bildes der virtuellen Interaktion anstelle der realen Interaktion an dem HMD für den Benutzer.In addition, some embodiments provide a method for providing interaction with a mixed reality (MR). The method may include taking a first image of a real interaction between a body part of a user and a real object using a user's head-mounted display (HMD) camera, segmenting the first image into a body part of the user using the HMD corresponding first pixel area and a second pixel area corresponding to the real object, wherein the segmenting is based on a distribution of the real interactions on a plurality of locations of the real object, generating a composite image of a virtual interaction involving the user from the first pixel area or the second pixel area and displaying the composite image of the virtual interaction instead of the real interaction on the HMD to the user.
Konkret kann das erste Bild segmentiert werden, um in einem Bild einer realen Interaktion zwischen einem Benutzer und einem realen Objekt zwischen dem Körperteil des Benutzers (z. B. einem Teil einer Hand, den Fingern, usw.) und dem mit dem Körperteil betätigten realen Objekt (z. B. einem Peripheriegerät wie beispielsweise eine Tastatur, eine Maus, usw.) zu unterscheiden. Das Segmentierungsverfahren kann verwendet werden, um aus dem Bild Pixel zu extrahieren, von denen angenommen wird, dass sie Teil eines Körperteils sind. Auf Basis der Verteilung der Interaktionen können ein oder mehrere Schwellwerte so konfiguriert werden, dass sie verschiedene Pixelattribute umfassen (z. B. die Farben der Pixel, die Luminanz der Pixel, usw.). Auf Basis der Vergleichsergebnisse kann bestimmt werden, ob die Pixel wahrscheinlich zu einem Teil des Körpers des Benutzers oder zu einem Teil des realen Objekts gehören, und eine Teilmenge der Pixel kann auf Basis der Bestimmung extrahiert werden. Die extrahierten Pixel können beispielsweise zu einem Körperteil des Benutzers oder zu einem realen Objekt gehörende Pixel umfassen. Bei einigen Beispielen können die extrahierten Pixel in einem zusammengesetzten Bild angeordnet werden, das eine virtuelle Umgebung zur Repräsentation der virtuellen Interaktion wiedergibt. Bei einigen Beispielen kann das zusammengesetzte Bild aus dem ersten Bild durch Ersetzen der extrahierten Pixel mit Pixeln eines virtuellen Objekts (z. B. virtuelle Hand/Finger) abgeleitet werden. In beiden Fällen soll dem Benutzer, um ihm ein MR-Erlebnis zu ermöglichen, die virtuelle Interaktion anstelle der realen Interaktion angezeigt werden.Concretely, the first image may be segmented to be in an image of a real interaction between a user and a real object between the body part of the user (eg, a part of a hand, the fingers, etc.) and the real part operated with the body part Object (eg, a peripheral such as a keyboard, a mouse, etc.). The segmentation method can be used to extract pixels from the image that are assumed to be part of a body part. Based on the distribution of interactions, one or more thresholds may be configured to include different pixel attributes (eg, the colors of the pixels, the luminance of the pixels, etc.). Based on the comparison results, it can be determined whether the pixels are likely to belong to a part of the user's body or to a part of the real object, and a subset of the pixels can be extracted based on the determination. The extracted pixels may, for example, comprise a body part of the user or pixels belonging to a real object. In some examples, the extracted pixels may be arranged in a composite image that represents a virtual environment for representing the virtual interaction. In some examples, the composite image may be derived from the first image by replacing the extracted pixels with pixels of a virtual object (eg, virtual hand / finger). In both cases, to allow the user an MR experience, the virtual interaction should be displayed instead of the real interaction.
Wie oben ausgeführt kann das Segmentieren des ersten Bildes auf einer Verteilung der Interaktionen basieren. Die Verteilung kann auf Basis historischer Informationen und/oder momentaner Informationen ermittelt werden. Konkret können die historischen Informationen in Form einer Wärmekarte oder einer Wahrscheinlichkeitskarte vorliegen, die auf der Grundlage einer statistischen Analyse früherer Interaktionsaktivitäten erstellt wurde. Bei den früheren Interaktionsaktivitäten kann es sich um solche zwischen dem Benutzer und dem Peripheriegerät, zwischen anderen Benutzern und anderen Instanzen des Peripheriegeräts und/oder eines ähnlichen Peripheriegeräts usw. handeln. Die Wärmekarte kann eine Häufigkeitsverteilung der Interaktionsaktivitäten über mehrere Stellen des Peripheriegeräts angeben. Die statistische Analyse kann beispielsweise ein Bestimmen einer Wahrscheinlichkeit, dass an einer Stelle des Peripheriegeräts eine Interaktionsaktivität stattfindet, auf Basis einer Anzahl des Auftretens und des Zeitraums über den die Anzahl bestimmt wird, umfassen. Stellen des Peripheriegeräts in der Wärmekarte können auf Pixel eines Bildes von der Benutzersinteraktion mit dem Peripheriegerät abgebildet werden. Auf Basis der Wärmekarte oder der Wahrscheinlichkeitskarte kann eine Wahrscheinlichkeit ermittelt werden, mit der an einer jeweiligen der mehreren Stellen dem Körperteil des Benutzers (z. B. Hand, Finger, usw.) entsprechende Pixel zu finden sind. Die Wahrscheinlichkeitsinformationen aus der Wärmekarte können zum Festlegen von einem oder mehreren Schwellwerten verwendet werden, die sich auf bestimmte Attribute eines Pixels beziehen (z. B. Luminanz, Farbe usw.). Werte von Attributen (z. B. Luminanz, Farbe, usw.) von Pixeln in Bereichen mit einer hohen Wahrscheinlichkeit zum Auffinden von Handpixeln können beispielsweise als Schwellwerte für eine Bestimmung, ob es sich bei einem Pixel um ein Handpixel handelt, in anderen Bildern angepasst werden.As stated above, the segmentation of the first image may be based on a distribution of the interactions. The distribution can be determined based on historical information and / or current information. Concretely, the historical information may be in the form of a heat map or a probability map, based on a statistical analysis of past interaction activities. The prior interaction activities may be those between the user and the peripheral device, between other users and other instances of the peripheral device and / or a similar peripheral device, and so on. The heat map may specify a frequency distribution of interaction activities across multiple locations of the peripheral device. The statistical analysis may include, for example, determining a likelihood that an interaction activity will occur at a location of the peripheral device based on a number of occurrences and the amount of time over which the number is determined. Locations of the peripheral device in the thermal map may be mapped to pixels of an image from user interaction with the peripheral device. On the basis of the heat map or the probability map, a probability can be determined with which corresponding pixels can be found at a respective one of the multiple locations of the body part of the user (eg hand, fingers, etc.). The heat map probability information may be used to specify one or more thresholds related to particular attributes of a pixel (eg, luminance, color, etc.). For example, values of attributes (eg, luminance, color, etc.) of pixels in regions having a high probability of finding hand pixels may be thresholds for a determination of whether one pixel is a hand pixel, be adapted in other images.
Die Schwellwerte können auch an unterschiedliche Betriebsbedingungen angepasst werden. Bei einigen Beispielen können die Schwellwerte für den Vergleich von Pixeln für die Stellen erhöht werden, an denen die Wahrscheinlichkeit zum Auffinden von Hand-/Fingerpixeln gering ist, während die Schwellwerte für den Vergleich von Pixeln für die Stellen herabgesetzt werden können, an denen die Wahrscheinlichkeit zum Auffinden von Hand-/Fingerpixeln hoch ist. Die Schwellwerte können auch auf Basis des Umgebungslichts der Betriebsumgebung angepasst werden. So kann beispielsweise der Luminanzschwellwert für Hand-/Fingerpixel bei hoher Umgebungslichtstärke nach oben und der Luminanzschwellwert bei geringer Umgebungslichtstärke nach unten korrigiert werden. Bei einigen Beispielen können auch mehrere Schwellwerte angepasst werden, z. B. für verschiedene Benutzer, verschiedene Teile ihrer Hände, usw. Beispielsweise können verschiedene Schwellwerte angepasst werden, um Pixel von Fingernägeln, Fingersegmenten, der Handfläche, dem Handgelenk usw., die jeweils unterschiedliche Farben aufweisen können, zu extrahieren. Außerdem können die Schwellwerte auch an verschiedene Benutzer angepasst werden. Zum Beispiel können einige Benutzer lackierte Fingernägel haben, wobei die Schwellwerte zum Extrahieren von Pixeln der Fingernägel dieser Benutzer so angepasst werden können, dass die Farben der lackierten Fingernägel berücksichtigt werden. Bei einem weiteren Beispiel können einige Benutzer Tattoos und/oder Kleidungsstücke haben, die ihre Hände ganz oder teilweise bedecken, usw., wobei die Schwellwerte für das Extrahieren von Handpixeln für diese Benutzer angepasst werden können, um die bedeckten Teile ihrer Hände zu berücksichtigen. Für einen Benutzer kann ein Handmodell definiert werden, das eine Verteilung von Schwellwerten für verschiedene Bereiche einer Hand dieses Benutzers umfasst.The threshold values can also be adapted to different operating conditions. In some examples, the thresholds for comparing pixels may be increased for the locations where the likelihood of finding hand / finger pixels is low, while the thresholds for comparing pixels may be lowered for the locations where the likelihood is is high for finding hand / finger pixels. The thresholds may also be adjusted based on the ambient light of the operating environment. For example, the luminance threshold for hand / finger pixels may be corrected upward at high ambient light levels and the luminance threshold at low levels of ambient light intensity. In some examples, multiple thresholds may be adjusted, e.g. For example, different thresholds may be adjusted to extract pixels from fingernails, finger segments, palm, wrist, etc., each of which may have different colors. In addition, the thresholds can also be adapted to different users. For example, some users may have painted fingernails, and the thresholds for extracting pixels of the fingernails of these users may be adjusted to account for the colors of the painted fingernails. In another example, some users may have tattoos and / or garments that completely or partially cover their hands, etc., and the thresholds for extracting hand pixels for these users may be adjusted to accommodate the covered portions of their hands. For a user, a hand model may be defined that includes a distribution of thresholds for different areas of a hand of that user.
Bei einigen Beispielen können die historischen Informationen verwendet werden, um beispielsweise die zeitliche Veränderung desselben Pixels zu berechnen, die zur Verbesserung der Berechnungseffizienz bei einer Durchführung eines mehrstufigen Pixelvergleichsprozesses verwendet werden kann. So kann beispielsweise eine kontinuierlich vorgenommene Berechnung der Veränderung der Gesamtintensität (oder der Farbänderung) von einem Bild zum anderen eine visuelle Karte der sich im Bild ändernden Teile ermöglichen, die zum Identifizieren von einer oder mehreren Umgrenzungen der Pixel verwendet werden können, die die sich bewegenden Objekte wie beispielsweise eine Hand des Benutzers oder andere Körperteile, die mit der Peripheriegerät interagieren, repräsentieren. Die Umgrenzungen können beispielsweise Pixelbereiche definieren, die wahrscheinlich eine Hand des Benutzers oder andere Körperteile darstellen, wobei nur die zu diesen Bereichen gehörenden Pixel mit dem/den Schwellwert(en) verglichen werden, um festzustellen, ob die Pixel zu dem Körperteil des Benutzers gehören. Mit solchen Anordnungen kann die Gesamtzahl der Pixel, die bei der Segmentierungsprozedur mit dem/den Schwellwert(en) verglichen werden müssen, verringert werden, wodurch die Effizienz der Berechnung verbessern werden kann.In some examples, the historical information may be used to calculate, for example, the temporal variation of the same pixel that may be used to improve computational efficiency when performing a multi-level pixel comparison process. For example, a continuous calculation of the change in the overall intensity (or color change) from one image to another may allow for a visual map of the image changing parts that can be used to identify one or more boundaries of the pixels that are moving Objects such as a user's hand or other body parts that interact with the peripheral device represent. For example, the bounds may define pixel areas that are likely to represent a user's hand or other body parts, with only the pixels associated with those areas being compared to the threshold (s) to determine if the pixels belong to the body part of the user. With such arrangements, the total number of pixels to be compared in the segmentation procedure with the threshold (s) can be reduced, which can improve the efficiency of the calculation.
Bei einigen Beispielen kann die Aktionsverteilung der Interaktionen auch auf Basis aktueller Informationen bestimmt werden. So kann das Peripheriegerät beispielsweise mehrere Bewegungssensoren (z. B. Tasten einer Tastatur) an mehreren Stellen aufweisen. Eine Kamera (bei der es sich um einen Teil des HMD oder eine eigenständige Vorrichtung handeln kann) kann ein Bild von den mehreren Stellen des Peripheriegeräts aufnehmen. Eine Sensorkarte kann verschiedene Pixel des Bildes auf die mehreren Stellen abbilden, an denen sich die mehreren Bewegungssensoren befinden. Wenn die Bewegungssensoren die Interaktionsaktivitäten an einer oder an mehreren Stellen der mehreren Stellen erfassen (z. B. Tastenanschläge, Tastendruckaktionen, berührende/nichtberührende Gesten usw.), können die Bewegungssensoren die Kamera dazu veranlassen, ein Bild von den mehreren Stellen des Peripheriegeräts aufzunehmen, wobei das Bild auch Interaktionsaktivitäten enthält. Aus dem Bild und auf Basis der Sensorkarte können ein erster Bereich des Peripheriegeräts, der die die Interaktionsaktivitäten erfassenden Bewegungssensoren enthält, und ein den ersten Bereich umgebender zweiter Bereich bestimmt werden. Der erste Bereich kann einem Bereich eines Peripheriegeräts (z. B. Tastaturtasten, Tasten, Touchpads usw.) entsprechen, an denen die Interaktionsaktivitäten stattfinden, und kann Pixel der Hand/Finger (oder anderer Körperteile) des Benutzers enthalten, die an den Interaktionsaktivitäten beteiligt sind. Der zweite Bereich kann Pixel des Peripheriegeräts oder eines anderen Hintergrundobjekts enthalten. Für den ersten Bereich kann ein erstes Histogramm verschiedener Farbkomponenten (z. B. relative Intensitäten der jeweiligen Farbkomponenten) bestimmt werden. Für den zweiten Bereich kann ferner ein zweites Histogramm solcher Komponenten bestimmt werden. Die Schwellwerte für eine Bestimmung, ob ein Pixel zu den Händen/Fingern des Benutzers gehört, können auf Basis des ersten und zweiten Histogramm bestimmt werden. Beispielsweise kann zum Bestimmen, ob ein Pixel zur Hand eines Benutzers gehört, für jede Farbkomponente ein Schwellwert (z. B. eine Grenzwahrscheinlichkeit, dass das Pixel zur Hand gehört) bestimmt werden, wobei der Schwellwert auf Basis eines gewichteten Durchschnitts der Intensitäten dieser Farbkomponente im ersten und zweiten Histogramm bestimmt wird. Bei anderen Bildern kann zum Feststellen, ob das Pixel zur Hand des Benutzers gehört, jede Farbkomponente eines Pixels mit dem entsprechenden Schwellwert verglichen werden.In some examples, the action distribution of the interactions may also be determined based on current information. For example, the peripheral device may have multiple motion sensors (eg, keyboard keys) at multiple locations. A camera (which may be part of the HMD or a stand-alone device) may capture an image of the multiple locations of the peripheral device. A sensor card can map different pixels of the image to the multiple locations where the multiple motion sensors are located. When the motion sensors detect the interaction activities at one or more locations of the plurality of locations (eg, keystrokes, keystrokes, touching / non-touching gestures, etc.), the motion sensors may cause the camera to take a picture of the multiple locations of the peripheral device, where the image also contains interaction activities. From the image and on the basis of the sensor card, a first region of the peripheral device, which contains the motion sensors detecting the interaction activities, and a second region surrounding the first region can be determined. The first area may correspond to a portion of a peripheral device (eg, keyboard keys, buttons, touch pads, etc.) where the interaction activities take place, and may include pixels of the user's hand / fingers (or other body parts) participating in the interaction activities are. The second area may include pixels of the peripheral device or other background object. For the first region, a first histogram of different color components (eg relative intensities of the respective color components) can be determined. For the second region, a second histogram of such components may be further determined. The thresholds for determining whether a pixel belongs to the user's hands / fingers can be determined based on the first and second histograms. For example, to determine whether a pixel belongs to a user, a threshold value (eg, a borderline probability that the pixel belongs to the hand) may be determined for each color component, the threshold being based on a weighted average of the intensities of that color component in FIG first and second histogram is determined. For other pictures For example, to determine whether the pixel belongs to the user's hand, each color component of a pixel may be compared to the corresponding threshold.
Bei einigen Beispielen kann eine Kombination aus historischen und momentanen Informationen verwendet werden, um einen zweiten Schwellwert für die Hintergrunderfassung festzulegen. So können beispielsweise Bilder von Stellen des Peripheriegeräts, an denen nur sehr wenige oder gar keine Interaktionsaktivitäten stattfinden, periodisch aufgenommen und ein drittes Farbkomponenten-Histogramm für diese Stellen bestimmt werden. Auf Basis des dritten Histogramms kann ein zweiter Schwellwert für die Hintergrunderfassung bestimmt werden. Der zweite Schwellwert für die Hintergrunderfassung (z. B. eine Grenzwahrscheinlichkeit, dass ein Pixel zum Hintergrund gehört) kann mit dem ersten Schwellwert für die Hand-/Fingerdetektion (z. B. eine Grenzwahrscheinlichkeit, dass ein Pixel zur Hand/den Fingern gehört) auf verschiedene Weise kombiniert werden. Bei einem Beispiel kann der zweite Schwellwert für die Hintergrunderfassung beim ersten Schritt der Überprüfung verwendet werden. Wenn das Pixel sehr nahe am zweiten Schwellwert liegt und das Ergebnis nicht eindeutig ist, kann das Pixel mit dem ersten Schwellwert für die Hand-/Fingererfassung verglichen werden. Bei einem anderen Beispiel kann durch Mittelwertbildung aus dem ersten und zweiten Schwellwert ein kombinierter Schwellwert bestimmt werden, und die Pixel des Bildes können zum Identifizieren der Handpixel mit dem kombinierten Schwellwert verglichen werden.In some examples, a combination of historical and current information may be used to set a second background detection threshold. For example, images of peripheral device locations where there are very few or no interaction activities can be periodically captured and a third color component histogram determined for those locations. Based on the third histogram, a second threshold for the background detection can be determined. The second background detection threshold (eg, a borderline probability that a pixel belongs to the background) may be at the first threshold for hand / finger detection (eg, a borderline probability that a pixel belongs to the hand / fingers) be combined in different ways. In one example, the second background detection threshold may be used in the first step of the verification. If the pixel is very close to the second threshold and the result is ambiguous, the pixel may be compared to the first threshold for hand / finger detection. In another example, a combined threshold may be determined by averaging the first and second thresholds, and the pixels of the image may be compared to the combined threshold to identify the hand pixels.
Die Bestimmung der Schwellwerte kann Teil eines Kalibrierungsprozesses sein, der auf einer Bildsubstitution basiert. So kann beispielsweise ein Bild eines nicht von der Hand oder den Fingern des Benutzers verdeckten Peripheriegeräts (z. B. einer Tastatur) aufgenommen werden. Die Pixel des Bildes können bei der Bestimmung der Schwellwerte für die Unterscheidung zwischen den Hand-/Fingerpixeln und den Pixeln des Peripheriegerätes als Referenz/Ausgangspunkt verwendet werden. Im Rahmen des Kalibrierungsprozesses kann ein Benutzer seine/ihre Finger wie beschrieben auf das Peripheriegerät legen, woraufhin ein zweites Bild des von den Fingern abgedeckten Peripheriegerätes aufgenommen wird. Auf Basis der bekannten Pixelpositionen der Hand/Finger sowie der bekannten Pixelpositionen des Peripheriegeräts, die die Hand/Finger nicht aufweisen, können die Schwellwerte vom Ausgangspunkt aus angepasst werden, um beispielsweise die Wahrscheinlichkeit für eine korrekte Unterscheidung zwischen den Pixeln des Peripheriegeräts und den Pixeln der Hand/Finger des Benutzers zu maximieren. Die Aufnahme von Bildern des Peripheriegerät kann auch periodisch erfolgen, um für die Bestimmung der Referenzschwellwerte ein aktualisiertes Bild zu erhalten, womit einer Änderung der Betriebsbedingungen (z. B. Änderung der Umgebungshelligkeit, Inaktivität des Peripheriegerätes usw.) Rechnung getragen wird.The determination of the thresholds may be part of a calibration process based on image substitution. For example, an image of a peripheral device (eg, a keyboard) not covered by the user's hand or fingers can be captured. The pixels of the image may be used as a reference / starting point in determining the thresholds for the distinction between the hand / finger pixels and the pixels of the peripheral device. As part of the calibration process, a user may place his / her fingers on the peripheral device as described, whereupon a second image of the finger-covered peripheral device is captured. Based on the known pixel positions of the hand / fingers as well as the known pixel positions of the peripheral device that the hand / fingers do not have, the thresholds can be adjusted from the starting point to, for example, minimize the likelihood of correctly distinguishing between the pixels of the peripheral device and the pixels To maximize the user's hand / finger. The acquisition of images from the peripheral device may also be periodic to obtain an updated image for the determination of the reference thresholds, taking into account a change in operating conditions (eg, change in ambient brightness, inactivity of the peripheral device, etc.).
Nachdem die dem Körperteil des Benutzers zugehörigen Pixel (z. B. Hand, Finger, usw.) identifiziert wurden, kann anhand der Identifizierung der Pixel ein zusammengesetztes Bild erstellt werden. Beispielsweise können die extrahierten Pixel (z. B. einer Hand, Finger, usw.) in eine vom zusammengesetzten Bild wiedergegebene virtuelle Umgebung eingefügt werden, um die virtuelle Interaktion bildlich darzustellen. Die extrahierten Pixel und/oder die virtuelle Umgebung können auch so modifiziert werden, dass sie aufeinander abgestimmt sind. Beispielsweise kann die Luminanz der extrahierten Pixel an die Lichtverhältnisse der virtuellen Umgebung angepasst werden. Bei einem anderen Beispiel können dem zusammengesetzten Bild auch virtuelle Schatten hinzugefügt werden, die von der Hand (durch die extrahierten Pixel repräsentiert) auf ein virtuelles Peripheriegerät geworfen werden. Bei einigen Beispielen können zusätzliche Pixel der virtuellen Umgebung auch durch Hand-/Fingerpixel ersetzt werden, um Lücken bei der Extraktion der Hand-/Fingerpixel zu schließen.After identifying the pixels (eg, hand, fingers, etc.) associated with the body part of the user, a composite image can be created based on the identification of the pixels. For example, the extracted pixels (eg, a hand, finger, etc.) may be inserted into a virtual environment rendered by the composite image to depict the virtual interaction. The extracted pixels and / or the virtual environment may also be modified to be matched. For example, the luminance of the extracted pixels can be adapted to the lighting conditions of the virtual environment. In another example, virtual shadows may also be added to the composite image that are thrown by hand (represented by the extracted pixels) onto a virtual peripheral device. In some examples, additional pixels of the virtual environment may also be replaced by hand / finger pixels to close gaps in the extraction of the hand / finger pixels.
Durch die Adaption der Hand-/Hintergrund-Erkennung auf Basis einer Verteilung der Aktionen an dem Peripheriegerät kann das Handsegmentierungsschema weniger empfindlich gegenüber anderen Faktoren sein, die die Genauigkeit der Handdetektion beeinträchtigen können, wie beispielsweise Hauttönung, Lichtintensität, usw. Es wird beispielsweise angenommen, dass ein Benutzer eine dunklere Hauttönung aufweist und/oder eine Tastatur in einer relativ dunklen Umgebung benutzt, und dass von der Benutzung der Tastatur durch den Benutzer ein Bild aufgenommen wird. Aufgrund der dunkleren Hauttönung des Benutzers und/oder des geringen Umgebungslichts des Umfeldes können die Handpixel und die Tastaturpixel im Bild geringere Unterschiede aufweisen als bei einem Benutzer mit einer helleren Hauttönung, der eine dunkle Tastatur bei hellem Umgebungslicht benutzt, wodurch die Genauigkeit der Handsegmentierung schlechter sein kann. Außerdem kann bei schwachem Umgebungslicht auch die Handsegmentierung gestört sein. Durch die Anpassung der Detektionsschwellen auf Basis einer historischen oder einer momentanen Verteilung von Aktionen an der Tastatur kann die Handdetektion auf einem zusätzlichen Informationssatz basieren, wodurch die Auswirkungen der Hauttönung und der Lichtintensität gemindert werden können. Dadurch kann ein robusteres Segmentierungsschema erreicht werden, das Handpixel für eine größere Bandbreite an Hauttönen und in einer größeren Palette von Umgebungen genau identifizieren kann.By adapting hand / background detection based on a distribution of actions on the peripheral, the hand segmentation scheme may be less sensitive to other factors that may affect the accuracy of hand detection, such as skin tone, light intensity, etc. For example, suppose a user has a darker skin tone and / or uses a keyboard in a relatively dark environment, and an image is taken of the use of the keyboard by the user. Due to the darker skin tone of the user and / or the low ambient light of the environment, the hand pixels and the keyboard pixels in the image may have less differences than a user with a lighter skin tone using a dark keyboard in bright ambient light, thereby degrading the accuracy of hand segmentation can. In addition, the hand segmentation may be disturbed in low ambient light. By adapting the detection thresholds based on a historical or instantaneous distribution of actions on the keyboard, the hand detection can be based on an additional set of information, which can mitigate the effects of skin tone and light intensity. This can provide a more robust segmentation scheme that can accurately identify hand pixels for a wider range of skin tones and in a wider range of environments.
Typische Systemumgebung für bestimmte Beispiele Typical system environment for specific examples
Sowohl der Computer
Bei dem Computer
Bei einigen Beispielen weist/weisen der/die Prozessor(en)
Die Speicheranordnung
Außerdem kann die Speicheranordnung
Das Energiemanagementsystem
Das Kommunikationssystem
Das Eingabeerfassungsmodul
Obwohl bestimmte Systeme nicht eigens erläutert werden können, sollten sie wie für einen Durchschnittsfachmann ersichtlich als Teil des Systems
Es wird darauf hingewiesen, dass das System
Beispiele für die offenbarten Techniken lassen sich bei diversen Vorrichtungen realisieren, wobei unter Verwendung einer beliebigen Kombination aus Schaltungstechnik und Software implementierte elektronische Vorrichtungen eingeschlossen sind. Außerdem können Aspekte und/oder Teile des Systems
Beispiele für ein Generieren immersiver Mixed-Realitv-ErlebnisseExamples of Generating Immersive Mixed Reality Experiences
Zur Verbesserung des immersiven interaktiven Erlebnisses kann das Erzeugen der zusammengesetzten Bilder
Das HMD
Wie nachfolgend beschrieben können die Positionskoordinaten des HMD
Außerdem kann die Kamera des HMD
Wie oben beschrieben, kann die Nachverfolgungsposition
Wie oben beschrieben hängt, damit sich die Bewegung des HMD
Ausführungsformen für die BildverzögerungskompensationEmbodiments for image delay compensation
Die Verschiebungsstrecke des Kamerabildes
In Gleichung 2 kann der Verschiebungsvektor Vs als Vektor von der nicht korrigierten Bildposition
Es gibt verschiedene Möglichkeiten zur Bestimmung der Positionen des HMD
Außer auf die Positionen von HMD
Außerdem kann die Zeitspanne zwischen dem ersten Zeitpunkt und dem zweiten Zeitpunkt auf verschiedene Weise bestimmt werden. Wie beispielsweise aus
Bei einigen Beispielen kann die Verschiebung des Kamerabildes
Bei einigen Beispielen können der Anzeigebereich und der Nichtanzeigebereich des Bildpufferspeichers
Ausführungsformen für eine Handsegmentierung auf Basis der AktivitätsverteilungEmbodiments for hand segmentation based on activity distribution
Wie oben beschrieben, kann das Erstellen eines zusammengesetzten Bildes für das Schaffen eines immersiven AR/MR-Erlebnisses darin bestehen, Hautpixel eines Benutzers von den Pixeln eines Hintergrundobjekts (z. B. einer Tastatur, einer Maus oder anderer Peripheriegeräte) zu unterscheiden. Die Hautpixel können Teil der Hand des Benutzers, Teil der Hand oder anderer Körperteile sein, die mit dem Hintergrundobjekt interagieren. Wie aus einem Rückblick auf
Die Identifizierung von Pixeln der Tastatur
Die Genauigkeit eines Bildsegmentierungsschemas kann von diversen Faktoren beeinflusst werden. Einen Faktor kann die Hauttönung/-farbe des Benutzers bilden. Wenn die Hauttönung/-farbe des Benutzers der Farbe des Hintergrundobjekts scheinbar ähnelt (z. B. ein vom Benutzer bedientes Peripheriegerät), entweder aufgrund der eigentlichen Hautfarbe oder aufgrund des Umgebungslichts, können sich die Pixelfarbe der Haut des Benutzers und die Pixelfarbe des Peripheriegeräts, wie sie von der Kamera aufgenommen wurden, sehr ähnlich werden, was zu Fehlern bei der Bildsegmentierung führen kann. Die Genauigkeit des Bildsegmentierungsprozesses kann weiter abnehmen, wenn zum Vergleichen der Pixel ein fester Schwellwert verwendet wird und der feste Schwellwert Faktoren nicht berücksichtigt, beispielsweise, dass die Haut bei unterschiedlichen Benutzern eine unterschiedliche Farbe/Tönung haben kann, die Umgebungslichtbedingungen sich je nach Betriebszustand ändern können, usw.The accuracy of an image segmentation scheme can be influenced by a variety of factors. One factor can be the skin tone / color of the user. If the user's skin tone / color is apparently similar to the color of the background object (eg, a user-operated peripheral device), either due to the actual skin color or due to ambient light, the pixel color of the user's skin and the pixel color of the peripheral device, as they were taken by the camera are very similar, which can lead to errors in the image segmentation. The accuracy of the image segmentation process may further decrease if a fixed threshold is used to compare the pixels and the fixed threshold does not take into account factors such as the skin may have a different color / tint with different users, the ambient light conditions may change depending on the operating condition , etc.
Bei einigen Ausführungsformen können die Schwellwerte für den Pixelvergleich zur Verbesserung der Genauigkeit eines Bildsegmentierungsprozesses auf Basis einer räumlichen Verteilung der Aktionen an dem Peripheriegerät angepasst werden. Genauer gesagt, kann die räumliche Verteilung der Aktionen angeben, an welcher (welchen) Stelle(n) des Peripheriegeräts (z. B. welche Taste oder welcher Bereich einer Tastatur) bestimmte Benutzeraktionen (z. B. Tippen) stattgefunden hat (haben) und an welcher (welchen) Stelle(n) des Peripheriegeräts keine Benutzeraktion stattgefunden hat (haben). Die Informationen über die räumliche Verteilung können zum Anpassen der Schwellwerte verwendet werden. Konkret kann ein Bild mit einer Aufnahme des mit dem Peripheriegerät interagierenden Körperteils des Benutzers (z. B. Hand, Finger, usw.) erhalten werden, wobei sich in dem Bild Pixel von verschiedenen Stellen des Peripheriegeräts identifizieren lassen. Auf Basis der räumlichen Verteilung der Aktionen können Pixel identifiziert werden, die wahrscheinlich einer Aufnahme des Körperteils des Benutzers entsprechen. Verschiedene Attribute der identifizierten Pixel (z. B. Luminanz, Farben, usw.) können verwendet werden, um einen Schwellwert für den Vergleich anderer Pixel bei einer Bestimmung festzulegen, ob diese Pixel zum Körperteil gehören. Die Informationen über die räumliche Verteilung können als Sekundärprüfung verwendet werden. So können beispielsweise die Pixel mit einem anderen Schwellwert verglichen werden, der nicht anhand der Informationen zur räumlichen Verteilung bestimmt wird. Wenn das Pixelvergleichsergebnis nicht eindeutig ist oder ein niedriges Konfidenzniveau aufweist, können die Informationen über die räumliche Verteilung verwendet werden, um das Vergleichsergebnis zu bestätigen oder zu verwerfen. Beispielsweise kann, wenn das Vergleichsergebnis bei einem Pixels nicht eindeutig ist und das Pixel zu einer Stelle des Peripheriegeräts gehört, an der, wie durch die Informationen über die räumliche Verteilung angezeigt, wenige oder keine Benutzeraktionen stattfinden, bestimmt werden, dass das Pixel nicht zum Körperteil des Benutzers gehört.In some embodiments, the pixel comparison thresholds may be adjusted to improve the accuracy of an image segmentation process based on a spatial distribution of the actions on the peripheral device. More specifically, the spatial distribution of the actions may indicate at which (which) location (s) of the peripheral device (eg, which key or area of a keyboard) certain user actions (e.g., typing) have taken place and at which (which) location (s) of the peripheral device no user action took place. The spatial distribution information can be used to adjust the thresholds. Specifically, an image may be obtained with a capture of the user's body part (e.g., hand, finger, etc.) interacting with the peripheral device, where pixels from different parts of the peripheral device may be identified in the image. Based on the spatial distribution of actions, pixels can be identified that are likely to be a capture of the body part of the user correspond. Various attributes of the identified pixels (eg, luminance, colors, etc.) may be used to set a threshold for comparing other pixels in determining whether those pixels belong to the body part. The information about the spatial distribution can be used as a secondary test. For example, the pixels may be compared to a different threshold that is not determined by the spatial distribution information. If the pixel comparison result is not unique or has a low confidence level, the spatial distribution information may be used to confirm or discard the comparison result. For example, if the comparison result for a pixel is ambiguous and the pixel belongs to a location of the peripheral device where, as indicated by the spatial distribution information, there are few or no user actions, it can be determined that the pixel is not part of the body owned by the user.
Die Aktionsverteilung der Interaktion kann auf Basis historischer Informationen oder aktueller Informationen bestimmt werden. Insbesondere können die historischen Informationen in Form einer Wärmekarte oder einer Wahrscheinlichkeitskarte vorliegen, die auf Grundlage einer statistischen Analyse früherer Interaktionsaktivitäten erstellt wurde.
Die Wahrscheinlichkeitsinformationen können zum Konfigurieren eines Bildsegmentierungsschemas verwendet werden, beispielsweise bei einer Sekundärprüfung, um eine Entscheidung aus einem Vergleichsergebnis zu bestätigen oder zu verwerfen und/oder um die Vergleichsschwellwerte anzupassen. Wenn beispielsweise angenommen wird, dass sich ein Pixel nur schwer als zur Haut oder als nicht zur Haut gehörig klassifizieren lässt (z. B. weil der Pixelwert sehr nahe am Schwellwert liegt), können die Wahrscheinlichkeitsinformationen dazu verwendet werden, eine Entscheidung aus einem Vergleichsergebnis zu bestätigen oder zu verwerfen. Um ein anschauliches Beispiel anzugeben, kann, wenn ein Vergleich zeigt, dass ein Pixel zu einer Haut gehört, die Differenz zwischen dem Pixel und dem Schwellwert aber unterhalb eines Konfidenzniveaus liegt, und wenn die Graustufenmaske
Bei einigen Ausführungsformen können die Schwellwerte für den Vergleich eines Pixels auf Basis der Graustufenmaske
Bei einigen Beispielen können die historischen Informationen beispielsweise zur Berechnung der zeitlichen Unterschiede desselben Pixels verwendet werden, womit ein mehrstufiger Pixelvergleichsprozess zur Verbesserung der Berechnungseffizienz durchgeführt werden kann. Wie aus
Bei einigen Ausführungsformen können die Schwellwerte auch an unterschiedliche Betriebsbedingungen und Benutzer angepasst sein. So können beispielsweise die Schwellwerte auch abhängig vom Umgebungslicht der Betriebsumgebung angepasst werden. Insbesondere kann der Luminanzschwellwert für Hand-/Fingerpixel bei hoher Umgebungslichtstärke nach oben und der bei geringer Umgebungslichtstärke nach unten korrigiert sein. Außerdem lassen sich auch mehrere Schwellwerte, z. B. an verschiedene Benutzer, verschiedene Teile ihrer Hände, usw. anpassen. So können beispielsweise verschiedene Schwellwerte an die Extraktion von Pixeln angepasst sein, die zu Fingernägeln, Fingersegmenten, der Handfläche, dem Handgelenk usw. gehören, die jeweils unterschiedliche Farben aufweisen können. Außerdem können die Schwellwerte auch an verschiedene Benutzer angepasst sein. Zum Beispiel können einige Benutzer lackierte Fingernägel haben, wobei die Schwellwerte für das Extrahieren von Pixeln der Fingernägel dieser Benutzer unter Berücksichtigung der Farben der lackierten Fingernägel angepasst werden können. Bei einem anderen Beispiel können einige Benutzer Tattoos und/oder Kleidungsstücke haben, die ihre Hände ganz oder teilweise bedecken, usw., wobei die Schwellwerte für das Extrahieren von Handpixeln bei diesen Benutzern unter Berücksichtigung der bedeckten Teile ihrer Hände angepasst werden können. Wie aus
Es gibt viele verschiedene Möglichkeiten zum Erzeugen der Wärmekarte
Bei einigen Beispielen kann die Aktionsverteilung der Interaktionen auch auf Basis aktueller Informationen bestimmt werden.
Das erste Histogramm
Bei einigen Beispielen kann eine Kombination aus historischen und aktuellen Informationen zum Festlegen eines zweiten Schwellwerts für die Hintergrunderfassung verwendet werden. So können beispielsweise Bilder von Stellen des Peripheriegeräts, an denen nur sehr wenige oder gar keine Interaktionsaktivitäten stattgefunden haben, periodisch aufgenommen und es kann ein drittes Histogramm der Farbkomponenten dieser Stellen ermittelt werden. Auf Basis des dritten Histogramms kann ein zweiter Schwellwert für die Hintergrunderfassung bestimmt werden. Der zweite Schwellwert für die Hintergrunderfassung (z. B. eine Schwellenwahrscheinlichkeit, dass ein Pixel zum Hintergrund gehört) kann mit dem ersten Schwellwert für die Hand-/Fingerdetektion (z. B. eine Schwellenwahrscheinlichkeit, dass ein Pixel zur Hand/zu den Fingern gehört) auf verschiedene Weise kombiniert werden. Bei einem Beispiel kann der zweite Schwellwert für die Hintergrunderfassung als erster Schritt der Überprüfung eingesetzt werden. Wenn das Pixel sehr nahe am zweiten Schwellwert liegt und das Ergebnis nicht eindeutig ist, kann das Pixel mit dem ersten Schwellwert für die Hand-/Fingererkennung verglichen werden. Bei einem anderen Beispiel kann ein kombinierter Schwellwert durch Mitteln des ersten und zweiten Schwellwerts bestimmt werden, wobei die Pixel des Bildes zum Identifizieren der Handpixel mit dem kombinierten Schwellwert verglichen werden können.In some examples, a combination of historical and current information may be used to set a second background detection threshold. For example, images of peripheral device locations where very little or no interaction activity has occurred may be periodically captured and a third histogram of the color components of those locations may be determined. Based on the third histogram, a second threshold for the background detection can be determined. The second threshold for background detection (eg, a threshold probability that a pixel belongs to the background) may be at the first threshold for hand / finger detection (eg, a threshold probability that a pixel belongs to the hand / fingers ) can be combined in different ways. In one example, the second background detection threshold may be used as the first step in the verification. If the pixel is very close to the second threshold and the result is ambiguous, the pixel may be compared to the first threshold for hand / finger recognition. In another example, a combined threshold may be determined by averaging the first and second thresholds, wherein the pixels of the image for identifying the hand pixels may be compared to the combined threshold.
Die Bestimmung der Schwellwerte kann Teil eines auf einem Bildaustausch basierenden Kalibrierungsprozesses sein. Wie aus einem Rückblick auf
Nachdem die Pixel des Körperteils des Benutzers (z. B. Hand, Finger, usw.) identifiziert wurden, kann durch die Identifizierung der Pixel ein zusammengesetztes Bild erzeugt werden. Beispielsweise können die extrahierten Pixel (z. B. einer Hand, der Finger usw.) zur Darstellung der virtuellen Interaktion wie in
Bei einigen Beispielen kann eine wie in
Durch das Anpassen der Handsegmentierung auf Basis einer Verteilung der Aktionen an dem Peripheriegerät kann das Handsegmentierungsschema weniger anfällig gegenüber anderen Faktoren sein, die die Genauigkeit der Handdetektion beeinträchtigen können, wie beispielsweise Hauttönung, Lichtintensität usw. Dadurch kann ein robusteres Segmentierungsschema erzielt werden, das Handpixel für eine größere Bandbreite an Hauttönen und in einer größeren Palette von Umgebungen richtig identifizieren kann.By adjusting hand segmentation based on a distribution of actions on the peripheral device, the hand segmentation scheme may be less prone to other factors that may affect the accuracy of hand detection, such as skin tone, light intensity, etc. Thus, a more robust segmentation scheme can be achieved, the hand pixel for can correctly identify a wider range of skin tones and in a wider range of environments.
Systemsystem
Das Bewegungserfassungsmodul
Beispielsweise kann das Kompensationsbestimmungsmodul
Das Modul
Verfahrenmethod
Das Verfahren
In Schritt
In Schritt
In Schritt
In Schritt
Das Verfahren
In Schritt
In Schritt
In Schritt
Kurz zusammengefasst werden Verfahren und Systeme zum Ermöglichen einer Mixed-Reality (MR) -Interaktion angegeben. Bei einem Beispiel umfasst das Verfahren: Aufnehmen eines ersten Bildes einer Gliedmaße eines Benutzers und einer realen Peripherieeingabevorrichtung, wobei die Gliedmaße des Benutzers die reale Peripherieeingabevorrichtung zumindest teilweise verdeckt; Segmentieren des ersten Bildes in einen der Gliedmaße des Benutzers entsprechenden ersten Pixelbereich, wobei ein zweiter Pixelbereich der realen Peripherieeingabevorrichtung entspricht; Erstellen eines zusammengesetzten Bildes aus dem ersten Bild auf Basis dessen, dass anstelle des zweiten Pixelbereichs Pixel gerendert werden, die eine virtuelle Peripherieeingabevorrichtung darstellen, sodass die virtuelle Peripherieeingabevorrichtung im zusammengesetzten Bild räumlich an derselben Stelle wie die reale Peripherieeingabevorrichtung erscheint und von der Gliedmaße des Benutzers zumindest teilweise verdeckt ist; und Anzeigen des zusammengesetzten Bildes für den Benutzer. Briefly stated are methods and systems for facilitating mixed reality (MR) interaction. In one example, the method includes: capturing a first image of a limb of a user and a real peripheral input device, wherein the limb of the user at least partially obscures the real peripheral input device; Segmenting the first image into a first pixel region corresponding to the limb of the user, wherein a second pixel region corresponds to the real peripheral input device; Creating a composite image from the first image based on rendering pixels representing a virtual peripheral input device instead of the second pixel region such that the virtual peripheral input device spatially appears in the composite image at the same location as the real peripheral input device and at least the user's limb partially obscured; and displaying the composite image to the user.
Der Gegenstand der vorliegenden Offenbarung umfasst weitere Variationen. Demzufolge sind, auch wenn die offenbarten Techniken diversen Modifikationen und alternativen Konstruktionen gegenüber offen sind, in den Figuren bestimmte Ausführungsformen der oben ausführlich erläuterten Techniken dargestellt. Es wird jedoch darauf hingewiesen, dass eine Beschränkung der Offenbarung auf die offenbarte konkrete Form bzw. die offenbarten konkreten Formen nicht beabsichtigt ist, sondern vielmehr alle Modifikationen, alternativen Konstruktionen und Äquivalente abdecken soll, die vom Gegenstand und Umfang der Offenbarung, wie er in den beiliegenden Ansprüchen definiert ist, umfasst sind. Beispielsweise können jede der Ausführungsformen, alternative Ausführungsformen, usw. sowie deren Konzepte bei jeder der beschriebenen und/oder sich innerhalb des Gegenstands und Umfangs der Offenbarung befindenden Ausführungsform Anwendung finden.The subject matter of the present disclosure includes other variations. Accordingly, while the disclosed techniques are susceptible to various modifications and alternative constructions, certain embodiments of the techniques detailed above are illustrated in the figures. It is to be understood, however, that a limitation of the disclosure to the disclosed specific form (s) is not intended, but is intended to cover all modifications, alternative constructions, and equivalents, that are included in the spirit and scope of the disclosure as set forth in the is defined in the appended claims. For example, any of the embodiments, alternative embodiments, etc., and their concepts may be applied to any of the described and / or within the scope and spirit of the disclosure.
Die Verwendung der Begriffe „ein“ und „der“, „die“, „das“ und ähnlicher Referenzen im Zusammenhang einer Beschreibung offenbarter Ausführungsformen (insbesondere im Zusammenhang mit den nachfolgenden Ansprüchen) ist so auszulegen, dass sie sowohl den Singular als auch den Plural umfassen, sofern in dieser Schrift nichts anderes angegeben ist oder sich aus dem Kontext ein klarer Widerspruch ergibt. Die Begriffe „aufweisen“, „haben“, „umfassen“ und „enthalten“ sind, sofern nicht anders angegeben ist, als Begriffe für eine nicht abschließende Aufzählung zu verstehen (d .h. sie bedeuten „enthalten, ohne darauf beschränkt zu sein“). Der Begriff „verbunden“ ist als teilweise oder gänzlich in etwas enthalten, an etwas angebracht, oder mit etwas verbunden aufzufassen, auch dann, wenn sich etwas dazwischen befindet. Der Ausdruck „auf Basis“ sollte als erweiterbar und in keiner Weise einschränkend verstanden werden und soll, wo geeignet als „zumindest teilweise auf Basis“ interpretiert bzw. gelesen werden. Ein Anführen von Wertebereichen soll hier, sofern in dieser Schrift nichts anderes angegeben ist, lediglich als Kurzformel für ein Verfahren dienen, das auf jeden einzelnen der in den Bereich fallenden Werte individuell Bezug nimmt, wobei in dieser Schrift jeder einzelne Wert so mitaufgenommen ist, als wäre er darin direkt angeführt. Alle in dieser Schrift beschriebenen Verfahren können, sofern hier nichts anderes angegeben ist oder sich aus dem Kontext ein Widerspruch ergibt, in jeder geeigneten Reihenfolge ausgeführt werden. Alle Beispiele oder Beispiele einleitenden Formulierungen (z. B. „wie“), die in dieser Schrift verwendet wurden, dienen lediglich einer besseren Veranschaulichung der Ausführungsformen der Offenbarung und stellen, sofern nichts anders beansprucht ist, keine Beschränkung des Umfangs der Offenbarung dar. Keine der in der Spezifikation verwendeten Ausdrucksweisen sollte so ausgelegt werden, dass sie ein nicht beanspruchtes Element als wesentlich für die Ausführung der Offenbarung bezeichnet.The use of the terms "a" and "the", "the", "the" and similar references in the context of a description of disclosed embodiments (particularly in the context of the following claims), should be construed as including both the singular and the plural unless otherwise stated in this document or clear contradiction arises from the context. The terms "comprise," "have," "include," and "contain," unless otherwise specified, are to be understood as non-exhaustive enumeration terms (that is, they include, but are not limited to). ). The term "connected" is contained as part or wholly in something, appropriate to something, or to be associated with something, even if there is something in between. The term "based on" should be understood to be extensible and in no way limiting, and should, where appropriate, be interpreted or read as "at least partially based." Unless specified otherwise in this document, a range of value ranges is intended to serve only as a shorthand for a process which refers individually to each of the values falling within the range, in which case each individual value is included as he would be directly mentioned in it. All methods described in this specification may be carried out in any suitable order unless stated otherwise or contradicted in context. All examples or examples of preliminary formulations (eg, "as") used in this specification are merely illustrative of the embodiments of the disclosure and, unless otherwise claimed, do not limit the scope of the disclosure The expressions used in the specification should be construed to designate an unclaimed element as essential to the practice of the disclosure.
ZITATE ENTHALTEN IN DER BESCHREIBUNG QUOTES INCLUDE IN THE DESCRIPTION
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.This list of the documents listed by the applicant has been generated automatically and is included solely for the better information of the reader. The list is not part of the German patent or utility model application. The DPMA assumes no liability for any errors or omissions.
Zitierte PatentliteraturCited patent literature
- US 62645760 [0001]US 62645760 [0001]
Claims (22)
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201862645760P | 2018-03-20 | 2018-03-20 | |
US62/645,760 | 2018-03-20 | ||
US16/267,197 US11182962B2 (en) | 2018-03-20 | 2019-02-04 | Method and system for object segmentation in a mixed reality environment |
US16/267,197 | 2019-02-04 |
Publications (2)
Publication Number | Publication Date |
---|---|
DE102019107103A1 true DE102019107103A1 (en) | 2019-09-26 |
DE102019107103B4 DE102019107103B4 (en) | 2023-08-17 |
Family
ID=67848488
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE102019107103.8A Active DE102019107103B4 (en) | 2018-03-20 | 2019-03-20 | METHOD AND SYSTEM FOR OBJECT SEGMENTATION IN A MIXED REALITY ENVIRONMENT |
Country Status (1)
Country | Link |
---|---|
DE (1) | DE102019107103B4 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112668596A (en) * | 2019-10-15 | 2021-04-16 | 北京地平线机器人技术研发有限公司 | Three-dimensional object recognition method and device and recognition model training method and device |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI420401B (en) | 2008-06-11 | 2013-12-21 | Vatics Inc | Algorithm for feedback type object detection |
US8140970B2 (en) | 2009-02-23 | 2012-03-20 | International Business Machines Corporation | System and method for semi-transparent display of hands over a keyboard in real-time |
-
2019
- 2019-03-20 DE DE102019107103.8A patent/DE102019107103B4/en active Active
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112668596A (en) * | 2019-10-15 | 2021-04-16 | 北京地平线机器人技术研发有限公司 | Three-dimensional object recognition method and device and recognition model training method and device |
CN112668596B (en) * | 2019-10-15 | 2024-04-16 | 北京地平线机器人技术研发有限公司 | Three-dimensional object recognition method and device, recognition model training method and device |
Also Published As
Publication number | Publication date |
---|---|
DE102019107103B4 (en) | 2023-08-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10943402B2 (en) | Method and system for mixed reality interaction with peripheral device | |
Blascheck et al. | State-of-the-art of visualization for eye tracking data. | |
CN102866819B (en) | The interactive whiteboard of the writing medium that use can disappear | |
DE212019000172U1 (en) | Handed determination system for virtual controllers | |
DE102009023875A1 (en) | Gesture recognition interface system with vertical display area | |
DE102014204320A1 (en) | Information query by pointing | |
US20210012540A1 (en) | Calligraphy-painting device, calligraphy-painting apparatus, and auxiliary method for calligraphy-painting | |
CN108932053A (en) | Drawing practice, device, storage medium and computer equipment based on gesture | |
US20150235391A1 (en) | Information input display device and information input display method | |
CN109035370A (en) | A kind of picture mask method and system | |
CN113672099A (en) | Electronic equipment and interaction method thereof | |
US20220366717A1 (en) | Sensor-based Bare Hand Data Labeling Method and System | |
CN110379251A (en) | Intelligence based on touch-control clipboard assists system of practising handwriting | |
Cheng et al. | Smooth gaze: a framework for recovering tasks across devices using eye tracking | |
CN115393872A (en) | Method, device and equipment for training text classification model and storage medium | |
US20210279928A1 (en) | Method and apparatus for image processing | |
WO2022237117A1 (en) | Touch control method and system for interactive electronic whiteboard, and readable medium | |
CN109858402B (en) | Image detection method, device, terminal and storage medium | |
CN110472600A (en) | The identification of eyeground figure and its training method, device, equipment and storage medium | |
DE102019107103B4 (en) | METHOD AND SYSTEM FOR OBJECT SEGMENTATION IN A MIXED REALITY ENVIRONMENT | |
CN113110733A (en) | Virtual field interaction method and system based on remote duplex | |
DE102019107145B4 (en) | METHOD, DEVICE AND NON-VOLATILE COMPUTER READABLE MEDIUM FOR MIXED REALITY INTERACTION WITH A PERIPHERAL DEVICE | |
Zhang | Educational psychology analysis method for extracting students’ facial information based on image big data | |
DE112018002518T5 (en) | INFORMATION PROCESSING SYSTEM, INFORMATION PROCESSING PROCESS AND PROGRAM | |
CN109358799A (en) | The method of the hand annotation information of user's input is added on handwriting equipment |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
R012 | Request for examination validly filed | ||
R016 | Response to examination communication | ||
R016 | Response to examination communication | ||
R018 | Grant decision by examination section/examining division |