(57)【要約】【課題】ユーザに対して新たな操作性を提供する。【解決手段】コンピュータの移動に対する３次元上の第１の加速度および第２の加速度を取得するステップと、第１の加速度を取得した時点と第２の加速度を取得した時点との間の第１の時間、および、第１の加速度と第２の加速度との第１の差分加速度に基づいて、第１の物理量を検出するステップと、コンピュータの移動に対する３次元上の第３の加速度を取得するステップと、第２の加速度を取得した時点と第３の加速度を取得した時点との間の第２の時間、および、第２の加速度と第３の加速度との第２の差分加速度に基づいて、第２の物理量を検出するステップと、第１の物理量と第２の物理量とを比較してコンピュータが３次元上のいずれかの次元において異なる方向に移動したことを示しているとき、情報入力ジェスチャを判定するステップとを備える。【選択図】図４
2016081381.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータへの情報入力に対する情報入力ジェスチャを検出するための前記コンピュータにより実行される方法であって、
前記コンピュータが移動したことに応じて、前記移動に対する３次元上の第１の加速度を取得するステップと、
前記コンピュータが移動したことに応じて、前記移動に対する３次元上の第２の加速度を取得するステップと、
前記第１の加速度を取得した時点と前記第２の加速度を取得した時点との間の第１の時間、および、前記第１の加速度と前記第２の加速度との第１の差分加速度に基づいて、前記コンピュータの動きに応じた第１の物理量を検出するステップと、
前記コンピュータが移動したことに応じて、前記移動に対する３次元上の第３の加速度を取得するステップと、
前記第２の加速度を取得した時点と前記第３の加速度を取得した時点との間の第２の時間、および、前記第２の加速度と前記第３の加速度との第２の差分加速度に基づいて、前記コンピュータの動きに応じた第２の物理量を検出するステップと、
前記第１の物理量を検出するステップおよび第２の物理量を検出するステップが実行されると、前記第１の物理量と前記第２の物理量とを比較して、前記コンピュータが３次元上のいずれかの次元において異なる方向に移動したことを示しているとき、前記情報入力ジェスチャを判定するステップと
を備えていることを特徴とする方法。
【請求項２】
前記情報入力ジェスチャは、前記第１の物理量を検出するステップおよび前記第２の物理量を検出するステップが複数回実行されたことに応じて判定されることを特徴とする請求項１に記載の方法。
【請求項３】
前記情報入力ジェスチャを判定したことに応答して、前記判定した情報入力ジェスチャに対応するジェスチャ判定値を記憶するステップをさらに備え、
前記情報入力ジェスチャは、前記記憶したジェスチャ判定値に基づいて判定されることを特徴とする請求項１または２に記載の方法。
【請求項４】
前記ジェスチャ判定値と関連付けられた情報を表示部に表示するステップをさらに備えていることを特徴とする請求項３に記載の方法。
【請求項５】
前記ジェスチャ判定値と関連付けられた操作を実行するステップをさらに備えていることを特徴とする請求項３に記載の方法。
【請求項６】
前記ジェスチャ判定値と関連付けられた前記情報入力ジェスチャの態様を示す出力を行うことを特徴とする請求項３に記載の方法。
【請求項７】
前記情報入力ジェスチャの態様を示す出力は音出力であることを特徴とする請求項６に記載の方法。
【請求項８】
前記情報入力ジェスチャの態様を示す出力は画像出力であることを特徴とする請求項６に記載の方法。
【請求項９】
前記ジェスチャ判定値を所定の組み合わせとして記憶するステップと、
前記記憶したジェスチャ判定値を、予め定義された情報と適合するか判定することによって認証処理を実行するステップと
さらに備えていることを特徴とする請求項３乃至請求項８のいずれか１項に記載の方法。
【請求項１０】
前記判定した情報入力ジェスチャの第１の情報入力ジェスチャを判定したことに応答して、前記判定した第１の情報入力ジェスチャに対応する第１のジェスチャ判定値を記憶するステップと、
前記記憶した第１のジェスチャ判定値を、ニューラルネットワーク入力信号に変換するステップと、
前記変換したニューラルネットワーク入力信号と、教師信号とを階層型ニューラルネットワークに入力することにより、前記階層型ニューラルネットワークを学習させるステップと、
前記判定した情報入力ジェスチャの第２の情報入力ジェスチャを判定したことに応答して、前記判定した第２の情報入力ジェスチャに対応する第２のジェスチャ判定値を記憶するステップと、
前記記憶した第２のジェスチャ判定値を、ニューラルネットワーク入力信号に変換するステップと、
前記変換したニューラルネットワーク入力信号を、前記階層型ニューラルネットワークに入力することにより、前記階層型ニューラルネットワークからの出力信号を取得するステップと、
前記取得した出力信号と前記教師信号との差を判定するステップと
をさらに備え、
前記判定した差が所定の値以下であった場合に、前記第２の情報入力ジェスチャは、前記第１の情報入力ジェスチャと同一であるものとして判定される
ことを特徴とする請求項１乃至９のいずれか一項に記載の方法。
【請求項１１】
コンピュータへの情報入力に対する情報入力ジェスチャを検出するためのコンピュータであって、
前記コンピュータが移動したことに応じて、前記移動に対する３次元上の第１の加速度を取得する第１の加速度取得部と、
前記コンピュータが移動したことに応じて、前記移動に対する３次元上の第２の加速度を取得する第２の加速度取得部と、
前記第１の加速度を取得した時点と前記第２の加速度を取得した時点との間の第１の時間、および、前記第１の加速度と前記第２の加速度との第１の差分加速度に基づいて、前記コンピュータの動きに応じた第１の物理量を検出する第１の物理量検出部と、
前記コンピュータが移動したことに応じて、前記移動に対する３次元上の第３の加速度を取得する第３の加速度取得部と、
前記第２の加速度を取得した時点と前記第３の加速度を取得した時点との間の第２の時間、および、前記第２の加速度と前記第３の加速度との第２の差分加速度に基づいて、前記コンピュータの動きに応じた第２の物理量を検出する第２の物理量検出部と、
前記第１の物理量および第２の物理量が検出されると、前記第１の物理量と前記第２の物理量とを比較して、前記コンピュータが３次元上のいずれかの次元において異なる方向に移動したことを示しているとき、前記情報入力ジェスチャを判定する情報入力ジェスチャ判定部と
を備えていることを特徴とするコンピュータ。
【請求項１２】
前記情報入力ジェスチャは、前記第１の物理量を検出することおよび前記第２の物理量を検出することが複数回実行されたことに応じて判定されることを特徴とする請求項１１に記載のコンピュータ。
【請求項１３】
請求項１乃至１０のいずれか一項に記載の方法をコンピュータに実行させるためのプログラム。
【請求項１４】
請求項１３に記載のプログラムを記録したコンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はジェスチャ検出装置およびジェスチャ検出方法に関する。特に、本発明は、携帯型端末への情報入力において、ベクトル方向およびベクトル量に基づいて、ユーザによるジェスチャを検出することができるジェスチャ検出装置およびジェスチャ検出方法に関する。
【背景技術】
【０００２】
スマートフォン等に代表される携帯型端末に対して、文字等の情報を認識させる方式としては、携帯型端末のタッチパネルディスプレイ上に表示されたスマートキーボードを介した入力方法が知られている。当該入力方法においては、携帯型端末のタッチパネルディスプレイ上に表示されたインターフェース等に対し、ユーザによる指またはスタイラスペンを使用したタッチ操作を認識することによって、情報入力が行われる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１２−２５６１００号公報
【特許文献２】特開２０１３−１３１８５３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、携帯型端末のタッチパネルディスプレイの大きさには制限があり、スマートキーボードを介した文字等の情報入力は、ユーザにとって行い難い場合があった。また、当該スマートキーボードを介した情報入力は、冬季外出等で手袋を装着している際、または、工場等の現場作業において、手袋の装着が義務付けられている状況では、タッチパネルディスプレイへのタッチ操作を正確に認識することが困難であるという問題を有している。さらに、視覚障害を有しているユーザにとって、タッチパネルディスプレイへのタッチ操作が困難であるという問題も存在する。
【０００５】
上記課題を解決するため、携帯型端末のタッチパネルディスプレイを介したユーザの指によるジェスチャを認識し、ジェスチャに関連付けられた操作を行う携帯型端末が開示されている。
【０００６】
また、携帯型端末に対するジェスチャを認識し、認識されたジェスチャに応じて、キーボードオブジェクトの表示内容を変更するスマートフォンが開示されている。
【０００７】
しかし、特許文献１に係る携帯型端末では、ユーザがタッチパネルディスプレイを介してジェスチャを行うという点で、上述したスマートキーボードを介した情報入力と比較して、操作性の問題の観点から大きな差異は存在しない。
【０００８】
また、特許文献２に係る携帯型端末においても、最終的にユーザがタッチパネルディスプレイを介して情報入力を行うという点で、上述したスマートキーボードを介した情報入力と比較して、操作点の問題の観点から大きな差異は存在しない。
【０００９】
また、携帯型端末のタッチパネルディスプレイへのタッチ操作が困難な場合、音声を認識することによって、携帯型端末に対して情報入力を行う技術も存在するが、このような技術においても、携帯型端末のタッチパネルディスプレイに表示される各種ボタンや各種インターフェースを操作する際の操作性の問題が存在する。
【００１０】
本発明は上述の問題に鑑みてなされたものであり、その目的とするところは、スマートフォン等の携帯型端末を通じたユーザによるジェスチャを、当該ジェスチャのベクトル方向およびベクトル量に基づいて検出し、検出されたジェスチャに基づいて種々の処理を実行するジェスチャ検出装置およびジェスチャ検出方法を提供することにある。
【課題を解決するための手段】
【００１１】
上記の課題を解決するために、本発明に係るジェスチャ検出装置およびジェスチャ検出方法は、コンピュータへの情報入力に対する情報入力ジェスチャを検出するための前記コンピュータにより実行される方法であって、前記コンピュータが移動したことに応じて、前記移動に対する３次元上の第１の加速度を取得するステップと、前記コンピュータが移動したことに応じて、前記移動に対する３次元上の第２の加速度を取得するステップと、前記第１の加速度を取得した時点と前記第２の加速度を取得した時点との間の第１の時間、および、前記第１の加速度と前記第２の加速度との第１の差分加速度に基づいて、前記コンピュータの動きに応じた第１の物理量を検出するステップと、前記コンピュータが移動したことに応じて、前記移動に対する３次元上の第３の加速度を取得するステップと、前記第２の加速度を取得した時点と前記第３の加速度を取得した時点との間の第２の時間、および、前記第２の加速度と前記第３の加速度との第２の差分加速度に基づいて、前記コンピュータの動きに応じた第２の物理量を検出するステップと、前記第１の物理量を検出するステップおよび第２の物理量を検出するステップが実行されると、前記第１の物理量と前記第２の物理量とを比較して、前記コンピュータが３次元上のいずれかの次元において異なる方向に移動したことを示しているとき、前記情報入力ジェスチャを判定するステップとを備えていることを特徴とする。
【発明の効果】
【００１２】
本発明に係るジェスチャ検出装置およびジェスチャ検出方法によれば、スマートフォン等の携帯型端末において、ユーザに対して新たな操作性を提供することが可能となる。
【図面の簡単な説明】
【００１３】
【図１】本発明の一実施形態に係るジェスチャ検出装置を実装する携帯型端末の例を示す図である。
【図２】本発明の一実施形態に係るジェスチャ検出装置を実装する携帯型端末の詳細な構成の例を示す図である。
【図３】本発明の一実施形態に係る往復移動ジェスチャの例を示す図である。
【図４】本発明の一実施形態に係る往復移動ジェスチャ検出処理の例を示すフローチャートである。
【図５】本発明の一実施形態に係る往復移動ジェスチャ検出処理の別の例を示すフローチャートである。
【図６】本発明の一実施形態に係る方向転換移動ジェスチャの例を示す図である。
【図７】本発明の一実施形態に係る方向転換移動ジェスチャ検出処理の例を示すフローチャートである。
【図８】本発明の一実施形態に係る第２の往復移動ジェスチャの例を示す図である。
【図９】本発明の一実施形態に係る第２の往復移動ジェスチャ検出処理の例を示すフローチャートである。
【図１０】本発明の一実施形態に係る認証ＩＤ入力機能を実装する携帯型端末の例を示す図である。
【図１１】本発明の一実施形態に係る認証ＩＤ入力処理の例を示すフローチャートである。
【図１２】本発明の一実施形態に係る入力値定義テーブルの例を示す図である。
【図１３】本発明の一実施形態に係る音声出力定義テーブルの例を示す図である。
【図１４】本発明の一実施形態に係る画面インターフェース操作機能を実装する携帯型端末の例を示す図である。
【図１５】本発明の一実施形態に係る操作定義テーブルの例を示す図である。
【図１６】本発明の一実施形態に係る画面インターフェース操作処理における携帯型端末の画面遷移の例を示す図である。
【図１７】本発明の一実施形態に係るジェスチャ学習・認識装置を実装する携帯型端末の詳細な構成の例を示す図である。
【図１８】本発明の一実施形態に係るニューラルネットワーク演算部の構成の例を示す図である。
【図１９】本発明の一実施形態に係るニューラルネットワークの例を示す図である。
【図２０】本発明の一実施形態に係る変換テーブル記憶部の例を示す図である。
【図２１】本発明の一実施形態に係る教師信号定義テーブル記憶部の例を示す図である。
【図２２】本発明の一実施形態に係る意味テーブル記憶部の例を示す図である。
【図２３】本発明の一実施形態に係るジェスチャ学習・認識処理の例を示すフローチャートである。
【図２４】本発明の一実施形態に係るジェスチャ学習・認識処理における携帯型端末の画面遷移の例を示す図である。
【発明を実施するための形態】
【００１４】
＜用語の定義＞
本明細書において、「ジェスチャ」とは、ジェスチャ検出装置を実装する携帯型端末を移動させる動作を意味する。本発明に係るジェスチャ検出装置が所定のジェスチャを検出したことに応答して、携帯型端末のディスプレイにメニュー画面を表示するなどの処理を実行する。
【００１５】
以下、添付した図面を参照して、本発明の一実施形態に係るジェスチャ検出装置を詳細に説明する。
【００１６】
図１は、本発明の一実施形態に係るジェスチャ検出装置を実装する携帯型端末１００の外観図である。図１に示すように、携帯型端末１００は、ディスプレイ１５０を備えている。携帯型端末１００は、中央処理装置（ＣＰＵ）、メモリ、記憶装置などを備える携帯型コンピューティングデバイスであって、メモリまたは記憶装置に格納されたコンピュータプログラムをＣＰＵが処理することによって統括的に制御され、本実施形態に係る種々の処理を実行し、その機能を実現することができる携帯電話、タブレット型端末、および携帯情報端末（ＰＤＡ）などを含むが、これらに限定されない。ディスプレイ１５０は、指やスタイラスペン等の接触を検出することができるタッチパネルディスプレイを想定しているが、そのような形式には限定されず、出力情報を表示する従来型のディスプレイであってもよい。
【００１７】
図２は、本発明の一実施形態に係るジェスチャ検出装置を実装する携帯型端末１００の詳細な構成の例を示すブロック構成図である。図２に示すように、携帯型端末１００は、通信部１１０、制御部１２０、主記憶部１３０、補助記憶部１４０、ディスプレイ１５０、動き検出部１６０、時刻取得部１７０、およびスピーカ１８０を備えており、それらの各要素がシステムバスを介して接続されている。
【００１８】
通信部１１０は、公知の無線通信規格によって定められた方式に基づいて、無線により基地局と通信を行う。無線通信規格は、４Ｇ等のセルラフォンの通信規格を含み、これらセルラフォンの通信規格は、例えば、ロングタームエボリューション（ＬＴＥ）、ＷｉＭＡＸおよびＷｉ−Ｆｉ等を含むが、これらに限定されない。通信部１１０は、少なくともこれら通信規格のうちの１つをサポートすることができる。
【００１９】
制御部１２０は、中央処理装置（ＣＰＵ）とも呼ばれ、上記各構成要素の制御やデータの演算を行い、また、補助記憶部１４０に格納されている各種プログラムを主記憶部１３０に読み出して実行する。
【００２０】
主記憶部１３０は、メインメモリとも呼ばれ、携帯型端末が受信した入力データ、コンピュータ実行可能な命令、および当該命令による演算処理後のデータなどを記憶する。
【００２１】
補助記憶部１４０は、ハードディスク（ＨＤＤ）などに代表される記憶装置であり、データベーステーブル等を格納しているデータ記憶部１４１を備えている。また、補助記憶部１４０は、ジェスチャ処理プログラム１４２を備えており、ジェスチャ処理プログラム１４２は、後述する携帯型端末１００の往復移動ジェスチャを検出し、検出されたジェスチャをジェスチャ判定値としてデータ記憶部１４１に記憶することができる。
【００２２】
ディスプレイ１５０は、ユーザによる所定の入力操作を、抵抗膜方式または静電容量方式などの技術を利用して検出する。ディスプレイ１５０は、指などによって押圧されると（例えば、タッチ操作、タップ操作、またはスライド操作）、押圧された位置をＸ軸およびＹ軸の座標情報に変換し、押圧開始位置情報として制御部１２０へ送信する。ディスプレイ１５０はまた、上記押圧が解除されると（指などを離す）、押圧が解除された位置をＸ軸およびＹ軸の座標情報に変換し、押圧終了情報として制御部１２０へ送信する。
【００２３】
動き検出部１６０は、ピエゾ抵抗型、静電容量型、または熱検知型などのいずれかの検出方式を採用した加速度センサを備えており、Ｘ軸、Ｙ軸およびＺ軸の３方向の加速度を検出することができる。
【００２４】
時刻取得部１７０は、内蔵されたタイマによって現在時刻を取得する。取得する現在時刻はミリ秒単位の時刻を取得することができる。
【００２５】
スピーカ１８０は、制御部１２０の命令に基づいて、データ記憶部１４１に記憶された音声データから変換された音声信号を出力する。
【００２６】
＜第１の実施形態＞
次に図３を参照して、本発明の一実施形態に係る往復移動ジェスチャの例を説明する。「往復移動ジェスチャ」とは、携帯型端末１００が、初期位置から所定の方向に所定の距離を移動する第１の移動ジェスチャと、第１の移動ジェスチャによって到達した中間位置から、Ｘ軸、Ｙ軸、および／またはＺ軸における負の方向に所定の距離を移動する第２の移動ジェスチャとを含む移動動作を意味する。すなわち、図３に示すように、初期位置３０１にある携帯型端末１００が、矢印３ａで示す方向に中間位置３０２まで移動し（第１の移動ジェスチャ）、中間位置３０２から矢印３ｂで示す方向に最終位置３０３まで移動する（第２の移動ジェスチャ）。第２の移動ジェスチャにおけるＸ軸、Ｙ軸、および／またはＺ軸の方向は、第１の移動ジェスチャにおけるＸ軸、Ｙ軸、および／またはＺ軸の方向とは逆方向になる。
【００２７】
携帯型端末１００は、上記往復移動ジェスチャを検出したことに応答して、例えば、ディスプレイ１５０上に初期メニューを表示するなどの所定の処理を実行する。つまり、往復移動ジェスチャが、従来のディスプレイ１５０に対して行われるタッチ操作などに代わる、携帯型端末１００に対する情報入力となる。
【００２８】
次に、図４を参照して、本発明の一実施形態に係るジェスチャ検出装置が実行する往復移動ジェスチャ検出処理を説明する。なお、図４ならびに後述する図５、７および９に示す各ジェスチャ検出処理は、制御部１２０が補助記憶部１４０に格納されたジェスチャ処理プログラム１４２を主記憶部１３０に読み出して実行することにより実現される。
【００２９】
図４に示す処理では、以下の表１に示す変数が使用される。
【００３０】
【表１】
2016081381.tif 000003
【００３１】
携帯型端末１００の動き検出部１６０は、常に携帯型端末１００が移動したことに対するＸ軸、Ｙ軸、およびＺ軸における加速度を検出して、以下のステップＳ４０１乃至Ｓ４１４の処理を実行するように構成されている。このことは、例えば、定期的にステップＳ４０１乃至Ｓ４１４の処理を繰り返すことと比較して、例えば、携帯型端末１００が移動していないときにもジェスチャ判定処理を実行してしまうなどの不要な処理を回避することができる。まず、動き検出部１６０は、携帯型端末１００の動きを検出して、Ｘ軸、Ｙ軸、およびＺ軸における加速度ａXn、ａYn、およびａZn（ｍ／ｓ2）をそれぞれ取得する（ステップＳ４０１）。
【００３２】
次に、携帯型端末１００の時刻取得部１７０は、現在時刻ｔnを取得し、制御部１２０が旧時刻ｔoとの差分時間Δｔ（ｓ）を算出する（ステップＳ４０２）。
【００３３】
次に、制御部１２０は、ステップ４０２で算出した差分時間Δｔが、時間閾値ｔt（ｓ）以上であるか否かを判定する（ステップＳ４０３）。差分時間Δｔが時間閾値ｔt以上である場合は（ステップＳ４０３でＹｅｓ）、ステップＳ４０４に進み、差分時間Δｔが時間閾値ｔtを下回る場合は（ステップＳ４０３でＮｏ）、ステップＳ４０１に戻る。このように、差分時間Δｔが一定時間を経過しているか否かを判定しているので、時間閾値ｔtを適切に調整することによって、例えば、携帯型端末１００が連続移動していることを正確に、および／または、少ない処理回数で判定することができる。
【００３４】
ステップＳ４０４においては、制御部１２０は、式（１）乃至（３）にしたがって、ステップＳ４０１で取得した加速度ａXn、ａYn、およびａZnと、旧加速度ａXo、ａYo、およびａZo（ｍ／ｓ2）との差分加速度ΔａX、ΔａY、およびΔａZ（ｍ／ｓ2）をそれぞれ算出する。
【００３５】
【数１】
2016081381.tif 000004
【００３６】
【数２】
2016081381.tif 000005
【００３７】
【数３】
2016081381.tif 000006
【００３８】
次に、制御部１２０は、ステップＳ４０４で算出した差分加速度ΔａX、ΔａY、およびΔａZから、式（４）にしたがって、合成ベクトルｖを算出する（ステップＳ４０５）。
【００３９】
【数４】
2016081381.tif 000007
【００４０】
次に、制御部１２０は、以下の表２に示す条件４−１を満たすか否かを判定する（ステップＳ４０６）。
【００４１】
【表２】
2016081381.tif 000008
【００４２】
また、条件４−１に代えて、以下の条件４−１ａ、条件４−１ｂ、および条件４−１ｃのいずれかの条件を、ステップＳ４０６において定義してもよい。
【００４３】
【表３】
2016081381.tif 000009
【００４４】
【表４】
2016081381.tif 000010
【００４５】
【表５】
2016081381.tif 000011
【００４６】
例えば、ステップＳ４０６において、条件４−１ａを定義している場合は、往復移動ジェスチャにおける第１の移動ジェスチャ（図３の矢印３ａで示される）が、Ｙ軸およびＺ軸と比較して、Ｘ軸上へ大きく移動する必要がある。また、条件４−１ｂおよび条件４−１ｃがそれぞれ定義されている場合は、他の軸と比較して、Ｙ軸上およびＺ軸上へそれぞれ大きく移動する必要がある。
【００４７】
条件４−１を満たす場合は（ステップＳ４０６でＹｅｓ）、ステップＳ４０７に進み、条件４−１を満たさない場合は（ステップＳ４０６でＮｏ）、ステップＳ４０９に進む。
【００４８】
ステップＳ４０７においては、制御部１２０は、カウンタｃをカウントアップする。
【００４９】
次に、制御部１２０は、ステップＳ４０２で取得した現在時刻ｔnを、旧時刻ｔoに設定する（ステップＳ４０８）。
【００５０】
次に、制御部１２０は、以下の表３に示す条件４−２を満たすか否かを判定する（ステップＳ４０９）。
【００５１】
【表６】
2016081381.tif 000012
【００５２】
このようにして、前回検出した加速度と直近で検出した加速度の差分加速度ΔａX、ΔａY、およびΔａZを加速度閾値ａXt、ａYt、およびａZtとそれぞれ比較する構成を採用しているので、加速度閾値ａXt、ａYt、およびａZtを適切な値に調整することによって、携帯型端末１００の検出するべき移動距離を設定することができる。このことは、例えば、往復移動ジェスチャを、携帯型端末１００を１．５秒間に所定の方向に２０ｃｍ移動させた後に、逆方向に１０ｃｍ移動させることに設定する場合に、時間閾値ｔtをカウンタ閾値ｃtで割り（割った値を時間閾値ｔtに設定する）、当該割った値で上記距離を微分演算することによって、適切な加速度閾値ａXt、ａYt、およびａZtを求めることができる。
【００５３】
なお、加速度閾値ａXt、ａYt、ａZtの値を同一の値、または、近似した値にすることで、携帯型端末１００を移動する方向を限定せずに往復移動ジェスチャを検出することができる（例えば、Ｓ字型カーブを描くような移動であっても、その移動が正の方向に所定の加速度で移動する限り、往復移動ジェスチャを検出することができる）。また、加速度閾値ａXt、ａYt、ａZtの値のいずれか１つを、他の２つの値よりも大きい値とすることで、移動の方向を限定した往復移動ジェスチャを検出することができる（例えば、加速度閾値ａXtの値を、加速度閾値ａYtおよびａZtの値と比較して所定の倍数となる値に設定することで、Ｘ軸方向の成分が高い移動ジェスチャのみを検出することができる）。以下の第２、第３および第４の実施形態においても同様である。
【００５４】
条件４−２を満たす場合は（ステップＳ４０９でＹｅｓ）、ステップＳ４１０に進み、条件４−２を満たさない場合は（ステップＳ４０９でＮｏ）、ステップＳ４１４に進む。
【００５５】
ステップＳ４１０においては、制御部１２０は、カウンタｃをリセットする。つまり、カウンタｃにゼロを設定する。
【００５６】
次に、制御部１２０は、戻しモードフラグｆrに１（空白：ｏｆｆ、１：ｏｎ）を設定する（ステップＳ４１１）。
【００５７】
次に、制御部１２０は、以下の表４に示す条件４−３を満たすか否かを判定する（ステップＳ４１２）。
【００５８】
【表７】
2016081381.tif 000013
【００５９】
条件４−３を満たす場合は（ステップＳ４１２でＹｅｓ）、ステップＳ４１３に進み、条件４−３を満たさない場合は（ステップＳ４１２でＮｏ）、ステップＳ４１４に進む。
【００６０】
ステップＳ４１３においては、制御部１２０が往復移動ジェスチャを検出したとして、処理を終了し、例えば、携帯型端末１００のディスプレイ１５０上に初期メニューを表示するなどの処理を実行する。
【００６１】
一方、ステップＳ４１４においては、制御部１２０は、ステップＳ４０１で取得した加速度ａXn、ａYn、およびａZnの値を、旧加速度ａXo、ａYo、およびａZoにそれぞれ設定して、ステップＳ４０１に戻り、図４に示す一連の処理を繰り返す。
【００６２】
以上説明したように、携帯型端末１００が所定方向に所定の距離を移動してから折り返して移動する動作である、往復移動ジェスチャを検出する構成を採用することによって、例えば、単に携帯型端末１００を保持して移動する（徒歩など）ことによってジェスチャを検出し、初期メニューを表示してしまうことなどの過度な情報入力検出を防止することができる。
【００６３】
＜第２の実施形態＞
次に、図５を参照して、本発明の一実施形態に係る往復移動ジェスチャ検出処理の別の例を説明する。
【００６４】
図５に示す処理では、以下の表５に示す変数が使用される。
【００６５】
【表８】
2016081381.tif 000014
【００６６】
図５に示す往復移動ジェスチャ検出処理では、ステップＳ５０２−Ｓ５０３、ステップＳ５０７−Ｓ５０８、ステップＳ５１０−Ｓ５１１、およびステップＳ５１３は、図４で示したステップＳ４０２−Ｓ４０３、ステップＳ４０７−Ｓ４０８、ステップＳ４１０−Ｓ４１１、およびステップＳ４１３とそれぞれ同一の処理となるので説明は省略する。
【００６７】
まず、ステップＳ５０１では、携帯型端末１００の動き検出部１６０は、携帯型端末１００の動きを検出して、Ｘ軸、Ｙ軸、およびＺ軸における加速度ａXn、ａYn、およびａZn（ｍ／ｓ2）をそれぞれ取得して、式（５）乃至（７）にしたがって、速度ｖXn、ｖYn、およびｖZnを算出し、ならびに、式（８）乃至（１０）にしたがって、変位ｘXn、ｘYn、およびｘZnをそれぞれ算出する（ステップＳ５０１）。
【００６８】
【数５】
2016081381.tif 000015
【００６９】
【数６】
2016081381.tif 000016
【００７０】
【数７】
2016081381.tif 000017
【００７１】
【数８】
2016081381.tif 000018
【００７２】
【数９】
2016081381.tif 000019
【００７３】
【数１０】
2016081381.tif 000020
【００７４】
ステップＳ５０４では、制御部１２０は、式（１１）乃至（１３）にしたがって、ステップＳ５０１で取得した変位ｘXn、ｘYn、およびｘZnと、旧変位ｘXo、ｘYo、およびｘZo（ｍ）との差分変位ΔｘX、ΔｘY、およびΔｘZ（ｍ）をそれぞれ算出する。
【００７５】
【数１１】
2016081381.tif 000021
【００７６】
【数１２】
2016081381.tif 000022
【００７７】
【数１３】
2016081381.tif 000023
【００７８】
ステップＳ５０５では、制御部１２０は、ステップＳ５０４で算出した差分変位ΔｘX、ΔｘY、およびΔｘZから、式（１４）にしたがって、合成ベクトルｖを算出する。
【００７９】
【数１４】
2016081381.tif 000024
【００８０】
ステップＳ５０６では、制御部１２０は、以下の表６に示す条件５−１を満たすか否かを判定する。
【００８１】
【表９】
2016081381.tif 000025
【００８２】
条件５−１を満たす場合は（ステップＳ５０６でＹｅｓ）、ステップＳ５０７に進み、条件５−１を満たさない場合は（ステップＳ５０６でＮｏ）、ステップＳ５０９に進む。
【００８３】
ステップＳ５０９では、制御部１２０は、以下の表７に示す条件５−２を満たすか否かを判定する。
【００８４】
【表１０】
2016081381.tif 000026
【００８５】
条件５−２を満たす場合は（ステップＳ５０９でＹｅｓ）、ステップＳ５１０に進み、条件５−２を満たさない場合は（ステップＳ５０９でＮｏ）、ステップＳ５１４に進む。
【００８６】
ステップＳ５１２では、制御部１２０は、以下の表８に示す条件５−３を満たすか否かを判定する。
【００８７】
【表１１】
2016081381.tif 000027
【００８８】
条件５−３を満たす場合は（ステップＳ５１２でＹｅｓ）、ステップＳ５１３に進み、条件５−３を満たさない場合は（ステップＳ５１２でＮｏ）、ステップＳ５１４に進む。
【００８９】
ステップＳ５１４では、制御部１２０は、ステップＳ５０１で算出した速度ｖXn、ｖYn、およびｖZnの値を、旧速度ｖXo、ｖYo、およびｖZoにそれぞれ設定し、ならびに、ステップＳ５０１で算出した変位ｘXn、ｘYn、およびｘZnの値を、旧変位ｘXo、ｘYo、およびｘZoにそれぞれ設定して、ステップＳ５０１に戻り、図５に示す一連の処理を繰り返す。
【００９０】
以上説明したように、検出した加速度に基づいて算出された携帯型端末１００の変位から往復移動ジェスチャを検出することができる。この加速度に基づいて算出された変位からジェスチャを検出する例は、後述する図７における方向転換移動ジェスチャ検出処理、および、図９における第２の往復移動検出ジェスチャ検出処理に適用されてもよい。
【００９１】
＜第３の実施形態＞
次に図６を参照して、本発明の一実施形態に係る方向転換移動ジェスチャの例を説明する。「方向転換移動ジェスチャ」とは、携帯型端末１００が、初期位置から所定の方向に所定の距離を移動する第１の移動ジェスチャと、第１の移動ジェスチャによって到達した中間位置から、Ｘ軸、Ｙ軸、および／またはＺ軸における別の正の方向に所定の距離を移動する第２の移動ジェスチャとを含む動作を意味する。すなわち、図６に示すように、初期位置６０１にある携帯型端末１００が、矢印６ａで示す方向に中間位置６０２まで移動し（第１の移動ジェスチャ）、中間位置６０２から矢印６ｂで示す方向に最終位置６０３まで移動する（第２の移動ジェスチャ）。第２の移動ジェスチャにおけるＸ軸、Ｙ軸、および／またはＺ軸の方向は、第１の移動ジェスチャにおけるＸ軸、Ｙ軸、および／またはＺ軸の方向とは別の正の方向になる。
【００９２】
携帯型端末１００は、上記方向転換移動ジェスチャを検出したことに応答して、例えば、ディスプレイ１５０上に表示された初期メニューから遷移した別の画面を表示するなどの所定の処理を実行する。つまり、方向転換移動ジェスチャは、上述した往復移動ジェスチャとは異なる別のジェスチャとして検出することによって、携帯型端末１００に対する情報入力となる。
【００９３】
次に、図７を参照して、本発明の一実施形態に係るジェスチャ検出装置が実行する方向転換移動ジェスチャ検出処理を説明する。
【００９４】
図７に示す処理では、以下の表９に示す変数が使用される。
【００９５】
【表１２】
2016081381.tif 000028
【００９６】
図７に示す方向転換移動ジェスチャ検出処理では、ステップＳ７０１−Ｓ７０８は、図４で示したステップＳ４０１−Ｓ４０８とそれぞれ同一の処理となるので（ステップＳ７０５における条件７−１も図４で示した条件４−１と同一）説明は省略する。
【００９７】
ステップＳ７０９では、制御部１２０は、以下の表１０に示す条件７−２を満たすか否かを判定する。
【００９８】
【表１３】
2016081381.tif 000029
【００９９】
条件７−２を満たす場合は（ステップＳ７０９でＹｅｓ）、ステップＳ７１０に進み、条件４−２を満たさない場合は（ステップＳ７０９でＮｏ）、ステップＳ７１７に進む。
【０１００】
ステップＳ７１０においては、制御部１２０は、カウンタｃをリセットする。つまり、カウンタｃにゼロを設定する。
【０１０１】
次に、制御部１２０は、方向転換モードフラグｆcに１（空白：ｏｆｆ、１：ｏｎ）を設定する（ステップＳ７１１）。
【０１０２】
次に、制御部１２０は、旧差分加速度ΔａXo、ΔａYo、およびΔａZoの中から最大の差分加速度の値を有する旧差分加速度を判定し、いずれかの値を最大差分加速度Δａmaxに設定する（ステップＳ７１２）。最大差分加速度ΔａmaxがΔａXoの場合は、ステップＳ７１３に進み、最大差分加速度ΔａmaxがΔａYoの場合は、ステップＳ７１４に進み、最大差分加速度ΔａmaxがΔａZoの場合は、ステップＳ７１５に進む。
【０１０３】
ステップＳ７１３では、制御部１２０は、以下の表１１に示す条件７−３を満たすか否かを判定する。
【０１０４】
【表１４】
2016081381.tif 000030
条件７−３を満たす場合は（ステップＳ７１３でＹｅｓ）、ステップＳ７１６に進み、条件７−３を満たさない場合は（ステップＳ７１３でＮｏ）、ステップＳ７１７に進む。
【０１０５】
ステップＳ７１４では、制御部１２０は、以下の表１２に示す条件７−４を満たすか否かを判定する。
【０１０６】
【表１５】
2016081381.tif 000031
条件７−４を満たす場合は（ステップＳ７１４でＹｅｓ）、ステップＳ７１６に進み、条件７−４を満たさない場合は（ステップＳ７１４でＮｏ）、ステップＳ７１７に進む。
【０１０７】
ステップＳ７１５では、制御部１２０は、以下の表１３に示す条件７−５を満たすか否かを判定する。
【０１０８】
【表１６】
2016081381.tif 000032
条件７−５を満たす場合は（ステップＳ７１５でＹｅｓ）、ステップＳ７１６に進み、条件７−５を満たさない場合は（ステップＳ７１５でＮｏ）、ステップＳ７１７に進む。
【０１０９】
このようにして、差分加速度ΔａXn、ΔａYn、またはΔａZnのいずれかを、最大差分加速度Δａmaxに最大差分加速度倍数ｍを乗じた値と比較する構成を採用しているので、最大差分加速度倍数ｍおよびｎを適切な値に調整することによって、第１の移動ジェスチャから第２の移動ジェスチャへの方向転換の角度を調整することができる（最大差分加速度倍数ｍを、最大差分加速度倍数ｎと比較してより大きな値に設定することによって、上記角度はより大きくなり、最大差分加速度倍数ｍを、最大差分加速度倍数ｎと比較してより小さな値に設定することによって、上記角度はより小さくなる）。
【０１１０】
ステップＳ７１６においては、制御部１２０が方向転換移動ジェスチャを検出したとして、処理を終了し、例えば、携帯型端末１００のディスプレイ１５０上に表示された初期メニューから遷移した別の画面を表示するなどの処理を実行する。
【０１１１】
一方、ステップＳ４１７においては、制御部１２０は、ステップＳ７０１で取得した加速度ａXn、ａYn、およびａZnの値を、旧加速度ａXo、ａYo、およびａZoに設定する。ステップＳ４１８においては、制御部１２０は、ステップＳ７０４で算出した差分加速度ΔａXn、ΔａYn、ΔａZnの値を、旧差分加速度ΔａXo、ΔａYo、ΔａZoに設定して、ステップＳ７０１に戻り、図７に示す一連の処理を繰り返す。
【０１１２】
以上説明したように、方向転換移動ジェスチャの検出処理を採用することによって、図４で説明した往復移動ジェスチャの検出によって実行した処理（例えば、携帯型端末１００のディスプレイ１５０上に初期メニューを表示する）とは別の処理を実行したい場合に、それぞれのジェスチャを区別して情報入力を検出することができる。
【０１１３】
＜第４の実施形態＞
次に図８を参照して、本発明の一実施形態に係る第２の往復移動ジェスチャの例を説明する。「第２の往復移動ジェスチャ」とは、携帯型端末１００が、初期位置から所定の方向に所定の距離を移動する第１の移動ジェスチャと、第１の移動ジェスチャによって到達した第１の中間位置から、Ｘ軸、Ｙ軸、および／またはＺ軸における負の方向に所定の距離を移動する第２の移動ジェスチャと、第２の移動ジェスチャによって到達した第２の中間位置から、Ｘ軸、Ｙ軸、および／またはＺ軸における正の方向に所定の距離を移動する第３の移動ジェスチャとを含む動作を意味する。すなわち、図８に示すように、初期位置８０１にある携帯型端末１００が、矢印８ａで示す方向に第１の中間位置８０２まで移動し（第１の移動ジェスチャ）、第１の中間位置８０２から矢印８ｂで示す方向に第２の中間位置８０３まで移動し（第２の移動ジェスチャ）、第２の中間位置８０３から矢印８ｃで示す方向に最終位置８０４まで移動する（第３の移動ジェスチャ）。第２の移動ジェスチャにおけるＸ軸、Ｙ軸、および／またはＺ軸の方向は、第１の移動ジェスチャにおけるＸ軸、Ｙ軸、および／またはＺ軸の方向とは逆方向となり、第３の移動ジェスチャにおけるＸ軸、Ｙ軸、および／またはＺ軸の方向は、第２の移動ジェスチャにおけるＸ軸、Ｙ軸、および／またはＺ軸の方向とは逆方向となる。
【０１１４】
次に、図９を参照して、本発明の一実施形態に係る第２の往復移動ジェスチャ検出処理を説明する。
【０１１５】
図９に示す処理では、以下の表１４に示す変数が使用される。
【０１１６】
【表１７】
2016081381.tif 000033
【０１１７】
図９に示す第２の往復移動ジェスチャ検出処理では、ステップＳ９０１−Ｓ９０５、ステップＳ９０７−Ｓ９０８、および、ステップ９１０は、図４で示したステップＳ４０１−Ｓ４０５、ステップＳ４０７−Ｓ４０８、および、ステップ４１０とそれぞれ同一の処理となるので説明は省略する。
【０１１８】
ステップＳ９０６では、制御部１２０は、以下の表１５に示す条件９−１を満たすか否かを判定する。
【０１１９】
【表１８】
2016081381.tif 000034
【０１２０】
ステップ９０９では、制御部１２０は、以下の表１６に示す条件９−２を満たすか否かを判定する。
【０１２１】
【表１９】
2016081381.tif 000035
【０１２２】
ステップＳ９１１では、制御部１２０は、戻しモードカウンタｃrをカウントアップする。
【０１２３】
ステップＳ９１２では、制御部１２０は、以下の表１７に示す条件９−３を満たすか否かを判定する。
【０１２４】
【表２０】
2016081381.tif 000036
【０１２５】
条件９−３を満たす場合は（ステップＳ９１２でＹｅｓ）、ステップＳ９１３に進み、条件９−３を満たさない場合は（ステップＳ９１２でＮｏ）、ステップＳ９１５に進む。
【０１２６】
ステップＳ９１３では、制御部１２０は、ステップＳ９１１で加算した戻しモードカウンタｃrが、戻しモードカウンタ閾値ｃrt以上であるか否かを判定する。戻しモードカウンタｃrが戻しモードカウンタ閾値ｃrt以上である場合は（ステップＳ９１３でＹｅｓ）、ステップＳ９１４に進み、戻しモードカウンタｃrが戻しモードカウンタ閾値ｃrtを下回る場合は（ステップＳ９１３でＮｏ）、ステップＳ９１５に進む。このようにして、戻しモードカウンタｃrが、戻しモードカウンタ閾値ｃrt以上であるかを判定しているので、戻しモードカウンタ閾値ｃrtを調整することによって、例えば、往復移動ジェスチャを、携帯型端末１００の往復移動ジェスチャを数回繰り返すことに設定することができる。
【０１２７】
ステップＳ９１４においては、制御部１２０が第２の往復移動ジェスチャを検出したとして、処理を終了する。
【０１２８】
一方、ステップＳ９１５においては、制御部１２０は、ステップＳ９０１で取得した加速度ａXn、ａYn、およびａZnの値を、旧加速度ａXo、ａYo、およびａZoに設定して、ステップＳ９０１に戻り、図９に示す一連の処理を繰り返す。
【０１２９】
以上説明したように、携帯型端末１００が複数の往復移動したことを検出する構成を採用することによって、図４で説明した往復移動ジェスチャ検出処理と比較して、さらに過度な情報入力の検出を防止することができる。この複数の往復移動ジェスチャを検出する構成を、上述した図７における方向転換移動ジェスチャ検出処理に適用してもよい。すなわち、複数の方向転換移動ジェスチャを検出する、第２の方向転換移動ジェスチャ検出処理を実装してもよい。
【０１３０】
なお、本実施形態では、時間、加速度、変位、合成ベクトル、およびカウンタが所定の閾値以上もしくは以下であるか否かを判定しているが、そのような構成に限定されず、上述した値が所定の閾値の範囲内にあるか否かを判定するような構成にしてもよい。
【０１３１】
＜認証ＩＤ入力処理＞
次に、上記説明したジェスチャ検出処理を応用した、認証ＩＤの入力処理について図１０を参照して説明する。
【０１３２】
図１０（Ａ）は、本発明に係るジェスチャ検出装置におけるＩＤ入力フォーム画面の表示例である。ＩＤ入力フォーム画面は、携帯型端末１００のディスプレイ１５０上に表示される。ＩＤ入力フォーム画面は、ＩＤ入力フォーム１００１、認証ボタン１００２、およびクリアボタン１００３を含んでいる。
【０１３３】
ＩＤ入力フォーム画面は、例えば携帯型端末１００において動作する認証アプリケーション（図示せず）を実行することによって、ユーザに対して認証用ＩＤの入力を促す際に、ディスプレイ１５０上に表示される。
【０１３４】
ユーザが携帯型端末１００を手に持ち、上記説明した往復移動ジェスチャおよび／または方向転換移動ジェスチャを行う。携帯型端末１００は、予め定義されたジェスチャ入力値の対応表に基づいて、ユーザのジェスチャに対応する出力ジェスチャ判定値を主記憶部１３０に出力する。そして、図１０（Ｂ）に示すように、出力したジェスチャ判定値に対応する文字または数値等の値がＩＤ入力フォーム１００１上に表示される。なお、本実施形態では、認証する際に入力する認証ＩＤは、文字および／または数値の組み合わせ８桁から構成されているものとする。
【０１３５】
図１１は、本発明の一実施形態に係る認証ＩＤ入力処理の例を示すフローチャートである。
【０１３６】
まず、携帯型端末１００の制御部１２０は、動き検出部１６０を介して、携帯型端末１００に対して行われた所定のジェスチャを判定する（ステップＳ１１０１）。ここで、所定のジェスチャとは、上述した往復移動ジェスチャおよび方向転換移動ジェスチャを含む。
【０１３７】
次に、制御部１２０は、主記憶部１３０に格納された出力ジェスチャ判定値を参照する（ステップＳ１１０２）。ジェスチャ判定値とは、ステップＳ１１０１で判定されたジェスチャに対応して予め定義され、当該ジェスチャを判定したことに応答して主記憶部１３０に出力される判定値である。
【０１３８】
次に、制御部１２０は、主記憶部１３０に格納されたカウンタｃcの値を参照する（ステップＳ１１０３）。
【０１３９】
次に、制御部１２０は、図１２に示す入力値定義テーブル１２００にしたがって、ステップＳ１１０１で判定したジェスチャ、ステップＳ１１０２で参照したジェスチャ判定値、およびステップＳ１１０３で参照したカウンタ値に基づいて、ユーザが入力した入力値を判定する（ステップＳ１１０４）。
【０１４０】
入力値定義テーブル１２００は、入力値、実行ジェスチャ、出力ジェスチャ判定値、条件ジェスチャ判定値、カウンタ条件、およびジェスチャ認識特別条件の列から構成される。
【０１４１】
実行ジェスチャ列は、ステップＳ１１０１で判定されたジェスチャを示している。
【０１４２】
出力ジェスチャ判定値列は、ステップＳ１１０１で判定されたジェスチャに対応する、主記憶部１３０に出力されるジェスチャ判定値を示している。
【０１４３】
条件ジェスチャ判定値列は、入力値を判定するための条件を示しており、主記憶部１３０に出力されたジェスチャ判定値を参照して判定される。
【０１４４】
カウンタ条件列は、入力値を判定するための条件を示しており、主記憶部１３０に出力されたカウンタｃcの値を参照して判定される。
【０１４５】
例えば、ＩＤ入力フォーム１００１上で文字「Ａ」を入力する場合を説明する。入力値定義テーブル１２００の入力値列が「Ａ」の行を参照すると、実行ジェスチャ列が「往復移動ジェスチャ」であるので、携帯型端末１００が上記第１の実施形態で説明した往復移動ジェスチャを検出することによって、「Ａ」の入力が認識されることになる。
【０１４６】
ここで、入力値定義テーブル１２００の同一箇所を参照すると、ジェスチャ認識特別条件列に「条件４−１ａ」と定義されている。これは、上記表２の条件４−１に代えて、表３の条件４−１ａの条件を満たすことによって、往復移動ジェスチャが検出されることを示している。
【０１４７】
図１１の説明に戻ると、制御部１２０は、ステップＳ１１０４で判定した入力値が、認証ＯＫであるか否かを判定する（ステップＳ１１０５）。
【０１４８】
入力値定義テーブル１２００の入力値列「認証」の行で示すように、認証入力の条件は、表１４における戻しモードカウンタ閾値ｃrt＝２である、往復移動ジェスチャを検出することである。これは、第４の実施形態で説明した、第２の往復移動ジェスチャ（２回の往復）を検出することを意味している。
【０１４９】
また、認証入力のもう１つの条件として、カウンタｃcの値が８であることである。つまり、認証を実行する時点で、８桁の文字／数値が入力されている必要がある。
【０１５０】
認証入力でないと判定した場合は（ステップＳ１１０５でＮｏ）、制御部１２０は、ステップＳ１１０４で判定した入力値（例えば、文字「Ａ」など）をＩＤ入力フォーム上に表示するようにディスプレイ１５０に指示する（ステップＳ１１０６）。
【０１５１】
次に、制御部は、入力値定義テーブル１２００にしたがって、ステップＳ１１０１で判定したジェスチャに対応するジェスチャ判定値を主記憶部１３０に出力する（ステップＳ１１０７）。
【０１５２】
次に、制御部は、カウンタｃcの値を加算して、主記憶部１３０に出力する（ステップＳ１１０８）。
【０１５３】
ステップＳ１１０５において、認証入力であると判定した場合は、制御部１２０は、入力された８桁の値との照合を行うなどの認証処理を実行する（ステップＳ１１０９）。
【０１５４】
なお、第４の実施形態で説明した、第２の往復移動ジェスチャ（３回の往復）を検出すると、ＩＤ入力フォーム１００１上に表示されたすべての値がクリアされる。このことは、入力値定義テーブル１２００の入力値列「クリア」の行に示すように、ジェスチャ認識特別条件列には、「表１４における戻しモードカウンタ閾値ｃrt＝３」と定義されていることに対応している。なお、上述した認証およびクリアの入力を認識すると、認証ボタン１００２、およびクリアボタン１３０３が強調表示されてもよい。
【０１５５】
以上、説明したように、往復移動ジェスチャおよび／または方向転換移動ジェスチャ、前提条件である条件ジェスチャ判定値、ならびに前提条件となるカウンタ条件を組み合わせることによって、様々な入力値をジェスチャ検出によって認識することができる。
【０１５６】
なお、入力値定義テーブル１２００の組み合わせは、例示的なものにすぎず、これらのジェスチャおよび前提条件などを組み合わせてさらなる入力値を実現させてもよい。
【０１５７】
また、上記説明した文字／数値などの入力は、認証ＩＤの入力処理に限定されず、ジェスチャを組み合わせて、所定の文字／数値および／または画像を出力させるように構成してもよい。
【０１５８】
さらに、上記説明した、往復移動ジェスチャおよび／または方向転換移動ジェスチャ、前提条件である条件ジェスチャ判定値、ならびに前提条件となるカウンタ条件を組み合わせることによって、スピーカ１８０から音声を出力するように構成してもよい。この場合は、携帯型端末１００の動き検出部１６０が所定のジェスチャを検出すると、制御部１２０は図１３に示す音声出力定義テーブル１３００にしたがって、対応する音声を、スピーカ１８０を介して出力するように制御する。
【０１５９】
なお、音声出力定義テーブル１３００では、「ド」などの単一の音階を出力するように定義されているが、このような構成に限定されず、予め定義されたジェスチャに対応する効果音／音楽などを出力するように構成してもよい。
【０１６０】
また、音声出力定義テーブル１３００に示す、音出力列「ソ」、「ラ」および「シ」の行におけるジェスチャ認識特別条件列の「条件７−３」、「条件７−４」および「条件７−５」は、第３の実施形態における条件７−４、条件７−４および条件７−５をそれぞれ満たす必要があることを示している。
【０１６１】
＜画面インターフェース操作＞
次に、ユーザが携帯型端末１００に移動ジェスチャを検出させて、ディスプレイ１５０に表示される各種インターフェースを操作することができる機能を説明する。
【０１６２】
図１４は、携帯型端末１００の操作画面１４０１を示す説明図である。操作画面１４０１は、例えば、携帯型端末１００上で稼動するアプリケーションの設定画面としてディスプレイ１５０上に表示される。
【０１６３】
操作画面１４０１は、終了ボタン１４１０、スイッチインターフェース１４１１、選択ボタンインターフェース１４１２、ドラムインターフェース１４１３、実行ボタン１４１４、スイッチコントロール１４１５、ドラム部１４１６を含んでいる。
【０１６４】
終了ボタン１４１０は、操作画面１４０１を終了させるために使用される。終了ボタン１４１０を押下することでスイッチインターフェース１４１１からドラムインターフェース１４１３までの各ボタンの設定情報を更新することなく、操作画面１４０１またはアプリケーションを終了させることができる。
【０１６５】
スイッチインターフェース１４１１は、ユーザがＯＮ／ＯＦＦの値を選択するために使用されるインターフェースである。スイッチコントロール１４１５を右方向に操作するとＯＮへの切り替えがなされ、スイッチコントロール１４１５を左方向に操作するとＯＦＦへの切り替えが実行される。
【０１６６】
選択ボタンインターフェース１４１２は、ユーザがその中から１つの値を選択するために使用されるインターフェースである。選択ボタンインターフェース１４１２では、ユーザが選択できる値が予め表示されており、その中から１つの値を選択することができる。本実施形態では、ユーザが選択することができる値として「左」「中」「右」が表示される。
【０１６７】
ドラムインターフェース１４１３は、ユーザがその中から１つの値を選択するために複数の値を表示するインターフェースである。ドラムインターフェース１４１３では、ドラム部１４１６にユーザが選択できる値が表示されており、その中から１つの値を選択することができる。本実施形態では、「月」「火」「水」「木」「金」「土」「日」の順番で各曜日の値がドラム部１４１６に表示される。例えば、ドラムインターフェース１４１３の正面に「水」が表示されているときに、ドラム部１４１６を下方向に回転させた場合、次に「火」がドラムインターフェース１４１３の正面に表示される。一方、ドラムインターフェース１４１３の正面に「水」が表示されているときに、ドラム部１４１６を上方向に回転させた場合、次に「木」がドラムインターフェース１４１３の正面に表示される。このように、ユーザは、ドラムインターフェース１４１３に表示される中から１つの値を選択することができる。
【０１６８】
実行ボタン１４１４は、各ボタンまたは各インターフェースで選択した値を確定させるために使用される。実行ボタン１４１４を押下することでアプリケーションの次の処理を実行させることができる。
【０１６９】
本実施形態における操作画面１４０１では、各ボタンおよび各インターフェースが上下に４列に配置され、上部から３列目には選択ボタンインターフェース１４１２およびドラムインターフェース１４１３が水平方向に並んで配置される。
【０１７０】
そして、操作画面１４０１に表示される終了ボタン１４１０、スイッチインターフェース１４１１、選択ボタンインターフェース１４１２、ドラムインターフェース１４１３、実行ボタン１４１４のうち、いずれか１つのボタンまたはインターフェースが有効となる。
【０１７１】
ここで「有効」とは、移動ジェスチャによる入力操作を受け付ける場合の有効対象を定義するものである。ボタンまたはインターフェースが有効である場合、当該ボタンまたは当該インターフェースは、移動ジェスチャによる入力操作を受け付けることができる状態である。ただし、ユーザがディスプレイ１５０への直接タッチ操作を行う場合には、全てのボタンおよびインターフェースはタッチ操作を受け付けることができる。
【０１７２】
有効なボタンまたは有効なインターフェースは、当該ボタンまたは当該インターフェースが有効であることをユーザに示すため、通常の表示とは異なる態様で表示される。
【０１７３】
図１６の操作画面１４０２を例に説明すると、スイッチインターフェース１４１１は移動ジェスチャによる操作を受け付けることができる有効なインターフェースである。このとき、スイッチインターフェース１４１１は、インターフェースを通常と異なる色彩である黄色等で表示される。
【０１７４】
一方、操作画面１４０２において、ドラムインターフェース１４１３は移動ジェスチャによる操作を受け付けることができないインターフェースである。このとき、ドラムインターフェース１４１３は、インターフェースを通常の表示であるグレーアウトした色彩で表示する。
【０１７５】
上記の通り、有効なボタンおよび有効なインターフェースの色彩を切り替えて表示することで、ユーザが有効なボタンおよび有効なインターフェースを簡単に識別することができる。
【０１７６】
なお、有効なボタンまたは有効なインターフェースを通常の表示とは異なる態様で表示する方法は、色彩を変更することに限定されない。例えば、各ボタンおよび各インターフェースの上方にＬＥＤを模した点灯を表示させ、有効なボタンまたは有効なインターフェースの上方に配置されたＬＥＤを点灯表示させる態様等でもよい。
【０１７７】
次に、携帯型端末１００が検出する移動ジェスチャと、携帯型端末１００が実行する操作の関係について、図１５を参照して説明する。
【０１７８】
図１５は、移動ジェスチャとそれに対応して実行される操作の関係を示す操作定義テーブル１５００を示す図である。操作定義テーブル１５００には、携帯型端末１００が検出する移動ジェスチャの種類と、移動ジェスチャに対応する出力ジェスチャ判定値と、携帯型端末１００が実行する操作とを対応付けて記憶されている。
【０１７９】
操作定義テーブル１５００において、ローカル操作とは、有効なインターフェースに対して実行する選択操作または切り替え操作のことをいう。
【０１８０】
具体的には、出力ジェスチャ判定値「Ｒｘ」を出力する移動ジェスチャは、有効なインターフェースに対して右方向の選択または右方向への切り替えを実行することができる。
【０１８１】
出力ジェスチャ判定値「Ｒｙ」を出力する移動ジェスチャは、有効なインターフェースに対して左方向の選択または左方向への切り替えを実行することができる。
【０１８２】
出力ジェスチャ判定値「Ｒｚ」を出力する移動ジェスチャは、有効なインターフェースに対して下方向の選択または下方向への切り替えを実行することができる。
【０１８３】
一方、操作定義テーブル１５００において、グローバル操作とは、ボタンまたはインターフェースを有効にするための選択操作、または各インターフェースで選択した値を初期化する操作のことをいう。
【０１８４】
本実施形態では、出力ジェスチャ判定値「ＲＲ」を出力する移動ジェスチャが行われた場合、出力ジェスチャ判定値「ＲＲ」が主記憶部１３０に格納される。この状態で、例えば、出力ジェスチャ判定値「Ｒｘ」を出力する移動ジェスチャが検出されると、グローバル操作である移動ジェスチャが検出される。これにより、ローカル操作とグローバル操作とで、携帯型端末１００に相互に異なる移動ジェスチャを検出させ、相互に異なる操作を実行させることができる。
【０１８５】
具体的には、出力ジェスチャ判定値「ＲＲ」が主記憶部１３０に格納されている状態での出力ジェスチャ判定値「Ｒｘ」を出力する移動ジェスチャは、右方向に配置されるボタンまたはインターフェースを選択することができる。
【０１８６】
出力ジェスチャ判定値「ＲＲ」が主記憶部１３０に格納されている状態での出力ジェスチャ判定値「Ｒｙ」を出力する移動ジェスチャは、左方向に配置されるインターフェースを選択することができる。
【０１８７】
出力ジェスチャ判定値「ＲＲ」が主記憶部１３０に格納されている状態での出力ジェスチャ判定値「Ｒｚ」を出力する移動ジェスチャは、下方向に配置されるボタンまたはインターフェースを選択することができる。
【０１８８】
また、出力ジェスチャ判定値「Ｃｘ」を出力する移動ジェスチャは、各ボタンまたはインターフェースで選択した値を初期値に戻し、選択した値をすべて無効にする操作を実行することができる。この場合、ユーザが携帯型端末１００に移動ジェスチャを認識させ、出力ジェスチャ判定値としてＣｘが出力された場合は、携帯型端末１００は当該ジェスチャが実行されたものと判定する。その結果、携帯型端末１００は、各インターフェースで選択した値を初期値に戻すとともに終了ボタン１４１０を有効にする。そして、終了ボタン１４１０を押下したことと同一の処理を実行する。
【０１８９】
次に、ユーザが携帯型端末１００に移動ジェスチャを検出させて、各ボタンおよび各インターフェースを操作する態様について、図１６を参照して説明する。
【０１９０】
図１６は、各ボタンおよび各インターフェースの操作画面１４０１から操作画面１４０７までの画面遷移を説明する図である。操作画面１４０１は初期画面であり、各ボタンおよび各インターフェースが表示される。
【０１９１】
操作画面１４０１では、終了ボタン１４１０が有効であることをユーザに示すために、終了ボタン１４１０は通常と異なる色彩である黄色等で表示される。
【０１９２】
操作画面１４０１において、携帯型端末１００が、出力ジェスチャ値「ＲＲ」を出力する移動ジェスチャを検出すると、出力ジェスチャ「ＲＲ」が主記憶部１３０に格納される。このような状態で、出力ジェスチャ値「Ｒｚ」を出力する移動ジェスチャが検出されると、終了ボタン１４１０の下部に配置されるスイッチインターフェース１４１１が選択され、有効なインターフェースとなる。
【０１９３】
操作画面１４０２において、携帯型端末１００が、出力ジェスチャ値「Ｒｘ」を出力する移動ジェスチャを検出すると、スイッチコントロール１４１５が右方向に操作され、スイッチインターフェース１４１１がＯＮに切り替えられる。
【０１９４】
操作画面１４０３において、携帯型端末１００が、出力ジェスチャ値「ＲＲ」を出力する移動ジェスチャを検出すると、出力ジェスチャ「ＲＲ」が主記憶部１３０に格納される。このような状態で、出力ジェスチャ値「Ｒｚ」を出力する移動ジェスチャが検出されると、スイッチインターフェース１４１１の下部に配置されるドラムインターフェース１４１３が選択され、有効なインターフェースとなる。本実施形態では、このときドラムインターフェース１４１３の正面には「月」が表示されている。
【０１９５】
操作画面１４０４において、携帯型端末１００が、出力ジェスチャ値「Ｒｚ」を出力する移動ジェスチャを検出すると、ドラム部１４１６の正面に表示される値が「月」から「火」に切り替えられる。なお、このとき、ドラム部１４１６は上部方向に回転する挙動を表示する。
【０１９６】
操作画面１４０５において、携帯型端末１００が、出力ジェスチャ値「ＲＲ」を出力する移動ジェスチャを検出すると、出力ジェスチャ「ＲＲ」が主記憶部１３０に格納される。このような状態で、出力ジェスチャ値「Ｒｚ」を出力する移動ジェスチャが検出されると、ドラムインターフェース１４１３の下部に配置される実行ボタン１４１４が選択され、有効なインターフェースとなる。
【０１９７】
操作画面１４０６において、携帯型端末１００が実行ボタン１４１４の押下を検出すると、各インターフェースで選択した値で処理を実行することが決定される。
【０１９８】
また、操作画面１４０６において、携帯型端末１００が、出力ジェスチャ値「Ｃｘ」を出力する移動ジェスチャを検出すると、各インターフェースで選択した値が初期化され（操作画面１４０７）、再び初期画面である操作画面１４０１と同一の画面に表示が戻る。
【０１９９】
なお、図１６の画面遷移では説明されていないが、選択ボタンインターフェース１４１２が有効なインターフェースであるときも、携帯型端末１００が、出力ジェスチャ値「Ｒｘ」または「Ｒｙ」を出力する移動ジェスチャを検出することで切り替え操作を実行することができる。すなわち、選択ボタンインターフェース１４１２が有効な状態で、携帯型端末１００が、出力ジェスチャ値「Ｒｙ」を出力する移動ジェスチャを検出すると、例えば「中」に対して「左」のように、左方向に表示される値を選択するように切り替えることができる。
【０２００】
以上説明した通り、本実施形態における画面インターフェース操作機能によれば、ユーザが携帯型端末１００に移動ジェスチャを検出させることにより、ディスプレイ１５０に表示される各種インターフェースを操作することができる。
【０２０１】
そのため、手袋等の装着により携帯型端末１００にタッチ操作を認識させることができない場合には、所定の移動ジェスチャを携帯型端末１００に検出させることにより、ディスプレイ１５０への操作を代替することができる。これは、一般ユーザが冬季外出時にスマートフォンを操作するときに有効であるばかりでなく、工場等において手袋装着が義務付けられている環境下で効果を奏する。
【０２０２】
＜ジェスチャ学習・認識＞
次に、ニューラルネットワークを使用して、所定の移動ジェスチャを学習・認識させる機能を有するジェスチャ学習・認識装置について説明する。
【０２０３】
ここで、ニューラルネットワークとは、生物の脳内の神経細胞の動作を人工ニューロンという単純化したモデルで再現し、これら人工ニューロンを階層型等に相互接続したものをいう。そして、これら接続間の結合係数の重荷または閾値などを学習させることによって、特定の情報処理を実行させることができるようにしたものである。
【０２０４】
図１７は、本発明の一実施形態に係るジェスチャ学習・認識装置を実装する携帯型端末１００の詳細な構成の例を示すブロック構成図である。図１７に示すように、携帯型端末１００は、通信部１１０、制御部１２０、主記憶部１３０、補助記憶部１４０、ディスプレイ１５０、動き検出部１６０、時刻取得部１７０、スピーカ１８０、およびニューラルネットワーク演算部１９０を備えており、それらの各要素がシステムバスを介して接続されている。
【０２０５】
通信部１１０、制御部１２０、主記憶部１３０、補助記憶部１４０、ディスプレイ１５０、動き検出部１６０、時刻取得部１７０、およびスピーカ１８０は、図２で説明したそれぞれの要素と同一であるので、ここでの説明は省略する。
【０２０６】
ニューラルネットワーク演算部１９０は、例えばニューロプロセッサによって構成され、ニューラルネットワーク１９２による学習・認識処理を実行することができる。
【０２０７】
図１８は、ニューラルネットワーク演算部１９０の機能ブロックを説明する図である。データ記憶部１４１とニューラルネットワーク演算部１９０は制御部１２０（図示せず）を介して相互に接続されており、ニューラルネットワーク入力信号およびニューラルネットワーク出力信号を送受信可能に構成されている。
【０２０８】
データ記憶部１４１は、ジェスチャ判定値記憶部１４１ａ、変換テーブル記憶部１４１ｂ、教師信号定義テーブル記憶部１４１ｃ、および意味テーブル記憶部１４１ｄを備えている。
【０２０９】
ジェスチャ判定値記憶部１４１ａは、ジェスチャ判定値を記憶することが可能な記憶領域である。
【０２１０】
変換テーブル記憶部１４１ｂは、上述した所定のジェスチャを検出することによって出力されるジェスチャ判定値をニューラルネットワーク入力信号に変換するときに参照される変換テーブルを記憶した記憶領域である。
【０２１１】
教師信号定義テーブル記憶部１４１ｃは、教師信号定義テーブルを記憶した記憶領域である。
【０２１２】
意味テーブル記憶部１４１ｄは、意味テーブルを記憶した記憶領域である。
【０２１３】
ニューラルネットワーク演算部１９０は、コントローラ１９１と、入力層１９３、中間層１９４、出力層１９５、および教師信号層１９６から構成されるニューラルネットワーク１９２とを備えている。コントローラ１９１は、ニューラルネットワーク演算部１９０を統括制御し、ニューラルネットワーク１９２の学習・認識処理を制御する。
【０２１４】
図１９は、ニューラルネットワークの詳細を示す図である。図１９に示すように、ニューラルネットワーク１９２は、コントローラ１９１、入力層１９３、中間層１９４、出力層１９５、教師信号層１９６、結合係数１９７を備えている。
【０２１５】
コントローラ１９１は、ジェスチャ判定値をニューラルネットワーク入力信号に変換して、入力層１９３に入力する。同時に、ニューラルネットワーク入力信号に対応する教師信号を教師信号層１９６に入力する。
【０２１６】
中間層１９４および出力層１９５は、結合係数１９７を使用して演算を実行する。コントローラ１９１は、出力層１９５の出力が教師信号に近づくように、各階層間の結合係数１９７の重荷または閾値を更新する。更新においては、コントローラ１９１が出力層１９５からの出力と教師信号の差を判定し、その差が一定の許容値以下に収斂するまでニューラルネットワーク入力信号と教師信号の組を繰り返し入力して結合係数１９７の更新を行う。出力層１９５からの出力と教師信号の差が一定の許容値以下に収斂されると、当該教師信号の学習を終了する。
【０２１７】
１つの教師信号に対する学習が終了すると、今度は別の教師信号に対する学習を開始する。以下同様に学習を繰り返し、Ｎ番目の教師信号まで学習を実行することで、Ｎ種類の認識が可能なニューラルネットワーク１９２を形成することができる。
【０２１８】
次に、学習済みのニューラルネットワーク１９２を使用した認識について説明する。コントローラ１９１はジェスチャ判定値をニューラルネットワーク入力信号に変換して、入力層１９３に入力する。中間層１９４および出力層１９５は更新された結合係数１９７を用いて演算を実行する。コントローラ１９１は、出力層１９５からの出力信号をニューラルネットワーク出力信号として携帯型端末１００の制御部１２０に出力する。
【０２１９】
制御部１２０は、ニューラルネットワーク出力信号と対応する教師信号の差を判定し、その差が一定の許容値以下かを判定する。このとき、ニューラルネットワーク出力信号と対応する教師信号との差が一定の許容値以下であれば、携帯型端末１００に対して行った移動ジェスチャを、学習済みジェスチャとして認識される。
【０２２０】
一方、ニューラルネットワーク出力信号と対応する教師信号との差が一定の許容値を超えている場合、制御部１２０は、携帯型端末１００に対して行った移動ジェスチャを、学習済み移動ジェスチャとして認識しない。このとき、当該移動ジェスチャを学習済み移動ジェスチャとして認識させたい場合、追加で学習を実行可能なように、ニューラルネットワーク１９２を構成してもよい。
【０２２１】
図２０は、変換テーブル記憶部１４１ｂの内容を示す説明図である。変換テーブル記憶部１４１ｂは、出力ジェスチャ判定値をニューラルネットワーク入力信号に変換する際に参照されるデータテーブルである。
【０２２２】
変換テーブル記憶部１４１ｂは、実行ジェスチャ、出力ジェスチャ判定値、ジェスチャ認識特別条件、およびニューラルネットワーク入力信号の列から構成される。
【０２２３】
実行ジェスチャ、出力ジェスチャ判定値、およびジェスチャ認識特別条件の列は、図１２で示す入力値定義テーブル１２００で説明したそれぞれの列と同一であるので、ここでの説明は省略する。
【０２２４】
ニューラルネットワーク入力信号の列は、出力ジェスチャ判定値の列で示す値に対応する、ニューラルネットワーク演算部１９０に入力されるニューラルネットワーク入力信号を示している。
【０２２５】
図２１は、教師信号定義テーブル記憶部１４１ｃの内容を示す説明図である。教師信号定義テーブル記憶部１４１ｃは、コードと教師信号を相互に参照するためのデータテーブルである。
【０２２６】
教師信号定義テーブル記憶部１４１ｃは、コードおよび教師信号の列から構成される。「コード」とは、教師信号と移動ジェスチャ（変換テーブル記憶部１４１ｂの出力ジェスチャ判定値の列で示される値）とを対応づける情報のことをいう。例えば、コード「１」に対応する移動ジェスチャを学習する場合、当該移動ジェスチャに対応するニューラルネットワーク入力信号が入力層１９３に入力されると同時に、同様にコード「１」に対応する教師信号が教師信号層１９６に入力される。
【０２２７】
教師信号定義テーブル記憶部１４１ｃでは、一例としてコード「１」「２」「３」「４」に対し、「１、０、０、０」「０、１、０、０」「０、０、１、０」「０、０、０、１」がそれぞれ対応して記憶されている。本実施形態ではコードを数字としたが、文字、記号、意味を持つ言葉またはフレーズ等であってもよい。
【０２２８】
図２２は、意味テーブル記憶部１４１ｄの内容を示す説明図である。意味テーブル記憶部１４１ｄは、さらにコードと定義情報を相互に参照するためのテーブルである。
【０２２９】
意味テーブル記憶部１４１ｄは、コードおよび定義情報の列から構成される。「定義情報」とは、ユーザにとって何らかの意味ある情報であって、コードを特定することができる情報である。
【０２３０】
意味テーブル記憶部１４１ｄでは、一例としてコード「１」「２」「３」「４」に対し、「あ」「△」「Ｚ」「山田太郎」がそれぞれ対応して記憶されている。定義情報により、例えば学習済み移動ジェスチャに対して、ユーザにとって何らかの意味ある情報を対応付けることができる。
【０２３１】
次に、再度、図１９を参照して、移動ジェスチャを学習・認識する処理について説明する。
【０２３２】
本実施形態における移動ジェスチャは、図２０の変換テーブル記憶部１４１ｂで説明した往復移動ジェスチャの所定の組み合わせによって構成される。例えば、図２０を参照して説明すると、出力ジェスチャ判定値「Ｒｘ」を出力する移動ジェスチャ、出力ジェスチャ判定値「Ｒｙ」を出力する移動ジェスチャ、および出力ジェスチャ判定値「Ｒｚ」を出力する移動ジェスチャなどによって移動ジェスチャを構成することができる。
【０２３３】
一例として、出力ジェスチャ判定値「Ｒｘ」を出力する移動ジェスチャ、出力ジェスチャ判定値「Ｒｙ」を出力する移動ジェスチャ、出力ジェスチャ判定値「Ｒｚ」を出力する移動ジェスチャ、および出力ジェスチャ判定値「Ｃｘ」を出力する移動ジェスチャの組み合わせを、コード「１」の移動ジェスチャとして学習する処理について説明する。
【０２３４】
上記移動ジェスチャの組み合わせが検出されると、携帯型端末１００の制御部１２０は、出力ジェスチャ判定値「Ｒｘ、Ｒｙ、Ｒｚ、Ｃｘ」をジェスチャ判定値記憶部１４１ａに出力する。
【０２３５】
次に、ニューラルネットワーク演算部１９０のコントローラ１９１は、変換テーブル記憶部１４１ｂを参照してニューラルネットワーク入力信号「＋１、−１、＋２、−２」を取得する。
【０２３６】
コントローラ１９１は、ニューラルネットワーク入力信号「＋１、−１、＋２、−２」を入力層１９３に入力する。同時に、コントローラ１９１は教師信号定義テーブル記憶部１４１ｃを参照して、コード「１」に対応する教師信号「１、０、０、０」を教師信号層１９６に入力する。
【０２３７】
続いて、中間層１９４および出力層１９５は、結合係数１９７を使用して演算を実行する。コントローラ１９１は、出力層の出力が教師信号に近づくように、各階層間の結合係数１９７の重荷または閾値を更新する。更新においては、コントローラ１９１が出力層１９５からの出力と教師信号の差を判定し、その差が一定の許容値以下に収斂するまでニューラルネットワーク入力信号と教師信号の組を繰り返し入力して結合係数１９７の更新を行う。
【０２３８】
次に、学習済みのニューラルネットワーク１９２を使用して、コード「１」に対応する移動ジェスチャを認識する処理について説明する。コントローラ１９１は出力ジェスチャ判定値をニューラルネットワーク入力信号に変換して、入力層１９３に入力する。中間層１９４および出力層１９５は更新された結合係数１９７を使用して演算を実行する。コントローラ１９１は、出力層１９５からの出力信号をニューラルネットワーク出力信号として携帯型端末１００の制御部１２０に出力する。
【０２３９】
携帯型端末１００に検出させる移動ジェスチャが、出力ジェスチャ判定値「Ｒｘ」を出力する移動ジェスチャ、出力ジェスチャ判定値「Ｒｙ」を出力する移動ジェスチャ、出力ジェスチャ判定値「Ｒｚ」を出力する移動ジェスチャ、および出力ジェスチャ判定値「ＣＣｘ」を出力する移動ジェスチャの組み合わせだった場合、出力ジェスチャ判定値は「Ｒｘ、Ｒｙ、Ｒｚ、Ｃｘ」であり、ニューラルネットワーク入力信号は「＋１、−１、＋２、−２」である。
【０２４０】
このとき、ニューラルネットワーク入力信号「＋１、−１、＋２、−２」は、コード「１」の移動ジェスチャとして学習したニューラルネットワーク入力信号と同一である。そのため、ニューラルネットワーク入力信号「＋１、−１、＋２、−２」を、学習済みのニューラルネットワーク１９２の入力層１９３に入力すると、出力層１９５からは「１、０、０、０」と同一または近似のニューラルネットワーク出力信号を取得することができる。
【０２４１】
一方、コード「１」に対応する教師信号も「１、０、０、０」である。そのため、ニューラルネットワーク出力信号と、コード「１」に対応する教師信号との差は、一定の許容値以下であると判定される。以上より、出力ジェスチャ判定値「Ｒｘ」を出力する移動ジェスチャ、出力ジェスチャ判定値「Ｒｙ」を出力する移動ジェスチャ、出力ジェスチャ判定値「Ｒｚ」を出力する移動ジェスチャ、および出力ジェスチャ判定値「Ｃｘ」を出力する移動ジェスチャの組み合わせは、コード「１」の移動ジェスチャであると認識される。
【０２４２】
携帯型端末１００に検出させる移動ジェスチャが、出力ジェスチャ判定値「Ｃｘ」を出力する移動ジェスチャ、出力ジェスチャ判定値「Ｃｙ」を出力する移動ジェスチャ、出力ジェスチャ判定値「Ｃｚ」を出力する移動ジェスチャ、および出力ジェスチャ判定値「Ｒｘ」を出力する移動ジェスチャの組み合わせだった場合、出力ジェスチャ判定値は「Ｃｘ、Ｃｙ、Ｃｚ、Ｒｘ」であり、ニューラルネットワーク入力信号は「−２、＋３、−３、＋１」である。
【０２４３】
このとき、ニューラルネットワーク入力信号「−２、＋３、−３、＋１」は、コード「１」の移動ジェスチャとして学習したニューラルネットワーク入力信号と相異する。そのため、ニューラルネットワーク入力信号「−２、＋３、−３、＋１」を、学習済みのニューラルネットワーク１９２の入力層１９３に入力しても、ニューラルネットワーク出力信号としてコード「１」に対応する教師信号「１、０、０、０」と同一または近似の値を取得することができない。
【０２４４】
コード「１」に対応する教師信号は「１、０、０、０」であるため、ニューラルネットワーク出力信号と、コード「１」の教師信号との差は、一定の許容値を超えるものと判定される。以上より、出力ジェスチャ判定値「Ｒｘ」を出力する移動ジェスチャ、出力ジェスチャ判定値「Ｒｙ」を出力する移動ジェスチャ、出力ジェスチャ判定値「Ｒｚ」を出力する移動ジェスチャ、および出力ジェスチャ判定値「Ｃｘ」を出力する移動ジェスチャの組み合わせは、コード「１」の移動ジェスチャとは認識されない。
【０２４５】
携帯型端末１００に検出させる移動ジェスチャが、出力ジェスチャ判定値「Ｒｘ」を出力する移動ジェスチャ、出力ジェスチャ判定値「Ｒｙ」を出力する移動ジェスチャ、出力ジェスチャ判定値「Ｒｚ」を出力する移動ジェスチャ、および出力ジェスチャ判定値「Ｃｙ」を出力する移動ジェスチャの組み合わせだった場合、出力ジェスチャ判定値は「Ｒｘ、Ｒｙ、Ｒｚ、Ｃｙ」であり、ニューラルネットワーク入力信号は「＋１、−１、＋２、＋３」である。この場合、最後に検出された方向転換移動ジェスチャのみが、コード「１」の移動ジェスチャと相異する。
【０２４６】
このとき、ニューラルネットワーク入力信号「＋１、−１、＋２、＋３」は、コード「１」の移動ジェスチャとして学習したニューラルネットワーク入力信号と一部のみ相異する。そのため、ニューラルネットワーク入力信号「＋１、−１、＋２、＋３」を、学習済みのニューラルネットワーク１９２の入力層１９３に入力すると、出力層１９５からは、例えば「１、０、０、０」と近似の「０．８、０．２、０、０」等のニューラルネットワーク出力信号を取得することができる。
【０２４７】
コード「１」に対応する教師信号は「１、０、０、０」であるため、ニューラルネットワーク出力信号「０．８、０．２、０、０」との差分は、「０．２、０．２、０、０」となる。ここでは「１」と「０．８」との差分として「０．２」を、「０」と「０．２」との差分として「０．２」を比較する例を示したが、実施形態はこれに限られない。
【０２４８】
それぞれの信号における許容値として「０．３」が設定されていた場合、ニューラルネットワーク出力信号と、コード「１」の教師信号との差は、それぞれ許容値以下の「０．２」である。そのため、この場合の、出力ジェスチャ判定値「Ｒｘ」を出力する移動ジェスチャ、出力ジェスチャ判定値「Ｒｙ」を出力する移動ジェスチャ、出力ジェスチャ判定値「Ｒｚ」を出力する移動ジェスチャ、および出力ジェスチャ判定値「Ｃｘ」を出力する移動ジェスチャの組み合わせは、コード「１」の移動ジェスチャであると認識することができる。
【０２４９】
同一のユーザが、同一の移動ジェスチャを携帯型端末１００に検出させようとしても、時間・場所によっては移動ジェスチャの検出結果の一部にゆらぎや微妙に異なるジェスチャが発生する可能性が考えられる。携帯型端末１００が予め十分な学習処理を実行しておくことで、移動ジェスチャの検出結果の一部にゆらぎや微妙に異なるジェスチャが含まれていた場合でも、携帯型端末１００に移動ジェスチャとして認識させることができる。
【０２５０】
なお、図１９のニューラルネットワーク１９２の入力層１９３、中間層１９４、出力層１９５および教師信号層１９６はそれぞれ信号を処理する形態で説明をしたが、このような構成に限定されない。例えば、入力データおよび出力データとしてデータを処理する形態でニューラルネットワーク１９２を構成してもよい。
【０２５１】
次に、図２３のフローチャートを参照して、移動ジェスチャ学習・認識処理を説明する。
【０２５２】
まず、移動ジェスチャの学習処理を行う、学習フェーズについて説明する。ステップＳ２３０１において、変数ｍに１を入力する。ｍは、学習が収斂するまでの学習の回数を示している（Ｓ２３０１）。１からＮまである学習を１セットとし、この繰り返し回数をｍと定義する。
【０２５３】
次に、ステップＳ２３０２において、最後のジェスチャまで学習が完了したかを判定する（ステップＳ２３０２）。
【０２５４】
次に、ステップＳ２３０３において、変数ｎに１を入力する。ｎは、学習対象のコードを特定するために使用される（ステップＳ２３０３）。
【０２５５】
次に、ステップＳ２３０４において、最後のコードまで学習が完了したかを判定する。すなわち、最後のコードまでの学習を実行し、および、すべてのコードに対する学習においてニューラルネットワーク出力信号と教師信号との差が一定の許容値以下に収斂されると、最後のコードまで学習が完了したと判定する（ステップＳ２３０４）。
【０２５６】
ステップＳ２３０５において、コントローラ１９１は、ニューラルネットワーク入力信号および教師信号をそれぞれ入力層１９３および教師信号層１９６に与える（ステップＳ２３０５）。
【０２５７】
ステップＳ２３０６において、コントローラ１９１は中間層１９４の演算を実行する（ステップＳ２３０６）。中間層１９４の演算は、結合係数１９７を使用して実行されて、出力層１９５に出力される。
【０２５８】
ステップＳ２３０７において、コントローラ１９１は、出力層１９５の演算を実行する（ステップＳ２３０７）。出力層１９５の演算は、結合係数１９７を使用して実行されて、出力層１９５から出力値が出力される。
【０２５９】
ステップＳ２３０８において、コントローラ１９１は、出力層１９５から出力された出力信号と教師信号とを比較する。当該比較の結果、出力信号と教師信号との差分を算出し、算出された差分に基づいて出力層１９５の結合係数１９７の重荷または閾値の更新量を演算する。
【０２６０】
ステップＳ２３０９において、同様に、算出された差分に基づいて、中間層１９４の結合係数１９７の重荷または閾値の更新量を演算する。
【０２６１】
ステップＳ２３１０において、ステップＳ２３０８およびステップＳ２３０９において演算された結合係数１９７の重荷または閾値の更新量に基づいて、中間層１９４および出力層１９５の結合係数１９７の重荷または閾値を更新する。
【０２６２】
ステップＳ２３１１において、コード「ｎ」の学習を継続するかを判定する（ステップＳ２３１１）。すなわち、コード「ｎ」の学習が、ニューラルネットワーク出力信号と教師信号の差が一定の許容範囲以下に収斂される程学習が進んだかを判定する。
【０２６３】
ステップＳ２３１１において、コード「ｎ」の学習を継続すると判定された場合（ステップＳ２３１１でＹｅｓ）、再びステップＳ２３０５乃至ステップＳ２３１０の処理を繰り返して学習を継続する。
【０２６４】
一方、コード「ｎ」の学習を継続しないと判定された場合（ステップＳ２３１１でＮｏ）、ステップＳ２３１２に移行して次の教師信号を特定するために「ｎ＝ｎ＋１」の処理を実行する。
【０２６５】
ステップＳ２３１２の処理が終了すると、再びステップＳ２３０４に戻り、最後のコードまで学習が完了したかを判定する（ステップＳ２３０４）。最後のコードまで学習が完了したと判定された場合（ステップＳ２３０４でＹｅｓ）、ステップＳ２３１３に移行して、次のジェスチャを特定するために「ｍ＝ｍ＋１」の処理を実行する。
【０２６６】
ステップＳ２３１３の処理が終了すると、再びステップＳ２３０２に戻り、最後のジェスチャが完了したかを判定する（ステップＳ２３０２）。最後のジェスチャまで学習が完了したと判定された場合（ステップＳ２３０２でＹｅｓ）、移動ジェスチャ学習フローを終了する。以上のような処理フローにより、Ｎ番目の教師信号まで学習をＭ回実行することで、Ｎ個のジェスチャに対し、Ｎ種類の認識が可能なニューラルネットワーク１９２を形成することができる。
【０２６７】
次に、移動ジェスチャの認識処理を行う、実行フェーズの処理について説明する。ステップＳ２３１４において、コントローラ１９１はニューラルネットワーク入力信号を学習済みのニューラルネットワーク１９２の入力層１９３に与える。
【０２６８】
ステップＳ２３１５において、コントローラ１９１は、ステップＳ２３０６の処理と同様に、中間層１９４の演算を実行する（ステップＳ２３１５）。中間層１９４の演算は結合係数１９７を使用して実行されて、出力層１９５に出力される。
【０２６９】
ステップＳ２３１６において、コントローラ１９１は、ステップＳ２３０７の処理と同様に、出力層１９５の演算を実行する（ステップＳ２３１６）。出力層１９５の演算は結合係数１９７を使用して実行される。
【０２７０】
ステップＳ２３１７において、コントローラ１９１は、ステップＳ２３１６における演算結果をニューラルネットワーク出力信号として出力する（ステップＳ２３１７）。
【０２７１】
次に、ステップＳ２３１８において、携帯型端末１００の制御部１２０は、ニューラルネットワーク出力信号と対応する教師信号の差を判定し、その差が一定の許容値以下かを判定する（ステップＳ２３１８）。
【０２７２】
ステップＳ２３１８の判定において、許容値以下と判定された場合（ステップＳ２３１８でＹｅｓ）、制御部１２０は移動ジェスチャを認識する（ステップＳ２３１９）。
【０２７３】
一方、許容値を超えていたと判定された場合（ステップＳ２３１８でＮｏ）、制御部１２０は移動ジェスチャを認識しない（ステップＳ２３２０）。
【０２７４】
ステップＳ２３１９またはステップＳ２３２０の処理が終了すると、移動ジェスチャ認識フローを終了する。
【０２７５】
次に、図２４を参照して、携帯型端末１００が移動ジェスチャを学習・認識する際の画面遷移例を説明する。
【０２７６】
携帯型端末１００のディスプレイ１５０には、初期画面２４０１が表示される。初期画面２４０１は、選択ボタン２４１０および２４２０を含んでいる。
【０２７７】
まず、携帯型端末１００に移動ジェスチャを学習させるときの一連の画面遷移について説明する。選択ボタン２４１０を押下すると、ディスプレイ１５０には、定義情報入力画面２４０２が表示される。
【０２７８】
定義情報入力画面２４０２において、本例では定義情報として「あ」を入力する。定義情報入力フォーム２４３０に「あ」を入力し、決定ボタン２４４０を押下すると、ディスプレイ１５０には、ジェスチャ学習画面２４０３が表示される。
【０２７９】
ジェスチャ学習画面２４０３が表示されているときに、ユーザが移動ジェスチャの所定の組み合わせを携帯型端末１００に検出させると、当該ジェスチャの組み合わせは、定義情報「あ」に対応する移動ジェスチャとして学習される。
【０２８０】
定義情報「あ」に対応する移動ジェスチャとして学習を継続することが判定された場合（図２３におけるステップＳ２３０９に対応）、ディスプレイ１５０には、学習継続画面２４０４が表示される。学習継続画面２４０４が表示されると、再びジェスチャ学習画面２４０３が表示され、定義情報「あ」に対応する移動ジェスチャの実行を促す表示がなされる。
【０２８１】
一方、定義情報「あ」に対応する移動ジェスチャとして学習を終了することが判定された場合（図２３におけるステップＳ２３０９に対応）、ディスプレイ１５０には、選択画面２４０５が表示される。
【０２８２】
選択画面２４０５において、選択ボタン２４５０が押下されると、ディスプレイ１５０には、再び定義情報入力画面２４０２が表示される。ユーザは、定義情報入力フォーム２４３０に次の定義情報（例えば、「△」）を入力することで、次の定義情報に対応する移動ジェスチャを携帯型端末１００に学習させることができる。
【０２８３】
選択画面２４０５において、選択ボタン２４６０が押下されると、学習を終了し、ディスプレイ１５０には、再び初期画面２４０１が表示される。
【０２８４】
次に、携帯型端末１００に移動ジェスチャを認識させるときの一連の画面遷移について説明する。ディスプレイ１５０に初期画面２４０１が表示されているときに、選択ボタン２４２０が押下されると、ディスプレイ１５０には、定義情報入力画面２４０６が表示される。定義情報入力画面２４０６において、本例では定義情報として「あ」を入力する。
【０２８５】
定義情報入力フォーム２４７０に「あ」を入力し、決定ボタン２４８０を押下すると、ディスプレイ１５０には、ジェスチャ認識画面２４０７が表示される。
【０２８６】
ジェスチャ認識画面２４０７が表示されているときに、ユーザは所定の移動ジェスチャを携帯型端末１００に認識させる。ユーザは、定義情報「あ」に対応して学習させた移動ジェスチャを、携帯型端末１００に認識させることができれば（図２３におけるステップＳ２３１５に対応）、ディスプレイ１５０には、ジェスチャ認識成功画面２４０８が表示される。
【０２８７】
一方、ジェスチャ認識画面２４０７が表示されているときに、ユーザは所定の移動ジェスチャを携帯型端末１００に認識させる。ユーザは、定義情報「あ」に対応して学習させた移動ジェスチャを、携帯型端末１００に認識させるこができなければ（図２３におけるステップＳ２３１５に対応）、ディスプレイ１５０には、ジェスチャ認識失敗画面２４０９が表示される。その後、ディスプレイ１５０には、初期画面２４０１が再び表示される。
【０２８８】
上記説明した移動ジェスチャ学習・認識機能を、ユーザ認証に応用することができる。すなわち、ユーザが定義情報に対応して学習させた移動ジェスチャを、携帯型端末１００に認識させることができれば、制御部１２０は移動ジェスチャを行った主体を正当なユーザと判定する。
【０２８９】
この場合、制御部１２０は、ユーザ認証がなされたものとして、ジェスチャ認識成功画面２４０８に続いて、サービスへのログイン機能などを提供してもよい。
【０２９０】
一方、ユーザが、定義情報に対応して学習させた移動ジェスチャを携帯型端末１００に認識させることができなければ、制御部１２０は、移動ジェスチャを行った主体を正当なユーザではないと判定する。
【０２９１】
以上説明した通り、本発明に係るジェスチャ学習・認識装置では、ニューラルネットワークを使用して移動ジェスチャを学習・認識させることができる。これにより、ジェスチャ学習・認識装置は、所定の移動ジェスチャを、ユーザにとって何らかの意味ある値として認識することが可能となる。
【０２９２】
以上説明した通り、本発明の実施形態におけるジェスチャ検出装置およびジェスチャ学習・認識装置は、移動ジェスチャを検出し、検出された移動ジェスチャに基づいて種々の処理を実行する。これにより、携帯型端末１００において、ユーザに対して新たな操作性を提供することができる。
【符号の説明】
【０２９３】
１００    携帯型端末
１４１ｂ  変換テーブル記憶部
１４１ｃ  教師信号テーブル記憶部
１４１ｄ  意味テーブル記憶部
１５０    タッチパネルディスプレイ
１９２    ニューラルネットワーク
１９３    入力層
１９４    中間層
１９５    出力層
１９６    教師信号層
１９７    結合係数
３０１    初期位置
３０２    中間位置
３０３    最終位置
６０１    初期位置
６０２    中間位置
６０３    最終位置
８０１    初期位置
８０２    第１の中間位置
８０３    第２の中間位置
８０４    最終位置
１００１    ＩＤ入力フォーム
１００２    認証ボタン
１００３    クリアボタン
１２００    入力値定義テーブル
１３００    音声出力定義テーブル
１４０１    操作画面
１４１０    終了ボタン
１４１１    スイッチインターフェース
１４１２    選択ボタンインターフェース
１４１３    ドラムインターフェース
１４１４    実行ボタン
１４１５    スイッチコントロール
１４１６    ドラム部
１５００    操作定義テーブル
２４０１    初期画面
２４０２    定義情報入力画面
２４０３    ジェスチャ学習画面
２４０４    学習継続画面
２４０５    選択画面
２４０６    定義情報入力画面
２４０７    ジェスチャ認識画面
２４０８    ジェスチャ認識成功画面
２４０９    ジェスチャ認識失敗画面
２４１０    選択ボタン
２４２０    選択ボタン
２４３０    定義情報入力フォーム
２４４０    決定ボタン
２４５０    選択ボタン
２４６０    選択ボタン
２４７０    定義情報入力フォーム
２４８０    決定ボタン
【図１】
2016081381.tif 000037
【図２】
2016081381.tif 000038
【図３】
2016081381.tif 000039
【図４】
2016081381.tif 000040
【図５】
2016081381.tif 000041
【図６】
2016081381.tif 000042
【図７】
2016081381.tif 000043
【図８】
2016081381.tif 000044
【図９】
2016081381.tif 000045
【図１０】
2016081381.tif 000046
【図１１】
2016081381.tif 000047
【図１２】
2016081381.tif 000048
【図１３】
2016081381.tif 000049
【図１４】
2016081381.tif 000050
【図１５】
2016081381.tif 000051
【図１６】
2016081381.tif 000052
【図１７】
2016081381.tif 000053
【図１８】
2016081381.tif 000054
【図１９】
2016081381.tif 000055
【図２０】
2016081381.tif 000056
【図２１】
2016081381.tif 000057
【図２２】
2016081381.tif 000058
【図２３】
2016081381.tif 000059
【図２４】
2016081381.tif 000060