(57)【要約】【課題】ジェスチャによる入力において誤動作を防止する。【解決手段】ジェスチャによる入力に応じて画面操作を行うジェスチャＵＩ装置であって、第１の操作対象が表示されている画面上のカーソルの移動方向を予測し、前記予測したカーソルの移動方向に基づき前記カーソルが移動していかないと予測される非移動領域を算出する非移動領域算出部と、前記非移動領域の境界上を含む内側に前記第１の操作対象以外の第２の操作対象を配置する配置部と、を有するジェスチャＵＩ装置が提供される。【選択図】図１４
2015133059.tif 000002
【特許請求の範囲】
【請求項１】
ジェスチャによる入力に応じて画面操作を行うジェスチャＵＩ装置であって、
第１の操作対象が表示されている画面上のカーソルの移動方向を予測し、前記予測したカーソルの移動方向に基づき前記カーソルが移動していかないと予測される非移動領域を算出する非移動領域算出部と、
前記非移動領域の境界上を含む内側に前記第１の操作対象以外の第２の操作対象を配置する配置部と、
を有するジェスチャＵＩ装置。
【請求項２】
前記配置部は、
前記第２の操作対象としてカーソルの移動方向を誘導する開口又は線を有する図形を表示する、
請求項１に記載のジェスチャＵＩ装置。
【請求項３】
前記第１の操作対象に対するカーソルの位置に基づき、前記第１の操作対象を操作する際には前記カーソルが移動していかないと予測される非操作領域を算出する非操作領域算出部と、
カーソルの位置と向きとに基づき、前記カーソルが進行していかないと予測される非進行領域を算出する非進行領域算出部と、を有し、
前記非移動領域算出部は、
前記非操作領域と前記非進行領域とから前記非移動領域を算出する、
請求項１又は２に記載のジェスチャＵＩ装置。
【請求項４】
前記非進行領域算出部は、
カーソルの向きと重力方向との少なくともいずれかに基づき、前記カーソルが進行していかないと予測される非進行領域を算出する、
請求項３に記載のジェスチャＵＩ装置。
【請求項５】
ジェスチャによる入力に応じて画面操作を行うジェスチャＵＩ方法であって、
第１の操作対象が表示されている画面上のカーソルの移動方向を予測し、前記予測したカーソルの移動方向に基づき前記カーソルが移動していかないと予測される非移動領域を算出し、
前記非移動領域の境界上を含む内側に前記第１の操作対象以外の第２の操作対象を配置する、
処理をコンピュータが実行するジェスチャＵＩ方法。
【請求項６】
ジェスチャによる入力に応じて画面操作を行う処理をコンピュータが実行するプログラムであって、
第１の操作対象が表示されている画面上のカーソルの移動方向を予測し、前記予測したカーソルの移動方向に基づき前記カーソルが移動していかないと予測される非移動領域を算出し、
前記非移動領域の境界上を含む内側に前記第１の操作対象以外の第２の操作対象を配置する、
プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ジェスチャＵＩ装置、ジェスチャＵＩ方法及びプログラムに関する。
【背景技術】
【０００２】
マウスやキーボードよりも高い直観性を持ち、画面を離れて操作する際のユーザインタフェースとして、ユーザの身振りや手振りによる空間ジェスチャに関する技術が提案されている（例えば、特許文献１、２参照）。ここでは、ユーザが、手やその他の身体の一部を特定の位置へ移動することや特定の移動軌跡で動かすことを「空間ジェスチャ」と呼ぶ。
【０００３】
カーソルの特定の移動軌跡によって画面上の操作対象（例えば、ボタン、メニュー、アイコン等の画面要素）に関連付いた命令を実行する方法の一例を挙げる。例えば、予め定めたジェスチャをマウスで入力することでマウスのボタンを押したり離したりする状態を生成する。これによって、マウスのボタンを押さずにアイコンを選択し、アイコンに関連付いた命令を実行させる方法である。また、例えば、指の動きでカーソルを制御し、オブジェクト周辺にエッジで囲まれた領域を設定し、カーソルが領域に下から入り、下へ出た場合に、その後のカーソルの動きに対応してオブジェクトをドラッグする方法である。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平１０−９１３２０号公報
【特許文献２】特開平１１−３１７７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
空間ジェスチャに最低限必要なセンサや認識装置以外のセンサや認識装置を追加することができない、あるいは、操作を簡易にしたいという理由で、空間ジェスチャにおいて操作中又は非操作中のモード変更を行わない場合、false positive（偽陽性）に課題がある。つまり、ユーザの動作を、システムが誤ってジェスチャとして認識し、意図しない操作が実行されてしまうという課題である。
【０００６】
その一例としては、ユーザが周囲の物を使う、飲食をする、体を触るなどの、画面操作を意図しないユーザの身体の動きをジェスチャとして認識してしまうという課題である。他の例としては、ジェスチャが、他のジェスチャの部分となってしまい、意図しないジェスチャを認識してしまうという課題である。
【０００７】
そこで、一側面では、ジェスチャによる入力において誤動作を防止することが可能なユーザインタフェース（以下、「ＵＩ」という。）を提供するジェスチャＵＩ装置、ジェスチャＵＩ方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
一つの案では、ジェスチャによる入力に応じて画面操作を行うジェスチャＵＩ装置であって、第１の操作対象が表示されている画面上のカーソルの移動方向を予測し、前記予測したカーソルの移動方向に基づき前記カーソルが移動していかないと予測される非移動領域を算出する非移動領域算出部と、前記非移動領域の境界上を含む内側に前記第１の操作対象以外の第２の操作対象を配置する配置部と、を有するジェスチャＵＩ装置が提供される。
【発明の効果】
【０００９】
一態様によれば、ジェスチャによる入力において誤動作を防止することができる。
【図面の簡単な説明】
【００１０】
【図１】ドラッグの命令方法の一例を示した図。
【図２】モード変更に関する誤操作の一例を説明するための図。
【図３】一実施形態にかかるジェスチャＵＩ装置の概要を示した図。
【図４】一実施形態にかかるジェスチャＵＩ装置の機能構成例を示した図。
【図５】一実施形態にかかる非操作領域の算出の一例を示した図。
【図６】一実施形態にかかる非進行領域の算出の一例を示した図。
【図７】一実施形態にかかる非進行領域の算出の一例を示した図。
【図８】一実施形態にかかる非移動領域の算出の一例を示した図。
【図９】一実施形態にかかる軌跡算出例及び境界算出の一例を示した図。
【図１０】一実施形態にかかる移動軌跡の表示の一例を示した図。
【図１１】一実施形態にかかるドラッグ命令発行処理の一例を示したフローチャート。
【図１２】一実施形態にかかるドラッグ命令発行処理を説明するための図。
【図１３】一実施形態にかかる削除命令発行処理の一例を示したフローチャート。
【図１４】一実施形態にかかる移動軌跡の表示による効果の一例を示した図。
【図１５】一実施形態にかかる非移動領域の算出の変形例を示した図。
【図１６】一実施形態にかかる非移動領域の算出の変形例を示した図。
【図１７】一実施形態にかかる非移動領域の算出の変形例を示した図。
【図１８】一実施形態にかかる軌跡算出結果の表示にかかる変形例を示した図。
【図１９】一実施形態にかかる軌跡算出の変形例を説明するための図。
【図２０】一実施形態にかかるジェスチャＵＩ装置のハードウェア構成の一例を示した図。
【発明を実施するための形態】
【００１１】
以下、本発明の実施形態について添付の図面を参照しながら説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複した説明を省く。
【００１２】
［はじめに］
空間ジェスチャでは、容易にモード変更を行う手段を有しない。ここで、「モード」とは、操作中及び非操作中を示すシステムの状態のことで、例えば、同一のカーソル操作をしても、操作中の場合は画面操作を実行し、非操作中の場合は画面操作を実行しないとする。
【００１３】
空間ジェスチャにおけるモード変更の一つの例として手形を用いるものがある。例えば、手形がグーのときに操作中とし、パーのときに非操作中とすることでモード変更を実行する。具体的には、図１の＜手形・音声によるドラッグ＞に示されるように、ドラッグ対象へ移動後（１）、ユーザは、手形をパーからグーにしてドラッグを開始する（２）。ドラッグしたい位置まで対象をドラッグした後（３）、手形をグーからパーにしてドラッグを解除する（４）。解除後のモードは、通常のカーソル移動となる（５）。以上のモード変更を音声を用いて行った場合、以下のようになる。ドラッグ対象へ移動後（１）、ユーザは、キーワードを発声（例えば「ドラッグ」）し、ドラッグを開始する（２）。ドラッグ後（３）、特定のキーワードを発声（例えば「終了」）し、ドラッグを解除する（４）。解除後のモードは、通常のカーソル移動となる（５）。
【００１４】
モード変更の他の例としては、停留によるモード変更が挙げられる。図１の＜停留によるドラッグ＞に示されるように、ドラッグ対象へ移動後（１）、ユーザは、一定時間停留してドラッグを開始する（２）。ドラッグ後（３）、一定時間停留してドラッグを解除する（４）。解除後のモードは、通常のカーソル移動となる（５）。停留か否かは、例えば、数秒間停止していたら停留と判定してもよい。
【００１５】
モード変更の他の例としては、ジェスチャをする手以外の身体の部位を用いる方法である。例えば、右手でジェスチャをする場合に、左手の姿勢によって、モード変更をすることができる。あるいは、視線を用いることもできる。例えば、画面上の操作対象付近に視線がある場合に、操作中とし、他の位置に視線がある場合に、非操作中とすることができる。また、ユーザの手と操作する画面との距離を用いる方法として、距離が閾値以下のときに操作中とし、離れているときに非操作中とすることができる。
【００１６】
しかしながら、上記モード変更の例のうち、手形や音声を用いる場合、空間ジェスチャに最低限必要なセンサや認識装置以外に、追加でセンサや認識装置が必要になる。また、上記モード変更に停留を用いる場合、意図せず命令が実行される可能性がある。例えば、停留を用いる場合、意図せずに手を止めた場合であってもドラッグ命令が実行される可能性がある。
【００１７】
次に、停留や手形や音声を使わずにモード変更を行う方法の例を、図２を参照しながら説明する。画面２１上には、ボタンやメニュー（以下、総称して「ボタン・メニュー５０」ともいう。）、ドラッグ対象５１（地図等）の他、一部が開口された輪６０が表示されている。このモード変更方法では、輪６０の開口部分をカーソル５５が横切って輪６０の内部に移動することでモード変更が行われ、輪６０に関連付けられた何らかの操作が実行される。
【００１８】
このとき、カーソル５５の位置に対して輪６０をどのような位置に表示し、カーソル５５をどのような移動軌跡で操作するかによって、誤操作のし易さが異なってくる。例えば、輪６０の開口部分をカーソル５５が横切って輪６０の内部に移動することで、ドラッグ命令が実行されるとする。図２で示される位置に輪６０を表示すると、ユーザが画面２１の右上のメニュー５０を操作しようとカーソル５５を画面２１の右上の方向に移動させたとき、図２の移動軌跡に示したように意図せずに輪６０の開口部分をカーソル５５が横切って輪６０の内部に移動してしまう。その結果、意図しないドラッグ命令が実行されるという誤動作が発生する。
【００１９】
これに対して、本発明の一実施形態に係るジェスチャＵＩ装置では、ユーザが意図せずにカーソル５５を動かし難い領域を算出し、その領域で行われるジェスチャを、操作対象（例えば、輪６０等）に関連付いた命令を実行するためのジェスチャとする。
【００２０】
画面上に表示される操作対象のうち、ボタン・メニュー５０は、画面２１上に表示されている操作対象であり、第１の操作対象の一例である。一方、輪６０は、第１の操作対象以外の第２の操作対象の一例であり、ユーザが意図せずにカーソル５５を動かし難い領域内（非移動領域）に表示される。
【００２１】
なお、第２の操作対象は、第１の操作対象と区別して説明するための便宜上の名称であり、実際には、第１の操作対象に関連付いた命令と第２の操作対象に関連付いた命令とは異なる命令に限られない。また、第１の操作対象を表示する図形と第２の操作対象を表示する図形とは同じ形状であってもよい。第２の操作対象は、非移動領域に表示される点において画面上のそれ以外の領域に表示される第１の操作対象と異なる。以下、本実施形態に係るジェスチャＵＩ装置についてその概要、機能及び動作を順に説明する。
【００２２】
［ジェスチャＵＩ装置の概要］
まず、本発明の一実施形態に係るジェスチャＵＩ装置１の概要について、図３を参照しながら説明する。図３は、一実施形態に係るジェスチャＵＩ装置１の概要を示した図である。ジェスチャＵＩ装置１としては、例えば、ＰＣやＴＶ等の画面を有する端末が挙げられる。ジェスチャＵＩ装置１は、身振りや手振り等のユーザの動作でＰＣやＴＶなどの画面を操作可能な装置である。ユーザが手やユーザの身体の一部を特定の位置へ移動することや特定の移動軌跡で動かすこと（空間ジェスチャ）を、以下「ジェスチャ」ともいう。
【００２３】
なお、ジェスチャを行うユーザの身体部分は、ユーザの身体の一部または全部であり得る。ジェスチャは、手、腕、足、胴体、頭、視線等の動きや方向であってもよい。ジェスチャは、口の動きや音声であってもよい。
【００２４】
ジェスチャＵＩ装置１は、カメラ１０とディスプレイ２０とを有し、その上で動作するソフトウェアにより、ジェスチャによる画面操作、すなわち、ジェスチャによる入力操作に対する画面上のユーザインターフェイス（ＵＩ）を実現する。ソフトウェアの部分は等価な働きをするハードウェアによって実現されてもよい。
【００２５】
ジェスチャＵＩ装置１は、ハードウェアの機構に関し、特定のものに依存しない。例えば、カメラ１０は、ユーザの身体の一部の位置を取得できればよい。例えば、カメラ１０は、距離センサ、単眼カメラ、ステレオカメラ等のセンサと物体トラッキング装置とを組み合わせて使用してもよい。カメラ１０に替えてジャイロセンサ、加速度センサ、超音波などを用いて位置取得を行える端末を、ユーザが装着してもよい。
【００２６】
ディスプレイ２０は、ＰＣのモニタや、ＴＶ、プロジェクタ、ＨＭＤ（Ｈｅａｄ  Ｍｏｕｎｔｅｄ  Ｄｉｓｐｌａｙ）等、画面表示ができるものであればよい。
【００２７】
ジェスチャＵＩ装置１では、例えば、カメラ１０によりユーザＵの手の位置が検出される。検出された手の位置に基づき、離れている画面２１上の手の位置に応じた位置にカーソル２１ａが表示される。そして、表示されたカーソル２１ａにより画面２１上のアイコンの選択等のＧＵＩ操作が行われる。このようにして、ユーザＵは、ジェスチャにより離れた画面の操作を行うことができる。以下では、本実施形態に係るジェスチャＵＩ装置１について詳細に説明する。
【００２８】
（機能構成）
まず、一実施形態にかかるジェスチャＵＩ装置１の機能構成の一例について説明する。図４は、一実施形態にかかるジェスチャＵＩ装置１の機能構成の一例を示した図である。
【００２９】
ジェスチャＵＩ装置１は、位置取得部３１、位置蓄積部３２、操作対象取得部３３、指示判定部３４、非操作領域算出部３５、非進行領域算出部３６、非移動領域算出部３７、軌跡算出部３８、境界算出部３９、軌跡検出部４０、操作部４１及び配置部４２を有する。
【００３０】
位置取得部３１は、ポインティングデバイスやユーザの手など身体の一部の位置から画面上の操作位置（カーソルの位置）を計算する。位置蓄積部３２は、位置取得部３１が取得したカーソルの位置を一定時間毎に蓄積する。操作対象取得部３３は、画面上に表示されている第１の操作対象の位置を取得する。ここでは、図２では、第１の操作対象の一例としてボタン・メニュー５０が図示されている。第１の操作対象に関連付いた命令の一例としては、ボタン・メニュー５０やアイコンのそれぞれに関連付いた各アプリケーションの実行が挙げられる。
【００３１】
指示判定部３４は、カーソルがドラッグ対象５１の領域を指し示しているかを判定する。非操作領域算出部３５は、画面上のボタン・メニュー５０等の第１の操作対象の位置とカーソルの位置とに基づいて第１の操作対象を操作する際にはカーソルが移動しないと予測される領域（以下、「非操作領域」という。）を算出する。
【００３２】
非進行領域算出部３６は、カーソルの速度ベクトル（カーソルの向き）とカーソルの位置とに基づいて急旋回せずにはカーソルが移動しない領域（以下、「非進行領域」という。）を算出する。非移動領域算出部３７は、非進行領域と非操作領域に基づいて、カーソルが移動していかないと予測される領域（以下、「非移動領域」という。）を算出する。配置部４２は、非移動領域の境界上を含む内側に第２の操作対象を配置する。
【００３３】
第２の操作対象に関連付いた命令の一例としては、輪６０に関連付いたドラッグの開始や終了、削除、コピー等が挙げられる。本実施形態では、非移動領域において後述されるカーソルの所定の移動軌跡が検出されると第２の操作対象に関連付いた命令を実行するようにモード変更される。一方、所定の移動軌跡を検出しない場合には、モード変更されず、カーソルの操作は、第１の操作対象に対するカーソル移動と判断される。
【００３４】
軌跡算出部３８は、非移動領域の境界上を含む領域内を進行する移動軌跡を算出する。境界算出部３９は、非移動領域の境界上を含む領域内へのカーソル移動を判定するための境界を算出する。
【００３５】
軌跡検出部４０は、軌跡算出部３８が算出したカーソルの移動軌跡、および軌跡算出部３８が算出した境界へ交差するカーソルの移動軌跡の一方または両方を検出する。操作部４１は、上記移動軌跡が検出されたとき、ドラッグなどの第２の操作対象に応じた命令をシステムやアプリケーションに伝達する。
【００３６】
かかる構成の一実施形態にかかるジェスチャＵＩ装置１によれば、非移動領域算出部３７において、ユーザが意図せずにカーソルを動かしにくい非移動領域を算出し、この非移動領域で行われるジェスチャを、第２の操作対象に関連づいた命令を実行するためのジェスチャとする。これにより、意図的なジェスチャと、ボタン・メニュー５０等の第１の操作対象を操作するためのカーソル移動と、第２の操作対象を操作するための意図的なジェスチャと、を区別することができる。これにより、ジェスチャによる入力において誤動作を防止することができる。以下、各部の機能について更に詳しく説明する。
【００３７】
位置取得部３１は、ポインティングデバイスやユーザの手など身体の一部の位置から画面上の操作位置（カーソル位置）を計算する。具体的には、位置取得部３１は、ユーザの手の位置や、ポインティングデバイスの位置を取得し、画面上のカーソルの位置を計算する。手の座標系は、ディスプレイ２０（表示装置）の画面の法線方向をｚ軸とし、画面から離れる方向を正とする。画面の平面内の水平方向をｘ軸、垂直方向をｙ軸とする。この座標系で位置取得部３１は適宜、ユーザの手の座標（ｘｈ，ｙｈ，ｚｈ）を取得する。取得した手の位置に従って、画面上のカーソル座標（ｘ，ｙ）を計算する。カーソルの座標系は、画面の平面内の水平方向をｘ軸（右方向を正）、垂直方向をｙ軸（下方向を正）とする。手の座標からカーソルの座標ｐを算出する計算式の一例として式（１）を挙げる。
【００３８】
【数１】
2015133059.tif 000003
【００３９】
ここで、ａｘ、ｂｘ、ａｙ、ｂｙは、実数の定数で、画面の解像度などから、実験的に定める値である。
【００４０】
位置蓄積部３２は、位置取得部３１で取得した位置を一定の時間毎に蓄積する。位置蓄積部３２は、位置取得部３１が算出したカーソル座標ｐ（ｘ，ｙ）を一定の時間毎に記録し、蓄積する。蓄積した座標は、カーソルの移動速度・方向を算出する際に用いる。一定の時間毎とは、例えば１秒間に３０回などである。位置蓄積部３２は、カーソルの座標を蓄積するだけでなく、カーソルの座標を破棄してもよい。例えば、一定の時間より以前に蓄積されたカーソルの座標を破棄することで、位置蓄積部３２に一定の量以上のカーソルの座標が蓄積されないようにすることもできる。
【００４１】
操作対象取得部３３は、画面上に表示されているアイコンやボタン、メニュー等の第１の操作対象が配置された領域ｗを取得する。指示判定部３４は、カーソルが第１の操作対象の領域を指し示しているかを判定する。判定方法の一例としては、カーソル位置ｐが操作対象の領域ｗへ含まれている時間が、連続でｔ秒以上かを条件とする方法が挙げられる。ｔは、実験的に定める正の定数である。
【００４２】
図５（ａ）に示される画面２１上の配置例では、非操作領域算出部３５は、ボタン・メニュー５０の位置とカーソル５５の位置とに基づいて、ボタン・メニュー５０を操作する際にはカーソル５５が移動していかないと予測される領域である非操作領域Ｒ１を算出する。例えば、図５（ｂ）に示されるように、非操作領域算出部３５は、現在のカーソル５５の位置から見て、ボタン・メニュー５０が存在しない方向の領域を非操作領域Ｒ１として算出する。
【００４３】
非進行領域算出部３６は、カーソル５５の速度ベクトルとカーソル５５の位置とに基づいて急旋回せずにはカーソル５５が進行していかないと予測される領域である非進行領域Ｒ２を算出する。例えば、図６（ａ）に示され例では、非進行領域算出部３６は、カーソル５５の移動軌跡Ｄｒから導かれる、現在のカーソルの移動方向と逆の方向の領域を非進行領域Ｒ２として算出する。ここでは、現在のカーソルの移動方向を中心として両側に角度α（定数）の領域を除外した領域が、現在のカーソルの移動方向と逆の方向の領域、つまり、非進行領域Ｒ２となる。
【００４４】
空間ジェスチャでは、手を休めるために手を下げることが多い。このときのジェスチャとしては、画面のｙ軸の正の方向へ手が移動することが多い。このため、非進行領域算出部３６は、カーソルの向きと重力方向とに基づき、非進行領域Ｒ２を算出してもよい。例えば、図６（ｂ）に示される例のように、図６（ａ）に示した非進行領域Ｒ２以外の領域に加えて、重力方向の領域（ここでは、中心角α×２の領域＋ｙ軸の正の方向を中心として中心角β（定数）×２の領域）を除外した領域を非進行領域Ｒ２として算出してもよい。カーソル５５が停留している場合には、図７に示される例のように、非進行領域算出部３６は、重力方向の領域（例えば、ｙ軸の正の方向を中心として中心角β（定数）×２の領域）を除外した領域を非進行領域Ｒ２として算出してもよい。
【００４５】
非移動領域算出部３７は、非操作領域Ｒ１と非進行領域Ｒ２とを統合して、意図せずにカーソルが移動していかないと予測される領域である非移動領域Ｒを算出する。例えば、図８に示されるように、非移動領域算出部３７は、非操作領域Ｒ１と非進行領域Ｒ２との二つの領域が重なる領域（共通領域）を非移動領域Ｒとして算出してもよい。なお、非操作領域Ｒ１及び非進行領域Ｒ２の算出は、カーソル５５の位置からの方向に依存し、距離に依存しない。このため、非操作領域Ｒ１及び非進行領域Ｒ２は、非操作方向及び非進行方向に基づき算出されるということができる。
【００４６】
配置部４２は、非移動領域Ｒの境界上又は内部に第２の操作対象を配置する。第２の操作対象は、図１０に示されるように、カーソル５５の移動方向を誘導する開口を有する輪６０等の図形であってもよい。図１０の第２の操作対象に関連付けられた命令は、ドラッグである。第２の操作対象は、輪６０がなくてドラッグの表示部分６１の画像が表示されてもよい。第２の操作対象は、カーソル５５の移動方向を誘導する線を有する図形であってもよい。
【００４７】
軌跡算出部３８は、非移動領域Ｒの境界上又は内側を進行するカーソルの移動軌跡、つまり、非移動領域Ｒに含まれるカーソルの移動軌跡を算出する。境界算出部３９は、非移動領域Ｒの内側へのカーソル移動を判定するための境界、つまり、非移動領域Ｒに含まれる境界を算出する。
【００４８】
ここでは、軌跡算出部３８が算出する移動軌跡と、境界算出部３９が算出する境界との少なくとも一方が１つ以上算出されればよい。以下に、軌跡算出部３８が算出する移動軌跡の一例と境界算出部３９が算出する境界の一例とを示す。
【００４９】
軌跡算出部３８が算出する移動軌跡は、特定の方向への直線的な移動軌跡で、その方向は、図９（ａ）に示されるように、有限の候補（ここでは、移動軌跡の矢印ａ〜ｈの８候補）の内の一つ又は複数であるとする。この場合、軌跡算出部３８は、移動軌跡の候補が非移動領域Ｒに含まれるか判定し、含まれるものの一つ又は複数を移動軌跡として算出する。図９（ａ）では、例えば、非移動領域Ｒに含まれる移動軌跡の矢印ａ、ｅ、ｆが第２の操作対象となり得る。例えば、第２の操作対象として移動軌跡の矢印ｅのみが表示された場合、移動軌跡の矢印ｅをたどるジェスチャが検出されたときは、モード変更が実行され、第２の操作対象に関連付けられた命令が実行される。例えば、移動軌跡ｂをたどるジェスチャが検出されたときは、非移動領域Ｒに含まれないカーソル移動であるため、モード変更は実行されず、その方向にカーソル５５が移動する。なお、配置部４２は、第２の操作対象の一例として非移動領域Ｒに含まれる移動軌跡の矢印ａ、ｅ、ｆの少なくともいずれかを画面２１上に配置してもよい。
【００５０】
境界算出部３９が算出する境界は、カーソルの位置（図９では図示せず）を中心とした同一円周上の円弧で、図９（ｂ）に示されるように、有限の候補（ここでは、境界を示す円弧Ａ〜Ｈの８候補）の内の一つ又は複数であるとする。この場合、境界算出部３９は、境界の候補が非移動領域Ｒに含まれるか判定し、もっとも含まれる部分が多い候補を境界を示す円弧として算出する。図９（ｂ）では、例えば、円弧Ｅ、Ｆの少なくともいずれかが第２の操作対象となり得る。なお、配置部４２は、第２の操作対象の一例として非移動領域Ｒに含まれる円弧Ｅ、Ｆの少なくともいずれかを画面２１上に配置してもよい。
【００５１】
軌跡検出部４０では、軌跡算出部３８が算出した移動軌跡と一致するカーソルの移動軌跡、または境界算出部３９が算出した境界へ交差するカーソルの移動軌跡を検出する。これらの移動軌跡の一致判定は、既存の軌跡認識技術を適用することで実現できる。
【００５２】
軌跡検出部４０では、一定の時間、前記のカーソルの移動軌跡を検出しなかった場合に、検出を無効化してもよい。その場合、カーソルが移動して、再び第１の操作対象を指示した場合に、再び検出を有効化する。
【００５３】
算出された移動軌跡と一致するカーソルの移動軌跡、または算出された境界へ交差するカーソルの移動軌跡が検出されたとき、操作部４１は、カーソルの移動からモードが切り替えられたと判定する（モード変更の実行）。そして、操作部４１は、モード変更後の第２の操作対象の命令を実行する。具体的には、操作部４１は、第２の操作対象に関連付いた命令として、例えば、対象のドラッグの開始や終了、対象のコピーや削除などを、システムやアプリケーションに伝達する。
（第２の操作対象の表示例）
配置部４２は、ユーザにカーソルの移動方向を誘導するように第２の操作対象を表示することが好ましい。例えば、配置部４２は、軌跡検出部４０が検出する移動軌跡を画面２１上に表示してもよい。最も単純な表示方法は、配置部４２が画面２１上に検出する移動軌跡をそのまま表示することである。例えば、移動軌跡を一つ表示する例としては、配置部４２が図９（ａ）の矢印ｆを画面２１上に表示したり、図９（ｂ）の円弧Ｆを画面２１上に表示したりすることが挙げられる。また、移動軌跡を複数表示する例としては、配置部４２が、図９（ａ）の矢印ａ、ｅ、ｆの二つ以上を画面２１上に表示したり、図９（ｂ）の円弧Ｅ，Ｆを画面２１上に表示したりすることが挙げられる。
【００５４】
他の方法としては、配置部４２が、図１０のように切れ目の入った輪６０を表示することで、モード変更するためのカーソル５５の移動軌跡Ｄｒをユーザに示唆する方法がある。図１０では、カーソル５５が第２の操作対象である輪６０の開口を横切って内側に入ったとき、輪６０の脇に表示された、輪６０に関連付いたドラッグ命令が実行される。配置部４２は、カーソル５５を切れ目から輪６０の内側に入れる際にたどる移動軌跡Ｄｒと、軌跡検出部４０が検出する移動軌跡とを一致させるように輪６０の開口を表示する。ユーザが、誘導されたようにカーソル５５を輪６０の切れ目から内側へ移動させたときにモード変更が実行され、第２の操作対象である輪６０に関連付けたドラッグ命令が実行される。このように、第２の操作対象が、ユーザにカーソルの移動方向を誘導する開口又は線を有する図形である場合、ユーザはモード変更の操作を理解し易く、その操作を学習しやすくなる可能性がある。
【００５５】
配置部４２は、図８に示される非移動領域Ｒをそのまま第２の操作対象を示す図形として表示してもよい。その際、例えば非移動領域Ｒをスケルトン表示し、画面２１全体を見易いように工夫してもよい。この場合、軌跡検出部４０は、カーソル５５が非移動領域Ｒの境界を横切り、非移動領域Ｒの外部から内部に移動するカーソルの動作に対して、ドラッグ対象のドラッグ開始や終了等の命令が実行されてもよい。
【００５６】
［ジェスチャＵＩ処理（ドラッグ命令発行）］
次に、本発明の一実施形態に係るジェスチャＵＩ処理を含むドラッグ命令発行処理について、図１１を参照しながら説明する。図１１は、本実施形態に係るドラッグ命令発行処理を示したフローチャートである。
【００５７】
まず、指示判定部３４は、ドラッグ対象を指示したかを判定し（ステップＳ１０）、ドラッグ対象が指示されるまでステップＳ１０の処理を繰り返す。図１２の「１」に示されるように、カーソルがドラッグ対象へ移動し、ドラッグ対象が指示されたと判定された場合、非操作領域算出部３５は、ドラッグ対象以外のボタン・メニュー５０が配置された領域を取得する（ステップＳ１２）。非操作領域算出部３５は、ボタン・メニュー５０が配置された領域及びそのときのカーソルの位置に基づき、非操作領域を算出する（ステップＳ１４）。例えば、図５（ａ）のドラッグ対象５１が指示されたとき、ドラッグ対象５１以外のボタン・メニュー５０が配置された領域が取得され、非操作領域Ｒ１が算出される。
【００５８】
非進行領域算出部３６は、カーソルの位置及び方向を取得し、非進行領域を算出する（ステップＳ１４）。例えば、図６（ａ）に示されるように、非進行領域算出部３６は、非進行領域Ｒ２を算出する。図６（ｂ）及び図７に示されるように、非進行領域算出部３６は、カーソルの位置及び方向と、重力方向とに基づき、非進行領域Ｒ２を算出してもよい。
【００５９】
次に、非移動領域算出部３７は、非操作領域Ｒ１と非進行領域Ｒ２とを統合した非移動領域を算出する（ステップＳ１４）。例えば、図８に示されるように、非操作領域Ｒ１と非進行領域Ｒ２とが重なる領域が非移動領域Ｒとなる。非移動領域Ｒは、意図せずにカーソルが移動していかないと予測される領域である。よって、ジェスチャによる画面操作において非移動領域Ｒに第２の操作対象が配置される。
【００６０】
次に、軌跡算出部３８は、非移動領域Ｒに含まれるカーソルの軌跡を算出する（ステップＳ１６）。ここで算出されるカーソルの軌跡には、非移動領域Ｒの境界上のカーソルの軌跡も含まれる。
【００６１】
次に、軌跡検出部４０は、算出した移動軌跡と同一の移動軌跡が検出されたかを判定する（ステップＳ１８）。同一の移動軌跡が検出されないと判定された場合、ステップＳ１０に戻る。一方、同一の移動軌跡が検出された場合、操作部４１は、第２の操作対象に関連付けたドラッグ命令（開始）をアプリケーションに送る（ステップＳ２０）。例えば、非移動領域Ｒ内に図１２の「２」に示されるように、一部が開口された輪６０が配置されている場合について説明する。図１２の「３」に示されるようにカーソルが開口から輪６０の内部に入ると、軌跡検出部４０は、算出されたカーソルの軌跡と同一の移動軌跡が検出されたと判定する。ここでは、輪６０で示される第２の操作対象にはドラッグの開始・終了の命令が関連付けられているので、前記検出とともにドラッグ命令が開始され、輪６０の表示は消える。
【００６２】
図１１に戻り、操作部４１は、カーソルの位置に応じてドラッグ対象をドラッグする命令を発行する（ステップＳ２２）。図１２の「４」に示されるように、ドラッグする命令が発行された状態で、カーソルが移動し、軌跡検出部４０によりドラッグ終了位置が指示されたことが検出されると（ステップＳ２４）、非操作領域算出部３５は、ドラッグ対象以外のボタン・メニュー５０が配置された領域を取得する（ステップＳ２６）。非操作領域算出部３５は、ボタン・メニュー５０が配置された領域及びそのときのカーソルの位置に基づき、非操作領域を算出する（ステップＳ２８）。非進行領域算出部３６は、カーソルの位置及び方向を取得し、非進行領域を算出する（ステップＳ２８）。次に、非移動領域算出部３７は、非操作領域Ｒ１と非進行領域Ｒ２とを統合した非移動領域を算出する（ステップＳ２８）。
【００６３】
次に、軌跡算出部３８は、非移動領域Ｒに含まれるカーソルの軌跡を算出する（ステップＳ３０）。次に、軌跡検出部４０は、算出した移動軌跡と同一の移動軌跡が検出されたかを判定する（ステップＳ３２）。同一の移動軌跡が検出されないと判定された場合、ステップＳ２２に戻る。一方、同一の移動軌跡が検出された場合、操作部４１は、第２の操作対象に関連付けたドラッグ命令（終了）をアプリケーションに送る（ステップＳ３４）。例えば、非移動領域Ｒ内に図１２の「５」に示される輪６０が表示され、カーソルが開口から輪６０の外部に出ると、軌跡検出部４０は、同一の移動軌跡が検出されたと判定する。これにより、図１２の「６」に示されるように、検出とともにドラッグ命令が終了され、輪６０の表示は消え、通常のカーソル移動に戻る。
【００６４】
なお、図１２の「３'」に示されるように、カーソルが開口（切れ目）から輪６０の内部に入らないときには、輪６０の表示は消え、通常のカーソルの移動に戻るようにしてもよい。同様に、図１２の「６'」に示されるように、カーソルが開口（切れ目）以外から輪６０の外部に出たとき、輪６０の表示は消え、ドラッグ命令状態を継続してもよい。
【００６５】
なお、図１２の「３」で表示される輪６０は、開口を有しなくてもよい。開口がなくても輪６０の内部にカーソルが入ることでドラッグの開始を指示できるためである。一方、図１２の「５」で表示される輪６０は開口を有することが好ましい。開口を用いて輪６０の外部にカーソルが出ることでドラッグの終了を指示できるためである。
【００６６】
以上、本実施形態に係るドラッグ命令発行処理について説明した。次に、本実施形態に係る削除命令発行処理について説明する。
【００６７】
［ジェスチャＵＩ処理（削除命令発行）］
次に、本発明の一実施形態に係るジェスチャＵＩ処理を含む削除命令発行処理について、図１３を参照しながら説明する。図１３は、本実施形態に係る削除命令発行処理を示したフローチャートである。
【００６８】
まず、指示判定部３４は、削除対象を指示したかを判定し（ステップＳ４０）、削除対象が指示されるまでステップＳ４０の処理を繰り返す。削除対象が指示されたと判定された場合、非操作領域算出部３５は、削除対象以外のボタン・メニュー５０が配置された領域を取得する（ステップＳ４２）。非操作領域算出部３５は、ボタン・メニュー５０が配置された領域及びその時点のカーソルの位置に基づき、非操作領域を算出する（ステップＳ４４）。また、非進行領域算出部３６は、カーソルの位置及び方向を取得し、非進行領域を算出する（ステップＳ４４）。
【００６９】
次に、非移動領域算出部３７は、非操作領域Ｒ１と非進行領域Ｒ２とを統合した非移動領域を算出する（ステップＳ４４）。次に、軌跡算出部３８は、非移動領域に含まれるカーソルの軌跡を算出する（ステップＳ４６）。
【００７０】
次に、軌跡検出部４０は、算出した移動軌跡と同一の移動軌跡が検出されたかを判定する（ステップＳ４８）。同一の移動軌跡が検出されないと判定された場合、ステップＳ４０に戻る。一方、同一の移動軌跡が検出された場合、操作部４１は、第２の操作対象に関連付けた操作命令（削除）をアプリケーションに送る（ステップＳ５０）。これにより、第２の操作対象が削除され、輪６０の表示は消え、通常のカーソル移動に戻る。
【００７１】
以上に説明したジェスチャＵＩ処理によれば、図１４に示されるように、画面上に表示されているボタン・メニュー５０等に対して、ドラッグ対象５１を操作する輪６０は、非移動領域Ｒ内又は境界上に配置される。これによれば、第２の操作対象は、非移動領域Ｒに配置されているため、ユーザは第２の操作対象を操作使用と意図しない限り、カーソルを第２の操作対象の位置に移動しない。例えば、図１４の輪６０ａは図示しない非移動領域Ｒ内に表示されるため、ユーザは意図しない限りカーソル５５ａを移動軌跡Ｍ２の方向に移動させることはない。その結果、カーソル５５ａについて、ボタン・メニュー５０を選択するためのカーソルの移動軌跡Ｍ１と、輪６０ａに関連付いたドラッグ命令を実行するためのカーソルの移動軌跡Ｍ２とは異なる動線になる。同様に図１４のカーソル５５ｂについても、ボタン・メニュー５０を選択するためのカーソルの移動軌跡Ｍ３と、輪６０ａに関連付いたドラッグ命令を選択するためのカーソルの移動軌跡Ｍ４とは異なる動線になる。
【００７２】
これにより、本実施形態に係るジェスチャＵＩ装置によれば、ジェスチャによる入力において、画面２１上に表示されている第１の操作対象に対するカーソル移動のためのジェスチャと、第２の操作対象に関連づいた命令を実行するためのジェスチャとを区別できる。この結果、ジェスチャによる入力において誤動作を防止することができる。また、本実施形態に係るジェスチャＵＩ装置によれば、空間ジェスチャに最低限必要なセンサや認識装置以外のセンサや認識装置を追加する必要がない。また、煩雑なジェスチャを必要とせずに簡易なジェスチャでジェスチャ入力における誤動作を防止することができる。
【００７３】
［変形例］
最後に、上記実施形態の変形例について説明する。まず、非操作領域又は非移動領域の算出方法についての変形例である変形例１〜３について、図１５〜図１７を参照しながら説明する。
【００７４】
（変形例１）
まず、非移動領域の算出方法の変形例１について、図１５を参照して説明する。図１５では、画面２１上に複数のドラッグ対象７０ａ、７０ｂが表示されている。変形例１では、カーソル５５で指示しているドラッグ対象７０ａ以外のドラッグ対象７０ｂをボタン・メニュー５０と同じ第１の操作対象とみなして、非移動領域Ｒが算出される。具体的には、非操作領域算出部３５は、ボタン・メニュー５０が配置された領域に基づき、ボタン・メニュー５０を操作するためにカーソル移動が行われやすい領域を特定し、それ以外の領域を意図せずに行われ難い非操作領域Ｒ１として算出する。非操作領域算出部３５は、カーソルにより指示されていないドラッグ対象７０ｂが配置された領域に基づき、ドラッグ対象７０ｂを操作するためにカーソル移動が行われやすい領域を特定し、それ以外の領域を意図せずに行われ難い非操作領域ｒとして算出する。非移動領域算出部３７は、非操作領域Ｒ１と非操作領域ｒとの和の領域を非移動領域とする。この結果、変形例１においても、ジェスチャによる入力においてドラッグ対象を含む第１の操作対象に対するカーソル移動のためのジェスチャと、第２の操作対象に関連づいた命令を実行するためのジェスチャとを区別することができる。これにより、ジェスチャによる入力において誤動作を防止することができる。
【００７５】
（変形例２、３）
次に、非移動領域の算出方法の変形例２，３について、図１６及び図１７を参照して説明する。図１６には、画面２１上に選択頻度が異なるボタン・メニュー５０、５２が表示されている。ボタン・メニュー５２は、ボタン・メニュー５０よりも選択頻度が低い。
【００７６】
変形例２では、選択頻度が低い（例えば、めったに選択されない）ボタン・メニュー５２を無視して非移動領域Ｒが算出される。選択頻度が低いボタン・メニュー５２は、予め特定することができる。よって、変形例２では、非操作領域算出部３５は、その特定されたボタン・メニュー５２を無視して非操作領域Ｒ１を算出する。その結果、変形例２では、非操作領域Ｒ１には、カーソル５５の位置からボタン・メニュー５２を選択するために利用され易いカーソルの移動領域も含まれる。これによっても、ボタン・メニュー５２はめったに選択されないため、ジェスチャによる入力において第１の操作対象に対するカーソル移動のためのジェスチャと、第２の操作対象に関連づいた命令を実行するためのジェスチャとを区別することができる。これにより、ジェスチャによる入力において誤動作を防止することができる。
【００７７】
変形例３においても、図１７に示されるように、画面２１上に選択頻度が異なるボタン・メニュー５０が表示されている。変形例２では、各ボタン・メニュー５０の選択頻度は固定値であったが、変形例３では、各ボタン・メニュー５０の選択頻度は可変に設定される。
【００７８】
図１７に示すように、第１の操作対象であるボタン・メニュー５０が画面２１に全体的に位置しているときには非操作領域が空となり、軌跡算出部３８や境界算出部３９が移動軌跡や境界を算出することが困難になる。そこで、第１の操作対象の選択頻度に対して増加する得点を画面の領域毎にカウントしてもよい。図１７（ａ）では、第１の操作対象の選択頻度が最も多い（Ａ）から最も少ない（Ｄ）に段階分けし、それぞれに４から１の得点を設定している。これにより、例えば、図１７（ａ）に示されるように、選択頻度の高い順にボタン・メニュー５０が、ボタン・メニューＡ、Ｂ、Ｃ、Ｄに分けられる。この場合、例えば、図１７（ｂ）に示されるように、ボタン・メニューＡ、Ｂよりも選択頻度が相対的に低いボタン・メニューＣ、Ｄを無視して非操作領域Ｒ１が算出されてもよい。その他、選択頻度の最も低いボタン・メニューＤのみを無視して非操作領域Ｒ１を算出してもよいし、選択頻度の最も高いボタン・メニューＡ以外のボタン・メニューＢ，Ｃ，Ｄを無視して非操作領域Ｒ１を算出してもよい。
【００７９】
（変形例４）
次に、軌跡算出結果の表示にかかる変形例である変形例４について、図１８を参照しながら説明する。図１８では、軌跡算出の結果、カーソル５５の位置から８方向に矢印ａ〜ｈが表示されている。変形例４では、移動軌跡を示す矢印に優先順位をつけ、優先順位の高い矢印を表示する。
【００８０】
ボタン・メニュー５０の配置に偏りがあると、移動軌跡の算出結果を一定とすることができ、ユーザがジェスチャによる画面操作を学習しやすくなる。例えば、図１８に示される非移動領域Ｒ内の移動軌跡の矢印ｂ、ｃ、ｄ、ｆの優先順位が矢印ｄ、ｃ、ｂ、ｆの順に高く設定されているとする。この場合、配置部４２は、最も優先順位の高い移動軌跡の矢印ｄを画面に配置し、それ以外の移動軌跡ｃ、ｂ、ｆは配置しないようにしてもよい。または、優先順位の高い順に矢印の線を太くしたり、矢印の線の色を濃くしたり、矢印の大きさを大きくしたりするように、ユーザが学習し易いように移動軌跡の矢印の表示方法を変えてもよい。
【００８１】
（変形例５）
最後に、軌跡算出の変形例である変形例５について、図１９を参照しながら説明する。変形例５では、移動軌跡が限定的な場合の簡易的な軌跡算出方法を説明する。図１９の点線は、画面２１上に表示されている各ボタン・メニュー５０を選択する際のカーソルの移動軌跡の代表線（点線）を示す。代表線で示されるように、軌跡算出部３８が算出する移動軌跡が、単純で候補が限定的な場合には、先述のような非操作領域Ｒ１と非進行領域Ｒ２とを算出しなくても、上記実施形態の場合と等価な算出結果を簡易な算出方法で得ることができる。
【００８２】
例えば、非移動領域算出部３７は、予め、現在のカーソル５５の位置からボタン・メニュー５０などの第１の操作対象への移動軌跡を算出しておく。例えば、図１９の代表線に示される直線的な移動軌跡を算出する場合、非操作領域算出部３５は、各ボタン・メニュー５０を選択する際に代表線に対して３０°程度の幅を持たせた領域をカーソル５５が移動すると予測される領域として算出する。
【００８３】
非移動領域算出部３７は、算出したボタン・メニュー５０への移動軌跡と類似している軌跡候補の矢印を候補から除く。また、非移動領域算出部３７は、現在のカーソルの進行方向と類似している方向の軌跡候補の矢印を除く。こうして残った軌跡候補からひとつの移動軌跡の矢印を選択すればよい。例えば、図１９に示した移動軌跡の矢印ｄを選択してもよい。この場合、第２の操作対象として、矢印ｄの位置に開口を有する輪６０が配置されてもよい。
【００８４】
これによれば、非移動領域内のカーソルの移動軌跡を検出することで、ボタン・メニュー５０へ向かう移動軌跡と十分に異なる移動軌跡を採用することができる。これにより、ジェスチャによる入力において第１の操作対象の操作のためのカーソル移動のためのジェスチャと、第２の操作対象に関連づいた命令を実行するためのジェスチャとを区別することができる。これにより、ジェスチャによる入力において誤動作を防止することができる。また、変形例５によれば、移動軌跡が限定的な場合、非操作領域算出部３５、非進行領域算出部３６、軌跡算出部３８の処理を簡易的に実行することができ、ジェスチャ入力から第２の操作対象の表示までの処理を高速化することができる。
【００８５】
（ハードウェア構成例）
最後に、ジェスチャＵＩ装置１のハードウェア構成例について簡単に説明する。図２０は、本実施形態にかかるジェスチャＵＩ装置１のハードウェア構成例を示す図である。ジェスチャＵＩ装置１は、入力装置１０１、表示装置１０２、外部Ｉ／Ｆ１０３、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１０４、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）１０５、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１０６、通信Ｉ／Ｆ１０７及びＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）１０８を備え、それぞれがバスＢで相互に接続されている。
【００８６】
入力装置１０１は、カメラ１０やキーボードやマウスなどを含み、ジェスチャＵＩ装置１に各操作を入力するのに用いられる。表示装置１０２は、ディスプレイ２０を含み、ユーザのジェスチャ入力に応じて画面上のボタン・メニュー５０の操作等を行い、その結果を表示する。
【００８７】
通信Ｉ／Ｆ１０７は、ジェスチャＵＩ装置１をネットワークに接続するインタフェースである。これにより、ジェスチャＵＩ装置１は、通信Ｉ／Ｆ１０７を介して他の機器と通信可能となる。
【００８８】
ＨＤＤ１０８は、プログラムやデータを格納している不揮発性の記憶装置である。格納されるプログラムやデータには、装置全体を制御する基本ソフトウェアであるＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）、及びＯＳ上において各種機能を提供するアプリケーションソフトウェアなどがある。また、ＨＤＤ１０８は、指示判定処理、非操作領域算出処理、非進行領域算出処理、非移動領域算出処理、軌跡算出処理、境界算出処理及び軌跡検出処理及び操作対象の操作処理を行うためにＣＰＵ１０６により実行されるプログラムを格納する。
【００８９】
外部Ｉ／Ｆ１０３は、外部装置とのインタフェースである。外部装置には、記録媒体１０３ａなどがある。ジェスチャＵＩ装置１は、外部Ｉ／Ｆ１０３を介して、記録媒体１０３ａの読み取り及び／又は書き込みを行うことができる。記録媒体１０３ａには、ＣＤ（Ｃｏｍｐａｃｔ  Ｄｉｓｋ）、及びＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）、ならびに、ＳＤメモリカード（ＳＤ  Ｍｅｍｏｒｙ  ｃａｒｄ）やＵＳＢメモリ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ  ｍｅｍｏｒｙ）等がある。
【００９０】
ＲＯＭ１０５は、不揮発性の半導体メモリ（記憶装置）であり、起動時に実行されるＢＩＯＳ（Ｂａｓｉｃ  Ｉｎｐｕｔ／Ｏｕｔｐｕｔ  Ｓｙｓｔｅｍ）、ＯＳ設定、及びネットワーク設定などのプログラムやデータが格納されている。ＲＡＭ１０４は、プログラムやデータを一時保持する揮発性の半導体メモリ（記憶装置）である。ＣＰＵ１０６は、上記記憶装置（例えば「ＨＤＤ」や「ＲＯＭ」など）から、プログラムやデータをＲＡＭ上に読み出し、処理を実行することで、装置全体の制御や搭載機能を実現する演算装置である。
【００９１】
指示判定部３４、非操作領域算出部３５、非進行領域算出部３６、非移動領域算出部３７、軌跡算出部３８、境界算出部３９、軌跡検出部４０及び操作部４１の各部は、ＨＤＤ１０８にインストールされたプログラムがＣＰＵ１０６に実行させる処理により実現される。
【００９２】
位置取得部３１は、入力装置１０１を用いて実現可能である。位置蓄積部３２は、例えば、ＲＡＭ１０４、ＨＤＤ１０８、又はジェスチャＵＩ装置１にネットワークを介して接続される記憶装置を用いて実現可能である。
【００９３】
以上、ジェスチャＵＩ装置、ジェスチャＵＩ方法及びプログラムを上記実施形態により説明したが、本発明は上記実施形態に限定されるものではなく、本発明の範囲内で種々の変形及び改良が可能である。また、上記実施形態及び各変形例において矛盾しない範囲で組み合わせることができる。
【００９４】
以上の説明に関し、更に以下の項を開示する。
（付記１）
ジェスチャによる入力に応じて画面操作を行うジェスチャＵＩ装置であって、
第１の操作対象が表示されている画面上のカーソルの移動方向を予測し、前記予測したカーソルの移動方向に基づき前記カーソルが移動していかないと予測される非移動領域を算出する非移動領域算出部と、
前記非移動領域の境界上を含む内側に前記第１の操作対象以外の第２の操作対象を配置する配置部と、
を有するジェスチャＵＩ装置。
（付記２）
前記配置部は、
前記第２の操作対象としてカーソルの移動方向を誘導する開口又は線を有する図形を表示する、
付記１に記載のジェスチャＵＩ装置。
（付記３）
前記第１の操作対象に対するカーソルの位置に基づき、前記第１の操作対象を操作する際には前記カーソルが移動していかないと予測される非操作領域を算出する非操作領域算出部と、
カーソルの位置と向きとに基づき、前記カーソルが進行していかないと予測される非進行領域を算出する非進行領域算出部と、を有し、
前記非移動領域算出部は、
前記非操作領域と前記非進行領域とから前記非移動領域を算出する、
付記１又は２に記載のジェスチャＵＩ装置。
（付記４）
前記非進行領域算出部は、
カーソルの向きと重力方向との少なくともいずれかに基づき、前記カーソルが進行していかないと予測される非進行領域を算出する、
付記３に記載のジェスチャＵＩ装置。
（付記５）
ジェスチャによる入力に応じて画面操作を行うジェスチャＵＩ方法であって、
第１の操作対象が表示されている画面上のカーソルの移動方向を予測し、前記予測したカーソルの移動方向に基づき前記カーソルが移動していかないと予測される非移動領域を算出し、
前記非移動領域の境界上を含む内側に前記第１の操作対象以外の第２の操作対象を配置する、
処理をコンピュータが実行するジェスチャＵＩ方法。
（付記６）
前記第２の操作対象としてカーソルの移動方向を誘導する開口又は線を有する図形を表示する、
付記５に記載のジェスチャＵＩ方法。
（付記７）
前記非移動領域を算出する処理は、
前記第１の操作対象に対するカーソルの位置に基づき、前記第１の操作対象を操作する際には前記カーソルが移動していかないと予測される非操作領域（Ｒ１，図５）を算出する処理と、
カーソルの位置と向きとに基づき、前記カーソルが進行していかないと予測される非進行領域を算出する処理と、を含み、
前記非操作領域と前記非進行領域とから前記非移動領域を算出する、
付記５又は６に記載のジェスチャＵＩ方法。
（付記８）
前記非進行領域を算出する処理は、
カーソルの向きと重力方向との少なくともいずれかに基づき、前記カーソルが進行していかないと予測される非進行領域を算出する、
付記７に記載のジェスチャＵＩ方法。
（付記９）
ジェスチャによる入力に応じて画面操作を行う処理をコンピュータが実行するプログラムであって、
第１の操作対象が表示されている画面上のカーソルの移動方向を予測し、前記予測したカーソルの移動方向に基づき前記カーソルが移動していかないと予測される非移動領域を算出し、
前記非移動領域の境界上を含む内側に前記第１の操作対象以外の第２の操作対象を配置する、
プログラム。
（付記１０）  前記第２の操作対象としてカーソルの移動方向を誘導する開口又は線を有する図形を表示する、
付記９に記載のプログラム。
（付記１１）
前記非移動領域を算出する処理は、
前記第１の操作対象に対するカーソルの位置に基づき、前記第１の操作対象を操作する際には前記カーソルが移動していかないと予測される非操作領域を算出する処理と、
カーソルの位置と向きとに基づき、前記カーソルが進行していかないと予測される非進行領域を算出する処理と、を含み、
前記非操作領域と前記非進行領域とから前記非移動領域を算出する、
付記９又は１０に記載のプログラム。
（付記１２）
前記非進行領域を算出する処理は、
カーソルの向きと重力方向との少なくともいずれかに基づき、前記カーソルが進行していかないと予測される非進行領域を算出する、
付記１１に記載のプログラム。
【符号の説明】
【００９５】
１：ジェスチャ入力装置
１０：カメラ
２０：ディスプレイ
３１：位置取得部
３２：位置蓄積部
３３：操作対象取得部
３４：指示判定部
３５：非操作領域算出部
３６：非進行領域算出部
３７：非移動領域算出部
３８：軌跡算出部
３９：境界算出部
４０：軌跡検出部
４１：操作部
４２：配置部
【図１】
2015133059.tif 000004
【図２】
2015133059.tif 000005
【図３】
2015133059.tif 000006
【図４】
2015133059.tif 000007
【図５】
2015133059.tif 000008
【図６】
2015133059.tif 000009
【図７】
2015133059.tif 000010
【図８】
2015133059.tif 000011
【図９】
2015133059.tif 000012
【図１０】
2015133059.tif 000013
【図１１】
2015133059.tif 000014
【図１２】
2015133059.tif 000015
【図１３】
2015133059.tif 000016
【図１４】
2015133059.tif 000017
【図１５】
2015133059.tif 000018
【図１６】
2015133059.tif 000019
【図１７】
2015133059.tif 000020
【図１８】
2015133059.tif 000021
【図１９】
2015133059.tif 000022
【図２０】
2015133059.tif 000023