Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP7717628B2 - Information processing device - Google Patents
[go: Go Back, main page]

JP7717628B2 - Information processing device - Google Patents

Information processing device

Info

Publication number
JP7717628B2
JP7717628B2 JP2022004962A JP2022004962A JP7717628B2 JP 7717628 B2 JP7717628 B2 JP 7717628B2 JP 2022004962 A JP2022004962 A JP 2022004962A JP 2022004962 A JP2022004962 A JP 2022004962A JP 7717628 B2 JP7717628 B2 JP 7717628B2
Authority
JP
Japan
Prior art keywords
virtual
virtual key
gesture
finger
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2022004962A
Other languages
Japanese (ja)
Other versions
JP2023104144A (en
Inventor
仁史 山崎
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NTT Docomo Inc
Original Assignee
NTT Docomo Inc
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 NTT Docomo Inc filed Critical NTT Docomo Inc
Priority to JP2022004962A priority Critical patent/JP7717628B2/en
Publication of JP2023104144A publication Critical patent/JP2023104144A/en
Application granted granted Critical
Publication of JP7717628B2 publication Critical patent/JP7717628B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • User Interface Of Digital Computer (AREA)

Description

本発明は、情報処理装置に関する。 The present invention relates to an information processing device.

特許文献1は、仮想キーであるアイコンを用いてキー操作を実行する技術を開示している。この技術では、3つの指先が検出されると、当該3つ指先の各々の位置にアイコンが割り当てられる。その後、3つの指先のいずれかが、所定値以上の距離を移動した場合、所定値以上の距離を移動した指に割り当てられたアイコンに対応するキー操作が実行される。 Patent Document 1 discloses a technology for performing key operations using icons, which are virtual keys. With this technology, when three fingertips are detected, an icon is assigned to each of the three fingertip positions. If any of the three fingertips subsequently moves a distance equal to or greater than a predetermined value, the key operation corresponding to the icon assigned to the finger that moved the distance equal to or greater than the predetermined value is performed.

特開2013-61848号公報JP 2013-61848 A

特許文献1に記載の技術において、仮想キーの指先位置への割り当てを開始するトリガとして、指によって行われるジェスチャー(例えば、人差し指と中指を相互に重ねるジェスチャー)を用いる態様が考えられる。この態様では、ジェスチャーを行った指の指先位置に仮想キーが設定される。 In the technology described in Patent Document 1, a possible implementation is to use a gesture made with a finger (for example, a gesture of placing the index finger and middle finger together) as a trigger to start assigning a virtual key to a fingertip position. In this implementation, a virtual key is set at the fingertip position of the finger that made the gesture.

しかしながら、この態様では、仮想キーが設定される指によってジェスチャーが行われるため、ジェスチャーを行った指の指先位置を検出し難くなる可能性が生じる。このため、仮想キーが設定されるはずの正しい位置とは異なる位置に仮想キーが設定されやすくなってしまう。 However, in this case, since the gesture is made with the finger that is assigned to the virtual key, it may be difficult to detect the position of the fingertip that made the gesture. This makes it easy for the virtual key to be assigned in a position different from the correct position where it should be assigned.

本発明の目的は、仮想キーが正しい位置とは異なる位置に設定されることを低減可能な情報処理装置を提供することである。 The object of the present invention is to provide an information processing device that can reduce the likelihood of virtual keys being set in a position other than the correct position.

一態様に係る情報処理装置は、第1仮想キーを仮想空間に位置させる仮想キー設定部と、少なくとも1つの指によって行われるジェスチャーを検出するジェスチャー検出部と、前記少なくとも1つの指とは異なる第1指の指先位置を検出する指先検出部と、前記第1仮想キーが前記仮想空間に位置する状況において前記ジェスチャー検出部が前記ジェスチャーを検出した場合、前記指先検出部が検出した前記第1指の指先位置に対応する前記仮想空間上の目標位置に前記第1仮想キーを移動する仮想キー制御部と、を含む。 An information processing device according to one embodiment includes a virtual key setting unit that positions a first virtual key in a virtual space; a gesture detection unit that detects a gesture made by at least one finger; a fingertip detection unit that detects the fingertip position of a first finger that is different from the at least one finger; and a virtual key control unit that, when the gesture detection unit detects the gesture while the first virtual key is located in the virtual space, moves the first virtual key to a target position in the virtual space that corresponds to the fingertip position of the first finger detected by the fingertip detection unit.

一態様によれば、仮想キーが正しい位置とは異なる位置に設定されることを低減できる。 According to one aspect, it is possible to reduce the chance of virtual keys being set in a position other than the correct position.

情報処理システム100を示す図である。FIG. 1 is a diagram illustrating an information processing system 100. 仮想キーボード3を表す画像4の一例を示す図である。FIG. 4 is a diagram showing an example of an image 4 representing a virtual keyboard 3. ユーザAの右手Cと仮想キーボード3とを示す図である。1 is a diagram showing a right hand C of a user A and a virtual keyboard 3. FIG. MRグラス1の一例を示す図である。FIG. 1 is a diagram showing an example of MR glasses 1. 携帯機器2の一例を示す図である。FIG. 2 is a diagram illustrating an example of a portable device 2. ワールド座標系CS2とローカル座標系CS1との関係の一例を示す図である。FIG. 2 is a diagram illustrating an example of the relationship between a world coordinate system CS2 and a local coordinate system CS1. 仮想空間K2に位置する仮想キーボード3の一例を示す図である。FIG. 2 is a diagram showing an example of a virtual keyboard 3 located in a virtual space K2. 仮想空間K2における基準面P1の一例を示す図である。FIG. 2 is a diagram showing an example of a reference plane P1 in a virtual space K2. 仮想空間K2に配置された仮想カメラN1の一例を示す図である。FIG. 2 is a diagram showing an example of a virtual camera N1 placed in a virtual space K2. ユーザAの指先位置C1と仮想キーボード3との位置関係を示す図である。10 is a diagram showing the positional relationship between a fingertip position C1 of a user A and a virtual keyboard 3. FIG. 目標位置M1への仮想キー31Hの移動の一例を示す図である。10A and 10B are diagrams illustrating an example of movement of a virtual key 31H to a target position M1. 仮想キーボード3を仮想空間K2に配置する動作の一例を説明するための図である。10A and 10B are diagrams for explaining an example of an operation of placing a virtual keyboard 3 in a virtual space K2. 仮想キーボード3を移動する動作の一例を説明するための図である。10A and 10B are diagrams illustrating an example of an operation of moving the virtual keyboard 3. FIG. 仮想キーボード3の移動の例を示す図である。10A and 10B are diagrams illustrating an example of movement of the virtual keyboard 3. 第3変形例に係る携帯機器2Aの一例を示す図である。FIG. 10 is a diagram showing an example of a portable device 2A according to a third modified example. 複数の仮想キー31の中で目標位置M1に最も近い仮想キーを拡大表示する一例を示す図である。10 is a diagram showing an example of enlarging and displaying the virtual key that is closest to the target position M1 among the plurality of virtual keys 31. FIG.

A:第1実施形態
A1:情報処理システム100
図1は、情報処理システム100を示す図である。情報処理システム100は、MR(Mixed Reality)グラス1と、携帯機器2と、を含む。情報処理システム100は、後述の図7に示される仮想キーボード3をMRグラス1に表示する。仮想キーボード3は、仮想空間K2に位置する。仮想キーボード3の形態は、図7に示される形態に限らず適宜変更可能である。
A: First embodiment A1: Information processing system 100
FIG. 1 is a diagram showing an information processing system 100. The information processing system 100 includes MR (Mixed Reality) glasses 1 and a mobile device 2. The information processing system 100 displays a virtual keyboard 3 shown in FIG. 7 (described later) on the MR glasses 1. The virtual keyboard 3 is located in a virtual space K2. The form of the virtual keyboard 3 is not limited to the form shown in FIG. 7 and can be changed as appropriate.

図1に示されるMRグラス1を装着したユーザAは、仮想空間K2に位置する仮想キーボード3と、現実空間K1に位置する現実の物体を、同時に視認できる。情報処理システム100は、仮想キーボード3に対する操作をユーザAから受け付ける。情報処理システム100は、仮想キーボード3に対する操作に応じて、キー操作処理を実行する。 User A wearing the MR glasses 1 shown in FIG. 1 can simultaneously view a virtual keyboard 3 located in virtual space K2 and a real object located in real space K1. The information processing system 100 accepts operations on the virtual keyboard 3 from user A. The information processing system 100 executes key operation processing in response to the operations on the virtual keyboard 3.

MRグラス1は、眼鏡型の表示装置である。MRグラス1は、透過型の表示装置の一例である。透過型の表示装置は、光を透過し且つ画像を表示する表示装置である。透過型の表示装置は、MRグラス1に限らず、例えば、ゴーグル形状の透過型HMD(Head Mounted Display:ヘッドマウントディスプレイ)でもよい。 The MR glasses 1 are eyeglass-type display devices. The MR glasses 1 are an example of a transmissive display device. A transmissive display device is a display device that transmits light and displays an image. The transmissive display device is not limited to the MR glasses 1, and may also be, for example, a goggle-shaped transmissive HMD (Head Mounted Display).

透過型の表示装置は、XR(X Reality)グラス等の表示装置の一例である。XRグラスは、スマートグラスとも称される。XRグラス等の表示装置は、透過型の表示装置に限らず、例えば、ビデオシースルー形式の表示装置でもよい。ビデオシースルー形式の表示装置は、物体を撮像することによって当該物体の画像を生成するカメラを有する。ビデオシースルー形式の表示装置は、カメラが生成した画像に仮想オブジェクトの画像を重ねることによって得られる画像を表示する。仮想オブジェクトは、例えば、仮想キーボード3である。ビデオシースルー形式の表示装置は、例えば、ビデオシースルー形式のHMDである。 A see-through display device is an example of a display device such as XR (X Reality) glasses. XR glasses are also called smart glasses. Display devices such as XR glasses are not limited to see-through display devices, and may be, for example, video see-through display devices. A video see-through display device has a camera that captures an object and generates an image of the object. A video see-through display device displays an image obtained by overlaying an image of a virtual object on the image generated by the camera. An example of the virtual object is a virtual keyboard 3. An example of a video see-through display device is a video see-through HMD.

MRグラス1は、テンプル91及び92と、ブリッジ93と、胴部94及び95と、レンズ96L及び96Rと、カメラ11L及び11Rを含む。 MR glasses 1 include temples 91 and 92, a bridge 93, barrels 94 and 95, lenses 96L and 96R, and cameras 11L and 11R.

胴部94は、左眼用の表示パネルと、左眼用の光学部材と、を含む。表示パネルは、例えば、液晶パネル又は有機EL(Electro Luminescence)パネルである。 The body 94 includes a display panel for the left eye and an optical member for the left eye. The display panel is, for example, a liquid crystal panel or an organic EL (Electro Luminescence) panel.

左眼用の表示パネルは、仮想空間K2に位置する仮想キーボード3を表す画像4を表示する。図2は、仮想キーボード3を表す画像4の一例を示す図である。仮想キーボード3は、仮想的に生成されたキーボードである。仮想キーボード3は、現実空間K1には存在しない。仮想キーボード3は、複数の仮想キー31を有する。 The display panel for the left eye displays an image 4 representing a virtual keyboard 3 located in the virtual space K2. Figure 2 shows an example of the image 4 representing the virtual keyboard 3. The virtual keyboard 3 is a virtually generated keyboard. The virtual keyboard 3 does not exist in the real space K1. The virtual keyboard 3 has multiple virtual keys 31.

図1に示される胴部94における左眼用の表示パネルは、仮想キーボード3の画像4を表す光を出射することによって画像4を表示する。胴部94における左眼用の光学部材は、左眼用の表示パネルから射出された光をレンズ96Lに導光する光学部材である。 The left-eye display panel in the body 94 shown in FIG. 1 displays image 4 by emitting light representing image 4 of the virtual keyboard 3. The left-eye optical member in the body 94 is an optical member that guides the light emitted from the left-eye display panel to lens 96L.

胴部95は、右眼用の表示パネルと、右眼用の光学部材と、を含む。右眼用の表示パネルは、仮想空間K2に位置する仮想キーボード3を表す画像4を表示する。右眼用の表示パネルは、仮想キーボード3の画像4を表す光を出射することによって画像4を表示する。右眼用の光学部材は、右眼用の表示パネルから射出された光をレンズ96Rに導光する光学部材である。 The body 95 includes a display panel for the right eye and an optical element for the right eye. The display panel for the right eye displays an image 4 representing a virtual keyboard 3 located in the virtual space K2. The display panel for the right eye displays the image 4 by emitting light representing the image 4 of the virtual keyboard 3. The optical element for the right eye is an optical element that guides the light emitted from the display panel for the right eye to the lens 96R.

レンズ96L及び96Rは、それぞれ、ハーフミラーを有する。レンズ96Lのハーフミラーは、左眼用の光学部材によって導光された光をユーザAの左眼BLに反射する。レンズ96Lのハーフミラーは、現実空間K1に位置する物体を表す光を透過することによって、現実空間K1に位置する物体を表す光をユーザAの左眼BLに導く。レンズ96Rのハーフミラーは、右眼用の光学部材によって導光された光をユーザAの右眼BRに反射する。レンズ96Rのハーフミラーは、現実空間K1に位置する物体を表す光を透過することによって、現実空間K1に位置する物体を表す光をユーザAの右眼BRに導く。このため、MRグラス1を装着しているユーザAは、例えば図3に示されるように、ユーザAの右手Cと、仮想キーボード3を、視認できる。 Lens 96L and 96R each have a half mirror. The half mirror of lens 96L reflects light guided by the optical element for the left eye to user A's left eye BL. The half mirror of lens 96L transmits light representing objects located in real space K1, thereby guiding the light representing objects located in real space K1 to user A's left eye BL. The half mirror of lens 96R reflects light guided by the optical element for the right eye to user A's right eye BR. The half mirror of lens 96R transmits light representing objects located in real space K1, thereby guiding the light representing objects located in real space K1 to user A's right eye BR. Therefore, user A wearing the MR glasses 1 can view user A's right hand C and the virtual keyboard 3, for example, as shown in FIG. 3.

図1に示されるカメラ11L及び11Rは、それぞれ、被写体を撮像する。被写体は、例えば、ユーザAの左右の「手」である。「手」は、ユーザAの手首から指先までの、身体の部分を意味する。「手」は、親指と、人差指と、中指と、薬指と、小指と、を含む。以下の説明において、英語圏でいう「親指(thumb)」を「指(finger)」と呼ぶ場合がある。つまり、「指(fingers)」は、親指と、人差指と、中指と、薬指と、小指と、を含む概念である。 Cameras 11L and 11R shown in FIG. 1 each capture an image of a subject. The subject is, for example, the left and right "hands" of user A. "Hand" refers to the body part of user A from the wrist to the fingertips. "Hand" includes the thumb, index finger, middle finger, ring finger, and little finger. In the following description, what is called a "thumb" in English may be called a "fingers." In other words, "fingers" is a concept that includes the thumb, index finger, middle finger, ring finger, and little finger.

カメラ11L及び11Rは、基線長(baseline length)である第1距離だけ相互に離れている。このため、被写体がユーザAの左右の手である場合、情報処理システム100は、カメラ11L及び11Rを用いることによって、左右の手の3次元の形状を特定できる。左右の手の3次元の形状を特定するための構成は、カメラ11Lとカメラ11Rに限られない。例えば、左右の手の3次元の形状を特定するための構成は、3つ以上のカメラ、又は、深度センサでもよい。カメラ11L及び11Rは、左右の手の3次元の形状を特定するために物理量を計測する2個以上のセンサの一例である。 Cameras 11L and 11R are separated from each other by a first distance, which is the baseline length. Therefore, when the subject is user A's left and right hands, information processing system 100 can identify the three-dimensional shapes of the left and right hands by using cameras 11L and 11R. The configuration for identifying the three-dimensional shapes of the left and right hands is not limited to cameras 11L and 11R. For example, the configuration for identifying the three-dimensional shapes of the left and right hands may be three or more cameras or a depth sensor. Cameras 11L and 11R are an example of two or more sensors that measure physical quantities to identify the three-dimensional shapes of the left and right hands.

左右の手の3次元の形状は、10本の指の指先位置と、左右の手のひらの形状と、を示す。このため、情報処理システム100は、左右の手の3次元の形状の変化に基づいて、左右のいずれかの手の指によって行われるジェスチャーを検出できる。 The three-dimensional shapes of the left and right hands indicate the fingertip positions of the ten fingers and the shapes of the left and right palms. Therefore, the information processing system 100 can detect gestures made by the fingers of either the left or right hand based on changes in the three-dimensional shapes of the left and right hands.

MRグラス1には、ローカル座標系CS1が定められている。ローカル座標系CS1は、MRグラス1の座標系である。カメラ11L及び11Rを用いて特定される左右の手の3次元の形状は、ローカル座標系CS1の座標によって示される。ローカル座標系CS1は、x1軸とy1軸とz1軸とによって定められる。x1軸とy1軸とz1軸は、相互に直交する。ローカル座標系CS1の原点は、カメラ11Lに位置する。z1軸は、カメラ11Lの撮像方向と一致する。 A local coordinate system CS1 is defined for the MR glasses 1. The local coordinate system CS1 is the coordinate system of the MR glasses 1. The three-dimensional shapes of the left and right hands identified using cameras 11L and 11R are indicated by the coordinates of the local coordinate system CS1. The local coordinate system CS1 is defined by the x1 axis, y1 axis, and z1 axis. The x1 axis, y1 axis, and z1 axis are mutually orthogonal. The origin of the local coordinate system CS1 is located at camera 11L. The z1 axis coincides with the imaging direction of camera 11L.

図1では、説明の簡略化のため、ローカル座標系CS1の原点は、カメラ11Lに位置していない。z1軸は、カメラ11Lの撮像方向と一致していない。なお、図1に示されるように、ローカル座標系CS1の原点は、カメラ11Lに位置していなくてもよい。z1軸は、カメラ11Lの撮像方向と一致していなくてもよい。ローカル座標系CS1の原点は、カメラ11Lではなくカメラ11Rに位置してもよい。ローカル座標系CS1の原点が、カメラ11Rに位置する場合、z1軸は、カメラ11Rの撮像方向と一致してもよい。 In FIG. 1, for simplicity of explanation, the origin of the local coordinate system CS1 is not located at camera 11L. The z1 axis does not coincide with the imaging direction of camera 11L. Note that, as shown in FIG. 1, the origin of the local coordinate system CS1 does not have to be located at camera 11L. The z1 axis does not have to coincide with the imaging direction of camera 11L. The origin of the local coordinate system CS1 may be located at camera 11R instead of camera 11L. If the origin of the local coordinate system CS1 is located at camera 11R, the z1 axis may coincide with the imaging direction of camera 11R.

携帯機器2は、スマートフォンである。携帯機器2は、スマートフォンに限らず、例えば、タブレット又はノート型パーソナルコンピュータでもよい。携帯機器2は、端末装置とも称される。携帯機器2は、情報処理装置の一例である。情報処理装置は、携帯機器2に限らず、例えば、MRグラス1と直接的又は間接的に通信するデスクトップパーソナルコンピュータ、又は、MRグラス1と直接的又は間接的に通信するサーバでもよい。 The mobile device 2 is a smartphone. The mobile device 2 is not limited to a smartphone and may be, for example, a tablet or notebook personal computer. The mobile device 2 is also referred to as a terminal device. The mobile device 2 is an example of an information processing device. The information processing device is not limited to the mobile device 2 and may be, for example, a desktop personal computer that communicates directly or indirectly with the MR glasses 1, or a server that communicates directly or indirectly with the MR glasses 1.

携帯機器2は、有線にてMRグラス1と接続される。携帯機器2は、無線にてMRグラス1と接続されてもよい。携帯機器2は、MRグラス1を制御する。例えば、携帯機器2は、MRグラス1に、仮想キーボード3を表す画像4を表示させる。 The portable device 2 is connected to the MR glasses 1 via a wired connection. The portable device 2 may also be connected to the MR glasses 1 wirelessly. The portable device 2 controls the MR glasses 1. For example, the portable device 2 causes the MR glasses 1 to display an image 4 representing a virtual keyboard 3.

A2:MRグラス1
図4は、MRグラス1の一例を示す図である。MRグラス1は、カメラ11L及び11Rに加えて、表示装置12と、加速度センサ13と、ジャイロセンサ14と、操作ボタン15と、通信装置16と、記憶装置17と、処理装置18と、バス19と、を含む。
A2: MR Glass 1
4 is a diagram showing an example of the MR glasses 1. In addition to the cameras 11L and 11R, the MR glasses 1 include a display device 12, an acceleration sensor 13, a gyro sensor 14, operation buttons 15, a communication device 16, a storage device 17, a processing device 18, and a bus 19.

バス19は、情報を通信するための配線である。バス19は、カメラ11Lと、カメラ11Rと、表示装置12と、加速度センサ13と、ジャイロセンサ14と、操作ボタン15と、通信装置16と、記憶装置17と、処理装置18とを、相互に接続する。バス19は、単一のバスを用いて構成されてもよいし、装置等の要素間ごとに異なるバスを用いて構成されてもよい。 The bus 19 is a wiring for communicating information. The bus 19 interconnects the camera 11L, the camera 11R, the display device 12, the acceleration sensor 13, the gyro sensor 14, the operation buttons 15, the communication device 16, the storage device 17, and the processing device 18. The bus 19 may be configured using a single bus, or may be configured using different buses between each element of the device, etc.

カメラ11Lは、被写体を撮像することによって画像データD1を生成する。画像データD1は、動画を表すデータである。画像データD1は、一連の静止画データを含む。画像データD1の各静止画データは、画像データD1が表す動画の1コマを構成する静止画を表す。 Camera 11L generates image data D1 by capturing an image of a subject. Image data D1 is data representing a moving image. Image data D1 includes a series of still image data. Each still image data in image data D1 represents a still image that constitutes one frame of the moving image represented by image data D1.

カメラ11Rは、被写体を撮像することによって画像データD2を出力する。画像データD2は、動画を表すデータである。画像データD2は、一連の静止画データを含む。画像データD2の各静止画データは、画像データD2が表す動画の1コマを構成する静止画を表す。 Camera 11R captures an image of a subject and outputs image data D2. Image data D2 is data representing a moving image. Image data D2 includes a series of still image data. Each still image data in image data D2 represents a still image that constitutes one frame of the moving image represented by image data D2.

表示装置12は、図1を用いて説明された、レンズ96Lと、左眼用の表示パネルと、左眼用の光学部材と、レンズ96Rと、右眼用の表示パネルと、右眼用の光学部材と、を含む。表示装置12は、現実空間K1に位置する物体を表す光を透過する。表示装置12は、さらに、仮想空間K2に位置する仮想キーボード3を表す画像4を表示する。ユーザAがMRグラス1を装着したとき、表示装置12は、ユーザAの左眼BL及び右眼BRの前に位置する。このため、MRグラス1を装着したユーザAは、現実空間K1に位置する物体と、仮想空間K2に位置する物体と、を視認できる。例えば、ユーザAは、現実空間K1に位置するユーザAの右手Cと、仮想空間K2に位置する仮想キーボード3を、視認できる。 The display device 12 includes the lens 96L, the display panel for the left eye, the optical element for the left eye, the lens 96R, the display panel for the right eye, and the optical element for the right eye, as described with reference to FIG. 1. The display device 12 transmits light representing an object located in real space K1. The display device 12 also displays an image 4 representing a virtual keyboard 3 located in virtual space K2. When user A wears the MR glasses 1, the display device 12 is located in front of user A's left eye BL and right eye BR. Therefore, user A wearing the MR glasses 1 can see objects located in real space K1 and objects located in virtual space K2. For example, user A can see user A's right hand C located in real space K1 and the virtual keyboard 3 located in virtual space K2.

加速度センサ13は、MRグラス1の加速度を計測する。加速度センサ13は、MRグラス1の加速度の計測結果に基づいて、加速度データE1を生成する。加速度データE1は、MRグラス1の加速度を示すデータである。例えば、加速度データE1は、x1軸、y1軸及びz1軸の各方向におけるMRグラス1の加速度を示す。加速度データE1に基づいて、MRグラス1の移動方向とMRグラス1の移動距離が特定される。 The acceleration sensor 13 measures the acceleration of the MR glasses 1. The acceleration sensor 13 generates acceleration data E1 based on the measurement results of the acceleration of the MR glasses 1. The acceleration data E1 is data indicating the acceleration of the MR glasses 1. For example, the acceleration data E1 indicates the acceleration of the MR glasses 1 in each of the x1-axis, y1-axis, and z1-axis directions. Based on the acceleration data E1, the movement direction and movement distance of the MR glasses 1 are determined.

ジャイロセンサ14は、x1軸とy1軸とz1軸の各軸を中心とするMRグラス1の回転の角加速度を計測する。ジャイロセンサ14は、MRグラス1の角加速度の計測結果に基づいて、角加速度データE2を生成する。角加速度データE2は、MRグラス1の角加速度を示すデータである。例えば、角加速度データE2は、x1軸とy1軸とz1軸の各軸を中心とするMRグラス1の回転の角加速度を示す。角加速度データE2に基づいて、MRグラス1の回転が特定される。 The gyro sensor 14 measures the angular acceleration of the rotation of the MR glass 1 around each of the x1, y1, and z1 axes. The gyro sensor 14 generates angular acceleration data E2 based on the measurement results of the angular acceleration of the MR glass 1. The angular acceleration data E2 is data that indicates the angular acceleration of the MR glass 1. For example, the angular acceleration data E2 indicates the angular acceleration of the rotation of the MR glass 1 around each of the x1, y1, and z1 axes. The rotation of the MR glass 1 is determined based on the angular acceleration data E2.

操作ボタン15は、ユーザAによって操作可能なボタンである。操作ボタン15は、ユーザAによって操作可能な複数のボタンを有してもよい。操作ボタン15は、操作データF1を生成する。操作データF1は、操作ボタン15の操作状態を示すデータである。 Operation button 15 is a button that can be operated by user A. Operation button 15 may have multiple buttons that can be operated by user A. Operation button 15 generates operation data F1. Operation data F1 is data that indicates the operation state of operation button 15.

通信装置16は、携帯機器2と有線にて通信する。通信装置16は、無線にて携帯機器2と通信してもよい。通信装置16は、包括データG1を携帯機器2に送信する。包括データG1は、画像データD1と画像データD2と加速度データE1と角加速度データE2と操作データF1とを含むデータである。包括データG1は、操作データF1を含まなくてもよい。通信装置16は、携帯機器2から画像データH1を受信する。画像データH1は、仮想キーボード3の画像4を表すデータである。画像データH1は、例えば画像データD1と画像データD2と加速度データE1と角加速度データE2とに基づいて、携帯機器2によって生成される。 The communication device 16 communicates with the portable device 2 via a wired connection. The communication device 16 may also communicate with the portable device 2 wirelessly. The communication device 16 transmits comprehensive data G1 to the portable device 2. The comprehensive data G1 is data that includes image data D1, image data D2, acceleration data E1, angular acceleration data E2, and operation data F1. The comprehensive data G1 does not have to include operation data F1. The communication device 16 receives image data H1 from the portable device 2. The image data H1 is data that represents an image 4 of the virtual keyboard 3. The image data H1 is generated by the portable device 2, for example, based on the image data D1, image data D2, acceleration data E1, and angular acceleration data E2.

記憶装置17は、処理装置18が読み取り可能な記録媒体である。記憶装置17は、例えば、不揮発性メモリーと揮発性メモリーとを含む。不揮発性メモリーは、例えば、ROM(Read Only Memory)、EPROM(Erasable Programmable Read Only Memory)及びEEPROM(Electrically Erasable Programmable Read Only Memory)である。揮発性メモリーは、例えば、RAM(Random Access Memory)である。記憶装置17は、プログラムPG1を記憶する。 The storage device 17 is a recording medium readable by the processing device 18. The storage device 17 includes, for example, non-volatile memory and volatile memory. Non-volatile memory is, for example, ROM (Read Only Memory), EPROM (Erasable Programmable Read Only Memory), and EEPROM (Electrically Erasable Programmable Read Only Memory). Volatile memory is, for example, RAM (Random Access Memory). The storage device 17 stores the program PG1.

処理装置18は、1又は複数のCPU(Central Processing Unit)を含む。1又は複数のCPUは、1又は複数のプロセッサの一例である。プロセッサ及びCPUの各々は、コンピュータの一例である。 The processing device 18 includes one or more central processing units (CPUs). The one or more CPUs are examples of one or more processors. Each of the processors and CPUs is an example of a computer.

処理装置18は、記憶装置17からプログラムPG1を読み取る。処理装置18は、プログラムPG1を実行することによって、取得部181及び動作制御部182として機能する。取得部181及び動作制御部182のうち少なくとも1つは、DSP(Digital Signal Processor)、ASIC(Application Specific Integrated Circuit)及びFPGA(Field Programmable Gate Array)等の回路によって構成されてもよい。 The processing device 18 reads the program PG1 from the storage device 17. By executing the program PG1, the processing device 18 functions as an acquisition unit 181 and an operation control unit 182. At least one of the acquisition unit 181 and the operation control unit 182 may be configured by a circuit such as a DSP (Digital Signal Processor), an ASIC (Application Specific Integrated Circuit), or an FPGA (Field Programmable Gate Array).

取得部181は、画像データD1と、画像データD2と、加速度データE1と、角加速度データE2と、操作データF1と、を取得する。 The acquisition unit 181 acquires image data D1, image data D2, acceleration data E1, angular acceleration data E2, and operation data F1.

動作制御部182は、MRグラス1を制御する。例えば、動作制御部182は、取得部181から、画像データD1と、画像データD2と、加速度データE1と、角加速度データE2と、操作データF1と、を受け取る。動作制御部182は、画像データD1と、画像データD2と、加速度データE1と、角加速度データE2と、操作データF1と、を含む包括データG1を生成する。動作制御部182は、通信装置16に、包括データG1を携帯機器2へ送信させる。動作制御部182は、通信装置16が携帯機器2から画像データH1を受信した場合、通信装置16から画像データH1を取得する。動作制御部182は、画像データH1に基づく画像を表示装置12に表示させる。画像データH1に基づく画像は、例えば、仮想キーボード3を表す画像4である。 The operation control unit 182 controls the MR glasses 1. For example, the operation control unit 182 receives image data D1, image data D2, acceleration data E1, angular acceleration data E2, and operation data F1 from the acquisition unit 181. The operation control unit 182 generates comprehensive data G1 including the image data D1, image data D2, acceleration data E1, angular acceleration data E2, and operation data F1. The operation control unit 182 causes the communication device 16 to transmit the comprehensive data G1 to the mobile device 2. When the communication device 16 receives image data H1 from the mobile device 2, the operation control unit 182 acquires the image data H1 from the communication device 16. The operation control unit 182 causes the display device 12 to display an image based on the image data H1. The image based on the image data H1 is, for example, image 4 representing a virtual keyboard 3.

A3:携帯機器2
図5は、携帯機器2の一例を示す図である。携帯機器2は、入力装置21と、表示装置22と、通信装置23と、記憶装置24と、処理装置25と、バス26と、を含む。
A3: Portable device 2
5 is a diagram showing an example of the portable device 2. The portable device 2 includes an input device 21, a display device 22, a communication device 23, a storage device 24, a processing device 25, and a bus 26.

バス26は、情報を通信するための配線である。バス26は、入力装置21と、表示装置22と、通信装置23と、記憶装置24と、処理装置25とを、相互に接続する。バス26は、単一のバスを用いて構成されてもよいし、装置等の要素間ごとに異なるバスを用いて構成されてもよい。 The bus 26 is a wiring for communicating information. The bus 26 interconnects the input device 21, the display device 22, the communication device 23, the storage device 24, and the processing device 25. The bus 26 may be configured using a single bus, or may be configured using different buses between each element of the device, etc.

入力装置21は、タッチパネルを含む。入力装置21は、タッチパネルに加えて、複数の操作キーを含んでもよい。入力装置21は、タッチパネルを含まずに、複数の操作キーを含んでもよい。入力装置21は、ユーザAが行う操作を受け付ける。 The input device 21 includes a touch panel. In addition to the touch panel, the input device 21 may also include multiple operation keys. The input device 21 may also include multiple operation keys without including a touch panel. The input device 21 accepts operations performed by user A.

表示装置22は、ディスプレイを含む。表示装置22のディスプレイの上には入力装置21のタッチパネルが積層されている。表示装置22は、種々の情報を表示する。 The display device 22 includes a display. The touch panel of the input device 21 is layered on top of the display of the display device 22. The display device 22 displays various information.

通信装置23は、MRグラス1と有線にて通信する。通信装置23は、無線にてMRグラス1と通信してもよい。通信装置23は、包括データG1をMRグラス1から受信する。通信装置23は、画像データH1をMRグラス1に送信する。 The communication device 23 communicates with the MR glasses 1 via a wired connection. The communication device 23 may also communicate with the MR glasses 1 wirelessly. The communication device 23 receives comprehensive data G1 from the MR glasses 1. The communication device 23 transmits image data H1 to the MR glasses 1.

記憶装置24は、処理装置25が読み取り可能な記録媒体である。記憶装置24は、例えば、不揮発性メモリーと揮発性メモリーとを含む。記憶装置24は、プログラムPG2を記憶する。 The storage device 24 is a recording medium readable by the processing device 25. The storage device 24 includes, for example, non-volatile memory and volatile memory. The storage device 24 stores the program PG2.

処理装置25は、1又は複数のCPUを含む。処理装置25は、情報処理装置の他の例である。処理装置25は、記憶装置24からプログラムPG2を読み取る。処理装置25は、プログラムPG2を実行することによって、手データ生成部251、指先検出部252、座標変換部253、仮想キー設定部254、画像データ生成部255、ジェスチャー検出部256、仮想キー制御部257、及び操作検出部258として機能する。手データ生成部251、指先検出部252、座標変換部253、仮想キー設定部254、画像データ生成部255、ジェスチャー検出部256、仮想キー制御部257、及び操作検出部258のうち少なくとも1つは、DSP、ASIC及びFPGA等の回路によって構成されてもよい。 The processing device 25 includes one or more CPUs. The processing device 25 is another example of an information processing device. The processing device 25 reads the program PG2 from the storage device 24. By executing the program PG2, the processing device 25 functions as a hand data generation unit 251, a fingertip detection unit 252, a coordinate conversion unit 253, a virtual key setting unit 254, an image data generation unit 255, a gesture detection unit 256, a virtual key control unit 257, and an operation detection unit 258. At least one of the hand data generation unit 251, the fingertip detection unit 252, the coordinate conversion unit 253, the virtual key setting unit 254, the image data generation unit 255, the gesture detection unit 256, the virtual key control unit 257, and the operation detection unit 258 may be configured using a circuit such as a DSP, an ASIC, or an FPGA.

手データ生成部251は、通信装置23を介して包括データG1を取得する。手データ生成部251は、包括データG1から画像データD1及びD2を読み取る。画像データD1は、MRグラス1のカメラ11Lが生成した画像データである。画像データD2は、MRグラス1のカメラ11Rが生成した画像データである。手データ生成部251は、画像データD1及びD2に基づいて、手データJ1を生成する。手データJ1は、ユーザAの両手の3次元形状を、MRグラス1に定められたローカル座標系CS1の座標によって示すデータである。 The hand data generation unit 251 acquires the comprehensive data G1 via the communication device 23. The hand data generation unit 251 reads the image data D1 and D2 from the comprehensive data G1. The image data D1 is image data generated by the camera 11L of the MR glasses 1. The image data D2 is image data generated by the camera 11R of the MR glasses 1. The hand data generation unit 251 generates hand data J1 based on the image data D1 and D2. The hand data J1 is data that indicates the three-dimensional shape of both hands of user A using coordinates in the local coordinate system CS1 defined in the MR glasses 1.

例えば、手データ生成部251は、画像データD1に含まれる静止画データと、画像データD2に含まれる静止画データと、に基づいて、手データJ1を生成する。手データ生成部251は、手データJ1を生成するための画像データD1内の静止画データと、手データJ1を生成するための画像データD2内の静止画データと、の各々を、所定時間が経過するごとに、最新の静止画データに変更する。手データ生成部251は、静止画データを変更するごとに、最新の静止画データを用いて手データJ1を生成する。所定時間は、例えば0.2秒である。所定時間は、0.2秒に限らず、0.2秒よりも短い時間でもよいし、0.2秒よりも長い時間でもよい。 For example, the hand data generation unit 251 generates hand data J1 based on the still image data included in image data D1 and the still image data included in image data D2. The hand data generation unit 251 changes each of the still image data in image data D1 used to generate hand data J1 and the still image data in image data D2 used to generate hand data J1 to the latest still image data every time a predetermined time elapses. Each time the hand data generation unit 251 changes the still image data, it generates hand data J1 using the latest still image data. The predetermined time is, for example, 0.2 seconds. The predetermined time is not limited to 0.2 seconds and may be shorter or longer than 0.2 seconds.

指先検出部252は、手データJ1に基づいて、ユーザAの左右の手の各指の指先を検出する。指先検出部252は、各指の指先の検出結果に基づいて、指先データJ2を生成する。指先データJ2は、各指の指先位置を、MRグラス1に定められたローカル座標系CS1の座標によって示すデータである。指先検出部252は、手データJ1ごとに、指先データJ2を生成する。 The fingertip detection unit 252 detects the fingertips of each finger on user A's left and right hands based on the hand data J1. The fingertip detection unit 252 generates fingertip data J2 based on the detection results of the fingertips of each finger. The fingertip data J2 is data that indicates the fingertip position of each finger using coordinates in the local coordinate system CS1 defined in the MR glasses 1. The fingertip detection unit 252 generates fingertip data J2 for each piece of hand data J1.

座標変換部253は、MRグラス1に定められたローカル座標系CS1の座標を、ワールド座標系CS2の座標に変換する。ワールド座標系CS2は、現実空間K1に定められる座標系である。 The coordinate conversion unit 253 converts the coordinates of the local coordinate system CS1 defined in the MR glass 1 into coordinates of the world coordinate system CS2. The world coordinate system CS2 is a coordinate system defined in the real space K1.

図6は、ワールド座標系CS2とローカル座標系CS1との関係の一例を示す図である。ワールド座標系CS2は、x2軸とy2軸とz2軸とによって定められる。x2軸とy2軸とz2軸は、相互に直交する。 Figure 6 shows an example of the relationship between the world coordinate system CS2 and the local coordinate system CS1. The world coordinate system CS2 is defined by the x2 axis, y2 axis, and z2 axis. The x2 axis, y2 axis, and z2 axis are mutually orthogonal.

図5に示される座標変換部253は、現実空間K1におけるワールド座標系CS2のx2軸、y2軸及びz2軸の位置を、現実空間K1におけるローカル座標系CS1のx1軸、y1軸及びz1軸のタイミングt0のときの位置に定める。タイミングt0は、現実空間K1にワールド座標系CS2を定めるためのタイミングを意味する。タイミングt0は、例えば、ユーザAが入力装置21に入力した「キーボード設定指示」を座標変換部253が受け付けるタイミングである。「キーボード設定指示」は、仮想キーボード3を設定するための指示である。 The coordinate conversion unit 253 shown in FIG. 5 determines the positions of the x2, y2, and z2 axes of the world coordinate system CS2 in the real space K1 to the positions of the x1, y1, and z1 axes of the local coordinate system CS1 in the real space K1 at timing t0. Timing t0 refers to the timing for determining the world coordinate system CS2 in the real space K1. Timing t0 is, for example, the timing at which the coordinate conversion unit 253 receives a "keyboard setting instruction" input by user A to the input device 21. The "keyboard setting instruction" is an instruction for setting up the virtual keyboard 3.

タイミングt0のとき、ローカル座標系CS1のx1軸、y1軸及びz1軸は、ワールド座標系CS2のx2軸、y2軸及びz2軸と、それぞれ一致する。タイミングt0後のMRグラス1の移動に伴い、ローカル座標系CS1のx1軸、y1軸及びz1軸は、ワールド座標系CS2のx2軸、y2軸及びz2軸からそれぞれずれる。タイミングt0後のMRグラス1の回転に伴い、ローカル座標系CS1のx1軸、y1軸及びz1軸は、ワールド座標系CS2のx2軸、y2軸及びz2軸からそれぞれずれる。 At time t0, the x1, y1, and z1 axes of the local coordinate system CS1 coincide with the x2, y2, and z2 axes of the world coordinate system CS2, respectively. As the MR glass 1 moves after time t0, the x1, y1, and z1 axes of the local coordinate system CS1 deviate from the x2, y2, and z2 axes of the world coordinate system CS2, respectively. As the MR glass 1 rotates after time t0, the x1, y1, and z1 axes of the local coordinate system CS1 deviate from the x2, y2, and z2 axes of the world coordinate system CS2, respectively.

座標変換部253は、包括データG1から加速度データE1を読み取る。座標変換部253は、加速度データE1に基づいて、タイミングt0以降におけるMRグラス1の移動を特定する。座標変換部253は、MRグラス1の移動として、タイミングt0以降におけるMRグラス1の移動方向と、タイミングt0以降におけるMRグラス1の移動距離と、を特定する。 The coordinate conversion unit 253 reads the acceleration data E1 from the comprehensive data G1. Based on the acceleration data E1, the coordinate conversion unit 253 determines the movement of the MR glass 1 after time t0. The coordinate conversion unit 253 determines the movement of the MR glass 1 as the direction of movement of the MR glass 1 after time t0 and the distance of movement of the MR glass 1 after time t0.

座標変換部253は、包括データG1から角加速度データE2を読み取る。座標変換部253は、角加速度データE2に基づいて、タイミングt0以降におけるMRグラス1の回転を特定する。座標変換部253は、MRグラス1の回転として、タイミングt0以降におけるMRグラス1の回転方向と、タイミングt0以降におけるMRグラス1の回転角度と、を特定する。 The coordinate conversion unit 253 reads the angular acceleration data E2 from the comprehensive data G1. Based on the angular acceleration data E2, the coordinate conversion unit 253 determines the rotation of the MR glass 1 after time t0. The coordinate conversion unit 253 determines the rotation direction of the MR glass 1 after time t0 and the rotation angle of the MR glass 1 after time t0 as the rotation of the MR glass 1.

座標変換部253は、タイミングt0以降の期間において指先データJ2を受け付けるごとに、MRグラス1の移動と、MRグラス1の回転と、を特定する。座標変換部253は、MRグラス1の移動とMRグラス1の回転とを特定するごとに、最新のMRグラス1の移動及び回転に基づいて、指先データJ2が示す各指の指先位置を、ローカル座標系CS1の座標からワールド座標系CS2の座標に変換する。 The coordinate conversion unit 253 identifies the movement and rotation of the MR glass 1 each time it receives fingertip data J2 from timing t0 onwards. Each time it identifies the movement and rotation of the MR glass 1, the coordinate conversion unit 253 converts the fingertip position of each finger indicated by the fingertip data J2 from coordinates in the local coordinate system CS1 to coordinates in the world coordinate system CS2 based on the most recent movement and rotation of the MR glass 1.

例えば、座標変換部253は、タイミングt0から最新の指先データJ2の受付け時点までの期間におけるMRグラス1の移動に基づいて、MRグラス1の移動に対応する平行移動行列を特定する。座標変換部253は、タイミングt0から最新の指先データJ2の受付け時点までの期間におけるMRグラス1の回転に基づいて、MRグラス1の回転に対応する回転行列を特定する。座標変換部253は、平行移動行列と回転行列とを用いることによって、最新の指先データJ2が示す各指の指先位置を、ローカル座標系CS1の座標からワールド座標系CS2の座標に変換する。座標変換部253は、指先データJ3を生成する。指先データJ3は、最新の指先データJ2が示す各指の指先位置をワールド座標系CS2の座標によって示すデータである。座標変換部253は、指先データJ2ごとに、指先データJ3を生成する。 For example, the coordinate conversion unit 253 identifies a translation matrix corresponding to the movement of the MR glass 1 based on the movement of the MR glass 1 during the period from timing t0 to the time when the latest fingertip data J2 is received. The coordinate conversion unit 253 identifies a rotation matrix corresponding to the rotation of the MR glass 1 based on the rotation of the MR glass 1 during the period from timing t0 to the time when the latest fingertip data J2 is received. The coordinate conversion unit 253 uses the translation matrix and the rotation matrix to convert the fingertip position of each finger indicated by the latest fingertip data J2 from coordinates in the local coordinate system CS1 to coordinates in the world coordinate system CS2. The coordinate conversion unit 253 generates fingertip data J3. The fingertip data J3 is data indicating the fingertip position of each finger indicated by the latest fingertip data J2 using coordinates in the world coordinate system CS2. The coordinate conversion unit 253 generates fingertip data J3 for each piece of fingertip data J2.

また、座標変換部253は、MRグラス1の移動とMRグラス1の回転とを特定するごとに、最新のMRグラス1の移動及び回転に基づいて、カメラ11Lのローカル座標系CS1の座標を、ワールド座標系CS2の座標に変換する。カメラ11Lのローカル座標系CS1の座標は、予め定められている。カメラ11Lのローカル座標系CS1の座標は、例えば、ローカル座標系CS1の原点の座標である。 In addition, each time the movement and rotation of the MR glass 1 are identified, the coordinate conversion unit 253 converts the coordinates of the local coordinate system CS1 of the camera 11L into coordinates of the world coordinate system CS2 based on the latest movement and rotation of the MR glass 1. The coordinates of the local coordinate system CS1 of the camera 11L are determined in advance. The coordinates of the local coordinate system CS1 of the camera 11L are, for example, the coordinates of the origin of the local coordinate system CS1.

座標変換部253は、MRグラス1の移動とMRグラス1の回転とを特定するごとに、最新のMRグラス1の移動及び回転に基づいて、カメラ11Lの撮像方向を示すローカル座標系CS1の座標を、ワールド座標系CS2の座標に変換する。カメラ11Lの撮像方向は、予め定められている。カメラ11Lの撮像方向は、例えば、ローカル座標系CS1のx1軸の方向である。 Each time the movement and rotation of the MR glass 1 are identified, the coordinate conversion unit 253 converts the coordinates of the local coordinate system CS1 indicating the imaging direction of the camera 11L into coordinates of the world coordinate system CS2 based on the latest movement and rotation of the MR glass 1. The imaging direction of the camera 11L is determined in advance. The imaging direction of the camera 11L is, for example, the direction of the x1 axis of the local coordinate system CS1.

座標変換部253は、カメラデータJ4を生成する。カメラデータJ4は、カメラ11Lのワールド座標系CS2の座標と、カメラ11Lの撮像方向を示すワールド座標系CS2の座標と、を示すデータである。カメラデータJ4は、上述のデータに限らず、カメラ11Rのワールド座標系CS2の座標と、カメラ11Rの撮像方向を示すワールド座標系CS2の座標と、を示すデータでもよい。カメラデータJ4は、カメラ11Lとカメラ11Rとの間に地点のワールド座標系CS2の座標と、カメラ11L又は11Rの撮像方向を示すワールド座標系CS2の座標と、を示すデータでもよい。カメラデータJ4は、例えば、仮想キーボード3の画像4を表す画像データH1を生成するために使用される。座標変換部253は、MRグラス1の移動とMRグラス1の回転とを特定するごとに、カメラデータJ4を生成する。 The coordinate conversion unit 253 generates camera data J4. The camera data J4 is data indicating the coordinates of the camera 11L in the world coordinate system CS2 and the coordinates of the world coordinate system CS2 that indicate the imaging direction of the camera 11L. The camera data J4 is not limited to the above data, and may also be data indicating the coordinates of the camera 11R in the world coordinate system CS2 and the coordinates of the world coordinate system CS2 that indicate the imaging direction of the camera 11R. The camera data J4 may also be data indicating the coordinates of the world coordinate system CS2 of a point between the cameras 11L and 11R and the coordinates of the world coordinate system CS2 that indicate the imaging direction of the camera 11L or 11R. The camera data J4 is used, for example, to generate image data H1 that represents an image 4 of the virtual keyboard 3. The coordinate conversion unit 253 generates camera data J4 each time the movement and rotation of the MR glasses 1 are identified.

仮想キー設定部254は、仮想キーボード3を仮想空間K2に位置させる。図7は、仮想空間K2に位置する仮想キーボード3の一例を示す図である。仮想空間K2は、仮想キー設定部254によって生成される仮想的な3次元空間である。仮想空間K2には、ワールド座標系CS2が定められている。仮想空間K2では、ワールド座標系CS2のx2軸、y2軸及びz2軸の各位置は、予め固定されている。 The virtual key setting unit 254 positions the virtual keyboard 3 in the virtual space K2. FIG. 7 is a diagram showing an example of the virtual keyboard 3 positioned in the virtual space K2. The virtual space K2 is a virtual three-dimensional space generated by the virtual key setting unit 254. A world coordinate system CS2 is defined in the virtual space K2. In the virtual space K2, the positions of the x2 axis, y2 axis, and z2 axis of the world coordinate system CS2 are fixed in advance.

図5に示される仮想キー設定部254は、タイミングt1に応じて、仮想キーボード3を仮想空間K2に位置させる。タイミングt1は、仮想空間K2に仮想キーボード3を位置させるためのタイミングを意味する。タイミングt1は、例えば、ユーザAが入力装置21に入力した「キーボード設定指示」を仮想キー設定部254が受け付けるタイミングである。 The virtual key setting unit 254 shown in FIG. 5 positions the virtual keyboard 3 in the virtual space K2 in accordance with timing t1. Timing t1 refers to the timing for positioning the virtual keyboard 3 in the virtual space K2. Timing t1 is, for example, the timing at which the virtual key setting unit 254 receives a "keyboard setting instruction" input by user A to the input device 21.

タイミングt1は、上述のタイミングに限らない。例えば、タイミングt1は、後述するジェスチャー検出部256がユーザAによって行われる第1ジェスチャーを検出したタイミングでもよい。第1ジェスチャーは、例えば、ユーザAの左手の人差し指の指先を、ユーザAの左手の親指の指先に接触させるジェスチャーである。第1ジェスチャーは、上述のジェスチャーに限らない。例えば、第1ジェスチャーは、ユーザAの左手の中指の指先を、ユーザAの左手の親指の指先に接触させるジェスチャーでもよい。 Timing t1 is not limited to the above-mentioned timing. For example, timing t1 may be the timing when the gesture detection unit 256 (described later) detects a first gesture performed by user A. The first gesture is, for example, a gesture in which the tip of the index finger of user A's left hand touches the tip of the thumb of user A's left hand. The first gesture is not limited to the above-mentioned gesture. For example, the first gesture may be a gesture in which the tip of the middle finger of user A's left hand touches the tip of the thumb of user A's left hand.

仮想キー設定部254は、仮想キーボード3が配置される基準面P1を、タイミングt1におうじて仮想空間K2内に決定する。 The virtual key setting unit 254 determines the reference plane P1 on which the virtual keyboard 3 is placed within the virtual space K2 according to timing t1.

図8は、仮想空間K2における基準面P1の一例を示す図である。図8では、仮想空間K2には存在しないユーザAの右手Cが、説明のために点線にて示されている。図8に示される右手Cの仮想空間K2におけるワールド座標系CS2の座標位置は、右手Cの現実空間K1におけるワールド座標系CS2の座標位置と一致する。 Figure 8 is a diagram showing an example of the reference plane P1 in the virtual space K2. In Figure 8, the right hand C of user A, which does not exist in the virtual space K2, is shown with a dotted line for illustrative purposes. The coordinate position of the right hand C shown in Figure 8 in the world coordinate system CS2 in the virtual space K2 coincides with the coordinate position of the right hand C in the world coordinate system CS2 in the real space K1.

図5に示される仮想キー設定部254は、例えば、右手Cの複数の指の指先位置に基づいて、基準面P1を決定する。基準面P1を決定するために必要な指先位置の数は、少なくとも3つである。 The virtual key setting unit 254 shown in FIG. 5 determines the reference plane P1 based on, for example, the fingertip positions of multiple fingers on the right hand C. At least three fingertip positions are required to determine the reference plane P1.

仮想キー設定部254は、まず、タイミングt1の時点における最新の指先データJ3に基づいて、右手Cの5本の指のうち3本の指の指先位置を特定する。仮想キー設定部254は、3本の指の指先位置を含む面を、基準面P1として決定する。 The virtual key setting unit 254 first identifies the fingertip positions of three of the five fingers on the right hand C based on the latest fingertip data J3 at time t1. The virtual key setting unit 254 determines the plane including the fingertip positions of the three fingers as the reference plane P1.

仮想空間K2において3点が決定されれば、これら3点を含む平面は一意に決定される。基準面P1が平面である場合、仮想キー設定部254は、3本の指の指先位置を含む平面を基準面P1として決定する。 Once three points are determined in virtual space K2, the plane containing these three points is uniquely determined. If the reference plane P1 is a plane, the virtual key setting unit 254 determines the plane containing the fingertip positions of the three fingers as the reference plane P1.

基準面P1は、平面に限らず、例えば曲面でもよい。基準面P1が曲面である場合、仮想キー設定部254は、所定の関数を用いて曲面を決定する。所定の関数は、入力される3点の3次元座標に応じた曲面を一意に定める。仮想キー設定部254は、所定の関数に3本の指の指先位置を入力する。仮想キー設定部254は、所定の関数が3本の指の指先位置に応じて定める曲面を、基準面P1として決定する。基準面P1が曲面である場合、仮想キーボード3は、いわゆるエルゴノミクスタイプのキーボードでもよい。 The reference plane P1 is not limited to a flat surface, and may be, for example, a curved surface. When the reference plane P1 is a curved surface, the virtual key setting unit 254 determines the curved surface using a predetermined function. The predetermined function uniquely defines a curved surface according to the three-dimensional coordinates of the three input points. The virtual key setting unit 254 inputs the fingertip positions of three fingers into the predetermined function. The virtual key setting unit 254 determines the curved surface defined by the predetermined function according to the fingertip positions of the three fingers as the reference plane P1. When the reference plane P1 is a curved surface, the virtual keyboard 3 may be a so-called ergonomic keyboard.

基準面P1を決定するために用いられる3本の指の指先位置は、例えば、親指の指先位置と、薬指の指先位置と、子指の指先位置である。親指、薬指及び小指は、右手Cの甲から見て、右手Cの左端、右手Cの右端よりも左の位置、右手Cの右端にそれぞれ位置する。このため、親指の指先位置と、薬指の指先位置と、子指の指先位置が、基準面P1を決定するために用いられる場合、右手C全体によって基準面P1が決定される。 The fingertip positions of the three fingers used to determine reference plane P1 are, for example, the fingertip positions of the thumb, ring finger, and little finger. When viewed from the back of the right hand C, the thumb, ring finger, and little finger are located at the left end of the right hand C, a position to the left of the right end of the right hand C, and the right end of the right hand C, respectively. Therefore, when the fingertip positions of the thumb, ring finger, and little finger are used to determine reference plane P1, reference plane P1 is determined by the entire right hand C.

仮想キー設定部254は、4本以上の指の指先位置に基づいて基準面P1を決定してもよい。この場合、仮想キー設定部254は、まず、各指の指先位置から基準面P1までの距離を誤差として特定する。続いて、仮想キー設定部254は、例えば最小2乗法を用いて、誤差の合計を最小にする基準面P1を定める。 The virtual key setting unit 254 may determine the reference plane P1 based on the fingertip positions of four or more fingers. In this case, the virtual key setting unit 254 first identifies the distance from the fingertip position of each finger to the reference plane P1 as the error. Next, the virtual key setting unit 254 determines the reference plane P1 that minimizes the total error, for example, using the least squares method.

仮想キー設定部254は、複数の指の指先位置を用いることなく基準面P1を決定してもよい。例えば、仮想キー設定部254は、仮想空間K2の任意の位置に基準面P1を決定してもよい。 The virtual key setting unit 254 may determine the reference plane P1 without using the fingertip positions of multiple fingers. For example, the virtual key setting unit 254 may determine the reference plane P1 at any position in the virtual space K2.

仮想キー設定部254は、基準面P1を決定すると、基準面P1に仮想キーボード3を配置する。 Once the virtual key setting unit 254 determines the reference plane P1, it places the virtual keyboard 3 on the reference plane P1.

仮想キー設定部254は、基準面P1に仮想キーボード3を配置すると、最新の指先データJ3に基づいて、右手Cの中指の指先位置を特定する。右手Cの中指は、参照指の一例である。参照指は、右手Cの中指に限らず、例えば、右手Cの親指、右手Cの人差し指、右手Cの薬指又は右手Cの小指でもよい。 When the virtual keyboard 3 is placed on the reference plane P1, the virtual key setting unit 254 identifies the fingertip position of the middle finger of the right hand C based on the latest fingertip data J3. The middle finger of the right hand C is an example of a reference finger. The reference finger is not limited to the middle finger of the right hand C, and may be, for example, the thumb of the right hand C, the index finger of the right hand C, the ring finger of the right hand C, or the little finger of the right hand C.

仮想キー設定部254は、右手Cの中指の指先位置を特定すると、基準面P1に沿って仮想キーボード3をずらすことによって、右手Cの中指の指先位置に、仮想キーボード3において「H」を表す仮想キー31を位置させる。以下、「H」を表す仮想キー31を仮想キー31Hと称する。仮想キー31Hは、第1仮想キーの一例である。第1仮想キーは、仮想キー31Hに限らず、仮想キー31Hとは異なる仮想キー31でもよい。仮想キー31Hとは異なる仮想キー31は、例えば、「J」を表す仮想キー31又は「K」を表す仮想キー31である。 When the virtual key setting unit 254 identifies the fingertip position of the middle finger of the right hand C, it shifts the virtual keyboard 3 along the reference plane P1 to position the virtual key 31 representing "H" on the virtual keyboard 3 at the fingertip position of the middle finger of the right hand C. Hereinafter, the virtual key 31 representing "H" will be referred to as virtual key 31H. Virtual key 31H is an example of a first virtual key. The first virtual key is not limited to virtual key 31H, and may be a virtual key 31 different from virtual key 31H. A virtual key 31 different from virtual key 31H is, for example, the virtual key 31 representing "J" or the virtual key 31 representing "K."

仮想キー設定部254は、仮想空間K2において右手Cの中指の指先位置に仮想キー31Hを位置させると、仮想空間データJ5を生成する。仮想空間データJ5は、仮想キーボード3が配置された仮想空間K2を表すデータである。 When the virtual key 31H is positioned at the tip of the middle finger of the right hand C in the virtual space K2, the virtual key setting unit 254 generates virtual space data J5. The virtual space data J5 is data representing the virtual space K2 in which the virtual keyboard 3 is placed.

画像データ生成部255は、仮想空間データJ5とカメラデータJ4とに基づいて、画像データH1を生成する。カメラデータJ4は、カメラ11Lのワールド座標系CS2の座標と、カメラ11Lの撮像方向を示すワールド座標系CS2の座標と、を示す。 The image data generation unit 255 generates image data H1 based on the virtual space data J5 and the camera data J4. The camera data J4 indicates the coordinates of the camera 11L in the world coordinate system CS2 and the coordinates of the world coordinate system CS2 that indicate the imaging direction of the camera 11L.

画像データ生成部255は、仮想空間データJ5が表す仮想空間K2において、カメラデータJ4が示すカメラ11Lのワールド座標系CS2の座標位置に、仮想カメラN1を配置する。カメラデータJ4が、カメラ11Rのワールド座標系CS2の座標位置を示す場合、画像データ生成部255は、仮想空間K2において、カメラデータJ4が示すカメラ11Rのワールド座標系CS2の座標位置に、仮想カメラN1を配置する。カメラデータJ4が、カメラ11Lとカメラ11Rの間の地点のワールド座標系CS2の座標位置を示す場合、画像データ生成部255は、仮想空間K2において、カメラデータJ4が示す地点のワールド座標系CS2の座標位置に、仮想カメラN1を配置する。 The image data generation unit 255 places the virtual camera N1 in the virtual space K2 represented by the virtual space data J5 at the coordinate position in the world coordinate system CS2 of camera 11L indicated by the camera data J4. When the camera data J4 indicates the coordinate position in the world coordinate system CS2 of camera 11R, the image data generation unit 255 places the virtual camera N1 in the virtual space K2 at the coordinate position in the world coordinate system CS2 of camera 11R indicated by the camera data J4. When the camera data J4 indicates the coordinate position in the world coordinate system CS2 of a point between cameras 11L and 11R, the image data generation unit 255 places the virtual camera N1 in the virtual space K2 at the coordinate position in the world coordinate system CS2 of the point indicated by the camera data J4.

図9は、仮想空間K2に配置された仮想カメラN1の一例を示す図である。仮想カメラN1の撮像方向は、カメラデータJ4が示すカメラ11Lの撮像方向と一致する。カメラデータJ4がカメラ11Rの撮像方向を示す場合、仮想カメラN1の撮像方向は、カメラデータJ4が示すカメラ11Rの撮像方向と一致する。 Figure 9 shows an example of a virtual camera N1 placed in virtual space K2. The imaging direction of virtual camera N1 matches the imaging direction of camera 11L indicated by camera data J4. When camera data J4 indicates the imaging direction of camera 11R, the imaging direction of virtual camera N1 matches the imaging direction of camera 11R indicated by camera data J4.

図5に示される画像データ生成部255は、仮想カメラN1が仮想空間K2を撮像することによって得られる撮像画像データを、画像データH1として生成する。このため、画像データH1は、MRグラス1を装着しているユーザAの視線に応じた画像を表す。MRグラス1を装着しているユーザAの視線に応じた画像は、例えば、仮想キーボード3を表す画像4である。 The image data generation unit 255 shown in FIG. 5 generates captured image data obtained by the virtual camera N1 capturing an image of the virtual space K2 as image data H1. Therefore, the image data H1 represents an image corresponding to the line of sight of user A wearing the MR glasses 1. The image corresponding to the line of sight of user A wearing the MR glasses 1 is, for example, image 4 representing the virtual keyboard 3.

画像データ生成部255は、通信装置23に、画像データH1をMRグラス1へ送信させる。MRグラス1は、画像データH1を受信すると、画像データH1が表す画像(例えば、仮想キーボード3の画像4)を表示する。このため、ユーザAは、MRグラス1に表示された仮想キーボード3を見ながら、仮想キーボード3を操作できる。 The image data generation unit 255 causes the communication device 23 to transmit the image data H1 to the MR glasses 1. When the MR glasses 1 receive the image data H1, they display the image represented by the image data H1 (for example, image 4 of the virtual keyboard 3). This allows user A to operate the virtual keyboard 3 while looking at the virtual keyboard 3 displayed on the MR glasses 1.

仮想空間K2に仮想キーボード3が配置された時点からの時間の経過に伴い、ユーザAは、ユーザAの指と仮想キーボード3との距離を認識し難くなる。例えば、時間の経過に伴い、図10に示されるようにユーザAの指先位置C1が仮想キーボード3から離れてしまった場合、ユーザAは、ユーザAの指と仮想キーボード3との距離を認識し難くなってしまう。 As time passes from the point in time when the virtual keyboard 3 is placed in the virtual space K2, it becomes more difficult for user A to recognize the distance between user A's fingers and the virtual keyboard 3. For example, if user A's fingertip position C1 moves away from the virtual keyboard 3 over time, as shown in FIG. 10, user A will find it more difficult to recognize the distance between user A's fingers and the virtual keyboard 3.

携帯機器2は、ユーザAがユーザAの指と仮想キーボード3との距離を再び認識可能とするために、ユーザAの指と仮想キーボード3との位置関係を設定し直すことができる。例えば、携帯機器2は、ユーザAの左手の指によって行われる第2ジェスチャーを検出すると、ユーザAの右手Cの中指の指先位置に対応する仮想空間K2上の目標位置M1に、仮想キー31Hを移動する。すなわち、携帯機器2は、第2ジェスチャーを行わない指の指先位置に対応する目標位置M1に、仮想キー31Hを移動する。このように、携帯機器2では、第2ジェスチャーを行う指が、目標位置M1に対応する指と異なる。 The portable device 2 can reset the positional relationship between user A's fingers and the virtual keyboard 3 so that user A can once again recognize the distance between user A's fingers and the virtual keyboard 3. For example, when the portable device 2 detects a second gesture performed by a finger on user A's left hand, it moves the virtual key 31H to target position M1 in the virtual space K2 corresponding to the fingertip position of the middle finger on user A's right hand C. In other words, the portable device 2 moves the virtual key 31H to target position M1 corresponding to the fingertip position of a finger that will not perform the second gesture. In this way, on the portable device 2, the finger that performs the second gesture is different from the finger that corresponds to target position M1.

なお、第2ジェスチャーを行う指が、目標位置M1に対応する指と同じである場合、第2ジェスチャーの内容によっては、目標位置M1に対応する指の指先位置が検出し難くなるおそれがある。また、第2ジェスチャーを行う指が目標位置M1に対応する指と同じである場合に目標位置M1に対応する指の指先位置を検出し易くするためには、第2ジェスチャーの内容が制限される。すなわち、第2ジェスチャーの自由度が低くなる。 Note that if the finger performing the second gesture is the same as the finger corresponding to target position M1, it may be difficult to detect the fingertip position of the finger corresponding to target position M1, depending on the content of the second gesture. Furthermore, to make it easier to detect the fingertip position of the finger corresponding to target position M1 when the finger performing the second gesture is the same as the finger corresponding to target position M1, the content of the second gesture is limited. In other words, the degree of freedom of the second gesture is reduced.

携帯機器2では、第2ジェスチャーを行う指が、目標位置M1に対応する指と異なる。このため、第2ジェスチャーによって目標位置M1に対応する指の指先位置が検出し難くなることを低減でき、第2ジェスチャーの自由度が低くなることを回避可能である。 On mobile device 2, the finger performing the second gesture is different from the finger corresponding to target position M1. This reduces the difficulty in detecting the fingertip position of the finger corresponding to target position M1 due to the second gesture, and prevents the degree of freedom of the second gesture from being reduced.

図11は、目標位置M1への仮想キー31Hの移動の一例を示す図である。図11において、点線によって示される仮想キーボード3及び点線によって示される仮想キー31Hは、移動前の仮想キーボード3及び移動前の仮想キー31Hを表す。実線によって示される仮想キーボード3及び実線によって示される仮想キー31Hは、移動後の仮想キーボード3及び移動前の仮想キー31Hを表す。 Figure 11 is a diagram showing an example of movement of a virtual key 31H to a target position M1. In Figure 11, the virtual keyboard 3 shown by dotted lines and the virtual key 31H shown by dotted lines represent the virtual keyboard 3 and the virtual key 31H before movement. The virtual keyboard 3 shown by solid lines and the virtual key 31H shown by solid lines represent the virtual keyboard 3 after movement and the virtual key 31H before movement.

図5に示されるジェスチャー検出部256は、第2ジェスチャーを検出する。第2ジェスチャーは、ユーザAの指と仮想キーボード3との位置関係を設定し直すためのジェスチャーである。第2ジェスチャーは、例えば、ユーザAの左手の人差し指を、ユーザAの左手の中指に接触させるジェスチャーである。ユーザAの左手の人差し指とユーザAの左手の中指は、少なくとも1つの指の一例である。少なくとも1つの指は、ユーザAの両手の10本の指のうち、1本の指、2本の指、3本の指、4本の指、5本の指、6本の指、7本の指、8本の指又は9本の指である。 The gesture detection unit 256 shown in FIG. 5 detects a second gesture. The second gesture is a gesture for resetting the positional relationship between user A's fingers and the virtual keyboard 3. The second gesture is, for example, a gesture in which user A's index finger on his left hand touches the middle finger on his left hand. The index finger on user A's left hand and the middle finger on user A's left hand are examples of at least one finger. At least one finger is one, two, three, four, five, six, seven, eight, or nine of the ten fingers on both hands of user A.

第2ジェスチャーは、上述のジェスチャーに限らない。例えば、第2ジェスチャーは、ユーザAの左手の小指の指先を、ユーザAの左手の親指の指先に接触させるジェスチャーでもよい。第2ジェスチャーは、第1ジェスチャーと同じジェスチャーでもよい。 The second gesture is not limited to the gestures described above. For example, the second gesture may be a gesture in which user A touches the tip of the little finger on his or her left hand to the tip of the thumb on his or her left hand. The second gesture may be the same as the first gesture.

ジェスチャー検出部256は、最新の手データJ1を含む複数の手データJ1に基づいて、第2ジェスチャーを検出する。手データJ1は、ユーザAの両手の3次元形状を示す。ジェスチャー検出部256は、第2ジェスチャーを検出すると、検出データJ6を生成する。検出データJ6は、第2ジェスチャーの検出を表すデータである。ジェスチャー検出部256は、検出データJ6を仮想キー制御部257に提供する。 The gesture detection unit 256 detects the second gesture based on multiple pieces of hand data J1, including the latest hand data J1. The hand data J1 indicates the three-dimensional shape of both hands of user A. When the gesture detection unit 256 detects the second gesture, it generates detection data J6. The detection data J6 is data representing the detection of the second gesture. The gesture detection unit 256 provides the detection data J6 to the virtual key control unit 257.

仮想キー制御部257は、ユーザAの指と仮想キーボード3との位置関係を設定し直す。仮想キー制御部257は、仮想キーボード3が仮想空間K2に位置する状況においてジェスチャー検出部256が第2ジェスチャーを検出した場合、仮想空間K2における目標位置M1に仮想キー31Hを移動する。 The virtual key control unit 257 resets the positional relationship between user A's fingers and the virtual keyboard 3. If the gesture detection unit 256 detects a second gesture when the virtual keyboard 3 is located in the virtual space K2, the virtual key control unit 257 moves the virtual key 31H to the target position M1 in the virtual space K2.

仮想キー制御部257は、検出データJ6を受け付けた場合、ジェスチャー検出部256が第2ジェスチャーを検出したと判断する。 When the virtual key control unit 257 receives detection data J6, it determines that the gesture detection unit 256 has detected the second gesture.

仮想キー制御部257は、検出データJ6を受け付けると、仮想空間データJ5に基づいて、仮想キーボード3が仮想空間K2に位置しているかを判断する。例えば、仮想キー制御部257は、仮想空間データJ5を参照することによって、仮想キーボード3が仮想空間K2に位置しているかを判断する。仮想空間データJ5が仮想キーボード3を表す場合、仮想キー制御部257は、仮想キーボード3が仮想空間K2に位置していると判断する。仮想空間データJ5が仮想キーボード3を表さない場合、仮想キー制御部257は、仮想キーボード3が仮想空間K2に位置していないと判断する。 When the virtual key control unit 257 receives the detection data J6, it determines whether the virtual keyboard 3 is located in the virtual space K2 based on the virtual space data J5. For example, the virtual key control unit 257 determines whether the virtual keyboard 3 is located in the virtual space K2 by referencing the virtual space data J5. If the virtual space data J5 represents the virtual keyboard 3, the virtual key control unit 257 determines that the virtual keyboard 3 is located in the virtual space K2. If the virtual space data J5 does not represent the virtual keyboard 3, the virtual key control unit 257 determines that the virtual keyboard 3 is not located in the virtual space K2.

なお、仮想空間データJ5は、仮想キー設定部254が仮想空間K2に仮想キー31Hを位置させると生成される。このため、仮想空間データJ5が生成されている場合、仮想キー制御部257は、仮想キーボード3が仮想空間K2に位置していると判断してもよい。仮想空間データJ5が生成されていない場合、仮想キー制御部257は、仮想キーボード3が仮想空間K2に位置していないと判断してもよい。 The virtual space data J5 is generated when the virtual key setting unit 254 positions the virtual key 31H in the virtual space K2. Therefore, if the virtual space data J5 has been generated, the virtual key control unit 257 may determine that the virtual keyboard 3 is located in the virtual space K2. If the virtual space data J5 has not been generated, the virtual key control unit 257 may determine that the virtual keyboard 3 is not located in the virtual space K2.

仮想キー制御部257は、仮想キーボード3が仮想空間K2に位置していると判断すると、最新の指先データJ3が示す右手Cの中指の指先位置を、目標位置M1として決定する。 When the virtual key control unit 257 determines that the virtual keyboard 3 is located in the virtual space K2, it determines the fingertip position of the middle finger of the right hand C indicated by the latest fingertip data J3 as the target position M1.

右手Cの中指は、「少なくとも1つの指」とは異なる第1指の一例である。第1指は、右手Cの中指に限らず、例えば、右手Cの親指、右手Cの人差し指、右手Cの薬指又は右手Cの小指でもよい。第1指は、上述の参照指でもよい。参照指は、仮想キーボード3を仮想空間K2に位置させるために用いられる指である。第1指が参照指である構成では、ユーザAは、第1指及び参照指として用いられる1つの指と、仮想キーボード3と、の位置関係を意識すれば、仮想キーボード3とユーザの指との位置関係を認識できる。このため、第1指が参照指と異なる構成と比べて、ユーザAは、第1仮想キーの位置とユーザの指との位置関係を認識し易くなる。なお、第1指は、参照指と異なってもよい。 The middle finger of the right hand C is an example of a first finger that is different from "at least one finger." The first finger is not limited to the middle finger of the right hand C, and may be, for example, the thumb of the right hand C, the index finger of the right hand C, the ring finger of the right hand C, or the little finger of the right hand C. The first finger may also be the reference finger described above. The reference finger is a finger used to position the virtual keyboard 3 in the virtual space K2. In a configuration in which the first finger is the reference finger, user A can recognize the positional relationship between the virtual keyboard 3 and the user's fingers by being aware of the positional relationship between the first finger and one finger used as the reference finger and the virtual keyboard 3. Therefore, compared to a configuration in which the first finger is different from the reference finger, user A can more easily recognize the positional relationship between the position of the first virtual key and the user's finger. Note that the first finger may be different from the reference finger.

最新の指先データJ3が示す右手Cの中指の指先位置は、「指先検出部252が検出した第1指の指先位置に対応する仮想空間K2上の目標位置」の一例である。 The fingertip position of the middle finger of the right hand C indicated by the latest fingertip data J3 is an example of a "target position in virtual space K2 corresponding to the fingertip position of the first finger detected by the fingertip detection unit 252."

仮想キー制御部257は、目標位置M1を決定すると、仮想キー設定部254を制御することによって、仮想空間K2における目標位置M1に仮想キー31Hを移動する。 Once the virtual key control unit 257 determines the target position M1, it controls the virtual key setting unit 254 to move the virtual key 31H to the target position M1 in the virtual space K2.

例えば、仮想キー制御部257は、仮想キーボード3を移動することによって仮想キー31Hを目標位置M1に移動する。一例を挙げると、仮想キー制御部257は、第1移動指示J7を仮想キー設定部254に提供することによって、仮想キー設定部254に、仮想キーボード3を移動させて仮想キー31Hを目標位置M1に移動させる。第1移動指示J7は、仮想キーボード3を移動することによって仮想キー31Hを目標位置M1に移動させる指示である。仮想キー設定部254は、第1移動指示J7に応じて、仮想空間K2において、仮想キーボード3を移動させて仮想キー31Hを目標位置M1に移動する。 For example, the virtual key control unit 257 moves the virtual keyboard 3 to move the virtual key 31H to the target position M1. As an example, the virtual key control unit 257 provides a first movement instruction J7 to the virtual key setting unit 254, thereby causing the virtual key setting unit 254 to move the virtual keyboard 3 and move the virtual key 31H to the target position M1. The first movement instruction J7 is an instruction to move the virtual keyboard 3 to move the virtual key 31H to the target position M1. In response to the first movement instruction J7, the virtual key setting unit 254 moves the virtual keyboard 3 in the virtual space K2 to move the virtual key 31H to the target position M1.

なお、仮想キーボード3が仮想空間K2に配置されていない場合、仮想キー制御部257は、仮想キー31Hを移動しない。 If the virtual keyboard 3 is not located in the virtual space K2, the virtual key control unit 257 does not move the virtual key 31H.

仮想キー制御部257は、目標位置M1を決定してから第1移動指示J7を提供するまでの期間において、仮想キー設定部254に、最新の指先データJ3に基づいて基準面P1を再決定させてもよい。例えば、仮想キー制御部257は、目標位置M1を決定してから第1移動指示J7を提供するまでの期間において、基準面P1を再決定する指示を、仮想キー設定部254に提供する。基準面P1を再決定する手法は、基準面P1を決定する手法と同様である。この場合、仮想キー制御部257は、再決定された基準面P1上で仮想キーボード3を移動することによって、仮想キー31Hを目標位置M1に移動する。 The virtual key control unit 257 may cause the virtual key setting unit 254 to redetermine the reference plane P1 based on the latest fingertip data J3 during the period from determining the target position M1 to providing the first movement instruction J7. For example, the virtual key control unit 257 provides the virtual key setting unit 254 with an instruction to redetermine the reference plane P1 during the period from determining the target position M1 to providing the first movement instruction J7. The method for redetermining the reference plane P1 is the same as the method for determining the reference plane P1. In this case, the virtual key control unit 257 moves the virtual keyboard 3 on the redetermined reference plane P1, thereby moving the virtual key 31H to the target position M1.

仮想キー設定部254は、仮想キーボード3を移動すると、仮想空間データJ5を更新する。更新後の仮想空間データJ5は、移動後の仮想キーボード3が位置する仮想空間K2を表す。 When the virtual keyboard 3 is moved, the virtual key setting unit 254 updates the virtual space data J5. The updated virtual space data J5 represents the virtual space K2 in which the moved virtual keyboard 3 is located.

操作検出部258は、仮想キーボード3に対する操作を検出する。例えば、操作検出部258は、最新の仮想空間データJ5と、最新の指先データJ3と、に基づいて、仮想キーボード3に対する操作を検出する。例えば、最新の指先データJ3が示す複数の指先位置のいずれかが、仮想キーボード3の仮想キー31のいずれかの中に入る場合、操作検出部258は、指先位置が入った仮想キー31への操作を検出する。操作検出部258は、仮想キーボード3に対する操作の検出結果に基づいて、キー操作処理を実行する。キー操作処理は、操作された仮想キー31に対応づけられた処理である。例えば、仮想キー31Hが操作された場合、操作検出部258は、キー操作処理として、「H」という文字を入力する処理を実行する。 The operation detection unit 258 detects operations on the virtual keyboard 3. For example, the operation detection unit 258 detects operations on the virtual keyboard 3 based on the latest virtual space data J5 and the latest fingertip data J3. For example, if one of the multiple fingertip positions indicated by the latest fingertip data J3 falls within one of the virtual keys 31 on the virtual keyboard 3, the operation detection unit 258 detects an operation on the virtual key 31 where the fingertip position falls. The operation detection unit 258 executes key operation processing based on the detection result of the operation on the virtual keyboard 3. The key operation processing is processing associated with the operated virtual key 31. For example, if virtual key 31H is operated, the operation detection unit 258 executes processing to input the letter "H" as the key operation processing.

A4:動作の説明
携帯機器2の動作を説明する。まず、仮想キーボード3を仮想空間K2に配置する動作を説明する。続いて、仮想キーボード3を移動する動作を説明する。
A4: Description of Operation The operation of the portable device 2 will be described. First, the operation of placing the virtual keyboard 3 in the virtual space K2 will be described. Next, the operation of moving the virtual keyboard 3 will be described.

図12は、仮想キーボード3を仮想空間K2に配置する動作の一例を説明するための図である。 Figure 12 is a diagram illustrating an example of the operation of placing the virtual keyboard 3 in the virtual space K2.

ステップS101において手データ生成部251は、画像データD1及びD2に基づいて、手データJ1を生成する。手データJ1は、ユーザAの両手の3次元形状をローカル座標系CS1の座標によって示すデータである。 In step S101, the hand data generation unit 251 generates hand data J1 based on image data D1 and D2. Hand data J1 is data that indicates the three-dimensional shape of both hands of user A using coordinates in local coordinate system CS1.

続いて、ステップS102において指先検出部252は、手データJ1に基づいて、指先データJ2を生成する。指先データJ2は、ユーザAの左右の手の各指の指先位置をローカル座標系CS1の座標によって示すデータである。 Next, in step S102, the fingertip detection unit 252 generates fingertip data J2 based on the hand data J1. The fingertip data J2 is data that indicates the fingertip positions of each finger on user A's left and right hands using coordinates in the local coordinate system CS1.

続いて、ステップS103において座標変換部253は、指先データJ2と加速度データE1と角加速度データE2とに基づいて、指先データJ3を生成する。指先データJ3は、指先データJ2が示す各指の指先位置をワールド座標系CS2の座標によって示すデータである。 Next, in step S103, the coordinate conversion unit 253 generates fingertip data J3 based on the fingertip data J2, acceleration data E1, and angular acceleration data E2. The fingertip data J3 is data that indicates the fingertip position of each finger indicated by the fingertip data J2 using coordinates in the world coordinate system CS2.

続いて、ステップS104において座標変換部253は、加速度データE1と角加速度データE2に基づいて、カメラデータJ4を生成する。カメラデータJ4は、カメラ11Lのワールド座標系CS2の座標と、カメラ11Lの撮像方向を示すワールド座標系CS2の座標と、を示すデータである。ステップS104は、ステップS103が実行される前に実行されてもよい。 Next, in step S104, the coordinate conversion unit 253 generates camera data J4 based on the acceleration data E1 and angular acceleration data E2. The camera data J4 is data indicating the coordinates of the camera 11L in the world coordinate system CS2 and the coordinates of the world coordinate system CS2 that indicate the imaging direction of the camera 11L. Step S104 may be executed before step S103 is executed.

続いて、ステップS105において仮想キー設定部254は、タイミングt1に応じて、仮想キーボード3を仮想空間K2に位置させる。タイミングt1は、例えば、ユーザAが入力装置21に入力した「キーボード設定指示」を仮想キー設定部254が受け付けるタイミングである。 Next, in step S105, the virtual key setting unit 254 positions the virtual keyboard 3 in the virtual space K2 at timing t1. Timing t1 is, for example, the timing at which the virtual key setting unit 254 receives a "keyboard setting instruction" input by user A to the input device 21.

ステップS105では仮想キー設定部254は、例えば、右手Cの複数の指の指先位置に基づいて、基準面P1を仮想空間K2内に決定する。仮想キー設定部254は、基準面P1を決定すると、基準面P1に仮想キーボード3を配置する。仮想キー設定部254は、基準面P1に仮想キーボード3を配置すると、最新の指先データJ3に基づいて、右手Cの中指の指先位置を特定する。仮想キー設定部254は、右手Cの中指の指先位置を特定すると、基準面P1に沿って仮想キーボード3をずらすことによって、右手Cの中指の指先位置に、「H」を表す仮想キー31Hを位置させる。 In step S105, the virtual key setting unit 254 determines a reference plane P1 within the virtual space K2, for example, based on the fingertip positions of multiple fingers of the right hand C. Once the virtual key setting unit 254 determines the reference plane P1, it places a virtual keyboard 3 on the reference plane P1. Once the virtual key setting unit 254 places the virtual keyboard 3 on the reference plane P1, it identifies the fingertip position of the middle finger of the right hand C based on the latest fingertip data J3. Once the virtual key setting unit 254 identifies the fingertip position of the middle finger of the right hand C, it shifts the virtual keyboard 3 along the reference plane P1 to position the virtual key 31H representing "H" at the fingertip position of the middle finger of the right hand C.

図13は、仮想キーボード3を移動する動作の一例を説明するための図である。ジェスチャー検出部256は、ステップS201において手データJ1に基づいて第2ジェスチャーを検出すると、ステップS202において検出データJ6を生成する。第2ジェスチャーは、例えば、ユーザAの左手の人差し指を、ユーザAの左手の中指に接触させるジェスチャーである。検出データJ6は、第2ジェスチャーの検出を表すデータである。 Figure 13 is a diagram illustrating an example of an operation for moving the virtual keyboard 3. When the gesture detection unit 256 detects a second gesture based on the hand data J1 in step S201, it generates detection data J6 in step S202. The second gesture is, for example, a gesture in which the index finger of user A's left hand touches the middle finger of user A's left hand. The detection data J6 is data representing the detection of the second gesture.

続いて、ステップS203において仮想キー制御部257は、仮想空間データJ5に基づいて、仮想キーボード3が仮想空間K2に位置するかを判断する。 Next, in step S203, the virtual key control unit 257 determines whether the virtual keyboard 3 is located in the virtual space K2 based on the virtual space data J5.

仮想キー制御部257は、ステップS203において仮想キーボード3が仮想空間K2に位置していると判断すると、ステップS204において指先データJ3に基づいて目標位置M1を決定する。目標位置M1は、最新の指先データJ3が示す右手Cの中指の指先位置である。 When the virtual key control unit 257 determines in step S203 that the virtual keyboard 3 is located in the virtual space K2, it determines the target position M1 based on the fingertip data J3 in step S204. The target position M1 is the fingertip position of the middle finger of the right hand C indicated by the most recent fingertip data J3.

続いて、ステップS205において仮想キー制御部257は、仮想キー設定部254を制御することによって、仮想空間K2における目標位置M1に仮想キー31Hを移動する。このため、MRグラス1を装着しているユーザAは、仮想キーボード3が右手Cの中指の指先に吸い付くような感覚を得る。 Next, in step S205, the virtual key control unit 257 controls the virtual key setting unit 254 to move the virtual key 31H to the target position M1 in the virtual space K2. As a result, user A wearing the MR glasses 1 feels as if the virtual keyboard 3 is sticking to the tip of the middle finger of his right hand C.

ステップS201においてジェスチャー検出部256が第2ジェスチャーを検出しない場合、図13に示される処理が終了する。ステップS203において仮想キーボード3が仮想空間K2に位置していない場合、図13に示される処理が終了する。 If the gesture detection unit 256 does not detect the second gesture in step S201, the processing shown in FIG. 13 ends. If the virtual keyboard 3 is not located in the virtual space K2 in step S203, the processing shown in FIG. 13 ends.

A5:第1実施形態のまとめ
仮想キー設定部254は、仮想キー31Hを仮想空間K2に位置させる。ジェスチャー検出部256は、ユーザAの左手の人差し指をユーザAの左手の中指に接触させる第2ジェスチャーを検出する。指先検出部252は、ユーザAの左右の手の各指の指先位置を検出する。このため、指先検出部252は、少なくとも、ユーザAの右手Cの中指の指先位置を検出する。仮想キー制御部257は、仮想キー31Hが仮想空間K2に位置する状況においてジェスチャー検出部256が第2ジェスチャーを検出した場合、指先検出部252が検出したユーザAの右手Cの中指の指先位置に対応する仮想空間K2上の目標位置M1に仮想キー31Hを移動する。
A5: Summary of First Embodiment The virtual key setting unit 254 positions the virtual key 31H in the virtual space K2. The gesture detection unit 256 detects a second gesture in which the index finger of user A's left hand touches the middle finger of user A's left hand. The fingertip detection unit 252 detects the fingertip positions of each finger on user A's left and right hands. Therefore, the fingertip detection unit 252 detects at least the fingertip position of the middle finger of user A's right hand C. When the gesture detection unit 256 detects the second gesture in a situation in which the virtual key 31H is located in the virtual space K2, the virtual key control unit 257 moves the virtual key 31H to a target position M1 in the virtual space K2 that corresponds to the fingertip position of the middle finger of user A's right hand C detected by the fingertip detection unit 252.

ジェスチャー検出部256は、仮想キー31Hの移動先に対応する右手Cの中指とは異なる指によって行われるジェスチャーを検出する。このため、仮想キー31Hの移動先に対応する右手Cの中指によってジェスチャーが行われる状況を回避できる。よって、右手Cの中指によって行われるジェスチャーによってユーザAの右手Cの中指の指先位置を検出し難くなるという課題を解決できる。 The gesture detection unit 256 detects gestures made with a finger other than the middle finger of the right hand C that corresponds to the destination of virtual key 31H. This prevents a situation in which a gesture is made with the middle finger of the right hand C that corresponds to the destination of virtual key 31H. This solves the problem of it being difficult to detect the fingertip position of the middle finger of user A's right hand C due to gestures made with the middle finger of the right hand C.

仮想キー31Hは、第1仮想キーの一例である。第1仮想キーは、仮想キーボード3に含まれる仮想キー31のいずれかである。第1仮想キーは、仮想キーボード3に含まれる仮想キー31のいずれかに限らない。例えば、第1仮想キーは、仮想キーボード3に含まれない仮想キーでもよい。仮想キーボード3に含まれない仮想キーは、例えば、動画用の仮想PLAYキー又は動画用の仮想停止キーである。 Virtual key 31H is an example of a first virtual key. The first virtual key is one of the virtual keys 31 included in the virtual keyboard 3. The first virtual key is not limited to one of the virtual keys 31 included in the virtual keyboard 3. For example, the first virtual key may be a virtual key that is not included in the virtual keyboard 3. A virtual key that is not included in the virtual keyboard 3 is, for example, a virtual PLAY key for videos or a virtual STOP key for videos.

仮想キー31Hの移動先に対応する右手Cの中指は、第1指の一例である。第1指は、右手Cの中指に限らない。第1指は、ユーザAの左右の手の10本の指のうち、いずれか1つの指であればよい。 The middle finger of the right hand C, which corresponds to the destination of virtual key 31H, is an example of the first finger. The first finger is not limited to the middle finger of the right hand C. The first finger may be any one of the ten fingers on the left or right hand of user A.

第2ジェスチャーを行うユーザAの左手の人差し指及びユーザAの左手の中指は、第2ジェスチャーを行う少なくとも1つの指の一例である。第2ジェスチャーを行う少なくとも1つの指は、ユーザAの左手の人差し指とユーザAの左手の中指に限らない。第2ジェスチャーを行う少なくとも1つの指は、ユーザAの左右の手の10本の指のうち、第1指と異なる1以上の指であればよい。 The index finger and middle finger of user A's left hand that perform the second gesture are an example of at least one finger that performs the second gesture. The at least one finger that performs the second gesture is not limited to the index finger and middle finger of user A's left hand. The at least one finger that performs the second gesture may be one or more fingers other than the first finger out of the ten fingers on user A's left and right hands.

第1実施形態では、第2ジェスチャーを行う指と第1指との組合せは、左手の指と右手Cの指との組合せである。左手の指と右手Cの指との組合せは、相互に異なる手の指の組合せを意味する。第2ジェスチャーを行う指と第1指との組合せは、相互に異なる手の指の組合せに限らない。例えば、第2ジェスチャーを行う指と第1指との組合せは、同じ手の異なる指の組合せでもよい。同じ手の異なる指の組合せは、例えば、右手Cの親指と右手Cの人差し指との組合せ、又は、左手の人差し指と左手の中指との組合せである。 In the first embodiment, the combination of the finger performing the second gesture and the first finger is a combination of a finger on the left hand and a finger on the right hand C. A combination of a finger on the left hand and a finger on the right hand C means a combination of fingers on different hands. The combination of the finger performing the second gesture and the first finger is not limited to a combination of fingers on different hands. For example, the combination of the finger performing the second gesture and the first finger may be a combination of different fingers on the same hand. An example of a combination of different fingers on the same hand is a combination of the thumb of the right hand C and the index finger of the right hand C, or a combination of the index finger of the left hand and the middle finger of the left hand.

仮想キー設定部254は、仮想キーボード3を仮想空間K2に位置させることによって仮想キー31Hを仮想空間K2に位置させる。仮想キー制御部257は、仮想キーボード3が仮想空間K2に位置する状況においてジェスチャー検出部256が第2ジェスチャーを検出した場合、仮想キー31Hを目標位置M1に移動する。このため、仮想キーボード3に含まれる仮想キーを目標位置M1に移動できる。 The virtual key setting unit 254 positions the virtual keyboard 3 in the virtual space K2, thereby positioning the virtual key 31H in the virtual space K2. If the gesture detection unit 256 detects a second gesture when the virtual keyboard 3 is located in the virtual space K2, the virtual key control unit 257 moves the virtual key 31H to the target position M1. This allows the virtual keys included in the virtual keyboard 3 to be moved to the target position M1.

仮想キー制御部257は、仮想キーボード3が仮想空間K2に位置する状況においてジェスチャー検出部256が第2ジェスチャーを検出した場合、仮想キーボード3を移動することによって仮想キー31Hを目標位置M1に移動する。このため、第2ジェスチャーに応じて仮想キーボード3の全体を移動できる。 When the gesture detection unit 256 detects a second gesture while the virtual keyboard 3 is located in the virtual space K2, the virtual key control unit 257 moves the virtual keyboard 3 to move the virtual key 31H to the target position M1. This allows the entire virtual keyboard 3 to move in response to the second gesture.

B:変形例
上述の実施形態における変形の態様を以下に示す。以下の変形の態様から任意に選択された2以上の態様を、相互に矛盾しない範囲において適宜に併合してもよい。
B: Modifications Modifications of the above-described embodiment are shown below. Two or more of the following modifications may be arbitrarily selected and combined as long as they are not mutually contradictory.

B1:第1変形例
第1実施形態において、仮想キー制御部257は、仮想キーボード3を移動することによって第1仮想キー(例えば、仮想キー31H)を目標位置M1に移動する代わりに、複数の仮想キー31のうち第1仮想キーとは異なる仮想キー31を移動せずに、第1仮想キーを目標位置M1に移動してもよい。
B1: First Modification In the first embodiment, instead of moving the first virtual key (e.g., virtual key 31H) to the target position M1 by moving the virtual keyboard 3, the virtual key control unit 257 may move the first virtual key to the target position M1 without moving any virtual key 31 among the multiple virtual keys 31 that is different from the first virtual key.

例えば、仮想キー制御部257は、仮想キーボード3が仮想空間K2に位置する状況においてジェスチャー検出部256が第2ジェスチャーを検出した場合、第2移動指示を、仮想キー設定部254に提供する。第2移動指示は、複数の仮想キー31のうち第1仮想キー(例えば、仮想キー31H)とは異なる仮想キー31を移動せずに、第1仮想キーを目標位置M1に移動させる指示である。仮想キー設定部254は、第2移動指示に応じて、仮想空間K2において、複数の仮想キー31のうち第1仮想キーとは異なる仮想キー31を移動せずに、第1仮想キーを目標位置M1に移動する。 For example, when the gesture detection unit 256 detects a second gesture when the virtual keyboard 3 is located in the virtual space K2, the virtual key control unit 257 provides a second movement instruction to the virtual key setting unit 254. The second movement instruction is an instruction to move the first virtual key 31 to the target position M1 without moving any virtual keys 31 of the multiple virtual keys 31 that are different from the first virtual key (e.g., virtual key 31H). In response to the second movement instruction, the virtual key setting unit 254 moves the first virtual key 31 to the target position M1 in the virtual space K2 without moving any virtual keys 31 of the multiple virtual keys 31 that are different from the first virtual key.

第1変形例によれば、仮想キー制御部257は、仮想キーボード3が仮想空間K2に位置する状況においてジェスチャー検出部256が第2ジェスチャーを検出した場合、複数の仮想キー31のうち第1仮想キーとは異なる仮想キー31を移動せずに、第1仮想キーを目標位置M1に移動する。このため、ユーザAが第1仮想キーのみの操作を希望する場合、移動する必要のない仮想キー31を移動することを避けられる。よって、移動する必要のない仮想キー31を移動する処理を低減できる。 According to the first modified example, when the gesture detection unit 256 detects a second gesture while the virtual keyboard 3 is located in the virtual space K2, the virtual key control unit 257 moves the first virtual key 31 to the target position M1 without moving any virtual keys 31 that are different from the first virtual key among the multiple virtual keys 31. Therefore, if user A wishes to operate only the first virtual key, moving virtual keys 31 that do not need to be moved can be avoided. This reduces the processing required to move virtual keys 31 that do not need to be moved.

なお、第1変形例では、移動後の第1仮想キーが他の仮想キー31と重なる可能性がある。第1仮想キーが他の仮想キー31と重なる場合、ユーザAが第1仮想キーを操作したにも関わらず、操作検出部258が、他の仮想キー31への操作を検出してしまう可能性がある。このため、第1仮想キーが他の仮想キー31と重なる場合、操作検出部258は、第1仮想キーと重なる仮想キー31への操作を無効にしてもよい。この場合、ユーザAが第1仮想キーを操作したにも関わらず、操作検出部258が、他の仮想キー31への操作を検出することを防ぐことができる。 Note that in the first modified example, there is a possibility that the first virtual key after movement may overlap with another virtual key 31. If the first virtual key overlaps with another virtual key 31, the operation detection unit 258 may detect an operation on the other virtual key 31, even though user A has operated the first virtual key. For this reason, when the first virtual key overlaps with another virtual key 31, the operation detection unit 258 may disable an operation on the virtual key 31 that overlaps with the first virtual key. In this case, it is possible to prevent the operation detection unit 258 from detecting an operation on the other virtual key 31, even though user A has operated the first virtual key.

B2:第2変形例
第1実施形態および第1変形例では、第1仮想キーは固定される。例えば、仮想キー31Hが第1仮想キーとして固定される。
B2: Second Modification In the first embodiment and the first modification, the first virtual key is fixed. For example, the virtual key 31H is fixed as the first virtual key.

しかしながら、第1実施形態および第1変形例において、第1仮想キーは変更されてもよい。例えば、仮想キー制御部257は、仮想キーボード3が仮想空間K2に位置する状況においてジェスチャー検出部256が第2ジェスチャーを検出した場合、複数の仮想キー31の中で目標位置M1に最も近い仮想キーを第1仮想キーとして決定してもよい。 However, in the first embodiment and the first modified example, the first virtual key may be changed. For example, when the gesture detection unit 256 detects a second gesture when the virtual keyboard 3 is located in the virtual space K2, the virtual key control unit 257 may determine, as the first virtual key, the virtual key that is closest to the target position M1 among the multiple virtual keys 31.

この場合、仮想キー制御部257は、仮想キーボード3が仮想空間K2に位置する状況においてジェスチャー検出部256が第2ジェスチャーを検出した場合、複数の仮想キー31の中で目標位置M1に最も近い仮想キーを、目標位置M1に移動する。 In this case, when the gesture detection unit 256 detects a second gesture while the virtual keyboard 3 is located in the virtual space K2, the virtual key control unit 257 moves the virtual key 31 that is closest to the target position M1 to the target position M1.

例えば、仮想キー制御部257は、仮想キーボード3が仮想空間K2に位置する状況においてジェスチャー検出部256が第2ジェスチャーを検出した場合、まず、最新の仮想空間データJ5を取得する。 For example, if the gesture detection unit 256 detects a second gesture when the virtual keyboard 3 is located in the virtual space K2, the virtual key control unit 257 first obtains the latest virtual space data J5.

続いて、仮想キー制御部257は、最新の仮想空間データJ5を参照することによって、複数の仮想キー31の中で目標位置M1に最も近い仮想キーを、第1仮想キーとして決定する。 Next, the virtual key control unit 257 references the latest virtual space data J5 to determine the virtual key closest to the target position M1 among the multiple virtual keys 31 as the first virtual key.

続いて、仮想キー制御部257は、第1仮想キーを目標位置M1に移動する。例えば、仮想キー制御部257は、第3移動指示を仮想キー設定部254に提供することによって、仮想キー設定部254に、第1仮想キーを目標位置M1に移動させる。第3移動指示は、第1仮想キーとして決定された仮想キー31を、仮想キーボード3を移動することによって目標位置M1に移動させる指示である。仮想キー設定部254は、第3移動指示に応じて、仮想空間K2において、仮想キーボード3を移動させて第1仮想キーを目標位置M1に移動する。 The virtual key control unit 257 then moves the first virtual key to the target position M1. For example, the virtual key control unit 257 provides a third movement instruction to the virtual key setting unit 254, thereby causing the virtual key setting unit 254 to move the first virtual key to the target position M1. The third movement instruction is an instruction to move the virtual key 31 determined as the first virtual key to the target position M1 by moving the virtual keyboard 3. In response to the third movement instruction, the virtual key setting unit 254 moves the virtual keyboard 3 in the virtual space K2 to move the first virtual key to the target position M1.

仮想キー制御部257は、第4移動指示を仮想キー設定部254に提供することによって、仮想キー設定部254に、第1仮想キーを目標位置M1に移動させてもよい。第4移動指示は、複数の仮想キー31のうち第1仮想キーとして決定された仮想キーとは異なる仮想キー31を移動せずに、第1仮想キーとして決定された仮想キーを目標位置M1に移動させる指示である。仮想キー設定部254は、第4移動指示に応じて、仮想空間K2において、複数の仮想キー31のうち第1仮想キーとして決定された仮想キーとは異なる仮想キー31を移動せずに、第1仮想キーとして決定された仮想キーを目標位置M1に移動する。 The virtual key control unit 257 may provide a fourth movement instruction to the virtual key setting unit 254, thereby causing the virtual key setting unit 254 to move the first virtual key to the target position M1. The fourth movement instruction is an instruction to move the virtual key determined as the first virtual key to the target position M1 without moving any virtual keys 31 of the multiple virtual keys 31 that are different from the virtual key determined as the first virtual key. In response to the fourth movement instruction, the virtual key setting unit 254 moves the virtual key determined as the first virtual key to the target position M1 in the virtual space K2 without moving any virtual keys 31 of the multiple virtual keys 31 that are different from the virtual key determined as the first virtual key.

第2変形例によれば、仮想キー制御部257は、複数の仮想キー31の中で目標位置M1に最も近い仮想キーを、第1仮想キーとして決定する。目標位置M1は、ユーザAの第1指(例えば、ユーザAの右手Cの中指)の指先位置に応じた位置である。このため、ユーザAは、第1指の位置を変更することによって、第1仮想キーを変更できる。 According to the second modified example, the virtual key control unit 257 determines the virtual key closest to the target position M1 among the multiple virtual keys 31 as the first virtual key. The target position M1 is a position corresponding to the fingertip position of user A's first finger (for example, the middle finger of user A's right hand C). Therefore, user A can change the first virtual key by changing the position of the first finger.

