(57)【要約】【課題】画像の一部を指示しつつスクロールの指示を行うような場合において、ユーザの意図に沿った領域をスクロールさせる技術を提供する【解決手段】スクロール可能な第１領域と、第１領域の一部であり独立してスクロール可能な第２領域が含まれる、表示部に表示された画像をスクロールさせる制御を行う情報処理装置であって、表示部における位置を特定し、該位置に相当する画像のスクロールを指示する情報を受け付ける手段と、 前記位置が第２領域に相当する場合に、第１領域をスクロールさせるか、第２領域を独立してスクロールさせるかを、前回指示で画像がスクロールした方向に基づいて定まる表示部の特定範囲に前記位置が含まれるか否かに基づき判定する手段と、判定結果に基づいて第１領域をスクロールさせるか、第２領域を独立してスクロールさせる制御手段とを備える。【選択図】図６
2014194747.tif 000002
【特許請求の範囲】
【請求項１】
スクロール可能な第１領域と、第１領域の一部であり独立してスクロール可能な第２領域が含まれる、表示部に表示された画像をスクロールさせる制御を行う情報処理装置であって、
前記表示部における位置を特定し、該位置に相当する画像のスクロールを指示する情報を受け付ける受付手段と、
前記位置が第２領域に相当する場合に、前記第１領域をスクロールさせるか、前記第２領域を独立してスクロールさせるかを、前回スクロール指示で画像がスクロールした方向に基づいて定まる表示部の特定範囲に前記位置が含まれるか否かに基づき判定する判定手段と、
前記判定手段での判定結果に基づいて、前記第１領域をスクロールさせるか、前記第２領域を独立してスクロールさせる制御手段とを備えることを特徴とする情報処理装置。
【請求項２】
前記特定範囲は、前回スクロール指示で画像が上方向にスクロールしている場合には、表示部における下端部に相当し、前回スクロール指示で画像が下方向にスクロールしている場合には、表示部における上端部に相当することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
スクロール可能な第１領域と、第１領域の一部であり独立してスクロール可能な第２領域が含まれる、表示部に表示された画像をスクロールさせる制御を行う情報処理装置であって、
前記表示部における位置を特定し、該位置に相当する画像のスクロールを指示する情報を受け付ける受付手段と、
前記位置が第２領域に相当する場合に、前記第１領域をスクロールさせるか、前記第２領域を独立してスクロールさせるかを、今回スクロール指示におけるスクロール方向と前回スクロール指示におけるスクロール方向とに基づき判定する判定手段と、
前記判定結果に基づいて、前記第１領域をスクロールさせるか、前記第２領域を独立してスクロールさせる制御手段とを備えることを特徴とする情報処理装置。
【請求項４】
前記判定手段は、今回スクロール指示におけるスクロール方向が、前回スクロール指示におけるスクロール方向から定まる方向の候補群と異なるか否かに基づいて判定することを特徴とする請求項３に記載の情報処理装置。
【請求項５】
スクロール可能な第１領域と、第１領域の一部であり独立してスクロール可能な第２領域が含まれる、表示部に表示された画像をスクロールさせる制御を行う情報処理装置であって、
前記表示部における位置を特定し、該位置に相当する画像のスクロールを指示する情報を受け付ける受付手段と、
前記位置が第２領域に相当する場合に、前記第１領域をスクロールさせるか、  前記第２領域を独立してスクロールさせるかを、今回スクロール指示におけるスクロール速度と前回スクロール指示におけるスクロール速度とに基づき判定する判定手段と、
前記判定結果に基づいて、前記第１領域をスクロールさせるか、前記第２領域を独立してスクロールさせる制御手段とを備えることを特徴とする情報処理装置。
【請求項６】
前記判定手段は、今回スクロール指示におけるスクロール速度と前回スクロール指示におけるスクロール速度が所定量以上異なるか否かに基づいて判定することを特徴とする請求項５に記載の情報処理装置。
【請求項７】
スクロール可能な第１領域と、第１領域の一部であり独立してスクロール可能な第２領域が含まれる、表示部に表示された画像をスクロールさせる制御を行う情報処理装置であって、
前記表示部における位置を特定し、該位置に相当する画像のスクロールを指示する情報を受け付ける受付手段と、
前記位置が第２領域に相当する場合に、前記第１領域をスクロールさせるか、前記第２領域を独立してスクロールさせるかを、現在の表示部における画像のスクロール速度に基づいて判定する判定手段と、
前記判定結果に基づいて、前記第１領域をスクロールさせるか、前記第２領域を独立してスクロールさせる制御手段とを備えることを特徴とする情報処理装置。
【請求項８】
スクロール可能な第１領域と、第１領域の一部であり独立してスクロール可能な第２領域が含まれる、表示部に表示された画像をスクロールさせる制御を行う情報処理装置であって、
前記表示部における位置を特定し、該位置に相当する画像のスクロールを指示する情報を受け付ける受付手段と、
前記位置が第２領域に相当する場合に、前記第１領域をスクロールさせるか、前記第２領域を独立してスクロールさせるかを、前記第２領域のコンテンツの表示が完了しているか否かに基づいて判定する判定手段と、
前記判定結果に基づいて、前記第１領域をスクロールさせるか、前記第２領域を独立してスクロールさせる制御手段とを備えることを特徴とする情報処理装置。
【請求項９】
前記特定範囲は、表示画面における、スクロールにより表示画面外から表示画面へと画像が出現する位置の近傍領域であることを特徴とする請求項１に記載の情報処理装置。
【請求項１０】
コンピュータに読み込み実行させることで、前記コンピュータを、請求項１〜９のいずれか１項に記載の情報処理装置として機能させるためのプログラム。
【請求項１１】
情報処理装置が実行する方法であって、前記情報処理装置が、
スクロール可能な第１領域と第１領域の一部であり独立してスクロール可能な第２領域とが含まれる画像を表示部に表示させる処理、
前記表示部における位置を特定し、該位置に相当する画像のスクロールを指示する情報を受け付ける処理、
前記位置が第２領域に相当する場合に、前記第１領域をスクロールさせるか、前記第２領域を独立してスクロールさせるかを、前回スクロール指示で画像がスクロールした方向に基づいて定まる表示部の特定範囲に前記位置が含まれるか否かに基づき判定する処理、
前記判定処理での判定結果に基づいて、前記第１領域をスクロールさせるか、前記第２領域を独立してスクロールさせる処理を実行することを特徴とする情報処理方法。
【請求項１２】
情報処理装置が実行する方法であって、前記情報処理装置が、
スクロール可能な第１領域と第１領域の一部であり独立してスクロール可能な第２領域とが含まれる画像を前記表示部に表示させる処理、
表示部における位置を特定し、該位置に相当する画像のスクロールを指示する情報を受け付ける処理、
前記位置が第２領域に相当する場合に、前記第１領域をスクロールさせるか、前記第２領域を独立してスクロールさせるかを、今回スクロール指示におけるスクロール方向と前回スクロール指示におけるスクロール方向とに基づき判定する処理、
前記判定処理での判定結果に基づいて、前記第１領域をスクロールさせるか、前記第２領域を独立してスクロールさせる処理を実行することを特徴とする情報処理方法。
【請求項１３】
情報処理装置が実行する方法であって、前記情報処理装置が、
スクロール可能な第１領域と第１領域の一部であり独立してスクロール可能な第２領域とが含まれる画像を表示部に表示させる処理、
前記表示部における位置を特定し、該位置に相当する画像のスクロールを指示する情報を受け付ける処理、
前記位置が第２領域に相当する場合に、前記第１領域をスクロールさせるか、前記第２領域を独立してスクロールさせるかを、今回スクロール指示におけるスクロール速度と前回スクロール指示におけるスクロール速度とに基づき判定する処理、
前記判定処理での判定結果に基づいて、前記第１領域をスクロールさせるか、前記第２領域を独立してスクロールさせる処理を実行することを特徴とする情報処理方法。
【請求項１４】
情報処理装置が実行する方法であって、前記情報処理装置が、
スクロール可能な第１領域と第１領域の一部であり独立してスクロール可能な第２領域とが含まれる画像を表示部に表示させる処理、
前記表示部における位置を特定し、該位置に相当する画像のスクロールを指示する情報を受け付ける処理、
前記位置が第２領域に相当する場合に、前記第１領域をスクロールさせるか、前記第２領域を独立してスクロールさせるかを、現在の表示部における画像のスクロール速度に基づき判定する処理、
前記判定処理での判定結果に基づいて、前記第１領域をスクロールさせるか、前記第２領域を独立してスクロールさせる処理を実行することを特徴とする情報処理方法。
【請求項１５】
情報処理装置が実行する方法であって、前記情報処理装置が、
スクロール可能な第１領域と第１領域の一部であり独立してスクロール可能な第２領域とが含まれる画像を表示部に表示させる処理、
前記表示部における位置を特定し、該位置に相当する画像のスクロールを指示する情報を受け付ける処理、
前記位置が第２領域に相当する場合に、前記第１領域をスクロールさせるか、前記第２領域を独立してスクロールさせるかを、前記第２領域のコンテンツの表示が完了しているか否かに基づいて判定する処理、
前記判定処理での判定結果に基づいて、前記第１領域をスクロールさせるか、前記第２領域を独立してスクロールさせる処理を実行することを特徴とする情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置において、画像のスクロール操作を行った場合のスクロール対象を制御する技術に関する。
【背景技術】
【０００２】
ユーザが情報処理装置を操作する際に、画面に表示された画像の続きを出現させるために、情報処理装置の画面に表示された画像全体をスクロールさせる操作が行われることがある。このようなスクロール操作は、ユーザによるドラッグ操作により実行される場合がある。また、画面上の所望位置にカーソルを表示させつつマウスなどに装備された回転操作部（ホイール）を回転させることで実行される場合もあるであろう。
【０００３】
なお、以下では、「ドラッグ操作」とは、タッチパネルやマウスなどのポインティングデバイスで、画面のある位置を指示した後、指示を継続したまま、その位置を移動させるという一連の操作を表す。ただし、これが指をはじくような動作であればフリック操作と呼ばれる場合もある。
【０００４】
デジタル文書のスクロール可能な領域の中に、別のスクロール可能な小領域が存在する場合に、両領域のスクロールを連動させる技術として、特許文献１に開示されたブラウザ装置が知られている。このブラウザ装置は、スクロールに応じて不足する情報を通信により取得して追加記録する。これにより、記憶領域のサイズの増大を防ぐことができる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００８−１１２２１４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
特許文献１には、ある領域のスクロール時に登場する他のスクロール可能な領域を指示した状態で、誤ってスクロールの指示操作をしたときの対策については開示されていない。例えば図１６のように、文書１２０１をスクロールさせている途中に、その小領域として地図領域１２０２が登場することがある。もし、ユーザが、この地図領域１２０２に気付かず、文書１２０１のスクロールを継続させようとして誤って地図領域１２０２を、スクロール指示としてドラッグ操作してしまうと、一意的に地図領域１２０２の内部のスクロールに移行してしまうこともある。この場合、ユーザの意図通りの結果が得られなくなる。
【０００７】
本発明は上記従来例に鑑みてなされたものであり、画像の一部を指示しつつスクロールの指示を行うような場合において、ユーザの意図に沿った領域をスクロールさせる技術を提供することを課題とする。
【課題を解決するための手段】
【０００８】
上記課題を解決するために、本発明による情報処理装置は、スクロール可能な第１領域と、第１領域の一部であり独立してスクロール可能な第２領域が含まれる、表示部に表示された画像をスクロールさせる制御を行う情報処理装置であって、前記表示部における位置を特定し、該位置に相当する画像のスクロールを指示する情報を受け付ける受付手段と、 前記位置が第２領域に相当する場合に、前記第１領域をスクロールさせるか、前記第２領域を独立してスクロールさせるかを、前回スクロール指示で画像がスクロールした方向に基づいて定まる表示部の特定範囲に前記位置が含まれるか否かに基づき判定する判定手段と、 前記判定手段での判定結果に基づいて、前記第１領域をスクロールさせるか、前記第２領域を独立してスクロールさせる制御手段とを備えることを特徴とする。
【発明の効果】
【０００９】
本発明による情報処理装置によれば、画像の一部を指示しつつスクロールの指示を行うような場合において、ユーザの意図に沿った領域をスクロールできる。
【図面の簡単な説明】
【００１０】
【図１】第１実施形態に係る情報処理装置のハードウェア構成図、および機能ブロック図。
【図２】情報処理装置の記憶部に記憶されるデータの例示図、および領域ＩＤの階層説明図。
【図３】情報処理装置の表示部における表示例を示す図。
【図４】情報処理装置がタッチ点の移動を検出したときに実行される処理のフローチャート。
【図５】ユーザがある領域に気付いているかを情報処理装置が判定するときの処理を表すフローチャート。
【図６】第１実施形態で実行される処理の概略を表すフローチャート。
【図７】画面操作例をそれぞれ（ａ）〜（ｄ）として示す説明図。
【図８】情報処理装置の記憶部に記憶されるデータの例示図。
【図９】第１実施形態の変形例における操作例を（ａ）〜（ｃ）として示す説明図。
【図１０】第１実施形態の変形例において、ユーザがある領域に気付いているかを情報処理装置が判定する際の処理の一部を示すフローチャート。
【図１１】第１実施形態の変形例において、情報処理装置がタッチ点やスクロールの情報を記憶する際の処理を示すフローチャート。
【図１２】第２実施形態において、ユーザがある領域に気付いているかを情報処理装置が判定するときの処理を表すフローチャート。
【図１３】第３実施形態における情報処理装置の記憶部記憶部に記憶されるデータの例示図および領域ＩＤの階層説明図。
【図１４】第３実施形態の操作例を示す説明図である。
【図１５】第３実施形態において、情報処理装置がタッチ点の移動を検出したときに実行されるフローチャート。
【図１６】スクロール可能な領域が別なスクロール可能な領域を含んでいる様子を示す図。
【発明を実施するための形態】
【００１１】
予め説明するが、各実施形態においては、スクロールの操作の代表的なものとして、ドラッグ操作を例に挙げて説明するが、本発明はこれに限定されない。例えばマウスの回転操作部（ホイール）を回転させる方法等、画面上の位置を指定し、かつスクロール操作を指示し、この指示を表示部を有する処理装置等のコンピュータが受け付けて画像表示処理を行う方法であれば適用可能である。また、各実施形態では、コンピュータとして、表示部を備えてタッチパネルを通じて入力を行う情報処理装置を用いたが、本発明は、これに限られるものではない。例えば、表示部と、この表示部における位置を特定して該位置に相当する画像のスクロールを指示する情報を受け付ける手段と、を有するか又はこれらに接続が可能なコンピュータによって本発明を実施することも可能である。
【００１２】
例えば、上述した図１６の操作において、ユーザが、地図領域１２０２が登場する位置に近い位置をドラッグ操作しているときには、ユーザの意図に反したスクロールが起こりやすい。なぜなら、地図領域１２０２が登場してから、ユーザが誤って当該地図領域１２０２をドラッグ操作するまでの距離が短く、その登場に気付かない可能性が高いためである。また、ユーザはドラッグ操作する位置を自由に決められるが、例えばタッチパネルを備えた情報処理装置を片手で保持し、かつ同じ手でタッチパネルを操作する場合には、ドラッグ操作する位置に制限がかかるため、このような問題が起こりやすい。
【００１３】
片手で保持と操作の両方を行う場合、多くのユーザは、小指から人差し指までを用いて情報処理装置を保持し、親指でタッチパネルの操作を行う。このとき、ユーザは、必然的にタッチパネルの下部に触れることになる。多くのスクロール操作は上方向に行われるため、タッチパネルの下部を触れているときに下部から登場した領域に気付くのは困難になる。以下の実施形態では、上述した問題を解決する例を説明する。
【００１４】
以下、本発明を、表示画面を備えた情報処理装置に適用した場合の実施形態を、図面を参照し詳細に説明する。なお、以下で説明する「スクロール」とは、画面内もしくは所定領域内に表示しきれない部分画像を表示するために表示内容を上下左右に移動させることをいう。
【００１５】
[第１実施形態]
第１実施形態では、情報処理装置の表示画面に示される第１領域のスクロール中に、第１領域（親の領域あるいは背景領域とも呼ぶ）とは独立にスクロール可能な第２領域（子の領域あるいは小領域とも呼ぶ）が登場する場合の例を説明する。なお、第１領域の一部として存在し、かつ第１領域とは独立してスクロール可能な第２領域が存在するようなコンテンツ自体は、従来のＷｅｂページなどからも公知であるので、詳細な説明は省略する。また、第２領域は、第１領域の一部として存在しているため、第１領域がスクロールする場合には、第２領域自体は独立してスクロールせず、第１領域の一部として相対的に移動する。
【００１６】
以下の説明では、表示画面において第２領域が最初に出現する位置の近傍領域をスクロール指示無効範囲と記載する。このスクロール指示無効範囲は、任意に設定可能である。ただし、以下で説明する各実施形態においては、後述するスクロール指示無効範囲２０９は、その範囲２０９を利用する直前のスクロール方向に依存して確定するものとする。言い換えれば、範囲２０９は、前回スクロール指示で画像がスクロールした方向に基づいて定まる表示部の特定範囲である。より具体的には、画面全体（ここでは第１領域）を上方向にスクロールした後に参照されるスクロール指示無効範囲２０９は、表示画面の下端部に設定される。一方、画面全体（ここでは第１領域）を下方向にスクロールした後に参照されるスクロール指示無効範囲２０９は、表示画面の上端部に設定される。
【００１７】
また、表示画面において、スクロールにより表示画面外から表示画面へと画像が出現し、その後表示された画像は表示画面外へと移動して消去される。従って、スクロールが上下方向、左右方向あるいはその他の方向のどの方向であったとしても、表示画面において、スクロールにより表示画面外から表示画面へと画像が出現する位置の近傍領域がスクロール指示無効範囲としてもよい。これら設定の切り替えは、画面全体のスクロール方向が変化するごとに行われることになる。
【００１８】
この実施形態では、１回目のドラッグ時において第２領域は表示されておらず、従って第１領域がスクロールされ、２回目のドラッグ時においては領域Ｂが表示画面に出現する例を説明する。また、この実施形態では、２回目のドラッグにおけるタッチ位置は、スクロール指示無効範囲に表示された第２領域にあるものとし、第２領域をドラッグ操作しても第１領域がスクロールされるようにする。これにより、ユーザが第２領域を独立してスクロールするつもりではないが、第２領域をドラッグ操作したときには、第１領域がスクロールされる。なお、１回目のドラッグ操作で第１領域がスクロールされていない場合には、第２領域のドラッグ操作時に第２領域をスクロールさせる。
【００１９】
図１（ａ）は、上記機能を実現するための本実施形態に係る情報処理装置のハードウェア構成図である。ＣＰＵ（Central Processing Unit）１０１は、ＲＯＭ（Read Only Memory）１０２、ＨＤＤ（Hard Disk Drive）１０３に格納されている制御プログラムを読み出して実行し、各デバイスを制御する。この制御プログラムは、本実施形態で説明される各種動作の制御プログラムである。ＲＯＭ１０２は、上記制御プログラムやそのプログラムに利用される各種データを保持する。ＲＡＭ（Random Access Memory）１０４は、ＣＰＵ１０１の上記プログラムのワーク領域、エラー処理時のデータの退避領域、上記制御プログラムのロード領域などを有する。ＨＤＤ１０３は、上記各種制御プログラムや各種データを格納する。
【００２０】
受付部１０５は、表示手段としての表示部における位置を特定して該位置に相当する画像のスクロールを指示する情報を受け付ける手段である。本実施形態では、受付部１０５は、ユーザから表示画面における位置の指示操作を取り込むためのマウス、タッチパネル、ペン等のデバイス又はそのインタフェースである。受付部１０５により、これら指示操作の受付処理を行う。以下、受付部１０５がタッチパネルであり、指示操作は画面へのタッチ操作（ドラッグ操作）を通じて行われるとして説明するが、マウスやペンなどの他のデバイスを用いた場合にも本実施形態は適用が可能である。
【００２１】
より具体的には、ペンを使う場合には、指と同様に画面へのタッチを通じて行うことが想定される。マウスを使う場合には、例えば表示画面にカーソルを表示させた状態でマウスの左クリックをすることが、上記タッチパネルへのタッチ操作になることが想定される。また別のマウスを使う場合には、例えば表示画面にカーソルを表示させた状態でマウスに装備された回転操作部（ホイール）を回転させることが、上記タッチパネルにおけるドラッグ操作になることが想定される。表示部１０６は、各種情報を表示する表示画面やタッチパネルである。以下、表示部１０６は、後述する図３に示されるタッチパネル２１０であり、受付部をも兼ねるものとして説明するが、その他の装置を用いた場合にも本実施形態は適用可能である。
【００２２】
バス１０７は、ＣＰＵ１０１の制御の対象とする構成要素を指示するアドレス信号、各構成要素を制御するためのコントロール信号、各構成機器相互間でやりとりされるデータの転送を行う。なお、上記制御プログラムは、ＲＯＭ１０２又はＨＤＤ１０３に予め記憶されていても良いし、必要に応じて外部装置などから受理し、ＲＯＭ１０２又はＨＤＤ１０３に記憶しても良い。ＣＰＵ１０１は、ＲＯＭ１０２又はＨＤＤ１０３等に記憶されているコンピュータプログラムを実行することにより、後述する情報処理装置の各種機能あるいは後述するフローチャートの各種動作を実行する。また、ＲＡＭ１０４やＨＤＤ１０３に記憶されるデータは、外部装置に記憶されていても良い。ＣＰＵ１０１は、外部装置などからデータを受理する。
【００２３】
図１（ｂ）は、図１において示したＲＯＭ１０２やＨＤＤ１０３に格納されている制御プログラムが実行されることにより、情報処理装置に形成される機能ブロックの構成図である。タッチの開始やリリース、及びタッチ点の移動等は、受付部１０５が検知し、制御部１０８に入力する。制御部１０８は、この情報処理装置で行われる処理全体を制御し、また、受付部からの入力を通じて、タッチ点の移動速度や移動方向等を判定する。また、制御部１０８は、表示部１０５に表示される第１領域と、前記第１領域に表示される第２領域と、を表示する手段としても動作する。また、制御部１０８は、第１領域、第２領域のそれぞれを、各領域に表示される画像のスクロールが可能となるように表示制御を行う。
【００２４】
更に、制御部１０８は、タッチされた場所(タッチ点)の移動が起こったとき、タッチ点の位置に表示されている領域、第１領域のスクロール速度、第１領域や第２領域の表示状態等の情報を取得する。これにより、制御部１０８は、第１領域又は第２領域をスクロールさせるスクロール実行手段としても動作する。なお、第１領域あるいは第２領域の表示状態とは、当該領域の表示が完了しているか未完了であるか、領域全体が画面に表示されているか等の、領域がどのように表されているかの状態をいう。また、制御部１０８は、後述する、第１領域、第２領域等のうちどの領域に表示された画像をスクロールさせるかの判定を行う判定手段としても動作する。
【００２５】
このとき、制御部１０８は、ユーザが第１領域のスクロールを継続しようとしているか否かを判定し、その判定結果に基づいて、スクロールさせる領域を決定する。この判定は、ユーザからの入力と、領域に表示される画像を表示するためのパラメータとに基づいて行われる。第１領域を例にとると、第１領域に表示される画像を画面のどの位置に表示するかを定めるために、画像の位置を座標表示する場合、座標を構成する変数が、上記のパラメータとなる。例えば、ｘ−ｙ座標系を用いた場合には、ｘ及びｙの値が上記パラメータとなり、極座標を用いた場合には、ｒ、θが上記パラメータとなる。また、各領域に表示される画像がスクロールされている場合には、領域に表示される画像を表すパラメータとしてスクロール速度が含まれる。以下、特に断りのない限り、以下に説明する画像表示を行うための画像の位置、速度等は、画像を表示するためのパラメータとなる。
【００２６】
記憶部１０９は、表示部１０６に表示される領域や、制御部１０８が決定するスクロール対象の領域などの情報をＨＤＤ１０３やＲＡＭ１０４に記憶する。なお、制御部１０８、記憶部１０９の機能は、ロジック回路、あるいは、他のハードウェアで実現することもできる。図２（ａ）は、記憶部１０９に記憶されるデータの例示図である。本実施形態において記憶部１０９は、領域２０１、スクロール時刻２０２、スクロール対象領域２０３、最大操作間隔２０８、スクロール指示無効範囲２０９を記憶する。
【００２７】
領域２０１は、表示部１０６に表示される内容を表示する領域を表す。表示内容は、具体的には、テキスト、画像といった描画要素、あるいは、領域２０１が後述する親子関係を構成する領域を有する場合には、子の領域をも含んで構成される。以下、説明の簡素化のために、これらテキスト、画像等を単に「画像」と記載する。領域２０１に表示される画像は、タッチ点の移動に応じてスクロールする。スクロールとは、表示範囲２０５に表示される画像を、タッチ点の移動量や移動方向に応じて移動させることを意味する。領域２０１は、領域ＩＤ２０４と表示範囲２０５という情報を持つ。領域ＩＤ２０４は、領域２０１を識別する文字列である。領域ＩＤ２０４がＩＤ＿ｂｇである領域は、背景領域を、領域ＩＤ２０４がＩＤ＿ｍａｐである小領域は地図領域をそれぞれ表す。表示範囲２０５は、表示部１０６が表示する範囲のうち、領域２０１に表示される画像が表示される範囲である。
【００２８】
スクロール時刻２０２は、スクロールが開始された時刻を表す。この例では、２０１２年１月１日１２時００分にスクロールが開始されたことが示される。スクロール対象領域２０３は、現在スクロール中の画像が表示されている領域か、またはスクロール中の画像がない場合には最後にスクロールした画像が表示された領域を表す。図２においては、ＩＤ＿ｂｇで表される背景領域に表示された画像が最後にスクロールされたことが示される。
【００２９】
最大操作間隔２０８は、前回タッチされた領域（前回ドラッグ操作を開始された領域）に表示された画像をスクロールさせるための今回のタッチ点の開始時刻が前回の開始時刻との差分の閾値である。スクロール指示無効範囲２０９は、タッチされた領域のスクロール操作を無効にするかどうかを判定するための参照範囲である。この範囲２０９の具体的な参照方法については後述する。なお、上述したように、このスクロール指示無効範囲２０９は、前回のスクロール指示に基づいて第１領域がスクロールしている方向に基づいて適宜更新される。
【００３０】
図２（ｂ）は、領域２０１が親子関係を構成することを示した図である。本実施形態では、二つの領域２０１が記憶部１０９に記憶されている。そのうち、領域ＩＤ２０４がＩＤ＿ｂｇである領域は、領域ＩＤ２０４がＩＤ＿ｍａｐである領域の親領域であることを表す。以下、領域ＩＤ２０４がＩＤ＿ｂｇである領域を背景領域２０６、領域ＩＤ２０４がＩＤ＿ｍａｐである小領域を地図領域２０７とする。従って、背景領域２０６はスクロール可能な第１画像が表示される第１領域となり、地図領域２０７は、第１領域である背景領域２０６内に表示されて背景領域２０６とは独立してスクロール可能な第２画像が表示される第２領域となる。
【００３１】
図３は、本実施形態に係る情報処理装置２００の概略構成の説明図である。この図において、図２（ａ）で説明した背景領域２０６、地図領域２０７、スクロール指示無効範囲２０９は、いずれも、情報処理装置２００の図１（ｂ）に示した表示部１０６としてのタッチパネル２１０に表示される。このとき、親の領域である背景領域２０６の表示範囲２０５は、表示部１０６が表示する範囲と等しい。また、地図領域２０７の表示範囲２０５は、表示部１０６が表示する範囲の一部となる。なお、背景領域２０６に表示される画像がスクロールされると地図領域２０７に表示される画像も移動する。このとき、地図領域２０７に表示される画像は背景領域２０６から独立してスクロールはしない。その結果、地図領域２０７に表示される画像は、例えば図７（ａ）〜（ｄ）のように変化する。なお、上記スクロール指示無効範囲２０９は、装置内の判断に利用される参照領域であるので、表示部１０６に表示しなくても構わない。もし範囲２０９が表示部１０６上に表示される場合には、親の領域である背景領域２０６のスクロール方向が変わるたびに、範囲２０９の位置が画面下端部や上端部に切り替わる。
【００３２】
図４は、受付部１０５がユーザのドラッグ操作（スクロールを指示する操作）を検知した時に実行される処理を表したフローチャートである。なお、各実施形態において、「ドラッグ操作」とは、タッチパネルやマウスなどのポインティングデバイスで、画面のある位置の指示（タッチ）を開始した後、その指示状態で、位置を移動させるという一連の操作を表す。ここでは、最初のタッチ位置はドラッグの開始位置とし、ドラッグの開始位置がどの領域であるかにも着目することになる。以下、受付部１０５は、ユーザのドラッグ操作をタッチパネルへのタッチ点の移動として認識することを前提に説明を行う。なお、特段の記載がない限り、各ステップは制御部１０８により実行される。
【００３３】
受付部１０５でタッチ点の移動が検出された場合、制御部１０８は、この移動がタッチされたあとに初めて起こったものであるか否かを判定する（Ｓ１０１）。この判定では、記憶部１０９に記憶されているフラグを検出し、フラグがＯＦＦであれば初めて起こった移動であると判定し、フラグがＯＮであれば初めて起こった移動ではないと判定される。
【００３４】
初めて起こった移動であると判定された場合（Ｓ１０１：Ｙ）、制御部１０８は、記憶部１０９に記憶されているフラグをＯＮにし、ステップＳ１０２に進み、スクロール対象となる画像が表示されている領域を決定する。なお、その決定の詳細は、図５、図６に示されるフローチャートを用いて後述する。その後に、制御部１０８は、スクロール対象領域２０３に表示されている画像をスクロールさせる（Ｓ１０３）。一方、受付部１０５でタッチ点の移動が検出された場合に記憶部１０９に記憶されたフラグがＯＮであれば、初めて起こった移動ではないと判定する（Ｓ１０１：Ｎ）。そして、前回のタッチ点の移動におけるスクロール対象領域２０３に表示されている画像をスクロールさせる（Ｓ１０３）。
【００３５】
初めて起こった移動ではない場合、表示部１０６は、スクロール対象領域の決定処理（Ｓ１０２）を実行せず、その前の移動によりスクロールされた領域をスクロール対象領域として、そのスクロール対象領域に表示されている画像をスクロールさせる（Ｓ１０３）。その後、制御部１０８は、受付部でタッチ点のリリースが検出されたか否かを判定し（Ｓ１０４）、検出されなかった場合にはＳ１０１に戻る（Ｓ１０４：Ｎ）。一方、リリースが検出された場合（Ｓ１０４：Ｙ）には、フラグをＯＦＦにして（Ｓ１０５）処理を終える。
【００３６】
図５は、図４のＳ１０２におけるスクロール対象領域２０３の決定処理の具体的なフローである。図５において、制御部１０８は、タッチ点からタッチの開始位置（上記ドラッグ操作の開始位置に相当）を取得する（Ｓ２０４）。その後、制御部１０８は、Ｓ２０４で取得した開始位置に表示されている領域を取得し、この領域を領域Ａとする（Ｓ２０５）。
【００３７】
領域Ａの具体的な取得手順例は、以下の通りである。まず、制御部１０８は、領域２０１の親子関係を参照し、末端にある領域を取得する。その末端にある領域の表示範囲２０５に図５のＳ２０４で取得したタッチの開始位置が含まれているか否かを判定する。含まれているならば、その領域を領域Ａとする。開始位置が含まれていないならば、その他の末端にある領域に対して同様の処理を行う。全ての末端にある領域にタッチの開始位置が含まれていないならば、親の領域を、領域Ａとする。
【００３８】
以上のように領域Ａを取得した後、図５において、制御部１０８は、領域Ａに表示されている画像をスクロールさせるか否かを判定する（Ｓ２０６）。ここでもし領域Ａ自体が親領域である場合には、後述するＳ２０７では領域Ａに表示されている画像をそのままスクロールさせる。一方、領域Ａに親領域がある場合には、後述するＳ２０７では領域Ａに表示されている画像を親領域とは独立にスクロールさせるか否かを判定する。判定の基準は、領域Ａにユーザが気付いているか否かを客観的指標にしたものとするべきであるが、その種類や基準は適宜調整可能である。なおこの判定基準の一例は後述する。制御部１０８は、その判定結果に従って領域Ａに表示されている画像をスクロールさせるか否かを判定する（Ｓ２０７）。
【００３９】
領域Ａに表示されている画像をスクロールさせると判定したとき（Ｓ２０７：Ｙ）は、当該領域Ａに表示されている画像をスクロール対象領域と決定する（Ｓ２０８）。そして、記憶部１０９が、Ｓ２０５で取得した領域Ａをスクロール対象領域２０３として記憶する。もし上述したように領域Ａに親領域がない場合には、自分が親領域に相当するので、そのまま領域Ａをスクロールさせると決定する。一方、領域Ａに親領域がある場合には、領域Ａは小領域に相当するので、親領域とは独立にスクロールさせるか否かを判定する。
【００４０】
もしユーザが領域Ａが親領域ではない小領域であると気付いていないであろうと判定した場合は、領域Ａに表示されている画像をスクロールさせないと決定し（Ｓ２０７：Ｎ）、領域Ａの親の領域をスクロール対象領域と決定する（Ｓ２０９）。そして、記憶部１０９が、Ｓ２０５で取得した領域の親の領域をスクロール対象領域２０３として記憶する。制御部１０８は、タッチ点やスクロール時刻２０２の情報を記憶し、かつ、画面のスクロールを開始領域にタッチしたことを検知した時刻（現在時刻）を前回のスクロール時刻２０２として記憶部１０９に記憶し（Ｓ２１０）、本処理を終了する。以上のように、図５におけるＳ２０４〜Ｓ２１０での処理により、図４におけるＳ１０２の処理が完了する。その後、処理は図４のＳ１０３に進み、上述したようにＳ１０４、Ｓ１０５が実行される。
【００４１】
次に、図５におけるＳ２０６、即ち、ユーザが領域Ａに気付いているか否かを判定する処理の具体例の処理手順を図６に示す。なお、図６において、Ｓ３０１、Ｓ３０２及びＳ３０３の各ステップを単独で実行しても、あるいは順番を入れ替えて実行しても、領域Ａに表示されている画像をスクロールするか否かの判定精度を向上することが可能である。この実施形態では、判定精度を一層高くするためにＳ３０１、Ｓ３０２、Ｓ３０３を組み合わせてこの順に実行している。図６において、制御部１０８は、前回のスクロール（開始）時刻２０２と今回のスクロール（開始）時刻とを比較し、経過時間が所定時間内であるか、すなわち、図８に最大操作間隔２０８として示される５００[ms]以内であるか否かを判定する（Ｓ３０１）。この時間を超えている場合、あるいは、前回のスクロール時刻２０２が記憶されていない場合は、Ｓ２０５で取得した領域２０１にユーザが気付いていないと判定し（Ｓ３０１：Ｎ）、領域Ａをスクロール対象領域と判定する（Ｓ３０５）。
【００４２】
経過時間が５００[ms]より小さければ（Ｓ３０１：Ｙ）、制御部１０８において、スクロール対象領域２０３とＳ２０５で取得した領域２０１とを比較する（Ｓ３０２）。比較の結果、領域２０１の親子関係において、スクロール対象領域２０３が領域２０１の祖先、つまり、領域２０１の親又は２世代以上前の親にあたらない場合（Ｓ３０２：Ｎ）、領域Ａをスクロール対象領域であると判定する（Ｓ３０５）。スクロール対象領域２０３が領域２０１の祖先にあたる場合、制御部１０８において、最初のタッチ位置がスクロール指示無効範囲２０９に含まれているか否かを判定する（Ｓ３０３）。含まれていない場合（Ｓ３０３：Ｎ）、領域Ａをスクロール対象領域であると判定する（Ｓ３０５）。Ｓ３０５の後、制御部１０８は、Ｓ２０５で取得した領域２０１にユーザが気付いていると判定して、本処理を終了する。
【００４３】
一方、最初のタッチ位置がスクロール指示無効範囲２０９に含まれている場合（Ｓ３０３：Ｙ）、制御部１０８は、Ｓ２０５で取得した領域２０１にユーザが気付いていないと判定し（Ｓ３０４）、本処理を終了する。結果的に、このＳ３０４では小領域である領域Ａがスクロールしない代わりに、前述のＳ２０９において親の領域が全体的にスクロールすることになる。言い換えると、親の領域のスクロールが継続するということになる。
【００４４】
以上のように、第２ドラッグ操作で第２領域がドラッグされた場合でも、タッチ位置がスクロール指示無効範囲内に含まれる（Ｓ３０３）等の所定の条件が満たされた場合には、第１領域に表示されている画像をスクロールさせることが可能となる。
【００４５】
次に、本実施形態によるスクロール操作例を説明する。本例では、領域２０１、最大操作間隔２０８、スクロール指示無効範囲２０９は、図２に記載したとおりの値をとるものとする。従って、最大操作間隔２０８の値は、この実施形態では５００[ms]となる。
【００４６】
［操作例Ａ］
操作例Ａは、最も単純な操作の例であり、ユーザが第１回目のドラッグで背景領域２０６に表示されている画像をスクロールさせ、その後短時間のうちに第２回目のドラッグを行う例を示す。操作例Ａにおける１回目のドラッグを開始する時のタッチパネル２１０の画面を図７（ａ）に示す。また、２回目のドラッグを開始する時のタッチパネル２１０の画面を図７（ｂ）に示す。
【００４７】
この例では、ユーザは１回目のドラッグ操作時に図７（ａ）の背景領域２０６に表示されている画像をドラッグし、２回目のドラッグ操作時にはスクロール指示無効範囲に現れた地図領域２０７に表示されている画像にタッチしてドラッグする。この２回目のドラッグ時に、図７（ｂ）の背景領域２０６をスクロールさせるか、又は小領域である地図領域２０７をスクロールさせるかを決定する。以下にその詳細を示す。
【００４８】
操作例Ａは、まず図７（ａ）の背景領域２０６にある位置５０１にタッチし、位置５０２に向かって上方向に１回目のドラッグを行う。これにより、後述する処理により、背景領域２０６に表示されている画像がスクロールされ、その結果、地図領域２０７に表示される画像がタッチパネル２１０に表示される。また、この例では、地図領域２０７は、スクロール指示無効範囲２０９に含まれている。その直後、図７（ｂ）に示すように、ユーザは地図領域２０７内にある位置５０３から位置５０４に向かって上方向に２回目のドラッグを行う。ここでは、１回目のドラッグ操作から２回目のドラッグ操作までの間隔が、最大操作間隔２０８の値である１０００[ms]より短い２００[ms]であったとする。このとき、制御部１０８は、後述する処理により、ユーザが地図領域２０７に気付いていないと判定し、背景領域２０６のスクロールを継続する。
【００４９】
次に、１回目のドラッグ操作時に制御部１０８で実行される処理を、図４〜図６で説明した各ステップを通じて説明する。タッチパネル２１０の画面を表す図７（ａ）の位置５０１にユーザがタッチし、タッチした指を初めて移動させたとき、まず図４に示す処理が実行される。制御部１０８は、今回のタッチ点の移動が最初の移動であると判定し（Ｓ１０１）、スクロール対象領域を決定する（Ｓ１０２）。
【００５０】
Ｓ１０２の詳細を説明する図である図５を参照すると、制御部１０８は、タッチ開始位置を取得し（Ｓ２０４）、取得した位置に表示されている領域Ａを取得する（Ｓ２０５）。この例では、図７（ａ）の位置５０１は背景領域２０６にあることから、Ｓ２０５では、背景領域２０６が領域Ａとなる。
【００５１】
次に、背景領域２０６をスクロール対象とするか否かを判定する（Ｓ２０６）。
図５のＳ２０６の詳細を表す図６に示されるように、制御部１０８は、タッチされた時刻が前回のスクロール時刻から一定時間以内であるか否かを判定する（Ｓ３０１）。この例では、タッチした指を初めて移動させており、前回のスクロール時刻は記憶されていないので、一定時間以内ではないと判定される（Ｓ３０１：Ｎ）。ユーザは、Ｓ２０５で取得した領域Ａ、即ち背景領域２０６に気付いていると判定し、領域Ａに表示されている画像をスクロールさせると判定する（Ｓ３０５）。
【００５２】
その結果、図５に戻ると、制御部１０８は、Ｓ２０６では領域Ａに表示されている画像をスクロールさせると判定し、Ｓ２０７において領域Ａである背景領域２０６に表示されている画像をスクロールさせると判定する（Ｓ２０７：Ｙ）。次に、制御部１０８は、この背景領域２０６をスクロール対象領域と判定し（Ｓ２０８）、現在時刻を前回のスクロール時刻として記憶するとともにタッチ点やスクロール対象領域の情報を記憶部１０９に格納する（Ｓ２１０）。次に、制御部１０８での処理は図４に戻り、スクロール対象領域と判定された背景領域２０６に表示されている画像をスクロールさせる（Ｓ１０３）。その後、タッチ点がリリースされたか否かが判定される（Ｓ１０４）。
【００５３】
ユーザが位置５０２まで指を移動してタッチ点をリリースするまでは、タッチ点はリリースされていないと判定され（Ｓ１０４：Ｎ）、処理はＳ１０１に進む。この場合、Ｓ１０１において、タッチ後の最初の移動ではないと判定され（Ｓ１０１：Ｎ）、スクロール対象領域と判定された背景領域２０６をスクロールし（Ｓ１０３）、再度タッチ点がリリースされたかが判定される（Ｓ１０４）。このように、タッチ点がリリースされるまでは、図４のＳ１０１、Ｓ１０３及びＳ１０４の処理が順次繰り返し実行される。タッチ点がリリースされた場合（Ｓ１０４：Ｙ）には処理を終了する。
【００５４】
次に、第１回目のドラッグ操作から所定時間経過後に第２回目のドラッグ操作が行われた場合に実行される処理を説明する。図７（ｂ）に示される位置５０３にユーザがタッチし、タッチした指を初めて移動させると、図４に示す処理が実行される。制御部１０８は、今回のタッチ点の移動がこの２回目のドラッグ操作における最初の移動であると判定し（Ｓ１０１）、スクロール対象領域を決定する（Ｓ１０２）。
【００５５】
図４のＳ１０２の詳細を説明する図である図５を参照すると、制御部１０８は、タッチ開始位置を取得し（Ｓ２０４）、取得した位置に表示されている領域Ａを取得する（Ｓ２０５）。この例では、図７（ｂ）の位置５０３は地図領域にあることから、領域Ａは地図領域２０７となる。次に、領域Ａ、つまり地図領域２０７に表示されている画像をスクロール対象とするか否かを判定する（Ｓ２０６）。図５のＳ２０６の詳細を表す図６に示されるように、制御部１０８は、タッチされた時刻が前回のスクロール時刻から一定時間以内であるか否かを判定する（Ｓ３０１）。この例では、前回のスクロール時刻から経過した時間は２００[ms]であり、この値は設定された最大操作間隔値の５００[ms]より小さいので、一定時間以内と判定される（Ｓ３０１：Ｙ）。
【００５６】
その後、前回のスクロール対象が地図領域２０７の祖先にあたる領域かが判定される（Ｓ３０２）。前回のスクロール対象は地図領域２０７の祖先である背景領域２０６であることから（Ｓ３０２：Ｙ）、Ｓ３０３へ進む。制御部１０８は、タッチ位置５０３がスクロール指示無効範囲２０９内に含まれているか否かを判定する（Ｓ３０３）。この例では、タッチ位置５０３はスクロール指示無効範囲２０９内に含まれているので（Ｓ３０３：Ｙ）、ステップＳ３０４へ進み、ユーザが地図領域２０７に気付いていないと判定する。そして、領域Ａに表示されている画像について、スクロールは行わないと判定する（Ｓ３０４）。
【００５７】
図６のＳ３０４における判定結果から、図５のＳ２０６では領域Ａに表示されている画像のスクロールは行わないと判定する。従って、図５のＳ２０７においては領域Ａに表示されている画像のスクロールは行わないと判定し（Ｓ２０７：Ｎ）、領域Ａの親の領域をスクロール対象領域と決定する（Ｓ２０９）。この例では、領域Ａは地図領域２０７であり、スクロール対象領域は、地図領域２０７の親の領域である、地図領域の前回のスクロール対象である背景領域２０６である。更に、現在時刻を前回のスクロール時刻として記憶するとともに、タッチ点やスクロール対象領域の情報及び現在時刻を記憶する（Ｓ２１０）。
【００５８】
次に、制御部での処理は図４に戻り、スクロール対象領域と判定された背景領域２０６に表示されている画像をスクロールさせる（Ｓ１０３）。その後、タッチ点がリリースされたか否かが判定される（Ｓ１０４）。その後、上述したように、タッチ点がリリースされるまでは、図４のＳ１０１、Ｓ１０３及びＳ１０４の処理が順次繰り返し実行される。タッチ点がリリースされた場合には処理を終了する。
【００５９】
［操作例Ｂ］
操作例Ｂでのユーザの操作手順は、その大半が操作例Ａと同じであり、操作例Ａと同様に、１回目及び２回目のドラッグを開始する時のタッチパネル２１０の画面が図７（ａ）、（ｂ）に示される。しかし、操作例Ｂは、１回目のドラッグが行われた時刻と２回目のドラッグが行われた時刻との間隔が最大操作間隔２０８の値である５００[ms]より長い点で、操作Ａとは相違する。従って、制御部１０８は、ユーザが地図領域２０７に気付いたと判定する。その結果、操作例Ａとは異なり、２回目のドラッグでは、背景領域２０６ではなく、地図領域２０７がスクロールされる。以下にその詳細を示す。
【００６０】
まず１回目のドラッグ操作時に実行される処理により、背景領域２０６に表示されている画像がスクロールする。これは操作例Ａにおける１回目のドラッグ操作時の処理と同じであるため、説明を省略する。次に２回目のドラッグ操作時に実行される処理を説明する。図７（ｂ）に示される位置５０３にユーザが指をタッチして２回目のドラッグを開始すると、図４に示す処理が実行される。
【００６１】
図４において、制御部１０８は、今回のタッチ点の移動が最初の移動、つまり、２回目のドラッグにおける最初の移動であると判定し（Ｓ１０１）、スクロール対象領域を決定する（Ｓ１０２）。Ｓ１０２においては、その詳細を表す図５に示されるように、タッチ開始位置を取得し（Ｓ２０４）、取得した開始位置に表示されている領域である領域Ａを取得する。この例では、タッチ開始位置にある地図領域２０７が領域Ａであると判定される。次に、領域Ａに表示されている画像をスクロールさせるか否かを判定する（Ｓ２０６）。
【００６２】
このＳ２０６における判定の詳細を表す図６に示されるように、制御部１０８は、タッチされた時刻が前回のスクロール時刻から一定時間以内であるか否かを判定する（Ｓ３０１）。この例では、上記のように１回目のドラッグ操作から１０００[ms]が経過しており、これは最大操作間隔２０８の値である５００[ms]より大きい。従って、一定時間経過以内ではないと判定される（Ｓ３０１：Ｎ）。これにより、制御部１０８は、ユーザは、２回目のドラッグでのタッチ開始位置にある領域Ａ、つまりこの例では地図領域２０７に気付いていると判定し、領域Ａに表示されている画像をスクロールさせると判定する（Ｓ３０５）。
【００６３】
その結果、図５に戻ると、Ｓ２０６では領域Ａに表示されている画像をスクロールさせると判定し、制御部１０８は、Ｓ２０７において地図領域２０７である領域Ａに表示されている画像をスクロールさせると判定する（Ｓ２０７：Ｙ）。従って、地図領域２０７がスクロール対象領域と判定され（Ｓ２０８）、タッチ点やスクロール対象領域の情報の記録及びスクロール時刻の記憶を行う（Ｓ２１０）。この例では、地図領域２０７をスクロール対象領域２０３として記憶する。
【００６４】
Ｓ２１０の後に、処理は図４に戻り、制御部１０８は、スクロール対象領域と判定された領域である地図領域２０７に表示されている画像をスクロールさせる（Ｓ１０３）。更に、Ｓ１０４及びＳ１０５が上述のように実行され、ユーザが、位置５０４まで指を移動させるまで、地図領域２０７に表示されている画像をスクロールする処理（Ｓ１０３）が繰り返し実行される。その後、ユーザが位置５０４まで指を移動してタッチ点をリリースするまでは、操作例Ａと同様に、図４のＳ１０１、Ｓ１０３及びＳ１０４の処理が順次繰り返し実行される。タッチ点がリリースされた場合は処理を終了する。
【００６５】
［操作例Ｃ］
操作例Ｃでは、背景領域２０６とともに、背景領域２０６の子の領域である地図領域２０７が最初からタッチパネル２１０の画面に表示されている。また、地図領域２０７はスクロール指示無効範囲２０９に含まれている。操作例Ｃにおける１回目のドラッグを行うときのタッチパネル２１０の画面を図７（ｂ）に示す。また、２回目のドラッグを行うときのタッチパネル２１０の画面を図７（ｃ）に示す。なお、１回目のドラッグと２回目のドラッグの間隔は、最大操作間隔２０８の値よりも短い２００[ms]とする。
【００６６】
ユーザは、図２に示される表示範囲２０５について、図７（ｂ）の地図領域２０７に含まれる位置５０３をタッチして１回目のドラッグを行い、タッチ点をリリースした後、短期間で表示範囲２０５における同じ位置をタッチして２回目のドラッグを行う。この場合、２回目のドラッグでは、図７（ｃ）の地図領域２０７に含まれる位置５０５がタッチされる。この２回目のドラッグが行われたとき、判定領域１１０は、直前の操作で、地図領域２０７の親の領域にあたる背景領域２０６がスクロールしていないことから、ユーザが地図領域２０７に気付いていると判定する。これに従い、制御部１０８は、２回のドラッグ操作において地図領域２０７に表示されている画像をスクロールさせる。以下にその詳細を示す。
【００６７】
まず１回目のドラッグ操作時に実行される処理を説明する。図７（ｂ）の位置５０３にユーザがタッチし、タッチした指を初めて移動させたとき、まず図４に示す処理が実行され、制御部１０８は、今回のタッチ点の移動が最初の移動であると判定し（Ｓ１０１）、スクロール対象領域を決定する（Ｓ１０２）。Ｓ１０２の詳細を説明する図である図５を参照すると、制御部１０８は、タッチ開始位置を取得し（Ｓ２０４）、取得した位置に表示されている領域Ａを取得する（Ｓ２０５）。この例では、図７（ｂ）の位置５０３は地図領域２０７にあることから、Ｓ２０５では、地図領域２０７が領域Ａとなる。
【００６８】
次に、背景領域２０６をスクロール対象とするか否かを判定する（Ｓ２０６）。図５のＳ２０６の詳細を表す図６に示されるように、制御部１０８は、タッチされた時刻が前回のスクロール時刻から一定時間以内であるか否かを判定する（Ｓ３０１）。この例では、タッチした指を初めて移動させていることから、前回のスクロール時刻は記憶されておらず、一定時間以内ではない（Ｓ３０１：Ｎ）。従って、ユーザは、Ｓ２０５で取得した領域Ａ、即ち地図領域２０７に気付いていると判定し、領域Ａに表示されている画像をスクロールさせると判定する（Ｓ３０５）。その結果、図５に戻ると、制御部１０８は、Ｓ２０６で領域Ａに表示されている画像をスクロールさせると判定し、Ｓ２０７において領域Ａである地図領域２０７をスクロールさせると判定する（Ｓ２０７：Ｙ）。更に、この地図領域２０７がスクロール対象領域と判定され（Ｓ２０８）、タッチ点やスクロール対象領域の情報の記録及びスクロール時刻の記憶を行う（Ｓ２１０）。
【００６９】
次に、制御部１０８での処理は図４に戻り、スクロール対象領域と判定された地図領域２０７に表示されている画像をスクロールさせる（Ｓ１０３）。その後、タッチ点がリリースされたか否かが判定される（Ｓ１０４）。その後、上述の操作例Ａと同様に、タッチ点がリリースされるまでは、図４のＳ１０１、Ｓ１０３及びＳ１０４の処理が順次繰り返し実行される。タッチ点がリリースされた場合には処理を終了する。
【００７０】
次に、２回目のドラッグ操作時に実行される処理を説明する。図７（ｃ）の位置５０５にユーザがタッチし、タッチした指を初めて移動させたとき、まず図４に示す処理が実行され、制御部１０８は、今回のタッチ点の移動が最初の移動であると判定し（Ｓ１０１）、スクロール対象領域を決定する（Ｓ１０２）。Ｓ１０２の詳細を説明する図である図５を参照すると、制御部１０８は、タッチ開始位置を取得し（Ｓ２０４）、取得した位置に表示されている領域Ａを取得する（Ｓ２０５）。この例では、図７（ｃ）の位置５０５は地図領域２０７にあることから、Ｓ２０５では、地図領域２０７が領域Ａとなる。
【００７１】
その後、背景領域２０６をスクロール対象とするか否かを判定する（Ｓ２０６）。Ｓ２０６における判定の詳細を表す図６に示されるように、制御部１０８は、タッチされた時刻が前回のスクロール時刻から一定時間以内であるか否かを判定する（Ｓ３０１）。この例では、前回のスクロール時刻から経過した時間は２００[ms]であり、この値は設定された最大操作間隔値の５００[ms]より小さいので、一定時間以内と判定され（Ｓ３０１：Ｙ）、Ｓ３０２へ進む。更に、前回のスクロール対象が地図領域２０７の祖先にあたる領域かが判定される（Ｓ３０２）。前回のスクロール対象は地図領域２０７自身であることから（Ｓ３０２：Ｎ）、制御部１０８による処理はＳ３０５へ進み、領域Ａに表示されている画像をスクロールさせると判定する。
【００７２】
従って、図５に戻ると、Ｓ２０６では領域Ａに表示されている画像をスクロールさせると判定し、図５のＳ２０７においては領域Ａに表示されている画像をスクロールさせると判定し（Ｓ２０７：Ｙ）、領域Ａをスクロール対象領域と決定する（Ｓ２０８）。この例では、領域Ａは地図領域２０７である。更に、現在時刻を前回のスクロール時刻として記憶するとともにタッチ点やスクロール対象領域の情報を記憶部１０９に格納する（Ｓ２１０）。
【００７３】
次に、制御部での処理は図４に戻り、スクロール対象領域と判定された地図領域２０７に表示されている画像をスクロールさせる（Ｓ１０３）。その後、タッチ点がリリースされたか否かが判定される（Ｓ１０４）。その後、上述の操作例と同様に、タッチ点がリリースされるまでは、図４のＳ１０１、Ｓ１０３及びＳ１０４の処理が順次繰り返し実行される。タッチ点がリリースされた場合には処理を終了する。
【００７４】
［操作例Ｄ］
操作例Ｄにおける、１回目のドラッグが行われたときのタッチパネル２１０の表示内容を図７（ａ）に示す。また、２回目のドラッグが行われたときのタッチパネル２１０の表示内容図７（ｄ）に示す。
【００７５】
この操作例Ｄでは、まず、ユーザは図７（ａ）の背景領域２０６内の位置５０１をタッチして１回目のドラッグを行う。この場合、操作例Ａと同様に、背景領域２０６がスクロールされる。操作例Ｄでは、操作例Ａとは異なり、１回目のスクロール後、図７（ｄ）に示されるように、地図領域２０７がスクロール指示無効範囲２０９をはみ出す位置に表示されている。次に、ユーザは、図７（ｄ）において地図領域２０７に含まれる位置５０７をタッチして、２回目のドラッグを行う。なお、１回目のドラッグと２回目のドラッグの間隔は、最大操作間隔２０８の値よりも小さい２００[ms]とする。制御部１０８は、この操作例Ｄでは、１回目のドラッグ操作で背景領域２０６をスクロールし、２回目のドラッグ操作で地図領域２０７をスクロールさせる。以下、操作例Ｄでの処理の詳細を説明する。
【００７６】
まず、ユーザが行う１回目のドラッグ操作時に実行される処理で、背景領域２０６がスクロールする。これは、操作例Ａにおける１回目のドラッグ操作時の処理と同じであるため、説明を省略する。次に、２回目のドラッグ操作時に実行される処理を説明する。図７（ｄ）の地図領域２０７にある位置５０７にユーザがタッチし、タッチした指を初めて移動させたとき、まず図４に示す処理が実行される。制御部１０８は、今回のタッチ点の移動が最初の移動であると判定し（Ｓ１０１）、スクロール対象領域を決定する（Ｓ１０２）。Ｓ１０２の詳細を説明する図である図５を参照すると、制御部１０８は、タッチ開始位置を取得し（Ｓ２０４）、取得した位置に表示されている領域Ａを取得する（Ｓ２０５）。この例では、図７（ａ）の位置５０７は地図領域２０７にあることから、Ｓ２０５では、地図領域２０７が領域Ａとなる。
【００７７】
次に、領域Ａに表示されている画像をスクロール対象とするか否かを判定する（Ｓ２０６）。図５のＳ２０６の詳細を表す図６に示されるように、制御部１０８は、タッチされた時刻が前回のスクロール時刻から一定時間以内であるか否かを判定する（Ｓ３０１）。この例では、前回のスクロール時刻から経過した時間は２００[ms]であり、この値は設定された最大操作間隔値の５００[ms]より小さいので、一定時間以内と判定される（Ｓ３０１：Ｙ）。その後、前回のスクロール対象が地図領域２０７の祖先にあたる領域かが判定される（Ｓ３０２）。前回のスクロール対象は地図領域２０７の祖先である背景領域２０６であることから（Ｓ３０２：Ｙ）、Ｓ３０３へ進む。制御部１０８は、タッチ位置５０７がスクロール指示無効範囲２０９内に含まれているか否かを判定する（Ｓ３０３）。この例では、タッチ位置５０７はスクロール指示無効範囲２０９内に含まれていないので（Ｓ３０３：Ｎ）、ユーザが地図領域２０７に気付いていると判定し、領域Ａに表示されている画像をスクロールさせる（Ｓ３０５）。
【００７８】
図６のＳ３０５における判定結果から、図５のＳ２０６では領域Ａに表示されている画像をスクロールさせると判定する。従って、図５のＳ２０７においては領域Ａに表示されている画像をスクロールさせると判定し（Ｓ２０７：Ｎ）、領域Ａである地図領域２０７をスクロール対象領域と決定する（Ｓ２０９）。更に、現在時刻を前回のスクロール時刻として記憶するとともにタッチ点やスクロール対象領域の情報を記憶部１０９に格納する（Ｓ２１０）。次に、制御部での処理は図４に戻り、スクロール対象領域と判定された地図領域２０７に表示されている画像をスクロールさせる（Ｓ１０３）。その後、タッチ点がリリースされたか否かが判定される（Ｓ１０４）。そして、上述したように、タッチ点がリリースされるまでは、図４のＳ１０１、Ｓ１０３及びＳ１０４の処理が順次繰り返し実行される。タッチ点がリリースされた場合には処理を終了する。
【００７９】
このように、本実施形態では、操作例Ａに示されるように、ユーザが地図領域２０７に気付かず誤ってドラッグしたときでも、その親の背景領域２０６に表示されている画像がスクロールされるようになる。また、以下の条件を用いて、ユーザが、最初にタッチした領域である領域Ａに気付いているか否かを判定している。
１）最初のタッチ位置がスクロール指示無効範囲２０９に含まれているか（Ｓ３０３：操作例Ａ、Ｄ）
２）前回のスクロール操作から最大操作間隔２０８が経過したか（Ｓ３０１：操作例Ｂ）
３）最初のタッチ位置を含む領域Ａが前回スクロールされているか（Ｓ３０２：操作例Ｃ）
その判定結果から、領域Ａに表示されている画像をスクロールさせるか否かを判定する。具体的には、ユーザが気付いている場合には、領域Ａに表示されている画像をスクロールさせ、気付いていない場合には領域Ａに表示されている画像をスクロールさせない。
【００８０】
[変形例]
第１実施形態において図５のＳ２０６及びその詳細を示す図６に示した、最初のタッチ位置が含まれる領域Ａにユーザが気付いているか否かを判定する処理には、様々な変形例が存在する。この判断の処理においては、ユーザが小領域である領域Ａを意図的にタッチしてスクロールさせようとしたか否かを判断できれば他の方法を採用しても構わない。以下、他の変形例も説明する。
【００８１】
図８は、この変形例に係る手法を実施するにあたって、記憶部１０９に記憶されるデータの例示図である。この例において記憶部１０９は、図２（ａ）で示した領域２０１等に加えて、スクロール速度閾値７０４、距離閾値７０５、移動速度閾値７０６、移動方向閾値７０７、タッチ開始位置７０８、タッチ点移動速度７０９、タッチ点移動方向７１０を記憶する。
【００８２】
図８において、距離閾値７０５は２０[pixel]、移動速度閾値７０６は２０[pixel/s]、移動方向閾値角は６０°となっている。また、タッチ開始位置７０８、タッチ点移動速度７０９、タッチ点移動方向７１０は、随時検出を行って更新された値が入り、ここでは特定の値を示してはいない。これら距離閾値等の詳細は後述する。なお、領域２０１等、図２（ａ）に示したデータは、図２（ａ）と共通であり、説明を省略した。
【００８３】
以下、変形例において領域Ａに表示されている画像をスクロールさせるか否かを判定する手法を説明する。この変形例では、１回目のドラッグは、図７（ａ）の状態からドラッグが始まる。この１回目のドラッグ操作時の処理は操作例Ａと同一であるが、その後に行われる２回目のドラッグ操作の開始位置、速度、方向は、後述する操作例毎に異なっている。この変形例の各操作例における２回目のドラッグ時にユーザがタッチパネル２１０にタッチしてドラッグを行うときの画面の状態を図９（ａ）〜（ｃ）に示す。また、以下の例では、表示される画像の位置から、画像の全体が画面に表示されているかを判定し、全体が表示されている場合には画像の表示が完了したと判定する。その詳細は、後述の各操作例で説明する。
【００８４】
また、この変形例では、後述する操作例のいずれにおいても、２回目のドラッグ操作では、図４及び図５（ステップ２０６及びステップ２１０を除く）に関しては、操作例Ａと同様の処理を行う。図５のステップ２０６では、図１０に示される処理を行い、図５のステップ２１０では、図１１に示される処理を行う。以下、この２回目のドラッグ操作における処理を説明する。
【００８５】
ユーザがタッチパネル２１０にタッチして２回目のドラッグを開始すると、第１実施形態の操作例Ａでの２回目のドラッグ操作時と同様に、図４、図５（Ｓ２０６を除く）のフローチャートにおける処理が行われる。
【００８６】
図５のＳ２０６に処理が進んだ場合は、図１０のフローチャートに含まれるＳ４０１からＳ４１０が実行される。これらＳ４０１からＳ４１０は、それぞれユーザが最初のタッチ点が含まれる領域である領域Ａに気付いているか否かを判定する手順を示している。なお、これら判定の適用順序は図に示すものに限定されず、判定の順序を変更しても構わない。またこれらの判定処理ステップのうち１つだけを単独で用いても良く、その場合でもユーザが領域Ａに気付いているか否かの判定精度を高くすることができる。図示の例では、これらを組み合わせることで、判定精度を一層高めるようにした。
【００８７】
図１０において、制御部１０８は、図５のＳ２０５で取得した領域Ａの祖先にあたる領域がスクロール速度閾値以上の速度でスクロールしているか否かを判定する（Ｓ４０１）。速度がスクロール速度閾値以上であるとき（Ｓ４０１：Ｙ）は、領域Ａに表示されている画像について、スクロールは行わないと判定する（Ｓ３０４）。すなわち、この場合には、領域Ａの親領域のスクロールが継続して行われることになる。閾値以下のとき（Ｓ４０１：Ｎ）は、制御部１０８は、表示部１０６がＳ３０５で取得した領域Ａの表示状態を判定する。領域Ａに表示される画像の表示が未完了であるか否かを判定する（Ｓ４０２）。未完了のとき（Ｓ４０２：Ｙ）は、領域Ａに表示されている画像をスクロールさせないと判定する（Ｓ４０９）。すなわち、この場合も、領域Ａの親領域のスクロールが継続して行われることになる。なお、この例では、画面の表示状態による判定例として、領域Ａの表示が完了しているか否かを判定する例を記載したが、画面の表示状態として、その他の手法も採用できる。例えば、領域Ａの所定の範囲、例えば８０％が表示されたか否かを、領域Ａをスクロールさせるか否かの判定基準としてもよい。
【００８８】
領域Ａの表示が完了しているときは、制御部１０８は、受付部１０５が検知したタッチ点の開始位置と記憶部１０９に記憶されたタッチ開始位置７０８との距離が所定の距離閾値より大きいか否かを判定する（Ｓ４０３）。その距離が図８で距離閾値７０５として示した距離閾値である２０[pixel]より大きい場合（Ｓ４０３：Ｙ）、上述した図６のＳ３０５に進み、領域Ａに表示されている画像をスクロールさせると判定する。その距離が所定値より小さい場合は（Ｓ４０３：Ｎ）、次の判定ステップＳ４０４へ進む。
【００８９】
制御部１０８は、受付部１０５が検知したタッチ点の移動速度と記憶部１０９に記憶されたタッチ点移動速度との差が移動速度閾値７０６の値以上であるか否かを判定する（Ｓ４０４）。すなわち、第１領域（親の領域あるいは背景領域とも呼ぶ）のスクロールを継続させるか、第２領域（子の領域あるいは小領域とも呼ぶ）を独立してスクロールさせるかを判定する。この判定は、今回スクロール指示におけるスクロール速度と前回スクロール指示におけるスクロール速度とに基づいて行われるなおこの変形例では、この差は絶対値とした。これにより、受付部１０５が検知したタッチ点の移動速度が、記憶部１０９に記憶されたタッチ点移動速度より大きい場合、小さい場合のいずれにおいても、Ｓ４０４の判定結果はＹとなる。他の形態として、この差を絶対値とせずに、受付部１０５が検知したタッチ点の移動速度が、記憶部１０９に記憶されたタッチ点移動速度より大きい場合のみにＳ４０４の判定結果がＹとなる構成としても良い。この差が移動速度閾値７０６の値以上（所定量以上異なる場合）であれば（Ｓ４０４：Ｙ）、上述した図６のＳ３０５に進み、領域Ａに表示されている画像をスクロールさせると判定する。この差がタッチ点移動速度閾値より小さい場合（Ｓ４０４：Ｎ）、次の判定ステップＳ４０５へ進む。
【００９０】
制御部１０８は、受付部１０５が検知したタッチ点の移動方向と、記憶部１０９に記憶されたタッチ点移動方向７１０との間の角度が、移動方向閾値角以上の角度であるか否かを判定する（Ｓ４０５）。すなわち、第１領域のスクロールを継続させるか、第２領域を独立してスクロールさせるかを、今回スクロール指示におけるスクロール方向と前回スクロール指示におけるスクロール方向とに基づき判定する。検知したタッチ点の移動方向と記憶部１０９に記憶されたタッチ点移動方向７１０との間の角度の差が移動方向閾値角で表される所定の角度より大きい場合、上述した図６のＳ３０５に進み、領域Ａに表示されている画像をスクロールさせると判定する。検知したタッチ点の移動方向と記憶部１０９に記憶されたタッチ点移動方向７１０との間の角度が上記所定の角度以下である場合は、上述した図６のＳ３０１に進む。
【００９１】
なお、上記では、今回スクロール方向と前回スクロール方向の角度の差の大小に基づいて、何れの領域をスクロールさせるか判断をしたが、本発明はこれに限らない。例えば、直前に第１領域が上方向にスクロールしている場合に、もし今回、第２領域上で下方向へのスクロール指示を出したとしても、ユーザの意図は第１領域の逆スクロールを指示したのかもしれない。この仮定によれば、前回スクロール方向７１０と今回スクロール指示の方向とが１８０度程度の差異がある場合にも、例外として第１領域をスクロールさせるべきである。従って、この場合には、検知したタッチ点の移動方向と記憶部１０９に記憶されたタッチ点移動方向７１０との間の角度の差の大小に限らず、角度の差がどの範囲（候補群）に該当するのかを基準とする方が良い。上記変形例も本発明の範疇に含む。
【００９２】
次に、この変形例における、図５のＳ２１０に示されるタッチ点やスクロール時刻の情報を記憶する処理の詳細な内容の一例を、図１１のＳ５０１〜５０４に示す。図５のＳ２０８又はＳ２０９を実行した後に、制御部１０８は、現在時刻を前回のスクロール時刻として記憶部１０９に格納する（Ｓ５０１）。そして、Ｓ３０４で取得したタッチ点の開始位置をタッチ開始位置として記憶部１０９に格納する（Ｓ５０２）。
【００９３】
その後、制御部１０８は、タッチ点の移動速度をタッチ点移動速度７０９として記憶部１０９に格納する（Ｓ５０３）。移動速度は、上述した図１０のＳ４０４で移動速度を求める手順と同じ手順で求める。制御部１０８は、タッチ点の移動方向をタッチ点移動方向７１０として記憶部１０９に記憶する（Ｓ５０４）。移動方向は、図１０のＳ４０５における移動方向を求める手順と同じ手順で求める。
【００９４】
なお、この変形例では、受付部１０５からタッチ位置の入力を受ける制御部１０ｌがスクロール速度を検出する速度検出手段として動作し、タッチ位置の移動速度等からスクロール速度を求める。また、この変形例では、タッチ開始時から一定時間における速度をスクロール速度として求めた。しかしながら、その他の任意の手法でスクロール速度を検出することができる。例えば、１回目のドラッグ操作でスクロールが開始してから次のドラッグ操作が開始されるまでの平均速度、あるいは、２回目のドラッグが開始される直前の速度をスクロール速度としてもよい。
【００９５】
Ｓ４０４等におけるタッチ点の移動速度は任意の手法で検出できる。この例では、タッチ点の移動量を一定時間毎に検出し、この一定時間におけるタッチ点の移動量を受付部１０５で検知して、記憶部１０９に記憶されたタッチ点移動量と比較することで、タッチ点の移動速度を求めている。この例での処理は、タッチ点が移動したときに実行されており、そのため、タッチ開始時から一定時間後にタッチ点の検出を行っている。従って、タッチ開始時のタッチ点の位置と、一定時間後におけるこの処理が実行されたときのタッチ点の位置は異なり、この相異なる二つの位置間の距離を移動速度とすることもできる。このように移動速度を移動距離で表す場合には、Ｓ４０４において、タッチ点の移動距離が前回のタッチ点の移動距離と所定値以上異なるか否かを判定してもよい。
【００９６】
［操作例Ｅ］
操作例Ｅでは、操作例Ａと同様、ユーザは背景領域２０６をドラッグし、その後、背景領域２０６のスクロールによって表示された地図領域２０７を続けてドラッグする。操作例Ａとの違いは、１回目のドラッグの開始点と２回目のドラッグの開始点が、距離閾値以上離れていることである。
【００９７】
ここで、ユーザがある領域２０１を繰り返しドラッグしてスクロールさせるとき、それぞれのドラッグ操作の開始点は大きく変わらない可能性が高い。そこで、この操作例Ｅでは、制御部１０８は、２回目のドラッグで開始点が、図８で距離閾値７０５として示される２０[pixel]以上離れているときには、ユーザが意図的にその地図領域２０７をドラッグさせたと判定する。従って、この操作例Ｅでは、制御部１０８は、１回目のドラッグの結果として背景領域２０６をスクロールし、２回目のドラッグの結果として地図領域２０７をスクロールさせる。以下にその詳細を示す。
【００９８】
この操作例Ｅにおいて１回目のドラッグが行われたときのタッチパネル２１０の表示内容を図７（ａ）に示す。また、２回目のドラッグが行われたときのタッチパネル２１０の表示内容を図９（ａ）に示す。１回目のドラッグと２回目のドラッグの間隔は２００[ms]とする。なお、スクロール速度は最大スクロール速度以下であり、地図領域２０７は表示内容の表示を完了しているとする。
【００９９】
まず、１回目のドラッグ操作時に実行される処理で、背景領域２０６がスクロールする。これは操作例Ａにおける１回目のドラッグ操作時の処理と同じであるため、説明を省略する。
【０１００】
次に、２回目のドラッグ操作時に実行される処理を説明する。図９（ａ）に示されるタッチ位置８０１にユーザがタッチし、タッチした指を初めて移動させたとき、まず図４のＳ１０１以下の処理が実行される。制御部１０８は、今回のタッチ点の移動が最初の移動であると判定し（Ｓ１０１）、スクロール対象領域を決定する（Ｓ１０２）。このスクロール対象領域を決定する処理において、制御部１０８は、Ｓ１０２の詳細を表す図５に示されるように、タッチ開始位置を取得し（Ｓ２０４）、取得した位置に表示されている領域Ａを取得する（Ｓ２０５）。この例では、図９（ａ）に示されるように、地図領域２０７がタッチ開始位置にあり、制御部１０８は、地図領域２０７が領域Ａであると判定する。その後、制御部１０８は、領域Ａに表示されている画像をスクロールさせるか否かを判定する（Ｓ２０６）。この操作例Ｅでは、制御部１０８は、Ｓ２０６の詳細を示す図１０に示される処理に進む。
【０１０１】
まず、スクロール速度が、図８のスクロール速度閾値７０４で示されるスクロール速度閾値、この例では１００[pixel/s]以上であるか否かを判定する（Ｓ４０１）。この判定は、制御部１０８で行われる。操作例Ｅでは、スクロール速度がスクロール速度閾値以上ではないので、制御部１０８は、スクロール速度はスクロール速度閾値以上ではないと判定する（Ｓ４０１：Ｎ）。次に、制御部１０８は、表示部１０６による領域Ａの表示が未完了であるか否かを判定する（Ｓ４０２）。この例では、上述のように取得された領域Ａである地図領域２０７は表示を完了しているので、表示は完了したと判定される（Ｓ４０２：Ｎ）。そして、制御部１０８は、今回のタッチの開始位置と記憶部１０９に記憶されたタッチ開始位置７０８との距離が、図８の７０５で示される距離閾値以上離れているか、つまり２０[pixel]以上離れているか否かを判定する（Ｓ４０３）。
【０１０２】
この操作例Ｅにおいては、制御部１０８は、今回のタッチの開始位置と記憶部１０９に記憶されたタッチ開始位置７０８との距離が図８の７０５で示される距離閾値以上離れていると判定し（Ｓ４０３：Ｙ）、図６のＳ３０５に進む。その後、ユーザが地図領域２０７に気付いているとして、領域Ａに表示されている画像をスクロールさせると判定する。その後、制御部１０８は、図５のＳ２０７へと処理を進め、領域Ａに表示されている画像をスクロールさせるか否かを判定する（Ｓ２０７）。Ｓ４０３での判定結果から、Ｓ２０７では領域Ａに表示されている画像をスクロールさせると判定し（Ｓ２０７：Ｙ）、領域Ａと判定された地図領域２０７をスクロール対象領域と決定する（Ｓ２０８）。その後、現在時刻を前回のスクロール時刻として記憶するとともにタッチ点やスクロール対象領域の情報を記憶部１０９に格納する（Ｓ２１０）。次に、制御部１０８は、図４のＳ１０３に処理を進めて地図領域２０７に表示されている画像をスクロールさせ、表示部１０６は、スクロール後の領域２０１を表示する。
【０１０３】
更に、制御部１０８は、タッチ点がリリースされたか否かを判定し（Ｓ１０４）、ユーザが、図９（ａ）の位置５０４に指を移動させるまで、上述のように図４のＳ１０１〜Ｓ１０４を繰り返し実行し、地図領域２０７をスクロールする処理が繰り返し実行される。
【０１０４】
［操作例Ｆ］
操作例Ｆでは、操作例Ａと同様、ユーザは背景領域２０６をドラッグした後、背景領域２０６のスクロールによって表示された地図領域２０７を続けてドラッグする。操作例Ａとの違いは、１回目のドラッグにおけるタッチ点の移動速度と２回目のドラッグにおけるタッチ点の移動速度が大きく異なることである。
【０１０５】
ここで、ユーザがある領域２０１を繰り返しドラッグしてスクロールさせるとき、それぞれのドラッグ操作におけるタッチ点の移動速度は大きく変わらない可能性が高い。そこで制御部１０８は、２回目のドラッグでタッチ点の移動速度が、図８に移動速度閾値７０６として示される移動速度閾値（２０[pixel/s]）変化しているので、ユーザが意図的にその地図領域２０７をドラッグさせたと判定する。従って、この操作例Ｆでは、制御部１０８は、１回目のドラッグの結果として背景領域２０６に表示されている画像をスクロールさせ、２回目のドラッグの結果として地図領域２０７に表示されている画像をスクロールさせる。以下にその詳細を示す。
【０１０６】
この操作例Ｆにおいて１回目のドラッグが行われたときのタッチパネル２１０の表示内容を図５（ａ）に示す。また、２回目のドラッグが行われたときのタッチパネル２１０の表示内容を図９（ｂ）に示す。１回目のドラッグと２回目のドラッグの間隔は２００[ms]とする。なお、スクロール速度は最大スクロール速度以下であり、地図領域２０７は表示内容の表示を完了しているとする。
【０１０７】
まず、１回目のドラッグ操作時に実行される処理で、背景領域２０６全体がスクロールする。これは操作例Ａにおける１回目のドラッグ操作時の処理と同じであるため説明を省略する。次に２回目のドラッグ操作時に実行される処理を説明する。図９（ｂ）に示されるタッチ位置８０３にユーザがタッチし、タッチした指を初めて移動させたとき、まず図４のＳ１０１以下の処理が実行される。
【０１０８】
制御部１０８は、今回のタッチ点の移動が最初の移動であると判定し（Ｓ１０１）、スクロール対象領域を決定する（Ｓ１０２）。このスクロール対象領域を決定する処理において、制御部１０８は、Ｓ１０２の詳細を表す図５に示されるように、タッチ開始位置を取得し（Ｓ２０４）、取得した位置に表示されている領域Ａを取得する（Ｓ２０５）。この例では、図９（ａ）に示されるように、地図領域２０７がタッチ開始位置にあり、制御部１０８は、地図領域２０７が領域Ａであると判定する。その後、制御部１０８は、領域Ａに表示されている画像をスクロールさせるか否かを判定する（Ｓ２０６）。この操作例Ｅでは、制御部１０８は、Ｓ２０６の詳細を示す図１０に示される処理に進む。
【０１０９】
まず、スクロール速度が、図８のスクロール速度閾値７０４で示されるスクロール速度閾値、この例では１００[pixel/s]以上であるか否かを判定する（Ｓ４０１）。この判定は、制御部１０８で行われる。操作例Ｆでは、スクロール速度がスクロール速度閾値以上ではないので、制御部１０８は、スクロール速度はスクロール速度閾値以上ではないと判定する（Ｓ４０１：Ｎ）。次に、制御部１０８は、表示部１０６による領域Ａの表示が未完了であるかを判定する（Ｓ４０２）。この例では、上述のように取得された領域Ａである地図領域２０７は表示を完了しているので、表示は完了したと判定される（Ｓ４０２：Ｎ）。そして、制御部１０８は、今回のタッチの開始位置と記憶部１０９に記憶されたタッチ開始位置７０８との距離が、図８の７０５で示される距離閾値以上離れているか、つまり２０[pixel]以上離れているか否かを判定する（Ｓ４０３）。
【０１１０】
この操作例Ｆにおいては、制御部１０８は、今回のタッチの開始位置と記憶部１０９に記憶されたタッチ開始位置７０８との距離が図８の７０５で示される距離閾値以上離れていないと判定する（Ｓ４０３：Ｎ）。その後、制御部１０８は、今回のタッチ点の移動速度と記憶部１０９に記憶されたタッチ点移動速度との差が図８に示される移動速度閾値７０６の値以上、この例では２０[pixel/s]以上であるか否かを判定する（Ｓ４０４）。この例では、制御部１０８は、この差が移動速度閾値以上であると判定し（Ｓ４０４：Ｙ）、図５のＳ３０５に進み、ユーザが地図領域２０７に気付いているとして、領域Ａに表示されている画像をスクロールさせると判定する。
【０１１１】
その後、制御部１０８は、図５のＳ２０７へと処理を進め、領域Ａに表示されている画像をスクロールさせるか否かを判定する（Ｓ２０７）。Ｓ３０５での判定結果から、制御部１０８は、Ｓ２０７で領域Ａに表示されている画像をスクロールさせると判定し（Ｓ２０７：Ｙ）、領域Ａと判定された地図領域２０７をスクロール対象領域と決定（Ｓ２０８）する。その後、制御部１０８は、現在時刻を前回のスクロール時刻として記憶するとともにタッチ点やスクロール対象領域の情報を記憶部１０９に格納する（Ｓ２１０）。次に、制御部１０８は、図４のＳ１０３に処理を進めて地図領域２０７に表示されている画像をスクロールさせ、表示部１０６は、スクロール後の領域２０１を表示する。
【０１１２】
更に、制御部１０８は、タッチ点がリリースされたか否かを判定し（Ｓ１０４）、ユーザが、図９（ｂ）の位置８０４に指を移動させるまで、上述のように図４のＳ１０１〜Ｓ１０４を繰り返し実行し、地図領域２０７をスクロールする処理が繰り返し実行される。
【０１１３】
［操作例Ｇ］
操作例Ｇでは、操作例Ａと同様、ユーザは、背景領域２０６をドラッグしたあと、背景領域２０６のスクロールによって表示された地図領域２０７を続けてドラッグする。操作例Ａとの違いは、１回目のドラッグにおけるタッチ点の移動方向と２回目のドラッグにおけるタッチ点の移動方向が大きく異なることである。
【０１１４】
ここで、ユーザがある領域２０１を繰り返しドラッグして、表示されている画像をスクロールさせるとき、それぞれのドラッグ操作におけるタッチ点の移動方向は大きく変わらない可能性が高い。そこで、制御部１０８は、２回目のドラッグでタッチ点の移動方向が図８において移動方向閾値７０７として示される角度以上離れていることから、ユーザが意図的にその地図領域２０７をドラッグさせたと判定する。このとき、制御部１０８は、１回目のドラッグの結果として背景領域２０６を、２回目のドラッグの結果として地図領域２０７をスクロールさせる。以下にその詳細を示す。
【０１１５】
この操作例Ｇにおいて１回目のドラッグが行われたときのタッチパネル２１０の表示内容を図５（ａ）に示す。また、２回目のドラッグが行われたときのタッチパネル２１０の表示内容を図９（ｃ）に示す。１回目のドラッグと２回目のドラッグの間隔は２００[ms]とする。なお、スクロール速度は最大スクロール速度以下であり、地図領域２０７は表示内容の表示を完了しているとする。
【０１１６】
まず、１回目のドラッグ操作時に実行される処理で、背景領域２０６がスクロールする。これは、操作例Ａにおける１回目のドラッグ操作時の処理と同じであるため、説明を省略する。
【０１１７】
次に２回目のドラッグ操作時に実行される処理を説明する。図９（ｃ）に示されるタッチ位置８０５にユーザがタッチし、タッチした指を初めて移動させたとき、まず図４のＳ１０１以下の処理が実行される。制御部１０８は、今回のタッチ点の移動が最初の移動であると判定し（Ｓ１０１）、スクロール対象領域を決定する（Ｓ１０２）。このスクロール対象領域を決定する処理において、制御部１０８は、Ｓ１０２の詳細を表す図５に示されるように、タッチ開始位置を取得し（Ｓ２０４）、取得した位置に表示されている領域Ａを取得する（Ｓ２０５）。この例では、図９（ａ）に示されるように、地図領域２０７がタッチ開始位置にあり、制御部１０８は、地図領域２０７が領域Ａであると判定する。その後、制御部１０８は、領域Ａに表示されている画像をスクロールさせるか否かを判定する（Ｓ２０６）。この操作例Ｅでは、制御部１０８は、Ｓ２０６の詳細を示す図１０に示される処理に進む。
【０１１８】
まず、スクロール速度が、図８のスクロール速度閾値７０４で示されるスクロール速度閾値、この例では１００[pixel/s]以上であるか否かを判定する（Ｓ４０１）。この判定は、制御部１０８で行われる。操作例Ｇでは、スクロール速度がスクロール速度閾値以上ではないので、制御部１０８は、スクロール速度はスクロール速度閾値以上ではないと判定する（Ｓ４０１：Ｎ）。次に、制御部１０８は、表示部１０６による領域Ａの表示が未完了であるか否かを判定する（Ｓ４０２）。この例では、上述のように取得された領域Ａである地図領域２０７は表示を完了しているので、表示は完了したと判定され（Ｓ４０２：Ｎ）る。そして、制御部１０８は、今回のタッチの開始位置と記憶部１０９に記憶されたタッチ開始位置７０８との距離が、図８の７０５で示される距離閾値以上離れているか、つまり２０[pixel]以上離れているか否かを判定する（Ｓ４０３）。
【０１１９】
この操作例Ｇにおいては、制御部１０８は、今回のタッチの開始位置と記憶部１０９に記憶されたタッチ開始位置７０８との距離が図８の７０５で示される距離閾値以上離れていないと判定（Ｓ４０３：Ｎ）する。次に、制御部１０８は、今回のタッチ点の移動速度と記憶部１０９に記憶されたタッチ点移動速度との差が図８に示される移動速度閾値７０６の値以上、この例では２０[pixel/s]以上であるか否かを判定する（Ｓ４０４）。この例では、制御部１０８は、この差が移動速度閾値以上ではないと判定する（Ｓ４０４：Ｎ）。その後、制御部１０８は、今回のタッチ点の移動方向と、図８にタッチ点移動方向７１０として示される記憶部１０９に記憶されたタッチ点移動方向との角度差が一定以上であるか否かを判定する（Ｓ４０５）。この例では、この角度差は、図８に移動方向閾値７０７として示される角度（６０°）よりも小さいので、制御部１０８は、角度差は一定以上であると判定（Ｓ４０５：Ｙ）する。その後、制御部１０８での処理は図５のＳ３０５に進み、ユーザが地図領域２０７に気付いているとして、制御部１０８は、領域Ａに表示されている画像をスクロールさせると判定する。
【０１２０】
そして、制御部１０８は、図５のＳ２０７へと処理を進め、領域Ａに表示されている画像をスクロールさせるか否かを判定する（Ｓ２０７）。Ｓ３０５での判定結果から、Ｓ２０７では領域Ａに表示されている画像をスクロールさせると判定し（Ｓ２０７：Ｙ）、領域Ａと判定された地図領域２０７をスクロール対象領域と決定する（Ｓ２０８）。その後、現在時刻を前回のスクロール時刻として記憶するとともにタッチ点やスクロール対象領域の情報を記憶部１０９に格納する。次に、制御部１０８は、図４のＳ１０３に処理を進めて地図領域２０７に表示されている画像をスクロールさせ、表示部１０６は、スクロール後の領域２０１を表示する。
【０１２１】
更に、制御部１０８は、タッチ点がリリースされたか否かを判定し（Ｓ１０４）、ユーザが、図９（ｃ）の位置８０６に指を移動させるまで、上述のように図４のＳ１０１〜Ｓ１０４を繰り返し実行し、地図領域２０７をスクロールする処理が繰り返し実行される。
【０１２２】
[第２実施形態]
親の領域（第１領域）内にある子の領域（第２領域）をユーザがドラッグする場合、その目的は、多くの場合は第２領域に含まれるテキストや画像などのシンボル又は特定の領域を、第１領域の中央に移動させることであると考えられる。以下、親の領域として地図領域２０７を、子の領域としてメッセージ領域９０３を例にとって説明する。メッセージ領域９０３内の位置にタッチしてドラッグを行うという操作の目的は、メッセージ領域９０３を地図領域２０７の中央に表示することであると考えられる。そのため、ユーザが地図領域２０７をドラッグし、これに伴ってメッセージ領域９０３が移動されて地図領域２０７の中央に近付く場合は、ユーザが地図領域２０７に気付いている可能性が高い。
【０１２３】
そこで第２実施形態では、ユーザのドラッグの方向と、親の領域に表示される子の領域の位置からユーザが地図領域２０７に気付いているか否かを判定することで、誤操作が起きる可能性を低くする構成とした。この実施形態に適用可能な情報処理装置のハードウェア構成は、先に示した図１（ａ）と同様である。また、本実施形態におけるＲＯＭ１０２やＨＤＤ１０３に格納されている制御プログラムの構成例も、先に示した図１（ｂ）と同様である。従って、これらについての詳細な説明は省略する。
【０１２４】
この実施形態において、受付部１０５がユーザのドラッグ操作を検知した時に実行される処理は、第１実施形態及びその変形例と同様に、図４、図５及び図６に示される。ただし、本実施形態においては、図５のＳ２０６に示される処理は第１実施形態及び変形例とは異なる。そこで、本実施形態において図５のＳ２０６で実行される処理の詳細を図１２に示す。更に、本実施形態における領域２０１の詳細を図１３（ａ）に、本実施形態における領域２０１の親子関係図を図１３（ｂ）に示す。
【０１２５】
また、第１実施形態及びその変形例と同様に、地図領域２０７は背景領域２０６の子の領域であり、更に、メッセージ領域９０３は地図領域２０７の子の領域であるとする。なお、メッセージ領域は図１３（ａ）においてＩＤ＿ｍｓｇ９０３として示される。更に、上述した背景領域２０６、地図領域２０７及びメッセージ領域９０３の親子関係は、図１３（ｂ）において、ＩＤ＿ｂｇ２０６、ＩＤ＿ｍａｐ２０７及びＩＤ＿ｍｓｇ９０３の親子関係として示される。更に、この実施形態における１回目のドラッグ操作時におけるタッチパネル２１０の画面は図７（ａ）に示され、２回目のドラッグ操作時におけるタッチパネル２１０の画面は図１４（ａ）に示される。
【０１２６】
この実施形態において、１回目のドラッグ操作時に実行される処理は、操作例Ａにおける１回目のドラッグ操作時に実行される処理と同一であり、図４、図５及び図６に示される各ステップが上述のように実行される。
【０１２７】
２回目のドラッグ操作時においては、制御部１０８は、操作例Ａの２回目のドラッグ操作と同様、図４のＳ１０１を実行して図５のＳ２０４、Ｓ２０５及びＳ２０６を実行する。しかし、２回目のドラッグ操作時における図５のＳ２０６では、制御部１０８は、図６に示されるフローチャートではなく、図１２に示されるフローチャートに従って処理を実行する。詳細には、制御部１０８は、図５のＳ２０５を実行した後に、図１２のＳ３０１以降の処理を実行する。
【０１２８】
なお、図１２のフローチャートにおいて、Ｓ３０１からＳ３０５で行う処理自体は図６で説明した処理と同一である。また、図１２において、Ｓ３０１、Ｓ３０２、Ｓ３０３及びＳ６０２の各ステップを単独で実行しても、あるいは順番を入れ替えて実行しても、タッチ開始位置の領域である領域Ａに表示されている画像をスクロールするか否かの判定精度を向上することが可能である。この実施形態では、判定精度を一層高くするためにこれらのステップを組み合わせて図示される順に実行している。
【０１２９】
図１２において、制御部１０８におけるＳ３０１の判定結果がＮ、Ｓ３０２における判定結果がＹとなった場合、処理はＳ３０３に進む。制御部１０８は、タッチ開始位置が入力無効範囲に含まれると判定した場合（Ｓ３０３：Ｙ）、タッチ点の移動が一定時間継続して領域Ａがスクロールしたと仮定した場合における、領域Ａ内の子の領域である領域Ｂのスクロール後の位置を取得する（Ｓ６０１）。なお、領域Ａは例えば地図領域２０７、領域Ｂは例えばメッセージ領域９０３である。
【０１３０】
次に、制御部１０８は、タッチ点の移動が継続する前の領域Ｂの位置と、Ｓ６０１で取得したスクロール後の位置とを比較し、スクロール後の領域Ｂの位置が領域Ａの中央に近付いたか否かを判定する（Ｓ６０２）。スクロール後の領域Ｂの位置が領域Ａの中央に近付かない場合（Ｓ６０２：Ｎ）、Ｓ３０４に進み、領域Ａに表示されている画像をスクロールさせないと判定する。Ｓ７０１で取得した、スクロール後の領域Ｂの位置が領域Ａの中央に近付いた場合（Ｓ６０２Ｙ）、Ｓ４０５へ進み、領域Ａに表示されている画像をスクロールさせると判定する。
【０１３１】
［操作例Ｈ］
操作例Ｈでは、図７（ａ）に示すように、ユーザはまず位置５０１にタッチし、位置５０２へ向かって上方向にドラッグすることで、背景領域２０６をスクロールさせる。その結果、地図領域２０７がタッチパネル２１０に表示される。また、この例では、１回目のドラッグ前後において、地図領域２０７はスクロール指示無効範囲２０９内に含まれているものとする。
【０１３２】
その直後、図１４（ａ）に示すように、ユーザは、位置９０７から位置９０８まで地図領域２０７をドラッグする。このとき、地図領域２０７内のメッセージ領域９０３は、このドラッグ操作が一定時間継続された場合に地図領域２０７の中央に表示される。そのため、制御部１０８は、ユーザが地図領域２０７に気付いていると判定する。その結果、制御部１０８は、地図領域２０７をスクロールさせる。ここで、ドラッグ操作が継続される時間は任意に定めることができる。例えば、本実施形態では図４のＳ１０４においてタッチ点がリリースされたか否かを周期的に検出しているが、このリリース検出における１周期に要する時間を、ドラッグ操作が継続される時間とすることもできる。以下に操作例Ｈの詳細を示す。
【０１３３】
１回目のドラッグ操作時に実行される処理は、操作例Ａにおける１回目のドラッグ操作時に実行される処理と同じであるため、説明を省略する。次に２回目のドラッグ操作時に実行される処理を説明する。なお、この例では、図示される情報処理装置２００の画面左上隅の座標を原点（０，０）として、図面の右方向をＸ軸の正の方向、図面の下方向をＹ軸の正の方向として説明する。
【０１３４】
図１４（ａ）に示される２回目のドラッグ操作時、メッセージ領域９０３の位置は、（２００，６００）、地図領域２０７の中央の位置は（１５０，５００）であり、タッチ点が移動した量は（０，−５）であるとする。なお、この例では、前回のスクロール時刻は、図７（ａ）でユーザが指をタッチ位置５０１にタッチしてスクロールを開始した時刻であり、かつ、前回のスクロール時刻からの経過時間は２００[ms]とする。図１４（ａ）の位置９０７にユーザがタッチし、タッチした指を初めて移動させたとき、まず図４に示す処理が実行され、制御部１０８は、今回のタッチ点の移動が最初の移動であると判定し（Ｓ１０１）、スクロール対象領域の決定を行う（Ｓ１０２）。その後、制御部１０８は、図４のＳ１０２における処理の詳細を表す図５に処理を進め、タッチ開始位置を取得し（Ｓ２０４）、地図領域２０７がタッチ開始位置にあると判定する（Ｓ２０５）。
【０１３５】
従って、この例では、タッチ開始位置に表示されている領域である領域Ａは地図領域２０７となり、制御部１０８は、この領域Ａに表示されている画像をスクロールさせるか否かを判定する（Ｓ２０６）。その後、制御部１０８は、この第２実施形態において図５のＳ２０６の詳細を表す図である図１２に処理を進める。そして、制御部１０８は、前回のスクロール時刻から一定時間が経過したか否かを判定する（Ｓ３０１）。
【０１３６】
この例における経過時間は２００[ms]であり、図８で最大操作間隔２０８として示される５００[ms]より小さいので、制御部１０８は、一定時間が経過していないと判定する（Ｓ３０１：Ｎ）。続いて、制御部１０８は、前回のスクロール対象領域が領域Ａの祖先にあたる領域であるか否かを判定する（Ｓ３０２）。
【０１３７】
図７（ａ）に示される前回のスクロールにおいて、スクロール対象は地図領域２０７の祖先である背景領域２０６であることから、制御部１０８でのＳ３０２の判定結果はＹとなり、続いて、タッチ開始位置が入力無効範囲に含まれるかが判定される（Ｓ３０３）。図１４（ａ）に示されるように、地図領域２０７はスクロール指示無効範囲２０９内に含まれているので、その判定結果はＹとなる。その後、制御部１０８は、タッチ点の移動により領域Ａ（この例では地図領域２０７）がスクロールしたと仮定し、この場合における領域Ａの子の領域である領域Ｂ（この例ではメッセージ領域９０３）のスクロール後の位置を取得する（Ｓ６０１）。
【０１３８】
上述したように、メッセージ領域９０３の位置は（２００，６００）、タッチ点が移動した量は（０，−５）である。従って、メッセージ領域９０３の位置に対してタッチ点が移動した量を加えることで、スクロール後のメッセージ領域９０３の位置は（２００，５９５）となる。
【０１３９】
次に、制御部１０８は、領域Ａである地図領域２０７の中央に領域Ｂであるメッセージ領域９０３が近付いたか否かを判定する。具体的には、制御部１０８は、地図領域２０７の中央と、スクロール前のメッセージ領域９０３との間の距離をスクロール前距離として計算する。前述したように、地図領域２０７の中央の位置は（１５０，５００）であり、スクロール前のメッセージ領域９０３の位置は（２００，６００）である。従って、この距離は｛(２００−１５０)２＋(６００−５５０)２｝（１／２）という数式で求められ、その値は約７０．７１である。
【０１４０】
次に、制御部１０８は、地図領域２０７の中央の位置と、スクロール後のメッセージ領域９０３との距離をスクロール後距離として計算する。この距離は｛(２００−１５０)２＋(５９５−５５０)２｝（１／２）という数式で求められる。その値は約６７．２７である。
【０１４１】
その結果、制御部１０８は、領域Ａのスクロールに伴って領域Ｂが移動することで、領域Ａの中央に領域Ｂが近付いたと判定し（Ｓ６０２：Ｙ）、領域Ａに表示されている画像をスクロールさせると判定する（Ｓ３０５）。その結果、制御部１０８の処理は図５に戻り、ユーザが地図領域２０７に気付いていると判定して領域Ａに表示されている画像をスクロールさせると判定する（Ｓ２０７：Ｙ）。これにより、制御部１０８は、領域Ａに表示されている画像をスクロール対象領域と決定し（Ｓ２０８）、現在時刻を前回のスクロール時刻として記憶するとともにタッチ点やスクロール対象領域の情報を記憶部１０９に格納する（Ｓ２１０）。その後、制御部１０８は、図４に処理を戻し、スクロール対象領域として決定された領域Ａ，つまり地図領域２０７に表示されている画像をスクロールさせ（Ｓ１０３）、表示部１０６がスクロール後の領域２０１を表示する。
【０１４２】
更に、制御部１０８は、タッチ点がリリースされたか否かを判定し（Ｓ１０４）、ユーザが図１４（ａ）の位置１００８に指を移動させるまで、上述のように図４のＳ１０１〜Ｓ１０４を繰り返し実行し、地図領域２０７をスクロールする処理が繰り返し実行される。
【０１４３】
[第３実施形態]
第１実施形態及び第２実施形態では、図８に示される領域２０１の親子関係が一階層、つまり親の領域である背景領域２０６と子の領域である地図領域２０７で構成されるとして説明した。しかし、領域２０１の親子関係が複数階層になることもある。第３実施形態は、領域２０１の親子関係が複数階層になる場合の例を示す。この実施形態に適用可能な情報処理装置のハードウェア構成は、先に示した図１（ａ）と同様である。また、本実施形態におけるＲＯＭ１０２やＨＤＤ１０３に格納されている制御プログラムの構成例も、先に示した図１（ｂ）と同様である。従って、これらについての詳細な説明は省略する。
【０１４４】
この実施形態において、受付部１０５がユーザのドラッグ操作を検知した時に実行される処理は、第１実施形態及びその変形例と同様に、図４、図５及び図６に示される。ただし、本実施形態においては、図５に示される処理は上述の第１実施形態等とは異なる。そこで、本実施形態において図５で実行される処理の詳細を図１５に示す。
【０１４５】
図１５は、本実施形態において、図４のＳ１０２が示すスクロール対象領域２０３の決定処理を具体的に説明するフローチャートである。この図において、Ｓ２０４からＳ２１０での処理は、先に説明した図５における処理と同様であり、その詳細は省略する。制御部１０８は、図５のＳ２０７の処理において、領域Ａに表示されている画像をスクロールさせない（Ｓ２０７：Ｎ）と判定した場合、領域Ａの親の領域が存在するかを確認する（Ｓ７０１）。親の領域が存在しない場合（Ｓ７０１：Ｎ）、現在時刻を前回のスクロール時刻として記憶するとともにタッチ点やスクロール対象領域の情報を記憶部１０９に格納する（Ｓ２１０）。親の領域が存在する場合（Ｓ７０１：Ｙ）制御部１０８は、図１５のＳ２０５で取得した領域について、その親の領域を領域Ａであると判定する（Ｓ７０２）。その後、実行部１０８は、Ｓ２０６に戻り、以降のステップを再び実行する。
【０１４６】
［操作例Ｉ］
操作例Ｉでは、ユーザは、図７（ａ）に示されるように、まず背景領域２０６にタッチして１回目のドラッグ操作を行う。その結果、背景領域２０６がスクロールし、図１４（ｂ）に示されるように、タッチパネル２１０には地図領域２０７と、地図領域２０７に含まれるメッセージ領域９０３とが表示される。この例では、地図領域２０７は、スクロール指示無効範囲２０９に含まれており、かつ、メッセージ領域９０３は、地図領域２０７の子の領域である。なお、地図領域２０７は、背景領域２０６の子の領域であることから、メッセージ領域９０３は、背景領域２０６の孫の領域となる。
【０１４７】
この１回目のドラッグ操作から２００[ms]が経過したあと、ユーザは、同じ位置を再びタッチし、背景領域２０６をドラッグしようとする。しかし、ユーザは、表示されたメッセージ領域９０３に気付いていないため、誤ってメッセージ領域９０３をドラッグする。この操作例Ｉでは、制御部１０８は、ユーザがメッセージ領域９０３に気付いていないと判定し、その結果、背景領域２０６に表示されている画像をスクロールさせる。以下にその詳細を示す。
【０１４８】
この操作例Ｉにおける１回目のドラッグ操作時に実行される処理は、操作例Ａにおける１回目のドラッグ操作と同様なので、その詳細は省略する。なお、第３実施形態では、図５に示される処理に代えて図１５に示される処理を行うが、１回目のドラッグ操作においては、図１５の処理では、図５と相違するステップには処理は進まない。従って、図５に代えて図１５を用いるこの操作例においても、１回目のドラッグ操作においては、操作例Ａにおける１回目のドラッグ操作と同一の処理が行われる。ただし、操作例Ａでは、この１回目のドラッグ操作後における情報処理装置２００の画面は図７（ｂ）となるが、この操作例Ｉにおいては、情報処理装置２００の画面は図１４（ｂ）となる。
【０１４９】
次に、２回目のドラッグ操作時に実行される処理を説明する。図１４（ｂ）に示されるメッセージ領域内の位置１００１にユーザがタッチし、タッチした指を初めて移動させると、図４に示す処理が実行される。制御部１０８は、今回のタッチ点の移動がこの２回目のドラッグ操作における最初の移動であると判定し（Ｓ１０１）、スクロール対象領域を決定する（Ｓ１０２）。
【０１５０】
図４のＳ１０２の詳細を説明する図である図５を参照すると、制御部１０８は、タッチ開始位置を取得し（Ｓ２０４）、取得した位置に表示されている領域Ａを取得する（Ｓ２０５）。この例では、図１４（ｂ）の位置１００１はメッセージ領域９０３にあることから、領域Ａはメッセージ領域９０３となる。次に、領域Ａに表示されている画像をスクロール対象とするか否かを判定する（Ｓ２０６）。
【０１５１】
図５のＳ２０６の詳細を表す図６に示されるように、制御部１０８は、タッチされた時刻が前回のスクロール時刻から一定時間以内であるか否かを判定する（Ｓ３０１）。この例では、前回のスクロール時刻から経過した時間は２００[ms]であり、この値は設定された最大操作間隔値の５００[ms]より小さいので、一定時間以内と判定され（Ｓ３０１：Ｙ）、Ｓ３０２へ進む。
【０１５２】
次に、前回のスクロール対象が地図領域２０７の祖先にあたる領域かが判定される（Ｓ３０２）。前回のスクロール対象はメッセージ領域９０３の祖先である背景領域２０６であることから（Ｓ３０２：Ｙ）、Ｓ３０３へ進む。制御部１０８は、タッチ位置５０３がスクロール指示無効範囲２０９内に含まれているか否かを判定する（Ｓ３０３）。この例では、タッチ位置５０３はスクロール指示無効範囲２０９内に含まれているので（Ｓ３０３：Ｙ）、ステップＳ３０４へ進む。その後、ユーザが領域Ａ（ここではメッセージ領域９０３）に気付いていないと判定し、領域Ａに表示されている画像について、スクロールは行わないと判定する（Ｓ３０４）。
【０１５３】
制御部１０８は、図６のＳ３０４における判定を行った後に、処理を図１５のＳ２０７に進め、領域Ａに表示されている画像について、スクロールは行わないと判定する（Ｓ２０７：Ｎ）。その後、制御部１０８は、領域Ａの親の領域が存在するか否かを判定する（Ｓ７０１）。この例では、領域Ａはメッセージ領域９０３であり、その親にあたる領域として地図領域２０７が存在する。従って、制御部１０８は、領域Ａの親領域があると判定し（Ｓ７０１：Ｙ）、現在の領域Ａの親領域（この例では地図領域２０７）を改めて領域Ａと判定する（Ｓ７０２）。その後、制御部１０８は、図１５のＳ２０６に戻る。図５のＳ２０６の詳細を表す図６に示されるように、制御部１０８は、タッチされた時刻が前回のスクロール時刻から一定時間以内であるか否かを判定する（Ｓ３０１）。この例では、前回のスクロール時刻から経過した時間は２００[ms]であり、この値は設定された最大操作間隔値の５００[ms]より小さいので、一定時間以内と判定され（Ｓ３０１：Ｙ）、Ｓ３０２へ進む。
【０１５４】
次に、前回のスクロール対象が現在の領域Ａ、つまり地図領域２０７の祖先にあたる領域であるかが判定される（Ｓ３０２）。前回のスクロール対象は地図領域２０７の祖先である背景領域２０６であることから（Ｓ３０２：Ｙ）、Ｓ３０３へ進む。制御部１０８は、タッチ位置５０３がスクロール指示無効範囲２０９内に含まれているか否かを判定する（Ｓ３０３）。この例では、タッチ位置５０３はスクロール指示無効範囲２０９内に含まれているので（Ｓ３０３：Ｙ）、ステップＳ３０４へ進み、ユーザが地図領域２０７に気付いていないと判定し、領域Ａに表示されている画像をスクロールさせないと判定する（Ｓ３０４）。
【０１５５】
制御部１０８は、図６のＳ３０４における判定を行った後に、処理を図１５のＳ２０７に進め、領域Ａに表示されている画像をスクロールさせないと判定する（Ｓ２０７：Ｎ）。その後、制御部１０８は、領域Ａの親の領域が存在するか否かを判定する（Ｓ７０１）。この例では、領域Ａは地図領域２０７であり、その親にあたる領域として背景領域２０６が存在する。従って、制御部１０８は、領域Ａの親領域があると判定し（Ｓ７０１：Ｙ）、現在の領域Ａの親領域（この例では背景領域２０６）を改めて領域Ａと判定する（Ｓ７０２）。
【０１５６】
その後、制御部１０８は、再度図１５のＳ２０６に戻る。図５のＳ２０６の詳細を表す図６に示されるように、制御部１０８は、タッチされた時刻が前回のスクロール時刻から一定時間以内であるか否かを判定する（Ｓ３０１）。この例では、前回のスクロール時刻から経過した時間は２００[ms]であり、この値は設定された最大操作間隔値の５００[ms]より小さいので、一定時間以内と判定され（Ｓ３０１：Ｙ）、Ｓ３０２へ進む。
【０１５７】
次に、前回のスクロール対象が現在の領域Ａ、つまり背景領域２０６の祖先にあたる領域であるかが判定される（Ｓ３０２）。ここで、前回のスクロール対象は、現在の領域である背景領域２０６である。従って、前回のスクロール対象は現在の領域Ａの祖先にあたる領域ではないと判定され（Ｓ３０２：Ｎ）、制御部１０８は、ユーザが背景領域２０６に気付いていると判定し、領域Ａに表示されている画像をスクロールさせると判定する（Ｓ３０５）。その結果、制御部１０８は、図１５のＳ２０７に処理を進め、領域Ａに表示されている画像をスクロールさせると判定し（Ｓ２０７：Ｙ）。現在の領域Ａ（つまり背景領域２０６）をスクロール対象領域と決定する（Ｓ２０６）。その後、制御部１０８は、現在時刻を前回のスクロール時刻として記憶するとともにタッチ点やスクロール対象領域の情報を記憶部１０９に格納する（Ｓ２１０）。
【０１５８】
次に、制御部１０８での処理は図４に戻り、スクロール対象領域と判定された背景領域２０６に表示されている画像をスクロールさせる（Ｓ１０３）。その後、タッチ点がリリースされたか否かが判定される（Ｓ１０４）。その後、図１４（ｂ）の位置１００２に指が達してタッチ点がリリースされるまでは、図４のＳ１０１、Ｓ１０３及びＳ１０４の処理が順次繰り返し実行される。タッチ点がリリースされた場合には処理を終了する。
【０１５９】
［操作例Ｊ］
操作例Ｊでは、操作例Ｉとは異なり、図７（ｂ）に示すように、タッチパネル２１０に、１回目のドラッグを開始する時点において既に地図領域２０７が表示されている。ユーザはまず図７（ｂ）において地図領域２０７内のタッチ位置５０３をタッチしてドラッグする。その結果、地図領域２０７がスクロールし、１回目のドラッグ終了後には、図１４（ｃ）に示されるように、タッチパネル２１０にメッセージ領域９０３が表示される。この１回目のドラッグ操作から２００[ms]が経過したあと、ユーザは地図領域２０７を再びドラッグしようとする。しかしユーザは、表示されたメッセージ領域９０３に気付かず、誤ってメッセージ領域９０３内のタッチ位置１００３をタッチしてドラッグしてしまう。このとき制御部１０８は、ユーザがメッセージ領域９０３に気付いていないと判定する。その結果、制御部１０８は、地図領域２０７に表示されている画像をスクロールさせる。以下にその詳細を示す。
【０１６０】
操作例Ｊにおける１回目のドラッグ操作時に実行される処理は、操作例Ｊと同様に最初の画面が図７（ｂ）となっている操作例Ｃにおける１回目のドラッグ操作時に実行される処理と同一であるので、その詳細は省略する。ただし、操作例Ｃでは、１回目のドラッグ後の状態は図７（ｃ）で示されるが、この操作例Ｊにおいては、１回目のドラッグ後の状態は図１４（ｃ）で示される。
【０１６１】
次に２回目のドラッグ操作時に実行される処理を説明する。図１４（ｃ）に示される位置１００３をユーザがタッチし、タッチした指を初めて移動させると、図４に示す処理が実行される。制御部１０８は、今回のタッチ点の移動がこの２回目のドラッグ操作における最初の移動であると判定し（Ｓ１０１）、スクロール対象領域を決定する（Ｓ１０２）。
【０１６２】
上述の各操作例では、図４のＳ１０２の処理として、図５のフローチャートに示される処理を行っている。しかし、この操作例Ｊの２回目の操作においては、図１５のフローチャートに示される処理が実行される。図１５を参照すると、制御部１０８は、タッチ開始位置を取得し（Ｓ２０４）、取得した位置に表示されている領域Ａを取得する（Ｓ２０５）。この例では、図１４（ｂ）の位置１００１はメッセージ領域９０３にあることから、領域Ａはメッセージ領域９０３となる。次に、領域Ａに表示されている画像をスクロール対象とするか否かを判定する（Ｓ２０６）。
【０１６３】
図５のＳ２０６の詳細を表す図６に示されるように、制御部１０８は、タッチされた時刻が前回のスクロール時刻から一定時間以内であるかを判定する（Ｓ３０１）。この例では、前回のスクロール時刻から経過した時間は２００[ms]であり、この値は設定された最大操作間隔値の５００[ms]より小さいので、一定時間以内と判定され（Ｓ３０１：Ｙ）、Ｓ３０２へ進む。次に、前回のスクロール対象が領域Ａの祖先にあたる領域かが判定される（Ｓ３０２）。前回のスクロール対象はメッセージ領域９０３の祖先である地図領域２０７であることから（Ｓ３０２：Ｙ）、Ｓ３０３へ進む。制御部１０８は、タッチ位置５０３がスクロール指示無効範囲２０９内に含まれているかを判定する（Ｓ３０３）。この例では、タッチ位置５０３はスクロール指示無効範囲２０９内に含まれているので（Ｓ３０３：Ｙ）、ステップＳ３０４へ進み、ユーザが領域Ａ（ここではメッセージ領域９０３）に気付いていないと判定する。その結果、領域Ａに表示されている画像について、スクロールは行わないと判定する（Ｓ３０４）。
【０１６４】
制御部１０８は、図６のＳ３０４における判定を行った後に、図１５に戻って処理をＳ２０７に進め、領域Ａに表示されている画像をスクロールさせないと判定する（Ｓ２０７：Ｎ）。その後、制御部１０８は、領域Ａの親の領域が存在するか否かを判定する（Ｓ７０１）。この例では、領域Ａはメッセージ領域９０３であり、その親にあたる領域として地図領域２０７が存在する。従って、制御部１０８は、領域Ａの親領域があると判定し（Ｓ７０１：Ｙ）、現在の領域Ａの親領域（この例では地図領域２０７）を改めて領域Ａと判定する（Ｓ７０２）。
【０１６５】
Ｓ７０２を実行した後、処理はＳ２０６に戻る。図５のＳ２０６の詳細を表す図６に示されるように、制御部１０８は、タッチされた時刻が前回のスクロール時刻から一定時間以内であるかを判定する（Ｓ３０１）。この例では、前回のスクロール時刻から経過した時間は２００[ms]であり、この値は設定された最大操作間隔値の５００[ms]より小さいので、一定時間以内と判定され（Ｓ３０１：Ｙ）、Ｓ３０２へ進む。
【０１６６】
次に、前回のスクロール対象が現在の領域Ａ、つまり地図領域２０７の祖先にあたる領域であるかが判定される（Ｓ３０２）。前回のスクロール対象は、現在の領域Ａと同じく地図領域２０７である。従って、前回のスクロール対象は現在の領域Ａの祖先にあたる領域ではないと判定され（Ｓ３０２：Ｎ）、制御部１０８は、ユーザが地図領域２０７に気付いていると判定し、領域Ａに表示されている画像をスクロールさせると判定する（Ｓ３０５）。その結果、制御部１０８は、図１５のＳ２０７に処理を進め、領域Ａに表示されている画像をスクロールさせると判定し（Ｓ２０７：Ｙ）。現在の領域Ａに表示されている画像をスクロール対象領域と決定する（Ｓ２０６）。その後、制御部１０８は、現在時刻を前回のスクロール時刻として記憶するとともにタッチ点やスクロール対象領域の情報を記憶部１０９に格納する（Ｓ２１０）。
【０１６７】
制御部１０８での処理は図４に戻り、スクロール対象領域と判定された地図領域２０７をスクロールさせる（Ｓ１０３）。その後、タッチ点がリリースされたか否かが判定される（Ｓ１０４）。その後、図１４（ｃ）の位置１００４に指が達してタッチ点がリリースされるまでは、図４のＳ１０１、Ｓ１０３及びＳ１０４の処理が順次繰り返し実行される。タッチ点がリリースされた場合には処理を終了する。
【０１６８】
［操作例Ｋ］
操作例Ｋでは、ユーザがメッセージ領域９０３に気付いたうえでメッセージ領域９０３をドラッグしたときに、直前に背景領域をドラッグしていても、メッセージ領域９０３がスクロールされる例を示す。
【０１６９】
操作例Kでは、ユーザはまず、背景領域２０６をタッチし、ドラッグする。その結果、背景領域２０６がスクロールしてタッチパネル２１０に地図領域２０７と地図領域２０７に含まれるメッセージ領域９０３が表示される。このとき、地図領域２０７とメッセージ領域９０３はスクロール指示無効範囲２０９をはみ出している。この１回目のドラッグ操作から２００[ms]が経過したあと、ユーザは図１４（ｄ）に示される、メッセージ領域９０３内のタッチ位置１００５をタッチし、ドラッグしようとする。このとき制御部１０８は、ユーザがメッセージ領域９０３に気付いていると判定し、その結果、制御部１０８は、メッセージ領域９０３をスクロールさせる。以下にその詳細を示す。
【０１７０】
まず１回目のドラッグ操作時に実行される処理は、操作例Ａにおける１回目のドラッグ操作時に実行される処理と同じであるため説明を省略する。ただし、操作例Ａとは異なり、１回目のドラッグ操作終了後の状態は図１４（ｄ）に示されるものとなる。次に２回目のドラッグ操作時に実行される処理を説明する。図１４（ｄ）に示される位置１００５をユーザがタッチし、タッチした指を初めて移動させると、図４に示す処理が実行される。制御部１０８は、今回のタッチ点の移動がこの２回目のドラッグ操作における最初の移動であると判定し（Ｓ１０１）、スクロール対象領域を決定する（Ｓ１０２）。
【０１７１】
図４のＳ１０２の詳細を説明する図である図５を参照すると、制御部１０８は、タッチ開始位置を取得し（Ｓ２０４）、取得した位置に表示されている領域Ａを取得する（Ｓ２０５）。この例では、図１４（ｂ）の位置１００１はメッセージ領域９０３にあることから、領域Ａはメッセージ領域９０３となる。次に、領域Ａに表示されている画像をスクロール対象とするか否かを判定する（Ｓ２０６）。
【０１７２】
本実施形態において図５のＳ２０６の詳細を表す図１２に示されるように、制御部１０８は、タッチされた時刻が前回のスクロール時刻から一定時間以内であるかを判定する（Ｓ３０１）。この例では、前回のスクロール時刻から経過した時間は２００[ms]であり、この値は設定された最大操作間隔値の５００[ms]より小さいので、一定時間以内と判定され（Ｓ３０１：Ｙ）、Ｓ３０２へ進む。
【０１７３】
次に、前回のスクロール対象が領域Ａの祖先にあたる領域かが判定される（Ｓ３０２）。前回のスクロール対象はメッセージ領域９０３の祖先である地図領域２０７であることから（Ｓ３０２：Ｙ）、Ｓ３０３へ進む。制御部１０８は、タッチ位置５０３がスクロール指示無効範囲２０９内に含まれているかを判定する（Ｓ３０３）。
【０１７４】
制御部１０８は、タッチ位置５０３はスクロール指示無効範囲２０９内に含まれていないと判定する（Ｓ３０３：Ｎ）。その後、制御部１０８は、ユーザはメッセージ領域９０３に気付いていると判定し、領域Ａに表示されている画像をスクロールさせると判定する（Ｓ３０５）。
【０１７５】
制御部１０８は、図１２のＳ３０４における判定を行った後に、処理を図１５のＳ２０７に進め、領域Ａに表示されている画像をスクロールさせると判定する（Ｓ２０７：Ｙ）。その後、制御部１０８は、領域Ａ、つまりメッセージ領域９０３をスクロール対象領域と決定する（Ｓ２０８）。その後、制御部１０８は、現在時刻を前回のスクロール時刻として記憶するとともにタッチ点やスクロール対象領域の情報を記憶部１０９に格納する（Ｓ２１０）。
【０１７６】
次に、制御部１０８での処理は図４に戻り、スクロール対象領域と判定されたメッセージ領域９０３をスクロールさせる（Ｓ１０３）。その後、タッチ点がリリースされたか否かが判定される（Ｓ１０４）。その後、図１４（ｃ）の位置１００４に指が達してタッチ点がリリースされるまで、図４のＳ１０１、Ｓ１０３及びＳ１０４の処理が順次繰り返し実行される。タッチ点がリリースされた場合には処理を終了する。以上で示したように、第３実施形態は、領域２０１の親子関係が複数階層になる場合でもユーザが領域２０１に気付いているか否かを判定することで誤操作を減らすことができる。
【０１７７】
なお、上述の各実施形態に記載した装置は、これら各実施形態の機能を実現するソフトウェアのプログラムコード（制御プログラム）を記録した記憶媒体をシステムあるいは装置に供給することで実現することもできる。この場合、そのシステムあるいは装置のコンピュータ(またはＣＰＵやＭＰＵ)が記憶媒体に格納されたコンピュータ読取可能なプログラムコードを読み出し実行する。
【０１７８】
この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。プログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード、ＲＯＭなどを用いることができる。
【０１７９】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけではない。そのプログラムコードの指示に基づき、コンピュータ上で稼働しているＯＳ(オペレーティングシステム)などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。
【０１８０】
更に、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれる。その後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。
【図１】
2014194747.tif 000003
【図２】
2014194747.tif 000004
【図４】
2014194747.tif 000005
【図５】
2014194747.tif 000006
【図６】
2014194747.tif 000007
【図８】
2014194747.tif 000008
【図１０】
2014194747.tif 000009
【図１１】
2014194747.tif 000010
【図１２】
2014194747.tif 000011
【図１３】
2014194747.tif 000012
【図１５】
2014194747.tif 000013
【図３】
2014194747.tif 000014
【図７】
2014194747.tif 000015
【図９】
2014194747.tif 000016
【図１４】
2014194747.tif 000017
【図１６】
2014194747.tif 000018