WO2021192589A1 - 情報処理装置及び情報処理方法、コンピュータプログラム、並びに拡張現実感システム - Google Patents

情報処理装置及び情報処理方法、コンピュータプログラム、並びに拡張現実感システム Download PDF

Info

Publication number
WO2021192589A1
WO2021192589A1 PCT/JP2021/002883 JP2021002883W WO2021192589A1 WO 2021192589 A1 WO2021192589 A1 WO 2021192589A1 JP 2021002883 W JP2021002883 W JP 2021002883W WO 2021192589 A1 WO2021192589 A1 WO 2021192589A1
Authority
WO
WIPO (PCT)
Prior art keywords
virtual
user
hand
gripping
virtual object
Prior art date
Application number
PCT/JP2021/002883
Other languages
English (en)
French (fr)
Inventor
山野 郁男
壮一郎 稲谷
石川 毅
Original Assignee
ソニーグループ株式会社
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 ソニーグループ株式会社 filed Critical ソニーグループ株式会社
Priority to EP21775558.6A priority Critical patent/EP4099135A4/en
Priority to CN202180021726.1A priority patent/CN115298646A/zh
Priority to JP2022509330A priority patent/JPWO2021192589A1/ja
Priority to US17/906,321 priority patent/US20230095328A1/en
Publication of WO2021192589A1 publication Critical patent/WO2021192589A1/ja

Links

Images

Classifications

    • 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/014Hand-worn input/output arrangements, e.g. data gloves
    • 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
    • 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/012Head tracking input arrangements
    • 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/016Input arrangements with force or tactile feedback as computer generated output to the user
    • 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/017Gesture based interaction, e.g. based on a set of recognized hand gestures
    • 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/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/0304Detection arrangements using opto-electronic means
    • G06F3/0308Detection arrangements using opto-electronic means comprising a plurality of distinctive and separately oriented light emitters or reflectors associated to the pointing device, e.g. remote cursor controller with distinct and separately oriented LEDs at the tip whose radiations are captured by a photo-detector associated to the screen
    • 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/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/04812Interaction techniques based on cursor appearance or behaviour, e.g. being affected by the presence of displayed objects
    • 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/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04842Selection of displayed objects or displayed text elements
    • 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/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/0486Drag-and-drop
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G3/00Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes
    • G09G3/001Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes using specific devices not provided for in groups G09G3/02 - G09G3/36, e.g. using an intermediate record carrier such as a film slide; Projection systems; Display of non-alphanumerical information, solely or in combination with alphanumerical information, e.g. digital display on projected diapositive as background
    • G09G3/003Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes using specific devices not provided for in groups G09G3/02 - G09G3/36, e.g. using an intermediate record carrier such as a film slide; Projection systems; Display of non-alphanumerical information, solely or in combination with alphanumerical information, e.g. digital display on projected diapositive as background to produce spatial visual effects
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2354/00Aspects of interface with display user