また、仮想キー制御部257は、仮想キーボード3が仮想空間K2に位置する状況においてジェスチャー検出部256が第2ジェスチャーを検出した場合、複数の仮想キー31の中で目標位置M1に最も近い仮想キーを、目標位置M1に移動する。このため、ユーザAは、第1指を操作対象の仮想キーに近づけた状態で第2ジェスチャーを行うことによって、操作対象の仮想キーを第1指によって操作しやすい位置に移動できる。 Furthermore, when the gesture detection unit 256 detects a second gesture while the virtual keyboard 3 is located in the virtual space K2, the virtual key control unit 257 moves the virtual key among the multiple virtual keys 31 that is closest to the target position M1 to the target position M1. Therefore, by performing the second gesture with the first finger close to the virtual key to be operated, user A can move the virtual key to be operated to a position that is easy to operate with the first finger.

B3:第3変形例
第1実施形態および第1変形例から第2変形例では、ユーザAは、例えば右手Cの人差し指を移動することによって、右手Cの人差し指を操作対象の仮想キー31の場所に位置させる。
B3: Third Modification In the first embodiment and the first to second modifications, user A, for example, moves the index finger of his right hand C to position the index finger of his right hand C at the location of the virtual key 31 to be operated.

しかしながら、電車の中などの環境及びユーザAの姿勢によって、右手Cの人差し指の移動範囲は制限される。 However, the range of movement of the index finger of right hand C is limited depending on the environment, such as on a train, and user A's posture.

