(57)【特許請求の範囲】
【請求項１】
検出領域における操作体の位置を検出する位置検出部と、
前記操作体の位置情報に基づいて、前記位置検出部により検出されたすべての操作体の移動速度を算出する速度算出部と、
前記速度算出部により算出された操作体の移動速度に基づいて、入力された操作入力を判定する操作入力判定部と、
入力された操作入力に基づいて、所定の処理を実行する実行処理部と、
を備え、
前記操作入力判定部は、
前記位置検出部により検出された操作体を１または複数のグループに区分するグループ化処理部と、
グループに含まれる操作体の移動速度に基づいて、前記各グループの動きを表す動き情報を算出する動き情報算出部と、
前記各グループの動き情報に基づいて、入力された操作入力を判定する判定部と、
を備え、
前記グループ化処理部は、前記速度算出部により算出された操作体の移動速度のうち、移動速度が最大の操作体を基準操作体として、当該基準操作体の移動の向きと他の操作体の移動の向きとの関係に基づいて、操作体を１または複数のグループに区分する、情報処理装置。
【請求項２】
前記グループ化処理部は、前記基準操作体の移動の向きとなす角度が所定範囲内である他の操作体を、前記基準操作体と同一方向を向く操作体としてグループ化する、請求項１に記載の情報処理装置。
【請求項３】
前記グループ化処理部は、前記基準操作体の移動の向きと反対の向きとなす角度が所定範囲内である他の操作体を、前記基準操作体と反対向を向く操作体としてグループ化する、請求項１に記載の情報処理装置。
【請求項４】
前記グループ化処理部は、前記位置検出部により検出された操作体を、各操作体間の距離に応じてグループ化する、請求項１に記載の情報処理装置。
【請求項５】
前記動き情報算出部は、同一グループに含まれる操作体の位置情報より重心位置および平均移動速度を算出し、当該重心位置および当該平均移動速度を当該グループの動き情報とする、請求項１に記載の情報処理装置。
【請求項６】
前記動き情報算出部は、同一グループに含まれる操作体のうち、移動速度が最大の操作体の位置情報および移動速度を当該グループの動き情報とする、請求項１に記載の情報処理装置。
【請求項７】
前記操作入力判定部が、グループ化処理部により区分された前記グループの動き情報より、すべてのグループが同一向きに移動していると判定したとき、
前記実行処理部は、表示装置に表示されている情報をスクロールする処理を実行する、請求項１に記載の情報処理装置。
【請求項８】
前記実行処理部によりスクロール処理が実行された後、当該スクロール処理を実行しているグループに属する操作体のうち少なくとも１つについての位置情報が取得されなくなってから所定時間が経過するまでの間に、当該グループに属する操作体すべての位置情報が取得されなくなったと前記操作入力判定部により判定されたとき、
前記実行処理部は、表示装置に表示されている情報をフリックする処理を実行させる、請求項７に記載の情報処理装置。
【請求項９】
前記操作入力判定部が、グループ化処理部により区分された前記グループの動き情報より、反対向きに移動するグループがあると判定したとき、
前記実行処理部は、前記反対向きに移動するグループの動き情報に応じて、表示装置に表示されている情報のサイズを変更する処理を実行する、請求項１に記載の情報処理装置。
【請求項１０】
前記位置検出部は、接触領域に対する操作体の接触位置を検出する、請求項１に記載の情報処理装置。
【請求項１１】
前記位置検出部は、接触領域に対する操作体の近接位置を検出する、請求項１に記載の情報処理装置。
【請求項１２】
前記位置検出部は、ユーザが意図的に操作入力する際に意図せず操作体を検出する可能性のある位置に設けられる、請求項１に記載の情報処理装置。
【請求項１３】
検出領域における操作体の位置を検出する位置検出部と、
前記操作体の位置情報に基づいて、前記位置検出部により検出されたすべての操作体の移動速度を算出する速度算出部と、
前記速度算出部により算出された操作体の移動速度に基づいて、入力された操作入力を判定する操作入力判定部と、
入力された操作入力に基づいて、所定の処理を実行する実行処理部と、
を備え、
前記操作入力判定部は、
前記位置検出部により検出された操作体を１または複数のグループに区分するグループ化処理部と、
グループに含まれる操作体の移動速度に基づいて、前記各グループの動きを表す動き情報を算出する動き情報算出部と、
前記各グループの動き情報に基づいて、入力された操作入力を判定する判定部と、
を備え、
前記グループ化処理部は、前記位置検出部により検出された操作体のうち、移動速度が所定値より小さい操作体を、グループ化の対象から除外する、情報処理装置。
【請求項１４】
検出領域における操作体の位置を検出するステップと、
前記操作体の位置情報に基づいて、検出されたすべての操作体の移動速度を算出するステップと、
算出された前記操作体の移動速度に基づいて、入力された操作入力を判定するステップと、
入力された操作入力に基づいて、所定の処理を実行するステップと、
を含み、
前記操作入力を判定するステップは、
前記位置を検出するステップにおいて検出された操作体を１または複数のグループに区分するステップと、
グループに含まれる操作体の移動速度に基づいて、前記各グループの動きを表す動き情報を算出するステップと、
前記各グループの動き情報に基づいて、入力された操作入力を判定するステップと、
を有し、
前記グループに区分するステップでは、前記移動速度を算出するステップにおいて算出された操作体の移動速度のうち、移動速度が最大の操作体を基準操作体として、当該基準操作体の移動の向きと他の操作体の移動の向きとの関係に基づいて、操作体が１または複数のグループに区分される、情報処理方法。
【請求項１５】
コンピュータを、
検出領域における操作体の位置を取得する位置取得部、
前記操作体の位置情報に基づいて、前記位置取得部により取得されたすべての操作体の移動速度を算出する速度算出部、
前記速度算出部により算出された操作体の移動速度に基づいて、入力された操作入力を判定する操作入力判定部、
入力された操作入力に基づいて、所定の処理を実行する実行処理部、
として機能させ、
前記操作入力判定部は、
前記位置取得部により取得された操作体を１または複数のグループに区分するグループ化処理部、
グループに含まれる操作体の移動速度に基づいて、前記各グループの動きを表す動き情報を算出する動き情報算出部、
前記各グループの動き情報に基づいて、入力された操作入力を判定する判定部、
として機能し、
前記グループ化処理部は、前記速度算出部により算出された操作体の移動速度のうち、移動速度が最大の操作体を基準操作体として、当該基準操作体の移動の向きと他の操作体の移動の向きとの関係に基づいて、操作体を１または複数のグループに区分する、コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、情報処理装置、情報処理方法およびコンピュータプログラムに関し、より詳細には、操作入力する操作体の位置を検出するセンサを備える情報処理装置、情報処理方法およびコンピュータプログラムに関する。
【背景技術】
【０００２】
スマートフォン等として普及しているＧＵＩ（Ｇｒａｐｈｉｃａｌ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）のコントローラとして、タッチパネル等のような、操作入力する操作体の位置を検出するセンサを用いた入力デバイスがある。近年では、複数の指の接触を同時に検出できる、いわゆるマルチタッチを検出可能なタッチパネルも普及し始めている。
【０００３】
また、デバイスに複数のセンサを備えることによって、操作性の向上を実現することも行われている（例えば、特許文献１、２）。このようなデバイスにおいて、センサの１つをデバイスの表示部と反対側の面（背面）に指の接触を検出するタッチパネルを備えることで、背面側で操作入力を行うことができるようになり、小型のデバイスであっても表示画面を指で隠すことがなくなる。また、複数のセンサを設けることで、従来のタッチパネルでは実現できなかったような直感的なインタラクションや、操作系の拡張を実現することができる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１０−１０８０６１号公報
【特許文献２】特開２００９−１５７９０８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかし、デバイスの背面側に指の接触を検出するセンサを設けた場合、ユーザは操作時にこのセンサを視認することができない。このため、ユーザが意図せず背面に設けられたセンサに触れてしまう場合もある。その結果、デバイスが検出した接触情報に応じて処理を実行してしまい、誤動作が発生してしまう。そこで、このような誤動作を防止することが求められてきた。
【課題を解決するための手段】
【０００６】
本開示によれば、検出領域における操作体の位置を検出する位置検出部と、操作体の位置情報に基づいて、位置検出部により検出されたすべての操作体の移動速度を算出する速度算出部と、速度算出部により算出された操作体の移動速度に基づいて、入力された操作入力を判定する操作入力判定部と、入力された操作入力に基づいて、所定の処理を実行する実行処理部と、を備える、情報処理装置が提供される。
【０００７】
本技術によれば、ユーザの意図する操作入力を判定するために、背面への接触が検出された指の移動速度を算出し、算出された移動速度から同一方向や反対方向等類似の動きを行う指をまとめてグループ化する。そして、各グループの移動速度である動き情報に基づいてユーザの操作入力が判定され、操作入力に応じた処理を実行するためのコマンドが発行される。これにより、ユーザの意図する操作入力を的確に判定することができ、誤操作を防止することができる
【０００８】
また、本開示によれば、検出領域における操作体の位置を検出するステップと、操作体の位置情報に基づいて、検出されたすべての操作体の移動速度を算出するステップと、算出された操作体の移動速度に基づいて、入力された操作入力を判定するステップと、入力された操作入力に基づいて、所定の処理を実行するステップと、を含む、情報処理方法が提供される。
【０００９】
さらに、本開示によれば、コンピュータを、検出領域における操作体の位置を取得する位置取得部と、操作体の位置情報に基づいて、位置取得部により取得されたすべての操作体の移動速度を算出する速度算出部と、速度算出部により算出された操作体の移動速度に基づいて、入力された操作入力を判定する操作入力判定部と、入力された操作入力に基づいて、所定の処理を実行する実行処理部と、を備える、情報処理装置として機能させる、コンピュータプログラムが提供される。
【発明の効果】
【００１０】
以上説明したように本開示によれば、誤動作を防止することの可能な情報処理装置、情報処理方法およびコンピュータプログラムが提供される。
【図面の簡単な説明】
【００１１】
【図１】本開示の第１の実施形態に情報処理端末の表示面側を示す概略斜視図である。
【図２】同実施形態に係る情報処理端末の背面側を示す概略斜視図である。
【図３】同実施形態に係る情報処理端末の一ハードウェア構成例について説明するブロック図である。
【図４】同実施形態に係る情報処理装置の機能構成を示す機能ブロック図である。
【図５】同実施形態に係る操作入力判定部の機能構成を示す機能ブロック図である。
【図６】背面での操作入力の一例を示す説明図である。
【図７】同実施形態に係る情報処理装置による情報処理を示すフローチャートである。
【図８】同一方向に動く指を１つのグループにまとめた状態を示す説明図である。
【図９】反対方向に動く指を２つのグループにまとめた状態を示す説明図である。
【図１０】図７のステップＳ１３０の処理を示すフローチャートである。
【図１１】ローテーション操作が行われている状態を示す説明図である。
【図１２】ピンチアウト操作が行われている状態を示す説明図である。
【図１３】ピンチイン操作が行われている状態を示す説明図である。
【図１４】フリック操作判定処理を示すフローチャートである。
【図１５】指の近さに基づくグループ化を説明する説明図である。
【図１６】本開示の第２の実施形態に係る情報処理端末の一ハードウェア構成例について説明するブロック図である。
【図１７】同実施形態に係る情報処理装置の機能の一部を示す機能ブロック図である。
【図１８】同実施形態に係る実行処理部による優先度に基づく実行処理決定の流れを示すフローチャートである。
【図１９】同実施形態に係る実行処理部による優先度に基づく実行処理決定の流れであって、処理の一時停止をする場合を示すフローチャートである。
【図２０】図１９に示す処理の流れに基づく一処理例を示す説明図である。
【図２１】同実施形態に係る情報処理端末の一構成例を示す概略平面図である。
【図２２】同実施形態に係る実行処理部による優先度に基づく実行処理決定が適用される一画面表示例を示す説明図である。
【発明を実施するための形態】
【００１２】
以下に添付図面を参照しながら、本開示の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
【００１３】
なお、説明は以下の順序で行うものとする。
１．第１の実施形態（操作体の移動速度に基づく操作入力の判定）
１‐１．情報処理端末の構成
１‐２．情報処理装置による処理
１‐３．その他
２．第２の実施形態（優先度に基づく実行処理の決定）
２‐１．情報処理端末の構成
２‐２．情報処理装置による処理
２‐３．その他
【００１４】
＜１．第１の実施形態＞
［１‐１．情報処理端末の構成］
（情報処理端末の外観例）
まず、図１および図２を参照して、本発明の実施形態に係る情報処理端末１００の概略構成について説明する。なお、図１は、本実施形態に係る情報処理端末１００の表示面側を示す概略斜視図である。図２は、本実施形態に係る情報処理端末１００の背面側を示す概略斜視図である。
【００１５】
本実施形態に係る情報処理端末１００には、筺体１１０の一面（表示面）に表示部１２０が設けられ、表示面と反対側の面（背面）に指等の操作体の接触を検出可能なタッチセンサ１３０が設けられている。表示部１２０は、例えば液晶ディスプレイや有機ＥＬディスプレイ等を用いることができる。また、タッチセンサ１３０としては、静電容量式のタッチセンサを用いることができる。なお、本実施形態に係る情報処理端末１００は、後述する第２の実施形態のように表示面側にもタッチセンサ（図示せず。）を設けることもできる。
【００１６】
（ハードウェア構成例）
本実施形態に係る情報処理端末１００は、図３に示すようなハードウェア構成により実現できる。図３は、本実施形態に係る情報処理端末１００の一ハードウェア構成例を示すハードウェア構成図である。
【００１７】
図３に示すように、本実施形態に係る情報処理端末１００は、ＣＰＵ１０１と、不揮発性メモリ１０２と、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１０３と、ディスプレイ１０４と、背面タッチセンサ１０５とを備える。
【００１８】
ＣＰＵ１０１は、演算処理装置および制御装置として機能し、各種プログラムに従って情報処理装置１００内の動作全般を制御する。また、ＣＰＵ１０１は、マイクロプロセッサであってもよい。不揮発性メモリ１０２は、ＣＰＵ１０１が使用するプログラムや演算パラメータ等を記憶する。不揮発性メモリ１０２は、例えばＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）やフラッシュメモリ等を用いることができる。ＲＡＭ１０３は、ＣＰＵ１０１の実行において使用するプログラムや、その実行において適宜変化するパラメータ等を一時記憶する。これらはＣＰＵバスなどから構成されるホストバスにより相互に接続されている。
【００１９】
ディスプレイ１０４は、情報を出力する出力装置の一例である。ディスプレイ１０４として、例えば液晶ディスプレイ（ＬＣＤ）装置、ＯＬＥＤ（Ｏｒｇａｎｉｃ  Ｌｉｇｈｔ  Ｅｍｉｔｔｉｎｇ  Ｄｉｏｄｅ）装置などを用いることができる。
【００２０】
背面タッチセンサ１０５は、ユーザが情報を入力する入力装置の１つであって、情報処理端末１００のディスプレイ１０４の表示面と反対側の面に設けられ、指等の操作体の位置の接触を検出する。背面タッチセンサ１０５としては、例えば、静電気による電気信号を感知することにより操作体の接触を検知する静電式タッチパネルや、背面への圧力の変化を感知して指の接触を検知する感圧式のタッチパネルを用いることができる。背面タッチセンサ１０５は、情報を入力ための入力手段と、ユーザによる入力に基づいて入力信号を生成し、ＣＰＵ１０１に出力する入力制御回路などから構成されている。
【００２１】
なお、本実施形態では、タッチセンサはディスプレイ１０４の表示面と反対側の背面に設けられているが、タッチセンサの設置位置について本技術はかかる例に限定されない。タッチセンサは、ディスプレイ１０４の表示面と積層して設けてもよく、端末の側面に設けてもよい。
【００２２】
（情報処理装置の機能構成）
次に、図４および図５に基づいて、本実施形態に係る情報処理端末１００に設けられる情報処理装置１４０の機能構成について説明する。なお、図４は、本実施形態に係る情報処理装置１４０の機能構成を示す機能ブロック図である。図５は、本実施形態に係る操作入力判定部１４３の機能構成を示す機能ブロック図である。
【００２３】
本実施形態に係る情報処理端末１００には、図１〜図３に示したように、背面に対する操作体の接触を検出する背面タッチセンサ１０５が設けられている。これにより、情報処理端末１００の背面からの操作入力が可能となり、ユーザは、ディスプレイ１０４に表示された情報を視認しながら操作入力できる。このとき、背面タッチセンサ１０５で操作入力する際に、ユーザが意図せず背面タッチセンサ１０５を触ってしまうことがある。意図しない接触は、誤作動の要因ともなってしまう。そこで、本実施形態に係る情報処理端末１００は、ユーザの意図に沿って動かされている操作体を判定し、当該操作体の動きに基づく操作入力を判定する情報処理装置１４０を備えている。
【００２４】
情報処理装置１４０は、図４に示すように、位置検出部１４１と、速度算出部１４２と、操作入力判定部１４３と、実行処理部１４４と、出力部１４５と、設定記憶部１４６とを備える。
【００２５】
位置検出部１４１は、情報処理端末１００への操作体の接触を検出する。図３に示したように、本実施形態に係る情報処理端末１００は背面タッチセンサ１０５を備えている。位置検出部１４１は、背面タッチセンサ１０５からの背面での指の位置情報を取得する。位置検出部１４１は、背面タッチセンサ１０５により所定時間毎に検出される背面に対する指の接触についての検出結果を取得し、背面の検出領域における指の位置を位置情報として速度算出部１４２に出力する。
【００２６】
速度算出部１４２は、位置検出部１４１から入力された位置情報に基づいて、各指の移動速度を算出する。情報処理装置１４０は、位置検出部１４１により所定時間毎に検出された指の位置情報を履歴管理するメモリ（図示せず。）を備えている。速度算出部１４２は、指の位置情報の履歴に基づいて背面に接触している指の移動速度を算出し、操作入力判定部１４３へ出力する。
【００２７】
操作入力判定部１４３は、指の移動速度に基づいて、背面に接触している指の動きを解析して操作入力を判定する。操作入力判定部１４３は、図５に示すように、グループ化処理部１４３ａと、動き情報算出部１４３ｂと、操作入力解析部１４３ｃとを備える。
【００２８】
グループ化処理部１４３ａは、位置検出部１４１により背面に対する接触が検出された指を、所定のグループ分け条件に基づいて１または複数のグループに区分する。本実施形態に係る情報処理端末１００では、端末背面から操作入力するため、ユーザの意図しない指が操作入力時に背面に接触してしまうこともある。そこで、本実施形態に係る情報処理装置１４０は、複数の指が背面に接触しているとき、同一の動きを行っていると考えられる指をグループ化処理部１４３ａによりまとめ、１つのグループを１つの仮想的な指（仮想指）として考える。これにより、ユーザが意図せず背面に接触している指による誤操作を防止することができ、ユーザの意図した操作を可能とする。なお、検出された指をグループ化するグループ化処理についての詳細な説明は後述する。グループ化処理部１４３ａは、検出された各指の属するグループを表すグループ情報を動き情報算出部１４３ｂへ出力する。
【００２９】
動き情報算出部１４３ｂは、グループ化処理部１４３ａから入力されたグループ情報に基づいて、各グループの動きを表す動き情報を算出する。グループの動き情報は、同一グループに含まれる指の移動速度より算出されるグループの移動速度およびグループの位置情報である。動き情報の算出処理についての詳細な説明は後述する。動き情報算出部１４３ｂは、算出した各グループの動き情報を操作入力解析部１４３ｃへ出力する。
【００３０】
操作入力解析部１４３ｃは、動き情報算出部１４３ｂより入力された各グループの動き情報に基づいて、ユーザの操作入力を解析する。操作入力解析部１４３ｃは、あるグループの動きや複数グループ間の動きの関係等に基づいて、ユーザの操作入力を解析する。なお、操作入力解析部１４３ｃによる操作入力解析処理の詳細については後述する。操作入力解析部１４３ｃにより解析された操作入力は、実行処理部１４４へ出力される。
【００３１】
図４の説明に戻り、実行処理部１４４は、操作入力判定部１４３により判定されたユーザの操作入力に応じた処理を実行するためのコマンドを発行する。後述する設定記憶部１４６には、操作入力と発行コマンドとが対応付けられた実行処理情報が記憶されている。実行処理部１４４は、設定記憶部１４６に記憶されている実行処理情報に基づいて、操作入力に対応するコマンドを発行し、当該コマンドに応じた処理が情報処理端末１００で実行される。
【００３２】
出力部１４５は、情報をユーザに提供するために出力する機能部であって、例えば図３のディスプレイ１０４に対応する。実行処理部１４４により発行されたコマンドによりディスプレイ１０４の表示情報が変更される等の処理が行われる。出力部１４５は、ディスプレイ１０４以外にも、例えば音声を出力するスピーカや、操作入力するユーザに伝える振動を発生する振動発生部、点灯・点滅するランプ等であってもよい。
【００３３】
設定記憶部１４６は、操作入力に応じたコマンド発行を行うために必要な情報を記憶する記憶部であって、例えば、図３の不揮発性メモリ１０２やＲＡＭ１０３に対応する。設定記憶部１４６には、例えば、グループ情報や実行処理情報、後述するグループ化処理に必要な速さや角度情報（例えば、ｖｔｈ、θ１、θ２等）、フリック操作の判定処理に必要な時間情報（Ｎ）等が記憶される。
【００３４】
［１‐２．情報処理装置による処理］
本実施形態に係る情報処理端末１００は、上述した情報処理装置１４０を備えることにより、各指の移動速度に基づいてユーザの意図する操作入力を判定し、当該操作入力に応じたコマンドを発行することができる。例えば、図６に示すように、情報処理端末１００の背面にてディスプレイ１０４の表示面に表示された情報をスクロールあるいはドラッグする操作入力を行う際、１本の指で操作入力したつもりであっても、意図せず他の指も背面に接触してしまうこともある。このとき、本実施形態に係る情報処理装置１４０は、同一方向に動いていると判定される指をグループ化し、背面操作など複数の指が同時に接触しやすくなる場合でも誤操作を防止し、ユーザの意図した操作を可能にする。
【００３５】
以下、図７〜図１４に基づいて、本実施形態に係る情報処理装置１４０による情報処理について、詳細に説明する。なお、図７は、本実施形態に係る情報処理装置１４０による情報処理を示すフローチャートである。図８は、同一方向に動く指を１つのグループにまとめた状態を示す説明図である。図９は、反対方向に動く指を２つのグループにまとめた状態を示す説明図である。図１０は、図７のステップＳ１３０の処理を示すフローチャートである。図１１は、ローテーション操作が行われている状態を示す説明図である。図１２は、ピンチアウト操作が行われている状態を示す説明図である。図１３は、ピンチイン操作が行われている状態を示す説明図である。図１４は、フリック操作判定処理を示すフローチャートである。
【００３６】
本実施形態に係る情報処理装置１４０は、図７に示すように、まず所定時間毎に位置検出部１４１により背面に対する指の接触を検出する（Ｓ１１０）。指の接触が検出されると、検出領域における指の位置情報はメモリ（図示せず。）に履歴として記録される。次いで、速度算出部１４２は、メモリに記憶されている位置情報に基づいて、検出された各指の移動速度を算出する（Ｓ１２０）。算出された各指の移動速度は、操作入力判定部１４３へ出力される。
【００３７】
操作入力判定部１４３は、速度算出部１４２から各指の移動速度の入力を受けると、まず、グループ化処理部１４３ａにより検出された指をグループ化する処理を行う（Ｓ１３０）。指をグループ化するグループ分け条件は適宜設定することができるが、本実施形態では、検出された指のうち移動速度が最大の指を基準として、基準とする指の向きと他の指との関係に基づきグループ分けする。
【００３８】
より詳細に説明すると、グループ化処理部１４３ａは、速度算出部１４２により算出された移動速度より得られる各指の関連性に基づき、指をグループ化する。この移動速度より得られる各指の関連性は、例えば図８に示すイメージとして表すことができる。図８では、指の移動速度を速度ベクトルとして表し、各指の速度ベクトルの始点を原点０に合わせて示したものである。図８において、Ｖｘは、図６に示す操作領域の位置を特定するｘｙ座標のうちｘ方向における速さを示し、Ｖｙは、図６に示す操作領域の位置を特定するｘｙ座標のうちｙ方向における速さを示している。
【００３９】
図８には４つの速度ベクトルｖ１、ｖ２、ｖ３、ｖ４が記載されていることから背面では４つの指の接触が検出されていることがわかる。このとき、グループ化処理部１４３ａは、４つの速度ベクトルｖ１、ｖ２、ｖ３、ｖ４のうち移動速度が最大の速度ベクトルｖ１を基準（以下、「基準ベクトル」とする。）として決定する。基準ベクトルを決定すると、グループ化処理部１４３ａは、基準ベクトルに対応する指（基準指）と同一方向に移動しているとみなせる指を特定する。基準指と同一方向に移動しているとみなす指は、基準指の移動方向と同一方向に移動する指としてもよく、基準ベクトルから所定の角度±θ１以内の領域に存在する指としてもよい。後者の場合、図８の領域Ａに存在する速度ベクトルｖ２、ｖ３に対応する指が基準指と同一方向に移動しているとみなされる。このように、基準指およびこれと同一方向に移動しているとみなされた指は、１つのグループにまとめられる。
【００４０】
なお、図８において、速度ベクトルｖ４は領域Ａに入っていないが、その速さは所定速さｖｔｈ以下である。ｖｔｈは指が意図的に移動されているとは考えられない程度の大きさに設定される。すなわち、ｖｔｈは、ユーザに移動させる意図はなかったが、意図せず僅かに動いた指を、グループ化する対象から除外するために設定された値である。この速さｖｔｈ以下の指は、その移動方向によらず移動していない指とみなすことで、操作入力を判定する際に意図せず動いた指を除外することができ、より正確にユーザの意図する操作入力を判定することが可能となる。
【００４１】
グループ化する対象から除外する指には、所定速さ以下の指以外にも、例えば、背面に対する接触面積が所定面積より大きい指や、背面に対する指の接触形状が所定の形状である指等を含めてもよい。接触面積が大きい指や例えば接触形状が細長い場合等は、情報処理端末１００を保持するために、ユーザが意図的に強く指を接触させていると考えられるためである。さらに、情報処理端末１００に背面に対する圧力を検出可能なセンサが設けられている場合には、背面に対して所定圧力より大きい圧力を加えている指をグループ化する対象から除外する指に加えてもよい。かかる指も、情報処理端末１００を保持するために、ユーザが意図的に端末に対して力を加えていると考えられるためである。このような指も除外することで、より正確にユーザの意図する操作入力を判定することが可能となる。
【００４２】
また、基準ベクトルが決定すると、グループ化処理部１４３ａは、基準ベクトルに対応する指（基準指）と反対方向に移動しているとみなせる指を特定する。基準指と反対方向に移動しているとみなす指は、基準指の移動方向と反対方向に移動する指としてもよく、基準ベクトルと反対方向を向く反対ベクトルに対して所定の角度±θ２以内の領域に存在する指としてもよい。なお、角度θ２は、角度θ１と同一であってもよく異なってもよい。後者の場合、図９の領域Ｂに存在する速度ベクトルｖ５、ｖ６に対応する指が基準指と反対方向に移動しているとみなされる。このように、基準指と反対方向に移動しているとみなされた指は、１つのグループにまとめられる。
【００４３】
ステップＳ１３０の具体的な処理をフローチャートで表すと、図１０に示すようになる。ステップＳ１２０にて接触が検出された指の移動速度が算出されると、図１０に示すように、グループ化処理部１４３ａにより、最も移動速度の大きい指が検出される（Ｓ１３１）。当該指が基準指となる。そして、グループ化処理部１４３ａは、すべての指についてグループ分けされたか否かを判定し（Ｓ１３２）、未グループの指がある場合にはステップＳ１３３〜Ｓ１３５の処理によりその指をグループ分けする。例えば、グループ化処理部１４３ａは、指の移動速度より、当該指が移動していないとみなすか否かを判定する（Ｓ１３３）。ステップＳ１３３では、指の速さが所定速さｖｔｈ以下であるか否かが判定される。指の速さが所定速さｖｔｈ以下である場合には、当該指は移動していないとみなす指のグループに区分し（Ｓ１３３ａ）、ステップＳ１３２の処理に戻る。
【００４４】
一方、指の速さが所定速さｖｔｈより大きい場合には、当該指が基準指と同一方向に移動しているか否かが判定される（Ｓ１３４）。ステップＳ１３３では、図８に示したように、指の動きを表す速度ベクトルが基準ベクトルから所定の角度±θ１以内の領域Ａに存在するか否かが判定される。指の移動ベクトルが領域Ａに存在すると判定された場合には、当該指は基準指と同一方向に移動すると判定され、基準指と同一グループに区分される（Ｓ１３４ａ）。その後、ステップＳ１３２の処理に戻り、新たな指についてのグループ分けが行われる。一方、指の移動ベクトルが領域Ａに存在しないと判定された場合には、当該指が基準指と反対方向に移動しているか否かが判定される（Ｓ１３５）。
【００４５】
ステップＳ１３５では、図９に示したように、指の動きを表す速度ベクトルが基準ベクトルと反対方向を向く反対ベクトルから所定の角度±θ２以内の領域Ｂに存在するか否かが判定される。指の移動ベクトルが領域Ｂに存在すると判定された場合には、当該指は基準指と反対方向に移動すると判定され、基準指とは異なるグループに区分される（Ｓ１３５ａ）。その後、ステップＳ１３２の処理に戻り、新たな指についてのグループ分けが行われる。一方、指の移動ベクトルが領域Ｂに存在しないと判定された場合には、当該指は新たなグループに区分され（Ｓ１３５ｂ）、その後、ステップＳ１３２の処理に戻り、新たな指についてのグループ分けが行われる。
【００４６】
ステップＳ１３２にて未グループの指がないと判定された場合には、区分されたグループ数に応じてコマンドが発行される（Ｓ１３６）。ステップＳ１３６の処理は、後述する図７のステップＳ１４０〜Ｓ１６０の処理に対応するので、ここでは詳細な説明を省略する。
【００４７】
このように、グループ化処理部１４３ａは、移動速度が最大の指を基準として、他の指をその移動する向きと基準指の移動する向きとの関係に応じてグループ分けする。これにより、位置検出部１４１により検出された指は、１または複数のグループにまとめられる。
【００４８】
各指をグループにまとめると、動き情報算出部１４３ｂは、各グループの動き情報を算出する（Ｓ１４０）。グループの動き情報は、グループの移動速度であって、グループに属する指の移動速度に基づき算出することができる。例えば、動き情報算出部１４３ｂは、グループに属する指の位置情報より重心座標と算出し、当該グループの位置情報とする。また、動き情報算出部１４３ｂは、グループに属する指の移動速度より平均移動速度を算出し、当該グループの移動速度とする。そして、動き情報算出部１４３ｂは、グループの位置情報およびグループの移動速度を当該グループの動き情報とする。このようにグループの動き情報を算出することで、グループに属する指の平均的な位置および移動速度によって当該グループの動きを表すことができる。
【００４９】
あるいは、グループの動き情報として、例えば、当該グループに属する指のうち、操作入力開始時において移動速度が最大の指の移動速度および位置情報を用いるようにしてもよい。移動速度が大きい指は、ユーザが意図的に移動させていると考えられるので、そのグループの代表として扱うことができる。１本の指の動きを当該指の属するグループの動きとすることで、グループに属する他の指の動きの影響を受けることがなく、安定した動き情報を取得することができる。
【００５０】
グループの動き情報は、当該グループの動きを表したものであって、仮想的な１本の指の動きとみなることができる。このように、複数の指が同じように動いている場合には１つの仮想的な指による操作とみなすことで、意図せず背面に接触した指の動きによって誤った操作入力が判定されるのを防止することができる。動き情報算出部１４３ｂは、ステップＳ１３０により分けられた各グループについて、動き情報を算出する。
【００５１】
さらに、操作入力解析部１４３ｃは、ステップＳ１４０にて算出された各グループの動き情報に基づいて、ユーザの操作入力を解析する（Ｓ１５０）。操作入力解析部１４３ｃは、例えば、動き情報よりグループの向きによって操作入力を特定することができる。例えば、図６に示すように、同一方向に移動する指からなる１つのグループのみが検出されている場合には、ディスプレイ１０４の表示面に表示されている情報をスクロールさせる操作入力が行われていると判定できる。また、例えば、２つのグループが検出されている場合には、そのグループの向きに応じてユーザの操作入力を判定することができる。
【００５２】
例えば、図１１の上図に示すように、情報処理端末１００の背面に両手の指をそれぞれ接触させて、各手を逆方向（図１１ではｙ軸正方向とｙ軸負方向）に移動させたとする。このとき、グループ化処理部１４３ａによって背面に接触している指は、その移動速度に基づいて図１１の下図に示すように２つのグループにまとめられる。すなわち、移動速度が最大の指を基準指として、これと同一方向に移動するグループと、反対方向に移動するグループとにまとめると、図１１の下図に示すｙ軸正方向側に移動する手の指からなるグループと、ｙ軸負方向側に移動する手の指からなるグループとが生成される。
【００５３】
操作入力解析部１４３ｃは、グループの動き情報より、このグループの位置関係と移動する向きとを算出し、設定記憶部１４６に記憶された設定情報に基づいて、ユーザの行った操作入力を解析する。設定記憶部１４６には、グループの動き情報やグループの位置関係と移動する向きとの関係から推定される操作入力が記憶されている。
【００５４】
複数のグループの位置関係は、各グループの動き情報の始点を結んだ直線により表すことができる。本実施形態に係る操作入力解析部１４３ｃは、当該直線の方向に対して各グループがどの向きに移動したかに基づき、操作入力を特定する。例えば、図１１に示す例では、２つのグループは、各グループの動き情報の始点を結んだ直線の方向に対して略直交する方向に移動しており、かつ２つのグループは反対方向に移動している。操作入力解析部１４３ｃは、設定記憶部１４６に記憶された設定情報に基づき、ローテーション操作が行われていると判定することができる。ローテーション操作は、２つの操作体で操作対象を回転させる動作であって、例えば、ディスプレイ１０４に表示された情報を回転させるコマンドを発行させる操作として利用することができる。
【００５５】
また、例えば、図１２の上図に示すように、情報処理端末１００の背面に両手の指をそれぞれ接触させて、各手を逆方向（図１２ではｘ軸正方向とｘ軸負方向）に離すように移動させたとする。この場合も、グループ化処理部１４３ａによって背面に接触している指は、その移動速度に基づいて図１２の下図に示すように２つのグループにまとめられる。操作入力解析部１４３ｃは、図１１と同様に、グループの動き情報より、このグループの位置関係と移動する向きとを算出し、ユーザの行った操作入力を解析する。図１２に示す例では、２つのグループは、各グループの動き情報の始点を結んだ直線の方向に対して略平行な方向に移動しており、かつ２つのグループは反対方向に離れるように移動している。操作入力解析部１４３ｃは、設定記憶部１４６に記憶された設定情報に基づき、ピンチアウト操作が行われていると判定することができる。
【００５６】
さらに、例えば、図１３の上図に示すように、情報処理端末１００の背面に両手の指をそれぞれ接触させて、各手を逆方向（図１３ではｘ軸正方向とｘ軸負方向）に近づけるように移動させたとする。この場合も、グループ化処理部１４３ａによって背面に接触している指は、その移動速度に基づいて図１３の下図に示すように２つのグループにまとめられる。操作入力解析部１４３ｃは、図１１と同様に、グループの動き情報より、このグループの位置関係と移動する向きとを算出し、ユーザの行った操作入力を解析する。図１３に示す例では、２つのグループは、各グループの動き情報の始点を結んだ直線の方向に対して略平行な方向に移動しており、かつ２つのグループは反対方向に近づくように移動している。操作入力解析部１４３ｃは、設定記憶部１４６に記憶された設定情報に基づき、ピンチイン操作が行われていると判定することができる。
【００５７】
このように、ステップＳ１５０では、操作入力解析部１４３ｃによりグループの動き情報より、このグループの位置関係と移動する向きとが算出され、ユーザの行った操作入力が判定される。
【００５８】
その後、実行処理部１４４は、ステップＳ１５０にて判定されたユーザの操作入力に対応する処理を実行させるコマンドを発行する（Ｓ１６０）。実行処理部１４４は、設定記憶部１４６に記憶されている操作入力と発行するコマンドとが関連付けられた実行処理情報に基づき、判定された操作入力に対応するコマンドを発行する。例えば、図６に示すように、同一方向に移動する複数の指からなる１グループの動き情報より操作入力がスクロール操作と判定されたとき、実行処理部１４４は、例えば当該グループの移動方向にディスプレイ１０４の表示情報をスクロールさせるコマンドを発行する。
【００５９】
また、例えば図１１に示すように、操作入力がローテーション操作であると判定されたとき、実行処理部１４４は、ディスプレイ１０４に表示された情報を回転させるコマンドを発行してもよい。あるいは、例えば図１２に示すように、操作入力がピンチアウト操作であると判定されたとき、実行処理部１４４は、ディスプレイ１０４に表示された情報を拡大させるコマンドを発行してもよい。さらに、例えば図１３に示すように、操作入力がピンチイン操作であると判定されたとき、実行処理部１４４は、ディスプレイ１０４に表示された情報を縮小させるコマンドを発行してもよい。
【００６０】
このように、ステップＳ１６０では、処理実行部１４４により、判定された操作入力に応じた処理を実行させるコマンドが発行される。情報処理端末１００は、発行されたコマンドに応じて対応する処理を実行する。
【００６１】
以上、本実施形態に係る情報処理端末１００の情報処理装置１４０による情報処理について説明した。かかる処理では、ユーザの意図する操作入力を判定するために、背面への接触が検出された指の移動速度を算出し、算出された移動速度から同一方向や反対方向等類似の動きを行う指をまとめてグループ化する。そして、各グループの移動速度である動き情報に基づいてユーザの操作入力が判定され、操作入力に応じた処理を実行するためのコマンドが発行される。これにより、ユーザの意図する操作入力を的確に判定することができ、誤操作を防止することができる。
【００６２】
［１‐３．その他］
（フリック操作判定処理）
ここで、図７のステップＳ１５０にて、操作入力解析部１４３ｃによりユーザの操作入力が判定されるが、複数指によるフリック操作を判定するためには、例えば図１４に示す処理のような判定処理が必要となる。ディスプレイ１０４の表示面側でドラッグ操作を行う場合には、ドラッグ操作に使用される１本の指を離した瞬間にフリック操作のコマンドを発行することで、実行されている処理を慣性により継続させる慣性スクロールを実現している。しかし、背面側にて複数の指でフリック操作をした場合、フリック操作のコマンドを発行するタイミングを決定しておく必要がある。
【００６３】
本実施形態では、図１４に示すように、ドラッグに使用されていたすべての指が背面から離されたときにフリック操作のコマンドを発行するようにする。例えば図６に示すように、３本の指によりドラッグ操作が行われているとする。これらの指はグループ化処理部１４３ａによって同一グループに区分されている。このグループの動き情報に基づき、操作入力解析部１４３ｃによりドラッグ操作が行われていると判定されると、実行処理部１４４はドラッグ操作に対応する処理を実行するためのコマンドを発行する。
【００６４】
その後、操作入力解析部１４３ｃは、位置検出部１４１の検出結果に基づき、当該グループに属する指のうち少なくとも１本が背面から離されたか否かを判定する（Ｓ１５１）。操作入力解析部１４３ｃは、背面から指が離れていない間はステップＳ１５１の判定を繰り返す。一方、背面から指が１本でも離れると、操作入力解析部１４３ｃは、過去Ｎ秒前までに当該指とともにドラッグ操作を行っていた他の指が背面に接触しているか否かを判定する（Ｓ１５２）。ステップＳ１５２にて他の指がまだ背面に接触していると判定した場合には、ステップＳ１５１に戻り、処理を繰り返す。したがって、ステップＳ１５２の処理は、指が背面から離れる毎に実行されることになる。
【００６５】
そして、ステップＳ１５２にて過去Ｎ秒前までに背面から離された指とともにドラッグ操作を行っていた他の指が１本も背面に接触していない場合には、フリック操作が行われたと判定し、対応するコマンドが発行される（Ｓ１５３）。このように、本実施形態に係る情報処理装置１４０は、図１４に示す処理に基づき、複数の指でフリック操作を行った場合でもフリック操作が行われたことを判定することができ、対応するコマンドを発行することができる。
【００６６】
（指の近さに応じたグループ分け）
また、上記説明においては、図８および図９に示したように、指の移動速度に基づいてグループ分けを行ったが、本技術はかかる例に限定されない。例えば、背面への接触が検出された指の位置情報より、指の近さに応じてグループ分けしてもよい。具体的には、グループ化処理部１４３ａは、各指の位置情報に基づいてそれぞれの指の距離を算出し、ある１本の指と他の指との距離が所定距離以上離れている場合には他のグループとするようにしてもよい。
【００６７】
例えば図１５に示すように、５本の指が背面に接触している状況においては、親指は、他の４本の指のグループＧＰ１とは異なるグループＧＰ２に区分されることになる。指のグループ分けを指の移動速度に基づき行うか、指の位置情報に基づき行うか、あるいはこれらを組み合わせて行うかについては、判定する操作入力等に応じて適宜設定することができる。
【００６８】
＜２．第２の実施形態＞
次に、図１６〜図２２に基づいて、第２の実施形態に係る情報処理端末２００の構成とその機能について説明する。本実施形態に係る情報処理端末２００は、第１の実施形態と比較して、情報処理端末２００に対する接触を検出するタッチセンサを複数備える点で相違する。複数のタッチセンサを備えている場合においても、第１の実施形態と同様、ユーザが意図せず触ってしまいやすい位置にタッチセンサが設けられている場合には誤操作が起こりやすい。このため、複数のタッチセンサを備える情報処理端末２００においては、各タッチセンサから同時に操作入力が行われた場合には、ユーザが意図的に操作し易いタッチセンサからの操作入力を優先して実行する。
【００６９】
以下、本実施形態に係る情報処理端末２００の構成とその機能について詳細に説明する。なお、図１６は、本実施形態に係る情報処理端末２００の一ハードウェア構成例について説明するブロック図である。図１７は、本実施形態に係る情報処理装置２４０の機能の一部を示す機能ブロック図である。図１８は、本実施形態に係る実行処理部２４４による優先度に基づく実行処理決定の流れを示すフローチャートである。図１９は、本実施形態に係る実行処理部２４４による優先度に基づく実行処理決定の流れであって、処理の一時停止をする場合を示すフローチャートである。図２０は、図１９に示す処理の流れに基づく一処理例を示す説明図である。図２１は、本実施形態に係る情報処理端末の一構成例を示す概略平面図である。図２２は、本実施形態に係る実行処理部２４４による優先度に基づく実行処理決定が適用される一画面表示例を示す説明図である。
【００７０】
なお、以下の説明において、第１の実施形態と同一の構成および機能についての詳細な説明は省略する。
【００７１】
［２‐１．情報処理端末の構成］
【００７２】
（ハードウェア構成例）
本実施形態に係る情報処理端末２００は、例えば図１６に示すように、ＣＰＵ１０１と、不揮発性メモリ１０２と、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１０３と、ディスプレイ１０４と、背面タッチセンサ１０５と、表面タッチセンサ２０６とを備える。すなわち、本実施形態に係る情報処理端末２００は、図３に示す第１の実施形態に係る情報処理端末１００のハードウェア構成と比較して、表面タッチセンサ２０６を備える点でのみ相違する。したがって、ＣＰＵ１０１、不揮発性メモリ１０２、ＲＡＭ１０３、ディスプレイ１０４、および背面タッチセンサ１０５についての説明は省略する。
【００７３】
表面タッチセンサ２０６は、背面タッチセンサ１０５と同様、ユーザが情報を入力する入力装置（入力操作部）の１つであって、情報処理端末２００のディスプレイ１０４の表示面と積層して設けられ、指等の操作体の位置の接触を検出する。表面タッチセンサ２０６は、背面タッチセンサ１０５と反対側の面に設けられている。表面タッチセンサ２０６としては、例えば、静電式タッチパネルや、感圧式のタッチパネルを用いることができる。表面タッチセンサ２０６は、情報を入力ための入力手段と、ユーザによる入力に基づいて入力信号を生成し、ＣＰＵ１０１に出力する入力制御回路などから構成されている。
【００７４】
なお、本実施形態に係る情報処理端末２００は２つのタッチセンサを備えているが、本技術はかかる例に限定されず、３以上のタッチセンサを備えることもできる。また、本実施形態では、タッチセンサはディスプレイ１０４の表示面側と反対側の背面とに設けられているが、タッチセンサの設置位置について本技術はかかる例に限定されず、例えば端末の側面に設けてもよい。
【００７５】
（機能構成）
本実施系形態に係る情報処理端末２００は、２つのタッチセンサ１０５、２０６から同時に操作入力を受けたとき、これらのタッチセンサに対して予め設定された優先度に基づいて操作入力に基づく処理を実行する。かかる処理は、第１の実施形態に係る情報処理装置１４０を用いて実現することができる。
【００７６】
より具体的に説明すると、本実施形態に係る情報処理端末２００は、図４に示す第１の実施形態の情報処理装置１４０と同様に構成された情報処理装置２４０を備えることができる。すなわち、情報処理装置２４０は、図４に示す位置検出部１４１、速度算出部１４２、操作入力判定部１４３、実行処理部１４４、出力部１４５、および設定記憶部１４６に対応する位置検出部２４１、速度算出部２４２、操作入力判定部２４３、実行処理部２４４、出力部２４５、および設定記憶部２４６を備える。なお、本実施形態に係る情報処理装置２４０の機能構成を示す図１７には、実行処理部２４４、出力部２４５、および設定記憶部２４６のみ記載している。
【００７７】
位置検出部２４１は、情報処理端末２００への操作体の接触を検出する。本実施形態に係る情報処理端末２００は、図１６に示すように、背面タッチセンサ１０５および表面タッチセンサ２０６を備えている。したがって、位置検出部２４１は、背面タッチセンサ１０５から背面での指の位置情報を取得する第１の位置検出部と、表面タッチセンサ２０６から表面での指の位置情報を取得する第２の位置検出部とからなる。位置検出部２４１は、各タッチセンサ１０５、２０６により所定時間毎に検出される背面および表面に接触する指の検出結果と取得し、背面の検出領域における指の位置および表面の検出領域における指の位置を位置情報として速度算出部２４２に出力する。
【００７８】
速度算出部２４２は、位置検出部２４１から入力された位置情報に基づいて、各指の移動速度を算出する。速度算出部２４２は、例えば第１の実施形態に係る速度算出部１４２と同様に機能することができる。速度算出部２４２は、指の位置情報の履歴に基づいて背面または表面に接触している指の移動速度を算出し、操作入力判定部２４３へ出力する。
【００７９】
操作入力判定部２４３は、指の移動速度に基づいて、背面に接触している指の動きを解析して操作入力を判定する。操作入力判定部２４３は、例えば第１の実施形態の操作入力判定部１４３と同様に機能することができる。この際、操作入力判定部２４３は、背面での操作入力および表面での操作入力をそれぞれ判定する。操作入力判定部１４３により判定されたこれらの操作入力は、実行処理部２４４へ出力される。
【００８０】
実行処理部２４４は、操作入力判定部２４３により判定されたユーザの操作入力に応じた処理を実行するためのコマンドを発行する。実行処理部２４４は、後述する設定記憶部に記憶されている実行処理情報に基づき、操作入力に対応するコマンドを発行する。また、本実施形態に係る実行処理部２４４は、背面および表面から同時に操作入力を受けたとき、いずれの操作入力に応じた処理を実行させるかを判定する。実行処理部２４４は、設定記憶部２４６に記憶されているタッチセンサの優先度に基づいて当該判定を行う。このように、実行処理部２４４により、優先度の高い操作入力に対応する処理を実行するためのコマンドが発行される。
【００８１】
出力部２４５は、情報をユーザに提供するために出力する機能部であって、例えば図１６のディスプレイ１０４に対応する。出力部２４５は、第１の実施形態と同様、例えばスピーカや、振動発生部、ランプ等であってもよい。
【００８２】
設定記憶部２４６は、操作入力に応じたコマンド発行を行うために必要な情報を記憶する記憶部であって、例えば、図１６の不揮発性メモリ１０２やＲＡＭ１０３に対応する。設定記憶部１４６には、例えば、操作入力と発行するコマンドとが関連付けられた実行処理情報や、複数のタッチセンサ等の操作入力部に対して付与された優先度等が記憶されている。また、情報処理装置２４０が第１の実施形態に係る情報処理装置１４０と同様の処理を行う場合には、設定記憶部２４６には、例えば、グループ情報やグループ化処理に必要な速さや角度情報、フリック操作の判定処理に必要な時間情報等が記憶される。
【００８３】
なお、本実施形態に係る情報処理装置２４０は、第１の実施形態と同様に操作入力を判定しコマンドを発行するものとして説明したが、本技術はかかる例に限定されない。本実施形態に係る情報処理装置２４０は、複数の操作入力を検出することができる装置であればよく、第１の実施形態にて説明したグループ化処理や操作入力判定処理以外の手法を用いて複数の操作入力を検出することができればよい。
［２‐２．情報処理装置による情報処理］
次に、図１８に基づいて、本実施形態に係る情報処理装置２４０による実行処理を決定する流れを説明する。図１８に示すように、まず、位置検出部２４１の検出結果に基づいて、操作入力判定部２４３は、情報処理端末２００に設けられた操作入力部からの操作入力を検出する（Ｓ２１０）。ステップＳ２１０は、例えば第１の実施形態の図７のステップＳ１１０〜Ｓ１５０の処理に基づき行うことができる。
【００８４】
操作入力が検出されると、実行処理部２４４は、複数の操作入力が検出されたか否かを判定する（Ｓ２１２）。ステップＳ２１２の判定は、例えば、位置検出部２４１を構成する複数の位置検出部のうち２以上の位置検出部からの入力があったか否かにより判定することもでき、あるいは、操作入力判定部２４３により判定された操作入力の数に基づき判定することもできる。ステップＳ２１２にて操作入力が１つであると判定した場合には、実行処理部２４４は、当該操作入力に対応する処理を実行するためのコマンドを発行し（Ｓ２１４）、処理を終了する。一方、ステップＳ２１２にて複数の操作入力があると判定した場合には、実行処理部は、設定記憶部２４６に記憶されている、操作入力部に対して付与された優先度をチェックする（Ｓ２１６）。
【００８５】
操作入力部に対して付与される優先度は、例えば、ユーザが意図的に操作入力を行いやすい位置に設けられた操作入力部ほど高く設定することができる。言い換えると、ユーザが意図せず指を接触させてしまう可能性の高い位置に設けられた操作入力部の優先度は低く設定されることになる。具体的には、ディスプレイ１０４の表示面側である表面と、その反対側の背面とでは、ユーザは表面での操作入力の方が背面での操作入力より行いやすく、正確に情報を入力することができる。これより、表面タッチセンサ２０６に対して背面タッチセンサ１０５より高い優先度が付与される。このような優先度を設けることにより、ユーザが意図する操作入力に基づく処理を優先的に実行させることができ、誤操作を防止することができる。
【００８６】
ステップＳ２１６にて各操作入力が行われた操作入力部の優先度をチェックすると、実行処理部２４４は、最も優先度の高い操作入力部にて行われた操作入力に対応処理を実行するコマンドを発行し（Ｓ２１８）、処理を終了する。
【００８７】
以上、本実施形態に係る情報処理装置２４０による優先度に基づく実行処理の決定の流れを説明した。
【００８８】
（既操作入力による実行中の処理の一時停止）
ここで、図１８のステップＳ２１８において最も優先度が高い操作入力に応じたコマンドが発行されるとき、実行処理部２４４は、これ以外の操作入力に応じたコマンドは強制的に取り消して、１つの操作入力に応じたコマンドしか発行しないようにしてもよい。あるいは、最も優先度の高い操作入力が終了するまでの間、他の操作入力が継続して行われている場合には、当該他の操作入力に応じた処理の実行を一時的に停止して、最も優先度の高い操作入力の終了後に実行させるようにしてもよい。かかる処理について、図１９および図２０に基づき説明する。
【００８９】
図１９に示すように、まず、操作入力判定部２４３により、第１の操作入力部からの第１の操作入力のみが検出されていたとする（Ｓ２２０）。第１の操作入力のみが検出されている間は、実行処理部２４４は、第１の操作入力に基づく処理を実行する（Ｓ２２１）。その後、第１の操作入力が継続して行われている間に第２の操作入力部からの第２の操作入力が検出されたとする（Ｓ２２２）。このように、第１の操作入力と第２の操作入力とがと同時に検出されたとき、実行処理部２４４は、第１の操作入力の優先度および第２の操作入力の優先度を設定記憶部２４６より取得し、いずれの優先度が高いかを比較する（Ｓ２２３）。
【００９０】
ステップＳ２２３にて第１の操作入力の優先度より第２の操作入力の優先度の方が高いと判定した場合、実行処理部２４４は、第１の操作入力に対応する処理を一時停止し（Ｓ２２４）、第２の操作入力に対応する処理を実行するコマンドを発行する（Ｓ２２５）。これにより、第１の操作入力に対応する処理は一時的に行われないようになり、優先度の高い第２の操作入力による処理が実行されるようになる。
【００９１】
その後、第２の操作入力が続けて行われているかを所定のタイミングで判定し（Ｓ２２６）、第２の操作入力がある場合にはステップＳ２２４からの処理を繰り返す。一方、Ｓ２２６にて第２の操作入力が終了したと判定した場合には、実行処理部２２４は、第２の操作入力に対応する処理を終了する（Ｓ２２７）。そして、実行処理部２２４は、第１の操作入力が継続して行われていたか否かを判定し（Ｓ２２８）、第１の操作入力が継続して行われていた場合には、第１の操作入力に対応する処理の一時停止を解除する（Ｓ２２９）。一方、ステップＳ２２８にて第１の操作入力が既に終了していた場合には、ステップＳ２２４にて一時停止していた処理を終了し、図１９に示す処理を終了する。
【００９２】
ステップＳ２２３の処理に戻り、第１の操作入力の優先度が第２の操作入力の優先度よりが高いと判定した場合には、第２の操作入力に基づく処理は実行されず、第１の操作入力に対応する処理が継続して実行される（Ｓ２３０）。
【００９３】
図１９に示した処理の一具体例を図２０に示す。図２０は、それぞれコンテンツが関連付けられた複数のオブジェクト２２２からなるオブジェクトリストが情報処理端末２００の表示部２２０に表示されている。オブジェクトリストは、背面からの操作入力に応じてスクロールさせることができる。また、オブジェクトリストを構成する各オブジェクト２２２は、表面からの操作入力に応じて操作することができる。
【００９４】
このとき、図２０の初期状態からオブジェクトリストを所定方向にスクロールさせるため、背面に指を接触させたとする。情報処理装置２４０により背面に指が接触したことが検出されると、次第に所定方向にオブジェクトリストがスクロールし、所定時間が経過すると、一定の速度でオブジェクトリストがスクロールされるようになる（スクロール中）。その後、スクロール中に表面に指が接触したことが検出されると、実行処理部２４４は、設定記憶部２４６を参照し、背面タッチセンサ１０５および表面タッチセンサ２０６の優先度を取得して、いずれの操作入力に基づく処理を実行するかを判定する。
【００９５】
ここで、ユーザが視認して操作し易い位置に設けられた表面タッチセンサ２０６の操作入力の方が背面タッチセンサ１０５からの操作入力よりもユーザが意図的に行ったと考えることができる。これより本例では、表面タッチセンサ２０６の優先度が背面タッチセンサ１０５の優先度より高く設定されている。したがって、実行処理部２４４は、オブジェクトリストのスクロールを一時停止し、表面からの操作入力に応じてオブジェクトリストを構成するオブジェクトを操作可能にする（コンテンツ操作中）。
【００９６】
その後、ユーザが表面から指を離したとき、実行処理部２４４は、背面に指がまだ接触されているか否かを判定し、指が背面に継続して接触されている場合には、一時停止していたオブジェクトリストを再び一定の速度でスクロールさせる。これにより、所定時間の経過を待つことなく、オブジェクトリストを一定の速度でスクロールさせることができ、ユーザの操作負荷を軽減することができる。一方、ユーザが表面から指を離したとき、背面に接触していた指が既に離されている場合には、実行処理部２４４は、例えばオブジェクトリストを初期状態に戻したり、表面から指を離したときの状態のオブジェクトリストを表示させたままの状態としたりしてもよい。
【００９７】
［２‐３．その他］
（操作入力部の構成に応じた優先度の設定）
上記説明において、操作入力が行われる操作入力部は、背面タッチセンサ１０５や表面タッチセンサ２０６としたが、本技術はかかる例に限定されない。例えば、操作入力部は、図２１に示すように、操作対象を上下左右に移動させるための方向キー２１２や所定の処理の実行を指示する入力ボタン２１４、２１６、アナログジョイスティック（図示せず。）等のハードウェア入力部であってもよい。
【００９８】
この場合にも、実行処理部２４４は、ソフトウェアやハードウェアの構成によらず、操作入力部から操作入力が複数検出された場合には、予め設定された優先度に基づいて実行する１つの処理を決定する。例えば、タッチセンサと比較してハードウェア入力部を用いた入力はユーザが意図的に行ったものと考えられることから、ハードウェア入力部の優先度をタッチセンサよりも高く設定するようにしてもよい。
【００９９】
（優先度に基づき実行する１つの処理を決定する場合）
また、上記説明では、複数の操作入力が検出された場合には、予め設定された優先度に基づいて１つの処理のみを実行し、他の処理は強制終了したり一時停止したりしたが、本技術はかかる例に限定されない。例えば、複数の操作入力が検出されたとき、各操作入力に対応する処理を実行すると処理が衝突する場合のみ、優先度に基づいて実行する処理を１つに決定するようにしてもよい。
【０１００】
例えば、情報処理端末２００の表示部２２０に表示させる情報２２４を表示領域内にすべて表示できない場合、図２２に示すように、表示領域に表示される情報２２４を移動できるようにスクロールバーが表示される。この第１の情報２２４は、例えば背面に指を接触させてスクロール操作することにより移動できるとする。一方、第１の情報２２４には、第２の情報２２６が含まれており、第２の情報２２６は第１の情報２２４の所定領域に表示されている。当該所定領域内に第２の情報２２６のすべてを表示させることができないため、ここにも第２の情報２２６を移動できるようにスクロールバーが表示されている。第２の情報２２６は、例えば表面に指を接触させてスクロール操作することにより移動できるとする。
【０１０１】
このような場合において、背面および表面において同時にスクロール操作が行われた場合、本実施形態のように優先度に基づき実行する処理を１つに決定しなければ、第１の情報２２４および第２の情報２２６はともにスクロールされてしまう。そうすると、ユーザが移動を意図しない情報まで動いてしまい、ユーザは意図する情報を確認することができなくなる。このように、複数の操作入力が検出されたとき、各操作入力に対応する処理を実行すると処理が衝突する場合には、本実施形態に係る情報処理装置２４０によって、誤動作の発生を防止することができる。
【０１０２】
これに対して、複数の操作入力が検出された場合であっても各操作入力に対応する処理を実行しても処理が衝突しない場合には、並行してこれらの処理を実行してもよい。
【０１０３】
以上、第２の実施形態に係る情報処理端末２００の構成とその機能について説明した。本実施形態によれば、複数の操作入力が検出されたとき、操作入力が行われた操作入力部に設定された優先度に基づき、優先度の高い１つの処理のみを実行する。これにより、ユーザの意図に沿った処理を実行することができ、誤操作を防止することができる。
【０１０４】
以上、添付図面を参照しながら本開示の好適な実施形態について詳細に説明したが、本開示の技術範囲はかかる例に限定されない。本開示の技術分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本開示の技術的範囲に属するものと了解される。
【０１０５】
例えば、上記実施形態では、検出領域に対する指等の操作体の位置を、タッチセンサを用いて検出領域に対する接触により検出したが、本技術はかかる例に限定されない。例えば、タッチセンサの代わりに近接センサを用いて操作体の位置を取得してもよい。
【０１０６】
なお、以下のような構成も本開示の技術的範囲に属する。
（１）
検出領域における操作体の位置を検出する位置検出部と、
前記操作体の位置情報に基づいて、前記位置検出部により検出されたすべての操作体の移動速度を算出する速度算出部と、
前記速度算出部により算出された操作体の移動速度に基づいて、入力された操作入力を判定する操作入力判定部と、
入力された操作入力に基づいて、所定の処理を実行する実行処理部と、
を備える、情報処理装置。
（２）
前記操作入力判定部は、
前記位置検出部により検出された操作体を１または複数のグループに区分するグループ化処理部と、
グループに含まれる操作体の移動速度に基づいて、前記各グループの動きを表す動き情報を算出する動き情報算出部と、
前記各グループの動き情報に基づいて、入力された操作入力を判定する判定部と、
を備える、前記（１）に記載の情報処理装置。
（３）
前記グループ化処理部は、前記速度算出部により算出された操作体の移動速度のうち、移動速度が最大の操作体を基準操作体として、当該基準操作体の移動の向きと他の操作体の移動の向きとの関係に基づいて、操作体を１または複数のグループに区分する、前記（２）に記載の情報処理装置。
（４）
前記グループ化処理部は、前記基準操作体の移動の向きとなす角度が所定範囲内である他の操作体を、前記基準操作体と同一方向を向く操作体としてグループ化する、前記（３）に記載の情報処理装置。
（５）
前記グループ化処理部は、前記基準操作体の移動の向きと反対の向ときなす角度が所定範囲内である他の操作体を、前記基準操作体と反対向を向く操作体としてグループ化する、前記（３）または（４）に記載の情報処理装置。
（６）
前記グループ化処理部は、前記位置検出部により検出された操作体を、各操作体間の距離に応じてグループ化する、前記（２）から（５）のいずれか１項に記載の情報処理装置。
（７）
前記グループ化処理部は、前記位置検出部により検出された操作体のうち、移動速度が所定値より小さい操作体を、グループ化の対象から除外する、前記（２）から（６）のいずれか１項に記載の情報処理装置。
（８）
前記動き情報算出部は、同一グループに含まれる操作体の位置情報より重心位置および平均移動速度を算出し、当該重心位置および当該平均移動速度を当該グループの動き情報とする、前記（２）から（７）のいずれか１項に記載の情報処理装置。
（９）
前記動き情報算出部は、同一グループに含まれる操作体のうち、移動速度が最大の操作体の位置情報および移動速度を当該グループの動き情報とする、前記（２）から（８）のいずれか１項に記載の情報処理装置。
（１０）
前記操作入力判定部が、グループ化処理部により区分された前記グループの動き情報より、すべてのグループが同一向きに移動していると判定したとき、
前記実行部は、表示装置に表示されている情報をスクロールする処理を実行する、前記（２）から（９）のいずれか１項に記載の情報処理装置。
（１１）
前記実行部によりスクロール処理が実行された後、当該スクロール処理を実行しているグループに属する操作体のうち少なくとも１つについての位置情報が取得されなくなってから所定時間が経過するまでの間に、当該グループに属する操作体すべての位置情報が取得されなくなったと前記操作入力判定部により判定されたとき、
前記実行部は、表示装置に表示されている情報をフリックする処理を実行させる、前記（１０）に記載の情報処理装置。
（１２）
前記操作入力判定部が、グループ化処理部により区分された前記グループの動き情報より、反対向きに移動するグループがあると判定したとき、
前記実行部は、前記反対向きに移動するグループの動き情報に応じて、表示装置に表示されている情報のサイズを変更する処理を実行する、前記（２）から（１１）のいずれか１項に記載の情報処理装置。
（１３）
前記位置検出部は、接触領域に対する操作体の接触位置を検出する、前記（１）から（１２）のいずれか１項に記載の情報処理装置。
（１４）
前記位置検出部は、接触領域に対する操作体の近接位置を検出する、前記（１）から（１２）のいずれか１項に記載の情報処理装置。
（１５）
前記位置検出部は、ユーザが意図的に操作入力する際に意図せず操作体を検出する可能性のある位置に設けられる、前記（１）から（１４）のいずれか１項に記載の情報処理装置。
【符号の説明】
【０１０７】
１００、２００    情報処理端末
１４０、２４０    情報処理装置
１４１、２４１    位置検出部
１４２、２４２    速度算出部
１４３、２４３    操作入力判定部
１４３ａ          グループ化処理部
１４３ｂ          動き情報算出部
１４３ｃ          操作入力解析部
１４４、２４４    実行処理部
１４５、２４５    出力部
１４６、２４６    設定記憶部
【図１】
0005716502.tif 000002
【図２】
0005716502.tif 000003
【図３】
0005716502.tif 000004
【図４】
0005716502.tif 000005
【図５】
0005716502.tif 000006
【図６】
0005716502.tif 000007
【図７】
0005716502.tif 000008
【図８】
0005716502.tif 000009
【図９】
0005716502.tif 000010
【図１０】
0005716502.tif 000011
【図１１】
0005716502.tif 000012
【図１２】
0005716502.tif 000013
【図１３】
0005716502.tif 000014
【図１４】
0005716502.tif 000015
【図１５】
0005716502.tif 000016
【図１６】
0005716502.tif 000017
【図１７】
0005716502.tif 000018
【図１８】
0005716502.tif 000019
【図１９】
0005716502.tif 000020
【図２０】
0005716502.tif 000021
【図２１】
0005716502.tif 000022
【図２２】
0005716502.tif 000023