JP6341343B2 - 情報処理システム、情報処理装置、制御方法、及びプログラム - Google Patents

情報処理システム、情報処理装置、制御方法、及びプログラム Download PDF

Info

Publication number
JP6341343B2
JP6341343B2 JP2017566966A JP2017566966A JP6341343B2 JP 6341343 B2 JP6341343 B2 JP 6341343B2 JP 2017566966 A JP2017566966 A JP 2017566966A JP 2017566966 A JP2017566966 A JP 2017566966A JP 6341343 B2 JP6341343 B2 JP 6341343B2
Authority
JP
Japan
Prior art keywords
user
marker
sensor
information processing
screen
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
JP2017566966A
Other languages
English (en)
Other versions
JPWO2017138545A1 (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
Application granted granted Critical
Publication of JP6341343B2 publication Critical patent/JP6341343B2/ja
Publication of JPWO2017138545A1 publication Critical patent/JPWO2017138545A1/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/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
    • 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/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/20Movements or behaviour, e.g. gesture recognition
    • G06V40/28Recognition of hand or arm movements, e.g. recognition of deaf sign language
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10016Video; Image sequence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30196Human being; Person
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30204Marker

Landscapes

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

Description

本発明は、情報処理システム、情報処理装置、制御方法、及びプログラムに関する。
ジェスチャ入力等、ユーザが空間上で行った動作をカメラで撮像し、生成された撮像画像を解析することで、情報処理装置に対するユーザの入力操作を認識する技術が開発されている。特許文献1は、ユーザの手のひらのジェスチャ(例えば手のひらを開くジェスチャ)に応じて、その手のひらにメニュー画面を表示したり、そのメニュー画面を切り替えたりする技術を開示している。
特許文献2は、ヘッドマウントディスプレイに表示される仮想キーボードを用いて入力を行う技術を開示している。また、特許文献2は、上記仮想キーボードを実空間上の物に固定することで、ヘッドマウントディスプレイの装着者が頭部を動かしても上記仮想キーボードの位置が変化しないようにする技術を開示している。
米国特許出願公開第2015/0016777号明細書 特表2015−504616号公報
撮像画像に写っているユーザの手などの動きを解析する場合、ユーザが入力操作のために手などを動かしているのか、別の目的で手などを動かしているのかを区別することが難しい。そのため、ユーザが入力操作を行っていないにも関わらず入力操作が誤って認識されたり、ユーザが入力操作を行っているにも関わらず入力操作が認識されなかったりする可能性がある。
本発明は、上記課題に鑑みてなされたものである。本発明の目的は、撮像画像からユーザの入力操作を認識する際の認識精度を向上する技術を提供することである。
本発明の情報処理システムは、1)ユーザに身につけられるか、又はユーザの身体の一部であるマーカと、2)ユーザに身に付けられるセンサと、3)情報処理装置と、4)画面を出力する出力装置と、を有する。
前記情報処理装置は、1)カメラによって生成された撮像画像に写っている前記マーカの位置に基づいて、前記撮像画像に含まれる操作領域を算出する操作領域算出手段と、2)前記センサの検出結果に基づくタイミングにおいて前記操作領域内に写っている操作体の位置を検出するか、又は前記タイミングを含む時間において前記操作領域内に写っている前記操作体の動きを検出し、前記検出した位置若しくは動きに基づいて入力操作を認識する認識手段と、3)前記認識手段によって認識される入力操作の操作対象を含む画面を前記出力装置に出力させる出力制御手段と、を有する。
また、前記出力装置は、乗り物の窓の一部と重なる領域へ前記画面を出力するようにその乗り物に設置される。
本発明の情報処理装置は、本発明の情報処理システムが有する情報処理装置である。
本発明の制御方法は、コンピュータによって実行される。当該制御方法は、1)カメラによって生成された撮像画像に写っているマーカの位置に基づいて、前記撮像画像に含まれる操作領域を算出する操作領域算出ステップと、2)センサの検出結果に基づくタイミングにおいて前記操作領域内に写っている操作体の位置を検出するか、又は前記タイミングを含む時間において前記操作領域内に写っている前記操作体の動きを検出し、前記検出した位置若しくは動きに基づいて入力操作を認識する認識ステップと、3)前記認識ステップによって認識される入力操作の操作対象を含む画面を、画面を出力する出力装置に出力させる出力制御ステップと、を有する。
そして、3)前記マーカは、ユーザに身につけられるか、又はユーザの身体の一部であり、4)前記センサは、ユーザに身に付けられる。また、前記出力装置は、乗り物の窓の一部と重なる領域へ前記画面を出力するようにその乗り物に設置される。
本発明のプログラムは、本発明の制御方法が有する各ステップをコンピュータに実行させる。
本発明によれば、撮像画像からユーザの入力操作を認識する際の認識精度を向上する技術が提供される。
上述した目的、およびその他の目的、特徴および利点は、以下に述べる好適な実施の形態、およびそれに付随する以下の図面によってさらに明らかになる。
実施形態1に係る情報処理システムを例示するブロック図である。 情報処理システムを概念的に説明するための図である。 情報処理装置を実現する計算機の構成を例示する図である。 実施形態1の情報処理装置によって実行される処理の流れを例示するフローチャートである。 センサによって振動が検出された際に、デバイスのディスプレイ装置に表示されている画像が変更される様子を例示する図である。 マーカを中心とする操作領域を例示する図である。 マーカで定まる座標系を例示する図であり、はマーカから離れた場所を中心位置とする操作領域を例示する図である。 において、マーカは、タッチパネルに表示されるマーカ画像である。 操作体の位置を定める方法を例示する第1の図である。 操作体の位置を定める方法を例示する第2の図である。 検出対象タイミングを検出対象時間の開始時点とするケースを例示する図である。 検出対象タイミングを検出対象時間の終了時点とするケースを例示する図である。 ユーザの指がぶれて写っている撮像画像を例示する図である。 操作体の位置に基づいて定まる操作を例示する図である。 操作体の動きによって定まる形状を入力する入力操作を認識する様子を例示する図である。 ジェスチャ入力を例示する図である。 操作体の位置や動きが操作領域内における相対的な位置や動きによって表される様子を例示する図である。 操作体の位置や動きが、撮像画像全体における相対的な位置や動きによって表される様子を例示する図である。 実施形態2の情報処理システムを例示するブロック図である。 出力制御部が出力装置に出力させる画面を例示する図である。 実施形態2の情報処理装置によって実行される処理の流れを例示するフローチャートである。 実施例の情報処理システムの使用環境を例示する図である。 メニュー画面を例示する図である。 エアコンの操作画面の別の例を示す図である。 操作画面がディスプレイ装置に表示される様子を例示する図である。 センサが自動車のハンドルに設けられている様子を例示する図である。 デバイス10が利用されないケースを例示する図である。
以下、本発明の実施の形態について、図面を用いて説明する。尚、すべての図面において、同様な構成要素には同様の符号を付し、適宜説明を省略する。また各ブロック図において、特に説明がない限り、各ブロックは、ハードウエア単位の構成ではなく機能単位の構成を表している。
[実施形態1]
図1は、実施形態1に係る情報処理システム3000を例示するブロック図である。情報処理システム3000は、マーカ3020、センサ3040、及び情報処理装置2000を有する。マーカ3020は、情報処理システム3000のユーザの身体の任意の部分であるか、又は情報処理システム3000のユーザに身に付けられる任意の印である。センサ3040は、情報処理システム3000のユーザに身に付けられるセンサである。例えばセンサ3040は振動センサである。マーカ3020やセンサ3040についての詳細な説明は後述する。
情報処理装置2000は、操作領域算出部2020及び認識部2040を有する。操作領域算出部2020は、カメラによって生成された撮像画像に写っているマーカ3020の位置に基づいて、撮像画像に含まれる操作領域を算出する。
認識部2040は、撮像画像の上記操作領域内に写っている操作体の位置又は動きを算出する。操作体は、ユーザが操作に利用する任意の物である。例えば操作体は、ユーザの身体の一部(指など)や、ユーザの身体によって保持されている物(ペンなど)である。ここで、認識部2040によって算出される操作体の位置は、センサ3040の検出結果に基づくタイミングにおいて操作領域内に写っている操作体の位置である。また、認識部2040によって算出される操作体の動きは、センサ3040の検出結果に基づくタイミングを含む時間において操作領域内に写っている操作体の動きである。
さらに認識部2040は、算出した操作体の位置又は動きに基づいて入力操作を認識する。この入力操作の対象は、情報処理装置2000であってもよいし、他の装置であってもよい。
図2は、情報処理システム3000を概念的に説明するための図である。図2の例において、情報処理システム3000を利用するユーザの手首には、時計型のデバイス10が身に付けられている。マーカ3020は、デバイス10のタッチパネル14に表示されている画像(以下、マーカ画像)である。
マーカ3020は、カメラ20によって撮像される。操作領域算出部2020は、カメラ20によって生成された撮像画像に写っているマーカ3020の位置に基づいて、操作領域40を算出する。
情報処理装置2000は、ユーザによる入力操作の認識に、ユーザに身につけられているセンサ3040を利用する。図2において、センサ3040は、デバイス10に内蔵されている振動センサである。例えばユーザが入力操作をする際に、指30で任意の場所をタップするようにすると、センサ3040により、そのタップに起因する振動が検出される。こうすると、認識部2040は、センサ3040によって振動が検出されたタイミングにおける指30の位置や、センサ3040によって振動が検出されたタイミングを含む時間における指30の動きが、入力操作を表すことを把握できる。よって、認識部2040は、そのタイミングに基づいて指30の位置や動きを算出することで、ユーザが意図した入力操作を正しく認識することができる。
また認識部2040は、操作領域40内から指30を検出する。こうすることで、指30を検出するために画像処理を行うべき画像領域を狭くすることができる。よって、入力操作の認識に要する時間が短くなる。
なお、図2を用いて説明した情報処理装置2000の動作は、情報処理装置2000の理解を容易にするための例示であり、情報処理装置2000の動作は上述の例に限定されるわけではない。情報処理装置2000の動作の詳細やバリエーションについては、以降の記載で説明する。
<作用・効果>
撮像画像に写っている操作体の位置又は動きのみを利用してユーザの入力操作を認識しようとすると、入力操作が行われたことを検出することが難しい。そのため、ユーザが入力操作を行っていないにも関わらず入力操作が誤って認識されたり、ユーザが入力操作を行っているにも関わらず入力操作が認識されなかったりする可能性がある。
そこで本実施形態の情報処理装置2000は、ユーザに身につけられているセンサ3040の検出結果に基づくタイミングにおける操作体の位置、又はセンサ3040の検出結果に基づくタイミングを含む時間における操作体の動きを解析して入力操作を認識する。そのため、入力操作の際にセンサ3040による検出が行われるようにユーザが入力操作を行えば、上記タイミングに基づく操作体の位置や動きは、ユーザの入力操作を表している蓋然性が高い。そのため、ユーザが意図して行った入力操作が正しく認識されるようになり、ユーザが入力操作を行っていないにもかかわらず入力操作が誤って認識されたり、ユーザが入力操作を行っているにもかかわらず入力操作が認識されなかったりすることを防ぐことができる。
また、本実施形態の情報処理装置2000は、カメラ20によって生成された撮像画像に写っているマーカ3020の位置に基づいて、操作領域40を算出する。そして、認識部2040は、操作領域40内から操作体の位置又は動きを算出する。こうすることで、操作体を算出するために画像処理を行うべき画像領域を狭くすることができるため、入力操作の認識に要する時間が短くなる。
以下、本実施形態の情報処理装置2000について、さらに詳細に説明する。
<情報処理装置2000のハードウエア構成の例>
情報処理装置2000の各機能構成部は、各機能構成部を実現するハードウエア(例:ハードワイヤードされた電子回路など)で実現されてもよいし、ハードウエアとソフトウエアとの組み合わせ(例:電子回路とそれを制御するプログラムの組み合わせなど)で実現されてもよい。以下、情報処理装置2000の各機能構成部がハードウエアとソフトウエアとの組み合わせで実現される場合について、さらに説明する。
計算機1000は種々の計算機である。例えば計算機1000は、Personal Computer(PC)、サーバマシン、タブレット端末、又はスマートフォンヘッドなどである。また例えば、計算機1000は、種々の乗り物(自動車、電車、又は航空機など)に搭載されている種々のデバイスを制御する計算機であってもよい。計算機1000は、情報処理装置2000を実現するために設計された専用の計算機であってもよいし、汎用の計算機であってもよい。
図3は、情報処理装置2000を実現する計算機1000の構成を例示する図である。計算機1000は、バス1020、プロセッサ1040、メモリ1060、ストレージ1080、及び入出力インタフェース1100を有する。バス1020は、プロセッサ1040、メモリ1060、及びストレージ1080が、相互にデータを送受信するためのデータ伝送路である。ただし、プロセッサ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と入出力デバイスとを接続するためのインタフェースである。図3において、入出力インタフェース1100にはカメラ20が接続されている。カメラ20は、繰り返し撮像を行って、各撮像結果を表す撮像画像を生成する任意のカメラである。なお、カメラ20は、2次元(2D)カメラであってもよいし、3次元(3D)カメラであってもよい。
カメラ20が設けられる位置は任意である。例えばカメラ20は、ユーザが情報処理システム3000を利用する場所の周囲に設けられる。例えば認識部2040によって認識される入力操作の対象が乗り物に設けられているデバイス(エアコンなど)である場合、カメラ20は、その乗り物内においてユーザが座る場所の周辺に設けられる。例えばユーザが上記乗り物の運転手や操縦者である場合、カメラ20は、運転席や操縦席の周囲(例えば運転席や操縦席の上)に設けられる。
また例えば、カメラ20は、ユーザが身につけている物に取り付けられてもよい。ユーザが身につけている物とは、例えばユーザの衣服、ユーザが首から提げている社員証、又はヘッドマウントディスプレイなどである。
ストレージ1080は情報処理装置2000の各機能を実現するプログラムモジュールを記憶している。プロセッサ1040は、これら各プログラムモジュールを実行することで、そのプログラムモジュールに対応する各機能を実現する。
計算機1000のハードウエア構成は図3に示した構成に限定されない。例えば、各プログラムモジュールはメモリ1060に格納されてもよい。この場合、計算機1000は、ストレージ1080を備えていなくてもよい。また、カメラ20を計算機1000に接続する方法は、入出力インタフェース1100を介して接続する方法に限定されない。例えばカメラ20は、ネットワークを介して計算機1000に接続されてもよい。この場合、計算機1000は、ネットワークに接続するためのネットワークインタフェースを有する。
<<センサ3040について>>
センサ3040は、ユーザによる入力操作のタイミングを把握するために利用できる任意のセンサである。例えばセンサ3040は、前述した振動センサである。振動センサが設けられる場所は任意である。例えば振動センサは、前述したようにデバイス10の内部に設けられる。また例えば、振動センサは、ユーザの腕や手などに貼られてもよいし、ユーザの衣服(服の袖など)に設けられてもよい。
センサ3040が振動センサである場合、ユーザは、入力操作を行うタイミング又はそれに近いタイミングで、センサ3040が身に付けられている箇所又はその付近に対して振動を加える。例えばユーザは、左の手首に振動センサが内蔵されているデバイス10が身に付けられている状態で、右手を使って左の腕部の任意の箇所に対して振動を加える。その結果、振動センサに対して振動が伝わり、その振動が振動センサによって検出される。
また例えば、ユーザは、入力操作を行うタイミング又はそれに近いタイミングで、センサ3040が身に付けられている部位などを用いて、他の場所に振動を加える。例えばユーザは、右の手首に振動センサが内蔵されているデバイス10が身に付けられている状態で、右手を使って任意の場所(例えば机)に対して振動を加える。その結果、振動センサにも振動が伝わるため、振動センサによる振動の検出が行われる。
なお、センサ3040は、振動センサに限定されない。例えばセンサ3040は、圧力センサや静電容量センサでもよい。圧力センサや静電容量センサが設けられる場所は任意である。例えば圧力センサや静電容量センサは、デバイス10のタッチパネルに設けられる。また例えば、圧力センサや静電容量センサは、ユーザの腕や手などに貼られたり巻き付けられたりするシートなどに設けられてもよい。また例えば、圧力センサや静電容量センサは、ユーザの衣服(服の袖など)に設けられてもよい。
センサ3040が静電容量センサである場合、ユーザは、センサ3040が身に付けられている箇所に触れる。これにより、静電容量センサによって静電容量の変化が検出される。また例えば、センサ3040が圧力センサである場合、ユーザは、センサ3040が身に付けられている箇所に圧力を加える。これにより、圧力センサによって圧力が検出される。
なお、センサ3040による検出を行わせるための動作(振動を加える動作など)は、操作体によって行われてもよいし、操作体以外を用いて行われてもよい。
<処理の流れ>
図4は、実施形態1の情報処理装置2000によって実行される処理の流れを例示するフローチャートである。情報処理装置2000は、センサ3040による検出結果を把握する(S102)。情報処理装置2000は、撮像画像を取得する(S104)。操作領域算出部2020は、撮像画像に写っているマーカ3020の位置を算出する(S106)。操作領域算出部2020は、算出されたマーカ3020の位置に基づいて、撮像画像に含まれる操作領域を算出する(S108)。認識部2040は、センサ3040の検出結果に基づくタイミングにおける操作領域内の操作体の位置、又はそのタイミングを含む時間における操作領域内の操作体の動きを算出する(S110)。認識部2040は、算出した操作体の位置又は動きに基づいて入力操作を認識する(S112)。
なお、情報処理装置2000によって実行される処理の流れは図4に示した流れに限定されない。例えば、センサ3040による検出結果の把握(S102)は、撮像画像の取得(S104)やマーカ3020の位置の算出(S106)の後に行われてもよい。
<撮像画像を取得する方法:S102>
情報処理装置2000は、カメラ20によって生成された撮像画像を取得する(S104)。情報処理装置2000が撮像画像を取得する方法は様々である。例えば情報処理装置2000は、カメラ20から撮像画像を取得する。この場合、情報処理装置2000とカメラ20とは通信可能に接続されている。
また、カメラ20が外部の記憶装置に撮像画像を記憶する場合、情報処理装置2000は、この記憶装置から撮像画像を取得する。この場合、情報処理装置2000は、この記憶装置と通信可能に接続されている。
なお、情報処理装置2000は、カメラ20によって生成される撮像画像の全てを取得してもよいし、一部のみを取得してもよい。後者の場合、例えば情報処理装置2000は、認識部2040によって操作体の位置又は動きの認識に用いられる操作画像のみを取得する。なお後述するように、認識部2040によって操作体の位置又は動きの認識に用いられる操作画像は、センサ3040の検出結果に基づくタイミングで定まる。
<センサ3040の検出結果の把握方法:S104>
情報処理装置2000は、センサ3040の検出結果を把握する(S104)。情報処理装置2000がセンサ3040の検出結果を把握する方法は様々である。以下、その方法を例示する。
<<無線通信の利用>>
例えば情報処理装置2000は、センサ3040を内蔵するデバイス10と無線通信を行うことにより、センサの検出結果を示す情報を取得する。この情報を用いて、情報処理装置2000は、センサ3040の検出結果を把握する。
例えばデバイス10は、センサが所定の大きさ以上の振動を検出したタイミングで、情報処理装置2000に対して所定の信号を送信する。この場合、情報処理装置2000は、この所定の信号を受信することにより、「センサ3040によって振動が検出された」というセンサの検出結果を取得することができる。
また例えば、デバイス10は、センサ3040によって所定の大きさ以上の振動が検出された場合に、その振動が検出された時点を示す情報を情報処理装置2000に送信しても良い。
<<デバイス10の外観の変化の検出>>
デバイス10は、センサ3040による振動の検出に応じてデバイス10の外観を変化させてもよい。この場合、情報処理装置2000は、カメラ20によって生成された撮像画像を用いてデバイス10の外観の変化を検出することで、センサ3040の検出結果(センサ3040によって振動が検出されたこと)を把握する。
例えばデバイス10がディスプレイ装置を有する場合、デバイス10は、センサ3040によって所定の大きさ以上の振動が検出されたときに、ディスプレイ装置の表示を変更する。より具体的には、デバイス10は、センサ3040によって所定の大きさ以上の振動が検出されたとき、デバイス10のディスプレイ装置に表示されている画像を変更するか、又は何も表示されていなかったディスプレイ装置に新たに画像を表示する。情報処理装置2000は、カメラ20によって繰り返し生成される撮像画像を解析することで、デバイス10のディスプレイ装置の表示が変更されたことを検出する。これにより、情報処理装置2000は、センサによって振動が検出されたことを把握する。図5は、センサ3040によって振動が検出された際に、デバイス10のディスプレイ装置に表示されている画像が変更される様子を例示する図である。
また例えば、デバイス10は、センサ3040によって振動が検出された場合に、デバイス10のディスプレイ装置のバックライトやデバイス10に設けられた LED(Light Emitting Diode)ライトなどのライトを点灯又は点滅させてもよい。情報処理装置2000は、カメラ20によって繰り返し生成される撮像画像を解析することで、これらのライトの点灯や点滅を検出する。これにより、情報処理装置2000は、センサ3040によって振動が検出されたことを把握する。
このように、センサ3040による振動の検出に応じてデバイス10の外観を変化させることによって情報処理装置2000がその振動の検出を把握すれば、デバイス10と情報処理装置2000との間で無線通信を行う必要がない。そのため、他に無線通信の必要性がない限り、デバイス10や情報処理装置2000は無線通信の機能を有さなくてよい。
情報処理装置2000が振動センサ以外のセンサによる検出結果を把握する方法は、振動センサについて説明した上述の方法と同様である。例えばセンサが圧力センサである場合、デバイス10や情報処理装置2000は、圧力センサが所定の大きさ以上の圧力を検出したときに、振動センサが所定の大きさ以上の振動を検出したときと同様の処理を行う。また例えば、センサが静電容量センサである場合、デバイス10や情報処理装置2000は、静電容量センサが所定の大きさ以上の静電容量の変位を検出したときに、振動センサが所定の大きさ以上の振動を検出したときと同様の処理を行う。
<マーカ3020について>
マーカ3020は、カメラ20によって生成される撮像画像において少なくともその位置が特定できる任意の印である。例えばマーカ3020は、3次元の座標系の決定に利用できるマーカである。3次元の座標系の決定に利用できるマーカは、例えば AR(Augmented Reality)マーカである。ただし、3次元の座標系の決定に利用できるマーカは、参照方向によらず、或る基準点からの相互に直交する3つの方向を一定に得ることができるものであればよく、AR マーカには限定されない。また、マーカ3020は、その位置が特定できる印であればよく、必ずしも3次元の座標系の決定に利用できる必要はない。
マーカ3020がユーザの身体に身に付けられるものである場合、マーカ3020は、ユーザの身体の任意の箇所に取り付けることができる。例えばマーカは、ユーザの腕部に身に付けられる。ここで腕部とは、手及び手から肩にかけての部分を意味する。
例えばこの場合、マーカは、ユーザの腕部に取り付けられたデバイス10のディスプレイ装置に表示される画像である。デバイス10は、ディスプレイ装置上に画像を表示する機能を有する任意の電子機器である。なおデバイス10は、ユーザの腕に直接取り付けられてもよいし、服の上からユーザの腕に取り付けられてもよい。
例えば図2では、マーカ3020は、デバイス10のタッチパネル14に表示されているマーカ画像である。マーカ画像は、予めデバイス10に記憶されている画像であってもよいし、デバイス10の外部にある記憶装置に記憶されている画像であってもよい。後者の場合、デバイス10は、マーカ画像を記憶装置から取得して表示する。
マーカ3020は、上述のようにデバイスに表示されるものに限定されない。またマーカ3020は、ユーザの腕部などに直接描画されていてもよいし、ユーザの腕部などにある任意の物に描画されていてもよい。後者の場合、例えばマーカ3020は、ユーザの指に取り付けられている指輪、ユーザの手首に取り付けられているリストバンド、又はユーザが着ている服の袖などに描画される。なお、マーカ3020は、手で描画されてもよいし、印字されてもよい。
さらにマーカ3020は、ユーザの身体の特定の部分であってもよい。例えばマーカ3020は、ユーザの手の甲などである。
なお、操作領域算出部2020が何をマーカ3020として認識するのかを示す情報は、マーカ3020に予め設定されていてもよいし、操作領域算出部2020からアクセス可能な記憶装置に記憶されていてもよい。
また、操作領域算出部2020がマーカ3020として扱う物は、一種類であってもよいし、複数種類であってもよい。
<マーカ3020の位置の算出方法:S106>
操作領域算出部2020は、撮像画像に写っているマーカ3020の位置を算出する(S106)。そのためマーカ3020は、マーカ3020として扱うものを特定する情報(マーカ3020に関する形状、サイズ、色などについての情報など:以下、マーカ情報)を利用する。この情報は、予め操作領域算出部2020に設定されていてもよいし、操作領域算出部2020からアクセス可能な記憶装置に記憶されていてもよい。
操作領域算出部2020は、マーカ情報を用いて、撮像画像に写っているマーカ3020を検出する。そして操作領域算出部2020は、検出したマーカの位置を算出する。ここで、画像内から所定の物を検出し、さらにその物の画像内における位置を算出する技術には、既知の様々な技術を利用できる。
<操作領域40の算出方法:S108>
操作領域算出部2020は、算出したマーカ3020の位置に基づいて、操作領域40を算出する(S108)。操作領域40は、マーカ3020の位置を基準として定められる任意の領域である。例えば操作領域40は、マーカ3020の位置(例えば中心位置)を中心位置とする所定形状で定まる領域である。この所定形状は、円形や矩形など、任意の形状である。
図6は、マーカ3020を中心とする操作領域40を例示する図である。図6において、操作領域40は、マーカ3020の中心位置を中心位置とし、幅が所定の長さ w であり、高さが所定の長さ h である矩形である。
ただし、マーカ3020の位置によって定まる位置は、操作領域40の中心位置に限定されない。例えば、マーカ3020の位置によって操作領域40の左上端などの位置が定まってもよい。
また例えば操作領域40は、マーカ3020の位置から所定方向に所定距離離れた場所に中心位置などがある領域であってもよい。図7は、マーカ3020から離れた場所を中心位置とする操作領域40を例示する図である。図7の操作領域40の形状は、図6の操作領域40の形状と同一である。ただし、図7の操作領域40の中心位置は、マーカ3020から矢印41によって定まる方向及び距離 d だけ移動した場所である。また図2において、操作領域40は、マーカ3020の位置から、マーカ3020が身に付けられている腕部の手のひらの方向へ所定距離離れた場所を中心とする領域である。
なお、矢印41が表す方向は、撮像画像における座標系で定まる方向であってもよいし、その他の座標系で定まる方向であってもよい。前者の場合、例えば矢印41は、撮像画像の右方を x 軸方向とし、撮像画像の下方を y 軸方向とする座標系における方向を表す。一方、後者の場合、例えば矢印41は、マーカ3020で定まる座標系における方向を表す。図7は、マーカ3020で定まる座標系42を例示する図である。図8において、マーカ3020は、タッチパネル14に表示されるマーカ画像である。なおこの場合、マーカ画像は、3次元の座標の決定に用いることができる AR マーカなどである。
なお、所定範囲の大きさや形状を表す情報や、どの場所をマーカ3020の中心とするかを表す情報(矢印41の情報など)は、操作領域算出部2020に予め設定されていてもよいし、操作領域算出部2020からアクセス可能な記憶装置に記憶されていてもよい。
<操作体について>
認識部2040によって操作体として扱われる物は様々である。例えば認識部2040は、ユーザの腕部の一部(指など)や、ユーザの腕部によって保持される物(ペンなど)を操作体として扱う。この場合、ユーザは、カメラ20の撮像範囲内で指やペンなどを動かすことにより、入力操作を行う。なお、マーカ3020がユーザの腕部に身に付けられ、なおかつ操作体がユーザの腕部の一部である場合、マーカ3020が身に付けられる腕部と操作体として扱われる腕部は同一(両方とも左腕又は右腕)であってもよいし、異なっていてもよい(片方は左腕、もう片方は右腕)。このことは、操作体がユーザの腕部の一部によって保持される物である場合についても同様である。
また例えば、認識部2040は、物やユーザの身体に付されたマーカを操作体として扱ってもよい。例えばこのマーカは、ユーザの身体(指など)に付される。また例えば、このマーカは、ユーザが保持する物(ペンなど)に付される。また例えば、このマーカは、ユーザが身につける物に付される。ユーザに身につけられる物は、例えば前述したセンサが内蔵されているデバイス10や、ユーザの指にはめられる指輪などである。
認識部2040が何を操作体として扱うかを示す情報は、認識部2040に予め設定されていてもよいし、認識部2040からアクセス可能な記憶装置に記憶されていてもよい。
なお、認識部2040が操作体として扱う物は、一種類であってもよいし、複数種類であってもよい。
<操作体の位置を検出する方法:S110>
認識部2040は、センサ3040の検出結果に基づくタイミングにおける操作体の位置を検出する(S110)。以下、「センサ3040の検出結果に基づくタイミング」を検出対象タイミングと表記する。
検出対象タイミングは、センサ3040によって振動などが検出されたタイミング又はこれに近いタイミングである。例えばセンサ3040によって振動などが検出された場合にデバイス10から情報処理装置2000へ所定の信号が送信される場合、検出対象タイミングは、情報処理装置2000がこの所定の信号を受信した時点である。また例えば、センサ3040によって振動などが検出された時点を示す情報がデバイス10から情報処理装置2000へ送信される場合、検出対象タイミングは、この情報によって示される時点である。また例えば、センサ3040によって振動などが検出された場合にデバイス10の外観に所定の変化が加わる場合、検出対象タイミングは、情報処理装置2000によってこの所定の変化が検出された時点である。
また、認識部2040は、上述した種々のタイミング(情報処理装置2000がデバイス10から所定の信号を受信した時点など)よりも所定時間前又は後の時点を検出対象タイミングとしてもよい。
認識部2040が前述したどの時点を検出対象タイミングとして扱うかや、上述の所定時間を示す情報は、認識部2040に予め設定されていてもよいし、認識部2040からアクセス可能な記憶装置に記憶されていてもよい。
認識部2040は、検出対象タイミングにおいてカメラ20によって生成された撮像画像から操作体の位置を検出する。ここで一般に、カメラ20は間欠的に撮像画像を生成するため(例えば 30 fps(フレーム/秒)の頻度)、検出対象タイミングと一致する時点で生成された撮像画像が無い場合もある。この場合、認識部2040は、検出対象タイミングの直前又は直後に生成された撮像画像を用いる。
認識部2040は、撮像画像の操作領域40内から操作体を検出する。ここで、画像の所定領域内に写っている所定のオブジェクトを検出する技術には、既知の技術を利用できる。
認識部2040が操作体の位置を定める方法は様々である。例えば認識部2040は、操作領域40の中から操作体を表す領域を割り出す。そして、認識部2040は、割り出した領域に含まれる点を、操作体の位置とする。この際、操作体の位置は、操作体を表す領域に含まれる任意の点でよい。
例えば操作体がユーザの身体の一部やユーザに保持されている物体である場合、認識部2040は、操作体を表す領域の重心を算出する。そして、認識部2040は、操作体を表す領域に含まれ、なおかつその領域の重心から最も遠い点を、操作体の位置とする。この方法によれば、例えば指先やペン先などが操作体の位置となる。
図9は、操作体の位置を定める方法を例示する第1の図である。図9において、操作体はユーザの手である。まず認識部2040は、操作領域40の中からユーザの手を表す領域60を割り出す。次に認識部2040は、領域60の重心62を算出する。そして認識部2040は、領域60に含まれる点であり、なおかつ重心62から最も遠い点64を、操作体の位置とする。なお、重心62から最も遠い点が領域60の中に複数ある場合、例えば認識部2040は、これら複数の点のうち、マーカ3020から最も遠い点を操作体の位置とする。
ここで、例えば指の腹で入力操作を行う場合など、指先とは少しずれた場所を操作体の位置として扱うことが好ましい場合もある。そこで認識部2040は、操作体の重心から最も遠い点64を算出し、さらにこの点から少しずらした位置(例えばマーカ3020へ近づく方向に所定距離ずらした位置)を操作体の位置としてもよい。操作体の重心から最も遠い点64と操作体の位置との位置関係を表す情報は、認識部2040に予め設定されていてもよいし、認識部2040からアクセス可能な記憶装置に記憶されていてもよい。
操作体が物やユーザの身体に付されたマーカである場合、例えば認識部2040は、撮像画像からこのマーカを表す領域を割り出し、その領域の中心位置などを操作体の位置とする。
また、認識部2040が、操作体として検出すべき物を表す参照画像を利用して、操作体を検出するとする。この場合、この参照画像において、操作体の位置を予め定義しておいてもよい。認識部2040は、操作領域40の中から参照画像と類似する領域を割り出す。そして、認識部2040は、その領域において、参照画像において定義されている操作体の位置と対応する点を割り出し、その点を操作体の位置として扱う。
図10は、操作体の位置を定める方法を例示する第2の図である。この例において、操作体はユーザの指である。参照画像120は、ユーザの指の形状などを表す参照画像である。操作体の位置122は、参照画像において予め定義されている、操作体の位置である。
認識部2040は、操作領域40の中から、参照画像120と類似する領域130を割り出す。この領域130はユーザの指を表す。さらに認識部2040は、参照画像120を領域130にマッピングした際に操作体の位置122と対応する点132を割り出す。そして、認識部2040は点132を操作体の位置として扱う。
認識部2040が操作体の位置をどのように定めるかを表す情報は、認識部2040に予め設定されていてもよいし、認識部2040からアクセス可能な記憶装置に記憶されていてもよい。
<操作体の動きを検出する方法:S110>
認識部2040は、検出対象タイミングを含む時間における操作体の動きを検出する(S110)。以下、「検出対象タイミングを含む時間」を検出対象時間と表記する。
認識部2040は、検出対象タイミングを用いて検出対象時間の開始時点及び終了時点を決定する。例えば認識部2040は、検出対象タイミングを検出対象時間の開始時点とする。図11は、検出対象タイミングを検出対象時間の開始時点とするケースを例示する図である。図11(a)の場合、認識部2040は、センサ3040によって振動が検出された時点を検出対象タイミングとしている。図11(b)の場合、認識部2040は、センサ3040によって振動が検出された時点よりも所定時間前の時点を検出対象タイミングとしている。図11(c)の場合、認識部2040は、センサ3040によって振動が検出された時点よりも所定時間後の時点を検出対象タイミングとしている。
また例えば、認識部2040は、検出対象タイミングを検出対象時間の終了時点とする。図12は、検出対象タイミングを検出対象時間の終了時点とするケースを例示する図である。図12(a)の場合、認識部2040は、センサ3040によって振動が検出された時点を検出対象タイミングとしている。図12(b)の場合、認識部2040は、センサ3040によって振動が検出された時点よりも所定時間前の時点を検出対象タイミングとしている。図11(c)の場合、認識部2040は、センサ3040によって振動が検出された時点よりも所定時間後の時点を検出対象タイミングとしている。
認識部2040は、検出対象タイミングを1つ又は2つ用いて検出対象時間を定める。検出対象タイミングを1つ用いて検出対象時間を定める場合、例えば認識部2040は、図11のいずれかの方法で検出対象時間の開始時点を定め、その時間から所定時間後の時点を検出対象時間の終了時点とする。また例えば、認識部2040は、図12のいずれかの方法で検出対象時間の終了時点を定め、その時間から所定時間前の時点を検出対象時間の終了時点とする。
検出対象タイミングを2つ用いて検出対象時間を定める場合、認識部2040は、図11のいずれかの方法で検出対象時間の開始時点を定め、なおかつ図12のいずれかの方法で検出対象時間の終了時点を定める。
なお、センサ3040によって振動が検出される時点以前を検出対象時間の開始時点とする場合(図11(a)又は図11(b))や、検出対象タイミングを1つのみ用い、なおかつ図12のように検出対象タイミングによって検出対象時間の終了時点を定める場合、カメラ20は、センサ3040によって振動が検出される前から撮像画像を生成している必要がある。この場合、カメラ20は、センサ3040によって振動が検出される前から撮像を開始する。例えばカメラ20は、ユーザが情報処理装置2000の利用を開始してから終了するまでの間、継続して撮像を行う。また、カメラ20によって生成される撮像画像は、所定期間継続して記憶装置などに記憶される。
一方、センサ3040によって振動が検出された時点よりも後の時点を検出対象時間の開始時点とする場合(図11(c))、カメラ20は、センサ3040によって振動が検出されてから撮像を開始してもよい。この場合、例えばカメラ20は、デバイス10又は情報処理装置2000から、センサ3040によって振動が検出された旨の信号を受信し、その信号を受信したタイミングで撮像を開始する。
なお、上述した各所定時間を表す情報は、認識部2040に予め設定されていてもよいし、認識部2040からアクセス可能な記憶装置に記憶されていてもよい。また、検出対象時間の開始時点の決定に用いる所定時間と、検出対象時間の終了時点に用いる所定時間は、同じであってもよいし、異なっていてもよい。
認識部2040は、検出対象時間において生成された撮像画像を用いて操作体の動きを検出する。検出対象時間において生成された撮像画像が複数ある場合、例えば認識部2040は、それら複数の撮像画像の操作領域40それぞれについて画像解析を行うことで、各操作領域40内の操作体の位置を算出する。そして認識部2040は、操作体の位置の変化を表す情報を、操作体の動きを表す情報とする。操作体の位置の変化を表す情報は、例えば操作体の位置を時系列で並べた情報である。
検出対象時間において生成された撮像画像は1つであってもよい。動いている操作体は、1つの撮像画像にぶれた状態で写ることが多い。そこで認識部2040は、その1つの撮像画像にぶれて写っている操作体の画像から、操作体の動きを算出する。
図13は、ユーザの指がぶれて写っている撮像画像22を例示する図である。撮像画像22では、ユーザの指30が、指30−Aから指30−Bへ移動するようにぶれて写っている。認識部2040は、指30−Aと指30−Bに共通する特徴点の位置の変化を、操作体の動きとして検出する。例えば認識部2040は、指30−Aの指先と指30−Bの指先の位置の変化によって定まる動き50を検出する。
<認識部2040によって認識される入力操作:S112>
認識部2040は、検出した操作体の位置又は動きに基づいて入力操作を認識する(S112)。認識部2040は、操作体の位置又は動きに基づいて定まる様々な入力操作を認識できる。以下、認識部2040によって認識できる種々の入力操作を例示する。
<<操作体の位置に基づいて定まる入力操作>>
例えば認識部2040は、操作体の位置に基づいて、複数の選択肢から一つを選択する入力操作(以下、選択操作)を受け付ける。例えば選択操作には、YES 又は NO を選択する操作や、上下を選択する操作などがある。上下を選択する操作には、エアコンの温度又は風向を調節する操作などがある。
例えば、認識部2040は、操作領域40の上半分の中に操作体が位置している場合には第1の選択肢を選択する操作を認識し、操作領域40の下半分の中に操作体が位置している場合には第2の選択肢を選択する操作を認識する。
図14は、操作体の位置に基づいて定まる操作を例示する図である。図14において、操作領域40は、タッチパネル14に写っているマーカ画像から手の甲の方向へ所定距離離れた位置を中心とする矩形である。図14(a)のように指30を伸ばすと、指30は操作領域40の上半分に収まる。一方、図14(b)のように指30を折り曲げると、指30は操作領域40の下半分に収まる。
例えば図14に示す操作は、エアコンの温度設定の変更に利用できる。ユーザは、エアコンの温度を上げたい際には、図14(a)のように指30を伸ばした状態で、任意の場所を指30でタップする。すると認識部2040は、センサ3040によってタップの振動が検出されたタイミングにおいて、操作領域40の上半分の中に指30が位置していることを検出する。そして認識部2040は、「上」という入力操作を認識する。この「上」という入力操作を示す信号は、情報処理装置2000からエアコンの制御装置へ送られる。そしてエアコンの制御装置は、「上」という入力操作に基づき、エアコンの設定温度を所定値(例えば1度)上げる。
一方ユーザは、エアコンの温度を下げたい際には、図14(b)のように指30を折り曲げた状態で、任意の場所を指30でタップする。すると認識部2040は、センサ3040によってタップの振動が検出されたタイミングにおいて、操作領域40の下半分の中に指30が位置していることを検出する。そして認識部2040は、「下」という入力操作を認識する。そして、この「下」という入力操作を示す信号が情報処理装置2000からエアコンの制御装置へ送られ、この信号を受信したエアコンの制御装置がエアコンの設定温度を所定値(例えば1度)下げる。
このように、操作領域40内における操作体の相対位置によって(例えば、操作領域40の上半分と下半分のどちらに位置しているかによって)入力操作を認識する方法によれば、物理的なボタンやキーボードなどを用いて入力操作する場合と異なり、ユーザは任意の場所で入力操作を行うことができる。よって、入力操作を自由な場所で行え、なおかつ入力装置を見る必要もないため、ユーザは入力操作を容易に行うことができる。
なお、図14に示すように操作領域40を分割する方法は、上半分と下半部に限定されない。例えば認識部2040は、操作領域40を左右に2分割したり、操作領域40を上下左右に4分割したりしてもよい。
<<操作体の動きに基づいて定まる入力操作>>
認識部2040は、1)検出した操作体の動きに基づく形状を入力する入力操作を認識としてもよいし、2)検出した操作体の動きに対応する所定の入力操作を認識してもよい。以下、それぞれについて説明する。
<<操作体の動きに基づく形状を入力する入力操作を認識するケース>>
図15は、操作体の動きによって定まる形状を入力する入力操作を認識する様子を例示する図である。図15(a)では、認識部2040は、操作体の動き50−Aが表す形状51や、動き50−Bが表す形状52を入力する入力操作を認識する。例えばこの入力操作は、手書き入力を行う入力操作で利用される。
図15(b)では、認識部2040は、操作体の動きとは異なる形状ではあるものの、操作体の動きによって形状及び大きさが定まる形状を入力する入力操作を認識する。具体的には、認識部2040は、動き50−Cの両端を対角線の両端とする矩形44や、動き50−Cの両端を直径の両端とする円形56を入力する入力操作を認識する。例えばこの入力は、ユーザがある範囲を表す入力(選択操作など)を行う際や、所定の図形の描画を行う際に用いられる。
図15(a)に示した方法と図15(b)で示した方法のどちらを用いるのかは、予め固定されていてもよいし、ユーザによって設定可能であってもよい。また、上記どちらの方法を用いるのかを示す情報は、認識部2040に予め設定されていてもよいし、認識部2040からアクセス可能な記憶装置に記憶されていてもよい。
<<操作体の動きに対応する所定の入力操作を認識するケース>>
検出した操作体の動きに対応する所定の入力操作は、例えばジェスチャ入力による入力操作である。図16は、ジェスチャ入力を例示する図である。図16(a)はフリック動作を表し、図16(b)はピンチイン・ピンチアウト動作を表している。なお、矢印は操作体の動きを表している。
操作体の動きと、その動きに対応する所定の入力操作とを関連付ける情報は、認識部2040に予め設定されていてもよいし、認識部2040からアクセス可能な記憶装置に予め記憶されていてもよい。
<<操作体を動かす動作が行われた場所の取り扱いについて>>
認識部2040は、1)操作体を動かす動作が行われた位置に関係なく、その操作体の動きのみを入力として認識してもよいし、2)操作体の動きと、その操作体を動かす動作が行われた位置との組み合わせを入力として認識してもよい。前者の場合、操作体を動かす動作が撮像画像22上のどの場所で行われても、同じ操作体の動きは同じ入力を表す。一方後者の場合、操作体を動かす動作が撮像画像22上のどの場所で行われたかが意味を持つ。例えばユーザが撮像画像に写っている特定の物を丸で囲む入力を行う場合、丸という形状だけでなく、その丸によって何が囲われたかが意味を持つ。
1)の場合、認識部2040は、前述したように認識部2040によって検出された操作体の動きで定まる形状や、操作体の動きで定まるジェスチャを、入力として認識する。一方2)の場合、認識部2040は、認識部2040によって検出された撮像画像22上の操作体の座標の遷移を入力として認識する。
認識部2040が1)と2)のどちらの方法で入力を認識するのかは、予め認識部2040に設定されていてもよいし、認識部2040からアクセス可能な記憶装置に記憶されていてもよいし、ユーザによって選択可能であってもよい。
<操作体の位置や動きの表し方について>
認識部2040が認識する操作体の位置や動きは、操作領域40内における相対的な位置や動きであってもよいし、撮像画像全体における相対的な位置や動きであってもよい。
図17は、操作体の位置や動きが操作領域40内における相対的な位置や動きによって表される様子を例示する図である。図17において、操作領域40は矩形で表されている。
図17(a)は、操作体の位置を入力操作として認識するケースである。図17(a)において、操作体の位置である座標 (x1, y1) は、操作領域40の左上端を原点とし、操作領域40を平面視した場合における右方向を x 軸とし、操作領域40を平面視した場合における下方向を y 軸とする座標系における座標である。
図17(b)は、操作体の動きを入力操作として認識するケースである。図17(b)において、操作体の位置は (x2, y2)、(x3, y3)、(x4, y4) の順に変化している。これらの座標はいずれも、図17(a)で説明した座標系における座標である。操作体の動きは、例えばこれらの座標を時系列で並べた情報によって表される。なお、矢印は操作体の軌跡を表す。ただし、図を見やすくするため、上記矢印は、操作体の実際の軌跡とずれた位置に描画されている。
一方図18は、操作体の位置や動きが、撮像画像全体における相対的な位置や動きによって表される様子を例示する図である。図18(a)は、操作体の位置を入力操作として認識するケースである。図18(a)において、操作体の位置である座標 (x1, x1) は、撮像画像22の左上端を原点とし、撮像画像22を平面視した場合における右方向を x 軸とし、撮像画像22を平面視した場合における下方向を y 軸とする座標系における座標である。
図18(b)は、操作体の動きを入力操作として認識するケースである。図18(b)において、操作体の位置は (x2, y2)、(x3, y3)、(x4, y4) の順に変化している。これらの座標はいずれも、図18(a)で説明した座標系における座標である。操作体の動きは、例えばこれらの座標を時系列で並べた情報によって表される。なお、図17(b)と同様に、矢印は操作体の軌跡を表す。
図17に示したように操作体の位置や動きを操作領域40内における相対的な位置や動きで認識する方法は、ユーザが比較的小さな動作で入力操作を行うケースに適している。例えばデバイス10がユーザの手首に身に付けられており、タッチパネル14にマーカ画像が表示されるとする。また、操作体がユーザの指であるとする。この場合、例えばユーザは、適当な場所(例えば机上など)にデバイス10が身に付けられている手首を置く。これにより、マーカ3020の位置が概ね固定される。そしてユーザは、手首を支点として指を動かし、入力操作を行う(図17(b)参照)。ただし、マーカ3020の位置は必ずしも固定される必要はない。
一方、図18に示したように操作体の位置や動きを撮像画像全体における相対的な位置や動きで認識する方法は、ユーザが比較的大きな動作で入力操作を行うケースに適している。例えばデバイス10がユーザの手首に身に付けられており、タッチパネル14にマーカ画像が表示されるとする。また、操作体がユーザの指であるとする。この場合、例えばユーザは、手や腕を全体的に動かして入力操作を行う(図18(b)参照)。
操作体の位置や動きを、操作領域40内における相対的な位置や動きと、撮像画像全体における相対的な位置や動きのどちらによって表すかを示す情報は、認識部2040に予め設定されていてもよいし、認識部2040からアクセス可能な記憶装置に記憶されていてもよい。また、操作体の位置や動きを表す方法は、操作体の位置や動きを表すことができる任意の方法でよく、上述した2つの方法には限定されない。
[実施形態2]
図19は、実施形態2の情報処理システム3000を例示するブロック図である。以下で説明する点を除き、実施形態2の情報処理システム3000は、実施形態1の情報処理システム3000と同様の機能を有する。
実施形態2の情報処理システム3000は出力装置3060を有する。出力装置3060は、画面を出力する任意の装置である。例えば出力装置3060は、プロジェクタなど、画面を投影する装置である。また例えば、出力装置3060は、画面を表示するディスプレイ装置である。
実施形態2の情報処理装置2000は出力制御部2060を有する。出力制御部2060は、出力装置3060に画面を出力させる。出力制御部2060が出力装置3060に出力させる画面には、認識部2040によって認識される入力操作の操作対象が含まれている。
図20は、出力制御部2060が出力装置3060に出力させる画面を例示する図である。図20において、操作画面70には、ボタン72、ボタン74、カーソル76、及びアイコン78、及び設定温度79が含まれている。アイコン78は、操作対象をユーザが認識するための絵である。アイコン78を見ることで、ユーザは、操作対象がエアコンの温度設定であることが分かる。ボタン72は、エアコンの温度設定を上げるためのボタンである。ボタン74は、エアコンの温度設定を下げるためのボタンである。カーソル76は、ユーザの入力操作によって操作される対象を示すカーソルである。設定温度79は、現在の設定温度を表している。
図20(a)は、ユーザによる入力操作が行われる前の操作画面70を表している。例えばボタン72を押下する入力操作を認識部2040が認識すると、エアコンの制御装置に対して「上」という入力を表す信号が送信される。その結果、エアコンの制御装置は、エアコンの設定温度を上げる制御を行う。一方、ボタン74を押下する入力操作を認識部2040が認識すると、エアコンの制御装置に対して「下」という入力を表す信号が送信される。その結果、エアコンの制御装置は、エアコンの設定温度を下げる制御を行う。
図20(b)は、ユーザによる入力操作が行われた後の操作画面70を表している。具体的には、ユーザがボタン74を押下する入力操作を行った後の操作画面70を表している。この入力操作の結果、操作画面70に表示されているエアコンの設定温度は、24℃から23℃に変更されている。
ここで、ユーザがカーソル76を動かすために行う入力操作は様々である。例えばユーザは、カーソル76を動かすために操作体を動かす入力操作(例えば指30をタップしてから指30を動かす動作)を行う。認識部2040は、この操作体の動きを入力操作として認識する。出力制御部2060は、この入力操作によって表される動きに基づいて、カーソル76の表示位置を変化させる。
また例えば、認識部2040が操作体の位置を入力操作として認識し、出力制御部2060が認識部2040によって認識された操作体の位置に対応する操作画面70内の位置にカーソル76を表示させてもよい。
同様に、ユーザがボタン72やボタン74を押下するために行う入力操作は様々である。例えばユーザは、ボタン72にカーソル76が重なっている状態で、その位置を入力する入力操作(例えば指30のタップ)を行う。認識部2040は、この操作体の位置と、出力制御部2060によって表示されている操作画面70に関する情報とに基づき、ボタン72を押下する入力操作を認識する。また例えば、ユーザは、カーソル76を動かしてボタン72を囲う入力操作を行ってもよい。認識部2040は、この操作体の動きと、出力制御部2060によって表示されている操作画面70に関する情報とに基づいて、ボタン72を囲う入力操作を認識し、この入力操作をボタン72を押下する入力操作として認識する。
なお、撮像画像から認識される操作体の位置や動きを、操作画面70における位置や動きに対応させる方法は様々である。例えば、操作体の位置や動きが操作領域40における相対的な位置や動きで表される場合(図17参照)、認識部2040は、操作領域40内における操作体の位置や動きを表す座標を、操作画面70内の座標へ変換する。これにより、操作領域40内における操作体の位置や動きが、操作画面70内における位置や動きに変換される。
また例えば、操作体の位置や動きが撮像画像22内における相対的な位置や動きで表される場合(図18参照)、認識部2040は、撮像画像22内における操作体の位置や動きを表す座標を、操作画面70内の座標へ変換する。これにより、撮像画像22内における操作体の位置や動きが、操作画面70内における位置や動きに変換される。
なお、ある座標系における座標を別の座標系における座標に変換する方法には、既知の技術を利用できる。
<処理の流れ>
図21は、実施形態2の情報処理装置2000によって実行される処理の流れを例示するフローチャートである。まず情報処理装置2000は、入力操作の対象を含む表示画面を出力装置3060に出力させるトリガとなる入力操作を受け付ける(S202)。この入力操作は、認識部2040によって認識される入力操作であってもよいし、その他の入力操作であってもよい。後者の場合、例えば入力操作は、情報処理装置2000に対して接続されている入力デバイス(スイッチやキーボードなど)に対する操作である。
その後、出力制御部2060は、出力装置3060に、操作対象を含む表示画面を出力させる(S204)。さらに情報処理装置2000は、図4のS102からS112の処理を行うことで、操作対象に対する入力操作を認識する。そして出力制御部2060は、操作結果を含む表示画面を出力装置3060に表示させる。
操作結果を含む表示画面に次の入力操作の対象が含まれる場合(S206:YES)、図21の処理は、S102に進む。一方、操作結果を含む表示画面に次の入力操作の対象が含まれない場合(S206:NO)、図21の処理は終了する。
<ハードウエア構成>
実施形態2の情報処理装置2000を実現する計算機のハードウエア構成は、実施形態1と同様に、例えば図3によって表される。ただし、本実施形態の情報処理装置2000を実現する計算機1000のストレージ1080には、本実施形態の情報処理装置2000の機能を実現するプログラムモジュールがさらに記憶される。また、出力装置3060は、入出力インタフェース1100を介して計算機1000に接続される。ただし、出力装置3060を計算機1000に接続する方法は、入出力インタフェース1100を介して接続する方法に限定されない。例えば出力装置3060は、ネットワークを介して計算機1000に接続されてもよい。この場合、計算機1000は、ネットワークに接続するためのネットワークインタフェースを有する。
<作用・効果>
本実施形態によれば、出力制御部2060により、操作対象に関する情報が出力装置3060に出力される。よって、ユーザは操作対象に関する情報を参照しながら入力操作を行うことができる。こうすることで、ユーザにとって情報処理システム3000の利便性が向上する。
なお、操作対象に関する情報を出力する方法は、表示画面を出力する方法以外でもよい。例えば情報処理システム3000は、操作対象に関する情報を音声で出力してもよい。具体的には、現在操作対象となっているデバイスの名称、そのデバイスの操作方法、操作の結果などが音声で出力される。
[実施例]
実施形態2の情報処理システム3000について、実施例を通じてさらに詳細に説明する。図22は、実施例の情報処理システム3000の使用環境を例示する図である。本実施例において、情報処理システム3000は自動車90に乗っている人(例えば運転手)によって利用される。
ユーザは手首にデバイス10を身に付ける。デバイス10は、タッチパネル14にマーカ画像16を表示する。情報処理装置2000は、マーカ画像16をマーカ3020として扱う。このデバイス10のタッチパネル14に表示されるマーカ画像16である。また、デバイス10には振動センサ18が内蔵されている。情報処理装置2000は、この振動センサ18をセンサ3040として扱う。
カメラ20は、ユーザの手が置かれる場所(例えばアームレストやハンドル)を撮像するように設置されている。以降の説明では、カメラ20は、少なくともアームレスト周辺を撮像するように設置されているとする。
出力装置3060は、フロントガラス92に対して表示画面を投影するプロジェクタ93である。プロジェクタ93は、フロントガラス92に対して表示画面を投影できる任意の位置(例えばダッシュボード上)に設置される。なお、プロジェクタ93によって表示画面が投影される場所は、フロントガラス92に限定されない。例えばプロジェクタ93は、ハンドル上に表示画面を投影してもよい。
認識部2040は、自動車90に設けられている種々のデバイス(エアコンやカーナビゲーションシステム(以下、カーナビ)の制御装置、又は自動車90のギアの変速や鍵の開閉を制御する機構)や出力制御部2060などに対して指令を送るための入力操作を認識する。例えば入力操作は、ユーザによって行われる。
まずユーザは、フロントガラス92にメニュー画面を表示させるための入力操作を行う。この操作は、例えば操作領域40内の任意の場所をタップする操作である。認識部2040がこの操作を認識すると、出力制御部2060は、メニュー画面を表示する。
図23は、メニュー画面を例示する図である。メニュー画面100には、ボタン102、ボタン104、カーソル106、及びメニュー108が含まれる。ボタン102及びボタン104は、メニュー108に表示される項目を変更するためのボタンである。カーソル106は、選択対象の項目を示すカーソルである。メニュー108は、選択対象の項目を列挙するメニューである。
ここで、ユーザがエアコンの温度設定を行うとする。この場合、ユーザは、「エアコン操作」という項目をカーソル106が指すように、操作領域40内で指を移動させる。例えばユーザは、アームレスト上に手首を置いてマーカ画像16の位置を固定する。これにより、操作領域40の位置が固定される。ユーザはこの状態で指を移動させる。この場合、操作領域40は、マーカ画像から手の甲の方向へ所定距離離れた位置を中心とする矩形などである。
ユーザがエアコン操作という項目を選択すると、例えば図20に示した操作画面70が表示される。そして、図20を用いて説明した方法により、ユーザはエアコンの温度設定を行う。
また例えば、エアコン操作は、図24に示す操作画面110を用いて行われてもよい。図24は、エアコンの操作画面の別の例を示す図である。操作画面110は、スクロールバー112、つまみ114、カーソル116、アイコン118、及び設定温度119を含む。カーソル116、アイコン118、及び設定温度119は、図20のカーソル76、アイコン78、及び設定温度79とそれぞれ同じである。
スクロールバー112は、エアコンの設定温度を変更するためのインタフェースである。ユーザは、つまみ114を左に動かすことでエアコンの設定温度を下げ、つまみ114を右に動かすことでエアコンの設定温度を上げる。
まずユーザは、つまみ114に重なる位置までカーソル116を移動させる。そしてユーザは、例えばつまみ114を左に動かす動き50を行うことで、エアコンの設定温度を下げる。例えば動き50は、つまみ114にカーソル116が重なっている状態において指30でアームレストをタップし、指30を左にスライドさせてつまみ114を左に動かし、指30を再度タップしてスライド操作を終了する動きである。この場合、認識部2040は、前者のタップによる振動に基づく検出タイミングを検出対象時間の開始時点とし、後者のタップによる振動に基づく検出対象タイミングを検出対象時間の終了時点とする。そして認識部2040は、検出対象時間において行われた動き50(スライド操作)を、入力操作として認識する。ただし前述したように、検出対象時間の定め方は検出対象タイミングを2つ用いる方法に限定されない。
なお、自動車90のフロントガラス92に操作画面を表示する方法は、プロジェクタで投影する方法に限定されない。例えば操作画面は、車内に設置されたディスプレイ装置に表示されてもよい。図25は、操作画面がディスプレイ装置に表示される様子を例示する図である。図25(a)において、ディスプレイ装置94は、平面視においてフロントガラス92と重なる領域に設置されている。一方、図25(b)において、ディスプレイ装置94は、ハンドルの中央部分に設置されている。なお、図25(a)において、ディスプレイ装置94は、フロントガラス92と接触するように設けられてもよいし、フロントガラス92と接触しないように設けられてもよい。
表示画面をディスプレイ装置94に表示することで、プロジェクタ等で投影する方法と比較し、表示画面の明るさなどをユーザにとって見やすい明るさなどに設定しやすいという利点がある。また、図25(a)のように平面視においてフロントガラス92と重なる領域にディスプレイ装置94を設置することで、自動車90の運転手が入力操作を行う際、自動車90の進行方向を見たまま操作画面を見ることができる。よって、運転中の入力操作が容易になる。
なお、ディスプレイ装置94が設置される場所は、図25に示した場所に限定されない。また、ディスプレイ装置94は、カーナビのディスプレイ装置であってもよい。
以上、図面を参照して本発明の実施形態について述べたが、これらは本発明の例示であり、上記各実施形態の組み合わせ、又は上記以外の様々な構成を採用することもできる。
例えば認識部2040は、操作領域40内ではなく、撮像画像全体から操作体の位置又は動きを検出してもよい。この場合、情報処理装置2000は、操作領域算出部2020を有さなくてもよい。またこの場合、ユーザは、マーカ3020を身に付けなくてもよい。
また例えば、センサ3040は、ユーザに身に付けられなくてもよい。この場合、センサ3040は、ユーザが情報処理システム3000を利用する場所の付近に設けられる。例えば前述した実施例において、センサ3040は、自動車90の任意の箇所に設置することができる。例えばセンサ3040は、自動車90のハンドルに設けられる。
ユーザは、入力操作を行うタイミング又はその前後においてセンサ3040による検出が行われるようにする。例えばセンサ3040が振動センサである場合、ユーザは、センサ3040が設置された場所又はその付近に対して振動を加える。例えばセンサ3040が自動車90のハンドルに設けられている場合、ユーザは、入力操作をする際に手でハンドルをタップするなどの動作をする。
図26は、センサ3040が自動車90のハンドルに設けられている様子を例示する図である。図26において、振動センサ18がハンドル96の内部に設けられている。ユーザは、入力操作を行う際に指32でハンドル96をタップする。なおこの際、ユーザは、左手で入力操作を行ってもよいし、右手で入力操作を行ってもよい。ユーザが左手で入力操作を行う場合、カメラ20は、左手付近が撮像される位置に設けられる。またこの場合、デバイス10は、ユーザの左手の手首などに設けられる。ただし、前述したように認識部2040が撮像画像全体から操作体の位置や動きを検出する場合、ユーザは、デバイス10を身に付けなくてもよい。
図27は、デバイス10が利用されないケースを例示する図である。この場合、情報処理装置2000は、例えば自動車90に内蔵される。そして、認識部2040は、センサ3040によって検出される振動を取得し、所定値以上の大きさの振動が検出された場合に、その振動がユーザによって加えられたものであると判定する。そして認識部2040は、この振動が加えられたタイミング又はそのタイミングよりも所定時間前若しくは後の時点を、検出対象タイミングとして扱う。
なお、振動センサを自動車90に設ける場合、エンジンの振動などに起因する自動車90の定常的な揺れによって振動センサに加わる振動と、ユーザによって振動センサに加えられる振動とを区別できることが好ましい。そのために、例えばエンジンの振動などに起因する自動車90の定常的な揺れのパターンを示したデータを記憶装置に記憶しておく。そして認識部2040は、センサ3040によって検出される振動から、この定常的な揺れのパターンをフィルタリングし、フィルタリング後の振動について、所定値以上の大きさの振動の検出を行う。認識部2040は、フィルタリング後の振動から所定値以上の大きさの振動が検出された場合、入力操作の認識を行う。こうすることで、自動車90の定常的な揺れに起因して認識部2040による入力操作の認識が行われてしまうことを防ぐことができる。つまり、入力操作の誤検出を防ぐことができる。
また例えば、振動センサを自動車90に設ける場合、情報処理システム3000は、エンジンの振動などに起因する定常的な揺れがセンサ3040によって検出される間、入力操作を認識しないように構成されてもよい。例えば前述したように、エンジンの振動などに起因する自動車90の定常的な揺れのパターンを示したデータを記憶装置に記憶しておく。そして認識部2040は、この定常的な揺れのパターンが検出される間は、所定値以上の大きさの振動が検出されても、入力操作の認識を行わない。
このように、エンジンの振動などに起因する定常的な揺れがセンサ3040によって検出される間は入力操作を認識しない情報処理システム3000は、エンジンが停止している時に入力操作を認識する。ここで、自動車90にアイドリングストップの機能が設けられていると、自動車90のエンジンは、停車中や信号待ちの間に停止する。よって、情報処理システム3000は、自動車90のエンジンが始動していない場合やアイドリングストップ機能が作動している場合、つまりは自動車90が移動していない場合に、入力操作を受け付けることとなる。こうすることで、ユーザはより安全に情報処理システム3000を利用することができる。なお、自動車90はアイドリングストップ機能を備えなくてもよい。
なお自動車90などにセンサ3040を設ける場合であっても、センサ3040は振動センサに限定されない。例えば、センサ3040が静電容量センサである場合、ユーザは、センサ3040が設置されている場所に触れることで、センサ3040に静電容量の変化を検出させる。また例えば、センサ3040が圧力センサである場合、ユーザは、センサ3040が設置されている場所に圧力を加えることで、センサ3040に圧力を検出させる。
以下、参考形態の例を付記する。
1. ユーザに身につけられるか、又はユーザの身体の一部であるマーカと、
ユーザに身に付けられるセンサと、
情報処理装置と、を有し、
前記情報処理装置は、
カメラによって生成された撮像画像に写っている前記マーカの位置に基づいて、前記撮像画像に含まれる操作領域を算出する操作領域算出手段と、
前記センサの検出結果に基づくタイミングにおいて前記操作領域内に写っている操作体の位置を検出するか、又は前記タイミングを含む時間において前記操作領域内に写っている前記操作体の動きを検出し、前記検出した位置若しくは動きに基づいて入力操作を認識する認識手段と、
を有する情報処理システム。
2. 前記マーカは前記ユーザの腕部に身につけられ、
前記操作体は、前記腕部の一部であるか、又は前記腕部によって保持される物体である、
1.に記載の情報処理システム。
3. 前記マーカは前記腕部に含まれる手首に身につけられ、
前記操作領域算出手段は、前記マーカの位置から前記腕部に含まれる手のひらの方向へ所定距離離れた位置を含むように、前記操作領域を算出する、
2.に記載の情報処理システム。
4. 前記マーカは、前記ユーザに身につけられているデバイスのディスプレイ装置に表示される画像であり、
前記センサは前記デバイスに設けられている、
1.乃至3.いずれか一つに記載の情報処理システム。
5. 当該情報処理システムは、画面を出力する出力装置を有し、
前記情報処理装置は、前記認識手段によって認識される入力操作の操作対象を含む画面を前記出力装置に出力させる出力制御手段を有する、1.乃至4.いずれか一つに記載の情報処理システム。
6. 前記出力装置は、乗り物の窓の一部と重なる領域へ前記画面を出力するようにその乗り物に設置される、5.に記載の情報処理システム。
7. 前記出力制御手段が前記出力装置に出力させる前記画面は、前記乗り物に搭載されているデバイスを操作するための操作画面である、6.に記載の情報処理システム。
8. カメラによって生成された撮像画像に写っているマーカの位置に基づいて、前記撮像画像に含まれる操作領域を算出する操作領域算出手段と、
センサの検出結果に基づくタイミングにおいて前記操作領域内に写っている操作体の位置を検出するか、又は前記タイミングを含む時間において前記操作領域内に写っている前記操作体の動きを検出し、前記検出した位置若しくは動きに基づいて入力操作を認識する認識手段と、を有し、
前記マーカは、ユーザに身につけられるか、又はユーザの身体の一部であり、
前記センサは、ユーザに身に付けられる、情報処理装置。
9. 前記マーカは前記ユーザの腕部に身につけられ、
前記操作体は、前記腕部の一部であるか、又は前記腕部によって保持される物体である、
8.に記載の情報処理装置。
10. 前記マーカは前記腕部に含まれる手首に身につけられ、
前記操作領域算出手段は、前記マーカの位置から前記腕部に含まれる手のひらの方向へ所定距離離れた位置を含むように、前記操作領域を算出する、
9.に記載の情報処理装置。
11. 前記マーカは、前記ユーザに身につけられているデバイスのディスプレイ装置に表示される画像であり、
前記センサは前記デバイスに設けられている、
8.乃至11.いずれか一つに記載の情報処理装置。
12. 前記認識手段によって認識される入力操作の操作対象を含む画面を出力装置に出力させる出力制御手段を有する、8.乃至11.いずれか一つに記載の情報処理装置。
13. 前記出力装置は、乗り物の窓の一部と重なる領域へ前記画面を出力するようにその乗り物に設置される、12.に記載の情報処理装置。
14. 前記出力制御手段が前記出力装置に出力させる前記画面は、前記乗り物に搭載されているデバイスを操作するための操作画面である、13.に記載の情報処理装置。
15. コンピュータによって実行される制御方法であって、
カメラによって生成された撮像画像に写っているマーカの位置に基づいて、前記撮像画像に含まれる操作領域を算出する操作領域算出ステップと、
センサの検出結果に基づくタイミングにおいて前記操作領域内に写っている操作体の位置を検出するか、又は前記タイミングを含む時間において前記操作領域内に写っている前記操作体の動きを検出し、前記検出した位置若しくは動きに基づいて入力操作を認識する認識ステップと、
を有し、
前記マーカは、ユーザに身につけられるか、又はユーザの身体の一部であり、
前記センサは、ユーザに身に付けられる、制御方法。
16. 前記マーカは前記ユーザの腕部に身につけられ、
前記操作体は、前記腕部の一部であるか、又は前記腕部によって保持される物体である、
15.に記載の制御方法。
17. 前記マーカは前記腕部に含まれる手首に身につけられ、
前記操作領域算出ステップは、前記マーカの位置から前記腕部に含まれる手のひらの方向へ所定距離離れた位置を含むように、前記操作領域を算出する、
16.に記載の制御方法。
18. 前記マーカは、前記ユーザに身につけられているデバイスのディスプレイ装置に表示される画像であり、
前記センサは前記デバイスに設けられている、
15.乃至17.いずれか一つに記載の制御方法。
19. 前記制御方法は、前記認識ステップによって認識される入力操作の操作対象を含む画面を出力装置に出力させる出力制御ステップを有する、15.乃至18.いずれか一つに記載の制御方法。
20. 前記出力装置は、乗り物の窓の一部と重なる領域へ前記画面を出力するようにその乗り物に設置される、19.に記載の制御方法。
21. 前記出力制御ステップが前記出力装置に出力させる前記画面は、前記乗り物に搭載されているデバイスを操作するための操作画面である、20.に記載の制御方法。
22. カメラによって生成された撮像画像に写っているマーカの位置に基づいて、前記撮像画像に含まれる操作領域を算出する操作領域算出ステップと、
センサの検出結果に基づくタイミングにおいて前記操作領域内に写っている操作体の位置を検出するか、又は前記タイミングを含む時間において前記操作領域内に写っている前記操作体の動きを検出し、前記検出した位置若しくは動きに基づいて入力操作を認識する認識ステップと、をコンピュータに実行させ、
前記マーカは、ユーザに身につけられるか、又はユーザの身体の一部であり、
前記センサは、ユーザに身に付けられる、プログラム。
23. 前記マーカは前記ユーザの腕部に身につけられ、
前記操作体は、前記腕部の一部であるか、又は前記腕部によって保持される物体である、
22.に記載のプログラム。
24. 前記マーカは前記腕部に含まれる手首に身につけられ、
前記操作領域算出ステップは、前記マーカの位置から前記腕部に含まれる手のひらの方向へ所定距離離れた位置を含むように、前記操作領域を算出する、
23.に記載のプログラム。
25. 前記マーカは、前記ユーザに身につけられているデバイスのディスプレイ装置に表示される画像であり、
前記センサは前記デバイスに設けられている、
22.乃至24.いずれか一つに記載のプログラム。
26. 前記認識ステップによって認識される入力操作の操作対象を含む画面を出力装置に出力させる出力制御ステップをコンピュータに実行させる、15.乃至18.いずれか一つに記載のプログラム。
27. 前記出力装置は、乗り物の窓の一部と重なる領域へ前記画面を出力するようにその乗り物に設置される、26.に記載のプログラム。
28. 前記出力制御ステップが前記出力装置に出力させる前記画面は、前記乗り物に搭載されているデバイスを操作するための操作画面である、29.に記載のプログラム。
この出願は、2016年2月8日に出願された日本出願特願2016−021575号を基礎とする優先権を主張し、その開示の全てをここに取り込む。

