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

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

Info

Publication number
WO2021145067A1
WO2021145067A1 PCT/JP2020/043516 JP2020043516W WO2021145067A1 WO 2021145067 A1 WO2021145067 A1 WO 2021145067A1 JP 2020043516 W JP2020043516 W JP 2020043516W WO 2021145067 A1 WO2021145067 A1 WO 2021145067A1
Authority
WO
WIPO (PCT)
Prior art keywords
user
application
information processing
unit
orientation
Prior art date
Application number
PCT/JP2020/043516
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 JP2021570663A priority Critical patent/JPWO2021145067A1/ja
Priority to US17/758,521 priority patent/US20230031913A1/en
Publication of WO2021145067A1 publication Critical patent/WO2021145067A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/006Mixed reality
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/01Head-up displays
    • G02B27/017Head mounted
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/01Head-up displays
    • G02B27/017Head mounted
    • G02B27/0172Head mounted characterised by optical features
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • 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/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/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
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/20Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/60Analysis of geometric attributes
    • G06T7/62Analysis of geometric attributes of area, perimeter, diameter or volume
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/10Image acquisition
    • G06V10/12Details of acquisition arrangements; Constructional details thereof
    • G06V10/14Optical characteristics of the device performing the acquisition or on the illumination arrangements
    • G06V10/143Sensing or illuminating at different wavelengths
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/20Scenes; Scene-specific elements in augmented reality scenes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/60Type of objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/107Static hand or arm
    • G06V40/11Hand-related biometrics; Hand pose recognition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/20Movements or behaviour, e.g. gesture recognition
    • G06V40/28Recognition of hand or arm movements, e.g. recognition of deaf sign language
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/36Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/01Head-up displays
    • G02B27/0101Head-up displays characterised by optical features
    • G02B2027/0138Head-up displays characterised by optical features comprising image capture systems, e.g. camera
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/01Head-up displays
    • G02B27/0101Head-up displays characterised by optical features
    • G02B2027/014Head-up displays characterised by optical features comprising information/image processing systems
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/01Head-up displays
    • G02B27/017Head mounted
    • G02B2027/0178Eyeglass type
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/01Head-up displays
    • G02B27/0179Display position adjusting means not related to the information to be displayed
    • G02B2027/0187Display position adjusting means not related to the information to be displayed slaved to motion of at least a part of the body of the user, e.g. head, eye