このため、第1実施形態および第1変形例から第2変形例において、例えば、「ユーザAの右手C」とは異なる「ユーザAの左手」の動きに基づいて、仮想キーボード3の位置が変更されてもよい。 For this reason, in the first embodiment and the first to second variants, the position of the virtual keyboard 3 may be changed based on the movement of, for example, "user A's left hand," which is different from "user A's right hand C."

この場合、ユーザAの左手によって仮想キーボード3を移動できるので、ユーザAの左手によって仮想キーボード3を移動できない構成に比べて、ユーザAの右手Cの移動距離を短くできる。 In this case, the virtual keyboard 3 can be moved by user A's left hand, so the distance that user A's right hand C must move can be shortened compared to a configuration in which user A's left hand cannot move the virtual keyboard 3.

図14は、仮想キーボード3を移動せずに右手Cが「A」を示す仮想キー31に移動する場合と、左手によって仮想キーボード3を移動させて右手Cを「A」を示す仮想キー31に移動する場合と、を示す図である。図14において、移動距離L1は、仮想キーボード3を移動せずに右手Cのみが「A」を示す仮想キー31に移動する場合での移動距離である。移動距離L2は、左手によって仮想キーボード3を移動させて右手Cを「A」を示す仮想キー31に移動する場合における移動距離である。図14に示されるように、移動距離L2は移動距離L1よりも短くなる。 Figure 14 shows the cases where the right hand C moves to the virtual key 31 indicating "A" without moving the virtual keyboard 3, and the case where the right hand C moves to the virtual key 31 indicating "A" by moving the virtual keyboard 3 with the left hand. In Figure 14, movement distance L1 is the movement distance when only the right hand C moves to the virtual key 31 indicating "A" without moving the virtual keyboard 3. Movement distance L2 is the movement distance when the right hand C moves to the virtual key 31 indicating "A" by moving the virtual keyboard 3 with the left hand. As shown in Figure 14, movement distance L2 is shorter than movement distance L1.

