次に図面を参照して、本発明の実施形態を説明する。以下の図面の記載において、同一又は類似の部分には同一又は類似の符号を付している。ただし、図面は本発明の実施形態における構成を模式的に表している。更に以下に記載される本発明の実施形態は一例であり、その本質を同一とする範囲において適宜変更可能である。
<第一の実施形態>
(入力予測装置)
本発明の第1の実施形態に係る入力予測装置10の構成の一例について、図1を参照して説明する。本実施形態に係る入力予測装置10は、情報処理装置(不図示)に備えられ、利用者の情報処理装置に対する入力支援を行う。入力予測装置10は、タッチスクリーン100、入力部101、操作履歴記憶部102、近接検知部103、接触位置予測部104、操作タイプ予測部105および先行処理実行部106を備えている。以下、それぞれの構成要素について詳細に説明する。
タッチスクリーン100は、入力予測装置10を利用する利用者が入力操作を行い、入力操作の結果を表示する画面装置であり、具体的にはタッチパネル、タッチモニタ等の装置である。なお、本発明の実施形態においては、タッチスクリーン100は、平面であるとして説明を行うが、他の形状をしていても良い。例えば、曲面によりタッチスクリーン100が構成されていてもよい。
入力部101は、入力予測装置10を利用する利用者がタッチスクリーン100において行う入力操作を検知する。入力部101は、入力操作を行う物体(例えば、利用者の指やスタイラスペンなど)から、入力部101に対する接触状態の取得を行う。また、入力部101は、接触状態にある物体のタッチスクリーン100における位置を取得する。取得される物体の位置は、例えば、x軸およびy軸から成る二次元座標値を用いて、(332,445)の様に、位置座標として表記する。取得された位置座標(332,445)は、タッチスクリーンの左上の点から右に332ピクセル、下に445ピクセルの位置に物体が接触していることを意味する。また、入力部101は、物体が行う入力操作に関して、タップやスワイプ等の入力操作の種類(入力操作タイプ)を判別する。例えば、物体が入力部101に接触して離脱するまでの間の、タッチスクリーン100上での移動距離が一定距離以下であれば、タップと判定し、一定距離以上であれば、スワイプと判定する。入力部101は、取得した物体の位置や入力操作タイプを入力予測装置10上で動作するアプリケーション(図示せず)に通知する。アプリケーションは、通知された位置や入力操作タイプに合わせた処理を行う。たとえば、アプリケーションは、画像を表示させる処理と紐づいたアイコンの位置に対してタップが行われた場合、画像の表示を行う。
操作履歴記憶部102は、入力部101が取得した利用者の操作に関する情報(操作情報)の履歴である操作履歴情報を記録する記憶装置である。操作情報は、入力部101が検知した物体の入力操作における接触位置、および、入力操作タイプを少なくとも含む。なお、接触位置は、入力操作において物体が入力部101に最初に接触したときの、入力部101が取得した物体の位置である。図2は、操作履歴記憶部102が記憶する操作履歴情報の一例である。図2に示したように、操作履歴情報は、少なくとも1つ以上の操作情報(接触位置および入力操作タイプ)より構成される表である。この表の1行が1回の操作を表しており、一つの操作情報を構成する。図2の表の1行目の操作情報R1を参照すると、操作情報R1は、入力部101における位置座標(332、445)へのタップ操作がなされたことを意味する。また、図2の表の3行目の操作情報R2は、タッチスクリーン100における位置座標(932、121)に物体が接触し、スワイプ操作がなされたことを意味する。なお、操作履歴記憶部102が有する情報は一例であり、他の操作に関する情報を含んでいてもよい。例えば、入力操作がなされた時刻を含んでいても良い。このようにすることで、時間帯毎に行われやすい入力操作を判別可能となる。また、直近に実施された入力操作の傾向を抽出し、現時点において行われやすい入力操作を判別可能となる。
近接検知部103は、入力操作を行う物体の入力部101への近接を検知する。近接検知部103には、近接した物体を検知可能な範囲(検知域)を有しており、検知域内に入った入力操作を行う物体の位置情報を検知する。例えば、検知域は、タッチスクリーン100(入力部101)の表面直上(表面そのものは含まない)から、所定の距離離れた位置までの間の範囲が検知域となる。近接検知部103が検知した物体の位置(以下、近接位置と表記)の情報は、x軸、y軸およびz軸から成る三次元座標値、例えば(300,400,10)の様に、近接位置座標として表記される。x座標とy座標は、入力操作を行う物体の位置を入力部101に射影した際の、入力部101の表面におけるx座標とy座標の値を示す。また、z座標は、入力部101の表面と物体の距離を表す。例えば、近接位置座標(300、400、10)は、タッチスクリーン100表面上の左上の位置からタッチスクリーン表面上を右に300ピクセル、下に400ピクセル移動し、さらにそこから、タッチスクリーン100の表面に対し垂直に10mm移動した位置に利用者の指があることを示す。
接触位置予測部104は、近接検知部103から取得した近接位置に基づき、入力操作を行う物体が入力部101に接触する位置(接触位置)を予測する。以下、予測された接触位置を「接触予測位置」と表記する。
接触位置予測部104における接触予測位置の算出法の一例について説明する。接触位置予測部104は、近接検知部103が時系列で取得した近接位置座標値に対する回帰式を算出し、回帰式のz座標値が0となるときのx座標、y座標を算出する。尚、z=0はタッチスクリーン100の表面を意味する。算出されたx座標値、y座標値が接触予測位置となる。
回帰式においては、取得された近接位置座標の中から、現在時刻に近い時刻に取得された近接位置座標を所定の数(N)のみ抽出した結果が用いられる。この抽出された数Nを基座標数、抽出された近接位置座標を基座標と記載する。また、回帰式は、例えば、直線とする。
図3は、近接検知部103が取得した、タッチスクリーン100(入力部101)に入力操作を行う物体の、時系列毎の位置座標の一例である。ここでは位置座標をPnと表す(nは時系列を示す数で、絶対値が少ない程その位置座標を物体が経過した時間が古いことを示す)。図3のように、P1、P2、P3、P4、P5が位置座標として取得されたとする。ここでは、例えば、基座標数N=3と設定されている場合、接触位置予測部104は、最後に取得されたP3、P4、P5を基座標として、回帰直線L1を算出することにより、接触予測位置Ptを算出する。回帰直線L1は、例えば、下記によって表現される直線とする。
PL1=(ax,ay,az)t+(bx,by,bz)・・・式(1)
式(1)において、PL1は回帰直線L1上の任意の点を表す位置ベクトルであり、ax,ay,azは、直線L1の方向ベクトルを示す。tは、媒介変数(実数)であり、tを指定することで、直線L1上の任意の点を示す位置ベクトルを得ることが出来る。bx,by,bzは、直線L1上の任意の一点である。
ただし、式(1)で算出されるPL1は、回帰直線L1上の任意の点を表す位置ベクトルであり、tは実数とする。接触位置予測部104は、回帰により、近接位置P3、P4、P5各点と回帰直線L1の距離の総和が最少となる、ax、ay、az、bx、by、bzの組(組み合わせ)を求める。尚、回帰直線L1一つに対し、ax、ay、az、bx、by、bzの組は複数(無限に)存在する。その後、接触位置予測部104は、回帰直線L1とz=0の交点を算出する。算出とは、即ち、以下の式(2)を満たすtを求めることを表す。
az×t+bz=0・・・式(2)
算出されたtを、式(1)に代入して得られた座標値が、接触予測位置Ptとなる。回帰直線L1によれば、入力操作を行う物体が直線的に入力部101に接近する場合において、精度良く接触予測位置を算出することができる。なお、ここでは、回帰式を直線としたが、これは他の曲線、たとえば、ロジスティック曲線でもよい。
ロジスティック曲線である回帰曲線L2を使用した回帰式の一例を図4に示す。図4に示す回帰曲線L2は、以下のように表現できる。
PL2=(cx×t+dx、cy×t+dy、K/(1+exp(rK(z0−t)))−K/2)・・・式(3)
式(3)の各パラメータについて説明する。tは回帰曲線L2を記述する方程式(式(3))の媒介変数であり、tを指定することで、曲線L2上の点PL2を得ることが出来る。図4に示すように、回帰曲線L2は途中までタッチスクリーンに平行に進行し、その後、滑らかに進行方向をタッチスクリーンに向かう方向に進行方向を変える曲線となる。また、回帰曲線L2をタッチスクリーンに射影した曲線L2aは直線となる(以後、射影直線L2aと表記)。(cx、cy、0)は射影直線L2aの方向ベクトルを表し、(dx、dy、0)は射影直線L2a上の任意の一点を表す。Kは回帰曲線L2がタッチスクリーンに平行に進行している際のタッチスクリーンとの距離を表すパラメータ(距離の2倍を表す)であり、rは回帰曲線L2が進行方向をタッチスクリーンに向かう方向に変える際の勾配を表すパラメータであり、z0は回帰曲線L2とタッチスクリーンの交点の位置を規定するパラメータである(t=z0の時に回帰曲線L2とタッチスクリーンが交わる)。尚、exp(x)はe(ネイピア数)のx乗を表す。
基座標数N=3の場合、接触位置予測部104は、基座標P3、P4、P5の各点から、回帰曲線L2の距離の総和が最少となるcx、cy、dx、dy、r、K、z0を算出する。ただし、式(3)で算出されるPL2は、回帰曲線L2上の任意の点を表す位置ベクトルであり、tは実数とする。PL2において、t=z0における位置が接触予測位置となる。接触位置予測部104は、回帰曲線L2を用いると、入力部101に対して、入力操作を行う物体の曲線動作を精度良く接触予測位置を算出することができる。この曲線動作とは、物体が平行に進んだ後、入力部101に接触する直前に、入力部101への接近を開始する動作を指す。
操作タイプ予測部105は、操作履歴記憶部102の記憶する操作情報と、接触位置予測部104が予測する接触予測位置を用いて、タッチスクリーン100に対してなされる入力操作の種類(以下、「入力操作タイプ」と記載)を予測する。さらに、操作タイプ予測部105は、予測された入力操作タイプの確からしさ(以下、「予測確度」と記載)を算出する。操作タイプ予測部105における入力操作タイプの予測方法の詳細については、後述する。
先行処理実行部106は、接触位置予測部104によって得られた接触予測位置と、操作タイプ予測部105によって得られた入力操作タイプの予測に基づき、先行処理を行う。先行処理実行部106は、実行する処理の内容と当該処理を実行する条件を対応づける表(以下、「先行処理一覧表」と記載)を有している。先行処理一覧表は、先行処理記憶部106aに格納されている。図5に示すように、先行処理一覧表は、「位置条件」、「操作タイプ条件」、「確度条件」、「処理」などの項目から構成される。表中の一つの列を先行処理Snと記載する(nは整数)。
「処理」とは、所定のアプリケーションにより実行される処理である。この処理を実行するには上記の項目に含まれる3つの条件をすべて満たす必要がある。
3つの条件について説明する「位置条件」とは、入力部101近辺に物体が表れた場合、所定の距離内に存在するかを判定するための位置に関する条件(位置座標)である。「操作タイプ条件」とは、所定の入力操作タイプの条件である。「確度条件」とは、当該予測の確からしさ(硬度)の数値を満たすか否かの条件である。
先行処理実行部106は、先行処理一覧表106aに記載の先行処理S1、S2、S3の各々について、以下の判定を行う。即ち、接触位置予測部104が算出した接触予測位置が位置条件に記された位置から所定の距離内に存在するかを判定する。先行処理実行部106は、操作タイプ予測部105が算出した予測操作タイプが操作タイプ条件と一致するか判定する。先行処理実行部106は、予測確度が確度条件に記された値以上であるかについて判定する。これらの判定の結果、3つの条件の全てを満たす先行処理Snを実行する。
尚、上述した入力予測装置10内の入力部101、近接検知部103、接触位置予測部104、操作タイプ予測部105および先行処理実行部106は、機能ブロック単位のプログラムを表している。これらは実際には、図示しないコンピュータのCPU(Central Processing Unit)、図示しないROM(Read Only Memory)や図示しないRAM(Random Access Memory)などに格納されている。図示しないCPUがこれらのプログラムを適宜演算処理することでこれらの機能は実行される。
(入力予測装置の動作)
本発明の第1の実施形態に係る入力予測装置10の動作について説明する。入力予測装置10の動作としては、大きく3つの動作がある。即ち、
(1)入力部101が入力予測装置10の利用者が行った入力操作を検知して、操作履歴記憶部102に操作情報を記録するときの動作、
(2)近接検知部103が入力操作を行おうとしている物体の近接を検知し、物体が行う入力操作を予測するときの動作、
(3)接触位置予測部104が算出した接触予測位置、操作タイプ予測部105が予測した入力操作タイプとその予測確度に基づき、先行処理実行部106が処理を実行するときの動作。
以下、これらの動作について詳細に説明する。
(動作1)
先ず、入力部101が入力予測装置10の利用者が行った入力操作を検知して、操作履歴記憶部102に操作情報を記録するときの動作について、図6のフローチャートを参照して説明する。
まず、ステップS1001において、入力部101は、入力操作を行う物体とタッチスクリーン100の接触状態を確認する。
ステップS1002において、入力部101は、物体がタッチスクリーン100に接触しているかの判定を行い、接触していれば、ステップS1003において、物体の位置を取得し、位置を記憶する。接触していなければ、ステップS1004へ処理は進められる。
例えば、ステップS1001において、位置座標(320、461)が得られると、ステップS1002で物体が入力部101に接触していると判定され、その後、再度ステップS1001にこの処理は戻され、同様の処理を繰り返す。
一般に、タッチパネル等の入力装置は接触する物体の位置を取得する際は、一定のサンプリング間隔(例えば、20msなど)で位置座標を取得する。そのため、ステップS1001からステップS1003への反復は、入力部101のサンプリング間隔を周期として実施される。
ステップS1004において、入力部101は、記憶した物体の位置座標の数を確認する。
ステップS1005においては、入力部101は、確認した位置座標の数が0か否かを判断する。
記憶された物体の位置座標の数が0の場合は(ステップS1005にてYes)、入力部101に入力操作がなされていないことを意味するので、ステップS1001に戻り、再度入力操作を待ち受ける。
記憶された物体の位置座標の数が0でない場合(ステップS1005にてNo)、入力部101に入力操作がなされたことを意味するので、処理はステップS1006へ進められる。
ステップS1006において、入力部101は物体による入力操作タイプを判別する。
例えば、ステップS1003によって取得された最初の位置座標(ここでは、前述した(320,461))と最後の位置座標(ここでは、(321,461)とする)を用いて入力操作タイプを判別する。入力部101はステップS1003によって得られた最初の位置と最後の位置の距離を算出する。ここでは、距離は「1」(単位は、一例で、センチメートル)と計算されるとする。次に、入力部101は、計算された距離が所定の値以下であるかを判定し、所定の値以下であれば操作がタップであったと判定し、所定の値より大きければ操作がスワイプであったと判別する。所定の値は、予め設定された値とし、ここでは「10」とする。なお、この値は一例であって、他の値としてもよい。本例では、計算された距離「1」は所定の値「10」以下であるため、入力部101は、入力操作がタップであったと判別する。
ステップS1007において、入力部101は、得られた入力操作に関する情報(以下「操作情報」と記載)を操作履歴記憶部102に記録する。記録される情報は、例えば、物体がタッチスクリーン100に最初に接触したときの位置(ここでは(320、461))と、操作のタイプ(タップ)を記録する。なお、操作情報は、既に操作履歴記憶部102に記録された情報に追記する態様で記録される。例えば、図2のように接触位置(320、461)および入力操作タイプ「タップ」が、操作履歴情報の最後に追記される態様となる。
以上のように、入力予測装置10は、入力操作タイプ毎に接触位置を操作履歴記憶部102に記憶しているので、前述したように、入力操作タイプ毎の接触位置の偏りを計算することができ、精度良く、入力操作タイプを予測することができるようになる。また、操作履歴記憶部102が記憶する操作情報の件数を一定数以下に制限するようにしてもよい。この場合、件数の上限を超える場合は、操作履歴記憶部102に記録された最も古い操作情報を削除する。このようにすることで、接触する位置の傾向が変化した場合に、変化する前の(古い)操作情報を除外することができるようになるので、操作タイプの判別精度が向上する。また、古い情報を消すことで、入力予測装置の記憶領域の使用量を削減することも可能である。
(動作2)
次に、近接検知部103が入力操作を行おうとしている物体の近接を検知し、物体が行う入力操作を予測するときの動作について、図7のフローチャートを参照して説明する。
まず、ステップS1101において、近接検知部103が、タッチスクリーン100に対して入力操作を行おうとしている物体の近接状態を確認する。
ステップS1102において、物体が近接検知部103の検知域に存在しているか否かを判断する。検知域に存在していなければ(ステップS1102にてNo)、再度、ステップS1101の動作を繰り返す。近接検知部103は、入力部101のように所定のサンプリング間隔で物体の近接状態を確認するため、ステップS1102でNoと判断された後は、前述のサンプリング間隔の時間後に、再度近接状態の確認処理(ステップS1101)が実施されることとなる。一方、物体が近接検知部103の検知域内に存在していれば(ステップS1102にてYes)、処理はステップS1103へ進められる。
ステップS1103において、近接検知部103は物体の位置を取得する。
ステップS1104においては、近接検知部103は、物体の位置(近接位置)を取得後、取得した近接位置に基づき、接触位置予測部104が接触予測位置を算出する。
ステップS1105において、接触位置予測部104は、接触予測位置の算出に成功したか失敗したかを判断する。
接触位置予測部104が接触予測位置の算出に失敗した場合(ステップS1105にてNo)は、ステップS1101に戻り、再度、ステップS1101以下の処理が繰り返される。接触予測位置の算出は、前述した方法により実施する。接触位置予測部104が接触予測位置の算出に失敗する場合とは、例えば、式(1)の回帰を行うために必要な近接位置数が得られていない、もしくは、回帰式により算出した接触予測位置が無効な値、例えば、タッチスクリーン100の外になる場合である。また、最新の近接位置と得られた接触予測位置が所定の値以上の場合に、接触予測位置の算出に失敗したと判定してもよい。最新の近接位置と接触予測位置の距離が長い場合は、接触予測位置の誤差が大きくなると考えられる。そのため、最新の近接位置と接触予測位置の距離が短い場合のみ、接触位置の予測に成功したと判定することで、接触位置の予測精度を向上することができる。
接触位置予測104が接触予測位置を算出に成功した場合(ステップS1105にてYes)は、処理はステップS1106へ進められる。
ステップS1106において、操作タイプ予測部105は、ステップS1104で得られた接触予測位置と、操作履歴記憶部102に記憶された操作情報に基づき、入力操作を行おうとしている物体が行おうとしている入力操作タイプを予測する。
以下、ステップS1106において操作タイプ予測部105が実施する入力操作タイプの予測方法について図8を用いて詳細に説明する。図8は、操作履歴記憶部102に記憶された操作情報における入力操作タイプ毎の接触位置、ステップS1104において接触位置予測部104が算出した接触予測位置の一例を示す図である。図8は、タッチスクリーン100(タッチスクリーン)左上を原点(0,0)とした場合の、二次元ベクトル(+x方向および−y方向)空間上に表現されている。図8において、操作履歴記憶部102に記憶された操作情報の内、タップ位置aは、入力操作タイプが「タップ」である操作情報の接触位置である(黒く塗りつぶされた円の位置)。スワイプ位置bは、入力操作タイプが「スワイプ」である操作情報の接触位置である(白抜きの円の位置)。また、接触予測位置cは、ステップS1104において接触位置予測部104が算出した接触予測位置(黒く塗りつぶされた四角形の位置)である。操作タイプ予測部105は、操作履歴記憶部102に記憶された操作情報の内、接触位置予測部104が算出した接触予測位置から所定の距離(Rと記す)内に位置する操作情報を抽出する(このとき、抽出された操作情報の数をNoと記す)。所定の距離Rとは、例えば、接触予測位置の予測精度を基準に設定する。例えば、過去の操作において算出した接触予測位置と実際の接触位置の距離が平均5ミリメートルであった場合は、R=5ミリメートルとする。なお、ここで挙げた距離Rの設定方法は一例に過ぎず、例えば、算出した接触予測位置と接触位置の距離の標準偏差であっても良いし、平均+標準偏差、もしくは平均+α×標準偏差(αは任意の実数)であっても良い。これにより、例えば、図8のタッチスクリーンに示した操作例では、点線の円の内部の点に対応する操作情報が抽出される。
次に、操作タイプ予測部105は、上記の抽出した操作情報の入力操作タイプ毎の数Nωを算出する。ωは入力操作タイプを表し、本実施例では、T(タップ)、S(スワイプ)の二値をとる。
例えば、図8の例においては、タップ操作が「Nω=T=19」、スワイプ操作が「Nω=S=1」となる。操作タイプ予測部105は、最も数の多い入力操作タイプを入力操作タイプの予測結果とする。例えば、図8の例では、タップ操作の数が多いため、入力操作タイプは「タップ」と予測される。また、入力操作予測部105は、予測確度を、以下の式(4)により算出する。
(予測入力操作タイプの数Nω)/(抽出された操作情報数No)・・・式(4)
図8の例では、「No=20」、「NT=19」であるので、入力操作予測部105は、タップ操作の予測確度を19/20=0.95と算出する。
通常、入力操作における接触位置の傾向は、入力操作タイプ毎に異なる。例えば、タップ操作であれば、アイコンが表示されている位置に偏るが、スワイプ操作の接触位置はアイコンの位置とは関係のない位置に分布する。過去の操作履歴と接触予測位置に基づき入力操作タイプの予測を行うことで、上記の入力操作タイプ毎の接触位置の偏りを、予測結果に反映させることができる。このため、本実施形態の操作タイプ予測部105によれば、精度良く入力操作タイプの予測を行うことができる。
(動作3)
次に、接触位置予測部104が算出した接触予測位置、操作タイプ予測部105が予測した入力操作タイプとその予測確度に基づき、先行処理実行部106が処理を実行するときの動作について図9のフローチャートを参照して説明する。
まず、ステップS1201において、接触位置予測部202が物体の接触予測位置を算出する。本動作例では、算出された接触予測位置座標は(323、454)であるとして説明する。
ステップS1202において、操作タイプ予測部203は、物体が行う入力操作の予測操作タイプ及び予測確度を算出する。本動作例では、予測操作タイプ「タップ」、予測確度「0.98」を算出した場合を例として説明する。
ステップS1203において、先行処理実行部204が、ステップS1201及びステップS1202で算出された接触予測位置、予測操作タイプ、予測確度が先行処理一覧表に記載される各々の先行処理の条件を満たすか調査する。
ステップS1204において、調査の結果、先行処理実行部204は、先行処理の条件を満たすか判定する。
以下においては、図5に示す先行処理一覧表を用いた場合を例として説明する。まず、図5に示す先行処理S1の3つの条件を満たすか調査する。先行処理実行部204は、算出された接触予測位置(321,458)が、位置条件(323,454)に従い、所定の位置以内に存在するかを判定する。例えば、所定の距離を30とすると、位置(323,454)と位置(320,450)との距離は5であるので、位置条件を満たすと判定する。次に、先行処理実行部204は、算出された予測操作タイプ「タップ」と確度条件の値「タップ」を比較する。両者は一致するので、操作タイプ条件を満たすと判定する。更に、先行処理実行部204は、算出された予測確度「0.98」を確度条件と比較する。ここでは硬度条件の値を「0.95」と設定する。0.98≧0.95であるので、先行処理実行部204は、確度条件を満たすと判定する。
ステップS1205において、上記の3条件全てを満たす場合(ステップS1204にてYes)、先行処理実行部204は、先行処理S1の列に記憶された処理を実施する。ここでは、先行処理S1に記載の処理「サーバから画像Aを取得する」処理が実行される。
ステップS1206において、先行処理実行部204は、先行処理一覧表の全ての行について判定が完了しているか確認する。
ステップS1207において、上記の確認の結果、先行処理実行部204が、全ての処理を判定済みでないと判断すると、ステップS1203に処理は進められる。上記の確認の結果、先行処理実行部204が、全ての処理を判定済みと判断すると、本動作を終了する。
本例では、図5の先行処理一覧表の1行目の処理について判定が完了したのみであるので、判定済みではない(ステップS1207にてNo)。その場合は、再度ステップS1203に戻り、先行処理実行部204は、ステップS1201及びステップS1202で算出された接触予測位置、予測操作タイプ、予測確度が先行処理一覧表の条件を満たすか判定する。図5の処理S1については、判定済みであるので、次は処理S2について判定する。接触予測位置(321,458)は位置条件(930、120)から30以上の距離があるため、図5の条件については、「条件を満たさない」と判定する(ステップS1204にてNo)。その場合は、図5の先行処理一覧表に記載された処理は実行せずに(ステップS1205は飛ばして)、ステップS1006の処理に移行する。以降、ステップS1203からステップS1206の処理を同様に繰り返し、図5に記載された全ての処理について条件の判定が完了した場合(ステップS1206にてYes)、入力予測装置10は、図9に示したフローチャートの動作を完了する。
以下、本発明の第1の実施形態の効果について述べる。本発明の第1の実施形態に係る入力予測装置10は、接触位置の予測結果に基づき入力操作タイプの予測を行い、前述した入力操作タイプ毎の接触位置の傾向を予測に反映させる。これにより、第1の実施形態に係る入力予測装置10は、精度良く入力操作タイプを予測することができる。
一般に、接触位置は入力操作タイプ毎に異なる傾向を示す。例えば、タップする場合は、物体の接触位置はアイコンが表示されている位置近傍となるのに対し、スワイプする場合は、アイコンの表示と関係のない位置となる。第1の実施形態においては、この傾向を用いて入力予測を行う。
本発明の第1の実施形態によれば、接触位置の予測値に基づいて、入力操作タイプの予測を行うことにより、接触位置に基づき入力操作タイプを予測する場合に比べて、予測が得られる時間が速い。その分、先行して処理を実行できるため、レスポンス時間を改善することができる。
本発明の第1の実施形態によれば、予測された入力操作タイプの確度を算出することができる。これによって、予測確度が高い場合にのみ、操作に紐づけられた処理を先行して実行するようにすることで、予測を誤った場合に無駄なリソースを消費する可能性を減らすことができる。
本発明の第1の実施形態によれば、実施する処理毎に確度条件を変更することができる。例えば、「サーバから画像Aを取得」する処理と「SD(Secure Digital)メモリカードから画像Bを読み込む」処理を比較した場合を考える。この場合、後者の処理はネットワークにデータを流さないので、予測が誤っていた場合の影響が前者に比べて低いと考えられる。このように、本発明の第1の実施形態によれば、予測が誤っていた場合の影響の大小を勘案して確度条件を変更することができる。このため、予測が失敗した場合の影響度に応じて、処理を先行して実施することによる応答性の改善を重視するか、予測が外れることにより先行して実施した処理が無駄になる可能性を抑制することを重視するか、を選択することが可能となる。
本発明の第1の実施形態によれば、接触予測位置c(図8参照)から所定の距離R内に存在する過去の接触位置の入力操作タイプに基づき入力操作タイプを予測する。これにより、得られた接触予測位置と関係のある過去の操作のみを過不足なく抽出するので、この抽出結果を基に算出される予測精度が向上する。この他、接触予測位置と過去の操作の接触位置の距離に基づき、近い操作ほど重視して入力操作タイプを予測する手法にしても同様の効果が得られる。また、直近に実施された入力操作の傾向を抽出し、現時点において行われやすい入力操作を判別可能となる。
<第2の実施形態>
次に本発明の第2の実施形態の概略について説明する。本発明の第1の実施形態では、入力を行う物体が入力部に接触すると予測される位置(接触予測位置)に基づき、物体が行おうとしている入力操作の入力操作タイプを予測した。本発明の第2の実施形態では、接触予測位置に加えて、更に、物体の入力部(101)への近接速度や、物体の入力部への近接方向を考慮して入力操作タイプの予測を行うことで、予測の精度を向上させる。
一般に、物体の入力部(101)への近接速度や近接方向は、物体が行おうとしている入力操作における入力操作タイプと相関を有する。そのため、近接速度や近接方向を考慮して入力操作タイプを予測することで、予測精度を向上することが可能となる。
例えば、物体の近接速度は、タップ操作に比べてスワイプ操作の方が速くなる傾向がある。タップ操作では、タッチスクリーン(100)に表示されたアイコンやテキスト等の特定の領域内に、入力操作を行う物体が接触可能となるように位置を調整しながら、物体を近づけなければならないからである。一方でスワイプ操作では、タップ操作の様に、特定の領域内に物体が接触するよう位置を調整する必要はない。位置調整を考慮する時間が必要であるため、タップ操作のタッチスクリーン100(入力部101)への近接速度は遅くなる傾向がある。
物体の近接方向と操作タイプとの間にも相関がある。図10Aおよび図10Bは、タップ操作とスワイプ操作のタッチスクリーン(100)における物体の移動方向の一例を示した図である。図10Aがタップ操作、図10Bがスワイプ操作の物体の軌道を示しており、両者とも、アイコンが表示された領域に接触して、入力操作を実施した場合を表している。この入力操作は、情報処理装置の利用者が、右手利きであり、左手で情報処理装置を持って、右手の人差し指で入力部(101)であるタッチスクリーン(100)に所定操作を行う場合を想定している。一般に、入力操作を行う利き手の人差し指は、画面下部右方向にある。これは、画面下部方向に情報処理装置の利用者がいるためである。
図10Aおよび図10Bに示す画面において、アイコンの領域dにタップを行う場合、人差し指(物体)の軌道は、画面下部右方向からアイコンの領域dへ移動する傾向がある。
一方で、図10Aおよび図10Bに示す画面において、アイコンの領域dに接触後にスワイプする場合、人差し指(物体)の軌道は、画面左方向からアイコンの領域dの近傍へ移動してからこれに接触し、その後、物体は、画面に接触した状態で右側に移動する傾向がある。なぜならば、人差し指が、図10Aに示すタッチ操作の軌道で入力部(101)に近接した後、図10Bに示すスワイプ操作の軌道で入力部(101)に接触した状態での動作は、利用者にとって操作しづらいからである。これは、人差し指が画面に接触した時点で、人差し指の向きを急角度で変更する必要があるからである。
以上に説明したように、物体の入力部への近接速度や近接方向は、物体が行おうとしている入力操作のタイプと相関を有するため、近接速度や近接方向を考慮して操作のタイプを予測することで、予測精度を向上することが可能となる。以下、この相関を考慮した入力予測装置(11)について説明する。
(入力予測装置)
本発明の第2の実施形態に係る入力予測装置11の構成について図11を参照して説明する。本発明の第2の実施形態に係る入力予測装置11は、タッチスクリーン100、入力部101、操作履歴記憶部112、近接検知部103、接触位置予測部104、操作タイプ予測部115、先行処理実行部106および近接物理量算出部117を備える。
入力予測装置11は、近接物理量算出部117を備えている点と、操作履歴記憶部102の代わりに操作履歴部112を、操作タイプ予測部105の代わりに操作タイプ予測部115を備えている点で、本発明の第1の実施形態における入力予測装置10と異なる。
近接物理量算出部117は、近接検知部103が取得した物体の近接位置、もしくは入力部101が取得した物体の接触位置に基づき、物体がタッチスクリーン100に近接する際の物理量を算出する。物理量とは、例えば、物体がタッチスクリーン100に接触するときの物体のタッチスクリーン100への近接速度および近接方向の少なくとも片方である。物理量としては、他の計測可能な物理量を使用してもよい。
近接速度および近接方向の算出法について説明する。図12は、物体が入力操作を行う際の、物体の位置および時間を3次元空間において説明する概念図である。物体がタッチスクリーン100に近接し、近接検知部103の検知域内に物体が入ると、近接検知部103が物体の近接位置を取得可能となる。その際の物体の近接位置を(x0,y0,z0)、時間をt0とする。
その後、近接検知部103は、サンプリング間隔(時間ti)ごとに物体の近接位置を取得する。時間ti(i=1,2,・・・,n−1:nは正の整数)に、近接検知部103が取得した近接位置を(xi,yi,zi)とする。また、物体がタッチスクリーン100に接触したときの時間をtn、入力部101が取得した接触位置を(xn,yn,zn)とする(ただし、zn=0)。ある時間tkにおける近接速度は、(zk−z0)/(tk−t0)により算出する(k=1,2,・・・,n)。
また、近接方向は、近接検知部103もしくは入力部101が取得した物体の位置を、タッチスクリーン100の表面上に射影した点を用いて算出する。図12において、射影によって得られた点(x0,y0,0)と(xi,yi,0)とを結んだ線分と、(xi,yi,0)と(xi+a,yi,0)とを結んだ線分がなす角度eを近接方向とする(ただし、aは正の実数)。なお、本例における近接速度、近接方向の算出方法は、一例であり、他の方法によって算出してもよい。
操作履歴記憶部112は、操作情報として、入力部101が取得した入力操作における、物体の入力部101への接触位置と入力操作タイプに加えて、更に、近接物理量117が算出した物体の入力部101への近接速度および近接方向を記録する。なお、近接速度および近接方向のいずれか片方のみを使用してもよい。
操作履歴記憶部112が記憶する操作情報の一例を図13に示す。操作情報は、「接触位置」、「近接速度」、「近接方向」、「入力操作タイプ」の項目を有する。「近接速度」および「近接方向」は、近接物理量算出部117が算出した値である。ここでは、
近接速度=(zn−z0)/(tn−t0)、
近接方向=角度e、
とする。図13に示す操作情報Q1は、操作履歴記憶部112に最初に記録された入力操作における物体の近接速度が12cm/s(センチメートル毎秒)、近接方向が300度であったことを示す。
操作タイプ予測部115は、操作履歴記憶部112の記憶する操作情報と、接触位置予測部104の算出する接触予測位置と、近接物理量算出部117の算出する物理量を用いて、タッチスクリーン100に対してなされる入力操作における入力操作タイプを予測する。さらに、操作タイプ予測部115は、予測された入力操作タイプの予測確度を算出する。操作タイプ予測部115は、近接物理量算出部117の算出する物理量に基づいて入力操作タイプを予測する点で、本発明の第1の実施形態に係る操作タイプ予測部105と異なる。操作タイプ予測部115における予測法の詳細は後述する。
この他の構成要素については、本発明の第1の実施形態と同一であるため、同一の符号を付し、詳細な説明を省略する。
(入力予測装置の動作)
本発明の第2の実施形態における入力予測装置11の動作について説明する。入力予測装置11の大まかな動作は、以下の通りである。
(1)入力操作を行う物体の動きを検知して、入力操作に関する操作情報を操作履歴記憶部112に記憶する動作、
(2)入力予測装置11が、入力操作タイプを予測するときの動作。
以下、これらの動作について図面を参照して説明する。
(動作1)
入力部101および近接検知部103が、入力操作を行う物体の動きを検知して、入力操作に関する操作情報を操作履歴記憶部112に記憶する動作について、図14に示すフローチャートを参照して説明する。なお、本発明の第1の実施形態における動作(図6参照)と同様の処理に関しては、同一の符号を付し、詳細な説明を省略する。
ステップS2001において、近接検知部103が、入力操作を行う物体のタッチスクリーン100への近接状態を確認する。
ステップS2002において、近接検知部103が、物体が検知域内か外かを判断する。
物体が検知域内であると判断された場合、ステップS2003において、近接検知部103は、物体の近接位置を取得し、入力操作に関する操作情報を操作履歴記憶部112に格納する。その後ステップS2001の処理へ戻る。
ステップS2002において、物体が検知外であると判断された場合、処理はステップS1003、ステップS1001の順に進められる。なお、物体が検知域外にある場合とは、物体がタッチスクリーン100から所定の距離離れた位置に移動した場合、および、タッチスクリーン100に接触した場合である。そこで、ステップS1001にて、入力部101は、物体とタッチスクリーン100の接触状態を確認する。
この後、ステップS1001からステップS1006までの処理は、本発明の第1の実施形態と同様の処理であるため、詳細な説明を省略する。なお、ステップS1005で、入力部101に記憶された物体の位置の数がゼロと判断された場合(ステップS1005にてYes)は、入力操作が行われていないことを意味するので、最初の処理(ステップS2001)に戻り、再度入力操作を待つ。この際、近接部103に記憶された物体の近接位置が存在すれば、記憶した近接位置を消去する。なぜなら、この場合、物体がタッチスクリーン100に接近したが、入力操作は行わなかったことを意味するからである。近接部103に記憶された物体の近接位置は、入力操作と紐づかない近接位置であるため、情報として不要である。
ステップS2005において、近接物理量算出部117は、入力部101および近接検知部103が記憶する物体の位置を基に、物理量を算出する。このときに算出する物理量は、近接速度および近接方向である。いずれか片方のみを使用してもよい。
ステップS2006において、入力予測装置11は、入力部101が記憶する接触位置(ステップS1003で最初に取得した位置)、ステップS1006で判別した入力操作タイプ、ステップS2006で算出した物理量を操作情報として操作履歴記憶部112に記憶する。
(動作2)
入力予測装置11が、入力操作タイプを予測するときの動作を図15のフローチャートを参照して説明する。
ステップS1101からステップS1105までの動作は、本発明の第1の実施形態と同様であるため、詳細な説明を省略する。本発明の第2の実施形態は、接触位置予測部104が接触予測位置の算出に成功してからの処理が、本発明の第1の実施の形態と異なる。
ステップS2101において、接触位置予測部104が、接触予測位置の算出に成功した場合(ステップS1105にてYes)、近接物理量算出部116は、接触予測位置を算出した時間における物理量を算出する。
ステップS2102において、操作タイプ予測部115は、接触予測位置と、ステップS2101で算出した物理量と、操作履歴記憶部112が記憶する操作情報に基づき、物体が行おうとしている入力操作の入力操作タイプを予測する。
操作タイプ予測部115が実施する入力操作タイプの予測方法の一例について詳細に説明する。本動作例においては、ステップS2101において算出した物理量が近接速度であったとして説明するが、近接方向などの他の物理量に基づいて入力操作タイプを予測する場合も同様にして予測を行う。
図16Aおよび図16Bは、タッチスクリーン100の画面上において、操作履歴記憶部112に記憶された操作情報における入力操作タイプ毎の接触位置(タップ位置aおよびスワイプ位置b)、ステップS1104において接触位置予測部104が算出した接触予測位置cの例を示す図である。操作タイプ予測部115は、本発明の第1の実施の形態における操作タイプ予測部105と同様に、接触位置予測部104が算出した接触予測位置cから所定の距離(Rとする)内に存在する操作履歴記憶部112に記憶されたタップ位置aおよびスワイプ位置bの数を数えることにより算出する。なお、本発明の第1の実施形態における操作タイプ予測部105によれば、図16Aの画面例では、入力操作タイプを「タップ」と予測し、予測確度を「17/22=0.77」と算出する。
一方で、操作タイプ予測部115は、ステップS2101において近接物理量算出部117が算出した物理量に基づき、入力操作タイプの予測を行う。本例では、ステップS2101において、近接物理量算出部117が算出した近接速度の値が「9cm/s」であったとする。操作タイプ予測部115は、算出された近接速度との差分が所定の値以内である操作履歴記憶部112に記憶された操作情報を抽出する。所定の値を「5cm/s」とすると、図13に示される操作情報の内、Q1、Q2、Q5の操作情報が抽出される。
例えば、抽出された操作情報に記された入力操作タイプ毎の接触位置が図16Bに記した分布であったとする。操作タイプ予測部115は、抽出された操作情報(Q1、Q2、Q5)の内、接触位置がステップS1104で算出した接触予測位置から所定の距離R内に存在する操作情報を抽出する。この抽出では、図16Bに示される接触位置の内、接触予測位置cから半径Rの円内領域に存在するタップ位置aおよびスワイプ位置bに紐付られた操作情報が抽出される。
操作タイプ予測部115は、抽出された操作情報の総数No、入力操作タイプω(ωは、T(タップ)もしくはS(スワイプ))毎の操作情報の数Nωを算出する。図16Bに示される画面例では、「No=16」「Nω=T=15」、「Nω=S=1」となる。操作タイプ予測部115が予測する入力操作タイプは、Nωを最大とする入力操作タイプとする。この内、「Nω=T=15」が最大であるので、予測される入力操作タイプは「タップ」となる。また、入力操作予測部115は、予測確度を、以下の式
(予測された入力操作タイプのNω)/No、
を用いて算出する。本例では、予測確度は「15/16=0.935」となる。なお、本例において示した予測方法は、一例であり、他の予測方法によって入力操作タイプの予測を行っても良い。
本発明の第2の実施形態の効果は、第1の実施形態の効果に加え、以下の効果を備える。即ち、本発明の第2の実施形態においては、接触予測位置に加えて、更に、物体のタッチスクリーン100への近接速度や、物体の近接方向を考慮して入力操作タイプの予測を行う。近接速度や近接方向と、入力操作タイプの間には依存関係が存在するため、これらの情報を含めて予測を行うことで、より高精度に予測を行うことが可能となる。例えば、図16Aの画面例では、近接速度を考慮しない場合、タップ操作である予測確度は「17/22=0.77」となる。しかしながら、現在算出された近接速度に近い近接速度で、過去にスワイプ操作がほとんどなされていなかったと判明したとする。この場合、得られた予測確度「0.77」よりも高い確度でタップ操作であると予測することが妥当と考えられる。本発明の第2の実施の形態では、このような場合においても、近接速度を基に、「15/16=0.935」(図16B参照)と予測確度を補正する。これにより、予測確度の精度をより向上させることができる。
<第3の実施形態>
本発明の第3の実施形態では、入力予測装置(12)がタッチスクリーンに表示している内容を考慮して、入力操作タイプの予測を行うことで、より高精度に予測を行う。一般的に、スマートフォンやタブレット端末のタッチスクリーンに表示される画面は、複数の画面またはタッチスクリーンより縦横幅が大きな1つの画像から構成される。利用者は、これらの画面(画像)をタッチスクリーン上で左右又は上下にスワイプすることで、複数の画面の内から所望の1つの画面、または、一枚の大きな画像の内から所望の一部の画像を、タッチスクリーン上に表示させる。
一例として、スマートフォンやタブレット端末を起動した際に最初に表示されるホーム画面は、複数の画面を横並びに配置し、その内の画面の1つをタッチスクリーンに表示する。各画面には、異なる種類のアイコンが複数配置され、各アイコンをタップすることで、当該アイコンに紐付られたアプリケーションを起動することができる。
画面毎に表示されている複数のアイコンの位置は異なるので、画面毎にタップされやすい位置も異なる。例えば、2つの左右に連なる画面から成るホーム画面があるとする。このうち左画面において、ある接触予測位置(これを接触予測位置Xとする)が得られ、この接触予測位置Xに対応するタップの確率として「0.5」が得られたとする。しかし、タッチスクリーンに右画面が表示された際、右画面には接触予測位置Xの近辺にアイコンが無いと仮定する。通常、アイコンのない位置にタップ操作は行われないので、この場合、入力操作がタップである可能性は低いと考えられる。つまり、接触予測位置Xが得られたことを基に算出したタップ操作の確率値に、現在タッチスクリーンに表示中の画面の識別子を加えることによって、得られたタップ操作の確率を、より正しい値(0に近い値)に補正する。
上述の様に、本発明の第3の実施形態では、タッチスクリーンに表示されている内容(画面)を考慮することで、入力操作タイプの予測精度を高めることができる入力予測装置(12)について説明する。
(入力予測装置)
本発明の第3の実施形態に係る入力予測装置12について図17を参照して、詳細に説明する。入力予測装置12は、タッチスクリーン100、入力部101、操作履歴記憶部122、近接検知部103、操作位置予測部104、操作タイプ予測部125、先行処理実行部106、表示部128および表示識別部129を備える。本発明の第1の実施形態と同一の構成要素については、図1と同一の符号を付し、詳細な説明は省略する。
表示部128は、タッチスクリーン100に対し、利用者が必要とする情報を提示する。例えば、表示部128は、利用者が入力操作や入力操作をすべき、タッチスクリーン上の所定位置に、アイコンを表示する。この他、表示部128は、利用者の入力操作に応じて、これらのアイコンが並んだホーム画面の表示や、表示するホーム画面の変更等を行う。
表示識別部129は、タッチスクリーン100に表示されている画面(画像)を識別する識別子を取得する。識別子は、例えば、スマートフォンにおけるホーム画面において、表示中の画面を一意に識別する識別子である。一般的に、ホーム画面は、複数の画面から構成され、スワイプ操作により、複数の画面を左右または上下に切り替えることができる。複数の画像が左右に並んでいる場合、一番左側の画面の識別子を1とし、一つ右に行く毎に識別子の数字を1ずつ増加させる。例えば、ホーム画面が3つの場合、左画面「1」、中央画面「2」、右画面「3」と識別子を付す。上下の場合も同様の方法で識別子を付す。ここで示した識別子は一例に過ぎず、他の識別子であってよい。例えば、Webブラウザに表示中のコンテンツのURL(Uniform Resource Locator)およびスクロール量を示す値であっても良い。
操作履歴記憶部122は、入力部101が取得した入力操作における接触位置、入力操作タイプに加えて、更に、表示識別部129が取得したタッチスクリーン100に表示された画面の画面識別子を記録する。操作履歴記憶部122が記憶する操作情報は、図18に示すように、「接触位置」、「画面識別子」、「入力操作タイプ」などの項目を備える。「画面識別子」とは、入力操作が行われた時点におけるタッチスクリーン100に表示された画面の識別子である。接触位置と入力操作タイプについては、本発明の第1の実施形態と同様であるため、詳細な説明を省略する。例えば、図18に示す操作情報W1の画面識別子には「1」が格納されている。これは、操作履歴記憶部122に記録された最初の操作が行われたときに、タッチスクリーン100に表示されていた画面は、画面1であったことを示す。同様に操作情報W2の画面識別子は「2」であるため、操作情報W2に関する操作が行われた時点の画面は、画面2であったことを示す。
操作タイプ予測部125は、操作履歴記憶部122が記憶する操作情報と、接触位置予測部104が算出する接触予測位置と、表示識別部129が取得する画面識別子を用いて、入力部101に対してなされる入力操作における入力操作タイプとを予測する。さらに、操作タイプ予測部125は、入力操作タイプの予測確度を算出する。本発明の第3の実施形態の操作タイプ予測部125は、予測確度を算出の際に、操作履歴記憶部122が記憶する接触位置、入力操作タイプに加えて、更に画面識別子を用いて予測する。この点が、操作タイプ予測部125は、本発明の第1の実施形態に係る操作タイプ予測部105とは異なる。操作タイプ予測部125における予測方法については後述する。
(入力予測装置の動作)
本発明の第3の実施形態に係る入力予測装置12の動作例について説明する。なお、本発明の第1の実施形態と同一の処理については、第1の実施形態における実施例を示す図7、図8における処理と同一の符号を付し、詳細な説明は省略する。
入力予測装置12の大まかな動作は、以下の通りである。
(1)入力予測装置12が、入力操作を検知して入力操作に関する操作情報を操作履歴情報記憶部122に記憶するときの動作、
(2)入力予測装置12が、入力操作を行おうとしている物体のタッチスクリーン100への近接を検知して、入力操作を予測するときの動作。
以下これらの動作の詳細について説明する。
(動作1)
入力操作を検知して入力操作に関する操作情報を操作履歴情報記憶部122に記憶するときの動作を図19のフローチャートを参照して説明する。
ステップS1001(入力部101が入力操作を行う物体の接触状態を確認する)からステップS1006(入力部101が操作タイプを判別する)までの処理は、本発明の第1の実施形態と同一であるため、説明を省略する。
ステップS3001において、表示識別部129は、タッチスクリーン100に表示中の画面の識別子を取得する。
ステップS3002において、入力予測装置12は、取得した識別子を含めた操作情報を操作履歴記憶部122に記録する。この時点で記録される操作情報には、接触位置、入力操作タイプ、ステップS3001で取得した画面識別子を有する。
(動作2)
入力操作を行おうとしている物体の入力部101への近接を検知して、入力操作を予測するときの動作を図20のフローチャートを参照して説明する。
ステップS1101(近接検知部103が入力を行う物体の近接状態を確認)からステップS1105(接触予測位置を算出)までの処理は本発明の第1の実施形態と同一の処理であるため、説明を省略する。
ステップS3101において、接触予測位置の算出に成功した後、表示識別部129は、タッチスクリーン100に表示中の画面の識別子を取得する。
ステップS3102において、操作タイプ予測部125は、表示識別部129が取得した画面識別子と、操作履歴記憶部122に記憶された操作情報とに従って、入力操作の入力操作タイプを予測する。
操作タイプ予測部125が実施する入力操作タイプの予測の方法について詳細に説明する。図21Aは、操作履歴記憶部122に記憶された操作情報における入力操作タイプ毎の接触位置(タップ位置a、スワイプ位置b)、ステップS1104において接触位置予測部104が算出した接触予測位置cの一例を示す画面図である。なお、本発明の第1の実施形態における操作タイプ予測部105によれば、図21Aの画面例では、入力操作タイプを「タップ」と予測し、予測確度を「14/22=0.636」と算出する。一方、本発明の第3の実施形態における操作タイプ予測部125は、表示識別部129が取得した画面識別子を更に考慮することで、入力操作タイプの予測を行う。
以下、ステップS3101において表示識別部129が取得したタッチスクリーン100に表示中の画面の画面識別子が「2」であったとして説明する。
操作タイプ予測部125は、操作履歴記憶部122を参照して、画面識別子が「2」に一致する操作情報を抽出する。例えば、操作履歴記憶部122が記憶する操作情報が、図18に示す操作情報であった場合は、操作情報W2、W3等が抽出される。
抽出された操作情報に記された入力操作タイプ毎の接触位置が図21Bに記された分布であったとする。操作タイプ予測部125は、抽出された操作情報の内、接触位置がステップS1104で算出した接触予測位置から所定の距離R以内である操作情報を更に抽出する。具体的には、図21Bに示す半径Rの円内に存在する接触位置に紐付られた操作情報が抽出される。操作タイプ予測部125は、抽出された操作情報の総数No、入力操作タイプω(ωは、T(タップ)もしくはS(スワイプ))毎の操作情報の数Nωを算出する。図21Bに示す分布においては、「No=6」「Nω=T=0」、「Nω=S=6」となる。操作タイプ予測部125が予測する入力操作タイプは、Nωを最大とする入力操作タイプとする。この場合、「Nω=S=6」が最大であるので、予測される入力操作タイプは「スワイプ」となる。また、入力操作予測部125は、予測確度を、以下の式を用いて算出する。
(予測された入力操作タイプのNω)/No
図21Bの分布において、上記の式を用いて算出される予測確度は「6/6=1」となる。
本発明の第3の実施形態の効果は、第1および2の実施形態の効果に加え、以下の効果がある。即ち、本発明の第3の実施形態においては、接触予測位置に加えて、更に、タッチスクリーン100に表示された画面を考慮して操作タイプの予測を行う。画面毎に、入力操作を行う物体が入力部に接触する位置の傾向は異なるので、表示中の画面に関する情報を含めて予測を行うことで、より高精度に予測を行うことが可能となる。例えば、現在表示されている画面において、得られた接触予測位置の近辺にアイコンが存在しない場合、入力操作がタップである可能性は低いと考えられる。本実施形態によれば、表示中の画面の情報を考慮せずに入力操作タイプを予測すると、「タップ」と予測してしまう場合(図21A参照)でも、現在表示中の画面を考慮することで、予測を「スワイプ」に修正(図21B参照)することができる。
<第4の実施形態>
本発明の第4の実施形態にかかる入力予測装置(10a)は、情報処理装置が備える画面(タッチスクリーン)への入力を予測する装置である。図22に示すように、入力予測装置10aは、入力部101a、操作履歴記憶部102a、近接検知部103a、接触位置予測部104a、操作タイプ予測部105aおよび処理実行部106bを備える。
入力部101aは、入力操作する物体と入力操作を行う画面との接触位置および入力操作のタイプを取得する。
操作履歴記憶部102aは、取得された接触位置および入力操作のタイプを含む操作情報を記憶する。
近接検知部103aは、画面に近接する物体の位置情報を取得する。
接触位置予測部104aは、取得された位置情報に基づき、物体が画面に接触するであろう位置である予測位置を予測する。
操作タイプ予測部105aは、予測位置と、操作履歴記憶部から取得する操作情報に基づき、物体が行うであろう入力操作のタイプである予測入力操作タイプを予測し、予測入力操作タイプの確度を算出する。
処理実行部106bは、予測位置、予測入力操作のタイプおよび確度に基づき、所定の処理を実施する。
本発明の第4の実施形態にかかる入力予測装置10aによると、利用者が情報処理装置に対して入力操作を実施する前に、入力操作タイプを予測し、入力操作タイプの予測確度を算出することで、入力予測を正確に行うことができる。