Claims (8)

  1. ユーザに身につけられるか、又はユーザの身体の一部であるマーカと、
    ユーザに身に付けられるセンサと、
    情報処理装置と、
    画面を出力する出力装置と、を有し、
    前記情報処理装置は、
    カメラによって生成された撮像画像に写っている前記マーカの位置に基づいて、前記撮像画像に含まれる操作領域を算出する操作領域算出手段と、
    前記センサの検出結果に基づくタイミングにおいて前記操作領域内に写っている操作体の位置を検出するか、又は前記タイミングを含む時間において前記操作領域内に写っている前記操作体の動きを検出し、前記検出した位置若しくは動きに基づいて入力操作を認識する認識手段と、
    前記認識手段によって認識される入力操作の操作対象を含む画面を前記出力装置に出力させる出力制御手段と、
    を有し、
    前記出力装置は、乗り物の窓の一部と重なる領域へ前記画面を出力するようにその乗り物に設置される、情報処理システム。
  2. 前記マーカは前記ユーザの腕部に身につけられ、
    前記操作体は、前記腕部の一部であるか、又は前記腕部によって保持される物体である、
    請求項1に記載の情報処理システム。
  3. 前記マーカは前記腕部に含まれる手首に身につけられ、
    前記操作領域算出手段は、前記マーカの位置から前記腕部に含まれる手のひらの方向へ所定距離離れた位置を含むように、前記操作領域を算出する、
    請求項2に記載の情報処理システム。
  4. 前記マーカは、前記ユーザに身につけられているデバイスのディスプレイ装置に表示される画像であり、
    前記センサは前記デバイスに設けられている、
    請求項1乃至3いずれか一項に記載の情報処理システム。
  5. 前記出力制御手段が前記出力装置に出力させる前記画面は、前記乗り物に搭載されているデバイスを操作するための操作画面である、請求項1乃至4いずれか一項に記載の情報処理システム。
  6. カメラによって生成された撮像画像に写っているマーカの位置に基づいて、前記撮像画像に含まれる操作領域を算出する操作領域算出手段と、
    センサの検出結果に基づくタイミングにおいて前記操作領域内に写っている操作体の位置を検出するか、又は前記タイミングを含む時間において前記操作領域内に写っている前記操作体の動きを検出し、前記検出した位置若しくは動きに基づいて入力操作を認識する認識手段と、
    前記認識手段によって認識される入力操作の操作対象を含む画面を、画面を出力する出力装置に出力させる出力制御手段と、を有し、
    前記マーカは、ユーザに身につけられるか、又はユーザの身体の一部であり、
    前記センサは、ユーザに身に付けられ
    前記出力装置は、乗り物の窓の一部と重なる領域へ前記画面を出力するようにその乗り物に設置される、情報処理装置。
  7. コンピュータによって実行される制御方法であって、
    カメラによって生成された撮像画像に写っているマーカの位置に基づいて、前記撮像画像に含まれる操作領域を算出する操作領域算出ステップと、
    センサの検出結果に基づくタイミングにおいて前記操作領域内に写っている操作体の位置を検出するか、又は前記タイミングを含む時間において前記操作領域内に写っている前記操作体の動きを検出し、前記検出した位置若しくは動きに基づいて入力操作を認識する認識ステップと、
    前記認識ステップによって認識される入力操作の操作対象を含む画面を、画面を出力する出力装置に出力させる出力制御ステップと、
    を有し、
    前記マーカは、ユーザに身につけられるか、又はユーザの身体の一部であり、
    前記センサは、ユーザに身に付けられ
    前記出力装置は、乗り物の窓の一部と重なる領域へ前記画面を出力するようにその乗り物に設置される、制御方法。
  8. カメラによって生成された撮像画像に写っているマーカの位置に基づいて、前記撮像画像に含まれる操作領域を算出する操作領域算出ステップと、
    センサの検出結果に基づくタイミングにおいて前記操作領域内に写っている操作体の位置を検出するか、又は前記タイミングを含む時間において前記操作領域内に写っている前記操作体の動きを検出し、前記検出した位置若しくは動きに基づいて入力操作を認識する認識ステップと、
    前記認識ステップによって認識される入力操作の操作対象を含む画面を、画面を出力する出力装置に出力させる出力制御ステップと、をコンピュータに実行させ、
    前記マーカは、ユーザに身につけられるか、又はユーザの身体の一部であり、
    前記センサは、ユーザに身に付けられ
    前記出力装置は、乗り物の窓の一部と重なる領域へ前記画面を出力するようにその乗り物に設置される、プログラム。
