JP5884584B2 - 情報処理装置、メニュー選択プログラム、及びメニュー選択方法 - Google Patents

情報処理装置、メニュー選択プログラム、及びメニュー選択方法 Download PDF

Info

Publication number
JP5884584B2
JP5884584B2 JP2012062894A JP2012062894A JP5884584B2 JP 5884584 B2 JP5884584 B2 JP 5884584B2 JP 2012062894 A JP2012062894 A JP 2012062894A JP 2012062894 A JP2012062894 A JP 2012062894A JP 5884584 B2 JP5884584 B2 JP 5884584B2
Authority
JP
Japan
Prior art keywords
circular motion
menu
menu selection
predetermined
item
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
JP2012062894A
Other languages
English (en)
Other versions
JP2013196391A (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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2012062894A priority Critical patent/JP5884584B2/ja
Publication of JP2013196391A publication Critical patent/JP2013196391A/ja
Application granted granted Critical
Publication of JP5884584B2 publication Critical patent/JP5884584B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、簡単な操作によるメニュー選択を実現するための情報処理装置、メニュー選択プログラム、及びメニュー選択方法に関する。
従来では、アプリケーション等において、快適なメニュー開閉や選択操作をユーザに行わせることが重要な課題となっている。そこで、従来では、空間で物体の動作を読み取るトラッキングデバイス等を用いて、手の動き等を捉え、その手の位置情報をユーザインターフェースに利用する手法が知られている。例えば、従来では、手の2次元的な動きを捉えて画面上に表示された選択項目をポインティングし、何らかの決定手法を用いて選択項目の決定を行う。
ここで、具体的な決定手法としては、例えば、円状に配置されたパイメニューに対して手首の捻りで選択内容を決定する手法がある。また、従来では、手を回転又は往復させる等の循環的なジェスチャの繰り返しを検出し、その検出回数・速度に応じて選択カーソルを移動させて、循環的でないジェスチャによって選択項目を決定する手法がある。
また、従来では、最初に、ユーザの手に持たれたインタラクティブデバイスの位置を検出し、ジェスチャによる特定アクション等で、球状メニューの中心にデバイス位置を対応付ける。次に、従来では、メニュー項目を内側から突き通す動作でメニューを選択し、再び内部に戻り別の項目に移動して別メニュー選択を行う手法がある。
また、従来では、手を所定の形状にすると円形メニューの中心に手の位置に対応したカーソルが現れ、選択肢の外側にカーソルを移動させた時に選択して確定する手法がある。また、従来では、ユーザの手の届く範囲でユーザを囲むような円状メニューをユーザ映像と共に表示する手法がある。また、従来では、手の円運動の中心位置を推定し回転角を求め、それに基づきメニュー項目を選択する手法がある(例えば、特許文献1〜6参照)。
国際公開第2008/029467号パンフレット 特開2010−079848号公報 特表2007−506164号公報 特開平9−128141号公報 特表2010−534895号公報 特開2011−145842号公報
しかしながら、例えば、上述した特許文献1や特許文献4に示すような手法では、手首を捻ったり、所定の形状にする等の不自然な手の動きをする必要があり、手の姿勢を常に気にかけていなければならない。また、特許文献2や特許文献6に示すような手法では、手の循環する動きをカーソル移動に割り当てるため、ポインティングが相対的で手間がかかる上に疲れてしまう。また、特許文献3や特許文献4に示すような手法では、円形又は球形メニューの中心に対応付けられた実空間上の位置から項目に向かって突き抜けるように手を動かす必要があり、メニュー項目が多くなると選択しづらい。更に、特許文献5に示すような手法では、画面を見ながら対象物に手を合わせる操作が必要であり、体の動きが大きくなると共に直感的な選択がしづらい。つまり、上述したような従来技術では、ユーザが簡単な操作によるメニュー選択を実現することができなかった。
開示の技術は、かかる問題を鑑み、簡単な操作によるメニュー選択を実現することを目的とする。
開示の一態様における情報処理装置は、所定の物体の位置情報を入力する位置情報入力部と、前記位置情報入力部により得られる前記物体の位置情報の変化を解析し、前記物体が円運動をしているかを判定する円運動算出部と、前記円運動算出部により前記物体が円運動をしていると判定された場合に、前記物体が所定の周回条件を満たしているかを判定する周回条件判定部と、前記周回条件判定部により得られた判定結果に基づいて、表示部にメニュー項目の表示し、所定の項目を選択させるメニュー選択モードを実行するメニュー選択モード制御部と、前記メニュー選択モード時に前記表示部に表示されたメニュー項目に対し、前記円運動算出部により得られた前記円運動の中心位置と、前記位置情報入力部により得られた前記物体の位置情報とに基づいて前記所定の項目を選択するメニュー選択部とを有し、前記円運動算出部は、前記円運動による円運動平面を算出し、前記メニュー選択部により前記所定の項目を選択した後、前記円運動平面と、前記位置情報入力部により得られる前記物体の位置情報との距離に基づいて、選択した前記所定の項目の確定又はキャンセルを行うメニュー選択決定部を有する。
開示の技術によれば、簡単な操作によるメニュー選択を実現することができる。
本実施形態における情報処理装置の機能構成の一例を示す図である。 本実施形態における情報処理装置のハードウェア構成の一例を示す図である。 メニューを開く操作の具体例を示す図である。 メニュー表示の具体例を示す図である。 メニュー情報の一例を示す図である。 メニュー選択操作の具体例を示す図である。 メニュー項目確定操作の具体例を示す図である。 本実施形態におけるメニュー選択処理の一例を示すフローチャート(その1)である。 本実施形態におけるメニュー選択処理の一例を示すフローチャート(その2)である。 本実施形態におけるメニュー選択処理の一例を示すフローチャート(その3)である。
以下、添付図面を参照しながら実施例について詳細に説明する。
<情報処理装置:機能構成例>
図1は、本実施形態における情報処理装置の機能構成の一例を示す図である。図1に示す情報処理装置10は、トラッキング入力部(位置情報入力部)11と、トラッキング位置記憶部12と、円運動算出部13と、周回条件判定部14と、メニュー選択モード制御部15と、円運動記憶部16と、メニュー選択決定部17と、メニュー選択制御部18と、メニュー選択部19と、メニュー情報保持部20とを有する。
トラッキング入力部11は、トラッキングデバイス21によって得られるユーザの手等の所定の物体の三次元空間上の位置情報を入力する。ここで、トラッキングデバイス21は、例えばCharge Coupled Device(CCD)やComplementary Metal Oxide Semiconductor(CMOS)等の光学センサによる受像装置を用いて映像を取得する。また、トラッキングデバイス21は、例えば取得した映像から画像解析を行い、所定の物体と推測される部分を抽出し、抽出された部分の位置及びサイズから、奥行きを含む空間上の位置を取得する。
なお、所定の物体とは、ユーザの手に限定されるものではなく、例えば手以外のユーザの体の一部や、ユーザが体に装着した物体、ユーザが手に持った物体等であってもよい。
また、トラッキングデバイス21としては、例えば少し離れて設置した2つの受像装置を用いて、各受像装置から得られた映像をマッチングし、映像の僅かなずれから奥行き推定を行ってユーザの手の位置情報を取得してもよい。また、トラッキングデバイス21は、例えば赤外線Light Emitting Diode(LED)や赤外線レーザ等をユーザの手に照射し、その反射光をセンサで捉え、Time Of Flight(TOF)と呼ばれる方式で位置情報を取得してもよい。また、トラッキングデバイス21は、例えば投影パターンの歪み解析により、ユーザの手の奥行きを含む位置情報を取得してもよい。
トラッキングデバイス21は、上述したような手法等を用いることでユーザの手等の所定の物体の有無や追跡等行うことができる。具体的には、トラッキングするユーザの手の部分の抽出手法としては、例えば手に特定色の物体を取り付け、その特定色を元に抽出する手法がある。また、手の追跡手法としては、例えば手の特定の形等の所定の形状パターンを予め設定しておき、その手の形状パターンと照合することで、手の部分を抽出し、その後、オプティカルフロー等の追跡手法で手の動きを追跡する手法がある。なお、オプティカルフローとは、視覚表現(例えば、時間的に連続するデジタル画像)の中で物体の動きをベクトルで表し、物体の動きを追跡する手法である。また、他の手の抽出手法としては、例えば、奥行き情報が先に得られる場合に、手の肌色及び立体形状から手の部分を判定する手法がある。
なお、上述した手の抽出手法や追跡手法等については、これに限定されるものではない。また、本実施形態では、追跡部分としてユーザの手を用いるが、操作上の問題が生じない限りは手に持っている物体や体に装着した物体、体の他の部位を追跡してもよい。
また、トラッキング入力部11は、トラッキングデバイス21から、例えば1/30秒程度の短い時間間隔で位置情報を取得する。なお、時間間隔については、これに限定されるものではなく、例えばユーザの手の動きを捉えることができる間隔で位置情報が逐次取得されればよい。
トラッキング位置記憶部12は、トラッキング入力部11で得られたユーザの手の位置情報を記憶する。この記憶は、最新の一定時間分だけ残しておけばよく、古いものは捨ててもよい。つまり、一定時間とは、例えば10秒間や1分間等であり、ユーザの手の円運動の解析に必要十分な範囲であればよい。なお、最新の一定時間分だけを記憶し続ける場合には、トラッキング位置記憶部12として、例えばリングバッファ等を用いることができるが、これに限定されるものではない。
円運動算出部13は、トラッキング位置記憶部12から得られたユーザの手の位置情報の変化を解析し、ユーザの手の移動が円運動であるかどうかの判定を行う。具体的には、円運動算出部13は、ユーザの手の位置情報の変化が、ある中心に対してどの程度回転(円運動)しているかによって円運動であるか否かを判定する。
なお、円運動算出部13は、ユーザの手の位置情報の変化が、例えば所定の円軌道で、ある基準位置から所定の角度分移動したことを認識した場合には、その軌道に対してユーザの手を1周回してなくても円軌道を描いていると認識することができる。
また、円運動算出部13は、ユーザの手が円運動をしていると判定した場合に、そのユーザの手の円運動に関する各種パラメータを取得する。具体的には、円運動算出部13は、パラメータとして、例えばその円運動の中心位置を取得する。また、円運動算出部13は、パラメータとして、例えば円運動平面、周回数、半径等のうち、少なくとも1つを取得する。更に、円運動算出部13は、パラメータとして、円運動の回転方向や円運動平面のトラッキングデバイス21に対する傾き等を取得する。
なお、円運動算出部13における物体運動の解析手法については、例えば、まずトラッキング位置記憶部12に記憶された位置情報を最新のものから逆に辿っていき、最小二乗法等で一定の直線性が認められる部分をまとめ、その部分を代表する直線に置き換える。その後、円運動算出部13は、直線が一定数以上揃った時点で、それらの交点の外接矩形の中心点を求める。更に、円運動算出部13は、時系列順で隣り合う交点から、それぞれ中心点に伸ばしたベクトルがなす角を、外積等を用いて時系列の逆方向に順に求め、その角度が逆向きになることなく、累積した角度が1周分等の所定の角度を満たすかどうかを確認する。
次に、円運動算出部13は、所定の角度分を満たした場合に、その範囲において中心点と各交点との平均距離をRとした場合、中心点と交点の距離が「a×R」から「b×R」の間にあるかどうかを確認する。ここで、上述したa,bは、「0<a<1」、「1<b」となる定数である。また、円運動算出部13は、各距離値が範囲内であった場合には、更に最小二乗法等で各交点から平面を求めることができる。
また、円運動算出部13は、交点と平面とのずれが範囲内であれば所定の物体が平面上で所定の角度分の円運動をしているとみなす。同様に、円運動算出部13は、過去の位置情報を遡って解析することで円運動の周回数を得ることができる。
更に、円運動算出部13は、例えば円運動しているとみなされた範囲で中心点と各交点の距離を求め、その平均を取ることで円の半径を算出することができる。また、円運動算出部13は、ユーザの手の位置座標の時系列変化から円運動の回転方向や円運動平面のトラッキングデバイス21に対する傾きを算出することができる。
なお、周回毎に中心点と平面とは異なってくる可能性があるが、そのような場合には、例えば時系列で最新の周回のものを用いたり、平均を取る等の方法を用いことで誤差を解消することができる。更に、本実施形態では、周回間で中心と平面が大きく異なる場合も考えられるが、このような場合には、予め設定された条件を満たす最大の周回数を選択する等により、イレギュラーな手の動作を除外することができる。
周回条件判定部14は、メニュー選択モードに移行するための判定条件として、予め設定された周回条件による判定を行う。例えば、周回条件判定部14は、円運動算出部13から得られた情報から一定時間内に一定周回以上の回転があることを判定する。ここで、周回条件判定部14は、メニュー選択モードに入る以前の状態がいわゆるフリーカーソル状態である場合に、周回条件判定時の一定時間及び一定周回数がフリーカーソル時の自然な操作では起きにくいものにすべきである。ここで、フリーカーソル状態とは、例えば、表示部22の画面内を自由にカーソル移動でき、画面上の対象を選択可能な状態等を意味するが、これに限定されるものではない。したがって、周回条件判定部14は、周回条件としては、例えば2秒以内に2回以上回転させるといったように、意図的に周回させた場合でなければほぼ起き得ない条件とするのが好ましい。なお、上述した周回条件は、複数の条件を設定しておくこともできる。例えば、周回条件判定部14は、周回条件以外の条件として、例えば円運動の半径が所定の大きさ以上であるとか、円運動の方向が所定の方向である等の条件を付加してもよい。
メニュー選択モード制御部15は、周回条件判定部14で所定の周回条件が満たされた場合に、メニュー選択モードに切り替える。ここで、メニュー選択モードに切り替えるとは、例えばモードを切り替えたことを示す値又はフラグ等をセットすることを意味するが、これに限定されるものではない。また、メニュー選択モード制御部15は、円運動算出部13から上述した各パラメータを取得する。具体的には、メニュー選択モード制御部15は、パラメータとして、円運動算出部13から円運動の中心位置を取得する。また、円運動算出部13は、パラメータとして、円運動平面や周回数、半径、円運動の回転方向、円運動平面の傾き等の情報を取得する。
メニュー選択モード制御部15は、モード切り替えたことを示す情報と、円運動算出部13から得られるパラメータを、円運動記憶部16に出力する。
円運動記憶部16は、メニュー選択モード制御部15でメニュー選択モードに切り替わったときの円運動の中心位置、円運動平面、円の半径等を取得し保持する。ただし、円の半径や、円運動の回転方向、円運動平面の傾き等の情報については、メニュー選択部19での判定に用いない場合、保持しなくてもよい。
メニュー選択決定部17は、メニュー選択モード時、トラッキング入力部11から得た手の位置が円運動記憶部16に保持されている円運動平面から一定距離以上離れているとき選択された項目の確定又はキャンセル等の動作を決定し、決定した動作を実行する。なお、確定とは、例えば対象のメニュー項目に予め設定された所定の実行イベントを実行する等の処理があるがこれに限定されるものではない。また、キャンセルとは、例えばメニュー選択モードを解除(フラグ等をクリア)したり、選択確定前の状態に戻したり、メニュー項目の表示を画面上から消す等の処理があるがこれに限定されるものではない。
また、上述した一定距離は、メニュー選択のための平面上の手の動きのブレよりも十分大きいものであることが好ましい。例えば、人が平面上を動かすつもりで手を動かしていても実際には、例えば最大で約5cm程度、平面からずれが起こる場合には、このメニュー選択決定部17における一定距離値は、約5cmよりも十分大きな値、例えば約10cmとすることが好ましい。また、メニュー選択決定部17は、円運動平面に対する垂直方向が2方向あるため、そのどちらかの方向への手の移動を選択項目の確定とし、もう一方をキャンセルとすることができる。
メニュー選択制御部18は、メニュー選択モード時に、トラッキング位置記憶部12から得られたユーザの手の位置の変化による移動方向が、円運動記憶部16に保持されている円運動平面に対して所定方向である場合に、後述するメニュー選択部19による選択項目の変更を無効にする。具体的には、例えば、メニュー選択制御部18は、ユーザの手の移動方向が円運動平面に対して平行であるか垂直であるかを求め、求めた移動方向が垂直である場合に、後述するメニュー選択部19でのメニュー項目の変更を無効にする。これにより、本実施形態では、メニュー選択決定部17によるメニュー項目の確定及びキャンセルの判定とメニュー項目の変更するための判定とを分けて処理することができる。
ここで、本実施形態では、メニュー選択決定部17において、単純に平面からの距離の閾値で判定すると、手のブレによっては確定操作の瞬間に別の項目が選択されてしまう可能性がある。したがって、上述したメニュー選択制御部18では、そのようなことがないように円運動記憶部16で保持している円運動平面に対する手の進む方向(移動方向)に応じ、距離の閾値以内であっても選択項目が変更されないようにする。また、円運動平面に対する手の進む方向は、例えば量子化することで比較的平行であるか垂直であるかに二分させることができる。
メニュー選択部19は、メニュー選択モード時に、トラッキング入力部11から得られた手の位置と円運動記憶部の保持する円の中心位置との関係に基づき、メニューの選択項目を決定する。具体的には、例えば、メニュー選択部19は、円の中心位置を基準とし、その周囲に円環状にメニュー項目が配置されている場合に、まず、メニュー項目の数に基づき量子化する。その後、メニュー選択部19は、円の中心位置を基準として、現在の手の位置がなす方向(角度)を、上述した量子化した値に対応させることで、対応するメニュー項目を選択することができる。
また、メニュー選択部19は、例えば円の中心位置と手の位置との距離の一定の範囲をメニュー項目の数に基づき量子化し、その値に応じた選択を行うこともできる。更に、メニュー選択部19は、上述した二つを組み合わせて、角度と距離の両方でメニュー選択することもできる。この場合、メニュー選択部19は、例えばメニュー項目数をn分割すると考え、距離の一定範囲をn個に量子化して、角度をメニュー項目数/n個で量子化する。このようにすることで、本実施形態では、ある範囲の距離と角度にメニュー項目の一つが割り当てられる。また、上述した手法を用いることで、本実施形態では、メニュー項目数が多いときでも角度が細分化されすぎないという効果がある。
また、メニュー選択部19は、角度で選択したある一つのメニュー項目について、距離値で選択の種類を変えるといった効果を出すこともできる。選択の種類とは、例えば、色の選択であれば濃い色、薄い色等があり、ファイルの選択であればコピー、削除、移動等があり、人名等であればメールする、電話する、予定を伺う等の選択が確定した後の動作の指示を表す。
この際の距離値の判定は、円運動記憶部16に保持された円の半径に対する比較で、ほぼ等しい、十分小さい、十分大きい、といったように切り分けすることでユーザによって任意に基準を設定することができる。例えば、メニュー選択部19は、例えば手と中心点との距離値が保持された円の半径より約5cm以上小さい、又は、円の半径の1/2以下のとき「十分小さい」とみなし、保持された円の半径より5cm以上大きい、又は、半径の1.5倍以上のとき「十分大きい」とみなし、それ以外のとき「ほぼ等しい」とみなすことができる。
更に、メニュー選択部19は、メニュー変更時の処理として、メニュー表示が行われる前に円運動の回転方向や円運動平面の傾き、又はその両者を円運動記憶部16から取得し、その取得した情報に基づいて表示するメニューの種類を変更する。例えば、メニュー選択部19は、同じ円運動平面で手を回転させた場合も時計回りと反時計回りで異なるメニューを表示するようにしてもよい。また、メニュー選択部19は、例えばトラッキングデバイス21に対して垂直な面に手を円運動させた場合に、その時点で表示部22に表示されている実行中のアプリケーション(ソフトウェア)に対する操作メニューのメニュー項目に変更してもよい。また、メニュー選択部19は、例えばトラッキングデバイス21に対して前後奥行き方向に円運動させた場合には、よく使用するアプリケーションの起動メニューにメニュー項目を変更してもよい。
メニュー情報保持部20は、表示部22に表示するメニュー項目や各項目の表示位置、各項目に対する実行イベント等のメニュー情報を1又は複数保持している。メニュー情報保持部20は、メニュー選択部19により、メニューの表示や変更等の指示があった場合に、対象のメニュー項目を表示部22に出力する。また、メニュー情報保持部20は、メニュー選択決定部17により選択項目が確定された場合に、その項目内容に対応する実行イベントを抽出し、抽出した実行イベントを実行させる。
表示部22は、メニュー選択モード時、表示装置上にメニューと選択項目を表示する。ここでの表示形式は、特に限定されるものではなく、例えばメニュー項目を円環状に並べたもの、縦に並べたもの、横に並べたもの、タイル状に並べたもの等、何れの形式であってもよい。また、表示部22は、例えばユーザの手をどの位置に動かすと、どの項目が選択されるのかが明示されていることが好ましい。例えば、表示部22は、手の回転移動軌跡を模した画面上の軌跡上にメニュー項目を配置する方法を用いることができるが、これに限定されるものではない。なお、表示部22は、メニューや選択項目の表示に限定されるものではなく、例えば実行中のアプリケーション等の内容も表示する。表示部22は、例えば液晶ディスプレイや液晶モニタ等である。
ここで、図1の例において、トラッキングデバイス21及び表示部22は、情報処理装置10の外部に設けられているが、これに限定されるものではなく、例えば情報処理装置10と一体に設けられていてもよい。
<情報処理装置:ハードウェア構成例>
図2は、本実施形態における情報処理装置のハードウェア構成の一例を示す図である。なお、図2は、本実施形態におけるメニュー選択処理を実現するコンピュータのハードウェア構成例を示している。
図2に示す情報処理装置10を実現するコンピュータは、CentralProcessing Unit(CPU)31と、メモリ32と、記憶装置33と、通信装置34と、ドライブ装置35と、入力装置36と、出力装置37とを有する。なお、図2には、記録媒体39も示されている。
CPU31は、本実施形態におおけるメニュー選択処理を実行するために情報処理装置10の全体を制御する。CPU31は、Operating System(OS)等の制御プログラム、及びメモリ32に格納されている実行プログラムに基づいて、各種演算や各ハードウェア構成部とのデータの入出力等、コンピュータ全体の処理を制御して、本実施形態における各処理を実行する。なお、プログラムの実行中に必要な各種情報等は、記憶装置33から取得することができ、また実行結果等を格納することもできる。
具体的には、CPU31は、入力装置36からのユーザの手の動き(位置情報、追跡情報)等を読み取り、本実施形態におけるメニュー選択手法を用いて出力装置37の画面にメニュー表示を行ったり、メニュー選択等を行う。
また、CPU31は、ドライブ装置35を介して記録媒体39から本実施形態に必要な各種情報やプログラムを読み出したり、本実施形態における処理を実行した結果や経過等の情報を記録媒体39に書き込むための制御等を行う。
メモリ32は、例えば主記憶装置である。メモリ32は、本実施形態における実行プログラムや入力データ等が格納され、これらの情報を用いてメニュー選択処理等が実行される。メモリ32としては、例えばRead Only Memory(ROM)やRandom Access Memory(RAM)等を用いることができる。
記憶装置33は、実行プログラムやコンピュータに設けられた制御プログラム等を蓄積し、必要に応じて入出力を行う補助記憶装置である。記憶装置33としては、例えばハードディスク等のストレージ手段等を用いることができる。また、記憶装置33は、予め設定された本実施形態における各種条件や入力データ、出力データ等を記憶することができる。
通信装置34は、例えばインターネットやLocal Area Network(LAN)等に代表される通信ネットワークを用いて、外部装置と接続してデータの送受信等を行う。なお、通信装置34は、外部装置と接続し、例えば本実施形態におけるメニュー選択プログラムや他の入力データ等を取得したり、メニュー選択処理の実行結果や経過等の情報を外部装置に送信することができる。また、通信装置34は、外部装置としてのトラッキング入力部11と接続されていてもよい。これにより、本実施形態では、通信装置34を介してトラッキング入力部11からの情報を取得することができる。
ドライブ装置35は、例えば本実施形態におけるメニュー選択処理等の実行プログラムが記録された記録媒体39をセットすることができる。また、ドライブ装置35は、CPU31の制御により、記録媒体39に含まれる実行プログラムを読み出し、記憶装置33に出力してインストールさせる。また、ドライブ装置35は、CPU31の制御により記録媒体39に各種データを書き込むことができる。
入力装置36は、ユーザからの指示情報を入力する。入力装置36としては、例えばキーボード・マウス等を用いることができる。なお、入力装置36としては、例えば、トラッキングデバイス21を実現するカメラ等の受像装置等も含む。
出力装置37は、本実施形態におけるメニュー選択処理を画面に表示する。出力装置37としては、例えばディスプレイやモニタ等の表示装置を用いることができるが、これに限定されるものではなく、音声等を出力するスピーカ等も設けていてもよい。
バス38は、CPU31、メモリ32、記憶装置33、通信装置34、ドライブ装置35、入力装置36、及び出力装置37を、データの入出力が可能な状態となるように接続する。
記録媒体39は、ドライブ装置35に接続させてデータを読み出したり、書き込んだりすることができる媒体である。記録媒体39としては、例えばCompact Disc Recordable(CD−R)やDigital Versatile Disc Recordable(DVD−R)等の可搬型記録媒体を用いることができる。なお、記録媒体39は、上述した種類に限定されるものではなく、例えばUniversal Serial Bus(USB)メモリでもよい。また、記録媒体39は、フラッシュメモリ等の半導体メモリや、ハードディスクドライブ等を用いることもできる。
つまり、情報処理装置10が備える各機能部は、図2に示すようなコンピュータが備えるCPU31、メモリ32等のハードウェア及びソフトウェアプログラムによって実現することが可能である。また、コンピュータが実行可能なプログラムは、記憶装置33に記憶され、その実行時にメモリ32に読み出され、CPU31により実行される。
コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、例えばサーバコンピュータ等からプログラムが転送される毎に、逐次、通信装置34でそのプログラムを受け取り、受け取ったプログラムに従った処理を実行することもできる。
本実施形態では、上述したようなハードウェア構成により、本実施形態における画像処理を実行することができる。また、プログラムをインストールすることにより、汎用のパーソナルコンピュータ等でメニュー選択処理を容易に実現することができる。
<メニュー選択動作の具体例>
次に、本実施形態をユーザ側から見た場合の一例について図を用いて説明する。図3は、メニューを開く操作の具体例を示す図である。なお、図3では、フリーカーソル状態からユーザが手を円状に回転してメニュー選択モードに移行しようとしている様子を示している。
図3(A)では、上述した表示部22の表示画面40を示している。フリーカーソル状態では、カーソル41が表示画面40上に自由な位置に表示されている。このような状態において、例えば図3(B)に示すように、円運動平面45に対して、ユーザの手42を所定の方向に回転させた場合には、トラッキング入力部11により得られるユーザの手42の移動軌跡43を用いて、円運動の中心位置44及び円運動平面45等のパラメータが保持される。なお、これらの情報は、円運動算出部13により算出される。また、メニュー選択モード時には、円運動の中心位置44や円運動平面45等のパラメータが円運動記憶部16により記憶され、保持される。
なお、円運動平面45は、表示画面40と平行でなくてもよい。つまり、ユーザの手42が円軌道を描く場合には、例えば地面と水平に円軌道を描いていてもよい。トラッキングデバイス21は、上述の動作であっても、ユーザの手42の円運動を認識することができ、円運動平面45を取得することができる。
図4は、メニュー表示の具体例を示す図である。本実施形態では、図3(B)に示すようなユーザの手42の動作に対応させて、予め設定された周回条件判定部14による判定条件を満たす場合に、図4(A)に示すようにメニュー項目50が表示部22の表示画面40に表示される。なお、表示されるメニュー項目50は、メニュー情報保持部20に予め保持されているメニュー情報に基づき、所定のメニュー項目が、所定の表示位置に表示される。
例えば図4(A)に示す例では、複数のメニュー項目50が同一円環状に配置されて表示されている。なお、表示内容は、これに限定されるものではなく、例えば縦一列又は横一列、或いは縦横に所定の間隔で配置されていてもよい。
また、項目数や種類については、図4(A)の例に限定されるものではなく、例えばメニュー選択部19による変更条件等に応じて、メニュー情報保持部20に予め保持されているメニュー情報に基づき、メニュー項目の内容や配置等を変更することができる。
更に、各項目の表示される項目の形状は、図4(A)に示すように矩形に限定されるものではなく、例えば円形や楕円形、星型等の形状であってもよく、大きさも項目毎に変更させてもよい。例えば、項目毎に大きさを変更する場合には、項目の優先度や重要度が高いほど、項目の大きさや形状を異ならせて表示させるようにしてもよい。
本実施形態では、図4(A)に示すようにメニュー選択モードに移行した場合に、メニューが表示された直後の状態から、保持された円運動の中心から現在の手42の位置に向かう方向に対応したメニュー項目が選択状態となる。
例えば、ユーザは、手42を円運動の中心位置44を基準として所定の方向に位置付けている場合に、その位置に対応するメニュー項目50(図4(A)の例では、「項目5」)が選択される。このとき、ユーザの手の位置は、予め設定された所定位置からの角度(図4(b)の例では、θ)を基準として対応するメニュー項目50を選択することもできる。
なお、選択されたメニュー項目50は、強調表示させることができる。強調表示とは、例えば他の項目と色を変えて表示したり、他の項目よりも大きく表示したり、項目を点滅させる等のうち、少なくとも1つを意味するが、これに限定されるものではない。
なお、本実施形態では、例えば、図4(A)に示すような表示画面40に表示された項目の位置情報や項目の内容については、メニュー情報保持部20により保持される。
ここで、図5は、メニュー情報の一例を示す図である。なお、図5の例では、メニュー情報としてメニューテーブルの一例を示している。図5に示すメニューテーブルは、項目として、表示項目と、位置情報と、実行コマンド等を有するが、これに限定されるものではない。
図5の例では、各表示項目(例えば、項目1〜項目8)に対して、それぞれの表示画面40に対する表示位置情報(x,y)が保持されている。本実施形態では、この表示位置情報と、ユーザの手42の現在の位置情報とにより、その位置に対応する項目の選択が行われる。なお、各項目の位置情報は、量子化されており、多少の位置ずれがあったとしても何れかの項目を容易に選択できるようになっている。
また、図5に示すメニューテーブルは、各項目に対する所定のイベント(例えば、コマンドA〜H)が対応付けられており、項目が確定すると、その項目に対応した実行イベントが実行される。
なお、実行コマンドとしては、例えば「他の画面を開く」、「アプリケーションを実行する」、「アプリケーションを終了する」、「データを保存する」等がある。また、他の実行コマンドとしては、例えばメニュー項目が色の選択であれば濃い色や薄い色の選択を実行したり、メニュー項目がファイルの選択であればコピー、削除、移動等を実行することができる。また、他の実行コマンドとしてメニュー項目が人名等であればメールする、電話する、予定を伺う等の動作等を行うことができるが、これに限定されるものではない。本実施形態では、ユーザが手42の移動により選択したい項目に位置付けて所定の動作を行うことで、メニューの選択が行われる。
なお、図5に示すメニュー項目は、複数のメニュー毎に各テーブルが設定されていてもよい。これにより、本実施形態では、メニュー選択部19により得られるメニュー変更指示等に基づいて、メニュー項目等の種類を変更して表示部22に表示させることができる。
図6は、メニュー選択操作の具体例を示す図である。図6の例では、メニュー選択モード時に、ユーザがメニュー選択を行う様子を示している。例えば、ユーザは、表示部22の表示画面40に表示されているメニュー項目50から選択したい項目を選び、円運動の中心位置44から選択したい項目に対応する空間上の位置へと真っ直ぐに手42を移動させる。
ここで、円運動の中心位置44は、メニューを開く際の手42の円運動の中心位置であり、メニューを開く動作は、ユーザ自らが行っている。そのため、ユーザは、その円運動の中心位置44から選択したい項目の相対的な位置関係を感覚的に捉えることができる。 具体的には、図6(B)に示すように、ユーザが手42を円運動の中心位置44から選択したい項目の方向(図6(B)の例では矢印A方向)に移動させることで、メニューテーブルの位置情報と照合し、対応する項目(図6の例では、「項目8」)を強調表示する。
なお、本実施形態では、位置情報だけでなく、所定位置からの角度方向(図6(B)の例ではθ)に対して移動させることで、上述したメニューテーブルの位置情報と照合し、対応する項目を強調表示してもよい。これにより、ユーザは、直感的な項目の選択を行うことができる。
図7は、メニュー項目確定操作の具体例を示す図である。図7の例では、保持された円運動平面45に対してユーザの手42を所定方向(図6(B)の例では矢印B方向)に一定距離(例えば、距離h)以上移動させる動作を、メニュー項目の確定動作に割り当てている。また、キャンセルは、円運動平面45に対してユーザの手42を矢印B方向と反対方向に一定距離(例えば、距離h)以上移動させる動作を割り当てる。これにより、本実施形態におけるメニュー項目の確定及びキャンセルを容易に行うことができる。
なお、移動する方向の割り当ては、上述した内容と逆であってもよく、同一方向に対して異なる距離だけユーザの手42を移動させることで、確定又はキャンセル動作を割り当ててもよい。例えば、距離hだけ移動させた場合には、メニュー項目を確定し、また同一方向に距離3hだけ移動させた場合には、キャンセルする。
更に、本実施形態では、他の所定の動作によってメニュー項目の確定又はキャンセルされるように、予め設定されていてもよい。他の所定の動作としては、例えば、手の形状を変えたり(例えば、手を開く、握る等)、手の平を返す動作で、メニュー項目の確定及びキャンセルを行ってもよい。また、他の所定の動作としては、例えば手の移動する速度情報等を用いて、所定の速度より速い場合にメニュー項目を確定し、所定の速度より遅い場合にキャンセルするといった制御を行うこともできる。
また、他の所定の動作としては、手42を所定時間移動停止(停留)させた場合にメニュー項目を確定する等の処理を行うこともできる。具体的には、例えばメニュー選択決定部17がトラッキング入力点の一定時間の停留を判定し、入力点が円運動平面45から一定距離内にあり、かつ入力点が円中心からの半径に基づいて決められた所定の距離内にある場合に、メニュー項目を確定することができる。
なお、一定時間の停留の判定は、例えば、所定時間内におけるユーザの手42の移動範囲が一定値以下であるかどうかにより判断することができる。また、メニュー選択決定部17は、停留かつ範囲内のときに選択されたメニュー項目を確定し、範囲外のとき選択をキャンセルすることができる。
更に、他の所定の動作としては、例えば、表示画面40に「確定ボタン」や「キャンセルボタン」を表示し、その何れの位置に手42を移動させることで、確定又はキャンセル動作を実行させることができる。なお、上述したメニュー項目の確定やキャンセルの動作の判定は、例えばメニュー選択決定部17によって行われる。
<メニュー選択決定部17におけるキャンセル動作の具体例>
ここで、上述したメニュー選択決定部17におけるキャンセル動作の具体例については、上述したように円運動平面を基準として所定の方向に所定の距離以上移動させたときにキャンセル動作を行うことができる。また、その他の例としては、例えば円運動した場所から一定以上離れた位置に手が移動した場合にキャンセル動作を行ってもよい。なお、上述の例としては、例えばユーザが手を下に下ろした場合等があるが、これに限定されるものではない。
なお、これらの判定は、例えば円運動平面の向きとキャンセルを行うための手の移動内容を設定することで、キャンセル動作を指定することができる。例えば、メニュー選択決定部17は、円を地面と水平に描いた場合に、下向きをキャンセルとすることができる。また、メニュー選択決定部17は、垂直円である場合に、手を自然に引っ込める方向(例えば、正面向きの円なら引く方向、側面向きの円なら利き手方向)とすれば誤ってキャンセル動作と判断されることはない。また、メニュー選択決定部17におけるキャンセル動作については、上述した複数の手法のうち、少なくとも1つを実行することで、キャンセル動作を実行することができるが、これに限定されるものではなく、例えば所定の順序で複数の動作を行わせてもよい。
また、メニュー選択決定部17は、円運動位置と入力点との距離が円運動半径に基づいて決められた所定値以上離れているときにキャンセルとする。所定値は、例えば円運動半径に対して1次変換で求めることができる。円運動位置と入力点との距離は、円運動の中心と入力点との距離とし、任意の方向で一定以上離れたらキャンセルとする。また、円運動位置と入力点との距離は、入力点から円運動平面へ下ろした垂線と平面との交点と円運動の中心との距離とすることもできる。この場合には、手42が円上から一定以上離れるとキャンセルとなる。
更に、メニュー選択決定部17は、予めキャンセルとなるエリア(例えば、表示画面40の下の方の領域等)を設けて、そこにユーザの手42が移動したらキャンセルにすることもできる。
上述したように、本実施形態では、ユーザが任意に決めた中心位置と手の位置とのなす方向から絶対位置でメニュー項目を選択することができる。また、本実施形態では、選択のための手の動きの平面から垂直方向に一定以上手を動かすことで選択したメニュー項目の確定又はキャンセルを行うことができる。また、本実施形態では、片手で容易に選択処理を行うことができる。
つまり、本実施形態では、例えばメニューを開く際に任意に定めた空間上の中心点と手の位置との位置関係に基づいて、直感的にメニュー選択を行うことができる。また、本実施形態では、例えば、メニューを開く際に定めた空間上の平面と直行する方向に手を動かすことで、素早く選択項目の選択や確定等を行うことができる。更に、本実施形態では、メニュー選択時に手を循環運動(回転、往復)させたり、画面を見ながらカーソルの位置合わせをしたり、手を所定の形にしたりしなくとも直感的に素早くメニュー選択が可能となる。
<本実施形態におけるメニュー選択処理手順の一例>
次に、本実施形態におけるメニュー選択処理手順の一例について、フローチャートを用いて説明する。なお、以下に示すメニュー選択処理は、例えばメニュー選択プログラム(ソフトウェア)が図2に示すようなハードウェア資源にインストールされることで協働して実行される処理である。図8〜図10は、本実施形態におけるメニュー選択処理の一例を示すフローチャート(その1〜その3)である。
図8〜10に示す例において、メニュー選択処理は、トラッキング入力による位置情報として座標値Xを取得し(S01)、その座標値を記憶する(S02)。このときの座標値は、座標列X(1≦i≦n)として、所定時間間隔で連続した座標列が記憶される。
次に、メニュー選択処理は、メニュー選択モードか否かを判断し(S03)、メニュー選択モードでない場合(S03において、NO)、座標列Xから中心位置Cを算出する(S04)。その後、メニュー選択処理は、中心位置を座標列から平均距離Rを算出する(S05)。
次に、メニュー選択処理は、S05の処理で得られた平均距離Rが予め設定された一定値である最小距離Rminより小さいか否か(R<Rmin?)を判断する(S06)。メニュー選択処理は、平均距離Rが最小距離Rminより小さくない場合(S06において、NO)、次に、定数a,bを用いて「a×R」、「b×R」(0<a<1、1<b)と、各座標点Xと中心点Cとの距離rとを比較する(S07)。
ここで、メニュー選択処理は、r<aR又はr>bRとなるrが存在するか否かを判断する(S08)。メニュー選択処理は、S08の条件を満たすrが存在しない場合(S08において、NO)、∠XCX−1を順に算出して角度aを取得する(S09)。なお、S09の処理では、例えば時計回りが正、逆が負とするが、これに限定されるものではない。
また、メニュー選択処理は、角度「a×a−1」<0となるa、a−1が存在するか否かを判断する(S10)。ここで、メニュー選択処理は、a、a−1が存在する場合は、周回数Lを0にして(S11)、S01の処理に戻る。
なお、メニュー選択処理は、S06の処理において、平均距離RがRminよりも小さい場合(S06において、YES)、上述したS11の処理を行い、S01の処理に戻る。また、メニュー選択処理は、S08の処理において、S08の条件を満たすrが存在する場合(S08において、YES)の場合、上述したS11の処理を行い、S01の処理に戻る。
また、メニュー選択処理は、S10の処理において、S10の条件を満たすa、a−1が存在しない場合(S10において、NO)、全aの和Wを算出する(S12)。次に、メニュー選択処理は、角度の和Wの絶対値|W|が360°以上であるか否か(|W|≧360°?)を判断し(S13)、|W|が360°以上である場合(S13において、YES)、周回数Lを1増加する(S14)。また、メニュー選択処理は、最後の1点を残して、今まで記憶していた座標値列をクリアする(S15)。
次に、メニュー選択処理は、周回数Lが予め設定された一定値である最小周回数Lmin以上か否か(L≧Lmin?)を判断する(S16)。メニュー選択処理は、周回数Lが予め設定された周回数最小値Lmin以上である場合(S16において、YES)、円運動平面を算出する(S17)。S17の処理では、ベクトルCXとベクトルCX−1の外積がなす方向の単位ベクトルを求め、それらベクトルの平均N(円運動平面の法線)を求める。また、メニュー選択処理は、上述の処理により求めた半径R、中心点C、円運動平面の法線Nを記憶する(S18)。次に、メニュー選択処理は、メニュー選択モードに移行し(S19)、S01の処理に戻る。
ここで、メニュー選択処理は、上述したS03の処理において、メニュー選択モードである場合(S03において、YES)、メニュ選択モードへの移行処理を行う。具体的には、メニュー選択処理は、入力点Xと円運動平面(例えば、中心点Cと法線N)との距離vを算出し(S20)、次に、距離vが予め設定された一定値である最大距離Vmaxより大きいか否か(v>Vmax?)を判断する(S21)。
メニュー選択処理は、距離vが予め設定した最大距離Vmaxより大きくない場合(S21において、NO)、ベクトルXn−1とNのなす角tを求める(S22)。また、メニュー選択処理は、なす角tが予め設定された閾値Tshと比較して「Tsh≦t≦180-Tsh」の関係にあるか否かを判断する(S23)。メニュー選択処理は、S23の条件を満たす場合(S23において、YES)、中心点Cから入力点Xへ向かう方向値D(0°≦D<360°)を算出し(S24)、更に方向値をメニュー項目数で量子化する(S25)。このときの量子化値は、dとする。次に、メニュー選択処理は、量子化値dに対応するメニュー項目を表示する(S26)。
また、メニュー選択処理は、S23の条件を満たさない場合(S23において、NO)、又はS26の処理の終了後、メニュー及び選択項目を強調表示し(S27)、S01の処理に戻る。
また、メニュー選択処理は、S21の処理において、距離vが予め設定した最大距離Vmaxより大きい場合(S21において、YES)、ベクトルCと法線Nとの内積を算出する(S28)。次に、メニュー選択処理は、角度の和Wと、S28の処理で得られた内積uとの乗算結果が0以上か否か(W×u≧0?)を判断する(S29)。
ここで、メニュー選択処理は、角度の和Wと内積uとの乗算結果が0以上である場合(S29において、YES)、選択確定処理を行う(S30)。選択確定処理とは、例えばユーザの手の位置座標に対応するメニュー項目に予め設定された実行イベント等を実行する等があるがこれに限定されるものではない。
また、メニュー選択処理は、S29の処理において、角度の和Wと内積uとの乗算結果が0以上でない場合(S29において、NO)、キャンセル処理を行う(S31)。キャンセル処理とは、例えばメニュー選択モードを解除(フラグ等をクリア)したり、選択確定前の状態に戻したり、メニュー項目の表示を画面上から消す等の処理があるがこれに限定されるものではない。
上述したように、本実施形態によれば、ユーザの簡単な操作によるメニュー選択を実現することができる。また、本実施形態では、選択されたメニュー項目の確定やキャンセル、メニューの変更についても簡単な操作で実現することができる。これにより、メニュー操作の利便性を向上させることができる。なお、本実施形態では、奥行き情報の取れるトラッキングデバイスと表示装置を備えた一般的な計算機システムと、その上で動作するソフトウェアとして実装される。また、ソフトウェアの部分は、等価な働きをするハードウェアによって実現されていてもよい。
なお、本実施形態は、例えば空間での物体の動作をトラッキングすることによる非接触情報入力技術全般に適用することができる。
以上、各実施例について詳述したが、特定の実施例に限定されるものではなく、特許請求の範囲に記載された範囲内において、種々の変形、変更が可能である。
なお、以上の実施例に関し、更に以下の付記を開示する。
(付記1)
所定の物体の位置情報を入力する位置情報入力部と、
前記位置情報入力部により得られる前記物体の位置情報の変化を解析し、前記物体が円運動をしているかを判定する円運動算出部と、
前記円運動算出部により前記物体が円運動をしていると判定された場合に、前記物体が所定の周回条件を満たしているかを判定する周回条件判定部と、
前記周回条件判定部により得られた判定結果に基づいて、表示部にメニュー項目の表示し、所定の項目を選択させるメニュー選択モードを実行するメニュー選択モード制御部と、
前記メニュー選択モード時に前記表示部に表示されたメニュー項目に対し、前記円運動算出部により得られた前記円運動の中心位置と、前記位置情報入力部により得られた前記物体の位置情報とに基づいて前記所定の項目を選択するメニュー選択部とを有することを特徴とする情報処理装置。
(付記2)
前記円運動算出部は、前記円運動による円運動平面を算出し、
前記メニュー選択部により前記所定の項目を選択した後、前記円運動平面と、前記位置情報入力部により得られる前記物体の位置情報との距離に基づいて、選択した前記所定の項目の確定又はキャンセルを行うメニュー選択決定部を有することを特徴とする付記1に記載の情報処理装置。
(付記3)
前記メニュー選択モード時に、前記位置情報入力部により得られる前記物体の位置情報の変化による移動方向が、前記円運動平面に対して所定方向である場合に、前記メニュー選択部による前記メニュー項目の変更を無効にするメニュー選択制御部を有することを特徴とする付記2に記載の情報処理装置。
(付記4)
前記メニュー選択部は、
前記円運動算出部により得られる前記円運動による前記物体の回転方向、前記円運動平面の傾き、及び前記円運動による円の半径のうち、少なくとも1つに基づいて表示するメニューの種類を変更することを特徴とする付記2又は3に記載の情報処理装置。
(付記5)
前記メニュー選択決定部は、
前記位置情報入力部により得られる前記物体の位置情報が所定時間の間、前記円運動平面から所定距離内にあり、かつ前記所定の項目の表示位置から所定範囲内にある場合に、前記所定の項目の確定することを特徴とする付記2乃至4の何れか1項に記載の情報処理装置。
(付記6)
所定の物体の位置情報を入力し、入力された前記物体の位置情報の変化を解析し、前記物体が円運動をしているかを判定し、前記物体が円運動をしていると判定された場合に、前記物体が所定の周回条件を満たしているかを判定し、判定結果に基づいて、表示部にメニュー項目の表示し、所定の項目を選択させるメニュー選択モードを実行し、前記メニュー選択モード時に前記表示部に表示されたメニュー項目に対し、前記円運動の中心位置と、前記物体の位置情報とに基づいて前記所定の項目を選択する、処理をコンピュータに実行させるためのメニュー選択プログラム。
(付記7)
前記円運動による円運動平面を算出し、前記所定の項目を選択した後、前記円運動平面と、前記物体の位置情報との距離に基づいて、選択した前記所定の項目の確定又はキャンセルを行うことを特徴とする付記6に記載のメニュー選択プログラム。
(付記8)
前記メニュー選択モード時に、前記物体の位置情報の変化による移動方向が、前記円運動平面に対して所定方向である場合に、前記メニュー項目の変更を無効にすることを特徴とする付記7に記載のメニュー選択プログラム。
(付記9)
前記円運動による前記物体の回転方向、前記円運動平面の傾き、及び前記円運動による円の半径のうち、少なくとも1つに基づいて表示するメニューの種類を変更することを特徴とする付記7又は8に記載のメニュー選択プログラム。
(付記10)
前記物体の位置情報が所定時間の間、前記円運動平面から所定距離内にあり、かつ前記所定の項目の表示位置から所定範囲内にある場合に、前記所定の項目の確定することを特徴とする付記7乃至9の何れか1項に記載のメニュー選択プログラム。
(付記11)
所定の物体の位置情報を入力し、入力された前記物体の位置情報の変化を解析し、前記物体が円運動をしているかを判定し、前記物体が円運動をしていると判定された場合に、前記物体が所定の周回条件を満たしているかを判定し、判定結果に基づいて、表示部にメニュー項目の表示し、所定の項目を選択させるメニュー選択モードを実行し、前記メニュー選択モード時に前記表示部に表示されたメニュー項目に対し、前記円運動の中心位置と、前記物体の位置情報とに基づいて前記所定の項目を選択する、処理を有することを特徴とするメニュー選択方法。
(付記12)
前記円運動による円運動平面を算出し、前記所定の項目を選択した後、前記円運動平面と、前記物体の位置情報との距離に基づいて、選択した前記所定の項目の確定又はキャンセルを行うことを特徴とする付記11に記載のメニュー選択方法。
(付記13)
前記メニュー選択モード時に、前記物体の位置情報の変化による移動方向が、前記円運動平面に対して所定方向である場合に、前記メニュー項目の変更を無効にすることを特徴とする付記12に記載のメニュー選択方法。
(付記14)
前記円運動による前記物体の回転方向、前記円運動平面の傾き、及び前記円運動による円の半径のうち、少なくとも1つに基づいて表示するメニューの種類を変更することを特徴とする付記12又は13に記載のメニュー選択方法。
(付記15)
前記物体の位置情報が所定時間の間、前記円運動平面から所定距離内にあり、かつ前記所定の項目の表示位置から所定範囲内にある場合に、前記所定の項目の確定することを特徴とする付記12乃至14の何れか1項に記載のメニュー選択方法。
10 情報処理装置
11 トラッキング入力部(位置情報入力部)
12 トラッキング位置記憶部
13 円運動算出部
14 周回条件判定部
15 メニュー選択モード
16 円運動記憶部
17 メニュー選択決定部
18 メニュー選択制御部
19 メニュー選択部
20 メニュー情報保持部
21 トラッキングデバイス
22 表示部
31 CPU
32 メモリ
33 記憶装置
34 通信装置
35 ドライブ装置
36 入力装置
37 出力装置
38 バス
39 記録媒体
40 表示画面
41 カーソル
42 手
43 移動軌跡
44 中心
45 円運動平面
50 メニュー項目

Claims (6)

  1. 所定の物体の位置情報を入力する位置情報入力部と、
    前記位置情報入力部により得られる前記物体の位置情報の変化を解析し、前記物体が円運動をしているかを判定する円運動算出部と、
    前記円運動算出部により前記物体が円運動をしていると判定された場合に、前記物体が所定の周回条件を満たしているかを判定する周回条件判定部と、
    前記周回条件判定部により得られた判定結果に基づいて、表示部にメニュー項目の表示し、所定の項目を選択させるメニュー選択モードを実行するメニュー選択モード制御部と、
    前記メニュー選択モード時に前記表示部に表示されたメニュー項目に対し、前記円運動算出部により得られた前記円運動の中心位置と、前記位置情報入力部により得られた前記物体の位置情報とに基づいて前記所定の項目を選択するメニュー選択部とを有し、
    前記円運動算出部は、前記円運動による円運動平面を算出し、
    前記メニュー選択部により前記所定の項目を選択した後、前記円運動平面と、前記位置情報入力部により得られる前記物体の位置情報との距離に基づいて、選択した前記所定の項目の確定又はキャンセルを行うメニュー選択決定部を有することを特徴とする情報処理装置。
  2. 前記メニュー選択モード時に、前記位置情報入力部により得られる前記物体の位置情報の変化による移動方向が、前記円運動平面に対して所定方向である場合に、前記メニュー選択部による前記メニュー項目の変更を無効にするメニュー選択制御部を有することを特徴とする請求項に記載の情報処理装置。
  3. 前記メニュー選択部は、
    前記円運動算出部により得られる前記円運動による前記物体の回転方向、前記円運動平面の傾き、及び前記円運動による円の半径のうち、少なくとも1つに基づいて表示するメニューの種類を変更することを特徴とする請求項又はに記載の情報処理装置。
  4. 前記メニュー選択決定部は、
    前記位置情報入力部により得られる前記物体の位置情報が所定時間の間、前記円運動平面から所定距離内にあり、かつ前記所定の項目の表示位置から所定範囲内にある場合に、前記所定の項目の確定することを特徴とする請求項乃至の何れか1項に記載の情報処理装置。
  5. 所定の物体の位置情報を入力し、入力された前記物体の位置情報の変化を解析し、前記物体が円運動をしているかを判定し、前記物体が円運動をしていると判定された場合に、前記物体が所定の周回条件を満たしているかを判定し、判定結果に基づいて、表示部にメニュー項目の表示し、所定の項目を選択させるメニュー選択モードを実行し、前記メニュー選択モード時に前記表示部に表示されたメニュー項目に対し、前記円運動の中心位置と、前記物体の位置情報とに基づいて前記所定の項目を選択し、前記円運動による円運動平面を算出し、前記所定の項目を選択した後、前記円運動平面と、前記物体の位置情報との距離に基づいて、選択した前記所定の項目の確定又はキャンセルを行う、処理をコンピュータに実行させるためのメニュー選択プログラム。
  6. 所定の物体の位置情報を入力し、入力された前記物体の位置情報の変化を解析し、前記物体が円運動をしているかを判定し、前記物体が円運動をしていると判定された場合に、前記物体が所定の周回条件を満たしているかを判定し、判定結果に基づいて、表示部にメニュー項目の表示し、所定の項目を選択させるメニュー選択モードを実行し、前記メニュー選択モード時に前記表示部に表示されたメニュー項目に対し、前記円運動の中心位置と、前記物体の位置情報とに基づいて前記所定の項目を選択し、前記円運動による円運動平面を算出し、前記所定の項目を選択した後、前記円運動平面と、前記物体の位置情報との距離に基づいて、選択した前記所定の項目の確定又はキャンセルを行う、処理を有することを特徴とするメニュー選択方法。
JP2012062894A 2012-03-19 2012-03-19 情報処理装置、メニュー選択プログラム、及びメニュー選択方法 Active JP5884584B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012062894A JP5884584B2 (ja) 2012-03-19 2012-03-19 情報処理装置、メニュー選択プログラム、及びメニュー選択方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012062894A JP5884584B2 (ja) 2012-03-19 2012-03-19 情報処理装置、メニュー選択プログラム、及びメニュー選択方法

Publications (2)

Publication Number Publication Date
JP2013196391A JP2013196391A (ja) 2013-09-30
JP5884584B2 true JP5884584B2 (ja) 2016-03-15

Family

ID=49395242

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012062894A Active JP5884584B2 (ja) 2012-03-19 2012-03-19 情報処理装置、メニュー選択プログラム、及びメニュー選択方法

Country Status (1)

Country Link
JP (1) JP5884584B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6565256B2 (ja) * 2015-03-25 2019-08-28 コニカミノルタ株式会社 表示装置、画像処理装置及びプログラム
JP6762812B2 (ja) * 2016-09-05 2020-09-30 東芝テック株式会社 操作入力装置及びプログラム
JP7170312B2 (ja) * 2018-09-12 2022-11-14 国立大学法人 東京大学 プログラム、情報処理装置、及び情報処理方法
JP6664018B1 (ja) * 2019-03-08 2020-03-13 Tis株式会社 プログラム及び情報処理装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6501515B1 (en) * 1998-10-13 2002-12-31 Sony Corporation Remote control system
JP2011145842A (ja) * 2010-01-14 2011-07-28 Hitachi Consumer Electronics Co Ltd 入力装置
WO2012011263A1 (ja) * 2010-07-20 2012-01-26 パナソニック株式会社 ジェスチャ入力装置およびジェスチャ入力方法

Also Published As

Publication number Publication date
JP2013196391A (ja) 2013-09-30

Similar Documents

Publication Publication Date Title
US9690388B2 (en) Identification of a gesture
US8666115B2 (en) Computer vision gesture based control of a device
US10606364B2 (en) Two-handed gesture sequences in virtual, augmented, and mixed reality (xR) applications
KR101761050B1 (ko) 인간-컴퓨터 자연스러운 3차원 손 제스처 기반 내비게이션 방법
CN106339093B (zh) 一种云台控制方法和装置
US9685005B2 (en) Virtual lasers for interacting with augmented reality environments
KR101514169B1 (ko) 정보 처리 장치, 정보 처리 방법 및 기록 매체
US10642369B2 (en) Distinguishing between one-handed and two-handed gesture sequences in virtual, augmented, and mixed reality (xR) applications
US8379098B2 (en) Real time video process control using gestures
WO2010073432A1 (ja) 画像処理装置および画像処理方法
US10755438B2 (en) Robust head pose estimation with a depth camera
JP5595655B2 (ja) 画像処理装置および画像処理方法
CN104956292A (zh) 多个感知感测输入的交互
JP5884584B2 (ja) 情報処理装置、メニュー選択プログラム、及びメニュー選択方法
US10372229B2 (en) Information processing system, information processing apparatus, control method, and program
US20190384406A1 (en) ONE-HANDED GESTURE SEQUENCES IN VIRTUAL, AUGMENTED, AND MIXED REALITY (xR) APPLICATIONS
US20140053115A1 (en) Computer vision gesture based control of a device
JP5468773B2 (ja) 画像処理装置および画像処理方法
CN109947243B (zh) 基于触摸手检测的智能电子设备手势捕获与识别技术
CN101796815A (zh) 用于处理具有特征指示的合成视频图像的方法
JP4559375B2 (ja) 対象物位置追跡方法、装置、およびプログラム
JP5558899B2 (ja) 情報処理装置、その処理方法及びプログラム
CN109960406B (zh) 基于双手手指之间动作的智能电子设备手势捕获与识别技术
JP4972013B2 (ja) 情報提示装置、情報提示方法、情報提示プログラムおよびそのプログラムを記録した記録媒体
EP3432204B1 (en) Telepresence framework for region of interest marking using headmount devices

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20141204

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20151007

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20151013

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20151214

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160125

R150 Certificate of patent or registration of utility model

Ref document number: 5884584

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150