右手Cは、第1手の一例である。第1手は、右手Cに限らず、第1指を有する手であればよい。ユーザAの左手は、第2手の一例である。第2手は、ユーザAの左手に限らず、第1手とは異なる手であればよい。 Right hand C is an example of the first hand. The first hand is not limited to right hand C, but may be any hand that has a first finger. User A's left hand is an example of the second hand. The second hand is not limited to user A's left hand, but may be any hand different from the first hand.

図15は、第3変形例に係る携帯機器2Aの一例を示す図である。以下、携帯機器2Aと図5に示される携帯機器2との相違点を中心に説明する。 Figure 15 shows an example of a mobile device 2A according to the third variant. The following explanation focuses on the differences between the mobile device 2A and the mobile device 2 shown in Figure 5.

携帯機器2Aは、携帯機器2が有する構成要素に加えて、動き検出部259と位置変更部260を含む。携帯機器2Aの記憶装置24は、プログラムPG2の代わりに、プログラムPG3を記憶する。携帯機器2Aの処理装置25は、記憶装置24からプログラムPG3を読み取る。携帯機器2Aの処理装置25は、プログラムPG3を実行することによって、手データ生成部251、指先検出部252、座標変換部253、仮想キー設定部254、画像データ生成部255、ジェスチャー検出部256、仮想キー制御部257、操作検出部258、動き検出部259、及び位置変更部260として機能する。手データ生成部251、指先検出部252、座標変換部253、仮想キー設定部254、画像データ生成部255、ジェスチャー検出部256、仮想キー制御部257、操作検出部258、動き検出部259、及び位置変更部260のうち少なくとも1つは、DSP、ASIC及びFPGA等の回路によって構成されてもよい。 In addition to the components of portable device 2, portable device 2A includes a motion detection unit 259 and a position change unit 260. The storage device 24 of portable device 2A stores program PG3 instead of program PG2. The processing device 25 of portable device 2A reads program PG3 from the storage device 24. By executing program PG3, the processing device 25 of portable device 2A functions as a hand data generation unit 251, a fingertip detection unit 252, a coordinate conversion unit 253, a virtual key setting unit 254, an image data generation unit 255, a gesture detection unit 256, a virtual key control unit 257, an operation detection unit 258, a motion detection unit 259, and a position change unit 260. At least one of the hand data generation unit 251, fingertip detection unit 252, coordinate conversion unit 253, virtual key setting unit 254, image data generation unit 255, gesture detection unit 256, virtual key control unit 257, operation detection unit 258, movement detection unit 259, and position change unit 260 may be configured using a circuit such as a DSP, ASIC, or FPGA.

