(57)【要約】【課題】簡単な処理で精度よくジェスチャーを検出することを可能とする技術を提供する。【解決手段】ジェスチャー検出装置１は、第１座標軸での検知対象物６０の位置を示す第１座標値に関する情報を保持する第１テーブルと、当該第１座標軸に垂直な第２座標軸での検知対象物６０の位置を示す第２座標値に関する情報を保持する第２テーブルとを保持するテーブル保持部１２と、順次入力される第１座標値に基づいて第１テーブル内の第１座標値に関する情報を更新し、順次入力される第２座標値に基づいて第２テーブル内の第２座標値に関する情報を更新するテーブル更新部１１と、第１及び第２テーブルに基づいて、検知対象物６０の動きパターンを検出するジェスチャー検出部１３とを備える。【選択図】図４
2015197724.tif 000002
【特許請求の範囲】
【請求項１】
第１座標軸での検知対象物の位置を示す第１座標値が同一方向に連続して変化する回数、および前記第１座標値が同一方向に連続して変化する際の前記第１座標値の変化量の累積値のうちの少なくとも１つと、前記第１座標値が同一方向に連続して変化する際の前記第１座標値の変化方向とを含む、前記第１座標値に関する情報を保持する第１テーブルと、当該第１座標軸に垂直な第２座標軸での当該検知対象物の位置を示す第２座標値が同一方向に連続して変化する回数、および前記第２座標値が同一方向に連続して変化する際の前記第２座標値の変化量の累積値のうちの少なくとも１つと、前記第２座標値が同一方向に連続して変化する際の前記第２座標値の変化方向とを含む、前記第２座標値に関する情報を保持する第２テーブルとを保持するテーブル保持部と、
順次入力される前記第１座標値に基づいて前記第１テーブル内の前記第１座標値に関する情報を更新し、順次入力される前記第２座標値に基づいて前記第２テーブル内の前記第２座標値に関する情報を更新するテーブル更新部と、
前記第１及び第２テーブルに基づいて、前記検知対象物の動きパターンを検出するジェスチャー検出部と
を備える、ジェスチャー検出装置。
【請求項２】
請求項１に記載のジェスチャー検出装置であって、
前記ジェスチャー検出部は、前記第１及び第２座標軸で特定される座標平面上で前記検知対象物が回転する第１動作を、前記第１及び第２テーブルに基づいて検出する動作検出部を備え、
前記ジェスチャー検出部は、前記動作検出部で検出される前記第１動作を前記動きパターンとし、
前記動作検出部は、
前記第１テーブルに基づいて、前記第１座標軸のプラス方向に沿った前記検出対象物の第１移動方向と、前記第１座標軸のマイナス方向に沿った前記検出対象物の第２移動方向とを特定し、前記第２テーブルに基づいて、前記第２座標軸のプラス方向に沿った前記検出対象物の第３移動方向と、前記第２座標軸のマイナス方向に沿った前記検出対象物の第４移動方向とを特定する移動方向特定部と、
前記移動方向特定部において前記検知対象物の移動方向が特定された順序が所定順序を示す場合に、前記検知対象物が前記第１動作を行っていると判定する判定部と
を有する、ジェスチャー検出装置。
【請求項３】
請求項２に記載のジェスチャー検出装置であって、
前記判定部は、
前記移動方向特定部において前記検知対象物の移動方向が特定された順序を履歴情報として保持し、
前記履歴情報に基づいて、前記移動方向特定部において前記移動方向が特定された順序が前記所定順序を示すかどうかを判断し、
前記移動方向特定部で前記移動方向が特定されたとき、当該移動方向と前記履歴情報が示す前記移動方向特定部において前記検知対象物の移動方向が特定された順序との組み合わせが前記所定順序のうちの先頭から始まる部分に含まれる場合には前記履歴情報を更新し、当該組み合わせが前記所定順序のうちの先頭から始まる部分に含まれない場合には前記履歴情報をクリアする、ジェスチャー検出装置。
【請求項４】
請求項２に記載のジェスチャー検出装置であって、
前記判定部は、前記移動方向特定部において前記検知対象物の移動方向が特定された順序が、前記所定順序を含む複数種類の順序に含まれる場合に、前記検知対象物が前記第１動作を行っていると判定する、ジェスチャー検出装置。
【請求項５】
請求項２に記載のジェスチャー検出装置であって、
前記第１動作には、前記座標平面上で前記検知対象物が第１方向に回転する第１回転動作と、前記座標平面上で前記検知対象物が前記第１方向とは反対の第２方向に回転する第２回転動作とが含まれ、
前記判定部は、
前記移動方向特定部において前記検知対象物の移動方向が特定された順序が第１所定順序を示す場合に、前記検知対象物が前記第１回転動作を行っていると判定し、
前記移動方向特定部において前記検知対象物の移動方向が特定された順序が前記第１所定順序とは異なる第２所定順序を示す場合に、前記検知対象物が前記第２回転動作を行っていると判定する、ジェスチャー検出装置。
【請求項６】
請求項５に記載のジェスチャー検出装置であって、
前記判定部は、
前記移動方向特定部において前記検知対象物の移動方向が特定された順序を履歴情報として保持し、
前記履歴情報に基づいて、前記移動方向特定部において前記移動方向が特定された順序が前記第１及び第２所定順序のいずれを示すかどうかを判断し、
前記移動方向特定部で前記移動方向が特定されたとき、当該移動方向と前記履歴情報が示す前記移動方向特定部において前記検知対象物の移動方向が特定された順序との組み合わせが、前記第１所定順序のうちの先頭から始まる部分及び前記第２所定順序のうちの先頭から始まる部分のいずれかに含まれる場合には前記履歴情報を更新し、当該組み合わせが前記第１所定順序のうちの先頭から始まる部分及び前記第２所定順序のうちの先頭から始まる部分のいずれにも含まれない場合には前記履歴情報をクリアする、ジェスチャー検出装置。
【請求項７】
請求項５に記載のジェスチャー検出装置であって、
前記判定部は、
前記移動方向特定部において前記検知対象物の移動方向が特定された順序が、前記第１所定順序を含む複数種類の第１順序に含まれる場合に、前記検知対象物が前記第１回転動作を行っていると判定し、
前記移動方向特定部において前記検知対象物の移動方向が特定された順序が、前記第２所定順序を含む複数種類の第２順序に含まれる場合に、前記検知対象物が前記第２回転動作を行っていると判定する、ジェスチャー検出装置。
【請求項８】
請求項２乃至請求項７のいずれか１つに記載のジェスチャー検出装置であって、
前記動作検出部は、前記第１座標軸に沿って前記検知対象物が動く第２動作を前記第１テーブルに基づいて検出し、
前記ジェスチャー検出部は、
前記動作検出部が前記第１及び第２動作の両方を検出したときには、前記第１動作を前記動きパターンとし、
前記動作検出部が前記第２動作を検出し、かつ前記第１動作を検出しないときには、前記第２動作を前記動きパターンとする、ジェスチャー検出装置。
【請求項９】
請求項２乃至請求項７のいずれか１つに記載のジェスチャー検出装置であって、
前記テーブル保持部は、前記第１及び第２座標軸に垂直な第３座標軸での前記検知対象物の位置を示す第３座標値が同一方向に連続して変化する回数、および前記第３座標値が同一方向に連続して変化する際の前記第３座標値の変化量の累積値のうちの少なくとも１つと、前記第３座標値が同一方向に連続して変化する際の前記第３座標値の変化方向とを含む、前記第３座標値に関する情報を保持する第３テーブルを保持し、
前記テーブル更新部は、順次入力される前記第３座標値に基づいて前記第３テーブル内の前記第３座標値に関する情報を更新し、
前記動作検出部は、前記第３座標軸に沿って前記検知対象物が動く第２動作を前記第３テーブルに基づいて検出し、
前記ジェスチャー検出部は、
前記動作検出部が前記第１及び第２動作の両方を検出したときには、前記第１動作を前記動きパターンとし、
前記動作検出部が前記第２動作を検出し、かつ前記第１動作を検出しないときには、前記第２動作を前記動きパターンとする、ジェスチャー検出装置。
【請求項１０】
請求項２乃至請求項９のいずれか１つに記載のジェスチャー検出装置であって、
前記動作検出部は、前記第１座標軸に沿って前記検知対象物がプラス方向及びマイナス方向に交互に動く第３動作を前記第１テーブルに基づいて検出し、
前記ジェスチャー検出部は、
前記動作検出部が前記第３動作を検出したときには、前記第３動作を前記動きパターンとする、ジェスチャー検出装置。
【請求項１１】
請求項２乃至請求項８のいずれか１つに記載のジェスチャー検出装置であって、
前記テーブル保持部は、前記１及び第２座標軸に垂直な第３座標軸での前記検知対象物の位置を示す第３座標値が同一方向に連続して変化する回数、および前記第３座標値が同一方向に連続して変化する際の前記第３座標値の変化量の累積値のうちの少なくとも１つと、前記第３座標値が同一方向に連続して変化する際の前記第３座標値の変化方向とを含む、前記第３座標値に関する情報を保持する第３テーブルを保持し、
前記テーブル更新部は、順次入力される前記第３座標値に基づいて前記第３テーブル内の前記第３座標値に関する情報を更新し、
前記動作検出部は、前記第３座標軸に沿って前記検知対象物がプラス方向およびマイナス方向に交互に動く第３動作を前記第３テーブルに基づいて検出し、
前記ジェスチャー検出部は、
前記動作検出部が前記第３動作を検出したときには、前記第３動作を前記動きパターンとする、ジェスチャー検出装置。
【請求項１２】
請求項３及び請求項６のいずれか１つに記載のジェスチャー検出装置であって、
前記第１及び第２座標値は、前記検知対象物の位置を検出し、前記座標平面に平行な検出面を有する位置検出装置から出力され、
前記位置検出装置は、前記第１及び第２座標軸に垂直な第３座標軸での前記検知対象物の位置を示す第３座標値を出力し、
前記動作検出部は、前記第１座標軸に沿って前記検知対象物が動く第２動作を前記第１テーブルに基づいて検出し、
前記第３座標値に基づいて、前記検知対象物が存在するか否かを特定する検知対象物有無特定部を更に備え、
前記ジェスチャー検出部は、
前記動作検出部が前記第１及び第２動作の両方を検出したときには、前記第１動作を前記動きパターンとし、
前記判定部が履歴情報を保持しておらず、かつ前記動作検出部によって前記第２動作が検出されているときには、当該第２動作を動きパターンとし、
前記検知対象物有無特定部によって前記検知対象物が存在すると特定された場合において、前記判定部が前記履歴情報を保持し、かつ前記動作検出部によって前記第２動作が検出されているときには、当該第２動作を前記動きパターンとせず、
前記検知対象物有無特定部によって前記検知対象物が存在しないと特定された場合において、前記判定部が前記履歴情報を保持し、かつ前記動作検出部によって前記第１動作が検出されず前記第２動作が検出されているときには、当該第２動作を前記動きパターンとする、ジェスチャー検出装置。
【請求項１３】
請求項３及び請求項６のいずれか１つに記載のジェスチャー検出装置であって、
前記第１及び第２座標値は、前記検知対象物の位置を検出し、前記第１座標軸に垂直な検出面を有する位置検出装置から出力され、
前記動作検出部は、前記第１座標軸に沿って前記検知対象物が動く第２動作を前記第１テーブルに基づいて検出し、
前記第１座標値に基づいて前記検知対象物が存在するか否かを特定する検知対象物有無特定部を更に備え、
前記ジェスチャー検出部は、
前記動作検出部が前記第１及び第２動作の両方を検出したときには、前記第１動作を前記動きパターンとし、
前記判定部が履歴情報を保持しておらず、かつ前記動作検出部によって前記第２動作が検出されているときには、当該第２動作を動きパターンとし、
前記検知対象物有無特定部によって前記検知対象物が存在すると特定された場合において、前記判定部が前記履歴情報を保持し、かつ前記動作検出部によって前記第２動作が検出されているときには、当該第２動作を前記動きパターンとせず、
前記検知対象物有無特定部によって前記検知対象物が存在しないと特定された場合において、前記判定部が前記履歴情報を保持し、かつ前記動作検出部によって前記第１動作が検出されず前記第２動作が検出されているときには、当該第２動作を前記動きパターンとする、ジェスチャー検出装置。
【請求項１４】
請求項３及び請求項６のいずれか１つに記載のジェスチャー検出装置であって、
前記第１及び第２座標値は、前記検知対象物の位置を検出し、前記座標平面に平行な検出面を有する位置検出装置から出力され、
前記位置検出装置は、前記第１及び第２座標軸に垂直な第３座標軸での前記検知対象物の位置を示す第３座標値を出力し、
前記テーブル保持部は、前記第３座標値が同一方向に連続して変化する回数、および前記第３座標値が同一方向に連続して変化する際の前記第３座標値の変化量の累積値のうちの少なくとも１つと、前記第３座標値が同一方向に連続して変化する際の前記第３座標値の変化方向とを含む、前記第３座標値に関する情報を保持する第３テーブルを保持し、
前記テーブル更新部は、前記位置検出装置が順次出力する前記第３座標値に基づいて前記第３テーブル内の前記第３座標値に関する情報を更新し、
前記動作検出部は、前記第３座標軸に沿って前記検知対象物が動く第２動作を前記第３テーブルに基づいて検出し、
前記第３座標値に基づいて前記検知対象物が存在するか否かを特定する検知対象物有無特定部を更に備え、
前記ジェスチャー検出部は、
前記動作検出部が前記第１及び第２動作の両方を検出したときには、前記第１動作を前記動きパターンとし、
前記判定部が履歴情報を保持しておらず、かつ前記動作検出部によって前記第２動作が検出されているときには、当該第２動作を動きパターンとし、
前記検知対象物有無特定部によって前記検知対象物が存在すると特定された場合において、前記判定部が前記履歴情報を保持し、かつ前記動作検出部によって前記第２動作が検出されているときには、当該第２動作を前記動きパターンとせず、
前記検知対象物有無特定部によって前記検知対象物が存在しないと特定された場合において、前記判定部が前記履歴情報を保持し、かつ前記動作検出部によって前記第１動作が検出されず前記第２動作が検出されているときには、当該第２動作を前記動きパターンとする、ジェスチャー検出装置。
【請求項１５】
請求項３及び請求項６のいずれか１つに記載のジェスチャー検出装置であって、
前記第１及び第２座標値は、前記検知対象物の位置を検出し、前記第１座標軸に垂直な検出面を有する位置検出装置から出力され、
前記位置検出装置は、前記第１及び第２座標軸に垂直な第３座標軸での前記検知対象物の位置を示す第３座標値を出力し、
前記テーブル保持部は、前記第３座標値が同一方向に連続して変化する回数、および前記第３座標値が同一方向に連続して変化する際の前記第３座標値の変化量の累積値のうちの少なくとも１つと、前記第３座標値が同一方向に連続して変化する際の前記第３座標値の変化方向とを含む、前記第３座標値に関する情報を保持する第３テーブルを保持し、
前記テーブル更新部は、前記位置検出装置が順次出力する前記第３座標値に基づいて前記第３テーブル内の前記第３座標値に関する情報を更新し、
前記動作検出部は、前記第３座標軸に沿って前記検知対象物が動く第２動作を前記第３テーブルに基づいて検出し、
前記第１座標値に基づいて、前記検知対象物が存在するか否かを特定する検知対象物有無特定部を更に備え、
前記ジェスチャー検出部は、
前記動作検出部が前記第１及び第２動作の両方を検出したときには、前記第１動作を前記動きパターンとし、
前記判定部が履歴情報を保持しておらず、かつ前記動作検出部によって前記第２動作が検出されているときには、当該第２動作を動きパターンとし、
前記検知対象物有無特定部によって前記検知対象物が存在すると特定された場合において、前記判定部が前記履歴情報を保持し、かつ前記動作検出部によって前記第２動作が検出されているときには、当該第２動作を前記動きパターンとせず、
前記検知対象物有無特定部によって前記検知対象物が存在しないと特定された場合において、前記判定部が前記履歴情報を保持し、かつ前記動作検出部によって前記第１動作が検出されず前記第２動作が検出されているときには、当該第２動作を前記動きパターンとする、ジェスチャー検出装置。
【請求項１６】
請求項１乃至請求項１５のいずれか１つに記載のジェスチャー検出装置であって、
前記テーブル更新部は、前記第１座標値が入力されたとき、前回入力された前記第１座標値に対する、今回入力された前記第１座標値の変化の方向が、前記第１テーブルに保持されている前記変化方向と異なり、かつ前回入力された前記第１座標値と今回入力された前記第１座標値との差が閾値より小さい場合には、前記第１テーブルを更新しない、ジェスチャー検出装置。
【請求項１７】
請求項１乃至請求項１６のいずれか１つに記載のジェスチャー検出装置であって、
前記ジェスチャー検出装置に対して前記第１座標値が３つ入力されるたびに、入力された３つの前記第１座標値のうちの中央の座標値を前記テーブル更新部に出力する出力部をさらに備える、ジェスチャー検出装置。
【請求項１８】
第１座標軸での検知対象物の位置を示す第１座標値に関する情報を保持する第１テーブルと、当該第１座標軸に垂直な第２座標軸での当該検知対象物の位置を示す第２座標値に関する情報を保持する第２テーブルとを保持するジェスチャー検出装置の動作方法であって、
前記第１テーブル内の前記第１座標値に関する情報は、前記第１座標値が同一方向に連続して変化する回数、および前記第１座標値が同一方向に連続して変化する際の前記第１座標値の変化量の累積値のうちの少なくとも１つと、前記第１座標値が同一方向に連続して変化する際の前記第１座標値の変化方向とを含み、前記第２テーブル内の前記第２座標値に関する情報は、前記第２座標値が同一方向に連続して変化する回数、および前記第２座標値が同一方向に連続して変化する際の前記第２座標値の変化量の累積値のうちの少なくとも１つと、前記第２座標値が同一方向に連続して変化する際の前記第２座標値の変化方向とを含み、
（ａ）前記ジェスチャー検出装置に順次入力される前記第１座標値に基づいて前記第１テーブル内の前記第１座標値に関する情報を更新し、前記ジェスチャー検出装置に順次入力される前記第２座標値に基づいて前記第２テーブル内の前記第２座標値に関する情報を更新する工程と、
（ｂ）前記工程（ａ）で更新された前記第１及び第２テーブルに基づいて、前記検知対象物の動きのパターンを検出する工程と
を備える、ジェスチャー検出装置の動作方法。
【請求項１９】
第１座標軸での検知対象物の位置を示す第１座標値に関する情報を保持する第１テーブルと、当該第１座標軸に垂直な第２座標軸での当該検知対象物の位置を示す第２座標値に関する情報を保持する第２テーブルとを保持するジェスチャー検出装置を制御するための制御プログラムであって、
前記第１テーブル内の前記第１座標値に関する情報は、前記第１座標値が同一方向に連続して変化する回数、および前記第１座標値が同一方向に連続して変化する際の前記第１座標値の変化量の累積値のうちの少なくとも１つと、前記第１座標値が同一方向に連続して変化する際の前記第１座標値の変化方向とを含み、
前記第２テーブル内の前記第２座標値に関する情報は、前記第２座標値が同一方向に連続して変化する回数、および前記第２座標値が同一方向に連続して変化する際の前記第２座標値の変化量の累積値のうちの少なくとも１つと、前記第２座標値が同一方向に連続して変化する際の前記第２座標値の変化方向とを含み、
前記ジェスチャー検出装置に、
（ａ）前記ジェスチャー検出装置に順次入力される前記第１座標値に基づいて前記第１テーブル内の前記第１座標値に関する情報を更新し、前記ジェスチャー検出装置に順次入力される前記第２座標値に基づいて前記第２テーブル内の前記第２座標値に関する情報を更新する工程と、
（ｂ）前記工程（ａ）で更新された前記第１及び第２テーブルに基づいて、前記検知対象物の動きのパターンを検出する工程と
を実行させるための制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ジェスチャー検出装置に関する。
【背景技術】
【０００２】
特許文献１〜３にも記載されているように、検知対象物の動きパターン（ジェスチャー）を検出する技術が従来から提案されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特許第３６３７２２６号公報
【特許文献２】特許第５１１６７５４号公報
【特許文献３】特開２０１２−１２３６１７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
さて、ジェスチャー検出装置については、簡単な処理で精度よくジェスチャーを検出することが望まれる。
【０００５】
そこで、本発明は上述した点に鑑みて成されたものであり、簡単な処理で精度よくジェスチャーを検出することを可能とする技術を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記課題を解決するため、本発明に係るジェスチャー検出装置の一態様は、第１座標軸での検知対象物の位置を示す第１座標値が同一方向に連続して変化する回数、および前記第１座標値が同一方向に連続して変化する際の前記第１座標値の変化量の累積値のうちの少なくとも１つと、前記第１座標値が同一方向に連続して変化する際の前記第１座標値の変化方向とを含む、前記第１座標値に関する情報を保持する第１テーブルと、当該第１座標軸に垂直な第２座標軸での当該検知対象物の位置を示す第２座標値が同一方向に連続して変化する回数、および前記第２座標値が同一方向に連続して変化する際の前記第２座標値の変化量の累積値のうちの少なくとも１つと、前記第２座標値が同一方向に連続して変化する際の前記第２座標値の変化方向とを含む、前記第２座標値に関する情報を保持する第２テーブルとを保持するテーブル保持部と、順次入力される前記第１座標値に基づいて前記第１テーブル内の前記第１座標値に関する情報を更新し、順次入力される前記第２座標値に基づいて前記第２テーブル内の前記第２座標値に関する情報を更新するテーブル更新部と、前記第１及び第２テーブルに基づいて、前記検知対象物の動きパターンを検出するジェスチャー検出部とを備える。
【０００７】
また、本発明に係るジェスチャー検出装置の一態様では、前記ジェスチャー検出部は、前記第１及び第２座標軸で特定される座標平面上で前記検知対象物が回転する第１動作を、前記第１及び第２テーブルに基づいて検出する動作検出部を備え、前記ジェスチャー検出部は、前記動作検出部で検出される前記第１動作を前記動きパターンとし、前記動作検出部は、前記第１テーブルに基づいて、前記第１座標軸のプラス方向に沿った前記検出対象物の第１移動方向と、前記第１座標軸のマイナス方向に沿った前記検出対象物の第２移動方向とを特定し、前記第２テーブルに基づいて、前記第２座標軸のプラス方向に沿った前記検出対象物の第３移動方向と、前記第２座標軸のマイナス方向に沿った前記検出対象物の第４移動方向とを特定する移動方向特定部と、前記移動方向特定部において前記検知対象物の移動方向が特定された順序が所定順序を示す場合に、前記検知対象物が前記第１動作を行っていると判定する判定部とを有する。
【０００８】
また、本発明に係るジェスチャー検出装置の一態様では、前記判定部は、前記移動方向特定部において前記検知対象物の移動方向が特定された順序を履歴情報として保持し、前記履歴情報に基づいて、前記移動方向特定部において前記移動方向が特定された順序が前記所定順序を示すかどうかを判断し、前記移動方向特定部で前記移動方向が特定されたとき、当該移動方向と前記履歴情報が示す前記移動方向特定部において前記検知対象物の移動方向が特定された順序との組み合わせが前記所定順序のうちの先頭から始まる部分に含まれる場合には前記履歴情報を更新し、当該組み合わせが前記所定順序のうちの先頭から始まる部分に含まれない場合には前記履歴情報をクリアする。
【０００９】
また、本発明に係るジェスチャー検出装置の一態様では、前記判定部は、前記移動方向特定部において前記検知対象物の移動方向が特定された順序が、前記所定順序を含む複数種類の順序に含まれる場合に、前記検知対象物が前記第１動作を行っていると判定する。
【００１０】
また、本発明に係るジェスチャー検出装置の一態様では、前記第１動作には、前記座標平面上で前記検知対象物が第１方向に回転する第１回転動作と、前記座標平面上で前記検知対象物が前記第１方向とは反対の第２方向に回転する第２回転動作とが含まれ、前記判定部は、前記移動方向特定部において前記検知対象物の移動方向が特定された順序が第１所定順序を示す場合に、前記検知対象物が前記第１回転動作を行っていると判定し、前記移動方向特定部において前記検知対象物の移動方向が特定された順序が前記第１所定順序とは異なる第２所定順序を示す場合に、前記検知対象物が前記第２回転動作を行っていると判定する。
【００１１】
また、本発明に係るジェスチャー検出装置の一態様では、前記判定部は、前記移動方向特定部において前記検知対象物の移動方向が特定された順序を履歴情報として保持し、前記履歴情報に基づいて、前記移動方向特定部において前記移動方向が特定された順序が前記第１及び第２所定順序のいずれを示すかどうかを判断し、前記移動方向特定部で前記移動方向が特定されたとき、当該移動方向と前記履歴情報が示す前記移動方向特定部において前記検知対象物の移動方向が特定された順序との組み合わせが、前記第１所定順序のうちの先頭から始まる部分及び前記第２所定順序のうちの先頭から始まる部分のいずれかに含まれる場合には前記履歴情報を更新し、当該組み合わせが前記第１所定順序のうちの先頭から始まる部分及び前記第２所定順序のうちの先頭から始まる部分のいずれにも含まれない場合には前記履歴情報をクリアする。
【００１２】
また、本発明に係るジェスチャー検出装置の一態様では、前記判定部は、前記移動方向特定部において前記検知対象物の移動方向が特定された順序が、前記第１所定順序を含む複数種類の第１順序に含まれる場合に、前記検知対象物が前記第１回転動作を行っていると判定し、前記移動方向特定部において前記検知対象物の移動方向が特定された順序が、前記第２所定順序を含む複数種類の第２順序に含まれる場合に、前記検知対象物が前記第２回転動作を行っていると判定する。
【００１３】
また、本発明に係るジェスチャー検出装置の一態様では、前記動作検出部は、前記第１座標軸に沿って前記検知対象物が動く第２動作を前記第１テーブルに基づいて検出し、前記ジェスチャー検出部は、前記動作検出部が前記第１及び第２動作の両方を検出したときには、前記第１動作を前記動きパターンとし、前記動作検出部が前記第２動作を検出し、かつ前記第１動作を検出しないときには、前記第２動作を前記動きパターンとする。
【００１４】
また、本発明に係るジェスチャー検出装置の一態様では、前記テーブル保持部は、前記第１及び第２座標軸に垂直な第３座標軸での前記検知対象物の位置を示す第３座標値が同一方向に連続して変化する回数、および前記第３座標値が同一方向に連続して変化する際の前記第３座標値の変化量の累積値のうちの少なくとも１つと、前記第３座標値が同一方向に連続して変化する際の前記第３座標値の変化方向とを含む、前記第３座標値に関する情報を保持する第３テーブルを保持し、前記テーブル更新部は、順次入力される前記第３座標値に基づいて前記第３テーブル内の前記第３座標値に関する情報を更新し、前記動作検出部は、前記第３座標軸に沿って前記検知対象物が動く第２動作を前記第３テーブルに基づいて検出し、前記ジェスチャー検出部は、前記動作検出部が前記第１及び第２動作の両方を検出したときには、前記第１動作を前記動きパターンとし、前記動作検出部が前記第２動作を検出し、かつ前記第１動作を検出しないときには、前記第２動作を前記動きパターンとする。
【００１５】
また、本発明に係るジェスチャー検出装置の一態様では、前記動作検出部は、前記第１座標軸に沿って前記検知対象物がプラス方向及びマイナス方向に交互に動く第３動作を前記第１テーブルに基づいて検出し、前記ジェスチャー検出部は、前記動作検出部が前記第３動作を検出したときには、前記第３動作を前記動きパターンとする。
【００１６】
また、本発明に係るジェスチャー検出装置の一態様では、前記テーブル保持部は、前記１及び第２座標軸に垂直な第３座標軸での前記検知対象物の位置を示す第３座標値が同一方向に連続して変化する回数、および前記第３座標値が同一方向に連続して変化する際の前記第３座標値の変化量の累積値のうちの少なくとも１つと、前記第３座標値が同一方向に連続して変化する際の前記第３座標値の変化方向とを含む、前記第３座標値に関する情報を保持する第３テーブルを保持し、前記テーブル更新部は、順次入力される前記第３座標値に基づいて前記第３テーブル内の前記第３座標値に関する情報を更新し、前記動作検出部は、前記第３座標軸に沿って前記検知対象物がプラス方向およびマイナス方向に交互に動く第３動作を前記第３テーブルに基づいて検出し、前記ジェスチャー検出部は、前記動作検出部が前記第３動作を検出したときには、前記第３動作を前記動きパターンとする。
【００１７】
また、本発明に係るジェスチャー検出装置の一態様では、前記第１及び第２座標値は、前記検知対象物の位置を検出し、前記座標平面に平行な検出面を有する位置検出装置から出力され、前記位置検出装置は、前記第１及び第２座標軸に垂直な第３座標軸での前記検知対象物の位置を示す第３座標値を出力し、前記動作検出部は、前記第１座標軸に沿って前記検知対象物が動く第２動作を前記第１テーブルに基づいて検出し、前記第３座標値に基づいて、前記検知対象物が存在するか否かを特定する検知対象物有無特定部を更に備え、前記ジェスチャー検出部は、前記動作検出部が前記第１及び第２動作の両方を検出したときには、前記第１動作を前記動きパターンとし、前記判定部が履歴情報を保持しておらず、かつ前記動作検出部によって前記第２動作が検出されているときには、当該第２動作を動きパターンとし、前記検知対象物有無特定部によって前記検知対象物が存在すると特定された場合において、前記判定部が前記履歴情報を保持し、かつ前記動作検出部によって前記第２動作が検出されているときには、当該第２動作を前記動きパターンとせず、前記検知対象物有無特定部によって前記検知対象物が存在しないと特定された場合において、前記判定部が前記履歴情報を保持し、かつ前記動作検出部によって前記第１動作が検出されず前記第２動作が検出されているときには、当該第２動作を前記動きパターンとする。
【００１８】
また、本発明に係るジェスチャー検出装置の一態様では、前記第１及び第２座標値は、前記検知対象物の位置を検出し、前記第１座標軸に垂直な検出面を有する位置検出装置から出力され、前記動作検出部は、前記第１座標軸に沿って前記検知対象物が動く第２動作を前記第１テーブルに基づいて検出し、前記第１座標値に基づいて前記検知対象物が存在するか否かを特定する検知対象物有無特定部を更に備え、前記ジェスチャー検出部は、前記動作検出部が前記第１及び第２動作の両方を検出したときには、前記第１動作を前記動きパターンとし、前記判定部が履歴情報を保持しておらず、かつ前記動作検出部によって前記第２動作が検出されているときには、当該第２動作を動きパターンとし、前記検知対象物有無特定部によって前記検知対象物が存在すると特定された場合において、前記判定部が前記履歴情報を保持し、かつ前記動作検出部によって前記第２動作が検出されているときには、当該第２動作を前記動きパターンとせず、前記検知対象物有無特定部によって前記検知対象物が存在しないと特定された場合において、前記判定部が前記履歴情報を保持し、かつ前記動作検出部によって前記第１動作が検出されず前記第２動作が検出されているときには、当該第２動作を前記動きパターンとする。
【００１９】
また、本発明に係るジェスチャー検出装置の一態様では、前記第１及び第２座標値は、前記検知対象物の位置を検出し、前記座標平面に平行な検出面を有する位置検出装置から出力され、前記位置検出装置は、前記第１及び第２座標軸に垂直な第３座標軸での前記検知対象物の位置を示す第３座標値を出力し、前記テーブル保持部は、前記第３座標値が同一方向に連続して変化する回数、および前記第３座標値が同一方向に連続して変化する際の前記第３座標値の変化量の累積値のうちの少なくとも１つと、前記第３座標値が同一方向に連続して変化する際の前記第３座標値の変化方向とを含む、前記第３座標値に関する情報を保持する第３テーブルを保持し、前記テーブル更新部は、前記位置検出装置が順次出力する前記第３座標値に基づいて前記第３テーブル内の前記第３座標値に関する情報を更新し、前記動作検出部は、前記第３座標軸に沿って前記検知対象物が動く第２動作を前記第３テーブルに基づいて検出し、前記第３座標値に基づいて前記検知対象物が存在するか否かを特定する検知対象物有無特定部を更に備え、前記ジェスチャー検出部は、前記動作検出部が前記第１及び第２動作の両方を検出したときには、前記第１動作を前記動きパターンとし、前記判定部が履歴情報を保持しておらず、かつ前記動作検出部によって前記第２動作が検出されているときには、当該第２動作を動きパターンとし、前記検知対象物有無特定部によって前記検知対象物が存在すると特定された場合において、前記判定部が前記履歴情報を保持し、かつ前記動作検出部によって前記第２動作が検出されているときには、当該第２動作を前記動きパターンとせず、前記検知対象物有無特定部によって前記検知対象物が存在しないと特定された場合において、前記判定部が前記履歴情報を保持し、かつ前記動作検出部によって前記第１動作が検出されず前記第２動作が検出されているときには、当該第２動作を前記動きパターンとする。
【００２０】
また、本発明に係るジェスチャー検出装置の一態様では、前記第１及び第２座標値は、前記検知対象物の位置を検出し、前記第１座標軸に垂直な検出面を有する位置検出装置から出力され、前記位置検出装置は、前記第１及び第２座標軸に垂直な第３座標軸での前記検知対象物の位置を示す第３座標値を出力し、前記テーブル保持部は、前記第３座標値が同一方向に連続して変化する回数、および前記第３座標値が同一方向に連続して変化する際の前記第３座標値の変化量の累積値のうちの少なくとも１つと、前記第３座標値が同一方向に連続して変化する際の前記第３座標値の変化方向とを含む、前記第３座標値に関する情報を保持する第３テーブルを保持し、前記テーブル更新部は、前記位置検出装置が順次出力する前記第３座標値に基づいて前記第３テーブル内の前記第３座標値に関する情報を更新し、前記動作検出部は、前記第３座標軸に沿って前記検知対象物が動く第２動作を前記第３テーブルに基づいて検出し、前記第１座標値に基づいて、前記検知対象物が存在するか否かを特定する検知対象物有無特定部を更に備え、前記ジェスチャー検出部は、前記動作検出部が前記第１及び第２動作の両方を検出したときには、前記第１動作を前記動きパターンとし、前記判定部が履歴情報を保持しておらず、かつ前記動作検出部によって前記第２動作が検出されているときには、当該第２動作を動きパターンとし、前記検知対象物有無特定部によって前記検知対象物が存在すると特定された場合において、前記判定部が前記履歴情報を保持し、かつ前記動作検出部によって前記第２動作が検出されているときには、当該第２動作を前記動きパターンとせず、前記検知対象物有無特定部によって前記検知対象物が存在しないと特定された場合において、前記判定部が前記履歴情報を保持し、かつ前記動作検出部によって前記第１動作が検出されず前記第２動作が検出されているときには、当該第２動作を前記動きパターンとする。
【００２１】
また、本発明に係るジェスチャー検出装置の一態様では、前記テーブル更新部は、前記第１座標値が入力されたとき、前回入力された前記第１座標値に対する、今回入力された前記第１座標値の変化の方向が、前記第１テーブルに保持されている前記変化方向と異なり、かつ前回入力された前記第１座標値と今回入力された前記第１座標値との差が閾値より小さい場合には、前記第１テーブルを更新しない。
【００２２】
また、本発明に係るジェスチャー検出装置の一態様では、前記ジェスチャー検出装置に対して前記第１座標値が３つ入力されるたびに、入力された３つの前記第１座標値のうちの中央の座標値を前記テーブル更新部に出力する出力部をさらに備える。
【００２３】
また、本発明に係るジェスチャー検出装置の動作方法の一態様では、第１座標軸での検知対象物の位置を示す第１座標値に関する情報を保持する第１テーブルと、当該第１座標軸に垂直な第２座標軸での当該検知対象物の位置を示す第２座標値に関する情報を保持する第２テーブルとを保持するジェスチャー検出装置の動作方法であって、前記第１テーブル内の前記第１座標値に関する情報は、前記第１座標値が同一方向に連続して変化する回数、および前記第１座標値が同一方向に連続して変化する際の前記第１座標値の変化量の累積値のうちの少なくとも１つと、前記第１座標値が同一方向に連続して変化する際の前記第１座標値の変化方向とを含み、前記第２テーブル内の前記第２座標値に関する情報は、前記第２座標値が同一方向に連続して変化する回数、および前記第２座標値が同一方向に連続して変化する際の前記第２座標値の変化量の累積値のうちの少なくとも１つと、前記第２座標値が同一方向に連続して変化する際の前記第２座標値の変化方向とを含み、（ａ）前記ジェスチャー検出装置に順次入力される前記第１座標値に基づいて前記第１テーブル内の前記第１座標値に関する情報を更新し、前記ジェスチャー検出装置に順次入力される前記第２座標値に基づいて前記第２テーブル内の前記第２座標値に関する情報を更新する工程と、（ｂ）前記工程（ａ）で更新された前記第１及び第２テーブルに基づいて、前記検知対象物の動きのパターンを検出する工程とを備える。
【００２４】
また、本発明に係る制御プログラムの一態様は、第１座標軸での検知対象物の位置を示す第１座標値に関する情報を保持する第１テーブルと、当該第１座標軸に垂直な第２座標軸での当該検知対象物の位置を示す第２座標値に関する情報を保持する第２テーブルとを保持するジェスチャー検出装置を制御するための制御プログラムであって、前記第１テーブル内の前記第１座標値に関する情報は、前記第１座標値が同一方向に連続して変化する回数、および前記第１座標値が同一方向に連続して変化する際の前記第１座標値の変化量の累積値のうちの少なくとも１つと、前記第１座標値が同一方向に連続して変化する際の前記第１座標値の変化方向とを含み、前記第２テーブル内の前記第２座標値に関する情報は、前記第２座標値が同一方向に連続して変化する回数、および前記第２座標値が同一方向に連続して変化する際の前記第２座標値の変化量の累積値のうちの少なくとも１つと、前記第２座標値が同一方向に連続して変化する際の前記第２座標値の変化方向とを含み、前記ジェスチャー検出装置に、（ａ）前記ジェスチャー検出装置に順次入力される前記第１座標値に基づいて前記第１テーブル内の前記第１座標値に関する情報を更新し、前記ジェスチャー検出装置に順次入力される前記第２座標値に基づいて前記第２テーブル内の前記第２座標値に関する情報を更新する工程と、（ｂ）前記工程（ａ）で更新された前記第１及び第２テーブルに基づいて、前記検知対象物の動きのパターンを検出する工程とを実行させるためのものである。
【発明の効果】
【００２５】
本発明によると、簡単な処理で精度よくジェスチャーを検出することを可能とすることができる。
【図面の簡単な説明】
【００２６】
【図１】実施の形態に係る位置検出装置およびジェスチャー検出装置を示す図である。
【図２】ジェスチャー検出システムの動作を説明するための図である。
【図３】実施の形態に係るジェスチャー検出装置の電気的構成を示すブロック図である。
【図４】第一実施形態に係る制御部の機能的な構成を示す図である。
【図５】第１動作を説明するための図である。
【図６】第２動作を説明するための図である。
【図７】第３動作を説明するための図である。
【図８】第一実施形態に係る制御部の動作を説明するための図である。
【図９】テーブルに保持される情報を説明するための図である。
【図１０】第一実施形態に係るテーブル更新部の処理を説明するための図である。
【図１１】第１テーブルの一例を示す図である。
【図１２】第一実施形態に係るテーブル更新部の処理を説明するための図である。
【図１３】第一実施形態に係るテーブル更新部の処理を説明するための図である。
【図１４】第一実施形態に係る第１動作検出部の構成を示す図である。
【図１５】第一実施形態に係る第１動作検出部での処理を説明するための図である。
【図１６】ｘｙ座標平面上で検知対象物が第１動作を行った場合の一例を示す図である。
【図１７】位置検出装置で検出されたｘ座標値およびｙ座標値を示す図である。
【図１８】位置検出装置で検出されたｘ座標値を示す図である。
【図１９】第１テーブルの一例を示す図である。
【図２０】第一実施形態に係る移動方向特定部での処理を説明するための図である。
【図２１】第一実施形態に係る移動方向特定部での処理を説明するための図である。
【図２２】履歴情報の一例を示す図である。
【図２３】所定順序の一覧を示す図である。
【図２４】ｘｙ座標平面上で検知対象物の動作の一例を示す図である。
【図２５】履歴情報の一例を説明するための図である。
【図２６】第一実施形態に係る第１判定部での処理を説明するための図である。
【図２７】第一実施形態に係る第１判定部での処理を説明するための図である。
【図２８】第一実施形態に係る第１判定部での処理を説明するための図である。
【図２９】第一実施形態に係る第２動作検出部での処理を説明するための図である。
【図３０】第一実施形態に係る第３動作検出部の構成を示す図である。
【図３１】位置検出装置で検出されたｘ座標値を示す図である。
【図３２】第一実施形態に係る第３動作検出部での処理を説明するための図である。
【図３３】第一実施形態に係る特定部での処理を説明するための図である。
【図３４】第一実施形態の変形例に係る制御部の機能的な構成を示す図である。
【図３５】第一実施形態の変形例に係る制御部での処理を説明するための図である。
【図３６】第二実施形態に係る制御部の機能的な構成を示す図である。
【図３７】第二実施形態の変形例に係る制御部での処理を説明するための図である。
【図３８】第二実施形態に係る制御部の機能的な構成を示す図である。
【図３９】第二実施形態の変形例に係る制御部での処理を説明するための図である。
【図４０】第三実施形態に係るテーブル更新部での処理を説明するための図である。
【図４１】第四実施形態に係る制御部の機能的な構成を示す図である。
【図４２】第四実施形態に係る制御部での処理を説明するための図である。
【発明を実施するための形態】
【００２７】
＜＜１．ジェスチャー検出装置について＞＞
図１は、位置検出装置１００およびジェスチャー検出装置１の外観の一例を示す図である。位置検出装置１００は、例えば人の手や指といった検知対象物６０の位置を検出する。位置検出装置１００は、略直方体の形状を成している。位置検出装置１００の最長の一辺の長さは、例えば１０ｍｍ程度の長さであるが、図１では便宜上、実際よりも大きいサイズで位置検出装置１００が示されている。本実施の形態における位置検出装置１００には、光を透過させる窓が設けられており、その窓の内側に照明部１０１と受光部１０２とを備えている。なお、本実施の形態では、位置検出装置１００が、検知対象物６０を光学的に検出する場合を例に挙げて説明するが、例えば超音波等を用いて検知対象物６０の位置を検出するものであってもよい。
【００２８】
ジェスチャー検出装置１は、位置検出装置１００から時々刻々と入力される検知対象物６０の位置に基づいて、当該検知対象物６０の動きパターン（以後、検知対象物６０の動きパターンを「ジェスチャー」と呼ぶこともある）を検出する。ジェスチャー検出装置１は、図１に例示されるように、位置検出装置１００と一体に形成されていてもよいし、位置検出装置１００とは別体に形成されていてもよい。また、ジェスチャー検出装置１は、図１に示される例とは異なり、パーソナルコンピュータ（ＰＣ）で構成されていてもよい。
【００２９】
本実施の形態では、位置検出装置１００とジェスチャー検出装置１とで、検知対象物６０のジェスチャーを非接触で検出するジェスチャー検出システム１１０として機能する。ジェスチャー検出システム１１０は、ジェスチャーによって指示入力を行うことが可能な入力装置として用いることができる。なお、図１に示される位置検出装置１００およびジェスチャー検出装置１の形状は一例であり、図１に示される形状に限られない。
【００３０】
次に、ジェスチャー検出システム１１０の概略的な動作について、図１，２を参照しながら説明する。図２は、ジェスチャー検出システム１１０の動作を説明するための図である。図２に示されるステップＳ１００の処理は、位置検出装置１００によって行われる処理であり、ステップＳ１０４の処理はジェスチャー検出装置１によって行われる処理である。
【００３１】
まず、照明部１０１から光６１が照射され（図２のステップＳ１０１）、照明部１０１が照射する光６１が検知対象物６０で反射して反射光６２となる（図２のステップＳ１０２）。そして、受光部１０２の受光面で受光された、ステップＳ１０２における反射光６２に基づいて、位置検出装置１００は検知対象物６０の位置を求める。位置検出装置１００で求められる検知対象物６０の位置とは、図１に示されるように、ｘ軸、ｙ軸およびｚ軸から成るｘｙｚ直交座標系での検知対象物６０の位置を示す座標値である。
【００３２】
以後、特に断らない限り、単に「ｘ座標値」と言えば、位置検出装置１００で検出されるｘ軸での検知対象物６０の位置を示す値を意味する。また、単に、「ｙ座標値」と言えば、位置検出装置１００で検出されるｙ軸での検知対象物６０の位置を示す値を意味する。また、単に「ｚ座標値」と言えば、位置検出装置１００で検出されるｚ軸での検知対象物６０の位置を示す値を意味する。なお、本実施の形態では、受光部１０２の受光面がｘｙ座標平面に含まれる場合を例に挙げて説明する。ｘｙ座標平面の原点は、受光部１０２の受光面の中央位置であり、ｘｙ座標平面に垂直な方向の軸をｚ軸とする。そして、ジェスチャー検出装置１は、ステップＳ１００で検出されるｘ座標値、ｙ座標値およびｚ座標値に基づいて、検知対象物６０のジェスチャーを検出する（ステップＳ１０４）。
【００３３】
以下の第一〜第四実施形態では、位置検出装置１００で検出されるｘ座標値、ｙ座標値およびｚ座標値に基づいて、検知対象物６０のジェスチャーを検出するジェスチャー検出装置１について詳細に説明する。なお、第一〜第四実施形態では、ジェスチャー検出装置１にｘ座標値、ｙ座標値およびｚ座標値の３種類の座標値が入力される場合を例に挙げて説明する。しかし、ジェスチャー検出装置１に入力される座標値は１種類であってもよいし、２種類であってもよい。
【００３４】
＜＜２．第一実施形態＞＞
＜２−１．電気的構成について＞
図３は、ジェスチャー検出装置１の電気的構成を示すブロック図である。ジェスチャー検出装置１は、例えば、ＬＳＩ（Large Scale Integration）の一種であるマイクロコントローラ（マイコン）で構成される。
【００３５】
図３に示されるように、ジェスチャー検出装置１は、ＣＰＵ（Central Processing Unit）１０ａおよび記憶部１０ｂ等を有する制御部１０を備えている。ＣＰＵ１０ａが記憶部１０ｂに記憶されている制御プログラム１０ｃを実行することで、制御部１０に係る各種機能が実現される。記憶部１０ｂは、ＲＯＭ（Read Only Memory）及びＲＡＭ（Random Access Memory）等の、ＣＰＵ１０ａが読み取り可能な非一時的な記録媒体で構成されている。記憶部１０ｂは、ＲＯＭ及びＲＡＭ以外の、コンピュータが読み取り可能な非一時的な記録媒体を備えていても良い。また、図３に示されるように、制御部１０には、位置検出装置１００が接続されている。
【００３６】
＜２−２．機能ブロックについて＞
＜２−２−１．制御部について＞
制御部１０では、制御プログラム１０ｃが実行されることによって、複数の機能ブロックが形成される。図４は、制御部１０に形成される複数の機能ブロックの一部を示す図である。図４に示されるように、制御部１０は、テーブル更新部１１、テーブル保持部１２およびジェスチャー検出部１３を備えている。ジェスチャー検出部１３は、第１動作検出部１６、第２動作検出部１７および第３動作検出部１８を有する動作検出部１４と、特定部１５とを備えている。
【００３７】
テーブル保持部１２は、ｘ座標値に関する情報を保持するテーブルと、ｙ座標値に関する情報を保持するテーブルと、ｚ座標値に関する情報を保持するテーブルとのうちの少なくとも１つのテーブルを保持している。
【００３８】
本実施の形態では、便宜上、ｘ座標値に関する情報を保持するテーブルを「第１テーブル」と呼ぶ。また、ｙ座標値に関する情報を保持するテーブルを「第２テーブル」と呼ぶ。また、ｚ座標値に関する情報を保持するテーブルを「第３テーブル」と呼ぶ。また、第１テーブル、第２テーブルおよび第３テーブルを特に区別する必要がないときには、それぞれを「テーブル」と呼ぶ。テーブルの詳細については、後で詳しく説明する。
【００３９】
また、テーブル保持部１２が保持するテーブルの種類は、ジェスチャー検出装置１に入力される座標値の種類、およびジェスチャー検出装置１で検出させるジェスチャーの種類等に基づいて決定される。
【００４０】
テーブル更新部１１は、位置検出装置１００からジェスチャー検出装置１に入力されるｘ座標値、ｙ座標値およびｚ座標値に基づいて、テーブル保持部１２が保持するテーブルを更新する。より具体的には、テーブル更新部１１は、位置検出装置１００から順次入力されるｘ座標値に基づいて、テーブル保持部１２が保持する第１テーブル内のｘ座標値に関する情報を更新する。また、テーブル更新部１１は、位置検出装置１００から順次入力されるｙ座標値に基づいて、テーブル保持部１２が保持する第２テーブル内のｙ座標値に関する情報を更新する。また、テーブル更新部１１は、位置検出装置１００から順次入力されるｚ座標値に基づいて、テーブル保持部１２が保持する第３テーブル内のｚ座標値に関する情報を更新する。
【００４１】
ジェスチャー検出部１３は、テーブル更新部１１によって更新されたテーブルに基づいて、検知対象物６０のジェスチャーを検出する。より具体的には、動作検出部１４は、テーブル更新部１１によって更新されたテーブルに基づいて検知対象物６０のジェスチャーを暫定的に検出する。そして、動作検出部１４によって暫定的に検出されたジェスチャー（検出結果）に基づいて、特定部１５が検知対象物６０のジェスチャーを最終的に特定する。特定部１５によって特定されたジェスチャーは、ジェスチャー検出装置１での検出結果としてジェスチャー検出装置１の外部に出力される。
【００４２】
動作検出部１４で暫定的に検出することができるジェスチャーは、第１動作、第２動作および第３動作である。より具体的には、第１動作検出部１６によって第１動作が検出され、第２動作検出部１７によって第２動作が検出され、第３動作検出部１８によって第３動作が検出される。
【００４３】
図５は、第１動作を説明するための図である。第１動作は、２つの座標軸で特定される座標平面上で、検知対象物６０が回転する動作である。第１動作検出部１６は、ある座標平面上での第１動作を、当該座標平面上の座標値に関する情報、つまり２つのテーブルに基づいて検出する。図５に示される例では、検知対象物６０は、ｘｙ座標平面上で第１動作を行っている。したがって、第１動作検出部１６は、図５に示される第１動作を、第１テーブルおよび第２テーブルに基づいて検出する。なお、本実施の形態では、第１動作を「回転動作」と呼ぶこともある。
【００４４】
また、図５に示される例とは異なり、第１動作検出部１６は、ｘｚ座標平面上での第１動作およびｙｚ座標平面上での第１動作を検出することも可能である。第１動作検出部１６は、ｘｚ座標平面上での第１動作を、第１テーブル及び第３テーブルに基づいて検出する。同様に、第１動作検出部１６は、ｙｚ座標平面上での第１動作を、第２テーブル及び第３テーブルに基づいて検出する。
【００４５】
図６は、第２動作を説明するための図である。第２動作は、１つの座標軸に沿ってプラス方向もしくはマイナス方向に検知対象物６０が動く動作である。第２動作検出部１７は、ある座標軸に沿った第２動作を、当該座標軸での座標値に関する情報、つまり１つのテーブルに基づいて検出する。図６に示される例では、検知対象物６０は、ｘ軸に沿って当該ｘ軸のマイナス方向に向かって動いている。したがって、第２動作検出部１７は、図６に示される第２動作を、第１テーブルに基づいて検出する。また、第２動作検出部１７は、第１テーブルに基づいて、検知対象物６０がｘ軸に沿ってプラス方向に動く第２動作も検出することができる。本実施の形態では、ｘ軸に沿って検知対象物６０が動く第２動作を「左右動作」と呼ぶこともある。
【００４６】
また、図６に示される例とは異なり、第２動作検出部１７は、ｙ軸に沿って検知対象物６０が動く第２動作、およびｚ軸に沿って検知対象物６０が動く第２動作を検出することも可能である。第２動作検出部１７は、ｙ軸に沿って検知対象物６０が動く第２動作を、第２テーブルに基づいて検出する。本実施の形態では、ｙ軸に沿って検知対象物６０が動く第２動作を「上下動作」と呼ぶこともある。また、第２動作検出部１７は、ｚ軸に沿って検知対象物６０が動く第２動作を、第３テーブルに基づいて検出する。本実施の形態では、ｚ軸に沿って検知対象物が動く第２動作を「遠近動作」と呼ぶこともある。
【００４７】
図７は、第３動作を説明するための図である。第３動作は、１つの座標軸に沿って検知対象物６０がプラス方向およびマイナス方向に交互に短い距離を動く動作である。本実施の形態では、第３動作を「シェーク動作」と呼ぶこともある。第３動作検出部１８は、ある座標軸に沿った第３動作を、当該座標軸での座標値に関する情報、つまり１つのテーブルに基づいて検出する。図７に示される例では、検知対象物６０は、ｚ軸に沿った第３動作を行っている。したがって、第３動作検出部１８は、図７に示される第３動作を、第３テーブルに基づいて検出する。
【００４８】
また、第２動作と同様に、第３動作検出部１８は、検知対象物６０がｘ軸に沿って動く第３動作、および検知対象物６０がｙ軸に沿って動く第３動作を検出することも可能である。第３動作検出部１８は、検知対象物６０がｘ軸に沿って動く第３動作を、第１テーブルに基づいて検出する。また、第３動作検出部１８は、検知対象物６０がｙ軸に沿って動く第３動作を、第２テーブルに基づいて検出する。
【００４９】
＜２−２−２．制御部の動作＞
図８は、制御部１０の動作を説明するための図である。制御部１０の概略的な動作について、図４，８を参照しながら説明する。まず、位置検出装置１００からジェスチャー検出装置１に検知対象物６０の位置を示す座標値が入力されると、テーブル更新部１１が、テーブル保持部１２に保持されているテーブルを更新する（ステップＳ１）。次に、第１動作検出部１６が、第１動作を検出する（ステップＳ２）。次に、第２動作検出部１７が、第２動作を検出する（ステップＳ３）。次に、第３動作検出部１８が、第３動作を検出する（ステップＳ４）。後で詳しく述べるが、ステップＳ４の処理は、ステップＳ２及びステップＳ３の処理とは異なり、ジェスチャー検出装置１に検知対象物６０の位置を示す座標値が入力されるたびに行われるのではなく、テーブル更新部１１がテーブルを更新する際にある条件を満たした場合のみ行われる。そして、ステップＳ２〜４で暫定的に検出された第１〜第３動作（検出結果）に基づいて、特定部１５が検知対象物６０のジェスチャーを特定する（ステップＳ５）。
【００５０】
ここで、ステップＳ２〜Ｓ４の処理は、図８に示される順で行われなくてもよい。ステップＳ２〜Ｓ４の処理は、ステップＳ５の処理が開始されるまでに行われれば、どのような順番で処理が行われてもよい。
【００５１】
以下に、テーブル及びテーブル更新部１１と、第１動作検出部１６と、第２動作検出部１７と、第３動作検出部１８と、特定部１５とについて詳細に説明する。
【００５２】
＜２−３．テーブル及びテーブル更新部＞
ここでは、テーブル保持部１２が保持するテーブルについて説明した後に、テーブル更新部１１が行う処理について説明する。
【００５３】
＜テーブルに保持される情報について＞
既述したように、テーブル保持部１２は、ｘ座標値に関する情報を保持する第１テーブルと、ｙ座標値に関する情報を保持する第２テーブルと、ｚ座標値に関する情報を保持する第３テーブルとのうちの少なくとも１つのテーブルを保持している。
【００５４】
第１テーブルには、ｘ座標値が同一方向、つまりプラス方向もしくはマイナス方向に連続して変化する回数と、ｘ座標値が同一方向に連続して変化する際の当該ｘ座標値の変化量の累積値とのうちの少なくとも１つと、ｘ座標値が同一方向に連続して変化する際の当該ｘ座標値の変化方向とが保持されている。
【００５５】
図９は、テーブルに保持される情報を説明するための図である。図９の横軸は、時間を示しており、縦軸はジェスチャー検出装置１に入力されたｘ座標値の値を示している。図９には、時刻ｔ１〜ｔ６のそれぞれにおいて、ジェスチャー検出装置１に入力されたｘ座標値が示されている。また、図９に示される例では、時刻ｔ２〜ｔ５の間で、ジェスチャー検出装置１に入力されたｘ座標値がプラス方向に連続して変化している。
【００５６】
ここで、図９の時刻ｔ５に注目した場合、時刻ｔ５のときに第１テーブルに保持されるｘ座標値が同一方向に連続して変化する回数はＡとなる。ｘ座標値が同一方向に連続して変化する回数は、ｘ座標値の変化が現れたときを１回目と数える。したがって、Ａは３となる。
【００５７】
同様に、図９の時刻ｔ５に注目した場合、時刻ｔ５のときに第１テーブルに保持されるｘ座標値が同一方向に連続して変化する際の当該ｘ座標値の変化量の累積値はＢとなる。ｘ座標値がある方向に連続して変化する際の注目時刻での当該ｘ座標値の変化量の累積値は、ｘ座標値が当該ある方向へ変化した際の変化の始点となるｘ座標値から、注目時刻においてジェスチャー検出装置１に入力されたｘ座標値までの変化量に相当する。つまり、Ｂは、プラス方向への座標値の変化が始まった時刻ｔ２のときにジェスチャー検出装置１に入力されたｘ座標値と、注目時刻（即ち、時刻ｔ５）のときにジェスチャー検出装置１に入力されたｘ座標値との差となる。
【００５８】
同様に、図９の時刻ｔ５に注目した場合、時刻ｔ５のときに第１テーブルに保持されるｘ座標値が同一方向に連続して変化する際の当該ｘ座標値の変化方向は、プラス方向となる。ｘ座標値が同一方向に連続して変化する際の当該ｘ座標値の変化方向は、プラス方向およびマイナス方向のいずれかとなる。
【００５９】
上記の例では、ｘ座標値に関する情報を保持する第１テーブルについて説明したが、ｙ座標値に関する情報を保持する第２テーブル及びｚ座標値に関する情報を保持する第３テーブルについても第１テーブルと同様に考えることができる。
【００６０】
また、本実施形態では、テーブルに保持される、ある座標値が同一方向に連続して変化する回数を「変化回数」と呼ぶことがある。また、テーブルに保持される、ある座標値が同一方向に連続して変化する際の当該座標値の変化量の累積値を、「累積変化量」と呼ぶことがある。また、テーブルに保持される、ある座標値が同一方向に連続して変化する際の当該座標値の変化方向を「変化方向」と呼ぶことがある。
【００６１】
＜テーブル更新部が行う処理について＞
図１０は、テーブル更新部１１が行う処理を説明するための図である。図１０を参照しながら、テーブル更新部１１が行う処理について以下に説明する。なお、以下の説明では、テーブル更新部１１が、第１テーブルの更新を行う場合を例に挙げて説明するが、テーブル更新部１１が、第２テーブルの更新を行う場合および第３テーブルの更新を行う場合についても、同様に考えることができる。
【００６２】
まず、テーブル更新部１１は、ジェスチャー検出装置１にｘ座標値が入力されると、テーブル保持部１２に保持されている第１テーブルを取得する（ステップＳ１０）。次に、テーブル更新部１１は、今回入力されたｘ座標値から、ジェスチャー検出装置１に前回入力されたｘ座標値を減算する（ステップＳ１１）。ここで、本実施の形態では、ステップＳ１１で求められた値を、差分値αと呼ぶ。
【００６３】
ステップＳ１１で求められた差分値αは、今回入力されたｘ座標値と、前回入力されたｘ座標値との差を表している。また、ステップＳ１１で求められた差分値αが正の値（α＞０）であるときには、前回入力されたｘ座標値に対する、今回入力されたｘ座標値の変化の方向がプラス方向であると言える。反対に、ステップＳ１１で求められた差分値αが負の値（α＜０）であるときには、前回入力されたｘ座標値に対する、今回入力されたｘ座標値の変化の方向がマイナス方向であると言える。
【００６４】
なお、ステップＳ１１の処理で用いる、前回入力されたｘ座標値は、テーブル更新部１１によって一時的に記憶されているものとする。ただし、前回入力されたｘ座標値は、例えば、第１テーブルに保持されている等、テーブル更新部１１以外によって記憶されていてもよい。
【００６５】
次に、テーブル更新部１１は、ステップＳ１０で取得した第１テーブルが初期化されているかを調べる（ステップＳ１２）。より具体的には、テーブル更新部１１は、ステップＳ１０で取得した第１テーブルに変化回数、累積変化量および変化方向を示すデータが保持されているかを調べる。
【００６６】
ステップＳ１０で取得した第１テーブルが初期化されている場合には（ステップＳ１２でＹｅｓ）、テーブル更新部１１は、テーブル保持部１２に保持されている第１テーブルの変化回数に「１」を登録し（ステップＳ１３）、テーブル保持部１２に保持されている第１テーブルの累積変化量に、ステップＳ１１で求められた差分値αの絶対値「｜α｜」を登録する（ステップＳ１４）。そして、テーブル更新部１１は、ステップＳ１１で求めた差分値αが正の値か負の値かを判定する（ステップＳ１５）。
【００６７】
ステップＳ１１で求めたαが正の値である場合には（ステップＳ１５でＹｅｓ）、今回入力されたｘ座標値が、前回入力されたｘ座標値に対してプラス方向に変化しているので、テーブル更新部１１は、テーブル保持部１２に保持されている第１テーブルの変化方向に「プラス方向」を登録する（ステップＳ１６）。一方、ステップＳ１１で求めた差分値αが負の値である場合には（ステップＳ１５でＮｏ）、今回入力されたｘ座標値が、前回入力されたｘ座標値に対してマイナス方向に変化しているので、テーブル更新部１１は、テーブル保持部１２に保持されている第１テーブルの変化方向に「マイナス方向」を登録する（ステップＳ１７）。
【００６８】
なお、ステップＳ１５の処理において、ステップＳ１１で求められた差分値αが０である場合には、テーブル更新部１１は処理を終了する。つまり、検知対象物６０が動いていないときには、テーブル更新部１１は、テーブル保持部１２に保持されている第１テーブルの更新を行わない。
【００６９】
ステップＳ１２に戻り、ステップＳ１０で取得した第１テーブルが初期されていない場合には（ステップＳ１２でＮｏ）、テーブル更新部１１は、ステップＳ１１で求めた差分値αが正の値か負の値かを調べる（ステップＳ１８）。
【００７０】
ステップＳ１１で求めた差分値αが正の値である場合、つまり、今回入力されたｘ座標値が、前回入力されたｘ座標値に対してプラス方向に変化している場合には（ステップＳ１８でＹｅｓ）、テーブル更新部１１は、ステップＳ１０で取得した第１テーブルに保持されている変化方向が「プラス方向」であるか否かを調べる（ステップＳ１９）。第１テーブルに保持されている変化方向がプラス方向である場合、つまりｘ座標値が前回に引き続き今回もプラス方向に変化している場合には（ステップＳ１９でＹｅｓ）、テーブル更新部１１は、ステップＳ１０で取得した第１テーブルに保持されている変化回数に「＋１」を加算した値を、テーブル保持部１２に保持されている第１テーブルに登録する（ステップＳ２０）。そして、テーブル更新部１１は、ステップＳ１０で取得した第１テーブルに保持されている累積変化量に「｜α｜」を加算した値を、テーブル保持部１２に保持されている第１テーブルに登録する（ステップＳ２１）。なお、ｘ座標値は前回に引き続き同一方向に変化しているため、テーブル更新部１１はテーブル保持部１２に保持されている第１テーブルの変化方向の更新は行わない。
【００７１】
ステップＳ１９に戻り、ステップＳ１０で取得した第１テーブルに保持されている方向がプラス方向でない場合（ステップＳ１９でＮｏ）、つまり前回までのｘ座標値の変化方向（マイナス方向）と、前回入力されたｘ座標値に対する、今回入力されたｘ座標値の変化の方向（プラス方向）とが逆である場合には、テーブル更新部１１は、第３動作検出部１８に対して、変化方向が変わった旨の通知を行い（ステップＳ２２）、さらにテーブル保持部１２に保持されている第１テーブルを初期化する（ステップＳ２３）。このように、ｘ座標値の同一方向に変化していない場合には、テーブル更新部１１はテーブル保持部１２に保持されている第１テーブルの初期化を行う。また、後で詳しく述べるが、第３動作検出部１８は、ステップＳ２３で初期化される直前のテーブルを用いて第３動作の検知処理を行う。そのため、テーブル更新部１１は、ステップＳ２３でテーブルの初期化を行う前に、第３動作検出部１８に通知を行う。第３動作検出部１８は、テーブル更新部１１から通知を受けると、初期化される前のテーブルをテーブル保持部１２から取得する。
【００７２】
ステップＳ１８に戻り、ステップＳ１１で求められた差分値αが負の値である場合、つまり今回入力されたｘ座標値が、前回入力されたｘ座標値に対してマイナス方向に変化している場合には（ステップＳ１８でＮｏ）、テーブル更新部１１は、ステップＳ１０で取得された第１テーブルに保持されている変化方向が「プラス方向」であるか否かを調べる（ステップＳ２４）。
【００７３】
ステップＳ１０で取得された第１テーブルに保持されている変化方向がプラス方向である場合、つまり、前回までのｘ座標値の変化方向（プラス方向）と、前回入力されたｘ座標値に対する、今回入力されたｘ座標値の変化の方向（マイナス方向）とが逆である場合には（ステップＳ２４でＹｅｓ）、テーブル更新部１１は、第３動作検出部１８に対して、変化方向が変わった旨の通知を行い（ステップＳ２２）、テーブル保持部１２に保持されている第１テーブルを初期化する（ステップＳ２３）。
【００７４】
なお、ステップＳ１８の処理において、ステップＳ１１で求められた差分値αが０である場合には、テーブル更新部１１は処理を終了する。つまり、検知対象物６０がｘ軸に沿って動いていないときには、テーブル更新部１１は、テーブル保持部１２に保持されている第１テーブルの更新を行わない。
【００７５】
ステップＳ２４に戻り、第１テーブルに保持されている変化方向がプラス方向でない場合、つまりｘ座標値が前回に引き続き今回もマイナス方向に変化している場合には（ステップＳ２４でＮｏ）、テーブル更新部１１は、ステップＳ１０で取得した第１テーブルに保持されている変化回数に「＋１」を加算した値を、テーブル保持部１２に保持されている第１テーブルに登録する（ステップＳ２０）。そして、テーブル更新部１１は、ステップＳ１０で取得した第１テーブルに保持されている累積変化量に、ステップＳ１１で求められたαの絶対値「｜α｜」を加算した値を、テーブル保持部１２に保持されている第１テーブルに登録する（ステップＳ２１）。
【００７６】
このように、本実施の形態では、ジェスチャー検出部１３（動作検出部１４）が検知対象物６０のジェスチャーを検出するために用いる各テーブルを、ジェスチャー検出装置１に入力される検知対象物６０の位置を示す座標値と、テーブル保持部１２に保持されているテーブルとに基づいて、簡単に更新することができる。その結果、ジェスチャー検出装置１は、簡単な処理で検知対象物６０のジェスチャーを検出することができる。
【００７７】
なお、テーブル更新部１１は、テーブル保持部１２が保持するテーブルに変化回数の情報が保持されない場合には、ステップＳ１３及びステップＳ２０の処理を行わない。同様に、テーブル更新部１１は、テーブル保持部１２が保持するテーブルに累積変化量の情報が保持されない場合には、ステップＳ１４及びステップＳ２１の処理を行わない。
【００７８】
＜テーブル更新部が行う処理の一例＞
図１１は、第１テーブルの一例を示す図である。図１１には、時刻ｔ１〜ｔ４においてジェスチャー検出装置１に入力されたｘ座標値と、第１テーブル（変化回数、累積変化量および変化方向）との関係が示されている。図１０，１１を参照しながら、テーブル更新部１１によって行われる第１テーブルの更新処理の一例を以下に説明する。
【００７９】
図１１に示されるように、時刻ｔ１では、ジェスチャー検出装置１にｘ座標値として「３０」が入力されている。テーブル更新部１１は、時刻ｔ１以前にジェスチャー検出装置１に入力されたｘ座標値（つまり、前回ジェスチャー検出装置１に入力されたｘ座標値）を記憶していないため、時刻ｔ１では処理を行わない。
【００８０】
なお、時刻ｔ１では、第１テーブルは初期化されている。つまり、時刻ｔ１のときにテーブル保持部１２が保持する第１テーブルには、変化回数、累積変化量および変化方向を示すデータが保持されていない。
【００８１】
次に、時刻ｔ２でジェスチャー検出装置１にｘ座標値として「４５」が入力されると、テーブル更新部１１は、時刻ｔ１のときにジェスチャー検出装置１にｘ座標値として入力された「３０」と、時刻ｔ２のときにジェスチャー検出装置１に入力されたｘ座標値「４５」と、時刻ｔ１のときの第１テーブルとを用いて、当該第１テーブルに変化回数、累積変化量および変化方向を登録する。
【００８２】
まず、時刻ｔ２のときにジェスチャー検出装置１に入力されたｘ座標値「４５」から、時刻ｔ１のときにジェスチャー検出装置１に入力されたｘ座標値「３０」を減算すると、「１５（＝α）」となる（図１０のステップＳ１１）。そして、時刻ｔ１のときのテーブル（更新前のテーブル）は、初期化されている（図１０のステップＳ１２でＹｅｓ）。
【００８３】
したがって、時刻ｔ２では、テーブル更新部１１は、テーブル保持部１２に保持される第１テーブルの変化回数に、ｘ座標値の変化が１回目であることを示す「１」を登録する（図１０のステップＳ１３）。続いて、時刻ｔ２では、テーブル更新部１１は、テーブル保持部１２に保持される第１テーブルの累積変化量に「１５（＝｜α｜）」を登録する（図１０のステップＳ１５）。そして、ステップＳ１１で求められた値α（＝１５）が正の値であるため（図１０のステップＳ１５でＹｅｓ）、テーブル更新部１１は、テーブル保持部１２に保持されている第１テーブルの変化方向に「プラス方向」を登録する（図１０のステップＳ１６）。
【００８４】
次に、時刻ｔ３でジェスチャー検出装置１にｘ座標値として「４８」が入力されると、テーブル更新部１１は、時刻ｔ２のときにジェスチャー検出装置１にｘ座標値として入力された「４５」と、時刻ｔ３のときにジェスチャー検出装置１にｘ座標値として入力された「４８」と、時刻ｔ２のときにテーブル更新部１１に更新された第１テーブルとを用いて、テーブル保持部１２に保持されている第１テーブルを更新する。
【００８５】
まず、時刻ｔ３のときにジェスチャー検出装置１に入力されたｘ座標値「４８」から、時刻ｔ２のときにジェスチャー検出装置１に入力されたｘ座標値「４５」を減算すると、「３（＝α）」となる（図１０のステップＳ１１）。また、時刻ｔ２のときにテーブル更新部１１に更新された第１テーブルには、変化回数「１」、累積変化量「１５」および変化方向「プラス方向」が登録されている（図１０のステップＳ１２でＮｏ）。そして、ステップＳ１１で求められた値α（＝３）は正の値であり（図１０のステップＳ１８でＹｅｓ）、ステップＳ１０で取得した第１テーブルの変化方向には「プラス方向」が登録されている（図１０のステップＳ１９でＹｅｓ）。
【００８６】
したがって、時刻ｔ３では、テーブル更新部１１は、ステップＳ１０で取得した第１テーブルに保持されている変化回数「１」に「＋１」を加算した値「２」を、テーブル保持部１２に保持されている第１テーブルの変化回数に登録する（図１０のステップＳ２０）。続いて、テーブル更新部１１は、ステップＳ１０で取得した第１テーブルに保持されている累積変化量「１５」に「｜３（＝α）｜」を加算した値「１８」を、テーブル保持部１２に保持されている第１テーブルの累積変化量に登録する。
【００８７】
次に、時刻ｔ４でジェスチャー検出装置１にｘ座標値として「４０」が入力されると、テーブル更新部１１は、時刻ｔ３のときにジェスチャー検出装置１にｘ座標値として入力された「４８」と、時刻ｔ４のときにジェスチャー検出装置１にｘ座標値として入力された「４０」と、時刻ｔ３のときにテーブル更新部１１に更新された第１テーブルとを用いて、テーブル保持部１２に保持されている第１テーブルを更新する（図１０のステップＳ１０）。
【００８８】
まず、時刻ｔ４のときにジェスチャー検出装置１に入力されたｘ座標値「４０」から、時刻ｔ３のときにジェスチャー検出装置１に入力されたｘ座標値「４８」を減算すると、「−８（＝α）」となる（図１０のステップＳ１１）。また、ステップＳ１０で取得された第１テーブルには、変化回数「２」、累積変化量「１８」および変化方向「プラス方向」が登録されている（図１０のステップＳ１２でＮｏ）。そして、−８（＝α）は負の値であり（図１０のステップＳ１８でＮｏ）、ステップＳ１０で取得された第１テーブルの変化方向には「プラス方向」が登録されている（図１０のステップＳ２４でＹｅｓ）。したがって、テーブル更新部１１は、第３動作検出部１８に、変化方向が変わった旨の通知を行い（図１０のステップＳ２２）、テーブル保持部１２に保持されている第１テーブルの初期化を行う（図１０のステップＳ２３）。
【００８９】
以後、同様にして、テーブル更新部１１は、ジェスチャー検出装置１に入力されたｘ座標値と、第１テーブルとに基づいてテーブル保持部１２に保持されている第１テーブルの更新を行う。
【００９０】
＜テーブル更新部が複数のテーブルの更新を行う場合＞
図１２，１３は、テーブル更新部１１が、テーブル保持部１２に保持されている３種類のテーブル（第１テーブル、第２テーブルおよび第３テーブル）の更新を行うときの処理の流れを示す図である。
【００９１】
図１２に例示されるように、テーブル更新部１１は、３種類のテーブルの更新を行うときには、ジェスチャー検出装置１に入力されたｘ座標値を用いて、テーブル保持部１２に保持されている第１テーブルの更新を行った後に（ステップＳ１ａ）、ジェスチャー検出装置１に入力されたｙ座標値を用いて、テーブル保持部１２に保持されている第２テーブルの更新を行い（ステップＳ１ｂ）、ジェスチャー検出装置１に入力されたｚ座標値を用いて、テーブル保持部１２に保持されている第３テーブルの更新を行う（ステップＳ１ｃ）。なお、図１２に示される処理は一例であり、テーブル更新部１１によって更新が行われるテーブルの数および更新が行われる順番は、図１２に示される例に限定されない。
【００９２】
また、テーブル更新部１１は、図１３に示されるように、前回ジェスチャー検出装置１に入力された値と、今回ジェスチャー検出装置１に入力された値とに変化がない（つまり、前回ジェスチャー検出装置１に入力された値と、今回ジェスチャー検出装置１に入力された値とが同じ値である）場合には、座標値を用いたテーブルの更新処理は行わなくてもよい。
【００９３】
図１３に示されるように、テーブル更新部１１は今回ジェスチャー検出装置１に入力されたｘ座標値と、前回ジェスチャー検出装置１に入力されたｘ座標値とに変化があるかを判定する（ステップＳ２５ａ）。今回ジェスチャー検出装置１に入力されたｘ座標値と前回ジェスチャー検出装置１に入力されたｘ座標値とに変化がある場合には（ステップＳ２５ａでＹｅｓ）、テーブル更新部１１は、テーブル保持部１２に保持されている第１テーブルの更新処理を行う（ステップＳ１ａ）。
【００９４】
一方、今回ジェスチャー検出装置１に入力されたｘ座標値と前回ジェスチャー検出装置１に入力されたｘ座標値とに変化がない場合には（ステップＳ２５ａでＮｏ）、テーブル更新部１１は、テーブル保持部１２に保持されている第１テーブルの更新処理を行わずに次の処理（図１３に示される例ではステップＳ２５ｂ）を開始する。
【００９５】
今回ジェスチャー検出装置１に入力されたｘ座標値と、前回ジェスチャー検出装置に入力されたｘ座標値とが同じであることから、検知対象物６０がｘ軸に沿って動いていないと言える。検知対象物６０がｘ軸に沿って動いていないときには、テーブル更新部１１がテーブル保持部１２に保持される第１テーブルの更新処理を行っても、当該第１テーブルが保持する情報は変わらない。そのため、上記のように、前回ジェスチャー検出装置１に入力されたｘ座標値と、前回ジェスチャー検出装置に入力されたｘ座標値とが同じである場合に、テーブル更新部１１が、テーブル保持部１２に保持されている第１テーブルの更新を行わない。その結果、ジェスチャー検出装置１は、検知対象物６０が動いていないときの、ジェスチャー検出装置１が行う処理の量を削減することができる。
【００９６】
同様に、テーブル更新部１１は、今回ジェスチャー検出装置１に入力されたｙ座標値と、前回ジェスチャー検出装置１に入力されたｙ座標値とに変化があるかを調べる（ステップＳ２５ｂ）。今回ジェスチャー検出装置１に入力されたｙ座標値と前回ジェスチャー検出装置１に入力されたｙ座標値とに変化がある場合には（ステップＳ２５ｂでＹｅｓ）、テーブル更新部１１は、テーブル保持部１２に保持されている第２テーブルを更新処理を行う（ステップＳ１ｂ）。反対に、ジェスチャー検出装置１に入力されたｙ座標値と前回ジェスチャー検出装置１に入力されたｙ座標値とに変化がない場合には（ステップＳ２５ｂでＮｏ）、テーブル更新部１１は、テーブル保持部１２に保持されている第２テーブルの更新処理を行わない。
【００９７】
同様に、テーブル更新部１１は、今回ジェスチャー検出装置１に入力されたｚ座標値と、前回ジェスチャー検出装置１に入力されたｚ座標値とに変化があるかを調べる（ステップＳ２５ｃ）。今回ジェスチャー検出装置１に入力されたｚ座標値と前回ジェスチャー検出装置１に入力されたｚ座標値とに変化がある場合には（ステップＳ２５ｃでＹｅｓ）、テーブル更新部１１は、テーブル保持部１２に保持されている第３テーブルの更新処理を行う（ステップＳ１ｃ）。反対に、ジェスチャー検出装置１に入力されたｚ座標値と前回ジェスチャー検出装置１に入力されたｚ座標値とに変化がない場合には（ステップＳ２５ｃでＮｏ）、テーブル更新部１１は、テーブル保持部１２に保持されている第３テーブルの更新処理を行わない。
【００９８】
＜２−４．第１動作検出部の概要＞
既述したように、第１動作検出部１６は、図５に示されるような回転動作を、２つのテーブルに基づいて検出する。より具体的には、第１動作検出部１６は、ｘｙ座標平面上で検知対象物６０が回転する第１動作を検出する場合には、テーブル更新部１１によって更新された第１および第２テーブルを用いて検出処理を行う。また、第１動作検出部１６は、ｘｚ座標平面上で検知対象物６０が回転する第１動作を検出する場合には、テーブル更新部１１によって更新された第１および第３テーブルを用いて検出処理を行う。また、第１動作検出部１６は、ｙｚ座標平面上で検知対象物６０が回転する第１動作を検出する場合には、テーブル更新部１１によって更新された第２及び第３テーブルを用いて検出処理を行う。
【００９９】
図１４は、第１動作検出部１６の構成を示す図である。図１５は、第１動作検出部１６での処理を説明するための図である。図１４に示されるように、第１動作検出部１６は、移動方向特定部２０および第１判定部２１を有している。第１動作検出部１６の概略的な動作について、図１４，１５を参照しながら以下に説明する。
【０１００】
まず、移動方向特定部２０が、テーブル更新部１１によって更新された２つのテーブルに基づいて検知対象物６０が移動した方向（移動方向）を特定する（ステップＳ３０）。続いて、第１判定部２１が、移動方向特定部２０において検知対象物６０の移動方向が特定された順序を履歴情報として保持する（ステップＳ３１）。そして、第１判定部２１は、履歴情報に基づいて、移動方向特定部２０において検知対象物６０の移動方向が特定された順序が、所定順序を示すか否かを判定する（ステップＳ３２）。履歴情報に基づいて、移動方向特定部２０において検知対象物６０の移動方向が特定された順序が、所定順序を示す場合には、第１判定部２１は、検知対象物６０が第１動作を行ったと判定する。
【０１０１】
図１６，１７を参照しながら、第１判定部２１がステップＳ３２の処理で用いる所定順序について以下に説明する。図１６は、ｘｙ座標平面上で検知対象物６０が第１動作を行った場合の一例を示す図である。図１７は、検知対象物６０によって図１６に示される第１動作が行われたときに、位置検出装置１００が検出したｘ座標値およびｙ座標値を示す図である。なお、以下の説明では、検知対象物６０がｘｙ座標平面上で第１動作を行った場合を例に挙げて説明するが、検知対象物６０が他の座標平面上（より具体的には、ｘｚ座標平面上もしくはｙｚ座標平面上）で第１動作を行う場合も同様に考えることができる。
【０１０２】
図１６には、時刻Ｔ０〜Ｔ４までの検知対象物６０の動きが示されている。図１６に示される例では、検知対象物６０は、時刻Ｔ０〜Ｔ４に示される動きを行うことで、時計回りに回転する第１動作を行っている。本実施の形態では、便宜上、図１６に示されるように、ｘ軸のプラス方向を「右方向」と呼び、ｘ軸のマイナス方向を「左方向」と呼ぶ。同様に、ｙ軸のプラス方向を「上方向」と呼び、ｙ軸のマイナス方向を「下方向」と呼ぶ。
【０１０３】
より具体的には、時刻Ｔ０〜Ｔ１では、検知対象物６０はｘｙ座標平面における左下の領域から、ｘｙ座標平面における左上の領域に向かって、ｘｙ座標平面の原点を中心に円弧を描くように移動している。時刻Ｔ１〜Ｔ２では、検知対象物６０はｘｙ座標平面における左上の領域から、ｘｙ座標平面における右上の領域に向かって、ｘｙ座標平面の原点を中心に円弧を描くように移動している。時刻Ｔ２〜Ｔ３では、検知対象物６０は、ｘｙ座標平面における右上の領域から、ｘｙ座標平面における右下の領域に向かって、ｘｙ座標平面の原点を中心に円弧を描くように移動している。そして、時刻Ｔ３〜Ｔ４では、検知対象物６０は、ｘｙ座標平面における右下の領域から、ｘｙ座標平面における左下の領域に向かって、ｘｙ座標平面の原点を中心に円弧を描くように移動している。
【０１０４】
一方、図１７の上側のグラフには位置検出装置１００が検出したｘ座標値が示されており、下側のグラフには位置検出装置１００が検出したｙ座標値が示されている。それぞれのグラフにおいて、横軸は時間を示しており、縦軸は位置検出装置１００によって検出された座標値を示している。
【０１０５】
検知対象物６０が図１６に示されるような第１動作を行っている場合には、図１７に示されるように、時刻Ｔ０〜Ｔ１では、ｘ座標値はほとんど変化せず、ｙ座標値は上方向に変化する。つまり、時刻Ｔ０〜Ｔ１において、位置検出装置１００から入力されたｘ座標値及びｙ座標値から特定される検知対象物６０が移動する方向は、上方向であると言える。
【０１０６】
続いて、時刻Ｔ１〜Ｔ２では、ｘ座標値は右方向に変化し、ｙ座標値はほとんど変化しない。つまり、時刻Ｔ１〜Ｔ２において、位置検出装置１００から入力されたｘ座標値及びｙ座標値から特定される検知対象物６０が移動する方向は、右方向であると言える。
【０１０７】
続いて、時刻Ｔ２〜Ｔ３では、ｘ座標値はほとんど変化せず、ｙ座標値は下方向に変化する。つまり、時刻Ｔ２〜Ｔ３において、位置検出装置１００から入力されたｘ座標値及びｙ座標値から特定される検知対象物６０が移動する方向は、下方向であると言える。
【０１０８】
そして、時刻Ｔ３〜Ｔ４では、ｘ座標値は左方向に変化し、ｙ座標値はほとんど変化しない。つまり、時刻Ｔ３〜Ｔ４において、位置検出装置１００から入力されたｘ座標値及びｙ座標値から特定される検知対象物６０が移動する方向は、左方向であると言える。
【０１０９】
したがって、検知対象物６０が時計回りに回転する第１動作を行う場合には、位置検出装置１００から入力されたｘ座標値及びｙ座標値に基づいて、検知対象物６０が上方向に移動（図１６の時刻Ｔ０〜Ｔ１）したと特定された後には、当該検知対象物６０が右方向に移動（図１６の時刻Ｔ１〜Ｔ２）すると特定される。同様に、位置検出装置１００から入力されたｘ座標値及びｙ座標値に基づいて、検知対象物６０が右方向に移動（図１６の時刻Ｔ１〜Ｔ２）したと特定された後には、当該検知対象物６０が下方向に移動（図１６の時刻Ｔ２〜Ｔ３）すると特定される。同様に、位置検出装置１００から入力されたｘ座標値及びｙ座標値に基づいて、検知対象物６０が下方向に移動（図１６の時刻Ｔ２〜Ｔ３）したと特定された後には、検知対象物６０が左方向に移動（図１６の時刻Ｔ３〜Ｔ４）すると特定される。
【０１１０】
そして、検知対象物６０が図１６に示されるように、ｘｙ座標平面における左下の領域から時計回りに回転する第１動作を行った場合には、位置検出装置１００から入力されたｘ座標値及びｙ座標値に基づいて特定される検知対象物６０の移動方向は、上記のように上方向、右方向、下方向、左方向の順（所定順序）で変化する。
【０１１１】
したがって、本実施の形態における第１動作検出部１６では、移動方向特定部２０がテーブル更新部１１によって更新された２つのテーブルに基づいて、検知対象物６０の移動方向を特定し（ステップＳ３０）、第１判定部２１は、移動方向特定部２０において検知対象物６０の移動方向が特定された順序が、上方向、右方向、下方向、左方向といった所定順序を示す場合に、検知対象物６０が第１動作を行っていると判定する（ステップＳ３１，Ｓ３２）。
【０１１２】
なお、ステップＳ３２の処理で用いる所定順序は、上述した上方向、右方向、下方向、左方向の順序に限られない。検知対象物６０が座標平面上のどの位置から開始するか、当該時計回りに回転を行うか反時計回りに回転を行うかによって、ｘ座標値およびｙ座標値から特定されるべきである検知対象物６０の移動方向の順序は異なる。したがって、ステップＳ３２の処理で用いられる所定順序は、複数種類存在する。所定順序の種類については、後で説明する。
【０１１３】
なお、第１動作検出部１６は、複数の座標平面での第１動作を検出する場合には、図１５に示されるステップＳ２の処理を繰り返し行う。例えば、第１動作検出部１６が、ｘｙ座標平面上の第１動作と、ｘｚ座標平面上の第１動作とを検出する場合には、第１動作検出部１６は、ｘｙ座標平面上の第１動作を検出するために第１及び第２テーブルを用いてステップＳ２の処理を行った後に、ｘｚ座標平面上の第１動作を検出するために第１及び第３テーブルを用いてステップＳ２の処理を行えばよい。
【０１１４】
以下に、移動方向特定部２０および第１判定部２１について詳細に説明する。
【０１１５】
＜２−４−１．移動方向特定部＞
＜移動方向特定部で行われる処理について＞
既述したように移動方向特定部２０は、検知対象物６０が移動した方向を特定する。図１８は、位置検出装置１００で検出されたｘ座標値を示す図である。図１９は、図１８に示される時刻Ｔ１０，Ｔ１１でテーブル更新部１１に更新された第１テーブルを示す図である。図１８，１９を参照しながら、移動方向特定部２０が行う処理の概要を説明する。
【０１１６】
なお、以下の説明では、移動方向特定部２０が、第１テーブルに基づいて検知対象物６０の移動方向を特定する場合を例に挙げて説明するが、移動方向特定部２０が、第２テーブルに基づいて検知対象物６０の移動方向を特定する場合および第３テーブルに基づいて検知対象物６０の移動方向を特定する場合についても、同様に考えることができる。
【０１１７】
図１８，１９に示されるように、時刻Ｔ１０のときにテーブル更新部１１に更新された第１テーブルには、変化回数に「Ｃ１」が保持されており、累積変化量に「Ｌ１」が保持されており、変化方向に「プラス方向」が保持されている。この場合には、移動方向特定部２０は、変化回数Ｃ１が第１の閾値より大きく、かつ累積変化量Ｌ１が第２の閾値より大きい場合に、検知対象物６０がプラス方向（つまり、右方向）に移動していると特定する。
【０１１８】
同様に、時刻Ｔ１１のときにテーブル更新部１１に更新された第１テーブルには、変化回数に「Ｃ２」が保持されており、累積変化量に「Ｌ２」が保持されており、変化方向に「マイナス方向」が保持されている。この場合には、移動方向特定部２０は、変化回数Ｃ２が第１の閾値より大きく、かつ累積変化量Ｌ２が第２の閾値より大きい場合に、検知対象物６０がマイナス方向（つまり、左方向）に移動していると特定する。
【０１１９】
移動方向特定部２０は、テーブル更新部１１に更新されたテーブルに保持されている変化回数が第１の閾値より大きいか否かを判定することによって、当該第１の閾値に応じた第１時間より長い時間、検知対象物６０が同一方向に移動しているか否かを判定している。また、移動方向特定部２０は、テーブル更新部１１に更新されたテーブルに保持されている累積変化量が第２の閾値より大きいか否かを判定することによって、当該第２の閾値に応じた第１距離より長い距離を、検知対象物６０が同一方向に移動しているか否かを判定している。
【０１２０】
移動方向特定部２０は、テーブル更新部１１に更新されたテーブルに保持されている累積変化量が第２の閾値より大きい場合であっても、当該テーブルに保持されている変化回数が第１の閾値より小さい場合には、検知対象物６０が当該テーブルが保持する変化方向が示す方向に移動したと特定しない。つまり、検知対象物６０が早い速度で動作を行って、第１距離より長い距離を移動したとしても、当該動作を行う時間が第１時間より短い場合には、移動方向特定部２０は、検知対象物６０がテーブル更新部１１に更新されたテーブルに保持されている変化方向が示す方向に移動したと特定しない。そのため、本実施の形態に係る移動方向特定部２０は、ノイズ等の影響によりジェスチャー検出装置１に入力される座標値が一時的に大きく変化していた場合であっても、当該座標値の変化が検知対象物６０の動作によるものと判断しない。
【０１２１】
同様に、移動方向特定部２０は、テーブル更新部１１に更新されたテーブルに保持されている変化回数が第１の閾値より大きい場合であっても、当該テーブルに保持されている累積変化量が第２の閾値より小さい場合には、検知対象物６０が当該テーブルに保持されている変化方向が示す方向に移動したと判定しない。つまり、検知対象物６０が遅い速度で動作を行い、当該動作が第１時間より長い時間行われていても、検知対象物６０が第１距離より短い距離しか動いていない場合には、移動方向特定部２０は、検知対象物６０が移動したと判定しない。そのため、本実施の形態に係る移動方向特定部２０は、例えば、検知対象物６０がジェスチャーを行っていないときに、ジェスチャー検出装置１に入力される座標値に小さな変化が発生した場合でも、当該座標値の変化が検知対象物６０の動作によるものと判断しない。
【０１２２】
また、例えば、第１の閾値には４［回］が採用され、第２の閾値には３０［ｍｍ］が採用される。第１の閾値および第２の閾値は、ジェスチャー検出装置１の使用用途（例えば検知対象物６０が動く早さ、第１動作を行うときの回転の軌跡の大きさ等）等に応じて選択される。
【０１２３】
このように、本実施の形態では、移動方向特定部２０が、テーブルに保持されている変化回数（検知対象物６０が移動した時間）と累積変化量（検知対象物６０が動いた距離）とを用いて、検知対象物６０が移動したか否かを判断する。そのため、ノイズ等によってジェスチャー検出装置１に入力される座標値が変化した場合に、移動方向特定部２０によって当該座標値の変化が検知対象物６０の動作として特定されることを抑制することができる。その結果、ジェスチャー検出装置１のジェスチャーの検出精度を向上することができる。
【０１２４】
＜移動方向特定部での処理の流れ＞
図２０，２１は移動方向特定部２０が行う処理を説明するための図である。図２０，２１を参照しながら、移動方向特定部２０が行う処理の流れについて以下に説明する。
【０１２５】
図２０に示されるように、まず、移動方向特定部２０は第１動作の検出に用いる２つのテーブルを取得する（ステップＳ３５）。例えば、第１動作検出部１６でｘｙ座標平面上の第１動作を検出する場合には、移動方向特定部２０はステップＳ３５で、テーブル更新部１１によって更新された第１テーブル及び第２テーブルを取得する。次に、移動方向特定部２０は、検知対象物６０が下方向へ移動しているか否かを特定する（ステップＳ３６ａ）。図２１には、ステップＳ３６ａの処理の詳細が示されている。
【０１２６】
図２１に示されるように、移動方向特定部２０は、検知対象物６０が下方向へ移動しているか否かを特定するために必要なテーブル、つまりｙ座標値に基づいてテーブル更新部１１に更新された第２テーブルを取得する（ステップＳ４０）。
【０１２７】
続いて、移動方向特定部２０は、ステップＳ４０で取得した第２テーブルに保持されている変化方向が下方向（マイナス方向）か否かを調べる（ステップＳ４１）。移動方向特定部２０は、ステップＳ４０で取得した第２テーブルに保持されている変化方向が下方向でない場合には（ステップＳ４１でＮｏ）、検知対象物６０が下方向に移動していないと特定し（ステップＳ４２）、ステップＳ３６ａの処理を終了する。一方、移動方向特定部２０は、ステップＳ４０で取得した第２テーブルに保持されている変化方向が下方向である場合には（ステップＳ４１でＹｅｓ）、当該第２テーブルに保持されている変化回数が第１の閾値より大きいかを調べる（ステップＳ４３）。
【０１２８】
移動方向特定部２０は、ステップＳ４０で取得した第２テーブルに保持されている変化回数が第１の閾値より小さい場合、あるいは第１の閾値と同じ値である場合には（ステップＳ４３でＮｏ）、検知対象物６０が下方向に移動していないと特定し（ステップＳ４２）、ステップＳ３６ａの処理を終了する。一方、移動方向特定部２０は、ステップＳ４０で取得した第２テーブルに保持されている変化回数が、第１の閾値より大きい場合には（ステップＳ４３でＹｅｓ）、当該第２テーブルに保持されている累積変化量が第２の閾値より大きいかを調べる（ステップＳ４４）。なお、本実施の形態では、ステップＳ４０で取得した第２テーブルに保持されている変化回数と第１の閾値とが同じ値である場合には、移動方向特定部２０は検知対象物６０が下方向に移動していないと特定している。しかし、移動方向特定部２０は、ステップＳ４０で取得した第２テーブルに保持されている変化回数と第１の閾値とが同じ値である場合に、ステップＳ４４に進んでもよい。
【０１２９】
ステップＳ４４において、ステップＳ４０で取得した第２テーブルに保持されている累積変化量が第２の閾値より小さい場合、あるいは第２の閾値と同じ場合には（ステップＳ４４でＮｏ）、移動方向特定部２０は、検知対象物６０が下方向に移動していないと特定し（ステップＳ４２）、ステップＳ３６ａの処理を終了する。一方、移動方向特定部２０は、ステップＳ４０で取得した第２テーブルに保持されている累積変化量が第２の閾値より大きい場合には（ステップＳ４４でＹｅｓ）、検知対象物６０が下方向に移動していると特定し（ステップＳ４５）、ステップＳ３６ａの処理を終了する。なお、本実施の形態では、ステップＳ４０で取得した第２テーブルに保持されている累積変化量が第２の閾値と同じ値である場合には、移動方向特定部２０が、検知対象物６０が下方向に移動していないと特定している。しかし、移動方向特定部２０は、ステップＳ４０で取得した第２テーブルに保持されている累積変化量と第２の閾値とが同じ値である場合に、検知対象物６０が下方向に移動していると特定してもよい。
【０１３０】
図２０に戻り、ステップＳ３６ａ（図２１に示される処理）によって、検知対象物６０が下方向に移動していると特定された場合には（ステップＳ３６ａでＹｅｓ）、移動方向特定部２０は、検知対象物６０が下方向に移動したという特定結果を第１判定部２１に送出し（ステップＳ３７ａ）、ステップＳ３０の処理を終了する。反対に、ステップＳ３６ａ（図２１に示される処理）によって、検知対象物６０が下方向に移動していないと特定された場合には（ステップＳ３６ａでＮｏ）、移動方向特定部２０は、検知対象物６０が右方向に移動したか否かを判定する（ステップＳ３６ｂ）。
【０１３１】
ステップＳ３６ｂでは、移動方向特定部２０は、ステップＳ３６ａの処理と同様の手順で検知対象物６０が右方向に移動したか否かを特定する（図２１参照）。ステップＳ３６ａとステップＳ３６ｂとの違いは、処理に用いるテーブルと、判定に用いる変化方向とである。より具体的には、ステップＳ３６ａでは、第２テーブルを用いて処理を行うのに対し、ステップＳ３６ｂでは第１テーブルを用いて処理を行う。したがって、ステップＳ３６ｂでは、図２１に示されるステップＳ３６ａのステップＳ４０とは異なり、移動方向特定部２０は、第１テーブルを取得する。また、ステップＳ３６ａでは、検知対象物６０が下方向（マイナス方向）に移動しているか否かを判定するのに対し、ステップＳ３６ｂでは、検知対象物６０が右方向（プラス方向）に移動しているか否かを判定する。したがって、ステップＳ３６ｂでは、図２１に示されるステップＳ３６ａステップＳ４１とは異なり、移動方向特定部２０は、取得したテーブルに保持されている変化方向が右方向（プラス方向）か否かを判定する。
【０１３２】
なお、後述するステップ３６ｃでの検知対象物６０が上方向に移動しているか否かの特定及びステップＳ３６ｄでの検知対象物６０が右方向に移動しているか否かの特定も、ステップＳ３６ａ及びステップＳ３６ｂと同様の手順で行うことができる。
【０１３３】
図２０に戻り、ステップＳ３６ｂで、検知対象物６０が右方向に移動したと特定された場合には（ステップＳ３６ｂでＹｅｓ）、移動方向特定部２０は、検知対象物６０が右方向に移動したという特定結果を第１判定部２１に送出し（ステップＳ３７ｂ）、ステップＳ３０の処理を終了する。反対に、ステップＳ３６ｂによって、検知対象物６０が右方向に移動していないと特定された場合には（ステップＳ３６ｂでＮｏ）、移動方向特定部２０は、検知対象物６０が上方向に移動したか否かを判定する（ステップＳ３６ｃ）。
【０１３４】
ステップＳ３６ｃで、検知対象物６０が上方向に移動したと特定された場合には（ステップＳ３６ｃでＹｅｓ）、移動方向特定部２０は、検知対象物６０が上方向に移動したという特定結果を第１判定部２１に送出し（ステップＳ３７ｃ）、ステップＳ３０の処理を終了する。反対に、ステップＳ３６ｃによって、検知対象物６０が上方向に移動していないと特定された場合には（ステップＳ３６ｃでＮｏ）、移動方向特定部２０は、検知対象物６０が左方向に移動したか否かを判定する（ステップＳ３６ｄ）。
【０１３５】
ステップＳ３６ｄで、検知対象物６０が左方向に移動したと特定された場合には（ステップＳ３６ｄでＹｅｓ）、移動方向特定部２０は、検知対象物６０が左方向に移動したという特定結果を第１判定部２１に送出し（ステップＳ３７ｄ）、ステップＳ３０の処理を終了する。反対に、ステップＳ３６ｄによって、検知対象物６０が左方向に移動していないと特定された場合には（ステップＳ３６ｃでＮｏ）、移動方向特定部２０は、第１動作検出部１６の処理を終了する（ステップＳ３８）。
【０１３６】
このように、移動方向特定部２０は、第１座標軸と第２座標軸から成る座標平面上の第１動作を検出する場合には、第１座標軸のプラス方向、第１座標軸のマイナス方向、第２座標軸のプラス方向および第２座標軸のマイナス方向のうちの、いずれかの方向に検知対象物６０が移動しているかを、１つの方向ずつ順番に調べる。移動方向特定部２０は、検知対象物６０が、ある方向に移動していると特定した場合には、当該特定結果を第１判定部２１に送出して、移動方向特定部２０の処理を終了する。反対に、検知対象物６０が４つの方向のいずれにも移動していない場合には、当該特定結果に基づいて検知対象物６０のジェスチャーが検出されることがないため、移動方向特定部２０は、第１動作検出部１６の動作を終了する。
【０１３７】
なお、図２０に示される例では、移動方向特定部２０は、検知対象物６０が下方向に移動しているか（ステップＳ３６ａ）、検知対象物６０が右方向に移動しているか（ステップＳ３６ｂ）、検知対象物６０が上方向に移動しているか（ステップＳ３６ｃ）、検知対象物が左方向に移動しているか（ステップＳ３６ｄ）の順で検知対象物６０の移動方向を特定しているが、必ずしもこの方向の順序で特定を行う必要はない。例えば、移動方向特定部２０は、検知対象物６０が左方向に移動しているか（ステップＳ３６ｄ）、検知対象物６０が右方向に移動しているか（ステップＳ３６ｂ）、検知対象物６０が下方向に移動しているか（ステップＳ３６ａ）、検知対象物６０が上方向に移動しているか（ステップＳ３６ｃ）の順で、検知対象物６０の移動方向を特定してもよい。
【０１３８】
なお、本実施の形態では、移動方向特定部２０は、テーブルに保持されている変化回数、累積変化量および変化方向の３つの情報を用いて、検知対象物６０の移動方向を特定している。しかし、移動方向特定部２０は、テーブルに保持されている変化回数および変化方向を用いて検知対象物６０の移動方向を特定してもよいし、テーブルに保持されている累積変化量および変化方向を用いて検知対象物６０の移動方向を特定してもよい。
【０１３９】
＜２−４−２．第１判定部＞
＜第１判定部で行われる処理について＞
既述したように、第１判定部２１は、移動方向特定部２０において検知対象物６０の移動方向が特定された順序を履歴情報として保持する。そして、第１判定部２１は、履歴情報に基づいて、移動方向特定部２０において検知対象物６０の移動方向が特定された順序が、所定順序を示すか否かを判定することで、検知対象物６０が第１動作を行った否かを検出する。
【０１４０】
図２２は、検知対象物６０が図１６に示されるジェスチャーを行ったときに、第１判定部２１によって保持される履歴情報を示す図である。図２２の横方向には、時刻と、移動方向特定部２０で特定された移動方向と、第１判定部２１が保持する履歴情報とが示されている。
【０１４１】
図２２に示されるように、第１判定部２１が保持する履歴情報には、第１履歴、第２履歴、第３履歴、第４履歴が含まれる。第１判定部２１は、一番初めに移動方向特定部２０で特定された移動方向を第１履歴として保持する。そして、次に移動方向特定部２０で移動方向が特定されたときには、当該次に移動方向特定部２０で特定された移動方向を第２履歴として保持する。したがって、移動方向特定部２０が第１乃至第４履歴の全てを保持している場合には、第１履歴として保持されている移動方向が最も古い特定結果であり、第４履歴として保持されている移動方向が最も新しい特定結果となる。
【０１４２】
図２２に示されるように、時刻Ｔ１に移動方向特定部２０によって、検知対象物６０の移動方向が上方向であると特定されると、第１判定部２１は、当該特定結果（上方向）を第１履歴として保持する。次に、時刻Ｔ２に移動方向特定部２０によって、検知対象物６０の移動方向が右方向であると特定されると、第１判定部２１は当該特定結果（右方向）を第２履歴として保持する。次に、時刻Ｔ３に移動方向特定部２０によって、検知対象物６０の移動方向が下方向であると特定されると、第１判定部２１は当該特定結果（下方向）を第３履歴として保持する。そして、時刻Ｔ４に移動方向特定部２０によって、検知対象物６０の移動方向が左方向であると特定されると、第１判定部２１は当該特定結果（左方向）を第４履歴として保持する。
【０１４３】
ここで、時刻Ｔ４のときの履歴情報は、第１履歴から順に、上方向、右方向、下方向、左方向となり、これらの移動方向の順序は、検知対象物６０がｘｙ座標平面の左下の領域から時計回りに回転する第１動作を行ったときの所定順序を示している（図１７参照）。したがって、第１判定部２１は、時刻Ｔ４のときの履歴情報に基づいて、検知対象物６０が第１動作を行っていると検出する。
【０１４４】
図２３は、第１判定部２１が、検知対象物６０が第１動作を行っているか否かの判定に用いる、複数種類の所定順序を示す図である。図２３に示されるＮｏ１〜４には、検知対象物６０が時計回りに回転する第１動作を行っているときの複数種類の移動方向の順序が示されている。図２３のＮｏ５〜８には、検知対象物６０が反時計回りに回転する第１動作を行っているときの複数種類の移動方向の順序が示されている。なお、本実施の形態では、便宜上、検知対象物６０が時計回りに回転する第１動作を「第１回転動作」と呼ぶことがある。また、検知対象物６０が反時計回りに回転する第１動作を「第２回転動作」と呼ぶことがある。
【０１４５】
Ｎｏ１〜Ｎｏ４に示される複数種類の順序は、検知対象物６０がｘｙ座標平面におけるどの位置から第１回転動作を始めるかの点で異なっている。したがって、検知対象物６０の移動方向が、上方向の後に右方向となり、右方向の後に下方向となり、下方向の後に左方向となる点では共通している。
【０１４６】
同様に、Ｎｏ５〜Ｎｏ８に示される複数種類の順序も、Ｎｏ１〜Ｎｏ４と同様に、検知対象物６０がｘｙ座標平面におけるどの位置から第２回転動作を始めるかの点で異なっている。したがって、検知対象物６０の移動方向が、下方向の後に右方向となり、右方向の後に上方向となり、上方向の後に左方向となる点では共通している。
【０１４７】
第１判定部２１は、履歴情報が示す、移動方向特定部２０において検知対象物６０の移動方向が特定された順序が、図２３に示される８種類の順序のうちのいずれか１つを示すときに、検知対象物６０が第１動作を行っていると検出する。つまり、第１判定部２１は、移動方向特定部２０において検知対象物６０の移動方向が特定された順序が所定順序を示すか否かの簡単な判定によって、検知対象物６０が第１動作を行っているか否かを検出することができる。その結果、ジェスチャー検出装置１は簡単な処理によって、検知対象物６０が行う第１動作を検出することができる。
【０１４８】
また、第１判定部２１は、履歴情報が示す、移動方向特定部２０において検知対象物６０の移動方向が特定された順序と、複数種類の順序とを比較することによって、座標平面上で異なる位置から開始する回転動作を検出することができる。その結果、ジェスチャー検出装置１の利便性が向上する。
【０１４９】
また、第１判定部２１は、履歴情報が示す、移動方向特定部２０において検知対象物６０の移動方向が特定された順序が、図２３のＮｏ１〜Ｎｏ４に示される順序のうちのいずれか１つを示しているのか、Ｎｏ５〜Ｎｏ８に示される順序のうちのいずれか１つを示しているのかを判定することで、検知対象物６０が第１回転動作を行っているのか、第２回転動作を行っているのかを検出することができる。この場合には、第１判定部２１は、第１回転動作と、第２回転動作とを区別して検出することができることから、ジェスチャー検出装置１の利便性が向上する。
【０１５０】
また、第１判定部２１は、履歴情報が示す、移動方向特定部２０において検知対象物６０の移動方向が特定された順序が、図２３のＮｏ１〜Ｎｏ８のうちの特定の１つを示しているのかを判定してもよい。この場合には、第１判定部２１は、検知対象物６０によって座標平面上で異なる位置から開始する回転動作を区別して検出することができる。具体的には、第１判定部２１は、例えばＮｏ１に示されるｘｙ座標平面における左下から開始される時計回りの回転動作と、Ｎｏ２に示されるｘｙ座標平面における左上から開始される時計回りの回転動作とを区別して検出することができる。その結果、ジェスチャー検出装置１の利便性が向上する。
【０１５１】
一方、検知対象物６０の動作が第１動作でなかった場合には、検知対象物６０の動作が第１動作でないと判明した時点で、第１判定部２１は、履歴情報をクリア（削除）する。検知対象物６０の動作が第１動作でなかった場合について、図２４，２５を参照しながら以下に説明する。図２４は、図１６に対応する、ｘｙ座標平面上での検知対象物６０の動作を示す図である。図２５は、検知対象物６０が図２４に示される動作を行ったときに第１判定部２１に保持される履歴情報を示す図である。
【０１５２】
図２４に示されるように、時刻Ｔ２０〜Ｔ２１では、検知対象物６０は、ｘｙ座標平面における左下の領域から、ｘｙ座標平面における左上の領域に向かって、ｘｙ座標平面の原点を中心に円弧を描くように移動している。時刻Ｔ２１〜Ｔ２２では、検知対象物６０は、ｘｙ座標平面における左上の領域から、ｘｙ座標平面における右上の領域に向かって、ｘｙ座標平面の原点を中心に円弧を描くように移動している。そして、時刻Ｔ２２〜Ｔ２３では、検知対象物６０はｘ軸に沿ってマイナス方向に移動している。つまり、図２４に示される検知対象物６０の動きは、時刻Ｔ２０〜Ｔ２２に注目すると第１動作であると言えるが、時刻Ｔ２０〜２２に注目すると第１動作であると言えない。
【０１５３】
図２５に示されるように、時刻Ｔ２１で、移動方向特定部２０によって、検知対象物６０の移動方向が上方向であると特定されると、第１判定部２１は、当該特定結果（上方向）を第１履歴として保持する。続いて、時刻Ｔ２２で、移動方向特定部２０によって、検知対象物６０の移動方向が右方向であると特定されると、第１判定部２１は、当該特定結果（右方向）を第２履歴として保持する。しかし、時刻Ｔ２３で、移動方向特定部２０によって、検知対象物６０の移動方向が左方向であると特定されると、第１判定部２１は、履歴情報をクリアする。第１判定部２１は、第１履歴が上方向であり、第２履歴が右方向であり、第３履歴が左方向を示す順序が、図２３に示される複数種類の順序の中のいずれにも存在しないことより、検知対象物６０が行っている動作が第１動作でないと判断し、履歴情報をクリアする。
【０１５４】
言い換えると、第１判定部２１は、記憶している履歴情報が現在示す順序と、移動方向特定部２０によって今回特定された移動方向との組み合わせが、第１動作の検出に用いる所定順序のうちの先頭から始まる部分に含まれる場合には履歴情報を更新し、履歴情報が示す現在示す順序と、移動方向特定部２０によって今回特定された移動方向との組み合わせが、第１動作の検出に用いる所定順序のうちの先頭から始まる部分に含まれない場合には履歴情報をクリアする。このように、第１判定部２１は、履歴情報が所定順序を示す可能性がなくなった時点で履歴情報をクリアすることで、次に移動方向特定部２０で特定された特定結果を新たな履歴情報として保持することができる。その結果、第１動作検出部１６の第１動作の検出精度が向上する。
【０１５５】
＜第１判定部での処理の流れ＞
図２６は、第１判定部２１での処理の流れを説明するための図である。図２６を参照しながら、第１判定部２１での処理の流れを以下に説明する。
【０１５６】
図２６に示されるように、第１判定部２１は、まず移動方向特定部２０での特定結果を取得する（ステップＳ５０）。続いて、第１判定部２１は、履歴情報を保持しているかを判定する（ステップＳ５１）。つまり、第１判定部２１は、過去に移動方向特定部２０で特定された移動方向を保持しているかを判定する。履歴情報が保持されていない場合には（ステップＳ５１でＮｏ）、第１判定部２１は、ステップＳ５０で取得した移動方向を第１履歴として保持し（ステップＳ５２）、第１動作検出部１６の処理を終了する（ステップＳ５３）。
【０１５７】
一方、履歴情報が保持されている場合には（ステップＳ５１でＹｅｓ）、第１判定部２１は、履歴情報が示す順序と、移動方向特定部２０によって特定された移動方向との組み合わせが、第１動作の検出に用いる所定順序のうちの先頭から始まる部分に含まれるかを判定する（ステップＳ５４）。図２７，２８には、ステップＳ５４の処理の詳細が示されている。
【０１５８】
図２７に示されるように、まず、第１判定部２１は、移動方向特定部２０によって特定された移動方向が下方向か否かを判定する（ステップＳ１５０）。移動方向特定部２０によって特定された移動方向が下方向でない場合には（ステップＳ１５０でＮｏ）、第１判定部２１は、移動方向特定部２０によって特定された移動方向が右方向かを判定する（ステップＳ１６０）。一方、移動方向特定部２０によって特定された移動方向が下方向である場合には（ステップＳ１５０でＹｅｓ）、第１判定部２１は、第１履歴として右方向が保持されており、かつ第２〜第４履歴が保持されていないかを判定する（ステップＳ１５１）。ステップＳ１５１では、第１判定部２１は、履歴情報が図２３に示されるＮｏ２の所定順序を示す可能性があるか否かを判定している。第１履歴として右方向が保持されており、かつ第２〜第４履歴が保持されていない場合には（ステップＳ１５１でＹｅｓ）、第１判定部２１は、履歴情報が示す順序と、移動方向特定部２０によって特定された移動方向との組み合わせが、第１動作の検出に用いる所定順序のうちの先頭から始まる部分に含まれるとして、ステップＳ５４の処理を終了し、ステップＳ５６に進む（ステップＳ１５２）。
【０１５９】
一方、第１履歴として保持されている移動方向が右方向でない、もしくは第２〜第４履歴うちの少なくとも１つが保持されている場合には（ステップＳ１５１でＮｏ）、第１判定部２１は、第１履歴として左方向が保持されており、かつ第２〜第４履歴が保持されていないかを判定する（ステップＳ１５３）。ステップＳ１５３では、第１判定部２１は、履歴情報が図２３に示されるＮｏ８の所定順序を示す可能性があるか否かを判定している。第１履歴として左方向が保持されており、かつ第２〜第４履歴が保持されていない場合には（ステップＳ１５３でＹｅｓ）、第１判定部２１は、ステップＳ５４の処理を終了し、ステップＳ５６に進む（ステップＳ１５２）。
【０１６０】
第１履歴として保持されている移動方向が左方向でない、もしくは第２〜第４履歴のうちの少なくとも１つが保持されている場合には（ステップＳ１５３でＮｏ）、第１判定部２１は、第１履歴として上方向が保持されており、第２履歴として右方向が保持されており、かつ第３〜第４履歴が保持されていないかを判定する（ステップＳ１５４）。ステップＳ１５４では、第１判定部２１は、履歴情報が図２３に示されるＮｏ１の所定順序を示す可能性があるか否かを判定している。第１履歴として上方向が保持されており、第２履歴として右方向が保持されており、かつ第３〜第４履歴が保持されていない場合には（ステップＳ１５４でＹｅｓ）、第１判定部２１は、ステップＳ５４の処理を終了し、ステップＳ５６に進む（ステップＳ１５２）。
【０１６１】
第１履歴として保持されている移動方向が上方向でない、第２履歴として保持されている移動方向が右方向でない、もしくは第３〜第４履歴の少なくとも１つが保持されている場合には（ステップＳ１５４でＮｏ）、第１判定部２１は、第１履歴として上方向が保持されており、第２履歴として左方向が保持されており、かつ第３〜第４履歴が保持されていないかを判定する（ステップＳ１５５）。ステップＳ１５５では、第１判定部２１は、履歴情報が図２３に示されるＮｏ７の所定順序を示す可能性があるか否かを判定している。第１履歴として上方向が保持されており、第２履歴として左方向が保持されており、かつ第３〜第４履歴が保持されていない場合には（ステップＳ１５５でＹｅｓ）、第１判定部２１は、ステップＳ５４の処理を終了し、ステップＳ５６に進む（ステップＳ１５２）。
【０１６２】
第１履歴として保持されている移動方向が上方向でない、第２履歴として保持されている移動方向が左方向でない、もしくは第３〜第４履歴の少なくとも１つが保持されている場合には（ステップＳ１５５でＮｏ）、第１判定部２１は、第１履歴として左方向が保持されており、第２履歴として上方向が保持されており、第３履歴として右方向が保持されており、第４履歴が保持されていないかを判定する（ステップＳ１５６）。ステップＳ１５６では、第１判定部２１は、履歴情報が図２３に示されるＮｏ４の所定順序を示す可能性があるか否かを判定している。第１履歴として左方向が保持されており、第２履歴として上方向が保持されており、第３履歴として右方向が保持されており、第４履歴が保持されていない場合には（ステップＳ１５６でＹｅｓ）、第１判定部２１は、ステップＳ５４の処理を終了し、ステップＳ５６に進む（ステップＳ１５２）。
【０１６３】
第１履歴として保持されている移動方向が左方向でない、第２履歴として保持されている移動方向が上方向でない、第３履歴として保持されている移動方向が右方向でない、もしくは第４履歴が保持されている場合には（ステップＳ１５６でＮｏ）、第１判定部２１は、第１履歴として右方向が保持されており、第２履歴として上方向が保持されており、第３履歴として左方向が保持されており、第４履歴が保持されていないかを判定する（ステップＳ１５７）。ステップＳ１５７では、第１判定部２１は、履歴情報が図２３に示されるＮｏ６の所定順序を示す可能性があるかを判定している。第１履歴として右方向が保持されており、第２履歴として上方向が保持されており、第３履歴として左方向が保持されており、第４履歴が保持されていない場合には（ステップＳ１５７でＹｅｓ）、第１判定部２１は、ステップＳ５４の処理を終了し、ステップＳ５６に進む（ステップＳ１５２）。
【０１６４】
第１履歴として保持されている移動方向が右方向でない、第２履歴として保持されている移動方向が上方向でない、第３履歴として保持されている移動方向が左方向でない、もしくは第４履歴が保持されている場合には（ステップＳ１５７でＮｏ）、第１判定部２１は、履歴情報が示す順序と、移動方向特定部２０によって特定された移動方向との組み合わせが、第１動作の検出に用いる所定順序のうちの先頭から始まる部分に含まれないとして、ステップＳ５４の処理を終了し、ステップＳ５５に進む（ステップＳ１５８）。
【０１６５】
このように、移動方向特定部２０によって特定された移動方向が下方向である場合には、第１判定部２１は、下方向の移動方向が特定されたときの履歴情報が示す移動方向の順序が、所定順序が示す移動方向の順序のうち、先頭から移動方向が下方向を示す直前の移動方向までの部分と一致しているかを判定する。当該判定は、第２〜第４履歴の中に下方向の移動方向が含む複数の所定順序に対して１つずつ順番に行われる。つまり、第１判定部２１は、履歴情報が第２〜第４履歴の中に下方向の移動方向が含む複数の所定順序のうちのいずれかを示す可能性があるか否かを判定する。
【０１６６】
上記では、移動方向特定部２０によって特定された移動方向が下方向である場合について説明したが、移動方向特定部２０によって特定された移動方向が、右方向（ステップＳ１６０でＹｅｓ）、上方向（図２８のステップＳ１７０でＹｅｓ）および左方向（図２８のステップＳ１８０でＹｅｓ）である場合にも、第１判定部２１は同様の考え方で処理を行う。
【０１６７】
より具体的には、移動方向特定部２０によって特定された移動方向が右方向である場合には（ステップＳ１６０でＹｅｓ）、第１判定部２１は、履歴情報が図２３に示されるＮｏ１の所定順序を示す可能性があるか（ステップＳ１６１）と、履歴情報が図２３に示されるＮｏ５の所定情報を示す可能性があるか（ステップＳ１６２）と、履歴情報が図２３に示されるＮｏ４の所定情報を示す可能性があるか（ステップＳ１６３）と、履歴情報が図２３に示されるＮｏ８の所定情報を示す可能性があるか（ステップＳ１６４）と、履歴情報が図２３に示されるＮｏ３の所定情報を示す可能性があるか（ステップＳ１６５）と、履歴情報が図２３に示されるＮｏ７の所定情報を示す可能性があるか（ステップＳ１６６）とを１つずつ順番に判定する。
【０１６８】
同様に、移動方向特定部２０によって特定された移動方向が上方向である場合には（ステップＳ１７０でＹｅｓ）、第１判定部２１は、履歴情報が図２３に示されるＮｏ４の所定情報を示す可能性があるか（ステップＳ１７１）と、履歴情報が図２３に示されるＮｏ６の所定情報を示す可能性があるか（ステップＳ１７２）と、履歴情報が図２３に示されるＮｏ３の所定情報を示す可能性があるか（ステップＳ１７３）と、履歴情報が図２３に示されるＮｏ５の所定情報を示す可能性があるか（ステップＳ１７４）と、履歴情報が図２３に示されるＮｏ２の所定情報を示す可能性があるか（ステップＳ１７５）と、履歴情報が図２３に示されるＮｏ８の所定情報を示す可能性があるか（ステップＳ１７６）とを１つずつ順番に判定する。
【０１６９】
同様に、移動方向特定部２０によって特定された移動方向が左方向である場合には（ステップＳ１８０でＹｅｓ）、第１判定部２１は、履歴情報が図２３に示されるＮｏ３の所定情報を示す可能性があるか（ステップＳ１８１）と、履歴情報が図２３に示されるＮｏ７の所定情報を示す可能性があるか（ステップＳ１８２）と、履歴情報が図２３に示されるＮｏ２の所定情報を示す可能性があるか（ステップＳ１８３）と、履歴情報が図２３に示されるＮｏ６の所定情報を示す可能性があるか（ステップＳ１８４）と、履歴情報が図２３に示されるＮｏ１の所定情報を示す可能性があるか（ステップＳ１８５）と、履歴情報が図２３に示されるＮｏ５の所定情報を示す可能性があるか（ステップＳ１８６）とを１つずつ順番に判定する。
【０１７０】
また、移動方向特定部２０によって特定された移動方向が下方向、右方向、上方向および左方向のいずれにも当てはまらない場合（つまり、移動方向特定部２０によって移動方向が特定されていない場合）には、第１判定部２１は、第１動作検出部１６の動作を終了する（ステップＳ１９０）。
【０１７１】
図２６に戻り、履歴情報が示す順序と移動方向特定部２０によって特定された移動方向との組み合わせが、第１動作の検出に用いる所定順序のうちの先頭から始まる部分に含まれない場合には（ステップＳ５４でＮｏ）、履歴情報が第１動作の検出に用いる所定順序を示す可能性がなくなったので、第１判定部２１は履歴情報をクリアして（ステップＳ５５）、第１動作検出部１６の処理を終了する（ステップＳ５３）。
【０１７２】
反対に、履歴情報が示す順序と移動方向特定部２０によって特定された移動方向との組み合わせが、第１動作の検出に用いる所定順序のうちの先頭から始まる部分に含まれる場合には（ステップＳ５４でＹｅｓ）、履歴情報が所定情報を示す可能性があるため、第１判定部２１は履歴情報を更新する（ステップＳ５６）。
【０１７３】
そして、第１判定部２１は、ステップＳ５５で更新された履歴情報が、第１動作の検出に用いる所定順序を示しているかを判定する（ステップＳ５７）。ステップＳ５５で更新された履歴情報が、第１動作の検出に用いる所定順序を示していない場合には（ステップＳ５７でＮｏ）、検知対象物６０が第１動作を行っているとは言えないため、第１判定部２１は、何もせずに第１判定部２１の処理を終了する。反対に、ステップＳ５５で更新された履歴情報が、第１動作の検出に用いる所定順序を示している場合には（ステップＳ５７でＹｅｓ）、第１判定部２１は、検知対象物６０が第１動作を行っていると検出し（ステップＳ５８）、第１判定部２１の処理を終了する。ステップＳ５８で検出された第１動作は、暫定的な検出結果として特定部１５に送出される。
【０１７４】
＜２−５．第２動作検出部＞
＜第２動作検出部で行われる処理について＞
既述したように、第２動作検出部１７は、図６に例示されるような第２動作を、１つのテーブルに基づいて検出する。より具体的には、第２動作検出部１７は、検知対象物６０がｘ軸に沿って移動する第２動作（左右動作）を、テーブル更新部１１によって更新された第１テーブルに基づいて検出する。また、第２動作検出部１７は、検知対象物６０がｙ軸に沿って移動する第２動作（上下動作）を、テーブル更新部１１によって更新された第２テーブルに基づいて検出する。また、第２動作検出部１７は、検知対象物６０がｚ軸に沿って移動する第２動作（遠近動作）を、テーブル更新部１１によって更新された第３テーブルに基づいて検出する。
【０１７５】
第２動作検出部１７は、移動方向特定部２０と同様に、テーブル更新部１１によって更新されたテーブルに保持されている変化回数が第３の閾値より大きく、かつテーブルに保持されている累積変化量が第４の閾値より大きい場合に、検知対象物６０が当該テーブルに保持されている変化方向が示す方向に移動している（つまり、検知対象物６０が当該テーブルに保持されている変化方向が示す方向に第２動作を行っている）と判定する。第２動作検出部１７の処理において、移動方向特定部２０での処理と大きく異なる点は、処理に用いる閾値の値である。検知対象物６０が第２動作を行う場合には、回転動作を行う場合と比較して、長い時間、かつ長い距離を同一方向に移動することが多い。したがって、第３の閾値は既述した第１の閾値より大きい値が設定される。同様に、第４の閾値は既述した第２の閾値より大きい値が設定される。一例として、第３の閾値には１２［回］が採用され、第４の閾値には５０［ｍｍ］が採用される。第３の閾値及び第４の閾値は、既述した第１の閾値及び第２の閾値と同様に、ジェスチャー検出装置１の使用用途等に応じて選択される。
【０１７６】
＜第２動作検出部での処理の流れ＞
図２９は、第２動作検出部１７での処理を説明するための図である。図２９は、第２動作検出部１７が、第１テーブルに基づいて、検知対象物６０が左方向に移動する第２動作および右方向に移動する第２動作を検出する場合を示している。
【０１７７】
なお、以下の説明では、第２動作検出部１７が、検知対象物６０がｘ軸に沿って移動する第２動作（左右動作）を検出する場合を例に挙げて説明するが、第２動作検出部１７が検知対象物６０がｙ軸に沿って移動する第２動作（上下動作）を検出する場合および検知対象物６０がｚ軸に沿って移動する第２動作（遠近動作）を検出する場合についても、同様に考えることができる。
【０１７８】
まず、第２動作検出部１７は、第２動作の検出に用いるテーブルを取得する（ステップＳ６０）。ここでは、第２動作検出部１７は、検知対象物６０がｘ軸に沿って動く第２動作（左右動作）を検出するため、テーブル更新部１１によって更新された第１テーブルを取得する。
【０１７９】
次に、第２動作検出部１７は、ステップＳ６０で取得した第１テーブルに保持される変化回数が第３の閾値より大きいかを判定する（ステップＳ６１）。第２動作検出部１７は、ステップＳ６０で取得した第１テーブルに保持されている変化回数が第３の閾値よりも小さい場合、もしくは第３の閾値と同じ値の場合には（ステップＳ６１でＮｏ）、検知対象物６０が左右動作を行っていないとして第２動作検出部１７の処理を終了する。反対に、第２動作検出部１７は、ステップＳ６０で取得した第１テーブルに保持される変化回数が第３の閾値よりも大きい場合には（ステップＳ６１でＹｅｓ）、当該第１テーブルに保持される累積変化量が第４の閾値より大きいかを判定する（ステップＳ６２）。なお、本実施の形態に係る第２動作検出部１７は、ステップＳ６０で取得した第１テーブルに保持されている変化回数が第３の閾値と同じ値の場合には、検知対象物６０が左右動作を行っていないものとして判断している。しかし第２動作検出部１７は、ステップＳ６０で取得した第１テーブルに保持されている変化回数が第３の閾値と同じ値の場合に、ステップＳ６２進んでもよい。
【０１８０】
ステップＳ６２において、ステップＳ６０で取得した第１テーブルに保持される累積変化量が第４の閾値より小さい場合、もしくは第４の閾値と同じ値の場合には（ステップＳ６２でＮｏ）、第２動作検出部１７は、検知対象物６０が左右動作を行っていないとして、第２動作検出部１７の処理を終了する。反対に、第２動作検出部１７は、ステップＳ６０で取得した第１テーブルに保持される累積変化量が第４の閾値よりも大きい場合には（ステップＳ６２でＹｅｓ）、当該第１テーブルに保持される変化方向が右方向（プラス方向）か否かを判定する（ステップＳ６３）。なお、本実施の形態に係る第２動作検出部１７は、ステップＳ６０で取得した第１テーブルに保持されている累積変化量が第４の閾値と同じ値の場合には、検知対象物６０が左右動作を行っていないものとして判断している。しかし、第２動作検出部１７は、ステップＳ６０で取得した第１テーブルに保持されている累積変化量が第４の閾値と同じ値の場合に、ステップＳ６３に進んでもよい。
【０１８１】
第２動作検出部１７は、ステップＳ６０で取得した第１テーブルに保持される変化方向が右方向でない場合には（ステップＳ６３でＮｏ）、検知対象物６０が左方向に移動する第２動作を行っていると検出し（ステップＳ６４）、第２動作検出部１７の処理を終了する。一方、第２動作検出部１７は、ステップＳ６０で取得した第１テーブルに保持される変化方向が右方向である場合には（ステップＳ６３でＹｅｓ）、検知対象物６０が右方向に移動する第２動作を行っていると検出し（ステップＳ６５）、第２動作検出部１７の処理を終了する。ここで、ステップＳ６４及びステップＳ６５で検出された第２動作は、暫定的な検出結果として特定部１５に送出される。
【０１８２】
このように、第２動作検出部１７では、テーブル更新部１１によって更新された１つのテーブルに保持される情報からを用いた簡単な処理を行うことで、第２動作を検出することができる。その結果、ジェスチャー検出装置１では簡単な処理で、第２動作を検出することができるとともに、ジェスチャー検出装置１で検出することができるジェスチャーの種類が増えることにより、ジェスチャー検出装置１の利便性が向上する。
【０１８３】
なお、図２９に示される例では、第２動作検出部１７は、テーブルに保持されている変化回数、累積変化量及び変化方向の３つの情報を用いて、検知対象物６０が第２動作を行っているか否かを検出している。しかし、第２動作検出部１７は、既述した第１動作検出部１６（移動方向特定部２０）と同様に、テーブルに保持されている変化回数および変化方向を用いて検知対象物６０が行う第２動作を検出してもよいし、テーブルに保持されている累積変化量および変化方向を用いて検知対象物６０が行う第２動作を検出してもよい。
【０１８４】
また、第２動作検出部１７は、複数種類の第２動作を検出する場合には、図２９に示される処理を繰り返し行う、例えば、第２動作検出部１７が、左右動作と遠近動作とを検出する場合には、第２動作検出部１７は、第１テーブルを用いて検出処理を行った後に、第３テーブルを用いて検出処理を行えばよい。
【０１８５】
＜２−６．第３動作検出部＞
＜第３動作検出部で行われる処理について＞
既述したように、第３動作検出部１８は、図７に例示されるような第３動作を、１つのテーブルに基づいて検出する。より具体的には、第３動作検出部１８は、検知対象物６０がｘ軸に沿ってプラス方向及びマイナス方向に交互に短い距離を動く第３動作を第１テーブルに基づいて検出する。また、第３動作検出部１８は、検知対象物６０がｙ軸に沿ってプラス方向及びマイナス方向に交互に短い距離を動く第３動作を第２テーブルに基づいて検出する。また、第３動作検出部１８は、検知対象物６０がｚ軸に沿ってプラス方向及びマイナス方向に交互に短い距離を動く第３動作を第３テーブルに基づいて検出する。
【０１８６】
図３０は、第３動作検出部１８の構成を示す図である。図３０に示されるように、第３動作検出部１８は、変化量判定部２５、第１計測部２６および第２判定部２７を有している。第３動作は、検知対象物６０が、ある座標軸に沿ってプラス方向及びマイナス方向に交互に短い距離を動く動作である。したがって、第３動作検出部１８では、まず変化量判定部２５が、検知対象物６０が短い距離を動いたか否かを判定する。続いて、第１計測部２６が、変化量判定部２５で検知対象物６０が短い距離を動いたと判定された回数を計測（保持）する。そして、第１計測部２６での計測結果に基づいて、より具体的には検知対象物６０が短い距離を所定回数以上動いたと判定したときに、第２判定部２７が、検知対象物６０が第３動作を行ったと判定する。
【０１８７】
また、既述したように、テーブル保持部１２に保持されているテーブルに保持されている変化方向と、前回ジェスチャー検出装置１に入力された座標値に対する、今回ジェスチャー検出装置１に入力された座標値の変化の方向とが逆である旨の通知を、テーブル更新部１１から受けた場合に、第３動作検出部１８は検出処理を行う（図１０のステップＳ２２参照）。テーブル更新部１１からの通知により、第３動作検出部１８は、検知対象物６０による同一方向への移動が終わったときにのみ検出処理を行い、当該検知対象物６０による同一方向への移動が短い距離を動く移動であるかを判定する。そのため、ジェスチャー検出装置１に座標値が入力される度に、第３動作検出部１８が検出処理を行う場合と比較して、ジェスチャー検出装置１で行われる処理の量を低減することができる。
【０１８８】
図３１は、検知対象物６０がｘ軸に沿って第３動作を行った場合の、位置検出装置１００の検出結果を示す図である。時刻ｔ１〜ｔ５では、ｘ座標値はプラス方向に変化している。時刻ｔ５のときにテーブル更新部１１に更新される第１テーブルには、変化回数として「４」が保持され、累積変化量として「ｎ１」が保持され、変化方向として「プラス方向」が保持される。
【０１８９】
続いて、時刻ｔ６では、時刻ｔ５までと異なり、ｘ座標値がマイナス方向に変化したため、テーブル更新部１１は第３動作検出部１８に通知を行い、第１テーブルを初期化する。第３動作検出部１８は、テーブル更新部１１に初期化される前の第１テーブル（つまり、時刻ｔ５にテーブル更新部１１に更新された第１テーブル）を用いて、第３動作の検出処理を行う。
【０１９０】
その後、時刻ｔ６〜ｔ１０までｘ座標値はマイナス方向に変化している。時刻ｔ１０にテーブル更新部１１に更新される第１テーブルには、変化回数として「４」が保持され、累積変化量として「ｎ２」が保持され、変化方向として「マイナス方向」が保持される。
【０１９１】
そして、時刻ｔ１１に、ｘ座標値がプラス方向に変化したため、テーブル更新部１１は、第３動作検出部１８に通知を行い、第１テーブルを初期化する。一方、第３動作検出部１８は、テーブル更新部１１に初期化される前の第１テーブル（つまり、時刻ｔ１０にテーブル更新部１１に更新された第１テーブル）を用いて、第３動作の検出処理を行う。
【０１９２】
＜第３動作検出部での処理の流れ＞
図３２は、第３動作検出部１８での処理を説明するための図である。図３２は、第３動作検出部１８が、第１テーブルに基づいて、検知対象物６０がｘ軸に沿ってプラス方向及びマイナス方向に交互に移動する第３動作を検出する場合を示している。図３０，３２を参照しながら、以下に第３動作検出部１８での処理を説明する。
【０１９３】
なお、以下の説明では、第３動作検出部１８が、検知対象物６０がｘ軸に沿ってプラス方向及びマイナス方向に交互に移動する第３動作を検出する場合を例に挙げて説明するが、第３動作検出部１８が、検知対象物６０がｙ軸に沿ってプラス方向及びマイナス方向に交互に動く第３動作を検出する場合および検知対象物６０がｚ軸に沿ってプラス方向及びマイナス方向に交互に動く第３動作を検出する場合についても、同様に考えることができる。
【０１９４】
まず、テーブル更新部１１から通知を受信すると（ステップＳ７０）、変化量判定部２５は、テーブル更新部１１に初期化される前の第１テーブルを取得する（ステップＳ７１）。なお、テーブル更新部１１は通知を行った後にすぐテーブルの初期化を行う。したがって、第３動作検出部１８は、ステップＳ７０で通知を受信した後すぐにステップＳ７１の処理を行わなければならない。しかし、テーブル更新部１１によって更新される前の第１テーブルを取得した後の処理は、特定部１５での処理が始まるまでに終了していればよい。したがって、第３動作検出部１８は、テーブル更新部１１によって更新される前の第１テーブルをテーブル保持部１２から取得すると、その後の処理はテーブル更新部１１での処理など他の処理が終わった後に行ってもよい。
【０１９５】
また、上記の例とは異なり、テーブル保持部１２に過去のテーブルを保持させてもよい。この場合には、テーブル更新部１１での処理が終わった後に、変化量判定部２５が、テーブル保持部１２からテーブル更新部１１によって初期化される前のテーブルを取得することができる。
【０１９６】
続いて、変化量判定部２５は、ステップＳ７１で取得した第１テーブルに保持されている変化回数が第５の閾値より大きく、かつ第６の閾値より小さいかを判定する（ステップＳ７２）。変化量判定部２５は、あまりにも動作時間が短い動作を、第３動作の動きであると判定しないために、ステップＳ７１で取得したテーブルに保持されている変化回数が第５の閾値より大きいかを判定している。第５の閾値としては、例えば３［回］が採用される。また、変化量判定部２５は、ステップＳ７１で取得したテーブルに保持されている変化回数が第６の閾値より小さいかを判定することで、動作時間の短い動作が行われたかを判定している。変化量判定部２５は、動作時間の短い動作が行われたと判定されたときに、検知対象物６０が短い距離を動いたと判定する。第６の閾値には、例えば１０［回］が採用される。第５の閾値および第６の閾値の値は、ジェスチャー検出装置１の使用用途等に応じて選択される。
【０１９７】
ステップＳ７１で取得した第１テーブルに保持されている変化回数が第５の閾値より小さい、第５の閾値と同じ値、第６の閾値より大きい、もしくは第６の閾値と同じ値である場合には（ステップＳ７２でＮｏ）、変化量判定部２５は、検知対象物６０が第３動作を行っていないと判定し、第３動作検出部１８の処理を終了する。
【０１９８】
反対に、ステップＳ７１で取得した第１テーブルに保持されている変化回数が第５の閾値より大きく、かつ第６の閾値より小さい場合には（ステップＳ７２でＹｅｓ）、変化量判定部２５は、ステップＳ７１で取得した第１テーブルに保持されている累積変化量が第７の閾値より大きいかを判定する（ステップＳ７３）。なお、本実施の形態に係る変化量判定部２５は、ステップＳ７１で取得した第１テーブルに保持されている変化回数が、第５の閾値と同じ値、もしくは第６の閾値と同じ値である場合には、検知対象物６０が第３動作を行っていないと判定する。しかし、変化量判定部２５は、ステップＳ７１で取得した第１テーブルに保持されている変化回数が、第５の閾値と同じ値、もしくは第６の閾値と同じ値である場合に、ステップＳ７３に進んでもよい。
【０１９９】
ステップＳ７３では、変化量判定部２５は、検知対象物６０の動いた距離が、第７の閾値に応じた距離より長いかを判定している。検知対象物６０が例えば人の手である場合には、第３動作を行う人の個人差によって、手を動かす距離が大きく変わる。したがって、ステップＳ７３では、変化量判定部２５は、あまりにも短い距離の動作を、第３動作の動きと判定しないために、テーブルに保持されている累積変化量が第７の閾値より大きいかのみを判定し、テーブルに保持されている累積変化量が所定値より小さいかは判定しない。また、第３動作は、第１動作および第２動作と比較して、検知対象物６０が動く距離が小さい動作であるため、ステップＳ７３で用いられる第７の閾値は、既述した第２の閾値及び第４の閾値より小さい値が採用される。第７の閾値には、例えば２０［ｍｍ］が採用される。第７の閾値の値は、ジェスチャー検出装置１の使用用途等に応じて、選択される。
【０２００】
ステップＳ７１で取得した第１テーブルに保持されている累積変化量が第７の閾値より小さい場合、もしくは第７の閾値と同じ値である場合には（ステップＳ７３でＮｏ）、変化量判定部２５は、検知対象物６０が第３動作を行っていないと判定し、第３動作検出部１８の処理を終了する。反対に、ステップＳ７１で取得した第１テーブルに保持されている累積変化量が第７の閾値より大きい場合には（ステップＳ７３でＹｅｓ）、変化量判定部２５は、検知対象物６０が短い距離を動いたと判定し、第１計測部２６が保持する計測結果に＋１を加算する（ステップＳ７４）。なお、本実施の形態の変化量判定部２５は、ステップＳ７１で取得した第１テーブルに保持されている累積変化量が第７の閾値と同じ値である場合には、検知対象物６０が第３動作を行っていないと判定する。しかし、変化量判定部２５は、ステップＳ７１で取得した第１テーブルに保持されている累積変化量が第７の閾値と同じ値である場合に、ステップＳ７４に進んでもよい。
【０２０１】
続いて、第２判定部２７は、第１計測部２６での計測結果が第８の閾値より大きいかを判定する（ステップＳ７５）。第２判定部２７は、ステップＳ７５の処理で、検知対象物６０が短い距離の移動を所定回数（第８の閾値）より多い回数行われたかを判定している。第８の閾値には、例えば５［回］が採用される。第８の閾値の値は、ジェスチャー検出装置１の使用用途等に応じて選択される。
【０２０２】
第１計測部２６での計測結果が第８の閾値より小さい場合、もしくは第８の閾値の値と同じ値である場合には（ステップＳ７５でＮｏ）、第２判定部２７は、検知対象物６０が第３動作を行っていないと判定し、第３動作検出部１８の処理を終了する。反対に、第１計測部２６での計測結果が第８の閾値より大きい場合には（ステップＳ７５でＹｅｓ）、第２判定部２７は、検知対象物６０が第３の動作を行ったことを検出し（ステップＳ７６）、第３動作検出部１８の処理を終了する。ここで、ステップＳ７６で検出された第３動作は、暫定的な検出結果として特定部１５に送出される。なお、本実施の形態に係る第２判定部２７は、第１計測部２６での計測結果が第８の閾値と同じ値である場合には、検知対象物６０が第３動作を行っていないと判定する。しかし、第２判定部２７は、第１計測部２６での計測結果が第８の閾値と同じ値である場合に、検知対象物６０が第３動作を行ったと判定してもよい。
【０２０３】
このように、第３動作検出部１８では、テーブル更新部１１によって更新された１つのテーブルを用いて、検知対象物６０が短い距離の移動を所定回数（第８の閾値）より多く行ったか否かの簡単な処理を行うことで、第３動作を検出することができる。その結果、ジェスチャー検出装置１は簡単な処理で、第３動作を検出することができる。また、ジェスチャー検出装置１で検出することができるジェスチャーの種類が増えることより、ジェスチャー検出装置１の利便性が向上する。
【０２０４】
また、図３２に示される例では、第３動作検出部１８は、テーブルに保持されている変化回数、累積変化量及び変化方向の３つの情報を用いて、検知対象物６０が第３動作を行っているか否かを検出している。しかし、第３動作検出部１８は、第１動作検出部１６および第２動作検出部１７と同様に、テーブルに保持されている変化回数および変化方向を用いて検知対象物６０が行う第３動作を検出してもよいし、テーブルに保持されている累積変化量および変化方向を用いて検知対象物６０が行う第３動作を検出してもよい。
【０２０５】
第３動作検出部１８が、テーブルに保持されている累積変化量および変化方向を用いて検知対象物６０が行う第３動作を検出する場合には、第３動作検出部１８は、累積変化量のみに基づいて、検知対象物６０が短い距離の移動を行ったか否かを判定しなければいけない。そのため、図３２のステップＳ７３では「テーブルに保持されている累積変化量が第７の閾値より大きく、かつ第９の閾値より小さいか」を判定する必要がある。しかし、前述した通り、検知対象物６０が人の手である場合などには、第３動作を行う人の個人差によって、手を動かす距離が大きく変わる。したがって、この場合には、第３動作検出部１８での第３動作の検出精度が悪くなる可能性がある。
【０２０６】
＜２−７．特定部＞
特定部１５は、第１動作検出部１６によって暫定的に検出された検出結果、第２動作検出部１７によって暫定的に検出された検出結果および第３動作検出部１８によって暫定的に検出された検出結果に基づいて、検知対象物６０のジェスチャーを特定する。図３３は、特定部１５での処理を説明するための図である。
【０２０７】
まず、特定部１５は、第１動作検出部１６が第１動作を検出しているかを判定する（ステップＳ８０）。第１動作検出部１６によって第１動作が検出されている場合には（ステップＳ８０でＹｅｓ）、特定部１５は、第１動作が検知対象物６０のジェスチャーであると特定する（ステップＳ８１）。例えば、第１動作検出部１６によって、反時計周りで回転する第１動作が検出されていた場合には、特定部１５は、反時計回りで回転する第１動作が、検知対象物６０のジェスチャーであると特定する。ステップＳ８１で特定されたジェスチャーは、ジェスチャー検出装置１での検出結果として、ジェスチャー検出装置１外部に出力される。そして、特定部１５は、動作検出部で検出された検出結果（より具体的には、第１動作検出部１６が検出した第１動作、第２動作検出部１７が検出した第２動作および第３動作検出部１８が検出した第３動作）と、第１計測部２６が保持する計測結果と、第１判定部２１が保持する履歴情報とをクリアする（ステップＳ８２）。特定部１５は、ステップＳ８２で、各種情報をクリアすることで、次にジェスチャー検出装置１に検知対象物６０の位置を示す座標値が入力されたときに、ジェスチャー検出装置１は、次の検出処理をすぐに行うことができる。
【０２０８】
ステップＳ８０に戻り、第１動作検出部１６によって第１動作が検出されていない場合には（ステップＳ８０でＮｏ）、特定部１５は、第３動作検出部１８が第３動作を検出しているかを判定する（ステップＳ８３）。
【０２０９】
第３動作検出部１８によって第３動作が検出されている場合には（ステップＳ８３でＹｅｓ）、特定部１５は、第３動作が検知対象物６０のジェスチャーであると特定する（ステップＳ８４）。例えば、第３動作検出部１８によって、検知対象物６０がｚ軸に沿ってプラス方向及びマイナス方向に交互に短い距離を動く第３動作が検出されている場合には、特定部１５は、検知対象物６０がｚ軸に沿ってプラス方向及びマイナス方向に交互に短い距離を動く第３動作が、検知対象物６０のジェスチャーであると特定する。ステップＳ８４で特定されたジェスチャーは、ジェスチャー検出装置１での検出結果として、ジェスチャー検出装置１外部に出力される。そして、特定部１５は、動作検出部で検出された検出結果と、第１計測部２６が保持する計測結果と、第１判定部２１が保持する履歴情報とをクリアする（ステップＳ８２）。
【０２１０】
ステップＳ８３に戻り、第３動作検出部１８によって第３動作が検出されていない場合には（ステップＳ８３でＮｏ）、特定部１５は、第１動作検出部１６が備える第１判定部２１が履歴情報を保持しているかを判定する（ステップＳ８５）。
【０２１１】
第１判定部２１が履歴情報を保持している場合には（ステップＳ８５でＹｅｓ）、特定部１５は、ジェスチャー検出部１３の処理を終了する（ステップＳ８６）。第１判定部２１が履歴情報を保持していることから、当該履歴情報が第１動作の検出に用いる所定順序を示す可能性がある（即ち、検知対象物６０のジェスチャーが、第１動作である可能性がある）と第１判定部２１が判定していると分かる。したがって、この場合には、特定部１５は検知対象物６０のジェスチャーを特定せずに処理を終了する。
【０２１２】
既述したとおり、移動方向特定部２０で特定される検知対象物６０の動きと、第２動作検出部１７で検出される検知対象物６０の動きとは、閾値が異なるだけである。したがって、例えば、検知対象物６０が回転動作を行っている場合でも、当該検知対象物６０の動きが大きい場合には、第２動作検出部１７によって第２動作が検出されてしまう場合がある。
【０２１３】
したがって、図３３に示されるように、特定部１５は、まず第１動作検出部１６が第１動作を検出しているか否かの判定を行う。つまり、本実施の形態では、動作検出部１４が第１動作および第２動作の両方を検出している場合であっても、第１動作を検知対象物６０のジェスチャーとして特定する。そして、第１動作検出部１６によって第１動作が検出されていない場合であっても、第１判定部２１が履歴情報を保持している場合には、特定部１５は、検知対象物６０のジェスチャーを特定しない。そのため、検知対象物６０が第１動作を行っている途中で、ジェスチャー検出装置１によって第２動作が検出されることを抑制することができる。その結果、ジェスチャー検出装置１の検出精度を向上することができる。
【０２１４】
なお、検知対象物６０が第１動作を行っている途中に、第３動作検出部１８によって第３動作が検出される場合、もしくは検知対象物６０が第３動作を行っている途中に、第１動作検出部１６によって第１動作が検出される場合はない。そのため、第１動作検出部１６が第１動作を検出しているか否かの判定（ステップＳ８０）の前に、第３動作検出部１８が第３動作を検出しているか否かの判定（ステップＳ８３）を行っても、特定部１５の特定結果は変化しない。したがって、図３３に示される例とは異なり、ステップＳ８０の処理を行う前にステップＳ８３の処理を行ってもよい。
【０２１５】
ステップＳ８５に戻り、第１判定部２１が履歴情報を保持していない場合には（ステップＳ８５でＮｏ）、特定部１５は、第２動作検出部１７が第２動作を検出しているかを判定する（ステップＳ８７）。
【０２１６】
第２動作検出部１７によって第２動作が検出されていない場合には（ステップＳ８７でＮｏ）、動作検出部１４によって検出されたジェスチャーは何もないため、特定部１５は、ジェスチャー検出部１３の処理を終了する（ステップＳ８６）。反対に、第２動作検出部１７によって第２動作が検出されている場合には（ステップＳ８７でＹｅｓ）、特定部１５は、第２動作が検知対象物６０のジェスチャーであると特定する（ステップＳ８８）。例えば、第２動作検出部によって検知対象物６０が上方向に移動する第２動作が検出されている場合には、特定部１５は、検知対象物６０が上方向に移動する第２動作が、検知対象物６０のジェスチャーであると特定する。ステップＳ８８で特定されたジェスチャーは、ジェスチャー検出装置１での検出結果として、ジェスチャー検出装置１の外部に出力される。そして、特定部１５は、動作検出部で検出された検出結果（より具体的には、第２動作検出部１７が検出した第２動作）と、第１計測部２６が保持する計測結果とをクリアする（ステップＳ８９）。
【０２１７】
なお、検知対象物６０が第２動作を行っている途中に、第３動作検出部１８によって第３動作が検出される場合、もしくは検知対象物６０が第３動作を行っている途中に第２動作検出部１７によって第２動作が検出される場合はない。そのため、第３動作検出部１８が第３動作を検出しているか否かの判定（ステップＳ８３）を行う前に、ステップＳ８５以降の処理を行っても、特定部１５の特定結果は変化しない。したがって、図３３に示される例とは異なり、ステップＳ８３の処理の前にステップＳ８５以降の処理を行ってもよい。
【０２１８】
＜２−８．第一実施形態変形例＞
図３４は、本変形例に係る制御部１０に形成される複数の機能ブロックの一部を示す図である。図３４に示されるように、本変形例に係る制御部１０は、第一実施形態に係る制御部１０とは異なり、座標値比較部３０を備えている。座標値比較部３０は、ジェスチャー検出装置１に入力される検知対象物６０の位置を示す座標値を監視し、当該座標値が変化していない場合にテーブル更新部１１および第２動作検出部（動作検出部１４）に通知する。
【０２１９】
図３５は、テーブル更新部１１、第２動作検出部１７および座標値比較部３０の処理を説明するための図である。図３４，３５を参照しながら、本変形例に係るテーブル更新部１１、第２動作検出部１７および座標値比較部３０が行う処理について以下に説明する。
【０２２０】
まず、座標値比較部３０は、前回ジェスチャー検出装置１に入力されたｘ座標値から、今回ジェスチャー検出装置１に入力されたｘ座標値が変化したかを判定する（ステップＳ９０ａ）。前回ジェスチャー検出装置１に入力されたｘ座標値から、今回ジェスチャー検出装置１に入力されたｘ座標値が変化した場合には（ステップＳ９０ａでＹｅｓ）、テーブル更新部１１は、第１テーブルの更新を行い（ステップＳ１ａ）、第２動作検出部１７はステップＳ１ａで更新された第１テーブルを用いて第２動作を検出する（ステップＳ３ａ）。
【０２２１】
一方、前回ジェスチャー検出装置１に入力されたｘ座標値から今回ジェスチャー検出装置１に入力されたｘ座標値が変化していない場合には（ステップＳ９０ａでＮｏ）、テーブル更新部１１は第１テーブルの更新を行わない。そして、第２動作検出部１７は、第１テーブルを用いる検出処理を行わない。
【０２２２】
検知対象物６０がｘ軸に沿って動いていないときには、テーブル更新部１１が、第１テーブルの更新処理を行っても、テーブル保持部１２が保持する第１テーブルが保持する情報は変わらない。また、検知対象物６０がｘ軸に沿って動いていないときには、第２動作検出部１７が、検知対象物６０がｘ軸に沿って動く第２動作を検出することはない。したがって、本変形例では、座標値比較部３０によって、前回ジェスチャー検出装置１に入力されたｘ座標値から今回ジェスチャー検出装置１に入力されたｘ座標値が変化していないと判定された場合には、座標値比較部３０は、テーブル更新部１１に今回ジェスチャー検出装置１に入力されたｘ座標値を用いる第１テーブルの更新処理を行わせず、第２動作検出部１７に、当該第１テーブルを用いる検出処理を行わせない。その結果、本変形例に係るジェスチャー検出装置１では、検知対象物６０が動いていないときの、ジェスチャー検出装置１が行う処理の量を削減することができる。
【０２２３】
制御部１０に座標値比較部３０が備えられない場合において、検知対象物６０が動いていないときの処理を削減するときには、テーブル更新部１１および第２動作検出部１７は独立して、今回ジェスチャー検出装置１に入力されたｘ座標値と、前回ジェスチャー検出装置１に入力されたｘ座標値とを比較して、処理を行うか否かを判断しなければならない。この場合には、テーブル更新部１１および第２動作検出部１７のそれぞれが、同じ処理（今回ジェスチャー検出装置１に入力されたｘ座標値と、前回ジェスチャー検出装置１に入力されたｘ座標値とを比較する処理）を行うことになる。しかし、本変形例のように、座標値比較部３０が、ジェスチャー検出装置１に入力される検知対象物６０の位置を示す座標値を監視し、座標値に変化がない場合、つまり検知対象物６０が動いていない場合に、テーブル更新部１１および第２動作検出部１７に通知することで、テーブル更新部１１および第２動作検出部１７が同じ処理を行うことがない。
【０２２４】
同様に、座標値比較部３０は、前回ジェスチャー検出装置１に入力されたｙ座標値と、今回ジェスチャー検出装置１に入力されたｙ座標値とに変化があるかを判定する（ステップＳ９０ｂ）。前回ジェスチャー検出装置１に入力されたｙ座標値と、今回ジェスチャー検出装置１に入力されたｙ座標値とに変化がある場合には（ステップＳ９０ｂでＹｅｓ）、テーブル更新部１１は、第２テーブルの更新を行い（ステップＳ１ｂ）、第２動作検出部１７はステップＳ１ｂで更新された第２テーブルを用いて第２動作を検出する（ステップＳ３ｂ）。一方、前回ジェスチャー検出装置１に入力されたｙ座標値と、今回ジェスチャー検出装置１に入力されたｙ座標値とに変化がない場合には（ステップＳ９０ｂでＮｏ）、テーブル更新部１１は第２テーブルの更新を行わず、第２動作検出部１７は、第２テーブルを用いる検出処理を行わない。
【０２２５】
同様に、座標値比較部３０は、前回ジェスチャー検出装置１に入力されたｚ座標値と、今回ジェスチャー検出装置１に入力されたｚ座標値とに変化があるかを判定する（ステップＳ９０ｃ）。前回ジェスチャー検出装置１に入力されたｚ座標値と、今回ジェスチャー検出装置１に入力されたｚ座標値とに変化がある場合には（ステップＳ９０ｃでＹｅｓ）、テーブル更新部１１は、第３テーブルの更新を行い（ステップＳ１ｃ）、第２動作検出部１７はステップＳ１ｃで更新された第３テーブルを用いて第２動作を検出する（ステップＳ３ｃ）。一方、前回ジェスチャー検出装置１に入力されたｚ座標値と、今回ジェスチャー検出装置１に入力されたｚ座標値とに変化がない場合には（ステップＳ９０ｃでＮｏ）、テーブル更新部１１は第３テーブルの更新を行わず、第２動作検出部１７は、第３テーブルを用いる検出処理を行わない。
【０２２６】
＜＜３．第二実施形態＞＞
第二実施形態では、位置検出装置１００が検出する座標値が検知対象物６０の位置を示していない場合に、ジェスチャー検出装置１が行う処理を低減させる例を２つ説明する。
【０２２７】
＜第二実施形態の１つめの例＞
まず、図３６，３７を参照しながら、１つめの例について説明する。図３６は、第二実施形態の１つめの例に係る制御部１０に形成される複数の機能ブロックの一部を示す図である。図３７は、第２実施形態の１つめの例に係る制御部１０での処理を説明するための図である。
【０２２８】
図３６に示されるように、既述した第一実施形態とは異なり、第二実施形態の１つめの例に係る制御部１０には、距離特定部３１が備えられている。距離特定部３１は、検知対象物６０と位置検出装置１００が備える受光部１０２の受光面との間の距離を特定し、当該距離に基づいて位置検出装置１００から入力された座標値が検知対象物６０の位置を示しているのか否かを判定する。通常、検知対象物６０がジェスチャーを行う場合には、当該検知対象物６０は、受光部１０２の受光面に近づいてジェスチャーを行う。したがって、検知対象物６０と位置検出装置１００が備える受光部１０２の受光面との間の距離が遠い場合には、ジェスチャー検出装置１に入力された座標値が、ジェスチャーを行う検知対象物６０の位置を示していない可能性が高い。したがって、距離特定部３１は、位置検出装置１００から入力された座標値がジェスチャーを行う検知対象物６０の位置を示していないと判定した場合には、検知対象物６０が存在していないとして、テーブル更新部１１およびジェスチャー検出部１３に処理を行わせない。
【０２２９】
なお、本実施の形態では、受光部１０２の受光面がｘｙ座標平面と平行であるため、検知対象物６０と位置検出装置１００が備える受光部１０２の受光面との間の距離はｚ座標値に基づいて求めることができる。したがって、以下の説明では、距離特定部３１が、ｚ座標値を用いて、検知対象物６０が存在するかの判定を行う場合を例に挙げて説明する。しかし、座標軸の定義の仕方によって、距離特定部３１が判定に用いる座標値は変化する。より具体的には、受光部１０２の受光面がｘ軸に垂直である場合には、距離特定部３１はｘ座標値に基づいて、検知対象物６０と受光部１０２の受光面との間の距離を求める。また、受光部１０２の受光面がｙ軸に垂直である場合には、距離特定部３１はｙ座標値に基づいて、検知対象物６０と受光部１０２の受光面との間の距離を求める。
【０２３０】
なお、本実施の形態では、ｘｙ座標平面に受光部１０２の受光面が含まれているため、検知対象物６０と受光部１０２の受光面との間の距離はｚ座標値の値そのものとなる。本実施の形態とは異なり、ｘｙ座標平面に受光部１０２の受光面が含まれていない場合には、ｘｙ座標平面と受光部１０２の受光面と間の距離とｚ座標値とに基づいて、検知対象物６０と受光部１０２の受光面との間の距離を求めることができる。
【０２３１】
図３７に示されるように、まず、距離特定部３１は、ジェスチャー検出装置１に入力されたｚ座標値を取得する（ステップＳ１１０）。続いて、距離特定部３１は、ステップＳ１１０で取得したｚ座標値、つまり、検知対象物６０と受光部１０２の受光面との間の距離が第１０の閾値より小さいかを特定する（ステップＳ１１１）。第１０の閾値の値は、位置検出装置１００の設置環境等によって適宜変更することができる。
【０２３２】
ジェスチャー検出装置１に入力されたｚ座標値が、第１０の閾値より大きい場合、もしくは第１０の閾値と同じ値である場合には（ステップＳ１１１でＮｏ）、距離特定部３１は、テーブル更新部１１およびジェスチャー検出部１３に処理を行わせずに、次にジェスチャー検出装置１に座標値が入力されるのを待つ（ステップＳ１１２）。
【０２３３】
反対に、ジェスチャー検出装置１に入力されたｚ座標値が、第１０の閾値より小さい場合には（ステップＳ１１１でＮｏ）、距離特定部３１は、テーブル更新部１１およびジェスチャー検出部１３に処理を行わせる。具体的には、テーブル更新部１１にテーブルを更新させ（ステップＳ１）、第１動作検出部１６に第１動作を検出させ（ステップＳ２）、第２動作検出部１７に第２動作を検出させ（ステップＳ３）、第３動作検出部１８に第３動作を検出させ（ステップＳ４）、特定部１５に検知対象物６０のジェスチャーを特定させる（ステップＳ５）。
【０２３４】
このように、距離特定部３１は、検知対象物６０と受光部１０２の受光面との間の距離が第１０の閾値より大きいときに、テーブル更新部１１およびジェスチャー検出部１３に処理を行わせない。その結果、検知対象物６０の位置を示さない座標値に基づいて行われるジェスチャー検出装置１の処理の量を削減することができる。
【０２３５】
なお、本実施の形態における距離特定部３１は、ジェスチャー検出装置１に入力されたｚ座標値が、第１０の閾値と同じ値であるときには、検知対象物６０が存在しないとして、テーブル更新部１１およびジェスチャー検出部１３に処理を行わせない。しかし、距離特定部３１は、ジェスチャー検出装置１に入力されたｚ座標値が、第１０の閾値と同じ値であるときに、検知対象物６０が存在するとして、テーブル更新部１１およびジェスチャー検出部１３に処理を行わせてもよい。
【０２３６】
＜第二実施形態の２つめの例＞
次に、図３８，３９を参照しながら、２つめの例について説明する。図３８は、第二実施形態の２つめの例に係る制御部１０に形成される複数の機能ブロックの一部を示す図である。図３９は、第２実施形態の２つめの例に係る制御部１０での処理を説明するための図である。
【０２３７】
図３８に示されるように、上述した第二実施形態の１つめの例とは異なり、第二実施形態の２つめの例に係る制御部１０は、第３判定部３２を備えている。第３判定部３２は、距離特定部３１での特定結果に基づいて、検知対象物６０が所定時間以上存在していないか否かを判定する。そして、検知対象物６０が所定時間以上存在しておらず、第２動作が検出されている場合には、当該第２動作を検知対象物６０のジェスチャーとする。
【０２３８】
図３９に示されるように、まず、距離特定部３１は、ジェスチャー検出装置１に入力されたｚ座標値を取得する（ステップＳ１１０）。続いて、距離特定部３１は、ステップＳ１１０で取得したｚ座標値、つまり、検知対象物６０と受光部１０２の受光面との間の距離が第１０の閾値より小さいかを特定する（ステップＳ１１１）。
【０２３９】
ステップＳ１１０で取得されたｚ座標値が第１０の閾値より大きい場合、もしくは第１０の閾値と同じ値である場合には（ステップＳ１１１でＮｏ）、第３判定部３２は、当該第３判定部３２が保持する計測回数に＋１を加算する（ステップＳ１１３）。第３判定部３２が保持する計測回数は、ステップＳ１１１でｚ座標値が第１０の閾値より大きいと判定される度に加算されていく。つまり、第３判定部３２で保持される計測回数は、ジェスチャーを行う検知対象物６０が存在していない時間を示している。
【０２４０】
続いて、第３判定部３２は、ステップＳ１１３で更新した計測回数が第１１の閾値より大きいか否かを判定する（ステップＳ１１４）。ステップＳ１１３で更新した計測回数が第１１の閾値より小さい場合もしくは第１１の閾値と同じ値である場合、つまりジェスチャーを行う検知対象物６０が存在していない時間が、所定時間より短い場合には（ステップＳ１１４でＮｏ）、第３判定部３２は、処理を終了する（ステップＳ１１２）。つまり、第３判定部３２は、テーブル更新部１１およびジェスチャー検出部１３に処理を行わせずに、次にジェスチャー検出装置１に座標値が入力されるのを待つ。
【０２４１】
一方、ステップＳ１１３で更新した計測回数が第１１の閾値より大きい場合、つまりジェスチャーを行う検知対象物６０が存在していない時間が所定時間より長い場合には（ステップＳ１１４でＹｅｓ）、第３判定部３２は、第２動作検出部１７によって第２動作が検出されているかを判定する（ステップＳ１１５）。
【０２４２】
第２動作検出部１７によって第２動作が検出されていない場合には（ステップＳ１１５でＮｏ）、第３判定部３２は、処理を終了する（ステップＳ１１２）。反対に、第２動作検出部１７によって第２動作が検出されている場合には（ステップＳ１１５でＹｅｓ）、第３判定部３２は、第２動作検出部１７によって検出されている第２動作を、検知対象物６０のジェスチャーであると特定し（ステップＳ１１６）、動作検出部１４での検出結果、第１計測部２６での計測結果、第３判定部３２での計測結果および第１判定部での履歴情報を初期化する（ステップＳ１１７）。
【０２４３】
既述したように、検知対象物６０の動作によって、第１判定部２１が履歴情報を保持し、第２動作検出部１７が第２動作を検出した場合には、特定部１５は検知対象物６０のジェスチャーを特定しない。その後に、検知対象物６０（ユーザ）が第２動作を行ったつもりで動作を終了してしまうと、ジェスチャー検出装置１は検知対象物６０によって行われたジェスチャーを検出しないままとなる。
【０２４４】
したがって、本実施の形態では、第３判定部３２が、検知対象物６０が存在していない時間が、第１１の閾値に応じた所定時間より長く、かつ第２動作検出部１７によって第２動作が検出されているときに、当該第２動作を検知対象物６０のジェスチャーとする。言い換えると、第３判定部３２は、第１動作検出中に、検知対象物６０の動作が終了したと判定した場合には、検出されている第２動作を検知対象物６０のジェスチャーとする。したがって、第１動作及び第３動作とは異なり、第２動作検出部１７で検出されても、すぐに検知対象物６０のジェスチャーであると特定されない場合がある第２動作を検出しやすくすることができる。その結果、ジェスチャー検出装置１で、第２動作が検出されやすくなる。
【０２４５】
図３９のステップＳ１１１に戻り、ステップＳ１１０で取得されたｚ座標値が第１０の閾値より小さい場合には（ステップＳ１１１でＹｅｓ）、第３判定部３２は、当該第３判定部３２が保持する計測回数をクリアする（ステップＳ１１８）。そして、距離特定部３１は、テーブル更新部１１およびジェスチャー検出部１３に処理を行わせる（ステップＳ１〜ステップＳ５）。第３判定部３２は、ステップＳ１１０で取得されたｚ座標値が第１０の閾値より小さい場合に、計測回数をクリアすることで、当該計測回数はジェスチャーを行う検知対象物６０が連続して存在していない時間を示す。検知対象物６０は、ジェスチャーを行う途中で、受光部１０２の受光面から一時的に離れてしまう可能性もある。そのため、第３判定部３２が、ジェスチャーを行う検知対象物６０が連続して存在していない時間を用いて判定を行うことで、より正確に検知対象物６０の動作が終了したか否かを判定することができる。
【０２４６】
なお、図３８に示されるように、本実施の形態では、距離特定部３１と第３判定部３２とを合わせて、検知対象物有無特定部３３と呼ぶことがある。
【０２４７】
＜＜４．第三実施形態＞＞
第三実施形態では、検知対象物６０の表面の凹凸によって、位置検出装置１００で検出される座標値がばらつく場合について説明する。位置検出装置１００で検出される座標値がばらつく場合には、例えば、実際には検知対象物６０が動いていないにも関わらず、位置検出装置１００で検出される座標値が変化することによりジェスチャー検出装置１の検出精度が低下する可能性がある。
【０２４８】
しかし、検知対象物６０の表面の凹凸が原因による、位置検出装置１００で検出される座標値の変化の量は小さい。したがって、本実施の形態では、テーブル更新部１１は以下に説明する処理でテーブルを更新することにより、検知対象物６０の表面の凹凸が原因による、ジェスチャー検出装置１の検出精度の低下を抑制する。なお、第三実施形態で説明する内容については、第一及び第二実施形態のそれぞれにおいて適用することできる。
【０２４９】
図４０は、図１０に示されるテーブル更新部１１の処理に対応する、本実施の形態に係るテーブル更新部１１の処理を示す図である。図１０に示される処理との違いは、ステップＳ２２の前に、ステップＳ２６の処理が挿入されている点である。
【０２５０】
ステップＳ２６の処理は、テーブル保持部１２に保持されている第１テーブルに登録されている変化方向と、前回ジェスチャー検出装置１に入力されたｘ座標値に対する、今回ジェスチャー検出装置１に入力されたｘ座標値の変化の方向とが逆である場合に行われる。
【０２５１】
ステップＳ２６では、テーブル更新部１１は、ステップＳ１１で求められた差分値αの絶対値｜α｜が第１２の閾値より大きいかを判定している。つまり、ステップＳ２６では、前回ジェスチャー検出装置１に入力されたｘ座標値と、今回ジェスチャー検出装置１に入力されたｘ座標値との差が、検知対象物６０の表面の凹凸が原因で発生した小さい変化であるかを判定している。第１２の閾値の値は、検知対象物６０の材質や照明条件によって決定される。
【０２５２】
ステップＳ１１で求められた値の絶対値｜α｜が第１２の閾値より大きい場合には（ステップＳ２６でＹｅｓ）、テーブル更新部１１は、検知対象物６０の表面の凹凸の影響によって座標値が変化したのではない判定して、第３動作検出部１８に通知を行い（ステップＳ２２）、テーブル保持部１２に保持されている第１テーブルを初期化する（ステップＳ２３）。
【０２５３】
反対に、ステップＳ１１で求められた差分値αの絶対値｜α｜が第１２の閾値より小さい場合、もしくは第１２の閾値と同じ値である場合には（ステップＳ２６でＮｏ）、テーブル更新部１１は、検知対象物６０の表面の凹凸の影響によって座標値が変化したと判定して、テーブル保持部１２に保持されている第１テーブルを更新せずに処理を終了する。
【０２５４】
このように、テーブル更新部１１が、前回入力されたｘ座標値に対する、今回入力されたｘ座標値の変化の方向が、第１テーブルに保持されている変化方向と異なり、かつ前回入力されたｘ座標値と、今回入力されたｘ座標値との差が第１２の閾値より小さい場合には、第１テーブルの更新を行わない。そのため、動作検出部１４は、検知対象物６０の表面の凹凸による影響を受けたｘ座標値に基づいて更新された第１テーブルに基づいて検出処理を行うことがない。その結果、ジェスチャー検出装置１のジェスチャーの検出精度が向上する。
【０２５５】
なお、説明は省略するが、テーブル更新部１１は、第２テーブルおよび第３テーブルに対しても上記と同様の処理を行う。
【０２５６】
＜＜５．第四実施形態＞＞
第四実施形態では、第三実施形態とは異なり、位置検出装置１００からジェスチャー検出装置１に入力される座標値が、位置検出装置１００の照明部１０１や、照明部１０１以外の光源の影響によってばらつく場合について説明する。このような、光源が要因である場合には、位置検出装置１００で検出される座標値のばらつきは、短期間しか現れない。
【０２５７】
したがって、本実施の形態では、位置検出装置１００から出力された３つの座標値の中央値をテーブル更新部１１に出力する出力部を備えることで、光源が原因による、ジェスチャー検出装置１の検出精度の低下を抑制する。なお、第四実施形態で説明する内容については、第一〜第三実施形態のそれぞれにおいて適用することできる。
【０２５８】
図４１は、第四実施形態に係る制御部１０に形成される複数の機能ブロックの一部を示す図である。図４２は、第四実施形態に係る制御部１０での処理を説明するための図である。図４１，４２を参照しながら、本実施形態に係る制御部１０の処理について以下に説明する。なお、以下に示される例では、ジェスチャー検出装置１にｘ座標値が入力された場合を例に挙げて説明するが、ジェスチャー検出装置１にｙ座標値およびｚ座標値が入力された場合も同様に考えることができる。
【０２５９】
図４１に示されるように、本実施形態に係る制御部１０は、出力部３５が備えられる。出力部３５は、位置検出装置１００から出力される検知対象物６０の位置を示す座標値が入力される。そして、出力部３５は、位置検出装置１００から出力された３つの座標値の中央値をテーブル更新部１１に出力する。
【０２６０】
図４２に示されるように、まず出力部３５は、位置検出装置１００が出力したｘ座標値を取得する（ステップＳ１２０）。続いて、出力部３５は、ステップＳ１２０で取得したｘ座標値を保持する（ステップＳ１２１）。続いて、出力部３５は、３回分のｘ座標値を保持しているかを判定する（ステップＳ１２２）。３回分のｘ座標値が保持されていない場合には（ステップＳ１２２でＮｏ）、出力部３５は、ステップＳ１２０に戻り、次に位置検出装置１００から出力されるｘ座標値を取得する。
【０２６１】
一方、３回分のｘ座標値が保持されている場合には（ステップＳ１２２でＹｅｓ）、出力部３５は、３回分のｘ座標値のうちの中央の値を選択する（ステップＳ１２３）。そして、テーブル更新部１１は、ステップＳ１２３で選択されたｘ座標値に基づいて第１テーブルを更新し（ステップＳ１ａ）、第１動作検出部１６は、ステップＳ１ａで更新された第１テーブルと、ステップＳ１ａが行われる前後にテーブル更新部１１によって更新された第２テーブルもしくは第３テーブルとに基づいて、第１動作を検出し（ステップＳ２ａ）、第２動作検出部１７は、ステップＳ１ａで更新された第１テーブルに基づいて第２動作を検出し（ステップＳ３ａ）、第３動作検出部１８はステップＳ１ａで更新された第１テーブルに基づいて第３動作を検出し（ステップＳ４ａ）、特定部１５は検知対象物６０のジェスチャーを検出する（ステップＳ５）。
【０２６２】
出力部３５は、ジェスチャー検出装置１に対してｘ座標値が３つ入力されるたびに、入力された３つのｘ座標値のうちの中央の座標値をテーブル更新部１１に出力する。そのため、ジェスチャー検出装置１は、光源の影響が少ない座標値を用いて検知対象物６０のジェスチャーを検出することができる。また、出力部３５は、ジェスチャー検出装置１に入力される３つのｘ座標値の中央の値を出力することで、平均値の計算等を行わずに、簡単な処理によって、光源の影響が少ないｘ座標値を出力することができる。
【０２６３】
上記においてジェスチャー検出装置は詳細に説明されたが、上記した説明は、全ての局面において例示であって、この発明がそれに限定されるものではない。また、上述した各種の例は、相互に矛盾しない限り組み合わせて適用可能である。そして、例示されていない無数の変形例が、この発明の範囲から外れることなく想定され得るものと解される。
【符号の説明】
【０２６４】
１  ジェスチャー検出装置
１１  テーブル更新部
１２  テーブル保持部
１３  ジェスチャー検出部
１４  動作検出部
２０  移動方向特定部
２１  第１判定部
６０  検知対象物
１００  位置検出装置
【図１】
2015197724.tif 000003
【図２】
2015197724.tif 000004
【図３】
2015197724.tif 000005
【図４】
2015197724.tif 000006
【図５】
2015197724.tif 000007
【図６】
2015197724.tif 000008
【図７】
2015197724.tif 000009
【図８】
2015197724.tif 000010
【図９】
2015197724.tif 000011
【図１０】
2015197724.tif 000012
【図１１】
2015197724.tif 000013
【図１２】
2015197724.tif 000014
【図１３】
2015197724.tif 000015
【図１４】
2015197724.tif 000016
【図１５】
2015197724.tif 000017
【図１６】
2015197724.tif 000018
【図１７】
2015197724.tif 000019
【図１８】
2015197724.tif 000020
【図１９】
2015197724.tif 000021
【図２０】
2015197724.tif 000022
【図２１】
2015197724.tif 000023
【図２２】
2015197724.tif 000024
【図２３】
2015197724.tif 000025
【図２４】
2015197724.tif 000026
【図２５】
2015197724.tif 000027
【図２６】
2015197724.tif 000028
【図２７】
2015197724.tif 000029
【図２８】
2015197724.tif 000030
【図２９】
2015197724.tif 000031
【図３０】
2015197724.tif 000032
【図３１】
2015197724.tif 000033
【図３２】
2015197724.tif 000034
【図３３】
2015197724.tif 000035
【図３４】
2015197724.tif 000036
【図３５】
2015197724.tif 000037
【図３６】
2015197724.tif 000038
【図３７】
2015197724.tif 000039
【図３８】
2015197724.tif 000040
【図３９】
2015197724.tif 000041
【図４０】
2015197724.tif 000042
【図４１】
2015197724.tif 000043
【図４２】
2015197724.tif 000044