(57)【要約】【課題】個別の除外ケースを設定することなく、ユーザ操作からストレス状態にあるかどうかを判定可能とすること。【解決手段】状態判定方法は、端末を操作するユーザによる操作のうち、反復操作を検出する処理と、前記ユーザによる前記操作に応じて変化する前記端末の状態について、前記反復操作による変化の有無を判定する処理と、前記反復操作による前記端末の状態の変化の有無に基づいて、前記ユーザが前記端末に対してストレスを感じている状態を判定する処理と、をコンピュータが実行する。【選択図】図２
2019079342.tif 000002
【特許請求の範囲】
【請求項１】
端末を操作するユーザによる操作のうち、反復操作を検出する処理と、
前記ユーザによる前記操作に応じて変化する前記端末の状態について、前記反復操作による変化の有無を判定する処理と、
前記反復操作による前記端末の状態の変化の有無に基づいて、前記ユーザが前記端末に対してストレスを感じている状態を判定する処理と、
をコンピュータが実行することを特徴とする状態判定方法。
【請求項２】
前記ユーザが前記端末に対してストレスを感じている状態を判定する処理は、前記反復操作による前記端末の状態に変化が有る場合に、前記反復操作の特徴量と、前記反復操作が検出された際に前記端末において利用されていたアプリケーションに関して過去に検出された反復操作の特徴量との比較に基づいて、前記ユーザがストレスを感じている状態であるか否かを判定する、
ことを特徴とする請求項１記載の状態判定方法。
【請求項３】
前記ユーザがストレスを感じている状態であると判定された場合に、前記反復操作が検出された際における前記端末の状態、又は前記反復操作が検出された際に前記端末において利用されていたアプリケーション、又は前記端末の状態と前記アプリケーションとの組み合わせに応じた制御を前記端末に対して実行する処理、
を前記コンピュータが実行することを特徴とする請求項１又は２記載の状態判定方法。
【請求項４】
前記制御を前記端末に対して実行する処理は、更に、前記反復操作の特徴に応じた制御を前記端末に対して実行する、
ことを特徴とする請求項３記載の状態判定方法。
【請求項５】
端末を操作するユーザによる操作のうち、反復操作を検出する処理と、
前記ユーザによる前記操作に応じて変化する前記端末の状態について、前記反復操作による変化の有無を判定する処理と、
前記反復操作による前記端末の状態の変化の有無に基づいて、前記ユーザが前記端末に対してストレスを感じている状態を判定する処理と、
をコンピュータに実行させることを特徴とする状態判定プログラム。
【請求項６】
端末を操作するユーザによる操作のうち、反復操作を検出する検出部と、
前記ユーザによる前記操作に応じて変化する前記端末の状態について、前記反復操作による変化の有無を判定する第１の判定部と、
前記反復操作による前記端末の状態の変化の有無に基づいて、前記ユーザが前記端末に対してストレスを感じている状態を判定する第２の判定部と、
を有することを特徴とする状態判定装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、状態判定方法、状態判定プログラム及び状態判定装置に関する。
【背景技術】
【０００２】
情報社会である現代、インターネットで気軽にアクセスできるスマートフォン（以下、「スマホ」という。）の利用率が年々増加している。スマホの利用に際して、ユーザは、操作に対応した機能が期待通り動作しない場合や、レスポンスが遅い場合等にストレスを感じる。
【０００３】
従来、ユーザが操作を行っているときのユーザ操作状態を検出し、当該ユーザ操作状態を、ユーザが操作に困惑していると想定される状態を示す困惑状態情報と照合し、ユーザが操作に困惑しているか否かを判定する技術（以下、「従来技術」という。）が検討されている（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１５−１５３３２５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
アプリによっては、ユーザが操作に困惑していると想定されるユーザの動作や様子が、操作に困惑していなくても検出される場合が考えられる。そこで、従来技術では、ユーザ操作状態が、アプリごとに設定される除外項目に一致する場合には、ユーザが操作に困惑している状態であるとは判定しない。
【０００６】
すなわち、従来技術では、ユーザ操作状態に基づいてユーザが操作に困惑している状態か否かを切り分けるために、アプリごとに除外項目が設定される必要がある。そのため、アプリごとの特性に応じて、除外項目を設定するといった煩雑な作業が要求される。
【０００７】
そこで、一側面では、本発明は、個別の除外ケースを設定することなく、ユーザ操作からストレス状態であるか否かを判定可能とすることを目的とする。
【課題を解決するための手段】
【０００８】
一つの態様では、状態判定方法は、端末を操作するユーザによる操作のうち、反復操作を検出する処理と、前記ユーザによる前記操作に応じて変化する前記端末の状態について、前記反復操作による変化の有無を判定する処理と、前記反復操作による前記端末の状態の変化の有無に基づいて、前記ユーザが前記端末に対してストレスを感じている状態を判定する処理と、をコンピュータが実行する。
【発明の効果】
【０００９】
一側面として、個別の除外ケースを設定することなく、ユーザ操作からストレス状態にあるかどうかを判定可能とすることができる。
【図面の簡単な説明】
【００１０】
【図１】第１の実施の形態における端末装置１０のハードウェア構成例を示す図である。
【図２】第１の実施の形態における端末装置１０の機能構成例を示す図である。
【図３】第１の実施の形態における端末状態ＤＢ１２１の構成例を示す図である。
【図４】第１の実施の形態における端末装置１０が実行する処理の処理手順の一例を説明するためのフローチャートである。
【図５】操作データの構成例を示す図である。
【図６】第１の実施の形態におけるタッチ連続データ生成処理の処理手順の一例を説明するためのフローチャートである。
【図７】第１の実施の形態におけるタッチ履歴ＤＢ１２２の構成例を示す図である。
【図８】タッチ位置が変化している場合のタッチ履歴ＤＢ１２２の例を示す図である。
【図９】第１の実施の形態におけるタップに関するタッチ連続データ生成処理の処理手順の一例を説明するためのフローチャートである。
【図１０】タッチ連続データＤＢ１２４の構成例を示す図である。
【図１１】タップが連続しているか否かの判定を説明するための図である。
【図１２】タッチ連続データＤＢ１２４へのタップに関するタッチデータ群の追加の例を示す図である。
【図１３】第１の実施の形態におけるスワイプに関するタッチ連続データ生成処理の処理手順の一例を説明するためのフローチャートである。
【図１４】スワイプが連続しているか否かを説明するための図である。
【図１５】スワイプの単位を説明するための図である。
【図１６】１番目のスワイプに係る近似直線の例を示す図である。
【図１７】近似直線上への２次元座標の射影の例を示す図である。
【図１８】スワイプに関するタッチデータ群を記憶したタッチ連続データＤＢ１２４の例を示す図である。
【図１９】第１の実施の形態におけるシェイク連続データ生成処理の処理手順の一例を説明するためのフローチャートである。
【図２０】第１の実施の形態における加速度履歴ＤＢ１２３の構成例を示す図である。
【図２１】或る時刻の加速度ベクトルの角度の緯度及び経度の例を示す図である。
【図２２】シェイク連続データＤＢ１２５の構成例を示す図である。
【図２３】第１の実施の形態における反復操作検出処理の処理手順の一例を説明するためのフローチャートである。
【図２４】第１の実施の形態における反復操作回数ＤＢ１２６の構成例を示す図である。
【図２５】第１の実施の形態における意図的操作推定処理の処理手順の一例を説明するためのフローチャートである。
【図２６】反復操作の前後における端末状態の変化の有無を説明するための図である。
【図２７】第１の実施の形態における操作ログＤＢ１２７の構成例を示す図である。
【図２８】第１の実施の形態におけるストレス推定処理の処理手順の一例を説明するためのフローチャートである。
【図２９】第１の実施の形態における解消策ＤＢ１２８の構成例を示す図である。
【図３０】第２の実施の形態における端末装置１０の機能構成例を示す図である。
【図３１】第２の実施の形態におけるストレス推定処理の処理手順の一例を説明するためのフローチャートである。
【発明を実施するための形態】
【００１１】
以下、図面に基づいて本発明の実施の形態を説明する。図１は、第１の実施の形態における端末装置１０のハードウェア構成例を示す図である。図１において、端末装置１０は、ＣＰＵ１０１、メモリ１０２、補助記憶装置１０３、タッチパネル１０４、無線通信装置１０５及び加速度センサ１０６等を有する。
【００１２】
補助記憶装置１０３は、端末装置１０にインストールされたプログラム等を記憶する。メモリ１０２は、プログラムの起動指示があった場合に、補助記憶装置１０３からプログラムを読み出して記憶する。ＣＰＵ１０１は、メモリ１０２に記憶されたプログラムに従って端末装置１０に係る機能を実現する。
【００１３】
タッチパネル１０４は、入力機能と表示機能との双方を備えた電子部品であり、情報の表示や、ユーザからの入力の受け付け等を行う。タッチパネル１０４は、表示装置１１１及び入力装置１１２等を含む。
【００１４】
表示装置１１１は、液晶ディスプレイ等であり、タッチパネル１０４の表示機能を担う。入力装置１１２は、表示装置１１１に対する接触物の接触を検出するセンサを含む電子部品である。接触物の接触の検出方式は、静電方式、抵抗膜方式、又は光学方式等、公知の方式のいずれであってもよい。なお、接触物とは、タッチパネル１０４の接触面（表面）に接触する物体をいう。斯かる物体の一例として、ユーザの指や専用又は一般のペン等が挙げられる。
【００１５】
無線通信装置１０５は、無線ＬＡＮ（Local Area Network）又は移動体通信網等における通信を行うために必要とされるアンテナ等の電子部品である。加速度センサ１０６は、端末装置１０の加速度を検出する。
【００１６】
図２は、第１の実施の形態における端末装置１０の機能構成例を示す図である。図１において、端末装置１０は、タッチ信号取得部１１、加速度信号取得部１２、端末状態取得部１３、操作データ送信部１４、連続データ生成部１５、反復操作検出部１６、意図的操作推定部１７及びストレス推定部１８等を有する。これら各部は、端末装置１０にインストールされた１以上のプログラムが、ＣＰＵ１０１に実行させる処理により実現される。端末装置１０は、また、端末状態ＤＢ１２１、タッチ履歴ＤＢ１２２、加速度履歴ＤＢ１２３、タッチ連続データＤＢ１２４、シェイク連続データＤＢ１２５、反復操作回数ＤＢ１２６、操作ログＤＢ１２７及び解消策ＤＢ１２８等のデータベース（記憶部）等を有する。これら各データベースは、例えば、メモリ１０２又は補助記憶装置１０３等を用いて実現可能である。
【００１７】
タッチ信号取得部１１は、入力装置１１２がタッチ信号を検知している期間において、入力装置１１２からタッチ信号を取得し、当該タッチ信号が示す情報を含むデータ（以下、「タッチデータ」という。）を生成する。タッチ信号は、ユーザの指等がタッチパネル１０４に接触している期間において継続的に検知される。タッチ信号取得部１１は、当該期間において一定間隔でタッチ信号を取得し、タッチ信号ごとにタッチデータを生成する。したがって、例えば、１回のタップ又は１回のスワイプであっても、複数のタッチデータが時系列に生成される。なお、１回のタップ又はスワイプとは、ユーザの指がタッチパネル１０４に接触してから離れるまでの操作をいう。また、タップとは、例えば、タッチパネル１０４を軽く叩く操作である。スワイプとは、例えば、指等をタッチパネル１０４に接触した状態で、指等を滑らせる（移動させる）操作である。
【００１８】
加速度信号取得部１２は、加速度センサ１０６が検出した加速度を示すデータ（加速度データ）を、例えば、定期的に（一定時間間隔で）加速度センサ１０６から取得する。
【００１９】
端末状態取得部１３は、端末装置１０に関して所定の状態を示す情報（以下、「端末状態情報」という。）を端末装置１０から取得する。端末状態情報の取得は、定期的に実行されてもよいし、当該所定の状態に変化が生じた際に行われてもよい。端末状態取得部１３は、取得した端末状態情報を、端末状態ＤＢ１２１に記憶する。
【００２０】
図３は、第１の実施の形態における端末状態ＤＢ１２１の構成例を示す図である。図３において、端末状態ＤＢ１２１の各レコードは、時刻、画面更新、カーソル位置、起動中のアプリ名、及び無線ＬＡＮ設定等の項目を含む。これらの項目のうち、画面更新有無、カーソル位置、起動中のアプリ名、及び無線ＬＡＮ設定が、端末状態情報を構成するパラメータである。
【００２１】
時刻は、端末状態情報が取得された時刻である。画面更新有無は、表示装置１１１に表示されている画面又は画面の構成要素の変化の有無を示す情報である。カーソル位置は、当該画面におけるカーソルの位置の座標（Ｘ，Ｙ）を示す情報である。起動中のアプリ名は、端末装置１０において起動されている（操作対象とされている）アプリケーション（以下、単に「アプリ」という。）の名称である。無線ＬＡＮ設定は、Ｗｉ−Ｆｉ（登録商標）の接続設定が、ＯＮ（有効）とされているかＯＦＦ（無効）とされているかを示す情報である。
【００２２】
図２に戻る。操作データ送信部１４は、タッチ信号取得部１１によって生成されたタッチデータと加速度信号取得部１２によって取得された加速度データとの少なくともいずれか一方を含むデータ（以下、「操作データ」という。）を、タッチデータが生成されるたび、又は加速度データが取得されるたびに連続データ生成部１５へ送信する。
【００２３】
連続データ生成部１５は、操作データに含まれているタッチデータに基づいて、ユーザによる連続的なタップ又はスワイプを検出する。連続データ生成部１５は、連続的なタップ又はスワイプを検出すると、当該タップ又は当該スワイプに係るタッチデータ群を、タッチ連続データＤＢ１２４に記憶する。
【００２４】
連続データ生成部１５は、また、操作データに含まれている加速度データに基づいて、ユーザによる連続的なシェイクを検出する。シェイクとは、端末操作を左右又は上下等に振る操作をいう。連続データ生成部１５は、連続的なシェイクを検出すると、当該シェイクに係る加速度データ群を、シェイク連続データＤＢ１２５に記憶する。
【００２５】
なお、タッチ履歴ＤＢ１２２には、連続データ生成部１５が連続的なタップ又はスワイプを検出するために、最後のタップ又は最後のスワイプに係るタッチデータが記憶される。すなわち、タッチ履歴ＤＢ１２２は、タップ又はスワイプが行われるたびに更新される。なお、タップ及びスワイプは、タッチ信号を発生させる操作であるという点において共通する一方で、排他的な操作である。すなわち、通常、タップとスワイプとは同時には行われない。したがって、本実施の形態では、タップ及びスワイプについては、タッチ履歴ＤＢ１２２やタッチ連続データＤＢ１２４等が共用される。
【００２６】
また、加速度履歴ＤＢ１２３には、連続データ生成部１５が連続的なシェイクを検出するために、シェイクが行われるたびに、最後のシェイクに係る加速度データが記憶される。
【００２７】
反復操作検出部１６は、タッチ連続データＤＢ１２４及びシェイク連続データＤＢ１２５を参照して、ユーザによる反復的又は周期的な操作（以下、「反復操作」という。）を検出する。反復操作とは、反復的又は周期的なタップ、反復的又は周期的なスワイプ、又は反復的又は周期的なシェイクである。反復操作の検出は、ユーザの操作に応じて端末装置１０がユーザの意図した動作をしないことで、ユーザが端末装置１０に対してストレスを感じている状態（以下、「ストレス状態」という。）である可能性の検出に相当する。すなわち、動物行動学の分野では、人は、ストレスがかかると、心の安定を保つために、その時の事態とは全く無関係の操作や、反復的な操作を行うことが知られている。例えば、スマートフォン等のような端末装置１０が、ユーザの意図した動作をしない場合、ユーザは、以下の（１）〜（３）のような反復操作を行うことが考えられる。
（１）指で画面をトントン叩く。
（２）指を画面につけたまま、所定方向（例えば、上下方向）に複数回にわたって指をスライドさせる。
（３）端末装置１０を所定方向（例えば、左右方向）にシェイクする。
【００２８】
上記において、（１）は、反復的なタップとして検出可能である。（２）は、反復的なスワイプとして検出可能である。（３）は、反復的なシェイクとして検出可能である。したがって、反復操作検出部１６は、このような反復操作を検出することで、ユーザがストレス状態である可能性を検出する。
【００２９】
意図的操作推定部１７は、反復操作検出部１６によって反復操作が検出された場合に、当該反復操作が意図的なものであるか否かを、端末状態ＤＢ１２１に記憶されている端末状態情報の履歴を参照して推定する。本実施の形態では、反復操作の開始前から終了後までの間（以下、「反復操作の期間」という。）において、端末状態情報に変化が有るか否かによって、反復操作が意図的であるか否かが推定される。すなわち、反復操作によって端末状態情報が変化したか否かに基づいて、当該反復操作が意図的であるか否かが推定される。なお、本実施の形態において、意図的とは、端末装置１０の特定の機能に関する操作を目的としていることをいう。
【００３０】
すなわち、例えば、ゲームアプリ等の利用や、他の目的に際して意図的に行われた反復操作であれば、ユーザの操作に応じて端末装置１０の状態が変化し、当該変化が端末状態情報の変化として現れる可能性が高い。一方、通信速度が遅い、画面がフリーズしている等、何らかの外的要因によってユーザがイライラして反復操作を行っている場合、端末装置１０は当該反復操作による反応を示さない状態であろうから、当該反復操作の期間において、端末装置１０の状態は変化しない可能性が高い。そこで、本実施の形態において、意図的操作推定部１７は、反復操作の期間における端末装置１０の状態の変化の有無に基づいて、当該反復操作が意図的であるか否かを判定する。
【００３１】
ストレス推定部１８は、反復操作検出部１６によって反復操作が検出されたか否かと、意図的操作推定部１７による推定結果（意図的であるか否か）とに基づいて、ユーザがストレス状態であるか否かを推定する。具体的には、ストレス推定部１８は、反復操作が検出され、当該反復操作が意図的でない場合に、ユーザはストレス状態であると推定する。
【００３２】
なお、ユーザがストレス状態である場合には、そのストレスの由来（原因）を推定し、そのストレスの由来を取り除くための支援を行うこが効果的である。そこで、ストレス推定部１８は、ストレス状態を解消するための処理（解消策）を実行する。例えば、ユーザがストレス状態にあることが推定され、その時点での端末装置１０における通信スピードが遅い場合には、当該ストレス状態は通信スピードが遅いことに由来している可能性が高いため、ストレス推定部１８は、ネットワークの接続手段を、無線ＬＡＮからＬＴＥ等の移動体通信網（又はその逆）に切り替える。また、ユーザがストレス状態にあることが推定され、その時点での端末装置１０でのＣＰＵ負荷が高い場合には、そのストレス状態は端末装置１０の処理スピードが遅いことに由来している可能性が高いため、ストレス推定部１８は、ＣＰＵの周波数を高周波数に切り替える。このような解消策は、解消策ＤＢ１２８に記憶されている。
【００３３】
なお、ストレス状態の判定を行わずとも、端末装置１０の状態を監視して、好ましくない状態が検出された場合に当該状態を改善する（例えば、処理負荷が高くなったら高周波数に切り替える）ということも考えられる。しかし、処理負荷が高くなった場合に常に高周波数に切り替えていると端末装置１０のバッテリーを消耗してしまう。そこで、本実施の形態では、ユーザがストレス状態であることが推定されたタイミングで、当該ストレス当該を解消するための対処が実行される。
【００３４】
以下、端末装置１０が実行する処理手順について説明する。図４は、第１の実施の形態における端末装置１０が実行する処理の処理手順の一例を説明するためのフローチャートである。
【００３５】
連続データ生成部１５は、操作データ送信部１４からの操作データの入力（送信）を待機している（Ｓ１０１）。操作データが入力されると（Ｓ１０１でＹｅｓ）、連続データ生成部１５は、当該操作データにタッチデータが含まれているか否かを判定する（Ｓ１０２）。
【００３６】
図５は、操作データの構成例を示す図である。図５の（１）及び（２）に示されるように、操作データは、時刻、タッチデータ部及び加速度データ部等を含む。時刻は、タッチデータが生成された時刻、又は加速度データが取得された時刻である。
【００３７】
タッチデータ部は、タッチデータを含む部分である。タッチデータは、Ｘ座標、Ｙ座標及び面積等のパラメータを含む。Ｘ座標及びＹ座標は、タッチされた領域（以下、「タッチ領域」という。）の重心の座標である。なお、本実施の形態において、タッチパネル１０４の横方向がＸ軸であり、縦方向がＹ軸であるとする。面積は、タッチ領域の面積である。
【００３８】
加速度データ部は、加速度データを含む部分である。加速度データは、Ｘ軸、Ｙ軸及びＺ軸等のパラメータを含む。Ｘ軸は、Ｘ軸方向の加速度を示す。Ｙ軸は、Ｙ軸方向の加速度を示す。Ｚ軸は、Ｚ軸方向の加速度を示す。
【００３９】
なお、図５において、（１）は、タッチデータ及び加速度データの双方を含む操作データを示し、（２）は、タッチデータを含まない操作データを示す。
【００４０】
本実施の形態において、加速度データは、一定間隔（以下、「間隔ａ」という。）で取得される。また、タッチデータは、タッチ信号の発生中において一定間隔（以下、「間隔ｂ」という。）で生成される。したがって、加速度データの取得時に、タッチ信号が発生していない場合が有るため、（２）に示されるような操作データが生成されうる。一方、本実施の形態において、間隔ａは、間隔ｂよりも短いため、タッチデータの生成時においては、常に加速度データも取得される。したがって、本実施の形態では、加速度データを含まない操作データは生成されない。但し、タッチデータと加速度データとが個別に操作データ送信部１４から連続データ生成部１５へ入力されてもよい。
【００４１】
なお、操作データ送信部１４からの操作データの入力は、タッチデータの生成又は加速度データの取得に応じて行われる。上記したように、タッチ信号は、１回のタップ等においても複数回発生する。したがって、この場合、複数の操作データが１つずつ連続的に連続データ生成部１５に入力され、ステップＳ１０２以降は、各操作データを処理対象（以下、「対象操作データ」という。）として繰り返し実行される。
【００４２】
対象操作データにタッチデータが含まれていない場合（Ｓ１０２でＮｏ）、ステップＳ１０４に進む。対象操作データにタッチデータが含まれている場合（Ｓ１０２でＹｅｓ）、連続データ生成部１５は、タッチ連続データ生成処理を実行し（Ｓ１０３）、ステップＳ１０４に進む。タッチ連続データ生成処理では、連続的なタップ又はスワイプが検出された場合に、当該タップ又は当該スワイプに係るタッチデータの履歴がタッチ連続データＤＢ１２４に記憶される。
【００４３】
ステップＳ１０４において、連続データ生成部１５は、シェイク連続データ生成処理を実行する。シェイク連続データ生成処理では、連続的なシェイクが検出された場合に、当該シェイクに係る加速度データの履歴がシェイク連続データＤＢ１２５に記憶される。
【００４４】
続いて、反復操作検出部１６は、反復操作検出処理を実行する（Ｓ１０５）。反復操作検出処理では、タッチ連続データＤＢ１２４及びシェイク連続データＤＢ１２５の記憶内容に基づいて、ユーザによる反復操作の発生の有無が判定される。
【００４５】
反復操作検出部１６によって、反復操作が発生していないと判定された場合（Ｓ１０６でＮｏ）、ステップＳ１０８に進む。反復操作検出部１６によって、反復操作が発生したと判定された場合（Ｓ１０６でＹｅｓ）、意図的操作推定部１７は、意図的操作推定処理を実行し（Ｓ１０７）、ステップＳ１０８に進む。意図的操作推定処理では、反復操作検出部１６によって検出された反復操作が、ユーザによる意図的なものか否か（無意識なものか）が推定（判定）される。
【００４６】
ステップＳ１０８において、ストレス推定部１８は、ストレス推定処理を実行する。ストレス推定処理では、ユーザがストレス状態であるか否かが推定される。ユーザがストレス状態であると推定される場合、ストレス推定部１８は、当該ストレス状態を解消するための制御を端末装置１０に対して実行する。
【００４７】
続いて、ステップＳ１０３の詳細について説明する。図６は、第１の実施の形態におけるタッチ連続データ生成処理の処理手順の一例を説明するためのフローチャートである。
【００４８】
ステップＳ１２１において、連続データ生成部１５は、タッチ履歴ＤＢ１２２が空であるか否かを判定する。例えば、最初にステップＳ１２１が実行される場合、タッチ履歴ＤＢ１２２は空である。タッチ履歴ＤＢ１２２が空である場合（Ｓ１２１でＹｅｓ）、連続データ生成部１５は、対象操作データの時刻及びタッチデータ部を含むレコード（以下、「対象タッチデータ」という。）を、タッチ履歴ＤＢ１２２に記憶する（Ｓ１２２）。
【００４９】
図７は、第１の実施の形態におけるタッチ履歴ＤＢ１２２の構成例を示す図である。図７に示されるように、タッチ履歴ＤＢ１２２には、図５に示した操作データのうち、時刻と、タッチデータ部とを含むレコード（タッチデータ）が記憶される。
【００５０】
一方、タッチ履歴ＤＢ１２２が空でない場合、すなわち、既に１以上のレコードがタッチ履歴ＤＢ１２２に記憶されている場合（Ｓ１２１でＮｏ）、連続データ生成部１５は、対象タッチデータの時刻と、タッチ履歴ＤＢ１２２の最後（末尾）のタッチデータの時刻との時間差が閾値α（例えば、０．１秒）以上であるか否かを判定する（Ｓ１２３）。斯かる判定は、対象タッチデータが、タッチ履歴ＤＢ１２２に記憶されている１以上のタッチデータと、別のタップ又はスワイプに係るタッチデータであるか否かの判定に相当する。換言すれば、当該判定は、対象タッチデータが、タッチ履歴ＤＢ１２２に記憶されている１以上のタッチデータに係るタップ又はスワイプの後で指がタッチパネル１０４から離れてから再度行われたタップ又はスワイプに係る最初のタッチデータであるか否かの判定に相当する。例えば、タップ又はスワイプが２回行われる場合、１回目のタップ又はスワイプと２回目のタップ又はスワイプとの間では、指がタッチパネル１０４から離れる。したがって、１回目のタップ又はスワイプに関して生成される複数のタッチデータのうちの最後のタッチデータの時刻と、２回目のタップ又はスワイプに関して生成される複数のタッチデータのうちの最初のタッチデータの時刻との間には、１回のタップ又はスワイプに関して生成される各タッチデータの時刻の間隔に比べて大きな時間差が有ると考えられる。そこで、当該大きな時間差が閾値αと比較されることで、対象タッチデータが、新たなタップ又はスワイプに関する最初のタッチデータであるか否かが判定される。
【００５１】
対象タッチデータの時刻と、タッチ履歴ＤＢ１２２の最後のタッチデータの時刻との時間差が閾値α未満である場合（Ｓ１２３でＮｏ）、連続データ生成部１５は、対象タッチデータをタッチ履歴ＤＢ１２２の末尾に追加する（Ｓ１２４）。したがって、ユーザの指がタッチパネル１０４から離れるまでに生成されるタッチデータごとに、ステップＳ１２４が繰り返し実行され、当該各タッチデータがタッチ履歴ＤＢ１２２に追加される。
【００５２】
一方、当該時間差が閾値α以上である場合（Ｓ１２３でＹｅｓ）、連続データ生成部１５は、タッチ履歴ＤＢ１２２に記憶されている複数のタッチデータのそれぞれのＸ座標及びＹ座標に基づいて、当該複数のタッチデータに関してタッチ位置の変化の有無を判定する（Ｓ１２５）。すなわち、指がタッチしてから離れるまでに、タッチ位置が変化したか否かが判定される。例えば、当該複数のタッチデータのそれぞれのＸ座標及びＹ座標が、所定範囲内（例えば、Ｘ座標が、当該複数のタッチデータにおけるＸ座標の平均値の±５の範囲内であり、かつ、Ｙ座標が当該複数のタッチデータにおけるＹ座標の平均値の±５の範囲内）であれば、タッチ位置は変化していないと判定されてもよい。
【００５３】
タッチ位置が変化していないと判定される場合（Ｓ１２５でＹｅｓ）、連続データ生成部１５は、タップに関するタッチ連続データ生成処理を実行する（Ｓ１２６）。すなわち、タッチしてから指が離れるまでにタッチ位置がほぼ変化していない場合、ユーザによる操作はタップであると推定される。したがって、タップに関するタッチ連続データ生成処理が実行される。なお、タップに関するタッチ連続データ生成処理の詳細は後述される。
【００５４】
一方、タッチ位置が変化していると判定される場合（Ｓ１２５でＮｏ）、連続データ生成部１５は、スワイプに関するタッチ連続データ生成処理を実行する（Ｓ１２７）。
【００５５】
例えば、図８は、タッチ位置が変化している場合のタッチ履歴ＤＢ１２２の例を示す図である。図８に示されるタッチ履歴ＤＢ１２２では、少なくともＹ座標の値が、全タッチデータの平均値の±５の範囲外である。この場合、本実施の形態では、タッチ位置が変化していると判定され、スワイプに関するタッチ連続データ生成処理が実行される。すなわち、タッチしてから指が離れるまでにタッチ位置が変化している場合、ユーザによる操作はスワイプであると推定される。したがって、スワイプに関するタッチ連続データ生成処理が実行される。なお、スワイプに関するタッチ連続データ生成処理の詳細は後述される。
【００５６】
ステップＳ１２６又はＳ１２７に続いて、連続データ生成部１５は、対象タッチデータをタッチ履歴ＤＢ１２２に上書きする（Ｓ１２８）。すなわち、タッチ履歴ＤＢ１２２に記憶されていたタッチデータ群が削除されて、対象タッチデータが新たにタッチ履歴ＤＢ１２２に記憶される。タッチ履歴ＤＢ１２２は、１回分のタップ又はスワイプに関するタッチデータ群を記憶しておくための記憶部だからである。
【００５７】
続いて、ステップＳ１２６の詳細について説明する。図９は、第１の実施の形態におけるタップに関するタッチ連続データ生成処理の処理手順の一例を説明するためのフローチャートである。
【００５８】
ステップＳ１３１において、連続データ生成部１５は、タッチ連続データＤＢ１２４が空であるか否かを判定する。タッチ連続データＤＢ１２４が空である場合（Ｓ１３１でＹｅｓ）、連続データ生成部１５は、タッチ履歴ＤＢ１２２に記憶されている全てのタッチデータ（すなわち、最後に行われたタップに係るタッチデータ）のそれぞれごとに、当該タッチデータを含むレコードをタッチ連続データＤＢ１２４に記憶する（Ｓ１３２）。
【００５９】
図１０は、タッチ連続データＤＢ１２４の構成例を示す図である。図１０に示されるように、タッチ連続データＤＢ１２４のレコードは、タッチ履歴ＤＢ１２２のレコードに対して「操作種別」の項目を追加した構成を有する。「操作種別」の値は、「タップ」又は「スワイプ」である。ステップＳ１３２では、タッチ連続データＤＢ１２４に記憶される全てのタッチデータに対して、「操作種別」として「タップ」が付与される。
【００６０】
一方、タッチ連続データＤＢ１２４が空でない場合（Ｓ１３１でＮｏ）、連続データ生成部１５は、タッチ連続データＤＢ１２４に記憶されているレコード群の「操作種別」の値が「タップ」であるか否かを判定する（Ｓ１３３）。なお、タッチ連続データＤＢ１２４に記憶されるレコード群の「操作種別」の値は「タップ」又は「スワイプ」のいずれか一方であり、２つの値が混在することは無い。したがって、ステップＳ１３３の判定は、タッチ連続データＤＢ１２４に記憶されているいずれかのレコードが参照されて行なわれてもよい。
【００６１】
タッチ連続データＤＢ１２４に記憶されているレコード群の「操作種別」の値が「タップ」である場合（Ｓ１３３でＹｅｓ）、連続データ生成部１５は、当該レコード群に係るタップと、タッチ履歴ＤＢ１２２に記憶されているタッチデータ群に係るタップとが連続しているか否かを判定する（Ｓ１３４）。例えば、以下の（条件１）及び（条件２）の２つの条件が満たされる場合、連続データ生成部１５は、当該２つのタップが連続していると判定し、少なくともいずれか一方が満たされない場合、連続データ生成部１５は、当該２つのタップが連続していないと判定する。
（条件１）タッチ履歴ＤＢ１２２の先頭のタッチデータの時刻と、タッチ連続データＤＢ１２４の最後（末尾）のレコードの時刻との時間差が閾値β（例えば、１秒）以内である。
（条件２）タッチ履歴ＤＢ１２２の各タッチデータのＸ座標及びＹ座標に基づく位置が、タッチ連続データＤＢ１２４の各レコードのＸ座標の平均及びＹ座標の平均を中心として所定の円（例えば、半径１ｃｍの円）の範囲内である。
【００６２】
図１１は、タップが連続しているか否かの判定を説明するための図である。図１１において上側の表は、タッチ連続データＤＢ１２４のレコード群を示す。下側の表は、タッチ履歴ＤＢ１２２に記憶されているタッチデータ群を示す。矢印ａ１は、（条件１）の判定を表現し、矢印ａ２は、（条件２）の判定を表現している。
【００６３】
タップが連続していると判定される場合（Ｓ１３４でＹｅｓ）、連続データ生成部１５は、タッチ履歴ＤＢ１２２に記憶されている全てのタッチデータ（すなわち、最後に行われたタップに係るタッチデータ）のそれぞれごとに、当該タッチデータを含み、「操作種別」を「タップ」とするレコードをタッチ連続データＤＢ１２４に追加する（Ｓ１３５）。
【００６４】
図１２は、タッチ連続データＤＢ１２４へのタップに関するタッチデータ群の追加の例を示す図である。図１２では、図１１における判定において、タップが連続していると判定された場合に対応する。その結果、図１２において破線によって囲まれるレコード群が、ステップＳ１３５においてタッチ連続データＤＢ１２４へ追加される。
【００６５】
一方、タップが連続しないと判定される場合（Ｓ１３４でＮｏ）、連続データ生成部１５は、タッチ連続データＤＢ１２４の全てのレコードを削除した上で、タッチ履歴ＤＢ１２２に記憶されている全てのタッチデータ（すなわち、最後に行われたタップに係るタッチデータ）のそれぞれごとに、当該タッチデータを含み、「操作種別」を「タップ」とするレコードをタッチ連続データＤＢ１２４に記憶する（Ｓ１３６）。
【００６６】
続いて、図６のステップＳ１２７の詳細について説明する。図１３は、第１の実施の形態におけるスワイプに関するタッチ連続データ生成処理の処理手順の一例を説明するためのフローチャートである。
【００６７】
ステップＳ１４１において、連続データ生成部１５は、スワイプが連続しているか否かを判定する。スワイプが連続しているか否かの判定とは、指（接触位置）の移動軌跡が往復しているか否かの判定である。例えば、連続データ生成部１５は、上→下→上又は左→右→左のように、スワイプ（接触位置の軌跡）の方向が複数回（例えば２回以上）変化した場合、スワイプが連続していると判定する。上→下は、例えば、タッチ履歴ＤＢ１２２のＹ座標の時間変化（各タッチデータにおける時系列の変化）を調べ、増加から減少に切り替わるか否かに基づいて判定可能である。左→右は、Ｘ座標の時間変換に基づいて同様に判定可能である。
【００６８】
スワイプの連続の有無の判定について更に具体的に説明する。図１４は、スワイプが連続しているか否かを説明するための図である。図１４において、（１）は、ここで想定しているスワイプの方向を示す。すなわち、Ｙ軸方向においてスワイプが行われている場合を想定する。
【００６９】
（２）は、（１）のようなスワイプが行われている場合にタッチ履歴ＤＢ１２２に記憶される各タッチデータを、スワイプの連続の有無の判定のために加工したデータ群を示す。具体的には、連続データ生成部１５は、タッチ履歴ＤＢ１２２において２番目以降のタッチデータのＸ座標及びＹ座標の値を、１番目のタッチデータのＸ座標又はＹ座標との差分とし、１番目のタッチデータのＸ座標及びＹ座標を０としたデータ群（以下、「差分データ群」という。）を生成する。したがって、（２）では、「Ｘ座標」、「Ｙ座標」の項目名が、「Ｘ座標差分」、「Ｙ座標差分」とされている。
【００７０】
（３）は、（２）におけるＸ座標差分及びＹ座標差分の値の時系列の変化を曲線に近似した例を示す。
【００７１】
連続データ生成部１５は、差分データ群のＸ座標差分及びＹ座標差分のそれぞれについてピーク検出を行う。例えば、ピークに対する閾値が予め設定され、当該閾値を超える座標がピークの候補とされる。ピークの候補を含む差分データが連続していない場合、当該ピークの候補がピークとされる。ピークの候補を含む差分データが連続している場合、連続しているピークの候補の中で最大の座標がピークとされる。連続データ生成部１５は、Ｘ座標差分及びＹ座標差分の少なくともいずれか一方において、検出したピーク数が閾値以上であれば、スワイプが連続している（指が往復している）と判定する。例えば、図１４の（３）には、Ｘ座標差分についてはピークが検出されず、Ｙ座標差分については２以上のピークが検出された例が示されている。
【００７２】
スワイプが連続していると判定されない場合（Ｓ１４１でＮｏ）、図１３の処理は終了する。スワイプが連続していると判定される場合（Ｓ１４１でＹｅｓ）、連続データ生成部１５は、タッチ履歴ＤＢ１２２に記憶されているタッチデータ群の座標の次元数を２から１へ削減する（Ｓ１４２）。
【００７３】
座標の次元数の削減について説明する。まず、連続データ生成部１５は、タッチ履歴ＤＢ１２２に記憶されているタッチデータ群に係るスワイプのうち、１番目のスワイプに係るタッチデータ群の２次元座標群の時系列を直線（以下、「近似直線」という。）に近似する。２次元座標群の直線への近似には、例えば、最小二乗法等が用いられてもよいし、他の方法が用いられてもよい。なお、本実施の形態において、スワイプの単位（１回のスワイプ）は、Ｓ１４１において検出された各ピークと、各ピークの前後の最小値に対応するタイミング（時刻）で区切られる。
【００７４】
図１５は、スワイプの単位を説明するための図である。図１５の（１）は、図１４の（２）の元であるタッチデータ群を示す。但し、図１５の（１）では、スワイプの単位が示されている。すなわち、（１）には、各タッチデータが、１番目のスワイプ、２番目のスワイプ、３番目のスワイプのいずれに対応するのかが示されている。
【００７５】
このようなスワイプの単位の区別は、例えば、（２）に示されるように、ピークが検出された座標軸（ここでは、Ｙ座標差分）における値の変化に基づいて行うことができる。
【００７６】
また、図１６は、１番目のスワイプに係る近似直線の例を示す図である。図１６には、１番目のスワイプに対応するタッチデータ群のＸ座標及びＹ座標の値に基づく近似直線Ｌ１が示されている。すなわち、図１６における各プロットは、１番目のスワイプに対応するタッチデータ群のＸ座標及びＹ座標に対応する。
【００７７】
連続データ生成部１５は、更に、２番目以降のスワイプに係る各タッチデータ群の各２次元座標を、近似直線Ｌ１上に（例えば、垂直方向に）射影することで、当該２次元座標の次元を削減する。
【００７８】
図１７は、近似直線上への２次元座標の射影の例を示す図である。図１７には、或る２次元座標Ｐ１が、近似直線Ｌ１上に垂直方向に射影されている例が示されている。斯かる射影により、タッチ履歴ＤＢ１２２に記憶されている各タッチデータの２次元座標は、近似直線Ｌ１上の１次元の座標に変換される。
【００７９】
続いて、連続データ生成部１５は、タッチ連続データＤＢ１２４の全てのレコードを削除した上で、タッチ履歴ＤＢ１２２に記憶されている全てのタッチデータ（但し、２次元座標の次元が削減されたタッチデータ）のそれぞれごとに、当該タッチデータを含み、「操作種別」を「スワイプ」とする各レコードをタッチ連続データＤＢ１２４に記憶する（Ｓ１４３）。
【００８０】
図１８は、スワイプに関するタッチデータ群を記憶したタッチ連続データＤＢ１２４の例を示す図である。図１８の（１）に示されるように、スワイプに関するタッチデータについては、近似直線Ｌ１への射影後の座標の値が便宜上Ｘ座標の値とされ、Ｙ座標の値は０とされる。
【００８１】
なお、（２）には、タッチ連続データＤＢ１２４の各レコード群の時系列のＸ座標（近似直線Ｌ１への射影後の座標）の遷移例が示されている。
【００８２】
続いて、図４のステップＳ１０４の詳細について説明する。図１９は、第１の実施の形態におけるシェイク連続データ生成処理の処理手順の一例を説明するためのフローチャートである。
【００８３】
ステップＳ１５１において、連続データ生成部１５は、加速度履歴ＤＢ１２３が空であるか否かを判定する（Ｓ１５１）。例えば、最初にステップＳ１５１が実行される場合、加速度履歴ＤＢ１２３は空である。加速度履歴ＤＢ１２３が空である場合（Ｓ１５１でＹｅｓ）、連続データ生成部１５は、対象操作データの時刻及び加速度データ部を含む加速度データ（以下、「対象加速度データ」という。）を、加速度履歴ＤＢ１２３に記憶する（Ｓ１５２）。
【００８４】
図２０は、第１の実施の形態における加速度履歴ＤＢ１２３の構成例を示す図である。加速度履歴ＤＢ１２３には、図５に示した操作データのうち、時刻と加速度データ部とを含むレコード（加速度データ）が記憶される。
【００８５】
一方、加速度履歴ＤＢ１２３が空でない場合、すなわち、既に１以上のレコードが加速度履歴ＤＢ１２３に記憶されている場合（Ｓ１５１でＮｏ）、連続データ生成部１５は、端末装置１０が動いたか否か（すなわち、ユーザが、端末装置１０を動かしたか否か）を判定する（Ｓ１５３）。端末装置１０が動いたか否かの判定は、加速度履歴ＤＢ１２３を参照して行われる。例えば、連続データ生成部１５は、加速度履歴ＤＢ１２３に既に記憶されている、現在から所定時間前（例えば、５秒前）までの加速度データ群と、対象加速度データとの集合の加速度の分散が、所定値以上であれば、端末装置１０が動いたと判定し、そうでなければ端末装置１０が動いていないと判定する。ここで、加速度の分散は、加速度が３軸方向であれば、３軸のそれぞれの分散であってもよいし、いずれか１軸の分散であってもよいし、３軸を合成した加速度の分散であってもよい。なお、現在から所定時間前までの加速度データが加速度履歴ＤＢ１２３に記憶されていない場合、連続データ生成部１５は、端末装置１０が動いていないと判定する。
【００８６】
端末装置１０が動いていないと判定される場合（Ｓ１５３でＮｏ）、連続データ生成部１５は、対象加速度データを加速度履歴ＤＢ１２３に追加する（Ｓ１５７）。端末装置１０が動いたと判定される場合（Ｓ１５３でＹｅｓ）、連続データ生成部１５は、端末装置１０に加わっている加速度方向の角度を算出する（Ｓ１５４）。当該角度は、緯度及び経度によって表現される。図２１に、或る時刻の加速度ベクトルの角度の緯度及び経度の例を示す。当該角度（緯度、経度）は、対象加速度データの加速度（ｘ，ｙ，ｚ）から重力加速度を除去した後で、以下のように算出される。
緯度＝ｔａｎ−１ （ｙ／√（ｘ２＋ｚ２））
経度＝ｔａｎ−１（ｚ／ｘ）
なお、ユーザが端末装置１０を手に持ったまま端末装置１０をシェイクすると、重力加速度を除いた加速度ベクトルの時間変化が、楕円を描く（角度が周期的に変化する）ことが想定される。重力加速度に対する端末装置１０の傾斜角が加速度方向の角度とされてもよいが、本実施の形態では、歩行時の端末装置１０のブレのような角度の反復性を除くべく、緯度及び経度によって加速度方向の角度が算出される。
【００８７】
続いて、連続データ生成部１５は、シェイク連続データＤＢ１２５が空であるか否かを判定する（Ｓ１５５）。シェイク連続データＤＢ１２５が空である場合（Ｓ１５５でＹｅｓ）、連続デー生成部１５は、対象加速度データの時刻と、ステップＳ１５４で算出した角度（緯度及び経度）とを含むレコードをシェイク連続データＤＢ１２５に記憶し（Ｓ１５６）、対象加速度データを加速度履歴ＤＢ１２３に追加する（Ｓ１５７）。
【００８８】
図２２は、シェイク連続データＤＢ１２５の構成例を示す図である。図２２に示されるように、シェイク連続データＤＢ１２５の各レコードは、時刻、緯度及び経度を含む。
【００８９】
シェイク連続データＤＢ１２５が空でない場合（Ｓ１５５でＮｏ）、連続データ生成部１５は、端末装置１０の動きが連続しているか否かを判定する（Ｓ１５８）。すなわち、今回の端末装置１０の動きが、前回以前の加速度データに係る動きと連続したものであるか否かが判定される。当該角度が連続しているか否かは、シェイク連続データＤＢ１２５に記憶されている最後のレコードの時刻と、対象加速度データの時刻とを比較することで行われる。当該２つの時刻の時間差が所定時間以下（例えば、０．５秒以下）であれば、端末装置１０の動きが連続していると判定される。
【００９０】
端末装置１０の動きが連続していると判定される場合（Ｓ１５８でＹｅｓ）、連続データ生成部１５は、対象加速度データの時刻と、ステップＳ１５４で算出した角度（緯度及び経度）とを含むレコードをシェイク連続データＤＢ１２５に追加し（Ｓ１５９）、対象加速度データを加速度履歴ＤＢ１２３に追加する（Ｓ１５７）。
【００９１】
一方、端末装置１０の動きが連続していると判定されない場合（Ｓ１５８でＮｏ）、連続データ生成部１５は、シェイク連続データＤＢ１２５に記憶されている全てのレコードを削除した上で、対象加速度データの時刻と、ステップＳ１５４で算出した角度（緯度及び経度）とを含むレコードをシェイク連続データＤＢ１２５に追加し（Ｓ１６０）、対象加速度データを加速度履歴ＤＢ１２３に追加する（Ｓ１５７）。すなわち、シェイク連続データＤＢ１２５には、端末装置１０の一連の動き（連続した動き）における加速度の角度の履歴が記憶される。
【００９２】
続いて、図４のステップＳ１０５の詳細について説明する。図２３は、第１の実施の形態における反復操作検出処理の処理手順の一例を説明するためのフローチャートである。
【００９３】
ステップＳ１７１において、反復操作検出部１６は、反復操作回数ＤＢ１２６をクリアする。すなわち、反復操作回数ＤＢ１２６に値が記憶されている場合、当該値が削除される。
【００９４】
図２４は、第１の実施の形態における反復操作回数ＤＢ１２６の構成例を示す図である。図２４に示されるように、反復操作回数ＤＢ１２６は、ステップＳ１７２以降で得られるタップの反復回数、スワイプの反復回数、及びシェイクの反復回数を記憶可能なように構成されている。ステップＳ１７１では、これら３つの反復回数の値が削除される。又は、これら３つの反復回数が０若しくはＮＵＬＬに初期化されてもよい。
【００９５】
続いて、反復操作検出部１６は、タッチ連続データＤＢ１２４のレコード数が、反復操作の有無を判定するために十分であるが否かを判定する（Ｓ１７２）。例えば、当該レコード数が、所定数（例えば、３個）以上であれば、十分であると判定される。当該レコード数が十分でない場合（Ｓ１７２でＮｏ）、ステップＳ１７５に進む。当該レコー数が十分である場合（Ｓ１７２でＹｅｓ）、反復操作検出部１６は、タッチ連続データＤＢ１２４を参照して、タップ又はスワイプが周期的であるか否かを判定する（Ｓ１７３）。
【００９６】
タッチ連続データＤＢ１２４（図１２）に記憶されている各レコードの「操作種別」の値が「タップ」である場合、タッチ連続データＤＢ１２４のレコード数が十分であることをもって、タップが周期的であると判定される。すなわち、図９のステップＳ１３４において判定されているように、タップについては、タップが連続している場合（すなわち、タップが周期的である場合）に、タッチ連続データＤＢ１２４に対してレコードが記憶されるからである。
【００９７】
一方、タッチ連続データＤＢ１２４（図１２）に記憶されている各レコードの「操作種別」の値が「スワイプ」である場合、反復操作検出部１６は、例えば、各ピーク間隔が所定時間以内（例えば、１秒以内）であれば、スワイプが周期的であると判定する。
【００９８】
タップ又はスワイプが周期的でないと判定される場合（Ｓ１７３でＮｏ）、ステップＳ１７５に進む。タップ又はスワイプが周期的であると判定される場合（Ｓ１７３でＹｅｓ）、反復操作検出部１６は、タップ又はスワイプの反復回数を反復操作回数ＤＢ１２６に記憶し（Ｓ１７４）、ステップＳ１７５に進む。
【００９９】
タップについて、反復操作検出部１６は、タッチ連続データＤＢ１２４のレコード群を、「時刻」の値の間隔が閾値α以上であるレコード間で複数の集合に分割し、当該集合の数を反復回数とする。ここで、閾値αは、図６のステップＳ１２３において、各タップを区別するために用いられた閾値である。
【０１００】
スワイプについて、反復操作検出部１６は、スワイプの周期性を判定するために用いられたピークの数を反復回数とする。
【０１０１】
ステップＳ１７５において、反復操作検出部１６は、シェイク連続データＤＢ１２５のレコード数が、反復操作の有無を判定するために十分であるが否かを判定する。例えば、当該レコード数が、所定数（例えば、３個）以上であれば、十分であると判定される。当該レコード数が十分でない場合（Ｓ１７５でＮｏ）、ステップＳ１７８に進む。当該レコー数が十分である場合（Ｓ１７５でＹｅｓ）、反復操作検出部１６は、シェイク連続データＤＢ１２５（図２２）を参照して、シェイクが周期的であるか否かを判定する（Ｓ１７６）。例えば、反復操作検出部１６は、シェイク連続データＤＢ１２５の緯度の時系列及び経度の時系列のそれぞれについてピーク検出を行う。ピーク検出の方法は、スワイプに関するタッチデータ群に関して説明した方法と同様でよい。反復操作検出部１６は、緯度及び経度の少なくともいずれか一方において閾値以上の数のピークが検出され、各ピーク間隔が所定時間以内（例えば、１秒以内）であれば、シェイクが周期的であると判定する。
【０１０２】
シェイクが周期的でないと判定される場合（Ｓ１７６でＮｏ）、ステップＳ１７８に進む。シェイクが周期的であると判定される場合（Ｓ１７６でＹｅｓ）、反復操作検出部１６は、シェイクの反復回数を反復操作回数ＤＢ１２６に記憶し（Ｓ１７７）、ステップＳ１７８に進む。なお、シェイクについても、スワイプと同様に、ピーク数が反復回数とされる。
【０１０３】
ステップＳ１７８において、反復操作検出部１６は、タップ、スワイプ及びシェイクのうちのいずれかの操作の反復回数として１以上の値が反復操作回数ＤＢ１２６に記憶されているか否かを判定する。いずれかの操作の反復回数として１以上の値が反復回数ＤＢに記憶されている場合（Ｓ１７８でＹｅｓ）、反復操作検出部１６は、反復操作が発生したと判定する（Ｓ１７９）。すなわち、反復操作が検出される。一方、いずれの操作についても「反復回数」として１以上の値が反復回数ＤＢに記憶されていない場合（Ｓ１７８でＮｏ）、反復操作検出部１６は、反復操作は発生していないと判定する（Ｓ１８０）。すなわち、反復操作は検出されない。
【０１０４】
続いて、図４のステップＳ１０７の詳細について説明する。図２５は、第１の実施の形態における意図的操作推定処理の処理手順の一例を説明するためのフローチャートである。なお、図２５の処理手順は、図４において説明したように、反復操作検出部１６によって、反復的な操作が検出された場合に実行される。
【０１０５】
ステップＳ１９１において、意図的操作推定部１７は、反復操作検出部１６によって検出された反復操作の前後において（すなわち、反復操作によって）、端末状態情報が変化したか否かを確認する。
【０１０６】
図２６は、反復操作の前後における端末状態の変化の有無を説明するための図である。例えば、図１２に示したタッチ連続データＤＢ１２４のレコード群に基づいて、反復操作が検出された場合、当該反復操作の開始時（以下、「反復操作開始時刻」という。）は、当該レコード群の最初のレコードの時刻で「８：５９：５５．０００」であり、当該反復操作の終了時（以下、「反復操作終了時刻」という。）は、当該レコード群の最後のレコードの時刻で「８：５９：５８．９９０」である。
【０１０７】
したがって、図２６に示される端末状態ＤＢ１２１において、「時刻」が反復操作開始時刻より前のレコード群の中で「時刻」が最も遅いレコードＲ１が、反復操作の直前（反復操作前）の端末状態情報を示し、「時刻」が反復操作終了時刻より後のレコード群の中で「時刻」が最も早いレコードＲ２が、反復操作の直後（反復操作後）の端末状態情報を示す。また、レコードＲ１とレコードＲ２との間のレコード群が、反復操作中の端末状態情報の履歴を示す。
【０１０８】
ステップＳ１９１では、レコードＲ１とレコードＲ２との間において、端末状態情報を構成する各パラメータ（「画面更新有無」、「カーソルの位置」、「起動中のアプリ名」、「無線ＬＡＮ設定」）のいずれかが異なるか否かが確認される。図２６の例では、「画面更新有無」の値が、レコードＲ１とレコードＲ２との間で異なる。したがって、この場合、反復操作前後で端末状態情報が変化したと判定される。仮に、レコードＲ１とレコードＲ２との間において、端末状態情報を構成する全てのパラメータの値が同じであれば、反復操作前後で端末状態情報は変化していないと判定される。
【０１０９】
なお、反復操作前から反復操作後の期間を通して端末状態情報に変化が有るか否かが確認されてもよい。すなわち、図２６におけるレコードＲ１及びレコードＲ２と、レコードＲ１及びレコードＲ２の間のレコード群とを含むレコードの集合において、端末状態情報を構成する各パラメータが一致するか否かが確認されてもよい。当該レコードの集合について端末状態情報の変更の有無が判定されることで、反復操作中に端末状態が変化した後で元に戻るケース（すなわち、反復操作中に端末状態が変化したにも関わらず、反復操作前と反復操作後とで端末状態情報が一致してしまうケース）についても、端末状態の変化を検出することができる。要するに、本実施の形態では、反復操作によって端末状態が変化したか否かを判定することが目的であるため、当該目的を達成可能な方法であれば、どのような方法が採用されてもよい。以下、便宜上、反復操作前及び反復操作後のみならず、反復操作前から反復操作後の間を含む期間（図２６のレコードＲ１、反復操作中、レコードＲ２に係る期間）についても、「反復操作前後」という。
【０１１０】
反復操作前後において端末状態情報が変化した場合（Ｓ１９２でＹｅｓ）、意図的操作推定部１７は、反復操作回数ＤＢ１２６に１以上の値が記憶されている反復回数（以下、「対象反復回数」といい、当該反復操作に係る操作（タップ、スワイプ又はシェイク）を「対象反復操作」という。）が、操作ログＤＢ１２７に記憶されている対象反復操作に関する反復回数（以下、「過去反復回数」という。）と比較し、対象反復回数が過去反復回数に対して有意に異なるか否かを判定する（Ｓ１９３）。
【０１１１】
図２７は、第１の実施の形態における操作ログＤＢ１２７の構成例を示す図である。図２７に示されるように、操作ログＤＢ１２７には、アプリごとに、当該アプリに関する過去の操作に関して、タップ、スワイプ、シェイクについての１分当たりの反復回数の履歴が記憶されている。アプリ別とされているのは、アプリごとに操作の態様に特徴が有ると考えられるからである。例えば、タップが主な操作であるゲームアプリであれば、タップの反復回数が非常に多くなると考えられる。したがって、本実施の形態では、アプリ別に、各操作の反復回数が区別されて記憶されている。
【０１１２】
ステップＳ１９３では、意図的操作推定部１７が、対象反復回数を１分当たりの反復回数に換算する（換算した結果を以下「対象反復回数換算値」という。）。例えば、対象反復操作が、図１２に示したタッチ連続データＤＢ１２４のレコード群に基づいて検出された場合、反復操作回数ＤＢ１２６（図２４）において「タップの反復回数」として記憶されている対象反復回数は、最初のレコードの「時刻」から末尾のレコードの「時刻」までの経過時間Ｔ（秒）における反復回数である。したがって、この場合、意図的操作推定部１７は、対象反復回数Ｎを以下のように換算した対象反復回数換算値Ｍと、現在起動中のアプリに関して操作ログＤＢ１２７に記憶されている「１分当たりのタップの反復回数」の履歴（分布）との間に有意な違いが有るか否かを判定する。
対象反復回数換算値Ｍ＝対象反復回数Ｎ×６０／経過時間Ｔ
なお、現在起動中のアプリがいずれであるかについては、端末状態ＤＢ１２１を参照して特定可能である。
【０１１３】
例えば、意図的操作推定部１７は、現在起動中のアプリに関して操作ログＤＢ１２７に記憶されている「１分当たりのタップの反復回数」の履歴（分布）が正規分布に従うと仮定して、反復回数Ｍについて有意差検定を実行することにより、対象反復回数が、対象反復操作に係る過去反復回数の履歴（分布）に対して有意に異なるか否かを判定する。
【０１１４】
なお、操作ログＤＢ１２７には、アプリごとではなく、場所ごとに、タップ、スワイプ、シェイクについての１分当たりの反復回数が記憶されてもよい。場所に応じて（例えば、駅での利用時と自宅での利用時とでは）、反復回数が異なる可能性が有ると考えられるからである。場所は、緯度及び経度によって表現されてもよい。この場合、意図的操作推定部１７は、現在位置の緯度及び経度に最も近い緯度及び経度に対応する操作ログＤＢ１２７のレコードを利用すればよい。
【０１１５】
又は、操作ログＤＢ１２７には、アプリごと、かつ、場所ごとに、タップ、スワイプ、シェイクについての１分当たりの反復回数が記憶されてもよい。この場合、意図的操作推定部１７は、現在起動中のアプリに対応し、かつ、現在位置の緯度及び経度に最も近い緯度及び経度に対応する操作ログＤＢ１２７のレコードを利用すればよい。
【０１１６】
対象反復回数が過去反復回数に対して有意な違いを有さない場合（Ｓ１９３でＮｏ）、意図的操作推定部１７は、対象反復操作が意図的な操作であると推定（判定）する（Ｓ１９４）。すなわち、反復操作前後において端末状態情報が変化した場合であっても、起動中のアプリに関して通常の反復回数の範囲内であれば、当該反復操作は意図的な操作であると推定される。
【０１１７】
一方、反復操作前後において端末状態情報が変化していない場合（Ｓ１９２でＮｏ）、又は対象反復回数が過去反復回数に対して有意な違いを有する場合（Ｓ１９３でＹｅｓ）、意図的操作推定部１７は、対象反復操作が意図的な操作でないと推定（判定）する（Ｓ１９５）。なお、端末状態情報が変化していない場合には、多少の変化（例えば、閾値以内の変化）が有る場合が含まれてもよい。
【０１１８】
ステップＳ１９４又はＳ１９５に続いて、意図的操作推定部１７は、操作ログＤＢ１２７（図２７）において、現在起動中のアプリに対応するテーブルに、当該アプリのアプリ名を含み、対象反復回数換算値を対象反復操作の反復回数として含むレコードを追加する（Ｓ１９６）。なお、操作ログＤＢ１２７が、場所ごと、又はアプリ及び場所ごとにタップ、スワイプ、シェイクについての１分当たりの反復回数を記憶するように構成されている場合、現在位置に対応するテーブル、又は現在位置及び現在起動中のアプリに対応するテーブルに対して、対象反復回数換算値が記憶されればよい。
【０１１９】
なお、ステップＳ１９６は、ステップＳ１９４が実行された場合にのみ実行されるようにしてもよい。すなわち、意図的な操作であると推定された場合にのみ、ステップＳ１９５が実行されるようにしてもよい。但し、全てのケースの反復回数が操作ログＤＢ１２７に記憶された方が、反復回数について精度の高い分布を得ることができるため、ステップＳ１９５が実行された場合にも、ステップＳ１９６が実行されるのが望ましい。
【０１２０】
また、上記では、反復回数が、対象反復操作と過去の反復操作との有意差の有無を判定するための特徴量として利用される例について説明したが、反復回数以外の反復操作に関する特徴量（例えば、後述される付随特徴量）が、反復回数の代わりに又は反復回数と共に、過去の反復操作との有意差の有無の判定に利用されてもよい。この場合、反復操作以外の特徴量が操作ログＤＢ１２７に記憶されるようにしてもよい。
【０１２１】
続いて、図４のステップＳ１０８の詳細について説明する。図２８は、第１の実施の形態におけるストレス推定処理の処理手順の一例を説明するためのフローチャートである。
【０１２２】
ステップＳ２０１にいて、ストレス推定部１８は、反復操作検出部１６による検出結果と、意図的操作推定部１７による推定結果とに基づいて、意図的な反復操作が発生したか否かを判定する。すなわち、反復操作検出部１６によって、反復操作が検出され、かつ、意図的操作推定部１７によって、当該反復操作が意図的であると推定された場合に意図的な反復操作が発生したと判定される。それ以外の場合は、意図的な反復操作は発生していないと判定される。
【０１２３】
意図的な反復操作は発生していないと判定される場合（Ｓ２０１でＮｏ）、ストレス推定部１８は、ユーザがストレス状態でないと推定（判定）する（Ｓ２０２）。
【０１２４】
一方、意図的な反復操作が発生したと判定される場合（Ｓ２０１でＹｅｓ）、ストレス推定部１８は、ユーザがストレス状態であると推定（判定）する（Ｓ２０３）。続いて、ストレス推定部１８は、当該ストレス状態の解消策を解消策ＤＢ１２８から取得する（Ｓ２０４）。
【０１２５】
図２９は、第１の実施の形態における解消策ＤＢ１２８の構成例を示す図である。図２９に示されるように、解消策ＤＢ１２８には、アプリ名及び端末状態変化の組み合わせごとに、解消策が記憶されている。すなわち、同一のアプリ（アプリ名）に対して、端末状態に応じて複数の解消策が記憶されている可能性が有る。
【０１２６】
端末状態変化は、反復操作前後における端末状態の変化の有無を示す。図２９における端末状態変化の括弧内の各値（「有」又は「無」）は、左から、「画面更新有無」、「カーソル位置」、「起動中のアプリ名」、「無線ＬＡＮ設定」についての反復操作前後における変化の有無に対応する。したがって、（無、無、無、無）は、これら全てのパラメータについて、反復操作前後において変化が無いことを示す。
【０１２７】
解消策は、ストレス状態の解消策である。例えば、「無線ＬＡＮ設定のＯＮ／ＯＦＦの切り替え」、「画面の自動回転のＯＮ／ＯＦＦの切り替え」、「電池長持ちモードのＯＮ／ＯＦＦの切り替え」、「バックグラウンド処理を停止」等、端末装置１０の負荷を軽減するための自動的な制御が、解消策の一例として挙げられる。
【０１２８】
ステップＳ２０４では、ストレス推定部１８は、現在起動中のアプリのアプリ名と、図２５のステップＳ１９２における反復操作検出部１６による判定結果とに対応する解消策を解消策ＤＢ１２８から取得する。
【０１２９】
続いて、ストレス推定部１８は、取得した解消策に応じた制御を端末装置１０に対して実行する（Ｓ２０５）。その結果、ストレス状態の由来（原因）が除去される可能性を高めることができる。
【０１３０】
なお、解消策は、端末装置１０の制御ではなく、アプリ名及び端末状態変化の組み合わせに関連するＱ＆Ａが掲載されたＵＲＬ（Uniform Resource Locator）や、解消策の問い合わせ先の電話番号等のように、ストレス状態を解消するための操作支援に関する情報であってもよい。この場合、ストレス推定部１８は、当該ＵＲＬ又は当該電話番号を表示装置１１１に表示してもよい。
【０１３１】
又は、ストレス推定部１８は、ステップＳ２０４及びＳ２０５を実行する代わりに、現在の（端末状態ＤＢ１２１に記憶されている最後の）端末状態情報を表示装置１１１に表示してもよい。すなわち、端末状態情報をユーザに通知し、その後の対処をユーザに委ねてもよい。端末装置１０を強制的に制御されることに不快感を抱くユーザの存在も考えられるからである。
【０１３２】
又は、ストレス推定部１８は、ステップＳ２０４及びＳ２０５を実行する代わりに、ストレス状態が検出されたことを示す情報を、現在日時とともに補助記憶装置１０３に記憶してもよい。この場合、ユーザが、自身のストレス状態の履歴を参照可能としてもよい。
【０１３３】
又は、ストレス推定部１８は、ステップＳ２０４及びＳ２０５を実行する代わりに、ストレス状態が検出されたことを示す情報を、予め設定された連絡先（例えば、家族のメールアドレス等）に送信してもよい。そうすることで、離れて暮らす家族によるユーザの見守りを支援することができる。
【０１３４】
上述したように、第１の実施の形態によれば、反復操作の検出と、当該反復操作前後における端末状態の変化の有無とに基づいて、ユーザがストレス状態であるか否かが判定される。したがって、個別の除外ケースを設定することなく、ユーザ操作（反復操作）からユーザがストレス状態であるか否かを判定可能とすることができる。また、ストレス状態の判定の精度の向上を期待することができる。
【０１３５】
また、ストレス状態が検出された場合に、当該ストレス状態を解消するための対処策（解消策）が実行されるため、ユーザのストレスの緩和を期待することができる。
【０１３６】
次に、第２の実施の形態について説明する。第２の実施の形態では第１の実施の形態と異なる点について説明する。第２の実施の形態において、特に言及されない点については、第１の実施の形態と同様でもよい。
【０１３７】
図３０は、第２の実施の形態における端末装置１０の機能構成例を示す図である。図３０中、図２と同一部分には同一符号を付し、その説明は省略する。
【０１３８】
図３０において、端末装置１０は、更に、タッチ付随特徴ＤＢ１３１及びシェイク付随特徴ＤＢ１３２等のデータベースを有する。これら各データベースは、例えば、メモリ１０２又は補助記憶装置１０３等を用いて実現可能である。タッチ付随特徴ＤＢ１３１には、ユーザがストレス状態ない場合におけるタッチに関する特徴量（後述の付随特徴量）の履歴が記憶される。シェイク随特徴ＤＢには、ユーザがストレス状態ない場合におけるシェイクに関する特徴量（後述の付随特徴量）の履歴が記憶される。
【０１３９】
第２の実施の形態では、図２８の処理手順が図３１の処理手順に置き換わる。図３１は、第２の実施の形態におけるストレス推定処理の処理手順の一例を説明するためのフローチャートである。図３１中、図２８と同一ステップには同一ステップ番号を付し、その説明は省略する。
【０１４０】
図３１では、ステップＳ２０４がステップＳ２０４ａに置換されている。また、ステップＳ２０２に続いてステップＳ２１１が実行される。更に、ステップ２０３とステップＳ２０４ａとの間に、ステップＳ２１２〜Ｓ２１４が追加されている。
【０１４１】
ステップＳ２１１において、ストレス推定部１８は、タッチ連続データＤＢ１２４及びシェイク連続データＤＢ１２５の少なくともいずれか一方を参照して、反復操作検出部１６によって検出された反復操作（対象反復操作）の期間中における、対象反復操作の付随的な特徴量（以下、「付随特徴量」という。）の集合を算出し、算出結果をタッチ付随特徴ＤＢ１３１又はシェイク付随特徴ＤＢ１３２に記憶する。
【０１４２】
例えば、対象反復操作が、タップの反復操作であれば、付随特徴量として、反復回数、１回当たりのタップ時間最小値、最大値、平均値及び標準偏差等、反復操作時間（反復操作終了時刻−反復操作開始時刻）、並びに圧力及び面積それぞれの最小値、最大値、平均値及び標準偏差等が挙げられる。反復回数は、反復操作回数ＤＢ１２６から取得可能である。１回当たりのタップ時間は、タッチ連続データＤＢ１２４のレコード群について、反復回数の判定時に分割された集合ごとに、最も遅い時刻−最も早い時刻で算出可能である。圧力及び面積は、タッチ連続データＤＢ１２４から取得可能である。圧力とは、タッチ時においてタッチパネル１０４にかかる圧力である。なお、圧力は、便宜上、図示が省略されているが、タッチ信号に含まれており、その値が、操作データのタッチデータ部に含められ、更にタッチ連続データＤＢ１２４のレコードに引き継がれる。
【０１４３】
また、対象反復操作が、スワイプの反復操作であれば、付随特徴量として、反復回数、１回当たりのスワイプ時間の最小値、最大値、平均値及び標準偏差等、反復操作時間（反復操作終了時刻−反復操作開始時刻）、圧力及び面積それぞれの最小値、最大値、平均値及び標準偏差、スワイプの移動距離及び速度のそれぞれの最小値、最大値、平均値及び標準偏差、１番目の近似直線Ｌ１の傾き（近似直線Ｌ１がｙ＝ａｘ＋ｂである場合のａの値）が挙げられる。反復回数、反復操作時間、圧力及び面積については、タップの場合と同様に取得可能である。１回当たりのスワイプ時間は、スワイプの周期性を判定するために検出されたピークと、タッチ連続データＤＢ１２４において、ピーク間のＸ座標（近似直線Ｌ１上の座標）の最小値と、タッチ連続データＤＢ１２４の最初のレコードと、最後のレコードとを区切りとする各区間（各スワイプ）の時間が採用されればよい。移動距離は、１回あたりのスワイプ及び連続した全スワイプのそれぞれについて求められてもよい。１回あたりのスワイプの移動距離は、タッチ連続データＤＢ１２４において、各スワイプに対応するレコード群の最初のレコードのＸ座標と最後のレコードのＸ座標との差を求めることにより得ることができる。連続した全スワイプの移動距離は、１回あたりのスワイプの移動距離の総和によって得ることができる。速度は、各移動距離を、当該移動距離に係る移動に要した時間で除することで得ることができる。
【０１４４】
また、対象反復操作が、シェイクの反復操作であれば、付随特徴量として、連続した全てのシェイクの緯度及び経度の最小、最大、平均・標準偏差、または、１回当たりのシェイクの緯度及び経度の最小・最大・平均・標準偏差、反復回数、１回当たりのシェイクの時間及び速度、連続した全てのシェイクの時間及び速度等が挙げられる。シェイクの単位は、スワイプの単位と同様に求められる。したがって、シェイク連続データＤＢ１２５において各シェイクに対応するレコードに基づいて、これらの付随特徴量を算出可能である。
【０１４５】
なお、タップ又はスワイプに関する付随特徴量は、タッチ付随特徴ＤＢ１３１に追加的に記憶される。また、シェイクに関する付随特徴量は、シェイク付随特徴ＤＢ１３２に追加的に記憶される。
【０１４６】
一方、ステップＳ２１２において、ストレス推定部１８は、タッチ連続データＤＢ１２４及びシェイク連続データＤＢ１２５の少なくともいずれか一方を参照して、反復操作検出部１６によって検出された反復操作（対象反復操作）の期間中における付随特徴量の集合を算出する（Ｓ２１２）。算出される付随特徴量は、ステップＳ２１１と同様でよい。
【０１４７】
続いて、ストレス推定部１８は、算出した付随特徴量ごとに、当該付随特徴量の履歴（分布）との比較を行う（Ｓ２１３）。当該付随特徴量の履歴（分布）は、タッチ付随特徴ＤＢ１３１又はシェイク付随特徴ＤＢ１３２から取得可能である。
【０１４８】
続いて、ストレス推定部１８は、各付随特徴量と付随特徴量ごとの履歴（分布）との比較に基づいてストレス度合いを求める（Ｓ２１４）。ここで、ストレス度合いとは、ストレスの大きさを示す指標であり、その値が大きい程、ストレスが大きいことを示す。
【０１４９】
具体的には、分布から大小いずれかの方向に大きく外れている付随特徴量の数が、ストレス度合いとされる。例えば、該当する付随特徴量の数が５であれば、ストレス度合いは５である。但し、付随特徴量ごとに重み付けがなされてもよい。また、分布から大きく外れている状態の定義は、適宜定められればよい。
【０１５０】
続いて、ストレス推定部１８は、起動中のアプリのアプリ名と端末状態変化とストレス度合いとに対応する解消策を解消策ＤＢ１２８から取得する（Ｓ２０４ａ）。すなわち、第２の実施の形態において、解消策ＤＢ１２８には、アプリ名、端末状態変化及びストレス度合いの組み合わせに応じて解消策が記憶されている。そうすることで、ストレスの大きさに応じた端末装置１０の制御を可能とすることができる。
【０１５１】
なお、上記各実施の形態では、意図的でない反復操作の検出に基づいて、ユーザがストレス状態であることを推定する例について説明したが、意図的でない反復操作の検出が他の用途に適用されてもよい。
【０１５２】
例えば、意図的でない反復操作の検出に基づいて、ストレス以外の感情が推定されてもよい。例えば、反復操作の付随特徴量、時間帯、端末装置１０のＣＰＵ負荷率、端末装置１０の温度、操作中のアプリ、今後の予定、操作場所、外部環境情報などの複数情報を組み合わせて、例えば、ユーザが、ポジティブな興奮状態であることが推定されてもよい。例えば、これらの情報の組み合わせごとに、ユーザがどのような感情であるのかを示す定義情報が補助記憶装置１０３に記憶され、ストレス推定部１８が、当該定義情報に基づいて、ユーザの感情を推定してもよい。この場合においても、ストレス推定部１８は、推定した感情に応じて、端末装置１０の制御、操作支援、又は情報提供等を行ってもよい。なお、今後の予定については、端末装置１０に記憶されているスケジュール情報が用いられてもよい。また、操作場所については、ＧＰＳ（Global Positioning System）によって取得可能である。また、外部環境情報としては、例えば、音、光、振動、湿度、臭気、外気温等、端末装置１０のセンサによって検知可能な情報が挙げられる。
【０１５３】
また、意図的でない反復操作の検出に基づいて、個人認証が行われてもよい。すなわち、人にはそれぞれ、自身の心を落ち着けるために、無意識な癖（＝意図的でない反復操作）が有ると考えられる。そうすると、無意識な癖により、個人が特定できる可能性が有る。そこで、例えば、ストレス推定部１８は、意図的でない反復操作を検出したら、端末装置１０の現在の使用者が所有者か否かを推定し、所有者でない場合は自動的にロック画面に切り替えるといった制御を行ってもよい。使用者が所有者か否かの推定は、検出した意図的でない反復操作の特徴量（例えば、付随特徴量）と、所有者の意図的でない反復操作の特徴量（例えば、付随特徴量）とを比較することで行うことができる。所有者の意図的な反復操作の特徴量は、補助記憶装置１０３等に記憶されていてもよい。
【０１５４】
なお、上記各実施の形態では、端末装置１０が、状態判定方法を実行するコンピュータ又は状態判定装置の一例である場合について説明したが、端末装置１０とネットワーク等の通信回線を介して接続される情報処理装置が、当該コンピュータ又は状態判定装置とされてもよい。この場合、図２に示される機能構成において、タッチ信号取得部１１、加速度信号取得部１２、及び操作データ送信部１４を端末装置１０が有し、これら以外の各部を当該コンピュータが有してもよい。すなわち、当該各部は、当該コンピュータにインストールされたプログラムが当該コンピュータに実行させる処理により実現されてもよい。
【０１５５】
なお、上記各実施の形態において、反復操作検出部１６は、検出部の一例である。意図的操作推定部１７は、第１の判定部の一例である。ストレス推定部１８は、第２の判定部の一例である。
【０１５６】
以上、本発明の実施の形態について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【０１５７】
以上の説明に関し、更に以下の項を開示する。
（付記１）
端末を操作するユーザによる操作のうち、反復操作を検出する処理と、
前記ユーザによる前記操作に応じて変化する前記端末の状態について、前記反復操作による変化の有無を判定する処理と、
前記反復操作による前記端末の状態の変化の有無に基づいて、前記ユーザが前記端末に対してストレスを感じている状態を判定する処理と、
をコンピュータが実行することを特徴とする状態判定方法。
（付記２）
前記ユーザが前記端末に対してストレスを感じている状態を判定する処理は、前記反復操作による前記端末の状態に変化が有る場合に、前記反復操作の特徴量と、前記反復操作が検出された際に前記端末において利用されていたアプリケーションに関して過去に検出された反復操作の特徴量との比較に基づいて、前記ユーザがストレスを感じている状態であるか否かを判定する、
ことを特徴とする付記１記載の状態判定方法。
（付記３）
前記ユーザがストレスを感じている状態であると判定された場合に、前記反復操作が検出された際における前記端末の状態、又は前記反復操作が検出された際に前記端末において利用されていたアプリケーション、又は前記端末の状態と前記アプリケーションとの組み合わせに応じた制御を前記端末に対して実行する処理、
を前記コンピュータが実行することを特徴とする付記１又は２記載の状態判定方法。
（付記４）
前記制御を前記端末に対して実行する処理は、更に、前記反復操作の特徴に応じた制御を前記端末に対して実行する、
ことを特徴とする付記３記載の状態判定方法。
（付記５）
端末を操作するユーザによる操作のうち、反復操作を検出する処理と、
前記ユーザによる前記操作に応じて変化する前記端末の状態について、前記反復操作による変化の有無を判定する処理と、
前記反復操作による前記端末の状態の変化の有無に基づいて、前記ユーザが前記端末に対してストレスを感じている状態を判定する処理と、
をコンピュータに実行させることを特徴とする状態判定プログラム。
（付記６）
前記ユーザが前記端末に対してストレスを感じている状態を判定する処理は、前記反復操作による前記端末の状態に変化が有る場合に、前記反復操作の特徴量と、前記反復操作が検出された際に前記端末において利用されていたアプリケーションに関して過去に検出された反復操作の特徴量との比較に基づいて、前記ユーザがストレスを感じている状態であるか否かを判定する、
ことを特徴とする付記５記載の状態判定プログラム。
（付記７）
前記ユーザがストレスを感じている状態であると判定された場合に、前記反復操作が検出された際における前記端末の状態、又は前記反復操作が検出された際に前記端末において利用されていたアプリケーション、又は前記端末の状態と前記アプリケーションとの組み合わせに応じた制御を前記端末に対して実行する処理、
を前記コンピュータに実行させることを特徴とする付記５又は６記載の状態判定プログラム。
（付記８）
前記制御を前記端末に対して実行する処理は、更に、前記反復操作の特徴に応じた制御を前記端末に対して実行する、
ことを特徴とする付記７記載の状態判定プログラム。
（付記９）
端末を操作するユーザによる操作のうち、反復操作を検出する検出部と、
前記ユーザによる前記操作に応じて変化する前記端末の状態について、前記反復操作による変化の有無を判定する第１の判定部と、
前記反復操作による前記端末の状態の変化の有無に基づいて、前記ユーザが前記端末に対してストレスを感じている状態を判定する第２の判定部と、
を有することを特徴とする状態判定装置。
（付記１０）
前記第２の判定部は、前記反復操作による前記端末の状態に変化が有る場合に、前記反復操作の特徴量と、前記反復操作が検出された際に前記端末において利用されていたアプリケーションに関して過去に検出された反復操作の特徴量との比較に基づいて、前記ユーザがストレスを感じている状態であるか否かを判定する、
ことを特徴とする付記９記載の状態判定装置。
（付記１１）
前記ユーザがストレスを感じている状態であると判定された場合に、前記反復操作が検出された際における前記端末の状態、又は前記反復操作が検出された際に前記端末において利用されていたアプリケーション、又は前記端末の状態と前記アプリケーションとの組み合わせに応じた制御を前記端末に対して実行する制御部、
を有することを特徴とする付記９又は１０記載の状態判定装置。
（付記１２）
前記制御部は、更に、前記反復操作の特徴に応じた制御を前記端末に対して実行する、
ことを特徴とする付記１１記載の状態判定装置。
【符号の説明】
【０１５８】
１０          端末装置
１１          タッチ信号取得部
１２          加速度信号取得部
１３          端末状態取得部
１４          操作データ送信部
１５          連続データ生成部
１６          反復操作検出部
１７          意図的操作推定部
１８          ストレス推定部
１０１        ＣＰＵ
１０２        メモリ
１０３        補助記憶装置
１０４        タッチパネル
１０５        無線通信装置
１０６        加速度センサ
１１１        表示装置
１１２        入力装置
１２１        端末状態ＤＢ
１２２        タッチ履歴ＤＢ
１２３        加速度履歴ＤＢ
１２４        タッチ連続データＤＢ
１２５        シェイク連続データＤＢ
１２６        反復操作回数ＤＢ
１２７        操作ログＤＢ
１２８        解消策ＤＢ
１３１        タッチ付随特徴ＤＢ
１３２        シェイク付随特徴ＤＢ
【図１】
2019079342.tif 000003
【図２】
2019079342.tif 000004
【図３】
2019079342.tif 000005
【図４】
2019079342.tif 000006
【図５】
2019079342.tif 000007
【図６】
2019079342.tif 000008
【図７】
2019079342.tif 000009
【図８】
2019079342.tif 000010
【図９】
2019079342.tif 000011
【図１０】
2019079342.tif 000012
【図１１】
2019079342.tif 000013
【図１２】
2019079342.tif 000014
【図１３】
2019079342.tif 000015
【図１４】
2019079342.tif 000016
【図１５】
2019079342.tif 000017
【図１６】
2019079342.tif 000018
【図１７】
2019079342.tif 000019
【図１８】
2019079342.tif 000020
【図１９】
2019079342.tif 000021
【図２０】
2019079342.tif 000022
【図２１】
2019079342.tif 000023
【図２２】
2019079342.tif 000024
【図２３】
2019079342.tif 000025
【図２４】
2019079342.tif 000026
【図２５】
2019079342.tif 000027
【図２６】
2019079342.tif 000028
【図２７】
2019079342.tif 000029
【図２８】
2019079342.tif 000030
【図２９】
2019079342.tif 000031
【図３０】
2019079342.tif 000032
【図３１】
2019079342.tif 000033