動き検出部259は、ユーザAの左手の動きを検出する。例えば、動き検出部259は、手データJ1に基づいて、ユーザAの左手の動きを検出する。動き検出部259は、ユーザAの左手の動きとして、第2ジェスチャーを行うユーザAの左手の指の動きを検出する。第2ジェスチャーを行うユーザAの左手の指は、例えば、ユーザAの左手の人差し指を、ユーザAの左手の中指である。ユーザAの左手の動きは、第2ジェスチャーを行うユーザAの左手の指の動きに限らず、ユーザAの左手の指のうち、第2ジェスチャーを行うユーザAの左手の指とは異なる指でもよい。動き検出部259は、ユーザAの左手の動きとして、第2ジェスチャーを行うユーザAの左手の指の移動方向と、第2ジェスチャーを行うユーザAの左手の指の移動距離と、を検出する。動き検出部259は、ユーザAの左手の動きの検出結果に基づいて、動き検出データJ8を生成する。動き検出データJ8は、第2ジェスチャーを行うユーザAの左手の指の移動方向と、第2ジェスチャーを行うユーザAの左手の指の移動距離と、を示すデータである。 The movement detection unit 259 detects the movement of user A's left hand. For example, the movement detection unit 259 detects the movement of user A's left hand based on hand data J1. The movement detection unit 259 detects the movement of the fingers of user A's left hand that perform the second gesture as the movement of user A's left hand. The fingers of user A's left hand that perform the second gesture are, for example, the index finger and middle finger of user A's left hand. The movement of user A's left hand is not limited to the movement of the fingers of user A's left hand that perform the second gesture, but may also be fingers of user A's left hand that are different from the fingers of user A's left hand that perform the second gesture. The movement detection unit 259 detects, as the movement of user A's left hand, the movement direction of the fingers of user A's left hand that perform the second gesture and the movement distance of the fingers of user A's left hand that perform the second gesture. The movement detection unit 259 generates movement detection data J8 based on the detection results of user A's left hand movement. The movement detection data J8 is data that indicates the movement direction of the fingers of user A's left hand when making the second gesture and the movement distance of the fingers of user A's left hand when making the second gesture.

動き検出部259は、ユーザAの左手のワールド座標系CS2の座標位置が、仮想キーボード3と接触する位置である状況において、ユーザAの左手の動きを検出してもよい。換言すると、MRグラス1を装着しているユーザAが、ユーザAの左手の一部を、MRグラス1に表示される仮想キーボード3と重ねる状況において、動き検出部259は、ユーザAの左手の動きを検出してもよい。この場合、動き検出部259は、例えば、仮想空間データJ5と指先データJ3とに基づいて、ユーザAの左手のワールド座標系CS2の座標位置が、仮想キーボード3と接触する位置であるか否かを判断する。 The movement detection unit 259 may detect the movement of user A's left hand in a situation where the coordinate position of user A's left hand in the world coordinate system CS2 is in contact with the virtual keyboard 3. In other words, the movement detection unit 259 may detect the movement of user A's left hand in a situation where user A, who is wearing the MR glasses 1, places part of user A's left hand over the virtual keyboard 3 displayed on the MR glasses 1. In this case, the movement detection unit 259 determines, for example, based on the virtual space data J5 and fingertip data J3, whether the coordinate position of user A's left hand in the world coordinate system CS2 is in contact with the virtual keyboard 3.

位置変更部260は、動き検出部259によって検出されたユーザAの左手の動きに基づいて、仮想キーボード3の位置を変更する。例えば、位置変更部260は、仮想空間K2において、動き検出データJ8が示す移動方向に、動き検出データJ8が示す移動距離だけ、仮想キーボード3を移動する。一例を挙げると、位置変更部260は、キーボード移動指示を仮想キー設定部254に提供することによって仮想キーボード3の位置を変更する。キーボード移動指示は、仮想空間K2において、動き検出データJ8が示す移動方向に、動き検出データJ8が示す移動距離だけ、仮想キーボード3を移動させる指示である。仮想キー設定部254は、キーボード移動指示に応じて、仮想空間K2において、動き検出データJ8が示す移動方向に、動き検出データJ8が示す移動距離だけ、仮想キーボード3を移動する。 The position change unit 260 changes the position of the virtual keyboard 3 based on the movement of user A's left hand detected by the movement detection unit 259. For example, the position change unit 260 moves the virtual keyboard 3 in the virtual space K2 in the direction indicated by the movement detection data J8 by the movement distance indicated by the movement detection data J8. As an example, the position change unit 260 changes the position of the virtual keyboard 3 by providing a keyboard movement instruction to the virtual key setting unit 254. The keyboard movement instruction is an instruction to move the virtual keyboard 3 in the virtual space K2 in the direction indicated by the movement detection data J8 by the movement distance indicated by the movement detection data J8. In response to the keyboard movement instruction, the virtual key setting unit 254 moves the virtual keyboard 3 in the virtual space K2 in the direction indicated by the movement detection data J8 by the movement distance indicated by the movement detection data J8.

画像データ生成部255は、位置変更部260が実行する仮想キーボード3の移動に応じて、MRグラス1に、仮想キーボード3をスクロール表示させてもよい。例えば、画像データ生成部255は、位置変更部260が実行する仮想キーボード3の移動を仮想カメラN1にて撮像することによって得られる撮像画像データを生成する。画像データ生成部255は、撮像画像データを編集することによって、仮想キーボード3のスクロールを表す画像データH1を生成する。画像データ生成部255は、当該画像データH1を通信装置23からMRグラス1に送信することによって、MRグラス1に、仮想キーボード3をスクロール表示させる。MRグラス1は、当該画像データH1に基づいて、仮想キーボード3をスクロール表示する。画像データ生成部255は、第1表示制御部の一例である。
MRグラス1は、表示装置の一例である。
The image data generation unit 255 may cause the MR glasses 1 to scroll and display the virtual keyboard 3 in accordance with the movement of the virtual keyboard 3 executed by the position change unit 260. For example, the image data generation unit 255 generates captured image data obtained by capturing an image of the movement of the virtual keyboard 3 executed by the position change unit 260 with the virtual camera N1. The image data generation unit 255 generates image data H1 representing the scrolling of the virtual keyboard 3 by editing the captured image data. The image data generation unit 255 causes the MR glasses 1 to scroll and display the virtual keyboard 3 by transmitting the image data H1 from the communication device 23 to the MR glasses 1. The MR glasses 1 scroll and display the virtual keyboard 3 based on the image data H1. The image data generation unit 255 is an example of a first display control unit.
The MR glasses 1 are an example of a display device.

第3変形例によれば、ユーザAの左手によって仮想キーボード3を移動できる。このため、ユーザAの左手によって仮想キーボード3を移動できない構成に比べて、ユーザAの右手Cの移動距離を短くできる。 According to the third modified example, the virtual keyboard 3 can be moved by the left hand of user A. This shortens the distance that user A's right hand C must move compared to a configuration in which the virtual keyboard 3 cannot be moved by user A's left hand.

仮想キーボード3を移動するための第2手は、第2ジェスチャーを行う指を有する手(例えば、左手)である。このため、ユーザAに、第2ジェスチャーを行う指を有する第2手(例えば、左手)を、仮想キーボード3の移動に関する手と認識させ、かつ、第2手とは異なる第1手(例えば、右手)を、仮想キー31を操作する手と認識させることができる。よって、ユーザAは、仮想キーボード3の移動に関する手と、仮想キー31を操作する手を、混同し難くなる。 The second hand used to move the virtual keyboard 3 is the hand (e.g., the left hand) that has the fingers that perform the second gesture. This allows user A to recognize the second hand (e.g., the left hand) that has the fingers that perform the second gesture as the hand used to move the virtual keyboard 3, and the first hand (e.g., the right hand), which is different from the second hand, as the hand that operates the virtual keys 31. This makes it less likely that user A will confuse the hand used to move the virtual keyboard 3 with the hand that operates the virtual keys 31.

動き検出部259は、第2手の動きとして、第2ジェスチャーを行うユーザAの左手の指の動きを検出する。このため、ユーザAは、第2ジェスチャーを行う指によって仮想キーボード3を移動できる。 The movement detection unit 259 detects the movement of the fingers of user A's left hand performing the second gesture as the second hand movement. As a result, user A can move the virtual keyboard 3 with the fingers performing the second gesture.

画像データ生成部255が、位置変更部260が実行する仮想キーボード3の移動に応じて、MRグラス1に、仮想キーボード3をスクロール表示させる場合、ユーザAに、仮想キーボード3の移動をスクロール表示によって知らせることができる。 When the image data generation unit 255 causes the MR glasses 1 to scroll the virtual keyboard 3 in response to the movement of the virtual keyboard 3 executed by the position change unit 260, the movement of the virtual keyboard 3 can be notified to user A by the scrolling display.

B4:第4変形例
第1実施形態および第1変形例から第3変形例において、画像データ生成部255は、MRグラス1に、複数の仮想キー31の中で目標位置M1に最も近い仮想キーを拡大表示させてもよい。
B4: Fourth Modification In the first embodiment and the first to third modifications, the image data generation unit 255 may cause the MR glasses 1 to enlarge and display the virtual key that is closest to the target position M1 among the multiple virtual keys 31.

図16は、複数の仮想キー31の中で目標位置M1に最も近い仮想キーを拡大表示する一例を示す図である。図16では、仮想キー31Hが、目標位置M1に最も近い仮想キーである。 Figure 16 shows an example of enlarging and displaying the virtual key 31 that is closest to the target position M1 among multiple virtual keys 31. In Figure 16, virtual key 31H is the virtual key that is closest to the target position M1.

例えば、画像データ生成部255は、最新の仮想空間データJ5を参照することによって、複数の仮想キー31の中で目標位置M1に最も近い仮想キーを、近接仮想キーとして決定する。画像データ生成部255は、仮想空間K2を仮想カメラN1にて撮像することによって得られる撮像画像データを生成する。画像データ生成部255は、撮像画像データを編集することによって、近接仮想キーのみを拡大表示した画像を表す画像データH1を生成する。画像データ生成部255は、当該画像データH1を通信装置23からMRグラス1に送信することによって、MRグラス1に、近接仮想キーを拡大表示させる。MRグラス1は、当該画像データH1に基づいて、近接仮想キーを拡大表示する。画像データ生成部255は、第2表示制御部の一例である。MRグラス1は、表示装置の一例である。 For example, the image data generation unit 255 references the latest virtual space data J5 to determine, as the nearby virtual key, the virtual key closest to the target position M1 among the multiple virtual keys 31. The image data generation unit 255 generates captured image data obtained by capturing an image of the virtual space K2 with the virtual camera N1. The image data generation unit 255 edits the captured image data to generate image data H1 representing an image in which only the nearby virtual key is enlarged. The image data generation unit 255 transmits the image data H1 from the communication device 23 to the MR glasses 1, causing the MR glasses 1 to enlarge and display the nearby virtual key. The MR glasses 1 enlarge and display the nearby virtual key based on the image data H1. The image data generation unit 255 is an example of a second display control unit. The MR glasses 1 are an example of a display device.

第4変形例によれば、画像データ生成部255は、MRグラス1に、複数の仮想キー31の中で目標位置M1に最も近い仮想キーを拡大表示させる。目標位置M1に最も近い仮想キーは、操作対象の仮想キー31である可能性が高い。このため、操作対象の仮想キー31を拡大表示することができる。よって、操作対象の仮想キー31を拡大表示しない構成に比べて、ユーザAに操作対象の仮想キー31を認識させ易くできる。 According to the fourth modification, the image data generation unit 255 causes the MR glasses 1 to enlarge and display the virtual key 31 that is closest to the target position M1 among the multiple virtual keys 31. The virtual key closest to the target position M1 is likely to be the virtual key 31 to be operated. Therefore, the virtual key 31 to be operated can be enlarged and displayed. This makes it easier for user A to recognize the virtual key 31 to be operated compared to a configuration in which the virtual key 31 to be operated is not enlarged and displayed.

B5:第5変形例
第1実施形態および第1変形例から第4変形例において、ジェスチャー検出部256は、手データJ1とは異なるデータに基づいて、第2ジェスチャーを検出してもよい。
B5: Fifth Modification In the first embodiment and the first to fourth modifications, the gesture detection unit 256 may detect the second gesture based on data different from the hand data J1.

MRグラス1の操作ボタン15が、ユーザAの左手の指での操作を受け付けるためにMRグラス1の胴部94に位置するとする。さらに、第2ジェスチャーが、操作ボタン15を押すというジェスチャーであるとする。この場合、ジェスチャー検出部256は、包括データG1に含まれる操作データF1に基づいて、第2ジェスチャーを検出する。 Let us assume that the operation button 15 of the MR glasses 1 is located on the body 94 of the MR glasses 1 to accept operation with the fingers of user A's left hand. Furthermore, let us assume that the second gesture is a gesture of pressing the operation button 15. In this case, the gesture detection unit 256 detects the second gesture based on the operation data F1 included in the comprehensive data G1.

