説明

情報処理装置、情報処理方法およびコンピュータプログラム

【課題】タップやマルチタッチジェスチャ等の操作入力がされた後ユーザが当該操作入力に対するフィードバックを受けるまでに僅かな処理時間が発生するアプリケーションにおいて、操作性を悪化させないため当該遅延を解消する情報処理装置を提供する。
【解決手段】本技術の情報処理装置は、第1の状態における操作体の状態に基づいて推定される操作入力に対応する処理をバックグラウンドで実行し、第1の状態における操作体が第2の状態となったとき、バックグラウンドで実行した処理を用いて操作入力に対するフィードバック処理を実行するイベント処理部を備える。

【発明の詳細な説明】
【技術分野】
【0001】
本開示は、操作入力に応じた処理を実行させる情報処理装置、情報処理方法およびコンピュータプログラムに関する。
【背景技術】
【0002】
タッチパネルは、直感的で使いやすいユーザインタフェース(以下、「UI」ともいう。)を実現可能であることから、従来から交通機関の発券機や銀行のATM等に使用されていた。近年では、タッチパネルはユーザの動作を検出することも可能となり、従来のボタン操作にはない機器の操作を実現することができるようになった。これにより、近年、携帯電話機やゲーム機器などの携帯機器にタッチパネルが多く用いられるようになっている。
【0003】
また、例えば特許文献1に示すように、検出面に対する指やタッチペン等の操作体の接触を検出できるだけでなく、検出面に対する操作体の近接も検出できるタッチパネルも提案されている。これにより、より多様な操作入力を実現できるようになってきている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2008−117371号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかし、操作入力を行う入力部としてタッチパネルを用いる場合、操作入力が検出されてから当該操作入力に対応する処理の実行するための準備処理を開始する。このため、操作入力を行ってから当該操作入力に対応する処理が行われるまでに、準備処理のための処理時間だけ待たなければならず、ユーザへのGUIフィードバックまでに僅かな遅延が生じる場合がある。
【0006】
例えば、図13に示すように、画面10に表示された例えばzipファイル等の圧縮ファイルのリスト11から1つの圧縮ファイルを選択して、展開する処理を行う場合を考える。ユーザがリスト11から選択した圧縮ファイルの展開の可否を確認する確認画面12において、展開を開始する展開ボタン13に指が接触されると、選択された圧縮ファイルを展開する準備処理が開始される。そして、圧縮ファイルが展開されると、展開されたファイルの表示処理が開始され、画面10にファイルの内容が表示される。この際、圧縮ファイルの展開処理を操作入力が検出されてから行うため、操作入力のフィードバックまでに僅かな遅延が生じる。
【0007】
このような遅延は、圧縮ファイルの展開以外にも、例えばSamba上のファイル展開、音楽・ビデオの展開、pdfファイルのページめくり処理、打鍵系ソフトウェアシンセサイザのデコード処理等にも生じている。例えば、打鍵系ソフトウェアシンセサイザのデコード処理においては、操作入力があった瞬間に音声出力フィードバックがあることが重要であり、準備処理による遅延のために操作感を悪化させてしまうこともある。
【0008】
また、例えば図14に示すように、将棋ゲーム等のようにコンピュータ対戦ゲームにおいて、コンピュータの操作入力を人工知能(Artificial Intelligence)を用いて処理する場合を考える。この場合、ユーザの操作入力に対してAI処理を用いてコンピュータの操作入力を決定するのに多くの計算処理が必要であるため、コンピュータが思考中となる時間がある。このため、コンピュータの思考が完了し、すなわちAI処理が完了し、ユーザが次の操作入力が可能となるまでに、僅かな遅延を生じる場合がある。
【0009】
あるいは、ユーザの操作入力に対するフィードバックがネットワークを介して行われる場合にも処理の遅延が生じ易い。例えば図15、図16に示すように、表示装置の画面10にネットワークを介して接続されたサーバから地図情報を取得する場合を考える。図15に示すように、2本の指を画面上に載せて指と指の間隔を広げるピンチアウトの動作によって画面10に表示された地図情報の表示が拡大される場合、ピンチアウトの動作を検出してからサーバから拡大された地図情報を取得する処理が開始される。このため、操作入力を検出してから、拡大された地図情報の読み込み処理を行い、画面10に画像が表示されるまで、僅かな遅延が生じることがある。
【0010】
同様に、図16に示すように、2本の指を画面上に載せて指と指の間隔を狭めるピンチインの動作によって画面10に表示された地図情報の表示が縮小される場合、ピンチインの動作を検出してからサーバから縮小された地図情報を取得する処理が開始される。このため、操作入力を検出してから、縮小された地図情報の読み込み処理を行い、画面10に画像が表示されるまで、僅かな遅延が生じることがある。
【0011】
このように、タップやマルチタッチジェスチャ等の操作入力がされた後ユーザが当該操作入力に対するフィードバックを受けるまでに僅かな処理時間が発生するアプリケーションにおいては、操作性を悪化させないため当該遅延を解消することが望まれている。
【課題を解決するための手段】
【0012】
本開示によれば、第1の状態における操作体の状態に基づいて推定される操作入力に対応する処理をバックグラウンドで実行し、第1の状態における操作体が第2の状態となったとき、バックグラウンドで実行した処理を用いて操作入力に対するフィードバック処理を実行するイベント処理部を備える、情報処理装置が提供される。
【0013】
また、本開示によれば、第1の状態における操作体の状態に基づいて推定される操作入力に対応する処理をバックグラウンドで実行するステップと、第1の状態における操作体が第2の状態となったとき、バックグラウンドで実行した処理を用いて操作入力に対するフィードバック処理を実行するステップと、を含む、情報処理方法が提供される。
【0014】
さらに、本開示によれば、コンピュータを、第1の状態における操作体の状態に基づいて推定される操作入力に対応する処理をバックグラウンドで実行し、第1の状態における操作体が第2の状態となったとき、バックグラウンドで実行した処理を用いて操作入力に対するフィードバック処理を実行するイベント処理部を備える、情報処理装置として機能させる、コンピュータプログラムが提供される。
【0015】
本開示によれば、第1の状態における操作体の状態から推定された操作入力の処理をバックグラウンドで実行することで、操作体が第2の状態となり、推定された操作入力が実行されたときに遅延なくフィードバック処理を実行することができる。
【発明の効果】
【0016】
以上説明したように本開示によれば、操作入力を推定し、発生する処理の準備処理をバックグラウンドで実行しておくことで、GUIフィードバックまでの僅かな遅延を解消することができる。
【図面の簡単な説明】
【0017】
【図1】本開示の第1の実施形態に係る情報処理装置により実行される処理と操作入力との関係を示す説明図である。
【図2】同実施形態に係る情報処理装置のハードウェア構成の一例を示すハードウェア構成図である。
【図3】同実施形態に係る情報処理装置の機能構成の機能ブロック図である。
【図4】同実施形態に係る情報処理装置による操作入力に対するフィードバックを行うまでの一処理を示すフローチャートである。
【図5】ホバーしている指が1本のときに推定される一処理を説明する説明図である。
【図6】ホバーしている指が2本隣接しているときに推定される一処理を説明する説明図である。
【図7】ホバーしている指が2本乖離しているときに推定される一処理を説明する説明図である。
【図8】ピンチアウトが推定されたときのフィードバックまでの処理内容を説明する説明図である。
【図9】ピンチインが推定されたときのフィードバックまでの処理内容を説明する説明図である。
【図10】同実施形態における圧縮ファイルの展開処理におけるフィードバックを説明する説明図である。
【図11】同実施形態におけるAI処理におけるフィードバックを説明する説明図である。
【図12】本開示の第2の実施形態に係る情報処理装置により実行される処理と操作入力との関係を示す説明図である。
【図13】圧縮ファイルの展開処理におけるフィードバックの遅延を説明する説明図である。
【図14】AI処理におけるフィードバックの遅延を説明する説明図である。
【図15】ネットワークを介した処理におけるフィードバックの遅延を説明する説明図であって、ピンチアウトの動作が行われた場合を示す。
【図16】ネットワークを介した処理におけるフィードバックの遅延を説明する説明図であって、ピンチインの動作が行われた場合を示す。
【発明を実施するための形態】
【0018】
以下に添付図面を参照しながら、本開示の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
【0019】
なお、説明は以下の順序で行うものとする。
1.第1の実施の形態(検出面に対する操作体の近接および接触を検出)
1.1.情報処理装置による処理の概要
1.2.ハードウェア構成
1.3.機能構成
1.4.操作入力に対するフィードバック処理
2.第2の実施の形態(検出面に対する操作体の接触および押圧を検出)
【0020】
<1.第1の実施形態>
[1.1.情報処理装置による処理の概要]
まず、図1を参照して、本開示の第1の実施形態に係る情報処理装置による処理の概要について説明する。なお、図1は、本実施形態に係る情報処理装置により実行される処理と操作入力との関係を示す説明図である。
【0021】
本実施形態に係る情報処理装置は、タッチパネル等の表示装置と接続されており、当該表示装置から送信される情報を処理する装置である。かかる情報処理装置は、操作入力を受けてから当該操作入力に対するフィードバックがなされるまでの遅延を解消するため、ユーザの操作入力を推定し、推定された操作入力に対するフィードバックを行うための準備処理をバックグラウンドで実行する。本実施形態では、情報処理装置は、図1に示すように、第1の状態、すなわち検出面200に対する指やタッチペン等の操作体の近接を検知すると、近接位置にある検出された操作体の状態を取得する。そして、取得された操作体の状態より、ユーザが行おうとしている操作入力を推定し、バックグラウンドで推定された操作入力に対するフィードバックを行うための準備処理を実行する。
【0022】
その後、第2の状態、すなわち表示装置の表示面に操作体が接触したとき、情報処理装置は、バックグラウンドで実行されていた準備処理の処理結果に基づき、GUIフィードバックを行う。このように、ユーザの操作入力を推定して予め準備処理をバックグラウンドで実行しておくことで、GUIフィードバックがなされるまでの時間を短縮することができる。以下、本実施形態に係る情報処理装置の構成とその機能について詳細に説明していく。
【0023】
[1.2.ハードウェア構成]
まず、図2を参照して、本開示の第1の実施形態に係る情報処理装置100のハードウェア構成について説明する。なお、図2は、本実施形態に係る情報処理装置100のハードウェア構成の一例を示すハードウェア構成図である。
【0024】
本実施形態に係る情報処理装置100は、図2に示すように、RAM(Random Access Memory)101と、不揮発性メモリ102と、表示装置103と、CPU104と、近接検出式タッチパネル105とを備える。
【0025】
RAM101は、CPU104の実行において使用するプログラムや、その実行において適宜変化するパラメータ等を一時記憶する。これらはCPUバスなどから構成されるホストバスにより相互に接続されている。不揮発性メモリ102は、CPU104が使用するプログラムや演算パラメータ等を記憶する。不揮発性メモリ102は、例えばROM(Read Only Memory)やフラッシュメモリ等を用いることができる。
【0026】
表示装置103は、情報を出力する出力装置の一例である。表示装置103として、例えば液晶ディスプレイ(LCD)装置、OLED(Organic Light Emitting Diode)装置などを用いることができる。本実施形態において、表示装置103は、必ずしも情報処理装置100に設けられている必要はなく、情報処理装置100と情報の送受信可能に接続された外部機器として設けてもよい。
【0027】
CPU104は、演算処理装置および制御装置として機能し、各種プログラムに従って情報処理装置100内の動作全般を制御する。また、CPU101は、マイクロプロセッサであってもよい。近接検出式タッチパネル105は、表示装置の表示面と積層して設けられ、例えば静電気による電気信号を感知することにより指等の操作体の近接および接触を検知する。
【0028】
[1.3.機能構成]
次に、図3に基づいて、本実施形態に係る情報処理装置100の機能構成について説明する。なお、図3は、本実施形態に係る情報処理装置100の機能構成を示す機能ブロック図である。図3では、ユーザからの操作入力に対するGUIフィードバックを行うまでの処理を実行するために必要な機能部を記載しており、本実施形態に係る情報処理装置100はその他の機能部も備えることもできる。
【0029】
本実施形態に係る情報処理装置100は、図3に示すように、近接検出部110と、操作推定部120と、イベント処理部130と、操作状況判定部140と、出力部150と、設定記憶部160とを備える。
【0030】
近接検出部110は、検出面に対する操作体の近接および接触を検出する検出部であって、図2の近接検出式タッチパネル105に対応する。近接検出部110の検出面は、例えば表示装置の表示面やデバイスの筐体表面等に設けることができる。表示装置の表示面に検出面を設けた場合、ユーザに対して表示された情報を操作体によって直接操作しているかのようなGUIを提供することができ、直感的な操作入力ができるようになる。
【0031】
近接検出部110は、検出面200から所定の距離hだけ鉛直上方に離れた近接検出位置210より操作体が検出面に近接すると、検出面200に対するその操作体の位置を検出することができる。また、近接検出部110は、検出面200に操作体が接触したことを検出することもできる。近接状態および接触状態の検出は、近接検出部110の検出方法によって異なるが、例えば静電気による電気信号を感知する検出方法であれば電気信号の大きさに基づき近接状態および接触状態を検出することができる。近接検出部110の検出結果(例えば静電気による電気信号)は、所定の周期、例えば検出値を取得する度に、操作推定部120および操作状況判定部140へ出力される。
【0032】
操作推定部120は、近接検出部110の検出結果に基づいて操作体が検出面に近接しているか否かを判定する。また、操作推定部120は、判定の結果、操作体が検出面に近接していると判定した場合、近接状態にある操作体の状態に基づいてこれから行われると考えられる操作入力を推定する。操作体の状態と操作入力との対応関係は、例えば予め設定記憶部160に記憶されており、操作推定部120はこの対応関係を用いて操作入力を推定することができる。操作推定部120は、推定した操作入力をイベント処理部130へ出力する。
【0033】
また、操作推定部120は、後述する操作状況判定部140から入力される操作体による操作状況に基づいて、既に推定した操作入力が実行される可能性を判定する。この際、既に推定した操作入力が実行される可能性が低いと判定した場合には、操作推定部120は、イベント処理部130に対し、実行されているフィードバックのための準備処理をキャンセルする指示を出力する。
【0034】
イベント処理部130は、操作推定部120により推定された操作入力に対応するフィードバックを行うために必要な準備処理を、実際に操作入力がされる前からバックグラウンドで実行する。操作入力に対するフィードバックは、例えば予め設定記憶部160に記憶されており、イベント処理部130は、推定された操作入力から設定記憶部160を参照して対応するフィードバックを認識する。そして、当該フィードバックを行うための処理をバックグラウンドで実行する。
【0035】
また、イベント処理部130は、推定された操作入力が実際に実行されたときに、バックグラウンドで実行していた準備処理を用いてフィードバックを行う。これにより、ユーザが操作入力を行ってからフィードバックを行うまでに生じる僅かな遅延を解消することができる。イベント処理部130は、操作入力に対するフィードバックを、出力部150へ出力する。
【0036】
操作状況判定部140は、近接検出部110の検出結果に基づいて、近接検出部110により検出された操作体による操作状況を判定し、判定結果を操作推定部120へ出力する。操作推定部120は、上述したように、操作状況判定部140から入力される操作体による操作状況に基づいて、既に推定した操作入力が実行される可能性を判定する。操作状況判定部140も、操作推定部120と同様に、設定記憶部160に記憶された操作体の状態と操作入力との対応関係を用いて操作入力を推定することができる。
【0037】
操作推定部120、イベント処理部130、操作状況判定部140は、例えば図2のCPU104により実現することができる。
【0038】
出力部150は、イベント処理部130からのフィードバックを出力するインタフェースである。出力部150は、例えばユーザに対して直接フィードバックを行う表示装置やスピーカ等の音声出力装置であってもよく、外部の表示装置や音声出力装置と情報処理装置100と接続された情報送受信部であってもよい。
【0039】
設定記憶部160は、ユーザからの操作入力に対するGUIフィードバックを行うまでの処理を実行するために必要な各種情報を記憶する記憶部であり、例えば図2のRAM101や不揮発性メモリ102に対応する。設定記憶部160に記憶される情報としては、例えば、操作体の状態と操作入力との対応関係や、操作入力とそのフィードバックとの関係等が記憶される。これらの情報は、情報処理装置100の初期設定として予め記憶されていてもよく、ユーザによって設定してもよい。
【0040】
[1.4.操作入力に対するフィードバック処理]
本実施形態に係る情報処理装置100は、上述したように、第1の状態、すなわち表示装置の表示面に対する操作体の近接を検知すると、近接位置にある検出された操作体の状態を取得する。そして、取得された操作体の状態より、ユーザが行おうとしている操作入力を推定し、バックグラウンドで推定された操作入力に対するフィードバックを行うための準備処理を実行する。その後、第2の状態、すなわち表示装置の表示面に操作体が接触したとき、情報処理装置は、バックグラウンドで実行されていた準備処理の処理結果に基づき、GUIフィードバックを行う。このように、ユーザの操作入力を推定して予め準備処理をバックグラウンドで実行しておくことで、GUIフィードバックがなされるまでの時間を短縮する。
【0041】
以下、図4〜図9に基づいて、本実施形態に係る情報処理装置100による、操作入力に対するフィードバックを行うまでの処理内容を説明する。図4は、本実施形態に係る情報処理装置100による操作入力に対するフィードバックを行うまでの一処理を示すフローチャートである。図5は、ホバーしている指が1本のときに推定される一処理を説明する説明図である。図6は、ホバーしている指が2本隣接しているときに推定される一処理を説明する説明図である。図7は、ホバーしている指が2本乖離しているときに推定される一処理を説明する説明図である。図8は、ピンチアウトが推定されたときのフィードバックまでの処理内容を説明する説明図である。図9は、ピンチインが推定されたときのフィードバックまでの処理内容を説明する説明図である。
【0042】
ここでは、一例として、ネットワークを介して接続されたサーバから取得可能な地図情報の表示に関するアプリケーションが実行されている場合について説明する。また、操作体は指であるとする。
【0043】
まず、情報処理装置100の操作推定部120は、近接検出部110の検出結果に基づいて、操作体である指が検出面の上方に存在するかを検出している(S100:ホバー検出)。近接検出部110は、検出面200から所定の距離hだけ鉛直上方に離れた近接検出位置210より指が検出面に近接すると、検出面に対する指の位置を検出することができる。そこで、操作推定部120は、近接検出部110の検出結果より、指が検出面に接触はしていないが近接検出位置210より検出面に近い位置にある、すなわち、ホバーしている指があると判定したとき、ステップS102の処理を実行する。
【0044】
ステップS102において、操作推定部120は、近接検出部110の検出結果に基づき、ホバーしている指の数とその状態を判定する。近接検出部110の結果からは、検出面に対する指の接触の有無、および検出された指の検出面に対する位置を認識することができる。これより、操作推定部120は、検出されている指の数および検出されている指の状態を認識することができる。操作判定部120は、ホバーしている指およびその数を認識することで、ユーザが行おうとしている操作入力を推定する。
【0045】
本例において、サーバから取得した地図情報を表示する場合に、ユーザが行う操作入力としては、例えばタップやピンチアウト、ピンチイン等がある。例えば図5に示すように、近接領域(検出面から所定の距離hだけ鉛直上方に離れた近接検出位置210から検出面までの間の空間領域)内に点P1の1点のみが検出された場合、ホバーしている指は1本であると推定できる。この場合、1本の指により地図情報をタップする操作を行おうとしていると考えられる。また、例えば図6に示すように、近接領域内に点P1、P2の2点が検出され、点P1、P2間の距離Lが所定の距離Lsより小さい場合、2本の指がホバーしており、これらの指は隣接していると推定できる。この場合、2本の指により地図情報をピンチアウトする操作を行おうとしていると考えられる。
【0046】
さらに、例えば図7に示すように、近接領域内に点P1、P2の2点が検出され、点P1、P2間の距離Lが所定の距離Ls以上である場合、2本の指がホバーしており、これらの指は乖離していると推定できる。この場合、2本の指により地図情報をピンチインする操作を行おうとしていると考えられる。このような指の状態と操作入力との対応関係は、予め設定記憶部160に記憶されており、操作推定部120は、近接検出部110の検出結果から設定記憶部160を参照して、ユーザが行おうとしている操作入力を推定することができる。なお、所定の距離Lsは、例えば過去にユーザがピンチアウト、ピンチインの操作を行ったときの最初の指間の距離に基づいて設定することができる。
【0047】
本例では、ステップS102にてホバーしている指が1本と認識された場合、操作推定部120は、ユーザが行おうとしている操作入力(Event)はタップであると推定する(S104)。また、ステップS102にてホバーしている指が2本であり、これらが隣接していると認識された場合、操作推定部120は、ユーザが行おうとしている操作入力はピンチアウトであると推定する(S106)。また、ステップS102にてホバーしている指が2本であり、これらが乖離していると認識された場合、操作推定部120は、ユーザが行おうとしている操作入力はピンチインであると推定する(S108)。ステップS104、S106、あるいはS108にて推定された操作入力は、操作推定部120からイベント処理部130へ出力される(S110)。
【0048】
操作推定部120から推定された操作入力の通知を受けたイベント処理部130は、オブジェクト側でイベント先読み処理をバックグラウンドで実行する(S112)。ステップS112において、イベント処理部130は、操作入力が実際に行われる前に、推定された操作入力が実施された場合に行うフィードバックの処理を予め実行する。例えば、操作推定部120によりタップが行われると推定された場合、イベント処理部130は、地図情報表示アプリケーションにおけるタップ操作によるフィードバックの処理の内容を設定記憶部160から取得する。例えば、タップ操作により、タップした位置に表示されている地図の住所やエリア情報が表示される場合、イベント処理部130は、地図の住所やエリア情報をサーバから取得する処理をバックグラウンドで実行する。
【0049】
また、例えば、操作推定部120によりピンチアウトが行われると推定された場合、イベント処理部130は、地図情報表示アプリケーションにおけるピンチアウト操作によるフィードバックの処理の内容を設定記憶部160から取得する。例えば、ピンチアウト操作により、指が接触した位置に表示されている部分を拡大表示される場合、イベント処理部130は、指が近接している位置を指が接触する位置と推定し、図8に示すように当該位置に表示されている部分を拡大した地図情報をサーバから取得する処理をバックグラウンドで実行する。
【0050】
あるいは、例えば、操作推定部120によりピンチインが行われると推定された場合、イベント処理部130は、地図情報表示アプリケーションにおけるピンチイン操作によるフィードバックの処理の内容を設定記憶部160から取得する。例えば、ピンチイン操作により、指が接触した位置に表示されている部分を縮小表示される場合、イベント処理部130は、指が近接している位置を指が接触する位置と推定し、図9に示すように当該位置に表示されている部分を縮小した地図情報をサーバから取得する処理をバックグラウンドで実行する。
【0051】
このように、ステップS112では、推定された操作入力に基づいて、操作入力が行われた場合の処理をバックグラウンドで実行する。一方、操作状況判定部140は、近接検出部110の検出結果に基づき、現在検出されている指の状態の変化を監視する(S114)。本例では、操作状況判定部140は、ホバー状態の指の位置を取得して当該指の移動があるか否か、また、現在検出されている指が異なるオブジェクトに対応する位置にあるか否かを判定する。これにより、現在検出されている指の位置に応じてバックグラウンドで実行される処理が変化するか否かを特定することができる。
【0052】
ステップS114にて検出されている指がホバー状態で移動し、かつ異なるオブジェクトに対応する位置に存在すると操作状況判定部140により判定されたとする。この場合、操作推定部120はイベント処理部130に対して現在実行中のバックグラントでの処理をキャンセルする指示を出力する(S116)。イベント処理部130は実行中のバックグラントでの処理をキャンセルし、その後、情報処理装置100はステップS100の処理から再度実行する。
【0053】
一方、ステップS114にて検出されている指は、ホバー状態で移動し、かつ異なるオブジェクトに対応する位置に存在する状態ではないと操作状況判定部140により判定されたとする。この場合、ステップS112で開始したバックグラウンドでの処理は継続して実行される。そして、操作状況判定部140が近接検出部110の検出結果より、ホバーしている指が接触したと判定したとき、操作推定部120はイベント処理部130に対して推定された操作入力に対するフィードバックの処理を実行するよう指示する。
【0054】
当該指示を受けたイベント処理部130は、まず、バックグラウンドでのイベント先読み処理が完了したか否かを判定し(S120)、完了していない場合にはバックグラウンドでの処理を継続して行う。そして、バックグラウンドでの処理が完了したとき、イベント処理部130は、バックグラウンドで行ったイベント先読み処理を用いて、操作入力に対するフィードバックを行う(S122)。このように、バックグラウンドで予め処理を実行しておくことで、実際に操作入力に対するフィードバックを遅延を生じさせることなく行うことができる。
【0055】
なお、ステップS118〜S122の処理は、ステップS100にてホバー検出がばいと判定された場合にも同様に行われる。例えば、指がホバーしている状態がなく、検出面に対する接触が検出された場合には、接触時の操作入力が判定され、これに対応するフィードバックをするための処理が実行される。
【0056】
ステップS118で接触検出がないとき、あるいはステップS122にて操作入力に対するフィードバックが行われたとき、操作状況判定部140は、ホバーしている指が、近接検出部110による検出不可領域(ホバー検出エリア外)へ移動したか否かを判定する(S124)。ステップS124にてホバーしている指がホバー検出エリア外へ移動していないと判定された場合、情報処理装置100は、図4に示す処理を終了し、ステップS100から再度処理を実行する。一方、ステップS124にてホバーしている指がホバー検出エリア外へ移動したと判定された場合、操作推定部120はイベント処理部130に対して現在実行中のバックグラントでの処理をキャンセルする指示を出力する(S116)。イベント処理部130は実行中のバックグラントでの処理をキャンセルし、その後、情報処理装置100はステップS100の処理から再度実行する。
【0057】
以上、本開示の第1の実施形態に係る情報処理装置100とこれによる操作入力に対するフィードバック処理について説明した。本実施形態によれば、近接検出部110による検出結果より、近接状態にある指の状態を認識し、操作入力が推定される。そして、推定された操作入力に対応するフィードバックを行うための準備処理をバックグラウンドにて実行する。その後、推定された操作入力が実行されたとき、バックグラウンドで実行した処理を用いてフィードバックを行う。これにより、ユーザが操作入力を行ってから当該操作入力に対応するフィードバックを行うまでに生じていた僅かな遅延を解消することができる。
【0058】
図4〜図9では、ネットワークを介して接続されたサーバから地図情報を取得する場合の僅かな遅延を解消する方法について説明したが、圧縮ファイルを展開する場合に生じる遅延やAI処理が行われる場合に生じる遅延にも、図4に示した処理によって解消することが可能である。
【0059】
例えば、図10に示すように、画面200に表示された例えばzipファイル等の圧縮ファイルのリスト201から1つの圧縮ファイルを選択して、展開する処理を行う場合を考える。ユーザがリスト201から選択した圧縮ファイルの展開の可否を確認する確認画面202において、展開を開始する展開ボタン203に指が近接していることが検出されると、選択された圧縮ファイルを展開する準備処理がバックグラウンドで開始される。そして、指が実際に展開ボタン203に接触すると、情報処理装置100は、バックグラウンドで展開されたファイルの表示処理が開始され、画面200にファイルの内容が表示される。
【0060】
このように、指が展開ボタン203に近接したときに圧縮ファイルの展開処理をバックグラウンドで実行しておくことで、展開ボタン203に指が接触されてからファイルの内容を画面200に表示するまでの僅かな遅延を解消することができる。
【0061】
また、例えば図11に示すように、将棋ゲーム等のようにコンピュータ対戦ゲームにおいてコンピュータの操作入力をAI処理する場合においては、情報処理装置100は、検出面に近接する指の位置に対応するオブジェクトを選択したときの処理が実行されると推定する。操作入力が推定されると、イベント処理部130は、推定した操作入力を実行したときに行われる処理をバックグラウンドで実行する。
【0062】
この際、ユーザは、次の操作入力を思考しているとき、思考内容に応じて指をホバー状態のまま移動させることがある。ホバー状態の指が移動することで当該指の位置に対応するオブジェクトが変わると、推定される操作入力も変わる。この場合、操作推定部120は既にバックグラウンドで実行されている処理をキャンセルし、新たに推定された操作入力を実行したときに行われる処理をバックグラウンドで実行する。このように、操作状況を監視し、実行される可能性の高い操作入力に対するフィードバックを行うための準備処理をバックグラウンドで実行する。実際に操作入力が行われると、情報処理装置100は、バックグラウンドで実行した処理を用いてフィードバックを行う。これにより、コンピュータが思考中となる時間を短縮し、ユーザが次の操作入力が可能となるまでに生じる僅かな遅延を解消することができる。
【0063】
また、本実施形態に係る情報処理装置100では、近接状態における指の状況(指の本数、近接する位置等)よりバックグラウンドで処理を実行する対象を決定している。このとき、情報処理装置100は、指の状況、例えばホバーしている指の本数が増加するほど、バックグラウンドで行う処理の対象範囲を広げてもよい。あるいは、ホバーしている指の動いている範囲に応じてバックグラウンドで行う処理の対象範囲を広げることもできる。これにより、バックグラウンドで行う処理を調節することができ、処理の遅延の発生する可能性を低減できる。
【0064】
例えば図11に示した例において、ユーザが思考内容に応じて指をホバー状態のまま移動させる範囲に応じてバックグラウンドで行う処理の対象範囲をさせる。指を移動させている範囲に含まれるオブジェクトを操作したときに実行される処理についてそれぞれ準備処理をバックグラウンドで実行させることで、実行の可能性のある複数の操作入力のうちいずれの操作入力があっても遅延なくフィードバックできる。
【0065】
さらに、情報処理装置100は、指の状況に応じて、最も検出面に指が近接している位置に指が接触したときに実行される処理を優先的にバックグラウンド処理してもよい。例えば、図11に示す例において、複数の指の近接が検出されたとする。この場合、各指の位置に基づいて推定される操作入力に対する準備処理をすべて行うと情報処理装置100の負荷が大きくなる場合がある。そこで、複数の指の近接が検出された場合には、最も検出面に近接している指の位置に指が接触したときに実行される処理を最も実行される可能性が高い処理と判断し、優先的にバックグラウンドで実行する。これにより、情報処理装置100の負荷を軽減することができる。
【0066】
また、本実施形態に係る情報処理装置100では、操作推定部120により近接検出部110の検出結果に基づきユーザが行おうとしている操作入力が複数推定されることも考えられる。このような場合、操作推定部120は、推定された操作入力のうち実行優先順位が最も高い操作入力をイベント処理部130へ通知するようにしてもよい。実行優先順位は、最も実行される可能性の高い操作入力を特定するために設定される。実行優先順位は、例えば検出面に近接している指の本数や、複数の指が検出されている場合にはその位置関係に基づいて設定することもできる。あるいは、優先的に実行したい処理内容から実行優先順位を予め設定してもよい。このように、実行優先順位を設定することで、推定される操作入力を一意に決定することができる。
【0067】
なお、最も検出面に近接している指の位置ではなく、近接が検出された複数の指の中心位置を、指が接触される可能性が高い位置としてもよい。
【0068】
<2.第2の実施形態>
次に、図12を参照して、本開示の第2の実施形態に係る情報処理装置による処理の概要について説明する。なお、図12は、本実施形態に係る情報処理装置により実行される処理と操作入力との関係を示す説明図である。
【0069】
本実施形態に係る情報処理装置は、第1の実施形態と同様、タッチパネル等の表示装置と接続されており、当該表示装置から送信される情報を処理する装置である。かかる情報処理装置は、操作入力を受けてから当該操作入力に対するフィードバックがなされるまでの遅延を解消するため、ユーザの操作入力を推定し、推定された操作入力に対するフィードバックを行うための準備処理をバックグラウンドで実行する。
【0070】
本実施形態の情報処理装置は、図12に示すように、第1の状態、すなわち検出面200に対する指やタッチペン等の操作体の接触を検知すると、接触位置にある検出された操作体の状態を取得する。そして、取得された操作体の状態より、ユーザが行おうとしている操作入力を推定し、バックグラウンドで推定された操作入力に対するフィードバックを行うための準備処理を実行する。
【0071】
その後、第2の状態、すなわち表示装置の表示面に対して操作体が所定の圧力Pth以上の圧力を加えたとき、情報処理装置は、バックグラウンドで実行されていた準備処理の処理結果に基づき、GUIフィードバックを行う。このように、ユーザの操作入力を推定して予め準備処理をバックグラウンドで実行しておくことで、GUIフィードバックがなされるまでの時間を短縮することができる。
【0072】
本実施形態に係る情報処理装置は、第1の実施形態の情報処理装置100と同様に構成することができる。ただし、本実施形態に係る情報処理装置は、図2の静電式タッチパネル105の代わりに表示面への圧力の変化を感知して指の接触を検知する感圧式のタッチパネルを用いる。これにより、バックグラウンド処理を実行するためのトリガーとなる第1の状態と、実際にフィードバックを開始するためのトリガーとなる第2の状態とを区別することができる。その他の構成および機能については第1の実施形態と同様である。
【0073】
以上、添付図面を参照しながら本開示の好適な実施形態について詳細に説明したが、本開示の技術的範囲はかかる例に限定されない。本開示の技術分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本開示の技術的範囲に属するものと了解される。
【0074】
例えば、上記実施形態では、圧縮ファイルの展開やAI処理、ネットワークを介した情報取得等の場合に対して情報処理装置を適用したが、本技術はかかる例に限定されない。例えば、音楽再生リストにおける曲の取得処理や動画取得処理を行う場合にも上記実施形態に係る情報処理装置を適用することで、同様に、僅かな処理遅延を解消することができる。
【0075】
なお、以下のような構成も本開示の技術的範囲に属する。
(1)
第1の状態における操作体の状態に基づいて推定される操作入力に対応する処理をバックグラウンドで実行し、
前記第1の状態における操作体が第2の状態となったとき、バックグラウンドで実行した処理を用いて前記操作入力に対するフィードバック処理を実行するイベント処理部を備える、情報処理装置。
(2)
操作体の状態を検出する検出部と、
前記検出部の検出結果に基づいて、前記操作体による操作入力を推定する操作推定部と、
前記第1の状態にある操作体の状態変化を判定し、前記操作推定部へ通知する操作状況判定部と、
を備え、
前記操作推定部は、
前記検出部の検出結果より前記操作体が第1の状態にあると判定したとき、前記操作体による操作入力を推定して前記イベント処理部へ通知し、
操作状況判定部により前記検出部の検出結果より前記操作体が第1の状態から第2の状態にあると判定されたとき、操作入力に対するフィードバック処理を実行する指示を前記イベント処理部へ通知する、前記(1)に記載の情報処理装置。
(3)
前記操作推定部は、前記第1の状態における操作体の数または操作体の位置のうち少なくともいずれか一方に基づいて、操作入力を推定する、前記(2)に記載の情報処理装置。
(4)
前記操作推定部により複数の操作入力が推定されたとき、前記イベント処理部は、実行優先順位に基づいてバックグラウンドで実行する処理を決定する、前記(2)または(3)に記載の情報処理装置。
(5)
前記実行優先順位は、前記第1の状態における操作体の状況に基づき決定される、前記(4)に記載の情報処理装置。
(6)
前記イベント処理部は、前記第1の状態における操作体の状況に基づいて、バックグラウンドで実行する処理対象を決定する、前記(1)〜(5)のいずれか1項に記載の情報処理装置。
(7)
前記第1の状態は、前記操作体が検出面に対して近接する状態であり、前記第2の状態は、前記操作体が前記検出面に対して接触する状態である、前記(1)〜(6)のいずれか1項に記載の情報処理装置。
(8)
前記第1の状態は、前記操作体が検出面に対して接触する状態であり、前記第2の状態は、前記操作体が前記検出面を所定の圧力以上の力で押圧する状態である、前記(1)〜(6)のいずれか1項に記載の情報処理装置。
【符号の説明】
【0076】
100 情報処理装置
110 近接検出部
120 操作推定部
130 イベント処理部
140 操作状況判定部
150 出力部
160 設定記憶部
200 検出面
210 近接検出位置


