以下、添付図面を参照しながら実施例について詳細に説明する。
<本実施形態における情報処理装置の機能構成例>
図1は、本実施形態における情報処理装置の機能構成の一例を示す図である。図1に示す情報処理装置10は、位置入力部11と、入力回数計測部12と、入力位置保持部13と、時間計測部14と、距離算出部15と、状態リセット部16と、ドラッグ判定部17と、モード制御部18と、基準位置算出部19と、変化量算出部20と、表示内容設定部21と、表示部22とを有する。
位置入力部11は、例えば表示部22における表示画面上の任意の位置(ポインティング位置)の入力を受け付ける。なお、位置入力部11は、例えば表示部22がタッチパネルである場合に、ユーザが指や電子ペン等を用いて表示部22の画面を押下すると、その圧力又は温度によって検出することで、位置情報の入力を受け付けることができる。また、位置入力部11は、ドラッグによる位置入力も可能である。ここで、ドラッグとは、例えばユーザの指等が表示部22の画面上に接触させたままの状態で移動させている状態をいう。したがって、位置入力部11がドラッグにより入力される位置情報は、所定時間毎に変化し続けていることになる。
また、位置入力部11は、タッチパネルによる位置入力でなくてもよく、例えばマウスやトラックボール、カメラ映像のリアルタイム解析による物体トラッキング等、任意のポインティングデバイスを用いた位置入力を受け付けることができる。例えば、位置入力部11は、マウスやトラックボール等を用いる場合に、ボタン押下やドラッグ動作、所定の物体を所定の方向に動かす等の所定の操作を契機として得られる位置を受け付けることができる。また、位置入力部11は、ユーザからの指示位置を座標情報として受け付けることができるが、これに限定されるものではない。
入力回数計測部12は、例えば位置入力部11からの位置入力を受け付けた回数を計測する。具体的には、入力回数計数部12は、例えば表示部22がタッチパネルの場合に、指や電子ペン等を用いて、表示部22が非押下状態から押下状態に切り替わった回数を計測する。したがって、入力回数は、例えば位置入力部11からの位置入力がオフ(OFF)からオン(ON)になった回数(例えば、タップした回数)等となる。
入力位置保持部13は、入力回数計測部12の保持する位置入力回数が0より増加した時点からの位置入力の開始点、終了点、又はその両方を保持する。例えば、表示部22がタッチパネルの場合には、ユーザの指等でタッチパネル上を押下した点の座標が位置入力の開始点に対応し、ユーザの指等をタッチパネルから離した点の座標が位置入力の終了点に対応する。なお、入力位置保持部13は、最後に入力された入力位置のみを保持するのではなく、例えばそれ以前の複数の入力位置を配列として保持することができる。なお、どの程度を保持するかについては、例えば距離算出部15や基準位置算出部19における算出内容等に応じて設定することができるが、これに限定されるものではない、予め設定された数の入力位置を保持することができる。
時間計測部14は、入力回数計測部12の保持する位置入力回数が0より増加した時点からの経過時間を計測する。なお、時間計測部14は、例えば予め設けられたカウンタ等によるカウントアップにより経過時間を計測していてもよく、Real Time Clock(RTC)等の内部時計に基づいて経過時間を計測してもよい。
距離算出部15は、入力位置保持部13が保持する入力位置情報について、開始点の位置と、現在の入力位置との間の距離の値を算出する。なお、距離算出部15は、位置入力回数が0でない場合に、例えば上述した開始点の位置と、ドラッグ動作中の現時点での入力位置との距離を所定のタイミング又はリアルタイムに算出する。
ここで、距離算出部15で得られる距離は、本実施形態のズーム操作における複数回の連続タップにおいて、各タップ間の位置が十分近いか否かを判定するためのものである。この場合には、例えば入力位置保持部13の保持する複数の各入力位置について、保持している最初の点と、残りの点とがなす距離の最大値を求めて各タップ間の位置を判定する手法を用いることができるが、これに限定されるものではない。
状態リセット部16は、時間計測部14から得られた計測時間が予め設定された閾値を超えるか、又は、距離算出部15から得られた距離の値が予め設定された閾値を超えた場合に、入力回数計測部12の保持する入力回数等の状態をリセットする。なお、リセットとは、例えば入力回数を0にすることを示すが、これに限定されるものではない。つまり、状態リセット部16は、例えば本実施形態のズーム操作における複数回連続タップにおいて、連続タップにかかる時間や連続タップ間の距離に制約を設けることができる。
ドラッグ判定部17は、位置入力部11での連続的な入力位置の移動量に基づいて、ドラッグ入力か否かを判定する。なお、連続的な位置入力の状態とは、具体的には、入力回数の変更がなく、現在の表示画面におけるユーザからの位置情報が移動している状態(ドラッグ状態)をいうが、これに限定されるものではない。つまり、ドラッグ判定部17は、位置入力部11での連続的な入力位置の移動量に基づいてドラッグ入力か否かを判定する。すなわち、指示位置入力が、オン(ON)になった位置からそのままオフ(OFF)にならず指示位置が移動した距離を、予め設定された閾値と比較することによってドラッグ操作による入力か否かを判定する。
ここで、位置の移動距離は、移動した道程(経路)の長さとするか、又は位置入力開始点から現在の指示位置までの直線距離とすることができるが、これに限定されるものではない。また、ドラッグしているか否かの判定に用いる閾値は、例えば単純なタップとの違いが明確になるように、タップで起こり得る入力オン(ON)からオフ(OFF)までの入力位置移動量より十分大きな値とする。例えば、本実施形態では、タップ操作で最大約10mm程度の移動量となる場合には、閾値は約20mm以上とすることができるが、これに限定されるものではない。更に、本実施形態では、事前にタップの移動量の分布を調べ、統計的に十分大きな閾値を設定することもできるが、閾値の設定方法については、これに限定されるものではない。
モード制御部18は、入力回数計測部12の保持する入力回数が所定数(例えば、「2」)以上の場合に、例えば通常モードからズームモードへと移行する制御を行う。また、モード制御部18は、上述した入力回数の条件に加えて、例えばドラッグ判定部17でドラッグと判定されたときに、ズームモードへと移行する制御を行うようにしてもよい。
具体的には、モード制御部18は、例えばドラッグ判定部17でドラッグと判定されたときに入力回数計測部12の保持する入力回数に応じて、スクロールモード又はズームモードに移行する。また、モード制御部18は、状態リセット部16を呼び出し、位置入力がオフになったときモードを解除するようにしてもよい。
また、モード制御部18は、例えばズームモードへ移行しない場合には、スクロールモードへ移行する(又はスクロールモードのままとする)制御を行う。具体的には、モード制御部18は、例えば入力回数計測部12の保持する入力回数が所定回数(例えば、2回)以上のときにズームモードへ移行し、所定回数未満(例えば、1回)のときにスクロールモードへ移行する。
更に、モード制御部18は、例えば基準位置算出部19の算出した基準位置を中心として、入力位置が円弧状に所定量以上移動した場合に、表示内容を所定方向に回転させる回転モードに移行することができる。
更に、モード制御部18は、例えばユーザの指等で表示部22の画面に対して所定の操作を行うことで、表示モードの変更をキャンセルするよう制御することもできる。具体的には、モード制御部18は、ズームモード時又は回転モード時において、ドラッグ入力による入力位置の移動方向が変更された場合に、各モードおいて処理された表示内容の変更をキャンセルし、モード移行前の表示内容に戻す。
基準位置算出部19は、入力位置保持部13により保持されている入力位置(例えば、開始点等)に基づいて、ズームの基準となる位置を算出する。なお、基準位置算出部19において算出する基準位置の座標は、例えば入力位置保持部13に保持されている複数の入力点座標の平均であってもよく、また入力位置保持部13に保持されている最初又は最後の点座標であってもよいが、これに限定されるものではない。
変化量算出部20は、ズームモード移行後に基準位置算出部19で求めたズームの基準位置(中心位置)と、位置入力部11から入力された位置情報とに基づいて、表示内容に対するズーム率を算出する。なお、ズーム率は、例えば基準位置算出部19の算出した基準位置と、現在の入力位置との横方向(例えばx座標)の差分値又は縦方向(例えば、y座標)の差分値を線形変換した値と、ズームモード移行直前のズーム率とを用いて算出することができる。具体的には、ズーム率は、横方向(例えばx座標)の差分値又は縦方向(例えば、y座標)の差分値を線形変換した値にズームモード移行直前のズーム率を乗じることで算出することができるが、算出手法についてはこれに限定されるものではない。例えば、本実施形態では、拡大又は縮小ズームのうち、何れか一方(例えば、拡大ズーム時)には上述した線形変換を用いた算出手法を用い、他方(例えば、縮小ズーム時)には線形変換を用いずに予め設定された他の算出手法を用いてもよい。
更に、変化量算出部20は、モード制御部18により回転モードに移行した場合に、基準位置を中心とした円弧状の回転移動(円弧移動)の移動量に対応した回転角度を取得する。具体的には、変化量算出部20は、例えば回転モード移行直前の回転角と、基準位置及び現在の入力位置を結ぶ線分と基準位置を通る水平線とがなす角とに基づいて回転角度を取得する。
表示内容設定部21は、例えばスクロールモードにおける表示位置、ズームモードに移行したときのズーム率、回転モードに移行したときの回転角度等の各種設定内容を保持する。また、表示内容設定部21は、保持された設定内容に基づいて、表示部22の表示内容を変更する。
なお、表示内容設定部21における表示内容の変化量(例えば、スクロール量、ズーム率、回転角度等)は、例えば変化量算出部20等により得られる。したがって、表示内容設定部21は、基準位置算出部19から得られる基準位置と、変化量算出部20から得られる変化量とに基づき、所定の表示モードに対応させて表示内容を変更する。
例えば、表示部22がタッチパネルである場合には、スクロールモード時において、タッチパネル上のユーザの指の移動に追従してスクロール動作等が行われる。なお、指の移動に対してどのようなスクロールを行うかについては、表示内容設定部21により任意に設定することができる。つまり、上述したスクロールモード時には、スクロールモード移行直前の表示位置、及び、基準位置算出部19で求めた基準位置と、位置入力部11から入力された入力位置との距離等の情報を用いて、表示内容設定部21に表示内容が設定される。また、上述したズームモード時には、ズームモード移行直前のズーム率と、基準位置算出部19で求めた基準位置と、位置入力部11から入力された入力位置との距離及び方向等の情報を用いて、表示内容設定部21に表示内容が設定される。
ここで、表示内容設定部21は、例えばズームモード時に、現在の表示内容がズームモードであることを表す所定のガイド表示を、ズームの基準位置(中心位置)に基づいて算出される所定の位置に表示するよう設定することができる。なお、ガイド表示とは、例えば、ズームモード移行前のサイズ(ズーム率)に対応する基準マーク、及び表示内容を変更させるための入力位置の方向を示す方向マークのうち、少なくとも1つを含むが、これに限定されるものではない。また、ガイド表示とは、現在のズーム率を含んでもよい。また、ガイド表示とは、ズーム率に対応させて基準マークを拡大又は縮小させたズームマークを含んでもよい。
また、表示内容設定部21は、回転モード移行時に、すでにズームモードによる所定のズーム率で表示されている場合には、設定されたズーム率のままで表示内容を回転させてもよく、またズームモード前のズーム率の値に戻して表示内容を回転させてもよい。
また、本実施形態では、ズームモード時において、ドラッグ操作による現在の入力位置が表示部22の画面端の近傍にある場合に、ドラッグ操作しているユーザの指を所定時間停留させる。この操作により、表示内容設定部21は、基準位置が現在の入力位置(画面端の近傍)から離れる方向にスクロール表示させるように設定することができる。なお、上述したスクロール表示は、例えば現在の表示が回転モードである場合にも適用することができる。
更に、表示内容設定部21は、モード制御部18において表示モードの変更がキャンセルされた場合には、各表示モードによる表示内容の変更をキャンセルするよう設定することもできる。
表示部22は、表示内容設定部21における各種設定情報等に基づいて、画面の表示内容を変更する。例えば、表示部22は、画像や映像、文書(例えば、ウェブページ等)、テキスト等の表示内容を、変化量算出部20で求めた所定のズーム率で、基準位置算出部19で求めた所定の中心位置を基準にズーム表示(拡大又は縮小)等を行う。また、表示部22は、表示内容設定部21における設定情報に基づいて、表示内容を回転させたり、表示内容をスクロール動作させる。なお、表示部22は、例えばタッチパネル等のように、ユーザの指やペン等による画面への圧力等を検知することによって情報入力を行う入力部としての機能を有すると共に、上述した表示内容を出力する出力部としての機能を有していてもよい。
なお、表示部22は、有機Electro Luminescence(EL)方式でも液晶方式でも良く、ソフトウェアキーボードや入力筆跡を表示するのに十分な表示分解能があればよい。また、タッチパネルとしては、例えば抵抗膜方式や静電容量方式、光学式、電磁誘導方式等を利用することができ、例えばソフトウェアキーボードへのタッチ入力及び筆跡入力が行える程度のサンプリングレート及び分解能があれば方式は問わない。
ここで、上述した情報処理装置10は、一態様として、例えば表示装置一体型のタッチパネルデバイスを搭載した計算機システムと、その上で動作するソフトウェアとを用いて実装される。なお、ソフトウェアの部分は、等価な働きをするハードウェアによって実現されていてもよい。このような計算機システムとしては、例えば携帯電話やスマートフォン、タブレット端末、Personal Digital Assistant(PDA)といった通信端末を用いることができる。また、情報処理装置10は、例えばPersonal Computer(PC)やゲーム機器、音楽再生装置等を用いることができる。
上述した情報処理装置10により、簡単な操作で画面の表示内容を適切な任意倍率に変更することができる。また、本実施形態では、任意の倍率に変更するだけでなく、表示内容を回転させたり、各表示モードによる表示内容の変更をキャンセルすることもできるが、これに限定されるものではない。
<情報処理装置10:ハードウェア構成例>
ここで、上述した情報処理装置10においては、各機能をコンピュータに実行させることができる実行プログラム(表示プログラム)を生成し、例えば汎用のPC等にその実行プログラムをインストールすることにより、本実施形態における表示処理を実現することができる。ここで、本実施形態における表示処理が実現可能なコンピュータのハードウェア構成例について図を用いて説明する。
図2は、情報処理装置のハードウェア構成の一例を示す図である。なお、図2の例では、情報処理装置がスマートフォン等の通信端末とした場合のハードウェア構成を示している。
図2の例では、マイク31と、スピーカ32と、表示部33と、操作部34と、電力部35と、無線部36と、近距離通信部37と、補助記憶装置38と、主記憶装置39と、Central Processing Unit(CPU)40と、ドライブ装置41とを有する。
マイク31は、ユーザが発した音声や、その他の音を入力する。スピーカ32は、通話相手先の音声を出力したり、着信音等の音を出力する。マイク31及びスピーカ32は、電話機能等により相手と会話する時等に用いられるが、これに限定されるものではなく、例えばマイク31で情報や各種指示の入力してもよく、またスピーカ32により音声で処理結果やエラー情報等を取得してもよい。
表示部33は、時刻情報や通信圏外であるか否かに係る情報、画像データ、文書データ等のテキストデータ等を表示する。なお、表示部33は、図1に示す表示部22に対応する。
操作部34は、各種機能における設定時、電話番号等の登録時、発呼及び着呼時にユーザによって押下される。また、操作部34は、例えば表示部33がタッチパネル等の機能を有している場合に、画面上に対して所定の操作を行うことで、例えば画面に表示されている内容を任意の倍率に適切に変更したり、回転動作等を行うことができる。
電力部35は、情報処理装置10の各構成に対して電力を供給する。なお、電力部35は、例えばバッテリ等の内部電源であるが、これに限定されるものではない。また、電力部35は、電力量を常時又は所定の時間間隔で検出し、電力量等を監視することもできる。
無線部36は、例えばアンテナ等を用いて基地局からの無線信号(通信データ)を受信したり、アンテナを介して無線信号を基地局に送信する通信データの送受信部である。なお、無線部36は、例えばReceive Signal Strength Indication(RSSI)等による受信強度を測定し、その測定結果に基づいて通信可能な状態の場合に、通信データの送受信を行う。
近距離通信部37は、例えば赤外線通信やBluetooth(登録商標)等の通信手法を用いて、外部装置と近距離通信を行う。上述した無線部36及び近距離通信部37は、外部装置とのデータの送受信を可能とする通信インターフェースである。通信インターフェースを用いて、実行プログラム等を接続されている外部装置等から取得したり、プログラムを実行することで得られた実行結果又は本実施形態に対応する実行プログラム自体を外部装置等に提供したりすることができる。
補助記憶装置38は、例えばハードディスクドライブやSolid State Drive(SSD)等のストレージ手段であり、本実施形態における実行プログラムや制御プログラム等を記憶し、必要に応じて入出力を行う。
主記憶装置39は、CPU40からの指示により補助記憶装置38から読み出された実行プログラム等を格納したり、プログラム実行中に得られる各種情報等を記憶する。なお、主記憶装置39は、例えばRead Only Memory(ROM)やRandom Access Memory(RAM)等を含むが、これに限定されるものではない。
CPU40は、Operating System(OS)等の制御プログラム、及び主記憶装置39に格納されている実行プログラムに基づいて、各種演算や各ハードウェア構成部とのデータの入出力等、コンピュータ全体の処理を制御することで、画面表示における各処理を実現する。なお、プログラム実行中に必要な各種情報等は、補助記憶装置38から取得し、実行結果等を格納してもよい。
実行プログラムを接続されている管理サーバ12等から取得したり、プログラムを実行することで得られた実行結果又は本実施形態に対応する実行プログラム自体を外部装置等に提供したりすることができる。
ドライブ装置41は、例えば記録媒体42等を着脱自在にセットすることができ、セットした記録媒体42に記録された各種情報を読み込んだり、所定の情報を記録媒体42に書き込むことができる。なお、ドライブ装置41は、例えば媒体装填スロット等を含むが、これに限定されるものではない。
記録媒体42は、上述したように実行プログラム等を格納するコンピュータで読み取り可能な記録媒体である。記録媒体42は、例えばフラッシュメモリ等の半導体メモリであってもよい。また、記録媒体42は、Universal Serial Bus(USB)メモリ等の可搬型記録媒体であってもよい。
ここで、本実施形態においてコンピュータ本体にインストールされる実行プログラムは、例えば、フラッシュメモリ等の可搬型の記録媒体42等により提供される。プログラムを記録した記録媒体42は、ドライブ装置41にセット可能であり、CPU40からの制御信号に基づき、記録媒体42に含まれる実行プログラムが、記録媒体42からドライブ装置41を介して補助記憶装置38にインストールされる。つまり、本実施形態では、上述したコンピュータ本体のハードウェア構成に実行プログラム(例えば、表示プログラム等)をインストールすることで、ハードウェア資源とソフトウェアとが協働して本実施形態における表示処理等を実現することができる。また、上述した表示処理に対応する表示プログラムは、例えば装置上で常駐している状態であってもよく、起動指示により起動させてもよい。
<本実施形態における表示処理の一例>
次に、本実施形態における表示処理の一例について、フローチャートを用いて説明する。図3は、本実施形態における表示処理の一例を示すフローチャートである。なお、以下の説明では、一例として、通常モード(本実施形態におけるモード移行が行われていない状態)からの表示処理について説明する。また、画像データや文書データ等の対象データを表示する表示部22は、例えば上述したようにタッチパネル等を有し、ユーザ等の画面上の操作により位置入力等が行えるものとする。
図3に示す表示処理は、例えばユーザによる画面上のポインティング入力(位置入力)から入力位置の座標値X(X=(x,y))を取得する(S01)。次に、表示処理は、ポインティング状態をチェックし(S02)、ポインティング状態がOFF(非押下状態)からON(押下状態)に変更されているか否かを判断する(S03)。なお、ポインティング状態とは、例えば上述したように表示部22がタッチパネル等の場合には、ユーザが画面をタップした状態
表示処理は、ポインティング状態がOFFからONに変更されている場合(S03において、YES)、S01の処理で取得したポインティング位置Xを入力位置保持部13等に記憶する(S04)。なお、このときのポインティング位置をXBとする。更に、表示処理は、S01の処理で取得したポインティング位置Xを配列XSに追加する(S05)。S05の処理は、例えば入力点座標の平均を算出したり、取得した最初又は最後の点座標に基づいて基準位置を設定する際に用いられる。
次に、表示処理は、入力回数CTの値をチェックし(S06)、CTが0か否かを判断する(S07)。表示処理は、CTが0の場合(S07において、YES)、時間計測をリセットする(S08)。つまり、計測時間Tを0にする。ここで、表示処理は、S08の処理後、又はS07の処理において、CTが0でない場合(S07において、NO)、OFFからONに変わった回数CTを1増加する(S09)。
次に、表示処理は、S09の処理後、又はS03において、OFFからONに変わっていない場合(S03において、NO)、記憶している配列XSと現在の入力位置Xとの距離(図3の例では、最大値)Dを算出する(S10)。なお、上述したOFFからONに変わっていない場合とは、例えばS02の処理において、ポインティング状態がすでにON状態のままとなっている場合も含む。
また、表示処理は、S10の処理により得られた距離Dと予め設定された距離の閾値DSとを比較し(S11)、距離Dが閾値DSより大きいか否か(D>DS?)を判断する(S12)。表示処理は、距離Dが閾値DSより大きくない(すなわち、D≦DS)場合(S12において、NO)、次に、計測時間Tと予め設定された計測時間の閾値Tsとを比較し(S13)、計測時間Tが閾値TSより大きいか否か(T>TS?)を判断する(S14)。
ここで、表示処理は、上述したS12の処理において、距離Dが閾値DSより大きい場合(S12において、YES)、入力回数CTに0をセットし、配列XSを空にして(S15)、処理を終了する。つまり、S15の処理では、状態のリセットを行う。また、表示処理は、S14の処理において、計測時間Tが閾値TSよりも大きい場合(S14において、YES)、上述したS15の処理を行い、処理を終了する。
次に、表示処理は、S14の処理において、計測時間Tが閾値Tsより大きくない(すなわち、T≦TS)の場合(S14において、NO)、現在の入力位置Xと開始点XBとの距離DBを求める(S16)。また、表示処理は、距離DBが予め設定された第2の閾値DS2より大きいか否か(DB>DS2?)を判断する(S17)。なお、S17の処理では、第2の閾値DS2を用いてドラッグ判定を行っている。表示処理は、S17の処理において、距離DBが第2の閾値DS2より大きい場合(S17において、YES)、ユーザがドラッグ操作を行っていると判定し、配列XSから基準位置XCを求める(S18)。なお、S18の処理では、例えば配列XSの最初の座標値を基準位置XCとする。
次に、表示処理は、現在の表示内容を読み出す(S19)。S19の処理では、例えば現在の表示位置XD、現在のズーム率SD、現在の回転角RDを読み出すことができるが、これに限定されるものではない。なお、現在の表示位置XDとは、例えば画面の中心に位置付けられた表示データの位置座標を含む。
次に、表示処理は、入力回数CTをチェックし(S20)、入力回数CTが1であるか否か(CT=1?)を判断し(S21)、入力回数CTが1である場合(S21において、YES)、表示モードをスクロールモードに移行して表示内容を変更する(S22)。また、表示処理は、S21において、入力回数CTが1でない場合(S21において、NO)、入力回数CTが2以上であるか否か(CT≧2?)を判断し(S23)、入力回数CTが2以上である場合(S23において、YES)、表示モードをズームモードに移行して表示内容を変更する(S24)。つまり、S24の処理では、例えば上述した表示内容設定部21により設定された所定のズーム率で表示内容を拡大又は縮小表示する。また、表示処理は、S23において、入力回数CTが2以上でない場合(S23において、NO)、そのまま処理を終了する。
また、表示処理は、S17の処理において、距離DBが第2の閾値DS2以下の場合(S17において、NO)、ユーザがドラッグ操作をしていないと判定し、処理を終了する。
なお、上述のS21〜S24の処理では、入力回数CTが1回の場合にスクロールモードに移行し、入力回数CTが2回以上の場合にズームモードに移行しているが、これに限定されるものではなく、それぞれの回数は所定数を任意に設定することができる。したがって、例えば入力回数CTが2回の場合にスクロールモードに移行し、入力回数CTが3回以上の場合にズームモードに移行してもよい。
<S22:スクロールモード時における表示処理の一例>
次に、上述したS22の処理に対応するスクロールモード時における表示処理の一例について、フローチャートを用いて説明する。図4は、スクロールモード時における表示処理の一例を示すフローチャートである。
図4に示す表示処理は、例えばユーザによる画面上のポインティング入力から入力位置の座標値X(X=(x,y))を取得する(S31)。次に、表示処理は、ユーザによるポインティング状態がON(押下状態)からOFF(非押下状態)に変更されているか否かを判断する(S32)。ここで、表示処理は、ONからOFFに変更されていない場合(S32において、NO)、上述したS18の処理により得られた基準位置XCから現在の入力位置Xへ向かう差分ベクトルVCを求める(S33)。ここで、差分ベクトルVCは、差分値及び方向の情報を含む。
次に、表示処理は、元の表示位置XDから差分ベクトルVCだけ移動させた位置(XD+VC)を新たな表示位置として設定し(S34)、設定された表示位置を基準としてスクロール動作を行い、対象データ(例えば、画像データ)を再表示する(S35)。
なお、表示処理は、S32の処理において、入力がONからOFFに変化した場合(S32において、YES)、スクロールモードを解除する(S36)。
<S24:ズームモード時における表示処理の一例>
次に、上述したS24の処理に対応するズームモード時における表示処理の一例について、フローチャートを用いて説明する。図5は、ズームモード時における表示処理の一例を示すフローチャートである。
図5に示す表示処理は、例えばユーザによるポインティング入力から座標値X(X=(x,y))を取得する(S41)。次に、表示処理は、ユーザによるポインティング状態がON(押下状態)からOFF(非押下状態)に変更されているか否かを判断する(S42)。
表示処理は、ONからOFFに変更されていない場合(S42において、NO)、基準位置XCに対する入力位置Xの軌道が所定の円弧移動をしているか否かを判断する(S43)。なお、円弧移動をしているか否かの判断は、例えば所定時間間隔で複数の入力位置を取得し、取得した複数の入力位置と基準位置との距離を算出し、その距離が、一定の範囲内の距離を保ちながら入力位置が移動している場合に、円弧移動をしているものと判断する。なお、円弧移動の判断手法については、これに限定されるものではない。
ここで、表示処理は、円弧移動をしていないと判断した場合(S43において、NO)、上述したように基準位置XCから現在の入力位置Xへ向かう差分ベクトルVCを求め(S44)、求めたVCの量子化方向ACを求める(S45)。次に、表示処理は、VCを方向ACに射影した長さLCを求め、方向に応じた符号値SCを取得する(S47)。
ここで、表示処理は、SCが0より小さいか否か(SC<0?)を判断し(S48)、SCが0以上の場合(符号値が正の場合)(S48において、NO)、所定の算出により新たなズーム率を設定する(S49)。なお、S49の処理では、例えば「ズーム率=(LC+C)/C×SD」として算出することができ、Cは定数、SDはズームモード移行前のズーム率、LCは拡大又は縮小の軸方向に射影した点と基準位置との距離を表す。
また、表示処理は、SCが0より小さい場合(符号値が負の場合)(S48において、YES)、所定の算出により新たなズーム率を設定する(S50)。なお、S50の処理では、例えば、「ズーム率=C/(LC+C)×SD」として算出することができる。なお、S49及びS50の処理における算出手法については、これに限定されるものではない。
また、表示処理は、S49及びS50の処理終了後、設定されたズーム率に基づいて拡大又は縮小させた対象データを再表示する(S51)。つまり、図5の例に示す表示処理では、例えばズームモード時のドラック方向基づいて拡大ズーム又は縮小ズームを行うことができ、ドラッグの長さに応じてズーム率を設定することができる。
なお、表示処理は、上述したS43の処理において、円弧移動をしていると判断した場合(S43において、YES)、表示モードを回転モードに移行して表示内容を変更する(S52)。また、表示処理は、上述したS42の処理において、入力がONからOFFに変更された場合(S42において、YES)、ズームモードを解除する(S53)。
<S52:回転モード時における表示処理の一例>
次に、上述したS52の処理に対応する回転モード時における表示処理の一例について、フローチャートを用いて説明する。図6は、回転モード時における表示処理の一例を示すフローチャートである。
図6に示す表示処理は、例えばユーザによるポインティング入力から入力位置の座標値X(X=(x,y))を取得する(S61)。次に、表示処理は、ユーザによるポインティング状態がON(押下状態)からOFF(非押下状態)に変更されているか否かを判断する(S62)。
表示処理は、ONからOFFに変更されていない場合(S62において、NO)、上述したように基準位置XCから現在の入力位置Xへ向かう差分ベクトルVCを求め(S63)、差分ベクトルVCに基づく回転角RCを求める(S64)。なお、S64の処理では、例えば差分ベクトルVCの線分と水平線とがなす角に基づいて回転角RCを求めることができるが、これに限定されるものではない。
次に、表示処理は、例えば回転モード移行直前の回転角RDとS64で求めた回転角RCとに基づいて新たな回転角として設定する(S65)。なお、S65の処理では、例えば回転モード移行直前の回転角RDとS64で求めた回転角RCとを加算することで、新たな回転角を取得することができるが、新たな回転角の算出手法は、これに限定されるものではない。また、表示処理は、設定された回転角に基づいて対象データを回転させて再表示する(S66)。
なお、表示処理は、S62の処理において、入力がONからOFFに変化した場合(S62において、YES)、回転モードを解除する(S67)。
<ユーザ操作に対応した表示内容の具体例>
ここで、本実施形態におけるユーザ操作に対応した表示内容の具体例について、図を用いて説明する。
<第1の具体例>
図7は、ユーザ操作に対応した表示内容の第1の具体例を示す図である。第1の具体例では、図7(A)〜(D)に示すユーザ操作により表示内容の変更が行われる。なお、図7(B)〜(D)における矢印(1),(2)は、表示部22の画面50に対するユーザの指51での操作内容を示しており、画面50に表示されるものではない。また、図7(B)〜(D)において、矢印(1)は、画面50上をユーザの指51でタップする操作を示す。また、矢印(2)は、画面50上をユーザの指51でタップし、タップしたままの状態(画面50に指51が接触したままの状態)で矢印方向にドラッグする操作を示している。
まず、図7(A)は、ユーザ操作が行われる前の状態(いわゆる初期状態)を示している。図7(A)に示す初期状態では、ユーザ等により指示された所定の画像データ(図7の例では、車の描画データ)が表示部22の画面50に表示されているが、表示内容を変更させる対象データとしては、他の画像データでもよく、画像データに限定されるものではない。対象データとしては、例えば映像データやウェブページ等の文書データ、テキストデータ等であってもよい。
ここで、第1の具体例では、図7(A)に示す初期状態から、ユーザの指51により、図7(b)に示す矢印(1)、(2)の手順で、画面50上を所定時間内に2回タップした後、右側にドラッグ操作を行う。第1の具体例では、上述したユーザ操作を行うことで、例えば通常モードからズームモードとなる。なお、所定時間とは、例えば矢印(1)の操作により1回タップされてからの計測時間を示し、例えば「1秒」として閾値を設定することができるが、これに限定されるものではない。また、タップ数は、予め設定された所定数であればよく、2回に限定されるものではない。
また、第1の具体例では、図7(C)に示すように、図7(B)のドラッグ操作を継続して、更にドラッグを続けることで、タップ位置を中心(基準位置)として、ドラッグ量(ドラッグ距離)に応じた拡大表示が行われる。なお、タップ位置は、例えば矢印(1)及び矢印(2)でタップした位置座標の平均座標でもよく、矢印(1)でタップした位置座標でもよく、矢印(2)でタップした位置座標でもよい。つまり、第1の具体例では、ドラッグの距離を伸ばすとそれに応じてズーム率が変更され、変更されたズーム率に対応して画面50の表示内容が変更される。なお、図7(B),(C)の例では、矢印(2)の操作によりユーザの指51を基準位置よりも右側にドラッグすることで、画像データが拡大表示される。
更に、第1の具体例では、図7(D)に示す矢印(1)の操作の後、矢印(2)の操作を行い、ユーザの指51をタップ位置から得られる基準位置よりも左側にドラッグ操作を行うことで、表示内容を縮小表示することができる。
つまり、第1の具体例では、矢印(2)のドラッグ操作を行う場合に、予め設定した方向にドラッグ操作を行うと、表示内容の拡大表示が行われ、更に拡大表示される方向以外の方向(例えば、逆方向)にドラッグ操作を行うことで縮小表示が行われる。なお、基準位置に対してどの方向にドラッグさせて、拡大又は縮小による表示内容の変更を行うかについての条件は、予め表示内容設定部21に設定しておくことができる。また、この場合には、所定の方向に角度範囲を持たせて設定することができるが、角度範囲が重なることがないように設定する。なお、拡大ズームさせる場合と縮小ズームさせる場合の方向の設定範囲は、逆方向でなくてもよいが、逆方向の方がユーザに分かり易く、操作し易い。
なお、本実施形態では、上述した2回のタップを行わずにドラッグ操作をした場合(すなわち、矢印(2)のみの操作を行った場合)、通常モードとしてドラッグ量に応じたスクロールが行われる。
<ドラッグによる移動量とズーム率の関係>
ここで、ドラッグによる移動量とズーム率との関係について、図を用いて説明する。図8は、ドラッグによる移動量とズーム率との関係を説明するための図である。
本実施形態におけるドラッグによる基準位置からの移動量と、ズーム率との関係式は、例えば、「拡大ズーム率=(LC+C)/C×SD」、「縮小ズーム率=C/(LC+C)×SD」と定義することができる。ここで、Cは定数、LCは拡大又は縮小の軸方向に射影した点と基準位置との距離、SDはズームモード移行前のズーム率を表す。
つまり、図8の例では、予め基準位置に対する拡大方向と縮小方向とを設定しておき、ズームモード時において基準位置から現在の入力点までドラッグ操作をした場合に、まず現在の入力点を拡大の軸方向に射影した点と基準位置との距離LCを算出する。次に、図8の例では、距離LCの値と、ズームモード移行前のズーム率SDと、定数Cを用いて、上述した式により拡大ズーム率を算出し、算出された拡大ズーム率に基づいて、画面上の表示内容に対して基準位置を中心に拡大表示する。
なお、図8の例では、水平方向(横軸方向)に射影した点を用いてズーム率を算出したが、これに限定されるものではなく、例えば垂直方向(縦軸方向)に拡大又は縮小のズーム方向を設定した場合に、垂直方向に射影した点と基準位置との距離に基づいてズーム率を算出してもよい。
また、図8の例では、拡大又は縮小の軸方向に射影した点と基準位置との距離に基づいてズーム率を算出したが、これに限定されるものではなく、例えば基準位置と現在の入力点との距離を算出し、算出した距離を上述した式のLCに代入して、拡大又は縮小のズーム率を算出してもよい。この場合、図8の例では、基準位置より右側にドラッグした場合に拡大ズーム率が算出され、基準位置より左側にドラッグした場合に縮小ズーム率が算出される。
更に、本実施形態では、タップ位置に対応する基準位置から、画面の端までの距離と、予め設定された最大(最小)倍率との関係から移動距離に対する倍率を設定することができる。その場合には、例えば基準位置から所定方向に移動した画面端までの距離を最大倍率又は最小倍率に設定し、設定した距離と倍率との関係から、所定距離に対する倍率を設定する。
例えば、ズームモードにおいて、基準位置から左方向へのドラッグ操作を縮小ズーム、右方向へのドラッグ操作に拡大ズームに設定してあるとする。ここで、基準位置から画面左端までの距離をLL、右端までの距離をLRとする。また、一度に操作可能な最小ズーム率をSmin、最大ズーム率をSmaxとする。このとき、表示イメージに対するズーム率は「縮小ズーム率=((Smin−1)/LL×LC+1)×SD」、「拡大ズーム率=((Smax−1)/LR×LC+1)×SD」で表すことができる。なお、LCは拡大又は縮小の軸方向に射影した点と基準位置との距離、SDはズームモード移行前のズーム率を表す。これにより、基準位置から端部までの距離を用いて予め設定された最大倍率又は最小倍率を実現することができる。
<ドラッグ方向と拡大又は縮小ズームとの関係>
ここで、本実施形態おけるドラッグ方向と拡大又は縮小ズームとの関係について説明する。本実施形態では、ズームモード時に、基準位置に対してどの方向にドラッグすれば、拡大又は縮小による表示内容の変更が行われるかについては、予め拡大又は縮小を行う固定の方向や、所定の角度範囲を持たせて設定することができるが、これに限定されるものではない。
例えば、本実施形態では、ズームを行う基準位置が画面端の近傍であるかを判定し、基準位置が画面端の近傍である場合に、ドラッグによるズーム操作を行う方向を動的に変更してもよい。なお、近傍とは、例えば画面端からの距離が所定距離(例えば、約1cm)以内の領域を示すが、これに限定されるものではなく、例えば画面サイズ等に対応させて所定距離を任意に設定することができる。
例えば、予め基準位置から左方向のドラッグ操作を縮小ズームとし、基準位置から右方向のドラッグ操作を拡大ズームとして設定されている場合には、基準位置が画面左端の近傍である場合に、左側へのドラッグ操作(縮小ズーム)が行えない。このような場合、本実施形態では、縮小ズームを行うドラッグ方向を上方向又は下方向に再設定する。なお、基準位置が画面左端の近傍である場合には、右方向に対するドラッグ操作(拡大ズーム)は可能であるため、拡大ズームのドラッグ方向の変更は行わなくてもよい。つまり、上述の例では、画面上の基準位置が左右どちらの画面端の近傍にあるかを調べ、左端の近傍であれば縮小するためのドラッグ方向、右端の近傍であれば拡大するためのドラッグ方向を、上方向又は下方向に変更して再設定することができる。
なお、左右の画面端の近傍に限定されるものではなく、例えば基準位置に対して上下の方向に拡大又は縮小を行うためのドラッグ方向が設定されている場合には、上下の画面端の近傍にあるかを調べ、近傍にある場合にドラッグ方向を変更する。上述した画面端の近傍にあるかの判断は、基準位置の位置座標に基づいて容易に把握することができる。上述したように、ズーム操作を行う方向を動的に変更することで、ユーザは、より簡易な操作で表示内容を変更させることができる。
<第2の具体例>
図9は、ユーザ操作に対応した表示内容の第2の具体例を示す図である。なお、図9(C)に示す矢印(1)、(2)は、上述したように、ユーザの指51を用いた画面50上の操作内容を示している。
第2の具体例では、図9(A)〜(C)に示すユーザ操作によりズームモードによる表示内容の変更が行われている。また、第2の具体例では、ズームモード時に上述したガイド表示が行われている。
図9(A)では、例えばユーザの指51で画面50上を所定時間内に2回タップし、タップ後に画面50上に指51が接触したままの状態を示している。この場合、本実施形態では、通常モードからズームモードに変更されるが、第2の具体例では、画面50にガイド表示が行われる。このガイド表示により、ユーザはズームモードに変更したことを容易に把握することができる。
なお、図9(A)に示すガイド表示には、ズームモード移行前のサイズ(ズーム率)に対応する基準マーク52を含む。また、図9(A)に示すガイド表示には、拡大ズーム(Zoom In)するための方向を示す方向マーク53−1又は縮小ズーム(Zoom Out)するための方向を示す方向マーク53−2を含む。
図9(A)に示す基準マーク表示52は、円形に表示され、更に円形内には半透明な所定の色や模様等が付されているが、形状や色、模様等についてはこれに限定されるものではない。例えば、形状については、星型や正方形、画像サイズ(外形)に対応して縮小した形状、三角形、所定のキャラクタマーク等であってもよい。また、色については、基準マーク52の外周部分のみ所定の色で表示し、基準マーク52内部は透明であってもよい。
また、図9(A)に示す方向マーク53−1,53−2は、ドラッグ方向を示す矢印と、その矢印に移動させることによる表示内容(例えば、「Zoom In」、「Zoom Out」)が示されているが、これに限定されるものではない。
ここで、図9(A)の例では、予め基準位置に対する左右の方向に拡大又は縮小を行うドラッグ方向が設定されているが、上述したように基準位置が画面端の近傍になる場合には、ドラッグ方向が再設定され、再設定されたドラッグ方向に方向マークが表示される。例えば、図9(B)の例では、ユーザが指51を用いて画面50内の左上の位置を2回タップし、ズームモードとなった場合、基準位置が画面50の端部の近傍となるため、左方向のドラッグ操作を行うことができない。そこで、本実施形態では、左方向に設定されていた縮小ズームを、すでに拡大ズームで設定されている右方句とは異なる方向に再設定する。なお、再設定される方向の候補としては、上下方向があるが、上方向についても画面50の端部の近傍であるためドラッグ操作を行うことができない。したがって、縮小ズームは、下方向に再設定され、図9(B)に示すように、下方向に縮小ズーム(Zoom Out)の方向マークが表示される。
更に、第2の具体例では、ガイド表示として、図9(C)に示すように、ドラッグ操作により移動した距離に応じて、表示内容がどの程度の割合で拡大又は縮小されているのかを示すズーム率54を表示させてもよい。図9(C)の例では、現時点でのドラッグ操作で対象データがズーム率150%で拡大表示されていること示している。なお、ズーム率54は、図9(C)に示すように、基準位置付近に表示されていてもよく、画面50の所定の位置(例えば、画面50の右上や中央)等の所定の位置に表示されてもよい。
また、第2の具体例では、ガイド表示として、図9(C)に示すように、ドラッグ中にどの程度変更されているかを示すズームマーク55を表示させてもよい。なお、ズームマーク55は、基準マーク52に対して相似した形状で、基準位置を基準として拡大又は縮小させて表示する。つまり、ズームマーク55は、例えばズーム率54の値に対応させて基準マーク52を拡大又は縮小させて表示したものである。
したがって、ズームモード時に、ズームモード前の状態からズーム率の変化がない場合(ズーム率=100%)には、基準マーク52及びズームマーク55は、同一の形状が重畳表示される。また、拡大ズームの場合には、図9(C)に示すように、ドラッグ操作による基準位置からの距離に対応させて基準マーク52の外側にズームマーク55が表示される。また、縮小ズームの場合には、ドラッグ操作による基準位置からの距離に対応させて基準マーク52の内側にズームマーク55が重畳表示される。
なお、ズームマーク55内は、基準マーク52と異なる半透明な所定の色や模様等が付されていてもよく、ズームマーク55の外周部分のみを所定の色で表示するようにしてもよい。また、基準マーク52とズームマーク55は、重畳表示されるが、一方を輪郭のみ又は半透明にしたり、小さいマークの方を上に重ねて表示させる等により、双方とも同時に視認できることが好ましい。このようにすることで、本実施形態では、指の動きに追従してズーム率が変化し、現在のズーム率も視覚的に把握しやすくなるためユーザが直感的にズーム操作を行うことができる。
ここで、基準マーク52のサイズは、上述した拡大ズーム率の算出式(例えば、拡大ズーム率=(LC+C)/C×SD)又は縮小ズーム率の算出式(例えば、縮小ズーム率=C/(LC+C)×SD)を用いて取得することができる。例えば、基準マーク52のサイズは、上述した式における定数Cを半径とした円と同等のサイズとし、位置は基準位置を中心とする。また、ズームマーク55の位置は、基準位置を中心とし、ズームマーク55のサイズは、例えば「基準マーク52のサイズ×ズーム率/SD」とすることができる。
<第3の具体例>
図10は、ユーザ操作に対応した表示内容の第3の具体例を示す図である。なお、図10(A)、(B)に示す矢印(1)、(2)は、上述したように、ユーザの指51を用いた画面50上の操作内容を示している。第3の具体例では、ズームモード時において、ユーザの指51が画面の端で停留している場合の表示内容の変化を示すものである。具体的には、例えばドラッグ入力による現在の入力位置が画面端の近傍(例えば、画面端から約1cm以内)であり、更にその位置で所定時間の停留がある場合には、基準位置が現在の入力位置から離れる方向にスクロールさせる。
例えば、第3の具体例では、ユーザの指51による矢印(1)、(2)の操作によって、通常モードからズームモードになり、更に矢印(2)に示すドラッグ操作により、ユーザの指51が、画面50の右端の近傍に移動したとする。
このとき、第3の具体例では、ユーザの指51を画面50の端の近傍で所定時間(例えば、約1秒〜2秒)だけ停留することで、図10(B)に示すように、画面50が左側方向にスクロールする。また、第3の具体例では、上述したスクロールにより指51のドラッグ操作が継続され、継続されたドラッグ操作に対応して図10(B)に示すようにズーム率が変更される。また、第3の具体例では、上述したスクロール時に指51を画面から離すと、スクロールが停止する。
なお、スクロール方向は、ドラッグ操作している指51の方向や位置に基づいて設定される。第3の具体例では、所定の方向にドラッグ操作している指51が画面50の端部まで移動したとしてもドラッグ操作が継続できるように、指51を所定時間停留させることでドラッグ方向とは逆の方向にスクロールを行う。なお、ドラッグ方向とは逆の方向へのスクロールは、例えば基準位置を現在の入力位置から離す方向にスクロールすることになる。これにより、第3の具体例では、スクロール動作と共にドラッグ操作を継続することができる。
図10(A)、(B)の例では、ズームモード時のドラッグ操作により、画面50の端まで指51を移動させた状態で150%のズーム率であり、その後、所定時間だけ指51を停留させることで、画面50がスクロールされてズーム率も180%に変更される。
なお、上述した画面例では、表示されるズーム率に合わせて表示内容もリアルタイムに変更して表示されているが、表示内容については、これに限定されるものではない。例えば、第3の具体例では、ズームモード時にドラッグ操作を行い、所定のズーム率で画面50から指51を離してズームモードが解除されたときに、そのズーム率に対応するズーム表示に変更してもよい。
<第4の具体例>
図11は、ユーザ操作に対応した表示内容の第4の具体例を示す図である。なお、図11(A)〜(C)に示す矢印(1)、(2)は、上述したように、ユーザの指51を用いた画面50上の操作内容を示している。また、図11(C)に示す矢印(3)は、ユーザの指51を用いて矢印(2)による基準位置から遠ざかる所定方向にドラッグした後、ドラッグ操作を継続させながら、基準位置を中心に円弧状の回転移動を行う操作を示しており、実際の画面50には表示されない。つまり、第4の具体例では、ズームモード時に、ユーザの指51を用いて画面50をドラッグしながら基準位置を中心とする円弧状の回転移動させることで、ズームモードから上述した回転モードに移行する例を示している。
例えば、第4の具体例では、図11(A)に示すように、ユーザの指51を用いた矢印(1)、(2)の操作により画面50を所定時間内に素早く2回タップし、そのままドラッグ操作を行うことで、通常モードからズームモードとなる。なお、図11(A)の例では、ガイド表示として上述した基準マーク52が表示されているが、これに限定されるものではなく、例えば上述した方向マークが表示されていてもよく、ガイド表示がなくてもよい。
また、第4の具体例では、図11(B)に示すように、タップ位置に対応する基準位置から離れる所定の方向にドラッグ操作を行うことで、基準位置からの距離に応じた拡大表示が行われる。なお、図11(B)の例では、ガイド表示として上述した基準マーク52とズームマーク55が表示されているが、これに限定されるものではなく、例えば上述したズーム率が表示されていてもよく、ガイド表示がなくてもよい。
ここで、第4の具体例では、図11(C)の矢印(3)に示すように指51を円弧状に所定量以上移動させることで、ズームモードから回転モードに移行する。また、第4の具体例では、矢印(3)による回転移動させた方向及び移動量に応じて、図11(D)に示すように画面50の表示内容(対象データ)を回転させる。なお、図11(D)の例では、回転させる対象データをズーム前の状態に戻した後に所定方向に回転させているが、これに限定されるものではなく、図11(B)の操作によりズーム表示した状態のまま、回転させてもよい。また、第4の具体例では、例えば図11(A)に示すように、ズームモードに移動した直後に図11(C)に示す矢印(3)の操作を行い回転モードにすることもできる。第4の具体例に示すように、本実施形態では、ユーザの簡単な操作で表示内容を適切に変更することができる。
なお、第4の具体例に示す回転モード時においても、上述した第3の具体例を適用することができる。具体的には、例えばユーザの指51による現在の入力位置(ポインティング位置)が画面端の近傍にあって所定時間の停留がある場合には、基準位置が現在の入力位置から離れる方向に所定量スクロールさせることができる。
<第5の具体例>
図12は、ユーザ操作に対応した表示内容の第5の具体例を示す図である。なお、図12(A)〜(C)に示す矢印(1)、(2)は、上述したように、ユーザの指51を用いた画面50上の操作内容を示している。また、図12(C)に示す矢印(3)は、ユーザの指51を用いて矢印(2)による基準位置から遠ざかる所定方向にドラッグした後、ドラッグ操作を継続させながら、ズームモード又は回転モードに対応する移動方向とは、異なる方向に移動する操作を示している。つまり、第5の具体例では、矢印(3)の操作により、それまでの操作内容がキャンセルされ、モード移行前の元の対象データを表示する。なお、矢印(3)は、実際の画面50には表示されない。
例えば、第5の具体例では、図12(A)に示すように、ユーザの指51を用いた矢印(1)、(2)の操作により画面50を所定時間内に素早く2回タップし、そのままドラッグ操作を行うことで、通常モードからズームモードとなる。なお、図12(A)の例では、ガイド表示として上述した基準マーク52が表示されているが、これに限定されるものではなく、例えば上述した方向マークが表示されていてもよく、ガイド表示がなくてもよい。
また、第5の具体例では、図12(B)に示すように、タップ位置に対応する基準位置から離れる所定の方向にドラッグ操作を行うことで、基準位置からの距離に応じた拡大表示が行われる。なお、図12(B)の例では、ガイド表示として上述した基準マーク52とズームマーク55が表示されているが、これに限定されるものではなく、例えば上述したズーム率が表示されていてもよく、ガイド表示がなくてもよい。
ここで、第5の具体例では、図12(C)の矢印(3)に示すように指51を画面50の上方向に所定量以上移動させることで、ズームモードがキャンセルされ、図12(D)に示すようにモード以降前の表示内容(対象データ)を画面50に表示する。なお、本実施形態では、キャンセルを行うための方向を予め設定しておき、設定された方向にドラッグ操作を行うことで、上述したキャンセル操作を実現することができる。この場合、キャンセルを行うための方向は、上述したズームモードや回転モード等を行う方向とは異なる方向が設定される。
また、第5の具体例では、例えば図12(A)に示すように、ズームモードに移動した直後に図12(C)に示す矢印(3)の操作を行い、モード移行をキャンセルすることもできる。第5の具体例に示すように、本実施形態では、ユーザの簡単な操作で表示内容を適切に変更することができる。
なお、上述した各具体例におけるモード移行は、モード制御部18により制御される。また、各具体例は、モード制御部18により制御されたモードに対応させて、変化量算出部20により得られる変化量(ズーム率、回転角度)等や表示内容設定部21により得られる設定内容に基づいて表示内容を変更させる。なお、上述した各具体例は、複数を組み合わせて画面50の表示内容を変更させることができる。
上述した実施形態によれば、簡単な操作で適切に画面の表示内容を変更することができる。具体的には、本実施形態によれば、位置入力部により一定時間及び一定距離内の2つ以上の位置入力が行われ、かつそのまま続けてドラッグ操作を行うことで、タップ位置に対応した基準位置を中心としてドラッグ量に追従したズーム率の変更を可能とする。したがって、本実施形態によれば、基準位置とズーム率とを一度に指定することができ、例えば片手の親指等を用いて、従来手法よりも容易に任意倍率による表示内容(対象データ)のズームが可能となる。また、本実施形態によれば、基準位置と回転角度とを一度に指定することもでき、例えば片手の親指等を用いて、従来方式よりも容易に任意の回転角度による表示内容の回転が可能となる。更に、本実施形態における操作は、他の一般的なタッチ操作と重複しないため、ユーザは混乱することなく、目的とする表示内容の変更を行うことができる。
以上、各実施例について詳述したが、特定の実施例に限定されるものではなく、特許請求の範囲に記載された範囲内において、上記変形例以外にも種々の変形及び変更が可能である。
なお、以上の実施例に関し、更に以下の付記を開示する。
(付記1)
位置入力部からの位置入力を受け付け、前記位置入力を受け付けた入力回数を計測し、
前記位置入力により得られる基準位置と現在の入力位置との距離を算出し、
前記入力位置の移動量に基づいて、ドラッグ入力か否かを判定し、判定した結果と前記入力回数とに基づいて、表示部における表示モードを所定のモードに移行し、
前記所定のモードがズームモードである場合に、前記距離と前記ドラッグ入力による入力位置の移動方向とに基づいて、前記表示部の表示内容を前記距離に応じた所定のズーム率に変更する、処理をコンピュータに実行させるための表示プログラム。
(付記2)
前記位置入力部からの位置入力を受け付けてからの時間を計測し、
所定時間が計測されるまでの間に、前記入力回数が所定数未満であった場合に、前記入力回数をリセットすることを特徴とする付記1に記載の表示プログラム。
(付記3)
前記入力回数が所定数以上の場合にズームモードへ移行し、前記所定数より少ない場合にスクロールモードへ移行することを特徴とする付記1又は2に記載の表示プログラム。
(付記4)
前記基準位置は、前記位置入力部から得られる入力座標の平均、又は位置入力部で取得した最初又は最後の入力位置の座標とすることを特徴とする付記1乃至3の何れか1項に記載の表示プログラム。
(付記5)
前記基準位置と前記ドラッグ入力による現在の入力位置との所定の軸方向の差を線形変換した値と、前記ズームモードに移行する前のズーム率とに基づいて前記ズーム率を算出することを特徴とする付記1乃至4の何れか1項に記載の表示プログラム。
(付記6)
前記ズームモードに移行された場合に、前記表示部の画面に所定のガイド表示を行うことを特徴とする付記1乃至5の何れか1項に記載の表示プログラム。
(付記7)
前記ガイド表示は、
前記ズームモード移行前の表示内容を基準とした基準マーク、ズーム率に対応したズームマーク、拡大ズーム又は縮小ズームさせるための方向を示す方向マーク、及びズーム率のうち、少なくとも1つを含むことを特徴とする付記6に記載の表示プログラム。
(付記8)
前記基準マークと前記ズームマークとは、重畳表示されることを特徴とする付記8に記載の表示プログラム。
(付記9)
前記表示部の画面における前記基準位置の場所に応じて、前記ズーム率を設定する移動方向を変更することを特徴とする付記1乃至8の何れか1項に記載の表示プログラム。
(付記10)
前記ドラッグ入力による現在の入力位置が前記表示部の画面端の近傍であり、更に所定時間の停留がある場合に、前記基準位置が前記現在の入力位置から離れる方向にスクロールさせることを特徴とする付記1乃至9の何れか1項に記載の表示プログラム。
(付記11)
前記ドラッグ入力による入力位置が前記基準位置を中心とした円弧状に所定量以上移動した場合に、回転モードに移行することを特徴とする付記1乃至10の何れか1項に記載の表示プログラム。
(付記12)
前記ズームモードから前記回転モードに移行した場合に、前記表示内容のズーム率を、前記ズームモード時に設定されたズーム率のままにするか又は前記ズームモード前のズーム率に戻すことを特徴とする付記11に記載の表示プログラム。
(付記13)
前記ズームモード時において、前記ドラッグ入力による入力位置の移動方向が変更された場合に、前記距離に応じた所定のズーム率への変更をキャンセルすることを特徴とする付記1乃至12の何れか1項に記載の表示プログラム。
(付記14)
位置入力部からの位置入力を受け付け、前記位置入力を受け付けた入力回数を計測し、
前記位置入力により得られる基準位置と現在の入力位置との距離を算出し、
前記入力位置の移動量に基づいて、ドラッグ入力か否かを判定し、判定した結果と前記入力回数とに基づいて、表示部における表示モードを所定のモードに移行し、
前記所定のモードがズームモードである場合に、前記距離と前記ドラッグ入力による入力位置の移動方向とに基づいて、前記表示部の表示内容を前記距離に応じた所定のズーム率に変更する、処理を有することを特徴とする表示方法。
(付記15)
位置入力を受け付ける位置入力部と、
前記位置入力部により前記位置入力を受け付けた入力回数を計測する入力回数計測部と、
前記位置入力により得られる基準位置と現在の入力位置との距離を算出する距離算出部と、
前記位置入力部から得られる入力位置の移動量に基づいて、ドラッグ入力か否かを判定するドラッグ判定部と、
前記ドラッグ判定部における判定結果と、前記入力回数計測部における入力回数とに基づいて、表示部における表示モードを所定のモードに移行するモード制御部と、
前記モード制御部によりズームモードに移行された場合に、前記距離算出部から得られる距離と、前記ドラッグ判定部から得られる移動方向とに基づいて、画面上の表示内容を、前記距離に応じた所定のズーム率に変更するよう設定する表示内容設定部とを有することを特徴とする情報処理装置。