第5変形例によれば、手データJ1を用いることなく、第2ジェスチャーを検出できる。 According to the fifth variant, the second gesture can be detected without using hand data J1.

B6:第6変形例
第1実施形態および第1変形例から第5変形例において、指先検出部252は、指先に装着された位置検出装置の出力に基づいて、指先位置を検出してもよい。
B6: Sixth Modification In the first embodiment and the first to fifth modifications, the fingertip detection unit 252 may detect the fingertip position based on the output of a position detection device attached to the fingertip.

第6変形例によれば、手データJ1を用いることなく、指先位置を検出できる。 According to the sixth variant, the fingertip positions can be detected without using hand data J1.

B7:第7変形例
携帯機器2又は2Aの処理装置25によって実現される各要素は、MRグラス1の処理装置18によって実現されてもよい。この場合、MRグラス1は、情報処理装置の一例である。
B7: Seventh Modification Each element realized by the processing device 25 of the mobile device 2 or 2A may be realized by the processing device 18 of the MR glasses 1. In this case, the MR glasses 1 are an example of an information processing device.

第7変形例によれば、携帯機器2を省略できる。 According to the seventh variant, the mobile device 2 can be omitted.

C:その他
(1)図4、図5又は図15に例示された各機能は、ハードウェア及びソフトウェアの任意の組み合わせによって実現される。各機能の実現方法は特に限定されない。各機能は、物理的又は論理的に結合した1つの装置を用いて実現されてもよいし、物理的又は論理的に分離した2つ以上の装置を直接的又は間接的に(例えば、有線、無線などを用いて)接続することによって構成される装置を用いて実現されてもよい。各機能は、上記1つの装置又は上記複数の装置にソフトウェアを組み合わせて実現されてもよい。
C: Others (1) Each function illustrated in Figure 4, Figure 5, or Figure 15 is realized by any combination of hardware and software. There are no particular limitations on how each function is realized. Each function may be realized using a single device that is physically or logically coupled, or may be realized using a device that is configured by connecting two or more physically or logically separated devices directly or indirectly (for example, using wires, wirelessly, etc.). Each function may be realized by combining software with the single device or the multiple devices.

(2)本明細書において、「装置」という用語は、回路、デバイス又はユニット等の他の用語に読み替えられてもよい。 (2) In this specification, the term "apparatus" may be replaced with other terms such as circuit, device, or unit.

(3)第1実施形態及び第1変形例~第7変形例の各々においては、記憶装置17及び記憶装置24は、CD-ROM(Compact Disc ROM)などの光ディスク、ハードディスクドライブ、フレキシブルディスク、光磁気ディスク(例えば、コンパクトディスク、デジタル多用途ディスク、Blu-ray(登録商標)ディスク)、スマートカード、フラッシュメモリー(例えば、カード、スティック、キードライブ)、フロッピー(登録商標)ディスク、磁気ストリップなどの少なくとも1つによって構成されてもよい。また、プログラムは、電気通信回線を介してネットワークから送信されてもよい。 (3) In each of the first embodiment and the first to seventh modifications, the storage device 17 and the storage device 24 may be configured with at least one of an optical disk such as a CD-ROM (Compact Disc ROM), a hard disk drive, a flexible disk, a magneto-optical disk (e.g., a compact disk, a digital versatile disk, a Blu-ray (registered trademark) disk), a smart card, a flash memory (e.g., a card, a stick, a key drive), a floppy (registered trademark) disk, a magnetic strip, etc. The program may also be transmitted from a network via a telecommunications line.

(4)第1実施形態及び第1変形例~第7変形例の各々は、LTE(Long Term Evolution)、LTE-A(LTA-Advanced)、SUPER 3G、IMT-Advanced、4G(4th generation mobile communication system)、5G(5th generation mobile communication system)、6th generation mobile communication system(6G)、xth generation mobile communication system(xG)(xは、例えば整数又は小数)、FRA(Future Radio Access)、NR(new Radio)、New radio access(NX)、Future generation radio access(FX)、W-CDMA(登録商標)、GSM(登録商標)、CDMA2000、UMB(Ultra Mobile Broadband)、IEEE 802.11(Wi-Fi(登録商標))、IEEE 802.16(WiMAX(登録商標))、IEEE 802.20、UWB(Ultra-WideBand)、Bluetooth(登録商標)、その他の適切なシステムを利用するシステム及びこれらに基づいて拡張、修正、作成、規定された次世代システムの少なくとも一つに適用されてもよい。また、複数のシステムが組み合わされて(例えば、LTE及びLTE-Aの少なくとも一方と5Gとの組み合わせ等)適用されてもよい。 (4) The first embodiment and the first to seventh variants each include LTE (Long Term Evolution), LTE-A (LTE-Advanced), SUPER 3G, IMT-Advanced, 4G (4th generation mobile communication system), 5G (5th generation mobile communication system), 6th generation mobile communication system (6G), xth generation mobile communication system (xG) (where x is, for example, an integer or a decimal point), FRA (Future Radio Access), NR (new Radio), New radio access (NX), Future generation radio access (FX), W-CDMA (registered trademark), GSM (registered trademark), CDMA2000, UMB (Ultra Mobile Broadband), IEEE 802.11 (Wi-Fi (registered trademark)), IEEE 802.16 (WiMAX (registered trademark)), IEEE The present invention may be applied to at least one of systems that use 802.20, UWB (Ultra-Wide Band), Bluetooth (registered trademark), or other appropriate systems, and next-generation systems that are extended, modified, created, or defined based on these. It may also be applied to a combination of multiple systems (for example, a combination of at least one of LTE and LTE-A with 5G).

(5)第1実施形態及び第1変形例~第7変形例の各々において例示した処理手順、シーケンス、又はフローチャート等は、矛盾のない限り、順序を入れ替えてもよい。例えば、本明細書において説明した方法については、例示的な順序において様々なステップの要素を提示しており、提示した特定の順序に限定されない。 (5) The order of the process procedures, sequences, flowcharts, etc. illustrated in the first embodiment and each of the first through seventh modifications may be changed as long as there is no contradiction. For example, the methods described herein present various step elements in an exemplary order and are not limited to the specific order presented.

(6)第1実施形態及び第1変形例~第7変形例の各々において、入出力された情報等は特定の場所(例えば、メモリー)に保存されてもよいし、管理テーブルを用いて管理されてもよい。入出力される情報等は、上書き、更新、又は追記され得る。出力された情報等は削除されてもよい。入力された情報等は他の装置へ送信されてもよい。 (6) In each of the first embodiment and the first to seventh modifications, input and output information may be stored in a specific location (e.g., memory) or may be managed using a management table. Input and output information may be overwritten, updated, or added to. Output information may be deleted. Input information may be sent to another device.

(7)第1実施形態及び第1変形例~第7変形例の各々において、判断は、1ビットによって表される値(0か1か)に基づいて行われてもよいし、真偽値(Boolean:true又はfalse)に基づいて行われてもよいし、数値の比較(例えば、所定の値との比較)に基づいて行われてもよい。 (7) In each of the first embodiment and the first to seventh modifications, the determination may be based on a value represented by one bit (0 or 1), a Boolean value (true or false), or a comparison of a numerical value (e.g., a comparison with a predetermined value).

(8)第1実施形態及び第1変形例~第7変形例の各々において例示したプログラムは、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード又はハードウェア記述言語と呼ばれるか、他の名称によって呼ばれるかを問わず、命令、命令セット、コード、コードセグメント、プログラムコード、サブプログラム、ソフトウェアモジュール、アプリケーション、ソフトウェアアプリケーション、ソフトウェアパッケージ、ルーチン、サブルーチン、オブジェクト、実行可能ファイル、実行スレッド、手順又は機能等を意味するよう広く解釈されるべきである。また、ソフトウェア、又は命令などは、伝送媒体を介して送受信されてもよい。例えば、ソフトウェアが、有線技術(同軸ケーブル、光ファイバケーブル、ツイストペア及びデジタル加入者回線(DSL)など)及び無線技術(赤外線、マイクロ波など)の少なくとも一方を使用してウェブサイト、サーバ、又は他のリモートソースから送信される場合、これらの有線技術及び無線技術の少なくとも一方は、伝送媒体の定義内に含まれる。 (8) The programs exemplified in the first embodiment and each of the first to seventh variations should be broadly construed to mean instructions, instruction sets, code, code segments, program code, subprograms, software modules, applications, software applications, software packages, routines, subroutines, objects, executable files, execution threads, procedures, or functions, regardless of whether they are called software, firmware, middleware, microcode, hardware description language, or by other names. Furthermore, software, instructions, etc. may be transmitted and received via a transmission medium. For example, if software is transmitted from a website, server, or other remote source using at least one of wired technology (such as coaxial cable, fiber optic cable, twisted pair, and digital subscriber line (DSL)) and wireless technology (such as infrared and microwave), at least one of these wired and wireless technologies is included within the definition of a transmission medium.

(9)第1実施形態及び第1変形例~第7変形例の各々において説明したデータなどは、様々な異なる技術のいずれかを使用して表されてもよい。例えば、上記の説明全体に渡って言及され得るデータ、情報などは、電圧、電流、電磁波、磁界、磁性粒子、光場、光子、又はこれらの任意の組み合わせにて表されてもよい。なお、本明細書において説明した用語及び本明細書の理解に必要な用語は、同一の又は類似する意味を有する用語と置き換えられてもよい。 (9) The data and other information described in the first embodiment and each of the first to seventh variations may be represented using any of a variety of different technologies. For example, data, information, and other information referred to throughout the above description may be represented by voltage, current, electromagnetic waves, magnetic fields, magnetic particles, optical fields, photons, or any combination thereof. Note that terms described in this specification and terms necessary for understanding this specification may be replaced with terms having the same or similar meanings.

(10)第1実施形態及び第1変形例~第7変形例の各々において、「システム」及び「ネットワーク」という用語は、互換的に使用される。 (10) In the first embodiment and the first to seventh variations, the terms "system" and "network" are used interchangeably.

(11)第1実施形態及び第1変形例~第7変形例の各々において、MRグラス1、携帯機器2及び携帯機器2Aの少なくとも一方は、移動局でもよい。移動局は、当業者によって、加入者局、モバイルユニット、加入者ユニット、ワイヤレスユニット、リモートユニット、モバイルデバイス、ワイヤレスデバイス、ワイヤレス通信デバイス、リモートデバイス、モバイル加入者局、アクセス端末、モバイル端末、ワイヤレス端末、リモート端末、ハンドセット、ユーザエージェント、モバイルクライアント、クライアント、又はいくつかの他の適切な用語を用いて称される場合もある。 (11) In each of the first embodiment and the first to seventh variations, at least one of the MR glasses 1, the mobile device 2, and the mobile device 2A may be a mobile station. A mobile station may also be referred to by those skilled in the art as a subscriber station, mobile unit, subscriber unit, wireless unit, remote unit, mobile device, wireless device, wireless communication device, remote device, mobile subscriber station, access terminal, mobile terminal, wireless terminal, remote terminal, handset, user agent, mobile client, client, or some other appropriate term.

(12)移動局は、送信装置、受信装置又は通信装置などと呼ばれてもよい。移動局は、移動体に搭載されたデバイス、又は移動体自体などであってもよい。移動体は、移動可能な物体を意味する。移動体の移動速度は任意である。移動体は、停止可能である。移動体は、例えば、車両、輸送車両、自動車、自動二輪車、自転車、コネクテッドカー、ショベルカー、ブルドーザー、ホイールローダー、ダンプトラック、フォークリフト、列車、バス、リヤカー、人力車、船舶(ship and other watercraft)、飛行機、ロケット、人工衛星、ドローン(登録商標)、マルチコプター、クアッドコプター、気球、及びこれらに搭載される物を含み、またこれらに限らない。移動体は、運行指令に基づいて自律走行する移動体であってもよい。移動体は、乗り物(例えば、車、飛行機など)であってもよいし、無人で動く移動体(例えば、ドローン、自動運転車など)であってもよし、ロボット(有人型又は無人型)であってもよい。移動局は、必ずしも通信動作時に移動しない装置も含む。例えば、移動局は、センサなどのIoT(Internet of Things)機器であってもよい。 (12) A mobile station may be referred to as a transmitting device, a receiving device, a communication device, etc. A mobile station may be a device mounted on a mobile object, or the mobile object itself. A mobile object refers to an object that can move. A mobile object can move at any speed. A mobile object can be stopped. Examples of mobile objects include, but are not limited to, vehicles, transport vehicles, automobiles, motorcycles, bicycles, connected cars, excavators, bulldozers, wheel loaders, dump trucks, forklifts, trains, buses, handcars, rickshaws, ships and other watercraft, airplanes, rockets, satellites, drones (registered trademark), multicopters, quadcopters, balloons, and objects mounted thereon. A mobile object may be an autonomous mobile object that moves based on an operation command. A mobile object may be a vehicle (e.g., a car, an airplane, etc.), an unmanned mobile object (e.g., a drone, an autonomous vehicle, etc.), or a robot (manned or unmanned). A mobile station also includes devices that do not necessarily move during communication operations. For example, the mobile station may be an IoT (Internet of Things) device such as a sensor.

(13)第1実施形態及び第1変形例~第7変形例の各々において、「決定(determining)」という用語は、多種多様な動作を包含する場合がある。「決定」は、例えば、判定(judging)、計算(calculating)、算出(computing)、処理(processing)、導出(deriving)、調査(investigating)、探索(looking up、search、inquiry)(例えば、テーブル、データベース又は別のデータ構造での探索)、確認(ascertaining)した事を「決定」したとみなす事などを含み得る。また、「決定」は、受信(receiving)(例えば、情報を受信すること)、送信(transmitting)(例えば、情報を送信すること)、入力(input)、出力(output)、アクセス(accessing)(例えば、メモリー中のデータにアクセスすること)した事を「判断」「決定」したとみなす事などを含み得る。また、「決定」は、解決(resolving)、選択(selecting)、選定(choosing)、確立(establishing)、比較(comparing)などした事を「決定」したとみなす事を含み得る。つまり、「決定」は、何らかの動作を「決定」したとみなす事を含み得る。また、「決定」は、「想定する(assuming)」、「期待する(expecting)」、「みなす(considering)」などで読み替えられてもよい。 (13) In each of the first embodiment and the first to seventh variations, the term "determining" may encompass a wide variety of actions. "Determining" may include, for example, judging, calculating, computing, processing, deriving, investigating, looking up, searching, inquiring (e.g., searching a table, database, or other data structure), and regarding ascertaining as having been "determined." Furthermore, "determining" may include regarding receiving (e.g., receiving information), transmitting (e.g., sending information), input, output, or accessing (e.g., accessing data in memory) as having been "judged" or "determined." Furthermore, "decision" can include the act of considering something such as resolving, selecting, choosing, establishing, or comparing to be "decided." In other words, "decision" can include the act of considering some kind of action to be "decided." "Decision" can also be interpreted as "assuming," "expecting," or "considering," among others.

(14)第1実施形態及び第1変形例~第7変形例の各々において、「接続された(connected)」という用語、又はこれのあらゆる変形は、2又はそれ以上の要素間の直接的又は間接的なあらゆる接続又は結合を意味し、互いに「接続」又は「結合」された2つの要素間に1又はそれ以上の中間要素が存在することを含むことができる。要素間の結合又は接続は、物理的なものであっても、論理的なものであっても、或いはこれらの組み合わせであってもよい。例えば、「接続」は「アクセス」で読み替えられてもよい。本開示で使用する場合、2つの要素は、1又はそれ以上の電線、ケーブル及びプリント電気接続の少なくとも一つを用いて、並びにいくつかの非限定的かつ非包括的な例として、無線周波数領域、マイクロ波領域及び光(可視及び不可視の両方)領域の波長を有する電磁エネルギーなどを用いて、互いに「接続」又は「結合」されると考えることができる。 (14) In each of the first embodiment and the first to seventh variations, the term "connected," or any variation thereof, means any direct or indirect connection or coupling between two or more elements, and may include the presence of one or more intermediate elements between two elements that are "connected" or "coupled" to each other. The coupling or connection between elements may be physical, logical, or a combination thereof. For example, "connected" may be read as "access." As used in this disclosure, two elements may be considered to be "connected" or "coupled" to each other using at least one of one or more electric wires, cables, and printed electrical connections, as well as electromagnetic energy having wavelengths in the radio frequency range, microwave range, and optical (both visible and invisible) range, as some non-limiting and non-exhaustive examples.

(15)第1実施形態及び第1変形例~第7変形例の各々において、「に基づいて」という記載は、別段に明記されていない限り、「のみに基づいて」を意味しない。言い換えれば、「に基づいて」という記載は、「のみに基づいて」と「に少なくとも基づいて」の両方を意味する。 (15) In each of the first embodiment and the first to seventh variations, the phrase "based on" does not mean "based only on," unless otherwise specified. In other words, the phrase "based on" means both "based only on" and "based at least on."

(16)本明細書において使用する「第1」及び「第2」などの呼称を使用した要素へのいかなる参照も、それらの要素の量又は順序を全般的に限定しない。これらの呼称は、2つ以上の要素間を区別する便利な方法として本明細書において使用され得る。したがって、第1及び第2の要素への参照は、2つの要素のみが採用され得ること又は何らかの形において第1要素が第2要素に先行しなければならないことを意味しない。 (16) As used herein, any reference to elements using designations such as "first" and "second" does not generally limit the quantity or order of those elements. These designations may be used herein as a convenient method of distinguishing between two or more elements. Thus, a reference to a first and a second element does not imply that only two elements may be employed or that the first element must precede the second element in some way.

(17)第1実施形態及び第1変形例~第7変形例の各々において「含む(include)」、「含んでいる(including)」及びそれらの変形が、本明細書あるいは特許請求の範囲において使用されている場合、これら用語は、用語「備える(comprising)」と同様に、包括的であることが意図される。さらに、本明細書あるいは特許請求の範囲において使用されている用語「又は(or)」は、排他的論理和ではないことが意図される。 (17) When the terms "include," "including," and variations thereof are used in the first embodiment and the first through seventh variations in this specification or claims, these terms are intended to be inclusive, similar to the term "comprising." Furthermore, the term "or" used in this specification or claims is not intended to mean an exclusive logical OR.

(18)本願の全体において、例えば、英語におけるa、an及びtheのように、翻訳によって冠詞が追加された場合、本開示は、これらの冠詞の後に続く名詞が複数形であることを含んでもよい。 (18) Throughout this application, where articles are added by translation, such as a, an, and the in English, the disclosure may include the plural form of the noun following these articles.

(19)本発明が本明細書中に説明した実施形態に限定されないことは当業者にとって明白である。本発明は、特許請求の範囲の記載に基づいて定まる本発明の趣旨及び範囲を逸脱することなく修正及び変更態様として実施できる。したがって、本明細書の記載は、例示的な説明を目的とし、本発明に対して何ら制限的な意味を有さない。また、本明細書に例示した態様から選択された複数の態様を組み合わせてもよい。 (19) It will be apparent to those skilled in the art that the present invention is not limited to the embodiments described herein. The present invention can be implemented in modified and altered forms without departing from the spirit and scope of the present invention as defined by the claims. Therefore, the descriptions in this specification are for illustrative purposes only and do not imply any limitations on the present invention. Furthermore, multiple embodiments selected from the embodiments exemplified in this specification may be combined.

D:上述の形態又は変形例から把握される態様
上述の形態又は変形例の少なくとも1つから以下の態様が把握される。
D: Aspects Obtained from the Above-described Embodiments or Modifications The following aspects can be obtained from at least one of the above-described embodiments or modifications.

D1:第1態様
第1態様に係る情報処理装置は、仮想キー設定部と、ジェスチャー検出部と、指先検出部と、仮想キー制御部と、を含む。仮想キー設定部は、第1仮想キーを仮想空間に位置させる。ジェスチャー検出部は、少なくとも1つの指によって行われるジェスチャーを検出する。指先検出部は、前記少なくとも1つの指とは異なる第1指の指先位置を検出する。仮想キー制御部は、前記第1仮想キーが前記仮想空間に位置する状況において前記ジェスチャー検出部が前記ジェスチャーを検出した場合、前記指先検出部が検出した前記第1指の指先位置に対応する前記仮想空間上の目標位置に前記第1仮想キーを移動する。
D1: First Aspect An information processing device according to a first aspect includes a virtual key setting unit, a gesture detection unit, a fingertip detection unit, and a virtual key control unit. The virtual key setting unit positions a first virtual key in a virtual space. The gesture detection unit detects a gesture made by at least one finger. The fingertip detection unit detects the fingertip position of a first finger different from the at least one finger. When the gesture detection unit detects the gesture when the first virtual key is located in the virtual space, the virtual key control unit moves the first virtual key to a target position in the virtual space that corresponds to the fingertip position of the first finger detected by the fingertip detection unit.