【特許請求の範囲】
【請求項1】
第1の状態における操作体の状態に基づいて推定される操作入力に対応する処理をバックグラウンドで実行し、
前記第1の状態における操作体が第2の状態となったとき、バックグラウンドで実行した処理を用いて前記操作入力に対するフィードバック処理を実行するイベント処理部を備える、情報処理装置。
【請求項2】
操作体の状態を検出する検出部と、
前記検出部の検出結果に基づいて、前記操作体による操作入力を推定する操作推定部と、
前記第1の状態にある操作体の状態変化を判定し、前記操作推定部へ通知する操作状況判定部と、
を備え、
前記操作推定部は、
前記検出部の検出結果より前記操作体が第1の状態にあると判定したとき、前記操作体による操作入力を推定して前記イベント処理部へ通知し、
操作状況判定部により前記検出部の検出結果より前記操作体が第1の状態から第2の状態にあると判定されたとき、操作入力に対するフィードバック処理を実行する指示を前記イベント処理部へ通知する、請求項1に記載の情報処理装置。
【請求項3】
前記操作推定部は、前記第1の状態における操作体の数または操作体の位置のうち少なくともいずれか一方に基づいて、操作入力を推定する、請求項2に記載の情報処理装置。
【請求項4】
前記操作推定部により複数の操作入力が推定されたとき、前記イベント処理部は、実行優先順位に基づいてバックグラウンドで実行する処理を決定する、請求項2に記載の情報処理装置。
【請求項5】
前記実行優先順位は、前記第1の状態における操作体の状況に基づき決定される、請求項4に記載の情報処理装置。
【請求項6】
前記イベント処理部は、前記第1の状態における操作体の状況に基づいて、バックグラウンドで実行する処理対象を決定する、請求項1に記載の情報処理装置。
【請求項7】
前記第1の状態は、前記操作体が検出面に対して近接する状態であり、前記第2の状態は、前記操作体が前記検出面に対して接触する状態である、請求項1に記載の情報処理装置。
【請求項8】
前記第1の状態は、前記操作体が検出面に対して接触する状態であり、前記第2の状態は、前記操作体が前記検出面を所定の圧力以上の力で押圧する状態である、請求項1に記載の情報処理装置。
【請求項9】
第1の状態における操作体の状態に基づいて推定される操作入力に対応する処理をバックグラウンドで実行するステップと、
前記第1の状態における操作体が第2の状態となったとき、バックグラウンドで実行した処理を用いて前記操作入力に対するフィードバック処理を実行するステップと、
を含む、情報処理方法。
【請求項10】
コンピュータを、
第1の状態における操作体の状態に基づいて推定される操作入力に対応する処理をバックグラウンドで実行し、
前記第1の状態における操作体が第2の状態となったとき、バックグラウンドで実行した処理を用いて前記操作入力に対するフィードバック処理を実行するイベント処理部を備える、情報処理装置として機能させる、コンピュータプログラム。


【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate