DE112020006467T5 - Informationsverarbeitungsvorrichtung, informationsverarbeitungsverfahren und computerlesbares aufzeichnungsmedium - Google Patents

Informationsverarbeitungsvorrichtung, informationsverarbeitungsverfahren und computerlesbares aufzeichnungsmedium Download PDF

Info

Publication number
DE112020006467T5
DE112020006467T5 DE112020006467.0T DE112020006467T DE112020006467T5 DE 112020006467 T5 DE112020006467 T5 DE 112020006467T5 DE 112020006467 T DE112020006467 T DE 112020006467T DE 112020006467 T5 DE112020006467 T5 DE 112020006467T5
Authority
DE
Germany
Prior art keywords
calibration data
vector
data
information processing
sight
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
DE112020006467.0T
Other languages
English (en)
Inventor
Takuro Noda
Ryouhei YASUDA
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Group Corp
Original Assignee
Sony Group Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Group Corp filed Critical Sony Group Corp
Publication of DE112020006467T5 publication Critical patent/DE112020006467T5/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • G06T7/74Determining position or orientation of objects or cameras using feature-based methods involving reference images or patches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • G06F3/013Eye tracking input arrangements
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/01Head-up displays
    • G02B27/017Head mounted
    • G02B27/0172Head mounted characterised by optical features
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/30Determination of transform parameters for the alignment of images, i.e. image registration
    • G06T7/33Determination of transform parameters for the alignment of images, i.e. image registration using feature-based methods
    • G06T7/337Determination of transform parameters for the alignment of images, i.e. image registration using feature-based methods involving reference images or patches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/18Eye characteristics, e.g. of the iris
    • G06V40/193Preprocessing; Feature extraction
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/01Head-up displays
    • G02B27/0179Display position adjusting means not related to the information to be displayed
    • G02B2027/0187Display position adjusting means not related to the information to be displayed slaved to motion of at least a part of the body of the user, e.g. head, eye
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30004Biomedical image processing
    • G06T2207/30041Eye; Retina; Ophthalmic

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Human Computer Interaction (AREA)
  • General Health & Medical Sciences (AREA)
  • Ophthalmology & Optometry (AREA)
  • Multimedia (AREA)
  • Health & Medical Sciences (AREA)
  • Optics & Photonics (AREA)
  • Position Input By Displaying (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

Eine Informationsverarbeitungsvorrichtung gemäß einer Ausführungsform der vorliegenden Technologie weist einen Sichtlinienschätzer, einen Korrekturbetragsrechner und einen Registrierungsbestimmungsabschnitt auf. Der Sichtlinienschätzer berechnet einen Schätzvektor, der durch Schätzung der Richtung der Sichtlinie eines Benutzers erhalten wird. Der Korrekturbetragsrechner berechnet einen Korrekturbetrag in Bezug auf den Schätzvektor auf der Grundlage mindestens eines Objekts, das sich innerhalb eines bestimmten Winkelbereichs befindet, der unter Verwendung des Schätzvektors als Referenz festgelegt wird. Der Registrierungsbestimmungsabschnitt bestimmt, ob in einem Datenspeicher Kalibrierungsdaten registriert werden sollen, in denen der Schätzvektor und der Korrekturbetrag einander zugeordnet sind, und zwar auf der Grundlage eines Parameters, der sich auf das mindestens eine Objekt innerhalb des angegebenen Winkelbereichs bezieht.

Description

  • Technisches Gebiet
  • Die vorliegende Technologie bezieht sich auf eine Informationsverarbeitungsvorrichtung, ein Informationsverarbeitungsverfahren und ein computerlesbares Aufzeichnungsmedium, die auf die Sichtlinienerkennung angewendet werden können.
  • Stand der Technik
  • In der Vergangenheit sind beispielsweise ein Pupillenverfahren und ein Pupillen-Hornhautreflexionsverfahren als Verfahren zur Erkennung der Sichtlinie eines Benutzers entwickelt worden. Es ist bekannt, dass bei solchen Verfahren zur Erkennung einer Sichtlinie eine gewisse Abweichung der von einer Vorrichtung erkannten Richtung von der Richtung, in die ein Benutzer tatsächlich blickt, z. B. aufgrund eines individuellen Unterschieds in der Form eines Augapfels, besteht. Um die Abweichung zu kompensieren, muss die Differenz zwischen dem Ort, auf den der Benutzer tatsächlich schaut, und der Richtung der Sichtlinie, die erkannt wird, wenn der Benutzer auf den Ort schaut, untersucht werden. Daten, die einen solchen Unterschied darstellen, werden als Daten zur Kalibrierung einer Sichtlinienrichtung verwendet.
  • Die Patentliteratur 1 offenbart beispielsweise ein Verfahren zur Durchführung einer Kalibrierung unter Verwendung eines Eye-Tracking-Systems. In diesem System wird eine auf die Szene gerichtete Kamera bereitgestellt, die ein Bild eines Bereichs im Sichtfeld eines Benutzers aufnimmt, und ein charakteristisches bewegtes Objekt im Sichtfeld des Benutzers wird erkannt. Ein Bild einer Verfolgungsbewegung, die ausgeführt wird, wenn das bewegte Objekt visuell verfolgt wird, wird von einer Eye-Tracking-Kamera erfasst, und Blickdaten werden erzeugt. Dann wird ein Kalibrierungsparameter, der zur Kalibrierung einer Sichtlinienrichtung verwendet wird, auf der Grundlage von Daten einer Bewegung des bewegten Objekts und der Blickdaten berechnet (z. B. Absätze [0006], [0007], [0012] und [0025] und 3 in Patentliteratur 1).
  • Liste der Anführungen
  • Patentliteratur
  • Patentliteratur 1: Ungeprüfte japanische Patentanmeldung Veröffentlichung Nr. 2018-505457 Offenbarung der Erfindung
  • Technisches Problem
  • Bei einem solchen Verfahren zur Erfassung von Daten für die Kalibrierung kann die Genauigkeit bei der Erkennung einer Sichtlinie tatsächlich verringert werden, wenn die Datengenauigkeit gering ist. Es besteht also Bedarf an einer Technologie, die es ermöglicht, eine Verringerung der Genauigkeit bei der Erkennung einer Sichtlinie zu verhindern.
  • In Anbetracht der oben beschriebenen Umstände ist es ein Ziel der vorliegenden Technologie, eine Informationsverarbeitungsvorrichtung, ein Informationsverarbeitungsverfahren und ein computerlesbares Aufzeichnungsmedium bereitzustellen, die es ermöglichen, eine Verringerung der Genauigkeit bei der Erfassung einer Sichtlinie zu verhindern. Lösung des Problems
  • Um das oben beschriebene Ziel zu erreichen, weist eine Informationsverarbeitungsvorrichtung gemäß einer Ausführungsform der vorliegenden Technologie einen Sichtlinienschätzer, einen Korrekturbetragsrechner und einen Registrierungsbestimmungsabschnitt auf.
  • Der Sichtlinienschätzer berechnet einen Schätzvektor, der durch Schätzung der Richtung der Sichtlinie eines Benutzers erhalten wird.
  • Der Korrekturbetragsrechner berechnet einen Korrekturbetrag in Bezug auf den Schätzvektor auf der Grundlage mindestens eines Objekts, das sich innerhalb eines bestimmten Winkelbereichs befindet, der unter Verwendung des Schätzvektors als Referenz festgelegt wird.
  • Der Registrierungsbestimmungsabschnitt bestimmt, ob in einem Datenspeicher Kalibrierungsdaten registriert werden sollen, in denen der Schätzvektor und der Korrekturbetrag einander zugeordnet sind, und zwar auf der Grundlage eines Parameters, der sich auf das mindestens eine Objekt innerhalb des angegebenen Winkelbereichs bezieht.
  • In der Informationsverarbeitungsvorrichtung werden ein Schätzvektor, der durch Schätzen einer Richtung einer Sichtlinie eines Benutzers erhalten wird, und ein auf den Schätzvektor bezogener Korrekturbetrag berechnet. Der Korrekturbetrag wird auf der Grundlage mindestens eines Objekts berechnet, das sich innerhalb eines bestimmten Winkelbereichs befindet, der anhand des Schätzvektors als Referenz festgelegt wird. Ferner wird bestimmt, ob in einem Datenspeicher Kalibrierungsdaten, in denen der Schätzvektor und der Korrekturbetrag einander zugeordnet sind, auf der Grundlage eines Parameters, der sich auf das mindestens eine Objekt bezieht, registriert werden sollen. Auf diese Weise ist es möglich, geeignete Kalibrierungsdaten zu akkumulieren und somit eine Verringerung der Genauigkeit bei der Erkennung einer Sichtlinie zu verhindern.
  • Der Registrierungsbestimmungsabschnitt kann bestimmen, ob der Parameter, der sich auf das mindestens eine Objekt bezieht, eine bestimmte Bedingung erfüllt, der Registrierungsbestimmungsabschnitt kann die Kalibrierungsdaten in dem Datenspeicher registrieren, wenn der Parameter die bestimmte Bedingung erfüllt, und der Registrierungsbestimmungsabschnitt muss die Kalibrierungsdaten nicht unbedingt in dem Datenspeicher registrieren, wenn der Parameter die bestimmte Bedingung nicht erfüllt.
  • Der Parameter, der sich auf das mindestens eine Objekt bezieht, kann mindestens eine der folgenden Informationen aufweisen: die Anzahl des mindestens einen Objekts innerhalb des angegebenen Winkelbereichs, den Winkelabstand des mindestens einen Objekts relativ zum Schätzvektor, den Abstand von einem Blickpunkt zu dem mindestens einen Objekt, den Abstand des mindestens einen Objekts, die Wahrnehmbarkeit des mindestens einen Objekts oder Informationen bezüglich einer Auswahloperation zur Auswahl des mindestens einen Objekts, die vom Benutzer durchgeführt wird.
  • Der Registrierungsbestimmungsabschnitt kann die Zuverlässigkeit der Kalibrierungsdaten auf der Grundlage des Parameters, der sich auf das mindestens eine Objekt bezieht, festlegen, und auf der Grundlage der Zuverlässigkeit kann der Registrierungsbestimmungsabschnitt bestimmen, ob die Kalibrierungsdaten in dem Datenspeicher registriert werden sollen.
  • Der Registrierungsbestimmungsabschnitt kann als Kalibrierungsdaten einen Datensatz erzeugen, in dem der Schätzvektor, der Korrekturbetrag und die Zuverlässigkeit einander zugeordnet sind.
  • Das mindestens eine Objekt kann eine Vielzahl von Objekten aufweisen. In diesem Fall kann der Parameter die Vielzahl von Objekten aufweisen. Außerdem kann der Registrierungsbestimmungsabschnitt die Zuverlässigkeit höher ansetzen, wenn sich eine geringere Anzahl der Vielzahl von Objekten innerhalb des angegebenen Winkelbereichs befindet.
  • Das mindestens eine Objekt kann eine Vielzahl von Objekten aufweisen. In diesem Fall kann der Parameter den Abstand der Vielzahl von Objekten aufweisen. Außerdem kann der Registrierungsbestimmungsabschnitt die Zuverlässigkeit höher ansetzen, wenn der Abstand der Vielzahl von Objekten kleiner ist.
  • Der Parameter, der sich auf das mindestens eine Objekt bezieht, kann den Winkelabstand des mindestens einen Objekts relativ zum Schätzvektor aufweisen. In diesem Fall kann der Registrierungsbestimmungsabschnitt die Zuverlässigkeit höher ansetzen, wenn der Winkelabstand kleiner ist.
  • Der Parameter, der sich auf das mindestens eine Objekt bezieht, kann Informationen über eine Auswahloperation zur Auswahl des mindestens einen Objekts aufweisen, die vom Benutzer durchgeführt wird.
  • In diesem Fall kann der Registrierungsbestimmungsabschnitt die Zuverlässigkeit der Kalibrierungsdaten, die auf der Grundlage des mindestens einen durch die Auswahloperation ausgewählten Objekts berechnet wurden, auf einen Maximalwert setzen.
  • Zumindest wenn die Zuverlässigkeit unter einem ersten Schwellenwert liegt, muss der Registrierungsbestimmungsabschnitt die Kalibrierungsdaten nicht unbedingt im Datenspeicher registrieren.
  • Der Datenspeicher kann eine Vielzahl von registrierten Datenstücken aufweisen, die den registrierten Kalibrierungsdatenstücken entsprechen. In diesem Fall kann der Registrierungsbestimmungsabschnitt den ersten Schwellenwert in Abhängigkeit von der Anzahl der registrierten Datenstücke steuern.
  • Der Datenspeicher kann eine Vielzahl von registrierten Daten aufweisen, die den registrierten Kalibrierungsdaten entsprechen. In diesem Fall kann der Registrierungsbestimmungsabschnitt das registrierte Datenstück extrahieren, das einen Vektor aufweist, bei dem der Winkelabstand des Vektors und des Schätzvektors kleiner oder gleich einem zweiten Schwellenwert ist, und wenn die Zuverlässigkeit höher ist als die Zuverlässigkeit des registrierten Datenstücks, kann der Registrierungsbestimmungsabschnitt das registrierte Datenstück aus dem Datenspeicher löschen und das Kalibrierungsdatenstück mit einer höheren Zuverlässigkeit im Datenspeicher registrieren.
  • Das mindestens eine Objekt kann eine Vielzahl von Objekten aufweisen. In diesem Fall kann der Korrekturbetragsrechner den Korrekturbetrag auf der Grundlage eines Objekts berechnen, das sich in der Vielzahl der Objekte am nächsten zum Schätzvektor befindet.
  • Das mindestens eine Objekt kann eine Vielzahl von Objekten aufweisen. In diesem Fall kann der Korrekturbetragsrechner die Korrekturbeträge, die den jeweiligen Objekten der Vielzahl von Objekten entsprechen, auf der Grundlage der jeweiligen Objekte der Vielzahl von Objekten berechnen.
  • Der Registrierungsbestimmungsabschnitt kann die Registrierung der Kalibrierungsdaten im Datenspeicher als Reaktion auf eine vom Benutzer durchgeführte Stornierungsoperation abbrechen.
  • Der Schätzvektor kann ein Vektor sein, der durch Schätzung einer optischen Achse eines Augapfels des Benutzers erhalten wird.
  • Der Korrekturbetragsrechner kann als angegebenen Winkelbereich einen Bereich festlegen, der die Form eines Kegels mit einem Scheitelwinkel von 20 Grad oder weniger hat, wobei der Schätzvektor eine Mittelachse des Kegels ist.
  • Der Korrekturbetragsrechner kann auf der Grundlage eines Konvergenzwinkels, der durch die Sichtlinien des Benutzers gebildet wird, eine Grenzebene in einer Tiefenrichtung des angegebenen Winkelbereichs festlegen.
  • Ein Informationsverarbeitungsverfahren gemäß einer Ausführungsform der vorliegenden Technologie ist ein Informationsverarbeitungsverfahren, das von einem Computersystem durchgeführt wird und die Berechnung eines Schätzvektors beinhaltet, der durch die Schätzung einer Richtung einer Sichtlinie eines Benutzers erhalten wird.
  • Ein auf den Schätzvektor bezogener Korrekturbetrag wird auf der Grundlage von mindestens einem Objekt berechnet, das sich innerhalb eines bestimmten Winkelbereichs befindet, der unter Verwendung des Schätzvektors als Referenz festgelegt wird.
  • Es wird bestimmt, ob in einem Datenspeicher Kalibrierungsdaten registriert werden sollen, in denen der Schätzvektor und der Korrekturbetrag einander zugeordnet sind, und zwar auf der Grundlage eines Parameters, der sich auf das mindestens eine Objekt innerhalb des festgelegten Winkelbereichs bezieht.
  • Ein computerlesbares Aufzeichnungsmedium gemäß einer Ausführungsform der vorliegenden Technologie zeichnet darin ein Programm auf, das ein Computersystem veranlasst, einen Prozess durchzuführen, der Folgendes beinhaltet:
    • Berechnen eines Schätzvektors, der durch Schätzung der Richtung der Sichtlinie eines Benutzers erhalten wird;
    • Berechnen eines auf den Schätzvektor bezogenen Korrekturbetrags auf der Grundlage mindestens eines Objekts, das sich innerhalb eines angegebenen Winkelbereichs befindet, der unter Verwendung des Schätzvektors als Referenz festgelegt ist; und
    • Bestimmen, ob in einem Datenspeicher Kalibrierungsdaten registriert werden sollen, in denen der Schätzvektor und der Korrekturbetrag einander zugeordnet sind, und zwar auf der Grundlage eines Parameters, der sich auf das mindestens eine Objekt innerhalb des festgelegten Winkelbereichs bezieht.
  • Figurenliste
    • [1] 1 zeigt schematisch das Aussehen eines Head-Mounted Displays gemäß einer Ausführungsform der vorliegenden Technologie.
    • [2] 2 ist ein Blockdiagramm, das ein Beispiel für eine Konfiguration des in 1 dargestellten HMD zeigt.
    • [3] 3 ist ein schematisches Diagramm, das die Verarbeitung zur Erzeugung von Kalibrierungsdaten beschreibt.
    • [4] 4 zeigt schematisch ein Beispiel für Kalibrierungsdaten, die in einem Kalibrierungsdatenspeicher aufgezeichnet sind.
    • [5] 5 zeigt schematisch ein Beispiel für ein Augapfelmodell.
    • [6] 6 zeigt schematisch ein Beispiel für ein virtuelles Objekt, das durch das HMD im Sichtfeld eines Benutzers angezeigt wird.
    • [7] 7 ist eine schematische Darstellung, die die grundlegende Funktionsweise des HMD beschreibt.
    • [8] 8 ist ein Flussdiagramm, das ein Beispiel für die Verarbeitung zur Erzeugung von Kalibrierungsdaten zeigt.
    • [9] 9 zeigt schematisch ein Beispiel für das Sichtfeld eines Benutzers.
    • [10] 10 zeigt schematisch ein Beispiel für die Einstellung eines Winkelbereichs.
    • [11] 11 ist ein schematisches Diagramm zur Beschreibung einer Änderung des Sichtfelds, die durch die Bewegung eines Blickpunkts verursacht wird. Modus (Modi) zum Ausführen der Erfindung
  • Die Ausführungsformen der vorliegenden Technologie werden im Folgenden unter Bezugnahme auf die Zeichnungen beschrieben.
  • [Konfiguration der Informationsverarbeitungsvorrichtung]
  • 1 zeigt schematisch das Aussehen eines Head-Mounted Displays (HMD) gemäß einer Ausführungsform der vorliegenden Technologie. 2 ist ein Blockdiagramm, das ein Beispiel für eine Konfiguration eines in 1 dargestellten HMD 100 zeigt. Das HMD 100 wird auf dem Kopf eines Benutzers getragen und dient als Anzeigevorrichtung, die ein Bild im Sichtfeld des Benutzers anzeigt. Der Benutzer, der das HMD 100 trägt, kann z. B. virtuelle Realität (VR) oder erweiterte Realität (AR) erleben.
  • Außerdem ist das HMD 100 so ausgebildet, dass es die Sichtlinie eines Benutzers erkennt. Konkret wird ein Sichtlinienvektor erfasst, der die Richtung der Sichtlinie des Benutzers darstellt. Die Verwendung des Sichtlinienvektors ermöglicht es, z. B. eine Eingabeoperation unter Verwendung der Sichtlinie des Benutzers vorzunehmen.
  • Wie in 1 dargestellt, weist das HMD 100 eine Basis 10 und ein Befestigungsband 11 auf.
  • Die Basis 10 ist ein Element, das vor dem linken und rechten Auge eines Benutzers angeordnet ist. Die Basis 10 ist so gestaltet, dass sie das Sichtfeld des Benutzers abdeckt, und dient als Gehäuse, in dem beispielsweise ein Display 12 zur Anzeige eines Bildes untergebracht ist.
  • Das Befestigungsband 11 wird am Kopf des Benutzers befestigt. Wie in 1 dargestellt, weist das Befestigungsband 11 ein seitliches Kopfband 11a und ein oberes Kopfband 11b auf. Das seitliche Kopfband 11a ist mit der Basis 10 verbunden und so angebracht, dass es den Kopf des Benutzers von der Seite bis zum Hinterkopf umschließt. Das obere Kopfband 11b ist mit dem seitlichen Kopfband 11a verbunden und so angebracht, dass es den Kopf des Benutzers von der Seite bis zum Scheitel umschließt. Dadurch ist es möglich, die Basis 10 vor die Augen des Benutzers zu halten.
  • Wie in 2 dargestellt, weist das HMD 100 außerdem das Display 12, einen Kommunikationsabschnitt 13, eine nach innen gerichtete Kamera 14, einen Bewegungssensor 15, einen Speicher 16 und einen Controller 17 auf.
  • Das Display 12 ist so an der Basis 10 angebracht, dass es zumindest einen Teil des Sichtfeldes des Benutzers abdeckt. So sind beispielsweise zwei Displays 12 im Sichtfeld des Benutzers angeordnet, um darauf jeweils ein Bild für das linke und ein Bild für das rechte Auge anzuzeigen. Alternativ kann auch eine Konfiguration gewählt werden, bei der das Bild für das linke Auge und das Bild für das rechte Auge auf einem einzigen Display 12 angezeigt werden. Darüber hinaus kann beispielsweise zwischen dem Display 12 und dem linken und rechten Auge des Benutzers eine Linse zum Einstellen des Fokus angebracht sein.
  • Als Display 12 wird zum Beispiel ein organisches EL-Display oder ein Flüssigkristalldisplay (LCD) verwendet. Darüber hinaus ist eine bestimmte Konfiguration des Displays 12 nicht beschränkt.
  • Der Kommunikationsabschnitt 13 ist ein Modul, das z. B. für die Netzwerkkommunikation oder die Nahfeldkommunikation mit einer anderen Vorrichtung verwendet wird. Beispielsweise ist ein drahtloses LAN-Modul wie Wi-Fi oder ein Kommunikationsmodul wie Bluetooth (eingetragenes Markenzeichen) als Kommunikationsabschnitt 13 vorgesehen.
  • Ferner kommuniziert der Kommunikationsabschnitt 13 mit einer Eingabevorrichtung (auf deren Darstellung verzichtet wird), die von einem Benutzer verwendet wird, um beispielsweise eine Bedienungseingabe mit der Hand des Benutzers durchzuführen, und empfängt die vom Benutzer durchgeführte Bedienungseingabe. Als Eingabevorrichtung wird z. B. eine Vorrichtung (wie ein Spielcontroller) verwendet, die z. B. eine Auswahltaste, einen Analogstick und einen Schalter aufweist. Der Typ und die Art der Eingabevorrichtung sind nicht beschränkt, und es können z. B. eine Maus und eine Tastatur verwendet werden.
  • Die nach innen gerichtete Kamera 14 nimmt ein Bild des Augapfels eines Benutzers auf. Ein Augapfelbild des Augapfels des Benutzers wird verwendet, um eine Sichtlinie zu erkennen, was später beschrieben wird. Die nach innen gerichtete Kamera 14 ist beispielsweise mit einer Kamera für das linke Auge und einer Kamera für das rechte Auge konfiguriert, die im Inneren der Basis 10 angeordnet sind, um jeweils Bilder des linken und des rechten Auges des Benutzers zu erfassen.
  • Beispielsweise wird eine Digitalkamera mit einem Bildsensor wie einem CMOS-Sensor (Complementary Metal-Oxide Semiconductor) oder einem CCD-Sensor (Charge Coupled Device) als nach innen gerichtete Kamera 14 (Kamera für das linke Auge und Kamera für das rechte Auge) verwendet. Darüber hinaus kann zum Beispiel eine Infrarotkamera mit einer Infrarotlichtquelle wie einer Infrarot-LED verwendet werden. Damit ist es möglich, ein Infrarotbild eines Augapfels aufzunehmen und eine Sichtlinie mit hoher Genauigkeit zu erkennen. Eine bestimmte Konfiguration der nach innen gerichteten Kamera 14 ist nicht beschränkt.
  • Der Bewegungssensor 15 ist ein Sensor, der Informationen über eine Bewegung des HMD 100 erfasst. Der Bewegungssensor 15 ist beispielsweise an einer bestimmten Position in der Basis 10 befestigt und erfasst beispielsweise eine Neigung und eine Drehung des HMD 100. Man kann also auch sagen, dass der Bewegungssensor 15 ein Sensor ist, der Informationen über eine Bewegung des Kopfes eines Benutzers, der das HMD 100 trägt, erfasst.
  • Als Bewegungssensor 15 wird zum Beispiel eine Inertialmesseinheit (IMU) verwendet. Die Inertialmesseinheit ist ein Sensor, der die Winkelgeschwindigkeit und die Beschleunigung in drei Dimensionen erfasst, z. B. mit einem Drei-Achsen-Gyroskop und einem Drei-Achsen-Beschleunigungsmesser. Als Bewegungssensor 15 kann zum Beispiel ein Neun-Achsen-Sensor verwendet werden, der neben einem Drei-Achsen-Gyroskop und einem Drei-Achsen-Beschleunigungsmesser auch einen Drei-Achsen-Geschwindigkeitsmesser aufweist. Der Typ des Bewegungssensors 15 ist nicht beschränkt, und es kann jeder Sensor verwendet werden, der eine Bewegung des HMD 100 erkennen kann.
  • Außerdem ist der im HMD 100 enthaltene Sensor nicht beschränkt. So kann zum Beispiel ein externer Sensor vorgesehen werden, der Informationen über die Außenseite des HMD 100 erfasst. Als externer Sensor wird z. B. eine Digitalkamera (eine nach außen gerichtete Kamera) verwendet, die ein Bild von einem Bereich vor dem HMD 100 (vor dem Benutzer) aufnimmt.
  • Als externer Sensor kann beispielsweise eine Kamera, wie eine Stereokamera oder ein Time-of-Flight (ToF)-Sensor, verwendet werden, die beispielsweise Informationen über die Tiefe eines realen Raums erfassen kann. Beispielsweise kann ein AR-Erlebnis oder dergleichen durch ein vom externen Sensor erfasstes Bild, das auf dem Display 12 angezeigt wird, vermittelt werden. Außerdem kann ein Radarsensor, ein LiDAR-Sensor oder dergleichen als externer Sensor eingesetzt werden.
  • Der Speicher 16 ist eine nichtflüchtige Speichervorrichtung. Als Speicher 16 wird beispielsweise ein Aufzeichnungsmedium mit einer Solid-State-Vorrichtung wie einem Solid-State-Laufwerk (SSD) oder ein magnetisches Aufzeichnungsmedium wie ein Festplattenlaufwerk (HDD) verwendet. Darüber hinaus sind der Typ und die Art eines Aufzeichnungsmediums, das als Speicher 16 verwendet wird, nicht beschränkt, und es kann beispielsweise jedes Aufzeichnungsmedium verwendet werden, das Daten nicht transient aufzeichnet.
  • Der Speicher 16 speichert darin ein Steuerprogramm 20, einen Kalibrierungsdatenspeicher 21 und Objektinformationen 22. In der vorliegenden Ausführungsform entspricht der Speicher 16 einem computerlesbaren Aufzeichnungsmedium, auf dem ein Programm aufgezeichnet ist.
  • Das Steuerprogramm 20 ist ein Programm, mit dem die Operation des gesamten HMD 100 gesteuert wird. In der vorliegenden Ausführungsform entspricht das Steuerprogramm 20 einem auf einem Aufzeichnungsmedium aufgezeichneten Programm.
  • Der Kalibrierungsdatenspeicher 21 ist eine Datenbank, die eine Vielzahl von Kalibrierungsdatenstücken speichert, die zur Durchführung der Kalibrierungsverarbeitung zur Kalibrierung eines Sichtlinienvektors eines Benutzers verwendet werden. Mit anderen Worten: Man kann sagen, dass der Kalibrierungsdatenspeicher eine Gruppe von Kalibrierungsdatenstücken ist, die eine Vielzahl von Kalibrierungsdatenstücken aufweist. In der vorliegenden Ausführungsform entspricht der Kalibrierungsdatenspeicher 21 einem Datenspeicher.
  • Bei den Objektinformationen 22 handelt es sich beispielsweise um Informationen zu einem virtuellen Objekt, das auf dem Display 12 angezeigt wird. So werden beispielsweise Anzeigeparameter wie Form, Größe und Farbe des virtuellen Objekts als Objektinformationen gespeichert.
  • Darüber hinaus sind die im Speicher 16 gespeicherten Informationen nicht begrenzt.
  • Hier wird ein grundlegendes Verfahren zur Erzeugung von Kalibrierungsdaten beschrieben.
  • 3 ist ein schematisches Diagramm, das die Verarbeitung zur Erzeugung von Kalibrierungsdaten beschreibt. Die zur Erzeugung von Kalibrierungsdaten durchgeführte Verarbeitung wird im Folgenden einfach als Datenerzeugungsverarbeitung bezeichnet.
  • Im HMD 100 werden eine erste Datenerzeugungsverarbeitung zur Erzeugung von Kalibrierungsdaten durch Anzeige eines speziellen UI-Bildschirms und eine zweite Datenerzeugungsverarbeitung zur Erzeugung von Kalibrierungsdaten während der Ausführung einer Anwendung (eines Inhaltsprogramms) durchgeführt.
  • A in 3 zeigt schematisch ein Beispiel für einen speziellen UI-Bildschirm, der zur Durchführung der ersten Datenerzeugungsverarbeitung verwendet wird. Auf diesem UI-Bildschirm wird ein virtuelles Objekt 5 an einer bestimmten Position in einem Anzeigebereich des Displays 12 angezeigt. In A von 3 sind neun Anzeigepositionen eingestellt, und die virtuellen Objekte 5 werden abwechselnd an den jeweiligen Anzeigepositionen angezeigt.
  • Dabei wird der Benutzer angewiesen, auf ein angezeigtes virtuelles Objekt 5 zu blicken, und jedes Mal, wenn das virtuelle Objekt 5 an einer anderen Anzeigeposition angezeigt wird, wird ein Sichtlinienvektor 40 des Benutzers erkannt. A in 3 zeigt schematisch einen Blickpunkt P, der den Sichtlinienvektor 40 repräsentiert, unter Verwendung einer Markierung X.
  • Wenn der Sichtlinienvektor 40 erkannt wird, wird ein Positionsvektor 41 des virtuellen Objekts 5 berechnet, der einen Blickpunkt des Benutzers (einen Ursprung des Sichtlinienvektors) mit einer Position des angezeigten virtuellen Objekts 5 (zum Beispiel einem Mittelpunkt Q) verbindet. Dann wird ein Korrekturbetrag für die Drehung des Sichtlinienvektors 40 in Bezug auf den Positionsvektor 41 errechnet (ein Korrekturbetrag für den Sichtlinienvektor).
  • In diesem Fall ist der Korrekturbetrag der Drehung ein Betrag der Drehung eines dreidimensionalen Vektors, wobei der Drehungsbetrag notwendig ist, damit der Positionsvektor 41 und der Sichtlinienvektor 40 miteinander übereinstimmen. Der Korrekturbetrag der Drehung wird zum Beispiel als Euler-Winkel berechnet, die durch Rollen, Nicken und Gieren dargestellt werden, oder als Quaternionen, die zur Darstellung eines Drehbetrags verwendet werden.
  • Ein Datensatz, der den Sichtlinienvektor 40 und einen Korrekturbetrag für den Sichtlinienvektor 40 aufweist, wird als Kalibrierungsdaten erzeugt und im Kalibrierungsdatenspeicher gespeichert. In dem in A von 3 dargestellten Beispiel werden neun Datensätze im Kalibrierungsdatenspeicher gespeichert.
  • Man kann sagen, dass die erste Datenerzeugungsverarbeitung, die wie oben beschrieben über einen speziellen UI-Bildschirm durchgeführt wird, eine statische Kalibrierung ist, die z. B. durch Anhalten einer Anwendung erfolgt.
  • B in 3 zeigt schematisch ein Beispiel für einen Bildschirm, auf dem die zweite Datenerzeugungsverarbeitung durchgeführt wird. B in 3 zeigt schematisch das virtuelle Objekt 5, das während der Ausführung einer Anwendung angezeigt wird. Bei der zweiten Datenerzeugungsverarbeitung werden die Kalibrierungsdaten mit Hilfe des virtuellen Objekts 5 erzeugt, von dem angenommen wird, dass es die Aufmerksamkeit eines Benutzers auf sich zieht.
  • Es wird beispielsweise angenommen, dass der Blickpunkt P des Sichtlinienvektors 40 eines Benutzers in der Nähe des virtuellen Objekts 5 erkannt wird, wie in B von 3 dargestellt. In diesem Fall wird unter der Annahme, dass der Benutzer mit hoher Wahrscheinlichkeit auf das virtuelle Objekt 5 in der Nähe des Blickpunkts P blickt, ein Korrekturbetrag unter Verwendung des virtuellen Objekts 5 als Referenz berechnet.
  • Mit anderen Worten, es wird ein Korrekturbetrag für den Sichtlinienvektor 40 in Bezug auf den Positionsvektor 41 des nahegelegenen virtuellen Objekts 5 (Mittelpunkt Q) berechnet (ein Korrekturbetrag für die Drehung des Sichtlinienvektors). Dann wird ein Datensatz, der den Sichtlinienvektor 40 und den Korrekturbetrag aufweist, als Kalibrierungsdaten im Kalibrierungsdatenspeicher aufgezeichnet.
  • Wie oben beschrieben, handelt es sich bei der zweiten Datenerzeugungsverarbeitung um eine dynamische Kalibrierung, die während der Ausführung z. B. einer Anwendung erfolgt. In diesem Fall werden mehrere Datensätze gebildet, die jeweils einen Korrekturbetrag und einen Schätzvektor für mehrere Richtungen aufweisen, da z. B. eine Position, an der das virtuelle Objekt 5 angezeigt wird, noch nicht bestimmt ist.
  • Beachten Sie, dass das Verfahren zur Konfiguration des Kalibrierungsdatenspeichers 21 nicht beschränkt ist. Beispielsweise können die durch die erste Datenerzeugungsverarbeitung erzeugten Kalibrierungsdaten und die durch die zweite Datenerzeugungsverarbeitung erzeugten Kalibrierungsdaten in derselben Datenbank oder in verschiedenen Datenbanken registriert werden.
  • 4 zeigt schematisch ein Beispiel für Kalibrierungsdaten, die im Kalibrierungsdatenspeicher 21 aufgezeichnet sind. In 4 ist eine Vielzahl von Kalibrierungsdatenstücken 7 in einem Sichtfeld 6 eines Benutzers (in einem Bereich, der von einem rechteckigen äußeren Rahmen umgeben ist) mit Hilfe von Pfeilen eingezeichnet.
  • Der Ursprung eines jeden Pfeils entspricht dem Sichtlinienvektor 40 (oder dem Blickpunkt P des Sichtlinienvektors 40). Außerdem stellt die Länge des Pfeils die Größe des Korrekturbetrags der Drehung dar. Außerdem stellt die Richtung des Pfeils eine Ausrichtung des Korrekturbetrags der Drehung (eine Drehrichtung) dar.
  • Die in 4 dargestellten kreisförmigen Bereiche stellen die Bereiche dar, in denen die Blickrichtung um 10°, 20° und 30° geneigt ist, wobei der Mittelpunkt (0°) des Kreises als ein Zustand definiert ist, in dem der Benutzer nach vorne blickt.
  • Bei den in 4 dargestellten Kalibrierungsdaten 7 handelt es sich z. B. um Daten, die mit Hilfe der zweiten Datenerzeugungsverarbeitung akkumuliert wurden. Der Kalibrierungsdatenspeicher 21 ist also eine Datenbank, in der eine Vielzahl von Kalibrierungsdatenstücken 7 gespeichert sind, die jeweils verschiedenen Richtungen im Sichtfeld entsprechen. So können z. B. Kalibrierungsdaten verwendet werden, mit denen ein Zwischenraum zwischen Datenpunkten, die bei der ersten Datenerzeugungsverarbeitung erfasst wurden, aufgefüllt werden kann, um so die Genauigkeit bei der Erkennung einer Sichtlinie zu verbessern.
  • Wie oben beschrieben, weist der Kalibrierungsdatenspeicher 21 eine Vielzahl von registrierten Datenstücken auf, die den registrierten Kalibrierungsdatenstücken 7 entsprechen. Die Vielzahl der registrierten Datenstücke wird bei der eigentlichen Kalibrierungsverarbeitung verwendet.
  • Es ist zu beachten, dass die durch die zweite Datenerzeugungsverarbeitung erzeugten Kalibrierungsdaten 7 auch Daten mit einem geringen Genauigkeitsgrad aufweisen können. In dem in 3 dargestellten Beispiel (B) besteht beispielsweise die Möglichkeit, dass nicht sicher ist, ob der Benutzer das virtuelle Objekt 5 tatsächlich betrachtet. Wenn solche Kalibrierungsdaten 7 registriert werden, kann dies zu einer Verringerung der Genauigkeit bei der Erkennung einer Sichtlinie führen.
  • In der vorliegenden Ausführungsform wird die Datenerzeugungsverarbeitung so gesteuert, dass die Kalibrierungsdaten 7 mit einem geringen Genauigkeitsgrad nicht registriert werden.
  • Zurück zu 2: Der Controller 17 steuert die Operationen der jeweiligen Blöcke des HMD 100. Der Controller 17 wird durch Hardware wie eine CPU und einen Speicher (RAM und ROM) konfiguriert, die für einen Computer notwendig sind. Verschiedene Prozesse werden durchgeführt, indem die CPU das im Speicher 16 gespeicherte Steuerprogramm 20 in das RAM lädt und das Steuerprogramm 20 ausführt. In der vorliegenden Ausführungsform entspricht der Controller 17 einer Informationsverarbeitungsvorrichtung.
  • Beispielsweise kann ein programmierbarer Logikbaustein (PLD) wie ein Field Programmable Gate Array (FPGA) oder ein anderer Baustein wie ein anwendungsspezifischer integrierter Schaltkreis (ASIC) als Controller 17 verwendet werden. Darüber hinaus kann beispielsweise ein Prozessor, wie eine Grafikverarbeitungseinheit (GPU), als Controller 17 verwendet werden.
  • Beachten Sie, dass der Controller 17 und der Speicher 16 von einem Gehäuse des HMD 100 getrennt sein können. So kann das HMD 100 beispielsweise dadurch gesteuert werden, dass das Gehäuse des HMD 100 und z. B. der Controller 17 miteinander kommunizieren, z. B. über einen Kommunikationsabschnitt (nicht abgebildet). Dies führt zu einer Verringerung des Stromverbrauchs im Gehäuse des HMD 100 und zu einer Verbesserung der Betriebszeit des HMD 100.
  • In der vorliegenden Ausführungsform sind ein Sichtliniendetektor 23, ein Kopfpositions-/Kopfhaltungsdetektor 24, ein Objektextraktionsabschnitt 25, ein Kalibrierungsdatengenerator 26, ein Kalibrierungsverarbeitungsabschnitt 27 und ein Bildverarbeitungsabschnitt 28 als Funktionsblöcke durch die CPU des Controllers 17 implementiert, der ein Programm gemäß der vorliegenden Ausführungsform ausführt. Dann wird ein Informationsverarbeitungsverfahren gemäß der vorliegenden Ausführungsform durch diese Funktionsblöcke durchgeführt. Es ist zu beachten, dass für die Implementierung jedes Funktionsblocks gegebenenfalls spezielle Hardware, wie z. B. eine integrierte Schaltung (IC), verwendet werden kann.
  • Der Sichtliniendetektor 23 berechnet einen Schätzungs-Sichtlinienvektor, der durch Schätzung der Richtung der Sichtlinie eines Benutzers erhalten wird. Der Schätzungs-Sichtlinienvektor ist ein Vektor, der das Ergebnis der Schätzung der Richtung der Sichtlinie des Benutzers darstellt und ein Sichtlinienvektor ist, bevor die Kalibrierungsverarbeitung durch den Kalibrierungsverarbeitungsabschnitt 27 durchgeführt wird, der später beschrieben wird. Beispielsweise wird ein Korrekturbetrag für einen Schätzungs-Sichtlinienvektor durch die Datenerzeugungsverarbeitung zur Erzeugung von Kalibrierungsdaten berechnet, die mit Bezug auf 3 beschrieben worden ist. In der vorliegenden Ausführungsform entspricht der Schätzungs-Sichtlinienvektor einem Schätzvektor.
  • Im Sichtliniendetektor 23 wird ein Schätzungs-Sichtlinienvektor durch ein Sichtlinienerkennungsverfahren berechnet, das beispielsweise ein dreidimensionales Modell eines menschlichen Augapfels (ein Augapfelmodell) verwendet.
  • 5 zeigt schematisch ein Beispiel für ein Augapfelmodell. Ein Augapfelmodell 50 ist ein Modell, das einen menschlichen Augapfel mit einem Augapfelkörper 51 und einer Hornhaut 52 darstellt, die mit dem Augapfelkörper 51 verbunden ist.
  • Bei dem Augapfelmodell 50 ist der Augapfelkörper 51 eine Kugel. Außerdem ist die Hornhaut 52 ein Teil einer Kugel, die einen kleineren Radius hat als der Augapfelkörper 51. Der Mittelpunkt der Kugel, die zur Darstellung der Hornhaut 52 verwendet wird, wird im Folgenden als Hornhautkrümmungsmitte 53 bezeichnet. Die Hornhautkrümmungsmitte 53 ist ein Punkt, der z. B. einen Knotenpunkt der zentralen Rückfläche einer Linse darstellt. Außerdem befindet sich ein Pupillenmittelpunkt 54, der ein Mittelpunkt einer Pupille ist, innerhalb der Kugel, die zur Darstellung der Hornhaut 52 verwendet wird.
  • Im Augapfelmodell 50 ist eine Richtung, die durch die Verbindung der Hornhautkrümmungsmitte 53 mit der Pupillenmitte 54 bestimmt wird, eine Richtung einer optischen Achse 56 des Augapfels, die durch die Mitte des Augapfelkörpers 51 (eine Augapfelmitte 55) verläuft, wie in 5 dargestellt. Mit anderen Worten: Die optische Achse 56 ist eine Normallinie der Hornhaut 52, die durch die Pupillenmitte 54 verläuft.
  • Die Richtung der optischen Achse 56 eines Augapfels kann mithilfe des Augapfelmodells 50 geschätzt werden.
  • In der vorliegenden Ausführungsform wird die optische Achse 56 durch den Sichtliniendetektor 23 auf der Grundlage des Augapfelmodells 50 geschätzt. Ein vom Sichtliniendetektor 23 berechneter Schätzungs-Sichtlinienvektor ist also ein Vektor (ein Optikachsenvektor), der durch Schätzung der optischen Achse 56 eines Augapfels eines Benutzers erhalten wird.
  • Als Verfahren zur Schätzung eines Optikachsenvektors wird z. B. ein Pupillen-Hornhaut-Reflexionsverfahren oder ein Pupillenverfahren verwendet, das ein von der nach innen gerichteten Kamera 14 aufgenommenes Bild des Augapfels verwendet.
  • Beim Pupillen-Hornhaut-Reflexionsverfahren wird ein Bild des Augapfels z. B. mit einer Infrarotkamera (der nach innen gerichteten Kamera 14) und einer Infrarotlichtquelle aufgenommen. In diesem Fall erscheint auf dem Bild des Augapfels ein heller Fleck (ein Purkinje-Bild), der durch die Reflexion von Infrarotlicht, z. B. von der Hornhaut, erzeugt wird. Auf der Grundlage des durch Infrarotlicht erzeugten hellen Flecks und der Position der Pupille wird ein Optikachsenvektor (ein Schätzungs-Sichtlinienvektor) berechnet. Dies ermöglicht es, die optische Achse 56 eines Augapfels mit hoher Genauigkeit zu schätzen.
  • Ferner wird beim Pupillenverfahren ein Optikachsenvektor (ein Schätzungs-Sichtlinienvektor) berechnet, indem die Position einer Pupille in Bezug auf einen Merkmalspunkt, z. B. einen Augenwinkel, der in einem Augapfelbild enthalten ist, ermittelt wird. Dieses Verfahren ermöglicht es, die Anzahl der Komponenten zu reduzieren, da z. B. eine Infrarotlichtquelle nicht mehr benötigt wird.
  • Darüber hinaus ist das Sichtlinienerkennungsverfahren nicht beschränkt, und es kann beispielsweise ein Verfahren zur Berechnung eines Optikachsenvektors verwendet werden, das z. B. auf maschinellem Lernen beruht.
  • Der Sichtliniendetektor 23 berechnet einen Schätzungs-Sichtlinienvektor für den linken und rechten Augapfel eines Benutzers. Anschließend werden die berechneten Schätzungs-Sichtlinienvektoren nach Bedarf kombiniert, um einen einzigen Schätzungs-Sichtlinienvektor zu berechnen. Ohne darauf beschränkt zu sein, kann zum Beispiel der Schätzungs-Sichtlinienvektor für das linke und das rechte Auge berechnet werden. Die vorliegende Technologie kann auch in einem solchen Fall angewendet werden.
  • Es ist zu beachten, dass die Sichtlinie des Benutzers auf einer Sichtachse 58 liegt, die die Hornhautkrümmungsmitte 53 mit einer Fovea 57 im Augapfelkörper 51 verbindet, wie in 5 dargestellt. Mit anderen Worten: Die Richtung, in die der Benutzer tatsächlich schaut, ist nicht die Richtung entlang der optischen Achse 56, sondern die Richtung entlang der Sichtachse 58.
  • Ein Vektor (die Sichtachse 58), der auf ein Ziel (z. B. das virtuelle Objekt 5) ausgerichtet ist, auf das der Benutzer blickt, muss also nicht unbedingt mit einem Optikachsenvektor übereinstimmen. Daher ist beispielsweise der vom Sichtliniendetektor 23 berechnete Schätzungs-Sichtlinienvektor ein Vektor, der um einen konstanten Betrag von der tatsächlichen Sichtlinie abweicht.
  • Die Abweichung der Sichtachse 58 von der optischen Achse 56 beträgt z. B. etwa fünf Grad. Es ist zu beachten, dass die Abweichung der Sichtachse 58 von der optischen Achse 56 von Person zu Person unterschiedlich ist und die Sichtachse 58 im Allgemeinen in einem Winkel von etwa vier bis acht Grad geneigt ist. Der Betrag der Abweichung der Sichtachse 58 von der optischen Achse 56 wird im Folgenden als w bezeichnet.
  • In der vorliegenden Ausführungsform wird ein solcher Abweichungsbetrag Q durch eine Kalibrierungsverarbeitung (Kalibrierung) unter Verwendung von Kalibrierungsdaten korrigiert, und es wird eine Richtung ermittelt, in die der Benutzer tatsächlich schaut (eine tatsächliche Sichtlinienrichtung) .
  • Zurück zu 2: Der Kopfpositions-/Kopfhaltungsdetektor 24 liest ein Ergebnis der vom Bewegungssensor 15 durchgeführten Erkennung und erkennt eine Position und eine Haltung des Kopfes eines Benutzers.
  • So wird beispielsweise die Bewegungsrichtung des Kopfes auf der Grundlage des Ergebnisses der vom Bewegungssensor 15 durchgeführten Erkennung der Kopfposition geschätzt. Die Position des Kopfes ist z. B. ein Basispunkt (ein Blickpunkt) einer Richtung einer Sichtlinie des Benutzers. Ferner wird beispielsweise eine Kopfhaltung z. B. anhand der Neigung des Kopfes erkannt.
  • Außerdem werden eine Richtung und ein Drehwinkel des Kopfes des Benutzers durch den Kopfpositions-/Kopfhaltungsdetektor 24 erkannt. So wird beispielsweise der Betrag einer Änderung der Kopfhaltung auf der Grundlage einer Kopfhaltung zu einem bestimmten Zeitpunkt berechnet. So werden beispielsweise die Richtung und der Drehwinkel des Kopfes anhand des Änderungsbetrags ermittelt.
  • Das Verfahren zur Erkennung von z. B. einer Position und einer Haltung eines Kopfes sowie einer Richtung und eines Drehwinkels des Kopfes ist nicht beschränkt.
  • Der Objektextraktionsabschnitt 25 extrahiert das virtuelle Objekt 5, das zur Erzeugung der Kalibrierungsdaten 7 verwendet wird, auf der Grundlage eines vom Sichtliniendetektor 23 berechneten Schätzungs-Sichtlinienvektors. Konkret werden Objektinformationen auf der Grundlage des Schätzungs-Sichtlinienvektors sowie einer Position und einer Haltung des Kopfes abgerufen. Dann werden gegebenenfalls Informationen zu einem entsprechenden Objekt gelesen.
  • 6 zeigt schematisch ein Beispiel für ein virtuelles Objekt 5, das im Sichtfeld des Benutzers 1 durch das HMD 100 angezeigt wird. Wie in 6 dargestellt, können verschiedene virtuelle Objekte 5 im Sichtfeld des Benutzers 1, der das HMD 100 trägt, angezeigt werden.
  • Außerdem kann das virtuelle Objekt 5 durch Lokalisierung in einem virtuellen Raum angezeigt werden. In diesem Fall ändert sich das Aussehen des virtuellen Objekts 5 für den Benutzer 1, wenn sich der Blickwinkel des Benutzers 1 ändert, weil dieser eine Bewegung ausführt, z. B. sich bewegt oder seinen Kopf dreht. Das virtuelle Objekt 5 ist ein Beispiel für ein Objekt gemäß der vorliegenden Ausführungsform.
  • In der vorliegenden Ausführungsform wird mindestens ein virtuelles Objekt 5 innerhalb eines Zielwinkelbereichs 43, der unter Verwendung des Schätzungs-Sichtlinienvektors 42 als Referenz festgelegt wird, durch den Objektextraktionsabschnitt 25 extrahiert.
  • 6 zeigt schematisch den vom Sichtliniendetektor 23 berechneten Schätzungs-Sichtlinienvektor 42 und den Zielwinkelbereich 43.
  • Der Zielwinkelbereich 43 ist beispielsweise ein Bereich, der die Form eines Kegels hat, wobei der Ursprung des Schätzungs-Sichtlinienvektors 42 ein Scheitelpunkt des Kegels ist und der Schätzungs-Sichtlinienvektor 42 eine Mittelachse des Kegels ist. Ein solcher konischer Winkelbereich wird beispielsweise als kreisförmiger Bereich in einer Ebene orthogonal zum Schätzungs-Sichtlinienvektor 42 dargestellt. In der vorliegenden Ausführungsform entspricht der Zielwinkelbereich 43 einem bestimmten Winkelbereich.
  • Wie in 5 beschrieben, entspricht die Abweichung der Sichtachse 58 von der optischen Achse 56 bei einem menschlichen Augapfel einem Winkel von etwa vier bis acht Grad. In der vorliegenden Ausführungsform wird ein Winkel φ, der einem Radius eines Kreisbereichs entspricht, der dem Zielwinkelbereich 43 entspricht, auf zehn Grad eingestellt. Mit anderen Worten: Ein Winkelbereich, der durch Linien gebildet wird, die jeweils um den Winkel (p von zehn Grad vom Schätzungs-Sichtlinienvektor 42 abweichen, entspricht dem Zielwinkelbereich 43.
  • In diesem Fall beträgt der Scheitelwinkel des Kegels, der den Zielwinkelbereich 43 darstellt, 20 Grad.
  • Wie oben beschrieben, legt der Objektextraktionsabschnitt 25 in der vorliegenden Ausführungsform als Zielwinkelbereich 43 einen Bereich fest, der die Form eines Kegels mit einem Scheitelwinkel von 20 Grad hat, wobei der Schätzungs-Sichtlinienvektor 42 eine zentrale Achse des Kegels ist.
  • Dadurch ist es möglich, das virtuelle Objekt 5 in einem Bereich zu extrahieren, der die Sichtachse 58 eines Benutzers einschließt.
  • In dem in 6 dargestellten Beispiel liegen von den vier virtuellen Objekten 5a bis 5d, die im Sichtfeld des Benutzers 1 angezeigt werden, die virtuellen Objekte 5b und 5c innerhalb des Zielwinkelbereichs 43.
  • Der Objektextraktionsabschnitt 25 spezifiziert die virtuellen Objekte 5b und 5c und liest Objektinformationen über die virtuellen Objekte 5b und 5c aus dem Speicher 16.
  • Die gelesenen Objektinformationen werden an den Kalibrierungsdatengenerator 26 ausgegeben.
  • Der Kalibrierungsdatengenerator 26 erzeugt auf der Basis des virtuellen Objekts 5 innerhalb des Zielwinkelbereichs 43 die Kalibrierungsdaten 7 für einen aktuellen Schätzungs-Sichtlinienvektor 42.
  • Insbesondere wird ein Korrekturbetrag für die Drehung des Schätzungs-Sichtlinienvektors 42 in Bezug auf einen Positionsvektor des virtuellen Objekts 5 innerhalb des Zielwinkelbereichs 43 als Korrekturbetrag für den Schätzungs-Sichtlinienvektor 42 berechnet. Wie oben beschrieben, berechnet der Kalibrierungsdatengenerator 26 einen Korrekturbetrag für den Schätzungs-Sichtlinienvektor 42 auf der Grundlage mindestens eines virtuellen Objekts 5 innerhalb des Zielwinkelbereichs 43, das mit dem Schätzungs-Sichtlinienvektor 42 als Referenz eingestellt wird.
  • Ein Datensatz, der den Korrekturbetrag und den Schätzungs-Sichtlinienvektor 42 aufweist, ist der Kalibrierungsdatensatz 7.
  • Ferner bestimmt der Kalibrierungsdatengenerator 26 auf der Grundlage eines Objektparameters, der sich auf mindestens ein virtuelles Objekt 5 innerhalb des Zielwinkelbereichs 43 bezieht, ob die Kalibrierungsdaten 7, in denen der Schätzungs-Sichtlinienvektor 42 und der Korrekturbetrag einander zugeordnet sind, in dem Kalibrierungsdatenspeicher 21 registriert werden sollen.
  • Der Objektparameter ist dabei ein Parameter, der z. B. einen Zustand des virtuellen Objekts 5 im Zielwinkelbereich 43 repräsentieren kann. Beispiele für Objektparameter sind ein Parameter, der ein Merkmal für jedes virtuelle Objekt 5 darstellt, und ein Parameter, der z. B. einen Zustand des virtuellen Objekts 5 im Zielwinkelbereich 43 darstellt.
  • Wie oben beschrieben, werden im HMD 100 nicht alle erzeugten Kalibrierungsdatenstücke 7 im Kalibrierungsdatenspeicher 21 registriert, sondern die Kalibrierungsdatenstücke 7, die zur Durchführung der Kalibrierungsverarbeitung verwendet werden, werden auf der Grundlage der Objektparameter ausgewählt. Auf diese Weise kann die Qualität des Kalibrierungsdatenspeichers 21 aufrechterhalten und z. B. eine Verringerung der Genauigkeit bei der Erkennung einer Sichtlinie verhindert werden.
  • Der Objektparameter wird z. B. auf der Grundlage von Objektinformationen berechnet, die von der Objektextraktionseinheit 25 gelesen werden. Der Objektparameter wird später im Detail beschrieben. In der vorliegenden Ausführungsform entspricht der Objektparameter einem Parameter für mindestens ein Objekt innerhalb eines bestimmten Winkelbereichs.
  • In der vorliegenden Ausführungsform legt der Kalibrierungsdatengenerator 26 die Zuverlässigkeit der Kalibrierungsdaten 7 auf der Grundlage eines Objektparameters fest. Dann bestimmt der Kalibrierungsdatengenerator 26 auf der Grundlage der eingestellten Zuverlässigkeit, ob die Kalibrierungsdaten 7 im Kalibrierungsdatenspeicher 21 registriert werden sollen.
  • Man kann also sagen, dass die Zuverlässigkeit als Referenz verwendet wird, wenn die Kalibrierungsdaten 7 registriert werden. Dadurch ist es beispielsweise möglich, nur hinreichend zuverlässige Kalibrierungsdaten 7 im Kalibrierungsdatenspeicher 21 zu akkumulieren.
  • Als Reaktion auf die oben beschriebene Bestimmung gibt der Kalibrierungsdatengenerator 26 die Kalibrierungsdaten 7, die als registriert bestimmt wurden, an den Speicher 16 aus und registriert die Kalibrierungsdaten 7 in dem Kalibrierungsdatenspeicher 21. Dadurch ist es möglich, die zweite Datenerzeugungsverarbeitung (dynamische Kalibrierung) der Akkumulation neuer Kalibrierungsdaten 7 im Kalibrierungsdatenspeicher 21 auch während der Ausführung z. B. einer Anwendung durchzuführen.
  • In der vorliegenden Ausführungsform wird bei der Registrierung der Kalibrierungsdaten 7 im Kalibrierungsdatenspeicher 21 die Zuverlässigkeit der Kalibrierungsdaten 7 zusammen mit den Kalibrierungsdaten 7 registriert. Mit anderen Worten: Der Kalibrierungsdatengenerator 26 erzeugt als Kalibrierungsdaten einen Datensatz, in dem ein Schätzungs-Sichtlinienvektor, ein Korrekturbetrag und die Zuverlässigkeit einander zugeordnet sind.
  • In der vorliegenden Ausführungsform wird ein Korrekturbetragsrechner durch den Objektextraktionsabschnitt 25 und den Kalibrierungsdatengenerator 26, die zusammenarbeiten, implementiert. Ferner dient der Kalibrierungsdatengenerator 26 auch als Registrierungsbestimmungsabschnitt.
  • Der Kalibrierungsverarbeitungsabschnitt 27 führt eine Kalibrierungsverarbeitung an dem vom Sichtliniendetektor 23 berechneten Schätzungs-Sichtlinienvektor 42 durch. Insbesondere wird der Schätzungs-Sichtlinienvektor 42 auf der Grundlage der im Kalibrierungsdatenspeicher 21 registrierten Kalibrierungsdaten 7 korrigiert. Man kann sagen, dass es sich bei dieser Verarbeitung um eine Verarbeitung der Ablenkung des Schätzungs-Sichtlinienvektors 42, der die optische Achse 56 eines Augapfels darstellt, in eine Richtung entlang der Sichtachse 58 handelt.
  • Die Kalibrierungsverarbeitung wird vom Kalibrierungsverarbeitungsabschnitt 27 unabhängig von der oben beschriebenen Verarbeitung der Erzeugung der Kalibrierungsdaten 7 durchgeführt. Mit anderen Worten: Die Verarbeitung zur Erzeugung der Kalibrierungsdaten 7 wird im Hintergrund der Kalibrierungsverarbeitung durchgeführt.
  • Beispielsweise wird aus den registrierten Kalibrierungsdatenstücken 7 (registrierte Datenstücke) mindestens ein Datenstück abgerufen, das einen Vektor nahe einem Schätzungs-Sichtlinienvektor 42 des Kalibrierungsziels aufweist.
  • Die jeweils in den Datenstücken enthaltenen Korrekturbeträge (Korrekturbeträge der Drehung) werden unter Berücksichtigung des Grades der Nähe zum Schätzungs-Sichtlinienvektor 42 gewichtet, um einen Korrekturbetrag der Drehung bezüglich des Schätzungs-Sichtlinienvektors 42 zu berechnen.
  • Der Schätzungs-Sichtlinienvektor 42 wird anhand einer Richtung und einer Größe des Korrekturbetrags der Drehung korrigiert (abgelenkt). Dementsprechend wird ein Sichtlinienvektor entlang der Sichtachse 58 (im Folgenden als Korrektur-Sichtlinienvektor bezeichnet) berechnet.
  • Es ist zu beachten, dass ein Verfahren, bei dem die wie folgt erhaltenen Koeffizienten verwendet werden, ein allgemeines Beispiel für die Gewichtsmittelung ist: Ein Kehrwert eines Winkels, der durch einen in den registrierten Daten enthaltenen Vektor und einen Schätzungs-Sichtlinienvektor 42 des Kalibrierungsziels gebildet wird, wird als Koeffizient erhalten, und die erhaltenen Koeffizienten werden so normalisiert, dass die Summe der erhaltenen Koeffizienten eins ist.
  • Darüber hinaus sind die Einzelheiten der Kalibrierungsverarbeitung nicht beschränkt, und es kann zum Beispiel jedes Verfahren verwendet werden, das es ermöglicht, den Schätzungs-Sichtlinienvektor 42 richtig zu korrigieren.
  • Der Bildverarbeitungsabschnitt 28 erzeugt ein Bild, das auf dem Display 12 angezeigt wird. Beispielsweise erfasst der Bildverarbeitungsabschnitt 28 Informationen über eine im HMD 100 ausgeführte Anwendung und erzeugt ein Bild z. B. des virtuellen Objekts 5, z. B. in Abhängigkeit vom Fortschritt des Inhalts und einer Position und Haltung des Kopfes (des HMD 100) eines Benutzers.
  • Ferner wird, wenn z. B. eine Eingabeoperation unter Verwendung einer Sichtlinie durchgeführt wird, ein Cursor oder dergleichen, der einen Blickpunkt anzeigt, auf der Grundlage eines vom Kalibrierungsverarbeitungsabschnitt 27 berechneten Korrektur-Sichtlinienvektors angezeigt. Alternativ wird das ausgewählte virtuelle Objekt 5, wenn es beispielsweise auf der Grundlage des Korrektur-Sichtlinienvektors ausgewählt wurde, beispielsweise hervorgehoben dargestellt, um anzuzeigen, dass das Objekt ausgewählt worden ist.
  • Darüber hinaus kann der Bildverarbeitungsabschnitt 28 jede für den Betrieb des HMD 100 erforderliche Anzeigeverarbeitung durchführen.
  • [Grundlegende Funktionsweise des HMD 100]
  • 7 ist eine schematische Darstellung, die die grundlegende Funktionsweise des HMD 100 beschreibt. A in 7 zeigt schematisch das virtuelle Objekt 5, das in einem virtuellen Raum angezeigt wird, den der Benutzer 1, der das HMD 100 trägt, wahrnimmt. B in 7 zeigt schematisch das Sichtfeld 6 des in A in 7 dargestellten Benutzers 1.
  • Dabei wird von folgender Umgebung ausgegangen:
    • Eine Vielzahl von virtuellen Objekten 5 ist im virtuellen Raum angeordnet, wie in A von 7 dargestellt, und der Benutzer 1 kann die Ausrichtung und die Position im virtuellen Raum frei verändern.
  • Eine solche Umgebung wird z. B. als Virtual Reality (VR) bereitgestellt. Ferner kann eine solche Umgebung auch als Augmented Reality (AR) oder Mixed Reality (MR) bereitgestellt werden, bei der ein Objekt in einem realen Raum (ein reales Objekt) in einem virtuellen Raum abgebildet wird.
  • Die virtuellen Objekte 5e bis 5g werden in dem unter A in 7 dargestellten virtuellen Raum angezeigt. Das virtuelle Objekt 5e ist aus der Sicht des Benutzers 1 links angeordnet und befindet sich von einer Position in Richtung der tatsächlichen Sichtlinie des Benutzers 1 entfernt (ein Ist-Sichtlinienvektor 44).
  • Das virtuelle Objekt 5f ist ein Objekt, das im Allgemeinen vor dem Benutzer 1 angeordnet ist und sich in der Nähe des tatsächlichen Sichtlinienvektors 44 befindet. Das virtuelle Objekt 5g ist ein Objekt, das sich aus Sicht des Nutzers 1 schräg rechts hinter dem virtuellen Objekt 5f befindet und auf das der Nutzer 1 blickt (auf das der Ist-Sichtlinienvektor 44 ausgerichtet ist).
  • Dabei verbirgt sich das virtuelle Objekt 5g, das rechts hinter dem virtuellen Objekt 5f angeordnet ist, teilweise hinter dem virtuellen Objekt 5f im Sichtfeld 6 des Benutzers 1, wie in B von 7 dargestellt. Wenn sich, wie oben beschrieben, mehrere Objekte in der Nähe des Ist-Sichtlinienvektors 44 befinden, der einer Sichtlinie des Benutzers 1 entspricht, kann es für eine Vorrichtung schwierig sein, festzustellen, auf welches der Objekte der Benutzer 1 gerade blickt.
  • Selbst wenn ein Objekt, auf das der Benutzer 1 blickt, bestimmt wird, kann die Bestimmung unsicher sein, und ein Objekt, das sich von dem Objekt unterscheidet, auf das der Benutzer 1 tatsächlich blickt, kann als Blickziel bestimmt werden.
  • In dem in B von 7 dargestellten Beispiel ist beispielsweise ein Zylinder (das virtuelle Objekt 5g) auf der rechten Seite ein Blickziel, aber ein rechteckiger Quader (das virtuelle Objekt 5f) auf der Vorderseite kann ausgewählt werden.
  • So kann ein falsches Objekt als Referenz verwendet werden, wenn die Kalibrierungsdaten 7 z. B. während der Ausführung einer Anwendung erzeugt werden.
  • Im HMD 100 ermittelt der Kalibrierungsdatengenerator 26, ob ein Objektparameter bezüglich mindestens eines virtuellen Objekts 5 innerhalb des Zielwinkelbereichs 43 eine bestimmte Bedingung erfüllt. Dann wird auf der Grundlage des Ergebnisses der Bestimmung des Objektparameters entschieden, ob die Kalibrierungsdaten 7 im Kalibrierungsdatenspeicher 21 registriert werden sollen.
  • Wenn der Objektparameter die angegebene Bedingung erfüllt, werden die Kalibrierungsdaten 7 im Kalibrierungsdatenspeicher 21 registriert. Wenn der Objektparameter die angegebene Bedingung nicht erfüllt, werden die Kalibrierungsdaten 7 nicht im Kalibrierungsdatenspeicher 21 registriert.
  • Die vorgegebene Bedingung wird so gesetzt, dass z. B. hinreichend wahrscheinliche (zuverlässige) Kalibrierungsdaten 7 ausgewählt werden können.
  • Als Objektparameter wird die Anzahl mindestens eines virtuellen Objekts innerhalb des Zielwinkelbereichs 43 verwendet.
  • So ist es z. B. denkbar, dass der Prozentsatz (die Wahrscheinlichkeit), ein virtuelles Blickzielobjekt 5 richtig auszuwählen, mit zunehmender Anzahl virtueller Objekte 5 innerhalb des Zielwinkelbereichs 43 sinkt. So wird z. B. eine Bedingung festgelegt, dass die Kalibrierungsdaten 7 registriert werden, wenn die Anzahl der virtuellen Objekte 5 kleiner als eine bestimmte Anzahl ist.
  • Außerdem kann der Winkelabstand mindestens eines virtuellen Objekts 5 relativ zum Schätzungs-Sichtlinienvektor 42 als Objektparameter verwendet werden. Hier entspricht der Winkelabstand beispielsweise einem Winkel, der durch den Schätzungs-Sichtlinienvektor 42 und einen Positionsvektor des virtuellen Objekts 5 gebildet wird, und entspricht einer Größe eines Korrekturbetrags der Drehung.
  • Beispielsweise befindet sich das virtuelle Objekt 5 mit einem großen Winkelabstand vom Schätzungs-Sichtlinienvektor 42 entfernt. So ist es denkbar, dass die Wahrscheinlichkeit, dass der Benutzer 1 ein solches virtuelles Objekt 5 betrachtet, gering ist. Die Bedingung kann in Abhängigkeit von diesen Eigenschaften festgelegt werden.
  • Außerdem kann ein Abstand von einem Blickpunkt zu mindestens einem virtuellen Objekt 5 als Objektparameter verwendet werden. Dieser Abstand wird z. B. durch die Länge eines Positionsvektors des Objekts repräsentiert.
  • So ist es beispielsweise denkbar, dass der Benutzer 1 das virtuelle Objekt 5, das in einem virtuellen Raum näher beim Benutzer 1 angezeigt wird, eher betrachtet. In diesem Fall wird z. B. die Bedingung gestellt, dass die Kalibrierungsdaten 7, die auf dem virtuellen Objekt 5 basieren, das sich näher am Benutzer 1 befindet, bevorzugt registriert werden.
  • Außerdem kann der Abstand von mindestens einem virtuellen Objekt 5 als Objektparameter verwendet werden. So ist es z. B. denkbar, dass die Wahrscheinlichkeit, ein richtiges Blickziel auszuwählen, sinkt, wenn der Abstand zwischen benachbarten virtuellen Objekten 5 gering ist oder die Dichte der virtuellen Objekte 5 hoch ist.
  • So wird z. B. eine Bedingung festgelegt, dass die Kalibrierungsdaten 7 nicht registriert werden, wenn der Abstand der virtuellen Objekte 5 kleiner als ein bestimmter Abstand ist.
  • Außerdem kann die Wahrnehmbarkeit mindestens eines virtuellen Objekts 5 als Objektparameter verwendet werden. Die Wahrnehmbarkeit entspricht Eigenschaften, die repräsentieren, inwieweit das virtuelle Objekt 5 ein Blickziel für den Benutzer 1 wird (Salienz), z. B. ob das virtuelle Objekt 5 eher Aufmerksamkeit erregt.
  • So ist es beispielsweise denkbar, dass ein Objekt mit größerem Erscheinungsbild vom Blickpunkt des Benutzers 1 aus mehr Aufmerksamkeit erregt als ein Objekt mit kleinerem Erscheinungsbild. Ebenso ist es wahrscheinlich, dass ein Objekt mit einer komplizierten Form oder hellen Farben eher ein Blickziel darstellt. Außerdem ist es wahrscheinlicher, dass ein bewegtes Objekt eher ein Blickziel ist als ein stationäres Objekt.
  • Beispielsweise kann eine Bedingung festgelegt werden, dass das virtuelle Objekt 5, das die Eigenschaft hat, wahrscheinlich ein Blickziel zu sein, bevorzugt als Kalibrierungsdaten registriert wird.
  • Außerdem können Informationen über eine vom Benutzer 1 durchgeführte Auswahloperation zur Auswahl mindestens eines virtuellen Objekts 5 als Objektparameter verwendet werden. Hier ist die Auswahloperation eine Operation zur Auswahl des virtuellen Objekts 5, auf das der Benutzer 1 blickt, und die Auswahloperation wird beispielsweise durch eine Tastenoperation mit einer Fernbedienung empfangen.
  • So ist es beispielsweise wahrscheinlicher, dass das virtuelle Objekt 5, für das die Auswahloperation empfangen worden ist, ein Blickziel für den Benutzer 1 ist. Somit wird die Bedingung gestellt, dass die Kalibrierungsdaten für das virtuelle Objekt 5, für das eine Auswahloperation durchgeführt worden ist, in einem Datenspeicher registriert werden.
  • Die Arten der Objektparameter und die für die jeweiligen Parameter festgelegten Bedingungen sind lediglich Beispiele und nicht darauf beschränkt.
  • Ferner kann mindestens eine der Bedingungen für die jeweiligen Objektparameter oder eine Kombination der Bedingungen oder dergleichen verwendet werden, um zu bestimmen, ob die Kalibrierungsdaten 7 registriert werden sollen. Darüber hinaus ist ein Verfahren zum Einstellen einer Bedingung, die zum Registrieren der Kalibrierungsdaten 7 verwendet wird, nicht beschränkt, und es kann beispielsweise ein Wechsel der Bedingungen durchgeführt werden, um die Bedingung beispielsweise in Abhängigkeit von der Art der Anwendung oder dem Fortschritt des Inhalts einzustellen.
  • Ferner wird in der vorliegenden Ausführungsform die Zuverlässigkeit der Kalibrierungsdaten 7 auf der Grundlage des Objektparameters berechnet, und es wird bestimmt, ob die Kalibrierungsdaten 7 auf der Grundlage der Zuverlässigkeit registriert werden sollen.
  • Die Zuverlässigkeit richtet sich nach dem Zustand des virtuellen Objekts 5, aus dem die Kalibrierungsdaten 7 erzeugt werden. Ein Parameter, der den Zustand des virtuellen Objekts 5 repräsentiert, ist ein Objektparameter.
  • Wenn ein neuer Datensatz (die Kalibrierungsdaten 7) zum Kalibrierungsdatenspeicher 21 hinzugefügt wird, wird bestimmt, ob der neue Datensatz entsprechend der Zuverlässigkeit hinzugefügt werden darf. Außerdem wird die Zuverlässigkeit dem Datensatz hinzugefügt.
  • In der vorliegenden Offenbarung ist die Verarbeitung der Bestimmung, ob die Kalibrierungsdaten 7 unter Verwendung der auf der Grundlage des Objektparameters berechneten Zuverlässigkeit zu registrieren sind, in der Verarbeitung der Bestimmung, ob die Kalibrierungsdaten 7 auf der Grundlage des Objektparameters zu registrieren sind, enthalten.
  • Wie in B von 7 dargestellt, können sich die beiden virtuellen Objekte 5f und 5g aus der Sicht des Benutzers 1 überlappen. Dabei wird davon ausgegangen, dass die Kalibrierungsdaten 7, die mit größerer Wahrscheinlichkeit ein Blickziel darstellen (z. B. das virtuelle Objekt 5f, das sich näher am Ist-Sichtlinienvektor 44 befindet), im Kalibrierungsdatenspeicher 21 registriert werden.
  • In diesem Fall werden die Kalibrierungsdaten 7 des virtuellen Objekts 5f im Kalibrierungsdatenspeicher 21 registriert. Da es zwei virtuelle Kandidatenobjekte 5 gibt, wird die Zuverlässigkeit der Kalibrierungsdaten 7 z. B. auf 0,5 gesetzt, wobei der Maximalwert 1 ist.
  • Dadurch können neue Kalibrierungsdaten mit einem geringen Grad an Zuverlässigkeit akkumuliert werden. Außerdem ist es möglich, die Kalibrierungsdaten 7 z. B. mit der Zuverlässigkeit als Index zu behandeln, da die Zuverlässigkeit zu den Kalibrierungsdaten 7 hinzugefügt wird.
  • Wie oben beschrieben, wird in der vorliegenden Ausführungsform die Zuverlässigkeit als ein Index verwendet, der die Qualität der Kalibrierungsdaten 7 repräsentiert. Dadurch kann die Anzahl der Datenpunkte im Kalibrierungsdatenspeicher 21 erhöht werden, und eine Verringerung der Genauigkeit bei der Erkennung einer Sichtlinie, die z. B. durch die Verwendung der Kalibrierungsdaten 7 mit einem geringen Zuverlässigkeitsgrad verursacht wird, kann ausreichend verhindert werden.
  • 8 ist ein Flussdiagramm, das ein Beispiel für die Erzeugung der Kalibrierungsdaten 7 zeigt. Die in 8 dargestellte Erzeugungsverarbeitung ist ein Beispiel für die zweite Datenerzeugungsverarbeitung, die unter Bezugnahme auf B in 3 beschrieben wurde, und ist beispielsweise eine Schleifenverarbeitung, die während des Betriebs z. B. einer Anwendung wiederholt im Hintergrund ausgeführt wird.
  • Zunächst wird der Schätzungs-Sichtlinienvektor 42 durch den Sichtliniendetektor 23 berechnet (Schritt 101). Beispielsweise wird der Schätzungs-Sichtlinienvektor 42 (ein Optikachsenvektor), der die optische Achse 56 eines Augapfels des Benutzers 1 repräsentiert, anhand eines Augapfelmodells auf der Grundlage eines von der nach innen gerichteten Kamera 14 aufgenommenen Augapfelbildes berechnet.
  • Wenn der Schätzungs-Sichtlinienvektor 42 berechnet ist, wird das virtuelle Objekt 5 innerhalb des Zielwinkelbereichs 43, der unter Verwendung des Schätzungs-Sichtlinienvektors 42 als Referenz festgelegt wird, durch den Objektextraktionsabschnitt 25 extrahiert (Schritt 102). Konkret wird das virtuelle Objekt 5 in einem Bereich angegeben, der durch Linien gebildet wird, die jeweils um einen Winkel von zehn Grad vom Schätzungs-Sichtlinienvektor 42 abweichen, und es werden Objektinformationen über das angegebene virtuelle Objekt 5 gelesen.
  • Zu diesem Zeitpunkt können Objektparameter wie die Anzahl der virtuellen Objekte 5 und ein Abstand zwischen den virtuellen Objekten 5 berechnet werden.
  • Es wird ermittelt, ob sich das virtuelle Objekt 5 innerhalb des Zielwinkelbereichs 43 befindet (Schritt 103). Wenn sich das virtuelle Objekt 5 nicht innerhalb des Zielwinkelbereichs 43 befindet (Nein in Schritt 103), d. h. wenn sich kein virtuelles Objekt 5 in der Nähe der Sichtlinie des Benutzers 1 befindet, wird die Schleifenverarbeitung ab Schritt 101 erneut durchgeführt.
  • Wenn sich das virtuelle Objekt 5 innerhalb des Zielwinkelbereichs 43 befindet (Ja in Schritt 103), wird vom Kalibrierungsdatengenerator 26 ein Korrekturbetrag für den Schätzungs-Sichtlinienvektor 42 berechnet (Schritt 104).
  • 9 zeigt schematisch ein Beispiel für das Sichtfeld 6 des Benutzers 1.
  • In A von 9 befindet sich ein virtuelles Objekt 5f innerhalb des Zielwinkelbereichs 43. In diesem Fall wird das virtuelle Objekt 5f als Zielobjekt festgelegt, für das die Kalibrierungsdaten 7 berechnet werden, und ein Korrekturbetrag für den Schätzungs-Sichtlinienvektor 42 wird auf der Grundlage des virtuellen Objekts 5f berechnet. Wenn sich ein virtuelles Objekt 5 in einem nahen Bereich (dem Zielwinkelbereich 43) befindet, wird eine Differenz zwischen einer Linie parallel zu einer Richtung zum virtuellen Objekt 5 und dem Schätzungs-Sichtlinienvektor 42 als Korrekturwinkel (der Korrekturbetrag) berechnet, wie oben beschrieben.
  • Außerdem befindet sich in B von 9 eine Vielzahl von virtuellen Objekten 5 (zwei virtuelle Objekte 5f und 5g) innerhalb des Zielwinkelbereichs 43. In diesem Fall wird zum Beispiel das virtuelle Objekt 5 (das virtuelle Objekt 5f in B von 8), das dem Schätzungs-Sichtlinienvektor 42 am nächsten liegt, als Zielobjekt festgelegt, für das die Kalibrierungsdaten 7 berechnet werden, und ein Korrekturbetrag für den Schätzungs-Sichtlinienvektor 42 wird auf der Grundlage des virtuellen Objekts 5f berechnet.
  • Mit anderen Worten: Der Kalibrierungsdatengenerator 26 berechnet einen Korrekturbetrag auf der Grundlage des virtuellen Objekts 5, das sich in der Vielzahl der virtuellen Objekte 5 innerhalb des Zielwinkelbereichs 43 am nächsten zum Schätzungs-Sichtlinienvektor 42 befindet. Wenn sich eine Vielzahl von virtuellen Objekten 5 in einem nahen Bereich befindet, wird eine Differenz zwischen einer Linie, die parallel zu einer Richtung auf das nächstgelegene virtuelle Objekt 5 zu verläuft, und dem Schätzungs-Sichtlinienvektor 42 als Korrekturwinkel (der Korrekturbetrag) berechnet, wie oben beschrieben.
  • Zurück zu 8: Wenn der Korrekturbetrag berechnet ist, wird die Zuverlässigkeit durch den Kalibrierungsdatengenerator 26 festgelegt (Schritt 101).
  • Wenn sich ein virtuelles Objekt 5 innerhalb des Zielwinkelbereichs 43 befindet, wie in A von 9 dargestellt, wird die Zuverlässigkeit auf 1 gesetzt.
  • Wenn sich eine Vielzahl von virtuellen Objekten 5 innerhalb des Zielwinkelbereichs 43 befindet, wie in B von 9 dargestellt, wird die Zuverlässigkeit auf 1/n gesetzt. Dabei ist n die Anzahl der virtuellen Objekte 5 innerhalb des Zielwinkelbereichs 43.
  • Wenn es zum Beispiel zwei virtuelle Objekte 5 gibt, wird die Zuverlässigkeit auf 1/2, also 0,5, gesetzt. So beträgt beispielsweise die Zuverlässigkeit der (ein Korrekturbetrag für die) Kalibrierungsdaten 7, die auf der Grundlage des in B von 9 dargestellten virtuellen Objekts 5f erzeugt wurden, 0,5.
  • Wie oben beschrieben, wird in der vorliegenden Ausführungsform, wenn sich eine Vielzahl von virtuellen Objekten 5 innerhalb des Zielwinkelbereichs 43 befindet, die Zuverlässigkeit höher eingestellt, wenn die Anzahl der Vielzahl von virtuellen Objekten 5 innerhalb des Zielwinkelbereichs 43 kleiner ist, und die Zuverlässigkeit wird niedriger eingestellt, wenn die Anzahl der Vielzahl von virtuellen Objekten 5 innerhalb des Zielwinkelbereichs 43 größer ist.
  • Wenn der Benutzer 1 beispielsweise tatsächlich auf das virtuelle Objekt 5g blickt, sind die Kalibrierungsdaten 7, die auf dem virtuellen Objekt 5f basieren, falsch.
  • Selbst in einem solchen Fall, wenn die Zuverlässigkeit niedrig angesetzt wird, ist es möglich, die Auswirkungen falscher Kalibrierungsdaten 7 auf die eigentliche Kalibrierungsverarbeitung ausreichend zu reduzieren.
  • Wenn die Zuverlässigkeit eingestellt ist, werden registrierte Daten (registrierte Kalibrierungsdaten), die dem Schätzungs-Sichtlinienvektor 42 am nächsten sind, aus dem Kalibrierungsdatenspeicher 21 erfasst (Schritt 106). Beispielsweise können registrierte Daten im Kalibrierungsdatenspeicher 21, in dem der Winkelabstand zwischen dem Schätzungs-Sichtlinienvektor 42 und einem Vektor der registrierten Daten am kleinsten ist, zum Lesen abgerufen.
  • Wenn die registrierten Daten erfasst worden sind, wird durch den Kalibrierungsdatengenerator 26 bestimmt, ob die Kalibrierungsdaten 7 registriert werden sollen (Schritt 107). Konkret wird ermittelt, ob ein Objektparameter und die Zuverlässigkeit, die sich bei der Berechnung der Kalibrierungsdaten 7 ergeben, bestimmte Bedingungen erfüllen.
  • In dem in 8 dargestellten Beispiel wird ermittelt, ob der Winkelabstand zwischen dem Schätzungs-Sichtlinienvektor 42 und einem Vektor der registrierten Daten kleiner oder gleich einem Schwellenwert ist, und ob die neuen Kalibrierungsdaten 7 zuverlässiger sind als die registrierten Daten. In der vorliegenden Ausführungsform entspricht ein Schwellenwert, der sich auf den Winkelabstand bezieht, einem zweiten Schwellenwert.
  • Wenn der Winkelabstand zu den registrierten Daten kleiner als der Schwellenwert ist, wird der Schätzungs-Sichtlinienvektor 42 als ein Vektor bestimmt, der ausreichend nahe am bereits registrierten Vektor liegt. Wenn der Winkelabstand kleiner als der Schwellenwert ist und die neuen Kalibrierungsdaten 7 zuverlässiger sind als die registrierten Daten (Ja in Schritt 107), werden die alten registrierten Daten gelöscht (Schritt 108), und die neuen Kalibrierungsdaten 7 werden im Kalibrierungsdatenspeicher 21 registriert (Schritt 109).
  • Mit anderen Worten: Wenn ein Vektor eines der bereits registrierten Datenstücke nahe am Schätzungs-Sichtlinienvektor 42 liegt, wenn neue Kalibrierungsdaten 7 registriert werden, wird die Zuverlässigkeit der bereits registrierten Daten mit der Zuverlässigkeit der neuen Kalibrierungsdaten 7 verglichen. Wenn die neuen Daten zuverlässiger sind, werden die bereits registrierten Daten gelöscht und die neuen Kalibrierungsdaten 7 hinzugefügt.
  • Umgekehrt werden die Kalibrierungsdaten 7 nicht hinzugefügt, wenn die registrierten Daten zuverlässiger sind.
  • Wie oben beschrieben, werden in der vorliegenden Ausführungsform registrierte Daten extrahiert, die einen Vektor aufweisen, bei dem der Winkelabstand zwischen dem Vektor und dem Schätzungs-Sichtlinienvektor 42 kleiner als oder gleich einem Schwellenwert ist. Wenn die Kalibrierungsdaten 7 zuverlässiger sind als die registrierten Daten, werden die registrierten Daten aus dem Kalibrierungsdatenspeicher 21 gelöscht, und die Kalibrierungsdaten 7 werden im Kalibrierungsdatenspeicher 21 registriert.
  • Dadurch können im Kalibrierungsdatenspeicher 21 zuverlässigere Kalibrierungsdaten gespeichert werden. Dadurch kann die Zuverlässigkeit des Kalibrierungsdatenspeichers 21 und damit die Genauigkeit bei der Erkennung einer Sichtlinie verbessert werden.
  • Wenn der Winkelabstand relativ zu den registrierten Daten größer ist als der Schwellenwert (Nein in Schritt 107), wird festgestellt, dass registrierte Daten, die nahe am Schätzungs-Sichtlinienvektor 42 der Kalibrierungsdaten 7 liegen, nicht im Kalibrierungsdatenspeicher 21 vorhanden sind. In einem solchen Fall werden die Kalibrierungsdaten 7 im Kalibrierungsdatenspeicher 21 registriert, ohne dass der Prozess von Schritt 108 durchgeführt wird, unabhängig von einem Wert der Zuverlässigkeit.
  • Dadurch kann die Anzahl der neu registrierten Datenpunkte erhöht werden.
  • Wenn die Registrierung der Kalibrierungsdaten 7 abgeschlossen ist, werden die Prozesse von und nach Schritt 101 erneut durchgeführt. Wie oben beschrieben, werden im HMD 100 die Kalibrierungsdaten 7 auch während der Ausführung z. B. einer Anwendung akkumuliert. Dadurch wird es möglich, eine Sichtlinie weiterhin korrekt zu erfassen, wenn z. B. die Montageposition der Vorrichtung verschoben wird, und um somit die Zuverlässigkeit der Vorrichtung zu verbessern.
  • In der obigen Beschreibung wird die Registrierung der Kalibrierungsdaten 7 durch den Vergleich der Zuverlässigkeit der registrierten Daten mit der Zuverlässigkeit der Kalibrierungsdaten 7 bestimmt. Beispielsweise kann beim Hinzufügen der Kalibrierungsdaten 7 ein auf die Zuverlässigkeit bezogener Schwellenwert angegeben werden, und die Einstellung kann so erfolgen, dass die Kalibrierungsdaten 7, deren Zuverlässigkeit kleiner oder gleich dem Schwellenwert ist, nicht registriert werden. In der vorliegenden Ausführungsform entspricht der Schwellenwert für die Zuverlässigkeit einem ersten Schwellenwert.
  • Wenn es beispielsweise keine registrierten Daten gibt, die den neu erzeugten Kalibrierungsdaten 7 nahe kommen (Daten, deren Winkelabstand größer als ein Schwellenwert ist), wird ermittelt, ob die Zuverlässigkeit der Kalibrierungsdaten 7 größer als ein Schwellenwert (z. B. 0,1) ist.
  • Wenn die Zuverlässigkeit größer als der Schwellenwert ist, werden die Kalibrierungsdaten 7 im Kalibrierungsdatenspeicher 21 als Daten registriert, die für die Durchführung der Kalibrierungsverarbeitung verwendet werden können.
  • Liegt die Zuverlässigkeit hingegen unter dem Schwellenwert, kann eine fehlerhafte Sichtlinienerkennung unter Verwendung der Kalibrierungsdaten 7 durchgeführt werden. Daher werden die Kalibrierungsdaten 7, deren Zuverlässigkeit unter dem Schwellenwert liegt, verworfen, ohne registriert zu werden.
  • Wie oben beschrieben, registriert der Kalibrierungsdatengenerator 26 die Kalibrierungsdaten 7 zumindest dann nicht im Kalibrierungsdatenspeicher 21, wenn die Zuverlässigkeit kleiner als der Schwellenwert ist. Dadurch kann die Zuverlässigkeit des gesamten Kalibrierungsdatenspeichers 21 auf einem hohen Niveau gehalten werden.
  • Beachten Sie, dass der Schwellenwert für die Zuverlässigkeit in Abhängigkeit von der Anzahl der registrierten Datenstücke gesteuert werden kann.
  • Wenn beispielsweise die Anzahl der vorhandenen registrierten Datenstücke gering ist, kann der Schwellenwert für die Zuverlässigkeit niedriger angesetzt werden. Dadurch kann die Anzahl der im Kalibrierungsdatenspeicher 21 registrierten Kalibrierungsdatenstücke 7 erhöht und die Datenbank angereichert werden.
  • Wenn die Anzahl der registrierten Datenstücke groß ist, kann der Schwellenwert für die Zuverlässigkeit höher angesetzt werden. Auf diese Weise kann vermieden werden, dass die Kalibrierungsdaten 7 mit einem niedrigen Zuverlässigkeitsgrad registriert werden, so dass die Zuverlässigkeit des Kalibrierungsdatenspeichers 21 auf einem hohen Niveau gehalten wird.
  • Das Beispiel, in dem der Kehrwert der Anzahl der virtuellen Objekte 5 innerhalb des Zielwinkelbereichs 43 als Zuverlässigkeit festgelegt wird, ist oben beschrieben worden. Das Verfahren zum Einstellen der Zuverlässigkeit ist nicht beschränkt, und die Zuverlässigkeit kann z. B. mit Hilfe eines anderen Objektparameters, der sich auf das virtuelle Objekt 5 bezieht, eingestellt werden.
  • Weitere Verfahren zur Einstellung der Zuverlässigkeit werden im Folgenden beschrieben.
  • Es wird beispielsweise angenommen, dass sich eine Vielzahl von virtuellen Objekten 5 innerhalb des Zielwinkelbereichs 43 befindet, wie in B von 9 dargestellt. Hier kann der Abstand der virtuellen Objekte 5, die in der Vielzahl der virtuellen Objekte 5 enthalten sind, als Objektparameter verwendet werden, um die Zuverlässigkeit festzulegen.
  • In diesem Fall wird die Zuverlässigkeit höher angesetzt, wenn der Abstand zwischen den virtuellen Objekten kleiner ist. Mit anderen Worten: Wenn die virtuellen Objekte 5 dicht beieinander liegen, wird festgestellt, dass der Unterschied zu einem Objekt, auf das der Benutzer tatsächlich blickt, eher gering ist, und daher wird die Zuverlässigkeit hoch angesetzt. Umgekehrt wird die Zuverlässigkeit niedriger angesetzt, wenn der Abstand zwischen den jeweiligen virtuellen Objekten 5 größer ist.
  • Außerdem kann z. B. der Winkelabstand mindestens eines virtuellen Objekts 5 relativ zum Schätzungs-Sichtlinienvektor 42 als Objektparameter verwendet werden, um die Zuverlässigkeit festzulegen.
  • In diesem Fall wird die Zuverlässigkeit höher angesetzt, wenn die Winkelabstände kleiner sind. Mit anderen Worten: Die Zuverlässigkeit ist höher, wenn sich das virtuelle Objekt 5 näher am Schätzungs-Sichtlinienvektor 42 befindet. Umgekehrt wird die Zuverlässigkeit niedriger angesetzt, wenn der Winkelabstand größer ist.
  • Außerdem kann z. B. der Abstand von einem Blickpunkt zu mindestens einem virtuellen Objekt 5 als Objektparameter für die Einstellung der Zuverlässigkeit verwendet werden.
  • In diesem Fall wird die Zuverlässigkeit höher angesetzt, wenn der Abstand zum Blickpunkt geringer ist. Mit anderen Worten: Die Zuverlässigkeit ist höher, wenn sich das virtuelle Objekt 5 näher am Benutzer 1 befindet. Umgekehrt wird die Zuverlässigkeit niedriger angesetzt, wenn der Abstand zum Blickpunkt größer ist.
  • Darüber hinaus kann z. B. die Wahrnehmbarkeit mindestens eines virtuellen Objekts 5 als Objektparameter für die Einstellung der Zuverlässigkeit verwendet werden.
  • So wird beispielsweise für ein rotes virtuelles Objekt 5 eine höhere Zuverlässigkeit festgelegt als für ein graues virtuelles Objekt 5. Außerdem wird eine höhere Zuverlässigkeit für das virtuelle Objekt 5 festgelegt, das von einem Benutzer aus gesehen größer aussieht. Außerdem wird für ein sich bewegendes virtuelles Objekt 5 eine höhere Zuverlässigkeit festgelegt als für ein stationäres virtuelles Objekt 5.
  • Außerdem kann die Information über die Auswahloperation mindestens eines virtuellen Objekts 5, die vom Benutzer 1 durchgeführt wird, als Objektparameter verwendet werden, um die Zuverlässigkeit einzustellen.
  • Beispielsweise, wenn die Auswahloperation durch eine andere Operation als die Operation unter Verwendung einer Sichtlinie durchgeführt wird (wie z. B. eine Tastenoperation unter Verwendung eines Controllers), und wenn ein Blickziel, auf das der Benutzer 1 blickt, spezifiziert worden ist, kann die Zuverlässigkeit auf 1 gesetzt werden, selbst wenn es eine Vielzahl von virtuellen Objekten 5 in der Nähe des Schätzungs-Sichtlinienvektors 42 gibt.
  • Wie oben beschrieben, wird die Zuverlässigkeit der Kalibrierungsdaten, die auf der Grundlage des virtuellen Objekts 5 berechnet wurden, das durch die durchgeführte Auswahloperation ausgewählt wurde, auf einen Maximalwert gesetzt. Dies ermöglicht es, mit Sicherheit sehr zuverlässige Kalibrierungsdaten zu registrieren.
  • Außerdem kann die Zuverlässigkeit durch Kombinieren der Objektparameter festgelegt werden.
  • Es ist zu beachten, dass die Kalibrierungsdaten 7 mit einem relativ niedrigen Zuverlässigkeitsgrad im Kalibrierungsdatenspeicher 21 registriert werden können. Bei den Kalibrierungsdaten 7 mit einem niedrigen Zuverlässigkeitsgrad wird bei der Durchführung der Kalibrierungsverarbeitung eine Gewichtung nach einem Abstand vorgenommen und eine Mittelung der Gewichte unter Berücksichtigung der Zuverlässigkeit durchgeführt. Dies ermöglicht es, eine Auswirkung auf die Kalibrierungsverarbeitung zu verringern.
  • Wenn zum Beispiel ein Korrekturbetrag für die Kalibrierungsdaten 7 mit einem niedrigen Zuverlässigkeitsgrad angewandt wird, wird der Korrekturbetrag (ein Drehbetrag) klein eingestellt und mit einem Korrekturbetrag für andere Kalibrierungsdaten 7 kombiniert. Auf diese Weise lässt sich z. B. vermeiden, dass der Schätzungs-Sichtlinienvektor 42 bei der Kalibrierungsverarbeitung stark in eine falsche Richtung abgelenkt wird.
  • Das Beispiel, bei dem die Kalibrierungsdaten 7 auf der Grundlage des virtuellen Objekts 5 erzeugt werden, das dem Schätzungs-Sichtlinienvektor 42 der virtuellen Objekte 5 innerhalb des Zielwinkelbereichs 43 am nächsten liegt, ist oben beschrieben worden.
  • Ohne darauf beschränkt zu sein, können Kalibrierungsdatenstücke für alle virtuellen Objekte 5 innerhalb des Zielwinkelbereichs 43 erzeugt werden. In diesem Fall werden vom Kalibrierungsdatengenerator 26 auf der Grundlage der jeweiligen virtuellen Objekte 5 einer Vielzahl von virtuellen Objekten 5 Korrekturbeträge berechnet, die den jeweiligen virtuellen Objekten 5 entsprechen.
  • In dem in B von 9 dargestellten Beispiel wird z. B. ein Korrekturbetrag für den Schätzungs-Sichtlinienvektor 42 auf der Grundlage des virtuellen Objekts 5f berechnet, und ein Korrekturbetrag für den Schätzungs-Sichtlinienvektor 42 wird auf der Grundlage des virtuellen Objekts 5g berechnet. Dann werden für jeden Korrekturbetrag Kalibrierungsdaten erzeugt, in denen der berechnete Korrekturbetrag und der Schätzungs-Sichtlinienvektor 42 einander zugeordnet sind.
  • Zu diesem Zeitpunkt wird die Zuverlässigkeit jedes Kalibrierungsdatenstücks 7 berechnet.
  • Beispielsweise wird die Zuverlässigkeit der Kalibrierungsdaten 7 auf der Grundlage des virtuellen Objekts 5f höher angesetzt als die Zuverlässigkeit der Kalibrierungsdaten 7 auf der Grundlage des virtuellen Objekts 5g.
  • Wenn die Zuverlässigkeit berechnet wird, wird die Verarbeitung der Bestimmung, ob die Kalibrierungsdatenstücke 7 in dem Kalibrierungsdatenspeicher 21 registriert werden sollen, für jedes Kalibrierungsdatenstück 7 auf der Grundlage der Zuverlässigkeit der entsprechenden Kalibrierungsdaten 7 und des Objektparameters durchgeführt.
  • Wie oben beschrieben, kann eine Vielzahl von Kalibrierungsdatenstücken 7 gleichzeitig erzeugt werden, wenn sich eine Vielzahl von virtuellen Objekten 5 innerhalb eines bestimmten Zielwinkelbereichs 43 befindet, und es kann bestimmt werden, ob jedes der Vielzahl von Kalibrierungsdatenstücke 7 im Kalibrierungsdatenspeicher 21 registriert werden darf. Dadurch können die Kalibrierungsdaten effizient akkumuliert werden 7.
  • 10 zeigt schematisch ein Beispiel für die Einstellung eines Winkelbereichs. A in 10 ist eine Vorderansicht, die den Zielwinkelbereich 43 im Sichtfeld 6 des Benutzers 1 zeigt. B in 10 ist eine Draufsicht auf den in A von 10 gezeigten Zielwinkelbereich 43 von oben. Hier wird ein Verfahren zur Einstellung des in Tiefenrichtung unterteilten Zielwinkelbereichs 43 beschrieben.
  • In dem in 10 dargestellten Beispiel wird der Zielwinkelbereich 43 eines in Tiefenrichtung unterteilten Kegelbereichs eingestellt. Konkret werden im Kegelbereich zwei Begrenzungsebenen 46a und 46b so festgelegt, dass sie orthogonal zu einer Mittelachse liegen. Vom Benutzer 1 aus gesehen ist die Begrenzungsebene 46a nach vorne und die Begrenzungsebene 46b nach hinten gerichtet. Der Zielwinkelbereich 43 ist also ein Bereich, der von den Begrenzungsebenen 46a und 46b und einer Kegelfläche umgeben ist.
  • In B von 10 werden die Begrenzungsebenen 46a und 46b auf der Grundlage einer Position eines Blickpunkts in der Tiefenrichtung (einer Blickdistanz) festgelegt, wobei der Blickpunkt ein Punkt ist, auf den der Benutzer 1 blickt. Die Position des Blickpunktes kann z. B. anhand eines Abstands zu einem Objekt und eines Konvergenzwinkels, der durch die linke und rechte Sichtlinie des Benutzers 1 gebildet wird, berechnet werden.
  • Bei der Berechnung der Position des Blickpunkts P werden die vordere Begrenzungsebene 46a und die hintere Begrenzungsebene 46b so eingestellt, dass sich der Blickpunkt zwischen den Begrenzungsebenen 46a und 46b befindet. Wie oben beschrieben, werden in 10 die Begrenzungsebenen 46a und 46b in Tiefenrichtung des Zielwinkelbereichs 43 auf der Grundlage eines Konvergenzwinkels festgelegt, der durch Sichtlinien des Benutzers 1 gebildet wird.
  • In A und B von 10 sind die virtuellen Objekte 5h bis 5j dargestellt. Das virtuelle Objekt 5h ist so angeordnet, dass es von der Vorderseite des Benutzers 1 nach links verschoben wird, und das virtuelle Objekt 5i ist im Wesentlichen in der gleichen Tiefe wie das virtuelle Objekt 5h angeordnet, um von der Vorderseite des Benutzers 1 nach rechts verschoben zu werden. Außerdem ist das virtuelle Objekt 5j hinter dem virtuellen Objekt 5j angeordnet.
  • Wie in A von 10 dargestellt, erscheinen die virtuellen Objekte 5h bis 5j innerhalb des Zielwinkelbereichs 43 (ein kreisförmiger Bereich) im Sichtfeld 6 des Benutzers 1. Es wird angenommen, dass der Benutzer 1 zu diesem Zeitpunkt seine Aufmerksamkeit auf einen Bereich in der Nähe des davor angeordneten virtuellen Objekts 5h richtet.
  • Beispielsweise wird aus einem Konvergenzwinkel (einem Winkel, der durch die linke und rechte Blickrichtung gebildet wird) ein ungefährer Bereich berechnet, in dem sich ein Blickpunkt des Benutzers 1 befindet. Außerdem werden die Positionen der virtuellen Objekte 5h und 5i, die sich in der Nähe des Blickpunkts befinden, herangezogen, und die Position des Blickpunkts wird geschätzt.
  • Die Positionen der Begrenzungsebenen 46a und 46b in Tiefenrichtung werden so eingestellt, dass der wie oben beschrieben geschätzte Blickpunkt P innerhalb des Zielwinkelbereichs 43 liegt.
  • Folglich wird der Zielwinkelbereich 43 so eingestellt, dass sich die virtuellen Objekte 5h und 5i innerhalb des Zielwinkelbereichs 43 befinden, wie in B von 10 dargestellt, und die Anzahl der tatsächlich innerhalb des Zielwinkelbereichs 43 befindlichen Objekte zwei beträgt.
  • Die oben beschriebene Einstellung des Zielwinkelbereichs 43 ermöglicht es, die Anzahl der in Frage kommenden virtuellen Objekte 5, aus denen die
  • Kalibrierungsdaten 7 erzeugt werden, zu reduzieren. Dies führt dazu, dass die Kalibrierungsdaten 7 mit hoher Zuverlässigkeit erzeugt werden können, verglichen damit, wenn z. B. die Begrenzungsebenen 46a und 46b nicht gesetzt sind.
  • Das Verfahren zur Festlegung der Begrenzungsebenen 46a und 46b ist nicht beschränkt. Wenn beispielsweise ein Bereich (z. B. ein Bereich, in dem das virtuelle Objekt 5 erscheint, und ein Arbeitsbereich), dem der Benutzer 1 seine Aufmerksamkeit schenkt, im Voraus erkannt worden ist, können die Begrenzungsebenen 46a und 46b entsprechend dem erkannten Bereich eingestellt werden. Außerdem kann beispielsweise nur eine der Begrenzungsebenen 46a und 46b festgelegt werden.
  • 11 ist eine schematische Darstellung zur Beschreibung einer Änderung des Sichtfeldes 6, die durch die Bewegung eines Blickpunktes verursacht wird. In 11 werden die virtuellen Objekte 5e bis 5g in der in 7 dargestellten Anordnung in einem virtuellen Raum lokalisiert dargestellt. In A von 11 bewegt sich der Benutzer 1 aus dem in 7 dargestellten Zustand nach rechts und blickt auf das virtuelle Objekt 5g. In den Abbildungen B und C von 11 ist das Sichtfeld 6 des Benutzers 1 vor und nach der Bewegung schematisch dargestellt.
  • Wie in B und C von 11 dargestellt, wird die Position des virtuellen Objekts 5 (die Position des virtuellen Objekts 5 im Sichtfeld 6 des Benutzers 1) aufgrund der Bewegung des Benutzers 1 verändert, wenn das virtuelle Objekt 5 als Objekt in einem virtuellen Raum angezeigt wird.
  • Beispielsweise befindet sich im Sichtfeld 6 vor der in B von 11 dargestellten Bewegung das virtuelle Objekt 5f in der Nähe des virtuellen Objekts 5g, dem der Benutzer 1 seine Aufmerksamkeit widmet. Wenn sich der Benutzer hier nach rechts bewegt, wird ein anderes Objekt (das virtuelle Objekt 5f) als das virtuelle Objekt 5g nach der Bewegung nicht mehr in der Nähe des virtuellen Objekts 5g im Sichtfeld 6 angezeigt, wie in C von 11 dargestellt.
  • Die oben beschriebene Bewegung des Benutzers 1 ermöglicht es zum Beispiel, anhand des virtuellen Objekts 5g neue Kalibrierungsdaten 7 mit einer Zuverlässigkeit von 1 zu akkumulieren.
  • In diesem Fall können die neuen Kalibrierungsdaten 7 einfach hinzugefügt werden, oder, wenn eine Richtung eines Vektors der weniger zuverlässigen Kalibrierungsdaten 7 (registrierte Daten), die vor der Bewegung registriert wurden, nahe an einer Richtung des Schätzungs-Sichtlinienvektors 42 der neuen Kalibrierungsdaten 7 liegt, können die alten Kalibrierungsdaten 7 gelöscht werden.
  • Wie oben beschrieben, können die Kalibrierungsdatenstücke 7 mit einem hohen Grad an Zuverlässigkeit nacheinander im HMD 100 akkumuliert werden. Wenn Kalibrierungsdaten mit einem niedrigen Zuverlässigkeitsgrad in der Nähe von registrierten Daten mit einem hohen Zuverlässigkeitsgrad neu erzeugt werden, wird ein Vergleich z. B. hinsichtlich der Zuverlässigkeit durchgeführt, und die weniger zuverlässigen Kalibrierungsdaten können verworfen werden. Auf diese Weise lässt sich eine Verringerung der Genauigkeit bei der Erkennung einer Sichtlinie hinreichend verhindern.
  • Wie oben beschrieben, werden der Schätzungs-Sichtlinienvektor 42, der durch Schätzung einer Richtung einer Sichtlinie des Benutzers 1 erhalten wird, und ein Korrekturbetrag bezüglich des Schätzungs-Sichtlinienvektors 42 im Controller 17 gemäß der vorliegenden Ausführungsform berechnet. Der Korrekturbetrag wird auf der Grundlage mindestens eines virtuellen Objekts 5 innerhalb des Zielwinkelbereichs 43 berechnet, der mit dem Schätzungs-Sichtlinienvektor 42 als Referenz festgelegt wurde. Ferner wird auf der Grundlage eines Objektparameters, der sich auf das mindestens eine virtuelle Objekt 5 bezieht, bestimmt, ob die Kalibrierungsdaten 7, in denen der Schätzungs-Sichtlinienvektor 42 und der Korrekturbetrag einander zugeordnet sind, in dem Kalibrierungsdatenspeicher 21 registriert werden sollen. Auf diese Weise ist es möglich 7, die geeigneten Kalibrierungsdaten zu akkumulieren und somit eine Verringerung der Genauigkeit bei der Erkennung einer Sichtlinie zu verhindern.
  • <Andere Ausführungsformen>
  • Die vorliegende Technologie ist nicht auf die oben beschriebenen Ausführungsformen beschränkt und kann verschiedene andere Ausführungsformen erzielen.
  • Das Verfahren zur Registrierung der Kalibrierungsdaten 7 ist in den obigen Ausführungen bereits ausführlich beschrieben worden. Wenn es sich bei den neu registrierten Kalibrierungsdaten 7 beispielsweise um Daten mit geringer Genauigkeit handelt, kann eine Verarbeitung zum Stornieren der Registrierung der Kalibrierungsdaten 7 durchgeführt werden.
  • Beispielsweise wird angenommen, dass neue Kalibrierungsdaten 7 registriert werden, wenn der Benutzer 1 eine Eingabeoperation unter Verwendung einer Sichtlinie durchführt, und der Schätzungs-Sichtlinienvektor 42 wird anhand der Kalibrierungsdaten 7 korrigiert. Wenn in diesem Fall die neuen Kalibrierungsdaten 7 auf der Grundlage eines falschen Objekts festgelegt werden, kann es zu einer Verringerung der Genauigkeit bei der Korrektur des Schätzungs-Sichtlinienvektors 42 (der Genauigkeit bei der Erfassung einer Sichtlinie) kommen, und es kann ein Fehler oder ähnliches verursacht werden, wenn eine Eingabeoperation durch den Benutzer 1 durchgeführt wird.
  • In diesem Fall ist es wahrscheinlicher, dass der Benutzer 1 z. B. eine Stornierungsoperation durchführt, um die Eingabeoperation unter Verwendung einer Sichtlinie zu stornieren. Wenn z. B. eine Worteingabe unter Verwendung einer Sichtlinie durchgeführt wird und eine fehlerhafte Worteingabe erfolgt, wird die zuletzt durchgeführte Worteingabe durch eine Stornierungsoperation storniert, z. B. durch Auswahl einer Rücktaste oder einer Löschtaste. Wenn ferner eine Operation zum Sperren eines Ziels, z. B. bei einem Schießspiel, fälschlicherweise durchgeführt wird, wird eine Operation zum Stornieren der Sperroperation durchgeführt.
  • Wenn eine solche Stornierungsoperation durchgeführt wird, wird festgestellt, dass beispielsweise die kurz vor der Stornierungsoperation registrierten Kalibrierungsdaten 7 mit größerer Wahrscheinlichkeit Daten sind, die auf einem falschen Objekt basieren, und daher wird die Registrierung der entsprechenden Kalibrierungsdaten 7 storniert.
  • Konkret werden die Kalibrierungsdaten 7 aus dem Kalibrierungsdatenspeicher 21 gelöscht. Wenn zum Beispiel andere registrierte Daten zum Zeitpunkt der Registrierung der Kalibrierungsdaten 7 gelöscht werden, werden die gelöschten registrierten Daten an den Kalibrierungsdatenspeicher 21 zurückgegeben.
  • Wie oben beschrieben, kann die Registrierung der Kalibrierungsdaten 7 im Kalibrierungsdatenspeicher 21 als Reaktion auf eine vom Benutzer 1 durchgeführte Stornierungsoperation storniert werden. Dies ermöglicht es, die Registrierung z. B. von falschen Kalibrierungsdaten 7 zu korrigieren und die Zuverlässigkeit des Kalibrierungsdatenspeichers 21 aufrechtzuerhalten.
  • In den oben beschriebenen Ausführungsformen werden die Kalibrierungsdaten 7 zur Korrektur des Schätzungs-Sichtlinienvektors 42 verwendet, der durch die Schätzung der optischen Achse 56 eines Augapfels erhalten wird. Beispielsweise kann eine Sichtlinienrichtung, die mit Hilfe von Kalibrierungsdaten kalibriert wurde, die durch eine statische Kalibrierung (die erste Datenerzeugungsverarbeitung) erzeugt wurden, dynamisch korrigiert werden, indem Kalibrierungsdaten verwendet werden, die durch eine dynamische Kalibrierung (die zweite Datenerzeugungsverarbeitung) erzeugt wurden. In diesem Fall werden Kalibrierungsdaten erzeugt, die zur dynamischen Korrektur eines kalibrierten Sichtlinienvektors verwendet werden.
  • Beachten Sie, dass der Sichtlinienvektor, der einmal kalibriert worden ist, als ein Vektor betrachtet wird, der auf eine Richtung ausgerichtet ist, die nahe an der Richtung der Sichtachse 58 liegt. So kann ein Zielwinkelbereich klein festgelegt werden.
  • Die vorliegende Technologie kann auch angewendet werden, wenn Daten zur weiteren Kalibrierung eines solchen kalibrierten Sichtlinienvektors anfallen.
  • Das HMD 100 eines immersiven Typs ist hauptsächlich in den obigen Ausführungsformen beschrieben worden. Die vorliegende Technologie kann auf jedes Gerät angewendet werden, das einen Sichtlinienvektor des Benutzers 1 erkennen kann.
  • Zum Beispiel kann ein optisch durchlässiges HMD verwendet werden. In diesem Fall wird ein Sichtlinienvektor des Benutzers 1 berechnet, z. B. mit Hilfe einer nach innen gerichteten Kamera im HMD. Darüber hinaus werden Informationen über einen realen Raum z. B. mit einer externen Kamera erfasst. Das optisch durchlässige HMD ermöglicht es, ein virtuelles Objekt einem realen Raum so zu überlagern, dass es so aussieht, als ob das virtuelle Objekt im realen Raum existiert, und zwar auf der Grundlage dreidimensionaler Koordinaten im realen Raum, d. h. eines globalen Koordinatensystems. Die Verwendung eines optisch durchlässigen HMD ermöglicht es dem Benutzer 1, z. B. einen AR-Raum zu erleben.
  • Darüber hinaus kann eine Eingabeoperation unter Verwendung einer Sichtlinie beispielsweise über eine Anzeigevorrichtung wie einen Bildschirm eines Personal Computers (PC), einen stationären Monitor, der beispielsweise in der medizinischen Praxis verwendet wird, oder einen Fernseher erfolgen. In diesem Fall wird ein Sichtlinienvektor des Benutzers 1, der z. B. auf ein PC-Display blickt, z. B. mit Hilfe einer Kamera berechnet, die ein Bild eines Gesichts (eines Auges) des Benutzers 1 aufnimmt.
  • Darüber hinaus kann die vorliegende Technologie auch angewandt werden, wenn z. B. ein elektronischer Sucher (EVF), der z. B. in einer Bildaufnahmevorrichtung enthalten ist und eine Funktion zur Erkennung der Sichtlinie eines einzelnen Auges aufweist, oder eine brillenartige Sichtlinienerkennungsvorrichtung ohne Display verwendet wird.
  • Im Falle einer Vorrichtung, die eine Sichtlinie erkennt, während sie den Benutzer veranlasst, einen realen Raum zu beobachten, wird, wie oben beschrieben, ein Objekt in einem realen Raum (ein reales Objekt) erkannt, und das erkannte Objekt wird auf einen virtuellen Raum abgebildet. Dies ermöglicht eine ähnliche Verarbeitung wie die oben beschriebene, die z. B. vom HMD 100 durchgeführt wird. Beispielsweise kann eine Bilderkennungstechnologie wie die semantische Segmentierung oder eine Objekterkennungstechnologie, die Farb- und Tiefeninformationen verwendet, als Verfahren zur Erkennung eines realen Objekts eingesetzt werden.
  • Das Beispiel, in dem das Informationsverarbeitungsverfahren gemäß der vorliegenden Technologie von einem Computer wie dem HMD 100 durchgeführt wird, der vom Benutzer 1 bedient wird, ist oben beschrieben worden. Das Informationsverarbeitungsverfahren und das Programm gemäß der vorliegenden Technologie können jedoch von einem Computer ausgeführt werden, der vom Benutzer 1 bedient wird, und von einem anderen Computer, mit dem eine Kommunikation, beispielsweise über ein Netzwerk, möglich ist. Ferner kann ein System zur Bereitstellung von Inhalten gemäß der vorliegenden Technologie durch den vom Benutzer 1 betriebenen Computer und den anderen Computer, die zusammenarbeiten, aufgebaut werden.
  • Mit anderen Worten: Das Verfahren zur Informationsverarbeitung und das Programm gemäß der vorliegenden Technologie können nicht nur in einem Computersystem ausgeführt werden, das einen einzigen Computer aufweist, sondern auch in einem Computersystem, in dem eine Vielzahl von Computern zusammenarbeitet. Es ist zu beachten, dass sich das System in der vorliegenden Offenbarung auf eine Reihe von Komponenten (wie Vorrichtungen und Module (Teile)) bezieht und es keine Rolle spielt, ob sich alle Komponenten in einem einzigen Gehäuse befinden. So stellen sowohl eine Vielzahl von Vorrichtungen, die in separaten Gehäusen untergebracht und über ein Netzwerk miteinander verbunden sind, als auch eine einzelne Vorrichtung, bei der eine Vielzahl von Modulen in einem einzigen Gehäuse untergebracht ist, das System dar.
  • Die Ausführung des Informationsverarbeitungsverfahrens und des Programms gemäß der vorliegenden Technologie durch das Computersystem beinhaltet beispielsweise sowohl den Fall, in dem die Berechnung eines Schätzvektors, die Berechnung eines Korrekturbetrags, die Bestimmung, ob Kalibrierungsdaten in einem Datenspeicher registriert werden sollen, und dergleichen von einem einzigen Computer ausgeführt werden, als auch den Fall, in dem die jeweiligen Prozesse von verschiedenen Computern ausgeführt werden. Ferner beinhaltet die Ausführung jedes Prozesses durch einen bestimmten Computer, dass ein anderer Computer veranlasst wird, einen Teil des Prozesses oder den gesamten Prozess auszuführen und ein Ergebnis davon zu erfassen.
  • Mit anderen Worten: Das Verfahren zur Informationsverarbeitung und das Programm gemäß der vorliegenden Technologie können auch auf eine Konfiguration des Cloud Computing angewandt werden, bei der eine einzelne Funktion von mehreren Vorrichtungen über ein Netzwerk gemeinsam genutzt und kooperativ verarbeitet wird.
  • Mindestens zwei der oben beschriebenen Merkmale der vorliegenden Technologie können auch kombiniert werden. Mit anderen Worten: Verschiedene in den jeweiligen Ausführungsformen beschriebene Merkmale können unabhängig von den Ausführungsformen beliebig kombiniert werden. Die oben beschriebenen verschiedenen Effekte sind nicht einschränkend, sondern dienen lediglich der Veranschaulichung, und es können auch andere Effekte erzielt werden.
  • In der vorliegenden Offenbarung schließen Ausdrücke wie „dasselbe“, „das gleiche“ und „orthogonal“ konzeptionell Ausdrücke wie „im Wesentlichen dasselbe“, „im Wesentlichen gleich“ und „im Wesentlichen orthogonal“ ein. So beinhalten die Ausdrücke wie „dasselbe“, „das gleiche“ und „orthogonal“ auch Zustände innerhalb bestimmter Bereiche (z. B. ein Bereich von +/-10 %), wobei Ausdrücke wie „genau dasselbe“, „genau gleich“ und „völlig orthogonal“ als Referenz verwendet werden.
  • Es ist zu beachten, dass die vorliegende Technologie auch die folgenden Konfigurationen verwenden kann.
  • (1)
  • Informationsverarbeitungsvorrichtung, die Folgendes aufweist:
    • einen Sichtlinienschätzer, der einen Schätzvektor berechnet, der durch Schätzung einer Richtung einer Sichtlinie eines Benutzers erhalten wird;
    • einen Korrekturbetragsrechner, der einen auf den Schätzvektor bezogenen Korrekturbetrag auf der Grundlage mindestens eines Objekts berechnet, das sich innerhalb eines angegebenen Winkelbereichs befindet, der unter Verwendung des Schätzvektors als Referenz eingestellt ist; und
    • einen Registrierungsbestimmungsabschnitt, der bestimmt, ob in einem Datenspeicher Kalibrierungsdaten zu registrieren sind, in denen der Schätzvektor und der Korrekturbetrag einander zugeordnet sind, auf der Grundlage eines Parameters, der sich auf das mindestens eine Objekt innerhalb des angegebenen Winkelbereichs bezieht.
  • (2)
  • Informationsverarbeitungsvorrichtung gemäß (1), wobei
    der Registrierungsbestimmungsabschnitt bestimmt, ob der Parameter, der sich auf das mindestens eine Objekt bezieht, eine bestimmte Bedingung erfüllt,
    wenn der Parameter die spezifizierte Bedingung erfüllt, der Registrierungsbestimmungsabschnitt die Kalibrierungsdaten in dem Datenspeicher registriert, und
    wenn der Parameter die angegebene Bedingung nicht erfüllt, der Registrierungsbestimmungsabschnitt die Kalibrierungsdaten nicht im Datenspeicher registriert.
  • (3)
  • Informationsverarbeitungsvorrichtung gemäß (1) oder (2), wobei
    der Parameter, der sich auf das mindestens eine Objekt bezieht, mindestens eines der folgenden Elemente aufweist: die Anzahl des mindestens einen Objekts innerhalb des spezifizierten Winkelbereichs, den Winkelabstand des mindestens einen Objekts relativ zum Schätzvektor, einen Abstand von einem Blickpunkt zu dem mindestens einen Objekt, den Abstand des mindestens einen Objekts, die Wahrnehmbarkeit des mindestens einen Objekts oder Informationen bezüglich einer Auswahloperation zur Auswahl des mindestens einen Objekts, die vom Benutzer durchgeführt wird.
  • (4)
  • Informationsverarbeitungsvorrichtung gemäß einem der Punkte (1) bis (3), wobei
    der Registrierungsbestimmungsabschnitt die Zuverlässigkeit der Kalibrierungsdaten auf der Grundlage des Parameters festlegt, der sich auf das mindestens eine Objekt bezieht, und
    auf der Grundlage der Zuverlässigkeit der Registrierungsbestimmungsabschnitt bestimmt, ob die Kalibrierungsdaten in dem Datenspeicher registriert werden sollen.
  • (5)
  • Informationsverarbeitungsvorrichtung gemäß (4), wobei
    der Registrierungsbestimmungsabschnitt als Kalibrierungsdaten einen Datensatz erzeugt, in dem der Schätzvektor, der Korrekturbetrag und die Zuverlässigkeit einander zugeordnet sind.
  • (6)
  • Informationsverarbeitungsvorrichtung gemäß (4) oder (5), wobei
    das mindestens eine Objekt eine Vielzahl von Objekten aufweist,
    der Parameter die Anzahl der Vielzahl von Objekten aufweist, und
    der Registrierungsbestimmungsabschnitt die Zuverlässigkeit höher einstellt, wenn es eine geringere Anzahl der Vielzahl von Objekten innerhalb des spezifizierten Winkelbereichs gibt.
  • (7)
  • Informationsverarbeitungsvorrichtung gemäß einem der Punkte (4) bis (6), wobei
    das mindestens eine Objekt eine Vielzahl von Objekten aufweist,
    der Parameter den Abstand der Vielzahl von Objekten aufweist, und
    der Registrierungsbestimmungsabschnitt die Zuverlässigkeit höher ansetzt, wenn der Abstand der Vielzahl von Objekten kleiner ist.
  • (8)
  • Informationsverarbeitungsvorrichtung gemäß einem der Punkte (4) bis (7), wobei
    der Parameter, der sich auf das mindestens eine Objekt bezieht, den Winkelabstand des mindestens einen Objekts relativ zum Schätzvektor aufweist, und
    der Registrierungsbestimmungsabschnitt die Zuverlässigkeit höher ansetzt, wenn der Winkelabstand kleiner ist.
  • (9)
  • Informationsverarbeitungsvorrichtung gemäß einem der Punkte (4) bis (8), wobei
    der Parameter, der sich auf das mindestens eine Objekt bezieht, Informationen bezüglich einer Auswahloperation zur Auswahl des mindestens einen Objekts aufweist, die vom Benutzer durchgeführt wird, und
    der Registrierungsbestimmungsabschnitt die Zuverlässigkeit der Kalibrierungsdaten, die auf der Grundlage des mindestens einen durch die durchgeführte Auswahloperation ausgewählten Objekts berechnet wurden, auf einen Maximalwert einstellt.
  • (10)
  • Informationsverarbeitungsvorrichtung gemäß einem der Punkte (4) bis (9), wobei
    zumindest dann, wenn die Zuverlässigkeit kleiner als ein erster Schwellenwert ist, der
    Registrierungsbestimmungsabschnitt die Kalibrierungsdaten nicht im Datenspeicher registriert.
  • (11)
  • Informationsverarbeitungsvorrichtung gemäß (10), wobei
    der Datenspeicher eine Vielzahl von registrierten Datenstücken aufweist, die den registrierten Kalibrierungsdatenstücken entsprechen, und
    der Registrierungsbestimmungsabschnitt den ersten Schwellenwert in Abhängigkeit von der Anzahl der registrierten Datenstücke steuert.
  • (12)
  • Informationsverarbeitungsvorrichtung gemäß einem der Punkte (4) bis (11), wobei
    der Datenspeicher eine Vielzahl von registrierten Datenstücken aufweist, die den registrierten Kalibrierungsdatenstücken entsprechen,
    der Registrierungsbestimmungsabschnitt das registrierte Datenstück extrahiert, das einen Vektor aufweist, bei dem der Winkelabstand zwischen dem Vektor und dem Schätzvektor kleiner oder gleich einem zweiten Schwellenwert ist, und
    wenn die Zuverlässigkeit höher ist als die Zuverlässigkeit des registrierten Datenstücks, der Registrierungsbestimmungsabschnitt das registrierte Datenstück aus dem Datenspeicher löscht und das Kalibrierungsdatenstück mit einer höheren Zuverlässigkeit im Datenspeicher registriert.
  • (13)
  • Informationsverarbeitungsvorrichtung gemäß einem der Punkte (1) bis (12), wobei
    das mindestens eine Objekt eine Vielzahl von Objekten aufweist, und
    der Korrekturbetragsrechner den Korrekturbetrag auf der Grundlage eines Objekts berechnet, das in der Vielzahl der Objekte dem Schätzvektor am nächsten liegt.
  • (14)
  • Informationsverarbeitungsvorrichtung gemäß einem der Punkte (1) bis (12), wobei
    das mindestens eine Objekt eine Vielzahl von Objekten aufweist, und
    der Korrekturbetragsrechner die Korrekturbeträge, die den jeweiligen Objekten der Vielzahl von Objekten entsprechen, auf der Grundlage der jeweiligen Objekte der Vielzahl von Objekten berechnet.
  • (15)
  • Informationsverarbeitungsvorrichtung gemäß einem der Punkte (1) bis (14), wobei
    der Registrierungsbestimmungsabschnitt die Registrierung der Kalibrierungsdaten in dem Datenspeicher in Reaktion auf eine vom Benutzer durchgeführte Stornierungsoperation storniert.
  • (16)
  • Informationsverarbeitungsvorrichtung gemäß einem der Punkte (1) bis (15), wobei
    der Schätzvektor ein Vektor ist, der durch Schätzung einer optischen Achse eines Augapfels des Benutzers erhalten wird, und
    der Korrekturbetragsrechner als spezifizierten Winkelbereich einen Bereich festlegt, der die Form eines Kegels mit einem Scheitelwinkel von 20 Grad oder weniger hat, wobei der Schätzvektor eine zentrale Achse des Kegels ist.
  • (17)
  • Informationsverarbeitungsvorrichtung gemäß einem der Punkte (1) bis (16), wobei
    der Korrekturbetragsrechner auf der Grundlage eines Konvergenzwinkels, der durch die Sichtlinien des Benutzers gebildet wird, eine Grenzebene in einer Tiefenrichtung des angegebenen Winkelbereichs festlegt.
  • (18)
  • Informationsverarbeitungsverfahren, das Folgendes beinhaltet:
    • Berechnen, durch ein Computersystem, eines Schätzvektors, der durch Schätzen einer Richtung einer Sichtlinie eines Benutzers erhalten wird;
    • Berechnen, durch das Computersystem, eines auf den Schätzvektor bezogenen Korrekturbetrags auf der Basis von mindestens einem Objekt, das sich innerhalb eines angegebenen Winkelbereichs befindet, der unter Verwendung des Schätzvektors als Referenz eingestellt ist; und
    • Bestimmen, durch das Computersystem, ob Kalibrierungsdaten in einem Datenspeicher registriert werden sollen, in denen der Schätzvektor und der Korrekturbetrag einander zugeordnet sind, und zwar auf der Grundlage eines Parameters, der sich auf das mindestens eine Objekt innerhalb des festgelegten Winkelbereichs bezieht.
  • (19)
  • Computerlesbares Aufzeichnungsmedium, auf dem ein Programm aufgezeichnet ist, das die Durchführung eines Prozesses bewirkt, wobei der Prozess Folgendes beinhaltet:
    • Berechnen eines Schätzvektors, der durch Schätzung der Richtung der Sichtlinie eines Benutzers erhalten wird;
    • Berechnen eines auf den Schätzvektor bezogenen Korrekturbetrags auf der Grundlage mindestens eines Objekts, das sich innerhalb eines angegebenen Winkelbereichs befindet, der unter Verwendung des Schätzvektors als Referenz festgelegt ist; und
    • Bestimmen, ob in einem Datenspeicher Kalibrierungsdaten registriert werden sollen, in denen der Schätzvektor und der Korrekturbetrag einander zugeordnet sind, und zwar auf der Grundlage eines Parameters, der sich auf das mindestens eine Objekt innerhalb des festgelegten Winkelbereichs bezieht. Liste der Bezugszeichen
  • 1
    Benutzer
    5, 5a bis 5j
    virtuelles Objekt
    6
    Sichtfeld
    7
    Kalibrierungsdaten
    16
    Speicher
    17
    Controller
    20
    Steuerprogramm
    21
    Kalibrierungsdatenspeicher
    22
    Objektinformationen
    23
    Sichtliniendetektor
    24
    Kopfpositions-/Kopfhaltungsdetektor
    25
    Objektextraktionsabschnitt
    26
    Kalibrierungsdatengenerator
    27
    Kalibrierungsverarbeitungsabschnitt
    28
    Bildverarbeitungsabschnitt
    42
    Schätzungs-Sichtlinienvektor
    43
    Zielwinkelbereich
    44
    Ist-Sichtlinienvektor
    100
    HMD
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Patentliteratur
    • JP 2018505457 [0004]

Claims (19)

  1. Informationsverarbeitungsvorrichtung, die Folgendes umfasst: einen Sichtlinienschätzer, der einen Schätzvektor berechnet, der durch Schätzung einer Richtung einer Sichtlinie eines Benutzers erhalten wird; einen Korrekturbetragsrechner, der einen auf den Schätzvektor bezogenen Korrekturbetrag auf einer Grundlage mindestens eines Objekts berechnet, das sich innerhalb eines angegebenen Winkelbereichs befindet, der unter Verwendung des Schätzvektors als Referenz eingestellt ist; und einen Registrierungsbestimmungsabschnitt, der bestimmt, ob in einem Datenspeicher Kalibrierungsdaten zu registrieren sind, in denen der Schätzvektor und der Korrekturbetrag einander zugeordnet sind, auf einer Grundlage eines Parameters, der sich auf das mindestens eine Objekt innerhalb des angegebenen Winkelbereichs bezieht.
  2. Informationsverarbeitungsvorrichtung gemäß Anspruch 1, wobei der Registrierungsbestimmungsabschnitt bestimmt, ob der Parameter, der sich auf das mindestens eine Objekt bezieht, eine bestimmte Bedingung erfüllt, wenn der Parameter die spezifizierte Bedingung erfüllt, der Registrierungsbestimmungsabschnitt die Kalibrierungsdaten in dem Datenspeicher registriert, und wenn der Parameter die angegebene Bedingung nicht erfüllt, der Registrierungsbestimmungsabschnitt die Kalibrierungsdaten nicht im Datenspeicher registriert.
  3. Informationsverarbeitungsvorrichtung gemäß Anspruch 1, wobei der Parameter, der sich auf das mindestens eine Objekt bezieht, mindestens eines der folgenden Elemente aufweist: die Anzahl des mindestens einen Objekts innerhalb des spezifizierten Winkelbereichs, den Winkelabstand des mindestens einen Objekts relativ zum Schätzvektor, einen Abstand von einem Blickpunkt zu dem mindestens einen Objekt, den Abstand des mindestens einen Objekts, die Wahrnehmbarkeit des mindestens einen Objekts oder Informationen bezüglich einer Auswahloperation zur Auswahl des mindestens einen Objekts, die vom Benutzer durchgeführt wird.
  4. Informationsverarbeitungsvorrichtung gemäß Anspruch 1, wobei der Registrierungsbestimmungsabschnitt die Zuverlässigkeit der Kalibrierungsdaten auf einer Grundlage des Parameters festlegt, der sich auf das mindestens eine Objekt bezieht, und auf einer Grundlage der Zuverlässigkeit der Registrierungsbestimmungsabschnitt bestimmt, ob die Kalibrierungsdaten in dem Datenspeicher registriert werden sollen.
  5. Informationsverarbeitungsvorrichtung gemäß Anspruch 4, wobei der Registrierungsbestimmungsabschnitt als Kalibrierungsdaten einen Datensatz erzeugt, in dem der Schätzvektor, der Korrekturbetrag und die Zuverlässigkeit einander zugeordnet sind.
  6. Informationsverarbeitungsvorrichtung gemäß Anspruch 4, wobei das mindestens eine Objekt eine Vielzahl von Objekten aufweist, der Parameter die Anzahl der Vielzahl von Objekten aufweist, und der Registrierungsbestimmungsabschnitt die Zuverlässigkeit höher einstellt, wenn es eine geringere Anzahl der Vielzahl von Objekten innerhalb des spezifizierten Winkelbereichs gibt.
  7. Informationsverarbeitungsvorrichtung gemäß Anspruch 4, wobei das mindestens eine Objekt eine Vielzahl von Objekten aufweist, der Parameter den Abstand der Vielzahl von Objekten aufweist, und der Registrierungsbestimmungsabschnitt die Zuverlässigkeit höher ansetzt, wenn der Abstand der Vielzahl von Objekten kleiner ist.
  8. Informationsverarbeitungsvorrichtung gemäß Anspruch 4, wobei der Parameter, der sich auf das mindestens eine Objekt bezieht, den Winkelabstand des mindestens einen Objekts relativ zum Schätzvektor aufweist, und der Registrierungsbestimmungsabschnitt die Zuverlässigkeit höher ansetzt, wenn der Winkelabstand kleiner ist.
  9. Informationsverarbeitungsvorrichtung gemäß Anspruch 4, wobei der Parameter, der sich auf das mindestens eine Objekt bezieht, Informationen bezüglich einer Auswahloperation zur Auswahl des mindestens einen Objekts aufweist, die vom Benutzer durchgeführt wird, und der Registrierungsbestimmungsabschnitt die Zuverlässigkeit der Kalibrierungsdaten, die auf einer Grundlage des mindestens einen durch die durchgeführte Auswahloperation ausgewählten Objekts berechnet wurden, auf einen Maximalwert einstellt.
  10. Informationsverarbeitungsvorrichtung gemäß Anspruch 4, wobei zumindest dann, wenn die Zuverlässigkeit kleiner als ein erster Schwellenwert ist, der Registrierungsbestimmungsabschnitt die Kalibrierungsdaten nicht im Datenspeicher registriert.
  11. Informationsverarbeitungsvorrichtung gemäß Anspruch 10, wobei der Datenspeicher eine Vielzahl von registrierten Datenstücken aufweist, die den registrierten Kalibrierungsdatenstücken entsprechen, und der Registrierungsbestimmungsabschnitt den ersten Schwellenwert in Abhängigkeit von der Anzahl der registrierten Datenstücke steuert.
  12. Informationsverarbeitungsvorrichtung gemäß Anspruch 4, wobei der Datenspeicher eine Vielzahl von registrierten Datenstücken aufweist, die den registrierten Kalibrierungsdatenstücken entsprechen, der Registrierungsbestimmungsabschnitt das registrierte Datenstück extrahiert, das einen Vektor aufweist, bei dem der Winkelabstand zwischen dem Vektor und dem Schätzvektor kleiner oder gleich einem zweiten Schwellenwert ist, und wenn die Zuverlässigkeit höher ist als die Zuverlässigkeit des registrierten Datenstücks, der Registrierungsbestimmungsabschnitt das registrierte Datenstück aus dem Datenspeicher löscht und das Kalibrierungsdatenstück mit einer höheren Zuverlässigkeit im Datenspeicher registriert.
  13. Informationsverarbeitungsvorrichtung gemäß Anspruch 1, wobei das mindestens eine Objekt eine Vielzahl von Objekten aufweist, und der Korrekturbetragsrechner den Korrekturbetrag auf einer Grundlage eines Objekts berechnet, das in der Vielzahl der Objekte dem Schätzvektor am nächsten liegt.
  14. Informationsverarbeitungsvorrichtung gemäß Anspruch 1, wobei das mindestens eine Objekt eine Vielzahl von Objekten aufweist, und der Korrekturbetragsrechner die Korrekturbeträge, die den jeweiligen Objekten der Vielzahl von Objekten entsprechen, auf einer Grundlage der jeweiligen Objekte der Vielzahl von Objekten berechnet.
  15. Informationsverarbeitungsvorrichtung gemäß Anspruch 1, wobei der Registrierungsbestimmungsabschnitt die Registrierung der Kalibrierungsdaten in dem Datenspeicher in Reaktion auf eine vom Benutzer durchgeführte Stornierungsoperation storniert.
  16. Informationsverarbeitungsvorrichtung gemäß Anspruch 1, wobei der Schätzvektor ein Vektor ist, der durch Schätzung einer optischen Achse eines Augapfels des Benutzers erhalten wird, und der Korrekturbetragsrechner als spezifizierten Winkelbereich einen Bereich festlegt, der die Form eines Kegels mit einem Scheitelwinkel von 20 Grad oder weniger hat, wobei der Schätzvektor eine zentrale Achse des Kegels ist.
  17. Informationsverarbeitungsvorrichtung gemäß Anspruch 1, wobei der Korrekturbetragsrechner auf einer Grundlage eines Konvergenzwinkels, der durch die Sichtlinien des Benutzers gebildet wird, eine Grenzebene in Tiefenrichtung des angegebenen Winkelbereichs festlegt.
  18. Informationsverarbeitungsverfahren, das Folgendes umfasst: Berechnen, durch ein Computersystem, eines Schätzvektors, der durch Schätzen einer Richtung einer Sichtlinie eines Benutzers erhalten wird; Berechnen, durch das Computersystem, eines auf den Schätzvektor bezogenen Korrekturbetrags auf einer Grundlage von mindestens einem Objekt, das sich innerhalb eines angegebenen Winkelbereichs befindet, der unter Verwendung des Schätzvektors als Referenz eingestellt ist; und Bestimmen, durch das Computersystem, ob Kalibrierungsdaten in einem Datenspeicher registriert werden sollen, in denen der Schätzvektor und der Korrekturbetrag einander zugeordnet sind, und zwar auf einer Grundlage eines Parameters, der sich auf das mindestens eine Objekt innerhalb des festgelegten Winkelbereichs bezieht.
  19. Computerlesbares Aufzeichnungsmedium, auf dem ein Programm aufgezeichnet ist, das die Durchführung eines Prozesses bewirkt, wobei der Prozess Folgendes umfasst: Berechnen eines Schätzvektors, der durch Schätzung der Richtung der Sichtlinie eines Benutzers erhalten wird; Berechnen eines auf den Schätzvektor bezogenen Korrekturbetrags auf einer Grundlage mindestens eines Objekts, das sich innerhalb eines angegebenen Winkelbereichs befindet, der unter Verwendung des Schätzvektors als Referenz festgelegt ist; und Bestimmen, ob in einem Datenspeicher Kalibrierungsdaten registriert werden sollen, in denen der Schätzvektor und der Korrekturbetrag einander zugeordnet sind, und zwar auf einer Grundlage eines Parameters, der sich auf das mindestens eine Objekt innerhalb des festgelegten Winkelbereichs bezieht.
DE112020006467.0T 2020-01-06 2020-12-24 Informationsverarbeitungsvorrichtung, informationsverarbeitungsverfahren und computerlesbares aufzeichnungsmedium Pending DE112020006467T5 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2020000401 2020-01-06
JP2020-000401 2020-01-06
PCT/JP2020/048458 WO2021140938A1 (ja) 2020-01-06 2020-12-24 情報処理装置、情報処理方法、及びコンピュータが読み取り可能な記録媒体

Publications (1)

Publication Number Publication Date
DE112020006467T5 true DE112020006467T5 (de) 2022-10-27

Family

ID=76788439

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112020006467.0T Pending DE112020006467T5 (de) 2020-01-06 2020-12-24 Informationsverarbeitungsvorrichtung, informationsverarbeitungsverfahren und computerlesbares aufzeichnungsmedium

Country Status (4)

Country Link
US (1) US20230047470A1 (de)
CN (1) CN114868102A (de)
DE (1) DE112020006467T5 (de)
WO (1) WO2021140938A1 (de)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11720178B2 (en) * 2019-03-15 2023-08-08 Sony Group Corporation Information processing device, information processing method, and computer-readable recording medium
CN116959086B (zh) * 2023-09-18 2023-12-15 南昌虚拟现实研究院股份有限公司 一种视线估计方法、***、设备及存储介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018505457A (ja) 2014-11-06 2018-02-22 インテル コーポレイション アイトラッキングシステムのための改良されたキャリブレーション

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2853709C (en) * 2011-10-27 2020-09-01 Tandemlaunch Technologies Inc. System and method for calibrating eye gaze data
US10067561B2 (en) * 2014-09-22 2018-09-04 Facebook, Inc. Display visibility based on eye convergence
WO2016075532A1 (en) * 2014-11-14 2016-05-19 The Eye Tribe Aps Dynamic eye tracking calibration
JP2017134558A (ja) * 2016-01-27 2017-08-03 ソニー株式会社 情報処理装置、情報処理方法、およびプログラムを記録したコンピュータ読み取り可能な記録媒体
JP2019021049A (ja) * 2017-07-18 2019-02-07 ソニー株式会社 情報処理装置、情報処理方法、及びプログラム
JP7081599B2 (ja) * 2017-07-27 2022-06-07 ソニーグループ株式会社 情報処理装置、情報処理方法、およびプログラム
JP7168953B2 (ja) * 2018-06-12 2022-11-10 国立大学法人神戸大学 自動キャリブレーションを行う視線計測装置、視線計測方法および視線計測プログラム

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018505457A (ja) 2014-11-06 2018-02-22 インテル コーポレイション アイトラッキングシステムのための改良されたキャリブレーション

Also Published As

Publication number Publication date
WO2021140938A1 (ja) 2021-07-15
CN114868102A (zh) 2022-08-05
US20230047470A1 (en) 2023-02-16

Similar Documents

Publication Publication Date Title
DE112017002799B4 (de) Verfahren und system zum generieren multimodaler digitaler bilder
EP3103059A1 (de) 3d-bildanalysator zur blickrichtungsbestimmung
DE102019106277A1 (de) Bildanalysevorrichtung, -verfahren und -programm
EP3332284A1 (de) Verfahren und vorrichtung zur datenerfassung und auswertung von umgebungsdaten
DE102018102194A1 (de) Elektronische Einrichtung, Informationsverarbeitungsverfahren und Programm
DE112020006467T5 (de) Informationsverarbeitungsvorrichtung, informationsverarbeitungsverfahren und computerlesbares aufzeichnungsmedium
DE102018207414A1 (de) Bildverarbeitungssystem
EP3422087B1 (de) Verfahren zur korrektur von zentrierparametern und/oder einer achslage sowie entsprechendes computerprogramm und verfahren
DE112017007303B4 (de) Gesichtserkennungsvorrichtung
DE102015009820A1 (de) Bildsegmentierung für eine Kamera-Liveeinspielung
EP3702832B1 (de) Verfahren, vorrichtungen und computerprogramm zum bestimmen eines nah-durchblickpunktes
DE112019002021T5 (de) Bildverarbeitungsverfahren, Programm, Bildverarbeitungsvorrichtung und ophthalmologisches System
DE102018003475A1 (de) Formbasierte Grafiksuche
DE102016006242B4 (de) Anzeigevorrichtung des kopfgetragenen Typs, Steuerverfahren für Anzeigevorrichtung des kopfgetragenen Typs, Bildverarbeitungssystem und Speichermedium
EP3730918A1 (de) Verfahren und vorrichtung zum vermessen der lokalen brechkraft und/oder der brechkraftverteilung eines brillenglases
DE112017001660T5 (de) Datenverarbeitungseinrichtung, Datenverarbeitungsverfahren und computerlesbares Medium
DE102014114131A1 (de) Verfahren zur Informationsverarbeitung und elektronisches Gerät
DE102013100569A1 (de) Verfahren und Vorrichtung zur Anzeige einer Fahrzeugumgebung
EP3959497B1 (de) Verfahren und vorrichtung zum vermessen der lokalen brechkraft und/oder der brechkraftverteilung eines brillenglases
DE102017220005A1 (de) Verfahren und Anzeigegerät zum Führen einer Arbeitsmaschine
DE102013213492A1 (de) Bildanpassung für kontaktanaloge Darstellungen auf Datenbrillen
WO2016046124A1 (de) Anzeigevorrichtung, die auf den kopf eines benutzers aufsetzbar ist, und verfahren zum steuern einer solchen anzeigevorrichtung
DE112018003820T5 (de) Informationsverarbeitungseinrichtung, informationsverarbeitungsverfahren und programm
DE112018006367T5 (de) Informationsverarbeitungseinrichtung, Informationsverarbeitungsverfahren und Programm.
DE102016109153A1 (de) Verfahren zum einstellen einer blickrichtung in einer darstellung einer virtuellen umgebung