この態様によれば、仮想キーが正しい位置とは異なる位置に設定されることを低減することができる。 This aspect reduces the chance of the virtual key being set in a position other than the correct one.

D2:第2態様
第1態様の例(第2態様)において、前記第1仮想キーは、仮想キーボードが有する複数の仮想キーのいずれかである。前記仮想キー設定部は、前記仮想キーボードを前記仮想空間に位置させることによって前記第1仮想キーを前記仮想空間に位置させる。前記仮想キー制御部は、前記仮想キーボードが前記仮想空間に位置する状況において前記ジェスチャー検出部が前記ジェスチャーを検出した場合、前記第1仮想キーを前記目標位置に移動する。この態様によれば、仮想キーボードに含まれる仮想キーを目標位置に移動できる。
D2: Second Aspect In the example of the first aspect (second aspect), the first virtual key is one of a plurality of virtual keys included in a virtual keyboard. The virtual key setting unit positions the first virtual key in the virtual space by positioning the virtual keyboard in the virtual space. When the gesture detection unit detects the gesture while the virtual keyboard is positioned in the virtual space, the virtual key control unit moves the first virtual key to the target position. According to this aspect, it is possible to move a virtual key included in the virtual keyboard to a target position.

D3:第3態様
第2態様の例(第3態様)において、前記仮想キー制御部は、前記仮想キーボードが前記仮想空間に位置する状況において前記ジェスチャー検出部が前記ジェスチャーを検出した場合、前記複数の仮想キーのうち前記第1仮想キーとは異なる仮想キーを移動せずに、前記第1仮想キーを前記目標位置に移動する。この態様によれば、例えば、ユーザが第1仮想キーのみの操作を希望する場合、移動する必要のない仮想キーを移動することを避けられる。よって、移動する必要のない仮想キーを移動する処理を低減できる。
D3: Third Aspect In the example of the second aspect (third aspect), when the gesture detection unit detects the gesture while the virtual keyboard is located in the virtual space, the virtual key control unit moves the first virtual key to the target position without moving any virtual keys other than the first virtual key among the plurality of virtual keys. According to this aspect, for example, when a user desires to operate only the first virtual key, moving virtual keys that do not need to be moved can be avoided. Therefore, the process of moving virtual keys that do not need to be moved can be reduced.

D4:第4態様
第2態様の例(第4態様)において、前記仮想キー制御部は、前記仮想キーボードが前記仮想空間に位置する状況において前記ジェスチャー検出部が前記ジェスチャーを検出した場合、前記仮想キーボードを移動することによって前記第1仮想キーを前記目標位置に移動する。この態様によれば、ジェスチャーに応じて仮想キーボードの全体を移動できる。
D4: Fourth Aspect In the example of the second aspect (fourth aspect), when the gesture detection unit detects the gesture in a situation where the virtual keyboard is located in the virtual space, the virtual key control unit moves the first virtual key to the target position by moving the virtual keyboard. According to this aspect, the entire virtual keyboard can be moved in response to the gesture.

D5:第5態様
第2態様から第4態様のいずれかの例(第5態様)において、前記仮想キー制御部は、前記仮想キーボードが前記仮想空間に位置する状況において前記ジェスチャー検出部が前記ジェスチャーを検出した場合、前記複数の仮想キーの中で前記目標位置に最も近い仮想キーを、前記第1仮想キーとして、前記目標位置に移動する。この態様によれば、ユーザは、第1指を操作対象の仮想キーに近づけた状態でジェスチャーを行うことによって、操作対象の仮想キーを第1指によって操作しやすい位置に移動できる。
D5: Fifth Aspect In any one of the second to fourth aspects (fifth aspect), when the gesture detection unit detects the gesture in a situation where the virtual keyboard is located in the virtual space, the virtual key control unit moves, to the target position, a virtual key among the plurality of virtual keys that is closest to the target position as the first virtual key. According to this aspect, by performing a gesture with a first finger close to a virtual key to be operated, the user can move the virtual key to a position that is easy to operate with the first finger.

D6:第6態様
第2態様から第5態様のいずれかの例(第6態様)において、前記第1指を有する第1手とは異なる第2手の動きを検出する動き検出部と、前記動き検出部によって検出された前記第2手の動きに基づいて、前記仮想キーボードの位置を変更する位置変更部と、をさらに含む。この態様によれば、第2手によって仮想キーボードを移動できる。このため、第2手によって仮想キーボードを移動できない構成に比べて、操作対象の仮想キーを操作するために必要な第1手の移動距離を短くできる。
D6: Sixth Aspect In any of the examples (sixth aspect) of the second to fifth aspects, the device further includes a movement detection unit that detects the movement of a second hand different from the first hand having the first finger, and a position change unit that changes the position of the virtual keyboard based on the movement of the second hand detected by the movement detection unit. According to this aspect, the virtual keyboard can be moved by the second hand. Therefore, the movement distance of the first hand required to operate a virtual key to be operated can be shortened compared to a configuration in which the virtual keyboard cannot be moved by the second hand.

D7:第7態様
第6態様の例(第7態様)において、前記位置変更部が実行する前記仮想キーボードの位置の変更に応じて、表示装置に、前記仮想キーボードをスクロール表示させる第1表示制御部を、さらに含む。この態様によれば、ユーザに、仮想キーボードの移動をスクロール表示によって知らせることができる。
D7: Seventh Aspect In the example of the sixth aspect (seventh aspect), the device further includes a first display control unit that causes the display device to scroll the virtual keyboard in response to a change in the position of the virtual keyboard executed by the position change unit. According to this aspect, the user can be notified of the movement of the virtual keyboard by the scrolling display.

D8:第8態様
第6態様又は第7態様の例(第8態様)において、前記第2手は、前記少なくとも1つの指を有する手である。この態様によれば、ユーザに、ジェスチャーを行う指を有する第2手を、仮想キーボードの移動に関する手と認識させ、かつ、第2手とは異なる第1手を、仮想キーを操作する手と認識させることができる。よって、ユーザは、仮想キーボードの移動に関する手と、仮想キーを操作する手を、混同し難くなる。
D8: Eighth Aspect In the example of the sixth or seventh aspect (eighth aspect), the second hand is a hand having at least one finger. According to this aspect, the user can recognize the second hand having the finger making the gesture as the hand related to moving the virtual keyboard, and can recognize the first hand, which is different from the second hand, as the hand operating the virtual keys. Therefore, the user is less likely to confuse the hand related to moving the virtual keyboard with the hand operating the virtual keys.

D9:第9態様
第8態様の例(第9態様)において、前記動き検出部は、前記第2手の動きとして、前記少なくとも1つの指の動きを検出する。この態様によれば、ユーザは、ジェスチャーを行う指によって仮想キーボードを移動できる。
D9: Ninth Aspect In the example of the eighth aspect (ninth aspect), the movement detection unit detects the movement of the at least one finger as the movement of the second hand. According to this aspect, the user can move the virtual keyboard with the finger making the gesture.

D10:第10態様
第2態様から第9態様のいずれかの例(第10態様)において、表示装置に、前記複数の仮想キーの中で前記目標位置に最も近い仮想キーを拡大表示させる第2表示制御部を、さらに含む。目標位置に最も近い仮想キーは、操作対象の仮想キーである可能性が高い。このため、この態様によれば、操作対象の仮想キーを拡大表示することができる。よって、操作対象の仮想キーを拡大表示しない構成に比べて、ユーザに操作対象の仮想キーを認識させ易くできる。
D10: Tenth Aspect In any one of the second to ninth aspects (tenth aspect), the display device further includes a second display control unit that causes the display device to enlarge and display a virtual key among the plurality of virtual keys that is closest to the target position. The virtual key that is closest to the target position is likely to be the virtual key to be operated. Therefore, according to this aspect, the virtual key to be operated can be enlarged and displayed. Therefore, compared to a configuration in which the virtual key to be operated is not enlarged and displayed, the user can more easily recognize the virtual key to be operated.

1…MRグラス、2…携帯機器、2A…携帯機器、3…仮想キーボード、4…画像、11L…カメラ、11R…カメラ、12…表示装置、13…加速度センサ、14…ジャイロセンサ、15…操作ボタン、16…通信装置、17…記憶装置、18…処理装置、19…バス、21…入力装置、22…表示装置、23…通信装置、24…記憶装置、25…処理装置、26…バス、31…仮想キー、91…テンプル、93…ブリッジ、94…胴部、95…胴部、96L…レンズ、96R…レンズ、100…情報処理システム、181…取得部、182…動作制御部、251…手データ生成部、252…指先検出部、253…座標変換部、254…仮想キー設定部、255…画像データ生成部、256…ジェスチャー検出部、257…仮想キー制御部、258…操作検出部、259…動き検出部、260…位置変更部。 1...MR glasses, 2...portable device, 2A...portable device, 3...virtual keyboard, 4...image, 11L...camera, 11R...camera, 12...display device, 13...acceleration sensor, 14...gyro sensor, 15...operation button, 16...communication device, 17...storage device, 18...processing device, 19...bus, 21...input device, 22...display device, 23...communication device, 24...storage device, 25...processing device, 26...bus, 31...virtual key, 91...temp 93...bridge, 94...torso, 95...torso, 96L...lens, 96R...lens, 100...information processing system, 181...acquisition unit, 182...motion control unit, 251...hand data generation unit, 252...fingertip detection unit, 253...coordinate conversion unit, 254...virtual key setting unit, 255...image data generation unit, 256...gesture detection unit, 257...virtual key control unit, 258...operation detection unit, 259...motion detection unit, 260...position change unit.

Claims (9)

第1仮想キーを仮想空間に位置させる仮想キー設定部と、
少なくとも1つの指によって行われるジェスチャーを検出するジェスチャー検出部と、
前記少なくとも1つの指とは異なる第1指の指先位置を検出する指先検出部と、
前記第1仮想キーが前記仮想空間に位置する状況において前記ジェスチャー検出部が前記ジェスチャーを検出した場合、前記指先検出部が検出した前記第1指の指先位置に対応する前記仮想空間上の目標位置に前記第1仮想キーを移動する仮想キー制御部と、
を含み、
前記第1仮想キーは、仮想キーボードが有する複数の仮想キーのいずれかであり、
前記仮想キー設定部は、前記仮想キーボードを前記仮想空間に位置させることによって前記第1仮想キーを前記仮想空間に位置させ、
前記仮想キー制御部は、前記仮想キーボードが前記仮想空間に位置する状況において前記ジェスチャー検出部が前記ジェスチャーを検出した場合、前記複数の仮想キーのうち前記第1仮想キーとは異なる仮想キーを移動せずに、前記第1仮想キーを前記目標位置に移動する、
情報処理装置。
a virtual key setting unit for positioning a first virtual key in a virtual space;
a gesture detection unit that detects a gesture made by at least one finger;
a fingertip detection unit that detects a fingertip position of a first finger different from the at least one finger;
a virtual key control unit that moves the first virtual key to a target position in the virtual space that corresponds to the fingertip position of the first finger detected by the fingertip detection unit when the gesture detection unit detects the gesture in a situation where the first virtual key is located in the virtual space;
Including,
the first virtual key is one of a plurality of virtual keys included in a virtual keyboard;
the virtual key setting unit positions the first virtual key in the virtual space by positioning the virtual keyboard in the virtual space;
When the gesture detection unit detects the gesture in a situation where the virtual keyboard is located in the virtual space, the virtual key control unit moves the first virtual key to the target position without moving any virtual key different from the first virtual key among the plurality of virtual keys.
Information processing device.
第1仮想キーを仮想空間に位置させる仮想キー設定部と、
少なくとも1つの指によって行われるジェスチャーを検出するジェスチャー検出部と、
前記少なくとも1つの指とは異なる第1指の指先位置を検出する指先検出部と、
前記第1仮想キーが前記仮想空間に位置する状況において前記ジェスチャー検出部が前記ジェスチャーを検出した場合、前記指先検出部が検出した前記第1指の指先位置に対応する前記仮想空間上の目標位置に前記第1仮想キーを移動する仮想キー制御部と、
を含み、
前記第1仮想キーは、仮想キーボードが有する複数の仮想キーのいずれかであり、
前記仮想キー設定部は、前記仮想キーボードを前記仮想空間に位置させることによって前記第1仮想キーを前記仮想空間に位置させ、
前記仮想キー制御部は、前記仮想キーボードが前記仮想空間に位置する状況において前記ジェスチャー検出部が前記ジェスチャーを検出した場合、前記複数の仮想キーの中で前記目標位置に最も近い仮想キーを、前記第1仮想キーとして、前記目標位置に移動する、
情報処理装置。
a virtual key setting unit for positioning a first virtual key in a virtual space;
a gesture detection unit that detects a gesture made by at least one finger;
a fingertip detection unit that detects a fingertip position of a first finger different from the at least one finger;
a virtual key control unit that moves the first virtual key to a target position in the virtual space that corresponds to the fingertip position of the first finger detected by the fingertip detection unit when the gesture detection unit detects the gesture in a situation where the first virtual key is located in the virtual space;
Including,
the first virtual key is one of a plurality of virtual keys included in a virtual keyboard;
the virtual key setting unit positions the first virtual key in the virtual space by positioning the virtual keyboard in the virtual space;
When the gesture detection unit detects the gesture in a situation where the virtual keyboard is located in the virtual space, the virtual key control unit moves a virtual key among the plurality of virtual keys that is closest to the target position to the target position as a first virtual key.
Information processing device.
前記仮想キー制御部は、前記仮想キーボードが前記仮想空間に位置する状況において前記ジェスチャー検出部が前記ジェスチャーを検出した場合、前記仮想キーボードを移動することによって前記第1仮想キーを前記目標位置に移動する、
請求項2に記載の情報処理装置。
the virtual key control unit moves the virtual keyboard to move the first virtual key to the target position when the gesture detection unit detects the gesture in a situation where the virtual keyboard is located in the virtual space;
The information processing device according to claim 2 .
前記仮想キー制御部は、前記仮想キーボードが前記仮想空間に位置する状況において前記ジェスチャー検出部が前記ジェスチャーを検出した場合、前記複数の仮想キーの中で前記目標位置に最も近い仮想キーを、前記第1仮想キーとして、前記目標位置に移動する、
請求項に記載の情報処理装置。
When the gesture detection unit detects the gesture in a situation where the virtual keyboard is located in the virtual space, the virtual key control unit moves a virtual key among the plurality of virtual keys that is closest to the target position to the target position as a first virtual key.
The information processing device according to claim 1 .
前記第1指を有する第1手とは異なる第2手の動きを検出する動き検出部と、
前記動き検出部によって検出された前記第2手の動きに基づいて、前記仮想キーボードの位置を変更する位置変更部と、をさらに含む、
請求項からのいずれか1項に記載の情報処理装置。
a movement detection unit that detects a movement of a second hand different from the first hand having the first finger;
a position change unit that changes a position of the virtual keyboard based on the movement of the second hand detected by the movement detection unit.
The information processing device according to claim 1 .
前記位置変更部が実行する前記仮想キーボードの位置の変更に応じて、表示装置に、前記仮想キーボードをスクロール表示させる第1表示制御部を、さらに含む、
請求項に記載の情報処理装置。
a first display control unit that causes a display device to scroll and display the virtual keyboard in response to a change in the position of the virtual keyboard executed by the position change unit;
The information processing device according to claim 5 .
前記第2手は、前記少なくとも1つの指を有する手である、
請求項又はに記載の情報処理装置。
the second hand is a hand having the at least one finger;
7. The information processing device according to claim 5 or 6 .
前記動き検出部は、前記第2手の動きとして、前記少なくとも1つの指の動きを検出する、
請求項に記載の情報処理装置。
the movement detection unit detects the movement of the at least one finger as the movement of the second hand;
The information processing device according to claim 7 .
表示装置に、前記複数の仮想キーの中で前記目標位置に最も近い仮想キーを拡大表示させる第2表示制御部を、さらに含む、
請求項からのいずれか1項に記載の情報処理装置。
a second display control unit that causes the display device to enlarge and display a virtual key that is closest to the target position among the plurality of virtual keys;
The information processing device according to claim 1 .
JP2022004962A 2022-01-17 2022-01-17 Information processing device Active JP7717628B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2022004962A JP7717628B2 (en) 2022-01-17 2022-01-17 Information processing device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2022004962A JP7717628B2 (en) 2022-01-17 2022-01-17 Information processing device

Publications (2)

Publication Number Publication Date
JP2023104144A JP2023104144A (en) 2023-07-28
JP7717628B2 true JP7717628B2 (en) 2025-08-04

Family

ID=87379668

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022004962A Active JP7717628B2 (en) 2022-01-17 2022-01-17 Information processing device

Country Status (1)

Country Link
JP (1) JP7717628B2 (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010238208A (en) 2009-03-31 2010-10-21 Brother Ind Ltd Input device
JP2017111797A (en) 2015-10-19 2017-06-22 アップル インコーポレイテッド Devices, methods, and graphical user interfaces for keyboard interface functionalities
JP2017120608A (en) 2015-12-25 2017-07-06 株式会社日本デジタル研究所 Input interface control system, method, and program
JP2019207574A (en) 2018-05-29 2019-12-05 富士ゼロックス株式会社 Information processing device, information processing system, and program
WO2020039703A1 (en) 2018-08-21 2020-02-27 株式会社Nttドコモ Input device

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012094008A (en) * 2010-10-27 2012-05-17 Kyocera Corp Portable electronic equipment
JP6620480B2 (en) * 2015-09-15 2019-12-18 オムロン株式会社 Character input method, character input program, and information processing apparatus

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010238208A (en) 2009-03-31 2010-10-21 Brother Ind Ltd Input device
JP2017111797A (en) 2015-10-19 2017-06-22 アップル インコーポレイテッド Devices, methods, and graphical user interfaces for keyboard interface functionalities
JP2017120608A (en) 2015-12-25 2017-07-06 株式会社日本デジタル研究所 Input interface control system, method, and program
JP2019207574A (en) 2018-05-29 2019-12-05 富士ゼロックス株式会社 Information processing device, information processing system, and program
WO2020039703A1 (en) 2018-08-21 2020-02-27 株式会社Nttドコモ Input device

Also Published As

Publication number Publication date
JP2023104144A (en) 2023-07-28

Similar Documents

Publication Publication Date Title
KR102743763B1 (en) Electronic device for providing augmented reality user interface and operating method thereof
US20220083145A1 (en) Information display apparatus using line of sight and gestures
US9830071B1 (en) Text-entry for a computing device
US8203502B1 (en) Wearable heads-up display with integrated finger-tracking input sensor
US20180314326A1 (en) Virtual space position designation method, system for executing the method and non-transitory computer readable medium
JP2013506218A (en) Method for performing visual search based on movement or posture of terminal, terminal and computer-readable recording medium
KR20250053920A (en) One-handed zoom gestures for AR/VR devices
KR20240167075A (en) Gesture-based application invocation
CN115715405A (en) Hand posture estimation method, mobile device, head-mounted display and system
KR20240044327A (en) Control device, control method, and computer-readable storage medium
JP7717628B2 (en) Information processing device
US12314470B2 (en) Information processing system used in cross reality
US12307008B2 (en) Display control device
CN119759200A (en) Information processing device, information processing method, computer program product and storage medium
JP7287600B2 (en) Information processing equipment
JP2022150657A (en) Control device, display system, and program
JP7661531B2 (en) Wearable Devices
JP7583948B2 (en) Display Control Device
JP7735426B2 (en) Information processing device
JP2024075800A (en) Display Control Device
JP7564371B2 (en) Virtual space providing device
JP7829680B2 (en) display device
JP7754729B2 (en) Information processing device
JP7777040B2 (en) Control device and control system
US20250157090A1 (en) Display control apparatus

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20240826

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20250513

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20250527

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20250711

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20250722

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20250723

R150 Certificate of patent or registration of utility model

Ref document number: 7717628

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150