[比較例]
以下、開示の技術の実施形態の説明に先立ち、開示の技術の比較例を説明する。図32には、本比較例に係るスマートフォン300の構成の一例が示されている。図32に示すように、スマートフォン300は、コンピュータ302及び各種の入出力デバイスを含む。コンピュータ302は、CPU(Central Processing Unit)、揮発性のメモリ(例えばRAM(Random Access Memory))及び不揮発性の記憶部(例えばHDD(Hard Disk Drive)やフラッシュメモリなど)を備えている。
スマートフォン300は、コンピュータ302と各種の入出力デバイスとを電気的に接続してコンピュータ302と各種の入出力デバイスとの間の各種情報の送受信を司るインプット・アウトプット・インターフェース(I/O)304を備えている。スマートフォン300は、コンピュータ302がI/O304に接続されており、I/O304に接続されることでコンピュータ302と電気的に接続される入出力デバイスとして、タッチパネル・ディスプレイ308を備えている。
タッチパネル・ディスプレイ308は、開示の技術における検知部の一例である透過型のタッチパネル308A及び開示の技術における表示部の一例であるディスプレイ308B(例えば液晶ディスプレイ)を有している。タッチパネル308Aはディスプレイ308Bに重ねられている。
タッチパネル308Aは、指示体(例えばスマートフォン300の利用者の指)による接触を検知し、タッチパネル308A上の指示体の接触位置を示す接触位置情報(例えば二次元座標)を出力することで指示を受け付ける。ディスプレイ308Bは各種情報を表示する。
スマートフォン300は、I/O304に接続される入出力デバイスとして、通信部310、送話部312、受話部313及び外部インタフェース(I/F)314を備えている。
通信部310は、無線通信網の最寄の基地局との間で無線通信を行うことで、無線通信網に接続された情報処理装置(図示省略)とコンピュータ302との間の各種情報の送受信を司る。通信部310は、例えばアンテナ(図示省略)及びRF(Radio Frequency)回路(図示省略)を含んで構成されている。この場合、通信部310は、例えば外部の情報処理装置から基地局を経由して無線で送信された信号をアンテナで受信し、受信した信号をRF回路で復調処理し、受信した信号に含まれる情報をコンピュータ302に供給する。また、通信部310は、コンピュータ302から供給された情報を変調処理し、アンテナを介し基地局経由で外部の情報処理装置へ送信する。
送話部312は、スマートフォン300の利用者が通話時に発した音声を検出し、検出した音声を示す音声信号をコンピュータ302に出力する。送話部312は、例えばマイクロフォン(図示省略)及び信号処理回路(図示省略)を含む。この場合、例えばマイクロフォンで音声を検出し、マイクロフォンで検出された音声を信号処理回路で音声データに変換してコンピュータ302を介して通信部310に出力する。なお、ここでは、音声データをコンピュータ302を介して通信部310に出力する態様を例示しているが、送話部312に含まれる信号処理部から通信部310に直接出力してもよい。
受話部313は、通信部310で受信された音声情報により示される音声を出力する。受話部313は、例えばD/A(デジタル/アナログ)変換回路(図示省略)、増幅器(図示省略)及びスピーカ(図示省略)を含んでいる。この場合、例えばコンピュータ302から供給された音声データに対してD/A変換回路がD/A変換を行い、D/A変換後に増幅器で増幅された音声信号をスピーカに出力する。スピーカは、増幅器から入力された音声信号に応じた音声を外部に出力する。なお、ここでは、通信部310で受信された音声データがコンピュータ302を介して受話部313に供給される態様を例示しているが、通信部310で受信された音声データがコンピュータ302を介さずに受話部313に直接供給されてもよい。
外部I/F314は、外部装置(例えばパーソナル・コンピュータやUSBメモリ)が接続され、外部装置とコンピュータ302との間の各種情報の送受信を司る。
コンピュータ302は、タッチパネル制御ソフト302A、ドライバソフト302B及びディスプレイ制御ソフト302Cを有する。タッチパネル制御ソフト302Aは、タッチパネル308Aを制御するためのソフトウェアである。ドライバソフト302Bは、スマートフォン300にインストールされているOS(Operating System)及びタッチパネル制御ソフト302Aに対して共通化されたインタフェースを提供するソフトウェアである。ディスプレイ制御ソフト302Cは、ディスプレイ308Bを制御するためのソフトウェアである。なお、以下では、タッチパネル制御ソフト302A、ドライバソフト302B及びディスプレイ制御ソフト302Cを区別して説明する必要がない場合はタッチパネル・ディスプレイ用ソフトと称する。
ところで、ディスプレイ308Bは、コンピュータ302によってディスプレイ制御ソフト302Cが実行されることで、様々な画面を表示する。ディスプレイ308Bに表示される様々な画面のうち、特定の画面(ここでは一例としてスライド表示(スクロール表示)可能な画面、拡大可能な画面及び縮小可能な画面)の態様は、スマートフォン300が操作されることによって変化する。すなわち、特定の画面の態様は、コンピュータ302によってタッチパネル・ディスプレイ用ソフトが実行されることで、指示体によるタッチパネル308Aへの接触操作に応じて変化する。
例えば、ディスプレイ308Bにスライド表示可能な画面が表示されている場合、画面は、タッチパネル308Aに対して行われるスライド操作に従ってスライドする。スライド操作とは、例えばタッチパネル308Aに対して1つの指示体が接触し、接触状態を維持したまま接触位置を直線的に移動させる接触操作を指す。
また、ディスプレイ308Bに拡大及び縮小可能な画面が表示されている場合、画面は、タッチパネル308Aに対して行われるピンチアウト操作に従って拡大され、タッチパネル308Aに対して行われるピンチイン操作に従って縮小される。ピンチアウト操作とは、例えばタッチパネル308Aに対して2つの指示体が接触し、接触状態を維持したまま2つの接触位置を互いにの距離が拡大する方向に移動させる接触操作を指す。ピンチイン操作とは、例えばタッチパネル308Aに対して2つの指示体が接触し、接触状態を維持したまま2つの接触位置を互いの距離が縮小する方向に移動させる接触操作を指す。なお、以下では、ピンチアウト操作及びピンチイン操作を区別して説明する必要がない場合は「ピンチ操作」と称する。
次に、図33を参照して、タッチパネル308Aに対して行われたスライド操作に応じてコンピュータ302及びタッチパネル308Aで行われる処理について説明する。
図33は、タッチパネル308Aに対して行われたスライド操作に応じてコンピュータ302及びタッチパネル308Aで行われる処理の流れの一例を示すシーケンス図である。なお、図33に示す例では、コンピュータ302で行われる処理が、コンピュータ302によってタッチパネル制御ソフト302A、ドライバソフト302B及びディスプレイ制御ソフト302Cが実行されることで実現される機能で示されている。
図33に示すように、タッチパネル308Aに対して指示体の接触を開始すると、タッチパネル308Aは、指示体の接触を検知し、時間Ttps(一例として10ms毎)後に接触位置情報At(0)をドライバソフト302Bへ出力する。タッチパネル制御ソフト302Aは、タッチパネル308Aからドライバソフト302Bを介して、接触位置情報At(0)を取得する。
タッチパネル308Aは、接触位置情報At(0)を出力すると、指示体の接触状態が解除されるまで、時間Ttpf毎(一例として20ms毎)に接触位置情報At(n)をドライバソフト302Bへ出力する。タッチパネル制御ソフト302Aは、タッチパネル308Aで指示体の接触が検知されて接触位置情報At(n)が出力される毎に、ドライバソフト302Bを介して接触位置情報At(n)(図33に示す例では、At(1),At(2))を取得する。
タッチパネル制御ソフト302Aは、接触位置情報At(0)に続いて接触位置情報At(1)を取得することで、指示体によるタッチパネル308Aへの接触操作がスライド操作であることを認識する。タッチパネル制御ソフト302Aは、スライド操作を認識すると、ディスプレイ308Bに次に表示すべき画面を示す画面データ(以下、「画面データ」という)の生成を開始し、接触位置情報At(2)を取得したときに画面データの生成を終了する。そして、ディスプレイ制御ソフト302Cは、タッチパネル制御ソフト202Bにより生成された画面データにより示される画面をディスプレイ308Bに対して表示させるように制御を行う。
図33に示す時間Ttp−disは、タッチパネル308Aに対してスライド操作を開始してからディスプレイ制御ソフト302Cによるディスプレイ308Bに対する制御が行われるまでに要する時間である。時間Ttp−disは、下記の式(1)によって示される。式(1)において、時間Ttpsは、タッチパネル308Aへの指示体の接触が開始されてから接触位置情報At(0)が出力されるまでに要した時間である。また、時間Tdisは、タッチパネル制御ソフト302Aによる画面データの生成開始時から、ディスプレイ制御ソフト302Cによって画面データにより示される画面をディスプレイ308Bに表示させる制御が行われるまでに要した時間である。
Ttp−dis=Ttps+Ttpf+Tdis・・・・・・(1)
次に、図34を参照して、タッチパネル308Aに対して行われたピンチ操作に応じてコンピュータ302及びタッチパネル308Aで行われる処理について説明する。ここでは、説明の便宜上、タッチパネル308Aに対して2つの指示体のうちの一方が接触を開始してから時間Tfdly遅れて他方の指示体が接触を開始する場合を示している。
図34は、タッチパネル308Aに対して行われたピンチ操作に応じてコンピュータ302及びタッチパネル308Aで行われる処理の流れの一例を示すシーケンス図である。なお、図34に示す例でも図33と同様に、コンピュータ302で行われる処理が、コンピュータ302によってタッチパネル制御ソフト302A、ドライバソフト302B及びディスプレイ制御ソフト302Cが実行されることで実現される機能で示されている。
図34に示すように、タッチパネル308Aに対して一方の指示体が接触を開始すると、タッチパネル308Aは、指示体の接触を検知し、時間Ttps後に接触位置情報At(0)をドライバソフト302Bへ出力する。タッチパネル制御ソフト302Aは、タッチパネル308Aからドライバソフト302Bを介して、接触位置情報At(0)を取得する。タッチパネル308Aは、接触位置情報At(0)を出力すると、指示体の接触状態が解除されるまで、時間Ttpf毎に接触位置情報At(n)をドライバソフト302Bへ出力する。タッチパネル制御ソフト302Aは、タッチパネル308Aによって指示体の接触が検知されて接触位置情報At(n)が出力される毎に、ドライバソフト302Bを介して接触位置情報At(n)を取得する。
タッチパネル308Aに対して他方の指示体が接触を開始すると、タッチパネル308Aは、指示体の接触を検知してから所定のタイミングで接触位置情報Bt(0)をドライバソフト302Bへ出力する。所定のタイミングとは、例えばタッチパネル308Aが接触位置情報At(0)を出力してから時間Ttpf後の時点(図34に示す例では、指示体の接触を検知してから時間Ttps’後の時点)を指す。タッチパネル制御ソフト302Aは、タッチパネル308Aからドライバソフト302Bを介して、接触位置情報Bt(0)を取得する。タッチパネル308Aは、接触位置情報Bt(0)を出力すると、指示体の接触状態が解除されるまで、Ttpf毎に接触位置情報Bt(n)をドライバソフト302Bへ出力する。タッチパネル制御ソフト302Aは、タッチパネル308Aによって指示体の接触が検知されて接触位置情報Bt(n)が出力される毎に、ドライバソフト302Bを介して接触位置情報Bt(n)を取得する。
タッチパネル制御ソフト302Aは、接触位置情報At(0)、At(1)、At(2)、Bt(0)及びBt(1)を取得することで、指示体によるタッチパネル308Aへの接触操作がピンチ操作であることを認識する。すなわち、タッチパネル制御ソフト302Aは、接触位置情報At(0)に続いて接触位置情報At(1)及びBt(0)を取得し、更に、接触位置情報At(2)及びBt(1)を取得することで、接触操作がピンチ操作であることを認識する。タッチパネル制御ソフト302Aは、ピンチ操作を認識すると、画面データの生成を開始し、接触位置情報At(3)及びBt(2)を取得したときに画面データの生成を終了する。そして、ディスプレイ制御ソフト302Cは、タッチパネル制御ソフト202Bにより生成された画面データにより示される画面をディスプレイ308Bに表示させる制御を行う。
図34に示す時間Ttp−disは、タッチパネル308Aに対してピンチ操作を開始してから、ディスプレイ制御ソフト302Cによるディスプレイ308Bに対する制御が行われるまでに要する時間である。時間Ttp−disは、下記の式(2)によって示される。なお、式(2)において、時間Ttps,Ttpf,Tdisは、式(1)と同一である。
Ttp−dis=Ttps+2Ttpf+Tdis・・・・・・(2)
[実施形態]
次に開示の技術の実施形態の一例を詳細に説明する。なお、以下の説明では、開示の技術における情報処理装置として、多機能型の携帯電話機、いわゆるスマートフォンを例に挙げて説明するが、開示の技術は、これに限定されるものではない。開示の技術は、例えば、携帯型のパーソナル・コンピュータやPDA、据置型のパーソナル・コンピュータ、ATMなどの種々の情報処理装置にも適用可能である。なお、本実施形態では、上記比較例で説明した構成要素と同一の構成要素に同一の符号を付し、説明を省略する。
スマートフォン10は、検知部12、予測部14、実行部16及び表示部18を含む。検知部12は、操作面への接触を検知して操作面上の接触位置を示す接触位置情報を出力する。ここで言う「操作面」とは、例えばスマートフォン10に備えられているタッチパネル・ディスプレイの表面を指す。
予測部14は、検知部12から出力された接触位置情報により示される接触位置の時系列から、操作面への接触操作が特定されるよりも前に、検知部12から出力された接触位置情報から特定される接触位置の数に基づいて接触操作を予測する。操作面への接触操作が特定されるよりも前に接触位置情報から特定される接触位置の数とは、例えば、接触位置の開始位置(例えば接触位置の接触開始時の位置)の数を指し、操作面に接触している指示体の数に相当する。すなわち、例えば操作面に対して指示体としての指が1本接触していれば、操作面への接触操作が特定されるよりも前の接触位置の数は“1”となる。また、接触面に対して指示体としての指が2本接触していれば、操作面への接触操作が特定されるよりも前の接触位置の数は“2”となる。なお、本実施形態では、説明の便宜上、接触操作として、スライド操作及びピンチ操作を例に挙げて説明する。
実行部16は、予測部14により予測された接触操作に応じた処理を実行する。ここで言う「接触操作に応じた処理」とは、例えばスマートフォン10に備えられているタッチパネル・ディスプレイに表示されている画面を接触操作に応じて移動させる処理を指す。
予測部14は、接触位置の数が1つの場合、接触操作をスライド操作と予測する。また、予測部14は、接触位置の数が複数の場合、接触操作を、操作面における一対の接触位置の距離を伸縮させる伸縮操作の一例であるピンチ操作であると予測する。ここで、「少なくとも一対の接触位置」とは、例えば操作面に対して2つ以上の指示体(例えば2本以上の指)が接触した位置を指す。なお、本実施形態では、錯綜を回避するために、操作面に対して2つの指示体が接触した場合(一対の接触位置の場合)を例に挙げて説明する。
予測部14は、接触操作をスライド操作と予測してから、前記操作面への接触操作がスライド操作と特定されるよりも前に、接触位置の数が増加した場合、接触操作の予測をスライド操作からピンチ操作へ変更する。
予測部14は、接触操作をスライド操作と予測した場合、接触位置と接触面に対して予め設定された基準線(以下、単に「基準線」という)との位置関係から、スライド操作における接触位置のスライド方向を更に予測する。なお、基準線を用いてスライド方向が予測される場合としては、例えばタッチパネル・ディスプレイに対して、正面視水平方向及び垂直方向の少なくとも一方にスライド表示可能な画面が表示されている場合が挙げられる。
予測部14は、接触操作をスライド操作と予測した場合、接触位置と操作面に対して予め設定された基準点(以下、単位「基準点」という)との位置関係から、スライド操作における接触位置のスライド方向を更に予測する。基準点を用いてスライド方向が予測される場合としては、例えばタッチパネル・ディスプレイに対して、正面視水平方向及び垂直方向にスライド表示可能な画面が表示されている場合が挙げられる。また、この他にも、操作面における中心から360度の全方向にスライド表示可能な画面が表示されている場合が挙げられる。
予測部14は、接触操作をピンチ操作と予測し、かつ、一対の接触位置の距離が閾値以下の場合、伸縮操作のうちの一対の接触位置の距離を拡大する拡大操作の一例であるピンチアウト操作であると予測する。また、予測部14は、接触操作をピンチ操作であると予測し、かつ、一対の接触位置の距離が閾値を超えた場合、伸縮操作のうちの一対の接触位置の距離を縮小する縮小操作の一例であるピンチイン操作であると予測する。
スマートフォン10は、基準線再設定部18、基準点再設定部20及び更新部22を含む。基準線再設定部18は、基準線が、過去に行われたスライド操作における接触位置の開始位置と終了位置との間に位置するように、基準線を操作面に対して設定し直す。基準点再設定部20は、基準点が、過去に行われたスライド操作における接触位置の開始位置と終了位置との間に位置するように、基準点を操作面に対して設定し直す。なお、ここで言う「終了位置」とは、例えば接触位置の接触終了時の位置を指す。また、ここで言う「開始位置と終了位置との間」としては、例えば開始位置と終了位置との中央の位置が挙げられるが、開示の技術はこれに限定されるものではない。例えば、中央の位置よりも開始位置側に所定距離(例えばユーザによって指定された距離)だけ寄った位置や、中央の位置よりも終了位置側に所定距離だけ寄った位置であってもよい。また、ここで言う「過去に行われたスライド操作」とは、例えば過去に行われた最新のスライド操作を指すが、これに限らず、例えば過去の所定期間内に行われた単一のスライド操作であってもよい。
更新部22は、予測部14によりピンチ操作がピンチアウト操作であるか或いはピンチイン操作であるかを予測する際に用いられる上述の閾値を更新する。すなわち、閾値を、過去に行われたピンチ操作における一対の接触位置における接触位置の接触開始時の距離と接触終了時の距離との間に相当する値に更新する。
スマートフォン10は、表示部24を含む。表示部24は、画面を表示する。実行部16は、予測部14により予測された接触操作に応じた画面を表示部24に対して表示させる。なお、表示部24としては、例えばスマートフォン10に備えられているタッチパネル・ディスプレイに含まれるディスプレイが挙げられる。
スマートフォン10は、判定部26を含む。判定部26は、予測部14によって予測された接触操作の正否を判定する。すなわち、検知部12から出力された接触位置情報により示される接触位置の時系列から特定された接触操作と比較することで、予測部14の予測結果が正しいか否かを判定する。実行部16は、判定部26により予測部14の予測結果が正しいと判定された場合に表示部24に画面を表示させる。
図2には、スマートフォン10の電気系の要部構成の一例が示されている。図2に示すように、スマートフォン10は、比較例で説明したスマートフォン300(図32参照)と比較して、コンピュータ302に代えてコンピュータ40を有している点が異なっている。予測部14、実行部16、基準線再設定部18、基準点再設定部20、更新部22及び判定部26は、例えばコンピュータ40及び各種の入出力デバイスによって実現することができる。
コンピュータ40は、CPU(Central Processing Unit)42、メモリ44及び不揮発性の記憶部46を備え、CPU42、メモリ44及び記憶部46はバス48を介して互いに接続されている。バス48は、I/O304に接続されている。なお、記憶部46は、HDD(Hard Disk Drive)やフラッシュメモリなどによって実現できる。
記憶部46には、画面更新処理プログラム50、基準線再設定処理プログラム52、基準点再設定処理プログラム54及び閾値更新処理プログラム56(以下、区別して説明する必要がない場合は単に「プログラム」という)が記憶されている。CPU42は、記憶部46から画面更新処理プログラム50を読み出してメモリ44に展開し、画面更新処理プログラム50が有するプロセスを順次実行する。画面更新処理プログラム50は、予測プロセス50A、実行プロセス50B及び判定プロセス50Cを有する。CPU42は、予測プロセス50Aを実行することで、図1に示す予測部14として動作する。また、CPU42は、実行プロセス50Bを実行することで、図1に示す実行部16として動作する。更に、CPU42は、判定プロセス50Cを実行することで、図1に示す判定部26として動作する。
CPU42は、記憶部46から基準線再設定処理プログラム52を読み出してメモリ44に展開し、基準線再設定処理プログラム52が有するプロセスを実行する。基準線再設定処理プログラム52は、基準線再設定プロセス52Aを有する。CPU42は、基準線再設定プロセス52Aを実行することで、図1に示す基準線再設定部18として動作する。
CPU42は、記憶部46から基準点再設定処理プログラム54を読み出してメモリ44に展開し、基準点再設定処理プログラム54Aが有するプロセスを実行する。基準点再設定処理プログラム54は、基準点再設定プロセス54Aを実行することで、図1に示す基準点再設定部20として動作する。
CPU42は、記憶部46から閾値更新処理プログラム56を読み出してメモリ44に展開し、閾値更新処理プログラム56が有するプロセスを実行する。閾値更新処理プログラム56は、更新プロセス56Aを有する。CPU42は、更新プロセス56Aを実行することで、図1に示す更新部22として動作する。
なお、ここではプログラムを記憶部46から読み出す場合を例示したが、必ずしも最初から記憶部46に記憶させておく必要はない。例えば、コンピュータ40に接続されて使用されるSSD(Solid State Drive)、DVDディスク、ICカード、光磁気ディスク、CD−ROMなどの任意の「可搬型の記憶媒体」に先ずはプログラムを記憶させておいてもよい。そして、コンピュータ40がこれらの可搬型の記憶媒体からプログラムを取得して実行するようにしてもよい。また、通信回線を介してコンピュータ40に接続される他のコンピュータ又はサーバ装置等の記憶部にプログラムを記憶させておき、コンピュータ40が他のコンピュータ又はサーバ装置等からプログラムを取得して実行してもよい。
次に本実施形態の作用として、スマートフォン10によって行われる画面更新処理について、図3を参照して説明する。画面更新処理は、CPU42が画面更新処理プログラム50を実行することで行われる。スマートフォン10は、タッチパネル308Aが接触を検知していない場合は画面更新処理を行わず、タッチパネル308Aが接触を検知した場合に画面更新処理を行う。すなわち、CPU42は、タッチパネル308Aが接触を検知していない場合、画面更新処理プログラム50を実行せずに、タッチパネル308Aが接触を検知した場合、所定周期毎に画面更新処理プログラム50を実行する。つまり、CPU42は、指示体がタッチパネル308Aに接触している間、所定周期毎に画面更新処理プログラム50を実行する。所定周期としては、例えば接触位置情報が入力される周期(一例として比較例で説明した時間Ttpf(図33参照))が挙げられる。なお、ここでは、説明の便宜上、スマートフォン10のディスプレイ308Bに、スライド操作によりスライド表示可能な画面又はピンチ操作により拡大及び縮小可能な画面が表示されている場合について説明する。また、ここでは、錯綜を回避するために、タッチパネル308Aが1つ又は2つの指示体の接触を検知した場合について説明する。
図3は、画面更新処理の流れの一例を示すフローチャートである。図3に示す画面更新処理では、先ず、ステップ100において、予測部14により、タッチパネル308Aから入力された接触位置情報により示される接触位置が開始位置であるか否かが判定される。ステップ100において、タッチパネル308Aから入力された接触位置情報により示される接触位置が開始位置である場合は判定が肯定されてステップ106へ移行する。
ステップ106において現在の開始位置の数が1である場合は判定が肯定されてステップ108へ移行する。ステップ106において現在の開始位置の数が1でない場合(2の場合)は判定が否定されてステップ110へ移行する。
ステップ108では、予測部14により、一例として図4に示すスライド操作準備処理が行われ、その後、画面更新処理を終了する。
ステップ110では、予測部14により、一例として図11に示すピンチ操作準備処理が行われ、その後、画面更新処理を終了する。
一方、ステップ100において、タッチパネル308Aから入力された接触位置情報により示される接触位置が接触位置でない場合は判定が否定されてステップ114へ移行する。ステップ114では、実行部16により、メモリ44の所定の記憶領域に開始位置毎に、入力された最新の接触位置情報が時系列で記憶される。次のステップ116では、実行部16により、一例として図14に示す接触操作処理が行われ、その後、画面更新処理を終了する。
図4に示すスライド操作準備処理では、先ず、ステップ120において、予測部14により、ディスプレイ308Bに現在表示されている画面が左右方向スライド画面であるか否かが判定される。「左右方向スライド画面」とは、左右方向(例えばディスプレイ308Bに対して正面視水平方向)にスライド表示可能な画面を指す。ステップ120においてディスプレイ308Bに現在表示されている画面が左右方向スライド画面である場合は判定が肯定されてステップ122へ移行する。ステップ122では、予測部14により、一例として図5に示す第1スライド操作準備処理が行われ、その後、スライド操作準備処理を終了する。
一方、ステップ120において左右方向スライド画面でない場合は判定が否定されてステップ124へ移行する。ステップ124では、予測部14により、上下方向スライド画面であるか否かが判定される。「上下方向スライド画面」とは、上下方向(例えばディスプレイ308Bに対して正面視垂直方向)にスライド表示可能な画面を指す。ステップ124においてディスプレイ308Bに現在表示されている画面が上下方向スライド画面である場合は判定が肯定されてステップ126へ移行する。ステップ126では、予測部14により、一例として図7に示す第2スライド操作準備処理が行われ、その後、スライド操作準備処理を終了する。
一方、ステップ124において上下方向スライド画面でない場合(全方向スライド画面である場合)は判定が否定されてステップ128へ移行する。「全方向スライド画面」とは、ディスプレイ308Bの中央から360度の全方向に対してスライド表示可能な画面を指す。ステップ128では、予測部14により、一例として図9に示す第3スライド操作準備処理が行われ、その後、スライド操作準備処理を終了する。
図5に示す第1スライド操作準備処理では、先ず、ステップ122Aにおいて、予測部14により、開始位置が第1基準線の左側であるか否かが判定される。ステップ122Aにおいて開始位置が第1基準線の左側である場合は判定が肯定されてステップ122Bへ移行する。ここで言う「第1基準線」とは、例えば図6に示すように、タッチパネル308Aの正面視中央を縦断する直線Yを指す。従って、タッチパネル308Aは直線Yを境にして正面視左側の領域(以下、「左側被接触領域」という)と正面視右側の領域(以下、「右側被接触領域」という)とに大別される。図6に示す例では、接触位置情報At(0)により特定される開始位置から接触位置情報At(n)により特定される終了位置までの接触位置の移動経路が示されており、開始位置が左側被接触領域に存在している。この場合、ステップ122Aでは判定が肯定される。逆に、開始位置が右側被接触領域に存在している場合、ステップ122Aでは判定が否定される。
ステップ122Bでは、予測部14により、右方向スライド操作であるという予測を示す右スライド予測フラグがオンされ、その後、ステップ122Cへ移行する。なお、「右方向スライド操作」とは、例えば図6に示す左側被接触領域から右側被接触領域にかけて図6に示す直線方向に接触位置を移動させる操作を指す。
一方、ステップ122Aにおいて接触位置が第1基準線の左側にない場合(右側にある場合(第1基準線上にある場合も含む))は判定が肯定されてステップ122Dへ移行する。ステップ122Dでは、予測部14により、左方向スライド操作であるという予測を示す左スライド予測フラグがオンされ、その後、ステップ122Cへ移行する。なお、「左方向スライド操作」とは、例えば図6に示す右側被接触領域から左側被接触領域にかけて図6に示す直線方向と逆方向に接触位置を移動させる操作を指す。
ステップ122Cでは、実行部16により、ディスプレイ308Bに現在表示されている画面をスライド量Sでスライド移動させた画面を示す画面データが生成されて保持され、その後、第1スライド操作準備処理を終了する。すなわち、ステップ122Cにおいて、実行部16は、右スライド予測フラグがオンされている場合、ディスプレイ308Bに現在表示されている画面をスライド量Sで右方向へスライド移動させた画面を示す画面データを生成して保持する。また、ステップ122Cにおいて、実行部16は、左スライド予測フラグがオンされている場合、ディスプレイ308Bに現在表示されている画面をスライド量Sで左方向へスライド移動させた画面を示す画面データを生成して保持する。なお、「右方向へスライド移動させた画面」とは、例えばディスプレイ308Bに現在表示されている画面の表示位置を図6における右側へ移動させた画面を指す。また、「左方向へスライド移動させた画面」とは、例えばディスプレイ308Bに現在表示されている画面の表示位置を図6における左側へ移動させた画面を指す。
図7に示す第2スライド操作準備処理では、先ず、ステップ126Aにおいて、予測部14により、接触位置が第2基準線の上側であるか否かが判定される。ステップ126Aにおいて接触位置が第2基準線の上側である場合は判定が肯定されてステップ126Bへ移行する。ここで言う「第2基準線」とは、例えば図8に示すように、タッチパネル308Aを横断する直線Xを指す。図8に示す例では、直線Xはタッチパネル308Aの中央よりも下側に配置されている。従って、タッチパネル308Aは直線Xを境にして正面視上側の領域(以下、「上側被接触領域」という)と正面視下側の領域(以下、「下側被接触領域」という)とに大別される。図8に示す例では、接触位置情報At(0)により特定される開始位置から接触位置情報At(n)により特定される終了位置までの接触位置の移動経路が示されており、開始位置が上側被接触領域に存在している。この場合、ステップ126Aでは判定が肯定される。逆に、開始位置が下側被接触領域に存在している場合、ステップ126Aでは判定が否定される。
ステップ126Bでは、予測部14により、下方向スライド操作であるという予測を示す下スライド予測フラグがオンされ、その後、ステップ126Cへ移行する。なお、「下方向スライド操作」とは、例えば図8に示す上側被接触領域から下側被接触領域にかけて図8に示す直線方向に接触位置を移動させる操作を指す。
一方、ステップ126Aにおいて接触位置が第2基準線の上側にない場合(下側にある場合(基準線上にある場合も含む))は判定が肯定されてステップ126Dへ移行する。ステップ126Dでは、予測部14により、上方向スライド操作であるという予測を示す上スライド予測フラグがオンされ、その後、ステップ126Cへ移行する。なお、「上方向スライド操作」とは、例えば図8に示す下側被接触領域から上側被接触領域にかけて図8に示す直線方向と逆方向に接触位置を移動させる操作を指す。
ステップ126Cでは、実行部16により、ディスプレイ308Bに現在表示されている画面をスライド量Sでスライド移動させた画面を示す画面データが生成されて保持され、その後、第2スライド操作準備処理を終了する。ステップ126Cにおいて、実行部16は、下スライド予測フラグがオンされている場合、ディスプレイ308Bに現在表示されている画面をスライド量Sで下方向へスライド移動させた画面を示す画面データを生成して保持する。また、ステップ126Cにおいて、実行部16は、上スライド予測フラグがオンされている場合、ディスプレイ308Bに現在表示されている画面をスライド量Sで上方向へスライド移動させた画面を示す画面データを生成して保持する。なお、「下方向へスライド移動させた画面」とは、例えばディスプレイ308Bに現在表示されている画面の表示位置を図8における下側へ移動させた画面を指す。また、「上方向へスライド移動させた画面」とは、例えばディスプレイ308Bに現在表示されている画面の表示位置を図8における上側へ移動させた画面を指す。
図9に示す第3スライド操作準備処理では、先ず、ステップ128Aにおいて、予測部14により、基準点と接触位置との位置関係からスライド操作の方向を示す角度が算出される。
「スライド操作の方向を示す角度」とは、例えば基準点と接触位置とを結ぶ線分とタッチパネル308Aにおける所定の直線とが成す角度を指す。ここで言う「基準点」とは、例えば図10に示すように、タッチパネル308A上の1点(基準点Z)を指す。図10に示す例では、接触位置情報At(0)により特定される開始位置から接触位置情報At(n)により特定される終了位置までの接触位置の移動経路が示されている。また、図10に示す例では、開始位置と基準点Zとの延長線上に終了位置が存在しているので、この場合、予測したスライド操作の方向と実際のスライド操作の方向とが一致していると言える。なお、本実施形態で用いる「一致」とは、所定誤差内での一致を意味する。従って、「予測したスライド操作の方向と実際のスライド操作の方向とが一致している」とは、例えば±3度以内の角度で一致していることを指す。
次のステップ128Bでは、予測部14により、上記ステップ128Aで算出された角度を示す角度情報が生成されて保持され、その後、ステップ128Cへ移行する。ステップ128Cでは、実行部16により、ディスプレイ308Bに現在表示されている画面を所定角度の方向へスライド量Sでスライド移動させた画面を示す画面データが生成されて保持され、その後、第3スライド操作準備処理を終了する。ここで、所定角度の方向とは、例えば現時点で保持している角度情報により示される角度の方向を指す。
図11に示すピンチ操作準備処理では、先ず、ステップ130において、予測部14により、一対の開始位置間の距離が開示の技術における閾値の一例であるピンチ判別距離L1以下であるか否かが判定される。「開始位置間」とは、例えば所定の記憶領域に接触位置毎に記憶されている接触位置情報により特定される一対の開始位置間の距離を指す。ステップ130において一対の開始位置間の距離がピンチ判別距離L1以下の場合は判定が肯定されてステップ132へ移行する。図12にはピンチアウト操作であると予測される場合の一対の接触位置の移動経路とピンチ判別距離L1との関係の一例が示されている。図12に示す例では、接触位置情報At(0),Bt(0)により特定される一対の接触位置間の距離がピンチ判別距離L1よりも短い。この場合、ステップ130では判定が肯定される。
ステップ132では、予測部14により、ピンチアウト操作であるという予測を示すピンチアウト予測フラグがオンされ、その後、ステップ134へ移行する。ステップ134では、実行部16により、ディスプレイ308Bに現在表示されている画面を所定の割合で拡大した画面(例えば拡大率Mの画面)を示す画面データが生成されて保持され、その後、ピンチ操作準備処理を終了する。
一方、ステップ130において一対の開始位置間の距離がピンチ判別距離L1を超えた場合は判定が否定されてステップ136へ移行する。図13にはピンチイン操作であると予測される場合の一対の接触位置の移動経路とピンチ判別距離L1との関係の一例が示されている。図13に示す例では、接触位置情報At(0),Bt(0)により特定される一対の開始位置間の距離がピンチ判別距離L1よりも長い。この場合、ステップ130では判定が否定される。
ステップ136では、予測部14により、ピンチイン操作であるという予測を示すピンチイン予測フラグがオンされ、その後、ステップ138へ移行する。ステップ138では、実行部16により、ディスプレイ308Bに現在表示されている画面を所定の割合で縮小した画面(例えば縮小率Nの画面)を示す画面データが生成されて保持され、その後、ピンチ操作準備処理を終了する。
次に図14に示す接触操作処理を説明する。図14に示す接触操作処理では、先ず、ステップ140において、実行部16により、現在の開始位置の数が1であるか否かが判定される。ステップ140において現在の開始位置の数が1である場合は判定が肯定されてステップ142へ移行する。ステップ142では、実行部16により、一例として図15に示すスライド操作処理が行われ、その後、接触操作処理を終了する。
一方、ステップ140において現在の接触位置の数が1でない場合(2以上の場合)は判定が否定されてステップ144へ移行する。ステップ144では、実行部16により、一例として図21に示すピンチ操作処理が行われ、その後、接触操作処理を終了する。
次に図15に示すスライド操作処理を説明する。図15に示すスライド操作処理では、先ず、ステップ150において、判定部26により、タッチパネル308Aに対する指示体の接触位置に変化があったか否かが判定される。ここで、判定部26は、所定の記憶領域に記憶されている接触位置情報を時系列に参照することで、接触位置に変化があったか否かを判定することができる。ステップ150においてタッチパネル308Aに対する指示体の接触位置に変化があった場合は判定が肯定されてステップ152へ移行する。ステップ150においてタッチパネル308Aに対する指示体の接触位置に変化がない場合は判定が否定されてスライド操作処理を終了する。
ステップ152では、判定部26により、ディスプレイ308Bに現在表示されている画面が左右方向スライド画面であるか否かが判定される。ステップ152においてディスプレイ308Bに現在表示されている画面が左右方向スライド画面である場合は判定が肯定されてステップ154へ移行する。ステップ154では、判定部26により、一例として図16に示す第1スライド操作処理が行われ、その後、スライド操作処理を終了する。
一方、ステップ152において左右方向スライド画面でない場合は判定が否定されてステップ156へ移行する。ステップ156では、判定部26により、ディスプレイ308Bに現在表示されている画面が上下方向スライド画面であるか否かが判定される。ステップ156においてディスプレイ308Bに現在表示されている画面が上下方向スライド画面である場合は判定が肯定されてステップ158へ移行する。ステップ158では、判定部26により、一例として図18に示す第2スライド操作処理が行われ、その後、スライド操作処理を終了する。
一方、ステップ156において上下方向スライド画面でない場合(全方向スライド画面である場合)は判定が否定されてステップ160へ移行する。ステップ160では、判定部26により、一例として図20に示す第3スライド操作処理が行われ、その後、スライド操作処理を終了する。
次に図16に示す第1スライド操作処理を説明する。図16に示す第1スライド操作処理では、先ず、ステップ154Aにおいて、判定部26により、左方向スライド操作が行われたか否かが判定される。ここで、判定部26は、所定の記憶領域に記憶されている接触位置情報を時系列に参照することで、左方向スライド操作が行われたか否かを判定することができる。ステップ154Aにおいて左方向スライド操作が行われた場合は判定が肯定されてステップ154Bへ移行する。
ステップ154Bでは、判定部26により、左スライド操作回数(例えば初期値が0のカウンタ)に1が加算され、その後、ステップ154Cへ移行する。ステップ154Cでは、判定部26により、左スライド操作回数が1であるか否かが判定される。ステップ154Cにおいて左スライド操作回数が1である場合は判定が肯定されてステップ154Dへ移行する。ステップ154Cにおいて左スライド操作回数が1でない場合(2以上の場合)は判定が否定されてステップ154Fへ移行する。
ステップ154Dでは、判定部26により、左スライド予測フラグがオンされているか否かが判定される。なお、ステップ154Dの判定が終了すると、左スライド予測フラグがオフされる。
ステップ154Dにおいて左スライド予測フラグがオンされている場合は判定が肯定されてステップ154Eへ移行する。ステップ154Eでは、実行部16により、既に準備されている画面データ(ステップ122Cで生成された画面データ)を使って、ディスプレイ308Bに現在表示されている画面が更新され、その後、ステップ154Fへ移行する。すなわち、ステップ154Eにおいて、実行部16は、ディスプレイ308Bに現在表示されている画面を、上記ステップ122Cで生成された画面データにより示される画面に置き換える。
ステップ154Fでは、実行部16により、所定の記憶領域の最新の接触位置情報と所定の記憶領域に前回(1回前に)記憶された接触位置情報とに基づいて一意に定まるスライド量で現在の画面を左方向へスライドさせた画面を示す画面データが生成される。「一意に定まるスライド量」とは、例えば最新の接触位置情報により示される接触位置と所定の記憶領域に前回記憶された接触位置情報により示される接触位置との距離に相当するスライド量を指す。
ステップ154Gでは、実行部16により、ディスプレイ308Bに現在表示されている画面が、上記ステップ154Fで生成された画面データに基づいて更新され、その後、第1スライド操作処理を終了する。すなわち、ステップ154Gにおいて、実行部16は、ディスプレイ308Bに現在表示されている画面を、上記ステップ154Fで生成された画面データにより示される画面に置き換える。
一方、ステップ154Dにおいて左スライド予測フラグがオンされていない場合(例えば右スライド予測フラグがオンされている場合)は判定が否定されてステップ154Hへ移行する。ステップ154Hでは、実行部16により、既に準備されている画面データ(ステップ122Cで生成された画面データ)が消去され、その後、ステップ154Fへ移行する。すなわち、ステップ154Hにおいて、実行部16は、上記ステップ122Cで生成された画面データを消去する。
また、ステップ154Aにおいて左方向スライド操作でない場合(例えば右方向スライド操作である場合)は判定が否定されてステップ154Iへ移行する。ステップ154Iでは、一例として図17に示す右スライド操作処理が行われ、その後、第1スライド操作処理を終了する。
図17に示す右スライド操作処理を説明する。図17に示す右スライド操作処理では、先ず、ステップ154Jにおいて、判定部26により、右スライド操作回数(例えば初期値が0のカウンタ)に1が加算され、その後、ステップ154Kへ移行する。ステップ154Kでは、判定部26により、右スライド操作回数が1であるか否かが判定される。ステップ154Kにおいて右スライド操作回数が1である場合は判定が肯定されてステップ154Lへ移行する。ステップ154Kにおいて右スライド操作回数が1でない場合(2以上の場合)は判定が否定されてステップ154Nへ移行する。
ステップ154Lでは、判定部26により、右スライド予測フラグがオンされているか否かが判定される。なお、ステップ154Lの判定が終了すると、右スライド予測フラグがオフされる。
ステップ154Lにおいて右スライド予測フラグがオンされている場合は判定が肯定されてステップ154Mへ移行する。ステップ154Mでは、実行部16により、既に準備されている画面データ(ステップ122Cで生成された画面データ)を使って、ディスプレイ308Bに現在表示されている画面が更新され、その後、ステップ154Nへ移行する。すなわち、ステップ154Mにおいて、実行部16は、ディスプレイ308Bに現在表示されている画面を、上記ステップ122Cで生成された画面データにより示される画面に置き換える。
ステップ154Nでは、実行部16により、所定の記憶領域の最新の接触位置情報と所定の記憶領域に前回(1回前に)記憶された接触位置情報とに基づいて一意に定まるスライド量で現在の画面を左方向へスライドさせた画面を示す画面データが生成される。
ステップ154Pでは、実行部16により、ディスプレイ308Bに現在表示されている画面が、上記ステップ154Nで生成された画面データに基づいて更新され、その後、右スライド操作処理を終了する。すなわち、ステップ154Pにおいて、実行部16は、ディスプレイ308Bに現在表示されている画面を、上記ステップ154Nで生成された画面データにより示される画面に置き換える。
一方、ステップ154Lにおいて右スライド予測フラグがオンされていない場合(例えば左スライド予測フラグがオンされている場合)は判定が否定されてステップ154Qへ移行する。ステップ154Qでは、実行部16により、既に準備されている画面データ(ステップ122Cで生成された画面データ)が消去され、その後、ステップ154Nへ移行する。すなわち、ステップ154Qにおいて、実行部16は、上記ステップ122Cで生成された画面データを消去する。
次に、図18に示す第2スライド操作処理を説明する。図18に示す第2スライド操作処理では、先ず、ステップ158Aにおいて、判定部26により、上方向スライド操作が行われたか否かが判定される。ここで、判定部26は、所定の記憶領域に記憶されている接触位置情報を時系列に参照することで、上方向スライド操作が行われたか否かを判定することができる。ステップ154Aにおいて上方向スライド操作が行われた場合は判定が肯定されてステップ158Bへ移行する。
ステップ158Bでは、判定部26により、上スライド操作回数(例えば初期値が0のカウンタ)に1が加算され、その後、ステップ158Cへ移行する。ステップ158Cでは、判定部26により、上スライド操作回数が1であるか否かが判定される。ステップ158Cにおいて上スライド操作回数が1である場合は判定が肯定されてステップ158Dへ移行する。ステップ158Cにおいて上スライド操作回数が1でない場合(2以上の場合)は判定が否定されてステップ158Fへ移行する。
ステップ158Dでは、判定部26により、上スライド予測フラグがオンされているか否かが判定される。なお、ステップ158Dの判定が終了すると、上スライド予測フラグがオフされる。
ステップ158Dにおいて上スライド予測フラグがオンされている場合は判定が肯定されてステップ158Eへ移行する。ステップ158Eでは、実行部16により、既に準備されている画面データ(上記ステップ126Cで生成された画面データ)を使って、ディスプレイ308Bに現在表示されている画面が更新され、その後、ステップ158Fへ移行する。すなわち、ステップ158Eにおいて、実行部16は、ディスプレイ308Bに現在表示されている画面を、上記ステップ126Cで生成された画面データにより示される画面に置き換える。
ステップ158Fでは、実行部16により、所定の記憶領域の最新の接触位置情報と所定の記憶領域に前回(1回前に)記憶された接触位置情報とに基づいて一意に定まるスライド量で現在の画面を上方向へスライドさせた画面を示す画面データが生成される。
ステップ158Gでは、実行部16により、ディスプレイ308Bに現在表示されている画面が、上記ステップ158Fで生成された画面データに基づいて更新され、その後、第1スライド操作処理を終了する。すなわち、ステップ158Gにおいて、実行部16は、ディスプレイ308Bに現在表示されている画面を、上記ステップ158Fで生成された画面データにより示される画面に置き換える。
一方、ステップ158Dにおいて上スライド予測フラグがオンされていない場合(例えば下スライド予測フラグがオンされている場合)は判定が否定されてステップ158Hへ移行する。ステップ158Hでは、実行部16により、既に準備されている画面データ(上記ステップ126Cで生成された画面データ)が消去され、その後、ステップ158Fへ移行する。すなわち、ステップ158Hにおいて、実行部16は、上記ステップ126Cで生成された画面データを消去する。
一方、ステップ158Aにおいて上方向スライド操作でない場合(例えば下方向スライド操作である場合)は判定が否定されてステップ158Iへ移行する。ステップ158Iでは、下スライド操作処理が行われ、その後、第2スライド操作処理を終了する。
次に、図19に示す下スライド操作処理を説明する。図19に示す下スライド操作処理では、先ず、ステップ158Jにおいて、判定部26により、下スライド操作回数(例えば初期値が0のカウンタ)に1が加算され、その後、ステップ158Kへ移行する。ステップ158Kでは、判定部26により、下スライド操作回数が1であるか否かが判定される。ステップ158Kにおいて下スライド操作回数が1である場合は判定が肯定されてステップ158Lへ移行する。ステップ158Kにおいて下スライド操作回数が1でない場合(2以上の場合)は判定が否定されてステップ158Nへ移行する。
ステップ158Lでは、判定部26により、下スライド予測フラグがオンされているか否かが判定される。なお、ステップ158Lの判定が終了すると、下スライド予測フラグがオフされる。
ステップ158Lにおいて下スライド予測フラグがオンされている場合は判定が肯定されてステップ158Mへ移行する。ステップ158Mでは、実行部16により、既に準備されている画面データ(上記ステップ126Cで生成された画面データ)を使って、ディスプレイ308Bに現在表示されている画面が更新され、その後、ステップ158Nへ移行する。すなわち、ステップ158Mにおいて、実行部16は、ディスプレイ308Bに現在表示されている画面を、上記ステップ126Cで生成された画面データにより示される画面に置き換える。
ステップ158Nでは、実行部16により、所定の記憶領域の最新の接触位置情報と所定の記憶領域に前回(1回前に)記憶された接触位置情報とに基づいて一意に定まるスライド量で現在の画面を下方向へスライドさせた画面を示す画面データが生成される。
ステップ158Pでは、実行部16により、ディスプレイ308Bに現在表示されている画面が、上記ステップ158Nで生成された画面データに基づいて更新され、その後、下スライド操作処理を終了する。すなわち、ステップ158Pにおいて、実行部16は、ディスプレイ308Bに現在表示されている画面を、上記ステップ158Nで生成された画面データにより示される画面に置き換える。
一方、ステップ158Lにおいて下スライド予測フラグがオンされていない場合(例えば上スライド予測フラグがオンされている場合)は判定が否定されてステップ158Qへ移行する。ステップ158Qでは、実行部16により、既に準備されている画面データ(上記ステップ126Cで生成された画面データ)が消去され、その後、ステップ158Nへ移行する。すなわち、ステップ158Qにおいて、実行部16は、上記ステップ126Cで生成された画面データを消去する。
次に、図20に示す第3スライド操作処理を説明する。図20に示す第3スライド操作処理では、先ず、ステップ160Aにおいて、判定部26により、第3スライド操作回数(例えば初期値が0のカウンタ)に1が加算され、その後、ステップ160Bへ移行する。ステップ160Bでは、判定部26により、第3スライド操作回数が1であるか否かが判定される。ステップ160Bにおいて第3スライド操作回数が1である場合は判定が肯定されてステップ160Cへ移行する。ステップ160Bにおいて第3スライド操作回数が1でない場合(2以上の場合)は判定が否定されてステップ160Eへ移行する。
ステップ160Cでは、判定部26により、上記ステップ128Bで生成された角度情報により示される角度と実際のスライド操作によるタッチパネル308Aに対する接触位置の移動方向の角度とが一致しているか否かが判定される。なお、実行部16は、所定の記憶領域に接触位置毎に時系列に記憶されている接触位置情報を参照することで、実際のスライド操作によるタッチパネル308Aに対する接触位置の移動方向の角度を特定することができる。なお、ステップ160Cの判定が終了すると、上記ステップ128Bで保持されている角度情報が消去される。
ステップ160Cにおいて上記ステップ128Bで生成された角度情報により示される角度と実際のスライド操作によるタッチパネル308Aに対する接触位置の移動方向の角度とが一致している場合は、判定が肯定されてステップ160Dへ移行する。
ステップ160Dでは、実行部16により、既に準備されている画面データ(上記ステップ128Cで生成された画面データ)を使って、ディスプレイ308Bに現在表示されている画面が更新され、その後、ステップ160Eへ移行する。すなわち、ステップ160Dにおいて、実行部16は、ディスプレイ308Bに現在表示されている画面を、上記ステップ128Cで生成された画面データにより示される画面に置き換える。
ステップ160Eでは、実行部16により、所定の記憶領域の最新の接触位置情報と所定の記憶領域に前回記憶された接触位置情報とに基づいて一意に定まるスライド量で現在の画面を所定角度の方向へスライドさせた画面を示す画面データが生成される。なお、ここで言う「所定角度」は、所定の記憶領域の最新の接触位置情報と所定の記憶領域に前回記憶された接触位置情報とに基づいて定まる。すなわち、実行部16は、所定の記憶領域の最新の接触位置情報と所定の記憶領域に前回記憶された接触位置情報とを参照することで、現在表示されている画面をスライドさせる方向(所定角度)を特定することができる。
ステップ160Fでは、実行部16により、ディスプレイ308Bに現在表示されている画面が、上記ステップ160Eで生成された画面データに基づいて更新され、その後、第3スライド操作処理を終了する。すなわち、ステップ160Fにおいて、実行部16は、ディスプレイ308Bに現在表示されている画面を、上記ステップ160Eで生成された画面データにより示される画面に置き換える。
一方、ステップ160Cにおいて上記ステップ128Bで生成された角度情報により示される角度と実際のスライド操作によるタッチパネル308Aに対する接触位置の移動方向の角度とが一致していない場合は判定が否定されてステップ160Gへ移行する。ステップ160Gでは、実行部16により、既に準備されている画面データ(上記ステップ128Cで生成された画面データ)が消去され、その後、ステップ160Eへ移行する。すなわち、ステップ160Gにおいて、実行部16は、上記ステップ128Cで生成された画面データを消去する。
図21は、ピンチ操作処理の流れの一例を示すフローチャートである。図21に示すピンチ操作処理では、先ず、ステップ170において、判定部26により、一対の接触位置の距離に変化があったか否かが判定される。すなわち、判定部26は、所定の記憶領域に記憶されている接触位置情報を時系列に参照することで、一対の接触位置の距離に変化があったか否かを判定することができる。ステップ170において一対の接触位置の距離に変化があった場合は判定が肯定されてステップ172へ移行する。ステップ170において一対の接触位置の距離に変化がない場合は判定が否定されてピンチ操作処理を終了する。
ステップ172では、判定部26により、一対の接触位置の距離が長くなったか否かが判定される。ここで、判定部26は、所定の記憶領域に記憶されている接触位置情報を時系列に参照することで、一対の接触位置の距離が長くなったか否かを判定することができる。ステップ172において一対の接触位置の距離が長くなった場合は判定が肯定されてステップ174へ移行する。
ステップ174では、判定部26により、ピンチアウト操作回数(例えば初期値が0のカウンタ)に1が加算され、その後、ステップ176へ移行する。ステップ176では、判定部26により、ピンチアウト操作回数が1であるか否かが判定される。ステップ176においてピンチアウト操作回数が1である場合は判定が肯定されてステップ178へ移行する。ステップ176において左スライド操作回数が1でない場合(2以上の場合)は判定が否定されてステップ182へ移行する。
ステップ178では、判定部26により、ピンチアウト予測フラグがオンされているか否かが判定される。ステップ178においてピンチアウト予測フラグがオンされている場合は判定が肯定されてステップ180へ移行する。ステップ180では、実行部16により、既に準備されている画面データ(上記ステップ134で生成された画面データ)を使って、ディスプレイ308Bに現在表示されている画面が更新され、その後、ステップ182へ移行する。すなわち、ステップ180において、実行部16は、ディスプレイ308Bに現在表示されている画面を、上記ステップ134で生成された画面データにより示される画面に置き換える。
ステップ182では、実行部16により、所定の記憶領域に開始位置毎に記憶された接触位置情報のうち最新の接触位置情報と前回記憶された接触位置情報とに基づいて一意に定まる拡大率で現在の画面を拡大させた画面を示す画面データが生成される。「一意に定まる拡大率」とは、例えば所定の記憶領域に開始位置毎に前回記憶された各接触位置情報により示される一対の接触位置の距離に対する所定の記憶領域に記憶された最新の各接触位置情報により示される一対の接触位置の距離の割合を指す。
ステップ184では、実行部16により、ディスプレイ308Bに現在表示されている画面が、上記ステップ182で生成された画面データに基づいて更新され、その後、第1スライド操作処理を終了する。すなわち、ステップ184において、実行部16は、ディスプレイ308Bに現在表示されている画面を、上記ステップ182で生成された画面データにより示される画面に置き換える。
一方、ステップ178においてピンチアウト予測フラグがオンされていない場合(例えばピンチイン予測フラグがオンされている場合)は判定が否定されてステップ186へ移行する。ステップ186では、実行部16により、既に準備されている画面データ(上記ステップ134で生成された画面データ)が消去され、その後、ステップ182へ移行する。すなわち、ステップ186において、実行部16は、上記ステップ134で生成された画面データを消去する。
一方、ステップ172において一対の接触位置の距離が長くなっていない場合(縮まった場合)は判定が肯定されてステップ188へ移行する。ステップ188では、一例として図22に示すピンチイン操作処理が行われ、その後、ピンチイン操作処理を終了する。
次に、図22に示すピンチイン操作処理を説明する。図22に示すピンチイン操作処理では、先ず、ステップ188Aにおいて、判定部26により、ピンチイン操作回数(例えば初期値が0のカウンタ)に1が加算され、その後、ステップ188Bへ移行する。ステップ188Bでは、判定部26により、ピンチイン操作回数が1であるか否かが判定される。ステップ188Bにおいてピンチイン操作回数が1である場合は判定が肯定されてステップ188Cへ移行する。ステップ188Bにおいてピンチイン操作回数が1でない場合(2以上の場合)は判定が否定されてステップ188Eへ移行する。
ステップ188Cでは、判定部26により、ピンチイン予測フラグがオンされているか否かが判定される。ステップ188Cにおいてピンチイン予測フラグがオンされている場合は判定が肯定されてステップ188Dへ移行する。ステップ188Dでは、実行部16により、既に準備されている画面データ(上記ステップ138で生成された画面データ)を使って、ディスプレイ308Bに現在表示されている画面が更新され、その後、ステップ188Eへ移行する。すなわち、ステップ188Dにおいて、実行部16は、ディスプレイ308Bに現在表示されている画面を、上記ステップ138で生成された画面データにより示される画面に置き換える。
ステップ188Eでは、実行部16により、所定の記憶領域に開始位置毎に記憶された接触位置情報のうち最新の接触位置情報と前回記憶された接触位置情報とに基づいて一意に定まる縮小率で現在の画面を縮小させた画面を示す画面データが生成される。「一意に定まる縮小率」とは、例えば所定の記憶領域に開始位置毎に前回記憶された各接触位置情報により示される一対の接触位置の距離に対する所定の記憶領域に記憶された最新の各接触位置情報により示される一対の接触位置の距離の割合を指す。
次のステップ188Fでは、実行部16により、ディスプレイ308Bに現在表示されている画面が、上記ステップ188Eで生成された画面データに基づいて更新され、その後、ピンチイン操作処理を終了する。すなわち、ステップ188Fにおいて、実行部16は、ディスプレイ308Bに現在表示されている画面を、上記ステップ188Eで生成された画面データにより示される画面に置き換える。
一方、ステップ188Cにおいてピンチイン予測フラグがオンされていない場合(例えばピンチアウト予測フラグがオンされている場合)は判定が否定されてステップ188Gへ移行する。ステップ188Gでは、実行部16により、既に準備されている画面データ(上記ステップ138で生成された画面データ)が消去され、その後、ステップ188Eへ移行する。すなわち、ステップ188Gにおいて、実行部16は、上記ステップ138で生成された画面データを消去する。
次に、第1又は第2スライド操作処理が行われた際にCPU42が基準線点設定処理プログラム52を実行することでスマートフォン10によって行われる基準線再設定処理について、図23を参照して説明する。
図23に示す基準線再設定処理では、ステップ200において、基準線再設定部18により、タッチパネル308Aに対するスライド操作が解除されたか(例えば指示体がタッチパネル308Aから離れたか)否かが判定される。ステップ200においてタッチパネル308Aに対するスライド操作が解除された場合は判定が肯定されてステップ202へ移行する。ステップ200においてタッチパネル308Aに対するスライド操作が解除されていない場合(スライド操作中である場合)は判定が否定されてステップ201へ移行する。
ステップ201では、基準線再設定部18により、第1又は第2スライド操作処理が終了したか否かが判定される。ステップ201において第1又は第2スライド操作処理が終了した場合は判定が肯定されて基準線再設定処理を終了する。ステップ201において第1又は第2スライド操作処理が終了していない場合は判定が否定されてステップ200へ移行する。
ステップ202では、基準線再設定部18により、所定の記憶領域の接触位置情報に基づいて、スライド操作における開始位置と終了位置との間の所定位置に現在の基準線を平行移動させることで基準線(第1基準線又は第2基準線)を設定し直す。ここで言う「所定位置」としては、例えばスライド操作における開始位置と終了位置との中央に相当する位置が挙げられるが、開示の技術はこれに限定されるものではない。例えば、スライド操作における開始位置と終了位置との中央から開始位置側又は終了位置側に所定量だけ寄った位置を所定位置としてもよい。
次のステップ204では、基準線再設定部18により、所定の記憶領域に現在記憶されている接触位置情報が消去され、その後、基準線再設定処理を終了する。
次に、第3スライド操作処理が行われた際にCPU42が基準線点付与処理プログラム54を実行することでスマートフォン10によって行われる基準点再設定処理について、図24を参照して説明する。
図24に示す基準点再設定処理では、ステップ210において、基準点再設定部20により、タッチパネル308Aに対するスライド操作が解除されたか(例えば指示体がタッチパネル308Aから離れたか)否かが判定される。ステップ210においてタッチパネル308Aに対するスライド操作が解除された場合は判定が肯定されてステップ212へ移行する。ステップ210においてタッチパネル308Aに対するスライド操作が解除されていない場合(スライド操作中の場合)は判定が否定されてステップ211へ移行する。
ステップ211では、基準点再設定部20により、第3スライド操作処理が終了したか否かが判定される。ステップ211において第3スライド操作処理が終了した場合は判定が肯定されて基準点再設定処理を終了する。ステップ211において第3スライド操作処理が終了していない場合は判定が否定されてステップ210へ移行する。
ステップ212では、基準点再設定部20により、所定の記憶領域の接触位置情報に基づいて、スライド操作における開始位置と接触終了位置との間の所定位置に基準点を移動させることで基準点を設定し直す。ここで言う「所定位置」としては、例えばスライド操作における開始位置と終了位置との中央に相当する位置が挙げられる。
次のステップ214では、基準点再設定部20により、所定の記憶領域に現在記憶されている接触位置情報が消去され、その後、基準点再設定処理を終了する。
次に、ピンチ操作処理が行われた際にCPU42が閾値更新処理プログラム56を実行することでスマートフォン10によって行われる閾値更新処理について、図25を参照して説明する。
図25に示す閾値更新処理では、ステップ220において、更新部22により、タッチパネル308Aに対するピンチ操作が解除されたか(例えば2つの指示体がタッチパネル308Aから離れたか)否かが判定される。ステップ220においてタッチパネル308Aに対するピンチ操作が解除された場合は判定が肯定されてステップ222へ移行する。ステップ220においてタッチパネル308Aに対するピンチ操作が解除されていない場合(ピンチ操作中の場合)は判定が否定されたステップ221へ移行する。
ステップ221では、更新部22により、ピンチ操作処理が終了したか否かが判定される。ステップ221においてピンチ操作処理が終了した場合は判定が肯定されてピンチ操作処理を終了する。ステップ221においてピンチ操作処理が終了していない場合は判定が否定されてステップ220へ移行する。
ステップ222では、更新部22により、一対の接触位置の距離と一対の終了位置の距離との間に相当する距離(以下、「中間距離」という)が算出される。ステップ222において、更新部22は、所定の記憶領域に開始位置毎に時系列で記憶されている接触位置情報を参照することで中間距離を算出することができる。ここで言う「中間距離」としては、例えば一対の開始位置の距離と一対の終了位置の距離との平均値が挙げられるが、開示の技術はこれに限定されない。例えば、一対の開始位置の距離と一対の終了位置の距離との間の値であればよく、平均値に対して所定の係数を乗じて得た値を中間距離としてもよい。
次のステップ224では、更新部22により、現在設定されているピンチ判別距離L1が上記ステップ222で算出された中間距離に相当する値に変更されることでピンチ判別距離L1が更新される。
次のステップ226では、更新部22により、所定の記憶領域に現在記憶されている接触位置情報が消去され、その後、閾値更新処理を終了する。
次に、図26に示すコンピュータ40及びタッチパネル308Aで行われる処理の流れを説明する。なお、図26に示す例では、コンピュータ302で行われる処理が、予測部14、実行部16及び判定部26により実現される機能で示されている。
図26に示すように、タッチパネル308Aに対して指示体の接触を開始すると、タッチパネル308Aは、指示体の接触を検知し、時間Ttps後に接触位置情報At(0)を予測部14へ出力する。予測部14は、タッチパネル308Aから出力された接触位置情報At(0)を取得する。
タッチパネル308Aは、接触位置情報At(0)を出力すると、指示体の接触状態が解除されるまで、時間Ttpf毎に接触位置情報At(n)を予測部14へ出力する。予測部14は、タッチパネル308Aによって指示体の接触が検知されて接触位置情報At(n)が出力される毎に、接触位置情報At(n)を取得する。
予測部14は、接触位置情報At(0)を取得すると、これから行われようとしている接触操作がスライド操作であると予測する。続いて、実行部16は、ディスプレイ308Bに次にスライド表示すべき画面を示す画面データ(以下、「第1予測時生成画面データ」という)を生成する。第1予測時生成画面データの生成に要する時間は、例えば時間Tdisである。
予測部14は、接触位置情報At(1)を取得すると、現在行われている接触操作がスライド操作であると認識する。判定部26は、予測部14による予測結果と実際の接触操作とが一致しているか否かを判定する。判定部26は、予測部14による予測結果が正しかった場合(スライド操作であるという予測が正しかった場合)、ディスプレイ308Bに現在表示されている画面の更新が可能であると判定する。
実行部16は、判定部26によりディスプレイ308Bに現在表示されている画面の更新が可能であると判定された場合、ディスプレイ308Bに現在表示されている画面を、第1予測時生成画面データにより示される画面に置き換えることで画面を更新する。
図26に示す時間Ttp−disは、タッチパネル308Aに対してスライド操作を開始してから実行部16による画面更新の制御が行われるまでに要する時間である。時間Ttp−disは、下記の式(3)によって示され、図33に示す比較例の時間Ttp−disと比較して、時間Ttpfだけ短い。つまり、スマートフォン10は、比較例で説明したスマートフォン300と比較して、タッチパネル208Aに対する接触操作を開始してから接触操作に応じた処理が実行されるまでに要する時間を時間Ttpfだけ短縮することができる。
Ttp−dis=Ttps+Tdis・・・・・・(3)
次に、図27に示すコンピュータ40及びタッチパネル308Aで行われる処理の流れについて説明する。なお、図27に示す例は、説明の便宜上、タッチパネル308Aに対して2つの指示体のうちの一方の接触が開始されてから時間Tfdly遅れて他方の指示体の接触が開始された場合を示している。また、図27に示す例では、コンピュータ302で行われる処理が、予測部14、実行部16及び判定部26により実現される機能で示されている。
図27に示すように、タッチパネル308Aに対して一方の指示体の接触が開始されると、タッチパネル308Aは、指示体の接触を検知し、時間Ttps後に接触位置情報At(0)を予測部14へ出力する。予測部14は、タッチパネル308Aから出力された接触位置情報At(0)を取得する。
タッチパネル308Aは、接触位置情報At(0)を出力すると、指示体の接触状態が解除されるまで、時間Ttpf毎に接触位置情報At(n)を予測部14へ出力する。予測部14は、タッチパネル308Aによって指示体の接触が検知されて接触位置情報At(n)が出力される毎に、接触位置情報At(n)を取得する。
タッチパネル308Aに対して他方の指示体の接触が開始されると、タッチパネル308Aは、指示体の接触を検知してから所定時期に接触位置情報Bt(0)を予測部14へ出力する。所定時期とは、例えばタッチパネル308Aが接触位置情報At(0)を出力してから時間Ttpf後の時点(図27に示す例では、指示体の接触を検知してから時間Ttps’後の時点)を指す。予測部14は、タッチパネル308Aから出力された接触位置情報Bt(0)を取得する。タッチパネル308Aは、接触位置情報Bt(0)を出力すると、指示体の接触状態が解除されるまで、Ttpf毎に接触位置情報Bt(n)を予測部14へ出力する。予測部14は、タッチパネル308Aによって指示体の接触が検知されて接触位置情報Bt(n)が出力される毎に、接触位置情報Bt(n)を取得する。
予測部14は、接触位置情報At(0)を取得すると、これから行われようとしている接触操作がスライド操作であると予測する。続いて、実行部16は、第1予測時生成画面データを生成する。ここで、予測部14は、接触位置情報At(1),Bt(0)を取得すると、これから行われようとしている接触操作がピンチ操作であるという予測に切り替える。予測がスライド操作からピンチ操作に切り替えられると、実行部16は、第1予測時生成画面データを消去し、次に表示すべき画面(拡大又は縮小画面)を示す画面データ(以下、「第2予測時生成画面データ」という)を生成する。第2予測時生成画面データの生成に要する時間は、例えば時間Tdisである。
予測部14は、接触位置情報At(2),Bt(1)を更に取得すると、接触位置情報At(1),At(2),Bt(0),Bt(1)から、現在行われている接触操作がピンチ操作であると認識する。判定部26は、予測部14による予測結果と実際の接触操作とが一致しているか否かを判定する。判定部26は、予測部14による予測結果が正しかった場合(ピンチ操作であるという予測が正しかった場合)、ディスプレイ308Bに現在表示されている画面の更新が可能であると判定する。
実行部16は、判定部26によりディスプレイ308Bに現在表示されている画面の更新が可能であると判定された場合、ディスプレイ308Bに現在表示されている画面を、第2予測時生成画面データにより示される画面に置き換えることで画面を更新する。
図27に示す時間Ttp−disは、タッチパネル308Aに対してピンチ操作を開始してから実行部16による画面更新の制御が行われるまでに要する時間である。時間Ttp−disは、下記の式(4)によって示され、図34に示す比較例の時間Ttp−disと比較して、時間Ttpf短い。つまり、スマートフォン10は、比較例で説明したスマートフォン300と比較して、タッチパネル208Aに対する接触操作を開始してから接触操作に応じた処理が実行されるまでに要する時間を時間Ttpfだけ短縮することができる。
Ttp−dis=Ttps+Ttpf+Tdis・・・・・・(4)
次に、図28に示すコンピュータ40及びタッチパネル308Aで行われる処理の流れを説明する。図28には、タッチパネル308Aに対して2つの指示体が同時に接触を開始した場合が示されている。ここで言う「同時」とは、例えば2つの指示体のうちの先に1つ目の指示体の接触が開始されてから所定時間(例えば時間Ttpsの2/3の時間)以内に2つ目の指示体による接触が開始された場合のことを指す。
図28に示すように、タッチパネル308Aに対して2つの指示体による接触が同時に開始されると、タッチパネル308Aは、2つの指示体の接触を検知し、時間Ttps後に接触位置情報At(0),Bt(0)を予測部14へ出力する。予測部14は、タッチパネル308Aから出力された接触位置情報At(0),Bt(0)を取得する。ここで、予測部14は、接触位置情報At(0),Bt(0)を取得すると、これから行われようとしている接触操作がピンチ操作であると予測する。実行部16は、予測部14によりピンチ操作であると予測された場合、第2予測時生成画面データを生成する。
予測部14は、接触位置情報At(1),Bt(1)を更に取得すると、接触位置情報At(1),At(0),Bt(1),Bt(0)から、現在行われている接触操作がピンチ操作であると認識する。判定部26は、予測部14による予測結果と実際の接触操作とが一致しているか否かを判定する。判定部26は、予測部14による予測結果が正しかった場合(ピンチ操作であるという予測が正しかった場合)、ディスプレイ308Bに現在表示されている画面の更新が可能であると判定する。実行部16は、判定部26によりディスプレイ308Bに現在表示されている画面の更新が可能であると判定された場合、図27に示す例と同様に、画面を更新する。
図28に示す例において、時間Ttp−disは、タッチパネル308Aに対してピンチ操作を開始してから実行部16による画面更新の制御が行われるまでに要する時間である。時間Ttp−disは、下記の式(5)によって示され、図34に示す比較例の時間Ttp−disと比較して、時間Ttpf短い。つまり、スマートフォン10は、比較例で説明したスマートフォン300と比較して、タッチパネル208Aに対する接触操作を開始してから接触操作に応じた処理が実行されるまでに要する時間を時間Ttpfだけ短縮することができる。
Ttp−dis=Ttps+Tdis・・・・・・(5)
次に、図29に示す処理の流れを説明する。図29に示すように、検知部12は、スライド操作が行われると、接触位置情報At(n)を所定時間毎に出力する。図29に示す例では、開始位置を示す接触位置情報At(0)から終了位置を示す接触位置情報At(last)まで例示されている。
予測部14は、検知部12から出力された接触位置情報At(0)を受信し、接触位置情報At(0)から開始位置を認識する。予測部14は、接触位置情報At(0)から開始位置を認識すると、スライド操作であると予測し、現在表示されている画面をスライド量Sで画面を移動させた画面を示す画面データDis(0)の生成を開始する。
次に、予測部14は、接触位置情報At(1)を取得すると、接触位置情報At(0),At(1)から移動方向を認識する。また、接触位置情報At(1)が接触位置情報At(0)から移動していれば現在行われている接触操作がスライド操作であると特定する。
実行部16は、現在行われている接触操作がスライド操作であると特定された場合、次に表示すべき画面を示す画面データDis(1)の生成を開始する。ここで、実行部16は、画面データDis(0)の生成を終了する。そして、予測部14による予測結果が特定された接触操作と一致していた場合(実際の接触操作がスライド操作であった場合)、生成した画面データDis(0)に基づいてディスプレイ308Bの画面を更新する。なお、実行部16は、予測部14による予測結果が特定された接触操作と不一致の場合(実際の接触操作がピンチ操作であった場合)、画面データDis(0)を消去し、画面データDis(0)に基づく画面更新を行わない。
次に、予測部14は、接触位置情報At(n)(例えばAt(2))を取得すると、接触位置情報At(n−1)(例えばAt(1)),At(n)から移動方向を認識する。また、接触位置情報At(n)が接触位置情報At(n−1)から移動していれば現在行われている接触操作がスライド操作であると特定する。実行部16は、現在行われている接触操作がスライド操作であると特定された場合に次に表示すべき画面を示す画面データDis(n)の生成を開始する。ここで、実行部16は、画面データDis(n−1)の生成を終了し、生成した画面データDis(n−1)に基づいてディスプレイ308Bの画面を更新する。
次に、図30に示す処理の流れを説明する。図30に示すように、検知部12は、ピンチ操作が行われると、接触位置情報At(n),Bt(n)を所定時間毎に出力する。図30に示す例では、開始位置を示す接触位置情報At(0),Bt(0)から終了位置を示す接触位置情報At(last),Bt(last)まで例示されている。
予測部14は、検知部12から出力された接触位置情報At(0),Bt(0)を受信し、接触位置情報At(0),Bt(0)から2つの指示体によるタッチパネル308Aへの開始位置を認識する。予測部14は、接触位置情報At(0),Bt(0)から開始位置を認識すると、ピンチ操作であると予測し、現在表示されている画面を拡大率M又は縮小率Nで画面を拡大又は縮小させた画面を示す画面データDis(0)の生成を開始する。なお、拡大率Mは、タッチパネル308Aに対する接触操作がピンチアウト操作であると予測された場合に用いられ、縮小率Nは、タッチパネル308Aに対するウ接触操作がピンチイン操作であると予測された場合に用いられる。
次に、予測部14は、接触位置情報At(1),Bt(1)を取得すると、接触位置情報At(0),At(1)から一方の指示体の接触位置の移動方向を認識し、接触位置情報Bt(0),Bt(1)から他方の指示体の接触位置の移動方向を認識する。また、接触位置情報At(1),Bt(1)が接触位置情報At(0),Bt(0)から移動していれば現在行われている接触操作がピンチ操作であると特定する。
実行部16は、現在行われている接触操作がピンチ操作であると特定された場合に次に表示すべき画面を示す画面データDis(1)の生成を開始する。ここで、実行部16は、画面データDis(0)の生成を終了する。そして、予測部14による予測結果が特定された接触操作と一致していた場合(実際の接触操作がピンチ操作であった場合)、生成した画面データDis(0)に基づいてディスプレイ308Bの画面を更新する。なお、実行部16は、予測部14による予測結果が特定された接触操作と不一致の場合(実際の接触操作がスライド操作であった場合)、画面データDis(0)を消去し、画面データDis(0)に基づく画面更新を行わない。
次に、予測部14は、接触位置情報At(n)(例えばAt(2)),Bt(n)(例えばBt(2))を取得すると、接触位置情報At(n−1)(例えばAt(1)),At(n)から移動方向を認識する。また、接触位置情報At(n),Bt(n)が接触位置情報At(n−1),Bt(n−1)から移動していれば現在行われている接触操作がピンチ操作であると特定する。実行部16は、現在行われている接触操作がピンチ操作であると特定された場合に次に表示すべき画面を示す画面データDis(n)の生成を開始する。ここで、実行部16は、画面データDis(n−1)の生成を終了し、生成した画面データDis(n−1)に基づいてディスプレイ308Bの画面を更新する。
以上説明したように、本実施形態に係るスマートフォン10では、予測部14により、タッチパネル308Aへの接触操作が特定されるよりも前に、接触位置の数(開始位置)に基づいて接触操作が予測される。そして、予測部14により予測された接触操作に応じた処理が実行部16により実行される。従って、本実施形態に係るスマートフォン10は、タッチパネル308Aに対する接触操作を開始してから接触操作に応じた処理が実行されるまでに要する時間の短縮を簡素な構成で実現することができる。
また、本実施形態に係るスマートフォン10では、開始位置の数が1つの場合、接触操作をスライド操作であると予測部14により予測される。また、開始位置の数が複数の場合、接触操作をピンチ操作であると予測部14により予測される。従って、本実施形態に係るスマートフォン10は、接触操作がスライド操作であるか或いはピンチ操作であるかを容易に予測することができる。
また、本実施形態に係るスマートフォン10では、スライド操作であると予測部14により予測されてからスライド操作が特定されるよりも前に、開始位置の数が増加した場合、接触操作の予測がスライド操作からピンチ操作へ変更される。従って、本実施形態に係るスマートフォン10は、ピンチ操作であるにも拘らずスライド操作であると誤って予測することを抑制することができる。
また、本実施形態に係るスマートフォン10では、接触操作をスライド操作であると予測部14により予測された場合、開始位置と基準線との位置関係から接触位置のスライド方向が予測部14により予測される。従って、本実施形態に係るスマートフォン10は、スライド操作によるスライド方向を予測することができる。
また、本実施形態に係るスマートフォン10では、基準線が、過去に行われたスライド操作における開始位置と終了位置との間に位置するように、基準線が基準線再設定部18によりタッチパネル308Aに対して設定し直される。従って、本実施形態に係るスマートフォン10は、スライド操作によるスライド方向の予測精度の低下を抑制することができる。
また、本実施形態に係るスマートフォン10では、接触操作をスライド操作であると予測部14により予測された場合、開始位置と基準点との位置関係から接触位置のスライド方向が予測部14により予測される。従って、本実施形態に係るスマートフォン10は、スライド操作によるスライド方向を予測することができる。
また、本実施形態に係るスマートフォン10では、基準点が、過去に行われたスライド操作における開始位置と終了位置との間に位置するように、基準点が基準点再設定部20によりタッチパネル308Aに対して設定し直される。従って、本実施形態に係るスマートフォン10は、スライド操作によるスライド方向の予測精度の低下を抑制することができる。
また、本実施形態に係るスマートフォン10では、ピンチ操作による一対の接触位置の距離がピンチ判別距離L1以下の場合、ピンチアウト操作であると予測部14により予測される。また、ピンチ操作による一対の接触位置の距離がピンチ判別距離L1を超えた場合、ピンチイン操作であると予測部14により予測される。従って、本実施形態に係るスマートフォン10は、ピンチ操作がピンチアウト操作であるか或いはピンチイン操作であるかを容易に予測することができる。
また、本実施形態に係るスマートフォン10では、過去のピンチ操作における一対の開始位置の距離と一対の終了位置の距離との間の距離に相当する値がピンチ判別距離L1として用いられるようにピンチ判別距離L1が更新される。従って、本実施形態に係るスマートフォン10は、ピンチ操作の種類の予測精度の低下を抑制することができる。
また、本実施形態に係るスマートフォン10では、予測部14により予測された接触操作に応じた画面が実行部16によってディスプレイ308Bに表示される。従って、本実施形態に係るスマートフォン10は、タッチパネル308Aに対する接触操作を開始してから接触操作に応じた画面が表示されるまでに要する時間の短縮を簡素な構成で実現することができる。
また、本実施形態に係るスマートフォン10では、検知部12から出力された接触位置情報により示される接触位置の時系列によって特定された接触操作と比較されることで予測部14の予測結果が正しいか否かが判定部26により判定される。また、判定部26により予測部14の予測結果が正しいと判定された場合に、予測部14により予測された接触操作に応じた画面が実行部16によってディスプレイ308Bに表示される。従って、本実施形態に係るスマートフォン10は、接触操作に対応しない画面が表示されることを抑制することができる。
なお、上記実施形態では、接触操作に応じて画面を更新する場合を例示したが、開示の技術はこれに限定されるものではない。例えば、接触操作に応じた通信を行うようにしてもよい。接触操作に応じた通信の一例としては、接触操作に応じて電子メールの送信やサーバ装置に対して電子メールの問い合わせ(サーバ装置に未受信の電子メールが格納されているか否かの問い合わせ)を行う形態例が挙げられる。
この場合、例えば、スマートフォン10のディスプレイ308Bに電子メールを送信するための画面が表示されている状態で所定の表示領域に対応するタッチパネル308Aの領域に対してスライド操作が行われた場合に電子メールを送信する。すなわち、予測部14が接触操作をスライド操作であると予測した場合に、実行部16は、電子メールを送信可能な状態とし、スライド操作が確定したときに電子メールの送信を開始する。これにより、予測部14による予測を行わない場合に比べ、タッチパネル308Aへの接触が開始されてから電子メールの送信が開始されるまでに要する時間を短くすることができる。
また、スマートフォン10のディスプレイ308Bに電子メールの問い合わせを行うための画面が表示されている状態で所定の表示領域に対応するタッチパネル308Aの領域に対してピンチイン操作に相当する接触操作が行われた場合に問い合わせを行う。すなわち、予測部14が接触操作をピンチイン操作に相当する接触操作であると予測した場合に、実行部16は、電子メールの問い合わせが可能な状態とし、ピンチイン操作が確定したときに電子メールの問い合わせを開始する。これにより、予測部14による予測を行わない場合に比べ、タッチパネル308Aへの接触が開始されてから電子メールの問い合わせが開始されるまでに要する時間を短くすることができる。
開示の技術は、例えば接触操作に応じて通信手段を選択する場合にも適用可能である。この場合、例えば、スマートフォン10に通信手段としてBluetooth(登録商標)と赤外線通信機能とが選択可能に搭載されている場合に接触操作に応じてBluetooth(登録商標)又は赤外線通信機能による通信を行う形態例が挙げられる。すなわち、予測部14は、タッチパネル308Aの所定の領域に対して行われた接触操作がスライド操作であると予測した場合にBluetooth(登録商標)による通信が可能な状態とし、スライド操作が確定したときにBluetooth(登録商標)による通信を開始する。また、予測部14は、タッチパネル308Aの所定の領域に対して行われた接触操作がピンチ操作に相当する接触操作であると予測した場合に赤外線通信機能による通信が可能な状態とする。そして、ピンチ操作に相当する接触操作が確定したときに赤外線通信機能による通信を開始する。
また、上記実施形態では、タッチパネル308Aが1つの基準線及び1つの基準点を有する場合について説明したが、開示の技術はこれに限定されるものではなく、タッチパネル308Aが複数の基準線及び複数の基準点を有していてもよい。例えば、図31に示すように、タッチパネル308Bが行列状に4分割されて得られた各分割領域に対して1つの基準線及び1つの基準点を設定するようにしてもよい。この場合、予測部14は、分割領域毎に、接触位置と基準線との位置関係からスライド操作によるスライド方向を予測し、接触位置と基準点との位置関係からスライド操作によるスライド方向を予測する。図31に示す例では、分割領域毎に、分割領域を縦断する直線αと分割領域を横断する直線βとが設定されており、分割領域毎に基準点γが設定されている。従って、第1スライド操作準備処理では予測部14により分割領域単位で接触位置が基準線αの左側か否かが判定され、第2スライド操作準備処理では予測部14により分割領域単位で接触位置が基準線βの上側か否かが判定される。また、第3スライド操作準備処理では予測部14により分割領域単位でスライド方向の角度が算出される。
なお、図31に示す例では、タッチパネル308Bが4分割された場合が示されているが、これに限らず、タッチパネル308Bが複数の領域に分割され、分割された領域毎に1つの基準線及び1つの基準点が設定されていればよい。
また、タッチパネル308Bを分割して得た各領域に対して基準線及び基準点を必ず設定する必要はない。すなわち、他の領域と比較して重要度が高いと事前に認められた予め定められた領域に対して基準線及び基準点を設定し、それ以外の領域に対しては基準線及び基準点を設定しなくてもよい。スマートフォン10は、予め定められた領域以外の領域に対して接触操作が行われた場合、予測部14による予測を行わずに従来通りに接触操作に応じた画面更新を行えばよい。
また、上記実施形態では、接触操作によりタッチパネル308Aから出力された接触位置情報の全てを所定の記憶領域に時系列で記憶する場合を例示したが、必ずしも接触位置情報の全てを記憶しなくてもよい。すなわち、接触位置を示す接触位置情報と最新の2つの接触位置の各々を示す接触位置情報とが所定の記憶領域に時系列で記憶されていればよい。
また、上記実施形態では、開始位置が2つの場合に予測部14がピンチ操作と予測する場合を例示したが、これに限らず、開始位置が3つ以上であってもピンチ操作と予測してもよい。この場合、例えば、3つ以上の開始位置のうち、タッチパネル308Aにより最も早く指示体の接触が検知された2つの開始位置をピンチ操作の開始位置として採用する。
また、上記実施形態では、予測部14がスライド操作及びピンチ操作を予測する場合を例示したが、これに限らず、予測部14は回転操作を予測してもよい。例えば、開始位置が1つの場合はスライド操作と予測し、開始位置が2つの場合にピンチ操作と予測し、開始位置が3つ以上の場合に回転操作と予測する。また、ピンチ操作はできないものの回転操作ができる画面がディスプレイ308Bに表示されている場合、予測部14は、開始位置が2つの場合に回転操作と予測してもよい。
また、上記実施形態では、ソフトウェア構成で図1に示す各部(例えば予測部14、実行部16、基準線再設定部18、基準点再設定部20、更新部22及び判定部26)を実現する場合の形態例を挙げて説明したが、開示の技術はこれに限定されない。例えば、図1に示す予測部14、実行部16、基準線再設定部18、基準点再設定部20、更新部22及び判定部26の少なくとも1つがハードウェア構成で実現されてもよい。この場合、ハードウェア資源として、複数の機能の回路1つにまとめた集積回路であるASIC(Application Specific Integrated Circuit)やプログラマブルロジックデバイスを利用する例が挙げられる。
本明細書に記載された全ての文献、特許出願及び技術規格は、個々の文献、特許出願及び技術規格が参照により取り込まれることが具体的かつ個々に記された場合と同程度に、本明細書中に参照により取り込まれる。
以上の実施形態に関し、更に以下の付記を開示する。
(付記1)
操作面への接触を検知して前記操作面上の接触位置を示す接触位置情報を出力する検知部と、前記検知部から出力された前記接触位置情報が示す前記接触位置の時系列から、前記操作面への接触操作が特定されるよりも前に、前記検知部から出力された前記接触位置情報から特定される前記接触位置の数に基づいて前記接触操作を予測する予測部と、前記予測部により予測された前記接触操作に応じた処理を実行する実行部と、
(付記2)
前記予測部は、前記接触位置の数が1つの場合、前記接触操作を、前記接触位置をスライドさせるスライド操作と予測し、前記接触位置の数が複数の場合、前記接触操作を、前記操作面上の少なくとも一対の前記接触位置の距離を伸縮させる伸縮操作と予測する付記1に記載の情報処理装置。
(付記3)
前記予測部は、前記接触操作を前記スライド操作と予測してから前記操作面の接触操作が前記スライド操作と特定されるよりも前に、前記接触位置の数が増加した場合、前記接触操作の予測を前記スライド操作から前記伸縮操作へ変更する付記2に記載の情報処理装置。
(付記4)
前記予測部は、前記接触操作を前記スライド操作と予測した場合、前記接触位置と前記操作面上に予め設定された基準線との位置関係から、前記スライド操作における前記接触位置のスライド方向を更に予測する付記2又は付記3に記載の情報処理装置。
(付記5)
前記予測部は、前記操作面に重ねられた表示領域に現在表示されている画面が前記表示領域を横断する方向にスライド表示可能な画面の場合、前記操作面を縦断する直線を前記基準線とし、前記接触位置と前記基準線との位置関係から前記接触位置のスライド方向を予測する付記4に記載の情報処理装置。
(付記6)
前記予測部は、前記操作面に重ねられた表示領域に現在表示されている画面が前記表示領域を縦断する方向にスライド表示可能な画面の場合、前記操作面を横断する直線を前記基準線とし、前記接触位置と前記基準線との位置関係から前記接触位置のスライド方向を予測する付記4に記載の情報処理装置。
(付記7)
前記予測部は、前記接触位置と、前記操作面を分割することで得られた複数の分割領域の各々に対して設定された前記基準線のうちの何れかの前記基準線と、の位置関係から前記スライド方向を予測する付記4〜付記6の何れか1つに記載の情報処理装置。
(付記8)
前記基準線が、過去に行われた前記スライド操作における接触開始位置と接触終了位置との間に位置するように、前記基準線を前記操作面に対して設定し直す基準線再設定部を更に含む付記4〜付記7の何れか1つに記載の情報処理装置。
(付記9)
前記予測部は、前記接触操作を前記スライド操作と予測した場合、前記接触位置と前記操作面上に予め設定された基準点との位置関係から、前記スライド操作における前記接触位置のスライド方向を更に予測する付記2記載の情報処理装置。
(付記10)
前記予測部は、前記接触位置と、前記操作面を分割することで得られた複数の分割領域の各々に対して設定された前記基準点のうちの何れかの前記基準点と、の位置関係から前記スライド方向を予測する付記9に記載の情報処理装置。
(付記11)
前記基準点が、過去に行われた前記スライド操作における接触開始位置と接触終了位置との間に位置するように、前記基準点を前記操作面に対して設定し直す基準点再設定部を更に含む付記9又は付記10に記載の情報処理装置。
(付記12)
前記予測部は、前記少なくとも一対の接触位置の距離が閾値以下の場合、前記接触操作を、前記伸縮操作のうち、前記一対の接触位置の距離を拡大する拡大操作であると予測し、前記一対の接触位置の距離が前記閾値を超えた場合、前記接触操作を、前記伸縮操作のうち、前記少なくとも一対の接触位置の距離を縮小する縮小操作と予測する付記2に記載の情報処理装置。
(付記13)
前記閾値を、過去に行われた前記伸縮操作における前記少なくとも一対の前記接触位置の接触開始時の距離と前記接触終了時の距離との間に相当する値に更新する更新部を更に含む付記12に記載の情報処理装置。
(付記14)
画面を表示する表示部を更に含み、前記実行部は、前記予測部14により予測された前記接触操作に応じた画面を前記表示部に表示させる付記1〜付記14の何れか1つに記載の情報処理装置。
(付記15)
前記予測部によって予測された前記接触操作を、前記検知部から出力された前記接触位置情報が示す前記接触位置の時系列から特定された前記接触操作と比較することで、前記予測部の予測結果が正しいか否かを判定する判定部を更に含み、前記実行部は、前記判定部により前記予測部の予測結果が正しいと判定された場合に前記画面を前記表示部に表示させる付記14に記載の情報処理装置。
(付記16)
前記検知部から出力された前記接触位置情報を時系列に記憶するメモリを更に含み、前記予測部は、前記メモリに記憶されている前記接触位置情報により示される接触位置の時系列から前記操作面への接触操作が特定されるよりも前に、前記メモリに記憶されている前記接触位置情報から特定される接触位置の数に基づいて前記接触操作を予測する付記1〜付記15の何れか1つに記載の情報処理装置。
(付記17)
前記検知部から出力された前記接触位置情報を時系列で記憶するメモリを更に含み、前記基準線再設定部は、前記メモリに記憶されている前記接触位置情報に基づいて、基準線が、過去に行われた前記スライド操作における接触開始位置と接触終了位置との間に位置するように前記基準線を前記操作面に対して設定し直す付記8に記載の情報処理装置。
(付記18)
前記検知部から出力された前記接触位置情報を時系列で記憶するメモリを更に含み、前記基準点再設定部は、前記メモリに記憶されている前記接触位置情報に基づいて、前記基準点が、過去に行われた前記スライド操作における接触開始位置と接触終了位置との間に位置するように前記基準点を前記操作面に対して設定し直す付記11に記載の情報処理装置。
(付記19)
前記検知部12から出力された前記接触位置情報を時系列で記憶するメモリを更に含み、前記更新部22は、前記メモリに記憶されている前記接触位置情報に基づいて、前記閾値を、過去に行われた前記伸縮操作における一対の接触位置における接触開始時の距離と接触終了時の距離との間に相当する値が前記閾値として用いられるように前記閾値を更新する付記13に記載の情報処理装置。
(付記20)
操作面への接触を検知して前記操作面上の接触位置を示す接触位置情報を出力し、前記検知部から出力された前記接触位置情報が示す前記接触位置の時系列から、前記操作面への接触操作が特定されるよりも前に、前記検知部から出力された前記接触位置情報から特定される前記接触位置の数に基づいて前記接触操作を予測し、前記予測部により予測された前記接触操作に応じた処理を実行することを含む情報処理方法。
(付記21)
コンピュータに、操作面への接触を検知して前記操作面上の接触位置を示す接触位置情報を出力する検知部から出力された前記接触位置情報が示す前記接触位置の時系列から、前記操作面への接触操作が特定されるよりも前に、前記検知部から出力された前記接触位置情報から特定される前記接触位置の数に基づいて前記接触操作を予測し、前記予測部により予測された前記接触操作に応じた処理を実行することを含む処理を実行させるための情報処理プログラム。