JPWO2016185845A1 - インタフェース制御システム、インタフェース制御装置、インタフェース制御方法、及びプログラム - Google Patents

インタフェース制御システム、インタフェース制御装置、インタフェース制御方法、及びプログラム Download PDF

Info

Publication number
JPWO2016185845A1
JPWO2016185845A1 JP2017519077A JP2017519077A JPWO2016185845A1 JP WO2016185845 A1 JPWO2016185845 A1 JP WO2016185845A1 JP 2017519077 A JP2017519077 A JP 2017519077A JP 2017519077 A JP2017519077 A JP 2017519077A JP WO2016185845 A1 JPWO2016185845 A1 JP WO2016185845A1
Authority
JP
Japan
Prior art keywords
marker
user
image
interface control
display
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2017519077A
Other languages
English (en)
Other versions
JP6288372B2 (ja
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.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Publication of JPWO2016185845A1 publication Critical patent/JPWO2016185845A1/ja
Application granted granted Critical
Publication of JP6288372B2 publication Critical patent/JP6288372B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/041Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
    • G06F3/042Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means by opto-electronic means
    • G06F3/0425Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means by opto-electronic means using a single imaging device like a video camera for tracking the absolute position of a single or a plurality of objects with respect to an imaged reference surface, e.g. video camera imaging a display or a projection screen, a table or a wall surface, on which a computer generated image is displayed or projected
    • G06F3/0426Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means by opto-electronic means using a single imaging device like a video camera for tracking the absolute position of a single or a plurality of objects with respect to an imaged reference surface, e.g. video camera imaging a display or a projection screen, a table or a wall surface, on which a computer generated image is displayed or projected tracking fingers with respect to a virtual keyboard projected or printed on the surface
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/01Head-up displays
    • G02B27/017Head mounted
    • G02B27/0172Head mounted characterised by optical features
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/16Constructional details or arrangements
    • G06F1/1613Constructional details or arrangements for portable computers
    • G06F1/163Wearable computers, e.g. on a belt
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • G06F3/014Hand-worn input/output arrangements, e.g. data gloves
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/017Gesture based interaction, e.g. based on a set of recognized hand gestures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/0304Detection arrangements using opto-electronic means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/0346Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of the device orientation or free movement in a 3D space, e.g. 3D mice, 6-DOF [six degrees of freedom] pointers using gyroscopes, accelerometers or tilt-sensors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • G06F3/04886Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures by partitioning the display area of the touch-screen or the surface of the digitising tablet into independently controllable areas, e.g. virtual keyboards or menus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/24Aligning, centring, orientation detection or correction of the image
    • G06V10/245Aligning, centring, orientation detection or correction of the image by locating a pattern; Special marks for positioning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/10Terrestrial scenes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/20Scenes; Scene-specific elements in augmented reality scenes
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/01Head-up displays
    • G02B27/0101Head-up displays characterised by optical features
    • G02B2027/0138Head-up displays characterised by optical features comprising image capture systems, e.g. camera
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/01Head-up displays
    • G02B27/0101Head-up displays characterised by optical features
    • G02B2027/014Head-up displays characterised by optical features comprising information/image processing systems
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/01Head-up displays
    • G02B27/017Head mounted
    • G02B2027/0178Eyeglass type

Abstract

インタフェース制御システム(2000)は第1マーカ検出部(2020)及び表示制御部(2040)を有する。第1マーカ検出部(2020)は、ユーザに身につけられたカメラ(20)から得られる撮像画像に基づいて、ユーザの身体に取り付けられた第1マーカ(50)を検出する。表示制御部(2040)は、第1マーカ検出部(2020)によって検出された第1マーカに基づいて、ユーザによって装着されるヘッドマウントディスプレイ(30)の表示画面(32)に操作画像を表示する。表示制御部(2040)は、ユーザの目から見て、操作画像がユーザの腕部に重畳されて見えるように、操作画像を表示する。

Description

本発明は、インタフェース制御システム、インタフェース制御装置、インタフェース制御方法、及びプログラムに関する。
入力インタフェースの1つとして、ヘッドマウントディスプレイを装着したユーザの視界に画像を表示し、その画像に対してユーザが操作を加えることで、ユーザが入力を行える種々のインタフェースが開発されている。
特許文献1は、ヘッドマウントディスプレイによってユーザの視界に表示される画像を、ユーザが持つモバイル端末を用いて操作する技術を開示している。具体的には、ユーザの視界に表示される画像のうち、ユーザが操作したい画像にモバイル端末のタッチパネルが重畳されるようにモバイル端末を持ち、そのタッチパネルに対して操作を加えることで、ヘッドマウントディスプレイに表示された画像を操作する。
特許文献2は、ヘッドマウントディスプレイに表示される仮想キーボードを用いて入力を行う技術を開示している。また、特許文献2は、上記仮想キーボードを実空間上の物に固定することで、ヘッドマウントディスプレイの装着者が頭部を動かしても上記仮想キーボードの位置が変化しないようにする技術を開示している。
特許文献3は、ヘッドマウントディスプレイと連携するタブレット端末を用いて、ヘッドマウントディスプレイを通して見える実空間上の物体に対し、仮想的にアノテーションを付す技術を開示している。
特許文献4は、ユーザの手のひらのジェスチャ(例えば手のひらを開くジェスチャ)に応じて、その手のひらにメニュー画面を表示したり、そのメニュー画面を切り替えたりする技術を開示している。
国際公開第2014/188798号 特表2015−504616号公報 国際公開第2014/162825号 米国特許出願公開第2015/0016777号明細書
ヘッドマウントディスプレイの表示画面に表示される操作用の画像(以下、操作画像)は、ユーザにとって扱いやすい位置や姿勢で表示されることが好ましい。この点、特許文献1の場合、操作画像はユーザの視界の正面に固定されているため、ユーザが他の物を見たいときにユーザの視界を遮ってしまう。特許文献2の場合、机などの実物体に操作画像が固定されるため、ユーザが視線方向を変えて別の場所を見ながら操作することができない。特許文献3も特許文献2と同様に、画像(アノテーション)を実物体に対して固定的に割り当てるものである。さらに、特許文献4は、ユーザが手を移動させた場合に、それに合わせて操作画像の位置を変更する技術は開示していない。
本発明は、上記課題に鑑みてなされたものである。本発明の目的は、ヘッドマウントディスプレイを用いた入力インタフェースの利便性を向上する技術を提供することである。
本発明のインタフェース制御システムは、ユーザに身につけられたカメラから得られる画像に基づいて、前記ユーザの身体に取り付けられた第1マーカを検出する検出手段と、前記ユーザの身体に重畳されて前記ユーザに視認されるように、前記検出手段によって検出された前記第1マーカに基づいて、前記ユーザによって装着されるヘッドマウントディスプレイの表示画面上に操作画像を表示する表示制御手段と、前記ユーザによって前記操作画像が操作されたと判定する操作検出手段と、を有する。
本発明のインタフェース制御装置は、本発明のインタフェース制御システムが有する各手段を有する装置である。
本発明のインタフェース制御方法は、コンピュータによって実行されるインタフェース制御方法である。当該インタフェース制御方法は、ユーザに身につけられたカメラから得られる画像に基づいて、前記ユーザの腕部に取り付けられた第1マーカを検出する検出ステップと、前記ユーザの身体に重畳されて前記ユーザに視認されるように、前記検出ステップによって検出された前記第1マーカに基づいて、前記ユーザによって装着されるヘッドマウントディスプレイの表示画面上に操作画像を表示する表示制御ステップと、前記ユーザによって前記操作画像が操作されたと判定する操作検出ステップと、を有する。
本発明のプログラムは、本発明のインタフェース制御方法をコンピュータに実行させるプログラムである。
本発明によれば、ヘッドマウントディスプレイを用いた入力インタフェースの利便性を向上する技術が提供される。
上述した目的、およびその他の目的、特徴および利点は、以下に述べる好適な実施の形態、およびそれに付随する以下の図面によってさらに明らかになる。
実施形態1に係るインタフェース制御システムを例示するブロック図である。 第1マーカが表示されるデバイスを例示する図である。 インタフェース制御システムが利用されている様子をユーザの視界の外から見た様子を示している。 インタフェース制御システムを利用しているユーザの視界に写る様子を例示する図である。 インタフェース制御システムの利用形態の別の例を示す図である。 第2表示制御部をさらに有するインタフェース制御システムを例示するブロック図である。 インタフェース制御システムを実現する計算機のハードウエア構成を例示するブロック図である。 実施形態1のインタフェース制御システムによって実行される処理の流れを例示するフローチャートである。 第1マーカに基づいて決定される座標系を例示する図である。 座標系と操作画像の姿勢との対応関係を例示する図である。 座標系における操作画像の位置を例示する図である。 操作画像の一例を示す図である。 第1マーカと操作画像との対応関係を示す情報をテーブル形式で例示する図である。 実施形態2に係るインタフェース制御システムを例示するブロック図である。 第1マーカに関する情報をテーブル形式で例示する図である。 表示画面上に表示される第2マーカを例示する図である。 ユーザの視界において第1マーカと第2マーカとが重なった場合に操作画像が表示される様子を例示する図である。 実施形態2のインタフェース制御システムが方法1において実行する処理の流れを例示するフローチャートである。 実施形態2のインタフェース制御システムが方法2において実行する処理の流れを例示するフローチャートである。 実施形態4に係るインタフェース制御システムを例示するブロック図である。 検出対象とする指及び手の甲の一部から成る形状を例示する図である。 操作画像がタップされた場合に第1マーカが変更される様子を例示する図である。 第1マーカがユーザの左の腕部にある場合における検出領域を例示する図である。 選択ボタンを表す操作画像が操作されている様子を例示する図である。 キーボードを表す操作画像が操作されている様子を平面視で例示する図である。 操作点を用いて操作対象を特定する様子を例示する図である。 キーボードを表す操作画像の一部のキーのみが腕部に重畳される様子を例示する図である。 第1マーカの姿勢に応じた操作対象が表示される様子を例示する図である。 第1マーカの姿勢に応じた操作対象が表示される様子を例示する図である。 操作画像に対して手の画像を合成しない場合において、ユーザの視界に写る操作画像及びその操作画像を操作するユーザの手を平面視で例示する図である。 操作画像に対して手の画像を合成した場合において、ユーザの視界に写る操作画像及びその操作画像を操作するユーザの手を平面視で例示する図である。 実施形態7に係るインタフェース制御システムを例示するブロック図である。 表示画面に表示されるガイド画像を例示する第1の図である。 表示画面に表示されるガイド画像を例示する第2の図である。 操作体の色相範囲を例示する第1の図である。 操作体の色相範囲を例示する第2の図である。 ガイド画像を例示する図である。
以下、本発明の実施の形態について、図面を用いて説明する。尚、すべての図面において、同様な構成要素には同様の符号を付し、適宜説明を省略する。
[実施形態1]
図1は、実施形態1に係るインタフェース制御システム2000を例示するブロック図である。図1において、各ブロックは、ハードウエア単位の構成ではなく、機能単位の構成を表している。
インタフェース制御システム2000は第1マーカ検出部2020及び表示制御部2040を有する。第1マーカ検出部2020は、ユーザに身につけられたカメラから得られる撮像画像に基づいて、ユーザの身体に取り付けられた第1マーカを検出する。ここで、「ユーザに身につけられたカメラ」とは、ユーザの身体に直接取り付けられたカメラでもよいし、ユーザが身につけている任意の物に取り付けられたカメラでもよい。また、「第1マーカがユーザの身体に取り付けられる」とは、第1マーカがユーザの身体にある状態を全般的に含み、ユーザの身体に対して第1マーカが固定されている状態のみに限定されない。
第1マーカ50は、撮像画像において少なくともその位置が特定できる任意のマーカである。例えば第1マーカ50は、3次元の座標系の決定に利用できるマーカである。3次元の座標系の決定に利用できるマーカは、例えば AR(Augmented Reality)マーカである。ただし、3次元の座標系の決定に利用できるマーカは、参照方向によらず、或る基準点からの相互に直交する3つの方向を一定に得ることができるものであればよく、AR マーカには限定されない。
第1マーカは、ユーザの身体の任意の箇所に取り付けることができる。例えば第1マーカは、ユーザの腕部に取り付けられる。ここで、ユーザの腕部とは、そのユーザの腕だけでなく、腕及び手を含む部分である。
例えば第1マーカ50は、ユーザの腕部に取り付けられたデバイスの表示画面に表示される画像である。このデバイスは、表示画面上に画像を表示する機能を有する任意の電子機器である。なおこのデバイスは、ユーザの腕部に直接取り付けられてもよいし、服の上からユーザの腕部に取り付けられてもよい。
図2は、第1マーカ50が表示されるデバイス70を例示する図である。図2のデバイス70は、ユーザの手首に取り付けられる時計型のデバイスである。表示画面72は、デバイス70の表示画面である。図2において、表示画面72に表示されている斜線で塗られている画像が、第1マーカ50である。なお、デバイス70は時計型のデバイスには限定されない。
第1マーカ50は、予めデバイス70に記憶されている画像であってもよいし、デバイス70の外部にある記憶装置に記憶されている画像であってもよい。後者の場合、デバイス70は、表示する第1マーカ50を記憶装置から取得して表示する。
第1マーカ50は、上述のようにデバイス70に表示されるものに限定されない。また、第1マーカ50は、ユーザの腕部に直接描画されていてもよいし、ユーザの腕部にある任意の物に描画されていてもよい。後者の場合、例えば第1マーカ50は、ユーザの指に取り付けられている指輪、ユーザの手首に取り付けられているリストバンド、又はユーザが着ている服の袖などに描画される。なお、第1マーカ50は、手で描画されてもよいし、印字されてもよい。さらにマーカ50は、ユーザの身体の特定の部分であってもよい。例えばマーカ50は、ユーザの手の甲などである。
表示制御部2040は、第1マーカ検出部2020によって検出された第1マーカに基づいて、ユーザによって装着されるヘッドマウントディスプレイの表示画面32に操作画像を表示する。表示制御部2040は、ユーザの目から見て、操作画像がユーザの身体に重畳されて見えるように、操作画像を表示する。その具体的な表示方法については後述する。
操作画像は、ユーザが種々の計算機に対して入力操作を行うために操作する画像である。例えば操作画像がキーボードの画像である場合、ユーザは、このキーボードの画像に含まれるキーの画像に対して操作を加えることにより、そのキーに対応する文字等の入力を行う。
図3及び図4を用いて、本実施形態のインタフェース制御システム2000の利用形態について例示する。図3は、インタフェース制御システム2000が利用されている様子をユーザの視界の外から見た様子を示している。一方、図4は、インタフェース制御システム2000を利用しているユーザの視界に写る様子を例示する図である。
図3のヘッドマウントディスプレイ30は、グラス型のヘッドマウントディスプレイである。表示画面32は、ヘッドマウントディスプレイ30のレンズ部分に設けられている透過型のディスプレイである。カメラ20は、ユーザに身につけられたカメラである。図3において、カメラ20はヘッドマウントディスプレイ30のレンズ付近に取り付けられている。なお、後述するように、表示画面32は透過型のディスプレイに限定されない。また、カメラ20の設置位置は、ヘッドマウントディスプレイ30上に限定されない。
図3及び図4において、ユーザの手首に第1マーカ50が設けられている。インタフェース制御システム2000は、カメラ20によって生成された、第1マーカ50が写っている撮像画像に基づいて、表示画面32に操作画像60を表示する。操作画像60はキーボードの画像である。操作画像60は、ユーザから見える腕部10に重畳されるように、表示画面32に表示される。その結果、図4に示すように、ユーザの目には、腕部10に操作画像60が重畳されているように見える。ここで、表示制御部2040は、図4に示すように、表示される位置に応じて、操作画像60の形状を変形(湾曲させるなど)して表示することが好ましい。ただし、表示制御部2040は、操作画像60の形状を変形せずに表示してもよい。
ここで、デバイス70は、ヘッドマウントディスプレイ30と通信する機能を有していてもよいし、有していなくてもよい。なお、デバイス70とヘッドマウントディスプレイ30とが通信する必要のない構成にした場合、これらの間の通信のための設定(ペアリング等)が不要となり、インタフェース制御システム2000を利用するための準備の手間が少なくなるという利点がある。
インタフェース制御システム2000の利用形態は、図3及び図4で示した例に限定されない。図5は、インタフェース制御システム2000の利用形態の別の例を示す図である。図5において、第1マーカ50は、ユーザの指にはめられている指輪に付されている。そして、表示制御部2040は、ユーザの手のひらに操作画像60が重畳されて見えるように、表示画面32に操作画像60を表示している。なお、図5における指輪は、第1マーカ50を表示する機能を有する指輪型のデバイスであってもよい。
<作用・効果>
本実施形態のインタフェース制御システム2000によれば、ユーザが入力操作に利用する操作画像が、ユーザの腕部に重畳されて見えるように、ヘッドマウントディスプレイ30の表示画面32に表示される。ここで、操作画像60の表示はユーザの腕部にある第1マーカに基づいて行われるため、ユーザが腕部を動かすと、その動きに合わせて操作画像60を移動させることもできる。そのためユーザは、望む位置や姿勢で容易に操作画像60を表示させることができる。よって、本実施形態のインタフェース制御システム2000には、操作画像60の位置や姿勢が固定されている入力インタフェースと比較し、入力インタフェースの利便性が高いという利点がある。
なお、第1マーカ50が付される位置と操作画像60が重畳されるユーザの身体上の位置とは、関節をまたがない位置関係にあることが好適である。例えば図2及び図3で例示した利用形態では、第1マーカ50が手首にあり、操作画像60が腕に表示されているため、これらの位置関係は関節をまたがない位置関係である。このような位置関係にすることで、ユーザが関節を軸にして身体を動かす動作(例えば手首を曲げる動作)を行っても第1マーカ50と操作画像60の表示位置との相対的な位置関係に変化がないため、操作画像60をより正確な姿勢や位置で表示することができる。よって、ユーザの動作の自由度が高くなる。ただし、第1マーカ50が付される位置と操作画像60が重畳されるユーザの身体上の位置との関係は、関節をまたぐ位置関係であってもよい。
第1マーカ50はユーザの腕部と比較して単純な形状等で構成できるため、画像から第1マーカ50を検出する処理は、画像からユーザの腕部を検出する処理と比較して容易な処理となる。そのため、本実施形態のインタフェース制御システム2000には、短い時間及び少ない計算機資源で正確に操作画像60を表示できるという利点がある。
ユーザがジェスチャを行うことで入力を行う入力インタフェースと比較し、ユーザが操作画像60を操作することで入力を行う本実施形態のインタフェース制御システム2000には、ユーザが各種のジェスチャを覚えなくてよいという利点がある。
また、ジェスチャを用いて入力を行う入力インタフェースには、ユーザが入力操作以外の目的でジェスチャと同様に手を動かした場合に、入力が誤検出されてしまうおそれがある。一方、本実施形態のインタフェース制御システム2000では、撮像画像に第1マーカ50が写っている場合に操作画像60が表示される。よってユーザは、カメラ20の撮像範囲に第1マーカ50を含めるか否かにより、操作画像60を操作するための動作とそれ以外の動作とを容易に切り分けることができる。そのため、本実施形態のインタフェース制御システム2000には誤検出が少なくないという利点がある。
同様に、ユーザの視界に常に操作画像が表示され続ける入力インタフェースでも、ユーザが入力操作以外の目的で手を動かした場合に、入力が誤検出されてしまうおそれがある。また、ユーザの視界に常に操作画像が表示され続けると、ユーザが入力操作以外の動作を行いたい際に視界が遮られてしまう。これに対し、本実施形態のインタフェース制御システム2000には、撮像画像に第1マーカ50が写っている場合に操作画像60が表示されるため、入力の誤検出が少なく、かつ入力操作以外の操作を行いたい場合に視界が遮られることがない。そのため、本実施形態のインタフェース制御システム2000には、画像を用いた入力操作の利便性が高いという利点がある。
操作画像60の表示場所がユーザの腕部に限定されているため、撮像画像において、操作画像60を操作するユーザの手などの背景が、ユーザの腕部に限定される。そのため、操作画像の表示場所がユーザの腕部に限定されていない場合(例えばユーザが見る任意の景色に操作画像が重畳される場合)と比較し、ユーザが操作を行う手などを撮像画像から検出する処理が容易になるという利点がある。なお、ユーザによる操作の検出方法については、後述の実施形態で説明する。
第1マーカ50をデバイス70に表示する構成には、第1マーカ50をユーザの腕部に直接描画したりする方法と比較し、第1マーカ50の表示及び変更が容易に行えるという利点がある。
第1マーカ50をデバイス70に表示する構成において、デバイス70を、第1マーカ50を表示する機能以外にも種々の機能を持つデバイスとすることができる。この場合、デバイス70という1つのデバイスを様々な用途に活用できることとなる。例えば、デバイス70にインストールされる種々のアプリケーションの1つとして、インタフェース制御システム2000を利用するためのアプリケーション(第1マーカ50の表示などを行うアプリケーション)をデバイス70にインストールする。このような利用形態には、汎用のデバイスを有効活用できるという利点、及びインタフェース制御システム2000の導入が容易になるという利点がある。
以下、本実施形態のインタフェース制御システム2000について、さらに詳しく説明する。なお、以降の説明では、本実施形態及び後述の各実施形態について、第1マーカ50がデバイス70の表示画面72に表示される形態を例示する。第1マーカ50をデバイス70の表示画面72に表示する場合、インタフェース制御システム2000は、第1マーカ50の表示を制御する第2表示制御部2060をさらに有する。図6は、第2表示制御部2060をさらに有するインタフェース制御システム2000を例示するブロック図である。
ただし、以降で説明するインタフェース制御システム2000の実現方法は、デバイス70を利用する方法に限定されない。以降で説明する各構成は、その内容が矛盾しない範囲で、デバイス70を利用しない形態にも適用可能である。
<ハードウエア構成例>
実施形態1のインタフェース制御システム2000の各機能構成部は、各機能構成部を実現するハードウエア(例:ハードワイヤードされた電子回路など)で実現されてもよいし、ハードウエアとソフトウエアとの組み合わせ(例:電子回路とそれを制御するプログラムの組み合わせなど)で実現されてもよい。以下、インタフェース制御システム2000の各機能構成部がハードウエアとソフトウエアとの組み合わせで実現される場合について、さらに説明する。
図7は、インタフェース制御システム2000を実現する計算機1000のハードウエア構成を例示するブロック図である。計算機1000は、インタフェース制御システム2000の実装に用いられる種々の計算機である。計算機1000は、インタフェース制御システム2000を実装するための専用の計算機であってもよいし、様々なアプリケーションが動作する汎用の計算機であってもよい。
例えば計算機1000は、ヘッドマウントディスプレイ30である。ただし計算機1000は、ヘッドマウントディスプレイ30以外の計算機(デバイス70など)であってもよい。この場合、ヘッドマウントディスプレイ30は、計算機1000による制御に基づいて、表示画面32に操作画像60を表示する。また、インタフェース制御システム2000は、2つ以上の計算機によって実現されてもよい。例えばインタフェース制御システム2000は、ヘッドマウントディスプレイ30及びデバイス70を用いて実現される。この場合、例えば第1マーカ検出部2020及び表示制御部2040はヘッドマウントディスプレイ30に実装され、第2表示制御部2060はデバイス70に実装される。
計算機1000は、バス1020、プロセッサ1040、メモリ1060、ストレージ1080、及びインタフェース1100を有する。バス1020は、プロセッサ1040、メモリ1060、ストレージ1080、及びインタフェース1100が、相互にデータを送受信するためのデータ伝送路である。ただし、プロセッサ1040などを互いに接続する方法は、バス接続に限定されない。プロセッサ1040は、例えば CPU (Central Processing Unit) や GPU (Graphics Processing Unit) などの演算処理装置である。メモリ1060は、例えば RAM (Random Access Memory) や ROM (Read Only Memory) などのメモリである。ストレージ1080は、例えばハードディスク、SSD (Solid State Drive)、又はメモリカードなどの記憶装置である。また、ストレージ1080は、RAM や ROM 等のメモリであってもよい。
インタフェース1100は、計算機1000と外部のデバイスとを接続するためのインタフェースである。例えばインタフェース1100は、USB(Universal Serial Bus)等のバス接続のインタフェースや、ネットワークインタフェースを含む。ネットワークインタフェースは、無線回線に接続するインタフェースであってもよいし、有線回線に接続するインタフェースであってもよい。
インタフェース1100を介して接続されるデバイスは、例えばカメラ20である。ただし計算機1000は、カメラ20によって生成された撮像画像を取得できればよく、カメラ20と直接接続されている必要はない。例えばカメラ20がカメラ20の外部にある記憶装置に撮像画像を記憶する場合、計算機1000はこの記憶装置と接続されていればよい。
また、計算機1000がヘッドマウントディスプレイ30の外部に設けられている場合、計算機1000は、例えばインタフェース1100を介してヘッドマウントディスプレイ30と接続される。
ストレージ1080は、インタフェース制御システム2000の各機能を実現するためのプログラムを記憶している。具体的には、ストレージ1080は、各機能構成部を実現するプログラムモジュールを記憶している。プロセッサ1040は、これら各プログラムモジュールを実行することで、インタフェース制御システム2000の各機能構成部の機能をそれぞれ実現する。ここでプロセッサ1040は、上記各モジュールを実行する際、これらのモジュールをメモリ1060上に読み出してから実行してもよいし、メモリ1060上に読み出さずに実行してもよい。
インタフェース制御システム2000のハードウエア構成は図7に示した構成に限定されない。例えば、各プログラムモジュールはメモリ1060に格納されてもよい。この場合、インタフェース制御システム2000は、ストレージ1080を備えていなくてもよい。
<<ヘッドマウントディスプレイ30について>>
ヘッドマウントディスプレイ30は、ユーザの視界に入る表示画面32を有する任意のヘッドマウントディスプレイである。例えば表示画面32は、非透過型のディスプレイである。この場合、ヘッドマウントディスプレイ30は、ユーザの周囲(例えばユーザの顔方向)を撮像するカメラによって撮像された画像と、その他の物を表す画像とを重畳させて表示画面32に表示する。ユーザは、この表示画面32を見ることで、周囲の景色にその他の物が重畳された様子を見ることができる。そこで、インタフェース制御システム2000は、カメラによって撮像されたユーザの腕部の画像に対して操作画像60を重畳したものを表示画面32に表示する。なお、「ユーザの周囲を撮像するカメラ」は、カメラ20であってもよいし、これとは別途設けられるカメラであってもよい。
また例えば、表示画面32は、透過型のディスプレイである。この場合、ユーザは、表示画面32の先にある実物体及び表示画面32に表示される画像の両方を見ることができる。そこで例えば、インタフェース制御システム2000は、表示画面32の先にあるユーザの腕部に操作画像60が重畳されて見えるように、操作画像60を表示画面32に表示する。また例えば、インタフェース制御システム2000は、表示画面32が非透過型ディスプレイである場合と同様に、ユーザの周囲を撮像するカメラによって撮像されたユーザの腕部の画像に対して操作画像60を重畳したものを表示画面32に表示してもよい。
<<カメラ20について>>
カメラ20は撮像を行って画像を生成する任意のカメラである。カメラ20は、2次元(2D)カメラであってもよいし、3次元(3D)カメラであってもよい。
ここで、カメラ20によって生成される撮像画像を用いて、ユーザが見る操作画像60の表示位置の決定などを行うためには、カメラ20の撮像方向とユーザの顔方向との関係が予め把握できることが好適である。そのため、例えばカメラ20は、カメラ20の撮像方向とユーザの顔方向とが一致するとみなせる場所に設けられる。表示画面32が透過型のヘッドマウントディスプレイの場合、例えばこの場所は、図3で説明したヘッドマウントディスプレイ30のレンズ付近などである。また、表示画面32が非透過型のヘッドマウントディスプレイであり、表示画面32に表示する周囲の景色を撮像するカメラがカメラ20である場合、カメラの撮像方向とユーザの顔方向は一致するとみなせる。
ただし、カメラ20の設置位置は、カメラ20の撮像方向とユーザの顔方向とが一致するとは限らない場所に設置されてもよい。例えばこの場合、カメラ20は、ユーザの頭部の任意の箇所に設けられる(頭部に限定はされない)。この場合、カメラ20の撮像方向とユーザの顔方向との関係(角度のずれなど)を予めパラメタとして定義しておく。インタフェース制御システム2000は、このパラメタを利用することでカメラ20の撮像方向とユーザの顔方向との関係を把握する。このパラメタは、インタフェース制御システム2000に予め設定されてもよいし、インタフェース制御システム2000からアクセス可能な記憶装置に記憶しておいてもよい。
また例えば、カメラ20は、ユーザが首から提げているもの(社員証など)に取り付けられていてもよい。この場合、インタフェース制御システム2000は、カメラ20によって撮像されたユーザの腕部の画像に操作画像60を重畳したものを、表示画面32に表示することが好適である。
<処理の流れ>
図8は、実施形態1のインタフェース制御システム2000によって実行される処理の流れを例示するフローチャートである。第1マーカ検出部2020は、カメラ20によって撮像された撮像画像を取得する(S102)。第1マーカ検出部2020は、取得した撮像画像に第1マーカが写っているか否かを判定する(S104)。第1マーカが写っていない場合(S104:NO)、図8の処理はS104に進む。一方、第1マーカが写っている場合(S104:YES)、図8の処理はS106に進む。S106において、表示制御部2040は、第1マーカに基づき、ユーザの腕部に重畳されるように、ヘッドマウントディスプレイ30の表示画面32上に操作画像60を表示する。
<第1マーカ検出部2020が行う処理の詳細>
第1マーカ検出部2020は、カメラ20によって撮像された撮像画像を取得する(S102)。第1マーカ検出部2020は、カメラ20から直接撮像画像を取得してもよいし、カメラ20によって生成された撮像画像が記憶されている記憶装置から撮像画像を取得してもよい。
第1マーカ検出部2020は、取得した撮像画像に第1マーカ50が写っているか否かを判定する(S104)。例えば、第1マーカ検出部2020は、第1マーカ50に関する形状、サイズ、色などについての情報を予め保持しており、このような既知の情報を用いて、取得された撮像画像から第1マーカ50を検出する。ここで、画像に所定のマーカが写っているか否かを判定する技術には、例えば画像から所定のオブジェクトを検出する既知のオブジェクト検出技術などを利用することができる。この技術の詳細については省略する。
第1マーカ検出部2020が第1マーカ50を検出する処理を開始するタイミングは任意である。例えば第1マーカ検出部2020は、常時第1マーカ50を検出する処理を行う。また例えば、第1マーカ検出部2020は、ユーザから指示を受けたタイミングで上記処理を開始してもよい。例えばこの指示は、ヘッドマウントディスプレイ30に設けられたボタン等を用いて行われる。
また例えば、第1マーカ検出部2020は、撮像画像を解析することによって所定の状況を検出した場合に、第1マーカ50の検出を開始してもよい。例えばこの所定の状況は、ユーザが実世界で行っている作業に関わる状況である。例えばユーザが、作業現場でメータを読み取って数値を記録する作業を行っているとする。この場合、第1マーカ検出部2020は、撮像画像の中にメータが写っていることを検出した場合に、第1マーカ50の検出を開始する。なお、上記所定の状況を検出する処理は、常時行われていてもよいし、ユーザから指示を受けたタイミングで開始されてもよい。ここで、「どのような状況を検出した場合に第1マーカ50の検出を開始するか」という情報は、第1マーカ検出部2020に予め定められていてもよいし、第1マーカ検出部2020からアクセス可能な記憶装置に記憶されていてもよい。
同様に、カメラ20が撮像を開始するタイミングも任意である。例えばカメラ20は、常時撮像を行う。また例えば、カメラ20は、第1マーカ検出部2020が第1マーカ50を検出する処理を開始するタイミングで撮像を開始してもよい。
第1マーカ検出部2020は、第1マーカ50を検出する処理を開始した後、カメラ20によって生成される複数の撮像画像それぞれについて第1マーカ50の検出を行う。第1マーカ検出部2020は、カメラ20によって生成される全ての撮像画像について第1マーカ50の検出を行ってもよいし、一部の撮像画像について第1マーカ50の検出を行ってもよい。後者の場合、例えば第1マーカ検出部2020は、生成される撮像画像のうち、所定数の撮像画像ごとに(例えば3枚に1枚の割合で)第1マーカ50の検出を行う。
<表示制御部2040が行う処理の詳細>
表示制御部2040は、第1マーカ検出部2020によって第1マーカ50が検出された場合に(S104:YES)、第1マーカ50に基づき、ユーザの腕部に重畳されるように、ヘッドマウントディスプレイ30の表示画面32上に操作画像60を表示する(S106)。ユーザの腕部に操作画像60が重畳して見えるように操作画像60を表示するために、表示制御部2040は、検出された第1マーカ50に基づいて、操作画像60の姿勢、位置、及び大きさの少なくとも1つを決定する。以下、これらの決定方法について説明する。
<<操作画像60の姿勢を決定する方法>>
表示制御部2040は、第1マーカ50の姿勢に応じて、操作画像60の姿勢を決定する。具体的にはまず、表示制御部2040は、撮像画像に写っている第1マーカ50を用いて、第1マーカ50に対応した3次元の座標系を決定する。図9は、第1マーカ50に基づいて決定される座標系80を例示する図である。座標系80は、x 方向、y 方向、及び z 方向で定まる3次元の座標系である。なお、画像に写っているマーカの形状等に基づいて3次元の座標系を決定する技術には、例えば AR マーカを用いて3次元の座標系を決定する既知の技術などを利用できる。そのため、この技術に関する詳細な説明は省略する。
さらに表示制御部2040は、上記決定した座標系80に基づいて、操作画像60の姿勢を決定する。例えばこの決定には、予め定めておいた上記座標系80と操作画像60の姿勢との対応関係を利用する。図10は、座標系80と操作画像60の姿勢との対応関係を例示する図である。図10において、操作画像60を平面視した場合の右方向が座標系80における x 方向となっており、操作画像60を平面視した場合における下方向が座標系80における y 方向となっており、操作画像60を平面視した場合における視線方向と逆の方向が座標系80における z 方向となっている。この対応関係は、表示制御部2040に予め設定されていてもよいし、表示制御部2040からアクセス可能な記憶装置に記憶されていてもよい。なお、操作画像60が複数種類ある場合、上記対応関係は、操作画像60ごとに定めておく。
ただし表示制御部2040は、第1マーカ50を用いて操作画像60の姿勢を決定しなくてもよい。この場合、例えば表示制御部2040は、第1マーカ50によらない固定の姿勢で操作画像60を表示する。また例えば表示制御部2040は、撮像画像を画像解析することで、第1マーカ50があるユーザの腕部を表す領域を割り出し、撮像画像の二次元平面におけるその領域の姿勢(x 軸に対してその領域が成す角度など)を算出する。そして、表示制御部2040は、撮像画像の二次元平面におけるユーザの腕部の姿勢に基づいて、操作画像60の姿勢を決定する。例えば表示制御部2040は、撮像画像の二次元平面の x 軸に対して操作画像60の x 方向が成す角度を、上記 x 軸に対してユーザの腕部を表す領域が成す角度と同じにする。
<<操作画像の大きさの決定>>
表示制御部2040は、撮像画像に写っている第1マーカ50の大きさに応じて、表示画面32に表示する操作画像60の大きさを決定する。例えば予め、第1マーカ50の大きさと操作画像60の大きさとの比率を定めておく。そして、表示制御部2040は、この比率及び撮像画像に写っている第1マーカ50の大きさに基づいて、表示画面32に表示する操作画像60の大きさを決定する。上記比率は、表示制御部2040に予め設定されていてもよいし、表示制御部2040からアクセス可能な記憶装置に記憶されていてもよい。なお、操作画像60が複数種類ある場合、上記比率は、操作画像60ごとに定めておく。
ただし表示制御部2040は、第1マーカ50を用いて操作画像60の大きさを決定しなくてもよい。この場合、例えば表示制御部2040は、第1マーカ50によらない固定の大きさで操作画像60を表示する。また例えば、表示制御部2040は、撮像画像を画像解析することで、第1マーカ50があるユーザの腕部の領域を割り出し、その領域の面積に応じた大きさを操作画像60の大きさとする。例えば、表示制御部2040は、ユーザの腕部の領域に収まる範囲で最大の大きさとなるように、操作画像60の大きさを決定する。
<<操作画像60の位置の決定>>
表示制御部2040は、撮像画像に写っている第1マーカ50の位置に応じて表示画面32に表示する操作画像60の位置を決定する。例えば予め、操作画像60の位置を、上述した座標系80における位置として予め定義しておく。この座標系80における位置は、表示制御部2040に予め設定されていてもよいし、表示制御部2040からアクセス可能な記憶装置に記憶されていてもよい。
図11は、座標系80における操作画像60の位置を例示する図である。図11の例において、座標系80における操作画像60の位置は予め、(-3Mx-Ix, -Iy/2, 0) と定められている。ここで、Mx は第1マーカ50の x 方向の大きさ、Ix は操作画像60の x 方向の大きさ、Iy は操作画像60の y 方向の大きさを表す。また、操作画像60の位置は、操作画像60の左上の座標を表す。
表示制御部2040は、座標系80における位置が (-3Mx-Ix, -Iy/2, 0) となるように操作画像60を描画している。なお、操作画像60の姿勢は、図10で説明したケースと同様に、「操作画像60を平面視した場合の右方向が座標系における x 方向であり、操作画像60を平面視した場合における下方向が座標系における y 方向であり、操作画像60を平面視した場合における視線方向と逆の方向が z 方向である」と定められている。
ただし表示制御部2040は、第1マーカ50を用いて操作画像60の位置を決定しなくてもよい。この場合、例えば表示制御部2040は、撮像画像を画像解析することで、第1マーカ50があるユーザの腕部の領域を割り出し、その領域の位置に基づいて操作画像60の位置を決定する。例えば表示制御部2040は、ユーザの腕部を表す領域の重心を算出し、操作画像60の重心がユーザの腕部の重心に位置するように、操作画像60の位置を決定する。
<<<第1マーカ50がある腕部の左右と操作画像60の位置との関係>>>
操作画像60の位置は、第1マーカ50がユーザの左の腕部と右の腕部のどちらにあるかによって異なる。この点を考慮する方法は様々である。例えば、第1マーカ50が左右どちらの腕部にあるのかを、インタフェース制御システム2000に対して予め設定しておく。そして表示制御部2040は、この設定に応じた位置に操作画像60を表示する。
また例えば、表示制御部2040は、撮像画像を解析し、第1マーカ50が左右どちらの腕部にあるのかを判定してもよい。例えば表示制御部2040は、撮像画像からユーザの腕部を表す領域を検出し、この領域を、第1マーカ50を境に2つに分割し、これら2つの領域の面積や色に基づいて上記判定を行う。ここでは、第1マーカ50は、ユーザの手首から指先までの範囲にあるとする。
第1マーカ50がユーザの左の腕部にある場合、上記分割された2つの領域のうち、左にある領域の方が右にある領域よりも面積が大きくなる。一方、第1マーカ50がユーザの右の腕部にある場合、右にある領域の方が、左にある領域よりも面積が大きくなる。そこで表示制御部2040は、上記2つの領域の面積の大きさの違いに基づいて、第1マーカ50が左右どちらの腕部にあるかを判定する。
また、ユーザの腕部のうち、手の部分はほぼ全体が肌色の領域である一方で、腕の部分は一部又は全部が服で覆われていることが多く、肌色以外の領域も多いと考えられる。そこで例えば、表示制御部2040は、上記分割された2つの領域のうち、どちらの領域の方が肌色の割合が多いかを判定することで、第1マーカ50が左右どちらの腕部にあるかを判定する。具体的には、表示制御部2040は、右にある領域の方が肌色の割合が多い場合、第1マーカ50が左の腕部にあると判定し、左にある領域の方が肌色の割合が多い場合、第1マーカ50が右の腕部にあると判定する。
ただし、上述した左右両方の領域の双方において肌色の割合が多い場合、腕が服で覆われていない(例えばユーザが半袖の服を着ている)と考えられる。そこで、表示制御部2040は、上述した左右両方の領域において肌色の割合が所定値以上である場合、肌色の割合の違いではなく、その他の方法で腕部の左右を判定するようにしてもよい。この所定値は、表示制御部2040に予め設定されていてもよいし、表示制御部2040からアクセス可能な記憶部に記憶されていてもよい。
インタフェース制御システム2000には、第1マーカ50が左の腕部にある場合の操作画像60の位置と、第1マーカ50が右の腕部にある場合の操作画像60の位置の双方が予め設定されていてもよいし、片方のみが設定されていてもよい。後者の場合、設定されている方の位置から、設定されていない方の位置を算出する。この方法は、インタフェース制御システム2000に予め定めておく。例えば図11のように座標系80を定める場合、第1マーカ50が左右の腕部いずれにあっても、操作画像60の位置の y 座標と z 座標は変わらない。また、x 座標については、左の腕部にある場合には操作画像60の x 方向の大きさである 3Mx を考慮しているが、右の腕部にある場合にはこれが不要となる。また、x 座標の符号は正になる。そこで、表示制御部2040は、第1マーカ50が右の腕部にある場合の操作画像60の位置を、第1マーカ50が左の腕部にある場合の操作画像60の位置に基づいて、(3Mx, -Iy/2, 0) と算出する。
<<表示画面32への操作画像60の描画について>>
上述した操作画像60の姿勢、大きさ、及び位置は、撮像画像に写っている第1マーカ50に基づいて定まる三次元の座標系80における操作画像60の姿勢、大きさ、及び位置である。しかし実際には、表示制御部2040は、操作画像60を二次元平面である表示画面32に描画する。そこで表示制御部2040は、三次元の座標系80における操作画像60を表示画面32の二次元平面にマッピングする処理を行い、このマッピングされた操作画像60を表示画面32に表示する。これにより、表示画面32を見るユーザは、ユーザの腕部に上述した姿勢等で重畳された操作画像60を見ることができる。
ここで、カメラ20の撮像方向がユーザの視線方向と一致するとみなせば、表示画面32の二次元平面は撮像画像の二次元平面と同じである。そこで表示制御部2040は、操作画像60を撮像画像の二次元平面にマッピングすることで、操作画像60を表示画面32の二次元平面にマッピングできる。なお、三次元空間上において所定の姿勢、大きさ、及び姿勢で存在する物体を、その三次元空間との関係が定められている二次元空間にマッピングする手法には、既知の手法を利用できる。そのため、この手法に関する詳細な説明は省略する。
ただし表示制御部2040、カメラ20の撮像方向がユーザの視線方向と一致するとはみなさず、これらの方向の違いを考慮して上記マッピングを行ってもよい。この場合、表示制御部2040は、カメラ20の撮像方向とユーザの視線方向との対応関係を表すパラメタを利用して上記マッピングを行う。このパラメタは、表示制御部2040に予め設定されていてもよいし、表示制御部2040からアクセス可能な記憶装置に記憶されていてもよい。
<操作画像60の種類について>
ユーザによる入力操作に用いられる操作画像60には、様々な画像が利用できる。図12は、操作画像60の一例を示す図である。操作画像60−1はキーボードの画像である。操作画像60−2は電話型のテンキーの画像である。操作画像60−3は YES と NO の2択を選択するボタンを表す画像である。インタフェース制御システム2000が扱う操作画像60は1種類のみであってもよいし、複数種類であってもよい。
インタフェース制御システム2000が複数種類の操作画像60を扱う場合、表示制御部2040は、複数種類の操作画像60の中から、表示画面32に表示する操作画像60の種類を決定する。例えば表示制御部2040は、ユーザによる操作に応じて操作画像60の種類を決定する。ここで、上記ユーザによる操作は様々である。例えばユーザは、ヘッドマウントディスプレイ30に設けられたボタン等を操作することで、操作画像60の種類の指定又は変更を行う。また例えば、ユーザは、現在表示画面32に表示されている操作画像60に所定の操作を加えることで、操作画像60の種類を変更してもよい。この所定の操作は、例えば操作画像60の含まれる特定のキーを押す操作である。
さらに、インタフェース制御システム2000が複数種類の第1マーカ50を扱う場合、撮像画像に写っている第1マーカ50の種類と、表示画面32に表示する操作画像60の種類とを、予め対応付けておいてもよい。この場合、表示制御部2040は、撮像画像に写っている第1マーカ50の種類を判定することで、操作画像60の種類を決定する。この場合、例えば第1マーカ50の種類は、マーカの形状、模様、及び色などで定められる。例えば第1マーカ50の色に応じて操作画像60の種類を定めておく場合、表示制御部2040は、撮像画像に写っている色に応じた操作画像60を表示画面32に表示する。
また、第1マーカ50から ID(Identifier)を算出できる場合、この ID と操作画像60の種類とを予め対応付けておいてもよい。ID を算出できる第1マーカ50は、例えば QR コード(登録商標)である。この場合、表示制御部2040は、撮像画像に写っている第1マーカ50を解析して ID を算出し、この ID に対応付けられている操作画像60を表示画面32に表示する。
図13は、第1マーカ50と操作画像60との対応関係を示す情報をテーブル形式で例示する図である。図13のテーブルを、対応テーブル200と表記する。第1マーカ202は、第1マーカ50の種類や ID などを示す。操作画像204は、第1マーカ202に示される第1マーカ50と対応する操作画像60を示す。
なお、第1マーカ50と操作画像60との対応関係を示す情報(対応テーブル200など)は、表示制御部2040に予め設定されていてもよいし、表示制御部2040からアクセス可能な記憶装置に記憶されていてもよい。
<第1マーカ50を変更する方法について>
前述したように、第1マーカ50は複数種類あってもよい。この場合、第2表示制御部2060は、表示画面72に表示する第1マーカ50を変更する機能を有する。例えば第2表示制御部2060は、デバイス70に対する操作に応じて、第1マーカ50を変更する。デバイス70の操作は、例えばデバイス70に設けられた物理ボタンに対する操作である。また、表示画面72がタッチパネルである場合、デバイス70の操作は、表示画面72に対するタップ操作やスワイプ操作であってもよい。
また例えば、第2表示制御部2060は、ヘッドマウントディスプレイ30に対する操作に応じて第1マーカ50を変更する。この場合、デバイス70は、ヘッドマウントディスプレイ30と通信を行うことで、第1マーカ50を変更する指示を取得する。ヘッドマウントディスプレイ30から取得する情報は、表示する第1マーカ50を特定できる任意の情報である。例えばこの情報は、表示する第1マーカ50を特定する ID や、第1マーカ50の画像などである。
<ユーザによる操作の検出について>
インタフェース制御システム2000は、ユーザによって操作画像60が操作されたことを検出することで、ユーザによる入力操作を受け付ける。例えばユーザが、キーボードを表す操作画像60における T のキーに対して操作を加えた場合、インタフェース制御システム2000は、T のキーに対して操作が加えられたことを検出する。ここで、ユーザによる操作画像60の操作をインタフェース制御システム2000が検出する方法は任意である。この方法の具体的な例については、後述の実施形態で説明する。
<操作画像60に対する操作によって制御される対象について>
ユーザは、操作画像60に対して操作を行うことで種々の計算機を制御する。例えばユーザは、操作画像60に対して操作を行うことで、ヘッドマウントディスプレイ30で動作しているアプリケーションや OS(Operating System)など(以下、アプリケーション等)を操作する。また例えば、ユーザは、操作画像60を操作することで、デバイス70で動作しているアプリケーション等を制御する。また例えば、ユーザは、操作画像60に対して操作を行うことで、PC やスマートフォンなどで動作するアプリケーション等を操作してもよい。さらに、ユーザは、操作画像60に対して操作を行うことで、工場等の施設に設置された各種の機械を制御してもよい。なお、制御対象の計算機は、インタフェース制御システム2000を実現する計算機1000(図7参照)であってもよいし、その他の計算機であってもよい。後者の場合、制御対象となる各種計算機は、計算機1000と通信可能に接続されている。例えばこれらの各種計算機は、入出力インタフェース1100を介して計算機1000と接続されている。
<操作画像60を用いたデバイス70の操作について>
上述したように、ユーザは、操作画像60を操作することで、デバイス70で動作しているアプリケーション等を制御してもよい。この場合、ユーザは、操作画像60に対して操作を行うことで、表示画面72に表示される第1マーカ50を変更してもよい。
ここで、操作画像60を表示する領域(ユーザの腕部など)は、デバイス70の操作領域(表示画面72やハードウエアボタンなどを配置する領域)と比較して広い。そのため、操作画像60を用いてデバイス70を操作できるようにすることで、ユーザがより広い操作領域でデバイス70を操作できるようになる。よって、ユーザにとってデバイス70の操作性が向上する。
[実施形態2]
図14は、実施形態2に係るインタフェース制御システム2000を例示するブロック図である。図14において、各ブロックは、ハードウエア単位の構成ではなく、機能単位の構成を表している。以下で説明する点を除き、実施形態2のインタフェース制御システム2000は、実施形態1のインタフェース制御システム2000と同様の機能を有する。
実施形態2のインタフェース制御システム2000は第1マーカ決定部2080を有する。第1マーカ決定部2080はデバイス70の表示画面72に表示する第1マーカ50の形状、模様、又は色彩(以下、形状等)を決定する。そのために、第1マーカ決定部2080は、カメラ20から得られる画像内の背景の特徴を抽出する。そして、第1マーカ決定部2080は、抽出した背景の特徴に基づいて、表示画面72に表示する第1マーカ50の形状等を決定する。なお、第1マーカ50の形状は第1マーカ50の外形を意味し、第1マーカ50の模様は第1マーカ50の内部の模様を意味する。
前述したように、第1マーカ検出部2020は、カメラ20から得られる撮像画像に写っている第1マーカ50を検出する。ここで、撮像画像の背景の特徴と第1マーカ50の特徴が類似していると、これらの特徴が類似していない場合と比較し、撮像画像に写っている第1マーカ50の検出等が難しくなる。例えば、撮像画像に写っている第1マーカ50を第1マーカ検出部2020が検出できなかったり、第1マーカ50の姿勢等を表示制御部2040が正しく算出できなかったりする。その結果、操作画像60が表示されるべきタイミングで表示されなかったり、操作画像60が不自然な位置や姿勢で表示されたりする可能性がある。このような状況を避けるために第1マーカ検出部2020や表示制御部2040がより詳細に撮像画像を解析するようにするという方法もとりうるが、第1マーカ50の検出に多くの計算時間や計算機資源が必要となる。
そこで本実施形態の第1マーカ決定部2080は、カメラ20から得られる撮像画像の背景の特徴を解析し、この特徴に応じて第1マーカ50の形状等を決定する。これにより、撮像画像に写っている第1マーカ50の検出等が行いやすくするという利点がある。
以下、第1マーカ決定部2080の動作の詳細について説明する。
<第1マーカの色彩を決定する方法>
第1マーカ決定部2080は、撮像画像内の背景の色彩の特徴を算出する。そして、第1マーカ決定部2080は、撮像画像内の背景の色彩の特徴に応じて、第1マーカ50の色彩を決定する。例えば上記背景の色彩の特徴は、背景の色彩分布によって定まる。第1マーカ決定部2080は、背景の色彩分布を用いて、背景の色彩に利用されていない色彩領域を割り出す。そして、第1マーカ決定部2080は、この利用されていない色彩領域に含まれる色を用いて、第1マーカ50の色彩を決定する。
<第1マーカ50の形状及び模様を決定する方法>
第1マーカ決定部2080は、撮像画像内の背景の模様の特徴を算出する。そして、第1マーカ決定部2080は、この模様の特徴に応じて、第1マーカ50の形状又は模様を決定する。例えば、撮像画像内の背景の模様が直線を多く含む場合、第1マーカ決定部2080は、第1マーカ50の形状を曲線で構成される形状(円形など)にするか、又は第1マーカ50の模様を、曲線を多く含む模様(水玉模様など)にする。一方、撮像画像内の背景の模様が曲線を多く含む場合、第1マーカ決定部2080は、第1マーカ50の形状を直線で構成される形状(四角形など)にするか、又は第1マーカ50の模様を、直線を多く含む模様(格子模様など)にする。
<特徴の算出に用いる画像領域について>
撮像画像のうち、背景の特徴の算出に利用する領域は、撮像画像全体であってもよいし、撮像画像の一部の領域であってもよい。後者の場合、例えば利用する領域は、第1マーカ50の表示場所(例えばデバイス70の表示画面72)を含む所定の範囲である。第1マーカ50の表示場所を含む所定の範囲は、例えば第1マーカ50の表示場所の中心を中心とし、かつ所定長の半径を持つ円で表される領域である。この所定長は、第1マーカ50の表示場所の大きさに依存しない絶対値で定義されていてもよいし、第1マーカ50の表示場所の大きさとの相対値で定義されていてもよい。第1マーカ50の表示場所や上記所定長を示す情報は、第1マーカ決定部2080に予め設定されていてもよいし、第1マーカ決定部2080からアクセス可能な記憶装置に記憶されていてもよい。なお、上記所定の範囲の形状は円に限定されない。
<決定した第1マーカ50の特徴を利用する方法>
第1マーカ決定部2080は、決定した特徴に基づいて、第1マーカ50の生成又は取得を行う。前者の場合、所定の色彩、形状、及び模様を持つ画像を生成する技術には、既知の技術を利用できる。そのため、第1マーカ50の生成方法の詳細な説明は省略する。第2表示制御部2060は、第1マーカ決定部2080によって生成された第1マーカ50を表示画面72に表示する。
決定した特徴に基づいて第1マーカ50を取得する場合、第1マーカ決定部2080は、複数用意されている第1マーカ50の中から、決定した特徴に合致する第1マーカ50を選択する。この場合、各第1マーカ50は予め、その第1マーカ50の色彩、形状、及び模様の特徴を示す情報と対応付けて記憶装置に記憶されている。図15は、第1マーカ50に関する情報をテーブル形式で例示する図である。図15のテーブルを、第1マーカ情報300と呼ぶ。第1マーカ情報300は、ID302、色彩の特徴304、形状の特徴306、及び模様の特徴308を有する。ここでID302は、第1マーカ50の ID を表す。第1マーカ決定部2080は、第1マーカ情報300に示される第1マーカ50の中から、撮像画像の背景の特徴に基づいて決定した特徴を持つ第1マーカ50を選択する。第2表示制御部2060は、第1マーカ決定部2080によって選択された第1マーカ50を表示画面72に表示する。
[実施形態3]
実施形態3に係るインタフェース制御システム2000は、例えば実施形態1と同様に図1で表される。以下で説明する点を除き、実施形態3のインタフェース制御システム2000は、実施形態1又は2のインタフェース制御システム2000と同様である。
実施形態3の表示制御部2040は、ヘッドマウントディスプレイ30の表示画面32上に第2マーカを表示する。そして、表示制御部2040は、ユーザの視界において第1マーカと第2マーカとが所定の位置関係にある場合に、操作画像の表示を行う。
図16は、表示画面32上に表示される第2マーカ90を例示する図である。ここで、第2マーカ90の形状等は任意である。また第2マーカ90は、第1マーカ50と同じ形状等のマーカであってもよいし、異なる形状等のマーカであってもよい。
上記所定の位置関係としては、任意の位置関係を定めることができる。例えばこの位置関係は、「第1マーカ50と第2マーカ90とが重なって見える」という位置関係や「第1マーカ50と第2マーカ90との間の距離が所定距離以下である」という位置関係である。図17は、ユーザの視界において第1マーカ50と第2マーカ90とが重なった場合に操作画像60が表示される様子を例示する図である。図17(a)では、第1マーカ50と第2マーカ90とは重なっていないため、操作画像60が表示されていない。一方、図17(b)では、ユーザが腕部を移動させた結果、第1マーカ50と第2マーカ90とが重なったため、操作画像60が表示されている。
以下、本実施形態のインタフェース制御システム2000が行う処理を具体的に説明する。
<具体的な方法1>
表示制御部2040は、撮像画像における第1マーカ50の位置、表示画面32における第2マーカ90の位置、及び撮像画像上の座標と表示画面32上の座標との対応関係(表示画面32上の座標を撮像画像上の座標に変換する変換式など)に基づいて、ユーザの視界における第1マーカ50と第2マーカ90との位置関係を把握することができる。例えば表示制御部2040は、撮像画像上の座標と表示画面32上の座標との対応関係を用いて、表示画面32上における第2マーカ90の位置を、撮像画像上の位置に変換する(第2マーカ90を撮像画像上にマッピングする)。そして、表示制御部2040は、撮像画像における第1マーカ50の位置と第2マーカ90の位置とを用いて、これらの位置関係が所定の位置関係にあるか否かを判定する。
なお、撮像画像上の座標と表示画面32上の座標との対応関係は、カメラ20に関する各種のパラメタ(画角や焦点距離)や、表示画面32とカメラ20との位置関係などに基づいて定まる。この対応関係は、これらのパラメタなどを用いて表示制御部2040によって算出されてもよいし、設定値として予め定められていてもよい。
例えば表示制御部2040は、撮像画像上にマッピングした第2マーカ90が第1マーカ50と重なっている場合、操作画像60を表示する。一方、これらが重なっていない場合、表示制御部2040は操作画像60を表示しない。また例えば、表示制御部2040は、撮像画像上にマッピングした第2マーカ90と第1マーカ50との距離を算出する。そして、表示制御部2040は、この距離が所定値以下の場合に操作画像60を表示し、この距離が所定値より大きい場合に操作画像60を表示しない。この所定距離は予め表示制御部2040に設定されていてもよいし、表示制御部2040からアクセス可能な記憶装置に記憶されていてもよい。
図18は、実施形態2のインタフェース制御システム2000が上記方法1において実行する処理の流れを例示するフローチャートである。図18における各ステップのうち、図8に同符号のステップがあるものは、その同符号のステップと同様の処理を表す。
撮像画像から第1マーカ50が検出された後(S104:YES)、表示制御部2040は、表示画面32上の第2マーカ90の位置を撮像画像上の位置に変換する(S202)。表示制御部2040は、撮像画像における第1マーカ50の位置と第2マーカ90の位置が所定の位置関係にあるか否かを判定する(S204)。これらが所定の位置関係にある場合(S204:YES)、図18の処理はS106に進む。一方、これらが所定の位置関係にない場合(S204:NO)、図18の処理はS102に進む。
なお、表示制御部2040は、第1マーカ50の位置を表示画面32の座標空間上の位置に変換することで、第1マーカ50の位置と第2マーカ90の位置との位置関係を把握してもよい。
<具体的な方法2>
インタフェース制御システム2000は、第1マーカ検出部2020が撮像画像から第1マーカ50を検出する範囲を、第2マーカ90を基準とする所定範囲に限定することで、第1マーカ50と第2マーカ90とが所定の位置関係にある場合にのみ操作画像60が表示されるようにしてもよい。具体的にはまず第1マーカ検出部2020は、撮像画像に第1マーカ50が写っているか否かの検出を行う前に、第2マーカ90の位置を撮像画像上の位置に変換する。そして、第1マーカ検出部2020は、撮像画像に含まれる領域のうち、第2マーカ90の位置を基準とする所定範囲内のみを対象として、第1マーカ50の検出を行う。これにより、第2マーカ90と第1マーカ50とが所定の位置関係にある場合のみ、第1マーカ50が検出される。この場合、表示制御部2040は、第1マーカ検出部2020によって第1マーカ50が検出された場合に操作画像60を表示する。
図19は、実施形態2のインタフェース制御システム2000が上記方法2において実行する処理の流れを例示するフローチャートである。図19における各ステップのうち、図18に同符号のステップがあるものは、その同符号のステップと同様の処理を表す。撮像画像が取得された後(S102)、表示制御部2040は、表示画面32上の第2マーカ90の位置を撮像画像上の位置に変換する(S202)。第1マーカ検出部2020は、撮像画像における第2マーカ90の位置を基準とした所定範囲内において、第1マーカ50の検出を行う(S302)。この所定範囲内で第1マーカ50が検出された場合(S302:YES)、図19の処理はS106に進む。一方、この所定範囲内で第1マーカ50が検出されなかった場合(S302:NO)、図19の処理はS102に進む。
<変形例>
表示制御部2040は、複数の第2マーカ90を表示画面32のそれぞれ異なる位置に表示してもよい。この場合、表示制御部2040は、第1マーカ50と或る第2マーカ90とが所定の位置関係になった場合に、その第2マーカ90に応じた操作画像60を表示してもよい。例えば表示制御部2040は、第1マーカ50と第2マーカ90−1とが所定の位置関係になった場合にキーボードを表す操作画像60を表示し、第1マーカ50と第2マーカ90−2とが所定の位置関係になった場合にテンキーを表す操作画像60を表示する。これにより、ユーザは、容易な方法で複数種類の操作画像60を利用することができる。なお、第2マーカ90と操作画像60との対応関係は、予め表示制御部2040に設定されていてもよいし、表示制御部2040からアクセス可能な記憶装置に記憶されていてもよい。またこの場合、第2マーカ90に、その第2マーカ90に対応する操作画像60の名称や略称などを含めることで、ユーザが第2マーカ90と操作画像60との対応関係を容易に把握できるようになる。
<ハードウエア構成例>
例えば実施形態2のインタフェース制御システム2000のハードウエア構成は、実施形態1のインタフェース制御システム2000と同様に、図7で表される。本実施形態において、前述したストレージ1080に記憶される各プログラムモジュールには、本実施形態で説明する各機能を実現するプログラムがさらに含まれる。
<作用・効果>
本実施形態のインタフェース制御システム2000によれば、表示画面32に第2マーカ90が表示され、ユーザの視界において第1マーカ50と第2マーカ90とが所定の位置関係になった場合に、操作画像60が表示される。よって、第1マーカ50がユーザの視界に入った場合に常に操作画像60が表示される形態と比較し、第1マーカ50が視界に入る状態においても、ユーザが操作画像60の操作以外の作業を容易に行えるようになる。
[実施形態4]
図20は、実施形態4に係るインタフェース制御システム2000を例示するブロック図である。図20において、各ブロックは、ハードウエア単位の構成ではなく、機能単位の構成を表している。以下で説明する点を除き、実施形態4のインタフェース制御システム2000は、実施形態1から3いずれかのインタフェース制御システム2000と同様である。
実施形態4のインタフェース制御システム2000は操作検出部2100及び操作対象特定部2120を有する。操作検出部2100は、ユーザが操作画像に対して操作を行ったことを検出する。操作対象特定部2120は、操作画像に操作対象が複数含まれる場合に、「ユーザがどの操作対象を操作したのか」を特定する。操作対象を複数含む操作画像は、例えばキーボードの画像である。この場合、操作対象は、各キーを表す画像である。
<操作検出部2100が行う処理の詳細>
<<検出方法1>>
操作検出部2100は、ユーザの視界において操作画像に重畳する位置に操作体が配置されている場合に、操作画像に対して操作が行われたことを検出する。ここで、操作体とは、操作画像の操作に用いられるもの全般を意味する。操作体は、ユーザの身体の一部(例えば指など)であってもよいし、ユーザの身体以外のもの(例えばペンなど)であってもよい。
操作検出部2100は、カメラ20から得られる撮像画像を解析し、ユーザの視界において操作画像60が重畳されている領域に操作体が写っているか否かを判定する。そして、操作検出部2100は、この領域に操作体が写っている場合に、操作画像60が操作されたと判定する。ここで、操作検出部2100は、撮像画像上における操作体及び操作画像60の位置関係に基づいて、ユーザの視界において操作画像60が重畳されている領域に操作体が写っているか否かを判定する。具体的には、操作検出部2100は、撮像画像上における操作体の領域と、撮像画像上における操作画像60の領域とが重なっている場合に、ユーザの視界において操作画像60が重畳されている領域に操作体が写っていると判定する。
ここで、実際には操作画像60は撮像画像に写っていない。そこで操作検出部2100は、表示制御部2040による操作画像60の表示処理の過程で算出された、三次元の座標系80における操作画像60を、撮像画像の二次元平面にマッピングする処理を行うことで、撮像画像上における操作画像60の領域を算出する。
なお、操作検出部2100は、操作画像60が表示されているユーザの腕部以外の任意の物を操作体として扱ってもよいし、所定の物のみを操作体として扱ってもよい。後者の場合、操作検出部2100は、撮像画像に含まれる領域の内、ユーザの視界において操作画像60が重畳されている領域にユーザの腕部以外の任意の物体が写っている場合に、操作画像60が操作されたと判定する。一方後者の場合、操作検出部2100は、この領域に所定の操作体が写っているか否かを判定する。そして、操作検出部2100は、この領域に所定の操作体が写っている場合に、操作画像60が操作されたと判定する。なお、画像中の所定の領域に所定の物(所定の形状など)が写っていることを検出する技術には、既知のオブジェクト認識技術などを利用できる。そのため、この方法の詳細な説明は省略する。
ここで、操作検出部2100は、ユーザの指を操作体とする場合、指先の形状だけでなく、指及び手の甲の一部から成る形状を検出対象としてもよい。図21は、検出対象とする指及び手の甲の一部から成る形状を例示する図である。図21において、ドット柄で塗られた部分が、検出対象とする形状である。
指及び手の甲の一部から成る形状は、右手の場合と左手の場合で異なる。また、ユーザが操作体として使う手は、操作画像60が右の腕部に表示される場合には左手であり、操作画像60が左の腕部に表示される場合には右手であることがわかる。そこで操作検出部2100は、操作画像60が表示されている腕部がどちらの腕部であるかに基づいて、検出すべき操作体の形状を決定する。例えば操作検出部2100は、操作画像60が左の腕部に表示されている場合、右手の指及び手の甲の一部の形状を、検出すべき操作体の形状とする。この方法によれば、操作画像60の操作に用いられる手と反対の手を誤って操作体として検出することがなくなるため、操作体の誤検出を少なくすることができる。
ここで、操作検出部2100は、ユーザの視界において操作画像60が重畳されている領域に操作体が所定時間以上継続して写っている場合のみ、操作画像60が操作されたと判定してもよい。こうすることで、例えば操作体が操作画像60の上を単に通過しただけの場合に、操作検出部2100が「操作画像60が操作された」と検出してしまうことを防ぐことができる。
本方法の場合、後述する検出方法2及び3と比較し、振動を検出するためのセンサが不要であるという利点がある。
<<検出方法2>>
操作検出部2100は、ユーザの腕部に振動が加わった場合に、操作画像60が操作されたと検出してもよい。この場合、ユーザの腕部には、振動を検出するためのセンサ(例えば加速度センサ)が取り付けられる。例えば操作検出部2100は、このセンサによって所定の大きさ以上の衝撃が検出された場合に、操作画像60が操作されたと検出する。この所定の大きさは、操作検出部2100に予め設定されていてもよいし、操作検出部2100からアクセス可能な記憶装置に記憶されていてもよい。
ここでユーザが操作画像60に対して加える操作は、例えば操作画像60をタップする操作である。そこで操作検出部2100は、腕部に対してタップによる振動が加えられた場合に、操作画像60が操作されたと判定してもよい。この場合、操作検出部2100は、センサの出力を解析し、タップによる振動を表す出力が検出された場合に、操作画像60が操作されたと判定する。例えば操作検出部2100は、センサの出力に所定の周波数以上の高周波成分が含まれている場合に、腕部がタップされたと判定する。この所定の周波数は、操作検出部2100に予め設定されていてもよいし、操作検出部2100からアクセス可能な記憶装置に記憶されていてもよい。
上述した振動を検出するためのセンサは、例えばデバイス70に設けられる。この場合、例えば操作検出部2100はデバイス70に設けられる。そして、操作画像60が操作されたことを操作検出部2100が検出した場合、デバイス70はその旨をヘッドマウントディスプレイ30に通知する。ただし、操作検出部2100はデバイス70の外部に設けられてもよい。この場合、操作検出部2100はデバイス70と通信を行って、センサの出力を示す情報を取得する。また上記センサは、デバイス70の外部に設けられてもよい。
上記センサは、ユーザの素肌に密着して設けられてもよいし、密着せずに設けられてもよい。例えばセンサがデバイス70に設けられ、かつデバイス70が服の上からユーザの腕部に取り付けられる場合、センサはユーザの素肌に密着せずに設けられる。
この方法によれば、ユーザは腕部に振動を加えることで操作画像60を操作するため、ユーザが、操作を行った際に触覚を通じて実感を伴ったフィードバックを得られるという利点がある。また、操作が行われた位置を、ユーザが触覚を通じて感覚的に認識・確認できるという利点がある。さらに、ユーザが操作画像60の上に手をかざしただけでは操作画像60が操作されたことにならず、ユーザが意図して腕部をタップ等しなければ、操作画像60が操作されたことにならない。そのため、ユーザが意図していない入力が誤って検出されてしまう蓋然性が低くなるという利点もある。
<<検出方法3>>
検出方法3において操作検出部2100は、検出方法2と同様の方法で、ユーザの腕部に所定の振動が加えられたことを検出する。そして、ユーザの腕部に所定の振動が加えられたことが検出された場合、第2表示制御部2060が、表示画面72に表示されている第1マーカ50を変更する。次いで、操作検出部2100が、カメラ20から得られる撮像画像を解析することで、第1マーカ50が変更されたか否かを判定する。そして、操作検出部2100は、第1マーカ50が変更された場合に、操作画像60が操作されたと判定する。図22は、操作画像60がタップされた場合に第1マーカ50が変更される様子を例示する図である。
例えば、第1マーカ50の画像として、通常時の画像と操作検出時の画像の2種類を用意しておく。そして、第2表示制御部2060は、ユーザの腕部に振動が加えられたことが検出された場合に、第1マーカ50の画像を通常時の画像から操作検出時の画像に変更する。
ここで、第2表示制御部2060は、第1マーカ50の全体を変更してもよいし、第1マーカ50の一部のみを変更してもよい。後者の場合、例えば第1マーカ50は、操作画像60の表示に利用するための第1の部分と、操作画像60が操作されたことの検出に利用するための第2の部分という2つの部分で構成される。そして、第2表示制御部2060は、ユーザの腕部に所定の振動が加えられた場合、第1マーカ50のうち、上記第2の部分を変更する。
本方法には、検出方法2と同様の利点に加え、センサによって振動が検出されたことをヘッドマウントディスプレイ30に伝えるための通信が不要であるという利点がある。そのため、ヘッドマウントディスプレイ30やデバイス70が通信機能を持つ必要がない。
なお、前述した検出方法2や検出方法3で利用されるセンサは、振動センサに限定されない。例えばセンサは、圧力センサや静電容量センサでもよい。圧力センサや静電容量センサが設けられる場所は任意である。例えば圧力センサや静電容量センサは、デバイス70の表示画面72に設けられる。また例えば、圧力センサや静電容量センサは、ユーザの腕や手などに貼られたり巻き付けられたりするシートなどに設けられてもよい。また例えば、圧力センサや静電容量センサは、ユーザの衣服(服の袖など)に設けられてもよい。
センサが静電容量センサである場合、ユーザは、センサが身に付けられている箇所に触れる。これにより、静電容量センサによって静電容量の変化が検出される。また例えば、センサが圧力センサである場合、ユーザは、センサが身に付けられている箇所に圧力を加える。これにより、圧力センサによって圧力が検出される。
静電容量センサ又は圧力センサを用いる場合、前述した検出方法2や検出方法3における操作検出部2100やデバイス70は、ユーザによって腕部に振動が加えられたことが検出されたことに応じて行う処理を、静電容量センサによって所定値以上の静電容量の変化が検出されたことや、圧力センサによって所定値以上の圧力が検出されたことに応じて行う。
なお、センサによる検出を行わせるための動作(振動を加える動作など)は、操作体によって行われてもよいし、操作体以外を用いて行われてもよい。
<<操作検出部2100が操作体の検出を行う領域について>>
操作検出部2100は、操作体を検出する処理を、操作画像全体を対象として行ってもよいし、撮像画像の一部の領域を対象として行ってもよい。後者の場合、操作検出部2100は、操作体の検出対象とする領域(以下、検出領域)を、操作画像に含まれる領域のうち、操作画像60を操作する場合に操作体が位置すると考えられる領域に限定する。以下、その限定方法の具体例について述べる。
<<限定方法1>>
操作検出部2100は、撮像画像に含まれる領域のうち、表示制御部2040によって操作画像60が表示されている領域を、検出領域とする。ここで、「撮像画像に含まれる領域のうち、表示制御部2040によって操作画像60が表示されている領域」には、操作画像60の表示処理の過程で表示制御部2040によって算出されたものを利用できる。なお、透過型のヘッドマウントディスプレイを用いる場合、操作画像60は撮像画像上に表示されない。この場合、「撮像画像に含まれる領域のうち、表示制御部2040によって操作画像60が表示されている領域」は、表示画面32上における操作画像60の領域が撮像画像上にマッピングされたものを意味する。
<<限定方法2>>
操作検出部2100は、撮像画像に写っている第1マーカ50に基づいて、操作体の検出領域を決定する。操作画像60が操作される際の操作体の位置は操作画像60が表示される領域内であり、操作画像60が表示される領域は第1マーカ50に基づいて決定されるためである。
例えばまず、操作検出部2100は、実施形態1で説明した種々の方法により、第1マーカ50がユーザの右の腕部と左の腕部のどちらに付されているかを把握する。そして操作検出部2100は、第1マーカ50がユーザの右の腕部と左の腕部のどちらにあるかを考慮して、検出領域を限定する。図23は、第1マーカ50がユーザの左の腕部にある場合における検出領域を例示する図である。検出領域110は、第1マーカ50に基づいて定まる座標系80における xy 平面であり、かつ x 方向の位置が座標系80の原点を基準に負の方向の位置となっている。
検出領域110において、x 方向の辺である辺120や y 方向の辺である辺130の長さは、例えば予め定められた所定の長さである。ただし操作検出部2100は、辺120や辺130の長さを上記所定の長さに設定した後、これらの長さを徐々に短くしていくことで、検出領域110の大きさを徐々に狭くしていってもよい。具体的には、操作検出部2100は、検出領域110に含まれる領域のうち、中心から遠い領域において所定期間以上操作体が検出されない場合に、検出領域110を狭くする。例えば検出領域110内の領域のうち、辺130を所定の長さ短くした場合に検出領域110に含まれなくなる領域が、所定期間操作されなかったとする。この場合、操作検出部2100は、辺130を当該所定の長さ短くする。腕の大きさや太さには個人差があるため、操作検出部2100は、検出領域110を徐々に狭くすることで、このような個人差に対処できる。なお、上記各所定の値は、操作検出部2100に予め設定されていてもよいし、操作検出部2100からアクセスできる記憶装置に記憶されていてもよい。
インタフェース制御システム2000によれば、第1マーカ50を基準に操作画像60の表示位置などが定まるため、上述のように第1マーカ50を基準に操作体の検出領域を限定することができる。よって、操作体の検出領域を容易な方法で限定できる。また、操作体の検出領域を限定することで、操作体の検出に要する時間が短くなる。
さらに、操作画像60がユーザの腕部に表示される場合、上述のように限定される検出領域の背景は、ユーザの素肌や服の袖などとなる。そのため、一般的な景色が背景となる場合と比較し、背景の色や模様が単調となる。よって、操作体の検出が容易になる。
<操作対象特定部2120が行う処理の詳細>
操作対象特定部2120は、複数の操作対象のうち、操作体が重畳されている操作対象を特定する。そして、操作対象特定部2120は、操作体が重畳されている操作対象を、操作が加えられた操作対象として特定する。
図24は、選択ボタンを表す操作画像60が操作されている様子を例示する図である。図24において、ユーザの指100が NO の領域に重畳されている。そのため、操作対象特定部2120は、操作対象が NO のボタンであると特定する。
ヘッドマウントディスプレイを利用するシステムの中には、腕部に加えられた振動を解析することで操作対象を特定するシステムもある。しかしこのようなシステムを利用する場合、「どの位置をタップした場合にどのような振動が検出されるか」という情報を予め得るためのキャリブレーションが必要となる。これに対し、操作対象特定部2120によれば、このようなキャリブレーションを行うことなく操作対象を特定できる。よって、インタフェース制御システム2000をより容易に利用できるという利点がある。
ここで、操作体が1つの操作対象のみに重畳されているとは限らず、複数の操作対象に重畳されている場合もある。図25は、キーボードを表す操作画像60が操作されている様子を平面視で例示する図である。図25では、ユーザの手が複数のキーに重畳されている。この場合、「操作体が重畳されている」という条件のみでは操作対象を特定することができない。そこでこのような場合、操作対象特定部2120は、操作体が重畳されている複数の操作対象のうち、どの操作対象が操作されたのかを特定する。以下、この具体的な方法を例示する。
<<特定方法1>>
操作対象特定部2120は、撮像画像に写っている操作体を表す領域を用いて、操作点を算出する。例えば操作点は指先やペン先などである。そして操作対象特定部2120は、操作点に重畳されている操作対象を、操作が加えられた操作対象として特定する。
図26は、操作点を用いて操作対象を特定する様子を例示する図である。図26において、操作点は操作点140である。よって、操作対象特定部2120は、操作対象が T のキーであると特定する。
ここで、操作対象特定部2120が操作点を算出する方法は様々である。例えば操作対象特定部2120は、撮像画像に写っている操作体を表す領域の重心を算出する。そして、操作対象特定部2120は、操作体を表す領域のうち、重心から最も遠い点を操作点とする。
上述の方法によれば、例えば指先やペン先などが操作点となる。しかし、例えば指で腕部をタップすることで操作画像60を操作する場合、指先ではなく指の腹で腕部をタップする場合もある。そこで操作対象特定部2120は、操作体の重心から最も遠い点を算出し、さらにこの点から少しずらした場所を操作点としてもよい。例えばこの場合、操作体の重心から最も遠い点と操作点との位置関係を予め定めておく。
また例えば、操作体に対し、操作点を特定するためのマーカが付されていてもよい。この場合、操作対象特定部2120は、撮像画像を解析することで上記操作点を特定するためのマーカを検出し、その検出された位置を操作点とする。
操作点を特定するマーカは、撮像画像における位置を特定できる任意のマーカである。操作点を特定するためのマーカとしてどのようなマーカを検出するのか(操作点を特定するためのマーカの形状など)を表す情報は、予め操作対象特定部2120に設定されていてもよいし、操作対象特定部2120からアクセス可能な記憶装置に記憶されていてもよい。
操作点を特定するためのマーカは、操作体に直接付されてもよいし、操作体に取り付けられる物に付されていてもよい。後者の場合、例えばユーザは、操作点を特定するためのマーカが付された指輪を指にはめ、その指で操作画像60を操作する。また、このマーカは、デバイス上に表示される画像であってもよい。例えばユーザは、マーカを表示する機能を有する指輪型のデバイスをはめて操作画像60を操作する。
<<特定方法2>>
操作対象特定部2120は、操作体が重畳されている複数の操作対象の相対的な位置関係に基づいて、操作された操作対象を特定する。例えば操作対象特定部2120は、操作体が重畳されている操作対象のうち、操作画像60を平面視した場合に最も上にある操作対象を、操作された操作対象として特定する。例えば図25や図26のキーボードの例の場合、操作対象特定部2120は、操作体が重畳されている操作画像60の内、最も上にある T のキーを、操作された操作対象として特定する。なお、図25や図26に示すような平面視の操作画像60は、例えば撮像画像に含まれる操作画像60の領域を切り出し、第1マーカ50によって定まる座標系80に基づいて座標変換することで得ることができる。
ここで、操作対象特定部2120は、操作画像60を平面視した場合の上方向が、操作画像におけるどの方向であるかを把握できる必要がある。この点、実施形態1で述べたように、表示制御部2040が操作画像60を表示するために、撮像画像に写っている第1マーカ50によって定まる座標系80と操作画像60の姿勢との関係が予め定められている。そのため、操作対象特定部2120は、この関係を利用することで、操作画像60を平面視した場合の上方向が、操作画像においてどの方向であるかを把握することができる。実施形態1で説明した図10の例では、操作画像60を平面視した場合の上方向は、座標系80の -y 方向である。
また例えば、操作対象特定部2120は、操作画像60が重畳されている腕部が左右どちらの腕部であるかによって、操作対象の特定方法を変えてもよい。具体的には、操作対象特定部2120は、操作画像60が重畳されている腕部が左の腕部である場合、操作体が重畳されている操作対象のうち、操作画像60を平面視した場合に最も左上にある操作対象を、操作された操作対象として特定する。操作画像60が左の腕部に重畳されている場合、左の腕部を自然に構えると、操作画像60を平面視した場合に左にある操作対象の方が、右にある操作対象よりも手前にある。この場合、手前にある操作対象に操作体を置くと、その操作対象の奥にある操作対象にも操作体が重畳される。一方、奥にある操作対象に操作体を置いても、その手前にある操作対象には操作体が重畳されない。そのため、操作画像60を平面視した場合に最も左上にある操作対象が、操作された操作対象であると考えられる。
同様の理由により、操作対象特定部2120は、操作画像60が重畳されている腕部が右の腕部である場合、操作体が重畳されている操作対象のうち、操作画像60を平面視した場合に最も右上にある操作対象を、操作された操作対象として特定する。
ここで、操作体が重畳されている範囲が小さい操作対象(微かに指がかぶっているだけの操作対象など)は、たとえ最も上などにある操作対象であったとしても、操作された操作対象ではない可能性が高い。そのため操作対象特定部2120は、操作体が重畳されている操作対象のうち、その操作対象の所定割合以上(例えば50%以上)の領域に操作体が重畳されている操作対象のみを対象として、上述した特定方法2の処理を行ってもよい。こうすることで、操作対象特定部2120が、微かに指などがかぶっているだけの操作対象などを誤って操作された操作対象として特定してしまうことを防ぐことができる。つまり、操作対象の特定精度が向上する。
[実施形態5]
実施形態5に係るインタフェース制御システム2000は、例えば実施形態1と同様に図1で表される。以下で説明する点を除き、実施形態5のインタフェース制御システム2000は、実施形態1から4いずれかのインタフェース制御システム2000と同様の機能を有する。
実施形態5のインタフェース制御システム2000は、操作画像60に含まれる複数の操作対象の内、一部の操作対象のみを表示画面32に表示する。図27は、キーボードを表す操作画像60の一部のキーのみが腕部に重畳される様子を例示する図である。図27において、ユーザの腕部には、操作画像60に含まれる複数のキーのうち、真ん中の行のキーのみが表示されている。
このように操作画像60に含まれる複数の操作対象の内の一部のみを表示するようにすることで、各操作対象をより大きく表示することができるようになる。これにより、ユーザにとって操作対象が操作しやすくなり、インタフェース制御システム2000の操作性が向上するという利点がある。
以下、本実施形態の表示制御部2040が行う具体的な処理について説明する。
例えば、表示制御部2040は、操作画像60を重畳させるユーザの腕部の姿勢を割り出し、その腕部の姿勢に応じた操作対象のみを表示する。ここで、ユーザの腕部の姿勢と、表示する操作対象との対応は予め定めておく。
ユーザの腕部の姿勢を割り出す方法は様々である。例えば操作対象特定部2120は、撮像画像に写っている第1マーカ50の姿勢を、ユーザの腕部の姿勢とする。また例えば、操作対象特定部2120は、ユーザの腕部に取り付けられたセンサを用いて、ユーザの腕部の姿勢を割り出す。例えばこのセンサは、実施形態4で説明した、ユーザの腕部に加えられた振動を検出するために利用される加速度センサなどである。
第1マーカ50の姿勢に応じて表示される操作対象を変更する例を、図28及び図29を用いて説明する。図28及び図29は、第1マーカ50の姿勢に応じた操作対象が表示される様子を例示する図である。図28において、第1マーカ50の姿勢の z 方向は、ユーザの目の方を向いている。言い換えると、ユーザが、第1マーカ50を正面から見ていると言える。そこで表示制御部2040は、操作画像60が表すキーボードのうち、真ん中の行のキーを表示している。
これに対し、図29において、第1マーカ50の姿勢の z 方向は、図28の場合よりも上を向いている。言い換えると、ユーザが、第1マーカ50を下の方から見上げていると言える。そこで表示制御部2040は、操作画像60が表すキーボードのうち、下の列のキーを表示している。なお、同様に、第1マーカ50の姿勢の z 方向が図28の場合よりも下を向いている場合、表示制御部2040は操作画像60が表すキーボードのうち、上の列のキーを表示する(図示せず)。
図28及び図29の例における処理を実現するために、例えば、キーボードの各行に対して、ユーザの視線方向(撮像画像を平面視する方向)と第1マーカ50の姿勢の z 方向とが成す角度の範囲を対応づけた情報を予め保持しておく。この情報は、表示制御部2040に予め設定されていてもよいし、表示制御部2040からアクセス可能な記憶装置に記憶されていてもよい。
また例えば、操作対象特定部2120は、ヘッドマウントディスプレイ30やデバイス70に対して所定の操作が行われた場合に、その操作に応じて表示する操作対象を決定してもよい。上記所定の操作は、例えばヘッドマウントディスプレイ30に備えられているボタンの押下や、デバイス70の表示画面72に対して行うタップ操作などである。
なお、操作対象特定部2120は、常に一部の操作対象のみを表示してもよいし、一部の操作対象を表示するモードと全ての操作対象を表示するモードとが切り替え可能になっていてもよい。後者の場合、例えば操作対象特定部2120は、ヘッドマウントディスプレイ30やデバイス70に対して所定の操作が行われた場合に、上記モードの切り換えを行う。
[実施形態6]
実施形態6に係るインタフェース制御システム2000は、例えば実施形態1と同様に図1で表される。以下で説明する点を除き、実施形態6のインタフェース制御システム2000は、実施形態1から5いずれかのインタフェース制御システム2000と同様の機能を有する。
実施形態6の表示制御部2040は、操作画像60のうち、ユーザが操作画像60を操作する手が重畳される部分に手の画像を合成して、操作画像60を表示する。
図30は、操作画像60に対して手の画像を合成しない場合において、ユーザの視界に写る操作画像60及びその操作画像60を操作するユーザの手を平面視で例示する図である。図30の場合、ユーザの目から見ると、操作画像60を操作する手の上に操作画像60が重畳されているように見える。これに対し、実物のキーボードをユーザが扱う場合、ユーザの目には、キーボードの上に手が見え、手が置かれている部分のキーボードは手に隠れて見えない。このように、図30の場合にユーザに見える様子は、実物のキーボードを扱う場合に見える様子と異なるため、ユーザによっては違和感を覚える可能性がある。
図31は、操作画像60に対して手の画像(手画像150)を合成した場合において、ユーザの視界に写る操作画像60及びその操作画像60を操作するユーザの手を平面視で例示する図である。図31の場合、実物のキーボードを扱った場合と同様に、キーボードの上に手が置かれているように見える。よって、図30の場合と比較し、ユーザの目に写る様子がより自然なものとなり、ユーザにとって違和感が少なくなるという利点がある。
ここで、操作画像60に対して合成するユーザの手の画像は任意である。例えばこの画像は、人間の手を模した画像であってもよいし、ロボットの手などを模した画像であってもよい。また、操作画像60に対して合成される画像は、手の一部であってもよい。例えば表示制御部2040は、操作に用いられている指(図31では人差し指)に対してのみ、その指に重畳するように指の画像を合成する。
なお、表示制御部2040は、操作画像60に対して手の画像を合成する代わりに、操作画像60のうち、操作画像60を操作するユーザの手と重なっている部分を表示しないようにしてもよい。
[実施形態7]
図32は、実施形態7に係るインタフェース制御システム2000を例示するブロック図である。図32において、各ブロックは、ハードウエア単位の構成ではなく、機能単位の構成を表している。以下で説明する点を除き、実施形態7のインタフェース制御システム2000は、実施形態1から6いずれかのインタフェース制御システム2000と同様である。
実施形態7のインタフェース制御システム2000は、キャリブレーション部2140及び第2表示制御部2180を有する。キャリブレーション部2140は、操作体についてキャリブレーションを実行する。第2表示制御部2180については後述する。
キャリブレーション部2140がキャリブレーションを行う前提として、カメラ20によって生成される撮像画像において、特定の領域に操作体が写っているとする。キャリブレーション部2140は、撮像画像におけるその特定の領域について色相範囲を算出する。そしてキャリブレーション部2140は、算出された色相範囲を、操作体の色相範囲として色相範囲記憶部2160に記憶させる。なお色相範囲記憶部2160は、インタフェース制御システム2000を実現する計算機1000の内部に設けられてもよいし、計算機1000の外部に設けられてもよい。
実施形態7の操作検出部2100又は操作対象特定部2120、及びこれらの双方は、撮像画像から操作体を検出する(撮像画像に操作体が写っているか否かの判定を行ったり、操作点の算出を行ったりする)際に、色相範囲記憶部2160に記憶されている操作体の色相範囲を利用する。ここで、操作体の検出には、例えば既知のオブジェクト認識の技術が利用できる。この際、撮像画像に対してオブジェクト認識を実行する前に、操作検出部2100や操作対象特定部2120は、撮像画像から、操作体の色相範囲に含まれる領域のみを抽出する。そして、抽出された領域を対象にオブジェクト認識を行う。
<特定の領域に操作体が写るようにする方法>
前述したように、キャリブレーション部2140がキャリブレーションを実行する際には、撮像画像の特定の領域に操作体が写っていることが前提となる。そのため、この特定の領域に操作体が写るようにする必要がある。
そのために、インタフェース制御システム2000は第2表示制御部2180を有する。第2表示制御部2180は、表示画面32に、操作体を配置すべき領域を示すガイド画像を表示する。キャリブレーション部2140は、その後にカメラ20によって生成された撮像画像を対象として、上述したキャリブレーションを実行する。操作体の色相範囲の算出対象となる、撮像画像上の上記特定の領域は、上記ガイド画像が示す「操作体を配置すべき領域」に対応する領域である。なお、撮像画像上の領域と表示画面32上の領域との対応関係は、カメラ20に関する各種のパラメタ(画角や焦点距離)や、表示画面32とカメラ20との位置関係などに基づいて定まる。この対応関係は、これらのパラメタなどを用いてキャリブレーション部2140によって算出されてもよいし、設定値として予め定められていてもよい。
図33は、表示画面32に表示されるガイド画像を例示する第1の図である。図33の例において、第2表示制御部2180は、表示画面32上の所定の位置(例えば中心)にガイド画像160を表示させる。さらに第2表示制御部2180は、説明画像170をガイド画像160の付近に表示させる。説明画像170は、ユーザが行うべき行動を表す説明を含む画像である。インタフェース制御システム2000のユーザは、ガイド画像160内に収まるように操作体(例えば指)を配置する。キャリブレーション部2140は、撮像画像においてガイド画像160に対応する領域について色相範囲を算出する。
図33の場合、ガイド画像160が表示される位置が固定であるため、撮像画像において色相範囲の算出対象となる領域も固定となる。
図34は、表示画面32に表示されるガイドを例示する第2の図である。図34の例では、ガイド画像160の位置及び説明画像170の位置及び姿勢が、第1マーカ50の位置及び姿勢に対して相対的に定められている。
図34の場合、ガイド画像160が表示される位置が固定でないため、撮像画像において色相範囲の算出対象となる領域も固定でない。そこでキャリブレーション部2140は、キャリブレーションの対象となる撮像画像が生成された時点における、表示画面32上のガイド画像160の位置に基づいて、その撮像画像において色相範囲の算出対象となる領域を算出する。
<キャリブレーションを行うタイミング>
キャリブレーション部2140がキャリブレーションを行う時には、操作体が特定の領域に配置されている必要がある。ここで、キャリブレーション部2140は、操作体が特定の領域に配置されたことを検出してもよいし、検出しなくてもよい。前者の場合、例えばキャリブレーション部2140は、前述したセンサによる検出に基づいて、操作体が特定の領域に配置されたことを検出する。この場合、ユーザは、ガイド画像160によって示される位置に操作体を配置した状態で、センサによる検出が行われるような動作を行う。例えばセンサとして加速度センサが設けられている場合、ユーザは、ガイド画像160に示される場所に対してタップなどを行う。キャリブレーション部2140は、上記センサによる検出が行われたタイミング又はそれに近いタイミングで生成された撮像画像を対象としてキャリブレーションを実行する。
キャリブレーション部2140は、操作体が特定の領域に配置されたことを検出せずに、キャリブレーションの実行を開始してもよい。例えばキャリブレーション部2140は、第2表示制御部2180によってガイド画像160が表示された時点から所定時間後に生成された撮像画像を取得し、その撮像画像を対象としてキャリブレーションを実行する。この場合、上記撮像画像を取得するまでの残り時間(キャリブレーションのための撮像を行うまでの残り時間)が、説明画像170に示されることが好適である。
<操作体の色相範囲について>
キャリブレーション部2140は、キャリブレーション対象の撮像画像における特定の領域の色相に基づいて、操作体の色相範囲を算出する。例えばキャリブレーション部2140は、上記特定の領域に含まれる各画素の色相を算出し、算出された色相の統計値を用いて操作体の色相範囲を定める。例えばキャリブレーション部2140は、上記特定の領域に含まれる各画素の色相の平均値μ及び標準偏差σを算出し、「μ−kσ以上、μ+kσ以下」の範囲を操作体の色相範囲とする。ここで、kは任意の実数である。
図35は、操作体の色相範囲を例示する第1の図である。スペクトル180はスペクトルを表し、ヒストグラム190は色相範囲の算出対象となる領域に含まれる色相のヒストグラムである。ヒストグラム190の x 軸は色相を表す。ヒストグラム190の y 軸は画素数を表す。なお描画の都合上、スペクトル180は白黒の2値で表されている。
<背景のキャリブレーション>
キャリブレーション部2140は、ユーザがインタフェース制御システム2000を利用する際に操作体の背景となる領域(以下、背景領域)についても色相範囲を算出し、その色相範囲を用いて操作体の色相範囲を算出してもよい。具体的には、キャリブレーション部2140は、操作体の色相範囲を算出する方法と同様の方法で、背景領域の色相範囲を算出する。さらにキャリブレーション部2140は、操作体の色相範囲の算出対象である上記特定の領域について算出した色相範囲から、背景領域の色相範囲にも含まれている領域を排除する。キャリブレーション部2140は、この排除の結果残った色相範囲を操作体の色相範囲とする。
図36は、操作体の色相範囲を例示する第2の図である。色相範囲200は、操作体が配置される領域について算出した色相範囲である。色相範囲210は、背景が配置される領域について算出した色相範囲である。キャリブレーション部2140は、色相範囲200から色相範囲210を排除して残る色相範囲220を操作体の色相範囲とする。
<<背景の色相範囲の算出方法>>
キャリブレーション部2140は、操作画像の特定の領域に背景が配置された状態で、背景についてのキャリブレーションを実行する。この特定の領域は、操作体が配置される領域と同じであってもよいし、異なってもよい。前者の場合、例えばキャリブレーション部2140は、まず特定の領域に操作体が配置された状態でキャリブレーションを行うことで第1の色相範囲(図36の色相範囲200)を算出する。次にキャリブレーション部2140は、その特定の領域に背景領域が配置された状態でキャリブレーションを行うことで第2の色相範囲を算出する(図36の色相範囲210)。そしてキャリブレーション部2140は、第1の色相範囲から第2の色相範囲を除外することで、操作体の色相範囲を算出する(図36の色相範囲220)。この場合、操作体の色相範囲の算出に、2つの撮像画像が必要となる。
一方、操作体が配置される特定の領域と背景が配置される特定の領域が異なる場合、キャリブレーション部2140は、1つの撮像画像によって操作体の色相範囲を算出することができる。例えばキャリブレーション部2140は、ガイド画像160に含まれる一部の領域を、操作体が配置される領域として扱い、ガイド画像160に含まれるその他の領域を、背景が配置される領域として扱う。
図37は、ガイド画像160を例示する図である。図36において、ガイド画像160は、指の形状を表す部分(領域162)及びそれ以外の部分(領域164)を含む。キャリブレーション部2140は、領域162の色相に基づいて操作体の色相範囲を算出し、領域164の色相に基づいて背景領域の色相範囲を算出する。そして、キャリブレーション部2140は、領域162について算出した色相範囲から、領域164について算出した色相範囲を排除することで、最終的な操作体の色相範囲を算出する。
<ハードウエア構成例>
例えば実施形態7のインタフェース制御システム2000のハードウエア構成は、実施形態1のインタフェース制御システム2000と同様に、図7で表される。本実施形態において、前述したストレージ1080に記憶される各プログラムモジュールには、本実施形態で説明する各機能を実現するプログラムがさらに含まれる。
<作用・効果>
本実施形態によれば、操作体の色相範囲を予め算出しておくキャリブレーションが行われ、その後のユーザによる入力操作において、操作体の検出が上記色相範囲を用いて行われる。こうすることで、操作体の算出を精度よく、なおかつ容易に行うことができるようになる。
本実施形態のインタフェース制御システム2000によるキャリブレーションが特に有用な状況の例として、インタフェース制御システム2000が利用される場所が複数存在する状況がある。一般に、場所ごとに照明の色などが違うため、たとえユーザがそれらの場所で同じ操作体(例えばユーザの指)を利用したとしても、撮像画像に写る操作体の色相は場所ごとに異なることがある。このような場合、ユーザは、インタフェース制御システム2000を利用する場所ごとに操作体についてキャリブレーションを行う。こうすることで、インタフェース制御システム2000を利用する場所が変化しても、操作体の精度よく算出することができる。
また、本実施形態のインタフェース制御システム2000は、背景についてのキャリブレーションを行うことで、操作体の色相範囲から背景領域の色相範囲を除いてもよい。このようにすることで、撮像画像に含まれる領域から、背景の色相範囲に含まれる色相を持つ領域を除外した上で、操作体を検出するためのオブジェクト認識などを実行することができる。こうすることで、操作体の検出をさらに精度よく、かつ容易に行うことができるようになる。
<変形例>
実施形態7のインタフェース制御システム2000が実行するキャリブレーションは、背景の色相範囲の算出のみであってもよい。この場合、操作検出部2100や操作対象特定部2120は、背景領域の色相範囲に含まれる色相を有する領域を撮像画像から除外し、残った領域に対してオブジェクト認識などを行うことで操作体を検出する。こうすることで、操作体の周囲の領域である背景領域が撮像画像から除外されるため、操作体を精度よくかつ容易に検出することができるようになる。
以上、図面を参照して本発明の実施形態について述べたが、これらは本発明の例示であり、上記以外の様々な構成を採用することもできる。
以下、参考形態の例を付記する。
1. ユーザに身につけられたカメラから得られる画像に基づいて、前記ユーザの身体に取り付けられた第1マーカを検出する検出手段と、
前記ユーザの身体に重畳されて前記ユーザに視認されるように、前記検出手段によって検出された前記第1マーカに基づいて、前記ユーザによって装着されるヘッドマウントディスプレイの表示画面上に操作画像を表示する表示制御手段と、
前記ユーザによって前記操作画像が操作されたことを判定する操作検出手段と、
を有するインタフェース制御システム。
2. 前記検出手段は、前記第1マーカを検出することにより、前記第1マーカの位置、大きさ、又は姿勢を特定し、
前記表示制御手段は、前記検出手段によって特定された前記第1マーカの位置、大きさ、又は姿勢に基づいて、前記ヘッドマウントディスプレイの表示画面における前記操作画像の位置、大きさ、又は姿勢を決定する、
1.に記載のインタフェース制御システム。
3. 前記第1マーカは、前記ユーザの腕部に取り付けられるデバイスの表示画面上に表示される画像である、1.又は2.に記載のインタフェース制御システム。
4. 前記表示制御手段は、前記カメラから得られる画像に写っている前記第1マーカの種類に基づいて、表示する前記操作画像を決定する、1.乃至3.いずれか一つに記載のインタフェース制御システム。
5. 前記デバイスに対するユーザ操作に応じて、前記デバイスの表示画面上に表示される第1マーカの種類を切り替える第2表示制御手段を更に有し、
前記検出手段は、前記カメラから得られる画像から検出された前記第1マーカの種類を特定し、
前記表示制御手段は、表示されている操作画面を、前記特定された第1マーカの種類に対応する操作画面に切り替える、3.に記載のインタフェース制御システム。
6. 前記表示制御手段は、前記ユーザが前記操作画像に対して行った操作に基づいて、表示する前記操作画像を変更する、1.乃至5.いずれか一つに記載のインタフェース制御システム。
7. 前記第1マーカは、前記ユーザの腕部に取り付けられるデバイスの表示画面上に表示される画像であり、
前記カメラから得られる画像内の背景の特徴を抽出し、前記抽出した特徴に基づいて、前記デバイスの表示画面上に表示される第1マーカの形状、模様、又は色彩を決定する第1マーカ決定手段を有する、1.乃至6.いずれか一つに記載のインタフェース制御システム。
8. 前記表示制御手段は、
前記ヘッドマウントディスプレイの表示画面上に第2マーカを表示し、
前記ヘッドマウントディスプレイを介して前記ユーザに視認される前記第1マーカと前記第2マーカの位置関係が所定の位置関係になった場合に前記操作画像を表示する、1.乃至7.いずれか一つに記載のインタフェース制御システム。
9. 前記検出手段は、前記ヘッドマウントディスプレイの表示画面上の一部の所定位置に表示される前記第2マーカに対応する部分領域を対象に前記第1マーカを検出する、
8.に記載のインタフェース制御システム。
10. 前記第1マーカは、前記ユーザの腕部に取り付けられるデバイスの表示画面上に表示される画像であり、
ユーザの腕部の振動を検出するセンサによって所定の振動が検出された場合に、前記デバイスの表示画面上に所定の表示を行う第2表示制御手段を有し、
前記操作検出手段は、前記カメラによって前記所定の表示が撮像された場合に、前記ユーザによって前記操作画像が操作されたと判定する、1.乃至9.いずれか一つに記載のインタフェース制御システム。
11. 前記操作検出手段は、ユーザの腕部の振動を検出するセンサによって所定の振動が検出された場合に、前記ユーザによって前記操作画像が操作されたと判定する、1.乃至9.いずれか一つに記載のインタフェース制御システム。
12. 前記操作検出手段は、前記カメラから得られる画像に含まれる領域のうち、前記第1マーカに基づいて定まる一部の領域について操作体の検出を行い、前記一部の領域において操作体が検出された場合に、前記ユーザによって前記操作画像が操作されたと判定する、1.乃至9.いずれか一つに記載のインタフェース制御システム。
13. 前記操作画像に複数の操作対象が含まれ、前記操作画像に対して操作を行う前記ユーザの手が複数の操作対象と重なっている場合、それら複数の操作対象の内、所定割合以上の面積が前記ユーザの手と重なっている操作対象の中から、前記ユーザによって操作された操作対象として決定する操作対象特定手段を有する、1.乃至12.いずれか一つに記載のインタフェース制御システム。
14. 前記操作画像に複数の操作対象が含まれ、前記操作画像に対して操作を行う前記ユーザの手が複数の操作対象と重なっている場合、それら複数の操作対象の内、最も左上又は最も右上の操作対象を、前記ユーザによって操作された操作対象として決定する操作対象特定手段を有する、1.乃至13.いずれか一つに記載のインタフェース制御システム。
15. 前記表示制御手段は、前記ヘッドマウントディスプレイを介して前記ユーザによって視認される前記操作画像とその操作画像を操作する前記ユーザの手が重なる場合、前記ユーザの手がある位置に手の画像を重畳させた操作画像を、前記ヘッドマウントディスプレイの表示画面上に表示する、1.乃至14.いずれか一つに記載のインタフェース制御システム。
16. 前記表示制御手段は、前記ユーザの身体の姿勢に応じて、前記操作画像の一部のみを表示する、1.乃至15.いずれか一つに記載のインタフェース制御システム。
17. 1.乃至16.いずれか一つに記載の各手段を有するインタフェース制御装置。
18. コンピュータによって実行されるインタフェース制御方法であって、
ユーザに身につけられたカメラから得られる画像に基づいて、前記ユーザの身体に取り付けられた第1マーカを検出する検出ステップと、
前記ユーザの身体に重畳されて前記ユーザに視認されるように、前記検出ステップによって検出された前記第1マーカに基づいて、前記ユーザによって装着されるヘッドマウントディスプレイの表示画面上に操作画像を表示する表示制御ステップと、
前記ユーザによって前記操作画像が操作されたことを判定する操作検出ステップと、
を有するインタフェース制御方法。
19. 前記検出ステップは、前記第1マーカを検出することにより、前記第1マーカの位置、大きさ、又は姿勢を特定し、
前記表示制御ステップは、前記検出ステップによって特定された前記第1マーカの位置、大きさ、又は姿勢に基づいて、前記ヘッドマウントディスプレイの表示画面における前記操作画像の位置、大きさ、又は姿勢を決定する、
18.に記載のインタフェース制御方法。
20. 前記第1マーカは、前記ユーザの腕部に取り付けられるデバイスの表示画面上に表示される画像である、18.又は19.に記載のインタフェース制御方法。
21. 前記表示制御ステップは、前記カメラから得られる画像に写っている前記第1マーカの種類に基づいて、表示する前記操作画像を決定する、18.乃至20.いずれか一つに記載のインタフェース制御方法。
22. 前記デバイスに対するユーザ操作に応じて、前記デバイスの表示画面上に表示される第1マーカの種類を切り替える第2表示制御ステップを更に有し、
前記検出ステップは、前記カメラから得られる画像から検出された前記第1マーカの種類を特定し、
前記表示制御ステップは、表示されている操作画面を、前記特定された第1マーカの種類に対応する操作画面に切り替える、20.に記載のインタフェース制御方法。
23. 前記表示制御ステップは、前記ユーザが前記操作画像に対して行った操作に基づいて、表示する前記操作画像を変更する、18.乃至22.いずれか一つに記載のインタフェース制御方法。
24. 前記第1マーカは、前記ユーザの腕部に取り付けられるデバイスの表示画面上に表示される画像であり、
前記カメラから得られる画像内の背景の特徴を抽出し、前記抽出した特徴に基づいて、前記デバイスの表示画面上に表示される第1マーカの形状、模様、又は色彩を決定する第1マーカ決定ステップを有する、18.乃至23.いずれか一つに記載のインタフェース制御方法。
25. 前記表示制御ステップは、
前記ヘッドマウントディスプレイの表示画面上に第2マーカを表示し、
前記ヘッドマウントディスプレイを介して前記ユーザに視認される前記第1マーカと前記第2マーカの位置関係が所定の位置関係になった場合に前記操作画像を表示する、18.乃至24.いずれか一つに記載のインタフェース制御方法。
26. 前記検出ステップは、前記ヘッドマウントディスプレイの表示画面上の一部の所定位置に表示される前記第2マーカに対応する部分領域を対象に前記第1マーカを検出する、
25.に記載のインタフェース制御方法。
27. 前記第1マーカは、前記ユーザの腕部に取り付けられるデバイスの表示画面上に表示される画像であり、
ユーザの腕部の振動を検出するセンサによって所定の振動が検出された場合に、前記デバイスの表示画面上に所定の表示を行う第2表示制御ステップを有し、
前記操作検出ステップは、前記カメラによって前記所定の表示が撮像された場合に、前記ユーザによって前記操作画像が操作されたと判定する、18.乃至26.いずれか一つに記載のインタフェース制御方法。
28. 前記操作検出ステップは、ユーザの腕部の振動を検出するセンサによって所定の振動が検出された場合に、前記ユーザによって前記操作画像が操作されたと判定する、18.乃至26.いずれか一つに記載のインタフェース制御方法。
29. 前記操作検出ステップは、前記カメラから得られる画像に含まれる領域のうち、前記第1マーカに基づいて定まる一部の領域について操作体の検出を行い、前記一部の領域において操作体が検出された場合に、前記ユーザによって前記操作画像が操作されたと判定する、18.乃至26.いずれか一つに記載のインタフェース制御方法。
30. 前記操作画像に複数の操作対象が含まれ、前記操作画像に対して操作を行う前記ユーザの手が複数の操作対象と重なっている場合、それら複数の操作対象の内、所定割合以上の面積が前記ユーザの手と重なっている操作対象の中から、前記ユーザによって操作された操作対象として決定する操作対象特定ステップを有する、18.乃至29.いずれか一つに記載のインタフェース制御方法。
31. 前記操作画像に複数の操作対象が含まれ、前記操作画像に対して操作を行う前記ユーザの手が複数の操作対象と重なっている場合、それら複数の操作対象の内、最も左上又は最も右上の操作対象を、前記ユーザによって操作された操作対象として決定する操作対象特定ステップを有する、18.乃至30.いずれか一つに記載のインタフェース制御方法。
32. 前記表示制御ステップは、前記ヘッドマウントディスプレイを介して前記ユーザによって視認される前記操作画像とその操作画像を操作する前記ユーザの手が重なる場合、前記ユーザの手がある位置に手の画像を重畳させた操作画像を、前記ヘッドマウントディスプレイの表示画面上に表示する、18.乃至31.いずれか一つに記載のインタフェース制御方法。
33. 前記表示制御ステップは、前記ユーザの身体の姿勢に応じて、前記操作画像の一部のみを表示する、18.乃至32.いずれか一つに記載のインタフェース制御方法。
34. 18.乃至33.いずれか一つに記載の各ステップをコンピュータに実行させるプログラム。
この出願は、2015年5月21日に出願された日本出願特願2015−103905号を基礎とする優先権を主張し、その開示の全てをここに取り込む。
本発明のインタフェース制御システムは、ユーザに身につけられたカメラから得られる画像に基づいて、前記ユーザの身体に取り付けられた第1マーカを検出する検出手段と、前記ユーザの身体に重畳されて前記ユーザに視認されるように、前記検出手段によって検出された前記第1マーカに基づいて、前記ユーザによって装着されるヘッドマウントディスプレイの表示画面上に操作画像を表示する表示制御手段と、前記ユーザによって前記操作画像が操作されたと判定する操作検出手段と、を有する。前記第1マーカは、前記ユーザの腕部に取り付けられるデバイスの表示画面上に表示される画像である。
本発明のインタフェース制御方法は、コンピュータによって実行されるインタフェース制御方法である。当該インタフェース制御方法は、ユーザに身につけられたカメラから得られる画像に基づいて、前記ユーザの腕部に取り付けられた第1マーカを検出する検出ステップと、前記ユーザの身体に重畳されて前記ユーザに視認されるように、前記検出ステップによって検出された前記第1マーカに基づいて、前記ユーザによって装着されるヘッドマウントディスプレイの表示画面上に操作画像を表示する表示制御ステップと、前記ユーザによって前記操作画像が操作されたと判定する操作検出ステップと、を有する。前記第1マーカは、前記ユーザの腕部に取り付けられるデバイスの表示画面上に表示される画像である。

Claims (19)

  1. ユーザに身につけられたカメラから得られる画像に基づいて、前記ユーザの身体に取り付けられた第1マーカを検出する検出手段と、
    前記ユーザの身体に重畳されて前記ユーザに視認されるように、前記検出手段によって検出された前記第1マーカに基づいて、前記ユーザによって装着されるヘッドマウントディスプレイの表示画面上に操作画像を表示する表示制御手段と、
    前記ユーザによって前記操作画像が操作されたことを判定する操作検出手段と、
    を有するインタフェース制御システム。
  2. 前記検出手段は、前記第1マーカを検出することにより、前記第1マーカの位置、大きさ、又は姿勢を特定し、
    前記表示制御手段は、前記検出手段によって特定された前記第1マーカの位置、大きさ、又は姿勢に基づいて、前記ヘッドマウントディスプレイの表示画面における前記操作画像の位置、大きさ、又は姿勢を決定する、
    請求項1に記載のインタフェース制御システム。
  3. 前記第1マーカは、前記ユーザの腕部に取り付けられるデバイスの表示画面上に表示される画像である、請求項1又は2に記載のインタフェース制御システム。
  4. 前記表示制御手段は、前記カメラから得られる画像に写っている前記第1マーカの種類に基づいて、表示する前記操作画像を決定する、請求項1乃至3いずれか一項に記載のインタフェース制御システム。
  5. 前記デバイスに対するユーザ操作に応じて、前記デバイスの表示画面上に表示される第1マーカの種類を切り替える第2表示制御手段を更に有し、
    前記検出手段は、前記カメラから得られる画像から検出された前記第1マーカの種類を特定し、
    前記表示制御手段は、表示されている操作画面を、前記特定された第1マーカの種類に対応する操作画面に切り替える、請求項3に記載のインタフェース制御システム。
  6. 前記表示制御手段は、前記ユーザが前記操作画像に対して行った操作に基づいて、表示する前記操作画像を変更する、請求項1乃至5いずれか一項に記載のインタフェース制御システム。
  7. 前記第1マーカは、前記ユーザの腕部に取り付けられるデバイスの表示画面上に表示される画像であり、
    前記カメラから得られる画像内の背景の特徴を抽出し、前記抽出した特徴に基づいて、前記デバイスの表示画面上に表示される第1マーカの形状、模様、又は色彩を決定する第1マーカ決定手段を有する、請求項1乃至6いずれか一項に記載のインタフェース制御システム。
  8. 前記表示制御手段は、
    前記ヘッドマウントディスプレイの表示画面上に第2マーカを表示し、
    前記ヘッドマウントディスプレイを介して前記ユーザに視認される前記第1マーカと前記第2マーカの位置関係が所定の位置関係になった場合に前記操作画像を表示する、請求項1乃至7いずれか一項に記載のインタフェース制御システム。
  9. 前記検出手段は、前記ヘッドマウントディスプレイの表示画面上の一部の所定位置に表示される前記第2マーカに対応する部分領域を対象に前記第1マーカを検出する、
    請求項8に記載のインタフェース制御システム。
  10. 前記第1マーカは、前記ユーザの腕部に取り付けられるデバイスの表示画面上に表示される画像であり、
    ユーザの腕部の振動を検出するセンサによって所定の振動が検出された場合に、前記デバイスの表示画面上に所定の表示を行う第2表示制御手段を有し、
    前記操作検出手段は、前記カメラによって前記所定の表示が撮像された場合に、前記ユーザによって前記操作画像が操作されたと判定する、請求項1乃至9いずれか一項に記載のインタフェース制御システム。
  11. 前記操作検出手段は、ユーザの腕部の振動を検出するセンサによって所定の振動が検出された場合に、前記ユーザによって前記操作画像が操作されたと判定する、請求項1乃至9いずれか一項に記載のインタフェース制御システム。
  12. 前記操作検出手段は、前記カメラから得られる画像に含まれる領域のうち、前記第1マーカに基づいて定まる一部の領域について操作体の検出を行い、前記一部の領域において操作体が検出された場合に、前記ユーザによって前記操作画像が操作されたと判定する、請求項1乃至9いずれか一項に記載のインタフェース制御システム。
  13. 前記操作画像に複数の操作対象が含まれ、前記操作画像に対して操作を行う前記ユーザの手が複数の操作対象と重なっている場合、それら複数の操作対象の内、所定割合以上の面積が前記ユーザの手と重なっている操作対象の中から、前記ユーザによって操作された操作対象として決定する操作対象特定手段を有する、請求項1乃至12いずれか一項に記載のインタフェース制御システム。
  14. 前記操作画像に複数の操作対象が含まれ、前記操作画像に対して操作を行う前記ユーザの手が複数の操作対象と重なっている場合、それら複数の操作対象の内、最も左上又は最も右上の操作対象を、前記ユーザによって操作された操作対象として決定する操作対象特定手段を有する、請求項1乃至13いずれか一項に記載のインタフェース制御システム。
  15. 前記表示制御手段は、前記ヘッドマウントディスプレイを介して前記ユーザによって視認される前記操作画像とその操作画像を操作する前記ユーザの手が重なる場合、前記ユーザの手がある位置に手の画像を重畳させた操作画像を、前記ヘッドマウントディスプレイの表示画面上に表示する、請求項1乃至14いずれか一項に記載のインタフェース制御システム。
  16. 前記表示制御手段は、前記ユーザの身体の姿勢に応じて、前記操作画像の一部のみを表示する、請求項1乃至15いずれか一項に記載のインタフェース制御システム。
  17. 請求項1乃至16いずれか一項に記載の各手段を有するインタフェース制御装置。
  18. コンピュータによって実行されるインタフェース制御方法であって、
    ユーザに身につけられたカメラから得られる画像に基づいて、前記ユーザの身体に取り付けられた第1マーカを検出する検出ステップと、
    前記ユーザの身体に重畳されて前記ユーザに視認されるように、前記検出ステップによって検出された前記第1マーカに基づいて、前記ユーザによって装着されるヘッドマウントディスプレイの表示画面上に操作画像を表示する表示制御ステップと、
    前記ユーザによって前記操作画像が操作されたことを判定する操作検出ステップと、
    を有するインタフェース制御方法。
  19. 請求項18に記載の各ステップをコンピュータに実行させるプログラム。
JP2017519077A 2015-05-21 2016-04-18 インタフェース制御システム、インタフェース制御装置、インタフェース制御方法、及びプログラム Active JP6288372B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2015103905 2015-05-21
JP2015103905 2015-05-21
PCT/JP2016/062240 WO2016185845A1 (ja) 2015-05-21 2016-04-18 インタフェース制御システム、インタフェース制御装置、インタフェース制御方法、及びプログラム

Publications (2)

Publication Number Publication Date
JPWO2016185845A1 true JPWO2016185845A1 (ja) 2018-02-15
JP6288372B2 JP6288372B2 (ja) 2018-03-07

Family

ID=57319980

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017519077A Active JP6288372B2 (ja) 2015-05-21 2016-04-18 インタフェース制御システム、インタフェース制御装置、インタフェース制御方法、及びプログラム

Country Status (4)

Country Link
US (1) US10698535B2 (ja)
JP (1) JP6288372B2 (ja)
CN (1) CN107615214B (ja)
WO (1) WO2016185845A1 (ja)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10698535B2 (en) * 2015-05-21 2020-06-30 Nec Corporation Interface control system, interface control apparatus, interface control method, and program
JP6344530B2 (ja) * 2015-09-28 2018-06-20 日本電気株式会社 入力装置、入力方法、及びプログラム
CN108027655A (zh) * 2016-02-25 2018-05-11 日本电气株式会社 信息处理系统、信息处理设备、控制方法和程序
US9973647B2 (en) 2016-06-17 2018-05-15 Microsoft Technology Licensing, Llc. Suggesting image files for deletion based on image file parameters
US20180095960A1 (en) * 2016-10-04 2018-04-05 Microsoft Technology Licensing, Llc. Automatically uploading image files based on image capture context
JP6790769B2 (ja) * 2016-11-30 2020-11-25 セイコーエプソン株式会社 頭部装着型表示装置、プログラム、及び頭部装着型表示装置の制御方法
US20180158244A1 (en) * 2016-12-02 2018-06-07 Ayotle Virtual sensor configuration
WO2019059044A1 (ja) 2017-09-20 2019-03-28 日本電気株式会社 情報処理装置、制御方法、及びプログラム
US10705673B2 (en) * 2017-09-30 2020-07-07 Intel Corporation Posture and interaction incidence for input and output determination in ambient computing
WO2019069575A1 (ja) * 2017-10-05 2019-04-11 ソニー株式会社 情報処理装置、情報処理方法及びプログラム
EP3489800A1 (de) * 2017-11-27 2019-05-29 EUCHNER GmbH + Co. KG Sicherheitssystem
US10902680B2 (en) * 2018-04-03 2021-01-26 Saeed Eslami Augmented reality application system and method
CN108509430A (zh) * 2018-04-10 2018-09-07 京东方科技集团股份有限公司 智能眼镜及其翻译方法
CN108549487A (zh) * 2018-04-23 2018-09-18 网易(杭州)网络有限公司 虚拟现实交互方法与装置
US10977867B2 (en) * 2018-08-14 2021-04-13 Goodrich Corporation Augmented reality-based aircraft cargo monitoring and control system
CN111198608B (zh) * 2018-11-16 2021-06-22 广东虚拟现实科技有限公司 信息提示方法、装置、终端设备及计算机可读取存储介质
CN109118538A (zh) * 2018-09-07 2019-01-01 上海掌门科技有限公司 图像呈现方法、系统、电子设备和计算机可读存储介质
JP7247519B2 (ja) * 2018-10-30 2023-03-29 セイコーエプソン株式会社 表示装置、及び、表示装置の制御方法
JP7053516B2 (ja) 2019-02-15 2022-04-12 株式会社日立製作所 ウェアラブルユーザインタフェース制御システム、それを用いた情報処理システム、および、制御プログラム
WO2020234939A1 (ja) * 2019-05-17 2020-11-26 ソニー株式会社 情報処理装置、情報処理方法、およびプログラム

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002318652A (ja) * 2001-04-20 2002-10-31 Foundation For Nara Institute Of Science & Technology 仮想入力装置およびプログラム
US6771294B1 (en) * 1999-12-29 2004-08-03 Petri Pulli User interface
JP2006506737A (ja) * 2002-11-19 2006-02-23 モトローラ・インコーポレイテッド 身体中心的な仮想対話型装置および方法
JP2009251154A (ja) * 2008-04-03 2009-10-29 Konica Minolta Holdings Inc 頭部装着式映像表示装置
US8228315B1 (en) * 2011-07-12 2012-07-24 Google Inc. Methods and systems for a virtual input device
WO2013168508A1 (ja) * 2012-05-09 2013-11-14 ソニー株式会社 情報処理装置、情報処理方法、及びプログラム
JP2015504616A (ja) * 2011-09-26 2015-02-12 マイクロソフト コーポレーション 透過近眼式ディスプレイのセンサ入力に基づく映像表示修正
US20150323998A1 (en) * 2014-05-06 2015-11-12 Qualcomm Incorporated Enhanced user interface for a wearable electronic device
JP2016126589A (ja) * 2015-01-06 2016-07-11 セイコーエプソン株式会社 表示システム、プログラム、及び、表示装置の制御方法

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040070563A1 (en) * 2002-10-10 2004-04-15 Robinson Ian Nevill Wearable imaging device
US20060007056A1 (en) * 2004-07-09 2006-01-12 Shu-Fong Ou Head mounted display system having virtual keyboard and capable of adjusting focus of display screen and device installed the same
GB2448310A (en) * 2007-01-31 2008-10-15 Wilico Wireless Networking Sol Interactive information method and system
US8471868B1 (en) * 2007-11-28 2013-06-25 Sprint Communications Company L.P. Projector and ultrasonic gesture-controlled communicator
JP5375828B2 (ja) * 2008-08-29 2013-12-25 日本電気株式会社 位置情報入力装置および位置情報入力方法
US9569001B2 (en) * 2009-02-03 2017-02-14 Massachusetts Institute Of Technology Wearable gestural interface
JP2011134127A (ja) 2009-12-24 2011-07-07 Toshiba Corp 情報処理装置およびキー入力方法
JP5786854B2 (ja) * 2010-03-15 2015-09-30 日本電気株式会社 入力装置、入力方法及びプログラム
WO2011115027A1 (ja) * 2010-03-15 2011-09-22 日本電気株式会社 入力装置、入力方法及びプログラム
CN102763057B (zh) * 2010-03-15 2016-07-13 日本电气株式会社 输入设备、方法和程序
US9069164B2 (en) * 2011-07-12 2015-06-30 Google Inc. Methods and systems for a virtual input device
EP2850609A4 (en) * 2012-05-16 2017-01-11 Mobile Augmented Reality Ltd. Imagine A system worn by a moving user for fully augmenting reality by anchoring virtual objects
US9671566B2 (en) 2012-06-11 2017-06-06 Magic Leap, Inc. Planar waveguide apparatus with diffraction element(s) and system employing same
EP2983138A4 (en) 2013-04-04 2017-02-22 Sony Corporation Display control device, display control method and program
CN105229720B (zh) 2013-05-21 2018-05-15 索尼公司 显示控制装置、显示控制方法以及记录介质
US10262462B2 (en) * 2014-04-18 2019-04-16 Magic Leap, Inc. Systems and methods for augmented and virtual reality
US9857971B2 (en) * 2013-12-02 2018-01-02 Industrial Technology Research Institute System and method for receiving user input and program storage medium thereof
JP5929933B2 (ja) * 2014-01-16 2016-06-08 カシオ計算機株式会社 表示システム、表示端末、表示方法及びプログラム
US10203762B2 (en) * 2014-03-11 2019-02-12 Magic Leap, Inc. Methods and systems for creating virtual and augmented reality
EP4239456A1 (en) * 2014-03-21 2023-09-06 Samsung Electronics Co., Ltd. Method and glasses type wearable device for providing a virtual input interface
KR101909540B1 (ko) * 2014-10-23 2018-10-18 삼성전자주식회사 가상의 입력 영역을 이용한 포터블 디바이스의 사용자 입력 방법
US10698535B2 (en) * 2015-05-21 2020-06-30 Nec Corporation Interface control system, interface control apparatus, interface control method, and program
US9971408B2 (en) * 2016-01-27 2018-05-15 Ebay Inc. Simulating touch in a virtual environment
JP6256497B2 (ja) * 2016-03-04 2018-01-10 日本電気株式会社 情報処理システム、情報処理装置、制御方法、及びプログラム
US10431007B2 (en) * 2016-05-31 2019-10-01 Augumenta Ltd. Method and system for user interaction

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6771294B1 (en) * 1999-12-29 2004-08-03 Petri Pulli User interface
JP2002318652A (ja) * 2001-04-20 2002-10-31 Foundation For Nara Institute Of Science & Technology 仮想入力装置およびプログラム
JP2006506737A (ja) * 2002-11-19 2006-02-23 モトローラ・インコーポレイテッド 身体中心的な仮想対話型装置および方法
JP2009251154A (ja) * 2008-04-03 2009-10-29 Konica Minolta Holdings Inc 頭部装着式映像表示装置
US8228315B1 (en) * 2011-07-12 2012-07-24 Google Inc. Methods and systems for a virtual input device
JP2015504616A (ja) * 2011-09-26 2015-02-12 マイクロソフト コーポレーション 透過近眼式ディスプレイのセンサ入力に基づく映像表示修正
WO2013168508A1 (ja) * 2012-05-09 2013-11-14 ソニー株式会社 情報処理装置、情報処理方法、及びプログラム
US20150323998A1 (en) * 2014-05-06 2015-11-12 Qualcomm Incorporated Enhanced user interface for a wearable electronic device
JP2016126589A (ja) * 2015-01-06 2016-07-11 セイコーエプソン株式会社 表示システム、プログラム、及び、表示装置の制御方法

Also Published As

Publication number Publication date
US10698535B2 (en) 2020-06-30
JP6288372B2 (ja) 2018-03-07
WO2016185845A1 (ja) 2016-11-24
CN107615214A (zh) 2018-01-19
US20180150186A1 (en) 2018-05-31
CN107615214B (zh) 2021-07-13

Similar Documents

Publication Publication Date Title
JP6288372B2 (ja) インタフェース制御システム、インタフェース制御装置、インタフェース制御方法、及びプログラム
JP6057396B2 (ja) 3次元ユーザインタフェース装置及び3次元操作処理方法
KR101844390B1 (ko) 사용자 인터페이스 제어를 위한 시스템 및 기법
JP5936155B2 (ja) 3次元ユーザインタフェース装置及び3次元操作方法
JP6390799B2 (ja) 入力装置、入力方法、及びプログラム
US20170293351A1 (en) Head mounted display linked to a touch sensitive input device
JP6344530B2 (ja) 入力装置、入力方法、及びプログラム
EP3262505B1 (en) Interactive system control apparatus and method
JP6350772B2 (ja) 情報処理システム、情報処理装置、制御方法、及びプログラム
KR102147430B1 (ko) 가상 공간 멀티 터치 인터랙션 장치 및 방법
JPWO2014016992A1 (ja) 3次元ユーザインタフェース装置及び3次元操作方法
US20140071044A1 (en) Device and method for user interfacing, and terminal using the same
JP2004078977A (ja) インターフェイス装置
CN111766937A (zh) 虚拟内容的交互方法、装置、终端设备及存储介质
CN111813214B (zh) 虚拟内容的处理方法、装置、终端设备及存储介质
JP2010205031A (ja) 入力位置特定方法、入力位置特定システムおよび入力位置特定用プログラム
CN111913564B (zh) 虚拟内容的操控方法、装置、系统、终端设备及存储介质
CN117784926A (zh) 控制装置、控制方法和计算机可读存储介质
CN115720652A (zh) 用于具有放大内容的动态速写的系统与方法
CN114003122A (zh) 一种ar界面交互方法与基于该方法的智能指环
CN114647304A (zh) 一种混合现实交互方法、装置、设备及存储介质
CN111857364A (zh) 交互装置、虚拟内容的处理方法、装置以及终端设备

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20171116

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20171116

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20171116

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20171227

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180122

R150 Certificate of patent or registration of utility model

Ref document number: 6288372

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150