JP2017566966A 2016-02-08 2017-02-08 情報処理システム、情報処理装置、制御方法、及びプログラム Active JP6341343B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2016021575 2016-02-08
JP2016021575 2016-02-08
PCT/JP2017/004491 WO2017138545A1 (ja) 2016-02-08 2017-02-08 情報処理システム、情報処理装置、制御方法、及びプログラム

Publications (2)

Publication Number Publication Date
JP6341343B2 true JP6341343B2 (ja) 2018-06-13
JPWO2017138545A1 JPWO2017138545A1 (ja) 2018-07-26

Family

ID=59563803

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017566966A Active JP6341343B2 (ja) 2016-02-08 2017-02-08 情報処理システム、情報処理装置、制御方法、及びプログラム

Country Status (3)

Country Link
US (1) US10296101B2 (ja)
JP (1) JP6341343B2 (ja)
WO (1) WO2017138545A1 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10234955B2 (en) * 2015-09-28 2019-03-19 Nec Corporation Input recognition apparatus, input recognition method using maker location, and non-transitory computer-readable storage program
US10372229B2 (en) * 2016-02-25 2019-08-06 Nec Corporation Information processing system, information processing apparatus, control method, and program
US11402913B1 (en) 2020-01-06 2022-08-02 Rockwell Collins, Inc. System and method for aircraft display device feedback
CN112000272B (zh) * 2020-08-25 2022-05-06 北京百度网讯科技有限公司 键盘面板的布局调整方法、装置、电子设备和存储介质
US20230041519A1 (en) * 2021-08-09 2023-02-09 Htc Corporation Tracking system, tracking method and non-transitory computer-readable storage medium

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040095311A1 (en) * 2002-11-19 2004-05-20 Motorola, Inc. Body-centric virtual interactive apparatus and method
JP2009104429A (ja) 2007-10-24 2009-05-14 Nikon Corp ヘッドマウントディスプレイ装置及び携帯装置
JP2011257943A (ja) * 2010-06-08 2011-12-22 Canon Inc ジェスチャ操作入力装置
JP5845002B2 (ja) * 2011-06-07 2016-01-20 ソニー株式会社 画像処理装置および方法、並びにプログラム
EP2761362A4 (en) 2011-09-26 2014-08-06 Microsoft Corp VIDEO DISPLAY CHANGE BASED ON SENSOR INPUT FOR TRANSPARENT EYE DISPLAY
US9671566B2 (en) * 2012-06-11 2017-06-06 Magic Leap, Inc. Planar waveguide apparatus with diffraction element(s) and system employing same
JP6030430B2 (ja) 2012-12-14 2016-11-24 クラリオン株式会社 制御装置、車両及び携帯端末
JP6015547B2 (ja) 2013-05-09 2016-10-26 株式会社デンソー 視線入力装置
JP6115421B2 (ja) 2013-09-17 2017-04-19 トヨタ自動車株式会社 入力装置および入力システム
JP6287382B2 (ja) 2014-03-12 2018-03-07 オムロン株式会社 ジェスチャ認識装置およびジェスチャ認識装置の制御方法

