(57)【要約】      （修正有）【課題】ユーザの動きと共に入力機器を用いた所望情報の入力が行われる場合においても、ユーザの動きに対してユーザが要望する要望情報を好適に割り当てる。【解決手段】情報処理装置１５は、ユーザの動きの状況を示す動き情報、及び、ユーザの動きと並行して又は相前後して入力機器１２、１３を用いてユーザによって行われる入力の状況を示す入力情報を取得する取得手段１５２２、１５２３と、入力情報及び動き情報に基づいて、動き情報に対して、ユーザの要望を示す要望情報を割り当てる割当手段１５２４とを備える。【選択図】図１
2015153353.tif 000002
【特許請求の範囲】
【請求項１】
ユーザの動きの状況を示す動き情報、及び、前記ユーザの動きと並行して又は相前後して入力機器を用いて前記ユーザによって行われる入力の状況を示す入力情報を取得する取得手段と、
前記入力情報及び前記動き情報に基づいて、前記動き情報に対して、前記ユーザの要望を示す要望情報を割り当てる割当手段と
を備えることを特徴とする情報処理装置。
【請求項２】
前記割当手段は、前記入力情報に基づいて、前記動き情報に対する前記要望情報の割当方法を変える
ことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記入力情報は、前記入力機器を用いた入力が行われている入力時間を示しており、
前記割当手段は、前記入力情報が示す前記入力時間と前記入力機器を用いた入力と並行して又は相前後して前記ユーザが動いている時間との間の時間的関係に基づいて、前記動き情報に対する前記要望情報の割当方法を変える
ことを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記入力情報は、前記入力機器を用いた入力によって入力される所望情報の入力対象先を示しており、
前記割当手段は、前記入力情報が示す前記入力対象先に基づいて、前記動き情報に対する前記要望情報の割当方法を変える
ことを特徴とする請求項２又は３に記載の情報処理装置。
【請求項５】
前記入力情報は、前記入力機器を用いた入力によって入力される所望情報の内容を示しており、
前記割当手段は、前記入力情報が示す前記内容に基づいて、前記動き情報に対する前記要望情報の割当方法を変える
ことを特徴とする請求項２から４のいずれか一項に記載の情報処理装置。
【請求項６】
前記入力情報は、前記入力機器を用いた入力が行われている入力時間を示しており、
前記割当手段は、前記入力情報が示す前記入力時間と前記入力機器を用いた入力と並行して又は相前後して前記ユーザが動いている時間との間の時間的関係に基づいて、前記動き情報に対して前記要望情報を割り当てる
ことを特徴とする請求項１から５のいずれか一項に記載の情報処理装置。
【請求項７】
前記入力情報は、前記入力機器を用いた入力によって入力される所望情報の入力対象先を示しており、
前記割当手段は、前記入力情報が示す前記入力対象先に基づいて、前記動き情報に対して前記要望情報を割り当てる
ことを特徴とする請求項１から６のいずれか一項に記載の情報処理装置。
【請求項８】
前記入力情報は、前記入力機器を用いた入力によって入力される所望情報の内容を示しており、
前記割当手段は、前記入力情報が示す前記内容に基づいて、前記動き情報に対して前記要望情報を割り当てる
ことを特徴とする請求項１から７のいずれか一項に記載の情報処理装置。
【請求項９】
ユーザの動きの状況を示す動き情報、及び、前記ユーザの動きと並行して又は相前後して入力機器を用いて前記ユーザによって行われる、所望情報の入力の状況を示す入力情報を取得する取得工程と、
前記入力情報及び前記動き情報に基づいて、前記動き情報に対して、前記ユーザの要望を示す要望情報を割り当てる割当工程と
を備えることを特徴とする情報処理方法。
【請求項１０】
請求項９に記載された情報処理方法をコンピュータに実行させることを特徴とするコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えば情報を処理する情報処理装置であって、特に、ユーザの動き（例えば、ジェスチャやモーション）を示す動き情報に対して特定の要望情報（例えば、ユーザが要望している操作命令）を割り当てる情報処理装置及び方法、並びにコンピュータプログラムの技術分野に関する。
【背景技術】
【０００２】
カメラを介して一又は複数の手の画像を検出すると共に、当該検出した手の画像に基づいて、ユーザインタフェース上に表示された画像を操作するためのコントロールパラメータを割り当てる（言い換えれば、関連付ける）方法が提案されている（特許文献１参照）。例えば、特許文献１において提案されている方法では、手の親指と人差し指とが互いに触れることで視覚的に独立した背景領域が形成される場合には、当該独立した背景領域に対してマウスをエミュレートした機能がコントロールパラメータとして割り当てられる。より具体的には、一旦形成した独立した背景領域を解消した後に再び独立した背景領域を形成する手の動きに対しては、マウスの「クリック機能」や「ドラッグ機能」や「スクロール機能」等が割り当てられる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特表２０１０−５００６４５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１に開示された方法は、検出した手の動きに対してコントロールパラメータを割り当てている。しかしながら、ユーザは、マウス等をエミュレートするために手を動かすだけではなく、このような手の動きと並行して又は相前後して、キーボード等の入力機器を用いた入力を行うこともある。しかしながら、特許文献１には、入力機器を用いた入力を行う際のコントロールパラメータの割当方法が何ら開示されていない。従って、特許文献１に開示された方法は、入力機器を用いた入力を行いながらマウス等をエミュレートするために手を動かしている場合には、必ずしも好適なコントロールパラメータを割り当てることができるとは限らないという技術的な問題点が生ずる。
【０００５】
例えば、特許文献１に開示された方法は、手の動きと並行して又は相前後して行われる入力機器を用いた入力を何ら考慮していないため、入力機器を用いた入力の状況の違いに関わらず、同一の手の動きに対しては同一のコントロールパラメータを割り当てる。従って、入力機器を用いた入力が多様な態様で行われることを考慮すれば、特許文献１に開示された方法は、入力機器を用いた入力を行いながらマウス等をエミュレートするために手を動かしている場合には、必ずしも好適なコントロールパラメータを割り当てることができるとは限らないという技術的な問題点が生ずる。
【０００６】
尚、このような技術的な問題点は、手の動きに対してマウス等をエミュレートする機能を割り当てる場合のみならず、ユーザの動きに対して任意の情報（例えば、ユーザが要望する要望情報）を割り当てる場合にも同様に生じ得る。
【０００７】
本発明は、例えば上記問題願に鑑みてなされたものであり、ユーザの動きと共に入力機器を用いた入力が行われる場合においても、ユーザの動きに対してユーザが要望する要望情報を好適に割り当てることを可能とならしめる情報処理装置及び方法、並びにコンピュータプログラムを提供することを課題とする。
【課題を解決するための手段】
【０００８】
本発明の情報処理装置は、上記課題を解決するために、ユーザの動きの状況を示す動き情報、及び、前記ユーザの動きと並行して又は相前後して入力機器を用いて前記ユーザによって行われる入力の状況を示す入力情報を取得する取得手段と、前記入力情報及び前記動き情報に基づいて、前記動き情報に対して、前記ユーザの要望を示す要望情報を割り当てる割当手段とを備える。
【０００９】
本発明の情報処理方法は、上記課題を解決するために、ユーザの動きの状況を示す動き情報、及び、前記ユーザの動きと並行して又は相前後して入力機器を用いて前記ユーザによって行われる入力の状況を示す入力情報を取得する取得工程と、前記入力情報及び前記動き情報に基づいて、前記動き情報に対して、前記ユーザの要望を示す要望情報を割り当てる割当工程とを備える。
【００１０】
本発明のコンピュータプログラムは、本発明の情報処理方法をコンピュータに実行させる。
【００１１】
本発明の作用及び他の利得は次に説明する実施するための形態から明らかにされる。
【図面の簡単な説明】
【００１２】
【図１】本実施例のコンピュータシステムの外観を示す斜視図及び本実施例のコンピュータシステムの構成を示すブロック図である。
【図２】主としてジェスチャ操作部によって行われるジェスチャ解釈処理の全体の流れを示すフローチャートである。
【図３】ステレオカメラが撮影した画像と共に、初期設定処理の内容を説明する平面図である。
【図４】ステレオカメラが撮影した画像と共に、ユーザの手及び指の検出処理の内容を説明する平面図である。
【図５】ステレオカメラが撮影した画像と共に、ユーザの手及び指の姿勢の解釈処理の内容を説明する平面図である。
【図６】図２のステップＳ４におけるユーザのジェスチャに対する操作命令の割当処理の流れを示すフローチャートである。
【図７】図６のステップＳ４５におけるジェスチャ解釈モードの決定処理の流れを示すフローチャートである。
【図８】ジェスチャ解釈モードの一例であるＧＵＩ操作モードでの操作命令の割当処理を、ディスプレイに表示されるＧＵＩと共に説明する平面図である
【図９】ジェスチャ解釈モードの一例であるＧＵＩ操作モードでの操作命令の割当処理を、ディスプレイに表示されるＧＵＩと共に説明する平面図である
【図１０】ジェスチャ解釈モードの一例であるサーチモードでの操作命令の割当処理を、ディスプレイに表示されるＧＵＩと共に説明する平面図である
【図１１】ジェスチャ解釈モードの一例であるポインティングモードでの操作命令の割当処理を、ディスプレイに表示されるＧＵＩと共に説明する平面図である
【発明を実施するための形態】
【００１３】
（情報処理装置の実施形態）
＜１＞
本実施形態の情報処理装置は、ユーザの動きの状況を示す動き情報、及び、前記ユーザの動きと並行して又は相前後して入力機器を用いて前記ユーザによって行われる入力の状況を示す入力情報を取得する取得手段と、前記入力情報及び前記動き情報に基づいて、前記動き情報に対して、前記ユーザの要望を示す要望情報を割り当てる割当手段とを備える。
【００１４】
本実施形態の情報処理装置によれば、取得手段は、入力情報及び動き情報の双方を取得する。このとき、取得手段は、入力機器を用いた入力を直接的に受け付けることで、入力情報を直接的に取得してもよい。或いは、取得手段は、入力機器を用いた直接的に受け付ける他の手段から入力情報を取得することで、入力情報を間接的に取得してもよい。同様に、取得手段は、ユーザの動きを直接的に検出することで、動き情報を直接的に取得してもよい。或いは、取得手段は、ユーザの動きを直接的に検出する他の手段から動き情報を取得することで、動き情報を間接的に取得してもよい。
【００１５】
動き情報は、ユーザの動きの状況（言い換えれば、動きの状態、態様又は様子）を示している。言い換えれば、動き情報は、ユーザの動きの状況を直接的に又は間接的に示すことが可能な情報である。ここで言う「ユーザの動き」とは、ユーザの体の全体又は一部の、ユーザの意思に起因した動きを意味する。このような「ユーザの動き」の一例として、例えば、ユーザの手の動きや、ユーザの指の動きや、ユーザの頭の動きや、ユーザの目の動き等が一例としてあげられる。
【００１６】
入力情報は、入力機器を用いてユーザによって行われる入力の状況（言い換えれば、入力の状態、態様若しくは様子、又は、結果）を示している。言い換えれば、入力情報は、入力機器を用いた入力の状況を直接的に又は間接的に示すことが可能な情報である。尚、入力機器を用いてユーザによって行われる入力とは、例えば、ユーザが入力機器を操作することで行われる、情報処理装置に又はその他の情報機器に対する何らかの情報又は指示の入力である。特に、入力情報は、動き情報が示すユーザの動きと並行して又は相前後して行われる入力の状況を示している。尚、「入力機器」は、情報処理装置に対する所望情報の入力を行うためにユーザが操作する機器である。このような入力機器の一例として、例えば、キーボードや、マウスや、タッチパッドや、タッチパネルや、スタイラスペン等が一例としてあげられる。
【００１７】
割当手段は、取得手段が取得した入力情報及び動き情報の双方に基づいて、動き情報に対して要望情報を割り当てる。つまり、割当手段は、入力情報を考慮することなく（或いは、動き情報に基づく一方で入力情報に基づくことなく）動き情報に対して要望情報を割り当てることに代えて、入力情報をも考慮した上で（或いは、動き情報及び入力情報の双方に基づいて）、動き情報に対して要望情報を割り当てる。
【００１８】
要望情報は、ユーザの要望を示している。言い換えれば、要望情報は、ユーザが要望している何らかの情報を直接的に又は間接的に示すことが可能な情報である。このような要望情報として、ユーザが要望する操作命令（例えば、コンピュータに対する操作命令）を示す情報が一例としてあげられる。本実施形態では更に、要望情報は、動き情報に対して割り当てられる情報である。尚、動き情報は、上述したように、ユーザの意思に起因して行われるユーザの動きの状況を示している。従って、ユーザがユーザ自身の要望をユーザの動きによって表現することができるがゆえに、割当手段は、動き情報に対して、ユーザの要望を示す要望情報を好適に割り当てることができる。
【００１９】
このように、本実施形態の情報処理装置は、入力情報及び動き情報の双方に基づいて、動き情報に対して要望情報を割り当てることができる。このため、例えば、本実施形態の情報処理装置は、入力機器を用いた入力の状況の違いを考慮した上で、同一のユーザの動きに対しては同一の又は異なる要望情報を割り当てることができる。従って、本実施形態の情報処理装置は、ユーザの動きと共に入力機器を用いた入力が行われる場合においても、ユーザの動きに対してユーザが要望する要望情報を好適に割り当てることができる。
【００２０】
＜２＞
本実施形態の情報処理装置の他の態様では、前記割当手段は、前記入力情報に基づいて、前記動き情報に対する前記要望情報の割当方法を変える。
【００２１】
この態様によれば、情報処理装置は、例えば、入力機器を用いた入力の状況の違いを考慮した上で、同一のユーザの動きに対して同一の又は異なる要望情報を割り当てることができる。例えば、情報処理装置は、入力機器を用いた入力の状況が異なる場合には、同一のユーザの動きに対して異なる要望情報を割り当てることができる。
【００２２】
＜３＞
上述の如く動き情報に対する要望情報の割当方法を入力情報に応じて変える情報処理装置の他の態様では、前記入力情報は、前記入力機器を用いた入力が行われている入力時間を示しており、前記割当手段は、前記入力情報が示す前記入力時間と前記入力機器を用いた入力と並行して又は相前後して前記ユーザが動いている時間との間の時間的関係に基づいて、前記動き情報に対する前記要望情報の割当方法を変える。
【００２３】
この態様によれば、情報処理装置は、例えば、所望情報が入力されている入力時間と入力機器を用いた入力と並行して又は相前後してユーザが動いている時間との間の時間的関係を考慮した上で、同一のユーザの動きに対して同一の又は異なる要望情報を割り当てることができる。例えば、情報処理装置は、入力時間とユーザが動いている時間との間の時間的関係が異なる場合には、同一のユーザの動きに対して異なる要望情報を割り当てることができる。
【００２４】
＜４＞
上述の如く動き情報に対する要望情報の割当方法を入力情報に応じて変える情報処理装置の他の態様では、前記入力情報は、前記入力機器を用いた入力によって入力される所望情報の入力対象先を示しており、前記割当手段は、前記入力情報が示す前記入力対象先に基づいて、前記動き情報に対する前記要望情報の割当方法を変える。
【００２５】
この態様によれば、情報処理装置は、例えば、所望情報の入力対象先を考慮した上で、同一のユーザの動きに対して同一の又は異なる要望情報を割り当てることができる。例えば、情報処理装置は、所望情報の入力対象先が異なる場合には、同一のユーザの動きに対して異なる要望情報を割り当てることができる。
【００２６】
＜５＞
上述の如く動き情報に対する要望情報の割当方法を入力情報に応じて変える情報処理装置の他の態様では、前記入力情報は、前記入力機器を用いた入力によって入力される所望情報の内容を示しており、前記割当手段は、前記入力情報が示す前記内容に基づいて、前記動き情報に対する前記要望情報の割当方法を変える。
【００２７】
この態様によれば、情報処理装置は、例えば、所望情報の内容を考慮した上で、同一のユーザの動きに対して同一の又は異なる要望情報を割り当てることができる。例えば、情報処理装置は、所望情報の内容が異なる場合には、同一のユーザの動きに対して異なる要望情報を割り当てることができる。
【００２８】
＜６＞
本実施形態の情報処理装置の他の態様では、前記入力情報は、前記入力機器を用いた入力が行われている入力時間を示しており、前記割当手段は、前記入力情報が示す前記入力時間と前記入力機器を用いた入力と並行して又は相前後して前記ユーザが動いている時間との間の時間的関係に基づいて、前記動き情報に対して前記要望情報を割り当てる。
【００２９】
この態様によれば、情報処理装置は、例えば、動き情報に対して、入力時間とユーザが動いている時間との間の時間的関係を考慮した好適な要望情報を割り当てることができる。
【００３０】
＜７＞
本実施形態の情報処理装置の他の態様では、前記入力情報は、前記入力機器を用いた入力によって入力される所望情報の入力対象先を示しており、前記割当手段は、前記入力情報が示す前記入力対象先に基づいて、前記動き情報に対して前記要望情報を割り当てる。
【００３１】
この態様によれば、情報処理装置は、例えば、動き情報に対して、所望情報の入力対象先を考慮した好適な要望情報を割り当てることができる。
【００３２】
＜８＞
本実施形態の情報処理装置の他の態様では、前記入力情報は、前記入力機器を用いた入力によって入力される所望情報の内容を示しており、前記割当手段は、前記入力情報が示す前記内容に基づいて、前記動き情報に対して前記要望情報を割り当てる。
【００３３】
この態様によれば、情報処理装置は、例えば、動き情報に対して、所望情報の内容を考慮した好適な要望情報を割り当てることができる。
【００３４】
（情報処理方法の実施形態）
＜９＞
本実施形態の情報処理方法は、ユーザの動きの状況を示す動き情報、及び、前記ユーザの動きと並行して又は相前後して入力機器を用いて前記ユーザによって行われる入力の状況を示す入力情報を取得する取得工程と、前記入力情報及び前記動き情報に基づいて、前記動き情報に対して、前記ユーザの要望を示す要望情報を割り当てる割当工程とを備える。
【００３５】
本実施形態の情報処理方法によれば、上述した本実施形態の情報処理装置が享受する各種効果と同様の効果を享受することができる。尚、上述した本実施形態の情報処理装置が採用し得る各種態様に対応して、本実施形態の情報処理方法もまた各種態様を採用することができる。
【００３６】
（コンピュータプログラムの実施形態）
＜１０＞
本実施形態のコンピュータプログラムは、上述した本実施形態の情報処理方法をコンピュータに実行させる。
【００３７】
本実施形態のコンピュータプログラムによれば、上述した本実施形態の情報処理装置が享受する各種効果と同様の効果を享受することができる。尚、上述した本実施形態の情報処理装置が採用し得る各種態様に対応して、本実施形態のコンピュータプログラムもまた各種態様を採用することができる。
【００３８】
本実施形態のこのような作用及び他の利得は次に説明する実施例から明らかにされる。
【００３９】
以上説明したように、本実施形態の情報処理装置は、取得手段と割当手段とを備えている。本実施形態の情報処理方法は、取得工程と割当工程とを備えている。本実施形態のコンピュータプログラムは、本実施形態の情報処理方法をコンピュータに実行させる。従って、ユーザの動きと共に入力機器を用いた所望情報の入力が行われる場合においても、ユーザの動きに対してユーザが要望する要望情報を好適に割り当てることができる。
【実施例】
【００４０】
以下、本発明の情報処理装置及び方法並びにコンピュータプログラムの実施例を、図面を参照して説明する。尚、以下では、本発明の情報処理装置及び方法並びにコンピュータプログラムをコンピュータシステムに適用した例を用いて説明を進める。
【００４１】
（１）コンピュータシステムの構成
初めに、図１を参照しながら、本実施例のコンピュータシステム１の構成について説明する。図１は、本実施例のコンピュータシステム１の外観を示す斜視図及び本実施例のコンピュータシステム１の構成を示すブロック図である。
【００４２】
図１（ａ）に示すように、本実施例のコンピュータシステム１は、ノートパソコンの如き外形を有するパソコンである。但し、本実施例のコンピュータシステム１は、ノートパソコンの如き外形を有するパソコンに限らず、後述する構成を有すると共に後述する動作を実行可能な任意の機器であってもよい。
【００４３】
図１（ａ）及び図１（ｂ）に示すように、コンピュータシステム１は、ディスプレイ１１と、「入力機器」の一具体例であるキーボード１２と、「入力機器」の一具体例であるタッチパッド１３と、ステレオカメラ１４と、「情報処理装置」の一具体例であるＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ：システム部）１５と、メモリ１６とを備えている。尚、ディスプレイ１１と、キーボード１２と、タッチパッド１３と、ステレオカメラ１４と、ＣＰＵ１５とは、メモリ１６とは、データバス１７を介して相互に接続されている。
【００４４】
ディスプレイ１１は、任意の表示対象物を表示可能な表示装置である。本実施例では、ディスプレイ１１は、例えば、後述するアプリケーション１５０が実行されることでＣＰＵ１５上に論理的に実現されるＧＵＩ（Ｇｒａｐｈｉｃ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）管理部１５２の制御の下で、所望のＧＵＩ（ＧＵＩコントロール）を表示する。
【００４５】
キーボード１２及びタッチパッド１３の夫々は、ユーザの入力を受け付けるための入力機器である。尚、コンピュータシステム１は、キーボード１２及びタッチパッド１３に加えて又は代えて、ユーザの入力を受け付けるためのその他の入力機器（例えば、マウスやタッチパネルやスタイラスペン等）を備えていてもよい。
【００４６】
ステレオカメラ１４は、ディスプレイ１１、キーボード１２及びタッチパッド１３の周辺の空間に位置するユーザの手を撮影するための撮像機器である。従って、ステレオカメラ１４は、ディスプレイ１１、キーボード１２及びタッチパッド１３の周辺の空間に位置するユーザの手及び指の少なくとも一方（以降、説明の便宜上、特段の説明がない場合には、“ユーザの手及び指”は、ユーザの手及び指の少なくとも一方を意味するものとする）を撮影することが可能な位置に配置される。尚、コンピュータシステム１は、ステレオカメラ１４に加えて又は代えて、キーボード１２及びタッチパッド１３の周辺の空間に位置するユーザの手及び指（或いは、手及び指の動き）を検出することが可能な任意の機器（例えば、センサ等）を備えていてもよい。
【００４７】
ＣＰＵ１５は、コンピュータシステム１の動作を制御する制御装置である。
【００４８】
本実施例では、ＣＰＵ１５上では、不図示のオペレーティングシステムが実行される。オペレーティングシステムは、キーボード１２や、タッチパッド１３や、ステレオカメラ１４からＣＰＵ１５に対して出力される各種情報を取得すると共に、当該取得した各種情報を後述するアプリケーション１５０に対して出力してもよい。更に、オペレーティングシステムは、後述するアプリケーション１５０から出力される表示出力命令を取得すると共に、当該取得した表示出力命令をディスプレイ１１に対して出力してもよい。
【００４９】
本実施例では更に、ＣＰＵ１５上では、所望のアプリケーション１５０が実行される。尚、ＣＰＵ１５上では、単一のアプリケーション１５０が実行されてもよいし、複数のアプリケーション１５０が同時に実行されてもよい。
【００５０】
ＣＰＵ１５上で実行される各アプリケーション１５０（或いは、少なくとも一つのアプリケーション１５０）は、ＣＰＵ１５上で実現される論理的な処理ブロックとして、「取得手段」の一具体例であるＧＵＩ管理部１５１と、ジェスチャ操作部１５２を備えている。但し、アプリケーション１５０がジェスチャ操作部１５２を備えることに加えて又は代えて、アプリケーション１５０とは別個のアプリケーションがジェスチャ操作部１５２を備えていてもよい。アプリケーション１５０とは別個のアプリケーションがジェスチャ操作部１５２を備えている場合、個々のアプリケーション１５０がジェスチャ操作部１５２を個別に備えていなくてもよい（つまり、単一のジェスチャ操作部１５２が複数のアプリケーション１５０に対応することができる）。
【００５１】
ＧＵＩ管理部１５１は、ディスプレイ１１上に表示されるＧＵＩであって且つＧＵＩ管理部１５１を備えているアプリケーション１５０によって使用されるＧＵＩを管理する。
【００５２】
例えば、ＧＵＩ管理部１５１は、ディスプレイ１１上に表示されたＧＵＩコントロール（例えば、ＧＵＩとして表示されている表示オブジェクト）を対象としてキーボード１２を用いて行われるユーザのキー入力の状況を示すキー入力情報を、オペレーティングシステムを介して取得してもよい。キー入力情報の一例として、例えば、ユーザのキー入力が行われている時間を示す情報や、ユーザのキー入力が行われているＧＵＩコントロールを示す情報や、ユーザのキー入力による入力内容を示す情報等が例示される。尚、ＧＵＩ管理部１５１は、キー入力情報に加えて又は代えて、タッチパッド１３を用いて行われるユーザのタッチ入力の状況を示すタッチ入力情報（或いは、その他の入力機器を用いて行われるユーザの入力の状況を示す入力情報）を取得してもよい。以下では、説明の簡略化のために、ＧＵＩ管理部１５１がキー入力情報を取得するものとして説明を進める。
【００５３】
或いは、例えば、ＧＵＩ管理部１５１は、アプリケーション１５０のウインドウ中でのＧＵＩコントロールの配置態様を決定すると共に、ＧＵＩコントロールを表示するための表示出力命令を、オペレーティングシステムを介してディスプレイ１１に対して出力してもよい。尚、ＧＵＩコントロールの配置態様の一例として、例えば、ＧＵＩコントロールの種類や、ＧＵＩコントロールのサイズや、ＧＵＩコントロールの形状や、ＧＵＩコントロールの配置位置や、ＧＵＩコントロール内の表示内容等が例示される。このとき、ＧＵＩ管理部１５１は、キー入力情報に応じて、ＧＵＩコントロールの配置態様を決定してもよい。或いは、ＧＵＩ管理部１５１は、後述するジェスチャ操作部１５２によるジェスチャ解釈処理によってユーザのジェスチャに対して割り当てられた操作命令に応じて、ＧＵＩコントロールの配置態様を決定してもよい。
【００５４】
更に、ＧＵＩ管理部１５１は、当該ＧＵＩ管理部１５１自身が管理しているＧＵＩに関する情報を、ジェスチャ操作部１５２（より具体的には、ジェスチャ操作部１５２が備える後述のジェスチャ解釈部１５２４）に対して通知する。尚、当該ＧＵＩ管理部１５１自身が管理しているＧＵＩに関する情報として、例えば、ＧＵＩコントロールの配置態様を示す情報や、複数のＧＵＩコントロールの間の関係性や、ＧＵＩコントロールに対するユーザのキー入力の状況を示すキー入力情報等が例示される。
【００５５】
ジェスチャ操作部１５２は、ステレオカメラ１４が撮影したユーザの手及び指の画像を解析することで、ユーザの手及び指の動き（以降、ユーザの手及び指の動きを、“ユーザのジェスチャ”と称する）を検出する。ジェスチャ操作部１５２は、当該検出したユーザのジェスチャに対して、所望の操作命令を割り当てる。ジェスチャ操作部１５１は、割り当てた操作命令をＧＵＩ管理部１５１に通知する。その結果、ＧＵＩ管理部１５１は、このようなジェスチャ操作部１５２によるジェスチャ解釈処理によってユーザのジェスチャに割り当てられた操作命令に応じて、ＧＵＩコントロールの配置態様を決定することができる。
【００５６】
ジェスチャ解釈処理を行うために、ジェスチャ操作部１５２は、初期設定部１５２１と、「取得手段」の一具体例である手指検出部１５２２と、「取得手段」の一具体例である手指姿勢解釈部１５２３と、「割当手段」の一具体例であるジェスチャ解釈部１５２４とを備えている。初期設定部１５２１は、操作命令の割当処理に関する初期設定処理を実行する。手指検出部１５２２は、ステレオカメラ１４が撮影したユーザの手及び指の画像を解析することで、ユーザの手及び指を検出する。手指姿勢解釈部１５２３は、手指検出部１５２２が検出したユーザの手及び指の姿勢（例えば、手及び指の位置や向き等）を解釈（言い換えれば、解析）することで、ユーザの手及び指の動き（つまり、ユーザのジェスチャ）を検出する。ジェスチャ解釈部１５２４は、手指姿勢解釈部１５２３によって検出されたユーザの手及び指の動き（つまり、ユーザのジェスチャ）を解析することで、当該ユーザのジェスチャに対して、当該ジェスチャに対応する所望の操作命令を割り当てる。
【００５７】
本実施例では特に、ジェスチャ解釈部１５２４は、ユーザのジェスチャに対して所望の操作命令を割り当てる際に、ＧＵＩ管理部１５１が取得したキー入力情報に基づいて、ユーザのジェスチャに対する操作命令の割当方法を変える。例えば、ＧＵＩ管理部１５１が第１のキー入力情報を取得している場合には、ジェスチャ解釈部１５２４は、第１の態様で行われるユーザのジェスチャに対して、第１の操作命令を割り当ててもよい。一方で、ＧＵＩ管理部１５１が第１のキー入力情報とは異なる第２のキー入力情報を取得している場合には、ジェスチャ解釈部１５２４は、第１の態様で行われるユーザのジェスチャに対して、第１の操作命令とは異なる第２の操作命令を割り当ててもよい。
【００５８】
メモリ１６は、上述したオペレーティングシステムやアプリケーション１５０を格納する。メモリ１６は、更に、ＣＰＵ１５の動作中に必要な各種情報を一時的に格納する。
【００５９】
（２）ジェスチャ解釈処理の流れ
続いて、図２から図１１を参照しながら、主としてジェスチャ操作部１５２によって行われるジェスチャ解釈処理の流れについて説明する。
【００６０】
（２−１）ジェスチャ解釈処理の全体の流れ
初めに、図２を参照しながら、主としてジェスチャ操作部１５２によって行われるジェスチャ解釈処理の全体の流れについて説明する。図２は、主としてジェスチャ操作部１５２によって行われるジェスチャ解釈処理の全体の流れを示すフローチャートである。
【００６１】
図２に示すように、ジェスチャ操作部１５２が起動すると、まずは、初期設定部１５２１が、初期設定処理を実行する（ステップＳ１）。尚、初期設定処理については、図３を参照しながら後に詳述する。
【００６２】
その後、手指検出部１５２２は、ステレオカメラ１４が撮影したユーザの手及び指の画像を解析することで、ユーザの手及び指を検出する（ステップＳ２）。尚、ユーザの手及び指の検出処理については、図４を参照しながら後に詳述する。
【００６３】
その後、手指姿勢解釈部１５２３は、手指検出部１５２２が検出したユーザの手及び指の姿勢を解釈する（ステップＳ３）。その結果、手指姿勢解釈部１５２３は、ユーザの手及び指の動き（つまり、ユーザのジェスチャ）を検出する。尚、ユーザの手及び指の姿勢の解釈処理については、図５を参照しながら後に詳述する。
【００６４】
その後、ジェスチャ解釈部１５２４は、手指姿勢解釈部１５２３によって解釈されたユーザの手及び指の動き（つまり、ユーザのジェスチャ）に対して、当該ジェスチャに対応する所望の操作命令を割り当てる（ステップＳ４）。例えば、ジェスチャ解釈部１５２４は、検出したジェスチャに対して、どのＧＵＩコントロールを対象にどのような処理を行うかということを示す所望の操作命令を割り当てる。尚、ユーザのジェスチャに対する操作命令の割当処理については、図６及び図７を参照しながら後に詳述する。
【００６５】
その後、ＧＵＩ管理部１５１は、ステップＳ４で割り当てられた操作命令に応じてＧＵＩコントロールの配置態様（例えば、ＧＵＩコントロールの表示内容等）を決定する（ステップＳ５）。このとき、ＧＵＩ管理部１５１は、割り当てられた操作命令に対応する操作をユーザが行う際のガイドとなり得るＧＵＩコントロールの配置態様を合わせて決定してもよい。その後、ＧＵＩ管理部１５１は、ＧＵＩコントロールを表示するための表示出力命令をディスプレイ１１に対して出力する（ステップＳ５）。その結果、ディスプレイ１１には、ステップＳ４で割り当てられた操作命令に応じたＧＵＩコントロールや割り当てられた操作命令に対応する操作をユーザが行う際のガイドとなり得るＧＵＩコントロールが表示される。
【００６６】
以上説明したステップＳ１からステップＳ５までの動作が、コンピュータシステム１が動作を停止するまで繰り返し行われる。
【００６７】
（２−２）初期設定処理
続いて、図３を参照しながら、図２のステップＳ１における初期設定処理について説明する。図３は、ステレオカメラ１４が撮影した画像と共に、初期設定処理の内容を説明する平面図である。
【００６８】
初期設定部１５２１は、ステレオカメラ１４に対するディスプレイ１１及びキーボード１２の位置関係を検出する処理を、初期設定処理として行う。尚、説明の簡略化のために説明を省略するが、初期設定部１５２１は、ステレオカメラ１４に対するタッチパッド１３の位置関係を検出する処理を、初期設定処理として行ってもよい。
【００６９】
まずは、ステレオカメラ１４に対するキーボード１２の位置関係を検出する処理について説明する。この場合、初期設定部１５２１は、ステレオカメラ１４が撮影した画像を取得する。具体的には、初期設定部１５２１は、ステレオカメラ１４が備える２つの撮像素子のうちの一方が撮影した第１画像（図３（ａ）参照）及びステレオカメラ１４が備える２つの撮像素子のうちの他方が撮影した第２画像（図３（ｂ）参照）を取得する。その後、初期設定部１５２１は、取得した第１画像及び第２画像の夫々のうちキーボード１２が占める領域を検出する。例えば、キーボード１２の外形が概ね四角形（或いは、矩形）の形状となることが多いことを考慮して、初期設定部１５２１は、第１画像及び第２画像の夫々のエッジを検出すると共に、検出されたエッジのうち四角形のエッジが占める領域を、キーボード１２が占める領域として検出してもよい。具体的には、図３（ａ）に示す第１画像からは、矩形のエッジ１２ａが検出される。従って、初期設定部１５２１は、矩形のエッジ１２ａが占める領域（つまり、エッジ１２ａによって囲まれる領域）を、キーボード１２が占める領域として検出してもよい。図３（ｂ）に示す第２画像についても同様である。或いは、コンピュータシステム１におけるキーボード１２の配置位置を初期設定部１５２１が予め認識している場合には、初期設定部１５２１は、予め認識しているキーボード１２の配置位置に基づいて、キーボード１２が占める領域を検出してもよい。
【００７０】
その後、初期設定部１５２１は、キーボード１２が占める領域を、ユーザのジェスチャを検出するための領域として設定する。この場合、キーボード１２が占める領域内におけるユーザの手及び指の動きは、ジェスチャ操作部１５２によってジェスチャとして取り扱われる一方で、キーボード１２が占める領域外におけるユーザの手及び指の動きは、ジェスチャ操作部１５２によってジェスチャとして取り扱われなくてもよい。但し、キーボード１２が占める領域外におけるユーザの手及び指の動きもまた、ジェスチャ操作部１５２によってジェスチャとして取り扱われてもよい。
【００７１】
更に、キーボード１２が占める領域が検出されることで、ジェスチャ操作部１５２は、キーボード１２の四隅のステレオカメラ１４からの距離を算出することができる。その結果、ジェスチャ操作部１５２は、キーボード１２上の各位置（各点）のステレオカメラ１４からの距離を算出することができる。このようなキーボード１２上の各位置（各点）のステレオカメラ１４からの距離は、ユーザの手及び指のステレオカメラ１４からの距離と共に、キーボード１２の表面から浮いている指先が存在するか否かを検出する際に活用されてもよい。
【００７２】
続いて、ステレオカメラ１４に対するディスプレイ１１の位置関係を検出する処理について説明する。この場合も、初期設定部１５２１は、ステレオカメラ１４が撮影した第１画像及び第２画像を取得する。その後、初期設定部１５２１は、取得した第１画像及び第２画像の夫々のうちディスプレイ１１が占める領域を検出する。例えば、図３（ａ）及び図３（ｂ）に夫々示す第１及び第２画像には、ディスプレイ１１の下縁が含まれる。従って、初期設定部１５２１は、第１画像及び第２画像の夫々のエッジを検出すると共に、検出されたエッジのうち直線状のエッジや直線状のエッジの交差点よりもキーボード１２から離れる側における領域を、ディスプレイ１１が占める領域として検出してもよい。具体的には、図３（ａ）に示す第１画像からは、直線状のエッジ１１ａが検出される。従って、初期設定部１５２１は、エッジ１１ａよりもキーボード１２から遠い方に位置する領域を、ディスプレイ１１が占める領域として検出してもよい。図３（ｂ）に示す第２画像についても同様である。或いは、コンピュータシステム１におけるディスプレイ１１の配置位置を初期設定部１５２１が予め認識している場合には、初期設定部１５２１は、予め認識しているディスプレイ１１の配置位置に基づいて、ディスプレイ１１が占める領域を検出してもよい。
【００７３】
ディスプレイ１１が占める領域が検出されることで、ジェスチャ操作部１５２は、ディスプレイ１１が占める領域とキーボード１２が占める領域との位置関係を認識することができる。その結果、ジェスチャ操作部１５２は、キーボード１２が占める領域内でユーザの手又は指が示している位置を、ディスプレイ１１が占める領域の横方向（図３中の横方向であり、水平方向）の位置に対応付けて認識することができる。つまり、ジェスチャ操作部１５２は、キーボード１２が占める領域内でユーザの手又は指がディスプレイ１１を指している場合には、横方向において、ディスプレイ１１が占める領域内でユーザの手又は指が指している位置を認識することができる。
【００７４】
尚、初期設定処理が行われる回数を減らすという観点から見れば、ディスプレイ１１、キーボード１２及びタッチパッド１３の位置は固定されていることが好ましい。但し、ディスプレイ１１、キーボード１２及びタッチパッド１３の位置は固定されていなくてもよい。この場合、ディスプレイ１１、キーボード１２及びタッチパッド１３の位置関係が変わる都度、初期設定処理が行われることが好ましい。
【００７５】
また、初期設定部１５２１は、コンピュータシステム１の状態を、初期値として「非ジェスチャ待機状態」に設定する処理を、初期設定処理として行う。
【００７６】
（２−３）ユーザの手及び指の検出処理
続いて、図４を参照しながら、図２のステップＳ２におけるユーザの手及び指の検出処理について説明する。図４は、ステレオカメラ１４が撮影した画像と共に、ユーザの手及び指の検出処理の内容を説明する平面図である。
【００７７】
手指検出部１５２２は、ステレオカメラ１４が撮影した第１画像及び第２画像を取得する。その後、手指検出部１５２２は、第１画像及び第２画像の夫々に対して、ノイズ除去処理を行う。例えば、手指検出部１５２２は、ローパスフィルタに第１画像及び第２画像の夫々を示す画像信号を通過させることで、ノイズ除去処理を行ってもよい。
【００７８】
その後、手指検出部１５２２は、第１画像及び第２画像の夫々に対して、肌色領域を抽出するための肌色領域抽出処理を行う。肌色領域抽出処理の結果、図４（ａ）及び図４（ｂ）に示すように、第１画像及び第２画像の夫々は、肌色領域と非肌色領域（つまり、肌色領域以外の領域）とを区別可能な２値化画像に変換される。
【００７９】
その後、手指検出部１５２２は、２値化画像を解析することで、肌色領域の突起点を検出する。例えば、手指検出部１５２２は、２値化画像のエッジを追跡すると共に、局所的な曲率が極大となる点を突起点として検出してもよい（図４（ａ）及び図４（ｂ）中の丸印参照）。検出された突起点は、ユーザの指先として取り扱われる。加えて、手指検出部１５２２は、ユーザの指の向きを検出する。例えば、手指検出部１５２２は、検出された突起点（つまり、ユーザの指先）の前後のエッジの向きに基づいて、ユーザの指の向きを検出してもよい。
【００８０】
その後、手指検出部１５２２は、ユーザの手及び指に相当する肌色領域の塊と、検出された指先とを対応付ける。このとき、手指検出部１５２２は、肌色領域の塊が複数存在する場合（例えば、右手に相当する塊と左手に相当する塊とが存在する場合）には、各指先をいずれかの塊に対応付ける。
【００８１】
その後、手指検出部１５２２は、第１画像から検出された指先と、第２画像から検出された指先とを対応付ける。例えば、指先は、キーボード１２上で横方向に並ぶ可能性が相対的に高い。従って、手指検出部１５２２は、第１画像から検出された各指先に対して、横方向に沿って並ぶ順に固有の番号（図４（ａ）では、番号１から番号１０）を割り振る。手指検出部１５２２は、第２画像から検出された各指先の対しても同様に、横方向に沿って並ぶ順に固有の番号（図４（ｂ）では、番号１１から番号２０）を割り振る。その後、手指検出部１５２２は、指先が並ぶ順に、第１画像から検出された各指先と第２画像から検出された各指先とを対応付ける。例えば、図４（ａ）及び図４（ｂ）に示す例では、第１画像の指先ｋ（但し、ｋは、１≦ｋ≦１０を満たす整数）と第２画像の指先ｋ＋１０とが対応付けられる。
【００８２】
（２−４）ユーザの手及び指の姿勢の解釈処理
続いて、図５を参照しながら、図２のステップＳ３におけるユーザの手及び指の姿勢の解釈処理について説明する。図５は、ステレオカメラ１４が撮影した画像と共に、ユーザの手及び指の姿勢の解釈処理の内容を説明する平面図である。
【００８３】
手指姿勢解釈部１５２３は、手指検出部１５２２の検出結果に基づいて、キーボード１２の表面から浮いている指先が存在するか否かを検出する。例えば、キーボード１２とステレオカメラ１４との間の距離は、初期設定処理によって判明している。また、手指検出部１５２２の検出結果に基づいて、ユーザの手及び指とステレオカメラ１４との間の距離が判明する。従って、手指姿勢解釈部１５２３は、キーボード１２とステレオカメラ１４との間の距離及びユーザの手及び指とステレオカメラ１４との間の距離に基づいて、公知の方法を用いて、ユーザの指先のキーボード１２からの距離（つまり、高さ）を算出することができる。この場合、手指姿勢解釈部１５２３は、例えば、キーボード１２からの距離が所定距離（例えば、３ｃｍ）以上となる指先を、キーボード１２の表面から浮いている指先として検出してもよい。
【００８４】
キーボード１２の表面から浮いている指先が存在する場合には、手指姿勢解釈部１５２３は、当該浮いている指先が指している位置（具体的には、ディスプレイ１１の表示画面上の位置）を算出する。
【００８５】
まず、浮いている指先が指している位置であって且つディスプレイ１１の横方向に沿った位置の算出方法について説明する。手指姿勢解釈部１５２３は、手指検出部１５２２によって検出されたユーザの指の向き（つまり、浮いている指先を含む指の向き）と、初期設定処理によって検出されたディスプレイ１１の下縁との間の関係から、比較的容易に、浮いている指先が指している位置（ディスプレイ１１の横方向の位置）を算出することができる。例えば、図５に示すように、浮いている指先から指の向きに沿って仮想的な直線を引くと共に当該仮想的な直線とディスプレイ１１の下縁との交点の位置が、浮いている指先が指している位置（ディスプレイ１１の横方向の位置）に相当する。従って、手指姿勢解釈部１５２３は、当該交点の位置とディスプレイ１１の下縁の両端部の位置との関係から、浮いている指先が指している位置（ディスプレイ１１の横方向の位置）を算出することができる。例えば、図５に示す例では、ディスプレイ１１の下縁の一方の端部の座標を０とし且つディスプレイ１１の下縁の他方の端部の座標を６４０とした場合において、浮いている指先が指している位置（ディスプレイ１１の横方向の位置）の座標が３００となっている。
【００８６】
尚、浮いている指先が指している位置であって且つディスプレイ１１の横方向に沿った位置を算出する際には、手指姿勢解釈部１５２３は、第１画像及び第２画像のいずれか一方に対して上述した処理を行えば足りる。但し、手指姿勢解釈部１５２３は、第１画像及び第２画像の双方に対して上述した処理を行ってもよい。
【００８７】
続いて、浮いている指先が指している位置であって且つディスプレイ１１の縦方向（つまり、垂直方向）に沿った位置の算出方法について説明する。手指姿勢解釈部１５２３は、指先のキーボード１２からの距離を、浮いている指先が指している位置（ディスプレイ１１の縦方向の位置）に対応付ける。例えば、手指姿勢解釈部１５２３は、指先のキーボード１２からの距離がＡである場合には、浮いている指先が指している位置（ディスプレイ１１の縦方向の位置）がｆ（Ａ）であるものとして取り扱ってもよい。具体的には、例えば、手指姿勢解釈部１５２３は、指先のキーボード１２からの距離が２ｃｍである場合には、浮いている指先が指している位置（ディスプレイ１１の縦方向の位置）の座標が４８０であるものとして取り扱ってもよい。例えば、手指姿勢解釈部１５２３は、指先のキーボード１２からの距離が５ｃｍである場合には、浮いている指先が指している位置（ディスプレイ１１の縦方向の位置）の座標が０であるものとして取り扱ってもよい。この場合、手指姿勢解釈部１５２３は、指先のキーボード１２からの距離が２ｃｍより大きく且つ５ｃｍよりも小さいＢである場合には、浮いている指先が指している位置（ディスプレイ１１の縦方向の位置）の座標は、０より大きく且つ４８０よりも小さいＢに対応する座標であるものとして取り扱ってもよい。
【００８８】
その後、手指姿勢解釈部１５２３は、ある時点で指先が指している位置と直近の過去の時点で指先が指している位置と比較することで、指の動きを検出する。その結果、手指姿勢解釈部１５２３は、ユーザの手及び指の動き（つまり、ユーザのジェスチャ）を検出することができる。例えば、手指姿勢解釈部１５２３は、ある時点で指先が指している位置が直近の過去の時点で指先が指している位置と比較して横方向に移動している場合には、ユーザが指を横方向に沿って動かしていると解釈してもよい。例えば、手指姿勢解釈部１５２３は、ある時点で指先が指している位置が直近の過去の時点で指先が指している位置と比較して縦方向に移動している場合には、ユーザが指を縦方向に沿って動かしていると解釈してもよい。
【００８９】
また、以下では、説明の簡略化のために、浮いている指先が１つだけ存在する例を用いて説明を進める。しかしながら、浮いている指先が２つ以上存在する場合においても、浮いている指先が１つだけ存在する場合と同様の態様で操作命令の割当処理が行われてもよい。
【００９０】
（２−５）ジェスチャに対する操作命令の割当処理
続いて、図６を参照しながら、図２のステップＳ４におけるユーザのジェスチャに対する操作命令の割当処理について説明する。図６は、図２のステップＳ４におけるユーザのジェスチャに対する操作命令の割当処理の流れを示すフローチャートである。
【００９１】
図６に示すように、ジェスチャ解釈部１５２４は、ユーザによるキーボード１２を用いて一連のキー入力が終了したか否かを判定する（ステップＳ４１）。ここで言う「一連のキー入力」とは、何かしらの関係性（例えば、時間的な又は意味的な関係性）を有するキー入力を意味する。例えば、ウェブブラウザ上の１つの入力フォームに対する情報（例えば、文字）の入力が、「一連のキー入力」であってもよい。例えば、表計算ソフトの１つのセルに対する情報（例えば、数値）の入力が、「一連のキー入力」であってもよい。例えば、現在の入力位置を示すカーソルを移動させるためのキーの連続押下が、「一連のキー入力」であってもよい。
【００９２】
ジェスチャ解釈部１５２４は、例えば、キーの押下間隔に基づいて、一連のキー入力が終了したか否かを判定してもよい。例えば、ジェスチャ解釈部１５２４は、所定間隔以下の押下間隔でキーが断続的に又は連続的に押下されている場合には、一連のキー入力が継続中である（つまり、終了していない）と判定してもよい。例えば、ジェスチャ解釈部１５２４は、所定間隔以下の押下間隔でキーが断続的に又は連続的に押下された後にキーが押下されなくなった（或いは、キーの押下間隔が所定間隔より大きくなった）場合には、一連のキー入力が終了したと判定してもよい。
【００９３】
或いは、ジェスチャ解釈部１５２４は、例えば、キー入力の内容が変わったことを推定可能なキーが押下されたか否かに応じて、一連のキー入力が終了したか否かを判定してもよい。例えば、ジェスチャ解釈部１５２４は、キーボード１２の変換モードを切り替えるためのキー（例えば、英語モードと日本語モードとを切り替えるためのキー）が押下された場合には、一連のキー入力が終了したと判定してもよい。例えば、ジェスチャ解釈部１５２４は、入力したテキストの内容を確定させるためのキー（例えば、確定キー又はリターンキー）が押下された場合には、一連のキー入力が終了したと判定してもよい。
【００９４】
尚、ジェスチャ解釈部１５２４は、キーボード１２の入力信号を直接的に受け取ることで、ユーザによるキーボード１２を用いた一連のキー入力が終了したか否かを判定してもよい。或いは、ジェスチャ解釈部１５２４は、キーボード１２の入力信号を直接的に受け取ることに加えて又は代えて、ステレオカメラ１４が撮影した画像（或いは、キーボード１２の入力信号とは異なるその他の任意の情報）に基づいてユーザがどのようなキー入力を行っているかを解析してもよい。この場合、ジェスチャ解釈部１５２４は、ユーザがどのようなキー入力を行っているかについての解析結果を用いて、ユーザによるキーボード１２を用いた一連のキー入力が終了したか否かを判定してもよい。例えば、コンピュータシステム１の何らかの制約に起因して、ジェスチャ解釈部１５２４（或いは、アプリケーションプログラム１５０）が、キーボード１２の入力信号を直接的に受け取ることができない場合が生じかねない。この場合、ジェスチャ解釈部１５２４は、キーボード１２の入力信号を直接的に受け取ることに代えて、ステレオカメラ１４が撮影した画像に基づいてユーザがどのようなキー入力を行っているかを解析することで、ユーザによるキーボード１２を用いた一連のキー入力が終了したか否かを判定してもよい。
【００９５】
ステップＳ４１の判定の結果、一連のキー入力が終了したと判定される場合には（ステップＳ４１：Ｙｅｓ）、ジェスチャ解釈部１５２４は、一連のキー入力の状況を示すキー入力情報をメモリ１６に格納する（ステップＳ４２）。尚、キー入力情報は、例えば、上述したように、一連のキー入力が行われている時間を示す情報や、一連のキー入力が行われているＧＵＩコントロールを示す情報や、一連のキー入力による入力内容を示す情報等を含んでいる。
【００９６】
他方で、ステップＳ４１の判定の結果、一連のキー入力が終了したと判定されない場合には（ステップＳ４１：Ｎｏ）、ジェスチャ解釈部１５２４は、一連のキー入力の状況を示すキー入力情報をメモリ１６に格納しなくてもよい。
【００９７】
その後、ジェスチャ解釈部１５２４は、手指姿勢解釈部１５２３の解釈結果に基づいて、新たにジェスチャ待機動作がユーザによって開始されているか否かを判定する（ステップＳ４３）。例えば、ジェスチャ解釈部１５２４は、キーボード１２から浮いている新たな指先が存在することが検出された場合には、新たなジェスチャ待機動作がユーザによって開始されていると判定してもよい。
【００９８】
ステップＳ４３の判定の結果、新たなジェスチャ待機動作が開始されていると判定される場合には（ステップＳ４３：Ｙｅｓ）、ジェスチャ解釈部１５２４は、現在のコンピュータシステム１の状態を、「非ジェスチャ待機状態」から「ジェスチャ待機状態」に切り替える（ステップＳ４４）。この場合、ジェスチャ解釈部１５２４は、ステップＳ４２で格納されたキー入力情報に基づいて、ジェスチャを解釈する際のルールを示すジェスチャ解釈モードを決定する（ステップＳ４５）。尚、ジェスチャ解釈モードの決定処理については、後に詳述する（図７参照）。
【００９９】
他方で、ステップＳ４３の判定の結果、新たなジェスチャ待機動作が開始されていないと判定される場合には（ステップＳ４３：Ｎｏ）、ジェスチャ解釈部１５２４は、手指姿勢解釈部１５２３の解釈結果に基づいて、これまで行われていたジェスチャ待機動作が終了したか否かを判定する（ステップＳ４６）。例えば、ジェスチャ解釈部１５２４は、これまではキーボード１２から浮いていた指先が存在しなくなったことが新たに検出された場合には、これまで行われていたジェスチャ待機動作が終了したと判定してもよい。
【０１００】
ステップＳ４６の判定の結果、これまで行われていたジェスチャ待機動作が終了したと判定される場合には（ステップＳ４６：Ｙｅｓ）、ジェスチャ解釈部１５２４は、現在のコンピュータシステム１の状態を、「ジェスチャ待機状態」から「非ジェスチャ待機状態」に切り替える（ステップＳ４７）。この場合、ジェスチャ解釈部１５２４は、ジェスチャ解釈モードを決定しなくてもよい。
【０１０１】
他方で、ステップＳ４６の判定の結果、これまで行われていたジェスチャ待機動作が終了していないと判定される場合には（ステップＳ４６：Ｎｏ）、これまで行われていたジェスチャ待機動作が依然として継続しているか、非ジェスチャ待機状態が依然として継続していると想定される。ジェスチャ待機動作が継続している場合、ジェスチャ解釈部１５２４は、既に決定済みのジェスチャ解釈モードを利用すればよいため、新たにジェスチャ解釈モードを決定しなくてもよい。
【０１０２】
ここで、図７を参照しながら、図６のステップＳ４５におけるジェスチャ解釈モードの決定処理について説明する。図７は、図６のステップＳ４５におけるジェスチャ解釈モードの決定処理の流れを示すフローチャートである。
【０１０３】
図７に示すように、ジェスチャ解釈部１５２４は、直近に行われた一連のキー入力が終了してからの経過時間が所定時間（例えば、３秒）以内であるか否かを判定する（ステップＳ４５１）。つまり、ジェスチャ解釈部１５２４は、直近に行われた一連のキー入力が終了してから所定時間以内にジェスチャ待機動作が開始されたか否かを判定する。
【０１０４】
ステップＳ４５１の判定の結果、直近に行われた一連のキー入力が終了してからの経過時間が所定時間以内でないと判定される場合には（ステップＳ４５１：Ｎｏ）、今回新たに開始されたジェスチャ待機動作に関連するキー入力が存在しないと推定される。この場合、ジェスチャ解釈部１５２４は、ジェスチャ解釈モードを、「ポインティングモード」に決定する（ステップＳ４５５）。ポインティングモードとは、ジェスチャに対して、キーボード１２から浮いている指を用いてディスプレイ１１の表示画面上の所望位置を指す操作命令を、割り当てるジェスチャ解釈モードである。尚、ポインティングモードについては、後に詳述する（図１１参照）。
【０１０５】
一方で、ステップＳ４５１の判定の結果、直近に行われた一連のキー入力が終了してからの経過時間が所定時間以内であると判定される場合には（ステップＳ４５１：Ｙｅｓ）、ジェスチャ解釈部１５２４は、直近に行われた一連のキー入力が、入力フォームを含むＧＵＩコントロールに対するテキスト入力（例えば、文字入力又は数値入力）であるか否かを判定する（ステップＳ４５２）。
【０１０６】
ステップＳ４５２の判定の結果、直近に行われた一連のキー入力がテキスト入力であると判定される場合には（ステップＳ４５２：Ｙｅｓ）、ジェスチャ解釈部１５２４は、ジェスチャ解釈モードを、「ＧＵＩ操作モード」に決定する（ステップＳ４５３）。ＧＵＩ操作モードとは、ジェスチャに対して、直近に行われた一連のキー入力に関連する指示をキーボード１２から浮いている指を用いて行う操作命令を割り当てるジェスチャ解釈モードである。尚、ＧＵＩ操作モードについては、後に詳述する（図８及び図９参照）。
【０１０７】
一方で、ステップＳ４５２の判定の結果、直近に行われた一連のキー入力がテキスト入力でないと判定される場合には（ステップＳ４５２：Ｎｏ）、ジェスチャ解釈部１５２４は、ジェスチャ解釈モードを、「サーチモード」に決定する（ステップＳ４５４）。サーチモードとは、ジェスチャに対して、アプリケーション１５０が表示するドキュメントをキーボード１２から浮いている指を用いて切り替える又はドキュメント内の任意の位置をサーチする操作命令を割り当てるジェスチャ解釈モードである。尚、サーチモードについては、後に詳述する（図１０参照）。
【０１０８】
尚、ステップＳ４５４で決定されるサーチモードは、直近に行われた一連のキー入力がカーソルキーを連続して押下するキー入力である状態に対応するように設定されている。従って、直近に行われた一連のキー入力がカーソルキーを連続して押下するキー入力以外のキー入力である状態を想定して、サーチモードとは異なるジェスチャ解釈モードが設定されてもよい。
【０１０９】
また、図７に示すＧＵＩ操作モード、サーチモード及びポインティングモードは、ジェスチャ解釈モードの一例である。従って、図７に示すＧＵＩ操作モード、サーチモード及びポインティングモードとは異なる任意の解釈モードが、ジェスチャ解釈モードとして採用されてもよい。任意の解釈モードがジェスチャ解釈モードとして採用される場合であっても、キー入力情報に応じて所望のジェスチャ解釈モードが決定されることに変わりはない。
【０１１０】
再び図６において、その後、ジェスチャ解釈部１５２４は、手指姿勢解釈部１５２３の解釈結果に基づいて、ジェスチャが行われたか否かを判定する（ステップＳ４８）。
【０１１１】
ステップＳ４８の判定の結果、ジェスチャが行われたと判定される場合には（ステップＳ４８：Ｙｅｓ）、ジェスチャ解釈部１５２４は、ステップＳ４５で決定したジェスチャ解釈モードに従って、ユーザのジェスチャに対して、操作命令を割り当てる（ステップＳ４９）。例えば、ユーザのジェスチャが指先を横方向にスライドさせるジェスチャである場合には、ジェスチャ解釈部１５２４は、指先を横方向にスライドさせるジェスチャに対して、ジェスチャ解釈モード毎の操作命令を割り当ててもよい。ジェスチャ解釈モード毎の操作命令を割り当てるために、メモリ１６は、ジェスチャ解釈モード毎に、ジェスチャの種類と当該ジェスチャに割り当てられるべき操作命令の種類とを対応付けるテーブル等を格納していることが好ましい。この場合、ジェスチャ解釈部１５２４は、メモリ１６に格納されているテーブル等を参照することで、比較的容易に、ジェスチャに対して操作命令を割り当てることができる。
【０１１２】
他方で、ステップＳ４８の判定の結果、ジェスチャが行われていないと判定される場合には（ステップＳ４８：Ｎｏ）、ジェスチャ解釈部１５２４は、操作命令を割り当てなくてもよい。
【０１１３】
（２−６）ジェスチャに対する操作命令の割当処理の具体例
続いて、図８から図１１を参照しながら、ジェスチャに対する操作命令の割当処理の具体例について説明する。以下では、図７を用いて例示した３種類のジェスチャ解釈モードの夫々に対応する具体例を順に説明する。尚、以下では、３種類のジェスチャ解釈モードの夫々において、ユーザのジェスチャが、指を横方向にスライドさせるジェスチャとなる場合を例に挙げて説明を進める。但し、ユーザのジェスチャが、指を横方向にスライドさせるジェスチャとは異なるジェスチャとなる場合であっても、以下に説明する割当処理と同様に、ジェスチャに対して適切な操作命令が割り当てられてもよいことは言うまでもない。
【０１１４】
（２−６−１）ＧＵＩ操作モードでの割当処理の具体例
初めに、図８及び図９を参照しながら、ジェスチャ解釈モードの一例であるＧＵＩ操作モードでの操作命令の割当処理について説明する。図８及び図９は、夫々、ジェスチャ解釈モードの一例であるＧＵＩ操作モードでの操作命令の割当処理を、ディスプレイ１１に表示されるＧＵＩと共に説明する平面図である。
【０１１５】
図８（ａ）に示すように、チェックボックス１１１１ａ及び１１１１ｂ、テキストボックス１１１２ａ及び１１１２ｂ及びボタン１１１４が、ＧＵＩコントロールとしてディスプレイ１１に表示されている場合を想定して説明を進める。尚、現在のテキスト入力位置を示すカーソル１１１３は、テキストボックス１１１２ａ内に表示されている。
【０１１６】
このようなＧＵＩコントロールが表示されている状況で、図８（ａ）に示すように、テキストボックス１１１２ａにテキスト「１２３４５」を入力するキー入力が行われたとする。更に、当該キー入力が終了してから所定時間以内に、指をキーボード１２から浮かせる状態（つまり、ジェスチャ待機動作）が新たに開始されたとする。この場合、コンピュータシステム１の状態がジェスチャ待機状態となる。また、この場合、図７に示すフローチャートに従って、ジェスチャ解釈部１５２４は、ジェスチャ解釈モードを、「ＧＵＩ操作モード」に決定する。その後、ジェスチャ待機状態が継続している間に（つまり、ユーザが指を浮かせたままで）、指（例えば、浮かせている指）を横方向にスライドさせるジェスチャが開始されたとする。
【０１１７】
ＧＵＩ操作モードでは、指を横方向にスライドさせるジェスチャに割り当てるべき操作命令として、次にキー入力を行うべきＧＵＩコントロールを選択する操作命令が割り当てられる。このとき、ＧＵＩコントロールの関係性を考慮しながら、カーソル１１１３を遷移させるＧＵＩコントロールの候補が選択されることが好ましい。例えば、ＧＵＩコントロールの位置の関係を考慮すれば、横方向に沿ってテキストボックス１１１２ａと隣接するチェックボックス１１１１ａが、テキストボックス１１１２ａの次にキー入力が行われるＧＵＩコントロールである可能性がある。或いは、例えば、ＧＵＩコントロールの意味の関係を考慮すれば、テキストボックス１１１２ａと同一種類のＧＵＩコントロールであるテキストボックス１１１２ｂが、テキストボックス１１１２ａの次にキー入力が行われるＧＵＩコントロールである可能性がある。従って、この場合には、ジェスチャ解釈部１５２４は、指を横方向にスライドさせるジェスチャに割り当てるべき操作命令として、チェックボックス１１１１ａ及びテキストボックス１１１２ｂのいずれかを次にキー入力を行うべきＧＵＩコントロールとして選択する操作命令を割り当てる。
【０１１８】
尚、例えば、グルーピングされているＧＵＩコントロールは、互いに次にキー入力を行うべきＧＵＩコントロールとして選択される可能性がある。従って、ジェスチャ解釈部１５２４は、ＧＵＩコントロールの関係性として、ＧＵＩコントロールの設定されているグルーピング構造を考慮してもよい。
【０１１９】
或いは、例えば、ユーザによっては、あるＧＵＩコントロールを選択した後に選択する頻度が高いＧＵＩコントロールが存在する場合がある。従って、ジェスチャ解釈部１５２４は、ＧＵＩコントロールの関係性として、ＧＵＩコントロールに対するユーザの操作傾向を考慮してもよい。尚、ジェスチャ解釈部１５２４は、当該ジェスチャ解釈部１５２４を備えるコンピュータシステム１に対するユーザの操作傾向を取得してもよい。或いは、ジェスチャ解釈部１５２４は、当該ジェスチャ解釈部１５２４を備えるコンピュータシステム１とは異なる他のコンピュータシステム１に対するユーザの操作傾向を取得してもよい。この場合、ジェスチャ解釈部１５２４は、ネットワークを介して、他のコンピュータシステム１に対するユーザの操作傾向を取得してもよい。
【０１２０】
チェックボックス１１１１ａ及びテキストボックス１１１２ｂのいずれかを次にキー入力を行うべきＧＵＩコントロールとして選択する操作命令が割り当てられる場合、図８（ｂ）に示すように、ＧＵＩ管理部１５１は、ジェスチャ操作部１５２４が割り当てた操作命令に基づいて、チェックボックス１１１１ａ及びテキストボックス１１１２ｂのいずれかを次にキー入力を行うべきＧＵＩコントロールとして選択するＧＵＩコントロール１１１５を表示するための表示出力命令をディスプレイ１１に対して出力してもよい。尚、図８（ｂ）に示す例では、ＧＵＩコントロール１１１５は、右方向及び左方向に夫々向かう２つの矢印とこれら２つの矢印とＧＵＩコントロール（つまり、チェックボックス１１１１ａ及びテキストボックス１１１２ｂ）との対応付けを示すラインとを含んでいる。このようなＧＵＩコントロール１１１５がディスプレイ１１に表示されることで、ユーザは、指を横方向にスライドさせことでどのＧＵＩコントロールを選択することができるかを比較的容易に認識することができる。例えば、ユーザは、指を左方向に向かってスライドさせることでチェックボックス１１１１ａを選択することができる一方で、指を右方向に向かってスライドさせることでテキストボックス１１１２ｂを選択することができると認識することができる。
【０１２１】
従って、ユーザが指を左方向に向かってスライドさせると、ジェスチャ解釈部１５２４は、指を左方向に向かってスライドさせるジェスチャに対して、チェックボックス１１１１ａを選択する操作命令を割り当てる。更に、ＧＵＩ管理部１５１は、カーソル１１１３をチェックボックス１１１１ａに遷移させるための表示出力命令をディスプレイ１１に出力する。その結果、チェックボックス１１１１ａの状態は、入力不可能な状態から入力可能な状態に遷移する。
【０１２２】
同様に、ユーザが指を右方向に向かってスライドさせると、ジェスチャ解釈部１５２４は、指を右方向に向かってスライドさせるジェスチャに対して、テキストボックス１１１２ｂを選択する操作命令を割り当てる。更に、ＧＵＩ管理部１５１は、カーソル１１１３をテキストボックス１１１２ｂに遷移させるための表示出力命令をディスプレイ１１に出力する。その結果、テキストボックス１１１２ｂの状態は、入力不可能な状態から入力可能な状態に遷移する。
【０１２３】
続いて、図９（ａ）に示すように、テキスト入力可能な入力フォーム１１２１と、入力フォーム１１２１に入力されたテキストが格納される複数のセル１１２３とが、ＧＵＩコントロールとしてディスプレイ１１に表示されている場合を想定して説明を進める。尚、現在のテキスト入力位置を示すカーソル１１２２は、入力フォーム１１２１内に表示されている。また、入力フォーム１１２１に入力されたテキストが格納されるセル１１２３を示すハイライト１１２４は、セル１１２３ａを囲うように表示されている。
【０１２４】
このようなＧＵＩコントロールが表示されている状況で、図９（ａ）に示すように、入力フォーム１１２１にテキスト「１２３４５」を入力するキー入力が行われたとする。更に、当該キー入力が終了してから所定時間以内に、指をキーボード１２から浮かせる状態（つまり、ジェスチャ待機動作）が新たに開始されたとする。この場合、コンピュータシステム１の状態がジェスチャ待機状態となる。また、この場合、図７に示すフローチャートに従って、ジェスチャ解釈部１５２４は、ジェスチャ解釈モードを、「ＧＵＩ操作モード」に決定する。その後、ジェスチャ待機状態が継続している間に、指を横方向にスライドさせるジェスチャが開始されたとする。
【０１２５】
ＧＵＩ操作モードでは、ＧＵＩコントロールの関係性を考慮しながら、指を横方向にスライドさせるジェスチャに割り当てるべき操作命令として、次にキー入力を行うべき（但し、図９の例では、次にテキストを格納するべき）ＧＵＩコントロールを選択する操作命令が割り当てられることは上述した通りである。例えば、ＧＵＩコントロールの位置の関係を考慮すれば、横方向に沿ってセル１１２３ａと隣接するセル１１２３ｂ及びセル１１２３ｃが、セル１１２３ａの次にキー入力が行われるＧＵＩコントロールである可能性がある。従って、この場合には、ジェスチャ解釈部１５２４は、指を横方向にスライドさせるジェスチャに割り当てるべき操作命令として、セル１１２３ｂ及びセル１１２３ｃのいずれかを次にテキストを格納するべきＧＵＩコントロールとして選択する操作命令を割り当てる。
【０１２６】
この場合、図９（ｂ）に示すように、ＧＵＩ管理部１５１は、ジェスチャ操作部１５２４が割り当てた操作命令に基づいて、セル１１２３ｂ及びセル１１２３ｃのいずれかを次にテキストを格納するべきＧＵＩコントロールとして選択するＧＵＩコントロール１１２５を表示するための表示出力命令をディスプレイ１１に対して出力してもよい。尚、図９（ｂ）に示すＧＵＩコントロール１１２５は、図８（ｂ）に示すＧＵＩコントロール１１１５と同様である。
【０１２７】
従って、ユーザが指を横方向に向かってスライドさせると、ジェスチャ解釈部１５２４は、指を横方向に向かってスライドさせるジェスチャに対して、セル１１２３ｂ及びセル１１２３ｃのいずれかを選択する操作命令を割り当てる。更に、ＧＵＩ管理部１５１は、ハイライト１１２４をセル１１２３ｂ及びセル１１２３ｃのいずれかに遷移させるための表示出力命令をディスプレイ１１に出力する。その結果、セル１１２３ｂ及びセル１１２３ｃのいずれかの状態は、入力フォームに入力されたテキストを格納可能な状態に遷移する。
【０１２８】
尚、図８及び図９に示す例では、ユーザが指を横方向にスライドさせない又はユーザが指を横方向以外の方向（例えば、縦方向）にスライドさせた場合には、ジェスチャ解釈部１５２４は、操作命令を割り当てなくてもよい。但し、ユーザが指を横方向にスライドさせない又はユーザが指を横方向以外の方向（例えば、縦方向）にスライドさせた場合であっても、ジェスチャ解釈部１５２４は、何らかの操作命令を割り当ててもよい。例えば、図８（ｂ）に示すようにチェックボックス１１１１ａ及びテキストボックス１１１２ｂのいずれかを次にキー入力を行うべきＧＵＩコントロールとして選択するＧＵＩコントロール１１１５が表示されている状況で、ユーザが指を縦方向にスライドさせた場合には、ジェスチャ解釈部１５２４は、チェックボックス１１１１ａ及びテキストボックス１１１２ｂとは異なる他のＧＵＩコントロール（例えば、チェックボックス１１１１ｂやボタン１１１４）を次にキー入力を行うべきＧＵＩコントロールとして選択する操作命令を割り当ててもよい。以下に説明するサーチモードにおいても同様である。
【０１２９】
（２−６−２）サーチモードでの割当処理の具体例
続いて、図１０を参照しながら、ジェスチャ解釈モードの一例であるサーチモードでの操作命令の割当処理について説明する。図１０は、ジェスチャ解釈モードの一例であるサーチモードでの操作命令の割当処理を、ディスプレイ１１に表示されるＧＵＩと共に説明する平面図である。
【０１３０】
図１０に示すように、テキスト入力可能な入力フォーム１１３１と、当該入力フォーム１１３１に表示されるテキストの格納先のドキュメント（図１０に示す例では、ファイル）を切り替えるための複数のタブ１１３２とが、ＧＵＩコントロールとしてディスプレイ１１に表示されている場合を想定して説明を進める。尚、入力フォーム１１３１に表示されるテキストの格納先のファイルを示すハイライト１１３３は、タブ１１３２ｂを囲うように表示されている。
【０１３１】
このようなＧＵＩコントロールが表示されている状況で、タブ１１３２を切り替える（つまり、入力フォーム１１３１に表示されるファイルを切り替える）ために矢印キーを押下するキー入力が終了してから所定時間以内に、指をキーボード１２から浮かせる状態（つまり、ジェスチャ待機動作）が新たに開始されたとする。この場合、コンピュータシステム１の状態がジェスチャ待機状態となる。また、この場合、図７に示すフローチャートに従って、ジェスチャ解釈部１５２４は、ジェスチャ解釈モードを、「サーチモード」に決定する。その後、ジェスチャ待機状態が継続している間に、指を横方向にスライドさせるジェスチャが開始されたとする。
【０１３２】
サーチモードにおいても、ＧＵＩ操作モードと同様に、ＧＵＩコントロールの関係性を考慮しながら、指を横方向にスライドさせるジェスチャに割り当てるべき操作命令として、ファイルを切り替える操作命令が割り当てられる。例えば、ＧＵＩコントロールの意味の関係を考慮すれば、タブ１１３２ｂと同一種類のタブ１１３２ａ及びタブ１１３２ｃに対応付けられたファイルが、次に入力フォーム１１３１に表示されるファイルとなる可能性がある。従って、この場合には、ジェスチャ解釈部１５２４は、指を横方向にスライドさせるジェスチャに割り当てるべき操作命令として、タブ１１３２ａ及びタブ１１３２ｃのいずれかに対応するファイルを次に入力フォーム１１３１に表示されるファイルとして選択する操作命令を割り当てる。
【０１３３】
この場合、図１０（ｂ）に示すように、ＧＵＩ管理部１５１は、ジェスチャ操作部１５２４が割り当てた操作命令に基づいて、タブ１１３２ａ及びタブ１１３２ｃのいずれかに対応するファイルを次に入力フォーム１１３１に表示されるファイルとして選択するＧＵＩコントロール１１３４を表示するための表示出力命令をディスプレイ１１に対して出力してもよい。尚、図１０（ｂ）に示すＧＵＩコントロール１１３３は、図８（ｂ）に示すＧＵＩコントロール１１１５と同様である。
【０１３４】
従って、ユーザが指を横方向に向かってスライドさせると、ジェスチャ解釈部１５２４は、指を横方向に向かってスライドさせるジェスチャに対して、タブ１１３２ａ及びタブ１１３２ｃのいずれかを選択する操作命令を割り当てる。更に、ＧＵＩ管理部１５１は、ハイライト１１３４をタブ１１３２ａ及びタブ１１３２ｃのいずれかに遷移させる共に、入力フォーム１１３１にタブ１１３２ａ及びタブ１１３２ｃのいずれかに対応するファイルが格納するテキストを表示するための表示出力命令をディスプレイ１１に出力する。その結果、入力フォーム１１３１の状態は、タブ１１３２ｂに対応するファイルが格納するテキストが表示される状態から、タブ１１３２ａ及びタブ１１３２ｃのいずれかに対応するファイルが格納するテキストが表示される状態へと切り替わる。
【０１３５】
尚、図１０では、タブを用いて複数のファイルを切り替える例を用いて説明を進めている。しかしながら、ファイル以外の構造を有するドキュメント（例えば、表計算ファイルのようにタブを用いて複数のシートを切り替えるドキュメントや、ワープロファイルのようにタブを用いて複数の段落若しくはページを切り替えるドキュメント）においても、サーチモードに従った解釈処理が適用されてもよい。また、指の動きの方向に応じて、選択の階層を切り替えてもよい。例えば、ジェスチャ解釈部１５２４は、指を横方向にスライドさせるジェスチャに対してはタブ（つまり、ファイル）を切り替える操作命令を割り当てる一方で、指を縦方向にスライドさせるジェスチャに対してはファイルよりも下位の階層に相当するシート、ページ又は段落を切り替える操作命令を割り当ててもよい。
【０１３６】
（２−６−３）ポインティングモードでの割当処理の具体例
続いて、図１１を参照しながら、ジェスチャ解釈モードの一例であるポインティングモードでの操作命令の割当処理について説明する。図１１は、ジェスチャ解釈モードの一例であるポインティングモードでの操作命令の割当処理を、ディスプレイ１１に表示されるＧＵＩと共に説明する平面図である。
【０１３７】
図１１（ａ）に示すように、夫々が対応するアプリケーションを起動するためのアイコン１１４１が、ＧＵＩコントロールとしてディスプレイ１１に表示されている場合を想定して説明を進める。
【０１３８】
このようなＧＵＩコントロールが表示されている状況で、キー入力が終了してから所定時間経過した後に、指をキーボード１２から浮かせる状態（つまり、ジェスチャ待機動作）が新たに開始されたとする。この場合、コンピュータシステム１の状態がジェスチャ待機状態となる。また、この場合、図７に示すフローチャートに従って、ジェスチャ解釈部１５２４は、ジェスチャ解釈モードを、「ポインティングモード」に決定する。その後、ジェスチャ待機状態が継続している間に、指を横方向にスライドさせるジェスチャが開始されたとする。
【０１３９】
ポインティングモードでは、指を横方向にスライドさせるジェスチャに割り当てるべき操作命令として、浮いている指先が指しているディスプレイ１１の表示画面上の領域の位置（つまり、横方向及び縦方向の位置）を選択する操作命令を割り当てる。この場合、図１１（ｂ）に示すように、ＧＵＩ管理部１５１は、ジェスチャ操作部１５２４が割り当てた操作命令に基づいて、浮いている指先が指しているディスプレイ１１の表示画面上の領域の位置（つまり、横方向及び縦方向の位置）にポインタ形状のＧＵＩコントロール１１４２を表示するための表示出力命令をディスプレイ１１に対して出力してもよい。この場合、ユーザが指を横方向にスライドさせると、ＧＵＩコントロール１１４２もまた、横方向に移動する。その結果、ユーザは、所望のアイコン１１４１を選択することができる。
【０１４０】
以上説明したように、本実施例のコンピュータシステム１は、ユーザのジェスチャ及びキー入力情報の双方に基づいて、ユーザのジェスチャに対して操作命令を割り当てることができる。このため、例えば、本実施例のコンピュータシステム１は、キー入力の状況の違いを考慮した上で、同一のユーザのジェスチャに対しては同一の又は異なる操作命令を割り当てることができる。従って、本実施形態の情報処理装置は、ユーザのジェスチャと共に入力機器を用いたキー入力が行われる場合においても、ユーザのジェスチャに対してユーザが要望する操作命令を好適に割り当てることができる。
【０１４１】
尚、上述の説明では、ジェスチャ操作部１５２は、ユーザの手指の動きをジェスチャとして検出している。しかしながら、ジェスチャ操作部１５２は、ユーザの手指以外の任意の部分（例えば、ユーザがユーザ自身の意思で動かすことが可能な部分の少なくとも一部）の動きをジェスチャとして検出してもよい。例えば、ジェスチャ操作部１５２は、ユーザの頭の動きや、ユーザの目の動きや、ユーザの足の動き等を、ジェスチャとして検出してもよい。
【０１４２】
本発明は、上述した実施形態に限られるものではなく、請求の範囲及び明細書全体から読み取れる発明の要旨或いは思想に反しない範囲で適宜変更可能であり、そのような変更を伴う情報処理装置及び方法、並びにコンピュータプログラムもまた本発明の技術的範囲に含まれるものである。
【符号の説明】
【０１４３】
１  コンピュータシステム
１２  キーボード
１３  タッチパッド
１４  ステレオカメラ
１５  ＣＰＵ（システム部）
１５０  アプリケーション
１５１  ＧＵＩ管理部
１５２  ジェスチャ操作部
１５２１  初期設定部
１５２２  手指検出部
１５２３  手指姿勢解釈部
１５２４  ジェスチャ解釈部
【図１】
2015153353.tif 000003
【図２】
2015153353.tif 000004
【図３】
2015153353.tif 000005
【図４】
2015153353.tif 000006
【図５】
2015153353.tif 000007
【図６】
2015153353.tif 000008
【図７】
2015153353.tif 000009
【図８】
2015153353.tif 000010
【図９】
2015153353.tif 000011
【図１０】
2015153353.tif 000012
【図１１】
2015153353.tif 000013