(57)【要約】【課題】情報処理装置に接続された周辺機器の一覧する一覧画面上で操作対象の周辺機器を指定する方式よりも、ユーザが操作対象の周辺機器を容易に指定できるようにする。【解決手段】ポート位置管理情報３２には、各ＵＳＢポート１０の位置が登録されている。センサ１８やユーザの指先の位置の時系列的な変化を検出する。ジェスチャ認識部２０は、センサ１８が検出した指先の位置の変化から、ユーザが行ったジェスチャを認識すると共に、そのジェスチャの位置を特定する。コントローラ１２は、ジェスチャ認識部２０が検出したジェスチャの位置がポート位置管理情報３２内のＵＳＢポート１０の位置に近接したことを検知した場合、そのＵＳＢポート１０に接続された周辺機器を、そのジェスチャに対応する操作の対象と認識する。【選択図】図１
2015022489.tif 000002
【特許請求の範囲】
【請求項１】
各周辺機器ポートの位置の情報を記憶するポート位置記憶手段と、
各周辺機器ポートに接続された周辺機器を特定する情報を記憶する機器情報記憶手段と、
ユーザのジェスチャを認識するジェスチャ認識装置からユーザがジェスチャを行った位置の情報を取得する位置取得手段と、
前記位置取得手段が取得した前記ユーザがジェスチャを行った位置が、前記ポート位置記憶手段に記憶されたいずれかの周辺機器ポートの位置に近接していることを検知した場合に、近接していると検知した前記周辺機器ポートに接続された周辺機器を前記機器情報記憶手段に基づき特定し、特定した周辺機器を前記ユーザが指示した操作対象と認識する操作対象認識手段と、
を有する情報処理装置。
【請求項２】
前記ユーザがジェスチャを行った位置が前記周辺機器ポートの位置に近接したことを検知した前又は後に前記ジェスチャ認識装置が認識したジェスチャから、前記操作対象認識手段が認識した操作対象の周辺機器に対する操作内容を判定する操作内容判定手段と、
前記操作対象認識手段が認識した操作対象の周辺機器に対し、前記操作内容判定手段が判定した操作内容に操作が実行されるよう制御を行う制御手段と、
を更に備える請求項１に記載の情報処理装置。
【請求項３】
前記情報処理装置の画面に表示されたオブジェクトが選択されたことを検出する手段と、
前記オブジェクトが選択されたことの検出に続いて前記ジェスチャ認識装置により認識されたジェスチャからそのオブジェクトの移動指示を検出し、その移動指示に対応するジェスチャの終点位置が前記ポート位置記憶手段に記憶されたいずれかの周辺機器ポートの位置に近接している場合、当該近接している周辺機器ポートに接続される周辺機器に対し、そのオブジェクトを入力する手段、
を更に備える請求項１に記載の情報処理装置。
【請求項４】
前記周辺機器ポートに対して周辺機器が接続された時に前記ジェスチャ認識装置から前記位置取得手段が取得した前記ユーザがジェスチャを行った位置に基づき、当該周辺機器ポートの位置を特定し、特定した位置を当該周辺機器ポートの位置として前記ポート位置記憶手段に登録するポート位置登録手段、を更に備える請求項１〜３のいずれか１項に記載の情報処理装置。
【請求項５】
コンピュータを、
各周辺機器ポートの位置の情報を記憶するポート位置記憶手段、
各周辺機器ポートに接続された周辺機器を特定する情報を記憶する機器情報記憶手段、
ユーザのジェスチャを認識するジェスチャ認識装置からユーザがジェスチャを行った位置の情報を取得する位置取得手段、
前記位置取得手段が取得した前記ユーザがジェスチャを行った位置が、前記ポート位置記憶手段に記憶されたいずれかの周辺機器ポートの位置に近接していることを検知した場合に、近接していると検知した前記周辺機器ポートに接続された周辺機器を前記機器情報記憶手段に基づき特定し、特定した周辺機器を前記ユーザが指示した操作対象と認識する操作対象認識手段、
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置及びプログラムに関する。
【背景技術】
【０００２】
特許文献１に開示された情報処理装置は、各ＵＳＢポートに対するＵＳＢデバイスの接続を検出してドライブ番号を割り当て、ＵＳＢポートに接続されたＵＳＢデバイスを取り外す際に、ユーザ操作に応答して、取り外すデバイスのドライブ番号を指定し、指定されたドライブ番号に対応するＵＳＢポートに近接するＬＥＤを点灯させる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１０−２８７１２９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ユーザが情報処理装置に接続されたＵＳＢメモリ等の周辺機器に対して取り外し等の操作を行おうとした場合、一般に、周辺機器の一覧画面を呼び出し、その一覧画面の中から操作対象の周辺機器を指定する必要がある。ところが、一覧画面上では、周辺機器はドライブ番号や機器名称で示されている。このため、情報処理装置に接続されている実際の周辺機器がどのドライブ番号や機器名称に該当するのかがわからないと、一覧画面上に表示されたどの周辺機器が、ユーザの操作したいものであるのかが判別できない。例えば、ユーザが情報処理装置のＵＳＢポートに接続されたＵＳＢメモリを取り外したいと思っても、例えば情報処理装置にＵＳＢメモリデバイスやディスクドライブが複数接続されている場合、一覧画面上に表示されたそれらデバイスのうちのどれがその取り外したいＵＳＢメモリであるのかがユーザにわかりにくい。
【０００５】
本発明は、情報処理装置に接続された周辺機器の一覧する一覧画面上で操作対象の周辺機器を指定する方式よりも、ユーザが操作対象の周辺機器を容易に指定できるようにすることを目的とする。
【課題を解決するための手段】
【０００６】
請求項１に係る発明は、各周辺機器ポートの位置の情報を記憶するポート位置記憶手段と、各周辺機器ポートに接続された周辺機器を特定する情報を記憶する機器情報記憶手段と、ユーザのジェスチャを認識するジェスチャ認識装置からユーザがジェスチャを行った位置の情報を取得する位置取得手段と、前記位置取得手段が取得した前記ユーザがジェスチャを行った位置が、前記ポート位置記憶手段に記憶されたいずれかの周辺機器ポートの位置に近接していることを検知した場合に、近接していると検知した前記周辺機器ポートに接続された周辺機器を前記機器情報記憶手段に基づき特定し、特定した周辺機器を前記ユーザが指示した操作対象と認識する操作対象認識手段と、を有する情報処理装置である。
【０００７】
請求項２に係る発明は、前記ユーザがジェスチャを行った位置が前記周辺機器ポートの位置に近接したことを検知した前又は後に前記ジェスチャ認識装置が認識したジェスチャから、前記操作対象認識手段が認識した操作対象の周辺機器に対する操作内容を判定する操作内容判定手段と、前記操作対象認識手段が認識した操作対象の周辺機器に対し、前記操作内容判定手段が判定した操作内容に操作が実行されるよう制御を行う制御手段と、を更に備える請求項１に記載の情報処理装置である。
【０００８】
請求項３に係る発明は、前記情報処理装置の画面に表示されたオブジェクトが選択されたことを検出する手段と、前記オブジェクトが選択されたことの検出に続いて前記ジェスチャ認識装置により認識されたジェスチャからそのオブジェクトの移動指示を検出し、その移動指示に対応するジェスチャの終点位置が前記ポート位置記憶手段に記憶されたいずれかの周辺機器ポートの位置に近接している場合、当該近接している周辺機器ポートに接続される周辺機器に対し、そのオブジェクトを入力する手段、を更に備える請求項１に記載の情報処理装置である。
【０００９】
請求項４に係る発明は、前記周辺機器ポートに対して周辺機器が接続された時に前記ジェスチャ認識装置から前記位置取得手段が取得した前記ユーザがジェスチャを行った位置に基づき、当該周辺機器ポートの位置を特定し、特定した位置を当該周辺機器ポートの位置として前記ポート位置記憶手段に登録するポート位置登録手段、を更に備える請求項１〜３のいずれか１項に記載の情報処理装置である。
【００１０】
請求項５に係る発明は、コンピュータを、各周辺機器ポートの位置の情報を記憶するポート位置記憶手段、各周辺機器ポートに接続された周辺機器を特定する情報を記憶する機器情報記憶手段、ユーザのジェスチャを認識するジェスチャ認識装置からユーザがジェスチャを行った位置の情報を取得する位置取得手段、前記位置取得手段が取得した前記ユーザがジェスチャを行った位置が、前記ポート位置記憶手段に記憶されたいずれかの周辺機器ポートの位置に近接していることを検知した場合に、近接していると検知した前記周辺機器ポートに接続された周辺機器を前記機器情報記憶手段に基づき特定し、特定した周辺機器を前記ユーザが指示した操作対象と認識する操作対象認識手段、として機能させるためのプログラムである。
【発明の効果】
【００１１】
請求項１又は５に係る発明によれば、情報処理装置に接続された周辺機器の一覧する一覧画面上で操作対象の周辺機器を指定する方式よりも、ユーザが操作対象の周辺機器を容易に指定できる。
【００１２】
請求項２に係る発明によれば、操作対象の周辺機器に対する操作の内容を、タッチパッドやタッチパネル等の他の入力手段を用いることなく、ユーザの指示部を対応する周辺機器ポートに近接させる動作に連続する指示部の動きで指定することができる。
【００１３】
請求項３に係る発明によれば、情報処理装置の画面に表示されたオブジェクトを、周辺機器ポートに接続される周辺機器に対して、ジェスチャにより入力することが可能となる。
【００１４】
請求項４に係る発明によれば、位置検出装置の情報処理装置に対する相対位置が恒久的に固定でない場合に、設置された位置検出装置の位置からみた周辺機器ポートの位置を求め、ポート位置記憶手段に登録することができる。
【図面の簡単な説明】
【００１５】
【図１】実施形態の情報処理装置の構成例を示す図である。
【図２】コントローラの処理手順の一例を示すフローチャートである。
【図３】デバイスの取り出しジェスチャが行われた場合の画面表示の例を模式的に示す図である。
【図４】デバイスの取り出しジェスチャが行われなかった場合のフォルダ画面表示の例を模式的に示す図である。
【図５】センサが報処理装置に対して外付けされる場合の、各ポートの位置を検出し登録するための手順の例を示すフローチャートである。
【図６】画面上に表示されたファイル等のオブジェクトをジェスチャによりポートに接続されたメモリデバイスにコピーする例を説明するための図である。
【図７】図６の例におけるコントローラの処理手順の一部の例を示すフローチャートである。
【図８】図６の例におけるコントローラの処理手順の残りの部分の例を示すフローチャートである。
【図９】実施形態のタブレット端末の例を示す図である。
【発明を実施するための形態】
【００１６】
図１を参照して、本発明に係る情報処理装置の一例を説明する。この例では、情報処理装置として、ノート型ＰＣ（パーソナルコンピュータ）を代表例にとって説明する。
【００１７】
情報処理装置は、ｎ（ｎは１以上の整数）個のＵＳＢ（Universal Serial Bus）ポート１０−１，１０−２，・・・，１０−ｎ（以下「ＵＳＢポート１０」と総称）を有している。コントローラ１２は、情報処理装置全体の制御及び処理を実行するための機構であり、例えば、ＣＰＵやメモリ等のハードウエアを用いてオペレーティングシステムやその他のプログラムを実行することより実現される。情報処理装置は、液晶ディスプレイ等の表示装置１４を有しており、この表示装置１４は、画像出力制御部１６により制御され、コントローラ１２が生成した表示画面を表示する。
【００１８】
コントローラ１２は、各ＵＳＢポート１０に接続された周辺機器を管理するために、ポート管理情報３０を保持している。図示例では、ポート管理情報３０には、周辺機器のとして、特にＵＳＢポート１０に接続されたＵＳＢメモリやディスクドライブ等のストレージ（記憶装置）の管理情報が含まれている。すなわち、図示のポート管理情報３０には、ＵＳＢポート１０の識別情報であるポート番号に対応づけて、そのＵＳＢポート１０に接続されているストレージに対してコントローラ１２が割り当てたドライブ番号が登録されている。
【００１９】
センサ１８は、情報処理装置に対する指示入力のためのユーザのジェスチャを検出する装置である。ユーザのジェスチャは、ユーザの手や指、又はユーザが持つ指示棒などを用いて行われる。ユーザが指示入力のために動かす手や指、指示棒などのことを以下では「指示部」と呼ぶこととする。センサ１８は、例えば、三角測量方式やＴＯＦ(Time Of Flight）方式等を用いた距離画像センサであり、ユーザが動かす指示部を含む視野内の距離画像をあらかじめ定めた時間間隔ごとに求めて出力する。距離画像には、計測対象範囲内にある各物体の表面の各点の三次元位置の情報が含まれる。特にこの実施形態との関連では、距離画像の情報から、指示部表面の各点の三次元位置の情報が得られる。
【００２０】
また、センサ１８は、距離画像を出力する代わりに、距離画像を解析することで得られる特徴量を出力するものであってもよい。例えば、距離画像を解析することで、指先や指示棒の先端を抽出し、抽出した先端の三次元位置を特徴量として時々刻々、出力してもよい。複数の指先を検出した場合、各指先の位置の組を特徴量として出力してもよい。また、手の面を近似する平面を求め、その平面を表す特徴量を出力してもよい。
【００２１】
センサ１８としては、例えば、Ｌｅａｐ  Ｍｏｔｉｏｎ社のＬｅａｐ  Ｍｏｔｉｏｎ  Ｃｏｎｔｒｏｌｌｅｒや、Ｍｉｃｒｏｓｏｆｔ社のＫｉｎｅｃｔ（登録商標）をはじめとする従来のジェスチャ検出技術を用いればよい。
【００２２】
ジェスチャ認識部２０は、センサ１８から入力される情報に基づいて、ユーザが行ったジェスチャ（身体や指示棒などの動作）を認識する。ジェスチャ認識部２０は、ジェスチャ種類認識部２２と、位置認識部２４を有する。
【００２３】
ジェスチャ種類認識部２２は、センサ１８からの入力情報（例えば各指先の位置座標の時系列的な変化の情報）に基づき、ユーザが行ったジェスチャの種類を認識する。ジェスチャの種類には、例えば、複数の指の指先同士を近づける「ピンチイン」、指先同士を広げる「ピンチアウト」、手や指等を掃くように一方向に動かす「スワイプ」、（仮想的なオブジェクトを）「つかむ」動作、「つかんだ」状態の手を広げる（すなわち「つかんだ」オブジェクトを）「放す」動作、開いた手を「ひねる」動作、人差し指等の一本の指（あるいは揃えた数本の指）で「指さす」動作等、様々なものが考えられる。また、「つかむ」動作の後「つかんだ」状態のまま手を動かすことを「ドラッグ」動作と定義するなど、複数の基本的な動作の組合せを１つのジェスチャとして定義することも可能である。ジェスチャ種類の認識処理は、Ｌｅａｐ  Ｍｏｔｉｏｎ  Ｃｏｎｔｒｏｌｌｅｒ等の従来技術で用いられるものと同様のものでよい。
【００２４】
位置認識部２４は、ジェスチャが行われた場所の位置（この例では三次元的な位置）を認識する。センサ１８からの入力情報には、指示部（指先等）の位置情報が含まれているので、位置認識部２４は、その位置情報から、ジェスチャの位置を認識すればよい。１つの例では、指示部の先端の位置をジェスチャの位置と認識する。例えば「指さす」ジェスチャの場合、センサ１８から入力される指の先端の位置情報を、そのジェスチャの実施位置と認識すればよい。指示部の先端が複数ある場合（例えば複数の指の先端がセンサ１８により検出された場合）には、例えばそれら複数の先端の位置の重心位置をジェスチャの位置としてもよいし、それら複数の先端の位置の集合（例えば各指の先端位置の組）をジェスチャの位置としてもよい。
【００２５】
この実施形態では、コントローラ１２は、ポート位置管理情報３２を保持している。図示したポート位置管理情報３２には、各ＵＳＢポート１０のポート番号に対応づけて、そのポートの位置情報が登録されている。ポートの「位置情報」は、各ＵＳＢポート１０の物理的な位置を示す情報であり、図示例では各ＵＳＢポート１０の基準位置（例えばポートの中心位置）の三次元位置座標（ｘ、ｙ，ｚ）と、各ＵＳＢポート１０に対応する判定範囲のｘ、ｙ、ｚの各方向についての幅（ｗ、ｈ、ｄ）との組で表されている。判定範囲は、ユーザが当該ＵＳＢポート１０の位置を指し示したと判定する場合に、指示部（指先等）が位置すべき範囲である。すなわち、この例では、ユーザの指示部の位置（これは位置認識部２４により認識される）が、ＵＳＢポート１０の三次元位置（ｘ、ｙ，ｚ）に対してｘ方向についてｗ以内、ｙ方向についてｈ以内、かつｚ方向についてｄ以内であれば、ユーザがそのＵＳＢポート１０を指し示したものと判定する。なお、ＵＳＢポート１０に挿入されたＵＳＢメモリを指し示すためにユーザがそのＵＳＢメモリに触れることを想定して、ＵＳＢポート１０の位置近傍から、ＵＳＢポート１０の挿入方向（すなわち挿入されたＵＳＢメモリが延びる方向）に延びる判定範囲を設定してもよい。
【００２６】
図１の例では、個々のＵＳＢポート１０ごとに判定範囲を定めているが、判定範囲の幅（ｗ、ｈ、ｄ）はすべてのポートに共通であってもよい。
【００２７】
なお、ＵＳＢポート１０の位置を、ＵＳＢポート１０の基準の位置と判定範囲の組合せで示すのはあくまで一例に過ぎない。ＵＳＢポート１０を指し示したと判定するジェスチャの位置の範囲を示す情報であれば、どのような形式の情報を用いてもよい。
【００２８】
ここで、ＵＳＢポート１０の三次元位置や判定範囲を表現する座標系は、センサ１８の座標系である。センサ１８が情報処理装置に固定配設されており、情報処理装置に対するセンサ１８の相対位置が変化しない場合、この座標系は、情報処理装置を基準とする座標系と同じである。この場合、各ＵＳＢポート１０の三次元位置や判定範囲は情報処理装置の設計段階で既知の情報であり、その既知情報をポート位置管理情報３２に登録しておけばよい。一方、センサ１８を外付け装置（例えばＵＳＢケーブルを介して接続）として構成する場合のようにセンサ１８と情報処理装置の相対位置が変化し得る場合、ポート位置管理情報３２は使用の都度作成する必要がある。この作成の方法の例は後で説明する。
【００２９】
コントローラ１２は、ポート位置管理情報３２を参照して、ユーザがいずれかのＵＳＢポート１０を指し示したことを検知し、そのＵＳＢポート１０に接続されているデバイス（ＵＳＢメモリ等）を操作対象と認識する。このコントローラ１２の処理の手順の例を、図２に示す。
【００３０】
図２の手順では、コントローラ１２は、ジェスチャ認識部２０が検知したジェスチャの情報（例えばジェスチャの種類と位置）が入力されるのを待つ（Ｓ１０）。ジェスチャの情報が入力されると、その情報が示すジェスチャの位置と、ポート位置管理情報３２に含まれる各ＵＳＢポート１０の位置とを比較し（Ｓ１２）、ジェスチャの位置に該当するＵＳＢポート１０があるかどうかを判定する（Ｓ１４）。例えば、ジェスチャの位置が、あるＵＳＢポート１０の基準位置からみて判定範囲内にあれば（すなわちＵＳＢポート１０に近接していれば）、ユーザがそのＵＳＢポート１０を指し示したと判定する。例えば、ユーザがＵＳＢポート１０に接続されているＵＳＢメモリを指で触れると、指先がＵＳＢポート１０に近接したことをセンサ１８及びジェスチャ認識部２０が検知し、その結果Ｓ１４の判定結果が肯定（Ｙ）となる。なお、ジェスチャ認識部２０が指先等の先端位置を複数認識している場合、１つの例では、そのうちの１つでもＵＳＢポート１０に近接していれば、ユーザがＵＳＢポート１０を指し示したと判定（Ｓ１４の結果がＹ）する。又別の例として、そのように複数の先端が検知されている場合には、ＵＳＢポート１０を「指し示す」ジェスチャではないと判定し、Ｓ１４の判定結果を否定（Ｎ）としてもよい。
【００３１】
Ｓ１４の判定結果がＮ（ジェスチャがＵＳＢポートを指していない）の場合、コントローラ１２は、そのジェスチャに対応する従来の操作画面を表示装置１４に表示させる（Ｓ２６）。
【００３２】
Ｓ１４の判定結果がＹの場合、ポート管理情報３０を参照することで、ジェスチャの位置に該当するＵＳＢポート１０に対してＵＳＢメモリ等のデバイスが接続されているかどうかを判定する（Ｓ１６，Ｓ１８）。Ｓ１２及びＳ１４により、ジェスチャ位置に該当するＵＳＢポート１０のポート番号がポート位置管理情報３２から特定されているので、Ｓ１６及びＳ１８では、ポート管理情報３０に、その特定されたポート番号に対応するドライブ番号が登録されているかどうかを判定する。登録されている場合、Ｓ１８の判定結果がＹとなり、そのドライブ番号に対応するデバイスが、ユーザの指し示す操作対象と認識される。
【００３３】
Ｓ１８の判定結果がＮの場合（すなわちユーザが指し示したポートにデバイスが接続されていない場合）、コントローラ１２は、そのジェスチャに対応する従来の操作画面を表示装置１４に表示させる（Ｓ２６）。
【００３４】
Ｓ１８の判定結果がＹの場合、コントローラ１２は、Ｓ１０〜Ｓ１８の処理で認識されたＵＳＢポート１０を指し示すジェスチャに続いて、そのデバイスを取り出すジェスチャが行われたか否かを判定する（Ｓ２０）。デバイスの取り出しを示すジェスチャの情報がジェスチャ認識部２０からコントローラ１２に入力された場合、Ｓ２０の判定結果はＹとなる。
【００３５】
Ｓ２０の判定結果がＹの場合、コントローラ１２は、取り出しジェスチャの対象であるドライブ番号についての、デバイス取り出し画面を表示する（Ｓ２２）。
【００３６】
例えば、図３に例示するように、情報処理装置５０（ノート型ＰＣ）の本体５２側面のＵＳＢポート５４にＵＳＢメモリ６０が挿入されており、そのＵＳＢメモリ６０はＯＳによりドライブ番号「Ｅ」で管理されているとする。そして、ユーザがそのＵＳＢメモリ６０を指先７０で触れ、その指先７０をＵＳＢメモリ６０を抜き出す方向Ａに動かしたとする。この場合、コントローラ１２は、ユーザの指先７０がＵＳＢメモリ６０に触れた動作により、ＵＳＢポート５４がユーザにより指し示されたと判定し（Ｓ１２及びＳ１４）、そのＵＳＢポート５４にドライブ番号「Ｅ」のデバイスが接続されていると判定する（Ｓ１６及びＳ１８）。そして、指先７０がＵＳＢポート５４から方向Ａに動く動作を、デバイスの取り出しジェスチャと認識し（Ｓ２０）、情報処理装置５０の画面５６上に、デバイス取り出し画面５８を表示する（Ｓ２２）。デバイス取り出し画面５８には、ドライブ番号「Ｅ」のＵＳＢメモリ６０を取り出すことの確認をユーザに求めるメッセージと、取り出しを行う意思を表示するためのＯＫボタンとが示される。ユーザは、例えば、情報処理装置５０のポインティングデバイス（例えばタッチパッド）を操作してＯＫボタンを選択すると、ＯＳはドライブ番号「Ｅ」に該当するＵＳＢメモリ６０に対してデータの書き込み等が行われていないことを確認した上で、ドライブ番号「Ｅ」のデバイス（ＵＳＢメモリ６０）を安全に取り出すことができるようになった旨のメッセージを画面に表示する。なお、「取り出し」の確認操作をタッチパッド等のポインティングデバイスで行う代わりに、ジェスチャで入力できるようにしてもよい。例えば、ＯＫを示すジェスチャを情報処理装置に登録しておき、デバイス取り出し画面５８が表示され、アクティブ状態にあるときにそのジェスチャが認識されると、ＯＫボタンが選択されたと判定するなどである。
【００３７】
オペレーティングシステム「Ｗｉｎｄｏｗｓ（登録商標）」では、ＵＳＢメモリ等のデバイスを取り出したい場合、ユーザは「デバイスの安全な取り出し」画面を呼び出すが、この画面には情報処理装置に接続されているすべてのデバイス（特にストレージ）が一覧表示される。このため、ユーザはその一覧の中から、自分が取り出したいデバイスを選択する必要がある。これに対し、この実施形態では、取り出し対象のデバイスは、ユーザが指先７０で触れることで指定しているので、デバイス取り出し画面５８には、ユーザが指定したデバイス（ドライブ「Ｅ」＝ＵＳＢメモリ６０）のみが示され、本当にそのデバイスを取り出したいのかを確認するメッセージが示される。
【００３８】
なお、センサ１８の情報処理装置に対する相対位置が固定である例では、ＵＳＢポート５４からＵＳＢメモリ６０を抜き出す方向Ａは、コントローラ１２にとって既知であり、指先７０の動く方向が方向Ａに合致しているかを、その既知情報を用いて判定すればよい。なお、ＵＳＢポート５４からデバイスを取り出すジェスチャは、デバイスを取り出す方向Ａに指示部（指先等）を動かす動作に限られるわけではなく、「取り出し」のジェスチャは情報処理装置のユーザインタフェースの設計者等が定義すればよい。
【００３９】
図２の説明に戻ると、Ｓ２０で、デバイス取り出しジェスチャが検出されなかった場合には、コントローラ１２は、図４に例示するように、ユーザが指先７０で指し示したドライブ番号「Ｅ」についてのフォルダ画面５９を表示する（Ｓ２４）。フォルダ画面５９には、ドライブ番号「Ｅ」に対応するＵＳＢメモリ６０内のフォルダやファイルが一覧表示される。ユーザは、このフォルダ画面５９に対し、例えばポインティングデバイスを用いた操作、例えばＵＳＢメモリ６０内のファイルを開く操作など、を行う。
【００４０】
図２の例では、ユーザがデバイス取り出しジェスチャを行わなかった場合に、フォルダ画面の表示を行ったが、この代わりにフォルダ画面の表示を指示するジェスチャを定義しておき、そのジェスチャが行われた場合に、フォルダ画面を表示するようにしてもよい。
【００４１】
以上の例では、ＵＳＢポート１０に接続されたデバイスの取り出し指示をジェスチャで行う場合（Ｓ２０）を例示したが、これは一例に過ぎない。別の例として、取り出し指示を、従来のユーザインタフェース、例えばユーザの取り出し指示を受け付けるダイアログボックス等を画面表示し、その画面に対してポインティングデバイスにより指示を受け付ける方式、を用いて受け付けてもよい。
【００４２】
以上、センサ１８の情報処理装置に対する相対位置が固定である場合（例えばセンサ１８が情報処理装置に内蔵）の例を説明した。次に、センサ１８と情報処理装置の相対位置が変化し得る場合（例えばセンサ１８が外付けデバイスである場合）の例を説明する。
【００４３】
ユーザの指示部（指先等）がＵＳＢポート１０に近接したかどうかを、センサ１８で検出した指示部の位置情報から判別するには、センサ１８から見たＵＳＢポート１０の位置がわかっていなければならない。センサ１８の情報処理装置に対する相対位置が固定である場合は、センサ１８から見たＵＳＢポート１０の位置は情報処理装置の設計段階で既知であり、変化しない。これに対し、センサ１８と情報処理装置の相対位置が変化し得る場合には、センサ１８から見たＵＳＢポート１０の位置は、センサ１８を情報処理装置に対してどの位置に配置するかに応じて変化する。このため、情報処理装置の近傍にセンサ１８を配置した後、ＵＳＢポート１０の位置を認識する必要がある。
【００４４】
このため、コントローラ１２は、図５に示すポート位置登録手順を実行する。この手順では、コントローラ１２は、いずれかのＵＳＢポート１０にＵＳＢメモリ等のデバイスが接続されたことを検知すると（Ｓ３０の判定結果がＹ）、そのデバイスが接続されたＵＳＢポート１０の位置をジェスチャ認識部２０から取得する（Ｓ３２）。すなわち、センサ１８は、常時、ユーザの手の三次元位置を検出しているので、ＵＳＢポート１０にデバイスが接続された時点近傍のユーザの手（及びデバイス）の三次元位置も検出している。そのユーザの手の三次元位置は、ジェスチャ認識部２０の位置認識部２４により認識され、コントローラ１２に渡される。コントローラ１２は、デバイスが接続されたと認識した時点近傍で、ジェスチャ認識部２０から入力された位置情報から、そのデバイスが接続されたＵＳＢポート１０の位置を求める。そして、Ｓ３２で求めたＵＳＢポート１０の位置を、そのＵＳＢポート１０のポート番号に対応づけて、ポート位置管理情報３２に登録する（Ｓ３４）。このような処理により、デバイスが接続されたＵＳＢポート１０の位置情報がポート位置管理情報３２に登録される。この後コントローラ１２は、この位置情報を参照することで、ユーザの指示部がそのＵＳＢポート１０に近接したかどうかを判定する。
【００４５】
なお、ＵＳＢメモリ等のデバイスがＵＳＢポート１０に接続された時点では、ユーザはその接続されたデバイスを手に持っている状態であると考えられる。従って、この時点では、センサ１８は、ユーザの手やその手が持っているデバイスなどの表面上の様々な点の位置を検出している。このため、そのような様々な点のうちのどれの位置がＵＳＢポート１０の位置なのかが判別しにくい場合もある。このような場合に備えて、以下のようなポート位置特定処理を行ってもよい。
【００４６】
すなわち、このポート位置特定処理では、まずセンサ１８を情報処理装置の周囲に配置した時点で、コントローラ１２は、情報処理装置の形状情報をセンサ１８により取得する。センサ１８は距離画像センサなので、情報処理装置の三次元形状を示す距離画像を取得することができる。この三次元形状から、コントローラ１２は、情報処理装置本体（図３の例では符号５２で示す）のうちＵＳＢポート１０が設けられた端面ないし端辺を判定する。例えば情報処理装置がノート型ＰＣの場合、三次元形状においてキーボードの形状パターン（格子状の規則的な凹凸）が検出された面が本体上面であり、その本体上面の矩形の外周の四辺が、ＵＳＢポート１０が設けられている可能性がある端辺であり、それら各端辺に対応する本体の４つの端面が、ＵＳＢポート１０が設けられている可能性がある端面である。情報処理装置の本体を視野に収める位置にセンサ１８を配置しておけば、ＵＳＢポート１０が接続される端面ないし端辺を特定できる。コントローラ１２は、情報処理装置の三次元形状の情報から、それら各端面ないし端辺の三次元位置・形状の情報を抽出し、記憶する。その後、図２の手順により、ＵＳＢポート１０に接続されたデバイスに対するユーザの操作を認識する。すなわち、いずれかのＵＳＢポート１０にデバイスが接続されたことをＳ３０で検知した場合、その時点でセンサ１８が検出している手やデバイスの位置・形状情報から、記憶している情報処理装置の本体の端面ないし端辺に接する部分を特定する。そしてその特定した部分の位置を、そのデバイスの接続先のＵＳＢポート１０の位置と認識すればよい。
【００４７】
次に、本実施形態の仕組みを利用した別の操作の例を、図６〜図８を参照して説明する。
【００４８】
この例では、図６に示すように、画面５６上に表示されたオブジェクト５１をユーザのジェスチャによりＵＳＢメモリ６０にコピーする。すなわち、（１）ユーザが画面５６上のオブジェクト５１を指先７０でつまむジェスチャを行い、その後（２）そのつまんだ指先７０を動かしてＵＳＢメモリ６０に触れることで、そのオブジェクト５１がそのＵＳＢメモリ６０にコピーされるようにする。
【００４９】
このような処理を実現するために、１つの例では、まず事前の設定処理として、コントローラ１２は、画面５６の三次元位置・形状を求めて記憶する。例えば、ユーザがコントローラ１２に事前設定処理の実行を指示すると、コントローラ１２は、センサ１８が検出した情報処理装置５０の三次元形状を取得すると共に、画面５６の四隅の点に指で触れることを求めるメッセージを画面５６上に表示する。この表示に従い、ユーザが画面５６の四隅の点を順に指で触れると、コントローラ１２は、情報処理装置５０の三次元形状のうち、ユーザの指先と接した４つの点（これらの点の位置はセンサ１８で検出される）で囲まれる面の範囲を画面５６と認識する。そして、その画面５６の範囲を特定する情報（例えばそれら４つの点の位置）を記憶する。
【００５０】
この事前設定の後、コントローラ１２は、図７及び図８に示す手順により、オブジェクト５１のＵＳＢメモリ６０へのコピー操作を検出する。
【００５１】
まずジェスチャ認識部２０がユーザの「つまむ」ジェスチャを検出すると（Ｓ５０）、コントローラ１２はジェスチャ認識部２０からそのジェスチャの種類（「つまむ」）とそのジェスチャの指先の位置の情報を取得する。コントローラ１２は、その指先の位置が画面５６上にあるかを、事前設定された画面範囲の情報に基づき判定する（Ｓ５２）。指先の位置が画面５６上であれば、更にその位置が画面５６上に表示されたいずれかのオブジェクト５１の位置に該当するかどうかを判定する（Ｓ５４）。コントローラ１２は、画面５６上に表示されたオブジェクトの位置（画面内での二次元的な位置）を知っており、その画面５６のセンサ１８の検知する三次元空間内の位置、形状、寸法も知っているので、それらの情報を組み合わせることで、ユーザが画面５６上のオブジェクト５１をつまんでいるかどうかを判定することができる。Ｓ５４の判定結果がＹの場合、コントローラ１２は、ユーザがその指先の位置にあるオブジェクト５１を選択したと判定し、そのオブジェクト５１を選択状態とする（Ｓ５６）。そして、処理は図８の手順に進む。Ｓ５２又はＳ５４で判定結果がＮとなった場合には、コントローラ１２は、その「つまむ」ジェスチャに対応する従来の操作画面を表示装置１４に表示させる（Ｓ５８）。
【００５２】
「つまむ」ジェスチャで画面５６上のオブジェクト５１が選択されたことを検知した場合、コントローラ１２は、続いて「ドラッグ」ジェスチャが行われるのを待つ（Ｓ６０）。「ドラッグ」ジェスチャは、（例えば「つまんでいる」状態の）指先を三次元空間内で移動させる動作である。この動作が検出された場合、更にコントローラ１２は、センサ１８が検出したその「ドラッグ」の終点での指先の位置をジェスチャ認識部２０から取得し、その終点位置をポート位置管理情報３２内の各ＵＳＢポート１０の位置と比較する（Ｓ６２）。そして、この比較に基づき、ドラッグの終点位置に該当するＵＳＢポート１０があるかどうかを判定する（Ｓ６４）。
【００５３】
Ｓ６４の判定結果がＮ（ドラッグの終点がＵＳＢポートの位置ではない）の場合、コントローラ１２は、エラーメッセージを表示するなどの処理を行い（Ｓ７２）、処理を終了する。
【００５４】
Ｓ６４の判定結果がＹの場合、ポート管理情報３０を参照することで、ドラッグ終点位置に該当するＵＳＢポート１０に対してＵＳＢメモリ等のデータ書き込み可能なデバイスが接続されているかどうかを判定する（Ｓ６６，Ｓ６８）。ドラッグ終点位置に該当するポートにデータ書き込み可能なデバイスが接続されている場合、Ｓ６８の判定結果がＹとなり、そのドライブ番号に対応するデバイスが、ユーザの指し示す操作対象と認識される。
【００５５】
Ｓ６８の判定結果がＮ（ドラッグ終点のポートにデータ書き込み可能なデバイスが接続されていない）の場合、コントローラ１２は、エラーメッセージを表示するなどの処理を行い（Ｓ７２）、処理を終了する。
【００５６】
Ｓ６８の判定結果がＹの場合、コントローラ１２は、選択状態にあるオブジェクト５１を、そのＵＳＢポート１０に接続されたデバイスに書き込む（Ｓ７０）。
【００５７】
図７及び図８の例では、ユーザの「つまむ」ジェスチャにより、そのジェスチャの位置にあるオブジェクト５１を選択状態としたが、これは一例に過ぎない。この代わりに、ユーザが画面上のオブジェクト５１に指先で触れると、そのオブジェクト５１を選択状態としてもよい。また、更に別の例として、ユーザが従来のユーザインタフェース（例えばマウス等のポインティングデバイス、または画面であるタッチパネル）により、画面上のオブジェクトの選択を行うモードへのモード切替を指示した後、ユーザが指先で画面上のオブジェクト５１に触れると、そのオブジェクト５１を選択状態としてもよい。
【００５８】
また、いずれかの方式でユーザが選択したオブジェクト５１を、ＯＳが管理するクリップボードに保存（コピー）してもよい。この場合、その後に続くユーザのドラッグの終点が、書き込み可能なデバイスが接続されたＵＳＢポート１０に近接している場合、そのデバイスに対して、クリップボード上のそのオブジェクト５１をペーストする。
【００５９】
また図８の例では、Ｓ６８でドラッグ操作の終点位置のＵＳＢポート１０に書き込み可能なデバイスが接続されていないと判定した場合、エラーとしたが、これは一例に過ぎない。別の例では、ドラッグ操作の終点位置のＵＳＢポート１０にいかなるデバイスも接続されていない場合、コントローラ１２は、選択状態のオブジェクト５１をペースト予約状態とし、そのＵＳＢポート１０と対応づけて記憶する。そして、その後、そのＵＳＢポート１０に対して書き込み可能なデバイスが接続されると、そのＵＳＢポート１０に対応するペースト予約状態のオブジェクト５１を、そのデバイスに対して書き込む。
【００６０】
以上、１つの実施形態を説明した。以上の実施形態では、センサ１８として時々刻々の距離画像（三次元形状情報）を生成可能なタイプのセンサを用いたが、これは一例に過ぎない。別の例として、二次元の画像を撮影する一般的なデジタルカメラをセンサ１８として用いてもよい。
【００６１】
この例では、センサ１８は、情報処理装置の、ＵＳＢポート１０が配設されている場所（ノートＰＣの場合、本体を上面から見たときの矩形の端辺）を視野に納める位置に配置する。センサ１８は、あらかじめ定められたフレームレートで、その視野の二次元画像を生成し、出力する。そして、ジェスチャ認識部２０は、順次入力される各フレームの二次元画像から指示部（手や指先、指示棒など）のジェスチャを認識する。例えば、隣り合うフレームの画像間で異なる部分を指示部と認識し、その指示部の動きからジェスチャを認識する。また、指示部の先端等の特徴的な部分の位置（二次元画像内での位置）を求める。そして、その指示部の位置が、ポート位置管理情報３２に登録されたいずれかのＵＳＢポート１０の位置（センサ１８が撮影した二次元画像内での位置）に近接したと判定した場合、コントローラ１２は、ユーザがそのＵＳＢポート１０に接続されたデバイスを操作対象に指定したと認識する。そのデバイスに対する操作の内容は、指示部をＵＳＢポート１０に近接させるジェスチャの前後のジェスチャ（あるいは他のユーザインタフェースからユーザが入力した指示）等に応じて判定すればよい。
【００６２】
この例でも、情報処理装置に対するセンサ１８の相対位置が変化し得る場合、コントローラ１２は、いずれかのＵＳＢポート１０に対してデバイスが接続されたことをトリガとして、そのＵＳＢポート１０の位置を求め、ポート位置管理情報３２に登録すればよい。
【００６３】
例えば、ノートＰＣの本体を上方または斜め上方から撮影するようセンサ１８を設置することで、ＵＳＢポートが配設された本体端面に対応する本体上面の端辺がセンサ１８の視野に入るようにする。指示部（指先等）を視野に含めない状態でセンサ１８により撮影した画像を基準画像とし、この基準画像からエッジ検出などにより、本体上面の端辺を検出する。そして、コントローラ１２は、いずれかのＵＳＢポート１０に対してデバイスが接続されたことを検知すると、その時点でのセンサ１８の撮像画像から抽出した指示部の各点の位置のうち、情報処理装置の本体上面のいずれかの端辺に近接する位置を、今回デバイスが接続されたＵＳＢポート１０の位置と認識し、その位置をポート位置管理情報３２に登録する。
【００６４】
次に、本発明のタブレット端末への適用例を説明する。タブレット端末は、一般にタッチパネル画面を有しており、ＵＳＢポート１０は画面の周囲のタブレット本体の端面に設けられている。この例では、ユーザがタッチパネル画面上のＵＳＢポート１０の近傍領域をタッチ（例えば指で触れる）すると、タブレット端末が、そのＵＳＢポート１０に接続されたデバイスを操作対象として認識する。
【００６５】
この例におけるタブレット端末の機能構成の一例を図９に示す。図９には、実施形態の処理に関係する部分のみを示している。図９において、図１と同様の要素には同一符号を付して説明を省略する。
【００６６】
図９（タッチパネル）の構成が図１（パーソナルコンピュータ）の構成と異なる点の１つは、表示画面がタッチパネル４０として構成されており、センサ１８が存在しない点である。図９の構成では、タッチパネル４０がセンサ１８の代わりとなる。また、図１の例では、ポート位置管理情報３２には各ＵＳＢポート１０の位置及び判定範囲の情報として三次元の値が登録されていたが、図９の例では二次元の値が登録されている。これは、図１の例のセンサ１８がユーザの指先等の三次元位置を検出するのに対し、図９の例ではタッチパネル４０が二次元位置を検出するものであることによる。
【００６７】
この例では、ポート位置管理情報３２には、タッチパネル４０の画面のうち、ＵＳＢポート１０に対応づけた判定範囲の矩形を特定する情報（ｘ，ｙ，ｗ，ｈ）を登録している。（ｘ、ｙ）は、画面の外周の四辺上の点のうち、ＵＳＢポート１０の基準位置（例えば画面上方から見たときのポートの中央位置）に最も近い点（「基準点」と呼ぶ）の画面内での座標である。ｗは、画面上のその基準点が属する辺（「基準辺」と呼ぶ）に沿った判定範囲の幅であり、ｈはその辺に垂直な方向についての判定範囲の高さである。すなわち、判定範囲は、基準辺上で基準点を例えば中心として幅ｗ、基準辺から画面の内側へ高さｈで規定される矩形の領域である。ユーザがこの矩形の領域内にタッチすると、コントローラ１２は、その領域に対応づけられたＵＳＢポート１０を操作対象と認識する。なお、判定範囲の形状は矩形に限らない。
【００６８】
図２の手順と同様、コントローラ１２は、ユーザが判定範囲内にタッチすると共に、続けてデバイス取り出しを示すジェスチャ（例えば、その判定範囲から画面の外側、すなわち、対応するＵＳＢポート１０からデバイスを抜き出す方向に、指をフリックするジェスチャ）を行うと、それをそのＵＳＢポート１０に接続されているデバイスの取り出し指示と解釈する。また、ユーザがあるＵＳＢポート１０の判定範囲にタッチした後、取り出しのジェスチャを行わない場合、コントローラ１２は、そのポート１０に接続されたデバイスに記憶されるファイルやフォルダを表示するフォルダ画面をタッチパネル４０に表示してもよい。
【００６９】
また、ユーザが、タッチパネル４０上に表示されたオブジェクトをタッチにより選択し、書き込み可能なデバイスが接続されたＵＳＢポート１０の近傍の判定領域までドラッグすると、コントローラ１２は、そのオブジェクトをそのデバイスにコピーする。
【００７０】
以上に説明した実施形態はあくまで一例に過ぎず、本発明の技術的思想の範囲内で様々な変形が可能である。
【００７１】
例えば、ＵＳＢポート１０以外のデバイス接続用のインタフェース、例えばIEEE1394ポート、ＰＣカードスロット、ＳＤ（Secure Digital）カード等のメモリカード用のスロットなどに接続されるデバイスに対しても、上記実施形態の仕組みは適用可能である。
【００７２】
また、ＵＳＢポート１０等に対し、メモリやストレージ以外の周辺機器が接続されている場合にも、上記実施形態の仕組みは適用可能である。この場合、コントローラ１２は、ユーザが指先等を近接させたＵＳＢポート１０に接続された周辺機器を、ユーザが別途指定した操作（処理）の対象と認識し、その周辺機器に対してその操作の実行を指示する。
【００７３】
以上に説明した実施形態の処理は、例えば、パーソナルコンピュータやタブレット端末などのコンピュータ上で実行されるプログラムにとして実装される。ここで言うコンピュータは、例えば、ハードウエアとして、ＣＰＵ等のマイクロプロセッサ、ランダムアクセスメモリ（ＲＡＭ）およびリードオンリメモリ（ＲＯＭ）等のメモリ（一次記憶）、ＨＤＤ（ハードディスクドライブ）やフラッシュメモリ等の二次記憶を制御する二次記憶コントローラ、各種Ｉ／Ｏ（入出力）インタフェース、無線又は有線のネットワークとの接続のための制御を行うネットワークインタフェース等が、たとえばバスを介して接続された回路構成を有する。また、そのバスに対し、例えばＩ／Ｏインタフェース経由で、ＣＤやＤＶＤ、ブルーレイディスクなどの可搬型ディスク記録媒体に対する読み取り及び／又は書き込みのためのディスクドライブ、フラッシュメモリなどの各種規格の可搬型の不揮発性記録媒体に対する読み取り及び／又は書き込みのためのメモリリーダライタ、などが接続されてもよい。上に例示した各機能モジュールの処理内容が記述されたプログラムがＣＤやＤＶＤ等の記録媒体を経由して、又はネットワーク等の通信手段経由で、フラッシュメモリ等の二次記憶装置に保存され、コンピュータにインストールされる。二次記憶装置に記憶されたプログラムがＲＡＭに読み出されＣＰＵ等のマイクロプロセッサにより実行されることにより、上に例示した機能モジュール群が実現される。
【符号の説明】
【００７４】
１０  ポート、１２  コントローラ、１４  表示装置、１６  画像出力制御部、１８  センサ、２０  ジェスチャ認識部、２２  ジェスチャ種類認識部、２４  位置認識部、３０  ポート管理情報、３２  ポート位置管理情報。
【図１】
2015022489.tif 000003
【図２】
2015022489.tif 000004
【図５】
2015022489.tif 000005
【図７】
2015022489.tif 000006
【図８】
2015022489.tif 000007
【図９】
2015022489.tif 000008
【図３】
2015022489.tif 000009
【図４】
2015022489.tif 000010
【図６】
2015022489.tif 000011