(57)【要約】【課題】タップやマルチタッチジェスチャ等の操作入力がされた後ユーザが当該操作入力に対するフィードバックを受けるまでに僅かな処理時間が発生するアプリケーションにおいて、操作性を悪化させないため当該遅延を解消する情報処理装置を提供する。【解決手段】本技術の情報処理装置は、第１の状態における操作体の状態に基づいて推定される操作入力に対応する処理をバックグラウンドで実行し、第１の状態における操作体が第２の状態となったとき、バックグラウンドで実行した処理を用いて操作入力に対するフィードバック処理を実行するイベント処理部を備える。【選択図】図３
2012247960.tif 000002
【特許請求の範囲】
【請求項１】
第１の状態における操作体の状態に基づいて推定される操作入力に対応する処理をバックグラウンドで実行し、
前記第１の状態における操作体が第２の状態となったとき、バックグラウンドで実行した処理を用いて前記操作入力に対するフィードバック処理を実行するイベント処理部を備える、情報処理装置。
【請求項２】
操作体の状態を検出する検出部と、
前記検出部の検出結果に基づいて、前記操作体による操作入力を推定する操作推定部と、
前記第１の状態にある操作体の状態変化を判定し、前記操作推定部へ通知する操作状況判定部と、
を備え、
前記操作推定部は、
前記検出部の検出結果より前記操作体が第１の状態にあると判定したとき、前記操作体による操作入力を推定して前記イベント処理部へ通知し、
操作状況判定部により前記検出部の検出結果より前記操作体が第１の状態から第２の状態にあると判定されたとき、操作入力に対するフィードバック処理を実行する指示を前記イベント処理部へ通知する、請求項１に記載の情報処理装置。
【請求項３】
前記操作推定部は、前記第１の状態における操作体の数または操作体の位置のうち少なくともいずれか一方に基づいて、操作入力を推定する、請求項２に記載の情報処理装置。
【請求項４】
前記操作推定部により複数の操作入力が推定されたとき、前記イベント処理部は、実行優先順位に基づいてバックグラウンドで実行する処理を決定する、請求項２に記載の情報処理装置。
【請求項５】
前記実行優先順位は、前記第１の状態における操作体の状況に基づき決定される、請求項４に記載の情報処理装置。
【請求項６】
前記イベント処理部は、前記第１の状態における操作体の状況に基づいて、バックグラウンドで実行する処理対象を決定する、請求項１に記載の情報処理装置。
【請求項７】
前記第１の状態は、前記操作体が検出面に対して近接する状態であり、前記第２の状態は、前記操作体が前記検出面に対して接触する状態である、請求項１に記載の情報処理装置。
【請求項８】
前記第１の状態は、前記操作体が検出面に対して接触する状態であり、前記第２の状態は、前記操作体が前記検出面を所定の圧力以上の力で押圧する状態である、請求項１に記載の情報処理装置。
【請求項９】
第１の状態における操作体の状態に基づいて推定される操作入力に対応する処理をバックグラウンドで実行するステップと、
前記第１の状態における操作体が第２の状態となったとき、バックグラウンドで実行した処理を用いて前記操作入力に対するフィードバック処理を実行するステップと、
を含む、情報処理方法。
【請求項１０】
コンピュータを、
第１の状態における操作体の状態に基づいて推定される操作入力に対応する処理をバックグラウンドで実行し、
前記第１の状態における操作体が第２の状態となったとき、バックグラウンドで実行した処理を用いて前記操作入力に対するフィードバック処理を実行するイベント処理部を備える、情報処理装置として機能させる、コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、操作入力に応じた処理を実行させる情報処理装置、情報処理方法およびコンピュータプログラムに関する。
【背景技術】
【０００２】
タッチパネルは、直感的で使いやすいユーザインタフェース（以下、「ＵＩ」ともいう。）を実現可能であることから、従来から交通機関の発券機や銀行のＡＴＭ等に使用されていた。近年では、タッチパネルはユーザの動作を検出することも可能となり、従来のボタン操作にはない機器の操作を実現することができるようになった。これにより、近年、携帯電話機やゲーム機器などの携帯機器にタッチパネルが多く用いられるようになっている。
【０００３】
また、例えば特許文献１に示すように、検出面に対する指やタッチペン等の操作体の接触を検出できるだけでなく、検出面に対する操作体の近接も検出できるタッチパネルも提案されている。これにより、より多様な操作入力を実現できるようになってきている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００８−１１７３７１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかし、操作入力を行う入力部としてタッチパネルを用いる場合、操作入力が検出されてから当該操作入力に対応する処理の実行するための準備処理を開始する。このため、操作入力を行ってから当該操作入力に対応する処理が行われるまでに、準備処理のための処理時間だけ待たなければならず、ユーザへのＧＵＩフィードバックまでに僅かな遅延が生じる場合がある。
【０００６】
例えば、図１３に示すように、画面１０に表示された例えばｚｉｐファイル等の圧縮ファイルのリスト１１から１つの圧縮ファイルを選択して、展開する処理を行う場合を考える。ユーザがリスト１１から選択した圧縮ファイルの展開の可否を確認する確認画面１２において、展開を開始する展開ボタン１３に指が接触されると、選択された圧縮ファイルを展開する準備処理が開始される。そして、圧縮ファイルが展開されると、展開されたファイルの表示処理が開始され、画面１０にファイルの内容が表示される。この際、圧縮ファイルの展開処理を操作入力が検出されてから行うため、操作入力のフィードバックまでに僅かな遅延が生じる。
【０００７】
このような遅延は、圧縮ファイルの展開以外にも、例えばＳａｍｂａ上のファイル展開、音楽・ビデオの展開、ｐｄｆファイルのページめくり処理、打鍵系ソフトウェアシンセサイザのデコード処理等にも生じている。例えば、打鍵系ソフトウェアシンセサイザのデコード処理においては、操作入力があった瞬間に音声出力フィードバックがあることが重要であり、準備処理による遅延のために操作感を悪化させてしまうこともある。
【０００８】
また、例えば図１４に示すように、将棋ゲーム等のようにコンピュータ対戦ゲームにおいて、コンピュータの操作入力を人工知能（Ａｒｔｉｆｉｃｉａｌ  Ｉｎｔｅｌｌｉｇｅｎｃｅ）を用いて処理する場合を考える。この場合、ユーザの操作入力に対してＡＩ処理を用いてコンピュータの操作入力を決定するのに多くの計算処理が必要であるため、コンピュータが思考中となる時間がある。このため、コンピュータの思考が完了し、すなわちＡＩ処理が完了し、ユーザが次の操作入力が可能となるまでに、僅かな遅延を生じる場合がある。
【０００９】
あるいは、ユーザの操作入力に対するフィードバックがネットワークを介して行われる場合にも処理の遅延が生じ易い。例えば図１５、図１６に示すように、表示装置の画面１０にネットワークを介して接続されたサーバから地図情報を取得する場合を考える。図１５に示すように、２本の指を画面上に載せて指と指の間隔を広げるピンチアウトの動作によって画面１０に表示された地図情報の表示が拡大される場合、ピンチアウトの動作を検出してからサーバから拡大された地図情報を取得する処理が開始される。このため、操作入力を検出してから、拡大された地図情報の読み込み処理を行い、画面１０に画像が表示されるまで、僅かな遅延が生じることがある。
【００１０】
同様に、図１６に示すように、２本の指を画面上に載せて指と指の間隔を狭めるピンチインの動作によって画面１０に表示された地図情報の表示が縮小される場合、ピンチインの動作を検出してからサーバから縮小された地図情報を取得する処理が開始される。このため、操作入力を検出してから、縮小された地図情報の読み込み処理を行い、画面１０に画像が表示されるまで、僅かな遅延が生じることがある。
【００１１】
このように、タップやマルチタッチジェスチャ等の操作入力がされた後ユーザが当該操作入力に対するフィードバックを受けるまでに僅かな処理時間が発生するアプリケーションにおいては、操作性を悪化させないため当該遅延を解消することが望まれている。
【課題を解決するための手段】
【００１２】
本開示によれば、第１の状態における操作体の状態に基づいて推定される操作入力に対応する処理をバックグラウンドで実行し、第１の状態における操作体が第２の状態となったとき、バックグラウンドで実行した処理を用いて操作入力に対するフィードバック処理を実行するイベント処理部を備える、情報処理装置が提供される。
【００１３】
また、本開示によれば、第１の状態における操作体の状態に基づいて推定される操作入力に対応する処理をバックグラウンドで実行するステップと、第１の状態における操作体が第２の状態となったとき、バックグラウンドで実行した処理を用いて操作入力に対するフィードバック処理を実行するステップと、を含む、情報処理方法が提供される。
【００１４】
さらに、本開示によれば、コンピュータを、第１の状態における操作体の状態に基づいて推定される操作入力に対応する処理をバックグラウンドで実行し、第１の状態における操作体が第２の状態となったとき、バックグラウンドで実行した処理を用いて操作入力に対するフィードバック処理を実行するイベント処理部を備える、情報処理装置として機能させる、コンピュータプログラムが提供される。
【００１５】
本開示によれば、第１の状態における操作体の状態から推定された操作入力の処理をバックグラウンドで実行することで、操作体が第２の状態となり、推定された操作入力が実行されたときに遅延なくフィードバック処理を実行することができる。
【発明の効果】
【００１６】
以上説明したように本開示によれば、操作入力を推定し、発生する処理の準備処理をバックグラウンドで実行しておくことで、ＧＵＩフィードバックまでの僅かな遅延を解消することができる。
【図面の簡単な説明】
【００１７】
【図１】本開示の第１の実施形態に係る情報処理装置により実行される処理と操作入力との関係を示す説明図である。
【図２】同実施形態に係る情報処理装置のハードウェア構成の一例を示すハードウェア構成図である。
【図３】同実施形態に係る情報処理装置の機能構成の機能ブロック図である。
【図４】同実施形態に係る情報処理装置による操作入力に対するフィードバックを行うまでの一処理を示すフローチャートである。
【図５】ホバーしている指が１本のときに推定される一処理を説明する説明図である。
【図６】ホバーしている指が２本隣接しているときに推定される一処理を説明する説明図である。
【図７】ホバーしている指が２本乖離しているときに推定される一処理を説明する説明図である。
【図８】ピンチアウトが推定されたときのフィードバックまでの処理内容を説明する説明図である。
【図９】ピンチインが推定されたときのフィードバックまでの処理内容を説明する説明図である。
【図１０】同実施形態における圧縮ファイルの展開処理におけるフィードバックを説明する説明図である。
【図１１】同実施形態におけるＡＩ処理におけるフィードバックを説明する説明図である。
【図１２】本開示の第２の実施形態に係る情報処理装置により実行される処理と操作入力との関係を示す説明図である。
【図１３】圧縮ファイルの展開処理におけるフィードバックの遅延を説明する説明図である。
【図１４】ＡＩ処理におけるフィードバックの遅延を説明する説明図である。
【図１５】ネットワークを介した処理におけるフィードバックの遅延を説明する説明図であって、ピンチアウトの動作が行われた場合を示す。
【図１６】ネットワークを介した処理におけるフィードバックの遅延を説明する説明図であって、ピンチインの動作が行われた場合を示す。
【発明を実施するための形態】
【００１８】
以下に添付図面を参照しながら、本開示の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
【００１９】
なお、説明は以下の順序で行うものとする。
１．第１の実施の形態（検出面に対する操作体の近接および接触を検出）
１．１．情報処理装置による処理の概要
１．２．ハードウェア構成
１．３．機能構成
１．４．操作入力に対するフィードバック処理
２．第２の実施の形態（検出面に対する操作体の接触および押圧を検出）
【００２０】
＜１．第１の実施形態＞
［１．１．情報処理装置による処理の概要］
まず、図１を参照して、本開示の第１の実施形態に係る情報処理装置による処理の概要について説明する。なお、図１は、本実施形態に係る情報処理装置により実行される処理と操作入力との関係を示す説明図である。
【００２１】
本実施形態に係る情報処理装置は、タッチパネル等の表示装置と接続されており、当該表示装置から送信される情報を処理する装置である。かかる情報処理装置は、操作入力を受けてから当該操作入力に対するフィードバックがなされるまでの遅延を解消するため、ユーザの操作入力を推定し、推定された操作入力に対するフィードバックを行うための準備処理をバックグラウンドで実行する。本実施形態では、情報処理装置は、図１に示すように、第１の状態、すなわち検出面２００に対する指やタッチペン等の操作体の近接を検知すると、近接位置にある検出された操作体の状態を取得する。そして、取得された操作体の状態より、ユーザが行おうとしている操作入力を推定し、バックグラウンドで推定された操作入力に対するフィードバックを行うための準備処理を実行する。
【００２２】
その後、第２の状態、すなわち表示装置の表示面に操作体が接触したとき、情報処理装置は、バックグラウンドで実行されていた準備処理の処理結果に基づき、ＧＵＩフィードバックを行う。このように、ユーザの操作入力を推定して予め準備処理をバックグラウンドで実行しておくことで、ＧＵＩフィードバックがなされるまでの時間を短縮することができる。以下、本実施形態に係る情報処理装置の構成とその機能について詳細に説明していく。
【００２３】
［１．２．ハードウェア構成］
まず、図２を参照して、本開示の第１の実施形態に係る情報処理装置１００のハードウェア構成について説明する。なお、図２は、本実施形態に係る情報処理装置１００のハードウェア構成の一例を示すハードウェア構成図である。
【００２４】
本実施形態に係る情報処理装置１００は、図２に示すように、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１０１と、不揮発性メモリ１０２と、表示装置１０３と、ＣＰＵ１０４と、近接検出式タッチパネル１０５とを備える。
【００２５】
ＲＡＭ１０１は、ＣＰＵ１０４の実行において使用するプログラムや、その実行において適宜変化するパラメータ等を一時記憶する。これらはＣＰＵバスなどから構成されるホストバスにより相互に接続されている。不揮発性メモリ１０２は、ＣＰＵ１０４が使用するプログラムや演算パラメータ等を記憶する。不揮発性メモリ１０２は、例えばＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）やフラッシュメモリ等を用いることができる。
【００２６】
表示装置１０３は、情報を出力する出力装置の一例である。表示装置１０３として、例えば液晶ディスプレイ（ＬＣＤ）装置、ＯＬＥＤ（Ｏｒｇａｎｉｃ  Ｌｉｇｈｔ  Ｅｍｉｔｔｉｎｇ  Ｄｉｏｄｅ）装置などを用いることができる。本実施形態において、表示装置１０３は、必ずしも情報処理装置１００に設けられている必要はなく、情報処理装置１００と情報の送受信可能に接続された外部機器として設けてもよい。
【００２７】
ＣＰＵ１０４は、演算処理装置および制御装置として機能し、各種プログラムに従って情報処理装置１００内の動作全般を制御する。また、ＣＰＵ１０１は、マイクロプロセッサであってもよい。近接検出式タッチパネル１０５は、表示装置の表示面と積層して設けられ、例えば静電気による電気信号を感知することにより指等の操作体の近接および接触を検知する。
【００２８】
［１．３．機能構成］
次に、図３に基づいて、本実施形態に係る情報処理装置１００の機能構成について説明する。なお、図３は、本実施形態に係る情報処理装置１００の機能構成を示す機能ブロック図である。図３では、ユーザからの操作入力に対するＧＵＩフィードバックを行うまでの処理を実行するために必要な機能部を記載しており、本実施形態に係る情報処理装置１００はその他の機能部も備えることもできる。
【００２９】
本実施形態に係る情報処理装置１００は、図３に示すように、近接検出部１１０と、操作推定部１２０と、イベント処理部１３０と、操作状況判定部１４０と、出力部１５０と、設定記憶部１６０とを備える。
【００３０】
近接検出部１１０は、検出面に対する操作体の近接および接触を検出する検出部であって、図２の近接検出式タッチパネル１０５に対応する。近接検出部１１０の検出面は、例えば表示装置の表示面やデバイスの筐体表面等に設けることができる。表示装置の表示面に検出面を設けた場合、ユーザに対して表示された情報を操作体によって直接操作しているかのようなＧＵＩを提供することができ、直感的な操作入力ができるようになる。
【００３１】
近接検出部１１０は、検出面２００から所定の距離ｈだけ鉛直上方に離れた近接検出位置２１０より操作体が検出面に近接すると、検出面２００に対するその操作体の位置を検出することができる。また、近接検出部１１０は、検出面２００に操作体が接触したことを検出することもできる。近接状態および接触状態の検出は、近接検出部１１０の検出方法によって異なるが、例えば静電気による電気信号を感知する検出方法であれば電気信号の大きさに基づき近接状態および接触状態を検出することができる。近接検出部１１０の検出結果（例えば静電気による電気信号）は、所定の周期、例えば検出値を取得する度に、操作推定部１２０および操作状況判定部１４０へ出力される。
【００３２】
操作推定部１２０は、近接検出部１１０の検出結果に基づいて操作体が検出面に近接しているか否かを判定する。また、操作推定部１２０は、判定の結果、操作体が検出面に近接していると判定した場合、近接状態にある操作体の状態に基づいてこれから行われると考えられる操作入力を推定する。操作体の状態と操作入力との対応関係は、例えば予め設定記憶部１６０に記憶されており、操作推定部１２０はこの対応関係を用いて操作入力を推定することができる。操作推定部１２０は、推定した操作入力をイベント処理部１３０へ出力する。
【００３３】
また、操作推定部１２０は、後述する操作状況判定部１４０から入力される操作体による操作状況に基づいて、既に推定した操作入力が実行される可能性を判定する。この際、既に推定した操作入力が実行される可能性が低いと判定した場合には、操作推定部１２０は、イベント処理部１３０に対し、実行されているフィードバックのための準備処理をキャンセルする指示を出力する。
【００３４】
イベント処理部１３０は、操作推定部１２０により推定された操作入力に対応するフィードバックを行うために必要な準備処理を、実際に操作入力がされる前からバックグラウンドで実行する。操作入力に対するフィードバックは、例えば予め設定記憶部１６０に記憶されており、イベント処理部１３０は、推定された操作入力から設定記憶部１６０を参照して対応するフィードバックを認識する。そして、当該フィードバックを行うための処理をバックグラウンドで実行する。
【００３５】
また、イベント処理部１３０は、推定された操作入力が実際に実行されたときに、バックグラウンドで実行していた準備処理を用いてフィードバックを行う。これにより、ユーザが操作入力を行ってからフィードバックを行うまでに生じる僅かな遅延を解消することができる。イベント処理部１３０は、操作入力に対するフィードバックを、出力部１５０へ出力する。
【００３６】
操作状況判定部１４０は、近接検出部１１０の検出結果に基づいて、近接検出部１１０により検出された操作体による操作状況を判定し、判定結果を操作推定部１２０へ出力する。操作推定部１２０は、上述したように、操作状況判定部１４０から入力される操作体による操作状況に基づいて、既に推定した操作入力が実行される可能性を判定する。操作状況判定部１４０も、操作推定部１２０と同様に、設定記憶部１６０に記憶された操作体の状態と操作入力との対応関係を用いて操作入力を推定することができる。
【００３７】
操作推定部１２０、イベント処理部１３０、操作状況判定部１４０は、例えば図２のＣＰＵ１０４により実現することができる。
【００３８】
出力部１５０は、イベント処理部１３０からのフィードバックを出力するインタフェースである。出力部１５０は、例えばユーザに対して直接フィードバックを行う表示装置やスピーカ等の音声出力装置であってもよく、外部の表示装置や音声出力装置と情報処理装置１００と接続された情報送受信部であってもよい。
【００３９】
設定記憶部１６０は、ユーザからの操作入力に対するＧＵＩフィードバックを行うまでの処理を実行するために必要な各種情報を記憶する記憶部であり、例えば図２のＲＡＭ１０１や不揮発性メモリ１０２に対応する。設定記憶部１６０に記憶される情報としては、例えば、操作体の状態と操作入力との対応関係や、操作入力とそのフィードバックとの関係等が記憶される。これらの情報は、情報処理装置１００の初期設定として予め記憶されていてもよく、ユーザによって設定してもよい。
【００４０】
［１．４．操作入力に対するフィードバック処理］
本実施形態に係る情報処理装置１００は、上述したように、第１の状態、すなわち表示装置の表示面に対する操作体の近接を検知すると、近接位置にある検出された操作体の状態を取得する。そして、取得された操作体の状態より、ユーザが行おうとしている操作入力を推定し、バックグラウンドで推定された操作入力に対するフィードバックを行うための準備処理を実行する。その後、第２の状態、すなわち表示装置の表示面に操作体が接触したとき、情報処理装置は、バックグラウンドで実行されていた準備処理の処理結果に基づき、ＧＵＩフィードバックを行う。このように、ユーザの操作入力を推定して予め準備処理をバックグラウンドで実行しておくことで、ＧＵＩフィードバックがなされるまでの時間を短縮する。
【００４１】
以下、図４〜図９に基づいて、本実施形態に係る情報処理装置１００による、操作入力に対するフィードバックを行うまでの処理内容を説明する。図４は、本実施形態に係る情報処理装置１００による操作入力に対するフィードバックを行うまでの一処理を示すフローチャートである。図５は、ホバーしている指が１本のときに推定される一処理を説明する説明図である。図６は、ホバーしている指が２本隣接しているときに推定される一処理を説明する説明図である。図７は、ホバーしている指が２本乖離しているときに推定される一処理を説明する説明図である。図８は、ピンチアウトが推定されたときのフィードバックまでの処理内容を説明する説明図である。図９は、ピンチインが推定されたときのフィードバックまでの処理内容を説明する説明図である。
【００４２】
ここでは、一例として、ネットワークを介して接続されたサーバから取得可能な地図情報の表示に関するアプリケーションが実行されている場合について説明する。また、操作体は指であるとする。
【００４３】
まず、情報処理装置１００の操作推定部１２０は、近接検出部１１０の検出結果に基づいて、操作体である指が検出面の上方に存在するかを検出している（Ｓ１００：ホバー検出）。近接検出部１１０は、検出面２００から所定の距離ｈだけ鉛直上方に離れた近接検出位置２１０より指が検出面に近接すると、検出面に対する指の位置を検出することができる。そこで、操作推定部１２０は、近接検出部１１０の検出結果より、指が検出面に接触はしていないが近接検出位置２１０より検出面に近い位置にある、すなわち、ホバーしている指があると判定したとき、ステップＳ１０２の処理を実行する。
【００４４】
ステップＳ１０２において、操作推定部１２０は、近接検出部１１０の検出結果に基づき、ホバーしている指の数とその状態を判定する。近接検出部１１０の結果からは、検出面に対する指の接触の有無、および検出された指の検出面に対する位置を認識することができる。これより、操作推定部１２０は、検出されている指の数および検出されている指の状態を認識することができる。操作判定部１２０は、ホバーしている指およびその数を認識することで、ユーザが行おうとしている操作入力を推定する。
【００４５】
本例において、サーバから取得した地図情報を表示する場合に、ユーザが行う操作入力としては、例えばタップやピンチアウト、ピンチイン等がある。例えば図５に示すように、近接領域（検出面から所定の距離ｈだけ鉛直上方に離れた近接検出位置２１０から検出面までの間の空間領域）内に点Ｐ１の１点のみが検出された場合、ホバーしている指は１本であると推定できる。この場合、１本の指により地図情報をタップする操作を行おうとしていると考えられる。また、例えば図６に示すように、近接領域内に点Ｐ１、Ｐ２の２点が検出され、点Ｐ１、Ｐ２間の距離Ｌが所定の距離Ｌｓより小さい場合、２本の指がホバーしており、これらの指は隣接していると推定できる。この場合、２本の指により地図情報をピンチアウトする操作を行おうとしていると考えられる。
【００４６】
さらに、例えば図７に示すように、近接領域内に点Ｐ１、Ｐ２の２点が検出され、点Ｐ１、Ｐ２間の距離Ｌが所定の距離Ｌｓ以上である場合、２本の指がホバーしており、これらの指は乖離していると推定できる。この場合、２本の指により地図情報をピンチインする操作を行おうとしていると考えられる。このような指の状態と操作入力との対応関係は、予め設定記憶部１６０に記憶されており、操作推定部１２０は、近接検出部１１０の検出結果から設定記憶部１６０を参照して、ユーザが行おうとしている操作入力を推定することができる。なお、所定の距離Ｌｓは、例えば過去にユーザがピンチアウト、ピンチインの操作を行ったときの最初の指間の距離に基づいて設定することができる。
【００４７】
本例では、ステップＳ１０２にてホバーしている指が１本と認識された場合、操作推定部１２０は、ユーザが行おうとしている操作入力（Ｅｖｅｎｔ）はタップであると推定する（Ｓ１０４）。また、ステップＳ１０２にてホバーしている指が２本であり、これらが隣接していると認識された場合、操作推定部１２０は、ユーザが行おうとしている操作入力はピンチアウトであると推定する（Ｓ１０６）。また、ステップＳ１０２にてホバーしている指が２本であり、これらが乖離していると認識された場合、操作推定部１２０は、ユーザが行おうとしている操作入力はピンチインであると推定する（Ｓ１０８）。ステップＳ１０４、Ｓ１０６、あるいはＳ１０８にて推定された操作入力は、操作推定部１２０からイベント処理部１３０へ出力される（Ｓ１１０）。
【００４８】
操作推定部１２０から推定された操作入力の通知を受けたイベント処理部１３０は、オブジェクト側でイベント先読み処理をバックグラウンドで実行する（Ｓ１１２）。ステップＳ１１２において、イベント処理部１３０は、操作入力が実際に行われる前に、推定された操作入力が実施された場合に行うフィードバックの処理を予め実行する。例えば、操作推定部１２０によりタップが行われると推定された場合、イベント処理部１３０は、地図情報表示アプリケーションにおけるタップ操作によるフィードバックの処理の内容を設定記憶部１６０から取得する。例えば、タップ操作により、タップした位置に表示されている地図の住所やエリア情報が表示される場合、イベント処理部１３０は、地図の住所やエリア情報をサーバから取得する処理をバックグラウンドで実行する。
【００４９】
また、例えば、操作推定部１２０によりピンチアウトが行われると推定された場合、イベント処理部１３０は、地図情報表示アプリケーションにおけるピンチアウト操作によるフィードバックの処理の内容を設定記憶部１６０から取得する。例えば、ピンチアウト操作により、指が接触した位置に表示されている部分を拡大表示される場合、イベント処理部１３０は、指が近接している位置を指が接触する位置と推定し、図８に示すように当該位置に表示されている部分を拡大した地図情報をサーバから取得する処理をバックグラウンドで実行する。
【００５０】
あるいは、例えば、操作推定部１２０によりピンチインが行われると推定された場合、イベント処理部１３０は、地図情報表示アプリケーションにおけるピンチイン操作によるフィードバックの処理の内容を設定記憶部１６０から取得する。例えば、ピンチイン操作により、指が接触した位置に表示されている部分を縮小表示される場合、イベント処理部１３０は、指が近接している位置を指が接触する位置と推定し、図９に示すように当該位置に表示されている部分を縮小した地図情報をサーバから取得する処理をバックグラウンドで実行する。
【００５１】
このように、ステップＳ１１２では、推定された操作入力に基づいて、操作入力が行われた場合の処理をバックグラウンドで実行する。一方、操作状況判定部１４０は、近接検出部１１０の検出結果に基づき、現在検出されている指の状態の変化を監視する（Ｓ１１４）。本例では、操作状況判定部１４０は、ホバー状態の指の位置を取得して当該指の移動があるか否か、また、現在検出されている指が異なるオブジェクトに対応する位置にあるか否かを判定する。これにより、現在検出されている指の位置に応じてバックグラウンドで実行される処理が変化するか否かを特定することができる。
【００５２】
ステップＳ１１４にて検出されている指がホバー状態で移動し、かつ異なるオブジェクトに対応する位置に存在すると操作状況判定部１４０により判定されたとする。この場合、操作推定部１２０はイベント処理部１３０に対して現在実行中のバックグラントでの処理をキャンセルする指示を出力する（Ｓ１１６）。イベント処理部１３０は実行中のバックグラントでの処理をキャンセルし、その後、情報処理装置１００はステップＳ１００の処理から再度実行する。
【００５３】
一方、ステップＳ１１４にて検出されている指は、ホバー状態で移動し、かつ異なるオブジェクトに対応する位置に存在する状態ではないと操作状況判定部１４０により判定されたとする。この場合、ステップＳ１１２で開始したバックグラウンドでの処理は継続して実行される。そして、操作状況判定部１４０が近接検出部１１０の検出結果より、ホバーしている指が接触したと判定したとき、操作推定部１２０はイベント処理部１３０に対して推定された操作入力に対するフィードバックの処理を実行するよう指示する。
【００５４】
当該指示を受けたイベント処理部１３０は、まず、バックグラウンドでのイベント先読み処理が完了したか否かを判定し（Ｓ１２０）、完了していない場合にはバックグラウンドでの処理を継続して行う。そして、バックグラウンドでの処理が完了したとき、イベント処理部１３０は、バックグラウンドで行ったイベント先読み処理を用いて、操作入力に対するフィードバックを行う（Ｓ１２２）。このように、バックグラウンドで予め処理を実行しておくことで、実際に操作入力に対するフィードバックを遅延を生じさせることなく行うことができる。
【００５５】
なお、ステップＳ１１８〜Ｓ１２２の処理は、ステップＳ１００にてホバー検出がばいと判定された場合にも同様に行われる。例えば、指がホバーしている状態がなく、検出面に対する接触が検出された場合には、接触時の操作入力が判定され、これに対応するフィードバックをするための処理が実行される。
【００５６】
ステップＳ１１８で接触検出がないとき、あるいはステップＳ１２２にて操作入力に対するフィードバックが行われたとき、操作状況判定部１４０は、ホバーしている指が、近接検出部１１０による検出不可領域（ホバー検出エリア外）へ移動したか否かを判定する（Ｓ１２４）。ステップＳ１２４にてホバーしている指がホバー検出エリア外へ移動していないと判定された場合、情報処理装置１００は、図４に示す処理を終了し、ステップＳ１００から再度処理を実行する。一方、ステップＳ１２４にてホバーしている指がホバー検出エリア外へ移動したと判定された場合、操作推定部１２０はイベント処理部１３０に対して現在実行中のバックグラントでの処理をキャンセルする指示を出力する（Ｓ１１６）。イベント処理部１３０は実行中のバックグラントでの処理をキャンセルし、その後、情報処理装置１００はステップＳ１００の処理から再度実行する。
【００５７】
以上、本開示の第１の実施形態に係る情報処理装置１００とこれによる操作入力に対するフィードバック処理について説明した。本実施形態によれば、近接検出部１１０による検出結果より、近接状態にある指の状態を認識し、操作入力が推定される。そして、推定された操作入力に対応するフィードバックを行うための準備処理をバックグラウンドにて実行する。その後、推定された操作入力が実行されたとき、バックグラウンドで実行した処理を用いてフィードバックを行う。これにより、ユーザが操作入力を行ってから当該操作入力に対応するフィードバックを行うまでに生じていた僅かな遅延を解消することができる。
【００５８】
図４〜図９では、ネットワークを介して接続されたサーバから地図情報を取得する場合の僅かな遅延を解消する方法について説明したが、圧縮ファイルを展開する場合に生じる遅延やＡＩ処理が行われる場合に生じる遅延にも、図４に示した処理によって解消することが可能である。
【００５９】
例えば、図１０に示すように、画面２００に表示された例えばｚｉｐファイル等の圧縮ファイルのリスト２０１から１つの圧縮ファイルを選択して、展開する処理を行う場合を考える。ユーザがリスト２０１から選択した圧縮ファイルの展開の可否を確認する確認画面２０２において、展開を開始する展開ボタン２０３に指が近接していることが検出されると、選択された圧縮ファイルを展開する準備処理がバックグラウンドで開始される。そして、指が実際に展開ボタン２０３に接触すると、情報処理装置１００は、バックグラウンドで展開されたファイルの表示処理が開始され、画面２００にファイルの内容が表示される。
【００６０】
このように、指が展開ボタン２０３に近接したときに圧縮ファイルの展開処理をバックグラウンドで実行しておくことで、展開ボタン２０３に指が接触されてからファイルの内容を画面２００に表示するまでの僅かな遅延を解消することができる。
【００６１】
また、例えば図１１に示すように、将棋ゲーム等のようにコンピュータ対戦ゲームにおいてコンピュータの操作入力をＡＩ処理する場合においては、情報処理装置１００は、検出面に近接する指の位置に対応するオブジェクトを選択したときの処理が実行されると推定する。操作入力が推定されると、イベント処理部１３０は、推定した操作入力を実行したときに行われる処理をバックグラウンドで実行する。
【００６２】
この際、ユーザは、次の操作入力を思考しているとき、思考内容に応じて指をホバー状態のまま移動させることがある。ホバー状態の指が移動することで当該指の位置に対応するオブジェクトが変わると、推定される操作入力も変わる。この場合、操作推定部１２０は既にバックグラウンドで実行されている処理をキャンセルし、新たに推定された操作入力を実行したときに行われる処理をバックグラウンドで実行する。このように、操作状況を監視し、実行される可能性の高い操作入力に対するフィードバックを行うための準備処理をバックグラウンドで実行する。実際に操作入力が行われると、情報処理装置１００は、バックグラウンドで実行した処理を用いてフィードバックを行う。これにより、コンピュータが思考中となる時間を短縮し、ユーザが次の操作入力が可能となるまでに生じる僅かな遅延を解消することができる。
【００６３】
また、本実施形態に係る情報処理装置１００では、近接状態における指の状況（指の本数、近接する位置等）よりバックグラウンドで処理を実行する対象を決定している。このとき、情報処理装置１００は、指の状況、例えばホバーしている指の本数が増加するほど、バックグラウンドで行う処理の対象範囲を広げてもよい。あるいは、ホバーしている指の動いている範囲に応じてバックグラウンドで行う処理の対象範囲を広げることもできる。これにより、バックグラウンドで行う処理を調節することができ、処理の遅延の発生する可能性を低減できる。
【００６４】
例えば図１１に示した例において、ユーザが思考内容に応じて指をホバー状態のまま移動させる範囲に応じてバックグラウンドで行う処理の対象範囲をさせる。指を移動させている範囲に含まれるオブジェクトを操作したときに実行される処理についてそれぞれ準備処理をバックグラウンドで実行させることで、実行の可能性のある複数の操作入力のうちいずれの操作入力があっても遅延なくフィードバックできる。
【００６５】
さらに、情報処理装置１００は、指の状況に応じて、最も検出面に指が近接している位置に指が接触したときに実行される処理を優先的にバックグラウンド処理してもよい。例えば、図１１に示す例において、複数の指の近接が検出されたとする。この場合、各指の位置に基づいて推定される操作入力に対する準備処理をすべて行うと情報処理装置１００の負荷が大きくなる場合がある。そこで、複数の指の近接が検出された場合には、最も検出面に近接している指の位置に指が接触したときに実行される処理を最も実行される可能性が高い処理と判断し、優先的にバックグラウンドで実行する。これにより、情報処理装置１００の負荷を軽減することができる。
【００６６】
また、本実施形態に係る情報処理装置１００では、操作推定部１２０により近接検出部１１０の検出結果に基づきユーザが行おうとしている操作入力が複数推定されることも考えられる。このような場合、操作推定部１２０は、推定された操作入力のうち実行優先順位が最も高い操作入力をイベント処理部１３０へ通知するようにしてもよい。実行優先順位は、最も実行される可能性の高い操作入力を特定するために設定される。実行優先順位は、例えば検出面に近接している指の本数や、複数の指が検出されている場合にはその位置関係に基づいて設定することもできる。あるいは、優先的に実行したい処理内容から実行優先順位を予め設定してもよい。このように、実行優先順位を設定することで、推定される操作入力を一意に決定することができる。
【００６７】
なお、最も検出面に近接している指の位置ではなく、近接が検出された複数の指の中心位置を、指が接触される可能性が高い位置としてもよい。
【００６８】
＜２．第２の実施形態＞
次に、図１２を参照して、本開示の第２の実施形態に係る情報処理装置による処理の概要について説明する。なお、図１２は、本実施形態に係る情報処理装置により実行される処理と操作入力との関係を示す説明図である。
【００６９】
本実施形態に係る情報処理装置は、第１の実施形態と同様、タッチパネル等の表示装置と接続されており、当該表示装置から送信される情報を処理する装置である。かかる情報処理装置は、操作入力を受けてから当該操作入力に対するフィードバックがなされるまでの遅延を解消するため、ユーザの操作入力を推定し、推定された操作入力に対するフィードバックを行うための準備処理をバックグラウンドで実行する。
【００７０】
本実施形態の情報処理装置は、図１２に示すように、第１の状態、すなわち検出面２００に対する指やタッチペン等の操作体の接触を検知すると、接触位置にある検出された操作体の状態を取得する。そして、取得された操作体の状態より、ユーザが行おうとしている操作入力を推定し、バックグラウンドで推定された操作入力に対するフィードバックを行うための準備処理を実行する。
【００７１】
その後、第２の状態、すなわち表示装置の表示面に対して操作体が所定の圧力Ｐｔｈ以上の圧力を加えたとき、情報処理装置は、バックグラウンドで実行されていた準備処理の処理結果に基づき、ＧＵＩフィードバックを行う。このように、ユーザの操作入力を推定して予め準備処理をバックグラウンドで実行しておくことで、ＧＵＩフィードバックがなされるまでの時間を短縮することができる。
【００７２】
本実施形態に係る情報処理装置は、第１の実施形態の情報処理装置１００と同様に構成することができる。ただし、本実施形態に係る情報処理装置は、図２の静電式タッチパネル１０５の代わりに表示面への圧力の変化を感知して指の接触を検知する感圧式のタッチパネルを用いる。これにより、バックグラウンド処理を実行するためのトリガーとなる第１の状態と、実際にフィードバックを開始するためのトリガーとなる第２の状態とを区別することができる。その他の構成および機能については第１の実施形態と同様である。
【００７３】
以上、添付図面を参照しながら本開示の好適な実施形態について詳細に説明したが、本開示の技術的範囲はかかる例に限定されない。本開示の技術分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本開示の技術的範囲に属するものと了解される。
【００７４】
例えば、上記実施形態では、圧縮ファイルの展開やＡＩ処理、ネットワークを介した情報取得等の場合に対して情報処理装置を適用したが、本技術はかかる例に限定されない。例えば、音楽再生リストにおける曲の取得処理や動画取得処理を行う場合にも上記実施形態に係る情報処理装置を適用することで、同様に、僅かな処理遅延を解消することができる。
【００７５】
なお、以下のような構成も本開示の技術的範囲に属する。
（１）
第１の状態における操作体の状態に基づいて推定される操作入力に対応する処理をバックグラウンドで実行し、
前記第１の状態における操作体が第２の状態となったとき、バックグラウンドで実行した処理を用いて前記操作入力に対するフィードバック処理を実行するイベント処理部を備える、情報処理装置。
（２）
操作体の状態を検出する検出部と、
前記検出部の検出結果に基づいて、前記操作体による操作入力を推定する操作推定部と、
前記第１の状態にある操作体の状態変化を判定し、前記操作推定部へ通知する操作状況判定部と、
を備え、
前記操作推定部は、
前記検出部の検出結果より前記操作体が第１の状態にあると判定したとき、前記操作体による操作入力を推定して前記イベント処理部へ通知し、
操作状況判定部により前記検出部の検出結果より前記操作体が第１の状態から第２の状態にあると判定されたとき、操作入力に対するフィードバック処理を実行する指示を前記イベント処理部へ通知する、前記（１）に記載の情報処理装置。
（３）
前記操作推定部は、前記第１の状態における操作体の数または操作体の位置のうち少なくともいずれか一方に基づいて、操作入力を推定する、前記（２）に記載の情報処理装置。
（４）
前記操作推定部により複数の操作入力が推定されたとき、前記イベント処理部は、実行優先順位に基づいてバックグラウンドで実行する処理を決定する、前記（２）または（３）に記載の情報処理装置。
（５）
前記実行優先順位は、前記第１の状態における操作体の状況に基づき決定される、前記（４）に記載の情報処理装置。
（６）
前記イベント処理部は、前記第１の状態における操作体の状況に基づいて、バックグラウンドで実行する処理対象を決定する、前記（１）〜（５）のいずれか１項に記載の情報処理装置。
（７）
前記第１の状態は、前記操作体が検出面に対して近接する状態であり、前記第２の状態は、前記操作体が前記検出面に対して接触する状態である、前記（１）〜（６）のいずれか１項に記載の情報処理装置。
（８）
前記第１の状態は、前記操作体が検出面に対して接触する状態であり、前記第２の状態は、前記操作体が前記検出面を所定の圧力以上の力で押圧する状態である、前記（１）〜（６）のいずれか１項に記載の情報処理装置。
【符号の説明】
【００７６】
１００    情報処理装置
１１０    近接検出部
１２０    操作推定部
１３０    イベント処理部
１４０    操作状況判定部
１５０    出力部
１６０    設定記憶部
２００    検出面
２１０    近接検出位置
【図１】
2012247960.tif 000003
【図２】
2012247960.tif 000004
【図３】
2012247960.tif 000005
【図４】
2012247960.tif 000006
【図５】
2012247960.tif 000007
【図６】
2012247960.tif 000008
【図７】
2012247960.tif 000009
【図８】
2012247960.tif 000010
【図９】
2012247960.tif 000011
【図１０】
2012247960.tif 000012
【図１１】
2012247960.tif 000013
【図１２】
2012247960.tif 000014
【図１３】
2012247960.tif 000015
【図１４】
2012247960.tif 000016
【図１５】
2012247960.tif 000017
【図１６】
2012247960.tif 000018