Definitions

  • this disclosure relates to an information processing device and an information processing method for processing information related to augmented reality, a computer program, and an augmented reality system.
  • VR virtual reality
  • AR augmented reality
  • MR Magnetic Reality
  • VR is a technology that allows virtual space to be perceived as reality.
  • AR is a technology that expands the real space seen by the user by adding, emphasizing, attenuating, or deleting information to the real environment surrounding the user.
  • MR is a technology for displaying a virtual object (hereinafter, also referred to as “virtual object”) that replaces an object in real space, and interlacing the real and the virtual.
  • AR and MR are realized by using, for example, a see-through type head-mounted display (hereinafter, also referred to as “AR glass”).
  • AR glass see-through type head-mounted display
  • OSs Operating Systems
  • Windows and Linux registered trademark
  • operations are performed on running applications via input devices such as keyboards, mice, and touch panels.
  • input devices such as keyboards, mice, and touch panels.
  • VR and AR an input form in which a user who wears a head-mounted display and searches for a virtual space operates by holding a controller in his / her hand is known (see, for example, Patent Document 1). matter).
  • An object of the present disclosure is to provide an information processing device and an information processing method for processing information related to augmented reality, a computer program, and an augmented reality feeling system.
  • the first aspect of the disclosure is An acquisition unit that acquires the position of the user's hand and gestures of the fingers, A control unit that controls the display operation of a display device that superimposes and displays virtual objects in real space, Equipped with The control unit sets a virtual gripping point at a position having a certain offset with respect to the hand, and displays the gripping operation of the virtual object based on the positional relationship between the virtual gripping point and the virtual object and the contact state between the fingertips. It is an information processing device that controls the display device so as to perform the above.
  • the acquisition unit acquires the position of the hand and the gesture of the fingers based on the sensor information from the sensor attached to the back of the hand, or includes a sensor attached to the back of the hand.
  • the acquisition unit further acquires the posture of the user's fingers.
  • the control unit controls mode switching between a gripping operation mode in which the virtual object is gripped by contact between the fingertips and a contact operation mode in which the virtual object is touched by the palm or the fingertips, based on the posture information of the fingers. Further, the control unit further controls the mode switching to the button operation mode in which the virtual button is pressed with a fingertip.
  • the second aspect of the present disclosure is The acquisition step to acquire the position of the user's hand and the gesture of the finger, A control step that controls the display operation of a display device that superimposes and displays virtual objects in real space, Have, In the control step, a virtual gripping point is set at a position having a certain offset with respect to the hand, and the gripping operation of the virtual object is displayed based on the positional relationship between the virtual gripping point and the virtual object and the contact state between the fingertips. It is an information processing method that controls the display device so as to perform the above.
  • the third aspect of the present disclosure is Acquisition unit, which acquires the position of the user's hand and the gesture of the fingers, A control unit that controls the display operation of a display device that superimposes and displays virtual objects in real space.
  • a control unit that controls the display operation of a display device that superimposes and displays virtual objects in real space.
  • the control unit sets a virtual gripping point at a position having a certain offset with respect to the hand, and displays the gripping operation of the virtual object based on the positional relationship between the virtual gripping point and the virtual object and the contact state between the fingertips.
  • Control the display device so as to It is a computer program.
  • the computer program according to the third aspect of the present disclosure defines a computer program written in a computer-readable format so as to realize a predetermined process on the computer.
  • a collaborative action is exerted on the computer, and the same action as the information processing device according to the first aspect of the present disclosure. The effect can be obtained.
  • the fourth aspect of the present disclosure is A display device that superimposes and displays virtual objects in real space
  • An acquisition unit that acquires the position of the user's hand and gestures of the fingers
  • a control unit that controls the display operation of the display device, Equipped with The control unit sets a virtual gripping point at a position having a certain offset with respect to the hand, and displays the gripping operation of the virtual object based on the positional relationship between the virtual gripping point and the virtual object and the contact state between the fingertips.
  • Control the display device so as to It is an augmented reality system.
  • system here means a logical assembly of a plurality of devices (or functional modules that realize a specific function), and each device or functional module is in a single housing. It does not matter whether or not it is.
  • an information processing device and an information processing method, a computer program, and an augmented reality system that realize the interaction of a virtual object with a user's hand or finger.
  • FIG. 1 is a diagram showing the back of a user's hand on which the controller 10 is installed using the belt 11.
  • FIG. 2 is a diagram showing the palm of a user on which the controller 10 is installed using the belt 11.
  • FIG. 3 is a view showing a side surface of a user's hand on which the controller 10 is installed using the belt 11.
  • FIG. 4 is a diagram showing a user wearing the AR glass 41 on the head and the controllers 42 and 43 on both hands, respectively.
  • FIG. 5 is a diagram showing a functional configuration example of the AR system 100.
  • FIG. 6 is a diagram showing a state in which AR glasses are attached to the user's head.
  • FIG. 7 is a diagram showing a configuration example of an AR system 700 including an AR glass 701 and a controller 702.
  • FIG. 7 is a diagram showing a configuration example of an AR system 700 including an AR glass 701 and a controller 702.
  • FIG. 8 is a diagram showing a configuration example of an AR system 800 including an AR glass 801, a controller 802, and an information terminal 803.
  • FIG. 9 is a diagram showing a specific configuration example of the controller 110.
  • FIG. 10 is a diagram showing a specific configuration example of the controller 110.
  • FIG. 11 is a diagram showing a specific configuration example of the controller 110.
  • FIG. 12 is a diagram showing an example of a functional configuration included in the control unit 140.
  • FIG. 13 is a diagram showing how virtual objects are arranged around the user.
  • FIG. 14 is a diagram for explaining a mechanism for displaying a virtual object so that the AR glass follows the movement of the user's head.
  • FIG. 15 is a diagram showing a state according to the distance between the user's hand and the virtual object.
  • FIG. 16 is a diagram showing how the user grips and operates the virtual object.
  • FIG. 17 is a diagram showing how the holding of the virtual object is executed when the position of the fingertip is on the surface of the virtual object.
  • FIG. 18 is a diagram showing how the virtual object is grasped when the thumb and the index finger come into contact with each other inside the virtual object.
  • FIG. 19 is a diagram showing a state in which a virtual gripping point is set at a position having a constant offset with respect to the controller 110 main body.
  • FIG. 20 is a diagram showing a specific example of the virtual gripping point.
  • FIG. 21 is a diagram showing a gripping flow of a virtual object using a virtual gripping point.
  • FIG. 22 is a diagram showing a gripping flow of a virtual object using a virtual gripping point.
  • FIG. 23 is a diagram showing a gripping flow of a virtual object using a virtual gripping point.
  • FIG. 24 is a diagram showing a gripping flow of a virtual object using a virtual gripping point.
  • FIG. 25 is a diagram showing a gripping flow of a virtual object using a virtual gripping point.
  • FIG. 26 is a diagram showing a gripping flow of a virtual object using a virtual gripping point.
  • FIG. 27 is a diagram showing the mode transition of the AR system 100.
  • FIG. 28 is a diagram showing the posture of the fingers in the gripping operation mode.
  • FIG. 29 is a diagram showing the posture of the fingers in the contact operation mode.
  • FIG. 30 is a diagram showing the behavior due to the contact between the hand and the virtual object.
  • FIG. 31 is a diagram showing the behavior due to the contact between the hand and the virtual object.
  • FIG. 32 is a diagram showing the posture of the fingers in the button operation mode.
  • FIG. 33 is a diagram showing the mode transition of the AR system 100.
  • FIG. 34 is a diagram showing a state in which a virtual pressing point is set on the fingertip in the button operation mode.
  • FIG. 35 is a diagram showing how the virtual button is pressed in the button operation mode.
  • FIG. 36 is a flowchart showing a processing procedure for determining the operation mode of the user.
  • FIG. 37 is a diagram showing a method of calibrating the virtual gripping point.
  • FIG. 38 is a diagram showing a method of calibrating the virtual gripping point.
  • FIG. 39 is a diagram showing a method of performing running calibration of the virtual gripping point.
  • FIG. 40 is a diagram showing a method of performing running calibration of a virtual gripping point.
  • FIG. 41 is a diagram showing a method of performing running calibration of the virtual gripping point.
  • FIG. 42 is a diagram showing a method of performing running calibration of the virtual gripping point.
  • FIG. 43 is a diagram showing a display example of a virtual gripping point.
  • FIG. 44 is a diagram showing a display example of a virtual gripping point.
  • FIG. 45 is a diagram showing a display example of a virtual gripping point.
  • A. System configuration In fields such as VR and AR, an input form in which a user who wears a head-mounted display and searches for a virtual space operates by holding a controller in his / her hand is known (see, for example, Patent Document 1). matter). However, it is preferable that the user can perform daily life in the real space such as walking and grasping an object (including a real object and a virtual object) while looking over the real space through the AR glass. Therefore, it is preferable that the fingers are not restrained by gripping the controller and the fingers can be used freely.
  • an input method that does not restrain the user's finger there is a method of detecting the movement of the user's hand from the image taken by the camera.
  • the bones of the user's fingers are extracted by an RGB camera or a ToF (Time Of Flight) camera attached to the AR glass outward, and the position and posture of the fingers and the gestures of the fingers are recognized.
  • the method of detecting the user's hand from the image of the camera has a problem of occlusion and a problem that it cannot be detected outside the angle of view of the camera.
  • a controller used for hand position detection, finger posture recognition, finger gesture recognition, etc. is installed in the user's hand, and an AR system is configured so that the fingers can be used freely. .. Further, in order to grasp a real object or a virtual object by using the hand on which the controller is installed, or to place the virtual object on the palm, it is preferable to keep the palm free. Therefore, it is preferable to install the controller on the back of the hand.
  • the finger gestures referred to here indicate, for example, whether the thumb and the fingertips of other fingers (index finger, etc.) are in contact with each other or separated from each other. Further, in the present embodiment, it is essential that the controller is equipped with a hand position detection function and a finger gesture recognition function, but it is not essential to equip the controller with a finger posture recognition function.
  • FIGS. 1 to 3 show an example in which the controller 10 is attached to the left hand of the user, the controller 10 having a symmetrical shape can also be attached to the right hand.
  • FIG. 4 shows how the user wears the AR glass 41 on the head and the controllers 42 and 43 on both hands, respectively.
  • each of the controllers 42 and 43 has the functions of hand position detection, finger posture recognition, and finger gesture recognition.
  • the AR glass 41 has a function of superimposing and displaying a virtual object in the real space.
  • the AR glass 41 can recognize the positions of the left and right hands, the postures of the fingers, and the gestures of the fingers through the controllers 42 and 43. Further, the AR glass 41 has a function of detecting the position and posture of the user's head. Therefore, the AR glass 41 can detect the relative positions of the user's head and the controllers 42 and 43, in other words, the relative positions of the user's left and right hands. Further, since the coordinate position of the virtual object displayed by the AR glass 41 in the real space is grasped, the relative position between the user's left and right hands and the virtual object can be detected.
  • FIG. 5 shows an example of the functional configuration of the AR system 100 including the AR glass and the controller installed on the back of the user's hand.
  • the illustrated AR system 100 comprehensively controls the operation of the controller 110 installed on the back of the user's hand, the head sensor unit 120, the display unit 131 for displaying virtual objects on the AR glass, and the entire AR system 100. It includes a control unit 140.
  • the controller 110 includes a hand position detection unit 111, a finger posture recognition unit 112, a finger gesture recognition unit 113, and a tactile feedback unit 114.
  • the head sensor unit 120 which is mounted on the AR glass, includes an outward camera 121, an inward camera 122, a microphone 123, a gyro sensor 124, an acceleration sensor 125, and a directional sensor 126.
  • an outward camera 121 an inward camera 122
  • a microphone 123 a microphone 123
  • a gyro sensor 124 an acceleration sensor 125
  • a directional sensor 126 a directional sensor 126.
  • FIG. 5 only one controller 110 is drawn for simplification of the drawing, but when the controller 110 is installed in each of the left and right hands of the user, the AR system 100 includes two controllers 110. ..
  • the AR system 100 may further include a speaker 132 that outputs an audio signal such as a voice related to a virtual object, and a communication unit 133 for the AR system 100 to communicate with the outside.
  • the control unit 140 may be equipped with a large-scale storage unit 150 including an SSD (Solid State Drive) or the like.
  • the AR glass body is generally a spectacle-type or goggle-type device, which is used by the user by wearing it on the head, superimposing digital information on the visual field of both eyes or one eye of the user, or emphasizing a specific real object. It can be degraded or attenuated, or a particular real object can be deleted to make it appear as if it does not exist.
  • FIG. 6 shows a state in which AR glasses are attached to the user's head.
  • a display unit 131 for the left eye and a display unit 131 for the right eye are arranged in front of the left and right eyes of the user, respectively.
  • the display unit 131 is transparent or translucent, and displays a virtual object superimposed on a predetermined position in the real space, emphasizes or attenuates a specific real object, or deletes the specific real object so that it does not exist as if it does not exist. I show it to you.
  • the left and right display units 131 may be independently displayed and driven, for example, to display a parallax image, that is, a virtual object in 3D.
  • an outward camera 121 directed toward the user's line of sight is arranged substantially in the center of the AR glass.
  • the AR system 100 can be composed of two devices, for example, an AR glass worn on the head of the user and a controller worn on the back of the user's hand. However, when the controllers are installed on the backs of the left and right hands of the user, the AR system 100 is composed of three devices, an AR glass and two controllers.
  • FIG. 7 shows a configuration example of an AR system 700 including an AR glass 701 and a controller 110.
  • the AR glass 701 includes a control unit 140, a storage unit 150, a head sensor unit 120, a display unit 131, a speaker 132, and a communication unit 133.
  • the controller 110 includes a hand position detection unit 111, a finger posture recognition unit 112, a finger gesture recognition unit 113, and a tactile feedback unit 114.
  • the AR system 100 is composed of three devices: an AR glass worn by the user on the head, a controller worn on the back of the user's hand, and an information terminal such as a smartphone or tablet.
  • FIG. 8 shows a configuration example of an AR system 800 including an AR glass 801, a controller 110, and an information terminal 803.
  • the AR glass 801 includes a display unit 131, a speaker 132, and a head sensor unit 120.
  • the controller 110 includes a hand position detection unit 111, a finger posture recognition unit 112, a finger gesture recognition unit 113, and a tactile feedback unit 114.
  • the information terminal 803 includes a control unit 140, a storage unit 150, and a communication unit 133.
  • the specific device configuration of the AR system 100 is not limited to FIGS. 7 and 8. Further, the AR system 100 may further include components other than those shown in FIG.
  • the controller 110 includes a hand position detection unit 111, a finger posture recognition unit 112, a finger gesture recognition unit 113, and a tactile feedback unit 114.
  • the hand position detection unit 111 detects the position of the user's hand.
  • the finger posture recognition unit 112 recognizes the posture of the user's fingers. In this embodiment, the finger posture recognition unit 112 is not essential.
  • the finger gesture recognition unit 113 recognizes whether the gesture of the finger, for example, the thumb and the fingertip of another finger (index finger, etc.) are in contact with each other or separated from each other.
  • the tactile feedback unit 114 is configured by arranging, for example, electromagnetic type or piezoelectric type vibrators in an array, and provides tactile feedback by presenting vibration to the back of the user's hand.
  • the tactile feedback unit 114 is provided in the controller 110 installed on the back of the user's hand, but the tactile feedback unit 114 is attached to one or more parts other than the back of the hand on the user's body to present vibration. It may be configured to do so.
  • the head sensor unit 120 is mounted on the AR glass, and includes an outward camera 121, an inward camera 122, a microphone 123, a gyro sensor 124, an acceleration sensor 125, and a directional sensor 126.
  • the outward-facing camera 121 is composed of, for example, an RGB camera, and is installed so as to photograph the outside of the AR glass, that is, the front direction of the user wearing the AR glass.
  • the outward camera 121 can capture the operation of the user's fingers, but when the user's fingers are hidden behind an obstacle, or when the fingertips are hidden by the back of the hand, the user has a hand behind the body. It is not possible to capture the operation of the user's fingers when turning.
  • the outward-facing camera 121 may further include any one of an IR camera and a ToF camera including an IR light emitting unit and an IR light receiving unit.
  • a retroreflective material is attached to an object to be captured such as the back of the hand, and the IR camera emits infrared light and emits infrared light reflected from the retroreflective material. Receive light.
  • the IR camera receives a marker that emits infrared light or a dot pattern of a plurality of IR light sources installed on the controller.
  • the image signal captured by the outward camera 121 is transferred to the control unit 140.
  • the microphone 123 may be a single sound collecting element or a microphone array including a plurality of sound collecting elements.
  • the microphone 123 collects the voice of the user wearing the AR glass and the ambient sound of the user.
  • the audio signal picked up by the microphone 123 is transferred to the control unit 140.
  • the gyro sensor 124, the acceleration sensor 125, and the azimuth sensor 126 may be composed of an IMU.
  • the sensor signals of the gyro sensor 124, the acceleration sensor 125, and the directional sensor 126 are transferred to the control unit 140.
  • the control unit 140 can detect the position and posture of the head of the user wearing the AR glasses based on these sensor signals.
  • the display unit 131 is composed of a transmissive display (glasses lens, etc.) installed in front of both eyes or one eye of the user wearing AR glasses, and is used for displaying a virtual space. Specifically, the display unit 131 expands the real space as seen by the user by displaying information (virtual objects) and emphasizing, attenuating, or deleting real objects. The display unit 131 performs a display operation based on a control signal from the control unit 140. Further, the mechanism for see-through display of virtual objects on the display unit 131 is not particularly limited.
  • the speaker 132 is composed of a single sounding element or an array of a plurality of sounding elements, and is installed in, for example, an AR glass.
  • the speaker 132 outputs the sound related to the virtual object displayed on the display unit 131, but other audio signals may be output.
  • the communication unit 133 has a wireless communication function such as Wi-Fi (registered trademark) or Bluetooth (registered trademark).
  • the communication unit 133 mainly performs a communication operation for realizing data exchange between the control unit 140 and an external system (not shown).
  • the control unit 140 is installed in the AR glass or is arranged in a device (smartphone or the like) separated from the AR glass together with a drive power source such as a storage unit 150 or a battery.
  • the control unit 140 executes various programs read from the storage unit 150 to perform various processes.
  • the controller 110 is an input device for the AR system 100 according to the present embodiment, which corresponds to a keyboard, mouse, touch panel, etc. in an OS such as Windows or Linux (registered trademark). As shown in FIGS. 1 to 3, the controller 110 is installed and used on the back of the user's hand. Therefore, the user can freely use the fingers without being restrained by the controller 110. For example, the user can grasp a real object or a virtual object by using the hand on which the controller 110 is installed, or place the virtual object on the palm.
  • OS such as Windows or Linux (registered trademark).
  • the controller 110 is a device that inputs to the AR system 100 based on the position of the user's hand, the posture of the fingers, and the posture of the fingers. Therefore, as shown in FIGS. 5, 7 and 8, the controller 110 includes a hand position detection unit 111, a finger posture recognition unit 112, and a hand gesture recognition unit 113.
  • the hand position detection unit 111 detects the position of the user's hand.
  • the finger posture recognition unit 112 recognizes the posture of the user's fingers.
  • the finger gesture recognition unit 113 recognizes whether the gesture of the finger, for example, the thumb and the fingertip of another finger (index finger, etc.) are in contact with each other or separated from each other.
  • the controller 110 includes a tactile feedback unit 114 that gives a tactile sensation to the back of the user's hand by presenting vibration.
  • a tactile feedback unit 114 that gives a tactile sensation to the back of the user's hand by presenting vibration.
  • FIG. 9 shows a configuration example of the hand position detection unit 111 and the hand gesture recognition unit 113.
  • the controller 110 is equipped with an arbitrary finger posture recognition unit 112 or is not equipped with the finger posture recognition unit 112, and the finger posture recognition unit 112 will not be described here.
  • the hand position detection unit 111 uses the IR detection method. That is, the hand position detection unit 111 is attached to a plurality of (4 in the example shown in FIG. 9) IR reflection markers 901 to 904 attached to the housing 10 of the controller 110 and the AR glass (or the head sensor unit 120). It is composed of a combination of provided IR cameras (not shown).
  • the IR camera includes an IR transmitting unit and an IR receiving unit. The IR signal output from the IR transmitting unit is reflected by each IR reflection marker 901 to 904, and the reflected IR signal is received by the IR receiving unit to receive IR reflection. The bright spots of the markers 901 to 904 can be detected.
  • the IR camera is preferably a stereo type having a plurality of IR receivers.
  • the finger gesture recognition unit 113 recognizes whether the gesture of the finger, for example, the thumb and the fingertip of another finger (index finger, etc.) are in contact with each other or separated from each other.
  • the finger gesture recognition unit 113 uses an electrode detection method. Electrodes 911 and 912 are attached to the fingertips of the user's thumb and index finger, respectively. Then, when the thumb and the index finger come into contact with each other, the electrode 911 and the electrode 912 are energized, so that the gesture of the thumb and the index finger can be recognized based on the energized state of the electrodes 911 and 912.
  • FIG. 10 shows another configuration example of the hand position detection unit 111, the finger posture recognition unit 112, and the finger gesture recognition unit 113.
  • the hand position detection unit 111 detects the position of the user's hand by combining the IR detection method and the IMU detection method.
  • IR detection method IR reflection signals of a plurality of IR reflection markers 1001, 1002, 1003, ... Attached to the housing 10 of the controller 110 are transmitted to an IR camera (or head sensor unit 120) provided on the AR glass (or head sensor unit 120). Captured with (not shown), the position and orientation of the user's hand is detected based on the bright spot position of each IR reflection marker.
  • the IMU detection method the position and orientation of the user's hand are detected based on the detection signal of the IMU (Inertial Measurement Unit) built in the main body 10 of the controller 110.
  • IMU Inertial Measurement Unit
  • the IMU includes a gyro sensor, an acceleration sensor, and a directional sensor.
  • the IR detection method is used, and when the controller 110 is out of the field of view of the IR camera (including the case where occlusion occurs), the IMU method is used.
  • the finger posture recognition unit 112 is composed of IMUs attached to several places of the user's fingers.
  • IMU1011, 1012, and 1013 are attached to the thumb and the base and middle phalanx of the index finger by bands 1021, 1022, and 1023, respectively.
  • the posture of the thumb, the posture of the proximal phalanx and the intermediate phalanx of the index finger (or the angle of the second joint of the index finger) can be measured based on the detection signals of each IMU1011, 1012, 1013.
  • another IMU may be attached to another place of the thumb and the index finger, or the IMU may be attached to a finger other than the thumb and the index finger.
  • the method of fixing the IMU to each finger is not limited to the band.
  • the finger gesture recognition unit 113 determines whether the finger gesture, for example, the thumb and the fingertips of another finger (index finger, etc.) are in contact with or separated from each other, in addition to the finger joint angle recognized by the finger posture recognition unit 112. recognize.
  • the hand gesture recognition unit 113 uses a capacitance detection method.
  • electrodes for detecting capacitance are installed at the tip of each finger, the intermediate phalanx and the palm, or the middle phalanx of the thumb and the intermediate phalanx of the index finger. ..
  • the finger posture recognition unit 112 can recognize the gesture of the thumb and the index finger by the change of the capacitance between the fingertips of the thumb and the index finger.
  • FIG. 11 shows still another configuration example of the hand position detection unit 111, the finger posture recognition unit 112, and the finger gesture recognition unit 113.
  • the hand position detection unit 111 and the hand gesture recognition unit 113 are configured in the same manner as in FIG. 10, the illustration and detailed description thereof will be omitted here, and the hand posture recognition unit 112 will be described.
  • the finger posture recognition unit 112 is composed of a ToF camera 1101 installed on the palm of the hand using the belt 11.
  • the ToF camera 1101 can capture five fingers by installing it at a wide angle, for example, near the wrist.
  • each finger can be bone-recognized based on the depth image from the ToF camera 1201 to acquire the posture of the finger.
  • Bone recognition may be used to recognize finger gestures such as the contact between the fingertips of the thumb and index finger, but in order to further improve the detection accuracy, the finger gestures are recognized using the capacitance detection method as described above. It is preferable to do so.
  • a capacitive contact sensor is placed near the center of the palm using a belt 11, each finger of the index finger, middle finger, ring finger, and little finger approaches or touches the palm, and these four fingers can be pressed. You can use it to recognize the gesture you are gripping.
  • the configuration of the hand position detection unit 111, the finger posture recognition unit 112, and the finger gesture recognition unit 113 equipped on the controller 110 is not necessarily limited to the above. If the position of the back of the hand can be detected with higher accuracy than the position of the fingers of the hand, a configuration other than the above can be applied to the controller 110. For example, in the case where the controller 110 alone can estimate the self-position by SLAM (Simultaneus Localization and Mapping), or in the finger recognition using the camera (RGB stereo camera, ToF camera, etc.) of the head sensor unit 120, the position of the hand.
  • the controller 110 may have a configuration other than the above-described configuration as long as it is configured to detect the above with high accuracy and robustly. Further, in any of the configurations shown in FIGS. 9 to 11, the controller 110 is equipped with a speaker for outputting sound, an LED (Light Emitting Diode) or a display for presenting the state and information of the controller. You may be.
  • the basic operation diagram 12 of the AR glass schematically shows an example of a functional configuration included in the control unit 140.
  • the control unit 140 includes an application execution unit 1201, a head position / posture acquisition unit 1202, an output control unit 1203, a hand position acquisition unit 1204, a finger posture acquisition unit 1205, and a finger gesture acquisition unit 1206. It has.
  • These functional modules are realized by executing various programs read from the storage unit 150 by the control unit 140.
  • FIG. 12 shows only the minimum necessary functional modules for realizing the present disclosure, and the control unit 140 may further include other functional modules.
  • the application execution unit 1201 executes the application program including the AR application under the execution environment provided by the OS.
  • the application execution unit 1201 may execute a plurality of application programs in parallel at the same time.
  • the AR application is an application such as video playback or a 3D object viewer, but the virtual object is superimposed or specified in the field of view of the user who wears the AR glass (see FIG. 6) on the head. Emphasizes or attenuates a real object in, or removes a particular real object to make it appear as if it doesn't exist.
  • the application execution unit 1201 also controls the display operation of the AR application (virtual object) by using the display unit 131.
  • the application execution unit 1201 also controls the user's gripping interaction with the virtual object based on the finger operation acquired through the controller 110. The details of the gripping operation of the virtual object will be described later.
  • FIG. 13 schematically shows how a plurality of virtual objects 1301, 1302, 1303, ... Are arranged around 1300 around a user wearing AR glasses on his / her head.
  • the application execution unit 1201 has each virtual object 1301, 1302, 1303 around the user with reference to the position of the user's head or the position of the center of gravity of the body estimated based on the sensor information from the head sensor unit 120. Place ...
  • the head position posture detection unit 1202 is based on the sensor signals of the gyro sensor 124, the acceleration sensor 125, and the orientation sensor 126 included in the head sensor unit 120 mounted on the AR glass, and the position of the user's head. It detects the posture and also recognizes the user's line-of-sight direction or visual field range.
  • the output control unit 1203 controls the output of the display unit 131, the speaker 132, and the tactile feedback unit 114 based on the execution result of the application program such as the AR application by the application execution unit 1201.
  • the output control unit 1203 specifies the user's visual field range based on the detection result of the head position / posture detection unit 1202 so that the virtual object arranged in the visual field range can be observed by the user through the AR glass. That is, the display operation of the virtual object is controlled by the display unit 131 so as to follow the movement of the user's head.
  • FIG. 14 A mechanism for displaying a virtual object so that the AR glass follows the movement of the user's head will be described with reference to FIG.
  • the depth direction of the user's line of sight is the z w axis
  • the horizontal direction is the y w axis
  • the vertical direction is the x w axis
  • the origin position of the user's reference axis x w y w z w is the user's viewpoint position. do.
  • Roll ⁇ z corresponds to the movement of the user's head around the z w axis
  • tilt ⁇ y corresponds to the movement of the user's head around the y w axis
  • pan ⁇ z corresponds to the movement of the user's head around the x w axis. ..
  • the head position / orientation detection unit 1202 moves the user's head in each of the roll, tilt, and pan directions ( ⁇ z , ⁇ y) based on the sensor signals of the gyro sensor 124, the acceleration sensor 125, and the orientation sensor 126. , ⁇ z ) and the translation of the head.
  • the output control unit 1203 moves the display angle of view of the display unit 131 in the real space (for example, see FIG. 13) in which the virtual object is arranged so as to follow the posture of the user's head.
  • the image of the virtual object existing at the display angle of view is displayed on the display unit 131.
  • the region 1402-1 is rotated according to the roll component of the user's head movement
  • the region 1402-2 is moved according to the tilt component of the user's head movement, or the user's head movement.
  • the area 1402-3 is moved according to the pan component of the above, and the display angle is moved so as to cancel the movement of the user's head. Therefore, since the virtual object arranged at the display angle of view moved according to the position and orientation of the user's head is displayed on the display unit 131, the user can see the virtual object superimposed on the AR glass. You can observe the space.
  • the hand position acquisition unit 1204, the finger posture acquisition unit 1205, and the hand gesture acquisition unit 1206 cooperate with the hand position detection unit 111, the finger posture recognition unit 112, and the finger gesture recognition unit 112 on the controller 110 side, respectively, to the user.
  • the position of the user's hand, the posture of the fingers, and the gesture performed by the fingers are determined based on the image recognition result of the image captured by the outward-facing camera 121. Information can be obtained.
  • an object can be held by a method such as pinching or grasping, and the shape of the object is changed by the force applied from the pinching or grasping hand.
  • a method such as pinching or grasping
  • the shape of the object is changed by the force applied from the pinching or grasping hand.
  • the hand slips through the object, so it is not possible to hold the object in the same manner as in real space.
  • UI user interface
  • a finger is thrust into an object in a virtual space and picked with a fingertip, or a frame provided on the outer periphery of the object is picked is also conceivable.
  • the present disclosure provides a method in which a user grips and operates a virtual object using the controller 110.
  • "Using the controller 110" means that the controller 110 uses the hand placed on the back of the hand. Therefore, the control unit 140 (or the application execution unit 1201 that controls the display of the virtual object) constantly acquires the position of the hand that grips and operates the virtual object, the gesture of the finger, and the position and posture of the finger through the controller 110. be able to.
  • the controller 110 installed on the back of the hand that performs the gripping operation of the virtual object is omitted, and the position of the hand, the gesture of the fingers, and the position and posture of the fingers are acquired by using the controller 110.
  • the description of the processing to be performed will be omitted.
  • FIG. 15 shows three states of “approach”, “contact”, and “entry”.
  • “Approach” is a state in which the shortest distance between the user's hand and the virtual object is equal to or less than a predetermined value.
  • Contact is a state in which the shortest distance between the user's hand and the virtual object is zero.
  • Embedding is a state in which the user's hand is interfering with the area of the virtual object.
  • FIG. 17 shows how the grip of the virtual object is executed when the position of the fingertip is on the surface of the virtual object 1701 by the first logic.
  • the virtual object 1701 does not actually exist, even if the user's fingertip touches the virtual object 1701, the reaction force is not obtained and the object is not restrained. Since the user's fingertips slip through the virtual object 1701, the user cannot obtain a realistic touch.
  • FIG. 18 shows a state in which the virtual object is grasped when the thumb and the index finger come into contact with each other inside the virtual object 1801 by the second logic.
  • the virtual object 1801 can be recognized by the user's own tactile sensation. If the user recognizes that the state in which the movement of the fingertip is restrained by the contact is the state in which the virtual object 1801 is gripped, the user can easily recognize the change from the gripped state to the state in which the virtual object 1801 is released.
  • the second gripping logic is superior to the first gripping operation logic in terms of judgment and reality of gripping a virtual object.
  • the present disclosure presupposes a second gripping logic. Further, according to the second gripping logic, it is possible to realize the gripping operation of the virtual object even if the controller 110 is not equipped with the finger posture recognition unit 112.
  • the "virtual gripping point" is set.
  • the virtual gripping point is a position where the fingertips used for gripping are expected to come into contact with each other when performing the gripping operation at the current hand position.
  • the virtual grip point is set at a position having a certain offset with respect to the user's hand.
  • the position of the user's hand can be detected by the hand position detecting unit 111 of the controller 110 installed on the back of the hand.
  • the hand position detecting unit 111 detects the position of the controller 110 main body which is substantially equal to the position of the back of the hand.
  • the virtual gripping point may be a position having a constant offset with respect to the controller 110 main body instead of the user's hand.
  • FIG. 19 shows a state in which the virtual gripping point 1901 is set at a position having a certain offset in the position coordinates of the controller 110 main body.
  • the virtual gripping point is, for example, as shown in FIG. 20, at the position of the user's hand detected by using the controller 110, the position where the fingertips of the thumb and the index finger come into contact with each other, in other words, the object using the thumb and the index finger. It is set to the position 2001 to pick up.
  • the present disclosure is based on the positional relationship between the virtual gripping point set at a position having a certain offset with respect to the user's hand and the virtual object displayed by the AR glass, and the gesture of the user's hand. Perform a gripping interaction with.
  • the gesture of the user's finger is specifically a gripping operation on a virtual object.
  • the gesture of the user's finger can be acquired by the finger gesture recognition unit 113 in the controller 110 installed on the back of the hand, as described above.
  • accurate information may not be obtained due to problems of occlusion and accuracy.
  • the controller 110 installed on the back of the hand the position of the hand and the gesture of the fingers can be accurately detected and recognized. Therefore, according to the present disclosure, the positional relationship between the virtual gripping point and the virtual object can be accurately detected, and the gripping operation by the fingertip can be accurately recognized, so that the virtual object is intuitive and does not cause discomfort. Gripping interaction can be realized.
  • FIGS. 21 to 26 show the gripping flow of virtual objects using virtual gripping points in order.
  • the desk may be either a real object or a virtual object.
  • the virtual object grasping flow shown in FIGS. 21 to 26 is performed by the application execution unit 1201 based on the information of the user's hand position and finger gesture acquired through the controller 110, and follows the user's virtual object grasping operation.
  • the display of virtual objects shall also be switched.
  • a virtual gripping point is set at a position having a certain offset with respect to the user's hand.
  • the virtual gripping point is set at a position where the fingertips of the thumb and the index finger come into contact with each other when the user's hand is in the current position, that is, a position where the thumb and the index finger are used to pinch the object.
  • a marker indicating the virtual gripping point may be displayed on the AR glass so that the user can visually understand the set virtual gripping point. The user can observe the virtual object and the virtual gripping point set in the hand trying to grip the virtual object through the AR glass.
  • the virtual gripping point may be set or the virtual gripping point may be displayed only when the user's hand approaches the virtual object to be gripped. ..
  • a predetermined value may be, for example, 50 cm.
  • the virtual gripping point invades the gripping detection area as shown in FIG. 22.
  • the grip detection area is the same as the virtual object.
  • the display of the virtual object is changed at the timing when the virtual grip point enters the grip detection area.
  • the method of changing the display of the virtual object at the timing when the virtual grip point enters the grip detection area is arbitrary. In the example shown in FIG. 22, an aura is generated around the virtual object.
  • a notification sound is emitted from the speaker 132 in accordance with the display of the aura or instead of the display of the aura, or the tactile feedback unit 114 is used in the user's hand. Tactile feedback may be returned.
  • the user can observe the virtual object and the aura around it through the AR glass.
  • the user can recognize that the virtual object can be grasped by performing the grasping operation as it is because the aura is generated in the virtual object to be grasped.
  • Operations such as aura display, notification sound, and tactile feedback at the timing when the virtual grip point enters the grip detection area are similar to mouse over when the mouse pointer is placed on the object displayed on the OS screen.
  • the virtual object When the user releases the gripping operation of the virtual object by releasing the fingertips of the thumb and index finger, the virtual object can move freely without being restricted in the relative position / posture relationship with the user's hand. For example, when the user releases the gripping operation of the virtual object in the state shown in FIG. 25, the virtual object falls due to gravity as shown in FIG. 26. In addition, when the gripping operation is released, the virtual object is also released from the aura and highlight display.
  • FIGS. 19 to 26 have been described as a point where the position where the fingertips used for gripping are expected to come into contact does not have a region, that is, a "virtual gripping point".
  • the position where the fingertips used for gripping are expected to come into contact with each other may be a sphere having a region volume, and in this case, it may be called a "virtual gripping region" instead of a "virtual gripping point”. ..
  • the application execution unit 1201 can switch the operation mode based on the posture of the user's finger acquired through the controller 110. Further, when switching the operation mode, it is premised that the controller 110 is equipped with the finger posture recognition unit 112.
  • FIG. 27 shows a mode transition diagram of the AR system 100 having a two-mode configuration of a grip operation mode and a contact operation mode.
  • the grip operation mode is an operation mode in which the user is trying to grip a virtual object.
  • the application execution unit 1201 can switch the AR system 100 to the gripping operation mode based on the postures of the user's thumb and index finger acquired through the controller 110.
  • the application execution unit 1201 performs the following UI operation using the AR glass as described in the above section D.
  • a virtual gripping point is set at a position having a certain offset with respect to the user's hand (see FIG. 21).
  • the position of the virtual gripping point may be displayed on the AR glass.
  • the display of the virtual object is switched to notify the user of the intrusion timing (see FIG. 22).
  • the gripping process is performed.
  • the display of the virtual object in the gripped state is switched to notify the user that the virtual object is in the gripped state (see FIG. 23).
  • the relative position-posture relationship between the user's hand and the virtual object is maintained.
  • the position and orientation of the virtual object are changed according to the movement of the user's hand (see FIGS. 24 and 25). (5) When the user releases the gripping operation, the constraint on the relative positional relationship between the virtual object and the user's hand is released, and the virtual object is put into a state in which it can move freely (see FIG. 26).
  • the contact operation mode is an operation mode in which the user does not try to grasp the virtual object.
  • the contact operation mode since the user does not try to grasp the virtual object using the thumb and the index finger, the fingertips of the thumb and the forefinger are separated as shown in FIG. 29, for example.
  • the application execution unit 1201 can switch the AR system 100 to the contact operation mode based on the postures of the user's thumb and index finger acquired through the controller 110.
  • the application execution unit 1201 sets, for example, a contact determination element called a collider on the fingers, palm, and back of the user's hand.
  • a contact determination element called a collider on the fingers, palm, and back of the user's hand.
  • the collider may be displayed in AR glasses.
  • the behavior of the contact between the hand and the virtual object is the movement, repelling, and reception of the virtual object due to the contact, and the same behavior as the contact behavior in the real space is realized.
  • the virtual gripping point and the gripping detection area are not set.
  • FIG. 30 shows a state in which the user is pressing the virtual object 3001 with a fingertip as an example of the behavior due to the contact between the hand and the virtual object. Since the virtual object 3001 does not actually exist, the fingertip slips through. However, the application execution unit 1201 sets a collider for contact determination on the fingertip, so that the virtual object 3001 can be moved from the user's fingertip as shown in FIG. It is possible to realize the behavior of moving by receiving a pushing force. Further, FIG. 31 shows, as another example, a state in which the virtual object 3101 is placed on the palm. Since the virtual object 3101 does not actually exist, it slips through the palm and falls. However, the application execution unit 1201 sets a collider for contact determination on the palm, so that the virtual object 3101 can be moved from the palm as shown in FIG. 31. By receiving the reaction force, it is possible to realize the behavior of staying on the palm without falling.
  • the gripping operation mode and the contact operation mode are clearly separated as shown in FIG. 27 for the interaction by the user's fingers.
  • the virtual gripping point in the gripping operation mode is deactivated, and instead the collider for contact determination in the contacting operation mode is activated. ..
  • the position offset of the virtual gripping point can be used as the position of the collider for determining the contact of the fingertip.
  • local attitude information of the virtual fingertip position is also important.
  • various operation modes in which the user manually operates the virtual object can be further defined. Then, the operation mode can be switched based on the posture of the fingers recognized through the controller 110.
  • FIG. 33 shows a mode transition diagram of the AR system 100 having a three-mode configuration in which a button operation mode is added to the grip operation mode and the contact operation mode.
  • the application execution unit 1201 can switch the AR system 100 to the button operation mode when the posture of sticking out the index finger is acquired through the controller 110.
  • the application execution unit 1201 performs the following UI operations using the AR glass.
  • a virtual pressing point is set at the fingertip position of the index finger (see FIG. 34), and the virtual button can be operated.
  • the position of the virtual pressing point may be displayed on the AR glass.
  • the application execution unit 1201 can recognize that the index finger touches the virtual button under certain conditions through the controller 110. Then, the application execution unit 1201 activates the process assigned to the virtual button based on the recognition result.
  • a certain condition imposed on the contact operation of the virtual button is, for example, that the virtual pressing point is touched by the virtual button from the direction in which the inclination of the virtual button from the normal direction falls within an error of ⁇ 45 degrees. ..
  • this condition erroneous operations such as the virtual button being grasped in a form corresponding to the grip operation mode or being moved in a form corresponding to the contact operation mode are unlikely to occur, and it can only be operated as a UI element called a button. It is possible. That is, by imposing this condition, the finger gesture of the operation of pressing the virtual button in the button operation mode is contacted with the finger gesture for the operation of picking the virtual object in the grip operation mode or the virtual object in the contact operation mode. It can be accurately distinguished from the finger gestures of. In short, certain conditions are set in the button operation mode so as not to be confused with an unintended button operation or an operation of moving the virtual button itself.
  • the operation mode of interaction with a virtual object can be determined according to the posture of the finger.
  • the operation mode can be determined by using the information on the degree of opening of the fingers and the distance between the fingertips.
  • the specific method for determining the operation mode is as follows.
  • the gripping operation mode is determined.
  • the proximal phalanx of the index finger is opened by a certain angle or more, and the distance between the fingertip positions of the middle finger, ring finger, and little finger and the palm is within a certain distance. Judged as button operation mode.
  • the contact operation mode is determined.
  • FIG. 36 shows a processing procedure for determining the operation mode of the user in the form of a flowchart. This processing procedure is executed by the application execution unit 1201 based on the posture of the fingers obtained through the controller 110 installed on the back of the user's hand.
  • the application execution unit 1201 first checks whether the distance between the fingertips of the thumb and the index finger is equal to or less than the predetermined value d (step S3601). Then, if the distance between the fingertips of the thumb and the index finger is equal to or less than the predetermined value d (Yes in step S3601), then it is further checked whether or not the deviation of the directions of the tips (end nodes) of both fingers is within a certain value. (Step S3602).
  • step S3601 when the distance between the fingertips of the thumb and the index finger is equal to or less than the predetermined value d (Yes in step S3601) and the deviation of the directions of the tips (end nodes) of both fingers is within a certain value (step S3602). Yes), it is determined that the gripping operation mode is set.
  • the application execution unit 1201 determines that the gripping operation mode is set, the application execution unit 1201 sets a virtual gripping point at a position having a certain offset with respect to the controller 110 main body. Then, the AR glass may be used to present the virtual gripping point to the user.
  • the application execution unit 1201 further checks whether or not the proximal phalanx of the index finger is opened by a certain angle or more (step S3603). Then, when the proximal phalanx of the index finger is opened by a certain angle or more (Yes in step S3603), then it is checked whether the distance between the fingertip positions of the middle finger, ring finger, and little finger and the palm is within a certain distance (Yes). Step S3604).
  • step S3603 When the proximal phalanx of the index finger is opened by a certain angle or more (Yes in step S3603) and the distance between the fingertip positions of the middle finger, ring finger, and little finger and the palm is within a certain distance (step S3604). Yes), the application execution unit 1201 determines that the button operation mode is set.
  • the application execution unit 1201 determines that the button operation mode is set, the application execution unit 1201 sets a virtual pressing point at the fingertip position of the index finger. Then, the virtual pressing point may be presented to the user using the AR glass.
  • the application execution unit 1201 determines that the contact operation mode is set.
  • the collider When the application execution unit 1201 determines that the contact operation mode is set, the collider is set on the finger, palm, and back of the user's hand. Then, the collider may be presented to the user using the AR glass.
  • the distance between the tip of the thumb and the index finger is a predetermined value d or less, which is an indispensable condition for the grip operation mode. ..
  • the space between the fingertips exceeds a predetermined value d due to the size of the virtual object, which is close to the contact operation mode. It can occur in the posture of the fingers.
  • the application execution unit 1201 may determine the operation mode different from the user's intention based on the posture of the fingers obtained through the controller 110.
  • the user may directly instruct the AR system 100 of an intended operation mode such as a "grasping operation mode" by utterance.
  • the application execution unit 1201 may switch from the operation mode once determined based on the utterance content input from the microphone 123 to the operation mode directly instructed by the user.
  • the user may directly instruct the switching of the operation mode by utterance.
  • any one of the plurality of operation modes is selectively determined.
  • the mode transition diagrams shown in FIGS. 27 and 33 are based on the premise that the AR system 100 sets any one of the operation modes. As a modified example, it is conceivable to control a virtual object by coexisting a plurality of operation modes.
  • the virtual object moves and approaches the user's hand
  • a collider is set on the finger, palm, and back of the user's hand as in the contact operation mode, and the virtual object is used. It is possible to place a virtual object on the palm of the hand based on the positional relationship with the user's hand.
  • the behavior when the operation by the user's hand is performed is individually set for each virtual object.
  • the interaction between the user's hand and the virtual object may be realized.
  • the behavior for user operations for each virtual object may be set according to the shape, size, category, and the like. For example, a small and light virtual object can be gripped and touched by the user, but a large and heavy virtual object such as a desk cannot be gripped or touched by the user ( In other words, the gripping operation and the contact operation cannot be performed). Further, different behaviors for user operations may be set for the same virtual object for each operation mode.
  • E-7 Coexistence of a plurality of operation modes
  • data such as the distance between fingertips is near the threshold value, and it is difficult to determine the mode. Can occur.
  • two or more operation modes that are difficult to determine may coexist at the same time.
  • the application execution unit 1201 sets the virtual gripping point at a position having a certain offset with respect to the back of the hand, and sets the virtual pressing point at the fingertip position of the index finger.
  • the application execution unit 1201 does not change the virtual space even if the virtual gripping point collides with the virtual button.
  • the application execution unit 1201 activates the operation of the virtual button when the virtual button pressing operation that the virtual pressing point touches the virtual button is performed.
  • the application execution unit 1201 operates the user based on the posture of the fingers. It is possible to determine the mode and perform user operations on the virtual object for each operation mode.
  • the application execution unit 1201 performs a gripping operation of the virtual object using the virtual gripping points as shown in FIGS. 20 to 26. be able to.
  • the controller 110 is equipped with a finger gesture recognition unit 113 such as fingertip contact recognition as shown in FIG.
  • the user attaches the controller 110 to the back of the hand, as a calibration for setting the position of the virtual gripping point, the user is instructed to set the position of the fingertip when performing the gripping operation, and the position is recorded. You may do so.
  • the virtual gripping point is calibrated by a method different from the above. For example, it acquires physical information such as the size, gender, and height of the user's hand, estimates the size of the user's hand based on the physical information, and has a position with a certain offset based on the estimated hand size.
  • the virtual gripping point may be set in.
  • the user's physical information may be input to the AR system 100 using the user's speech or other input device, but is obtained through the head sensor unit 120 or the like when the user wears the AR glass.
  • the user's physical information may be inferred based on the spatial position information.
  • the virtual grip point set based on the hand size estimated from the user's physical information will be There is concern that it will not be accurate.
  • the virtual gripping point is a position where the fingertips used for gripping are expected to come into contact with each other, and should be originally set at a position having a certain offset with respect to the user's hand. It is set at a position having a certain offset with respect to the controller 110 main body. Therefore, the virtual gripping point also changes depending on the position when the controller 110 is attached to the back of the hand. For example, each time the controller 110 is attached, the offset of the virtual gripping point with respect to the user's hand changes.
  • the hand position detection unit 111 is used to detect the hand position information that can be accurately detected, and virtualize it. A method of calibrating the gripping point is effective.
  • FIG. 37 shows a method of calibrating the virtual gripping point based on the hand position information detected by the hand position detecting unit 111 of the controller 110.
  • calibration is performed using two controllers 110R and 110L mounted on the backs of the right and left hands of the user, respectively.
  • the finger posture referred to here is a posture in which the thumb of the right hand and the fingertips of other fingers (index finger, etc.) are brought into contact with each other at a specific position of the controller 110L main body attached to the back of the left hand.
  • the application execution unit 1201 may display a guide instruction on the AR glass so that the user can guide the user to the finger posture as shown in FIG. 37.
  • the right hand position and the left hand position detected by the controllers 110R and 110L are recorded.
  • the relative position information of the two controllers 110R and 110L is used.
  • the position of the virtual gripping point of the right hand having a certain offset with respect to the controller 110R main body mounted on the back of the right hand can be directly obtained.
  • the virtual gripping point of the right hand can be obtained based on the offset amount of the specific position of the controller 110L with respect to the position of the controller 110R main body.
  • FIG. 37 shows an example of calibrating the virtual gripping point of the right hand.
  • When calibrating the virtual grip point of the left hand flip the left and right to instruct the user to take the finger posture of the left hand, and calculate the virtual grip point of the left hand in the same manner as above. do it.
  • the position of the virtual grip point calculated with the right hand is flipped left and right, and the position of the virtual grip point of the left hand is set so that the calibration can be performed only once. May be good.
  • the winding length of the belt 11 is detected by a sensor.
  • a method of obtaining information on the circumference of the hand, estimating the length of the finger corresponding to the circumference, and calculating the offset distance of the virtual gripping point with respect to the main body of the controller 10 is also conceivable.
  • FIG. 39 shows a state in which the virtual gripping point 3902 is erroneously set at a position farther from the fingertip than the position of the virtual gripping point 3901 which should be originally.
  • an aura is generated around the virtual object at the timing when the virtual gripping point 3902 set at a distant position by mistake enters the gripping detection area. Then, the user tries to grip the virtual object by aiming at the virtual grip point 3902 that is mistakenly set at a distant position. Therefore, as shown in FIG. 41, the user picks the virtual object at a position deviated from the center of the virtual object. I will try. As a result, the operation of grasping the virtual object observed by the user through the AR glass becomes an unnatural image and an unrealistic image.
  • the application execution unit 1201 corrects the offset amount of the virtual grip point with respect to the controller 110 body based on the relative positional relationship between the position where the virtual object is arranged and the contact position between the fingertips acquired through the controller 110. It may be detected and running calibration may be performed.
  • the virtual gripping point When using the controller 110 that is not equipped with the finger posture recognition unit, the virtual gripping point is set to an incorrect position, so that gripping occurs continuously outside the range of the virtual object or in a place far from the center of the virtual object. Due to the tendency of such an erroneous gripping operation, the application execution unit 1201 assumes that the virtual gripping point is set to an erroneous position, and virtually grips the virtual object at the center position where the grip is supposed to be performed. Running calibration of the virtual gripping point position is performed by performing a process such as gradually bringing the points closer to each other.
  • the virtual gripping point is a position where the fingertips used for gripping are expected to come into contact with each other when performing the gripping operation at the current hand position (described above).
  • the virtual object can be gripped with the virtual gripping point located near the center.
  • the application execution unit 1201 assumes that the virtual gripping point is set to the wrong position due to the tendency of the wrong gripping operation, and the virtual gripping point is located at the center position of the virtual object that should be gripped.
  • the running calibration of the virtual gripping point position is performed by performing a process such as gradually approaching the position of. When the running calibration is performed, the user can perform a normal and realistic gripping operation of the virtual object as shown in FIGS. 21 to 26.
  • the virtual gripping point is set to a position where the fingertips used for gripping are expected to come into contact with each other when the gripping operation is performed at the current hand position (or in the gripping operation mode).
  • Set In the gripping flow of the virtual object (see, for example, FIGS. 21 to 26), if the marker indicating the virtual gripping point is displayed on the AR glass, the user can see the virtual gripping point collide with the virtual object. You can recognize that you are in a state of being.
  • the hit area defined in the virtual object does not have to match the apparent size of the virtual object, for example, the hit area is set to 1 than the size of the virtual object. It may be set relatively large.
  • the virtual gripping point may be treated as a "virtual gripping area" such as a sphere having a region volume instead of a point having no region, and the size of this region may be controlled.
  • a virtual gripping area such as a sphere having a region volume instead of a point having no region
  • the AR system 100 displays the virtual gripping point 4301 at a position having a certain offset with respect to the back of the hand as shown in FIG. 43 in the gripping operation mode.
  • the controller 110 is omitted for simplification.
  • FIG. 45 shows an example in which the visibility is improved by changing the virtual gripping point 4501 from a “point” to a “cross”. Even if the position of the virtual grip point 4501 itself is hidden by the occlusion by the hand, the user can understand that the virtual grip point 4501 is at the position where the crosses intersect.
  • the application execution unit 1201 detects the occlusion of the virtual grip point by the hand based on the position of the hand acquired through the controller, or detects the occlusion of the virtual grip point by the hand based on the image taken by the outward camera 121, it is virtual.
  • the method of displaying the gripping point may be switched.
  • the virtual gripping point is displayed in the same color as the nearby (for example, trying to grip) virtual object, it will be difficult to see. Therefore, the visibility may be improved by displaying the virtual gripping points using the complementary colors of other virtual objects.
  • the collider or the virtual push point is displayed using the complementary colors of the target virtual object or virtual button. If this is done, the visibility will be improved.
  • the AR system 100 detects the position of the controller installed on the back of the user's hand, sets a virtual grip point at a position with a certain offset from the position, and sets a virtual grip point to the virtual object with the virtual grip point. It is configured to perform gripping interaction based on the positional relationship and the contact state between the fingertips trying to grip the virtual object. Even when the finger position cannot be detected accurately due to problems such as occlusion or detection accuracy, it is possible to realize intuitive and comfortable gripping interaction of virtual objects by the user based on the position and orientation information of the controller. can.
  • the AR system 100 is configured to switch the operation mode performed by the user's fingers on the virtual object based on the posture information of the fingers acquired through the controller.
  • the operation mode includes a grip operation mode in which the virtual object is gripped by contact between fingertips, and a contact operation mode in which the virtual object is touched with the palm or fingertip. Therefore, the user can easily and intuitively perform a plurality of operations for grasping and touching the same virtual object without assisting with a UI or the like.
  • the AR system 100 includes switching to a button operation mode in which a virtual button is pressed with a fingertip in addition to the grip operation mode and the contact operation mode, based on the posture information of the fingers acquired through the controller. It is configured to switch modes. Therefore, the user can intuitively switch between the three operation modes without any load, and can smoothly realize the intended operation of the virtual object. In addition, it is possible to prevent the user from invoking the operation of pressing the virtual button unintentionally.
  • the AR system 100 is configured to calibrate the position of the virtual gripping point based on the position information of the hand acquired through the controller. There are individual differences in the size of the user's hand, and it is assumed that the position of the controller with respect to the back of the hand changes each time the controller is installed on the back of the hand. Therefore, the offset of the virtual gripping point with respect to the position of the controller varies depending on individual differences and the installation position of the controller. According to the AR system 100 according to the present disclosure, it is possible to correct to an accurate virtual gripping point by calibration, so that each user performs an appropriate gripping operation of a virtual object when the controller is installed on the back of the hand. Can be done.
  • the virtual gripping point with respect to the back of the hand is based on the contact position between the fingertips and the amount of deviation of the virtual gripping point when the user performs the gripping operation of the virtual object in the gripping operation mode. It is configured to calculate the correction value of the offset amount and dynamically calibrate the position of the virtual gripping point. Therefore, while the user performs the gripping operation of the virtual object, the discrepancy between the contact position between the fingertips and the position of the virtual gripping point is naturally resolved.
  • the AR system 100 can display the virtual gripping point using the AR glass to support the user's gripping operation of the virtual object. Further, the AR system 100 according to the present disclosure displays a collider for contact determination on the palm or fingertip in the contact operation mode, and displays a virtual pressing point on the fingertip that presses the virtual button in the button operation mode. It is possible to assist the user in operating the virtual object for each operation mode.
  • the AR system 100 is configured to change the display method of the virtual gripping point in a situation where the visibility of the virtual gripping point is impaired by the occlusion of the virtual gripping point and the user's hand in the gripping operation mode. Has been done. Therefore, even if an occlusion of the virtual grip point occurs by hand, the visibility of the virtual grip point is ensured by changing the display method, so that the user can easily grasp the position of the virtual grip point and prepare the virtual object.
  • the gripping operation can be performed.
  • the present specification has mainly described the embodiment in which the interaction between the fingertip and the virtual object according to the present disclosure is applied to the AR system
  • the gist of the present disclosure is not limited to this.
  • the present disclosure can be similarly applied to a VR system that perceives a virtual space as reality, an MR system that intersects reality and virtual, and the like, and interaction between a fingertip and a virtual object can be realized.
  • the technology disclosed in this specification can also have the following configuration.
  • An acquisition unit that acquires the position of the user's hand and gestures of the fingers
  • a control unit that controls the display operation of a display device that superimposes and displays virtual objects in real space, Equipped with The control unit sets a virtual gripping point at a position having a certain offset with respect to the hand, and displays the gripping operation of the virtual object based on the positional relationship between the virtual gripping point and the virtual object and the contact state between the fingertips. Control the display device so as to Information processing device.
  • the acquisition unit acquires the position of the hand and the gesture of the fingers based on the sensor information from the sensor attached to the back of the hand.
  • the information processing device according to (1) above.
  • the acquisition unit further acquires the posture of the user's fingers.
  • the control unit controls the switching of the operation mode performed by the user's fingers on the virtual object based on the posture information of the fingers.
  • the information processing device according to any one of (1) and (2) above.
  • the control unit controls mode switching between a gripping operation mode in which the virtual object is gripped by contact between fingertips and a contact operation mode in which the virtual object is touched by the palm or fingertips.
  • the control unit further controls mode switching to the button operation mode in which the virtual button is pressed with a fingertip.
  • the control unit determines the operation mode by using the information on the opening degree of the fingers or the distance between the fingertips.
  • the information processing device according to any one of (3) to (5) above.
  • the control unit calibrates the position of the virtual gripping point based on the position of the hand acquired by the acquisition unit.
  • the information processing device according to any one of (1) to (6) above.
  • the control unit calculates a correction value of the offset amount of the virtual gripping point with respect to the hand based on the contact position between the fingertips and the deviation amount of the virtual gripping point when the user performs the gripping operation of the virtual object. Then, calibrate the position of the virtual gripping point.
  • the information processing device according to any one of (1) to (7) above.
  • the control unit controls the display of the virtual gripping point by the display device.
  • the information processing device according to any one of (1) to (8) above.
  • the control unit controls the display device so as to change the display method of the virtual grip point in a situation where the visibility of the virtual grip point is impaired by the occlusion of the virtual grip point and the user's hand.
  • the information processing device according to (9) above.
  • a virtual gripping point is set at a position having a certain offset with respect to the hand, and the gripping operation of the virtual object is displayed based on the positional relationship between the virtual gripping point and the virtual object and the contact state between the fingertips.
  • An acquisition unit that acquires the position of the user's hand and the gesture of the finger.
  • a control unit that controls the display operation of a display device that superimposes and displays virtual objects in real space.
  • the control unit sets a virtual gripping point at a position having a certain offset with respect to the hand, and displays the gripping operation of the virtual object based on the positional relationship between the virtual gripping point and the virtual object and the contact state between the fingertips. Control the display device so as to Computer program.
  • a display device that superimposes and displays virtual objects in real space
  • An acquisition unit that acquires the position of the user's hand and gestures of the fingers
  • a control unit that controls the display operation of the display device, Equipped with The control unit sets a virtual gripping point at a position having a certain offset with respect to the hand, and displays the gripping operation of the virtual object based on the positional relationship between the virtual gripping point and the virtual object and the contact state between the fingertips. Control the display device so as to Augmented reality system.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computer Hardware Design (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

拡張現実に関する情報を処理する情報処理装置を提供する。 情報処理装置は、ユーザの手の位置と手指のジェスチャを取得する取得部と、実空間に仮想オブジェクトを重畳表示する表示装置の表示動作を制御する制御部を具備し、前記制御部は、手に対して一定のオフセットを持った位置に仮想把持点を設定し、仮想把持点と仮想オブジェクトの位置関係と指先同士の接触状態に基づいて、仮想オブジェクトの把持動作を表示するように前記表示装置を制御する。

Description

情報処理装置及び情報処理方法、コンピュータプログラム、並びに拡張現実感システム
 本明細書で開示する技術(以下、「本開示」とする)は、拡張現実に関する情報を処理する情報処理装置及び情報処理方法、コンピュータプログラム、並びに拡張現実感システムに関する。
 臨場感のある体験を実現する技術として、仮想現実(Virtual Reality:VR)や拡張現実(Augmented Reality:AR)、MR(Mixed Reality)が普及してきている。VRは仮想空間を現実として知覚させる技術である。また、ARは、ユーザを取り巻く現実環境に情報を付加したり、強調又は減衰、削除したりして、ユーザから見た実空間を拡張させる技術である。また、MRは、例えば、実空間の物体に置き換わる仮想的な物体(以下、「仮想オブジェクト」とも言う)を表示して、現実と仮想を交錯させる技術である。ARやMRは、例えばシースルー型のヘッドマウントディスプレイ(以下、「ARグラス」とも呼ぶ)を用いて実現される。AR技術によれば、ユーザがARグラス越しに観察する実空間の風景に仮想オブジェクトを重畳表示したり、特定の実オブジェクトを強調し又は減衰したり、特定の実オブジェクトを削除してあたかも存在しないように見せたりすることができる。
 WindowsやLinux(登録商標)などのOS(Operating System)では、キーボードやマウス、タッチパネルなどの入力装置を介して起動中のアプリケーションに対する操作が行われる。一方、VRやARなどの分野では、ヘッドマウントディスプレイを装着して仮想空間を探索するユーザが、コントローラを手に持って操作するという入力形態が知られている(例えば、特許文献1を参照のこと)。
特開2019-46291号公報
 本開示の目的は、拡張現実に関する情報を処理する情報処理装置及び情報処理方法、コンピュータプログラム、並びに拡張現実感システムを提供することにある。
 本開示の第1の側面は、
 ユーザの手の位置と手指のジェスチャを取得する取得部と、
 実空間に仮想オブジェクトを重畳表示する表示装置の表示動作を制御する制御部と、
を具備し、
 前記制御部は、手に対して一定のオフセットを持った位置に仮想把持点を設定し、仮想把持点と仮想オブジェクトの位置関係と指先同士の接触状態に基づいて、仮想オブジェクトの把持動作を表示するように前記表示装置を制御する、情報処理装置である。
 前記取得部は、前記手の甲に取り付けられたセンサからのセンサ情報に基づいて前記手の位置と手指のジェスチャを取得し、又は、前記手の甲に取り付けられたセンサを備える。
 前記取得部は、ユーザの手指の姿勢をさらに取得し、
 前記制御部は、手指の姿勢情報に基づいて、指先同士の接触によって仮想オブジェクトを把持する把持操作モードと、手のひら又は指先で仮想オブジェクトに接触する接触操作モードへのモード切り替えを制御する。また、前記制御部は、指先で仮想ボタンを押すボタン操作モードへのモード切り替えをさらに制御する。
 また、本開示の第2の側面は、
 ユーザの手の位置と手指のジェスチャを取得する取得ステップと、
 実空間に仮想オブジェクトを重畳表示する表示装置の表示動作を制御する制御ステップと、
を有し、
 前記制御ステップでは、手に対して一定のオフセットを持った位置に仮想把持点を設定し、仮想把持点と仮想オブジェクトの位置関係と指先同士の接触状態に基づいて、仮想オブジェクトの把持動作を表示するように前記表示装置を制御する、情報処理方法である。
 また、本開示の第3の側面は、
 ユーザの手の位置と手指のジェスチャを取得する取得部、
 実空間に仮想オブジェクトを重畳表示する表示装置の表示動作を制御する制御部、
としてコンピュータが機能するようにコンピュータ可読形式で記述され、
 前記制御部は、手に対して一定のオフセットを持った位置に仮想把持点を設定し、仮想把持点と仮想オブジェクトの位置関係と指先同士の接触状態に基づいて、仮想オブジェクトの把持動作を表示するように前記表示装置を制御する、
コンピュータプログラムである。
 本開示の第3の側面に係るコンピュータプログラムは、コンピュータ上で所定の処理を実現するようにコンピュータ可読形式で記述されたコンピュータプログラムを定義したものである。換言すれば、本開示の第3の側面に係るコンピュータプログラムをコンピュータにインストールすることによって、コンピュータ上では協働的作用が発揮され、本開示の第1の側面に係る情報処理装置と同様の作用効果を得ることができる。
 また、本開示の第4の側面は、
 実空間に仮想オブジェクトを重畳表示する表示装置と、
 ユーザの手の位置と手指のジェスチャを取得する取得部と、
 前記表示装置の表示動作を制御する制御部と、
を具備し、
 前記制御部は、手に対して一定のオフセットを持った位置に仮想把持点を設定し、仮想把持点と仮想オブジェクトの位置関係と指先同士の接触状態に基づいて、仮想オブジェクトの把持動作を表示するように前記表示装置を制御する、
拡張現実感システムである。
 但し、ここで言う「システム」とは、複数の装置(又は特定の機能を実現する機能モジュール)が論理的に集合した物のことを言い、各装置や機能モジュールが単一の筐体内にあるか否かは特に問わない。
 本開示によれば、仮想オブジェクトに対するユーザの手や指によるインタラクションを実現する情報処理装置及び情報処理方法、コンピュータプログラム、並びに拡張現実感システムを提供することができる。
 なお、本明細書に記載された効果は、あくまでも例示であり、本開示によりもたらされる効果はこれに限定されるものではない。また、本開示が、上記の効果以外に、さらに付加的な効果を奏する場合もある。
 本開示のさらに他の目的、特徴や利点は、後述する実施形態や添付する図面に基づくより詳細な説明によって明らかになるであろう。
図1は、ベルト11を使ってコントローラ10が設置されたユーザの手の甲を示した図である。 図2は、ベルト11を使ってコントローラ10が設置されたユーザの手のひらを示した図である。 図3は、ベルト11を使ってコントローラ10が設置されたユーザの手の側面を示した図である。 図4は、ユーザが頭部にARグラス41を装着するとともに、両手にそれぞれコントローラ42及び43を装着している様子を示した図である。 図5は、ARシステム100の機能的構成例を示した図である。 図6は、ユーザの頭部にARグラスを装着した様子を示した図である。 図7は、ARグラス701とコントローラ702からなるARシステム700の構成例を示した図である。 図8は、ARグラス801とコントローラ802と情報端末803からなるARシステム800の構成例を示した図である。 図9は、コントローラ110の具体的な構成例を示した図である。 図10は、コントローラ110の具体的な構成例を示した図である。 図11は、コントローラ110の具体的な構成例を示した図である。 図12は、制御部140が備える機能的構成例を示した図である。 図13は、ユーザの周囲に仮想オブジェクトが配置される様子を示した図である。 図14は、ARグラスがユーザの頭部の動きに追従するように仮想オブジェクトを表示させる仕組みを説明するための図である。 図15は、ユーザの手と仮想オブジェクトとの距離に応じた状態を示した図である。 図16は、ユーザが仮想オブジェクトを把持操作する様子を示した図である。 図17は、指先の位置が仮想オブジェクトの表面上にあるときに仮想オブジェクトの把持を実行する様子を示した図である。 図18は、仮想オブジェクトの内部で親指と人差し指の接触が生じたときに仮想オブジェクトの把持を実行する様子を示した図である。 図19は、コントローラ110本体に対して一定のオフセットを持った位置に仮想把持点を設定した様子を示した図である。 図20は、仮想把持点の具体例を示した図である。 図21は、仮想把持点を用いた仮想オブジェクトの把持フローを示した図である。 図22は、仮想把持点を用いた仮想オブジェクトの把持フローを示した図である。 図23は、仮想把持点を用いた仮想オブジェクトの把持フローを示した図である。 図24は、仮想把持点を用いた仮想オブジェクトの把持フローを示した図である。 図25は、仮想把持点を用いた仮想オブジェクトの把持フローを示した図である。 図26は、仮想把持点を用いた仮想オブジェクトの把持フローを示した図である。 図27は、ARシステム100のモード遷移を示した図である。 図28は、把持操作モードにおける手指の姿勢を示した図である。 図29は、接触動作モードにおける手指の姿勢を示した図である。 図30は、手と仮想オブジェクトの接触による挙動を示した図である。 図31は、手と仮想オブジェクトの接触による挙動を示した図である。 図32は、ボタン操作モードにおける手指の姿勢を示した図である。 図33は、ARシステム100のモード遷移を示した図である。 図34は、ボタン操作モード下で指先に仮想押下点が設定された様子を示した図である。 図35は、ボタン操作モード下で仮想ボタンが押下操作された様子を示した図である。 図36は、ユーザの操作モードを判定するための処理手順を示したフローチャートである。 図37は、仮想把持点のキャリブレーションを行う方法を示した図である。 図38は、仮想把持点のキャリブレーションを行う方法を示した図である。 図39は、仮想把持点のランニングキャリブレーションを行う方法を示した図である。 図40は、仮想把持点のランニングキャリブレーションを行う方法を示した図である。 図41は、仮想把持点のランニングキャリブレーションを行う方法を示した図である。 図42は、仮想把持点のランニングキャリブレーションを行う方法を示した図である。 図43は、仮想把持点の表示例を示した図である。 図44は、仮想把持点の表示例を示した図である。 図45は、仮想把持点の表示例を示した図である。
 以下、図面を参照しながら本開示の実施形態について詳細に説明する。
A.システム構成
 VRやARなどの分野では、ヘッドマウントディスプレイを装着して仮想空間を探索するユーザが、コントローラを手に持って操作するという入力形態が知られている(例えば、特許文献1を参照のこと)。しかしながら、ユーザはARグラス越しに実空間を見渡しながら、歩行や物(実オブジェクトと仮想オブジェクトを含む)の把持など実空間での日常生活を行えることが好ましい。このため、コントローラを把持することなどにより手指が拘束されず、手指が自由に使える状態であることが好ましい。
 また、ユーザの手指を拘束しない入力方法として、カメラの撮影画像からユーザの手の動きを検出する方法が挙げられる。例えば、ARグラスに外向きに取り付けられたRGBカメラやToF(Time Of Flight)カメラによりユーザの手指のボーンを抽出し、手指の位置姿勢や手指のジェスチャを認識する。しかしながら、カメラの画像からユーザの手を検出する方式では、オクルージョンの問題や、カメラの画角外では検出できないという問題がある。
 そこで、本開示では、手の位置検出、手指の姿勢認識、手指のジェスチャ認識などに利用されるコントローラをユーザの手に設置して、手指が自由に使えるようにARシステムを構成するようにした。また、コントローラが設置された手を使って実在する物体や仮想の物体を把持したり、手のひらに仮想オブジェクトを乗せたりするためには、手のひらをフリーにしておくことが好ましい。したがって、コントローラを手の甲に設置することが好ましい。
 なお、ここで言う手指のジェスチャは、例えば親指と他の指(人差し指など)の指先が接触しているか又は離れているかを示す。また、本実施形態では、コントローラは手の位置検出機能と手指のジェスチャ認識機能を装備することは必須であるが、手指の姿勢認識機能を装備することは必須ではないものとする。
 例えばベルトを使ってコントローラをユーザの手の甲に設置する。図1~図3には、ベルト11を使ってコントローラ10が設置されたユーザの手の甲及び手のひら、及び手の側面をそれぞれ示している。もちろん、ベルトを使う固定方法には必ずしも限定されず、例えば粘着パッドを用いてコントローラを手の甲に取り付けるようにしてもよい。なお、図1~図3はユーザの左手にコントローラ10を装着した例を示しているが、右手にも左右対称的な形状のコントローラ10を装着することができる。
 図4には、ユーザが頭部にARグラス41を装着するとともに、両手にそれぞれコントローラ42及び43を装着している様子を示している。上述したように、各コントローラ42及び43は、手の位置検出、手指の姿勢認識、及び手指のジェスチャ認識の機能を備えている。また、ARグラス41は、実空間に仮想オブジェクトを重畳して表示する機能を備えている。
 ここで、ARグラス41は、コントローラ42及び43を通じて、左右のそれぞれの手の位置、手指の姿勢、及び手指のジェスチャを認識することができる。また、ARグラス41は、ユーザの頭部の位置姿勢を検出する機能を備えている。したがって、ARグラス41は、ユーザの頭部とコントローラ42及び43との相対位置、言い換えればユーザの左右の手の相対位置を検出することができる。また、ARグラス41が表示する仮想オブジェクトの実空間における座標位置を把握しているので、ユーザの左右の手と仮想オブジェクトとの相対位置を検出することができる。
 図5には、ARグラスとユーザの手の甲に設置したコントローラを含むARシステム100の機能的構成例を示している。図示のARシステム100は、ユーザの手の甲に設置されるコントローラ110と、頭部センサ部120と、ARグラスに仮想オブジェクトを表示する表示部131と、ARシステム100全体の動作を統括的にコントロールする制御部140を備えている。コントローラ110は、手位置検出部111と、手指姿勢認識部112と、手指ジェスチャ認識部113と、触覚フィードバック部114を備えている。頭部センサ部120は、ARグラスに搭載されるが、外向きカメラ121と、内向きカメラ122と、マイク123と、ジャイロセンサ124と、加速度センサ125と、方位センサ126を含んでいる。なお、図5では、図面の簡素化のため、コントローラ110を1つしか描いていないが、ユーザの左右の手にそれぞれコントローラ110を設置する場合には、ARシステム100はコントローラ110を2つ備える。
 また、ARシステム100は、仮想オブジェクトに関わる音声などのオーディオ信号を出力するスピーカー132や、ARシステム100が外部と通信を行うための通信部133をさらに備えていてもよい。また、制御部140は、SSD(Solid State Drive)などからなる大規模な記憶部150を装備していてもよい。
 ARグラス本体は、一般には眼鏡型又はゴーグル型のデバイスであり、ユーザが頭部に装着して利用され、ユーザの両目又は片目の視野にデジタル情報を重畳表示したり、特定の実オブジェクトを強調し又は減衰したり、特定の実オブジェクトを削除してあたかも存在しないように見せたりすることができる。図6には、ユーザの頭部にARグラスを装着した様子を示している。図示のARグラスは、ユーザの左右の眼の前にそれぞれ左眼用の表示部131と右眼用の表示部131が配設されている。表示部131は、透明又は半透明で、実空間の所定の位置に仮想オブジェクトを重畳表示したり、特定の実オブジェクトを強調し又は減衰したり、特定の実オブジェクトを削除してあたかも存在しないように見せたりする。左右の表示部131は、例えば独立して表示駆動され、視差画像すなわち仮想オブジェクトを3D表示するようにしてもよい。また、ARグラスのほぼ中央には、ユーザの視線方向に向けられた外向きカメラ121が配置されている。
 ARシステム100は、例えばユーザが頭部に装着するARグラスと、ユーザの手の甲に装着されるコントローラという2つの装置で構成することができる。但し、ユーザの左右の手の甲にコントローラを設置する場合は、ARシステム100は、ARグラスと2つのコントローラという3つの装置で構成される。図7には、ARグラス701とコントローラ110からなるARシステム700の構成例を示している。ARグラス701は、制御部140と、記憶部150と、頭部センサ部120と、表示部131と、スピーカー132と、通信部133を含んでいる。また、コントローラ110は、手位置検出部111と手指姿勢認識部112と手指ジェスチャ認識部113と触覚フィードバック部114を含んでいる。
 他の構成例として、ARシステム100は、ユーザが頭部に装着するARグラスと、ユーザの手の甲に装着されるコントローラと、スマートフォンやタブレットなどの情報端末という3台の装置で構成される。図8には、ARグラス801とコントローラ110と情報端末803からなるARシステム800の構成例を示している。ARグラス801は、表示部131と、スピーカー132と、頭部センサ部120を含んでいる。コントローラ110は、手位置検出部111と手指姿勢認識部112と手指ジェスチャ認識部113と触覚フィードバック部114を含んでいる。また、情報端末803は、制御部140と、記憶部150と、通信部133を含んでいる。
 なお、ARシステム100の具体的に装置構成は、図7と図8に限定されるものではない。また、ARシステム100は、図1に示した以外の構成要素をさらに含んでいてもよい。
 図5を参照しながら、ARシステム100の各構成要素について説明する。
 コントローラ110は、手位置検出部111と、手指姿勢認識部112と、手指ジェスチャ認識部113と、触覚フィードバック部114を備えている。
 手位置検出部111は、ユーザの手の位置を検出する。手指姿勢認識部112は、ユーザの手指の姿勢を認識する。本実施形態では、手指姿勢認識部112は必須ではない。また、手指ジェスチャ認識部113は、手指のジェスチャ、例えば親指と他の指(人差し指など)の指先が接触しているか又は離れているかを認識する。
 触覚フィードバック部114は、例えば電磁型や圧電型の振動子をアレイ状に配置して構成され、ユーザの手の甲に振動提示による触覚フィードバックを行う。本実施形態では、ユーザの手の甲に設置されるコントローラ110内に触覚フィードバック部114が装備されるが、ユーザの身体上で手の甲以外の1以上の部位に触覚フィードバック部114を取り付けて、振動提示を行うように構成してもよい。
 頭部センサ部120は、ARグラスに搭載されるが、外向きカメラ121と、内向きカメラ122と、マイク123と、ジャイロセンサ124と、加速度センサ125と、方位センサ126を含んでいる。
 外向きカメラ121は、例えばRGBカメラからなり、ARグラスの外側すなわちARグラスを装着したユーザの正面方向を撮影するように設置されている。外向きカメラ121は、ユーザの手指の操作を撮影することができるが、障害物の陰にユーザの手指が隠れてしまった場合、手の甲で指先が隠れている場合、ユーザが身体の後ろに手をまわした場合などには、ユーザの手指の操作を撮影することができない。また、外向きカメラ121は、IR発光部及びIR受光部からなるIRカメラ、ToFカメラのうちいずれか1つをさらに備えていてもよい。外向きカメラ121にIRカメラを用いる場合、手の甲など捕捉の対象となる物体に再帰性反射材を取り付けて、IRカメラは赤外光を発光するとともに再帰性反射材から反射された赤外光を受光する。あるいは、コントローラ上に設置された赤外光を発するマーカー又は複数のIR光源のドットパターンなどをIRカメラで受光する。外向きカメラ121で撮影した画像信号は、制御部140に転送される。
 マイク123は、単一の収音素子又は複数の収音素子からなるマイクアレイであってもよい。マイク123は、ARグラスを装着したユーザの音声やユーザの周囲音を収音する。マイク123で収音したオーディオ信号は、制御部140に転送される。
 ジャイロセンサ124と、加速度センサ125と、方位センサ126は、IMUで構成されていてもよい。ジャイロセンサ124と、加速度センサ125と、方位センサ126のセンサ信号は、制御部140に転送される。制御部140は、これらのセンサ信号に基づいて、ARグラスを装着したユーザの頭部の位置姿勢を検出することができる。
 表示部131は、ARグラスを装着したユーザの両目又は片目の前方に設置される透過型ディスプレイ(メガネレンズなど)で構成され、仮想空間の表示に利用される。具体的には、表示部131は、情報(仮想オブジェクト)を表示したり、現実のオブジェクトを強調又は減衰、削除したりして、ユーザから見た実空間を拡張させる。表示部131は、制御部140からの制御信号に基づいて表示動作を行う。また、表示部131で仮想オブジェクトをシースルー表示する仕組みは特に限定されない。
 スピーカー132は、単一の発音素子、又は複数の発音素子のアレイで構成され、例えばARグラスに設置される。スピーカー132からは、例えば表示部131で表示される仮想オブジェクトに関する音声が出力されるが、その他のオーディオ信号を出力するようにしてもよい。
 通信部133は、例えばWi-Fi(登録商標)やBluetooth(登録商標)などの無線通信機能を備えている。通信部133は、主に制御部140と外部システム(図示しない)とのデータ交換を実現するための通信動作を行う。
 制御部140は、ARグラス内に設置されるか、又はARグラスとは分離した装置(スマートフォンなど)内に、記憶部150やバッテリなどの駆動用電源とともに配置される。制御部140は、記憶部150から読み出した各種プログラムを実行してさまざまな処理を実施する。
B.コントローラの構成
 コントローラ110は、WindowsやLinux(登録商標)などのOSにおけるキーボードやマウス、タッチパネルなどに対応する、本実施形態に係るARシステム100用の入力デバイスである。図1~図3にも示したように、コントローラ110はユーザの手の甲に設置して用いられる。したがって、ユーザは、コントローラ110によって手指が拘束されず、手指を自由に使うことができる。例えば、ユーザは、コントローラ110が設置された手を使って実在する物体や仮想の物体を把持したり、手のひらに仮想オブジェクトを乗せたりすることができる。
 コントローラ110は、ユーザの手の位置や手指の姿勢、手指の姿勢に基づいてARシステム100に対する入力を行うデバイスである。したがって、図5、図7及び図8に示したように、コントローラ110は、手位置検出部111と、手指姿勢認識部112と、手指ジェスチャ認識部113を備えている。手位置検出部111は、ユーザの手の位置を検出する。手指姿勢認識部112は、ユーザの手指の姿勢を認識する。手指ジェスチャ認識部113は、手指のジェスチャ、例えば親指と他の指(人差し指など)の指先が接触しているか又は離れているかを認識する。また、コントローラ110は、振動提示によってユーザの手の甲に触覚を与える触覚フィードバック部114を備えている。以下では、手位置検出部111と、手指姿勢認識部112と、手指ジェスチャ認識部113の具体的構成例について説明する。
 図9には、手位置検出部111と手指ジェスチャ認識部113の構成例を示している。但し、図9に示す例では、コントローラ110は、任意の手指姿勢認識部112を装備するか、又は手指姿勢認識部112を装備しないものとし、ここでは手指姿勢認識部112については説明しない。
 図9に示す例では、手位置検出部111は、IR検出方式を用いている。すなわち、手位置検出部111は、コントローラ110の筐体10に取り付けられた複数(図9に示す例では4個)のIR反射マーカー901~904と、ARグラス(又は頭部センサ部120)に設けられたIRカメラ(図示しない)の組み合わせで構成される。IRカメラは、IR送信部とIR受信部を備え、IR送信部から出力されたIR信号が各IR反射マーカー901~904で反射され、その反射IR信号をIR受信部で受信して、IR反射マーカー901~904の輝点を検出することができる。そして、これらの輝点の位置情報に基づいて、コントローラ110の本体10(又は、ユーザの手の甲)の位置姿勢を検出することができる。IRカメラは、複数のIR受信部を備えたステレオ式であることが好ましい。
 また、手指ジェスチャ認識部113は、手指のジェスチャ、例えば親指と他の指(人差し指など)の指先が接触しているか又は離れているかを認識する。図9に示す例では、手指ジェスチャ認識部113は電極検出方式を用いている。ユーザの親指と人差し指の指先にそれぞれ電極911及び912が取り付けられている。そして、親指と人差し指が接触すると電極911と電極912の間が通電状態となることから、電極911と電極912の通電状態に基づいて親指と人差し指のジェスチャを認識することができる。
 また、図10には、手位置検出部111と手指姿勢認識部112と手指ジェスチャ認識部113の他の構成例を示している。
 図10に示す例では、手位置検出部111は、IR検出方式と、IMU検出方式の組み合わせにより、ユーザの手の位置を検出する。IR検出方式では、コントローラ110の筐体10に取り付けられた複数のIR反射マーカー1001、1002、1003、…のIR反射信号を、ARグラス(又は頭部センサ部120)に設けられたIRカメラ(図示しない)で捕捉して、各IR反射マーカーの輝点位置に基づいて、ユーザの手の位置姿勢を検出する。また、IMU検出方式では、コントローラ110の本体10に内蔵されたIMU(Inertial Measurement Unit)の検出信号に基づいて、ユーザの手の位置姿勢を検出する。IMUは、ジャイロセンサと加速度センサと方位センサを備えている。コントローラ110がIRカメラの視界内にあるときにはIR検出方式を用い、コントローラ110がIRカメラの視界を外れたとき(オクルージョンが発生した場合を含む)にはIMU方式を用いる。
 また、図10に示す例では、手指姿勢認識部112は、ユーザの指の数箇所に取り付けたIMUで構成される。具体的には、親指と、人差し指の基節及び中節の3箇所に、IMU1011、1012、1013がそれぞれバンド1021、1022、1023によって取り付けられている。制御部140側では、各IMU1011、1012、1013の検出信号に基づいて、親指の姿勢、人差し指の基節及び中節の姿勢(又は、人差し指の第2関節の角度)を計測することができる。但し、親指と人差し指の別の場所にさらに他のIMUを取り付けてもよいし、親指と人差し指以外の指にもIMUを取り付けてもよい。また、IMUの各指への固定方法はバンドに限定されない。
 また、手指ジェスチャ認識部113は、手指姿勢認識部112が認識する指の関節角度とは別に、手指のジェスチャ、例えば親指と他の指(人差し指など)の指先が接触しているか離れているかを認識する。図10に示す例では、手指ジェスチャ認識部113は静電容量検出方式を用いている。図10では図示を省略しているが、各指の指先や中節部と手のひら、あるいは親指の中節部と人差し指の中節部の2箇所に静電容量検出用の電極が設置されている。例えば、親指と人差し指の指先が広がると静電容量が大きくなり、親指と人差し指の指先が接近すると静電容量が小さくなる。したがって、手指姿勢認識部112は、親指と人差し指の指先間の静電容量の変化によって、親指と人差し指のジェスチャを認識することができる。
 また、図11には、手位置検出部111と手指姿勢認識部112と手指ジェスチャ認識部113のさらに他の構成例を示している。但し、手位置検出部111と手指ジェスチャ認識部113は図10と同様に構成されるので、ここでは図示と詳細な説明を省略し、手指姿勢認識部112について説明する。
 図11に示す例では、手指姿勢認識部112は、ベルト11を使って手のひらに設置したToFカメラ1101で構成される。ToFカメラ1101は、広角で、例えば手根付近に設置することで、5本の指を捕捉することができる。制御部140側では、ToFカメラ1201からのデプス画像に基づいて各指をボーン認識して、指の姿勢を取得することができる。ボーン認識によって、親指と人差し指の指先の接触のような手指ジェスチャも認識するようにしてもよいが、より検出精度を高めるには、上述したような静電容量検出方式を用いて手指ジェスチャを認識することが好ましい。例えば、ベルト11を使って手のひらの中央付近に静電容量式の接触センサを配置すれば、人差し指、中指、薬指、小指の各指が手のひらに接近又は接触したことや、これら4本の指を使って把持するジェスチャを認識することができる。
 なお、コントローラ110が装備する手位置検出部111、手指姿勢認識部112、及び手指ジェスチャ認識部113の構成は、必ずしも上記に限定されるものではない。手の甲の位置を手の指の位置よりも高精度で検出することが可能であれば、コントローラ110に上述した以外の構成を適用することができる。例えば、コントローラ110単体でSLAM(Simultaneous Localization and Mapping)による自己位置推定が可能である場合や、頭部センサ部120のカメラ(RGBステレオカメラやToFカメラなど)を用いた手指認識において、手の位置を高精度且つロバストに検出する構成であれば、コントローラ110は、上述した以外の構成であってもよい。また、図9~図11に示したいずれの構成であれ、コントローラ110は、音を出力するためのスピーカーや、コントローラの状態や情報を提示するためのLED(Light Emitting Diode)又はディスプレイを搭載していてもよい。
C.ARグラスの基本動作
 図12には、制御部140が備える機能的構成例を模式的に示している。図示の例では、制御部140は、アプリケーション実行部1201と、頭部位置姿勢取得部1202と、出力制御部1203と、手位置取得部1204と、手指姿勢取得部1205と、手指ジェスチャ取得部1206を備えている。これらの機能モジュールは、制御部140が記憶部150から読み出した各種プログラムを実行することにより実現される。但し、図12には本開示を実現するための必要最低限の機能モジュールのみを図示しており、制御部140はさらに他の機能モジュールを備えていてもよい。
 アプリケーション実行部1201は、OSが提供する実行環境下で、ARアプリを含むアプリケーションプログラムを実行する。アプリケーション実行部1201は、複数のアプリケーションプログラムを同時に並行して実行してもよい。ARアプリは、例えば動画再生や3Dオブジェクトのビューアなどのアプリケーションであるが、ARグラス(図6を参照のこと)を頭部に装着したユーザの視界の中に仮想オブジェクトを重畳表示したり、特定の実オブジェクトを強調し又は減衰したり、特定の実オブジェクトを削除してあたかも存在しないように見せたりする。アプリケーション実行部1201は、表示部131を使って、ARアプリ(仮想オブジェクト)の表示動作も制御する。また、アプリケーション実行部1201は、コントローラ110を通じて取得される手指の操作に基づいて、仮想オブジェクトに対するユーザの把持インタラクションも制御する。仮想オブジェクトの把持操作の詳細については、後述に譲る。
 ARアプリが生成する仮想オブジェクトは、ユーザの全周囲にわたって配置される。図13には、ARグラスを頭部に装着したユーザの周囲1300に複数の仮想オブジェクト1301、1302、1303、…が配置される様子を模式的に示している。アプリケーション実行部1201は、頭部センサ部120からのセンサ情報に基づいて推定されるユーザの頭部の位置又は身体の重心位置を基準にして、ユーザの周囲に各仮想オブジェクト1301、1302、1303、…を配置する。
 頭部位置姿勢検出部1202は、ARグラスに搭載される頭部センサ部120に含まれるジャイロセンサ124と、加速度センサ125と、方位センサ126の各センサ信号に基づいて、ユーザの頭部の位置姿勢を検出し、さらにはユーザの視線方向又は視野範囲を認識する。
 出力制御部1203は、アプリケーション実行部1201によるARアプリなどのアプリケーションプログラムの実行結果に基づいて、表示部131、スピーカー132、及び触覚フィードバック部114の出力を制御する。例えば、出力制御部1203は、頭部位置姿勢検出部1202の検出結果に基づいてユーザの視野範囲を特定して、視野範囲に配置された仮想オブジェクトがARグラス越しにユーザが観察できるように、すなわちユーザの頭部の動きに追従するように表示部131による仮想オブジェクトの表示動作を制御する。
 ARグラスがユーザの頭部の動きに追従するように仮想オブジェクトを表示させる仕組みについて、図14を参照しながら説明する。図14では、ユーザの視線の奥行き方向がzw軸、水平方向がyw軸、垂直方向がxw軸であり、ユーザの基準軸xwwwの原点位置はユーザの視点位置とする。ロールθzはユーザの頭部のzw軸回りの運動、チルトθyはユーザの頭部のyw軸回りの運動、パンθzはユーザの頭部のxw軸回りの運動に相当する。頭部位置姿勢検出部1202は、ジャイロセンサ124と、加速度センサ125と、方位センサ126のセンサ信号に基づいて、ユーザの頭部のロール、チルト、パンの各方向の動き(θz,θy,θz)や頭部の平行移動からなる姿勢情報を検出する。そして、出力制御部1203は、ユーザの頭部の姿勢に追従するように、仮想オブジェクトが配置された実空間(例えば、図13を参照のこと)上で表示部131の表示画角を移動させ、その表示画角に存在する仮想オブジェクトの画像を表示部131で表示する。具体的には、ユーザの頭部運動のロール成分に応じて領域1402-1を回転させたり、ユーザの頭部運動のチルト成分に応じて領域1402-2を移動させたり、ユーザの頭部運動のパン成分に応じて領域1402-3を移動させたりして、ユーザの頭部の動きを打ち消すように表示画角を移動させる。したがって、表示部131にはユーザの頭部の位置姿勢に追従して移動した表示画角に配置された仮想オブジェクトが表示されるので、ユーザは、ARグラス越しに、仮想オブジェクトが重畳された実空間を観察することができる。
 手位置取得部1204と、手指姿勢取得部1205と、手指ジェスチャ取得部1206は、それぞれコントローラ110側の手位置検出部111、手指姿勢認識部112、手指ジェスチャ認識部112と協働して、ユーザの手の位置、手指の姿勢、及び手指が行うジェスチャの情報を取得する。なお、ユーザの手が外向きカメラ121の視野内にある場合には、外向きカメラ121の撮影画像の画像認識結果に基づいて、ユーザの手の位置、手指の姿勢、及び手指が行うジェスチャの情報を取得することができる。
D.仮想オブジェクトの把持操作
 実空間では、摘まむ、掴むといった作法により物体を持つことができ、物体は摘まむ又は掴む手から加わる力によって形状を変化させる。一方、仮想空間では、物体は現実に存在しないため、手が物体をすり抜けてしまうので、実空間と同じ作法で物体を持つことができない。例えば、仮想空間の物体に指を突っ込んで指先で摘まんだり、物体の外周に設けた枠を摘まんだりするユーザインターフェース(UI)を提供する拡張現実感システムも考えられる。
 これに対し、本開示では、ユーザがコントローラ110を用いて仮想オブジェクトを把持操作する方法を提供する。「コントローラ110を用いて」とは、コントローラ110が手の甲に設置された手を使って、という意味である。したがって、制御部140(又は、仮想オブジェクトの表示を制御するアプリケーション実行部1201)は、コントローラ110を通じて、仮想オブジェクトを把持操作する手の位置、手指のジェスチャ、さらには手指の位置姿勢を常に取得することができる。
 なお、以下では、簡素化のため、仮想オブジェクトの把持操作を行う手の甲に設置したコントローラ110の図示を省略し、また、コントローラ110を用いて手の位置、手指のジェスチャ、手指の位置姿勢を取得する処理に関する説明を省略する。
 また、ユーザの手と仮想オブジェクトの距離として、「接近」、「接触」、「めり込み」の3つの状態を定義する。図15には、「接近」、「接触」、「めり込み」の3つの状態を示している。「接近」は、ユーザの手と仮想オブジェクトとの最短距離が所定値以下になった状態である。「接触」は、ユーザの手と仮想オブジェクトとの最短距離が0になった状態である。「めり込み」は、ユーザの手が仮想オブジェクトの領域に干渉している状態である。
D-1.仮想オブジェクトの把持操作の基本ロジック
 ここで、図16に示すような、比較的サイズが大きく、重量物であることを想定している仮想オブジェクト1601をユーザが把持操作する場合について考察する。大きな仮想オブジェクトに対する把持操作のロジックとして、以下の2つのパターンを挙げることができる。
(1)指先の位置が仮想オブジェクトの表面上にあるときに、仮想オブジェクトの把持を実行する。
(2)親指と人差し指の接触が物体に対して設定された把持検出領域(例えば、仮想オブジェクトの内部)で生じたときに、仮想オブジェクトの把持を実行する。
 図17には、1つ目のロジックにより、指先の位置が仮想オブジェクト1701の表面上にあるときに仮想オブジェクトの把持を実行する様子を示している。しかしながら、仮想オブジェクト1701は実在しないため、ユーザの指先が仮想オブジェクト1701に接触したとしても、反力を得て拘束される訳ではない。ユーザの指先は仮想オブジェクト1701をすり抜けてしまうので、ユーザはリアリティのある触を得ることができない。
 また、図18には、2つ目のロジックにより、仮想オブジェクト1801の内部で親指と人差し指の接触が生じたときに仮想オブジェクトの把持を実行する様子を示している。この場合、ユーザの親指と人差し指の指先同士が接触するので、ユーザ自身の触感によって仮想オブジェクト1801を認識することができる。ユーザは、指先の動きが接触により拘束されている状態を、仮想オブジェクト1801を把持している状態と認識すれば、把持状態から仮想オブジェクト1801を離した状態への変化も認識し易くなる。
 したがって、2つ目の把持ロジックは、1つ目の把持操作ロジックよりも、仮想オブジェクトを把持することの判断やリアリティの面で優位である。本開示は、2つ目の把持ロジックを前提とする。また、2つ目の把持ロジックによれば、コントローラ110が手指姿勢認識部112を装備しなくても、仮想オブジェクトの把持操作を実現することが可能である。
 また、本開示は、所定の把持検出領域内で指先同士の接触が生じたときに仮想オブジェクトの把持を実行するという把持ロジックを好適に実現するために、「仮想把持点」の設定を行う。仮想把持点は、現在の手の位置で把持操作を行うときに、把持に用いる指先同士が接触することが想定される位置である。仮想把持点は、ユーザの手に対して一定のオフセットを持った位置に設定される。ユーザの手の位置は、手の甲に設置したコントローラ110の手位置検出部111によって検出することができる。手位置検出部111は、手の甲の位置とほぼ等しいコントローラ110本体の位置を検出する。仮想把持点は、ユーザの手ではなくコントローラ110本体に対して一定のオフセットを持った位置であってもよい。
 図19には、コントローラ110本体の位置座標において、一定のオフセットを持った位置に仮想把持点1901を設定している様子を示している。仮想把持点は、例えば図20に示すように、コントローラ110を用いて検出されたユーザの手の位置において、親指と人差し指の指先同士が接触する位置2001、言い換えれば、親指と人差し指を使って物体を摘まむ位置2001に設定される。
 そして、本開示は、ユーザの手に対して一定のオフセット持った位置に設定される仮想把持点とARグラスが表示する仮想オブジェクトとの位置関係と、ユーザの手指のジェスチャに基づいて、仮想オブジェクトに対する把持インタラクションを実行する。ユーザの手指のジェスチャは、具体的には、仮想オブジェクトに対する把持操作である。
 ユーザの手指のジェスチャは、既に説明したように、手の甲に設置したコントローラ110内の手指ジェスチャ認識部113によって取得することができる。外向きカメラ121の撮影画像からユーザの手の位置や手指のジェスチャを検出しようとすると、オクルージョンや精度の問題から正確な情報が得られない場合がある。これに対し、手の甲に設置したコントローラ110を用いることで、手の位置及び手指のジェスチャを正確に検出並びに認識することができる。したがって、本開示によれば、仮想把持点と仮想オブジェクトとの位置関係を正確に検出し、且つ、指先による把持操作を正確に認識することができるので、仮想オブジェクトに対する直感的で且つ違和感のない把持インタラクションを実現することができる。
D-2.具体的な仮想オブジェクトの把持フロー
 図21~図26には、仮想把持点を用いた仮想オブジェクトの把持フローを順に示している。ここでは、ユーザは、コントローラ110を装着した手を使って、机の上に置かれた仮想オブジェクトを把持することを想定している。なお、机は現実の物体又は仮想オブジェクトのいずれであってもよい。図21~図26に示す仮想オブジェクトの把持フローは、アプリケーション実行部1201が、コントローラ110を通じて取得したユーザの手の位置及び手指ジェスチャの情報に基づいて実施して、ユーザによる仮想オブジェクトの把持操作に従って仮想オブジェクトの表示切り替えも実施するものとする。
 まず、図21に示すように、ユーザの手に対して一定のオフセットを持った位置に、仮想把持点が設定される。仮想把持点は、ユーザの手が現在位置のときに、親指と人差し指の指先同士が接触する位置、すなわち、親指と人差し指を使って物体を摘まむ位置に設定される。設定した仮想把持点をユーザが視覚的に理解できるように、ARグラスで仮想把持点を示すマーカーを表示するようにしてもよい。ユーザは、ARグラス越しに、仮想オブジェクトと、その仮想オブジェクトを把持しようとしている手に設定された仮想把持点を観察することができる。
 なお、仮想把持点を常時設定する必要はなく、ユーザの手が把持の対象となる仮想オブジェクトに接近してきたときのみ、仮想把持点を設定し、又は仮想把持点を表示するようにしてもよい。ユーザの手と仮想オブジェクトとの最短距離が所定値以下になったときに、ユーザの手が仮想オブジェクトに接近した状態とする。所定値は、例えば50cmでよい。
 ユーザの手が、把持の対象とする仮想オブジェクトに接近し続けると、図22に示すように、仮想把持点が把持検出領域に侵入する。ここでは、簡素化のため、把持検出領域は仮想オブジェクトと同じとする。仮想把持点が把持検出領域に侵入したタイミングで、仮想オブジェクトの表示を変化させる。仮想把持点が把持検出領域に侵入したタイミングで仮想オブジェクトの表示を変化させる方法は任意である。図22に示す例では、仮想オブジェクトの周囲にオーラを発生させている。また、仮想把持点が把持検出領域に侵入したタイミングで、オーラの表示に併せて、又はオーラの表示に代えて、スピーカー132から通知音を発したり、触覚フィードバック部114を使ってユーザの手に触感によるフィードバックを返したりするようにしてもよい。
 ユーザは、ARグラス越しに、仮想オブジェクトと、その周囲のオーラを観察することができる。ユーザは、把持しようとしている仮想オブジェクトにオーラが発生したことで、このまま把持動作を行うと、仮想オブジェクトを把持可能であることを認識することができる。仮想把持点が把持検出領域に侵入したタイミングにおけるオーラの表示や通知音、触覚フィードバックなどの動作は、OSの画面に表示されたオブジェクトの上にマウスポインタを乗せたマウスオーバーに類似する。
 そして、図23に示すように、仮想把持点が把持検出領域内に存在しているときに、ユーザが親指と人差し指の指先同士を接触させて、仮想オブジェクトを摘まむ操作を行うと、把持処理が実施される。ユーザに把持された仮想オブジェクトの表示を変化させるようにしてもよい。図23に示す例では、把持状態になった仮想オブジェクトをハイライト表示させている。
 ユーザが親指と人差し指の指先同士の接触状態を保ち、仮想オブジェクトを把持した状態では、ユーザの手と仮想オブジェクトの相対位置姿勢関係が保持される。図24や図25に示すように、ユーザが仮想オブジェクトを把持する手の姿勢を変えたり持ち上げたりすると、仮想オブジェクトもユーザの手に追従して姿勢が変化したり持ち上がったりする。
 ユーザが親指と人差し指の指先を離して、仮想オブジェクトの把持操作が解除されると、仮想オブジェクトは、ユーザの手との相対位置姿勢関係が拘束されなくなり、自由に動くことができるようになる。例えば、図25に示す状態でユーザが仮想オブジェクトの把持操作を解除すると、図26に示すように、仮想オブジェクトは重力により落下する。また、仮想オブジェクトは、把持操作が解除されると、オーラやハイライト表示も解除される。
 図21~図26に示した仮想オブジェクトの把持フローにおいて、ARグラスで仮想把持点を示すマーカーを表示するようにすれば、ユーザは、仮想把持点が仮想オブジェクトと衝突している状態であることを認識することができる。
 なお、上記の説明、並びに図19~図26では、把持に用いる指先同士が接触することが想定される位置が領域を持たない点、すなわち「仮想把持点」として説明してきた。しかしながら、把持に用いる指先同士が接触することが想定される位置は領域体積を持った球体などでもよく、この場合には「仮想把持点」ではなく「仮想把持領域」と呼ぶようにしてもよい。
 なお、上記では親指と人差し指で摘まむように把持する精密把持する場合における仮想オブジェクトの把持操作について説明した。物体の把持方法には、精密把持の他に、すべての指を使って(又は、指全体を使って)掴むように把持する握力把持があり、さらに指の側面を使う中間把持や親指を用いない把持など、把持方法のバリエーションがある。いずれの把持方法においても、物体を片手のみで安定して把持するためには、手の相対する2面以上で物体を挟み込む必要がある。1つの面に対して複数の指を使用する場合もある。
 仮想オブジェクトを精密把持以外の把持方法で把持操作する場合においても、仮想把持点を設定することで、図21~図26に示した把持フローと同様の手順で、仮想オブジェクトを把持するインタラクションを実現することができる。
E.操作モードの切り替え
 次に、ARシステム100において、ユーザが仮想オブジェクトを操作する操作のモード切り替えについて説明する。ユーザが仮想オブジェクトに対して手指で行う操作は、操作モード、言い換えれば仮想オブジェクトを操作する意図に応じて特徴に相違がある。したがって、アプリケーション実行部1201は、コントローラ110を通じて取得したユーザの手指の姿勢に基づいて、操作モードの切り替えを行うことができる。また、操作モードの切り替えを行う場合には、コントローラ110が手指姿勢認識部112を装備していることを前提とする。
E-1.2モード構成
 まず、ユーザが仮想オブジェクトを把持しようとしている「把持操作モード」と、それ以外(すなわち、把持しようとしていない)のモードの1つとして「接触動作モード」を例にとって、操作モードの切り替えについて説明する。例えば図10や図11に示したコントローラ110は手指姿勢認識部112を備えているので、手指の姿勢に基づいて操作のモードの切り替えを行うことができる。図27には、把持操作モードと接触操作モードの2モード構成としたARシステム100のモード遷移図を示している。
 把持操作モードは、ユーザが仮想オブジェクトを把持しようとしている操作モードである。ユーザが親指と人差し指を使って仮想オブジェクトを把持しようとしているとき、例えば図28に示すように、ユーザはあらかじめ親指と人差し指の指先同士を接近させている。したがって、アプリケーション実行部1201は、コントローラ110を通じて取得したユーザの親指と人差し指の姿勢に基づいて、ARシステム100を把持操作モードに切り替えることができる。
 把持操作モードでは、アプリケーション実行部1201は、上記D項でも既に説明したように、ARグラスを用いて以下のようなUI動作を実施する。
(1)ユーザの手に対して一定のオフセットを持った位置に仮想把持点を設定する(図21を参照のこと)。仮想把持点の位置をARグラスで表示してもよい。
(2)仮想把持点が把持検出領域に侵入すると、仮想オブジェクトの表示を切り替えて、ユーザに侵入タイミングを通知する(図22を参照のこと)。
(3)仮想把持点が把持検出領域内に存在しているときに、ユーザの指が把持操作を行うと、把持処理を実施する。把持状態の仮想オブジェクトの表示を切り替えて、ユーザに把持状態であることを通知する(図23を参照のこと)。
(4)把持状態では、ユーザの手と仮想オブジェクトの相対位置姿勢関係を保持する。ユーザの手の動きに追従して、仮想オブジェクトの位置姿勢を変化させる(図24及び図25を参照のこと)。
(5)ユーザが把持操作を解除すると、仮想オブジェクトとユーザの手との相対位置関係の拘束を解き、仮想オブジェクトを自由に動ける状態にする(図26を参照のこと)。
 一方、接触操作モードは、ユーザが仮想オブジェクトを把持しようとしていない操作モードである。接触操作モードでは、ユーザは親指と人差し指を使って仮想オブジェクトを把持しようとしていないので、例えば図29に示すように、親指とし久指の指先は離れている。アプリケーション実行部1201は、コントローラ110を通じて取得したユーザの親指と人差し指の姿勢に基づいて、ARシステム100を接触操作モードに切り替えることができる。
 接触操作モードでは、アプリケーション実行部1201は、例えばユーザの手の指、手のひら、及び手の甲にコライダーと呼ばれる接触判定用の要素を設定する。これによって、ユーザの手と仮想オブジェクトの間の接触による挙動を実現することができる。コライダーをARグラスで表示してもよい。手と仮想オブジェクトの接触による挙動は、接触による仮想オブジェクトの移動、はじき、受け止めなどであり、実空間における接触挙動と同様の挙動が実現される。なお、接触操作モードでは、仮想把持点や把持検出領域は設定されない。
 図30には、手と仮想オブジェクトの接触による挙動の一例として、ユーザが指先で仮想オブジェクト3001を押している様子を示している。仮想オブジェクト3001は実在しないので、指先はすり抜けてしまうが、アプリケーション実行部1201は、指先に接触判定用のコライダーを設定することで、図30に示すように、仮想オブジェクト3001がユーザの指先から押す力を受けて動くという挙動を実現することができる。また、図31には、他の例として、手のひらの上に仮想オブジェクト3101を乗せている様子を示している。仮想オブジェクト3101は実在しないので、手のひらをすり抜けて落下してしまうが、アプリケーション実行部1201は、手のひらに接触判定用のコライダーを設定することで、図31に示すように仮想オブジェクト3101が手のひらから反力を受けて、落下せず手のひらに乗ったままという挙動を実現することができる。
 本実施形態に係るARシステム100におけるユーザの手指と仮想オブジェクトとのインタラクションでは、「掴む」と「触る」が両立することを想定している。ユーザの意図に一致するようにロバストにインタラクションを検出したいという要求のため、ユーザの手指によるインタラクションを図27に示したように把持操作モードと接触操作モードを明確に切り分けている。例えば、空中で仮想オブジェクトに接触しないまま、指先接触によるインタラクションのトリガが発生した場合、把持操作モードにおける仮想把持点を非アクティブ化し、代わりに接触操作モードにおける接触判定用のコライダーをアクティブにする。このとき、指先の接触判定用のコライダーの位置は、仮想把持点の位置オフセットを使うことができる。接触の場合、仮想指先位置のローカルの姿勢情報も重要である。仮想指先位置を接触判定用に使用する場合には、姿勢のオフセットもキャリブレーションを行う必要がある。
E-2.3モード構成
 ARシステム100では、上述した把持操作モードと接触操作モードの他に、ユーザが手で仮想オブジェクトを操作するさまざまな操作モードをさらに定義することができる。そして、コントローラ110を通じて認識される手指の姿勢に基づいて操作モードの切り替えを行うことができる。
 上述した把持操作モードと接触操作モードの他に、例えば、「ボタン操作モード」をさらに追加することができる。図33には、把持操作モードと接触操作モードにボタン操作モードを追加した3モード構成としたARシステム100のモード遷移図を示している。
 ユーザはボタンを押そうとしているとき、図32に示すように人差し指を突き出す。したがって、アプリケーション実行部1201は、人差し指を突き出す姿勢を、コントローラ110を通じて取得すると、ARシステム100をボタン操作モードに切り替えることができる。
 ボタン操作モードでは、アプリケーション実行部1201は、ARグラスを用いて以下のようなUI動作を実施する。
(1)人差し指の指先位置に仮想押下点を設定して(図34を参照のこと)、仮想ボタンの操作が可能な状態となる。仮想押下点の位置をARグラスで表示してもよい。
(2)この状態で、ARグラスが表示する仮想ボタン上を人差し指が一定の条件で接触すると(図35を参照のこと)、仮想ボタンの動作が発動する。
 アプリケーション実行部1201は、コントローラ110を通じて、人差し指が仮想ボタンを一定の条件で接触したことを認識することができる。そして、アプリケーション実行部1201は、認識結果に基づいて、仮想ボタンに割り当てられた処理を起動する。
 仮想ボタンの接触操作に対して課される一定の条件は、例えば仮想ボタンの法線方向からの傾きが±45度の誤差に収まる方向から仮想押下点が仮想ボタンに触れられること、などである。この条件では、仮想ボタンが把持操作モードに対応する形で掴まれたり、接触操作モードに対応する形で移動させられたりするといった手指による誤操作が発生し難く、ボタンというUI要素として操作することのみ可能である。すなわち、この条件を課すことで、ボタン操作モードにおける仮想ボタンの押下操作の手指ジェスチャを、把持操作モードにおいて仮想オブジェクトを摘まむ操作のための手指ジェスチャや、接触操作モードにおいて仮想オブジェクトに接触するための手指ジェスチャと、正確に区別することができる。要するに、意図しないボタン操作や、仮想ボタン自体を移動する操作と混同しないように、ボタン操作モードにおける一定の条件を設定する。
 図27に示した2モード構成として、接触操作モードにおいていずれかの指の指先を使って仮想ボタンに接触したときに仮想ボタンに割り当てられた処理を実行するという実装も可能である。しかしながら、意図しないボタン操作による処理の誤作動を防止するには、図33に示したような3モード構成にするとともに、仮想ボタンの接触操作に対して一定の条件を課すことが有効である。
E-3.操作モードの判定方法
 上述したように、指の姿勢に応じて仮想オブジェクトとのインタラクションの操作モードを判定することができる。例えば、指の開き具合や指先同士の距離の情報を用いて、操作モードを判定することができる。操作モードの具体的な判定方法を、以下に挙げる。
(1)親指と人差し指の指先間の距離が所定値d以下で、且つ、両方の指の先端(末節)の向きのずれが一定値以内である場合には、把持操作モードと判定する。
(2)上記(1)に該当せず、且つ、人差し指の基節が一定角度以上開いており、さらに中指、薬指、小指の指先位置と手のひらとの距離がいずれも一定距離以内であれば、ボタン操作モードと判定する。
(3)上記(1)及び(2)のいずれにも該当しない場合には、接触操作モードと判定する。
 図36には、ユーザの操作モードを判定するための処理手順をフローチャートの形式で示している。この処理手順は、アプリケーション実行部1201が、ユーザの手の甲に設置されたコントローラ110を通じて得られる手指の姿勢に基づいて実行する。
 アプリケーション実行部1201は、まず、親指と人差し指の指先間の距離が所定値d以下であるかどうかをチェックする(ステップS3601)。そして、親指と人差し指の指先間の距離が所定値d以下であれば(ステップS3601のYes)、次いで、両方の指の先端(末節)の向きのずれが一定値以内であるかどうかをさらにチェックする(ステップS3602)。
 そして、親指と人差し指の指先間の距離が所定値d以下で(ステップS3601のYes)、且つ、両方の指の先端(末節)の向きのずれが一定値以内である場合には(ステップS3602のYes)、把持操作モードと判定する。
 アプリケーション実行部1201は、把持操作モードと判定すると、コントローラ110本体に対して一定のオフセットを持った位置に仮想把持点を設定する。そして、ARグラスを使って仮想把持点をユーザに提示するようにしてもよい。
 一方、親指と人差し指の指先間の距離が所定値dを超え(ステップS3601のNo)、又は両方の指の先端(末節)の向きのずれが一定値を超える場合には(ステップS3602のNo)、アプリケーション実行部1201は、人差し指の基節が一定角度以上開いているかどうかをさらにチェックする(ステップS3603)。そして、人差し指の基節が一定角度以上開いている場合には(ステップS3603のYes)、次いで、中指、薬指、小指の指先位置と手のひらとの距離がいずれも一定距離以内かどうかをチェックする(ステップS3604)。
 そして、人差し指の基節が一定角度以上開いており(ステップS3603のYes)、且つ、中指、薬指、小指の指先位置と手のひらとの距離がいずれも一定距離以内である場合には(ステップS3604のYes)、アプリケーション実行部1201は、ボタン操作モードと判定する。
 アプリケーション実行部1201は、ボタン操作モードと判定すると、人差し指の指先位置に仮想押下点を設定する。そして、ARグラスを使って仮想押下点をユーザに提示するようにしてもよい。
 また、人差し指の基節の開きが一定角度未満(ステップS3603のNo)、又は中指、薬指、小指の指先位置と手のひらの距離のいずれかが一定距離を超える場合には(ステップS3604のNo)、アプリケーション実行部1201は、接触操作モードと判定する。
 アプリケーション実行部1201は、接触操作モードと判定すると、ユーザの手の指、手のひら、及び手の甲にコライダーを設定する。そして、ARグラスを使ってコライダーをユーザに提示するようにしてもよい。
E-4.操作モードの判定結果の訂正方法
 上記E-3項で説明した操作モードの判定方法では、親指と人差し指の指先間の距離が所定値d以下であることが、把持操作モードの必須の条件となる。ところが、仮想オブジェクトの形状や大きさによっては、ユーザが把持を実行しようとしたときに、仮想オブジェクトの大きさのために指先間が所定値dを超えて開いた状態となり、接触操作モードに近い手指の姿勢になることが生じ得る。
 このように、アプリケーション実行部1201は、コントローラ110を通じて得られる手指の姿勢に基づいて、ユーザの意図と異なる操作モードに判定してしまう可能性がある。このような場合、ユーザは、発話によって「把持操作モード」など意図する操作モードをARシステム100に直接指示するようにしてもよい。アプリケーション実行部1201は、マイク123から入力された発話内容に基づいて、一度判定した操作モードから、ユーザが直接指示した操作モードに切り替えるようにしてもよい。
 また、コントローラ110が手指姿勢認識部112を装備しないARシステム100では、ユーザが発話により操作モードの切り替えを直接指示するようにしてもよい。
E-5.複数の操作モードの同居
 上記E-3項で説明した操作モードの判定方法では、複数の操作モードのうちいずれか1つを択一的に判定する。また、図27や図33に示したモード遷移図は、ARシステム100はいずれか1つの操作モードを設定することを前提とする。その変形例として、複数の操作モードを同居させて仮想オブジェクトの制御を行うことも考えられる。
 例えば、把持操作モードにおいて、仮想オブジェクトが移動してユーザの手に近づいてきたときに、接触操作モードと同様にユーザの手の指、手のひら、及び手の甲にコライダーを設定して、仮想オブジェクトとユーザの手との位置関係に基づいて、仮想オブジェクトを手のひらに乗せることが可能になる。
E-6.ユーザ操作に対するオブジェクトの挙動
 机の上に仮想オブジェクトが置かれている状況において、ユーザは、仮想オブジェクトを把持操作又は接触操作することができるが、机については把持操作も接触操作も行うことができないような設定とすることが自然である。
 そこで、図27や図33に示したような、手指の姿勢に基づく操作モードの設定とは別に、仮想オブジェクト毎に、ユーザの手による操作が行われたときの挙動を個別に設定して、ユーザの手と仮想オブジェクトとのインタラクションを実現するようにしてもよい。仮想オブジェクト毎のユーザ操作に対する挙動は、形状や大きさ、カテゴリなどに応じて設定するようにすればよい。例えば、小さくて軽い仮想オブジェクトに対しては、ユーザの把持操作や接触操作が可能であるが、机のように大きくて重い仮想オブジェクトに対しては、ユーザの把持操作や接触操作によって動かない(言い換えれば、把持操作や接触操作ができない)という設定にする。また、同じ仮想オブジェクトに対して、操作モード毎にユーザ操作に対する異なる挙動を設定するようにしてもよい。
E-7.複数の操作モードの併存
 図27や図33に示したような、手指の姿勢に基づいて操作モードの切り替えを行う場合、指先間距離などのデータが閾値付近にあり、モードの判定が難しい状況が発生し得る。このような場合、判定が困難な2以上の操作モードを同時に並存させるようにしてもよい。
 例えば、把持操作モードとボタン操作モードを併存させている状況において、ユーザの手のそばに仮想ボタンが配置されているケースについて説明する。このような場合、アプリケーション実行部1201は、手の甲に対して一定のオフセットを持った位置に仮想把持点を設定するとともに、人差し指の指先位置に仮想押下点を設定する。アプリケーション実行部1201は、仮想把持点が仮想ボタンに衝突しても仮想空間に変化を生じさせない。また、アプリケーション実行部1201は、仮想押下点が仮想ボタンに触れるという仮想ボタンの押下操作が行われると、仮想ボタンの動作を発動する。
F.仮想把持点の位置のキャリブレーション
 図10や図11に示したような手指姿勢認識部112を装備したコントローラ110を用いるARシステム100では、アプリケーション実行部1201は、手指の姿勢に基づいてユーザの操作モードを判定して、操作モード毎の仮想オブジェクトに対するユーザ操作を行うことができる。
 一方、手指姿勢認識部112を装備しないコントローラ110を用いるARシステム100においても、アプリケーション実行部1201は、図20~図26に示したような、仮想把持点を用いた仮想オブジェクトの把持操作を行うことができる。但し、コントローラ110が、図9に示したような、指先の接触認識などの手指ジェスチャ認識部113を装備していることが前提となる。
F-1.キャリブレーション方法(1)
 ここまでの説明では、図18に示したように、ユーザの親指と人差し指の指先同士が接触し、指先の動きが接触により拘束されている状態を、仮想オブジェクトを把持している状態と認識することを前提とした。これに対し、図10や図11に示したような手指姿勢認識部112を装備したコントローラ110を用いるARシステム100では、把持動作を行うときの指先の位置などの手指の姿勢情報を記録しておくことで、指先同士が接触していない状態でも、仮想オブジェクトの把持を実現することができる。例えば、仮想把持点が把持検出領域に侵入したときに、把持動作として記録しておいた手指の姿勢になったことにより、アプリケーション実行部1201は、仮想オブジェクトの把持フローを起動することができる。
 例えば、ユーザが手の甲にコントローラ110を装着したときに、仮想把持点の位置設定のためのキャリブレーションとして、ユーザに把持動作を行うときの指先の位置にするように指示して、記録しておくようにしてもよい。
F-2.キャリブレーション方法(2)
 図9に示したような手指姿勢認識部112を装備しないコントローラ110を用いるARシステム100では、上記とは異なる方法で、仮想把持点のキャリブレーションを行う。例えば、ユーザの手の大きさや性別、身長などの身体情報を取得して、身体情報に基づいてユーザの手の大きさを推定し、推定した手の大きさに基づく一定のオフセットを持った位置に仮想把持点を設定するようにしてもよい。なお、ユーザの身体情報は、ユーザの発話やその他の入力デバイスを用いてARシステム100に入力するようにしてもよいが、ユーザがARグラスを装着したときに頭部センサ部120などを通じて得られる空間位置情報に基づいて、ユーザの身体情報を推測するようにしてもよい。
 個人差により、同じ身長の人であっても手の大きさや指の長さの違いがある場合には、ユーザの身体情報から推測される手の大きさに基づいて設定される仮想把持点は正確でないことが懸念される。また、仮想把持点は、把持に用いる指先同士が接触することが想定される位置であり、本来はユーザの手に対して一定のオフセットを持った位置に設定されるべきであるが、便宜上、コントローラ110本体に対して一定のオフセットを持った位置に設定される。このため、手の甲にコントローラ110を装着したときの位置によっても、仮想把持点は変化する。例えば、コントローラ110を装着する度に、ユーザの手に対する仮想把持点のオフセットが変化する。
 そこで、図9に示したような手指姿勢認識部112を装備しないコントローラ110を用いるARシステム100では、手位置検出部111を使って正確に検出可能な手の位置の情報を検出して、仮想把持点のキャリブレーションを行う方法が有効である。
 図37には、コントローラ110の手位置検出部111によって検出される手の位置の情報に基づいて仮想把持点のキャリブレーションを行う方法を示している。図37に示す例では、ユーザの右手と左手の手の甲にそれぞれ装着された2台のコントローラ110R及び110Lを使ってキャリブレーションを行う。
 ユーザが右手と左手の手の甲にそれぞれコントローラ110R及び110Lを装着した後に、ユーザに、図37に示すような手指姿勢をとるように指示する。ここで言う手指姿勢は、左手の手の甲に装着したコントローラ110L本体の特定の位置で、右手の親指と他の指(人差し指など)の指先を接触させる姿勢である。アプリケーション実行部1201は、ユーザが図37に示すような手指姿勢に導くように、ARグラスでガイドによる指示を表示するようにしてもよい。
 そして、ユーザに手指姿勢を指示してから所定の時間が経過したときに、各コントローラ110R及び110Lで検出された右手の手位置及び左手の手位置を記録する。図37に示す例では、左手の手の甲に装着したコントローラ110L本体の特定の位置で、右手の指先同士を接触させる手指姿勢を指示する方法なので、2つのコントローラ110R及び110Lの相対的な位置情報から、右手の手の甲に装着したコントローラ110R本体に対して一定のオフセットを持った右手の仮想把持点の位置を直接求めることができる。具体的には、図38に示すように、コントローラ110R本体の位置に対する、コントローラ110Lの特定の位置のオフセット量に基づいて、右手の仮想把持点を求めることができる。
 なお、図37は、右手の仮想把持点のキャリブレーションを行う例を示している。左手の仮想把持点のキャリブレーションを行う場合には、左右を反転して、ユーザに左手の手指姿勢をとるように指示して、上記と同様の方法で左手の仮想把持点を算出するようにすればよい。あるいは、左右で差はないものとして、右手で算出した仮想把持点の位置を左右反転して、左手の仮想把持点の位置を設定するようにして、キャリブレーションを1度だけで済ませるようにしてもよい。
 また、上述した方法とは別に、例えば図1~図3に示したように、ベルト11をユーザの手の甲に巻き付けて装着する構造のコントローラ10において、ベルト11の巻き付け長をセンサで検出することで、手の周長の情報を得て、その周長に対応する指の長さを推定して、コントローラ10本体に対する仮想把持点のオフセット距離を算出する方法も考えられる。
G.仮想把持点位置のランニングキャリブレーション
 仮想把持点は、現在の手の位置で把持操作を行うとき(又は、把持操作モードにおいて)、把持に用いる指先同士が接触することが想定される位置である。図39には、本来あるべき仮想把持点3901の位置よりも指先から離れた位置に、誤って仮想把持点3902が設定されてしまった様子を示している。
 このような場合、図40に示すように、誤って遠い位置に設定された仮想把持点3902が把持検出領域に侵入したタイミングで、仮想オブジェクトの周囲にオーラが発生する。そして、ユーザは、誤って遠い位置に設定された仮想把持点3902を目標にして仮想オブジェクトを把持しようとするので、図41に示すように、仮想オブジェクトの中央から外れた位置で仮想オブジェクトを摘まもうとすることになる。その結果、ARグラス越しにユーザが観察する仮想オブジェクトの把持操作は不自然な映像でリアリティのない映像になってしまう。
 アプリケーション実行部1201は、仮想オブジェクトを配置した位置と、コントローラ110を通じて取得される指先同士の接触位置との相対的な位置関係に基づいて、コントローラ110本体に対する仮想把持点のオフセット量の補正値を検出して、ランニングキャリブレーションを行うようにしてもよい。
 手指姿勢認識部を装備しないコントローラ110を使用する場合に、仮想把持点を誤った位置に設定したために、仮想オブジェクトの範囲外や仮想オブジェクトの中心から遠い場所での把持が連続して発生する。アプリケーション実行部1201は、このような誤った把持操作の傾向から、仮想把持点が誤った位置に設定されていると仮定して、本来は把持が行われるはずの仮想オブジェクトの中心位置に仮想把持点の位置を徐々に近付けるといった処理を行うことで、仮想把持点位置のランニングキャリブレーションを行うようにする。
 仮想把持点は、現在の手の位置で把持操作を行うときに、把持に用いる指先同士が接触することが想定される位置である(前述)。仮想オブジェクトの中心付近に仮想把持点が位置する状態で把持できることが理想である。図39に示したように理想的な位置3901から外れた位置に仮想把持点3902が設定されると、図42に示すように、仮想オブジェクトの中央4201から外れた位置4202で把持される状況が頻発する。そこで、アプリケーション実行部1201は、誤った把持操作の傾向から、仮想把持点が誤った位置に設定されていると仮定して、本来は把持が行われるはずの仮想オブジェクトの中心位置に仮想把持点の位置を徐々に近付けるといった処理を行うことで、仮想把持点位置のランニングキャリブレーションを行う。ランニングキャリブレーションを実施すると、ユーザは、図21~図26に示したような、正常でリアリティのある仮想オブジェクトの把持動作を行うことができるようになる。
H.仮想把持点(領域)の大きさ制御
 仮想把持点は、現在の手の位置で把持操作を行うとき(又は、把持操作モードにおいて)、把持に用いる指先同士が接触することが想定される位置に設定される。仮想オブジェクトの把持フローにおいて(例えば、図21~図26を参照のこと)、ARグラスで仮想把持点を示すマーカーを表示するようにすれば、ユーザは、仮想把持点が仮想オブジェクトと衝突している状態であることを認識することができる。
 仮想把持点と仮想オブジェクトの衝突判定のために、仮想オブジェクトに規定されるヒットエリアは、仮想オブジェクトの見た目上の大きさと一致している必要はなく、例えばヒットエリアを仮想オブジェクトの大きさよりも1割程度大きく設定するようにしてもよい。
 また、仮想把持点を、領域を持たない点ではなく、領域体積を持った球体などの「仮想把持領域」として扱い、この領域の大きさを制御するようにしてもよい。例えば、手に近い把持対象物が小さい場合には、仮想把持領域のサイズを大きくすることで、ユーザは小さい把持対象物の把持を容易に実施することができるようになる。
 また、手と顔の位置が近い場合には、その分だけ把持操作がし難くなることが考えられる。そこで、仮想把持領域のサイズを大きくすることで、ユーザは顔の位置に近い把持対象物の把持を容易に実施することができるようになる。
I.仮想把持点の視認性の向上
 ARシステム100は、把持操作モードにおいて、図43に示すように手の甲に対して一定のオフセットを持った位置に仮想把持点4301を表示する。但し、図43では、簡素化のため、コントローラ110を省略して描いている。ところが、ユーザ自身の手によるオクルージョンで、図44に示すように、仮想把持点4401を視認することが難しい状況が起き得る。
 そこで、ユーザ自身の手によるオクルージョンで仮想把持点が隠れてしまう場合であっても、視認し易くする表示方法で、仮想把持点を表示するようにしてもよい。図45には、仮想把持点4501を「点」から「十字」に変えることによって、視認性を向上させている例を示している。仮想把持点4501の位置自体が手によるオクルージョンで隠れてしまっていても、ユーザは十字が交差する位置に仮想把持点4501があることを理解することができる。アプリケーション実行部1201は、コントローラを通じて取得した手の位置に基づいて手による仮想把持点のオクルージョンを検出し、又は外向きカメラ121の撮影画像に基づいて手による仮想把持点のオクルージョンを検出すると、仮想把持点の表示方法の切り替えを行うにすればよい。
 また、近くの(例えば、把持しようとしている)仮想オブジェクトと同一の色で仮想把持点を表示すると、視認し難くなる。したがって、他の仮想オブジェクトの補色を用いて仮想把持点を表示するようにして、視認性を向上させてもよい。
 また、接触操作モードにおいてコライダーを表示する場合や、ボタン操作モードにおいて仮想押下点を表示する場合も同様に、対象とする仮想オブジェクトや仮想ボタンの補色を用いてコライダーや仮想押下点を表示するようにすれば、視認性が向上する。
J.効果
 本開示に係るARシステム100は、ユーザの手の甲に設置されたコントローラの位置を検出し、そこから一定のオフセットを持った位置に仮想把持点を設定して、仮想把持点との仮想オブジェクトの位置関係と、仮想オブジェクトを把持しようとする指先同士の接触状態に基づいて、把持インタラクションを行うように構成されている。オクルージョンや検出精度の問題などで指の位置を正確に検出できない場合であっても、コントローラの位置姿勢の情報に基づいて、ユーザによる直感的且つ違和感のない仮想オブジェクトの把持インタラクションを実現することができる。
 また、本開示に係るARシステム100は、コントローラを通じて取得した手指の姿勢情報に基づいて、ユーザの手指が仮想オブジェクトに対して行う操作モードの切り替えを行うように構成されている。操作モードには、指先同士の接触によって仮想オブジェクトを把持する把持操作モードや、手のひらや指先で仮想オブジェクトに接触する接触操作モードが含まれる。したがって、ユーザは、同じ仮想オブジェクトに対する把持操作や接触操作を、UIなどのアシストを伴わずに、複数の操作を簡単且つ直感的に行うことができる。
 また、本開示に係るARシステム100は、コントローラを通じて取得した手指の姿勢情報に基づいて、把持操作モードや接触操作モードの他に、指先で仮想ボタンを押すボタン操作モードへの切り替えを含めた3モードの切り替えを行うように構成されている。したがって、ユーザは、3つの操作モードを負荷なく直覚的に切り替えることができ、仮想オブジェクトに対する意図した通りの操作を円滑に実現することができる。また、ユーザが意図しない仮想ボタンの押下操作の発動を防止することができる。
 また、本開示に係るARシステム100は、コントローラを通じて取得した手の位置情報に基づいて、仮想把持点の位置のキャリブレーションを行うように構成されている。ユーザの手の大きさには個人差があり、また手の甲にコントローラを設置する度に、手の甲に対するコントローラの位置が変わることが想定される。このため、コントローラの位置に対する仮想把持点のオフセットは、個人差やコントローラの設置位置によって変動する。本開示に係るARシステム100によれば、キャリブレーションによって正確な仮想把持点に補正することができるので、各ユーザが、手の甲にコントローラを設置した際に、適切な仮想オブジェクトの把持操作を行うことができる。
 また、本開示に係るARシステム100は、把持操作モードにおいてユーザが仮想オブジェクトの把持操作を行ったときの、指先同士の接触位置と仮想把持点のズレ量に基づいて、手の甲に対する仮想把持点のオフセット量の補正値を算出して、仮想把持点の位置の動的なキャリブレーションを行うように構成されている。したがって、ユーザが仮想オブジェクトの把持操作を行いながら、指先同士の接触位置と仮想把持点の位置の不一致が、自然に解消される。
 また、本開示に係るARシステム100は、ARグラスを使って仮想把持点を表示して、ユーザの仮想オブジェクトの把持操作を支援することができる。また、本開示に係るARシステム100は、接触操作モードでは手のひらや指先に接触判定用のコライダーを表示したり、ボタン操作モードでは仮想ボタンを押す指先に仮想押下点を表示したりして、操作モード毎にユーザによる仮想オブジェクトの操作を支援することができる。
 また、本開示に係るARシステム100は、把持操作モードにおいて、仮想把持点とユーザの手のオクルージョンにより仮想把持点の視認性が損なわれる状況において、仮想把持点の表示方法を変化させるように構成されている。したがって、手による仮想把持点のオクルージョンが発生したとしても、表示方法を変化させて仮想把持点の視認性が確保されるので、ユーザは、仮想把持点の位置を把握しながら用意に仮想オブジェクトの把持操作を行うことができる。
 以上、特定の実施形態を参照しながら、本開示について詳細に説明してきた。しかしながら、本開示の要旨を逸脱しない範囲で当業者が該実施形態の修正や代用を成し得ることは自明である。
 本明細書では、主に本開示に係る指先と仮想オブジェクトのインタラクションをARシステムに適用した実施形態を中心に説明してきたが、本開示の要旨はこれに限定されるものではない。例えば、仮想空間を現実として知覚させるVRシステムや現実と仮想を交錯させるMRシステムなどにも、同様に本開示を適用して、指先と仮想オブジェクトのインタラクションを実現することができる。
 要するに、例示という形態により本開示について説明してきたのであり、本明細書の記載内容を限定的に解釈するべきではない。本開示の要旨を判断するためには、特許請求の範囲を参酌すべきである。
 なお、本明細書の開示の技術は、以下のような構成をとることも可能である。
(1)ユーザの手の位置と手指のジェスチャを取得する取得部と、
 実空間に仮想オブジェクトを重畳表示する表示装置の表示動作を制御する制御部と、
を具備し、
 前記制御部は、手に対して一定のオフセットを持った位置に仮想把持点を設定し、仮想把持点と仮想オブジェクトの位置関係と指先同士の接触状態に基づいて、仮想オブジェクトの把持動作を表示するように前記表示装置を制御する、
情報処理装置。
(2)前記取得部は、前記手の甲に取り付けられたセンサからのセンサ情報に基づいて前記手の位置と手指のジェスチャを取得する、
上記(1)に記載の情報処理装置。
(3)前記取得部は、ユーザの手指の姿勢をさらに取得し、
 前記制御部は、手指の姿勢情報に基づいて、ユーザの手指が仮想オブジェクトに対して行う操作モードの切り替えを制御する、
上記(1)又は(2)のいずれかに記載の情報処理装置。
(4)前記制御部は、指先同士の接触によって仮想オブジェクトを把持する把持操作モードと、手のひら又は指先で仮想オブジェクトに接触する接触操作モードへのモード切り替えを制御する、
上記(3)に記載の情報処理装置。
(5)前記制御部は、指先で仮想ボタンを押すボタン操作モードへのモード切り替えをさらに制御する、
上記(4)に記載の情報処理装置。
(6)前記制御部は、指の開き具合又は指先同士の距離の情報を用いて、操作モードを判定する、
上記(3)乃至(5)のいずれかに記載の情報処理装置。
(7)前記制御部は、前記取得部が取得した手の位置に基づいて、仮想把持点の位置のキャリブレーションを行う、
上記(1)乃至(6)のいずれかに記載の情報処理装置。
(8)前記制御部は、ユーザが仮想オブジェクトの把持操作を行ったときの、指先同士の接触位置と仮想把持点のズレ量に基づいて、手に対する仮想把持点のオフセット量の補正値を算出して、仮想把持点の位置のキャリブレーションを行う、
上記(1)乃至(7)のいずれかに記載の情報処理装置。
(9)前記制御部は、前記表示装置による仮想把持点の表示を制御する、
上記(1)乃至(8)のいずれかに記載の情報処理装置。
(10)前記制御部は、仮想把持点とユーザの手のオクルージョンにより仮想把持点の視認性が損なわれる状況において、仮想把持点の表示方法を変化させるように前記表示装置を制御する、
上記(9)に記載の情報処理装置。
(11)ユーザの手の位置と手指のジェスチャを取得する取得ステップと、
 実空間に仮想オブジェクトを重畳表示する表示装置の表示動作を制御する制御ステップと、
を有し、
 前記制御ステップでは、手に対して一定のオフセットを持った位置に仮想把持点を設定し、仮想把持点と仮想オブジェクトの位置関係と指先同士の接触状態に基づいて、仮想オブジェクトの把持動作を表示するように前記表示装置を制御する、情報処理方法。
(12)ユーザの手の位置と手指のジェスチャを取得する取得部、
 実空間に仮想オブジェクトを重畳表示する表示装置の表示動作を制御する制御部、
としてコンピュータが機能するようにコンピュータ可読形式で記述され、
 前記制御部は、手に対して一定のオフセットを持った位置に仮想把持点を設定し、仮想把持点と仮想オブジェクトの位置関係と指先同士の接触状態に基づいて、仮想オブジェクトの把持動作を表示するように前記表示装置を制御する、
コンピュータプログラム。
(13)実空間に仮想オブジェクトを重畳表示する表示装置と、
 ユーザの手の位置と手指のジェスチャを取得する取得部と、
 前記表示装置の表示動作を制御する制御部と、
を具備し、
 前記制御部は、手に対して一定のオフセットを持った位置に仮想把持点を設定し、仮想把持点と仮想オブジェクトの位置関係と指先同士の接触状態に基づいて、仮想オブジェクトの把持動作を表示するように前記表示装置を制御する、
拡張現実感システム。
 10…コントローラ、11…ベルト
 100…ARシステム、110…コントローラ、111…手位置検出部
 112…手指姿勢認識部、113…手指ジェスチャ認識部
 114、触覚フィードバック部、120…頭部センサ部
 121…外向きカメラ、122…内向きカメラ、123…マイク
 124…ジャイロセンサ、125…加速度センサ、126…方位センサ
 131…表紙部、132…スピーカー、133…通信部、140…制御部
 150…記憶部
 300…ARシステム、301…ARグラス、302…コントローラ
 400…ARシステム、401…ARグラス、402…コントローラ
 403…情報端末
 500…コントローラ、501、502、503…IMU
 511、512、513…バンド

Claims (13)

  1.  ユーザの手の位置と手指のジェスチャを取得する取得部と、
     実空間に仮想オブジェクトを重畳表示する表示装置の表示動作を制御する制御部と、
    を具備し、
     前記制御部は、手に対して一定のオフセットを持った位置に仮想把持点を設定し、仮想把持点と仮想オブジェクトの位置関係と指先同士の接触状態に基づいて、仮想オブジェクトの把持動作を表示するように前記表示装置を制御する、
    情報処理装置。
  2.  前記取得部は、前記手の甲に取り付けられたセンサからのセンサ情報に基づいて前記手の位置と手指のジェスチャを取得する、
    請求項1に記載の情報処理装置。
  3.  前記取得部は、ユーザの手指の姿勢をさらに取得し、
     前記制御部は、手指の姿勢情報に基づいて、ユーザの手指が仮想オブジェクトに対して行う操作モードの切り替えを制御する、
    請求項1に記載の情報処理装置。
  4.  前記制御部は、指先同士の接触によって仮想オブジェクトを把持する把持操作モードと、手のひら又は指先で仮想オブジェクトに接触する接触操作モードへのモード切り替えを制御する、
    請求項3に記載の情報処理装置。
  5.  前記制御部は、指先で仮想ボタンを押すボタン操作モードへのモード切り替えをさらに制御する、
    請求項4に記載の情報処理装置。
  6.  前記制御部は、指の開き具合又は指先同士の距離の情報を用いて、操作モードを判定する、
    請求項3に記載の情報処理装置。
  7.  前記制御部は、前記取得部が取得した手の位置に基づいて、仮想把持点の位置のキャリブレーションを行う、
    請求項1に記載の情報処理装置。
  8.  前記制御部は、ユーザが仮想オブジェクトの把持操作を行ったときの、指先同士の接触位置と仮想把持点のズレ量に基づいて、手に対する仮想把持点のオフセット量の補正値を算出して、仮想把持点の位置のキャリブレーションを行う、
    請求項1に記載の情報処理装置。
  9.  前記制御部は、前記表示装置による仮想把持点の表示を制御する、
    請求項1に記載の情報処理装置。
  10.  前記制御部は、仮想把持点とユーザの手のオクルージョンにより仮想把持点の視認性が損なわれる状況において、仮想把持点の表示方法を変化させるように前記表示装置を制御する、
    請求項9に記載の情報処理装置。
  11.  ユーザの手の位置と手指のジェスチャを取得する取得ステップと、
     実空間に仮想オブジェクトを重畳表示する表示装置の表示動作を制御する制御ステップと、
    を有し、
     前記制御ステップでは、手に対して一定のオフセットを持った位置に仮想把持点を設定し、仮想把持点と仮想オブジェクトの位置関係と指先同士の接触状態に基づいて、仮想オブジェクトの把持動作を表示するように前記表示装置を制御する、
    情報処理方法。
  12.  ユーザの手の位置と手指のジェスチャを取得する取得部、
     実空間に仮想オブジェクトを重畳表示する表示装置の表示動作を制御する制御部、
    としてコンピュータが機能するようにコンピュータ可読形式で記述され、
     前記制御部は、手に対して一定のオフセットを持った位置に仮想把持点を設定し、仮想把持点と仮想オブジェクトの位置関係と指先同士の接触状態に基づいて、仮想オブジェクトの把持動作を表示するように前記表示装置を制御する、
    コンピュータプログラム。
  13.  実空間に仮想オブジェクトを重畳表示する表示装置と、
     ユーザの手の位置と手指のジェスチャを取得する取得部と、
     前記表示装置の表示動作を制御する制御部と、
    を具備し、
     前記制御部は、手に対して一定のオフセットを持った位置に仮想把持点を設定し、仮想把持点と仮想オブジェクトの位置関係と指先同士の接触状態に基づいて、仮想オブジェクトの把持動作を表示するように前記表示装置を制御する、
    拡張現実感システム。
PCT/JP2021/002883 2020-03-24 2021-01-27 情報処理装置及び情報処理方法、コンピュータプログラム、並びに拡張現実感システム WO2021192589A1 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
EP21775558.6A EP4099135A4 (en) 2020-03-24 2021-01-27 INFORMATION PROCESSING APPARATUS, INFORMATION PROCESSING METHOD, COMPUTER PROGRAM AND SYSTEM FOR AUGMENTED REALITY CAPTURE
CN202180021726.1A CN115298646A (zh) 2020-03-24 2021-01-27 信息处理设备、信息处理方法、计算机程序和增强现实感测系统
JP2022509330A JPWO2021192589A1 (ja) 2020-03-24 2021-01-27
US17/906,321 US20230095328A1 (en) 2020-03-24 2021-01-27 Information processing apparatus, information processing method, computer program, and augmented reality system

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2020053386 2020-03-24
JP2020-053386 2020-03-24

Publications (1)

Publication Number Publication Date
WO2021192589A1 true WO2021192589A1 (ja) 2021-09-30

Family

ID=77891293

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2021/002883 WO2021192589A1 (ja) 2020-03-24 2021-01-27 情報処理装置及び情報処理方法、コンピュータプログラム、並びに拡張現実感システム

Country Status (5)

Country Link
US (1) US20230095328A1 (ja)
EP (1) EP4099135A4 (ja)
JP (1) JPWO2021192589A1 (ja)
CN (1) CN115298646A (ja)
WO (1) WO2021192589A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2023067744A (ja) * 2021-10-31 2023-05-16 鴻富錦精密電子(煙台)有限公司 姿勢認識方法、姿勢認識機器及び記憶媒体
WO2023176420A1 (ja) * 2022-03-18 2023-09-21 ソニーグループ株式会社 情報処理装置及び情報処理方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000501033A (ja) * 1995-11-30 2000-02-02 ヴァーチャル テクノロジーズ インコーポレイテッド 触覚をフィードバックする人間/機械インターフェース
JP2004234253A (ja) * 2003-01-29 2004-08-19 Canon Inc 複合現実感呈示方法
JP2011128220A (ja) * 2009-12-15 2011-06-30 Toshiba Corp 情報提示装置、情報提示方法及びプログラム
JP2018013938A (ja) * 2016-07-20 2018-01-25 株式会社コロプラ 仮想空間を提供する方法、仮想体験を提供する方法、プログラム、および記録媒体
JP2019046291A (ja) 2017-09-05 2019-03-22 株式会社ソニー・インタラクティブエンタテインメント 情報処理装置および画像表示方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10198855B2 (en) * 2016-07-20 2019-02-05 Colopl, Inc. Method of providing virtual space, method of providing virtual experience, system and medium for implementing the methods
US11875012B2 (en) * 2018-05-25 2024-01-16 Ultrahaptics IP Two Limited Throwable interface for augmented reality and virtual reality environments
US11422623B2 (en) * 2019-10-23 2022-08-23 Interlake Research, Llc Wrist worn computing device control systems and methods

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000501033A (ja) * 1995-11-30 2000-02-02 ヴァーチャル テクノロジーズ インコーポレイテッド 触覚をフィードバックする人間/機械インターフェース
JP2004234253A (ja) * 2003-01-29 2004-08-19 Canon Inc 複合現実感呈示方法
JP2011128220A (ja) * 2009-12-15 2011-06-30 Toshiba Corp 情報提示装置、情報提示方法及びプログラム
JP2018013938A (ja) * 2016-07-20 2018-01-25 株式会社コロプラ 仮想空間を提供する方法、仮想体験を提供する方法、プログラム、および記録媒体
JP2019046291A (ja) 2017-09-05 2019-03-22 株式会社ソニー・インタラクティブエンタテインメント 情報処理装置および画像表示方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2023067744A (ja) * 2021-10-31 2023-05-16 鴻富錦精密電子(煙台)有限公司 姿勢認識方法、姿勢認識機器及び記憶媒体
JP7402941B2 (ja) 2021-10-31 2023-12-21 鴻富錦精密電子(煙台)有限公司 姿勢認識方法、姿勢認識機器及び記憶媒体
WO2023176420A1 (ja) * 2022-03-18 2023-09-21 ソニーグループ株式会社 情報処理装置及び情報処理方法

Also Published As

Publication number Publication date
EP4099135A4 (en) 2023-10-11
EP4099135A1 (en) 2022-12-07
US20230095328A1 (en) 2023-03-30
JPWO2021192589A1 (ja) 2021-09-30
CN115298646A (zh) 2022-11-04

Similar Documents

Publication Publication Date Title
US10191281B2 (en) Head-mounted display for visually recognizing input
JP6669069B2 (ja) 検出装置、検出方法、制御装置、および制御方法
US9529442B2 (en) Head mounted display providing eye gaze calibration and control method thereof
US20150002475A1 (en) Mobile device and method for controlling graphical user interface thereof
AU2013347935B2 (en) Computing interface system
US9223494B1 (en) User interfaces for wearable computers
US9223402B2 (en) Head mounted display and method of controlling digital device using the same
WO2021192589A1 (ja) 情報処理装置及び情報処理方法、コンピュータプログラム、並びに拡張現実感システム
US20170293351A1 (en) Head mounted display linked to a touch sensitive input device
US20140368428A1 (en) System and Method For Enhanced Gesture-Based Interaction
KR20140090968A (ko) 시선 캘리브레이션을 제공하는 헤드 마운트 디스플레이 및 그 제어 방법
KR20140090549A (ko) 시선 캘리브레이션을 제공하는 헤드 마운트 디스플레이 디바이스 및 그 제어 방법
WO2018003862A1 (ja) 制御装置、表示装置、プログラムおよび検出方法
US20220317462A1 (en) Information processing apparatus, information processing method, and program
US11630520B1 (en) Systems and methods for sensing gestures via vibration-sensitive wearables donned by users of artificial reality systems
KR20130049152A (ko) 입체 인터랙션 시스템 및 입체 인터랙션 방법
WO2021145067A1 (ja) 情報処理装置及び情報処理方法、コンピュータプログラム、並びに拡張現実感システム
KR20190059726A (ko) 가상현실 환경에서의 사용자와 객체 간 상호 작용 처리 방법
WO2022014445A1 (ja) 検出装置及び検出方法
WO2021145068A1 (ja) 情報処理装置及び情報処理方法、コンピュータプログラム、並びに拡張現実感システム
US20230341936A1 (en) Information processing device, information processing method, computer program, and augmented reality system
JP2012083866A (ja) 指取り付け型触覚再現機能付き処理装置
WO2020026380A1 (ja) 表示装置、表示方法、プログラム、ならびに、非一時的なコンピュータ読取可能な情報記録媒体
US20240103629A1 (en) Control device and control method
WO2024090303A1 (ja) 情報処理装置及び情報処理方法

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 21775558

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2022509330

Country of ref document: JP

Kind code of ref document: A

ENP Entry into the national phase

Ref document number: 2021775558

Country of ref document: EP

Effective date: 20220903

NENP Non-entry into the national phase

Ref country code: DE