JP2014194747A - 情報処理装置、情報処理方法及びコンピュータプログラム - Google Patents
情報処理装置、情報処理方法及びコンピュータプログラム Download PDFInfo
- Publication number
- JP2014194747A JP2014194747A JP2013243943A JP2013243943A JP2014194747A JP 2014194747 A JP2014194747 A JP 2014194747A JP 2013243943 A JP2013243943 A JP 2013243943A JP 2013243943 A JP2013243943 A JP 2013243943A JP 2014194747 A JP2014194747 A JP 2014194747A
- Authority
- JP
- Japan
- Prior art keywords
- area
- scroll
- scrolling
- scrolled
- information processing
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0487—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
- G06F3/0488—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G5/00—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
- G09G5/34—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators for rolling or scrolling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
- G06F3/0485—Scrolling or panning
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G5/00—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
- G09G5/34—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators for rolling or scrolling
- G09G5/346—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators for rolling or scrolling for systems having a bit-mapped display memory
Abstract
【課題】画像の一部を指示しつつスクロールの指示を行うような場合において、ユーザの意図に沿った領域をスクロールさせる技術を提供する
【解決手段】スクロール可能な第1領域と、第1領域の一部であり独立してスクロール可能な第2領域が含まれる、表示部に表示された画像をスクロールさせる制御を行う情報処理装置であって、表示部における位置を特定し、該位置に相当する画像のスクロールを指示する情報を受け付ける手段と、 前記位置が第2領域に相当する場合に、第1領域をスクロールさせるか、第2領域を独立してスクロールさせるかを、前回指示で画像がスクロールした方向に基づいて定まる表示部の特定範囲に前記位置が含まれるか否かに基づき判定する手段と、判定結果に基づいて第1領域をスクロールさせるか、第2領域を独立してスクロールさせる制御手段とを備える。
【選択図】図6
【解決手段】スクロール可能な第1領域と、第1領域の一部であり独立してスクロール可能な第2領域が含まれる、表示部に表示された画像をスクロールさせる制御を行う情報処理装置であって、表示部における位置を特定し、該位置に相当する画像のスクロールを指示する情報を受け付ける手段と、 前記位置が第2領域に相当する場合に、第1領域をスクロールさせるか、第2領域を独立してスクロールさせるかを、前回指示で画像がスクロールした方向に基づいて定まる表示部の特定範囲に前記位置が含まれるか否かに基づき判定する手段と、判定結果に基づいて第1領域をスクロールさせるか、第2領域を独立してスクロールさせる制御手段とを備える。
【選択図】図6
Description
本発明は、情報処理装置において、画像のスクロール操作を行った場合のスクロール対象を制御する技術に関する。
ユーザが情報処理装置を操作する際に、画面に表示された画像の続きを出現させるために、情報処理装置の画面に表示された画像全体をスクロールさせる操作が行われることがある。このようなスクロール操作は、ユーザによるドラッグ操作により実行される場合がある。また、画面上の所望位置にカーソルを表示させつつマウスなどに装備された回転操作部(ホイール)を回転させることで実行される場合もあるであろう。
なお、以下では、「ドラッグ操作」とは、タッチパネルやマウスなどのポインティングデバイスで、画面のある位置を指示した後、指示を継続したまま、その位置を移動させるという一連の操作を表す。ただし、これが指をはじくような動作であればフリック操作と呼ばれる場合もある。
デジタル文書のスクロール可能な領域の中に、別のスクロール可能な小領域が存在する場合に、両領域のスクロールを連動させる技術として、特許文献1に開示されたブラウザ装置が知られている。このブラウザ装置は、スクロールに応じて不足する情報を通信により取得して追加記録する。これにより、記憶領域のサイズの増大を防ぐことができる。
特許文献1には、ある領域のスクロール時に登場する他のスクロール可能な領域を指示した状態で、誤ってスクロールの指示操作をしたときの対策については開示されていない。例えば図16のように、文書1201をスクロールさせている途中に、その小領域として地図領域1202が登場することがある。もし、ユーザが、この地図領域1202に気付かず、文書1201のスクロールを継続させようとして誤って地図領域1202を、スクロール指示としてドラッグ操作してしまうと、一意的に地図領域1202の内部のスクロールに移行してしまうこともある。この場合、ユーザの意図通りの結果が得られなくなる。
本発明は上記従来例に鑑みてなされたものであり、画像の一部を指示しつつスクロールの指示を行うような場合において、ユーザの意図に沿った領域をスクロールさせる技術を提供することを課題とする。
上記課題を解決するために、本発明による情報処理装置は、スクロール可能な第1領域と、第1領域の一部であり独立してスクロール可能な第2領域が含まれる、表示部に表示された画像をスクロールさせる制御を行う情報処理装置であって、前記表示部における位置を特定し、該位置に相当する画像のスクロールを指示する情報を受け付ける受付手段と、 前記位置が第2領域に相当する場合に、前記第1領域をスクロールさせるか、前記第2領域を独立してスクロールさせるかを、前回スクロール指示で画像がスクロールした方向に基づいて定まる表示部の特定範囲に前記位置が含まれるか否かに基づき判定する判定手段と、 前記判定手段での判定結果に基づいて、前記第1領域をスクロールさせるか、前記第2領域を独立してスクロールさせる制御手段とを備えることを特徴とする。
本発明による情報処理装置によれば、画像の一部を指示しつつスクロールの指示を行うような場合において、ユーザの意図に沿った領域をスクロールできる。
予め説明するが、各実施形態においては、スクロールの操作の代表的なものとして、ドラッグ操作を例に挙げて説明するが、本発明はこれに限定されない。例えばマウスの回転操作部(ホイール)を回転させる方法等、画面上の位置を指定し、かつスクロール操作を指示し、この指示を表示部を有する処理装置等のコンピュータが受け付けて画像表示処理を行う方法であれば適用可能である。また、各実施形態では、コンピュータとして、表示部を備えてタッチパネルを通じて入力を行う情報処理装置を用いたが、本発明は、これに限られるものではない。例えば、表示部と、この表示部における位置を特定して該位置に相当する画像のスクロールを指示する情報を受け付ける手段と、を有するか又はこれらに接続が可能なコンピュータによって本発明を実施することも可能である。
例えば、上述した図16の操作において、ユーザが、地図領域1202が登場する位置に近い位置をドラッグ操作しているときには、ユーザの意図に反したスクロールが起こりやすい。なぜなら、地図領域1202が登場してから、ユーザが誤って当該地図領域1202をドラッグ操作するまでの距離が短く、その登場に気付かない可能性が高いためである。また、ユーザはドラッグ操作する位置を自由に決められるが、例えばタッチパネルを備えた情報処理装置を片手で保持し、かつ同じ手でタッチパネルを操作する場合には、ドラッグ操作する位置に制限がかかるため、このような問題が起こりやすい。
片手で保持と操作の両方を行う場合、多くのユーザは、小指から人差し指までを用いて情報処理装置を保持し、親指でタッチパネルの操作を行う。このとき、ユーザは、必然的にタッチパネルの下部に触れることになる。多くのスクロール操作は上方向に行われるため、タッチパネルの下部を触れているときに下部から登場した領域に気付くのは困難になる。以下の実施形態では、上述した問題を解決する例を説明する。
以下、本発明を、表示画面を備えた情報処理装置に適用した場合の実施形態を、図面を参照し詳細に説明する。なお、以下で説明する「スクロール」とは、画面内もしくは所定領域内に表示しきれない部分画像を表示するために表示内容を上下左右に移動させることをいう。
[第1実施形態]
第1実施形態では、情報処理装置の表示画面に示される第1領域のスクロール中に、第1領域(親の領域あるいは背景領域とも呼ぶ)とは独立にスクロール可能な第2領域(子の領域あるいは小領域とも呼ぶ)が登場する場合の例を説明する。なお、第1領域の一部として存在し、かつ第1領域とは独立してスクロール可能な第2領域が存在するようなコンテンツ自体は、従来のWebページなどからも公知であるので、詳細な説明は省略する。また、第2領域は、第1領域の一部として存在しているため、第1領域がスクロールする場合には、第2領域自体は独立してスクロールせず、第1領域の一部として相対的に移動する。
第1実施形態では、情報処理装置の表示画面に示される第1領域のスクロール中に、第1領域(親の領域あるいは背景領域とも呼ぶ)とは独立にスクロール可能な第2領域(子の領域あるいは小領域とも呼ぶ)が登場する場合の例を説明する。なお、第1領域の一部として存在し、かつ第1領域とは独立してスクロール可能な第2領域が存在するようなコンテンツ自体は、従来のWebページなどからも公知であるので、詳細な説明は省略する。また、第2領域は、第1領域の一部として存在しているため、第1領域がスクロールする場合には、第2領域自体は独立してスクロールせず、第1領域の一部として相対的に移動する。
以下の説明では、表示画面において第2領域が最初に出現する位置の近傍領域をスクロール指示無効範囲と記載する。このスクロール指示無効範囲は、任意に設定可能である。ただし、以下で説明する各実施形態においては、後述するスクロール指示無効範囲209は、その範囲209を利用する直前のスクロール方向に依存して確定するものとする。言い換えれば、範囲209は、前回スクロール指示で画像がスクロールした方向に基づいて定まる表示部の特定範囲である。より具体的には、画面全体(ここでは第1領域)を上方向にスクロールした後に参照されるスクロール指示無効範囲209は、表示画面の下端部に設定される。一方、画面全体(ここでは第1領域)を下方向にスクロールした後に参照されるスクロール指示無効範囲209は、表示画面の上端部に設定される。
また、表示画面において、スクロールにより表示画面外から表示画面へと画像が出現し、その後表示された画像は表示画面外へと移動して消去される。従って、スクロールが上下方向、左右方向あるいはその他の方向のどの方向であったとしても、表示画面において、スクロールにより表示画面外から表示画面へと画像が出現する位置の近傍領域がスクロール指示無効範囲としてもよい。これら設定の切り替えは、画面全体のスクロール方向が変化するごとに行われることになる。
この実施形態では、1回目のドラッグ時において第2領域は表示されておらず、従って第1領域がスクロールされ、2回目のドラッグ時においては領域Bが表示画面に出現する例を説明する。また、この実施形態では、2回目のドラッグにおけるタッチ位置は、スクロール指示無効範囲に表示された第2領域にあるものとし、第2領域をドラッグ操作しても第1領域がスクロールされるようにする。これにより、ユーザが第2領域を独立してスクロールするつもりではないが、第2領域をドラッグ操作したときには、第1領域がスクロールされる。なお、1回目のドラッグ操作で第1領域がスクロールされていない場合には、第2領域のドラッグ操作時に第2領域をスクロールさせる。
図1(a)は、上記機能を実現するための本実施形態に係る情報処理装置のハードウェア構成図である。CPU(Central Processing Unit)101は、ROM(Read Only Memory)102、HDD(Hard Disk Drive)103に格納されている制御プログラムを読み出して実行し、各デバイスを制御する。この制御プログラムは、本実施形態で説明される各種動作の制御プログラムである。ROM102は、上記制御プログラムやそのプログラムに利用される各種データを保持する。RAM(Random Access Memory)104は、CPU101の上記プログラムのワーク領域、エラー処理時のデータの退避領域、上記制御プログラムのロード領域などを有する。HDD103は、上記各種制御プログラムや各種データを格納する。
受付部105は、表示手段としての表示部における位置を特定して該位置に相当する画像のスクロールを指示する情報を受け付ける手段である。本実施形態では、受付部105は、ユーザから表示画面における位置の指示操作を取り込むためのマウス、タッチパネル、ペン等のデバイス又はそのインタフェースである。受付部105により、これら指示操作の受付処理を行う。以下、受付部105がタッチパネルであり、指示操作は画面へのタッチ操作(ドラッグ操作)を通じて行われるとして説明するが、マウスやペンなどの他のデバイスを用いた場合にも本実施形態は適用が可能である。
より具体的には、ペンを使う場合には、指と同様に画面へのタッチを通じて行うことが想定される。マウスを使う場合には、例えば表示画面にカーソルを表示させた状態でマウスの左クリックをすることが、上記タッチパネルへのタッチ操作になることが想定される。また別のマウスを使う場合には、例えば表示画面にカーソルを表示させた状態でマウスに装備された回転操作部(ホイール)を回転させることが、上記タッチパネルにおけるドラッグ操作になることが想定される。表示部106は、各種情報を表示する表示画面やタッチパネルである。以下、表示部106は、後述する図3に示されるタッチパネル210であり、受付部をも兼ねるものとして説明するが、その他の装置を用いた場合にも本実施形態は適用可能である。
バス107は、CPU101の制御の対象とする構成要素を指示するアドレス信号、各構成要素を制御するためのコントロール信号、各構成機器相互間でやりとりされるデータの転送を行う。なお、上記制御プログラムは、ROM102又はHDD103に予め記憶されていても良いし、必要に応じて外部装置などから受理し、ROM102又はHDD103に記憶しても良い。CPU101は、ROM102又はHDD103等に記憶されているコンピュータプログラムを実行することにより、後述する情報処理装置の各種機能あるいは後述するフローチャートの各種動作を実行する。また、RAM104やHDD103に記憶されるデータは、外部装置に記憶されていても良い。CPU101は、外部装置などからデータを受理する。
図1(b)は、図1において示したROM102やHDD103に格納されている制御プログラムが実行されることにより、情報処理装置に形成される機能ブロックの構成図である。タッチの開始やリリース、及びタッチ点の移動等は、受付部105が検知し、制御部108に入力する。制御部108は、この情報処理装置で行われる処理全体を制御し、また、受付部からの入力を通じて、タッチ点の移動速度や移動方向等を判定する。また、制御部108は、表示部105に表示される第1領域と、前記第1領域に表示される第2領域と、を表示する手段としても動作する。また、制御部108は、第1領域、第2領域のそれぞれを、各領域に表示される画像のスクロールが可能となるように表示制御を行う。
更に、制御部108は、タッチされた場所(タッチ点)の移動が起こったとき、タッチ点の位置に表示されている領域、第1領域のスクロール速度、第1領域や第2領域の表示状態等の情報を取得する。これにより、制御部108は、第1領域又は第2領域をスクロールさせるスクロール実行手段としても動作する。なお、第1領域あるいは第2領域の表示状態とは、当該領域の表示が完了しているか未完了であるか、領域全体が画面に表示されているか等の、領域がどのように表されているかの状態をいう。また、制御部108は、後述する、第1領域、第2領域等のうちどの領域に表示された画像をスクロールさせるかの判定を行う判定手段としても動作する。
このとき、制御部108は、ユーザが第1領域のスクロールを継続しようとしているか否かを判定し、その判定結果に基づいて、スクロールさせる領域を決定する。この判定は、ユーザからの入力と、領域に表示される画像を表示するためのパラメータとに基づいて行われる。第1領域を例にとると、第1領域に表示される画像を画面のどの位置に表示するかを定めるために、画像の位置を座標表示する場合、座標を構成する変数が、上記のパラメータとなる。例えば、x−y座標系を用いた場合には、x及びyの値が上記パラメータとなり、極座標を用いた場合には、r、θが上記パラメータとなる。また、各領域に表示される画像がスクロールされている場合には、領域に表示される画像を表すパラメータとしてスクロール速度が含まれる。以下、特に断りのない限り、以下に説明する画像表示を行うための画像の位置、速度等は、画像を表示するためのパラメータとなる。
記憶部109は、表示部106に表示される領域や、制御部108が決定するスクロール対象の領域などの情報をHDD103やRAM104に記憶する。なお、制御部108、記憶部109の機能は、ロジック回路、あるいは、他のハードウェアで実現することもできる。図2(a)は、記憶部109に記憶されるデータの例示図である。本実施形態において記憶部109は、領域201、スクロール時刻202、スクロール対象領域203、最大操作間隔208、スクロール指示無効範囲209を記憶する。
領域201は、表示部106に表示される内容を表示する領域を表す。表示内容は、具体的には、テキスト、画像といった描画要素、あるいは、領域201が後述する親子関係を構成する領域を有する場合には、子の領域をも含んで構成される。以下、説明の簡素化のために、これらテキスト、画像等を単に「画像」と記載する。領域201に表示される画像は、タッチ点の移動に応じてスクロールする。スクロールとは、表示範囲205に表示される画像を、タッチ点の移動量や移動方向に応じて移動させることを意味する。領域201は、領域ID204と表示範囲205という情報を持つ。領域ID204は、領域201を識別する文字列である。領域ID204がID_bgである領域は、背景領域を、領域ID204がID_mapである小領域は地図領域をそれぞれ表す。表示範囲205は、表示部106が表示する範囲のうち、領域201に表示される画像が表示される範囲である。
スクロール時刻202は、スクロールが開始された時刻を表す。この例では、2012年1月1日12時00分にスクロールが開始されたことが示される。スクロール対象領域203は、現在スクロール中の画像が表示されている領域か、またはスクロール中の画像がない場合には最後にスクロールした画像が表示された領域を表す。図2においては、ID_bgで表される背景領域に表示された画像が最後にスクロールされたことが示される。
最大操作間隔208は、前回タッチされた領域(前回ドラッグ操作を開始された領域)に表示された画像をスクロールさせるための今回のタッチ点の開始時刻が前回の開始時刻との差分の閾値である。スクロール指示無効範囲209は、タッチされた領域のスクロール操作を無効にするかどうかを判定するための参照範囲である。この範囲209の具体的な参照方法については後述する。なお、上述したように、このスクロール指示無効範囲209は、前回のスクロール指示に基づいて第1領域がスクロールしている方向に基づいて適宜更新される。
図2(b)は、領域201が親子関係を構成することを示した図である。本実施形態では、二つの領域201が記憶部109に記憶されている。そのうち、領域ID204がID_bgである領域は、領域ID204がID_mapである領域の親領域であることを表す。以下、領域ID204がID_bgである領域を背景領域206、領域ID204がID_mapである小領域を地図領域207とする。従って、背景領域206はスクロール可能な第1画像が表示される第1領域となり、地図領域207は、第1領域である背景領域206内に表示されて背景領域206とは独立してスクロール可能な第2画像が表示される第2領域となる。
図3は、本実施形態に係る情報処理装置200の概略構成の説明図である。この図において、図2(a)で説明した背景領域206、地図領域207、スクロール指示無効範囲209は、いずれも、情報処理装置200の図1(b)に示した表示部106としてのタッチパネル210に表示される。このとき、親の領域である背景領域206の表示範囲205は、表示部106が表示する範囲と等しい。また、地図領域207の表示範囲205は、表示部106が表示する範囲の一部となる。なお、背景領域206に表示される画像がスクロールされると地図領域207に表示される画像も移動する。このとき、地図領域207に表示される画像は背景領域206から独立してスクロールはしない。その結果、地図領域207に表示される画像は、例えば図7(a)〜(d)のように変化する。なお、上記スクロール指示無効範囲209は、装置内の判断に利用される参照領域であるので、表示部106に表示しなくても構わない。もし範囲209が表示部106上に表示される場合には、親の領域である背景領域206のスクロール方向が変わるたびに、範囲209の位置が画面下端部や上端部に切り替わる。
図4は、受付部105がユーザのドラッグ操作(スクロールを指示する操作)を検知した時に実行される処理を表したフローチャートである。なお、各実施形態において、「ドラッグ操作」とは、タッチパネルやマウスなどのポインティングデバイスで、画面のある位置の指示(タッチ)を開始した後、その指示状態で、位置を移動させるという一連の操作を表す。ここでは、最初のタッチ位置はドラッグの開始位置とし、ドラッグの開始位置がどの領域であるかにも着目することになる。以下、受付部105は、ユーザのドラッグ操作をタッチパネルへのタッチ点の移動として認識することを前提に説明を行う。なお、特段の記載がない限り、各ステップは制御部108により実行される。
受付部105でタッチ点の移動が検出された場合、制御部108は、この移動がタッチされたあとに初めて起こったものであるか否かを判定する(S101)。この判定では、記憶部109に記憶されているフラグを検出し、フラグがOFFであれば初めて起こった移動であると判定し、フラグがONであれば初めて起こった移動ではないと判定される。
初めて起こった移動であると判定された場合(S101:Y)、制御部108は、記憶部109に記憶されているフラグをONにし、ステップS102に進み、スクロール対象となる画像が表示されている領域を決定する。なお、その決定の詳細は、図5、図6に示されるフローチャートを用いて後述する。その後に、制御部108は、スクロール対象領域203に表示されている画像をスクロールさせる(S103)。一方、受付部105でタッチ点の移動が検出された場合に記憶部109に記憶されたフラグがONであれば、初めて起こった移動ではないと判定する(S101:N)。そして、前回のタッチ点の移動におけるスクロール対象領域203に表示されている画像をスクロールさせる(S103)。
初めて起こった移動ではない場合、表示部106は、スクロール対象領域の決定処理(S102)を実行せず、その前の移動によりスクロールされた領域をスクロール対象領域として、そのスクロール対象領域に表示されている画像をスクロールさせる(S103)。その後、制御部108は、受付部でタッチ点のリリースが検出されたか否かを判定し(S104)、検出されなかった場合にはS101に戻る(S104:N)。一方、リリースが検出された場合(S104:Y)には、フラグをOFFにして(S105)処理を終える。
図5は、図4のS102におけるスクロール対象領域203の決定処理の具体的なフローである。図5において、制御部108は、タッチ点からタッチの開始位置(上記ドラッグ操作の開始位置に相当)を取得する(S204)。その後、制御部108は、S204で取得した開始位置に表示されている領域を取得し、この領域を領域Aとする(S205)。
領域Aの具体的な取得手順例は、以下の通りである。まず、制御部108は、領域201の親子関係を参照し、末端にある領域を取得する。その末端にある領域の表示範囲205に図5のS204で取得したタッチの開始位置が含まれているか否かを判定する。含まれているならば、その領域を領域Aとする。開始位置が含まれていないならば、その他の末端にある領域に対して同様の処理を行う。全ての末端にある領域にタッチの開始位置が含まれていないならば、親の領域を、領域Aとする。
以上のように領域Aを取得した後、図5において、制御部108は、領域Aに表示されている画像をスクロールさせるか否かを判定する(S206)。ここでもし領域A自体が親領域である場合には、後述するS207では領域Aに表示されている画像をそのままスクロールさせる。一方、領域Aに親領域がある場合には、後述するS207では領域Aに表示されている画像を親領域とは独立にスクロールさせるか否かを判定する。判定の基準は、領域Aにユーザが気付いているか否かを客観的指標にしたものとするべきであるが、その種類や基準は適宜調整可能である。なおこの判定基準の一例は後述する。制御部108は、その判定結果に従って領域Aに表示されている画像をスクロールさせるか否かを判定する(S207)。
領域Aに表示されている画像をスクロールさせると判定したとき(S207:Y)は、当該領域Aに表示されている画像をスクロール対象領域と決定する(S208)。そして、記憶部109が、S205で取得した領域Aをスクロール対象領域203として記憶する。もし上述したように領域Aに親領域がない場合には、自分が親領域に相当するので、そのまま領域Aをスクロールさせると決定する。一方、領域Aに親領域がある場合には、領域Aは小領域に相当するので、親領域とは独立にスクロールさせるか否かを判定する。
もしユーザが領域Aが親領域ではない小領域であると気付いていないであろうと判定した場合は、領域Aに表示されている画像をスクロールさせないと決定し(S207:N)、領域Aの親の領域をスクロール対象領域と決定する(S209)。そして、記憶部109が、S205で取得した領域の親の領域をスクロール対象領域203として記憶する。制御部108は、タッチ点やスクロール時刻202の情報を記憶し、かつ、画面のスクロールを開始領域にタッチしたことを検知した時刻(現在時刻)を前回のスクロール時刻202として記憶部109に記憶し(S210)、本処理を終了する。以上のように、図5におけるS204〜S210での処理により、図4におけるS102の処理が完了する。その後、処理は図4のS103に進み、上述したようにS104、S105が実行される。
次に、図5におけるS206、即ち、ユーザが領域Aに気付いているか否かを判定する処理の具体例の処理手順を図6に示す。なお、図6において、S301、S302及びS303の各ステップを単独で実行しても、あるいは順番を入れ替えて実行しても、領域Aに表示されている画像をスクロールするか否かの判定精度を向上することが可能である。この実施形態では、判定精度を一層高くするためにS301、S302、S303を組み合わせてこの順に実行している。図6において、制御部108は、前回のスクロール(開始)時刻202と今回のスクロール(開始)時刻とを比較し、経過時間が所定時間内であるか、すなわち、図8に最大操作間隔208として示される500[ms]以内であるか否かを判定する(S301)。この時間を超えている場合、あるいは、前回のスクロール時刻202が記憶されていない場合は、S205で取得した領域201にユーザが気付いていないと判定し(S301:N)、領域Aをスクロール対象領域と判定する(S305)。
経過時間が500[ms]より小さければ(S301:Y)、制御部108において、スクロール対象領域203とS205で取得した領域201とを比較する(S302)。比較の結果、領域201の親子関係において、スクロール対象領域203が領域201の祖先、つまり、領域201の親又は2世代以上前の親にあたらない場合(S302:N)、領域Aをスクロール対象領域であると判定する(S305)。スクロール対象領域203が領域201の祖先にあたる場合、制御部108において、最初のタッチ位置がスクロール指示無効範囲209に含まれているか否かを判定する(S303)。含まれていない場合(S303:N)、領域Aをスクロール対象領域であると判定する(S305)。S305の後、制御部108は、S205で取得した領域201にユーザが気付いていると判定して、本処理を終了する。
一方、最初のタッチ位置がスクロール指示無効範囲209に含まれている場合(S303:Y)、制御部108は、S205で取得した領域201にユーザが気付いていないと判定し(S304)、本処理を終了する。結果的に、このS304では小領域である領域Aがスクロールしない代わりに、前述のS209において親の領域が全体的にスクロールすることになる。言い換えると、親の領域のスクロールが継続するということになる。
以上のように、第2ドラッグ操作で第2領域がドラッグされた場合でも、タッチ位置がスクロール指示無効範囲内に含まれる(S303)等の所定の条件が満たされた場合には、第1領域に表示されている画像をスクロールさせることが可能となる。
次に、本実施形態によるスクロール操作例を説明する。本例では、領域201、最大操作間隔208、スクロール指示無効範囲209は、図2に記載したとおりの値をとるものとする。従って、最大操作間隔208の値は、この実施形態では500[ms]となる。
[操作例A]
操作例Aは、最も単純な操作の例であり、ユーザが第1回目のドラッグで背景領域206に表示されている画像をスクロールさせ、その後短時間のうちに第2回目のドラッグを行う例を示す。操作例Aにおける1回目のドラッグを開始する時のタッチパネル210の画面を図7(a)に示す。また、2回目のドラッグを開始する時のタッチパネル210の画面を図7(b)に示す。
操作例Aは、最も単純な操作の例であり、ユーザが第1回目のドラッグで背景領域206に表示されている画像をスクロールさせ、その後短時間のうちに第2回目のドラッグを行う例を示す。操作例Aにおける1回目のドラッグを開始する時のタッチパネル210の画面を図7(a)に示す。また、2回目のドラッグを開始する時のタッチパネル210の画面を図7(b)に示す。
この例では、ユーザは1回目のドラッグ操作時に図7(a)の背景領域206に表示されている画像をドラッグし、2回目のドラッグ操作時にはスクロール指示無効範囲に現れた地図領域207に表示されている画像にタッチしてドラッグする。この2回目のドラッグ時に、図7(b)の背景領域206をスクロールさせるか、又は小領域である地図領域207をスクロールさせるかを決定する。以下にその詳細を示す。
操作例Aは、まず図7(a)の背景領域206にある位置501にタッチし、位置502に向かって上方向に1回目のドラッグを行う。これにより、後述する処理により、背景領域206に表示されている画像がスクロールされ、その結果、地図領域207に表示される画像がタッチパネル210に表示される。また、この例では、地図領域207は、スクロール指示無効範囲209に含まれている。その直後、図7(b)に示すように、ユーザは地図領域207内にある位置503から位置504に向かって上方向に2回目のドラッグを行う。ここでは、1回目のドラッグ操作から2回目のドラッグ操作までの間隔が、最大操作間隔208の値である1000[ms]より短い200[ms]であったとする。このとき、制御部108は、後述する処理により、ユーザが地図領域207に気付いていないと判定し、背景領域206のスクロールを継続する。
次に、1回目のドラッグ操作時に制御部108で実行される処理を、図4〜図6で説明した各ステップを通じて説明する。タッチパネル210の画面を表す図7(a)の位置501にユーザがタッチし、タッチした指を初めて移動させたとき、まず図4に示す処理が実行される。制御部108は、今回のタッチ点の移動が最初の移動であると判定し(S101)、スクロール対象領域を決定する(S102)。
S102の詳細を説明する図である図5を参照すると、制御部108は、タッチ開始位置を取得し(S204)、取得した位置に表示されている領域Aを取得する(S205)。この例では、図7(a)の位置501は背景領域206にあることから、S205では、背景領域206が領域Aとなる。
次に、背景領域206をスクロール対象とするか否かを判定する(S206)。
図5のS206の詳細を表す図6に示されるように、制御部108は、タッチされた時刻が前回のスクロール時刻から一定時間以内であるか否かを判定する(S301)。この例では、タッチした指を初めて移動させており、前回のスクロール時刻は記憶されていないので、一定時間以内ではないと判定される(S301:N)。ユーザは、S205で取得した領域A、即ち背景領域206に気付いていると判定し、領域Aに表示されている画像をスクロールさせると判定する(S305)。
図5のS206の詳細を表す図6に示されるように、制御部108は、タッチされた時刻が前回のスクロール時刻から一定時間以内であるか否かを判定する(S301)。この例では、タッチした指を初めて移動させており、前回のスクロール時刻は記憶されていないので、一定時間以内ではないと判定される(S301:N)。ユーザは、S205で取得した領域A、即ち背景領域206に気付いていると判定し、領域Aに表示されている画像をスクロールさせると判定する(S305)。
その結果、図5に戻ると、制御部108は、S206では領域Aに表示されている画像をスクロールさせると判定し、S207において領域Aである背景領域206に表示されている画像をスクロールさせると判定する(S207:Y)。次に、制御部108は、この背景領域206をスクロール対象領域と判定し(S208)、現在時刻を前回のスクロール時刻として記憶するとともにタッチ点やスクロール対象領域の情報を記憶部109に格納する(S210)。次に、制御部108での処理は図4に戻り、スクロール対象領域と判定された背景領域206に表示されている画像をスクロールさせる(S103)。その後、タッチ点がリリースされたか否かが判定される(S104)。
ユーザが位置502まで指を移動してタッチ点をリリースするまでは、タッチ点はリリースされていないと判定され(S104:N)、処理はS101に進む。この場合、S101において、タッチ後の最初の移動ではないと判定され(S101:N)、スクロール対象領域と判定された背景領域206をスクロールし(S103)、再度タッチ点がリリースされたかが判定される(S104)。このように、タッチ点がリリースされるまでは、図4のS101、S103及びS104の処理が順次繰り返し実行される。タッチ点がリリースされた場合(S104:Y)には処理を終了する。
次に、第1回目のドラッグ操作から所定時間経過後に第2回目のドラッグ操作が行われた場合に実行される処理を説明する。図7(b)に示される位置503にユーザがタッチし、タッチした指を初めて移動させると、図4に示す処理が実行される。制御部108は、今回のタッチ点の移動がこの2回目のドラッグ操作における最初の移動であると判定し(S101)、スクロール対象領域を決定する(S102)。
図4のS102の詳細を説明する図である図5を参照すると、制御部108は、タッチ開始位置を取得し(S204)、取得した位置に表示されている領域Aを取得する(S205)。この例では、図7(b)の位置503は地図領域にあることから、領域Aは地図領域207となる。次に、領域A、つまり地図領域207に表示されている画像をスクロール対象とするか否かを判定する(S206)。図5のS206の詳細を表す図6に示されるように、制御部108は、タッチされた時刻が前回のスクロール時刻から一定時間以内であるか否かを判定する(S301)。この例では、前回のスクロール時刻から経過した時間は200[ms]であり、この値は設定された最大操作間隔値の500[ms]より小さいので、一定時間以内と判定される(S301:Y)。
その後、前回のスクロール対象が地図領域207の祖先にあたる領域かが判定される(S302)。前回のスクロール対象は地図領域207の祖先である背景領域206であることから(S302:Y)、S303へ進む。制御部108は、タッチ位置503がスクロール指示無効範囲209内に含まれているか否かを判定する(S303)。この例では、タッチ位置503はスクロール指示無効範囲209内に含まれているので(S303:Y)、ステップS304へ進み、ユーザが地図領域207に気付いていないと判定する。そして、領域Aに表示されている画像について、スクロールは行わないと判定する(S304)。
図6のS304における判定結果から、図5のS206では領域Aに表示されている画像のスクロールは行わないと判定する。従って、図5のS207においては領域Aに表示されている画像のスクロールは行わないと判定し(S207:N)、領域Aの親の領域をスクロール対象領域と決定する(S209)。この例では、領域Aは地図領域207であり、スクロール対象領域は、地図領域207の親の領域である、地図領域の前回のスクロール対象である背景領域206である。更に、現在時刻を前回のスクロール時刻として記憶するとともに、タッチ点やスクロール対象領域の情報及び現在時刻を記憶する(S210)。
次に、制御部での処理は図4に戻り、スクロール対象領域と判定された背景領域206に表示されている画像をスクロールさせる(S103)。その後、タッチ点がリリースされたか否かが判定される(S104)。その後、上述したように、タッチ点がリリースされるまでは、図4のS101、S103及びS104の処理が順次繰り返し実行される。タッチ点がリリースされた場合には処理を終了する。
[操作例B]
操作例Bでのユーザの操作手順は、その大半が操作例Aと同じであり、操作例Aと同様に、1回目及び2回目のドラッグを開始する時のタッチパネル210の画面が図7(a)、(b)に示される。しかし、操作例Bは、1回目のドラッグが行われた時刻と2回目のドラッグが行われた時刻との間隔が最大操作間隔208の値である500[ms]より長い点で、操作Aとは相違する。従って、制御部108は、ユーザが地図領域207に気付いたと判定する。その結果、操作例Aとは異なり、2回目のドラッグでは、背景領域206ではなく、地図領域207がスクロールされる。以下にその詳細を示す。
操作例Bでのユーザの操作手順は、その大半が操作例Aと同じであり、操作例Aと同様に、1回目及び2回目のドラッグを開始する時のタッチパネル210の画面が図7(a)、(b)に示される。しかし、操作例Bは、1回目のドラッグが行われた時刻と2回目のドラッグが行われた時刻との間隔が最大操作間隔208の値である500[ms]より長い点で、操作Aとは相違する。従って、制御部108は、ユーザが地図領域207に気付いたと判定する。その結果、操作例Aとは異なり、2回目のドラッグでは、背景領域206ではなく、地図領域207がスクロールされる。以下にその詳細を示す。
まず1回目のドラッグ操作時に実行される処理により、背景領域206に表示されている画像がスクロールする。これは操作例Aにおける1回目のドラッグ操作時の処理と同じであるため、説明を省略する。次に2回目のドラッグ操作時に実行される処理を説明する。図7(b)に示される位置503にユーザが指をタッチして2回目のドラッグを開始すると、図4に示す処理が実行される。
図4において、制御部108は、今回のタッチ点の移動が最初の移動、つまり、2回目のドラッグにおける最初の移動であると判定し(S101)、スクロール対象領域を決定する(S102)。S102においては、その詳細を表す図5に示されるように、タッチ開始位置を取得し(S204)、取得した開始位置に表示されている領域である領域Aを取得する。この例では、タッチ開始位置にある地図領域207が領域Aであると判定される。次に、領域Aに表示されている画像をスクロールさせるか否かを判定する(S206)。
このS206における判定の詳細を表す図6に示されるように、制御部108は、タッチされた時刻が前回のスクロール時刻から一定時間以内であるか否かを判定する(S301)。この例では、上記のように1回目のドラッグ操作から1000[ms]が経過しており、これは最大操作間隔208の値である500[ms]より大きい。従って、一定時間経過以内ではないと判定される(S301:N)。これにより、制御部108は、ユーザは、2回目のドラッグでのタッチ開始位置にある領域A、つまりこの例では地図領域207に気付いていると判定し、領域Aに表示されている画像をスクロールさせると判定する(S305)。
その結果、図5に戻ると、S206では領域Aに表示されている画像をスクロールさせると判定し、制御部108は、S207において地図領域207である領域Aに表示されている画像をスクロールさせると判定する(S207:Y)。従って、地図領域207がスクロール対象領域と判定され(S208)、タッチ点やスクロール対象領域の情報の記録及びスクロール時刻の記憶を行う(S210)。この例では、地図領域207をスクロール対象領域203として記憶する。
S210の後に、処理は図4に戻り、制御部108は、スクロール対象領域と判定された領域である地図領域207に表示されている画像をスクロールさせる(S103)。更に、S104及びS105が上述のように実行され、ユーザが、位置504まで指を移動させるまで、地図領域207に表示されている画像をスクロールする処理(S103)が繰り返し実行される。その後、ユーザが位置504まで指を移動してタッチ点をリリースするまでは、操作例Aと同様に、図4のS101、S103及びS104の処理が順次繰り返し実行される。タッチ点がリリースされた場合は処理を終了する。
[操作例C]
操作例Cでは、背景領域206とともに、背景領域206の子の領域である地図領域207が最初からタッチパネル210の画面に表示されている。また、地図領域207はスクロール指示無効範囲209に含まれている。操作例Cにおける1回目のドラッグを行うときのタッチパネル210の画面を図7(b)に示す。また、2回目のドラッグを行うときのタッチパネル210の画面を図7(c)に示す。なお、1回目のドラッグと2回目のドラッグの間隔は、最大操作間隔208の値よりも短い200[ms]とする。
操作例Cでは、背景領域206とともに、背景領域206の子の領域である地図領域207が最初からタッチパネル210の画面に表示されている。また、地図領域207はスクロール指示無効範囲209に含まれている。操作例Cにおける1回目のドラッグを行うときのタッチパネル210の画面を図7(b)に示す。また、2回目のドラッグを行うときのタッチパネル210の画面を図7(c)に示す。なお、1回目のドラッグと2回目のドラッグの間隔は、最大操作間隔208の値よりも短い200[ms]とする。
ユーザは、図2に示される表示範囲205について、図7(b)の地図領域207に含まれる位置503をタッチして1回目のドラッグを行い、タッチ点をリリースした後、短期間で表示範囲205における同じ位置をタッチして2回目のドラッグを行う。この場合、2回目のドラッグでは、図7(c)の地図領域207に含まれる位置505がタッチされる。この2回目のドラッグが行われたとき、判定領域110は、直前の操作で、地図領域207の親の領域にあたる背景領域206がスクロールしていないことから、ユーザが地図領域207に気付いていると判定する。これに従い、制御部108は、2回のドラッグ操作において地図領域207に表示されている画像をスクロールさせる。以下にその詳細を示す。
まず1回目のドラッグ操作時に実行される処理を説明する。図7(b)の位置503にユーザがタッチし、タッチした指を初めて移動させたとき、まず図4に示す処理が実行され、制御部108は、今回のタッチ点の移動が最初の移動であると判定し(S101)、スクロール対象領域を決定する(S102)。S102の詳細を説明する図である図5を参照すると、制御部108は、タッチ開始位置を取得し(S204)、取得した位置に表示されている領域Aを取得する(S205)。この例では、図7(b)の位置503は地図領域207にあることから、S205では、地図領域207が領域Aとなる。
次に、背景領域206をスクロール対象とするか否かを判定する(S206)。図5のS206の詳細を表す図6に示されるように、制御部108は、タッチされた時刻が前回のスクロール時刻から一定時間以内であるか否かを判定する(S301)。この例では、タッチした指を初めて移動させていることから、前回のスクロール時刻は記憶されておらず、一定時間以内ではない(S301:N)。従って、ユーザは、S205で取得した領域A、即ち地図領域207に気付いていると判定し、領域Aに表示されている画像をスクロールさせると判定する(S305)。その結果、図5に戻ると、制御部108は、S206で領域Aに表示されている画像をスクロールさせると判定し、S207において領域Aである地図領域207をスクロールさせると判定する(S207:Y)。更に、この地図領域207がスクロール対象領域と判定され(S208)、タッチ点やスクロール対象領域の情報の記録及びスクロール時刻の記憶を行う(S210)。
次に、制御部108での処理は図4に戻り、スクロール対象領域と判定された地図領域207に表示されている画像をスクロールさせる(S103)。その後、タッチ点がリリースされたか否かが判定される(S104)。その後、上述の操作例Aと同様に、タッチ点がリリースされるまでは、図4のS101、S103及びS104の処理が順次繰り返し実行される。タッチ点がリリースされた場合には処理を終了する。
次に、2回目のドラッグ操作時に実行される処理を説明する。図7(c)の位置505にユーザがタッチし、タッチした指を初めて移動させたとき、まず図4に示す処理が実行され、制御部108は、今回のタッチ点の移動が最初の移動であると判定し(S101)、スクロール対象領域を決定する(S102)。S102の詳細を説明する図である図5を参照すると、制御部108は、タッチ開始位置を取得し(S204)、取得した位置に表示されている領域Aを取得する(S205)。この例では、図7(c)の位置505は地図領域207にあることから、S205では、地図領域207が領域Aとなる。
その後、背景領域206をスクロール対象とするか否かを判定する(S206)。S206における判定の詳細を表す図6に示されるように、制御部108は、タッチされた時刻が前回のスクロール時刻から一定時間以内であるか否かを判定する(S301)。この例では、前回のスクロール時刻から経過した時間は200[ms]であり、この値は設定された最大操作間隔値の500[ms]より小さいので、一定時間以内と判定され(S301:Y)、S302へ進む。更に、前回のスクロール対象が地図領域207の祖先にあたる領域かが判定される(S302)。前回のスクロール対象は地図領域207自身であることから(S302:N)、制御部108による処理はS305へ進み、領域Aに表示されている画像をスクロールさせると判定する。
従って、図5に戻ると、S206では領域Aに表示されている画像をスクロールさせると判定し、図5のS207においては領域Aに表示されている画像をスクロールさせると判定し(S207:Y)、領域Aをスクロール対象領域と決定する(S208)。この例では、領域Aは地図領域207である。更に、現在時刻を前回のスクロール時刻として記憶するとともにタッチ点やスクロール対象領域の情報を記憶部109に格納する(S210)。
次に、制御部での処理は図4に戻り、スクロール対象領域と判定された地図領域207に表示されている画像をスクロールさせる(S103)。その後、タッチ点がリリースされたか否かが判定される(S104)。その後、上述の操作例と同様に、タッチ点がリリースされるまでは、図4のS101、S103及びS104の処理が順次繰り返し実行される。タッチ点がリリースされた場合には処理を終了する。
[操作例D]
操作例Dにおける、1回目のドラッグが行われたときのタッチパネル210の表示内容を図7(a)に示す。また、2回目のドラッグが行われたときのタッチパネル210の表示内容図7(d)に示す。
操作例Dにおける、1回目のドラッグが行われたときのタッチパネル210の表示内容を図7(a)に示す。また、2回目のドラッグが行われたときのタッチパネル210の表示内容図7(d)に示す。
この操作例Dでは、まず、ユーザは図7(a)の背景領域206内の位置501をタッチして1回目のドラッグを行う。この場合、操作例Aと同様に、背景領域206がスクロールされる。操作例Dでは、操作例Aとは異なり、1回目のスクロール後、図7(d)に示されるように、地図領域207がスクロール指示無効範囲209をはみ出す位置に表示されている。次に、ユーザは、図7(d)において地図領域207に含まれる位置507をタッチして、2回目のドラッグを行う。なお、1回目のドラッグと2回目のドラッグの間隔は、最大操作間隔208の値よりも小さい200[ms]とする。制御部108は、この操作例Dでは、1回目のドラッグ操作で背景領域206をスクロールし、2回目のドラッグ操作で地図領域207をスクロールさせる。以下、操作例Dでの処理の詳細を説明する。
まず、ユーザが行う1回目のドラッグ操作時に実行される処理で、背景領域206がスクロールする。これは、操作例Aにおける1回目のドラッグ操作時の処理と同じであるため、説明を省略する。次に、2回目のドラッグ操作時に実行される処理を説明する。図7(d)の地図領域207にある位置507にユーザがタッチし、タッチした指を初めて移動させたとき、まず図4に示す処理が実行される。制御部108は、今回のタッチ点の移動が最初の移動であると判定し(S101)、スクロール対象領域を決定する(S102)。S102の詳細を説明する図である図5を参照すると、制御部108は、タッチ開始位置を取得し(S204)、取得した位置に表示されている領域Aを取得する(S205)。この例では、図7(a)の位置507は地図領域207にあることから、S205では、地図領域207が領域Aとなる。
次に、領域Aに表示されている画像をスクロール対象とするか否かを判定する(S206)。図5のS206の詳細を表す図6に示されるように、制御部108は、タッチされた時刻が前回のスクロール時刻から一定時間以内であるか否かを判定する(S301)。この例では、前回のスクロール時刻から経過した時間は200[ms]であり、この値は設定された最大操作間隔値の500[ms]より小さいので、一定時間以内と判定される(S301:Y)。その後、前回のスクロール対象が地図領域207の祖先にあたる領域かが判定される(S302)。前回のスクロール対象は地図領域207の祖先である背景領域206であることから(S302:Y)、S303へ進む。制御部108は、タッチ位置507がスクロール指示無効範囲209内に含まれているか否かを判定する(S303)。この例では、タッチ位置507はスクロール指示無効範囲209内に含まれていないので(S303:N)、ユーザが地図領域207に気付いていると判定し、領域Aに表示されている画像をスクロールさせる(S305)。
図6のS305における判定結果から、図5のS206では領域Aに表示されている画像をスクロールさせると判定する。従って、図5のS207においては領域Aに表示されている画像をスクロールさせると判定し(S207:N)、領域Aである地図領域207をスクロール対象領域と決定する(S209)。更に、現在時刻を前回のスクロール時刻として記憶するとともにタッチ点やスクロール対象領域の情報を記憶部109に格納する(S210)。次に、制御部での処理は図4に戻り、スクロール対象領域と判定された地図領域207に表示されている画像をスクロールさせる(S103)。その後、タッチ点がリリースされたか否かが判定される(S104)。そして、上述したように、タッチ点がリリースされるまでは、図4のS101、S103及びS104の処理が順次繰り返し実行される。タッチ点がリリースされた場合には処理を終了する。
このように、本実施形態では、操作例Aに示されるように、ユーザが地図領域207に気付かず誤ってドラッグしたときでも、その親の背景領域206に表示されている画像がスクロールされるようになる。また、以下の条件を用いて、ユーザが、最初にタッチした領域である領域Aに気付いているか否かを判定している。
1)最初のタッチ位置がスクロール指示無効範囲209に含まれているか(S303:操作例A、D)
2)前回のスクロール操作から最大操作間隔208が経過したか(S301:操作例B)
3)最初のタッチ位置を含む領域Aが前回スクロールされているか(S302:操作例C)
その判定結果から、領域Aに表示されている画像をスクロールさせるか否かを判定する。具体的には、ユーザが気付いている場合には、領域Aに表示されている画像をスクロールさせ、気付いていない場合には領域Aに表示されている画像をスクロールさせない。
1)最初のタッチ位置がスクロール指示無効範囲209に含まれているか(S303:操作例A、D)
2)前回のスクロール操作から最大操作間隔208が経過したか(S301:操作例B)
3)最初のタッチ位置を含む領域Aが前回スクロールされているか(S302:操作例C)
その判定結果から、領域Aに表示されている画像をスクロールさせるか否かを判定する。具体的には、ユーザが気付いている場合には、領域Aに表示されている画像をスクロールさせ、気付いていない場合には領域Aに表示されている画像をスクロールさせない。
[変形例]
第1実施形態において図5のS206及びその詳細を示す図6に示した、最初のタッチ位置が含まれる領域Aにユーザが気付いているか否かを判定する処理には、様々な変形例が存在する。この判断の処理においては、ユーザが小領域である領域Aを意図的にタッチしてスクロールさせようとしたか否かを判断できれば他の方法を採用しても構わない。以下、他の変形例も説明する。
第1実施形態において図5のS206及びその詳細を示す図6に示した、最初のタッチ位置が含まれる領域Aにユーザが気付いているか否かを判定する処理には、様々な変形例が存在する。この判断の処理においては、ユーザが小領域である領域Aを意図的にタッチしてスクロールさせようとしたか否かを判断できれば他の方法を採用しても構わない。以下、他の変形例も説明する。
図8は、この変形例に係る手法を実施するにあたって、記憶部109に記憶されるデータの例示図である。この例において記憶部109は、図2(a)で示した領域201等に加えて、スクロール速度閾値704、距離閾値705、移動速度閾値706、移動方向閾値707、タッチ開始位置708、タッチ点移動速度709、タッチ点移動方向710を記憶する。
図8において、距離閾値705は20[pixel]、移動速度閾値706は20[pixel/s]、移動方向閾値角は60°となっている。また、タッチ開始位置708、タッチ点移動速度709、タッチ点移動方向710は、随時検出を行って更新された値が入り、ここでは特定の値を示してはいない。これら距離閾値等の詳細は後述する。なお、領域201等、図2(a)に示したデータは、図2(a)と共通であり、説明を省略した。
以下、変形例において領域Aに表示されている画像をスクロールさせるか否かを判定する手法を説明する。この変形例では、1回目のドラッグは、図7(a)の状態からドラッグが始まる。この1回目のドラッグ操作時の処理は操作例Aと同一であるが、その後に行われる2回目のドラッグ操作の開始位置、速度、方向は、後述する操作例毎に異なっている。この変形例の各操作例における2回目のドラッグ時にユーザがタッチパネル210にタッチしてドラッグを行うときの画面の状態を図9(a)〜(c)に示す。また、以下の例では、表示される画像の位置から、画像の全体が画面に表示されているかを判定し、全体が表示されている場合には画像の表示が完了したと判定する。その詳細は、後述の各操作例で説明する。
また、この変形例では、後述する操作例のいずれにおいても、2回目のドラッグ操作では、図4及び図5(ステップ206及びステップ210を除く)に関しては、操作例Aと同様の処理を行う。図5のステップ206では、図10に示される処理を行い、図5のステップ210では、図11に示される処理を行う。以下、この2回目のドラッグ操作における処理を説明する。
ユーザがタッチパネル210にタッチして2回目のドラッグを開始すると、第1実施形態の操作例Aでの2回目のドラッグ操作時と同様に、図4、図5(S206を除く)のフローチャートにおける処理が行われる。
図5のS206に処理が進んだ場合は、図10のフローチャートに含まれるS401からS410が実行される。これらS401からS410は、それぞれユーザが最初のタッチ点が含まれる領域である領域Aに気付いているか否かを判定する手順を示している。なお、これら判定の適用順序は図に示すものに限定されず、判定の順序を変更しても構わない。またこれらの判定処理ステップのうち1つだけを単独で用いても良く、その場合でもユーザが領域Aに気付いているか否かの判定精度を高くすることができる。図示の例では、これらを組み合わせることで、判定精度を一層高めるようにした。
図10において、制御部108は、図5のS205で取得した領域Aの祖先にあたる領域がスクロール速度閾値以上の速度でスクロールしているか否かを判定する(S401)。速度がスクロール速度閾値以上であるとき(S401:Y)は、領域Aに表示されている画像について、スクロールは行わないと判定する(S304)。すなわち、この場合には、領域Aの親領域のスクロールが継続して行われることになる。閾値以下のとき(S401:N)は、制御部108は、表示部106がS305で取得した領域Aの表示状態を判定する。領域Aに表示される画像の表示が未完了であるか否かを判定する(S402)。未完了のとき(S402:Y)は、領域Aに表示されている画像をスクロールさせないと判定する(S409)。すなわち、この場合も、領域Aの親領域のスクロールが継続して行われることになる。なお、この例では、画面の表示状態による判定例として、領域Aの表示が完了しているか否かを判定する例を記載したが、画面の表示状態として、その他の手法も採用できる。例えば、領域Aの所定の範囲、例えば80%が表示されたか否かを、領域Aをスクロールさせるか否かの判定基準としてもよい。
領域Aの表示が完了しているときは、制御部108は、受付部105が検知したタッチ点の開始位置と記憶部109に記憶されたタッチ開始位置708との距離が所定の距離閾値より大きいか否かを判定する(S403)。その距離が図8で距離閾値705として示した距離閾値である20[pixel]より大きい場合(S403:Y)、上述した図6のS305に進み、領域Aに表示されている画像をスクロールさせると判定する。その距離が所定値より小さい場合は(S403:N)、次の判定ステップS404へ進む。
制御部108は、受付部105が検知したタッチ点の移動速度と記憶部109に記憶されたタッチ点移動速度との差が移動速度閾値706の値以上であるか否かを判定する(S404)。すなわち、第1領域(親の領域あるいは背景領域とも呼ぶ)のスクロールを継続させるか、第2領域(子の領域あるいは小領域とも呼ぶ)を独立してスクロールさせるかを判定する。この判定は、今回スクロール指示におけるスクロール速度と前回スクロール指示におけるスクロール速度とに基づいて行われるなおこの変形例では、この差は絶対値とした。これにより、受付部105が検知したタッチ点の移動速度が、記憶部109に記憶されたタッチ点移動速度より大きい場合、小さい場合のいずれにおいても、S404の判定結果はYとなる。他の形態として、この差を絶対値とせずに、受付部105が検知したタッチ点の移動速度が、記憶部109に記憶されたタッチ点移動速度より大きい場合のみにS404の判定結果がYとなる構成としても良い。この差が移動速度閾値706の値以上(所定量以上異なる場合)であれば(S404:Y)、上述した図6のS305に進み、領域Aに表示されている画像をスクロールさせると判定する。この差がタッチ点移動速度閾値より小さい場合(S404:N)、次の判定ステップS405へ進む。
制御部108は、受付部105が検知したタッチ点の移動方向と、記憶部109に記憶されたタッチ点移動方向710との間の角度が、移動方向閾値角以上の角度であるか否かを判定する(S405)。すなわち、第1領域のスクロールを継続させるか、第2領域を独立してスクロールさせるかを、今回スクロール指示におけるスクロール方向と前回スクロール指示におけるスクロール方向とに基づき判定する。検知したタッチ点の移動方向と記憶部109に記憶されたタッチ点移動方向710との間の角度の差が移動方向閾値角で表される所定の角度より大きい場合、上述した図6のS305に進み、領域Aに表示されている画像をスクロールさせると判定する。検知したタッチ点の移動方向と記憶部109に記憶されたタッチ点移動方向710との間の角度が上記所定の角度以下である場合は、上述した図6のS301に進む。
なお、上記では、今回スクロール方向と前回スクロール方向の角度の差の大小に基づいて、何れの領域をスクロールさせるか判断をしたが、本発明はこれに限らない。例えば、直前に第1領域が上方向にスクロールしている場合に、もし今回、第2領域上で下方向へのスクロール指示を出したとしても、ユーザの意図は第1領域の逆スクロールを指示したのかもしれない。この仮定によれば、前回スクロール方向710と今回スクロール指示の方向とが180度程度の差異がある場合にも、例外として第1領域をスクロールさせるべきである。従って、この場合には、検知したタッチ点の移動方向と記憶部109に記憶されたタッチ点移動方向710との間の角度の差の大小に限らず、角度の差がどの範囲(候補群)に該当するのかを基準とする方が良い。上記変形例も本発明の範疇に含む。
次に、この変形例における、図5のS210に示されるタッチ点やスクロール時刻の情報を記憶する処理の詳細な内容の一例を、図11のS501〜504に示す。図5のS208又はS209を実行した後に、制御部108は、現在時刻を前回のスクロール時刻として記憶部109に格納する(S501)。そして、S304で取得したタッチ点の開始位置をタッチ開始位置として記憶部109に格納する(S502)。
その後、制御部108は、タッチ点の移動速度をタッチ点移動速度709として記憶部109に格納する(S503)。移動速度は、上述した図10のS404で移動速度を求める手順と同じ手順で求める。制御部108は、タッチ点の移動方向をタッチ点移動方向710として記憶部109に記憶する(S504)。移動方向は、図10のS405における移動方向を求める手順と同じ手順で求める。
なお、この変形例では、受付部105からタッチ位置の入力を受ける制御部10lがスクロール速度を検出する速度検出手段として動作し、タッチ位置の移動速度等からスクロール速度を求める。また、この変形例では、タッチ開始時から一定時間における速度をスクロール速度として求めた。しかしながら、その他の任意の手法でスクロール速度を検出することができる。例えば、1回目のドラッグ操作でスクロールが開始してから次のドラッグ操作が開始されるまでの平均速度、あるいは、2回目のドラッグが開始される直前の速度をスクロール速度としてもよい。
S404等におけるタッチ点の移動速度は任意の手法で検出できる。この例では、タッチ点の移動量を一定時間毎に検出し、この一定時間におけるタッチ点の移動量を受付部105で検知して、記憶部109に記憶されたタッチ点移動量と比較することで、タッチ点の移動速度を求めている。この例での処理は、タッチ点が移動したときに実行されており、そのため、タッチ開始時から一定時間後にタッチ点の検出を行っている。従って、タッチ開始時のタッチ点の位置と、一定時間後におけるこの処理が実行されたときのタッチ点の位置は異なり、この相異なる二つの位置間の距離を移動速度とすることもできる。このように移動速度を移動距離で表す場合には、S404において、タッチ点の移動距離が前回のタッチ点の移動距離と所定値以上異なるか否かを判定してもよい。
[操作例E]
操作例Eでは、操作例Aと同様、ユーザは背景領域206をドラッグし、その後、背景領域206のスクロールによって表示された地図領域207を続けてドラッグする。操作例Aとの違いは、1回目のドラッグの開始点と2回目のドラッグの開始点が、距離閾値以上離れていることである。
操作例Eでは、操作例Aと同様、ユーザは背景領域206をドラッグし、その後、背景領域206のスクロールによって表示された地図領域207を続けてドラッグする。操作例Aとの違いは、1回目のドラッグの開始点と2回目のドラッグの開始点が、距離閾値以上離れていることである。
ここで、ユーザがある領域201を繰り返しドラッグしてスクロールさせるとき、それぞれのドラッグ操作の開始点は大きく変わらない可能性が高い。そこで、この操作例Eでは、制御部108は、2回目のドラッグで開始点が、図8で距離閾値705として示される20[pixel]以上離れているときには、ユーザが意図的にその地図領域207をドラッグさせたと判定する。従って、この操作例Eでは、制御部108は、1回目のドラッグの結果として背景領域206をスクロールし、2回目のドラッグの結果として地図領域207をスクロールさせる。以下にその詳細を示す。
この操作例Eにおいて1回目のドラッグが行われたときのタッチパネル210の表示内容を図7(a)に示す。また、2回目のドラッグが行われたときのタッチパネル210の表示内容を図9(a)に示す。1回目のドラッグと2回目のドラッグの間隔は200[ms]とする。なお、スクロール速度は最大スクロール速度以下であり、地図領域207は表示内容の表示を完了しているとする。
まず、1回目のドラッグ操作時に実行される処理で、背景領域206がスクロールする。これは操作例Aにおける1回目のドラッグ操作時の処理と同じであるため、説明を省略する。
次に、2回目のドラッグ操作時に実行される処理を説明する。図9(a)に示されるタッチ位置801にユーザがタッチし、タッチした指を初めて移動させたとき、まず図4のS101以下の処理が実行される。制御部108は、今回のタッチ点の移動が最初の移動であると判定し(S101)、スクロール対象領域を決定する(S102)。このスクロール対象領域を決定する処理において、制御部108は、S102の詳細を表す図5に示されるように、タッチ開始位置を取得し(S204)、取得した位置に表示されている領域Aを取得する(S205)。この例では、図9(a)に示されるように、地図領域207がタッチ開始位置にあり、制御部108は、地図領域207が領域Aであると判定する。その後、制御部108は、領域Aに表示されている画像をスクロールさせるか否かを判定する(S206)。この操作例Eでは、制御部108は、S206の詳細を示す図10に示される処理に進む。
まず、スクロール速度が、図8のスクロール速度閾値704で示されるスクロール速度閾値、この例では100[pixel/s]以上であるか否かを判定する(S401)。この判定は、制御部108で行われる。操作例Eでは、スクロール速度がスクロール速度閾値以上ではないので、制御部108は、スクロール速度はスクロール速度閾値以上ではないと判定する(S401:N)。次に、制御部108は、表示部106による領域Aの表示が未完了であるか否かを判定する(S402)。この例では、上述のように取得された領域Aである地図領域207は表示を完了しているので、表示は完了したと判定される(S402:N)。そして、制御部108は、今回のタッチの開始位置と記憶部109に記憶されたタッチ開始位置708との距離が、図8の705で示される距離閾値以上離れているか、つまり20[pixel]以上離れているか否かを判定する(S403)。
この操作例Eにおいては、制御部108は、今回のタッチの開始位置と記憶部109に記憶されたタッチ開始位置708との距離が図8の705で示される距離閾値以上離れていると判定し(S403:Y)、図6のS305に進む。その後、ユーザが地図領域207に気付いているとして、領域Aに表示されている画像をスクロールさせると判定する。その後、制御部108は、図5のS207へと処理を進め、領域Aに表示されている画像をスクロールさせるか否かを判定する(S207)。S403での判定結果から、S207では領域Aに表示されている画像をスクロールさせると判定し(S207:Y)、領域Aと判定された地図領域207をスクロール対象領域と決定する(S208)。その後、現在時刻を前回のスクロール時刻として記憶するとともにタッチ点やスクロール対象領域の情報を記憶部109に格納する(S210)。次に、制御部108は、図4のS103に処理を進めて地図領域207に表示されている画像をスクロールさせ、表示部106は、スクロール後の領域201を表示する。
更に、制御部108は、タッチ点がリリースされたか否かを判定し(S104)、ユーザが、図9(a)の位置504に指を移動させるまで、上述のように図4のS101〜S104を繰り返し実行し、地図領域207をスクロールする処理が繰り返し実行される。
[操作例F]
操作例Fでは、操作例Aと同様、ユーザは背景領域206をドラッグした後、背景領域206のスクロールによって表示された地図領域207を続けてドラッグする。操作例Aとの違いは、1回目のドラッグにおけるタッチ点の移動速度と2回目のドラッグにおけるタッチ点の移動速度が大きく異なることである。
操作例Fでは、操作例Aと同様、ユーザは背景領域206をドラッグした後、背景領域206のスクロールによって表示された地図領域207を続けてドラッグする。操作例Aとの違いは、1回目のドラッグにおけるタッチ点の移動速度と2回目のドラッグにおけるタッチ点の移動速度が大きく異なることである。
ここで、ユーザがある領域201を繰り返しドラッグしてスクロールさせるとき、それぞれのドラッグ操作におけるタッチ点の移動速度は大きく変わらない可能性が高い。そこで制御部108は、2回目のドラッグでタッチ点の移動速度が、図8に移動速度閾値706として示される移動速度閾値(20[pixel/s])変化しているので、ユーザが意図的にその地図領域207をドラッグさせたと判定する。従って、この操作例Fでは、制御部108は、1回目のドラッグの結果として背景領域206に表示されている画像をスクロールさせ、2回目のドラッグの結果として地図領域207に表示されている画像をスクロールさせる。以下にその詳細を示す。
この操作例Fにおいて1回目のドラッグが行われたときのタッチパネル210の表示内容を図5(a)に示す。また、2回目のドラッグが行われたときのタッチパネル210の表示内容を図9(b)に示す。1回目のドラッグと2回目のドラッグの間隔は200[ms]とする。なお、スクロール速度は最大スクロール速度以下であり、地図領域207は表示内容の表示を完了しているとする。
まず、1回目のドラッグ操作時に実行される処理で、背景領域206全体がスクロールする。これは操作例Aにおける1回目のドラッグ操作時の処理と同じであるため説明を省略する。次に2回目のドラッグ操作時に実行される処理を説明する。図9(b)に示されるタッチ位置803にユーザがタッチし、タッチした指を初めて移動させたとき、まず図4のS101以下の処理が実行される。
制御部108は、今回のタッチ点の移動が最初の移動であると判定し(S101)、スクロール対象領域を決定する(S102)。このスクロール対象領域を決定する処理において、制御部108は、S102の詳細を表す図5に示されるように、タッチ開始位置を取得し(S204)、取得した位置に表示されている領域Aを取得する(S205)。この例では、図9(a)に示されるように、地図領域207がタッチ開始位置にあり、制御部108は、地図領域207が領域Aであると判定する。その後、制御部108は、領域Aに表示されている画像をスクロールさせるか否かを判定する(S206)。この操作例Eでは、制御部108は、S206の詳細を示す図10に示される処理に進む。
まず、スクロール速度が、図8のスクロール速度閾値704で示されるスクロール速度閾値、この例では100[pixel/s]以上であるか否かを判定する(S401)。この判定は、制御部108で行われる。操作例Fでは、スクロール速度がスクロール速度閾値以上ではないので、制御部108は、スクロール速度はスクロール速度閾値以上ではないと判定する(S401:N)。次に、制御部108は、表示部106による領域Aの表示が未完了であるかを判定する(S402)。この例では、上述のように取得された領域Aである地図領域207は表示を完了しているので、表示は完了したと判定される(S402:N)。そして、制御部108は、今回のタッチの開始位置と記憶部109に記憶されたタッチ開始位置708との距離が、図8の705で示される距離閾値以上離れているか、つまり20[pixel]以上離れているか否かを判定する(S403)。
この操作例Fにおいては、制御部108は、今回のタッチの開始位置と記憶部109に記憶されたタッチ開始位置708との距離が図8の705で示される距離閾値以上離れていないと判定する(S403:N)。その後、制御部108は、今回のタッチ点の移動速度と記憶部109に記憶されたタッチ点移動速度との差が図8に示される移動速度閾値706の値以上、この例では20[pixel/s]以上であるか否かを判定する(S404)。この例では、制御部108は、この差が移動速度閾値以上であると判定し(S404:Y)、図5のS305に進み、ユーザが地図領域207に気付いているとして、領域Aに表示されている画像をスクロールさせると判定する。
その後、制御部108は、図5のS207へと処理を進め、領域Aに表示されている画像をスクロールさせるか否かを判定する(S207)。S305での判定結果から、制御部108は、S207で領域Aに表示されている画像をスクロールさせると判定し(S207:Y)、領域Aと判定された地図領域207をスクロール対象領域と決定(S208)する。その後、制御部108は、現在時刻を前回のスクロール時刻として記憶するとともにタッチ点やスクロール対象領域の情報を記憶部109に格納する(S210)。次に、制御部108は、図4のS103に処理を進めて地図領域207に表示されている画像をスクロールさせ、表示部106は、スクロール後の領域201を表示する。
更に、制御部108は、タッチ点がリリースされたか否かを判定し(S104)、ユーザが、図9(b)の位置804に指を移動させるまで、上述のように図4のS101〜S104を繰り返し実行し、地図領域207をスクロールする処理が繰り返し実行される。
[操作例G]
操作例Gでは、操作例Aと同様、ユーザは、背景領域206をドラッグしたあと、背景領域206のスクロールによって表示された地図領域207を続けてドラッグする。操作例Aとの違いは、1回目のドラッグにおけるタッチ点の移動方向と2回目のドラッグにおけるタッチ点の移動方向が大きく異なることである。
操作例Gでは、操作例Aと同様、ユーザは、背景領域206をドラッグしたあと、背景領域206のスクロールによって表示された地図領域207を続けてドラッグする。操作例Aとの違いは、1回目のドラッグにおけるタッチ点の移動方向と2回目のドラッグにおけるタッチ点の移動方向が大きく異なることである。
ここで、ユーザがある領域201を繰り返しドラッグして、表示されている画像をスクロールさせるとき、それぞれのドラッグ操作におけるタッチ点の移動方向は大きく変わらない可能性が高い。そこで、制御部108は、2回目のドラッグでタッチ点の移動方向が図8において移動方向閾値707として示される角度以上離れていることから、ユーザが意図的にその地図領域207をドラッグさせたと判定する。このとき、制御部108は、1回目のドラッグの結果として背景領域206を、2回目のドラッグの結果として地図領域207をスクロールさせる。以下にその詳細を示す。
この操作例Gにおいて1回目のドラッグが行われたときのタッチパネル210の表示内容を図5(a)に示す。また、2回目のドラッグが行われたときのタッチパネル210の表示内容を図9(c)に示す。1回目のドラッグと2回目のドラッグの間隔は200[ms]とする。なお、スクロール速度は最大スクロール速度以下であり、地図領域207は表示内容の表示を完了しているとする。
まず、1回目のドラッグ操作時に実行される処理で、背景領域206がスクロールする。これは、操作例Aにおける1回目のドラッグ操作時の処理と同じであるため、説明を省略する。
次に2回目のドラッグ操作時に実行される処理を説明する。図9(c)に示されるタッチ位置805にユーザがタッチし、タッチした指を初めて移動させたとき、まず図4のS101以下の処理が実行される。制御部108は、今回のタッチ点の移動が最初の移動であると判定し(S101)、スクロール対象領域を決定する(S102)。このスクロール対象領域を決定する処理において、制御部108は、S102の詳細を表す図5に示されるように、タッチ開始位置を取得し(S204)、取得した位置に表示されている領域Aを取得する(S205)。この例では、図9(a)に示されるように、地図領域207がタッチ開始位置にあり、制御部108は、地図領域207が領域Aであると判定する。その後、制御部108は、領域Aに表示されている画像をスクロールさせるか否かを判定する(S206)。この操作例Eでは、制御部108は、S206の詳細を示す図10に示される処理に進む。
まず、スクロール速度が、図8のスクロール速度閾値704で示されるスクロール速度閾値、この例では100[pixel/s]以上であるか否かを判定する(S401)。この判定は、制御部108で行われる。操作例Gでは、スクロール速度がスクロール速度閾値以上ではないので、制御部108は、スクロール速度はスクロール速度閾値以上ではないと判定する(S401:N)。次に、制御部108は、表示部106による領域Aの表示が未完了であるか否かを判定する(S402)。この例では、上述のように取得された領域Aである地図領域207は表示を完了しているので、表示は完了したと判定され(S402:N)る。そして、制御部108は、今回のタッチの開始位置と記憶部109に記憶されたタッチ開始位置708との距離が、図8の705で示される距離閾値以上離れているか、つまり20[pixel]以上離れているか否かを判定する(S403)。
この操作例Gにおいては、制御部108は、今回のタッチの開始位置と記憶部109に記憶されたタッチ開始位置708との距離が図8の705で示される距離閾値以上離れていないと判定(S403:N)する。次に、制御部108は、今回のタッチ点の移動速度と記憶部109に記憶されたタッチ点移動速度との差が図8に示される移動速度閾値706の値以上、この例では20[pixel/s]以上であるか否かを判定する(S404)。この例では、制御部108は、この差が移動速度閾値以上ではないと判定する(S404:N)。その後、制御部108は、今回のタッチ点の移動方向と、図8にタッチ点移動方向710として示される記憶部109に記憶されたタッチ点移動方向との角度差が一定以上であるか否かを判定する(S405)。この例では、この角度差は、図8に移動方向閾値707として示される角度(60°)よりも小さいので、制御部108は、角度差は一定以上であると判定(S405:Y)する。その後、制御部108での処理は図5のS305に進み、ユーザが地図領域207に気付いているとして、制御部108は、領域Aに表示されている画像をスクロールさせると判定する。
そして、制御部108は、図5のS207へと処理を進め、領域Aに表示されている画像をスクロールさせるか否かを判定する(S207)。S305での判定結果から、S207では領域Aに表示されている画像をスクロールさせると判定し(S207:Y)、領域Aと判定された地図領域207をスクロール対象領域と決定する(S208)。その後、現在時刻を前回のスクロール時刻として記憶するとともにタッチ点やスクロール対象領域の情報を記憶部109に格納する。次に、制御部108は、図4のS103に処理を進めて地図領域207に表示されている画像をスクロールさせ、表示部106は、スクロール後の領域201を表示する。
更に、制御部108は、タッチ点がリリースされたか否かを判定し(S104)、ユーザが、図9(c)の位置806に指を移動させるまで、上述のように図4のS101〜S104を繰り返し実行し、地図領域207をスクロールする処理が繰り返し実行される。
[第2実施形態]
親の領域(第1領域)内にある子の領域(第2領域)をユーザがドラッグする場合、その目的は、多くの場合は第2領域に含まれるテキストや画像などのシンボル又は特定の領域を、第1領域の中央に移動させることであると考えられる。以下、親の領域として地図領域207を、子の領域としてメッセージ領域903を例にとって説明する。メッセージ領域903内の位置にタッチしてドラッグを行うという操作の目的は、メッセージ領域903を地図領域207の中央に表示することであると考えられる。そのため、ユーザが地図領域207をドラッグし、これに伴ってメッセージ領域903が移動されて地図領域207の中央に近付く場合は、ユーザが地図領域207に気付いている可能性が高い。
親の領域(第1領域)内にある子の領域(第2領域)をユーザがドラッグする場合、その目的は、多くの場合は第2領域に含まれるテキストや画像などのシンボル又は特定の領域を、第1領域の中央に移動させることであると考えられる。以下、親の領域として地図領域207を、子の領域としてメッセージ領域903を例にとって説明する。メッセージ領域903内の位置にタッチしてドラッグを行うという操作の目的は、メッセージ領域903を地図領域207の中央に表示することであると考えられる。そのため、ユーザが地図領域207をドラッグし、これに伴ってメッセージ領域903が移動されて地図領域207の中央に近付く場合は、ユーザが地図領域207に気付いている可能性が高い。
そこで第2実施形態では、ユーザのドラッグの方向と、親の領域に表示される子の領域の位置からユーザが地図領域207に気付いているか否かを判定することで、誤操作が起きる可能性を低くする構成とした。この実施形態に適用可能な情報処理装置のハードウェア構成は、先に示した図1(a)と同様である。また、本実施形態におけるROM102やHDD103に格納されている制御プログラムの構成例も、先に示した図1(b)と同様である。従って、これらについての詳細な説明は省略する。
この実施形態において、受付部105がユーザのドラッグ操作を検知した時に実行される処理は、第1実施形態及びその変形例と同様に、図4、図5及び図6に示される。ただし、本実施形態においては、図5のS206に示される処理は第1実施形態及び変形例とは異なる。そこで、本実施形態において図5のS206で実行される処理の詳細を図12に示す。更に、本実施形態における領域201の詳細を図13(a)に、本実施形態における領域201の親子関係図を図13(b)に示す。
また、第1実施形態及びその変形例と同様に、地図領域207は背景領域206の子の領域であり、更に、メッセージ領域903は地図領域207の子の領域であるとする。なお、メッセージ領域は図13(a)においてID_msg903として示される。更に、上述した背景領域206、地図領域207及びメッセージ領域903の親子関係は、図13(b)において、ID_bg206、ID_map207及びID_msg903の親子関係として示される。更に、この実施形態における1回目のドラッグ操作時におけるタッチパネル210の画面は図7(a)に示され、2回目のドラッグ操作時におけるタッチパネル210の画面は図14(a)に示される。
この実施形態において、1回目のドラッグ操作時に実行される処理は、操作例Aにおける1回目のドラッグ操作時に実行される処理と同一であり、図4、図5及び図6に示される各ステップが上述のように実行される。
2回目のドラッグ操作時においては、制御部108は、操作例Aの2回目のドラッグ操作と同様、図4のS101を実行して図5のS204、S205及びS206を実行する。しかし、2回目のドラッグ操作時における図5のS206では、制御部108は、図6に示されるフローチャートではなく、図12に示されるフローチャートに従って処理を実行する。詳細には、制御部108は、図5のS205を実行した後に、図12のS301以降の処理を実行する。
なお、図12のフローチャートにおいて、S301からS305で行う処理自体は図6で説明した処理と同一である。また、図12において、S301、S302、S303及びS602の各ステップを単独で実行しても、あるいは順番を入れ替えて実行しても、タッチ開始位置の領域である領域Aに表示されている画像をスクロールするか否かの判定精度を向上することが可能である。この実施形態では、判定精度を一層高くするためにこれらのステップを組み合わせて図示される順に実行している。
図12において、制御部108におけるS301の判定結果がN、S302における判定結果がYとなった場合、処理はS303に進む。制御部108は、タッチ開始位置が入力無効範囲に含まれると判定した場合(S303:Y)、タッチ点の移動が一定時間継続して領域Aがスクロールしたと仮定した場合における、領域A内の子の領域である領域Bのスクロール後の位置を取得する(S601)。なお、領域Aは例えば地図領域207、領域Bは例えばメッセージ領域903である。
次に、制御部108は、タッチ点の移動が継続する前の領域Bの位置と、S601で取得したスクロール後の位置とを比較し、スクロール後の領域Bの位置が領域Aの中央に近付いたか否かを判定する(S602)。スクロール後の領域Bの位置が領域Aの中央に近付かない場合(S602:N)、S304に進み、領域Aに表示されている画像をスクロールさせないと判定する。S701で取得した、スクロール後の領域Bの位置が領域Aの中央に近付いた場合(S602Y)、S405へ進み、領域Aに表示されている画像をスクロールさせると判定する。
[操作例H]
操作例Hでは、図7(a)に示すように、ユーザはまず位置501にタッチし、位置502へ向かって上方向にドラッグすることで、背景領域206をスクロールさせる。その結果、地図領域207がタッチパネル210に表示される。また、この例では、1回目のドラッグ前後において、地図領域207はスクロール指示無効範囲209内に含まれているものとする。
操作例Hでは、図7(a)に示すように、ユーザはまず位置501にタッチし、位置502へ向かって上方向にドラッグすることで、背景領域206をスクロールさせる。その結果、地図領域207がタッチパネル210に表示される。また、この例では、1回目のドラッグ前後において、地図領域207はスクロール指示無効範囲209内に含まれているものとする。
その直後、図14(a)に示すように、ユーザは、位置907から位置908まで地図領域207をドラッグする。このとき、地図領域207内のメッセージ領域903は、このドラッグ操作が一定時間継続された場合に地図領域207の中央に表示される。そのため、制御部108は、ユーザが地図領域207に気付いていると判定する。その結果、制御部108は、地図領域207をスクロールさせる。ここで、ドラッグ操作が継続される時間は任意に定めることができる。例えば、本実施形態では図4のS104においてタッチ点がリリースされたか否かを周期的に検出しているが、このリリース検出における1周期に要する時間を、ドラッグ操作が継続される時間とすることもできる。以下に操作例Hの詳細を示す。
1回目のドラッグ操作時に実行される処理は、操作例Aにおける1回目のドラッグ操作時に実行される処理と同じであるため、説明を省略する。次に2回目のドラッグ操作時に実行される処理を説明する。なお、この例では、図示される情報処理装置200の画面左上隅の座標を原点(0,0)として、図面の右方向をX軸の正の方向、図面の下方向をY軸の正の方向として説明する。
図14(a)に示される2回目のドラッグ操作時、メッセージ領域903の位置は、(200,600)、地図領域207の中央の位置は(150,500)であり、タッチ点が移動した量は(0,−5)であるとする。なお、この例では、前回のスクロール時刻は、図7(a)でユーザが指をタッチ位置501にタッチしてスクロールを開始した時刻であり、かつ、前回のスクロール時刻からの経過時間は200[ms]とする。図14(a)の位置907にユーザがタッチし、タッチした指を初めて移動させたとき、まず図4に示す処理が実行され、制御部108は、今回のタッチ点の移動が最初の移動であると判定し(S101)、スクロール対象領域の決定を行う(S102)。その後、制御部108は、図4のS102における処理の詳細を表す図5に処理を進め、タッチ開始位置を取得し(S204)、地図領域207がタッチ開始位置にあると判定する(S205)。
従って、この例では、タッチ開始位置に表示されている領域である領域Aは地図領域207となり、制御部108は、この領域Aに表示されている画像をスクロールさせるか否かを判定する(S206)。その後、制御部108は、この第2実施形態において図5のS206の詳細を表す図である図12に処理を進める。そして、制御部108は、前回のスクロール時刻から一定時間が経過したか否かを判定する(S301)。
この例における経過時間は200[ms]であり、図8で最大操作間隔208として示される500[ms]より小さいので、制御部108は、一定時間が経過していないと判定する(S301:N)。続いて、制御部108は、前回のスクロール対象領域が領域Aの祖先にあたる領域であるか否かを判定する(S302)。
図7(a)に示される前回のスクロールにおいて、スクロール対象は地図領域207の祖先である背景領域206であることから、制御部108でのS302の判定結果はYとなり、続いて、タッチ開始位置が入力無効範囲に含まれるかが判定される(S303)。図14(a)に示されるように、地図領域207はスクロール指示無効範囲209内に含まれているので、その判定結果はYとなる。その後、制御部108は、タッチ点の移動により領域A(この例では地図領域207)がスクロールしたと仮定し、この場合における領域Aの子の領域である領域B(この例ではメッセージ領域903)のスクロール後の位置を取得する(S601)。
上述したように、メッセージ領域903の位置は(200,600)、タッチ点が移動した量は(0,−5)である。従って、メッセージ領域903の位置に対してタッチ点が移動した量を加えることで、スクロール後のメッセージ領域903の位置は(200,595)となる。
次に、制御部108は、領域Aである地図領域207の中央に領域Bであるメッセージ領域903が近付いたか否かを判定する。具体的には、制御部108は、地図領域207の中央と、スクロール前のメッセージ領域903との間の距離をスクロール前距離として計算する。前述したように、地図領域207の中央の位置は(150,500)であり、スクロール前のメッセージ領域903の位置は(200,600)である。従って、この距離は{(200−150)2+(600−550)2}(1/2)という数式で求められ、その値は約70.71である。
次に、制御部108は、地図領域207の中央の位置と、スクロール後のメッセージ領域903との距離をスクロール後距離として計算する。この距離は{(200−150)2+(595−550)2}(1/2)という数式で求められる。その値は約67.27である。
その結果、制御部108は、領域Aのスクロールに伴って領域Bが移動することで、領域Aの中央に領域Bが近付いたと判定し(S602:Y)、領域Aに表示されている画像をスクロールさせると判定する(S305)。その結果、制御部108の処理は図5に戻り、ユーザが地図領域207に気付いていると判定して領域Aに表示されている画像をスクロールさせると判定する(S207:Y)。これにより、制御部108は、領域Aに表示されている画像をスクロール対象領域と決定し(S208)、現在時刻を前回のスクロール時刻として記憶するとともにタッチ点やスクロール対象領域の情報を記憶部109に格納する(S210)。その後、制御部108は、図4に処理を戻し、スクロール対象領域として決定された領域A,つまり地図領域207に表示されている画像をスクロールさせ(S103)、表示部106がスクロール後の領域201を表示する。
更に、制御部108は、タッチ点がリリースされたか否かを判定し(S104)、ユーザが図14(a)の位置1008に指を移動させるまで、上述のように図4のS101〜S104を繰り返し実行し、地図領域207をスクロールする処理が繰り返し実行される。
[第3実施形態]
第1実施形態及び第2実施形態では、図8に示される領域201の親子関係が一階層、つまり親の領域である背景領域206と子の領域である地図領域207で構成されるとして説明した。しかし、領域201の親子関係が複数階層になることもある。第3実施形態は、領域201の親子関係が複数階層になる場合の例を示す。この実施形態に適用可能な情報処理装置のハードウェア構成は、先に示した図1(a)と同様である。また、本実施形態におけるROM102やHDD103に格納されている制御プログラムの構成例も、先に示した図1(b)と同様である。従って、これらについての詳細な説明は省略する。
第1実施形態及び第2実施形態では、図8に示される領域201の親子関係が一階層、つまり親の領域である背景領域206と子の領域である地図領域207で構成されるとして説明した。しかし、領域201の親子関係が複数階層になることもある。第3実施形態は、領域201の親子関係が複数階層になる場合の例を示す。この実施形態に適用可能な情報処理装置のハードウェア構成は、先に示した図1(a)と同様である。また、本実施形態におけるROM102やHDD103に格納されている制御プログラムの構成例も、先に示した図1(b)と同様である。従って、これらについての詳細な説明は省略する。
この実施形態において、受付部105がユーザのドラッグ操作を検知した時に実行される処理は、第1実施形態及びその変形例と同様に、図4、図5及び図6に示される。ただし、本実施形態においては、図5に示される処理は上述の第1実施形態等とは異なる。そこで、本実施形態において図5で実行される処理の詳細を図15に示す。
図15は、本実施形態において、図4のS102が示すスクロール対象領域203の決定処理を具体的に説明するフローチャートである。この図において、S204からS210での処理は、先に説明した図5における処理と同様であり、その詳細は省略する。制御部108は、図5のS207の処理において、領域Aに表示されている画像をスクロールさせない(S207:N)と判定した場合、領域Aの親の領域が存在するかを確認する(S701)。親の領域が存在しない場合(S701:N)、現在時刻を前回のスクロール時刻として記憶するとともにタッチ点やスクロール対象領域の情報を記憶部109に格納する(S210)。親の領域が存在する場合(S701:Y)制御部108は、図15のS205で取得した領域について、その親の領域を領域Aであると判定する(S702)。その後、実行部108は、S206に戻り、以降のステップを再び実行する。
[操作例I]
操作例Iでは、ユーザは、図7(a)に示されるように、まず背景領域206にタッチして1回目のドラッグ操作を行う。その結果、背景領域206がスクロールし、図14(b)に示されるように、タッチパネル210には地図領域207と、地図領域207に含まれるメッセージ領域903とが表示される。この例では、地図領域207は、スクロール指示無効範囲209に含まれており、かつ、メッセージ領域903は、地図領域207の子の領域である。なお、地図領域207は、背景領域206の子の領域であることから、メッセージ領域903は、背景領域206の孫の領域となる。
操作例Iでは、ユーザは、図7(a)に示されるように、まず背景領域206にタッチして1回目のドラッグ操作を行う。その結果、背景領域206がスクロールし、図14(b)に示されるように、タッチパネル210には地図領域207と、地図領域207に含まれるメッセージ領域903とが表示される。この例では、地図領域207は、スクロール指示無効範囲209に含まれており、かつ、メッセージ領域903は、地図領域207の子の領域である。なお、地図領域207は、背景領域206の子の領域であることから、メッセージ領域903は、背景領域206の孫の領域となる。
この1回目のドラッグ操作から200[ms]が経過したあと、ユーザは、同じ位置を再びタッチし、背景領域206をドラッグしようとする。しかし、ユーザは、表示されたメッセージ領域903に気付いていないため、誤ってメッセージ領域903をドラッグする。この操作例Iでは、制御部108は、ユーザがメッセージ領域903に気付いていないと判定し、その結果、背景領域206に表示されている画像をスクロールさせる。以下にその詳細を示す。
この操作例Iにおける1回目のドラッグ操作時に実行される処理は、操作例Aにおける1回目のドラッグ操作と同様なので、その詳細は省略する。なお、第3実施形態では、図5に示される処理に代えて図15に示される処理を行うが、1回目のドラッグ操作においては、図15の処理では、図5と相違するステップには処理は進まない。従って、図5に代えて図15を用いるこの操作例においても、1回目のドラッグ操作においては、操作例Aにおける1回目のドラッグ操作と同一の処理が行われる。ただし、操作例Aでは、この1回目のドラッグ操作後における情報処理装置200の画面は図7(b)となるが、この操作例Iにおいては、情報処理装置200の画面は図14(b)となる。
次に、2回目のドラッグ操作時に実行される処理を説明する。図14(b)に示されるメッセージ領域内の位置1001にユーザがタッチし、タッチした指を初めて移動させると、図4に示す処理が実行される。制御部108は、今回のタッチ点の移動がこの2回目のドラッグ操作における最初の移動であると判定し(S101)、スクロール対象領域を決定する(S102)。
図4のS102の詳細を説明する図である図5を参照すると、制御部108は、タッチ開始位置を取得し(S204)、取得した位置に表示されている領域Aを取得する(S205)。この例では、図14(b)の位置1001はメッセージ領域903にあることから、領域Aはメッセージ領域903となる。次に、領域Aに表示されている画像をスクロール対象とするか否かを判定する(S206)。
図5のS206の詳細を表す図6に示されるように、制御部108は、タッチされた時刻が前回のスクロール時刻から一定時間以内であるか否かを判定する(S301)。この例では、前回のスクロール時刻から経過した時間は200[ms]であり、この値は設定された最大操作間隔値の500[ms]より小さいので、一定時間以内と判定され(S301:Y)、S302へ進む。
次に、前回のスクロール対象が地図領域207の祖先にあたる領域かが判定される(S302)。前回のスクロール対象はメッセージ領域903の祖先である背景領域206であることから(S302:Y)、S303へ進む。制御部108は、タッチ位置503がスクロール指示無効範囲209内に含まれているか否かを判定する(S303)。この例では、タッチ位置503はスクロール指示無効範囲209内に含まれているので(S303:Y)、ステップS304へ進む。その後、ユーザが領域A(ここではメッセージ領域903)に気付いていないと判定し、領域Aに表示されている画像について、スクロールは行わないと判定する(S304)。
制御部108は、図6のS304における判定を行った後に、処理を図15のS207に進め、領域Aに表示されている画像について、スクロールは行わないと判定する(S207:N)。その後、制御部108は、領域Aの親の領域が存在するか否かを判定する(S701)。この例では、領域Aはメッセージ領域903であり、その親にあたる領域として地図領域207が存在する。従って、制御部108は、領域Aの親領域があると判定し(S701:Y)、現在の領域Aの親領域(この例では地図領域207)を改めて領域Aと判定する(S702)。その後、制御部108は、図15のS206に戻る。図5のS206の詳細を表す図6に示されるように、制御部108は、タッチされた時刻が前回のスクロール時刻から一定時間以内であるか否かを判定する(S301)。この例では、前回のスクロール時刻から経過した時間は200[ms]であり、この値は設定された最大操作間隔値の500[ms]より小さいので、一定時間以内と判定され(S301:Y)、S302へ進む。
次に、前回のスクロール対象が現在の領域A、つまり地図領域207の祖先にあたる領域であるかが判定される(S302)。前回のスクロール対象は地図領域207の祖先である背景領域206であることから(S302:Y)、S303へ進む。制御部108は、タッチ位置503がスクロール指示無効範囲209内に含まれているか否かを判定する(S303)。この例では、タッチ位置503はスクロール指示無効範囲209内に含まれているので(S303:Y)、ステップS304へ進み、ユーザが地図領域207に気付いていないと判定し、領域Aに表示されている画像をスクロールさせないと判定する(S304)。
制御部108は、図6のS304における判定を行った後に、処理を図15のS207に進め、領域Aに表示されている画像をスクロールさせないと判定する(S207:N)。その後、制御部108は、領域Aの親の領域が存在するか否かを判定する(S701)。この例では、領域Aは地図領域207であり、その親にあたる領域として背景領域206が存在する。従って、制御部108は、領域Aの親領域があると判定し(S701:Y)、現在の領域Aの親領域(この例では背景領域206)を改めて領域Aと判定する(S702)。
その後、制御部108は、再度図15のS206に戻る。図5のS206の詳細を表す図6に示されるように、制御部108は、タッチされた時刻が前回のスクロール時刻から一定時間以内であるか否かを判定する(S301)。この例では、前回のスクロール時刻から経過した時間は200[ms]であり、この値は設定された最大操作間隔値の500[ms]より小さいので、一定時間以内と判定され(S301:Y)、S302へ進む。
次に、前回のスクロール対象が現在の領域A、つまり背景領域206の祖先にあたる領域であるかが判定される(S302)。ここで、前回のスクロール対象は、現在の領域である背景領域206である。従って、前回のスクロール対象は現在の領域Aの祖先にあたる領域ではないと判定され(S302:N)、制御部108は、ユーザが背景領域206に気付いていると判定し、領域Aに表示されている画像をスクロールさせると判定する(S305)。その結果、制御部108は、図15のS207に処理を進め、領域Aに表示されている画像をスクロールさせると判定し(S207:Y)。現在の領域A(つまり背景領域206)をスクロール対象領域と決定する(S206)。その後、制御部108は、現在時刻を前回のスクロール時刻として記憶するとともにタッチ点やスクロール対象領域の情報を記憶部109に格納する(S210)。
次に、制御部108での処理は図4に戻り、スクロール対象領域と判定された背景領域206に表示されている画像をスクロールさせる(S103)。その後、タッチ点がリリースされたか否かが判定される(S104)。その後、図14(b)の位置1002に指が達してタッチ点がリリースされるまでは、図4のS101、S103及びS104の処理が順次繰り返し実行される。タッチ点がリリースされた場合には処理を終了する。
[操作例J]
操作例Jでは、操作例Iとは異なり、図7(b)に示すように、タッチパネル210に、1回目のドラッグを開始する時点において既に地図領域207が表示されている。ユーザはまず図7(b)において地図領域207内のタッチ位置503をタッチしてドラッグする。その結果、地図領域207がスクロールし、1回目のドラッグ終了後には、図14(c)に示されるように、タッチパネル210にメッセージ領域903が表示される。この1回目のドラッグ操作から200[ms]が経過したあと、ユーザは地図領域207を再びドラッグしようとする。しかしユーザは、表示されたメッセージ領域903に気付かず、誤ってメッセージ領域903内のタッチ位置1003をタッチしてドラッグしてしまう。このとき制御部108は、ユーザがメッセージ領域903に気付いていないと判定する。その結果、制御部108は、地図領域207に表示されている画像をスクロールさせる。以下にその詳細を示す。
操作例Jでは、操作例Iとは異なり、図7(b)に示すように、タッチパネル210に、1回目のドラッグを開始する時点において既に地図領域207が表示されている。ユーザはまず図7(b)において地図領域207内のタッチ位置503をタッチしてドラッグする。その結果、地図領域207がスクロールし、1回目のドラッグ終了後には、図14(c)に示されるように、タッチパネル210にメッセージ領域903が表示される。この1回目のドラッグ操作から200[ms]が経過したあと、ユーザは地図領域207を再びドラッグしようとする。しかしユーザは、表示されたメッセージ領域903に気付かず、誤ってメッセージ領域903内のタッチ位置1003をタッチしてドラッグしてしまう。このとき制御部108は、ユーザがメッセージ領域903に気付いていないと判定する。その結果、制御部108は、地図領域207に表示されている画像をスクロールさせる。以下にその詳細を示す。
操作例Jにおける1回目のドラッグ操作時に実行される処理は、操作例Jと同様に最初の画面が図7(b)となっている操作例Cにおける1回目のドラッグ操作時に実行される処理と同一であるので、その詳細は省略する。ただし、操作例Cでは、1回目のドラッグ後の状態は図7(c)で示されるが、この操作例Jにおいては、1回目のドラッグ後の状態は図14(c)で示される。
次に2回目のドラッグ操作時に実行される処理を説明する。図14(c)に示される位置1003をユーザがタッチし、タッチした指を初めて移動させると、図4に示す処理が実行される。制御部108は、今回のタッチ点の移動がこの2回目のドラッグ操作における最初の移動であると判定し(S101)、スクロール対象領域を決定する(S102)。
上述の各操作例では、図4のS102の処理として、図5のフローチャートに示される処理を行っている。しかし、この操作例Jの2回目の操作においては、図15のフローチャートに示される処理が実行される。図15を参照すると、制御部108は、タッチ開始位置を取得し(S204)、取得した位置に表示されている領域Aを取得する(S205)。この例では、図14(b)の位置1001はメッセージ領域903にあることから、領域Aはメッセージ領域903となる。次に、領域Aに表示されている画像をスクロール対象とするか否かを判定する(S206)。
図5のS206の詳細を表す図6に示されるように、制御部108は、タッチされた時刻が前回のスクロール時刻から一定時間以内であるかを判定する(S301)。この例では、前回のスクロール時刻から経過した時間は200[ms]であり、この値は設定された最大操作間隔値の500[ms]より小さいので、一定時間以内と判定され(S301:Y)、S302へ進む。次に、前回のスクロール対象が領域Aの祖先にあたる領域かが判定される(S302)。前回のスクロール対象はメッセージ領域903の祖先である地図領域207であることから(S302:Y)、S303へ進む。制御部108は、タッチ位置503がスクロール指示無効範囲209内に含まれているかを判定する(S303)。この例では、タッチ位置503はスクロール指示無効範囲209内に含まれているので(S303:Y)、ステップS304へ進み、ユーザが領域A(ここではメッセージ領域903)に気付いていないと判定する。その結果、領域Aに表示されている画像について、スクロールは行わないと判定する(S304)。
制御部108は、図6のS304における判定を行った後に、図15に戻って処理をS207に進め、領域Aに表示されている画像をスクロールさせないと判定する(S207:N)。その後、制御部108は、領域Aの親の領域が存在するか否かを判定する(S701)。この例では、領域Aはメッセージ領域903であり、その親にあたる領域として地図領域207が存在する。従って、制御部108は、領域Aの親領域があると判定し(S701:Y)、現在の領域Aの親領域(この例では地図領域207)を改めて領域Aと判定する(S702)。
S702を実行した後、処理はS206に戻る。図5のS206の詳細を表す図6に示されるように、制御部108は、タッチされた時刻が前回のスクロール時刻から一定時間以内であるかを判定する(S301)。この例では、前回のスクロール時刻から経過した時間は200[ms]であり、この値は設定された最大操作間隔値の500[ms]より小さいので、一定時間以内と判定され(S301:Y)、S302へ進む。
次に、前回のスクロール対象が現在の領域A、つまり地図領域207の祖先にあたる領域であるかが判定される(S302)。前回のスクロール対象は、現在の領域Aと同じく地図領域207である。従って、前回のスクロール対象は現在の領域Aの祖先にあたる領域ではないと判定され(S302:N)、制御部108は、ユーザが地図領域207に気付いていると判定し、領域Aに表示されている画像をスクロールさせると判定する(S305)。その結果、制御部108は、図15のS207に処理を進め、領域Aに表示されている画像をスクロールさせると判定し(S207:Y)。現在の領域Aに表示されている画像をスクロール対象領域と決定する(S206)。その後、制御部108は、現在時刻を前回のスクロール時刻として記憶するとともにタッチ点やスクロール対象領域の情報を記憶部109に格納する(S210)。
制御部108での処理は図4に戻り、スクロール対象領域と判定された地図領域207をスクロールさせる(S103)。その後、タッチ点がリリースされたか否かが判定される(S104)。その後、図14(c)の位置1004に指が達してタッチ点がリリースされるまでは、図4のS101、S103及びS104の処理が順次繰り返し実行される。タッチ点がリリースされた場合には処理を終了する。
[操作例K]
操作例Kでは、ユーザがメッセージ領域903に気付いたうえでメッセージ領域903をドラッグしたときに、直前に背景領域をドラッグしていても、メッセージ領域903がスクロールされる例を示す。
操作例Kでは、ユーザがメッセージ領域903に気付いたうえでメッセージ領域903をドラッグしたときに、直前に背景領域をドラッグしていても、メッセージ領域903がスクロールされる例を示す。
操作例Kでは、ユーザはまず、背景領域206をタッチし、ドラッグする。その結果、背景領域206がスクロールしてタッチパネル210に地図領域207と地図領域207に含まれるメッセージ領域903が表示される。このとき、地図領域207とメッセージ領域903はスクロール指示無効範囲209をはみ出している。この1回目のドラッグ操作から200[ms]が経過したあと、ユーザは図14(d)に示される、メッセージ領域903内のタッチ位置1005をタッチし、ドラッグしようとする。このとき制御部108は、ユーザがメッセージ領域903に気付いていると判定し、その結果、制御部108は、メッセージ領域903をスクロールさせる。以下にその詳細を示す。
まず1回目のドラッグ操作時に実行される処理は、操作例Aにおける1回目のドラッグ操作時に実行される処理と同じであるため説明を省略する。ただし、操作例Aとは異なり、1回目のドラッグ操作終了後の状態は図14(d)に示されるものとなる。次に2回目のドラッグ操作時に実行される処理を説明する。図14(d)に示される位置1005をユーザがタッチし、タッチした指を初めて移動させると、図4に示す処理が実行される。制御部108は、今回のタッチ点の移動がこの2回目のドラッグ操作における最初の移動であると判定し(S101)、スクロール対象領域を決定する(S102)。
図4のS102の詳細を説明する図である図5を参照すると、制御部108は、タッチ開始位置を取得し(S204)、取得した位置に表示されている領域Aを取得する(S205)。この例では、図14(b)の位置1001はメッセージ領域903にあることから、領域Aはメッセージ領域903となる。次に、領域Aに表示されている画像をスクロール対象とするか否かを判定する(S206)。
本実施形態において図5のS206の詳細を表す図12に示されるように、制御部108は、タッチされた時刻が前回のスクロール時刻から一定時間以内であるかを判定する(S301)。この例では、前回のスクロール時刻から経過した時間は200[ms]であり、この値は設定された最大操作間隔値の500[ms]より小さいので、一定時間以内と判定され(S301:Y)、S302へ進む。
次に、前回のスクロール対象が領域Aの祖先にあたる領域かが判定される(S302)。前回のスクロール対象はメッセージ領域903の祖先である地図領域207であることから(S302:Y)、S303へ進む。制御部108は、タッチ位置503がスクロール指示無効範囲209内に含まれているかを判定する(S303)。
制御部108は、タッチ位置503はスクロール指示無効範囲209内に含まれていないと判定する(S303:N)。その後、制御部108は、ユーザはメッセージ領域903に気付いていると判定し、領域Aに表示されている画像をスクロールさせると判定する(S305)。
制御部108は、図12のS304における判定を行った後に、処理を図15のS207に進め、領域Aに表示されている画像をスクロールさせると判定する(S207:Y)。その後、制御部108は、領域A、つまりメッセージ領域903をスクロール対象領域と決定する(S208)。その後、制御部108は、現在時刻を前回のスクロール時刻として記憶するとともにタッチ点やスクロール対象領域の情報を記憶部109に格納する(S210)。
次に、制御部108での処理は図4に戻り、スクロール対象領域と判定されたメッセージ領域903をスクロールさせる(S103)。その後、タッチ点がリリースされたか否かが判定される(S104)。その後、図14(c)の位置1004に指が達してタッチ点がリリースされるまで、図4のS101、S103及びS104の処理が順次繰り返し実行される。タッチ点がリリースされた場合には処理を終了する。以上で示したように、第3実施形態は、領域201の親子関係が複数階層になる場合でもユーザが領域201に気付いているか否かを判定することで誤操作を減らすことができる。
なお、上述の各実施形態に記載した装置は、これら各実施形態の機能を実現するソフトウェアのプログラムコード(制御プログラム)を記録した記憶媒体をシステムあるいは装置に供給することで実現することもできる。この場合、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記憶媒体に格納されたコンピュータ読取可能なプログラムコードを読み出し実行する。
この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。プログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、CD−R、磁気テープ、不揮発性のメモリカード、ROMなどを用いることができる。
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけではない。そのプログラムコードの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。
更に、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれる。その後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。
Claims (15)
- スクロール可能な第1領域と、第1領域の一部であり独立してスクロール可能な第2領域が含まれる、表示部に表示された画像をスクロールさせる制御を行う情報処理装置であって、
前記表示部における位置を特定し、該位置に相当する画像のスクロールを指示する情報を受け付ける受付手段と、
前記位置が第2領域に相当する場合に、前記第1領域をスクロールさせるか、前記第2領域を独立してスクロールさせるかを、前回スクロール指示で画像がスクロールした方向に基づいて定まる表示部の特定範囲に前記位置が含まれるか否かに基づき判定する判定手段と、
前記判定手段での判定結果に基づいて、前記第1領域をスクロールさせるか、前記第2領域を独立してスクロールさせる制御手段とを備えることを特徴とする情報処理装置。 - 前記特定範囲は、前回スクロール指示で画像が上方向にスクロールしている場合には、表示部における下端部に相当し、前回スクロール指示で画像が下方向にスクロールしている場合には、表示部における上端部に相当することを特徴とする請求項1に記載の情報処理装置。
- スクロール可能な第1領域と、第1領域の一部であり独立してスクロール可能な第2領域が含まれる、表示部に表示された画像をスクロールさせる制御を行う情報処理装置であって、
前記表示部における位置を特定し、該位置に相当する画像のスクロールを指示する情報を受け付ける受付手段と、
前記位置が第2領域に相当する場合に、前記第1領域をスクロールさせるか、前記第2領域を独立してスクロールさせるかを、今回スクロール指示におけるスクロール方向と前回スクロール指示におけるスクロール方向とに基づき判定する判定手段と、
前記判定結果に基づいて、前記第1領域をスクロールさせるか、前記第2領域を独立してスクロールさせる制御手段とを備えることを特徴とする情報処理装置。 - 前記判定手段は、今回スクロール指示におけるスクロール方向が、前回スクロール指示におけるスクロール方向から定まる方向の候補群と異なるか否かに基づいて判定することを特徴とする請求項3に記載の情報処理装置。
- スクロール可能な第1領域と、第1領域の一部であり独立してスクロール可能な第2領域が含まれる、表示部に表示された画像をスクロールさせる制御を行う情報処理装置であって、
前記表示部における位置を特定し、該位置に相当する画像のスクロールを指示する情報を受け付ける受付手段と、
前記位置が第2領域に相当する場合に、前記第1領域をスクロールさせるか、 前記第2領域を独立してスクロールさせるかを、今回スクロール指示におけるスクロール速度と前回スクロール指示におけるスクロール速度とに基づき判定する判定手段と、
前記判定結果に基づいて、前記第1領域をスクロールさせるか、前記第2領域を独立してスクロールさせる制御手段とを備えることを特徴とする情報処理装置。 - 前記判定手段は、今回スクロール指示におけるスクロール速度と前回スクロール指示におけるスクロール速度が所定量以上異なるか否かに基づいて判定することを特徴とする請求項5に記載の情報処理装置。
- スクロール可能な第1領域と、第1領域の一部であり独立してスクロール可能な第2領域が含まれる、表示部に表示された画像をスクロールさせる制御を行う情報処理装置であって、
前記表示部における位置を特定し、該位置に相当する画像のスクロールを指示する情報を受け付ける受付手段と、
前記位置が第2領域に相当する場合に、前記第1領域をスクロールさせるか、前記第2領域を独立してスクロールさせるかを、現在の表示部における画像のスクロール速度に基づいて判定する判定手段と、
前記判定結果に基づいて、前記第1領域をスクロールさせるか、前記第2領域を独立してスクロールさせる制御手段とを備えることを特徴とする情報処理装置。 - スクロール可能な第1領域と、第1領域の一部であり独立してスクロール可能な第2領域が含まれる、表示部に表示された画像をスクロールさせる制御を行う情報処理装置であって、
前記表示部における位置を特定し、該位置に相当する画像のスクロールを指示する情報を受け付ける受付手段と、
前記位置が第2領域に相当する場合に、前記第1領域をスクロールさせるか、前記第2領域を独立してスクロールさせるかを、前記第2領域のコンテンツの表示が完了しているか否かに基づいて判定する判定手段と、
前記判定結果に基づいて、前記第1領域をスクロールさせるか、前記第2領域を独立してスクロールさせる制御手段とを備えることを特徴とする情報処理装置。 - 前記特定範囲は、表示画面における、スクロールにより表示画面外から表示画面へと画像が出現する位置の近傍領域であることを特徴とする請求項1に記載の情報処理装置。
- コンピュータに読み込み実行させることで、前記コンピュータを、請求項1〜9のいずれか1項に記載の情報処理装置として機能させるためのプログラム。
- 情報処理装置が実行する方法であって、前記情報処理装置が、
スクロール可能な第1領域と第1領域の一部であり独立してスクロール可能な第2領域とが含まれる画像を表示部に表示させる処理、
前記表示部における位置を特定し、該位置に相当する画像のスクロールを指示する情報を受け付ける処理、
前記位置が第2領域に相当する場合に、前記第1領域をスクロールさせるか、前記第2領域を独立してスクロールさせるかを、前回スクロール指示で画像がスクロールした方向に基づいて定まる表示部の特定範囲に前記位置が含まれるか否かに基づき判定する処理、
前記判定処理での判定結果に基づいて、前記第1領域をスクロールさせるか、前記第2領域を独立してスクロールさせる処理を実行することを特徴とする情報処理方法。 - 情報処理装置が実行する方法であって、前記情報処理装置が、
スクロール可能な第1領域と第1領域の一部であり独立してスクロール可能な第2領域とが含まれる画像を前記表示部に表示させる処理、
表示部における位置を特定し、該位置に相当する画像のスクロールを指示する情報を受け付ける処理、
前記位置が第2領域に相当する場合に、前記第1領域をスクロールさせるか、前記第2領域を独立してスクロールさせるかを、今回スクロール指示におけるスクロール方向と前回スクロール指示におけるスクロール方向とに基づき判定する処理、
前記判定処理での判定結果に基づいて、前記第1領域をスクロールさせるか、前記第2領域を独立してスクロールさせる処理を実行することを特徴とする情報処理方法。 - 情報処理装置が実行する方法であって、前記情報処理装置が、
スクロール可能な第1領域と第1領域の一部であり独立してスクロール可能な第2領域とが含まれる画像を表示部に表示させる処理、
前記表示部における位置を特定し、該位置に相当する画像のスクロールを指示する情報を受け付ける処理、
前記位置が第2領域に相当する場合に、前記第1領域をスクロールさせるか、前記第2領域を独立してスクロールさせるかを、今回スクロール指示におけるスクロール速度と前回スクロール指示におけるスクロール速度とに基づき判定する処理、
前記判定処理での判定結果に基づいて、前記第1領域をスクロールさせるか、前記第2領域を独立してスクロールさせる処理を実行することを特徴とする情報処理方法。 - 情報処理装置が実行する方法であって、前記情報処理装置が、
スクロール可能な第1領域と第1領域の一部であり独立してスクロール可能な第2領域とが含まれる画像を表示部に表示させる処理、
前記表示部における位置を特定し、該位置に相当する画像のスクロールを指示する情報を受け付ける処理、
前記位置が第2領域に相当する場合に、前記第1領域をスクロールさせるか、前記第2領域を独立してスクロールさせるかを、現在の表示部における画像のスクロール速度に基づき判定する処理、
前記判定処理での判定結果に基づいて、前記第1領域をスクロールさせるか、前記第2領域を独立してスクロールさせる処理を実行することを特徴とする情報処理方法。 - 情報処理装置が実行する方法であって、前記情報処理装置が、
スクロール可能な第1領域と第1領域の一部であり独立してスクロール可能な第2領域とが含まれる画像を表示部に表示させる処理、
前記表示部における位置を特定し、該位置に相当する画像のスクロールを指示する情報を受け付ける処理、
前記位置が第2領域に相当する場合に、前記第1領域をスクロールさせるか、前記第2領域を独立してスクロールさせるかを、前記第2領域のコンテンツの表示が完了しているか否かに基づいて判定する処理、
前記判定処理での判定結果に基づいて、前記第1領域をスクロールさせるか、前記第2領域を独立してスクロールさせる処理を実行することを特徴とする情報処理方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013243943A JP2014194747A (ja) | 2013-02-28 | 2013-11-26 | 情報処理装置、情報処理方法及びコンピュータプログラム |
US14/190,552 US10607574B2 (en) | 2013-02-28 | 2014-02-26 | Information processing device and information processing method |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013038973 | 2013-02-28 | ||
JP2013038973 | 2013-02-28 | ||
JP2013243943A JP2014194747A (ja) | 2013-02-28 | 2013-11-26 | 情報処理装置、情報処理方法及びコンピュータプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2014194747A true JP2014194747A (ja) | 2014-10-09 |
Family
ID=51387686
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013243943A Pending JP2014194747A (ja) | 2013-02-28 | 2013-11-26 | 情報処理装置、情報処理方法及びコンピュータプログラム |
Country Status (2)
Country | Link |
---|---|
US (1) | US10607574B2 (ja) |
JP (1) | JP2014194747A (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016139264A (ja) * | 2015-01-27 | 2016-08-04 | 京セラ株式会社 | 電子機器、制御方法、及び制御プログラム |
JP2016173491A (ja) * | 2015-03-17 | 2016-09-29 | 三菱電機株式会社 | 表示制御装置、表示制御方法及びプログラム |
WO2018025316A1 (ja) * | 2016-08-01 | 2018-02-08 | 富士通株式会社 | ページ表示プログラム、ページ表示装置、及びページ表示方法 |
JP2019036041A (ja) * | 2017-08-10 | 2019-03-07 | キヤノン株式会社 | 表示制御装置及びその制御方法並びにプログラム |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5835255B2 (ja) * | 2013-03-19 | 2015-12-24 | カシオ計算機株式会社 | グラフ表示装置及びグラフ表示プログラム |
JP2015026257A (ja) * | 2013-07-26 | 2015-02-05 | ソニー株式会社 | 情報処理装置、情報処理方法、およびプログラム |
JP2015088180A (ja) * | 2013-09-25 | 2015-05-07 | アークレイ株式会社 | 電子機器、その制御方法、及び制御プログラム |
KR101810188B1 (ko) * | 2016-02-24 | 2018-01-18 | 네이버 주식회사 | 영상 표시 장치, 영상 생성 장치, 영상 제공 서버, 영상 표시 방법, 영상 생성 방법 및 컴퓨터 프로그램 |
US20170357414A1 (en) | 2016-06-12 | 2017-12-14 | Apple Inc. | Map Application with Novel Search, Browsing and Planning Tools |
JP6701070B2 (ja) * | 2016-12-26 | 2020-05-27 | キヤノン株式会社 | 表示制御装置及び方法 |
US20180188905A1 (en) * | 2017-01-04 | 2018-07-05 | Google Inc. | Generating messaging streams with animated objects |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7469381B2 (en) * | 2007-01-07 | 2008-12-23 | Apple Inc. | List scrolling and document translation, scaling, and rotation on a touch-screen display |
JP2008112214A (ja) | 2006-10-27 | 2008-05-15 | Ul Systems Inc | ブラウザ装置及びブラウザ装置の動作方法 |
US8166410B2 (en) * | 2006-12-27 | 2012-04-24 | Mlslistings Inc. | Methods and systems of online mapping and planning driving tours |
US7934167B2 (en) * | 2008-09-30 | 2011-04-26 | Nokia Corporation | Scrolling device content |
JP4752900B2 (ja) * | 2008-11-19 | 2011-08-17 | ソニー株式会社 | 画像処理装置、画像表示方法および画像表示プログラム |
US9244584B2 (en) * | 2011-08-26 | 2016-01-26 | Apple Inc. | Device, method, and graphical user interface for navigating and previewing content items |
US20130143657A1 (en) * | 2011-11-14 | 2013-06-06 | Amazon Technologies, Inc. | Input Mapping Regions |
US9218123B2 (en) * | 2011-12-29 | 2015-12-22 | Apple Inc. | Device, method, and graphical user interface for resizing content viewing and text entry interfaces |
-
2013
- 2013-11-26 JP JP2013243943A patent/JP2014194747A/ja active Pending
-
2014
- 2014-02-26 US US14/190,552 patent/US10607574B2/en active Active
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016139264A (ja) * | 2015-01-27 | 2016-08-04 | 京セラ株式会社 | 電子機器、制御方法、及び制御プログラム |
JP2016173491A (ja) * | 2015-03-17 | 2016-09-29 | 三菱電機株式会社 | 表示制御装置、表示制御方法及びプログラム |
WO2018025316A1 (ja) * | 2016-08-01 | 2018-02-08 | 富士通株式会社 | ページ表示プログラム、ページ表示装置、及びページ表示方法 |
JPWO2018025316A1 (ja) * | 2016-08-01 | 2019-04-11 | 富士通株式会社 | ページ表示プログラム、ページ表示装置、及びページ表示方法 |
JP2019036041A (ja) * | 2017-08-10 | 2019-03-07 | キヤノン株式会社 | 表示制御装置及びその制御方法並びにプログラム |
Also Published As
Publication number | Publication date |
---|---|
US10607574B2 (en) | 2020-03-31 |
US20140240364A1 (en) | 2014-08-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2014194747A (ja) | 情報処理装置、情報処理方法及びコンピュータプログラム | |
KR101919645B1 (ko) | 명시적 터치 선택 및 커서 배치 기법 | |
JP5230733B2 (ja) | ポインター制御装置 | |
US8952972B2 (en) | Information processing apparatus, information processing method and storage medium | |
JP6229473B2 (ja) | 表示装置およびプログラム | |
JP5664147B2 (ja) | 情報処理装置、情報処理方法、及びプログラム | |
US11947791B2 (en) | Devices, methods, and systems for manipulating user interfaces | |
US20130063384A1 (en) | Electronic apparatus, display method, and program | |
KR20140126327A (ko) | 애플리케이션의 썸네일-이미지 선택 기법 | |
JP2006343856A (ja) | 手書き情報入力装置。 | |
US9773329B2 (en) | Interaction with a graph for device control | |
WO2013031135A1 (en) | Information processing apparatus, information processing method, and program | |
EP2728456B1 (en) | Method and apparatus for controlling virtual screen | |
US20190095049A1 (en) | Window expansion method and associated electronic device | |
US11169700B2 (en) | Electronic device and control method thereof | |
TWI354223B (ja) | ||
JP2014182652A (ja) | 情報処理装置およびその制御方法、ならびにプログラム | |
US20230123119A1 (en) | Terminal, control method therefor, and recording medium in which program for implementing method is recorded | |
US9501210B2 (en) | Information processing apparatus | |
JP6034878B2 (ja) | オブジェクト選択方法、プログラムを記憶する記憶媒体及び情報処理装置 | |
JP2017142564A (ja) | 情報処理装置、情報処理方法、及び、プログラム | |
US9635170B2 (en) | Apparatus and method for controlling terminal to expand available display region to a virtual display space | |
JP2014154091A (ja) | ユーザインタフェース装置及びユーザインタフェース方法 | |
JP6584876B2 (ja) | 情報処理装置、情報処理プログラムおよび情報処理方法 | |
JP2013200826A (ja) | 表示システムおよび表示プログラム |