(57)【特許請求の範囲】
【請求項１】
部分的にスクロール可能な第１領域及び部分的にスクロールしない第２領域を含む画面を表示するディスプレイと、
前記画面をスクロールさせるジェスチャを検出するタッチスクリーンと、
前記ジェスチャを検出すると、当該ジェスチャの開始位置に対応する対象をスクロールさせるコントローラと、
を備え、
前記コントローラは、
前記第１領域を開始位置とする前記ジェスチャを検出した場合に、前記画面の第１領域を部分的にスクロールさせずに、前記画面の全体をスクロールさせる電子機器であって、
前記コントローラは、
前記第１領域を開始位置とする前記ジェスチャの開始位置が、第１方向において、前記画面の全体のスクロールさせたジェスチャの開始位置から第１距離以内であり、前記第１方向と交わる第２方向において、前記画面の全体のスクロールさせたジェスチャの開始位置から前記第１距離よりも小さい第２距離以内である場合に、前記画面の第１領域を部分的にスクロールさせずに、前記画面の全体をスクロールさせる
電子機器。
【請求項２】
前記コントローラは、
前記画面の全体をスクロール移動させているときに、前記第１領域を開始位置とする前記ジェスチャを検出した場合に、前記第１領域を開始位置とする前記ジェスチャの開始位置が、前記第１方向において、前記画面の全体のスクロールを開始させたジェスチャの開始位置から第１距離以内であり、前記第２方向において、前記画面の全体のスクロールを開始させたジェスチャの開始位置から前記第２距離以内である場合に、前記画面の第１領域を部分的にスクロールさせずに、前記画面の全体をスクロールさせる
請求項１に記載の電子機器。
【請求項３】
前記コントローラは、
前記第１領域を開始位置とする前記ジェスチャを検出したときに、
前記画面の全体のスクロールが終了してから第１の時間が経過していなければ、全体をスクロールさせ、
前記画面の全体のスクロールが終了してから前記第１の時間が経過していれば、前記画面の第１領域を部分的にスクロールさせる
請求項１に記載の電子機器。
【請求項４】
前記コントローラは、
前記画面の全体をスクロールさせているときに、第２の時間よりも長く継続する接触が前記第１領域において検出された後に、前記第１領域を開始位置とする前記ジェスチャを検出した場合に、
前記第１領域を部分的にスクロール移動させる
請求項１に記載の電子機器。
【請求項５】
前記コントローラは、前記第１領域への最初のタップ操作を無効とする請求項１に記載の電子機器。
【請求項６】
ディスプレイ及びタッチスクリーンを備える電子機器の制御方法であって、
部分的にスクロール可能な第１領域及び部分的にスクロールしない第２領域を含む画面を前記ディスプレイに表示するステップと、
前記画面をスクロールさせるジェスチャを前記タッチスクリーンを介して検出するステップと、
前記ジェスチャが検出されたときに、当該ジェスチャの開始位置に対応する対象をスクロールさせるステップと、
を含み、
前記スクロールさせるステップには、
前記第１領域を開始位置とする前記ジェスチャが検出された場合に、
前記画面の第１領域を部分的にスクロールさせずに、前記画面の全体をスクロールさせるステップと、
前記第１領域を開始位置とする前記ジェスチャの開始位置が、第１方向において、前記画面の全体のスクロールさせたジェスチャの開始位置から第１距離以内であり、前記第１方向と交わる第２方向において、前記画面の全体のスクロールさせたジェスチャの開始位置から前記第１距離よりも小さい第２距離以内である場合に、前記画面の第１領域を部分的にスクロールさせずに、前記画面の全体をスクロールさせるステップと、が含まれる
制御方法。
【請求項７】
ディスプレイ及びタッチスクリーンを備える電子機器に、
部分的にスクロール可能な第１領域及び部分的にスクロールしない第２領域を含む画面を前記ディスプレイに表示するステップと、
前記画面をスクロールさせるジェスチャを前記タッチスクリーンを介して検出するステップと、
前記ジェスチャが検出されたときに、当該ジェスチャの開始位置に対応する対象をスクロールさせるステップと、
を実行させ、
前記スクロールさせるステップには、
前記第１領域を開始位置とする前記ジェスチャが検出された場合に、
前記画面の第１領域を部分的にスクロールさせずに、前記画面の全体をスクロールさせるステップと、
前記第１領域を開始位置とする前記ジェスチャの開始位置が、第１方向において、前記画面の全体のスクロールさせたジェスチャの開始位置から第１距離以内であり、前記第１方向と交わる第２方向において、前記画面の全体のスクロールさせたジェスチャの開始位置から前記第１距離よりも小さい第２距離以内である場合に、前記画面の第１領域を部分的にスクロールさせずに、前記画面の全体をスクロールさせるステップと、が含まれる
制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本出願は、電子機器、制御方法、及び制御プログラムに関する。
【背景技術】
【０００２】
ディスプレイを備える電子機器は、ディスプレイの表示領域よりも大きな画面を表示する場合、画面の一部のみをディスプレイに表示し、ディスプレイに表示される部分をスクロールによって変更する制御を行う。タッチスクリーンをさらに備える電子機器は、スクロールを行うための操作として、フリック及びスワイプ等のスクロールジェスチャを利用者から受け付ける（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１３−２１１０３１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
タッチスクリーンを備える電子機器は、スクロールジェスチャが検出された位置を基準として画面をスクロールする。しかしながら、スクロールジェスチャが行われる位置によっては、ユーザの意図に合ったスクロールが行われない場合がある。
【課題を解決するための手段】
【０００５】
１つの態様に係る電子機器は、部分的にスクロール可能な第１領域及び部分的にスクロールしない第２領域を含む画面を表示するディスプレイと、前記画面をスクロールさせるジェスチャを検出するタッチスクリーンと、前記ジェスチャを検出すると、当該ジェスチャの開始位置に対応する対象をスクロールさせるコントローラと、を備える。前記コントローラは、前記画面の全体をスクロール移動させているときに、前記第１領域を開始位置とする前記ジェスチャを検出した場合に、前記画面の第１領域を部分的にスクロールさせずに、前記画面の全体をスクロールさせる。
【０００６】
１つの態様に係る制御方法は、ディスプレイ及びタッチスクリーンを備える電子機器の制御方法であって、部分的にスクロール可能な第１領域及び部分的にスクロールしない第２領域を含む画面を前記ディスプレイに表示するステップと、前記画面をスクロールさせるジェスチャを前記タッチスクリーンを介して検出するステップと、前記ジェスチャが検出されたときに、当該ジェスチャの開始位置に対応する対象をスクロールさせるステップと、を含む。前記スクロールさせるステップには、前記画面の全体をスクロール移動させているときに、前記第１領域を開始位置とする前記ジェスチャが検出された場合に、前記画面の第１領域を部分的にスクロールさせずに、前記画面の全体をスクロールさせるステップが含まれる。
【０００７】
１つの態様に係る制御プログラムは、ディスプレイ及びタッチスクリーンを備える電子機器に、部分的にスクロール可能な第１領域及び部分的にスクロールしない第２領域を含む画面を前記ディスプレイに表示するステップと、前記画面をスクロールさせるジェスチャを前記タッチスクリーンを介して検出するステップと、前記ジェスチャが検出されたときに、当該ジェスチャの開始位置に対応する対象をスクロールさせるステップと、を実行させる。前記スクロールさせるステップには、前記画面の全体をスクロール移動させているときに、前記第１領域を開始位置とする前記ジェスチャが検出された場合に、前記画面の第１領域を部分的にスクロールさせずに、前記画面の全体をスクロールさせるステップが含まれる。
【図面の簡単な説明】
【０００８】
【図１】図１は、実施形態に係る電子機器の斜視図である。
【図２】図２は、電子機器のブロック図である。
【図３】図３は、部分的にスクロール可能な領域を含む画面の例を示す図である。
【図４】図４は、スクロール制御の処理手順の例を示すフローチャートである。
【図５】図５は、スクロール制御の処理手順の他の例を示すフローチャートである。
【図６】図６は、近傍の判定の例を示す図である。
【図７】図７は、近傍の判定の他の例を示す図である。
【図８】図８は、近傍の判定の他の例を示す図である。
【図９】図９は、近傍と判定される領域を表示する例を示す図である。
【図１０】図１０は、スクロール制御の処理手順の他の例を示すフローチャートである。
【図１１】図１１は、スクロールバーを利用したスクロール制御の例を示す図である。
【発明を実施するための形態】
【０００９】
実施形態を、図面を参照しつつ詳細に説明する。以下では、電子機器の例として、スマートフォンについて説明する。以下の説明では、同様の部分には同一の符号を付し、既に説明した部分については説明を繰り返さないことがある。
【００１０】
（実施形態）
図１及び図２を参照しながら、実施形態に係る電子機器１の構成について説明する。図１は、電子機器１の斜視図である。図２は、電子機器１のブロック図である。電子機器１は、いわゆるスマートフォンである。
【００１１】
図１及び図２に示すように、電子機器１は、タッチスクリーンディスプレイ２と、通信ユニット６と、ストレージ９と、コントローラ１０とを有する。
【００１２】
タッチスクリーンディスプレイ２は、ディスプレイ２Ａと、タッチスクリーン２Ｂとを有する。ディスプレイ２Ａは、液晶ディスプレイ（ＬＣＤ：Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ）、有機ＥＬディスプレイ（ＯＥＬＤ：Ｏｒｇａｎｉｃ  Ｅｌｅｃｔｒｏ−Ｌｕｍｉｎｅｓｃｅｎｃｅ  Ｄｉｓｐｌａｙ）、又は無機ＥＬディスプレイ（ＩＥＬＤ：Ｉｎｏｒｇａｎｉｃ  Ｅｌｅｃｔｒｏ−Ｌｕｍｉｎｅｓｃｅｎｃｅ  Ｄｉｓｐｌａｙ）等の表示デバイスを備える。ディスプレイ２Ａは、文字、画像、記号、及び図形等を表示する。
【００１３】
タッチスクリーン２Ｂは、タッチスクリーン２Ｂに対する指、ペン、又はスタイラスペン等の接触を検出する。タッチスクリーン２Ｂの検出方式は、静電容量方式、抵抗膜方式、表面弾性波方式（又は超音波方式）、赤外線方式、電磁誘導方式、及び荷重検出方式等の任意の方式でよい。以下の説明では、説明を簡単にするため、ユーザは電子機器１を操作するために指を用いてタッチスクリーン２Ｂに接触するものと想定する。
【００１４】
電子機器１は、タッチスクリーン２Ｂにより検出された接触、接触が検出された位置、接触が検出された位置の変化、接触が検出された間隔、及び接触が検出された回数の少なくとも１つに基づいてジェスチャの種別を判別する。ジェスチャは、タッチスクリーン２Ｂに対して行われる操作である。電子機器１によって判別されるジェスチャは、例えば、タッチ、リリース、タップ、スワイプ、ドラッグ、及びフリックを含むがこれらに限定されない。
【００１５】
「タッチ」は、タッチスクリーン２Ｂに指が触れるジェスチャである。「リリース」は、指がタッチスクリーン２Ｂから離れるジェスチャである。「タップ」は、タッチに続いてリリースをするジェスチャである。「スワイプ」は、指がタッチスクリーン２Ｂに接触したままで移動するジェスチャである。「ドラッグ」は、移動可能なオブジェクトが表示されている領域を始点としてスワイプをするジェスチャである。「フリック」は、指が、タッチスクリーン２Ｂに触れた後移動しながらタッチスクリーン２Ｂから離れるジェスチャである。
【００１６】
通信ユニット６は、無線により通信する。通信ユニット６によってサポートされる通信方式は、無線通信規格である。無線通信規格として、例えば、２Ｇ、３Ｇ、４Ｇ等のセルラーフォンの通信規格がある。セルラーフォンの通信規格として、例えば、ＬＴＥ（Ｌｏｎｇ  Ｔｅｒｍ  Ｅｖｏｌｕｔｉｏｎ）、Ｗ−ＣＤＭＡ（Ｗｉｄｅｂａｎｄ  Ｃｏｄｅ  Ｄｉｖｉｓｉｏｎ  Ｍｕｌｔｉｐｌｅ  Ａｃｃｅｓｓ）、ＣＤＭＡ２０００、ＰＤＣ（Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ｃｅｌｌｕｌａｒ）、ＧＳＭ（登録商標）（Ｇｌｏｂａｌ  Ｓｙｓｔｅｍ  ｆｏｒ  Ｍｏｂｉｌｅ  Ｃｏｍｍｕｎｉｃａｔｉｏｎｓ）、ＰＨＳ（Ｐｅｒｓｏｎａｌ  Ｈａｎｄｙ−ｐｈｏｎｅ  Ｓｙｓｔｅｍ）等がある。無線通信規格として、さらに、例えば、ＷｉＭＡＸ（Ｗｏｒｌｄｗｉｄｅ  Ｉｎｔｅｒｏｐｅｒａｂｉｌｉｔｙ  ｆｏｒ  Ｍｉｃｒｏｗａｖｅ  Ａｃｃｅｓｓ）、ＩＥＥＥ８０２．１１、Ｂｌｕｅｔｏｏｔｈ（登録商標）、ＩｒＤＡ（Ｉｎｆｒａｒｅｄ  Ｄａｔａ  Ａｓｓｏｃｉａｔｉｏｎ）、ＮＦＣ（Ｎｅａｒ  Ｆｉｅｌｄ  Ｃｏｍｍｕｎｉｃａｔｉｏｎ）等がある。通信ユニット６は、上述した通信規格の１つ又は複数をサポートしていてもよい。通信ユニット６は、有線による通信をサポートしてもよい。有線による通信は、例えば、イーサネット（登録商標）、ファイバーチャネル等を含む。
【００１７】
ストレージ９は、プログラム及びデータを記憶する。ストレージ９は、コントローラ１０の処理結果を一時的に記憶する作業領域としても利用される。ストレージ９は、半導体記憶媒体、及び磁気記憶媒体等の任意の非一過的（ｎｏｎ−ｔｒａｎｓｉｔｏｒｙ）な記憶媒体を含んでよい。ストレージ９は、複数の種類の記憶媒体を含んでよい。ストレージ９は、メモリカード、光ディスク、又は光磁気ディスク等の可搬の非一過的な記憶媒体と、記憶媒体の読み取り装置との組み合わせを含んでよい。ストレージ９は、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）等の一時的な記憶領域として利用される記憶デバイスを含んでよい。
【００１８】
ストレージ９に記憶されるプログラム及びデータは、通信ユニット６による通信を介してストレージ９にインストールされてもよい。ストレージ９に記憶されるプログラム及びデータは、可搬の非一過的な記憶媒体を介してストレージ９にインストールされてもよい。
【００１９】
ストレージ９は、例えば、制御プログラム９Ａと、ブラウザプログラム９Ｂとを記憶する。ブラウザプログラム９Ｂは、通信ユニット６による通信を介してＷＥＢページを取得し、取得したＷＥＢページを表示するブラウザ機能を提供する。
【００２０】
制御プログラム９Ａは、電子機器１を稼働させるための各種制御に関する機能を提供する。制御プログラム９Ａが提供する機能には、タッチスクリーン２Ｂを介して検出されたジェスチャに応じて、ディスプレイ２Ａに表示される情報を変更する機能が含まれる。制御プログラム９Ａが提供する機能は、ブラウザプログラム９Ｂ等の他のプログラムが提供する機能と組み合わせて利用されることがある。
【００２１】
コントローラ１０は、演算処理装置である。演算処理装置は、例えば、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、ＳｏＣ（Ｓｙｓｔｅｍ−ｏｎ−ａ−ｃｈｉｐ）、ＭＣＵ（Ｍｉｃｒｏ  Ｃｏｎｔｒｏｌ  Ｕｎｉｔ）、及びＦＰＧＡ（Ｆｉｅｌｄ−Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）を含むが、これらに限定されない。コントローラ１０は、電子機器１の動作を統括的に制御して各種の機能を実現する。
【００２２】
具体的には、コントローラ１０は、ストレージ９に記憶されているデータを必要に応じて参照しつつ、ストレージ９に記憶されているプログラムに含まれる命令を実行する。そして、コントローラ１０は、データ及び命令に応じて機能部を制御し、それによって各種機能を実現する。機能部は、例えば、ディスプレイ２Ａ、及び通信ユニット６を含むが、これらに限定されない。コントローラ１０は、検出部の検出結果に応じて、制御を変更することがある。検出部は、例えば、タッチスクリーン２Ｂを含むが、これに限定されない。
【００２３】
コントローラ１０は、例えば、制御プログラム９Ａを実行することにより、タッチスクリーン２Ｂを介して検出されたジェスチャに応じて、ディスプレイ２Ａに表示される情報を変更する等の各種制御を実行する。
【００２４】
図３及び４を参照しながら、制御プログラム９Ａが提供する機能に基づいてコントローラ１０が実行する制御の例について説明する。制御プログラム９Ａが提供する機能に基づいてコントローラ１０が実行する制御には、部分的にスクロール可能な領域を含む画面におけるスクロール制御が含まれる。
【００２５】
図３は、部分的にスクロール可能な領域を含む画面の例を示す図である。図３に示す画面４０は、ディスプレイ２Ａに表示される。図３に示すステップＳ１１において、画面４０は、第１領域４１と、第２領域４２とを含んでいる。
【００２６】
第１領域４１は、部分的にスクロール可能な領域である。換言すると、第１領域４１は、表示のために第１領域４１よりも広い領域を要するコンテンツの一部を表示し、かつ画面４０全体とは独立してスクロール可能な領域である。
【００２７】
第２領域４２は、部分的にはスクロールしない領域である。換言すると、第２領域４２は、表示のために第２領域４２よりも広い領域を要するコンテンツの一部を表示し、かつ画面４０全体がスクロールするときに連動してスクロールする領域である。第２領域４２がスクロールするとき、第１領域４１は、スクロールに連動して表示位置が変更されてもよいし、そのままの位置に留まってもよい。以下の説明では、第２領域４２がスクロールするとき、第１領域４１は、スクロールに連動して表示位置が変更されるものとする。
【００２８】
一つの例として、第１領域４１は、ブラウザプログラム９Ｂが提供するブラウザ機能に基づいて表示されるブラウザ画面に含まれるインラインフレームであり、第２領域４２は、インラインフレーム以外の領域である。他の例として、第１領域４１は、ホーム画面のページの一つ上に配置されたスクロール可能なウィジェットであり、第２領域４２は、そのページの他の領域である。
【００２９】
このように、ステップＳ１１において、画面４０は、画面４０全体がスクロールするときに連動してスクロールする第２領域４２と、画面４０の全体スクロールとは独立してスクロールする第１領域４１とを含んでいる。このため、コントローラ１０は、タッチスクリーン２Ｂを介して検出されたスクロールジェスチャに応じて、画面４０全体をスクロールさせるか、第１領域４１を部分的にスクロールさせるかを切り換える。
【００３０】
スクロールジェスチャは、例えば、スワイプ又はフリックである。一般的には、第２領域４２でスクロールジェスチャが検出された場合には、ステップＳ１２のように画面４０全体がスクロールされる。一方、第１領域４１でスクロールジェスチャが検出された場合にはステップＳ１３のように第１領域４１が部分的にスクロールされる。
【００３１】
しかしながら、この場合、ユーザが画面４０全体をスクロールさせるためのスクロールジェスチャを繰り返して行っているときに、意図せずに、第１領域４１でスクロールジェスチャを行ってしまうことがある。このような場合に、第１領域４１でスクロールジェスチャが検出されたからといって、画面４０の全体スクロールを停止し、第１領域４１の部分的なスクロールを開始する制御が行われると、ユーザは、意図と異なる結果に困惑する可能性がある。
【００３２】
さらに、第１領域４１が広い場合には、ユーザが画面４０全体をスクロールさせるためのスクロールジェスチャを行ったときに、全体スクロールに連動した表示位置の変更により、第１領域４１がディスプレイ２Ａの表示領域を占有してしまうことがある。この場合、第１領域４１でスクロールジェスチャが検出されたからといって、画面４０の全体スクロールを停止し、第１領域４１の部分的なスクロールを開始する制御が行われると、ユーザは、画面４０全体をスクロールさせることができなくなる可能性がある。これは、画面４０全体をスクロールさせるためのスクロールジェスチャが行われる第２領域４２が表示領域外に隠れてしまっているためである。
【００３３】
このような課題を解決するために、コントローラ１０は、画面４０全体がスクロールしているときには、第１領域４１でスクロールジェスチャが検出されても、第１領域４１を部分的にスクロールさせることなく、画面４０全体をスクロールさせる。換言すると、コントローラ１０は、画面４０全体がスクロールしていないときには、第１領域４１で検出されたスクロールジェスチャを、第１領域４１を部分的にスクロールさせるためのジェスチャとして扱う。一方、コントローラ１０は、画面４０全体がスクロールしているときには、第１領域４１で検出されたスクロールジェスチャを、画面４０全体をスクロールさせるためのジェスチャとして扱う。
【００３４】
このような制御により、ユーザが画面４０全体をスクロールさせているときに、意図せずに、第１領域４１でスクロールジェスチャを行ってしまった場合にも、ユーザの意図に沿って全体スクロールが継続される。さらに、画面４０の全体スクロール中に第１領域４１がディスプレイ２Ａの表示領域を占有してしまった場合にも、全体スクロールを継続させることが可能である。このように、本実施形態によれば、ユーザの意図に合ったスクロール制御が実現される。
【００３５】
図４は、スクロール制御の処理手順の例を示すフローチャートである。図４に示す処理手順は、コントローラ１０が制御プログラム９Ａを実行することにより実現される。図４に示す処理手順は、第１領域４１を含む可能性がある画面の表示中にタッチスクリーン２Ｂを介してジェスチャが検出されたときに実行される。
【００３６】
ステップＳ１１０として、コントローラ１０は、ジェスチャの種別を判定する。ジェスチャがスクロールジェスチャでない場合（ステップＳ１２０，Ｎｏ）、コントローラ１０は、ステップＳ１３０に進む。ステップＳ１３０として、コントローラ１０は、ジェスチャに応じた通常の処理を実行する。
【００３７】
ジェスチャがスクロールジェスチャである場合（ステップＳ１２０，Ｙｅｓ）、コントローラ１０は、ステップＳ１４０に進む。ステップＳ１４０として、コントローラ１０は、ディスプレイ２Ａに表示されている画面が第１領域４１を含んでいるかを判定する。画面が第１領域４１を含んでいない場合（ステップＳ１４０，Ｎｏ）、コントローラ１０は、ステップＳ１５０に進む。ステップＳ１５０として、コントローラ１０は、通常のスクロール処理を実行する。
【００３８】
画面が第１領域４１を含んでいる場合（ステップＳ１４０，Ｙｅｓ）、コントローラ１０は、ステップＳ１６０に進む。ステップＳ１６０として、コントローラ１０は、スクロールジェスチャが第１領域４１で開始したかを判定する。スクロールジェスチャが第１領域４１で開始していない場合（ステップＳ１６０，Ｎｏ）、コントローラ１０は、ステップＳ１５０に進む。ステップＳ１５０として、コントローラ１０は、通常のスクロール処理を実行する。
【００３９】
スクロールジェスチャが第１領域４１で開始していた場合（ステップＳ１６０，Ｙｅｓ）、コントローラ１０は、ステップＳ１７０に進む。ステップＳ１７０として、コントローラ１０は、画面全体がスクロール中であるかを判定する。画面全体がスクロール中である場合（ステップＳ１７０，Ｙｅｓ）、コントローラ１０は、ステップＳ１８０に進む。ステップＳ１８０として、コントローラ１０は、画面全体をさらにスクロールさせる。一方、画面全体がスクロール中でない場合（ステップＳ１７０，Ｎｏ）、コントローラ１０は、ステップＳ１９０に進む。ステップＳ１９０として、コントローラ１０は、第１領域４１を部分的にスクロールさせる。
【００４０】
これまで、第１領域４１でスクロールジェスチャが検出されても、画面全体がスクロール中である場合には第１領域４１を部分的にスクロールさせることなく全体スクロールを継続させる制御について説明した。しかしながら、第１領域４１でスクロールジェスチャが検出されても全体スクロールを継続させる条件として、画面全体がスクロール中であること以外の条件をさらに考慮に入れてもよい。
【００４１】
一つの変形例として、第１領域４１でスクロールジェスチャが検出されても全体スクロールを継続させる条件として、スクロールジェスチャが行われた位置をさらに考慮してもよい。図５は、スクロールジェスチャが行われた位置をさらに考慮する場合のスクロール制御の処理手順の例を示すフローチャートである。
【００４２】
図５に示す処理手順においては、スクロールジェスチャが第１領域４１で開始しており（ステップＳ１６０，Ｙｅｓ）、かつ画面全体がスクロール中である場合（ステップＳ１７０，Ｙｅｓ）、コントローラ１０は、ステップＳ１７１に進む。ステップＳ１７１として、コントローラ１０は、全体スクロールの開始の契機となったスクロールジェスチャの開始位置を今回検出したスクロールジェスチャの開始位置と比較する。ここでいう開始位置とは、タッチスクリーン２Ｂを基準とする位置であり、スクロールしている画面を基準とする位置ではない。
【００４３】
今回検出したスクロールジェスチャの開始位置が全体スクロールの開始の契機となったスクロールジェスチャの開始位置の近傍である場合（ステップＳ１７２，Ｙｅｓ）、コントローラ１０は、ステップＳ１８０に進む。ステップＳ１８０として、コントローラ１０は、画面全体をさらにスクロールさせる。一方、今回検出したスクロールジェスチャの開始位置が全体スクロールの開始の契機となったスクロールジェスチャの開始位置の近傍でない場合（ステップＳ１７２，Ｎｏ）、コントローラ１０は、ステップＳ１９０に進む。ステップＳ１９０として、コントローラ１０は、第１領域４１を部分的にスクロールさせる。
【００４４】
一般に、ユーザは、画面全体をスクロールさせるためにスクロールジェスチャを繰り返す場合、毎回、同じ位置でスクロールジェスチャを開始するものと想定される。逆にいうと、ユーザが、画面全体のスクロールを開始させるためにスクロールジェスチャを行った位置とは異なる位置でスクロールジェスチャを行った場合、ユーザは、全体スクロールを継続させる以外の意図を有している可能性が高い。図５に示した例のようにスクロールジェスチャが行われた位置をさらに考慮することにより、よりユーザの意図に合ったスクロール制御が実現される。
【００４５】
図５のステップＳ１７１及びステップＳ１７２における近傍の判定の例について、図６から図８を参照しながらより詳細に説明する。図６から図８において、位置Ｐ１は、全体スクロールの開始の契機となったスクロールジェスチャの開始位置を示しており、矢印Ａ１は、スクロールジェスチャの方向、換言すると、全体スクロールの方向を示している。
【００４６】
一つの例として、コントローラ１０は、図６に示すように、位置Ｐ１を中心とする半径Ｄ１の円状の範囲Ｒ１内を位置Ｐ１の近傍として判定する。Ｄ１は、ユーザが同じ位置でスクロールジェスチャを開始しようとするときに生じる可能性のあるズレの最大値に相当する。Ｄ１は、予め決められていてもよいし、ユーザがタッチスクリーン２Ｂに対して行ったジェスチャに関する蓄積された情報に基づいて適応的に決められてもよいし、ユーザによって設定されてもよい。
【００４７】
他の例として、コントローラ１０は、図７に示すように、位置Ｐ１を基準として、矢印Ａ１の方向に±距離Ｄ１で、かつ矢印Ａ１と直交する方向に±距離Ｄ１の矩形の範囲Ｒ２内を位置Ｐ１の近傍として判定する。
【００４８】
他の例として、コントローラ１０は、図８に示すように、位置Ｐ１を基準として、矢印Ａ１と直交する方向に±距離Ｄ１の帯状の範囲Ｒ３内を位置Ｐ１の近傍として判定する。ユーザが、画面全体をスクロールさせるためにスワイプ又はフリックを繰り返す場合、指が全体スクロールの方向に沿って同じ直線上を何度も往復する。この場合、全体スクロールの方向と直交する方向においては指の位置のズレは小さいが、全体スクロールの方向においては指の位置のズレが大きくなりやすい。図８に示す例のように全体スクロールの方向における距離を無視して近傍を判定することにより、ユーザの意図しない位置のズレの影響を受けることなく、ユーザの意図に合ったスクロール制御が実現される。
【００４９】
図８に示した例では、全体スクロールの方向における距離を用いずに近傍が判定されるが、全体スクロールの方向においては指の位置のズレが大きくなりやすいという傾向を考慮しつつ全体スクロールの方向における距離をさらに用いて近傍を判定してもよい。例えば、全体スクロールの方向においては、距離Ｄ１の数倍の距離内であることを近傍の条件の一つとして用いてもよい。
【００５０】
コントローラ１０は、スクロールジェスチャを検出して画面の全体スクロールを開始させたときに、近傍と判定される範囲をディスプレイ２Ａに表示してもよい。図９は、図８に示した範囲Ｒ３を表示する例を示している。図９における領域４３が範囲Ｒ３に相当する。近傍と判定される範囲は、第１領域４１でスクロールジェスチャが検出されても全体スクロールが継続される期間中は表示され続ける。
【００５１】
このように、近傍と判定される範囲をディスプレイ２Ａに表示することにより、ユーザは、この範囲内でスクロールジェスチャを開始すれば意図通りに全体スクロールが行われることを容易に把握することができる。画面のどの部分がディスプレイ２Ａに表示されているかをユーザが把握しやすいように、コントローラ１０は、近傍と判定される範囲を半透明で表示することが好ましい。
【００５２】
他の変形例として、第１領域４１でスクロールジェスチャが検出されても全体スクロールを行う条件として、全体スクロールが終了してからの経過時間をさらに考慮してもよい。図１０は、全体スクロールが終了してからの経過時間をさらに考慮する場合のスクロール制御の処理手順の例を示すフローチャートである。
【００５３】
図１０に示す処理手順においては、スクロールジェスチャが第１領域４１で開始しているが（ステップＳ１６０，Ｙｅｓ）、画面全体がスクロール中ではない場合（ステップＳ１７０，Ｎｏ）、コントローラ１０は、ステップＳ１７５に進む。ステップＳ１７５として、コントローラ１０は、全体スクロールの終了からの経過時間を取得する。
【００５４】
経過時間が閾値よりも長くない場合（ステップＳ１７６，Ｎｏ）、コントローラ１０は、ステップＳ１８０に進む。ステップＳ１８０として、コントローラ１０は、画面全体をさらにスクロールさせる。一方、経過時間が閾値よりも長い場合（ステップＳ１７６，Ｙｅｓ）、コントローラ１０は、ステップＳ１９０に進む。ステップＳ１９０として、コントローラ１０は、第１領域４１を部分的にスクロールさせる。
【００５５】
図１０に示すスクロール制御では、第１領域４１でスクロールジェスチャが検出されても、全体スクロールの終了からの経過時間が閾値よりも長くなければ、全体スクロールが行われる。閾値は、ユーザが全体スクロールの終了を見過ごす可能性のある期間の長さに基づいて決定される。このように、全体スクロールの終了後に時間的な猶予を設けることにより、例えば、ユーザが全体スクロールの終了をうっかりと見過した場合にも、ユーザの意図に合ったスクロール制御が実現される。
【００５６】
他の変形例として、第１領域４１でスクロールジェスチャが検出されても全体スクロールを継続させる条件として、第１領域４１における接触の検出時間をさらに考慮してもよい。より具体的には、コントローラ１０は、全体スクロール中に第１領域４１においてスクロールジェスチャを検出した場合、第１領域４１において検出された直前の接触の継続時間を取得する。そして、コントローラ１０は、継続時間が所定時間よりも長い場合には、第１領域４１を部分的にスクロールさせ、継続時間が所定時間よりも長くない場合には、画面全体をさらにスクロールさせる。
【００５７】
この制御によれば、画面全体のスクロール中に第１領域４１を部分的にスクロールさせたくなった場合、ユーザは、意図的に第１領域４１への接触を所定時間継続した後に第１領域４１においてスクロールジェスチャを行えばよい。一方、画面全体のスクロール中に第１領域４１を部分的にスクロールさせたくない場合、ユーザは、位置を気にせずに、接触の継続を伴わない通常のスクロールジェスチャを行えばよい。このように、上記の制御によっても、ユーザの意図に合ったスクロール制御が実現される。
【００５８】
他の変形例として、画面全体のスクロール中又はスクロールの終了後に第１領域４１においてスクロールジェスチャ以外の１ないし複数のジェスチャが検出された場合、コントローラ１０は、検出された最初のジェスチャを無視してもよい。スクロールジェスチャ以外のジェスチャは、例えば、タップである。
【００５９】
第１領域４１には、スクロールジェスチャ以外のジェスチャに応じて何らかの処理が開始されるオブジェクトが配置されることがある。第１領域４１に配置されるオブジェクトは、例えば、ボタン、他のＷＥＢページへのリンク等である。画面全体をスクロールさせるためにスクロールジェスチャを繰り返しているときに、ユーザは、意図せずに第１領域４１に配置されたオブジェクトに触れてしまうことがある。このとき、オブジェクトに対応する処理が開始されてしまうと、ユーザがそれに戸惑うことがある。第１領域４１に対する最初のジェスチャを無視することにより、そのようにユーザが戸惑う可能性を低減でき、ユーザの意図に合ったスクロール制御が実現される。
【００６０】
他の変形例として、スクロールバーを利用してスクロール制御を行ってもよい。図１１は、スクロールバーを利用したスクロール制御の例を示す図である。図１１に示すステップＳ２１において、ユーザは、指Ｆ１を用いて、画面４０の第１領域４１をタップしている。
【００６１】
コントローラ１０は、第１領域４１内でのタップを検出すると、ステップＳ２２に示すように、第１領域４１の近傍にスクロールバー４４を表示する。スクロールバー４４は、スライダ４５を有している。スライダ４５の大きさは、第１領域４１に対応するコンテンツの全体に対する第１領域４１に表示されている部分の割合を示している。
【００６２】
ステップＳ２３では、ユーザが指Ｆ１を用いてスライダ４５を矢印Ａ２の方向にドラッグしている。コントローラ１０は、スライダ４５のドラッグを検出すると、ドラッグに応じて第１領域４１を部分的にスクロールさせる。その後、ステップＳ２４では、ユーザがスクロールバー４４以外の領域をタップしている。コントローラ１０は、スクロールバー４４の表示中にスクロールバー４４以外の領域に対するジェスチャを検出すると、スクロールバー４４を非表示にする。
【００６３】
図１１に示すスクロール制御では、スクロールバー４４が操作された場合にのみ、第１領域４１が部分的にスクロールされる。このため、ステップＳ２２に示すようにスクロールバー４４が表示されているときにステップＳ２５に示すように第１領域４１で矢印Ａ３の方向へのスクロールジェスチャが検出された場合、コントローラ１０は、第１領域４１を部分的にスクロールさせずに、画面４０の全体をスクロールさせる。このとき、スクロールバー４４以外の領域に対するジェスチャが検出されるため、スクロールバー４４は非表示となる。
【００６４】
このスクロール制御では、スクロールバー４４に対する操作であるか否かによって、第１領域４１が部分的にスクロールされるか、他の処理が行われるかが明確に区別される。このため、ユーザの意図に合ったスクロール制御が実現される。さらに、スクロールバー４４は、第１領域４１の部分的なスクロールが必要な場合にだけ表示されるので、スクロールバー４４が他の情報の表示を妨げることなく、ディスプレイ２Ａの表示領域が有効活用される。
【００６５】
本出願の開示する実施形態は、発明の要旨及び範囲を逸脱しない範囲で変更することができる。さらに、本出願の開示する実施形態及びその変形例は、適宜組み合わせることができる。例えば、上記の実施形態は、以下のように変形してもよい。
【００６６】
例えば、図２に示した各プログラムは、複数のモジュールに分割されていてもよい。あるいは、図２に示した各プログラムは、他のプログラムと結合されていてもよい。
【００６７】
上記の実施形態では、電子機器の例として、スマートフォンについて説明したが、添付の請求項に係る装置は、スマートフォンに限定されない。添付の請求項に係る装置は、スマートフォン以外の携帯電子機器であってもよい。携帯電子機器は、例えば、モバイルフォン、タブレット、携帯型パソコン、デジタルカメラ、メディアプレイヤ、電子書籍リーダ、ナビゲータ、及びゲーム機を含むが、これらに限定されない。添付の請求項に係る装置は、据え置き型の電子機器であってもよい。据え置き型の電子機器は、例えば、デスクトップパソコン、及びテレビ受像器を含むが、これらに限定されない。
【００６８】
添付の請求項に係る技術を完全かつ明瞭に開示するために特徴的な実施形態に関し記載してきた。しかし、添付の請求項は、上記実施形態に限定されるべきものでなく、本明細書に示した基礎的事項の範囲内で当該技術分野の当業者が創作しうるすべての変形例及び代替可能な構成を具現化するように構成されるべきである。
【符号の説明】
【００６９】
１    電子機器
２    タッチスクリーンディスプレイ
２Ａ  ディスプレイ
２Ｂ  タッチスクリーン
６    通信ユニット
９    ストレージ
９Ａ  制御プログラム
９Ｂ  ブラウザプログラム
１０  コントローラ
【図１】
0006430841.tif 000002
【図２】
0006430841.tif 000003
【図３】
0006430841.tif 000004
【図４】
0006430841.tif 000005
【図５】
0006430841.tif 000006
【図６】
0006430841.tif 000007
【図７】
0006430841.tif 000008
【図８】
0006430841.tif 000009
【図９】
0006430841.tif 000010
【図１０】
0006430841.tif 000011
【図１１】
0006430841.tif 000012