Also Published As

Publication number Publication date
US10296101B2 (en) 2019-05-21
US20180267619A1 (en) 2018-09-20
JPWO2017138545A1 (ja) 2018-07-26
WO2017138545A1 (ja) 2017-08-17

Similar Documents

Publication Publication Date Title
JP6341343B2 (ja) 情報処理システム、情報処理装置、制御方法、及びプログラム
CN107615214B (zh) 界面控制系统、界面控制装置、界面控制方法及程序
JP6390799B2 (ja) 入力装置、入力方法、及びプログラム
CN106427571B (zh) 交互式操纵装置和用于运行所述交互式操纵装置的方法
JP4351599B2 (ja) 入力装置
KR101844390B1 (ko) 사용자 인터페이스 제어를 위한 시스템 및 기법
EP1980935A1 (en) Information processing device
JP6350772B2 (ja) 情報処理システム、情報処理装置、制御方法、及びプログラム
JP6344530B2 (ja) 入力装置、入力方法、及びプログラム
JP2014219938A (ja) 入力支援装置、入力支援方法、および、プログラム
US20120249417A1 (en) Input apparatus
JP2020510254A (ja) 表示情報及び/又はデータの同時多機能操作を可能とするディスプレイを備えたスマートデバイス
JP2016126687A (ja) ヘッドマウントディスプレイ、操作受付方法および操作受付プログラム
KR101708455B1 (ko) 핸드 플로트 입체 메뉴 시스템
CN108778818B (zh) 用于检测操作装置的至少一个操作功能的用户选择的方法
JP2017197015A (ja) 車載用情報処理システム
WO2017188098A1 (ja) 車載用情報処理システム
JP6739864B2 (ja) 車載用情報処理システム
KR20120062053A (ko) 터치스크린의 가상 캐릭터 제어방법
JP2017187922A (ja) 車載用情報処理システム
RU115937U1 (ru) Устройство пользовательского ввода
JP2017045472A (ja) タッチパネル式装置によるヘッドマウントディスプレイ上のポインタ操作が可能なシステム、プログラム、及び方法
JP2023066255A (ja) 車載ディスプレイ制御システム及び車載ディスプレイ制御方法
JP2016115039A (ja) タッチパネル式装置によるヘッドマウントディスプレイ上のポインタ操作が可能なシステム、プログラム、及び方法
KR20180007569A (ko) 회전 센서를 이용한 3차원 공간 좌표 인식 마우스

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180322

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180322

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20180322

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20180411

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180430

R150 Certificate of patent or registration of utility model

Ref document number: 6341343

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150