Definitions

  • the technology disclosed in this specification (hereinafter referred to as "the present 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 feeling 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 virtual information corresponding to a 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”) (see, for example, Patent Document 1).
  • digital information is superimposed and displayed on the landscape of real space that the user observes through AR glasses, a specific real object is emphasized or attenuated, or a specific real object is deleted as if it exists. You can make it look like you don't.
  • 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, posture, or shape of the first part on the user's body, A control unit that controls a virtual object to be displayed in real space on a display device based on the position / orientation or shape of the first portion. It is an information processing device provided with.
  • the control unit performs the first operation on the second part on the user's body by the first part based on the position / orientation or shape of the first part acquired by the acquisition part.
  • control unit performs a second operation on the second part on the user's body based on the position / orientation or shape of the first part acquired by the acquisition unit.
  • the display of the virtual object is restored based on the execution state stored in association with the second part.
  • the second aspect of the present disclosure is The acquisition step of acquiring the position / posture or shape of the first part on the user's body, A control step for controlling a virtual object to be displayed in real space on a display device based on the position / orientation or shape of the first portion. It is an information processing method having.
  • the third aspect of the present disclosure is An acquisition unit that acquires the position, posture, or shape of the first part on the user's body.
  • a control unit that controls a virtual object to be displayed in real space on a display device based on the position / orientation or shape of the first portion.
  • 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 displays virtual objects in real space, An acquisition unit that acquires the position, posture, or shape of the first part on the user's body, A control unit that controls the display of a virtual object based on the position / orientation or shape of the first portion. It is an augmented reality system equipped with.
  • 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 control the operation of a virtual object displayed to the user based on the position and orientation of the user's fingers.
  • FIG. 1 is a diagram showing a functional configuration example of the AR system 100.
  • FIG. 2 is a diagram showing a state in which AR glasses are attached to the user's head.
  • FIG. 3 is a diagram showing a configuration example of the AR system 300.
  • FIG. 4 is a diagram showing a configuration example of the AR system 400.
  • FIG. 5 is a diagram showing an example in which the controller 400 is attached to the user's hand.
  • FIG. 6 is a diagram showing an example of a functional configuration included in the control unit 140.
  • FIG. 7 is a diagram showing how a virtual object is arranged around a user wearing AR glasses on his / her head.
  • FIG. 8 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. 1 is a diagram showing a functional configuration example of the AR system 100.
  • FIG. 2 is a diagram showing a state in which AR glasses are attached to the user's head.
  • FIG. 9 is a diagram for explaining a mechanism for detecting a UI settable area by calibration.
  • FIG. 10 is a diagram for explaining a mechanism for detecting a UI settable area by calibration.
  • FIG. 11 is a diagram showing the storage and restoration operation of the UI of the AR application.
  • FIG. 12 is a diagram showing the storage and restoration operation of the UI of the AR application.
  • FIG. 13 is a diagram showing the storage and restoration operation of the UI of the AR application.
  • FIG. 14 is a diagram showing the storage and restoration operation of the UI of the AR application.
  • FIG. 15 is a flowchart showing an operation procedure for storing and restoring the AR application.
  • FIG. 16 is a diagram showing an example in which the aura of the UI installable area is displayed on the user's body.
  • FIG. 16 is a diagram showing an example in which the aura of the UI installable area is displayed on the user's body.
  • FIG. 17 is a diagram showing an example in which a virtual object of the operation UI for operating the AR application arranged at a distance is arranged in the user's hand.
  • FIG. 18 is a diagram showing an example in which a virtual object of the operation UI is displayed in the palm of the user.
  • FIG. 19 is a diagram showing an example in which a virtual object of the operation UI is displayed in the palm of the user.
  • FIG. 20 is a diagram showing an example of assigning the function of the AR application to the back of the user's hand.
  • FIG. 21 is a diagram showing an example in which the operation UI for inputting coordinates is arranged in the palm of the hand.
  • FIG. 22 is a diagram showing an example in which the operation UI for inputting coordinates is arranged in the palm of the hand.
  • FIG. 23 is a diagram showing an example in which the operation UI for inputting coordinates is arranged in the palm of the hand.
  • FIG. 24 is a diagram showing an example in which the operation UI for inputting coordinates is arranged in the palm of the hand.
  • FIG. 25 is a diagram showing an example in which the operation UI for inputting coordinates is arranged in the palm of the hand.
  • FIG. 26 is a diagram showing an example in which the operation UI for inputting coordinates is arranged in the palm of the hand.
  • OS operating systems
  • UI user interface
  • the screen is tidied up by minimizing the windows of the obstructive applications and evacuating them to the periphery of the screen.
  • the application started on the AR glass is also referred to as an "AR application"
  • the running AR application is in the user's view.
  • the AR application is closed, the execution state of the AR application is discarded and the initial state is restored, which is inconvenient.
  • the AR application for video playback is closed once and then started next time, it is not easy to restore the execution state immediately before closing because the playback position of the content and the information of the content being played are discarded.
  • a controller for the user to operate the AR application may be used.
  • the user can see the real space through the AR glass, and it is preferable that the user uses the AR glass while performing daily life in the real space such as walking and grasping objects (including real objects and virtual objects). .. Therefore, it is preferable that the fingers are not restrained by gripping the controller and the fingers can be used freely.
  • the AR application can be stored and restored, and the AR application can be operated by hand after the restoration.
  • the user can manually store and restore the AR application without looking away while looking at the display position of the AR application in front of the user instead of looking at the hand.
  • Some AR glasses are equipped with an outward-facing camera for observing the real space. Based on the image recognition of the image taken by the outward camera, the user's hand and finger operations and other gestures can be input. However, it is not possible to input the operation of the user's fingers performed at a position outside the field of view of the outward camera at the position of the user's head. In addition, when an occlusion occurs in which the user's hand is hidden behind another object, the outward camera cannot capture the operation of the hand or finger. In addition, it may not be possible to accurately obtain the presence or absence of contact between the hand or fingertip and the object and the shape of the finger that is in contact with the object from the image recognition of the image taken by the outward-facing camera.
  • information on the shape of the finger is acquired by using the sensor unit that detects the position and posture of the user's finger, and the AR application is stored and restored based on the acquired shape of the finger.
  • FIG. 1 shows an example of a functional configuration of the AR system 100 to which the present disclosure is applied.
  • the illustrated AR system 100 includes a first sensor unit 110 that detects the position of the user's hand wearing the AR glass and the shape of the user's finger, a second sensor unit 120 mounted on the AR glass, and AR. It includes a display unit 131 that displays a virtual object such as an AR application on the glass, and a control unit 140 that comprehensively controls the operation of the entire AR system 100.
  • the first sensor unit 110 includes a gyro sensor 111, an acceleration sensor 112, and a directional sensor 113.
  • the second 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.
  • the AR system 100 includes a speaker 132 that outputs an audio signal such as a voice related to a virtual object, a vibration presentation unit 133 that provides feedback by vibration presentation to the back of the user's hand or other body parts, and an AR system 100 externally.
  • a communication unit 134 for communicating with the communication unit 134 may be further provided.
  • 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 the user's eyes or one eye, 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. 2 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 landscape in real space, emphasizes or attenuates a specific real object, or deletes a specific real object to make it appear as if it does not exist. Or something.
  • 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. Further, an outward-facing camera directed in the user's line-of-sight direction 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 user's head and a controller worn on the user's hand.
  • FIG. 3 shows a configuration example of an AR system 300 including an AR glass 301 and a controller 302.
  • the AR glass 301 includes a control unit 140, a storage unit 150, a second sensor unit 120, a display unit 131, a speaker 132, and a communication unit 134.
  • the controller 302 includes a first sensor unit 110 and a vibration presenting unit 133.
  • the AR system 100 is composed of three devices: an AR glass worn by the user on the head, a controller worn on the user's hand, and an information terminal such as a smartphone or tablet.
  • FIG. 4 shows a configuration example of an AR system 400 including an AR glass 401, a controller 402, and an information terminal 403.
  • the AR glass 401 includes a display unit 131, a speaker 132, and a second sensor unit 120.
  • the controller 402 includes a first sensor unit 110 and a vibration presenting unit 133.
  • the information terminal 403 includes a control unit 140, a storage unit 150, and a communication unit 134.
  • the specific device configuration of the AR system 100 is not limited to FIGS. 3 and 4. Further, the AR system 100 may further include components other than those shown in FIG.
  • the first sensor unit 110 and the vibration presentation unit 133 are configured as a controller to be worn on the user's hand.
  • the first sensor unit 110 includes a gyro sensor 111, an acceleration sensor 112, and a directional sensor 113.
  • the first sensor unit 110 may be an IMU (Inertial Measurement Unit) including a gyro sensor, an acceleration sensor, and a directional sensor.
  • the vibration presenting unit 133 is configured by arranging electromagnetic type or piezoelectric type vibrators in an array. The sensor signal of the first sensor unit 110 is transferred to the control unit 140.
  • FIG. 5 shows an example in which the controller 500 including the first sensor unit 110 and the vibration presentation unit 133 is attached to the user's hand.
  • IMUs 501, 502, and 503 are attached to the thumb and the proximal phalanx and the middle phalanx of the index finger by bands 511, 512, and 513, respectively.
  • the vibration presenting unit 133 is attached to the back of the hand. Thereby, the posture of the thumb, the posture of the proximal phalanx and the middle phalanx of the index finger (or the angle of the second joint of the index finger) can be measured.
  • the vibration presenting unit 133 may be fixed to the back of the hand with a band (not shown), an adhesive pad, or the like.
  • FIG. 5 shows an example of the first sensor unit 110, and 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. May be good. Further, the method of fixing the IMU to each finger is not limited to the band. Further, although FIG. 5 shows an example in which the first sensor unit 110 and the vibration presenting unit 133 are attached to the right hand, they may be attached to the left hand instead of the right hand, or may be attached to both hands.
  • the sensor signal from the first sensor unit 110 (IMU501, 502, 503 in the example shown in FIG. 5) is transmitted to the control unit 140, and the drive signal of the vibration presentation unit 133 is received from the control unit 140. It is assumed that there is a wired or wireless transmission line.
  • the control unit 140 can detect the position and posture of the fingers based on the sensor signal of the first sensor unit 110. As shown in FIG. 5, when the IMUs 501, 502, and 503 are attached to the base and middle nodes of the thumb and index finger, the control unit 140 is based on the detection signals of the IMUs 501, 502, and 503, respectively.
  • the second 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-facing camera 121 can capture the operation of the user's fingers, but if the user's fingers are hidden behind an obstacle, or if the fingertips are hidden by the back of the hand, the user is 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 including an IR light emitting unit and an IR light receiving unit, and a TOF (Time Of Flight) camera.
  • 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 image signal captured by the outward camera 121 is transferred to the control unit 140.
  • the inward camera 122 is composed of, for example, an RGB camera, and is installed so as to photograph the inside of the AR glass, specifically, the eyes of a user wearing the AR glass.
  • the line-of-sight direction of the user can be detected based on the captured image of the inward-facing camera 122.
  • the image signal captured by the inward camera 122 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 world. Specifically, the display unit 131 expands the real space 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 134 has a wireless communication function such as Wi-Fi (registered trademark) or Bluetooth (registered trademark).
  • the communication unit 134 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.
  • FIG. 6 schematically shows an example of a functional configuration included in the control unit 140.
  • the control unit 140 includes an application execution unit 601, a head position / posture detection unit 602, an output control unit 603, a finger position / posture detection unit 604, a finger gesture detection unit 605, and a UI installation area.
  • a detection unit 606 is provided.
  • These functional modules are realized by executing various programs read from the storage unit 150 by the control unit 140.
  • FIG. 6 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 601 executes the application program including the AR application under the execution environment provided by the OS.
  • the application execution unit 601 may execute a plurality of application programs in parallel at the same time.
  • AR apps are applications such as video playback and 3D object viewers, but virtual objects can be superimposed or specified in the view of a user wearing AR glasses (see Fig. 2) on their heads. Emphasizes or attenuates a real object in, or deletes a particular real object to make it appear as if it doesn't exist.
  • the application execution unit 601 also controls the display operation of the AR application (virtual object). Virtual objects generated by the AR application are arranged all around the user.
  • FIG. 7 schematically shows how a plurality of virtual objects 701, 702, 703, ...
  • the application execution unit 601 has each virtual object 701, 702, 703 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 second sensor unit 120. , ... are placed.
  • the head position / orientation detection unit 602 is based on the sensor signals of the gyro sensor 124, the acceleration sensor 125, and the orientation sensor 126 included in the second sensor unit 120 mounted on the AR glass, and is based on the sensor signals of the user's head. The position and orientation are detected, and the user's line-of-sight direction or visual field range is recognized.
  • the output control unit 603 controls the output of the display unit 131, the speaker 132, and the vibration presentation unit 133 based on the execution result of an application program such as an AR application.
  • the output control unit 603 specifies the user's visual field range based on the detection result of the head position / posture detection unit 602 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.
  • 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 602 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 posture information consisting of the translation of the head.
  • the output control unit 603 moves the display angle of view of the display unit 131 in the real space (for example, see FIG. 7) 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 802-1 is rotated according to the roll component of the user's head movement
  • the region 802-2 is moved according to the tilt component of the user's head movement
  • the user's head movement is performed.
  • the display angle of view is moved so as to cancel the movement of the user's head by moving the area 802-3 according to the pan component of. 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.
  • control unit 140 The functional configuration of the control unit 140 will be described with reference to FIG. 6 again.
  • the finger position / posture detection unit 604 detects the position / posture of the user's hand and fingers wearing the AR glass based on the recognition result of the image taken by the outward camera 121 or the detection signal of the first sensor unit 110. .. Further, the finger gesture detection unit 605 detects the gesture of the user's finger wearing the AR glass based on the recognition result of the image taken by the outward camera 121 or the detection signal of the first sensor unit 110.
  • the gesture of the finger referred to here includes the shape of the finger, specifically the angle of the third joint and the second joint of the index finger, and the presence or absence of contact between the thumb and the fingertip of the index finger.
  • the finger position / posture detection unit 604 and the finger gesture detection unit 605 are mainly from the first sensor unit 110 (gyro sensor 111, acceleration sensor 112, and orientation sensor 113) attached to the user's hand.
  • the posture of the finger and the gesture of the finger are detected with higher accuracy by using the information of the position and the posture of the finger and the restraint condition of the position and the posture that the finger can take.
  • the position / posture of the fingers cannot be detected by image recognition from the head, but the sensor signal of the first sensor unit 110 attached to the hand is used.
  • the position and posture of the fingers can be detected with high accuracy.
  • the method of detecting the position and orientation of the fingers and the gestures of the fingers using the outward-facing camera 121 it may not be possible to detect with high accuracy due to occlusion or the like.
  • the UI installable area detection unit 606 detects an area on the user's body where the UI can be installed.
  • the UI referred to here is a UI that minimizes the AR application executed by the application execution unit 601.
  • the UI installable area is, for example, the user's back, waist, or arm. Installation of the UI means that the execution state of the AR application is maintained and stored in association with the location of the UI installation area. The stored AR app virtual object disappears from the user's field of view.
  • the UI installable area detection unit 606 may detect one UI installable area or may detect a plurality of UI installable areas at the same time. When a plurality of UI installable areas are detected, UIs that minimize different AR applications can be stored in each UI installable area. Further, the UIs of a plurality of AR applications may be duplicatedly stored in one UI installable area by properly using the gestures of the fingers instructing the storage and restoration.
  • the only way to hide the AR application that was in the way of the user is to close the AR application, and when the AR application is closed, the execution state of the AR application is discarded and the initial state is restored. It ends up.
  • the user can specify a part on the body with the fingers and store the UI that minimizes the AR application in the designated part by the gesture operation of the specific fingers. After being stored, the virtual object of the AR application disappears from the user's field of view, but the minimized UI keeps the execution state of the AR application. The user then performs a specific finger gesture to restore the UI to the part of the body where the UI is stored before storing the original AR app from the minimized UI. It can be restored in the state to make the virtual object of the AR application appear in the original place in the user's view.
  • the UI installable area detection unit 606 detects an area on the user's body where the UI can be installed. Further, the application execution unit 601 identifies the AR application currently held by the user or the AR application specified by the user with the hand or finger based on the detection result of the finger position / posture detection unit 604. Then, the application execution unit 601 indicates that the user has performed a finger gesture instructing the storage of the AR application or the restoration of the AR application in the UI installable area detected by the UI installable area detection unit 606.
  • the UI of the AR application can be stored in the part on the body specified by the gesture of the finger, or the AR application can be stored from the part on the body in which the UI is stored. To restore.
  • the UI installation area will be explained in more detail.
  • the head position / orientation detection unit 602 positions the user's head based on the detection signals of the gyro sensor 124, the acceleration sensor 125, and the orientation sensor 126 included in the second sensor unit 120 mounted on the AR glass.
  • the posture can be detected with high accuracy. Therefore, the UI installable area detection unit 606 detects a place where a specific offset is added from the position of the user's head and a part such as the user's back or waist as the UI installable area.
  • the UI installable area detection unit 606 also detects the arm as the UI installable area.
  • a tracking sensor such as an IMU
  • IMU an IMU
  • the UI installable area detection unit 606 has a hand position / posture and a second hand position / posture detected from the sensor information of the first sensor unit 110 even when the tracking sensor is not directly attached to the place where the position is to be acquired.
  • UI installation of other body parts that can be estimated using inverse kinematics calculation technology based on the position and posture information of the body parts that can be detected, such as the position and posture of the head detected from the sensor information of the sensor unit 120. It may be detected as a possible area.
  • the UI installable area detection unit 606 detects other body parts whose positions can be estimated using a machine learning model based on the information of the detectable body part as the UI installable area. You may do so.
  • the UI installable area detection unit 606 uses a deep-learned machine learning model to estimate the optimum UI installable area based on the sensor information from the first sensor unit 110 and the second sensor unit 120. You may do so.
  • a loss function based on the number of failures of the user's finger operation during use is defined, and deep learning is performed by error back propagation so that the loss function is minimized.
  • the UI installable area detection unit 606 may not only detect the part that becomes the UI installable area from the user's body, but also determine the size and shape of the UI installable area. For example, the size of the area where it is difficult for the user to operate with the fingers accurately based on the somatosensory is expanded, or the shape of the area where the user can accurately operate with the fingers is set. May be good.
  • the UI installable area detection unit 606 is deep-learned to estimate the optimum size and shape of the UI installable area based on the sensor information from the first sensor unit 110 and the second sensor unit 120.
  • a model may be used. For this machine learning model, for example, a loss function based on the number of failures of the user's finger operation during use is defined, and deep learning is performed by error back propagation so that the loss function is minimized.
  • the UI installable area detection unit 606 estimates the size of the user's waist circumference and the like based on the depth information of the depth sensor such as the TOF camera mounted on the AR glass, and the user's chest, abdomen, waist, and hips.
  • the position of each part such as the above may be estimated (or the offset from the position of the head to each part may be estimated), and these parts may be regarded as the UI installable area.
  • the UI settable area detection unit 606 may consider a place or a part on the body that can be specified by calibration as a UI installable area. For example, a guidance that encourages the user to touch the waist, back, or arm during calibration is output by the video of the display unit 131 or the voice of the speaker 132, and the position touched by the user by the guidance can be set as a UI. To be regarded as. For example, at the time of calibration, as shown in FIG. 9, an AR glass is used to display a guidance saying "Please touch your arm". On the other hand, as shown in FIG.
  • the UI installable area detection unit 606 positions the arm (or the position of the arm (or) based on the sensor information of the first sensor unit 110. If the offset of the position touched by the user from the position of the head can be detected, the arm is detected as the UI installable area.
  • the waist and back are on the back of the torso, and the user has to fumble to touch them, so it is not possible to touch them as accurately as the positions of the arms. Therefore, the position of the user's waist and the position of the back may be regarded as a UI installable area as a rough relative position from the position of the user's head (or the position of the AR glass).
  • a different UI installation area is set for each user based on the usual behavior of the user using the AR system 100 (or AR glass) and the result of the task additionally imposed on the user. May be good. Further, the UI installable area of each part may be set from the result of performing the above-mentioned calibration a plurality of times for each part.
  • the body data used for detecting the UI installable area is obtained not only by the measuring device in the AR system 100 such as the first sensor unit 110 and the second sensor unit 120, but also by the measuring device outside the AR system 100. It may be the one that received the information to be received.
  • the UI installable area detection unit 606 detects the UI installable area based on the offset from the position of the user's head (or the position of the AR glass), but the user damages one of the limbs. If so, it may not be possible for the user to perform finger gestures such as touching or tapping in the automatically detected UI installable area. In such a case, the UI installable area that cannot be used may be excluded at the user's hand (or manually).
  • the AR application can be stored in association with the location of the UI installable area while maintaining the execution state without closing the AR application.
  • the stored virtual object of the AR application disappears from the user's field of view, but when the user performs the restoration operation, the virtual object of the AR application appears in the user's field of view in the execution state immediately before being stored.
  • the application execution unit 601 identifies the AR application currently held by the user or the AR application specified by the user with the hand or finger based on the detection result of the finger position / posture detection unit 604.
  • the application execution unit 601 indicates that the user has performed a finger gesture instructing the storage of the AR application or the restoration of the AR application in the UI installable area detected by the UI installable area detection unit 606.
  • the UI of the AR application can be stored in the part on the body specified by the gesture of the finger, or the AR application can be stored from the part on the body in which the UI is stored. To restore.
  • the application execution unit 601 detects that the user's finger has approached or entered the UI installable area based on the position / posture of the finger detected by the finger position / posture detection unit 604.
  • the grain size for estimating the body part that the user's finger approaches or touches cannot be made fine because the accuracy of the sensors of the gyro sensor 111, the acceleration sensor 112, and the azimuth sensor 113 used in the first sensor unit 110 is not sufficient.
  • the distance for determining that the fingers have approached or entered may be increased. For example, if a finger gesture occurs in the vicinity of the UI installable area, it is determined that the gesture has occurred in the UI installable area. The position where the finger gestures occur may actually be the original body part.
  • the position of the body part may be updated to the position where the gesture occurs. Further, when the finger can be photographed by the outward camera 121, the finger position / posture detection unit 604 may detect the position / posture of the finger from the camera image of the outward camera 121.
  • the application execution unit 601 determines whether or not an instruction has been given to the AR application or its virtual object based on the finger gesture detected by the finger gesture detection unit 605 in the UI installable area.
  • the instructions here include storing and restoring the UI of the AR application.
  • the finger gesture detection unit 605 basically detects the shape of the finger, specifically the angles of the third and second joints of the index finger, and the presence or absence of contact between the thumb and the fingertip of the index finger. It may be possible to further detect the passage of a hand in the installable area, the action of tapping or pinching a body part that becomes the UI installable area, and the action of finger snapping in the UI installable area.
  • the application execution unit 601 uses the fact that the finger gesture detection unit 605 detects the finger gesture in the UI installable area as a trigger for storing and restoring the UI of the AR application.
  • Different finger gestures may be assigned to the storage and restoration of the UI of the AR application, or the same finger gesture may be assigned to both the storage and restoration of the UI of the AR application.
  • the UI of the AR application is stored in the part of the body by tapping the part of the body detected as the UI installable area by hand, and the part of the body in which the UI of the AR application is already stored is stored again. When you hit it, the UI of the AR application is restored from that part.
  • the virtual object 1100 of the AR application being executed by the application execution unit 601 appears in the palm of the user.
  • the user makes a predetermined gesture to the UI installable area on his / her body with his / her hand, so that the UI of the AR application is maintained while the execution state of the AR application is maintained.
  • the gesture of a predetermined finger may be, for example, an operation of hitting a UI-installable area.
  • the UI installation area may be the back.
  • FIG. 12 shows an operation example in which the user taps a body part (for example, the back) with the palm to store the UI of the AR application.
  • the application execution unit 601 keeps the execution state of the AR application by associating it with the part of the body where the gesture of the predetermined finger instructing the storage of the UI of the AR application is performed, and eliminates the display of the virtual object 1100. Let me.
  • the application execution unit 601 operates the vibration presentation unit 133 when the storage of the UI of the AR application is completed, displays a message notifying the completion to the display unit 131, and a warning sound from the speaker 132. May be issued to give feedback to the user.
  • FIG. 13 shows an operation example in which the user restores the UI of the AR application by a gesture of picking up the UI of the AR application from a part of the body (for example, the back) in which the UI of the AR application is stored with the thumb and index finger. .. Alternatively, as in FIG.
  • the UI of the AR application may be restored by a gesture of tapping a body part (for example, the back) storing the UI of the AR application with the palm of the hand.
  • the application execution unit 601 restores the AR application held in association with the part of the body where the gesture of the predetermined finger that instructs the restoration of the AR application is performed, in the original execution state. Then, as shown in FIG. 14, the application execution unit 601 reproduces the restored virtual object of the AR application on the palm of the user.
  • the controller 500 as shown in FIG. 5 is mounted on the user's hand.
  • the application execution unit 601 operates the vibration presentation unit 133 when the restoration of the UI of the AR application is completed, displays a message notifying the completion to the display unit 131, and completes from the speaker 132.
  • An announcement to notify the user may be output by voice to give feedback to the user.
  • the user holds (or puts it on the palm) the UI (virtual object) of the AR application to be stored, but the target is. You don't have to hold the virtual object directly in your hand.
  • the user may point the target virtual object with a finger and then perform a predetermined finger gesture to store the virtual object in a body part.
  • the operation of storing the UI of the AR application in the body part or restoring from the body part minimizes the application on the screen in a general OS from the viewpoint of minimizing the digital information. Similar to opening a application that is stored in the taskbar or minimized in the taskbar. On a typical OS screen, applications that get in the way temporarily are minimized and stored in the taskbar. On the other hand, in the present disclosure, the UI of the AR application that is temporarily obstructed is stored in a portion detected as, for example, a UI installable area on the user's body.
  • the operation of storing the UI of the AR application in the body part or restoring it from the body part is to move the tool from the tool holder attached to the waist by the worker from the viewpoint of storing the object in the body part. It is similar to the action of putting in and out and putting in and out of scissors from a scissor case attached to the waist by a barber. The barber returns the used scissors to the scissors case at the waist and removes the scissors to be used next from the scissors case.
  • the UI of the AR application that is temporarily obstructed is stored in the body part detected as the UI installable area, or the stored AR application UI is stored in the body part. You can restore from.
  • the barber can reach the scissors case almost exactly and put the scissors in and out without moving his eyes. Also in the present disclosure, the user stores the UI of the AR application in the body part that is the area where the UI can be installed, and takes out the UI of the AR application from the body part and restores the UI. It can be done without moving.
  • the application execution unit 601 may display a virtual object such as a miniature avatar or an aura in the UI installable area to make it easier for the user to visually understand the UI installable area.
  • FIG. 16 shows an example in which the aura of the UI installable area is displayed on the user's body.
  • the UI installation area shown in FIG. 16 is an example, and is not limited to this.
  • the display method of the miniature avatar and the aura is not particularly limited.
  • the application execution unit 601 may store the UIs of a plurality of AR applications in individual UI installable areas according to the gestures of the user's predetermined fingers.
  • the UI installable area detection unit 606 has detected a plurality of UI installable areas from the user's body. In other words, it is permissible to store one UI for the AR application in each UI installable area.
  • the application execution unit 601 operates or displays the vibration presentation unit 133.
  • a warning message may be displayed on the unit 131, or a warning sound may be emitted from the speaker 132 to give feedback to the user that the device cannot be stored in that location.
  • the application execution unit 601 may duplicately store the UIs of a plurality of AR applications in one UI installable area.
  • the AR application may be specified by using different finger gestures for each AR application.
  • the application execution unit 601 restores the UI of the AR application by the first-in first-out method or the first-in after-out method when the user makes a predetermined finger gesture to the location where the UIs of the plurality of AR applications are stored. You may do it.
  • FIG. 15 shows an operation procedure for storing and restoring an AR application in the AR system 100 in the form of a flowchart.
  • the UI installable area detection unit 606 detects the UI installable area from a part of the user's body or the like (step S1501).
  • the UI installable area detection unit 606 detects, for example, a place where a specific offset is added based on the position of the user's head and a part such as the user's back or waist as the UI installable area. Since the method of detecting the UI installation area has already been described, the details will be omitted here.
  • the finger position / posture detection unit 604 acquires the position / posture of the user's finger (step S1502).
  • the finger position / posture detection unit 604 basically acquires the position / posture of the user's finger to which the controller 500 (or the first sensor unit 110) as shown in FIG. 5 is attached.
  • the finger position / posture detection unit 604 may detect the position / posture of the fingers from the camera image of the outward camera 121.
  • the application execution unit 601 monitors whether or not the user's fingers have approached or entered the UI installable area based on the position / posture of the fingers detected by the finger position / posture detection unit 604 (step S1503). When a plurality of UI installable areas are detected in step S1501, the application execution unit 601 monitors whether or not the user's fingers approach or enter any of the UI installable areas.
  • the finger gesture detection unit 605 subsequently detects the finger gesture in the UI installable area. Is monitored (step S1504).
  • the finger gesture detection unit 605 basically detects the shape of the finger, specifically the angles of the third and second joints of the index finger, and the presence or absence of contact between the thumb and the fingertip of the index finger, but a UI can be installed. It may be possible to further detect the passage of a hand in the area, the action of tapping or pinching a part of the body that is the area where the UI can be installed, and the action of finger snapping in the area where the UI can be installed.
  • step S1504 when the application execution unit 601 detects that the gesture of the finger for instructing the storage or restoration of the UI of the AR application has been performed in the UI installable area (Yes in step S1504), the instruction by the gesture of the finger is performed. According to this, the UI of the AR application is stored or restored (step S1505).
  • the user holds (or puts it on the palm) the UI (virtual object) of the AR application to be stored (for example,). See FIGS. 11-12).
  • the user does not always have the UI of the AR application stored in his / her hand directly.
  • the user points to the UI of the AR application to be stored with a finger, and the application execution unit 601 identifies the AR application pointed to by the user based on the detection result of the finger position / orientation detection unit 604, and is detected in step S1503.
  • the UI of the AR application may be stored in the UI installation area.
  • the separate display application execution unit 601 of the AR application executes the application program including the AR application under the execution environment provided by the OS, and also controls the display operation of the AR application (virtual object).
  • Virtual objects are placed anywhere in real space.
  • FIGS. 11 and 14 show an example in which the AR application is placed within the reach of the user, that is, in the palm of the user, but the virtual object is arranged at a distance beyond the reach of the user. It is also assumed.
  • the user can manually operate the AR application arranged within reach.
  • the application execution unit 601 detects the position where the AR application is arranged, the finger position / orientation detection unit 604, and the finger gesture detection unit 605. Based on the result, it is possible to estimate the operation manually performed by the user on the AR application. On the other hand, it is not possible to directly operate the AR application located in a distant place that cannot be reached.
  • an operation application for operating the AR application such as a remote controller for remotely controlling the device, is arranged in the user's hand, and an AR application arranged in a distant place out of reach is used by the operation application.
  • the application execution unit 601 can estimate the operation performed by the user on the operation application based on the position where the operation application is arranged and the detection results of the finger position / posture detection unit 604 and the finger gesture detection unit 605. Then, the application execution unit 601 controls the operation of the AR application arranged at a distance based on the content of the operation performed by the user on the operation application.
  • the operation application has an operation UI for operating the target AR application.
  • the operation app is one of the AR apps.
  • the application execution unit 601 executes the operation application and displays a virtual object including the operation UI at the user's hand.
  • the user's hand is, for example, a place where a specific offset is added based on the position of the user's head, the palm of the user, the back of the hand, or the like.
  • the operation UI display differs depending on the AR application to be operated.
  • the operation UI requires UI components for instructing operations related to content playback such as playback, pause, fast forward, rewind, and repeated playback.
  • UI parts for instructing operations such as accelerator, brake, and steering wheel are required.
  • FIG. 17 illustrates a state in which an operation UI 1702 composed of UI components for content playback operation is displayed in the hands of a user who is viewing the AR application 1701 for video playback.
  • Both the AR application 1701 and the operation UI 1702 for video playback are virtual objects displayed in the real space, and the user can observe them through the AR glass.
  • the user When the user is watching the video content of the AR application 1701 displayed out of reach, the user presses the play, pause, fast forward, rewind, rewind, and other buttons included in the operation UI 1702 at hand. You can use it to perform content playback operations.
  • the operation application by arranging the operation application near the user, the user can operate the AR application arranged at a distance that cannot be reached.
  • the operation application even if the operation application is placed nearby, there is a problem that the user cannot know which button is where and cannot operate it accurately unless the user looks at his / her hand. Therefore, all or a part of the functions (or UI parts) for operating the AR application to be operated may be arranged directly in the user's hand. Since the user can know which button is where by somatosensory, the operation UI can be accurately operated without taking the line of sight from the AR application (for example, moving image playback).
  • the operation UI may be arranged in a body part other than the hand where the user can accurately grasp the position of the button by somatosensory.
  • UI settable area an example in which the UI of the AR application is stored in a part of the user's body (UI settable area) has been described, but in this section D, a part or all of the functions of the AR application are stored in the user's body. It is a translation to place it in the part.
  • the operation UI is placed in the palm of the user's left hand, and this is operated by the right hand equipped with the controller 500 (see FIG. 5).
  • the application execution unit 601 arranges the operation UI on the left palm of the user whose position and posture are recognized from the captured image of the outward camera 121, for example.
  • the user can see the operation UI displayed on his / her palm through the AR glass and operate the desired operation UI with his / her right hand.
  • the application execution unit 601 recognizes that the user's right hand is in the vicinity of the left palm based on the detection result of the finger position / posture detection unit 604, and further, based on the detection result of the finger gesture detection unit 605, the application execution unit 601 recognizes that the user's right hand is in the vicinity of the left palm.
  • the operation of the AR application instructed by that button is executed. For example, the application execution unit 601 starts playing the video content when the user recognizes the operation of pressing the play button while executing the AR application for video playback, and fast-forwards the content when recognizing the operation of pressing the fast-forward.
  • FIG. 18 shows an example in which virtual objects 1801 to 1803 of the operation UI for content playback such as playback, fast forward, and rewind are displayed on the left palm of the user.
  • FIG. 19 shows an example in which a virtual object 1901 of a jog controller that instructs frame advance in the forward or reverse direction by rotation is displayed on the left palm of the user as an operation UI for content reproduction. ..
  • the application execution unit 601 is placed on the left palm of the user whose position and posture are recognized from the captured image of the outward camera 121, for example, in the virtual operation UI 1801-1803 or 1901. Place the object.
  • the user can see the operation UI 1801-1803 or 1901 displayed on his / her palm through the AR glass. Then, the application execution unit 601 recognizes that the user's right hand is in the vicinity of the left palm based on the detection result of the finger position / posture detection unit 604, and further, based on the detection result of the finger gesture detection unit 605, the application execution unit 601 recognizes that the user's right hand is in the vicinity of the left palm.
  • the operation of the AR application such as playback, fast forward, rewind, or frame advance of the reproduced content is executed according to the operation amount.
  • the function for operating the AR application may be placed on the back of the hand instead of the palm of the user. While the palm is almost flat, the back of the hand has a characteristic shape in which each finger of the index finger, the middle finger, the ring finger, and the little finger has a protrusion due to the head of the metacarpal bone. Therefore, as shown in FIG. 20, the functions for operating the AR application such as play, pause, fast forward, and rewind are individually assigned to the four convex parts of the index finger, middle finger, ring finger, and little finger of the left hand. You may. The user can touch the convex part of each finger with the right hand by somatosensory without directly looking at the back of the left hand.
  • the application execution unit 601 assigns play, pause, fast forward, and rewind functions to the four convex portions on the back of the user's left hand whose position and posture are recognized from the captured image of the outward camera 121, for example. There is no need to place objects.
  • the user operates the AR application by touching one of the convex parts of the back of the left hand without directly looking at the palm of the left hand. Then, the application execution unit 601 recognizes that the user's right hand is near the back of the left hand based on the detection result of the finger position / posture detection unit 604, and further, based on the detection result of the finger gesture detection unit 605, the application execution unit 601 recognizes that the user's right hand is near the back of the left hand.
  • the playback content may be played, fast-forwarded, rewound, or frame-forwarded, depending on the function assigned to the protrusion. Perform the operation of the AR application.
  • the AR application holds the necessary information or holds it in association with the AR application. Further, when arranging the operation UI at the user's hand such as the palm of the left hand of the user or the back of the hand, the number of the operation UI that can be arranged such as the head of the metacarpal bone may be limited.
  • the AR application also retains information that enables the user to determine the operation UI that should be preferentially placed at the user's hand, such as determining the priority among a plurality of operation UIs, or associates it with the AR application. Keep it.
  • the area where the operation unit can be arranged is a certain distance from the position of the AR glass (or the second sensor unit 120). Establish rules such as "inside". As a result, it is ensured that the finger position / posture detection unit 604 and the finger gesture detection unit 605 can detect the position / posture and gesture of the user's finger that operates on the operation unit, and the application execution unit 601 can detect the position / posture of the user with respect to the operation unit. It becomes possible to operate the AR application based on the operation of the fingers.
  • the first sensor unit 110 is attached to the user's hand (right hand) to perform the operation, even if occlusion occurs in the field of view of the outward camera 121, the first sensor unit 110 is attached. Based on the sensor information from the first sensor unit 110, it is possible to detect the operation of the user's hand and finger performed on the operation unit with high accuracy.
  • the application execution unit 601 expands the size of the area to which one operation is assigned (for example, enlarges the play button) or displays it as a virtual object.
  • the shape of the operation UI to be operated may be simplified to make it easier for the user to operate the operation unit.
  • the application execution unit 601 may determine the size and shape of the operation UI by using a machine learning model that estimates the optimum size and shape of the operation UI for the AR application.
  • a machine learning model for example, a loss function based on the number of failures of the user's finger operation during use is defined, and deep learning is performed by error back propagation so that the loss function is minimized.
  • Section D an embodiment in which the operation UI of the AR application is arranged separately from the virtual object of the AR application main body is described, and further, the point of optimizing the size and shape of the operation UI is also explained.
  • the user when arranging the operation UI by utilizing the characteristics of the body part such as the metacarpal head, the user can accurately operate the operation UI by somatosensory without directly looking at his / her body part. Can be operated.
  • the user when arranging buttons, menus, etc. on body parts that do not have a characteristic shape such as the back or palm, the user can operate accurately by optimizing the size and shape of each button so that operation mistakes do not occur. You can operate the UI.
  • the coordinate system of the touch panel arranged on the left palm of the user is the local coordinate system whose origin is the center of gravity of the user's body (or the local coordinate system that the user imagines with his or her head).
  • the finger gesture detection unit 605 If the position and orientation of the left hand is taken so as to match (or become parallel to) with, when the user performs a horizontal flick operation with the right hand on the operation UI of the touch panel, the finger gesture detection unit 605 is in the horizontal direction. It is possible to detect the coordinate input of the flick operation of. On the other hand, as shown in FIG. 23, in the case of the left hand posture in which the coordinate system of the touch panel is tilted with respect to the user's local coordinate system, the user is in the horizontal direction with the right hand with reference to his / her local coordinate system. The finger gesture detection unit 605 will detect the coordinate input of the flick operation in the diagonal direction even if the flick operation is intended to be performed.
  • the touch panel 2101 is arranged with reference to the coordinate system of the left hand recognized from the captured image of the outward camera 121, even if the same flick operation is performed with the right hand, different coordinate inputs are performed according to the posture of the left hand. become.
  • the orientation of the operation UI arranged in the part is corrected based on the posture of the part of the body in which the operation UI for inputting the coordinates is arranged.
  • the coordinate system of the body part that acquires the posture of the left hand and is detected by the finger position posture detection unit 604 of the touch panel.
  • the orientation (coordinate system) of the operation UI for inputting coordinates is based on either the orientation of the user's body, the orientation in which the object to be operated by the operation UI is placed, or the direction of the user's line of sight. Try to correct.
  • FIG. 24 shows an example of correcting the orientation (coordinate system) of the operation UI for inputting coordinates based on the orientation of the user's body.
  • the application execution unit 601 can detect the orientation of the body based on the sensor information from the second sensor unit 120, for example. Further, the application execution unit 601 can detect the position and orientation of the left palm of the user based on the recognition result of the captured image of the outward camera 121, for example. When the first sensor unit 110 is also attached to the left hand, the position and orientation of the left hand can be detected based on the sensor information from the first sensor unit 110.
  • the application execution unit 601 so that the orientation of the operation UI matches the orientation of the body (or the coordinate system of the operation UI and the local coordinate system of the user are parallel) regardless of the posture of the left hand. Place the operation UI on the left palm of the user.
  • the finger gesture detection unit 605 can detect the coordinate input of the horizontal flick operation.
  • FIG. 25 shows an example in which the direction (coordinate system) of the operation UI for inputting coordinates is corrected based on the direction in which the object to be operated by the operation UI is arranged.
  • the operation target of the operation UI is a virtual object of the AR application to be operated by the touch panel.
  • the application execution unit 601 knows the position where the virtual object 2501 of the AR application to be operated is placed. Further, the application execution unit 601 can detect the position and orientation of the left palm of the user based on the recognition result of the captured image of the outward camera 121, for example.
  • the first sensor unit 110 is also attached to the left hand, the position and orientation of the left hand can be detected based on the sensor information from the first sensor unit 110.
  • the application execution unit 601 arranges the operation UI on the palm of the left hand of the user so that the direction of the operation UI matches the direction of the front of the virtual object 2501 of the AR application to be operated.
  • the user while looking at the virtual object 2501 of the AR application, the user performs a horizontal flick operation with the right hand following the plane on which the virtual object 2501 is arranged, and the finger gesture detection unit 605 is horizontal with respect to the virtual object 2501. It is possible to detect the coordinate input of the flick operation of the direction.
  • FIG. 26 shows an example of correcting the direction (coordinate system) of the operation UI for inputting coordinates with reference to the line-of-sight direction of the user.
  • the application execution unit 601 detects the user's line-of-sight direction by recognizing, for example, the position / posture of the head obtained from the sensor information of the second sensor unit 120 or the image of the user's eye taken by the inward camera 122. do.
  • the line of sight of the user is moving on the virtual object 2601 of the AR application.
  • the application execution unit 601 can detect the position and orientation of the left palm of the user based on the recognition result of the captured image of the outward camera 121, for example.
  • the position and orientation of the left hand can be detected based on the sensor information from the first sensor unit 110.
  • the application execution unit 601 arranges the operation UI on the palm of the left hand of the user so that the direction of the operation UI matches the line-of-sight direction of the user to be operated.
  • the finger gesture detection unit 605 may detect the coordinate input of the horizontal flick operation with respect to the virtual object 2601. can.
  • the example shown in FIG. 26 assumes a case where a user lays down on a sofa and operates an AR application, for example.
  • the orientation of the palm when lying down is significantly different from that when standing, but by correcting the orientation of the operation UI of the palm according to the rule of correcting the orientation of the operation UI based on the user's line-of-sight direction, the user You can maintain a comfortable operation of.
  • the present specification has mainly described embodiments in which the present disclosure is applied to an 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 and an MR system that intersects reality and virtual.
  • An acquisition unit that acquires the position / posture or shape of the first part on the user's body, A control unit that controls a virtual object to be displayed in real space on a display device based on the position / orientation or shape of the first portion.
  • Information processing device equipped with.
  • the acquisition unit acquires the position and orientation of the first portion based on the sensor attached to the first portion.
  • the information processing device according to (1) above.
  • the first part includes the user's hand or finger, and includes the user's hand or finger.
  • the acquisition unit acquires the position / posture of the user's hand or finger or the shape of the finger based on the sensor information from the position / posture sensor attached to the user's hand or finger.
  • the information processing device according to any one of (1) and (2) above.
  • the control unit recognizes that the first portion has performed a predetermined operation on the second portion on the user's body based on the position / orientation or shape of the first portion.
  • the information processing device according to any one of (1) to (3) above.
  • the control unit performs a first operation on the second part on the user's body by the first part based on the position / orientation or shape of the first part acquired by the acquisition part.
  • the execution state of the virtual object is associated with the second portion and stored, and the display of the virtual object by the display device is stopped.
  • the information processing device according to any one of (1) to (4) above.
  • the control unit performs a second operation on the second part on the user's body by the first part based on the position / orientation or shape of the first part acquired by the acquisition part.
  • the display of the virtual object is restored based on the execution state stored in association with the second part.
  • the detection unit detects a place where a predetermined offset is added from the third part where the position and posture can be acquired on the user's body as the second part.
  • the information processing device according to (7) above.
  • the detection unit detects a region on the body whose position can be estimated based on the position and orientation of the first portion as the second portion.
  • the information processing device according to any one of (7) and (8) above.
  • the detection unit detects a second part whose position can be estimated by an inverse kinematics calculation based on the position / posture information of the first part and the third part which can acquire the position / posture.
  • the information processing device according to any one of (7) to (9) above.
  • the detection unit detects the size or shape of the second portion based on the operability of the first portion.
  • the information processing device according to any one of (7) to (10) above.
  • the detection unit detects a second part whose location can be specified by calibration touched by the first part.
  • the information processing device according to any one of (7) to (11) above.
  • the control unit controls the operation unit for the user to operate the virtual object located far from the user so as to be arranged at the user's hand.
  • the information processing device according to any one of (1) to (12) above.
  • the control unit controls the operation unit so as to be arranged at a fourth portion on the user's body.
  • the information processing device according to (13) above.
  • the control unit corrects the orientation of the operation unit arranged at the fourth portion.
  • the information processing device according to (14) above.
  • the control unit corrects the direction of the operation unit based on any one of the direction of the user's body, the direction in which the virtual object is arranged, and the direction of the user's line of sight.
  • the information processing device according to (15) above.
  • Information processing method having.
  • An acquisition unit that acquires the position, posture, or shape of the first part on the user's body.
  • a control unit that controls a virtual object to be displayed in real space on a display device based on the position / orientation or shape of the first portion.
  • a computer program written in a computer-readable format so that the computer functions as.
  • a display device that displays virtual objects in real space
  • An acquisition unit that acquires the position, posture, or shape of the first part on the user's body
  • a control unit that controls the display of a virtual object based on the position / orientation or shape of the first portion.
  • Augmented reality system Augmented reality system.

Abstract

拡張現実に関する情報を処理する情報処理装置を提供する。 情報処理装置は、ユーザの身体上の第1の部位の位置姿勢又は形状を取得する取得部と、前記第1の部位の位置姿勢又は形状に基づいて、表示装置において実空間に表示する仮想オブジェクトを制御する制御部を具備する。前記制御部は、前記取得部が取得した前記第1の部位の位置姿勢又は形状に基づいて、前記第1の部位がユーザの身体上の第2の部位に対して第1の操作を行ったことを認識すると、前記仮想オブジェクトの実行状態を前記第2の部位に紐付けして格納して、前記表示装置による前記仮想オブジェクトの表示を停止させる。

Description

情報処理装置及び情報処理方法、コンピュータプログラム、並びに拡張現実感システム
 本明細書で開示する技術(以下、「本開示」とする)は、拡張現実に関する情報を処理する情報処理装置及び情報処理方法、コンピュータプログラム、並びに拡張現実感システムに関する。
 臨場感のある体験を実現する技術として、仮想現実(Virtual Reality:VR)や拡張現実(Augmented Reality:AR)、MR(Mixed Reality)が普及してきている。VRは仮想空間を現実として知覚させる技術である。また、ARは、ユーザを取り巻く現実環境に情報を付加したり、強調又は減衰、削除したりして、ユーザから見た実空間を拡張させる技術である。また、MRは、実空間に対応する仮想の情報を表示して、現実と仮想を交錯させる技術である。ARやMRは、例えばシースルー型のヘッドマウントディスプレイ(以下、「ARグラス」とも呼ぶ)を用いて実現される(例えば、特許文献1を参照のこと)。AR技術によれば、ユーザがARグラス越しに観察する実空間の風景に、デジタル情報を重畳表示したり、特定の実オブジェクトを強調し又は減衰したり、特定の実オブジェクトを削除してあたかも存在しないように見せたりすることができる。
特開2014-93050号公報
 本開示の目的は、拡張現実に関する情報を処理する情報処理装置及び情報処理方法、コンピュータプログラム、並びに拡張現実感システムを提供することにある。
 本開示の第1の側面は、
 ユーザの身体上の第1の部位の位置姿勢又は形状を取得する取得部と、
 前記第1の部位の位置姿勢又は形状に基づいて、表示装置において実空間に表示する仮想オブジェクトを制御する制御部と、
を具備する情報処理装置である。
 前記制御部は、前記取得部が取得した前記第1の部位の位置姿勢又は形状に基づいて、前記第1の部位がユーザの身体上の第2の部位に対して第1の操作を行ったことを認識すると、前記仮想オブジェクトの実行状態を前記第2の部位に紐付けして格納して、前記表示装置による前記仮想オブジェクトの表示を停止させる。
 また、前記制御部は、前記取得部が取得した前記第1の部位の位置姿勢又は形状に基づいて、前記第1の部位がユーザの身体上の第2の部位に対して第2の操作を行ったことを認識すると、前記第2の部位に紐付けして格納した実行状態に基づいて前記仮想オブジェクトの表示を復元する。
 また、本開示の第2の側面は、
 ユーザの身体上の第1の部位の位置姿勢又は形状を取得する取得ステップと、
 前記第1の部位の位置姿勢又は形状に基づいて、表示装置において実空間に表示する仮想オブジェクトを制御する制御ステップと、
を有する情報処理方法である。
 また、本開示の第3の側面は、
 ユーザの身体上の第1の部位の位置姿勢又は形状を取得する取得部、
 前記第1の部位の位置姿勢又は形状に基づいて、表示装置において実空間に表示する仮想オブジェクトを制御する制御部、
としてコンピュータが機能するようにコンピュータ可読形式で記述されたコンピュータプログラムである。
 本開示の第3の側面に係るコンピュータプログラムは、コンピュータ上で所定の処理を実現するようにコンピュータ可読形式で記述されたコンピュータプログラムを定義したものである。換言すれば、本開示の第3の側面に係るコンピュータプログラムをコンピュータにインストールすることによって、コンピュータ上では協働的作用が発揮され、本開示の第1の側面に係る情報処理装置と同様の作用効果を得ることができる。
 また、本開示の第4の側面は、
 実空間に仮想オブジェクトを表示する表示装置と、
 ユーザの身体上の第1の部位の位置姿勢又は形状を取得する取得部と、
 前記第1の部位の位置姿勢又は形状に基づいて仮想オブジェクトの表示を制御する制御部と、
を具備する拡張現実感システムである。
 但し、ここで言う「システム」とは、複数の装置(又は特定の機能を実現する機能モジュール)が論理的に集合した物のことを言い、各装置や機能モジュールが単一の筐体内にあるか否かは特に問わない。
 本開示によれば、ユーザの手指の位置姿勢に基づいてユーザに表示する仮想オブジェクトの動作を制御する情報処理装置及び情報処理方法、コンピュータプログラム、並びに拡張現実感システムを提供することができる。
 なお、本明細書に記載された効果は、あくまでも例示であり、本開示によりもたらされる効果はこれに限定されるものではない。また、本開示が、上記の効果以外に、さらに付加的な効果を奏する場合もある。
 本開示のさらに他の目的、特徴や利点は、後述する実施形態や添付する図面に基づくより詳細な説明によって明らかになるであろう。
図1は、ARシステム100の機能的構成例を示した図である。 図2は、ユーザの頭部にARグラスを装着した様子を示した図である。 図3は、ARシステム300の構成例を示した図である。 図4は、ARシステム400の構成例を示した図である。 図5は、コントローラ400をユーザの手に装着した例を示した図である。 図6は、制御部140が備える機能的構成例を示した図である。 図7は、ARグラスを頭部に装着したユーザの周囲に仮想オブジェクトが配置される様子を示した図である。 図8は、ARグラスがユーザの頭部の動きに追従するように仮想オブジェクトを表示させる仕組みを説明するための図である。 図9は、キャリブレーションによりUI設定可能領域を検出する仕組みを説明するための図である。 図10は、キャリブレーションによりUI設定可能領域を検出する仕組みを説明するための図である。 図11は、ARアプリのUIの格納及び復元動作を示した図である。 図12は、ARアプリのUIの格納及び復元動作を示した図である。 図13は、ARアプリのUIの格納及び復元動作を示した図である。 図14は、ARアプリのUIの格納及び復元動作を示した図である。 図15は、ARアプリを格納及び復元動作する動作手順を示したフローチャートである。 図16は、ユーザの身体上にUI設置可能領域のオーラを表示した例を示した図である。 図17は、ユーザの手元に遠方に配置されたARアプリを操作するための操作UIの仮想オブジェクトを配置した例を示した図である。 図18は、ユーザの手のひらに操作UIの仮想オブジェクトを表示している例を示した図である。 図19は、ユーザの手のひらに操作UIの仮想オブジェクトを表示している例を示した図である。 図20は、ユーザの手の甲にARアプリの機能を割り当てる例を示した図である。 図21は、座標入力を行う操作UIを手のひらに配置した例を示した図である。 図22は、座標入力を行う操作UIを手のひらに配置した例を示した図である。 図23は、座標入力を行う操作UIを手のひらに配置した例を示した図である。 図24は、座標入力を行う操作UIを手のひらに配置した例を示した図である。 図25は、座標入力を行う操作UIを手のひらに配置した例を示した図である。 図26は、座標入力を行う操作UIを手のひらに配置した例を示した図である。
 以下、図面を参照しながら本開示の実施形態について詳細に説明する。
 WindowsやLinux(登録商標)などのオペレーティングシステム(OS)では、スクリーンに配置しておくと邪魔なアプリケーションのウィンドウを最小化して、例えばスクリーンの下端縁のタスクバーに格納するというユーザインターフェース(UI)が利用されている。複数のアプリケーションを同時に起動している場合、邪魔なアプリケーションのウィンドウを最小化してスクリーンの周辺に退避させることにより、スクリーンが整然とする。
 一方、ARグラス上では、例えば動画再生や3Dオブジェクトのビューアなどのアプリケーションが起動すると(以下、ARグラス上で起動するアプリケーションを「ARアプリ」とも呼ぶ)、起動中のARアプリはユーザの視界の中に重畳表示されるが、ARアプリを最小化するUIはなく、ユーザは邪魔になったARアプリを視界から見えなくするにはARアプリを閉じる処理を行うしかない。ARアプリを閉じると、そのARアプリの実行状態を破棄して初期状態に戻ってしまうため、不便である。例えば動画再生のARアプリを一旦閉じて次回起動したときには、コンテンツの再生位置や再生していたコンテンツの情報が破棄されているため、閉じる直前の実行状態を復元するのが容易でない。
 また、WindowsやLinux(登録商標)などのOSでは、キーボードやマウス、タッチパネルなどの入力装置を介して起動中のアプリケーションに対する操作が行われる。ARグラスでも、ユーザがARアプリを操作するためのコントローラを用いてもよい。しかしながら、ユーザはARグラス越しに実空間を見渡すことができ、ユーザは歩行や物(実オブジェクトと仮想オブジェクトを含む)の把持など実空間での日常生活を行いながらARグラスを利用することが好ましい。このため、コントローラを把持することなどにより手指が拘束されず、手指が自由に使える状態であることが好ましい。付言すれば、ARアプリの格納や復元、さらには復元した後のARアプリの操作も手指で行えることが好ましい。さらに言えば、ユーザは、手元を見ながらではなく、正面のARアプリの表示位置に視線を向けながら、よそ見することなく、ARアプリの格納や復元の操作を手指で行えることが好ましい。
 ARグラスの中には、実空間を観察するために外向きのカメラを搭載したものもある。外向きカメラの撮影画像の画像認識に基づいて、ユーザの手や指の操作やその他のジェスチャを入力することができる。しかしながら、ユーザの頭部位置にある外向きカメラの視野から外れた位置で行われるユーザの手指の操作を入力することはできない。また、ユーザの手が他の物体の陰に隠れるといったオクルージョンが発生すると、外向きカメラで手や指の操作を捕捉することができない。また、外向きカメラの撮影画像の画像認識から、手や指先と物との接触の有無や、物に接触している手指の形状を正確に取得できない場合がある。
 そこで、本開示では、ユーザの手指の位置姿勢を検出するセンサ部を用いて手指の形状に関する情報を取得し、取得した手指の形状に基づいてARアプリの格納や復元を行うようにする。
A.システム構成
 図1には、本開示を適用したARシステム100の機能的構成例を示している。図示のARシステム100は、ARグラスを装着したユーザの手の位置検出とユーザの手指の形状を検出する第1のセンサ部110と、ARグラスに搭載される第2のセンサ部120と、ARグラスにARアプリなどの仮想オブジェクトを表示する表示部131と、ARシステム100全体の動作を統括的にコントロールする制御部140を備えている。第1のセンサ部110は、ジャイロセンサ111と、加速度センサ112と、方位センサ113を備えている。第2のセンサ部120は、ARグラスに搭載されるが、外向きカメラ121と、内向きカメラ122と、マイク123と、ジャイロセンサ124と、加速度センサ125と、方位センサ126を含んでいる。
 また、ARシステム100は、仮想オブジェクトに関わる音声などのオーディオ信号を出力するスピーカー132や、ユーザの手の甲やその他の身体の部位に振動提示によるフィードバックを行う振動提示部133と、ARシステム100が外部と通信を行うための通信部134をさらに備えていてもよい。また、制御部140は、SSD(Solid State Drive)などからなる大規模な記憶部150を装備していてもよい。
 ARグラス本体は、一般には眼鏡型又はゴーグル型のデバイスであり、ユーザが頭部に装着して利用され、ユーザの両目又は片目の視野にデジタル情報を重畳表示したり、特定の実オブジェクトを強調し又は減衰したり、特定の実オブジェクトを削除してあたかも存在しないように見せたりすることができる。図2には、ユーザの頭部にARグラスを装着した様子を示している。図示のARグラスは、ユーザの左右の眼の前にそれぞれ左目用の表示部131と右目用の表示部131が配設されている。表示部131は、透明又は半透明で、実空間の風景に仮想オブジェクトを重畳表示したり、特定の実オブジェクトを強調し又は減衰したり、特定の実オブジェクトを削除してあたかも存在しないように見せたりする。左右の表示部131は、例えば独立して表示駆動され、視差画像すなわち仮想オブジェクトを3D表示するようにしてもよい。また、ARグラスのほぼ中央には、ユーザの視線方向に向けられた外向きカメラが配置されている。
 ARシステム100は、例えばユーザが頭部に装着するARグラスと、ユーザの手に装着されるコントローラという2つの装置で構成することができる。図3には、ARグラス301とコントローラ302からなるARシステム300の構成例を示している。ARグラス301は、制御部140と、記憶部150と、第2のセンサ部120と、表示部131と、スピーカー132と、通信部134を含んでいる。また、コントローラ302は、第1のセンサ部110と、振動提示部133を含んでいる。
 他の構成例として、ARシステム100は、ユーザが頭部に装着するARグラスと、ユーザの手に装着されるコントローラと、スマートフォンやタブレットなどの情報端末という3台の装置で構成される。図4には、ARグラス401とコントローラ402と情報端末403からなるARシステム400の構成例を示している。ARグラス401は、表示部131と、スピーカー132と、第2のセンサ部120を含んでいる。コントローラ402は、第1のセンサ部110と、振動提示部133を含んでいる。また、情報端末403は、制御部140と、記憶部150と、通信部134を含んでいる。
 なお、ARシステム100の具体的に装置構成は、図3と図4に限定されるものではない。また、ARシステム100は、図1に示した以外の構成要素をさらに含んでいてもよい。
 ARシステム100の各構成要素について説明する。
 図3及び図4にも示したように、第1のセンサ部110と振動提示部133は、ユーザの手に装着するコントローラとして構成される。第1のセンサ部110は、ジャイロセンサ111と、加速度センサ112と、方位センサ113を備えている。第1のセンサ部110は、ジャイロセンサと加速度センサと方位センサを備えたIMU(Inertial Measurement Unit)であってもよい。また、振動提示部133は、電磁型や圧電型の振動子をアレイ状に配置して構成される。第1のセンサ部110のセンサ信号は、制御部140に転送される。
 図5には、第1のセンサ部110及び振動提示部133からなるコントローラ500をユーザの手に装着した例を示している。図5に示す例では、親指と、人差し指の基節及び中節の3箇所に、IMU501、502、503がそれぞれバンド511、512、513によって取り付けられている。また、振動提示部133は、手の甲に取り付けられている。これによって、親指の姿勢、人差し指の基節及び中節の姿勢(又は、人差し指の第2関節の角度)を計測することができる。振動提示部133は、バンド(図示しない)又は粘着パッドなどで手の甲に固定されていてもよい。
 但し、図5は第1のセンサ部110の一例を示すものであり、親指と人差し指の別の場所にさらに他のIMUを取り付けてもよいし、親指と人差し指以外の指にもIMUを取り付けてもよい。また、IMUの各指への固定方法はバンドに限定されない。また、図5は右手に第1のセンサ部110及び振動提示部133を取り付けた例を示しているが、右手ではなく左手に取り付けてもよいし、両手に取り付けてもよい。
 また、第1のセンサ部110(図5に示す例では、IMU501、502、503)によるセンサ信号を制御部140に送信するとともに、制御部140から振動提示部133の駆動信号を受信するための有線又は無線の伝送路があるものとする。制御部140は、第1のセンサ部110のセンサ信号に基づいて、手指の位置姿勢を検出することができる。図5に示すように、親指と人差し指の基節及び中節の3箇所にIMU501、502、503が取り付けられている場合には、制御部140は、各IMU501、502、503の検出信号に基づいて、親指と人差し指の開き角度、人差し指の第2関節の角度、親指と人差し指の指先の接触の有無など、手指の位置姿勢(又は、手指の形状)並びに手指のジェスチャを認識することができる。
 再び図1を参照して、ARシステム100の各構成要素の説明を続ける。
 第2のセンサ部120は、ARグラスに搭載されるが、外向きカメラ121と、内向きカメラ122と、マイク123と、ジャイロセンサ124と、加速度センサ125と、方位センサ126を含んでいる。
 外向きカメラ121は、例えばRGBカメラからなり、ARグラスの外側すなわちARグラスを装着したユーザの正面方向を撮影するように設置されている。外向きカメラ121は、ユーザの手指の操作を撮影することができるが、障害物の陰にユーザの手指が隠れてしまった場合、手の甲で指先が隠れている場合、ユーザが身体の後ろに手をまわした場合などには、ユーザの手指の操作を撮影することができない。また、外向きカメラ121は、IR発光部及びIR受光部からなるIRカメラ、TOF(Time Of Flight)カメラのうちいずれか1つをさらに備えていてもよい。外向きカメラ121にIRカメラを用いる場合、手の甲など捕捉の対象となる物体に再帰性反射材を取り付けて、IRカメラは赤外光を発光するとともに再帰性反射材から反射された赤外光を受光する。外向きカメラ121で撮影した画像信号は、制御部140に転送される。
 内向きカメラ122は、例えばRGBカメラからなり、ARグラスの内側、具体的にはARグラスを装着したユーザの眼を撮影するように設置されている。内向きカメラ122の撮影画像に基づいて、ユーザの視線方向を検出することができる。内向きカメラ122で撮影した画像信号は、制御部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で表示される仮想オブジェクトに関する音声が出力されるが、その他のオーディオ信号を出力するようにしてもよい。
 通信部134は、例えばWi-Fi(登録商標)やBluetooth(登録商標)などの無線通信機能を備えている。通信部134は、主に制御部140と外部システム(図示しない)とのデータ交換を実現するための通信動作を行う。
 制御部140は、ARグラス内に設置されるか、又はARグラスとは分離した装置(スマートフォンなど)内に、記憶部150やバッテリなどの駆動用電源とともに配置される。制御部140は、記憶部150から読み出した各種プログラムを実行してさまざまな処理を実施する。
 図6には、制御部140が備える機能的構成例を模式的に示している。図示の例では、制御部140は、アプリケーション実行部601と、頭部位置姿勢検出部602と、出力制御部603と、手指位置姿勢検出部604と、手指ジェスチャ検出部605と、UI設置可能領域検出部606を備えている。これらの機能モジュールは、制御部140が記憶部150から読み出した各種プログラムを実行することにより実現される。但し、図6には本開示を実現するための必要最低限の機能モジュールのみを図示しており、制御部140はさらに他の機能モジュールを備えていてもよい。
 アプリケーション実行部601は、OSが提供する実行環境下で、ARアプリを含むアプリケーションプログラムを実行する。アプリケーション実行部601は、複数のアプリケーションプログラムを同時に並行して実行してもよい。ARアプリは、例えば動画再生や3Dオブジェクトのビューアなどのアプリケーションであるが、ARグラス(図2を参照のこと)を頭部に装着したユーザの視界の中に仮想オブジェクトを重畳表示したり、特定の実オブジェクトを強調し又は減衰したり、特定の実オブジェクトを削除してあたかも存在しないように見せたりする。アプリケーション実行部601は、ARアプリ(仮想オブジェクト)の表示動作も制御する。ARアプリが生成する仮想オブジェクトは、ユーザの全周囲にわたって配置される。図7には、ARグラスを頭部に装着したユーザの周囲700に複数の仮想オブジェクト701、702、703、…が配置される様子を模式的に示している。アプリケーション実行部601は、第2のセンサ部120からのセンサ情報に基づいて推定されるユーザの頭部の位置又は身体の重心位置を基準にして、ユーザの周囲に各仮想オブジェクト701、702、703、…を配置する。
 頭部位置姿勢検出部602は、ARグラスに搭載される第2のセンサ部120に含まれるジャイロセンサ124と、加速度センサ125と、方位センサ126の各センサ信号に基づいて、ユーザの頭部の位置姿勢を検出し、さらにはユーザの視線方向又は視野範囲を認識する。
 出力制御部603は、ARアプリなどのアプリケーションプログラムの実行結果に基づいて、表示部131、スピーカー132、及び振動提示部133の出力を制御する。例えば、出力制御部603は、頭部位置姿勢検出部602の検出結果に基づいてユーザの視野範囲を特定して、視野範囲に配置された仮想オブジェクトがARグラス越しにユーザが観察できるように、すなわちユーザの頭部の動きに追従するように表示部131による仮想オブジェクトの表示動作を制御する。
 ARグラスがユーザの頭部の動きに追従するように仮想オブジェクトを表示させる仕組みについて、図8を参照しながら説明する。図8では、ユーザの視線の奥行き方向がzw軸、水平方向がyw軸、垂直方向がxw軸であり、ユーザの基準軸xwwwの原点位置はユーザの視点位置とする。ロールθzはユーザの頭部のzw軸回りの運動、チルトθyはユーザの頭部のyw軸回りの運動、パンθzはユーザの頭部のxw軸回りの運動に相当する。頭部位置姿勢検出部602は、ジャイロセンサ124と、加速度センサ125と、方位センサ126のセンサ信号に基づいて、ユーザの頭部のロール、チルト、パンの各方向の動き(θz,θy,θz)や頭部の平行移動からなる姿勢情報を検出する。そして、出力制御部603は、ユーザの頭部の姿勢に追従するように、仮想オブジェクトが配置された実空間(例えば、図7を参照のこと)上で表示部131の表示画角を移動させ、その表示画角に存在する仮想オブジェクトの画像を表示部131で表示する。具体的には、ユーザの頭部運動のロール成分に応じて領域802-1を回転させたり、ユーザの頭部運動のチルト成分に応じて領域802-2を移動させたり、ユーザの頭部運動のパン成分に応じて領域802-3を移動させたりして、ユーザの頭部の動きを打ち消すように表示画角を移動させる。したがって、表示部131にはユーザの頭部の位置姿勢に追従して移動した表示画角に配置された仮想オブジェクトが表示されるので、ユーザは、ARグラス越しに、仮想オブジェクトが重畳された実空間を観察することができる。
 再び図6を参照して、制御部140の機能的構成について説明する。
 手指位置姿勢検出部604は、外向きカメラ121で撮影した画像の認識結果、又は第1のセンサ部110の検出信号に基づいて、ARグラスを装着したユーザの手及び指の位置姿勢を検出する。また、手指ジェスチャ検出部605は、外向きカメラ121で撮影した画像の認識結果、又は第1のセンサ部110の検出信号に基づいて、ARグラスを装着したユーザの手指のジェスチャを検出する。ここで言う手指のジェスチャは、手指の形状、具体的には人差し指の第3関節及び第2関節の角度や、親指と人差し指の指先の接触の有無などを含む。
 本実施形態では、手指位置姿勢検出部604及び手指ジェスチャ検出部605は、主に、ユーザの手に取り付けた第1のセンサ部110(ジャイロセンサ111と、加速度センサ112と、方位センサ113)からの位置姿勢の情報と、指が取り得る位置姿勢の拘束条件を用いて、より高精度に手指の姿勢及び手指のジェスチャを検出する。例えば、ユーザが背中や尻など身体の背面側に手を回した場合、頭部からの画像認識では手指の位置姿勢を検出できないが、手に装着した第1のセンサ部110のセンサ信号を用いれば高精度で手指の位置姿勢を検出することができる。他方、外向きカメラ121を用いて手指の位置姿勢や手指のジェスチャを検出する方法の場合、オクルージョンなどにより高精度に検出できない場合がある。
 UI設置可能領域検出部606は、ユーザの身体上で、UIを設置することが可能な領域を検出する。ここで言うUIは、具体的には、アプリケーション実行部601が実行しているARアプリを最小化したUIのことである。また、UI設置可能領域は、例えばユーザの背中や腰、腕などである。UIの設置は、ARアプリの実行状態を保持したままUI設置可能領域の場所と紐付けして格納することを意味する。格納されたARアプリの仮想オブジェクトは、ユーザの視界から消える。
 なお、UI設置可能領域検出部606は、1つのUI設置可能領域を検出してもよいし、同時に複数のUI設置可能領域を検出してもよい。複数のUI設置可能領域を検出した場合、各UI設置可能領域にそれぞれ別のARアプリを最小化したUIを格納することができる。また、格納及び復元を指示する手指のジェスチャを使い分けることによって、1つのUI設置可能領域に複数のARアプリのUIを重複して格納するようにしてもよい。
B.UI設置可能領域
 従来、ユーザが邪魔になったARアプリを視界から見えなくするにはARアプリを閉じるしかなく、ARアプリを閉じると、そのARアプリの実行状態を破棄して初期状態に戻ってしまう。これに対し、本実施形態では、ユーザは、身体上の部位を手指で指定して、特定の手指のジェスチャ動作により、ARアプリを最小化したUIをその指定した部位に格納することができる。格納された後のARアプリの仮想オブジェクトはユーザの視界から消えるが、最小化したUIはARアプリの実行状態を保持し続ける。その後、ユーザは、UIが格納されている身体上の部位に対してUIを復元するための特定の手指のジェスチャ動作を行うことにより、最小化したUIから元のARアプリを格納する前の実行状態で復元して、そのARアプリの仮想オブジェクトをユーザの視界の元の場所に出現させることができる。
 このようなARアプリの格納及び復元動作を実現するために、UI設置可能領域検出部606は、ユーザの身体上で、UIを設置することが可能な領域を検出する。また、アプリケーション実行部601は、手指位置姿勢検出部604の検出結果に基づいて、ユーザが現在手に持っているARアプリ、あるいはユーザが手や指で指定したARアプリを特定する。そして、アプリケーション実行部601は、UI設置可能領域検出部606が検出したUI設置可能領域内で、ARアプリの格納又はARアプリの復元を指示する手指のジェスチャをユーザが行ったことを、手指位置姿勢検出部604及び手指ジェスチャ検出部605の検出結果に基づいて認識すると、手指のジェスチャで指定した身体上の部位にARアプリのUIを格納したり、UIを格納した身体上の部位からARアプリを復元したりする。
 UI設置可能領域について、さらに詳しく説明する。頭部位置姿勢検出部602は、ARグラスに搭載される第2のセンサ部120に含まれるジャイロセンサ124と、加速度センサ125と、方位センサ126の検出信号に基づいて、ユーザの頭部の位置姿勢を高精度に検出することができる。したがって、UI設置可能領域検出部606は、ユーザの頭部の位置を基準としてそこから特定のオフセットを加えた場所やユーザの背中や腰などの部位を、UI設置可能領域として検出する。
 また、ユーザの手にも第1のセンサ部110を装着しているので、第1のセンサ部110に含まれるジャイロセンサ111と、加速度センサ112と、方位センサ113から手の位置を取得し、手の位置からおおまかに腕の位置を推定することが可能であるから、UI設置可能領域検出部606は、さらに腕もUI設置可能領域として検出する。もちろん、位置を取得したい場所に、トラッキングするセンサ(IMUなど)を取り付けて、UI設置可能領域として特定できるようにしてもよい。
 また、UI設置可能領域検出部606は、位置を取得したい場所にトラッキングするセンサが直接取り付けられていない場合でも、第1のセンサ部110のセンサ情報から検出される手の位置姿勢と第2のセンサ部120のセンサ情報から検出される頭部の位置姿勢など、検出可能な身体の部位の位置姿勢情報に基づいて、逆キネマティクス演算技術を用いて推定可能なその他の身体の部位をUI設置可能領域として検出するようにしてもよい。
 また、UI設置可能領域検出部606は、検出可能な身体の部位の情報に基づいて、機械学習モデルを用いて位置を推定することが可能なその他の身体の部位をUI設置可能領域として検出するようにしてもよい。UI設置可能領域検出部606は、第1のセンサ部110や第2のセンサ部120からのセンサ情報に基づいて最適なUI設置可能領域を推定するように深層学習された機械学習モデルを利用するようにしてもよい。この機械学習モデルに対しては、例えば、使用時のユーザの手指操作の失敗回数などに基づく損失関数を定義して、損失関数が最小となるように誤差逆伝播により深層学習が行われる。
 また、UI設置可能領域検出部606は、ユーザの身体からUI設置可能領域となる部位を検出するだけでなく、UI設置可能領域のサイズや形状も決定するようにしてもよい。例えば、ユーザが体性感覚に基づいて精度よく手指で操作することが困難な部位の領域のサイズを拡張したり、ユーザが精度よく手指で操作し易い領域の形状に設定したりするようにしてもよい。UI設置可能領域検出部606は、第1のセンサ部110や第2のセンサ部120からのセンサ情報に基づいて最適なUI設置可能領域のサイズ及び形状を推定するように深層学習された機械学習モデルを利用するようにしてもよい。この機械学習モデルに対しては、例えば、使用時のユーザの手指操作の失敗回数などに基づく損失関数を定義して、損失関数が最小となるように誤差逆伝播により深層学習が行われる。
 また、体格などユーザの個人差によって、頭部の位置から胸、腹、腰、尻などのオフセットは大きく異なる。そこで、UI設置可能領域検出部606は、ARグラスに搭載したTOFカメラなどの深度センサの深度情報に基づいて、ユーザの胴回りなどの大きさを推定して、ユーザの胸、腹、腰、尻などの各部位の位置を推定する(又は、頭部の位置から各部位までのオフセットを推定する)ようにして、これらの部位をUI設置可能領域とみなすようにしてもよい。
 また、UI設定可能領域検出部606は、キャリブレーションによって特定することが可能になる場所や身体上の部位を、UI設置可能領域とみなすようにしてもよい。例えば、キャリブレーション時においてユーザに腰や背中や腕をタッチすることを促すようなガイダンスを表示部131の映像やスピーカー132の音声によって出力して、ユーザがガイダンスによってタッチした位置をUI設置可能領域とみなすようにする。例えば、キャリブレーション時において、図9に示すようにARグラスを使って「腕を触ってください」とガイダンスを表示する。これに対し、図10に示すように、ユーザがガイダンスに従って腕を触ったときに、UI設置可能領域検出部606は、第1のセンサ部110のセンサ情報に基づいて、腕の位置(又は、頭部の位置からユーザがタッチした位置のオフセット)を検出することができたら、腕をUI設置可能領域として検出する。また、腰や背中は胴体の背面にあり、ユーザは手探りで触ることになるので、腕の位置ほど正確に触ることができない。そこで、ユーザの腰の位置や背中の位置は、ユーザの頭部の位置(又は、ARグラスの位置)からの大まかな相対位置をUI設置可能領域とみなすようにしてもよい。
 腕の長さや関節の可動範囲も個人差があるため、ユーザが触ることができる腰や背中の最適な位置にも個人差がある。そこで、ユーザがARシステム100(又は、ARグラス)を使っている普段の行動や、ユーザに追加で課したタスクの結果などから、ユーザ毎に差異的なUI設置可能領域を設定するようにしてもよい。また、上述したキャリブレーションを部位毎に複数回行った結果から、各部位のUI設置可能領域を設定するようにしてもよい。
 なお、UI設置可能領域の検出などに用いる身体データは、第1のセンサ部110や第2のセンサ部120などARシステム100内の計測装置だけではなく、ARシステム100の外部の計測装置で得られる情報を受け取ったものであってもよい。
 また、UI設置可能領域検出部606が自動でUI設置可能領域を検出する以外に、ユーザ毎にカスタマイズできるようにしてもよい。例えば、UI設置可能領域検出部606は、ユーザの頭部の位置(又は、ARグラスの位置)からのオフセットに基づいてUI設置可能領域を検出するが、ユーザが四肢のいずれかを損傷している場合には、自動検出されたUI設置可能領域の中にはユーザが触る、タップするなどの手指のジェスチャを行うことができないことがある。このような場合、ユーザの手元で(又は、マニュアル操作で)、利用できないUI設置可能領域を除外するようにしてもよい。
C.ARアプリの格納及び復元動作
 本実施形態に係るARシステム100では、ARアプリを閉じることなく実行状態を保持したまま、UI設置可能領域の場所と紐付けして格納することができる。格納されたARアプリの仮想オブジェクトは、ユーザの視界から消えるが、ユーザが復元動作を行うことでARアプリの仮想オブジェクトが、格納される直前の実行状態のままでユーザの視界に出現する。具体的には、アプリケーション実行部601は、手指位置姿勢検出部604の検出結果に基づいて、ユーザが現在手に持っているARアプリ、あるいはユーザが手や指で指定したARアプリを特定する。そして、アプリケーション実行部601は、UI設置可能領域検出部606が検出したUI設置可能領域内で、ARアプリの格納又はARアプリの復元を指示する手指のジェスチャをユーザが行ったことを、手指位置姿勢検出部604及び手指ジェスチャ検出部605の検出結果に基づいて認識すると、手指のジェスチャで指定した身体上の部位にARアプリのUIを格納したり、UIを格納した身体上の部位からARアプリを復元したりする。
 アプリケーション実行部601は、手指位置姿勢検出部604が検出した手指の位置姿勢に基づいて、ユーザの手指がUI設置可能領域に接近又は進入したことを検出する。第1のセンサ部110で使用されるジャイロセンサ111、加速度センサ112、方位センサ113のセンサの精度が十分でないなどの理由によって、ユーザの手指が接近又は触れる身体部位を推定する粒度を細かくできない場合には、手指が接近又は進入したと判定する距離を広げるようにしてもよい。例えば、UI設置可能領域の近傍で手指のジェスチャが発生したら、UI設置可能領域内でジェスチャが起きたと判定するようにする。手指のジェスチャが発生した位置が、実は本来の身体部位である可能性もある。したがって、UI設置可能領域に設定した身体部位の近傍で手指のジェスチャが発生したら、身体部位の位置をそのジェスチャが発生した位置に更新するようにしてもよい。また、外向きカメラ121で手指を撮影できる場合には、手指位置姿勢検出部604は、外向きカメラ121のカメラ映像により手指の位置姿勢を検出するようにしてもよい。
 また、アプリケーション実行部601は、UI設置可能領域において手指ジェスチャ検出部605が検出した手指のジェスチャに基づいて、ARアプリ又はその仮想オブジェクトに対する指示が行なわれたかどうかを判定する。ここで言う指示は、ARアプリのUIの格納や復元を含む。また、手指ジェスチャ検出部605は、基本的には、手指の形状、具体的には人差し指の第3関節及び第2関節の角度や、親指と人差し指の指先の接触の有無を検出するが、UI設置可能領域における手の通過や、UI設置可能領域となる身体の部位を叩いたり摘まんだりする動作、UI設置可能領域内でフィンガースナップする動作をさらに検出するようにしてもよい。
 本実施形態では、アプリケーション実行部601は、UI設置可能領域において手指ジェスチャ検出部605が手指のジェスチャを検出したことを、ARアプリのUIの格納及び復元のトリガとして利用する。ARアプリのUIの格納と、格納したARアプリの復元にそれぞれ別の手指のジェスチャを割り当ててもよいし、ARアプリのUIの格納と復元の両方に同じ手指のジェスチャを割り当ててもよい。後者の場合、例えばUI設置可能領域として検出された身体の部位を手で叩く動作によりその身体の部位にARアプリのUIを格納し、ARアプリのUIが既に格納されている身体の部位を再び叩くと、その部位からARアプリのUIが復元される。
 例えば、図11に示すように、アプリケーション実行部601が実行中のARアプリの仮想オブジェクト1100が、ユーザの手のひらの上に出現しているとする。ユーザは、仮想オブジェクト1100が邪魔になったとき、その手で自分の身体上のUI設置可能領域に対して所定のジェスチャを行うことで、ARアプリの実行状態を保持したまま、ARアプリのUIをそのUI設置可能領域に格納することができる。所定の手指のジェスチャは、例えばUI設置可能領域を叩く動作でよい。また、UI設置可能領域は背中であってもよい。図12には、ユーザが手のひらで身体の部位(例えば背中)を叩いて、ARアプリのUIを格納する動作例を示している。アプリケーション実行部601は、ARアプリのUIの格納を指示する所定の手指のジェスチャが行われた身体の部位に紐付けしてそのARアプリの実行状態を保持するとともに、仮想オブジェクト1100の表示を消滅させる。
 図11及び図12では省略したが、ユーザの手には図5に示したようなコントローラ500が装着されているものとする。また、アプリケーション実行部601は、ARアプリのUIの格納が完了したときに、振動提示部133を動作させたり、表示部131に完了したことを通知するメッセージを表示したり、スピーカー132から警告音を発したりして、ユーザにフィードバックを与えるようにしてもよい。
 その後、ユーザは、ARアプリを再び使用したくなったときには、ARアプリの復元を指示するために、そのARアプリのUIを格納しておいた身体の部位に対して所定の手指のジェスチャを行う。ARアプリの復元を指示するジェスチャは、ARアプリの格納を指示するジェスチャと同じでも異なっていてもよい。図13には、ユーザがARアプリのUIが格納してある身体の部位(例えば背中)から、親指と人差し指でARアプリのUIをつまみ出すジェスチャによりARアプリのUIを復元する動作例を示している。あるいは、図12と同様に、ARアプリのUIを格納した身体の部位(例えば背中)を手のひらで叩くジェスチャでARアプリのUIを復元するようにしてもよい。アプリケーション実行部601は、ARアプリの復元を指示する所定の手指のジェスチャが行われた身体の部位に紐付けして保持しているARアプリを、元の実行状態で復元する。そして、アプリケーション実行部601は、図14に示すように、復元したARアプリの仮想オブジェクトを、ユーザの手のひらの上に再現させる。
 図13及び図14では省略したが、ユーザの手には図5に示したようなコントローラ500が装着されているものとする。また、アプリケーション実行部601は、ARアプリのUIの復元が完了したときに、振動提示部133を動作させたり、表示部131に完了したことを通知するメッセージを表示したり、スピーカー132から完了したことを通知するアナウンスを音声出力したりして、ユーザにフィードバックを与えるようにしてもよい。
 なお、図11~図12に示した例では、ユーザは、格納しようとするARアプリのUI(仮想オブジェクト)を手に持っている(又は、手のひらの上に置いている)が、対象とする仮想オブジェクトを直接手に持っている必要はない。例えば、ユーザは対象とする仮想オブジェクトを指で指してから、身体の部位に格納するための所定の手指のジェスチャを行うようにしてもよい。
 本実施形態においてARアプリのUIを身体の部位に格納したり身体の部位から復元したりする動作は、デジタル情報を最小化するという観点からは、一般的なOSにおいてスクリーン上のアプリケーションを最小化してタスクバーに格納したりタスクバーに最小化されたアプリケーションを開く動作に類似する。一般的なOSのスクリーンでは、一時的に邪魔になったアプリケーションは最小化してタスクバーに格納される。これに対し、本開示では、一時的に邪魔になったARアプリのUIは、例えばユーザの身体上のUI設置可能領域として検出された部位に格納される。
 また、ARアプリのUIを身体の部位に格納したり身体の部位から復元したりする動作は、オブジェクトを身体の部位に格納するという観点からは、作業員が腰に取り付けたツールホルダーから工具を出し入れしたり、理容師が腰に取り付けたシザーケースから鋏を出し入れしたりする動作にも類似する。理容師は、使い終わった鋏を腰位置のシザーケースに戻し、次に使用する鋏をシザーケースから取り出す。これに対し、本開示では、一時的に邪魔になったARアプリのUIは、UI設置可能領域として検出された身体の部位に格納したり、格納しておいたARアプリのUIを身体の部位から復元したりすることができる。理容師は、体性感覚があるため、視線を移動させることなく、ほぼ正確にシザーケースに手を伸ばして鋏を出し入れすることができる。本開示においても、ユーザは、UI設置可能領域となる身体の部位にARアプリのUIを格納し、その身体の部位からARアプリのUIを取り出して復元する動作を、体性感覚により、視線を移動させることなく行うことができる。
 なお、UI設置可能領域検出部606が身体上のどの部位をUI設置可能領域に検出したのか、すなわち身体上のどの部位にARアプリのUIを格納することができるのかが、ユーザにとって分かり難い場合がある。ARシステム100の利用経験があるユーザであれば自分の身体のどの部位がUI設置可能領域であるのかを記憶している場合もあるが、初心者は全く分からない場合もある。そこで、アプリケーション実行部601は、UI設置可能領域にミニチュアアバタやオーラなどの仮想オブジェクトを表示して、ユーザがUI設置可能領域を視覚で理解し易くするようにしてもよい。図16には、ユーザの身体上にUI設置可能領域のオーラを表示した例を示している。但し、図16に示すUI設置可能領域は一例であり、これに限定されない。また、ミニチュアアバタやオーラの表示方法は特に限定されない。
 アプリケーション実行部601は、ユーザの所定の手指のジェスチャに従って、複数のARアプリのUIを、それぞれ個別のUI設置可能領域に格納するようにしてもよい。この場合、UI設置可能領域検出部606がユーザの身体から複数のUI設置可能領域を検出したことを前提とする。言い換えれば、各UI設置可能領域に1つずつARアプリのUIを格納することが許容される。ユーザが、既に格納済みのUI設置可能領域に所定の手指のジェスチャを行って、重ねてARアプリのUIを格納しようとしたとき、アプリケーション実行部601は、振動提示部133を動作させたり、表示部131に警告メッセージを表示したり、スピーカー132から警告音を発したりして、その場所には格納できないことをユーザにフィードバックするようにしてもよい。
 また、アプリケーション実行部601は、1つのUI設置可能領域に複数のARアプリのUIを重複して格納するようにしてもよい。この場合、ARアプリ毎に異なる手指のジェスチャを使用して、ARアプリを特定するようにしてもよい。但し、ユーザが複数の手指のジェスチャを使い分けることは困難である。そこで、複数のARアプリのUIを格納した場所に対してユーザが所定の手指のジェスチャを行ったときに、アプリケーション実行部601は、その場所に格納されているARアプリの一覧を表示して、ユーザが指差しや音声コマンドなどで選択できるようにしてもよい。あるいは、アプリケーション実行部601は、複数のARアプリのUIを格納した場所に対してユーザが所定の手指のジェスチャを行ったときに、先入れ先出し方式又は先入れ後出し方式によりARアプリのUIの復元を行うようにしてもよい。
 図15には、ARシステム100においてARアプリを格納及び復元動作する動作手順をフローチャートの形式で示している。
 まず、UI設置可能領域検出部606は、ユーザの身体の部位などからUI設置可能領域を検出する(ステップS1501)。UI設置可能領域検出部606は、例えば、ユーザの頭部の位置を基準としてそこから特定のオフセットを加えた場所やユーザの背中や腰などの部位を、UI設置可能領域として検出する。UI設置可能領域の検出方法については既に説明したので、ここでは詳細については省略する。
 次いで、手指位置姿勢検出部604は、ユーザの手指の位置姿勢を取得する(ステップS1502)。手指位置姿勢検出部604は、基本的には、図5に示したようなコントローラ500(又は、第1のセンサ部110)が装着されたユーザの手指の位置姿勢を取得する。但し、手指位置姿勢検出部604は、外向きカメラ121のカメラ映像により手指の位置姿勢を検出するようにしてもよい。
 アプリケーション実行部601は、手指位置姿勢検出部604が検出した手指の位置姿勢に基づいて、ユーザの手指がUI設置可能領域に接近又は進入したかどうかを監視する(ステップS1503)。ステップS1501で複数のUI設置可能領域が検出されている場合には、アプリケーション実行部601は、ユーザの手指がいずれかのUI設置可能領域に接近又は進入したかどうかを監視する。
 アプリケーション実行部601は、ユーザの手指がUI設置可能領域に接近又は進入したことを検出すると(ステップS1503のYes)、続いて、そのUI設置可能領域において手指ジェスチャ検出部605が検出する手指のジェスチャを監視する(ステップS1504)。手指ジェスチャ検出部605は、基本的には、手指の形状、具体的には人差し指の第3関節及び第2関節の角度や、親指と人差し指の指先の接触の有無を検出するが、UI設置可能領域における手の通過や、UI設置可能領域となる身体の部位を叩いたり摘まんだりする動作、UI設置可能領域内でフィンガースナップする動作をさらに検出するようにしてもよい。
 そして、アプリケーション実行部601は、そのUI設置可能領域において、ARアプリのUIの格納又は復元を指示する手指のジェスチャが行われたことを検出すると(ステップS1504のYes)、その手指のジェスチャによる指示に従って、ARアプリのUIの格納又は復元を行う(ステップS1505)。
 ここで、ARアプリのUIの格納が指示される場合、ユーザは、格納しようとするARアプリのUI(仮想オブジェクト)を手に持っている(又は、手のひらの上に置いている)(例えば、図11~図12を参照のこと)。但し、必ずしもユーザが格納するARアプリのUIを直接手に持っているとは限らない。例えば、ユーザは格納したいARアプリのUIを指で指し、アプリケーション実行部601は、手指位置姿勢検出部604の検出結果に基づいてユーザが指したARアプリを特定して、ステップS1503で検出されたUI設置可能領域にそのARアプリのUIを格納するようにしてもよい。
D.ARアプリの分離表示
 アプリケーション実行部601は、OSが提供する実行環境下で、ARアプリを含むアプリケーションプログラムを実行するとともに、ARアプリ(仮想オブジェクト)の表示動作も制御する。仮想オブジェクトは、実空間上の任意に場所に配置される。図11や図14には、説明の便宜上、ユーザの手が届く範囲、すなわちユーザの手のひらにARアプリが載っている例を示したが、ユーザの手が届かない遠方に仮想オブジェクトが配置されることも想定される。
 ユーザは、手の届く範囲に配置されたARアプリを手で操作することができる、アプリケーション実行部601は、ARアプリを配置した位置と、手指位置姿勢検出部604及び手指ジェスチャ検出部605の検出結果に基づいて、ユーザがARアプリに対して手で行った操作を推定することができる。一方、手が届かない遠方に配置されたARアプリを直接手で操作することができない。
 そこで、本実施形態では、デバイスを遠隔操作するリモコンのような、ARアプリを操作する操作アプリをユーザの手元に配置して、手が届かない遠方に配置されたARアプリを、操作アプリを使って操作を行えるようにする。アプリケーション実行部601は、操作アプリを配置した位置と、手指位置姿勢検出部604及び手指ジェスチャ検出部605の検出結果に基づいて、ユーザが操作アプリに対して行った操作を推定することができる。そして、アプリケーション実行部601は、ユーザが操作アプリに対して行った操作の内容に基づいて、遠方に配置されたARアプリの動作を制御する。操作アプリは、対象とするARアプリを操作する操作UIを備えている。
 操作アプリは、ARアプリの1つである。アプリケーション実行部601は、操作アプリを実行して、操作UIを含んだ仮想オブジェクトをユーザの手元に表示する。ユーザの手元とは、例えばユーザの頭部の位置を基準としてそこから特定のオフセットを加えた場所や、ユーザの手のひらや手の甲などである。
 操作アプリは、操作の対象となるARアプリに応じて、操作UIの表示が異なる。例えば動画再生用のARアプリであれば、操作UIは、再生、一時停止、早送り、巻き戻し、繰り返し再生といったコンテンツ再生に関する操作を指示するためのUI部品が必要である。他方、レースゲーム用のARアプリであれば、アクセル、ブレーキ、ハンドルなどの操作を指示するためのUI部品が必要である。図17には、動画再生用のARアプリ1701を観賞中のユーザの手元に、コンテンツ再生操作用のUI部品からなる操作UI1702が表示されている様子を例示している。動画再生用のARアプリ1701及び操作UI1702はいずれも実空間に表示される仮想オブジェクトであり、ユーザはARグラス越しにこれらを観察することができる。ユーザは、手の届かない場所に表示されているARアプリ1701の動画コンテンツを視聴しているときに、手元の操作UI1702に含まれる再生、一時停止、早送り、巻き戻し、繰り返し再生などのボタンを使って、コンテンツの再生操作を行うことができる。
 図17に示したように、ユーザの近くに操作アプリを配置することで、ユーザは、手が届かない遠方に配置されたARアプリを操作することが可能になる。ところが、近くに操作アプリを配置したとしても、ユーザは手元を見ながらでないと、どのボタンがどこにあるのかが分からず、正確に操作できないという問題がある。そこで、操作の対象となるARアプリを操作する機能(又は、UI部品)のすべて又は一部を、ユーザの手に直接配置するようにしてもよい。ユーザは、体性感覚によりどのボタンがどこにあるのかが分かるので、ARアプリ(例えば、動画再生)から視線を外さなくても操作UIを正確に操作することができる。もちろん、手以外でも、ユーザが体性感覚によってボタンの位置を正確に把握することができる身体部位に操作UIを配置するようにしてもよい。上記C項では、ユーザの身体の部位(UI設定可能領域)にARアプリのUIを格納する実施例について説明したが、このD項では、ARアプリの機能の一部又は全部をユーザの身体の部位に配置するという訳である。
 例えば、ユーザの左の手のひらに操作UIのすべて又は一部を配置して、これを、コントローラ500(図5を参照のこと)を装着した右手で操作するようにする。アプリケーション実行部601は、例えば外向きカメラ121の撮影画像から位置及び姿勢が認識されるユーザの左の手のひらに、操作UIを配置する。ユーザはARグラス越しに自分の手のひらに表示された操作UIを見て、所望の操作UIを右手で操作することができる。そして、アプリケーション実行部601は、手指位置姿勢検出部604の検出結果に基づいて、ユーザの右手が左の手のひらの近傍にあることを認識し、さらに手指ジェスチャ検出部605の検出結果に基づいて、左の手のひらに配置されたいずれかのボタンを操作したことを認識すると、そのボタンによって指示されるARアプリの動作を実行する。例えば、アプリケーション実行部601は、動画再生用のARアプリを実行中にユーザが再生ボタンを押す操作を認識すると、動画コンテンツの再生を開始し、早送りを押す操作を認識すると、コンテンツを早送りする。
 図18には、ユーザの左の手のひらに、再生、早送り、巻き戻しなどコンテンツ再生用の操作UIの仮想オブジェクト1801~1803を表示している例を示している。また、図19には、コンテンツ再生用の操作UIとして、回転により順方向又は逆方向にフレーム送りを指示するジョグコントローラの仮想オブジェクト1901をユーザの左の手のひらに表示している例を示している。図18及び図19のいずれに示す例においても、アプリケーション実行部601は、例えば外向きカメラ121の撮影画像から位置及び姿勢が認識されるユーザの左の手のひらに、操作UI1801~1803又は1901の仮想オブジェクトを配置する。ユーザはARグラス越しに自分の手のひらに表示された操作UI1801~1803又は1901を見ることができる。そして、アプリケーション実行部601は、手指位置姿勢検出部604の検出結果に基づいて、ユーザの右手が左の手のひらの近傍にあることを認識し、さらに手指ジェスチャ検出部605の検出結果に基づいて、左の手のひらに配置された操作UIに対する操作量を認識すると、その操作量に応じて、再生コンテンツの再生、早送り、巻き戻し、又はフレーム送りなどのARアプリの動作を実行する。
 また、ユーザの手のひらではなく、手の甲にARアプリを操作する機能を配置するようにしてもよい。手のひらがほぼ平坦であるのに対し、手の甲は、人差し指、中指、薬指、並びに小指の各指に中手骨頭部による凸部を有するという特徴的な形状である。したがって、図20に示すように、左手の人差し指、中指、薬指、並びに小指の4つの凸部にそれぞれ、再生、一時停止、早送り、巻き戻しなどのARアプリを操作する機能を個別に割り当てるようにしてもよい。ユーザは、左の手の甲を直接見なくても、体性感覚により、各指の凸部を右手で触ることができる。アプリケーション実行部601は、例えば外向きカメラ121の撮影画像から位置及び姿勢が認識されるユーザの左の手の甲の4つの凸部に再生、一時停止、早送り、巻き戻しの各機能を割り当てるが、仮想オブジェクトを配置する必要はない。ユーザは、左の手のひらを直接見ることなく、左手の甲のいずれかの凸部を触って、ARアプリに対する操作を行う。そして、アプリケーション実行部601は、手指位置姿勢検出部604の検出結果に基づいて、ユーザの右手が左の手の甲の近傍にあることを認識し、さらに手指ジェスチャ検出部605の検出結果に基づいて、ユーザが右手の指で左の手の甲のいずれかの凸部を触ったことを認識すると、その凸部に割り当てられた機能に応じて、再生コンテンツの再生、早送り、巻き戻し、又はフレーム送りなどのARアプリの動作を実行する。
 ARシステム100において、図17~図20に示したように、ARアプリ本体の仮想オブジェクトと分離してARアプリの操作UIを配置できるようにするには、操作UIを分離可能とにするための必要な情報を、ARアプリが保持し又はARアプリに対応付けて保持する。また、ユーザの左の手のひらや手の甲などユーザの手元に操作UIを配置する際に、中手骨頭部など配置可能な個数が制限されている場合がある。このため、複数の操作UIの中で優先順位を決めておくなどユーザの手元に優先的に配置すべき操作UIを判断できるようにする情報も、ARアプリが保持し又はARアプリに対応付けて保持しておく。
 また、ARアプリ本体の仮想オブジェクトと分離してARアプリの操作部をユーザの手元に配置する場合、操作部を配置できる領域をARグラス(又は、第2のセンサ部120)の位置から一定距離内とするといった規則を確定する。これによって、操作部に対して操作を行うユーザの手指の位置姿勢やジェスチャを手指位置姿勢検出部604及び手指ジェスチャ検出部605が検出できることが担保され、アプリケーション実行部601は、操作部に対するユーザの手指の操作に基づいてARアプリを動作することが可能になる。
 ユーザの手元やユーザの手のひら又は手の甲に配置された操作部に対して行うユーザの手指の操作を、外向きカメラ121の撮影画像を通じて認識することも可能である。これに対し、本実施形態では、操作を行うユーザの手(右手)には第1のセンサ部110が取り付けられているので、外向きカメラ121の視野にオクルージョンが発生した場合であっても、第1のセンサ部110からのセンサ情報に基づいて、操作部に対して行われるユーザの手指の操作を高い精度で検出することができる。
 また、手指位置姿勢検出部604の検出精度が十分でない場合には、アプリケーション実行部601は、1つの操作を割り当てる領域のサイズを拡張したり(例えば、再生ボタンを大きくする)、仮想オブジェクトとして表示する操作UIの形状を単純化したりして、ユーザが操作部を操作し易くするようにしてもよい。例えば、アプリケーション実行部601は、ARアプリに対して操作UIの最適なサイズ及び形状を推定する機械学習モデルを利用して、操作UIのサイズや形状を決定するようにしてもよい。この機械学習モデルに対しては、例えば、使用時のユーザの手指操作の失敗回数などに基づく損失関数を定義して、損失関数が最小となるように誤差逆伝播により深層学習が行われる。
E.操作UIの配置
 上記D項では、ARアプリ本体の仮想オブジェクトと分離してARアプリの操作UIを配置する実施例に関して説明し、さらに操作UIのサイズや形状を最適化する点についても説明した。
 図20に示したように、中手骨頭部など身体部位の特徴を利用して操作UIを配置する場合、ユーザは自分の身体部位を直接見なくても、体性感覚により正確に操作UIを操作することができる。また、背中や手のひらなど形状に特徴のない身体部位にボタンやメニューなどを配置する場合には、操作ミスが生じないように各ボタンのサイズや形状を最適化することにより、ユーザは正確に操作UIを操作することができる。
 これに対し、座標入力を行う操作UIを身体の部位に配置する場合には、操作UIとこれを操作するユーザの手指との相対的な位置によって誤入力が発生することが懸念される。
 例えば、図21に示すように、ユーザの左の手のひらにタッチパネルの操作UI2101を配置して、コントローラ500(又は第1のセンサ部110)を装着した右手の指で操作するような場合、ユーザは右手の人差し指で水平方向のフリック操作を行っているつもりでも、左手の位置姿勢によっては正しく入力されないことがある。具体的には、図22に示すように、ユーザの左の手のひらに配置されたタッチパネルの座標系がユーザの身体の重心を原点とするローカル座標系(又はユーザが頭でイメージするローカル座標系)と一致する(又は平行となる)ように左手の位置姿勢がとられていれば、ユーザがタッチパネルの操作UIに対して右手で水平方向のフリック操作を行うと、手指ジェスチャ検出部605は水平方向のフリック操作の座標入力を検出することができる。他方、図23に示すように、タッチパネルの座標系がユーザのローカル座標系に対して傾斜するような左手の姿勢の場合には、ユーザは、自身のローカル座標系を基準にして右手で水平方向にフリック操作を行っているつもりであっても、手指ジェスチャ検出部605は斜め方向のフリック操作の座標入力を検出することになる。例えば、外向きカメラ121の撮影画像などから認識される左手の座標系を基準にしてタッチパネル2101を配置すると、右手で同じフリック操作をしても、左手の姿勢に応じて異なる座標入力を行うことになる。
 そこで、本実施形態では、座標入力を行う操作UIを配置する身体の部位の姿勢に基づいて、その部位に配置する操作UIの向きを補正するようにする。例えば図21に示したように、ユーザの左の手のひらにタッチパネルの操作UI2101を配置する場合には、左手の姿勢を取得してタッチパネルの手指位置姿勢検出部604が検出する身体の部位の座標系ではなく、ユーザの身体の向き、操作UIが操作対象とするオブジェクトが配置されている方向、又はユーザの視線方向のいずれかを基準にして、座標入力を行う操作UIの向き(座標系)を補正するようにする。
 図24には、ユーザの身体の向きを基準にして、座標入力を行う操作UIの向き(座標系)を補正する例を示している。アプリケーション実行部601は、例えば第2のセンサ部120からのセンサ情報に基づいて、身体の向きを検出することができる。また、アプリケーション実行部601は、例えば外向きカメラ121の撮影画像の認識結果に基づいてユーザの左の手のひらの位置姿勢を検出することができる。左手にも第1のセンサ部110を装着している場合には、第1のセンサ部110からのセンサ情報に基づいて左手の位置姿勢を検出することができる。そして、アプリケーション実行部601は、左手の姿勢に拘わらず、操作UIの向きが身体の向きと一致するように(又は、操作UIの座標系とユーザのローカル座標系が平行となるように)、ユーザの左の手のひらの上に、操作UIを配置する。この場合、ユーザがタッチパネルの操作UIに対して右手で水平方向のフリック操作を行うと、手指ジェスチャ検出部605は水平方向のフリック操作の座標入力を検出することができる。
 図25には、操作UIが操作対象とするオブジェクトが配置されている方向を基準にして、座標入力を行う操作UIの向き(座標系)を補正する例を示している。図25において、操作UIの操作対象は、タッチパネルで操作しようとするARアプリの仮想オブジェクトである。アプリケーション実行部601は、操作対象となっているARアプリの仮想オブジェクト2501を配置した位置を把握している。また、アプリケーション実行部601は、例えば外向きカメラ121の撮影画像の認識結果に基づいてユーザの左の手のひらの位置姿勢を検出することができる。左手にも第1のセンサ部110を装着している場合には、第1のセンサ部110からのセンサ情報に基づいて左手の位置姿勢を検出することができる。そして、アプリケーション実行部601は、操作UIの向きが操作対象となるARアプリの仮想オブジェクト2501の正面の方向と一致するように、ユーザの左の手のひらの上に、操作UIを配置する。この場合、ユーザは、ARアプリの仮想オブジェクト2501を見ながら、その仮想オブジェクト2501が配置された平面に倣って右手で水平方向のフリック操作を行うと、手指ジェスチャ検出部605は仮想オブジェクト2501に対する水平方向のフリック操作の座標入力を検出することができる。
 図26には、ユーザの視線方向を基準にして、座標入力を行う操作UIの向き(座標系)を補正する例を示している。アプリケーション実行部601は、例えば第2のセンサ部120のセンサ情報から得られる頭部の位置姿勢、又は内向きカメラ122で撮影したユーザの眼の画像を画像認識して、ユーザの視線方向を検出する。図26に示す例では、ユーザの視線は、ARアプリの仮想オブジェクト2601上を移動している。また、アプリケーション実行部601は、例えば外向きカメラ121の撮影画像の認識結果に基づいてユーザの左の手のひらの位置姿勢を検出することができる。左手にも第1のセンサ部110を装着している場合には、第1のセンサ部110からのセンサ情報に基づいて左手の位置姿勢を検出することができる。そして、アプリケーション実行部601は、操作UIの向きが操作対象となるユーザの視線方向と一致するように、ユーザの左の手のひらの上に、操作UIを配置する。この場合、ユーザは、任意の方向を眺めながら視線を基準に右手で水平方向のフリック操作を行うと、手指ジェスチャ検出部605は仮想オブジェクト2601に対する水平方向のフリック操作の座標入力を検出することができる。
 図26に示す例は、ユーザが例えばソファに寝そべってARアプリを操作する場合を想定している。寝そべっているときの手のひらの向きは立位のときと大きく異なるが、ユーザの視線方向を基準に操作UIの向きを補正するというルールに則って手のひらの操作UIの向きを補正することで、ユーザの快適な操作を維持することができる。
 図24~図26で例示する方法で操作UIの向きを補正することによって、ユーザが意図しない操作がARアプリに行われないようになり、ユーザの会的な操作を実現することができる。
 以上、特定の実施形態を参照しながら、本開示について詳細に説明してきた。しかしながら、本開示の要旨を逸脱しない範囲で当業者が該実施形態の修正や代用を成し得ることは自明である。
 本明細書では、主に本開示をARシステムに適用した実施形態を中心に説明してきたが、本開示の要旨はこれに限定されるものではない。例えば、仮想空間を現実として知覚させるVRシステムや現実と仮想を交錯させるMRシステムにも、同様に本開示を適用することができる。
 要するに、例示という形態により本開示について説明してきたのであり、本明細書の記載内容を限定的に解釈するべきではない。本開示の要旨を判断するためには、特許請求の範囲を参酌すべきである。
 なお、本開示は、以下のような構成をとることも可能である。
(1)ユーザの身体上の第1の部位の位置姿勢又は形状を取得する取得部と、
 前記第1の部位の位置姿勢又は形状に基づいて、表示装置において実空間に表示する仮想オブジェクトを制御する制御部と、
を具備する情報処理装置。
(2)前記取得部は、前記第1の部位に取り付けたセンサに基づいて前記第1の部位の位置姿勢を取得する、
上記(1)に記載の情報処理装置。
(3)前記第1の部位はユーザの手又は指を含み、
 前記取得部は、ユーザの手又は指に取り付けられた位置姿勢センサからのセンサ情報に基づいてユーザの手又は指の位置姿勢又は指の形状を取得する、
上記(1)又は(2)のいずれかに記載の情報処理装置。
(4)前記制御部は、前記第1の部位の位置姿勢又は形状に基づいて、前記第1の部位がユーザの身体上の第2の部位に所定の操作を行ったことを認識する、
上記(1)乃至(3)のいずれかに記載の情報処理装置。
(5)前記制御部は、前記取得部が取得した前記第1の部位の位置姿勢又は形状に基づいて、前記第1の部位がユーザの身体上の第2の部位に対して第1の操作を行ったことを認識すると、前記仮想オブジェクトの実行状態を前記第2の部位に紐付けして格納して、前記表示装置による前記仮想オブジェクトの表示を停止させる、
上記(1)乃至(4)のいずれかに記載の情報処理装置。
(6)前記制御部は、前記取得部が取得した前記第1の部位の位置姿勢又は形状に基づいて、前記第1の部位がユーザの身体上の第2の部位に対して第2の操作を行ったことを認識すると、前記第2の部位に紐付けして格納した実行状態に基づいて前記仮想オブジェクトの表示を復元する、
上記(5)に記載の情報処理装置。
(7)ユーザの身体上で第2の部位を設置することが可能な領域を検出する検出部をさらに備える、
上記(4)乃至(6)のいずれかに記載の情報処理装置。
(8)前記検出部は、ユーザの身体上で位置姿勢を取得可能な第3の部位から所定のオフセットを加えた場所を第2の部位として検出する、
上記(7)に記載の情報処理装置。
(9)前記検出部は、前記第1の部位の位置姿勢に基づいて位置を推定可能な身体上の領域を第2の部位として検出する、
上記(7)又は(8)のいずれかに記載の情報処理装置。
(10)前記検出部は、位置姿勢を取得可能な前記第1の部位と第3の部位の位置姿勢情報に基づいて逆キネマティクス演算により位置を推定可能な第2の部位を検出する、
上記(7)乃至(9)のいずれかに記載の情報処理装置。
(11)前記検出部は、前記第1の部位による操作性に基づいて、第2の部位のサイズ又は形状を検出する、
上記(7)乃至(10)のいずれかに記載の情報処理装置。
(12)前記検出部は、前記第1の部位で触れるキャリブレーションによって場所を特定可能な第2の部位を検出する、
上記(7)乃至(11)のいずれかに記載の情報処理装置。
(13)前記制御部は、ユーザから遠方に配置された仮想オブジェクトに対してユーザが操作を行うための操作部をユーザの手元に配置するように制御する、
上記(1)乃至(12)のいずれかに記載の情報処理装置。
(14)前記制御部は、前記操作部をユーザの身体上の第4の部位に配置するように制御する、
上記(13)に記載の情報処理装置。
(15)前記制御部は、前記第4の部位に配置する前記操作部の向きを補正する、
上記(14)に記載の情報処理装置。
(16)前記制御部は、ユーザの身体の向き、仮想オブジェクトが配置されている方向、又はユーザの視線方向のいずれかを基準にして前記操作部の向きを補正する、
上記(15)に記載の情報処理装置。
(17)ユーザの身体上の第1の部位の位置姿勢又は形状を取得する取得ステップと、
 前記第1の部位の位置姿勢又は形状に基づいて、表示装置において実空間に表示する仮想オブジェクトを制御する制御ステップと、
を有する情報処理方法。
(18)ユーザの身体上の第1の部位の位置姿勢又は形状を取得する取得部、
 前記第1の部位の位置姿勢又は形状に基づいて、表示装置において実空間に表示する仮想オブジェクトを制御する制御部、
としてコンピュータが機能するようにコンピュータ可読形式で記述されたコンピュータプログラム。
(19)実空間に仮想オブジェクトを表示する表示装置と、
 ユーザの身体上の第1の部位の位置姿勢又は形状を取得する取得部と、
 前記第1の部位の位置姿勢又は形状に基づいて仮想オブジェクトの表示を制御する制御部と、
を具備する拡張現実感システム。
 100…ARシステム、110…第1のセンサ
 111…ジャイロセンサ、112…加速度センサ、113…方位センサ
 120…第2のセンサ部、121…外向きカメラ
 122…内向きカメラ、123…マイク、124…ジャイロセンサ
 125…加速度センサ、126…方位センサ
 131…表示部、132…スピーカー、133…振動提示部
 134…通信部、140…制御部、150…記憶部
 300…ARシステム、301…ARグラス、302…コントローラ
 400…ARシステム、401…ARグラス、402…コントローラ
 403…情報端末
 500…コントローラ、501、502、503…IMU
 511、512、513…バンド
 601…アプリケーション実行部、602…頭部位置姿勢検出部
 603…出力制御部、604…手指位置姿勢検出部
 605…手指ジェスチャ検出部、606…UI設定可能領域検出部

Claims (19)

  1.  ユーザの身体上の第1の部位の位置姿勢又は形状を取得する取得部と、
     前記第1の部位の位置姿勢又は形状に基づいて、表示装置において実空間に表示する仮想オブジェクトを制御する制御部と、
    を具備する情報処理装置。
  2.  前記取得部は、前記第1の部位に取り付けたセンサに基づいて前記第1の部位の位置姿勢を取得する、
    請求項1に記載の情報処理装置。
  3.  前記第1の部位はユーザの手又は指を含み、
     前記取得部は、ユーザの手又は指に取り付けられた位置姿勢センサからのセンサ情報に基づいてユーザの手又は指の位置姿勢又は指の形状を取得する、
    請求項1に記載の情報処理装置。
  4.  前記制御部は、前記第1の部位の位置姿勢又は形状に基づいて、前記第1の部位がユーザの身体上の第2の部位に所定の操作を行ったことを認識する、
    請求項1に記載の情報処理装置。
  5.  前記制御部は、前記取得部が取得した前記第1の部位の位置姿勢又は形状に基づいて、前記第1の部位がユーザの身体上の第2の部位に対して第1の操作を行ったことを認識すると、前記仮想オブジェクトの実行状態を前記第2の部位に紐付けして格納して、前記表示装置による前記仮想オブジェクトの表示を停止させる、
    請求項1に記載の情報処理装置。
  6.  前記制御部は、前記取得部が取得した前記第1の部位の位置姿勢又は形状に基づいて、前記第1の部位がユーザの身体上の第2の部位に対して第2の操作を行ったことを認識すると、前記第2の部位に紐付けして格納した実行状態に基づいて前記仮想オブジェクトの表示を復元する、
    請求項5に記載の情報処理装置。
  7.  ユーザの身体上で第2の部位を設置することが可能な領域を検出する検出部をさらに備える、
    請求項4に記載の情報処理装置。
  8.  前記検出部は、ユーザの身体上で位置姿勢を取得可能な第3の部位から所定のオフセットを加えた場所を第2の部位として検出する、
    請求項7に記載の情報処理装置。
  9.  前記検出部は、前記第1の部位の位置姿勢に基づいて位置を推定可能な身体上の領域を第2の部位として検出する、
    請求項7に記載の情報処理装置。
  10.  前記検出部は、位置姿勢を取得可能な前記第1の部位と第3の部位の位置姿勢情報に基づいて逆キネマティクス演算により位置を推定可能な第2の部位を検出する、
    請求項7に記載の情報処理装置。
  11.  前記検出部は、前記第1の部位による操作性に基づいて、第2の部位のサイズ又は形状を検出する、
    請求項7に記載の情報処理装置。
  12.  前記検出部は、前記第1の部位で触れるキャリブレーションによって場所を特定可能な第2の部位を検出する、
    請求項7に記載の情報処理装置。
  13.  前記制御部は、ユーザから遠方に配置された仮想オブジェクトに対してユーザが操作を行うための操作部をユーザの手元に配置するように制御する、
    請求項1に記載の情報処理装置。
  14.  前記制御部は、前記操作部をユーザの身体上の第4の部位に配置するように制御する、
    請求項13に記載の情報処理装置。
  15.  前記制御部は、前記第4の部位に配置する前記操作部の向きを補正する、
    請求項14に記載の情報処理装置。
  16.  前記制御部は、ユーザの身体の向き、仮想オブジェクトが配置されている方向、又はユーザの視線方向のいずれかを基準にして前記操作部の向きを補正する、
    請求項15に記載の情報処理装置。
  17.  ユーザの身体上の第1の部位の位置姿勢又は形状を取得する取得ステップと、
     前記第1の部位の位置姿勢又は形状に基づいて、表示装置において実空間に表示する仮想オブジェクトを制御する制御ステップと、
    を有する情報処理方法。
  18.  ユーザの身体上の第1の部位の位置姿勢又は形状を取得する取得部、
     前記第1の部位の位置姿勢又は形状に基づいて、表示装置において実空間に表示する仮想オブジェクトを制御する制御部、
    としてコンピュータが機能するようにコンピュータ可読形式で記述されたコンピュータプログラム。
  19.  実空間に仮想オブジェクトを表示する表示装置と、
     ユーザの身体上の第1の部位の位置姿勢又は形状を取得する取得部と、
     前記第1の部位の位置姿勢又は形状に基づいて仮想オブジェクトの表示を制御する制御部と、
    を具備する拡張現実感システム。
PCT/JP2020/043516 2020-01-17 2020-11-20 情報処理装置及び情報処理方法、コンピュータプログラム、並びに拡張現実感システム WO2021145067A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2021570663A JPWO2021145067A1 (ja) 2020-01-17 2020-11-20
US17/758,521 US20230031913A1 (en) 2020-01-17 2020-11-20 Information processing device, information processing method, computer program, and augmented reality system

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2020006411 2020-01-17
JP2020-006411 2020-01-17

Publications (1)

Publication Number Publication Date
WO2021145067A1 true WO2021145067A1 (ja) 2021-07-22

Family

ID=76864583

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2020/043516 WO2021145067A1 (ja) 2020-01-17 2020-11-20 情報処理装置及び情報処理方法、コンピュータプログラム、並びに拡張現実感システム

Country Status (3)

Country Link
US (1) US20230031913A1 (ja)
JP (1) JPWO2021145067A1 (ja)
WO (1) WO2021145067A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019046455A (ja) * 2018-07-06 2019-03-22 株式会社コロプラ 仮想体験を提供するためにコンピュータで実行される方法、プログラム及びコンピュータ

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022221106A1 (en) * 2021-04-12 2022-10-20 Snap Inc. Enabling the visually impaired with ar using force feedback

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009104249A (ja) * 2007-10-19 2009-05-14 Canon Inc 画像処理装置、画像処理方法
JP2016162321A (ja) * 2015-03-04 2016-09-05 株式会社メガチップス 画像認識装置
WO2018008226A1 (ja) * 2016-07-05 2018-01-11 ソニー株式会社 情報処理装置、情報処理方法およびプログラム
JP2018014119A (ja) * 2014-08-22 2018-01-25 株式会社ソニー・インタラクティブエンタテインメント 手袋インタフェースオブジェクト及び方法
WO2018146922A1 (ja) * 2017-02-13 2018-08-16 ソニー株式会社 情報処理装置、情報処理方法、及びプログラム

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180095635A1 (en) * 2016-10-04 2018-04-05 Facebook, Inc. Controls and Interfaces for User Interactions in Virtual Spaces

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009104249A (ja) * 2007-10-19 2009-05-14 Canon Inc 画像処理装置、画像処理方法
JP2018014119A (ja) * 2014-08-22 2018-01-25 株式会社ソニー・インタラクティブエンタテインメント 手袋インタフェースオブジェクト及び方法
JP2016162321A (ja) * 2015-03-04 2016-09-05 株式会社メガチップス 画像認識装置
WO2018008226A1 (ja) * 2016-07-05 2018-01-11 ソニー株式会社 情報処理装置、情報処理方法およびプログラム
WO2018146922A1 (ja) * 2017-02-13 2018-08-16 ソニー株式会社 情報処理装置、情報処理方法、及びプログラム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
LEAP MOTION: "Project North Star: Exploring Augmented Reality", YOUTUBE, 11 April 2018 (2018-04-11), XP054982276, Retrieved from the Internet <URL:https://www.youtube.com/watch?v=7m6J8W6Ib4w> [retrieved on 20201210] *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019046455A (ja) * 2018-07-06 2019-03-22 株式会社コロプラ 仮想体験を提供するためにコンピュータで実行される方法、プログラム及びコンピュータ
JP7166813B2 (ja) 2018-07-06 2022-11-08 株式会社コロプラ 仮想体験を提供するためにコンピュータで実行される方法、プログラム及びコンピュータ

Also Published As

Publication number Publication date
JPWO2021145067A1 (ja) 2021-07-22
US20230031913A1 (en) 2023-02-02

Similar Documents

Publication Publication Date Title
US10776991B2 (en) Method of providing virtual space, method of providing virtual experience, system and medium for implementing the methods
US11513605B2 (en) Object motion tracking with remote device
EP3425481B1 (en) Control device
US9223494B1 (en) User interfaces for wearable computers
US10303244B2 (en) Information processing apparatus, information processing method, and computer program
JP6340301B2 (ja) ヘッドマウントディスプレイ、携帯情報端末、画像処理装置、表示制御プログラム、表示制御方法、及び表示システム
CN108027657A (zh) 增强和/或虚拟现实环境中的场境敏感用户界面激活
CN107896508A (zh) 可以作为多个目标/端点(设备)和的整合点的以人为中心的“设备的超ui”体系结构的方法和设备,以及面向“模块化”通用控制器平台以及输入设备虚拟化的具有动态上下文意识的手势输入的相关方法/系统
US20150002475A1 (en) Mobile device and method for controlling graphical user interface thereof
WO2021145067A1 (ja) 情報処理装置及び情報処理方法、コンピュータプログラム、並びに拡張現実感システム
US11835727B2 (en) Information processing apparatus and information processing method for controlling gesture operations based on postures of user
EP3635512A1 (en) Virtual cover for user interaction in augmented reality
WO2021192589A1 (ja) 情報処理装置及び情報処理方法、コンピュータプログラム、並びに拡張現実感システム
US20220184489A1 (en) Device including plurality of markers
JP6779840B2 (ja) 仮想空間における入力を支援するための方法および装置ならびに当該方法をコンピュータに実行させるプログラム
JP6444345B2 (ja) 仮想空間における入力を支援するための方法および装置ならびに当該方法をコンピュータに実行させるプログラム
JP6776155B2 (ja) 仮想現実を提供するための方法、および当該方法をコンピュータに実行させるためのプログラム、および当該プログラムを実行するための情報処理装置
WO2021145068A1 (ja) 情報処理装置及び情報処理方法、コンピュータプログラム、並びに拡張現実感システム
WO2024090303A1 (ja) 情報処理装置及び情報処理方法
US20240103629A1 (en) Control device and control method
WO2023176420A1 (ja) 情報処理装置及び情報処理方法
WO2024090298A1 (ja) 情報処理装置、情報処理方法、及び、入力デバイス
US20230245410A1 (en) Systems and methods of guided instructions or support using a virtual object
JP2018014084A (ja) 仮想空間を提供する方法、仮想体験を提供する方法、プログラム、および記録媒体
WO2024020061A1 (en) Devices, methods, and graphical user interfaces for providing inputs in three-dimensional environments

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: 20913652

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2021570663

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 20913652

Country of ref document: EP

Kind code of ref document: A1