本発明を実施するための実施形態を、図面を参照しつつ詳細に説明する。以下では、タッチスクリーンディスプレイを備える電子機器の例として、スマートフォンについて説明する。
(実施形態)
図1及び2を参照しながら、実施形態に係るスマートフォン1の全体的な構成について説明する。図1及び2に示すように、スマートフォン1は、ハウジング20を有する。ハウジング20は、フロントフェイス1Aと、バックフェイス1Bと、サイドフェイス1C1〜1C4とを有する。フロントフェイス1Aは、ハウジング20の正面である。バックフェイス1Bは、ハウジング20の背面である。サイドフェイス1C1〜1C4は、フロントフェイス1Aとバックフェイス1Bとを接続する側面である。以下では、サイドフェイス1C1〜1C4を、どの面であるかを特定することなく、サイドフェイス1Cと総称することがある。
スマートフォン1は、タッチスクリーンディスプレイ2と、ボタン3A〜3Cと、照度センサ4と、近接センサ5と、レシーバ7と、マイク8と、カメラ12とをフロントフェイス1Aに有する。スマートフォン1は、スピーカ11と、カメラ13とをバックフェイス1Bに有する。スマートフォン1は、ボタン3D〜3Fと、コネクタ14とをサイドフェイス1Cに有する。以下では、ボタン3A〜3Fを、どのボタンであるかを特定することなく、ボタン3と総称することがある。
タッチスクリーンディスプレイ2は、ディスプレイ2Aと、タッチスクリーン2Bとを有する。図1の例では、ディスプレイ2A及びタッチスクリーン2Bはそれぞれ略長方形状であるが、ディスプレイ2A及びタッチスクリーン2Bの形状はこれに限定されない。ディスプレイ2A及びタッチスクリーン2Bは、それぞれが正方形又は円形等のどのような形状もとりうる。図1の例では、ディスプレイ2A及びタッチスクリーン2Bは重ねて配置されているが、ディスプレイ2A及びタッチスクリーン2Bの配置はこれに限定されない。ディスプレイ2A及びタッチスクリーン2Bは、例えば、並べて配置されてもよいし、離して配置されてもよい。図1の例では、ディスプレイ2Aの長辺はタッチスクリーン2Bの長辺に沿っており、ディスプレイ2Aの短辺はタッチスクリーン2Bの短辺に沿っているが、ディスプレイ2A及びタッチスクリーン2Bの重ね方はこれに限定されない。ディスプレイ2Aとタッチスクリーン2Bとが重ねて配置される場合、例えば、ディスプレイ2Aの1ないし複数の辺がタッチスクリーン2Bのいずれの辺とも沿っていなくてもよい。
ディスプレイ2Aは、液晶ディスプレイ(LCD:Liquid Crystal Display)、有機ELディスプレイ(OELD:Organic Electro−Luminescence Display)、又は無機ELディスプレイ(IELD:Inorganic Electro−Luminescence Display)等の表示デバイスを備える。ディスプレイ2Aは、文字、画像、記号、及び図形等を表示する。
タッチスクリーン2Bは、タッチスクリーン2Bに対する指、ペン、又はスタイラスペン等の接触を検出する。タッチスクリーン2Bは、複数の指、ペン、又はスタイラスペン等がタッチスクリーン2Bに接触した位置を検出することができる。以下の説明では、タッチスクリーン2Bに対して接触する指、ペン、又はスタイラスペン等を、「接触オブジェクト」又は「接触物」と呼ぶことがある。
タッチスクリーン2Bの検出方式は、静電容量方式、抵抗膜方式、表面弾性波方式(又は超音波方式)、赤外線方式、電磁誘導方式、及び荷重検出方式等の任意の方式でよい。以下の説明では、説明を簡単にするため、利用者はスマートフォン1を操作するために指を用いてタッチスクリーン2Bに接触するものと想定する。
スマートフォン1は、タッチスクリーン2Bにより検出された接触、接触が検出された位置、接触が検出された位置の変化、接触が検出された間隔、及び接触が検出された回数の少なくとも1つに基づいてジェスチャの種別を判別する。ジェスチャは、タッチスクリーン2Bに対して行われる操作である。スマートフォン1によって判別されるジェスチャは、例えば、タッチ、ロングタッチ、リリース、スワイプ、タップ、ダブルタップ、ロングタップ、ドラッグ、フリック、ピンチイン、及びピンチアウトを含むがこれらに限定されない。
「タッチ」は、タッチスクリーン2Bに指が触れるジェスチャである。スマートフォン1は、タッチスクリーン2Bに指が接触するジェスチャをタッチとして判別する。「ロングタッチ」は、タッチスクリーン2Bに指が一定時間より長く触れるジェスチャである。スマートフォン1は、タッチスクリーン2Bに指が一定時間より長く接触するジェスチャをロングタッチとして判別する。
「リリース」は、指がタッチスクリーン2Bから離れるジェスチャである。スマートフォン1は、指がタッチスクリーン2Bから離れるジェスチャをリリースとして判別する。「スワイプ」は、指がタッチスクリーン2Bに接触したままで移動するジェスチャである。スマートフォン1は、指がタッチスクリーン2Bに接触したままで移動するジェスチャをスワイプとして判別する。
「タップ」は、タッチに続いてリリースをするジェスチャである。スマートフォン1は、タッチに続いてリリースをするジェスチャをタップとして判別する。「ダブルタップ」は、タッチに続いてリリースをするジェスチャが2回連続するジェスチャである。スマートフォン1は、タッチに続いてリリースをするジェスチャが2回連続するジェスチャをダブルタップとして判別する。
「ロングタップ」は、ロングタッチに続いてリリースをするジェスチャである。スマートフォン1は、ロングタッチに続いてリリースをするジェスチャをロングタップとして判別する。「ドラッグ」は、移動可能なオブジェクトが表示されている領域を始点としてスワイプをするジェスチャである。スマートフォン1は、移動可能なオブジェクトが表示されている領域を始点としてスワイプをするジェスチャをドラッグとして判別する。
「フリック」は、指が、タッチスクリーン2Bに触れた後移動しながらタッチスクリーン2Bから離れるジェスチャである。すなわち、「フリック」は、タッチに続いて指が移動しながらリリースが行われるジェスチャである。スマートフォン1は、指が、タッチスクリーン2Bに触れた後移動しながらタッチスクリーン2Bから離れるジェスチャをフリックとして判別する。フリックは、指が一方方向へ移動しながら行われることが多い。フリックは、指が画面の上方向へ移動する「上フリック」、指が画面の下方向へ移動する「下フリック」、指が画面の右方向へ移動する「右フリック」、指が画面の左方向へ移動する「左フリック」等を含む。フリックにおける指の移動は、スワイプにおける指の移動よりも素早いことが多い。
「ピンチイン」は、複数の指が互いに近づく方向にスワイプするジェスチャである。スマートフォン1は、タッチスクリーン2Bにより検出されるある指の位置と他の指の位置との間の距離が短くなるジェスチャをピンチインとして判別する。「ピンチアウト」は、複数の指が互いに遠ざかる方向にスワイプするジェスチャである。スマートフォン1は、タッチスクリーン2Bにより検出されるある指の位置と他の指の位置との間の距離が長くなるジェスチャをピンチアウトとして判別する。
以下の説明では、1本の指により行われるジェスチャを「シングルタッチジェスチャ」と呼び、2本以上の指により行われるジェスチャを「マルチタッチジェスチャ」と呼ぶことがある。マルチタッチジェスチャは、例えば、ピンチインおよびピンチアウトを含む。タップ、フリックおよびスワイプ等は、1本の指で行われればシングルタッチジェスチャであり、2本以上の指で行われればマルチタッチジェスチャである。
スマートフォン1は、タッチスクリーン2Bを介して判別するこれらのジェスチャに従って動作を行う。このため、利用者にとって直感的で使いやすい操作性が実現される。判別されるジェスチャに従ってスマートフォン1が行う動作は、ディスプレイ2Aに表示されている画面に応じて異なることがある。以下の説明では、説明を簡単にするために、「タッチスクリーン2Bが接触を検出し、検出された接触に基づいてジェスチャの種別をスマートフォン1がXと判別すること」を、「スマートフォンがXを検出する」、又は「コントローラがXを検出する」と記載することがある。
図3は、スマートフォン1のブロック図である。スマートフォン1は、タッチスクリーンディスプレイ2と、ボタン3と、照度センサ4と、近接センサ5と、通信ユニット6と、レシーバ7と、マイク8と、ストレージ9と、コントローラ10と、スピーカ11と、カメラ12及び13と、コネクタ14と、加速度センサ15と、方位センサ16と、ジャイロスコープ17とを有する。
タッチスクリーンディスプレイ2は、上述したように、ディスプレイ2Aと、タッチスクリーン2Bとを有する。ディスプレイ2Aは、文字、画像、記号、又は図形等を表示する。タッチスクリーン2Bは、接触を検出する。コントローラ10は、スマートフォン1に対するジェスチャを検出する。具体的には、コントローラ10は、タッチスクリーン2Bと協働することによって、タッチスクリーン2B(タッチスクリーンディスプレイ2)に対する操作(ジェスチャ)を検出する。
ボタン3は、利用者によって操作される。ボタン3は、ボタン3A〜ボタン3Fを有する。コントローラ10はボタン3と協働することによってボタン3に対する操作を検出する。ボタン3に対する操作は、例えば、クリック、ダブルクリック、トリプルクリック、プッシュ、及びマルチプッシュを含むが、これらに限定されない。
ボタン3A〜3Cは、例えば、ホームボタン、バックボタン又はメニューボタンである。ボタン3Dは、例えば、スマートフォン1のパワーオン/オフボタンである。ボタン3Dは、スリープ/スリープ解除ボタンを兼ねてもよい。ボタン3E及び3Fは、例えば、音量ボタンである。
照度センサ4は、スマートフォン1の周囲光の照度を検出する。照度は、光の強さ、明るさ、又は輝度を示す。照度センサ4は、例えば、ディスプレイ2Aの輝度の調整に用いられる。近接センサ5は、近隣の物体の存在を非接触で検出する。近接センサ5は、磁界の変化又は超音波の反射波の帰還時間の変化等に基づいて物体の存在を検出する。近接センサ5は、例えば、タッチスクリーンディスプレイ2が顔に近づけられたことを検出する。照度センサ4及び近接センサ5は、一つのセンサとして構成されていてもよい。照度センサ4は、近接センサとして用いられてもよい。
通信ユニット6は、無線により通信する。通信ユニット6によってサポートされる通信方式は、無線通信規格である。無線通信規格として、例えば、2G、3G、4G等のセルラーフォンの通信規格がある。セルラーフォンの通信規格として、例えば、LTE(Long Term Evolution)、W−CDMA(Wideband Code Division Multiple Access)、CDMA2000、PDC(Personal Digital Cellular)、GSM(登録商標)(Global System for Mobile Communications)、PHS(Personal Handy−phone System)等がある。無線通信規格として、さらに、例えば、WiMAX(Worldwide Interoperability for Microwave Access)、IEEE802.11、Bluetooth(登録商標)、IrDA(Infrared Data Association)、NFC(Near Field Communication)等がある。通信ユニット6は、上述した通信規格の1つ又は複数をサポートしていてもよい。
レシーバ7及びスピーカ11は、音出力部である。レシーバ7及びスピーカ11は、コントローラ10から送信される音信号を音として出力する。レシーバ7は、例えば、通話時に相手の声を出力するために用いられる。スピーカ11は、例えば、着信音及び音楽を出力するために用いられる。レシーバ7及びスピーカ11の一方が、他方の機能を兼ねてもよい。マイク8は、音入力部である。マイク8は、利用者の音声等を音信号へ変換してコントローラ10へ送信する。
ストレージ9は、プログラム及びデータを記憶する。ストレージ9は、コントローラ10の処理結果を一時的に記憶する作業領域としても利用される。ストレージ9は、半導体記憶媒体、及び磁気記憶媒体等の任意の非一過的(non−transitory)な記憶媒体を含んでよい。ストレージ9は、複数の種類の記憶媒体を含んでよい。ストレージ9は、メモリカード、光ディスク、又は光磁気ディスク等の可搬の記憶媒体と、記憶媒体の読み取り装置との組み合わせを含んでよい。ストレージ9は、RAM(Random Access Memory)等の一時的な記憶領域として利用される記憶デバイスを含んでよい。
ストレージ9に記憶されるプログラムには、フォアグランド又はバックグランドで実行されるアプリケーションと、アプリケーションの動作を支援する制御プログラムとが含まれる。アプリケーションは、例えば、ディスプレイ2Aに画面を表示させ、タッチスクリーン2Bを介して検出されるジェスチャに応じた処理をコントローラ10に実行させる。制御プログラムは、例えば、OSである。アプリケーション及び制御プログラムは、通信ユニット6による無線通信又は非一過的な記憶媒体を介してストレージ9にインストールされてもよい。
ストレージ9は、例えば、制御プログラム9A、地図アプリケーション9B、ブラウザアプリケーション9C、及び設定データ9Zを記憶する。地図アプリケーション9Bは、現在地又は任意の場所の地図データを表示するための機能、及び表示した地図データを拡大又は縮小するための機能等を提供する。ブラウザアプリケーション9Cは、WEBページを表示するためのWEBブラウジング機能を提供する。設定データ9Zは、スマートフォン1の動作に関する各種の設定に関する情報を含む。
制御プログラム9Aは、スマートフォン1を稼働させるための各種制御に関する機能を提供する。制御プログラム9Aは、例えば、通信ユニット6、レシーバ7、及びマイク8等を制御することによって、通話を実現させる。制御プログラム9Aが提供する機能には、タッチスクリーン2Bを介して検出されたジェスチャに応じて、ディスプレイ2Aに表示されている情報を変更する等の各種制御を行う機能が含まれる。制御プログラム9Aが提供する機能は、地図アプリケーション9B等の他のプログラムが提供する機能と組み合わせて利用されることがある。
コントローラ10は、演算処理装置である。演算処理装置は、例えば、CPU(Central Processing Unit)、SoC(System−on−a−chip)、MCU(Micro Control Unit)、及びFPGA(Field−Programmable Gate Array)を含むが、これらに限定されない。コントローラ10は、スマートフォン1の動作を統括的に制御して各種の機能を実現する。
具体的には、コントローラ10は、ストレージ9に記憶されているデータを必要に応じて参照しつつ、ストレージ9に記憶されているプログラムに含まれる命令を実行する。そして、コントローラ10は、データ及び命令に応じて機能部を制御し、それによって各種機能を実現する。機能部は、例えば、ディスプレイ2A、通信ユニット6、レシーバ7、及びスピーカ11を含むが、これらに限定されない。コントローラ10は、検出部の検出結果に応じて、制御を変更することがある。検出部は、例えば、タッチスクリーン2B、ボタン3、照度センサ4、近接センサ5、マイク8、カメラ12、カメラ13、加速度センサ15、方位センサ16、及びジャイロスコープ17を含むが、これらに限定されない。
コントローラ10は、例えば、制御プログラム9Aを実行することにより、タッチスクリーン2Bを介して検出されたジェスチャに応じて、ディスプレイ2Aに表示されている情報を変更する等の各種制御を実行する。
カメラ12は、フロントフェイス1Aに面している物体を撮影するインカメラである。カメラ13は、バックフェイス1Bに面している物体を撮影するアウトカメラである。
コネクタ14は、他の装置が接続される端子である。コネクタ14は、USB(Universal Serial Bus)、HDMI(登録商標)(High−Definition Multimedia Interface)、ライトピーク(サンダーボルト(登録商標))、イヤホンマイクコネクタのような汎用的な端子であってもよい。コネクタ14は、Dockコネクタのような専用の端子でもよい。コネクタ14に接続される装置は、例えば、外部ストレージ、スピーカ、及び通信装置を含むが、これらに限定されない。
加速度センサ15は、スマートフォン1に働く加速度の方向及び大きさを検出する。方位センサ16は、地磁気の向きを検出する。ジャイロスコープ17は、スマートフォン1の角度及び角速度を検出する。加速度センサ15、方位センサ16及びジャイロスコープ17の検出結果は、スマートフォン1の位置及び姿勢の変化を検出するために、組み合わせて利用される。
図3においてストレージ9が記憶するプログラム及びデータの一部又は全部は、通信ユニット6による無線通信で他の装置からダウンロードされてもよい。図3においてストレージ9が記憶するプログラム及びデータの一部又は全部は、ストレージ9に含まれる読み取り装置が読み取り可能な非一過的な記憶媒体に記憶されていてもよい。図3においてストレージ9が記憶するプログラム及びデータの一部又は全部は、コネクタ14に接続される読み取り装置が読み取り可能な非一過的な記憶媒体に記憶されていてもよい。非一過的な記憶媒体は、例えば、CD(登録商標)、DVD(登録商標)、Blu−ray(登録商標)等の光ディスク、光磁気ディスク、磁気記憶媒体、メモリカード、及びソリッドステート記憶媒体を含むが、これらに限定されない。
図3に示したスマートフォン1の構成は例であり、本発明の要旨を損なわない範囲において適宜変更してよい。例えば、ボタン3の数と種類は図3の例に限定されない。スマートフォン1は、画面に関する操作のためのボタンとして、ボタン3A〜3Cに代えて、テンキー配列又はQWERTY配列等のボタンを備えていてもよい。スマートフォン1は、画面に関する操作のために、ボタンを1つだけ備えてもよいし、ボタンを備えなくてもよい。図3に示した例では、スマートフォン1が2つのカメラを備えるが、スマートフォン1は、1つのカメラのみを備えてもよいし、カメラを備えなくてもよい。図3に示した例では、スマートフォン1が位置及び姿勢を検出するために3種類のセンサを備えるが、スマートフォン1は、このうちいくつかのセンサを備えなくてもよい。あるいは、スマートフォン1は、位置及び姿勢の少なくとも1つを検出するための他の種類のセンサを備えてもよい。
図4を参照しながら、スマートフォン1の画面構成について説明する。図4に示すように、スマートフォン1のタッチスクリーンディスプレイ2(ディスプレイ2A)は、21:9の縦横比を有する。このため、スマートフォン1は、縦横比が21:9の画面60を表示することができる。21:9の縦横比は、映画でしばしば用いられる。
一方、比較例として示したスマートフォン101のディスプレイ102Aは、16:9の縦横比を有する。このため、スマートフォン1は、縦横比が16:9の画面160を表示することができる。16:9の縦横比は、スマートフォンのディスプレイにおいて、現在最も一般的な縦横比である。
ここで、画面160と同じ画面をスマートフォン1のディスプレイ2Aに表示させると、16:9の領域が表示に用いられ、残りの5:9の領域は余白となってしまうことがある。すなわち、一般的な縦横比のディスプレイをもつスマートフォン向けに作成された画面をディスプレイ2Aに表示させると、何も表示されない領域ができてしまうことがある。もちろん、スクロール可能な画面であれば、スクロールによって表示されるはずの部分を表示することによって、5:9の領域を活用することができる。また、画面に配置される項目の間隔を広げることによって、画面を5:9の領域まで引き延ばすこともできる。
しかしながら、画面を引き延ばすと、最適に配置されている項目の間隔が拡がってしまうために、画面の操作性又は視認性が低下してしまうことがある。そこで、スマートフォン1は、縦横比が16:9の第1表示領域61と、縦横比が5:9の第2表示領域62とを画面60に設け、それぞれの領域に別々の情報を表示することができるように構成されている。例えば、スマートフォン1は、第1表示領域61に第1画像を表示させ、第1表示領域61において操作を検出した位置に関する情報を第2表示領域62に表示させる。第1表示領域61と第2表示領域62とに別の情報を表示する機能は、画面60を提供する個々のアプリケーションプログラムによって提供されてもよいし、制御プログラム9Aによって提供されてもよい。
図4では、一般的な縦横比の画面を、縦横比を変更することなく表示することができる領域を第1表示領域61とし、一般的な縦横比の画面を変更することなく表示する場合に余白となる領域を第2表示領域62とする例を示した。しかしながら、第1表示領域61及び第2表示領域62は、これに限定されない。第1表示領域61及び第2表示領域62の面積比、配置、形状、及び向き等は、ディスプレイの縦横比及び表示する情報の種類等に応じて任意に変更してよい。
図5を参照しながら、スマートフォン1による表示制御の第1の例について説明する。図5は、スマートフォン1による表示制御の第1の例を示す図である。スマートフォン1は、ステップS1では、ブラウザアプリケーション9Cを実行し、ブラウザアプリケーション9Cが提供する画面60をタッチスクリーンディスプレイ2(ディスプレイ2A)に表示している。具体的には、スマートフォン1は、ブラウザアプリケーション9Cが提供する機能に基づいて、通信ユニット6を用いたインターネット通信によってWEBページを取得し、WEBページを再生して得た第1画像を第1表示領域61に表示している。ステップS1では、第2表示領域62には何も表示されていない。
ステップS2では、利用者の指F1が、画面60の第1表示領域61をタッチしている。スマートフォン1は、第1表示領域61に対する操作を検出すると、第1表示領域61において操作を検出した位置に関する情報を第2表示領域62に表示する。操作を検出した位置に関する情報は、例えば、第1画像のうち、操作を検出した位置に対応する部分を拡大又は縮小した第2画像である。スマートフォン1は、第1表示領域61に表示しているWEBページの表示倍率が閾値よりも小さい場合に、第1画像のうち、操作を検出した位置に対応する部分を拡大して第2表示領域62に表示してもよい。スマートフォン1は、第1表示領域61に表示しているWEBページの表示倍率が閾値よりも小さくない場合に、第1画像のうち、操作を検出した位置に対応する部分を縮小して第2表示領域62に表示してもよい。
さらに、スマートフォン1は、第1画像のうち、第1表示領域61において操作を検出した位置を示す指標オブジェクト64を、操作を検出した位置に対応する第1画像の部分を拡大又は縮小した第2画像に重ねて第2表示領域62に表示する。
ステップS2で、スマートフォン1が操作を検出した位置の近傍には、リンクオブジェクト63が存在している。このため、ステップS2では、リンクオブジェクト63が周囲と同様に拡大されて第2表示領域62に表示されている。リンクオブジェクト63は、他のWEBページへの参照を含み、スマートフォン1は、リンクオブジェクト63を選択する操作を検出すると、画面60に表示するWEBページを、リンクオブジェクト63が参照しているWEBページへ変更する。リンクオブジェクト63を選択する操作は、例えば、タップである。
こうして、ステップS2では、拡大されたリンクオブジェクト63及びその周囲と、第1表示領域61において操作を検出した位置を示す指標オブジェクト64とが第2表示領域62に表示されている。WEBページを縮小表示すると、WEBページ全体を見渡すことが容易になるが、表面積が比較的大きい指で細かい操作を行うことは困難であるために、所望のリンクをうまく操作することができない場合がある。拡大されたリンクオブジェクト63及びその周囲と、指標オブジェクト64とを第2表示領域62に表示することにより、利用者は、現在操作している位置とリンクオブジェクト63の位置との関係を容易に把握することができ、リンクオブジェクト63を操作しやすくなる。
ステップS3では、利用者は、把握した位置関係に基づいて指F1の位置を調整し、第1表示領域61においてリンクオブジェクト63をタップしている。このとき、第2表示領域62では、リンクオブジェクト63に指標オブジェクト64が重なって表示されている。スマートフォン1は、第1表示領域61のリンクオブジェクト63に対するタップを検出すると、画面60に表示するWEBページを、リンクオブジェクト63が参照しているWEBページへ変更する。
その結果、ステップS4では、画面60が更新され、リンクオブジェクト63が参照しているWEBページを再生して得た第1画像が第1表示領域61に表示されている。第2表示領域62には何も表示しない状態に戻っている。
このように、スマートフォン1は、第1表示領域61に第1画像を表示しているときに第1表示領域61に対する操作を検出すると、操作を検出した位置に関する情報を第2表示領域62に表示する。これにより、スマートフォン1は、第1画像のうち、利用者が関心のある部分に関する情報を、第1表示領域61に第1画像を表示したままで第2表示領域62に表示することができる。
さらに、スマートフォン1は、第1表示領域61において操作を検出した位置を示す指標オブジェクト64を第2表示領域62に表示する。これにより、スマートフォン1は、第1画像のうち、利用者が関心のある部分と、実際に操作された位置との位置関係を利用者に分かりやすく示すことができる。
図6を参照しながら、スマートフォン1による表示制御の第1の例の処理手順について説明する。図6は、スマートフォン1による表示制御の第1の例の処理手順を示すフローチャートである。図6に示す処理手順は、コントローラ10が制御プログラム9Aを実行することによって実現される。図6に示す処理手順は、コントローラ10がディスプレイ2Aに画面60を表示させるときに実行される。以下の説明では、リンクオブジェクトを第1オブジェクトと呼び、指標オブジェクトを第2オブジェクトと呼ぶことがある。
図6に示すように、スマートフォン1のコントローラ10は、ステップS101として、画面60の第1表示領域61に第1画像を表示させる。コントローラ10は、ステップS102として、第1表示領域61において操作を検出したかを判定する。第1表示領域61において操作を検出していない場合(ステップS102,No)、コントローラ10は、ステップS107に進む。
コントローラ10は、ステップS107として、画面60を別の画面に変更するかを判定する。画面60を別の画面に変更する場合には、例えば、利用者が画面を切り替える操作を行った場合、及び割り込み処理によって強制的に画面を切り替える場合が含まれる。画面60を別の画面に変更しない場合(ステップS107,No)、コントローラ10は、ステップS102に戻る。画面60を別の画面に変更する場合(ステップS107,Yes)、コントローラ10は、図6に示す処理手順を終了させる。
第1表示領域61において操作を検出した場合(ステップS102,Yes)、コントローラ10は、ステップS103に進む。コントローラ10は、ステップS103として、第1表示領域61において操作を検出した位置に関する情報を第2表示領域62に表示させる。そして、コントローラ10は、ステップS104として、第1表示領域61において操作を検出した位置を示す第2オブジェクトを第2表示領域62に表示させる。
続いて、コントローラ10は、ステップS105として、第1オブジェクトの選択を検出したかを判定する。第1オブジェクトの選択を検出している場合(ステップS105,Yes)、コントローラ10は、ステップS106に進む。コントローラ10は、ステップS106として、第1オブジェクトに応じた画像を第1表示領域61に表示し、第2表示領域62をクリアする。第1オブジェクトの選択を検出していない場合(ステップS105,No)、ステップS106は実行されない。
その後、コントローラ10は、既に説明したステップS107へ進む。
スマートフォン1は、第2表示領域62に表示されている第1オブジェクトを選択する操作を検出した場合に、第1表示領域61に表示されている第1オブジェクトを選択する操作を検出した場合と同様の処理を実行してもよい。
図7を参照しながら、スマートフォン1による表示制御の第2の例について説明する。図7は、スマートフォン1による表示制御の第2の例を示す図である。
スマートフォン1は、ステップS11では、ブラウザアプリケーション9Cを実行し、ブラウザアプリケーション9Cが提供する画面60をタッチスクリーンディスプレイ2(ディスプレイ2A)に表示している。具体的には、スマートフォン1は、ブラウザアプリケーション9Cが提供する機能に基づいて、通信ユニット6を用いたインターネット通信によってWEBページを取得し、WEBページを再生して得た第1画像を第1表示領域61に表示している。ステップS11では、第2表示領域62には何も表示されていない。
ステップS11では、利用者の指F1が、画面60の第1表示領域61をタッチしている。タッチされた位置の近傍には、リンクオブジェクト63a及びリンクオブジェクト63bが配置されている。スマートフォン1は、第1表示領域61に対する操作を検出すると、第1表示領域61において操作を検出した位置に関する情報を第2表示領域62に表示する。
表示制御の第2の例では、スマートフォン1は、第1表示領域61に表示している第1画像において、操作を検出した位置の近傍のオブジェクトのうち、操作に対する処理が割り当てられているオブジェクトのみを第2表示領域62に表示する。スマートフォン1は、操作に対する処理が割り当てられているオブジェクトに対する操作を検出すると、そのオブジェクトに割り当てられている処理を実行する。操作に対する処理が割り当てられているオブジェクトは、例えば、リンクオブジェクト及びボタンオブジェクト等である。画面60にWEBページが表示されている場合、WEBページに対応するHTMLファイルを解析することで、操作を検出した位置の近傍のオブジェクトのうち、操作に対する処理が割り当てられているオブジェクトを抽出することができる。
ステップS12では、スマートフォン1は、第1表示領域61において操作を検出した位置の近傍に配置されているリンクオブジェクト63a及びリンクオブジェクト63bを第2表示領域62に表示している。さらに、スマートフォン1は、操作を検出した位置を示す指標オブジェクト64を第2表示領域62に表示している。
このように、スマートフォン1は、第1表示領域61に第1画像を表示しているときに第1表示領域61に対する操作を検出すると、操作を検出した位置に関する情報のうち、操作に対する処理が割り当てられているオブジェクトを第2表示領域62に表示する。これにより、利用者は、操作した位置の近傍に存在する、操作に対する処理が割り当てられているオブジェクトを容易に把握することができる。
さらに、スマートフォン1は、第1表示領域61において操作を検出した位置を示す指標オブジェクト64を第2表示領域62に表示する。これにより、スマートフォン1は、利用者が操作しようとしている可能性が高いオブジェクトと、実際に操作された位置との位置関係を利用者に分かりやすく示すことができる。
図8を参照しながら、スマートフォン1による表示制御の第2の例の処理手順について説明する。図8は、スマートフォン1による表示制御の第2の例の処理手順を示すフローチャートである。図8に示す処理手順は、コントローラ10が制御プログラム9Aを実行することによって実現される。図8に示す処理手順は、コントローラ10がディスプレイ2Aに画面60を表示させるときに実行される。
図8に示すように、スマートフォン1のコントローラ10は、ステップS201として、画面60の第1表示領域61に第1画像を表示させる。コントローラ10は、ステップS202として、第1表示領域61において操作を検出したかを判定する。第1表示領域61において操作を検出していない場合(ステップS202,No)、コントローラ10は、ステップS207に進む。
コントローラ10は、ステップS207として、画面60を別の画面に変更するかを判定する。画面60を別の画面に変更する場合には、例えば、利用者が画面を切り替える操作を行った場合、及び割り込み処理によって強制的に画面を切り替える場合が含まれる。画面60を別の画面に変更しない場合(ステップS207,No)、コントローラ10は、ステップS202に戻る。画面60を別の画面に変更する場合(ステップS207,Yes)、コントローラ10は、図8に示す処理手順を終了させる。
第1表示領域61において操作を検出した場合(ステップS202,Yes)、コントローラ10は、ステップS203に進む。コントローラ10は、ステップS203として、第1表示領域61において操作を検出した位置の近傍に配置されている第1オブジェクトを第2表示領域62に表示させる。そして、コントローラ10は、ステップS204として、第1表示領域61において操作を検出した位置を示す第2オブジェクトを第2表示領域62に表示させる。
続いて、コントローラ10は、ステップS205として、第1オブジェクトの選択を検出したかを判定する。第1オブジェクトの選択を検出している場合(ステップS205,Yes)、コントローラ10は、ステップS206に進む。コントローラ10は、ステップS206として、第1オブジェクトに応じた画像を第1表示領域61に表示し、第2表示領域62をクリアする。第1オブジェクトの選択を検出していない場合(ステップS205,No)、コントローラ10は、ステップS206は実行されない。
その後、コントローラ10は、既に説明したステップS207に進む。
スマートフォン1は、第2表示領域62に表示されている第1オブジェクトを選択する操作を検出した場合に、第1表示領域61に表示されている第1オブジェクトを選択する操作を検出した場合と同様の処理を実行してもよい。
図9を参照しながら、スマートフォン1による表示制御の第2の例の変形例について説明する。図9は、スマートフォン1による表示制御の第2の例の変形例を示す図である。
スマートフォン1は、ステップS21では、ブラウザアプリケーション9Cを実行し、ブラウザアプリケーション9Cが提供する画面60をタッチスクリーンディスプレイ2(ディスプレイ2A)に表示している。具体的には、スマートフォン1は、ブラウザアプリケーション9Cが提供する機能に基づいて、通信ユニット6を用いたインターネット通信によってWEBページを取得し、WEBページを再生して得た第1画像を第1表示領域61に表示している。ステップS21では、第2表示領域62には何も表示されていない。
ステップS21では、利用者の指F1が、画面60の第1表示領域61をタッチしている。タッチされた位置の近傍には、リンクオブジェクト63a及びリンクオブジェクト63bが配置されている。スマートフォン1は、第1表示領域61に対する操作を検出すると、第1表示領域61において操作を検出した位置に関する情報を第2表示領域62に表示する。
上述した表示制御の第2の例では、スマートフォン1は、第1表示領域61において操作を検出した位置の近傍の、操作に対する処理が割り当てられているオブジェクトを、第1表示領域における配置及び表示形態を維持したままで第2表示領域62に表示する。一方、この変形例では、スマートフォン1は、第1表示領域61において操作を検出した位置の近傍の、操作に対する処理が割り当てられているオブジェクトを、一覧形式で第2表示領域62に表示する。ステップS22では、リンクオブジェクト63aに対応するリストアイテム62aと、リンクオブジェクト63bに対応するリストアイテム62bとを含むリストを第2表示領域62に表示している。
このように、スマートフォン1は、第1表示領域61に第1画像を表示しているときに第1表示領域61に対する操作を検出すると、第1表示領域61において操作を検出した位置に関する情報のうち、操作に対する処理が割り当てられているオブジェクトを第2表示領域62に一覧表示する。これにより、利用者は、第1表示領域61において操作した位置の近傍に存在する、操作に対する処理が割り当てられているオブジェクトをさらに容易に把握することができる。
スマートフォン1は、第2表示領域62に表示されているリストアイテムを選択する操作を検出した場合に、第1表示領域61に表示されている対応する第1オブジェクトを選択する操作を検出した場合と同様の処理を実行してもよい。
図10を参照しながら、スマートフォン1による表示制御の第3の例について説明する。図10は、スマートフォン1による表示制御の第3の例を示す図である。スマートフォン1は、ステップS31では、ブラウザアプリケーション9Cを実行し、ブラウザアプリケーション9Cが提供する画面60をタッチスクリーンディスプレイ2(ディスプレイ2A)に表示している。具体的には、スマートフォン1は、ブラウザアプリケーション9Cが提供する機能に基づいて、通信ユニット6を用いたインターネット通信によってWEBページを取得し、WEBページを再生した第1画像を第1表示領域61に表示している。ステップS31では、第2表示領域62には何も表示されていない。
スマートフォン1は、タッチスクリーン2Bに近接する物体の位置を検出する機能を有している。具体的には、スマートフォン1は、タッチスクリーン2Bの感度を高くすることによって、タッチスクリーンディスプレイ2に接触している物体だけでなく、タッチスクリーンディスプレイ2に近接している物体の位置を3次元的に検出することができる。すなわち、スマートフォン1は、近接している物体に最も近いタッチスクリーンディスプレイ2の表面上の位置の座標と、近接している物体とタッチスクリーンディスプレイ2の表面との距離とを検出することができる。タッチスクリーンディスプレイ2の近傍に位置する物体の検出方法は、これに限定されない。例えば、スマートフォン1は、カメラ12が撮影する画像、又はタッチスクリーンディスプレイ2に複数配置された受光素子の検出信号に基づいて、タッチスクリーンディスプレイ2に近接する物体の位置を検出してもよい。
ステップS32では、利用者の指F1が、画面60の第1表示領域61に近接し、スマートフォン1が検出可能な範囲に位置している。スマートフォン1は、第1表示領域61に近接している物体を検出すると、第1画像のうち、近接している物体に最も近い部分を拡大した第2画像を第2表示領域62に表示する。第2画像の表示倍率は、近接している物体とタッチスクリーンディスプレイ2との距離に基づいて決定される。具体的には、第2画像の表示倍率は、近接している物体とタッチスクリーンディスプレイ2との距離が近いほど高くなる。このため、第2画像は、指F1がタッチスクリーンディスプレイ2に近づくほど拡大され、指F1がタッチスクリーンディスプレイ2から遠ざかるほど縮小される。
ステップS33では、利用者の指F1が、タッチスクリーンディスプレイ2の面方向に沿って水平に移動している。スマートフォン1は、物体がほぼ水平に移動していることを検出すると、第1画像のうち第2画像として表示する部分の移動、及び第2画像の表示倍率の変更を行わずに、第1画像及び第2画像をそのまま表示させる。その結果、利用者は、第1表示領域61及び第2表示領域62の内容を維持したままで、指F1を第2表示領域62に近接する位置まで移動させることができる。
ほぼ水平な移動は、利用者が指F1を水平に移動させようとした場合に一般的に生じる上下方向の変位を許容することが好ましい。スマートフォン1は、指F1の移動する軌跡が上方向又は下方向に所定の範囲で傾いている場合でも、指F1がほぼ水平に移動していると判定することが好ましい。所定の範囲は、例えば±10度程度である。
ステップS34では、利用者の指F1が、第2表示領域62において、リンクオブジェクト63をタップしている。スマートフォン1は、タッチスクリーンディスプレイ2に対する物体の接触を検出すると、どのような操作が行われたかを判定し、判定した操作に応じた処理を実行する。スマートフォン1は、リンクオブジェクト63に対するタップを検出すると、ステップS35として、リンクオブジェクト63に応じた画像を、第1表示領域61に表示する。
このように、スマートフォン1は、第1表示領域61に近接している物体とタッチスクリーンディスプレイ2との距離に応じて、第2表示領域62に表示する情報の表示倍率を変更する。これにより、スマートフォン1は、第2表示領域62に表示する情報の表示倍率の変更を、直感的な操作により可能にし、利用者の利便性を向上させることができる。
図11を参照しながら、スマートフォン1による表示制御の第3の例の処理手順について説明する。図11は、スマートフォン1による表示制御の第3の例の処理手順を示すフローチャートである。図11に示す処理手順は、コントローラ10が制御プログラム9Aを実行することによって実現される。図11に示す処理手順は、コントローラ10がディスプレイ2Aに画面60を表示させるときに実行される。
図11に示すように、スマートフォン1のコントローラ10は、ステップS301として、画面60の第1表示領域61に第1画像を表示させる。コントローラ10は、ステップS302として、タッチスクリーンディスプレイ2に近接又は接触している物体を検出したかを判定する。物体を検出していない場合(ステップS302,No)、コントローラ10は、ステップS308に進む。
コントローラ10は、ステップS308として、画面60を別の画面に変更するかを判定する。画面60を別の画面に変更する場合には、例えば、利用者が画面を切り替える操作を行った場合、及び割り込み処理によって強制的に画面を切り替える場合が含まれる。画面60を別の画面に変更しない場合(ステップS308,No)、コントローラ10は、ステップS302に戻る。画面60を別の画面に変更する場合(ステップS308,Yes)、コントローラ10は、図11に示す処理手順を終了させる。
物体を検出した場合(ステップS302,Yes)、コントローラ10は、ステップS303として、物体がタッチスクリーンディスプレイ2に接触があったかを判定する。接触があった場合(ステップS304,Yes)、コントローラ10は、ステップS305として、どのような操作が行われたかを判定する。操作が検出されなかった場合(ステップS306,No)、コントローラ10は、既に説明したステップS308に進む。操作が検出された場合(ステップS306,Yes)、コントローラ10は、ステップS307として、操作に応じた処理を実行する。そして、コントローラ10は、既に説明したステップS308に進む。
接触がなかった場合(ステップS304,No)、コントローラ10は、ステップS309に進む。コントローラ10は、ステップS309として、物体がタッチスクリーンディスプレイ2に対してほぼ水平に移動しているかを判定する。物体がほぼ水平に移動していない場合(ステップS309,No)、コントローラ10は、ステップS310に進む。コントローラ10は、ステップS310として、第1画像のうち検出位置に対応する部分を第2画像として、物体とタッチスクリーンディスプレイ2との距離に応じた表示倍率で第2表示領域62に表示させる。物体がほぼ水平に移動している場合(ステップS309,Yes)、ステップS310は実行されない。
その後、コントローラ10は、既に説明したステップS308に進む。
この例では、物体がタッチスクリーンディスプレイ2に対してほぼ水平に移動している場合に、第1表示領域61及び第2表示領域62の内容を維持したが、表示制御はこれに限定されない。スマートフォン1は、物体がタッチスクリーンディスプレイ2に対してほぼ水平に移動していることを検出した場合に、移動方向に応じて、第1表示領域61及び第2表示領域62のいずれか、又は両方の内容をスクロールさせてもよい。
図12を参照しながら、スマートフォン1による表示制御の第4の例について説明する。図12は、スマートフォン1による表示制御の第4の例を示す図である。
スマートフォン1は、ステップS41では、地図アプリケーション9Bを実行し、地図アプリケーション9Bが提供する画面60をタッチスクリーンディスプレイ2(ディスプレイ2A)に表示している。具体的には、スマートフォン1は、地図アプリケーション9Bが提供する機能に基づいて、通信ユニット6を用いたインターネット通信によって地図データを取得し、地図データから生成した第1画像を画面60の第1表示領域61に表示する。第2表示領域62には何かしらの情報が表示されていてもよいし、何も表示されていなくてもよい。
ステップS42では、利用者が、第1表示領域61に表示されている第1画像を拡大するために、指F1及び指F2を用いて、第1表示領域61でピンチアウトを開始している。この例では、利用者は、両手を使ってピンチアウトを行っているが、ピンチアウトは片手で行うこともできる。
スマートフォン1には、第1表示領域61でのピンチ操作の操作量に関して閾値が設定されている。ピンチ操作の操作量とは、例えば、2本の指の移動量の合計である。第1表示領域61でのピンチ操作が開始されると、スマートフォン1は、第1画像のうちピンチ操作の開始位置の中心に対応する部分を、第1画像と同じ表示倍率で第2画像として第2表示領域62に表示する。そして、第1表示領域61でのピンチ操作の操作量が閾値に達するまでは、スマートフォン1は、ステップS43のように、第1表示領域61に表示されている第1画像を拡大せずに、第2表示領域62に表示されている第2画像を操作量に応じて拡大させる。
ピンチ操作による拡大は、通常、ピンチ操作の開始位置の中心(2つの指が移動を開始した位置の中心)を基準として行われるが、2つの指の中心に拡大したい部分が位置するように指をタッチスクリーンディスプレイ2に正確に置くのが難しいことがある。このため、拡大が開始されて初めて、指を置く位置がずれていたことに気付くことがある。この場合、拡大が実行された後に誤操作に気付くため、拡大前のどの部分を誤って拡大したのかを利用者が容易に把握できずに困ることがある。
ピンチの操作量が閾値に達するまでは第2表示領域62の第2画像のみを拡大することにより、利用者は、所望の部分が拡大されているかを確認しながらピンチを実行できる。さらに、第1表示領域61の第1画像は拡大されていないため、利用者は、指を置く位置がずれていたことに気付いた場合に、位置を容易に修正することができる。このような効果を得るために、ピンチ操作の操作量に関する閾値は、利用者が第2画像を見て所望の位置が拡大されているか否かを確認することができる程度の値に設定される。
利用者は、所望の位置が拡大されていることを確認すると、ピンチを継続して実行する。そして、ピンチ操作の操作量が閾値に達すると、ステップS44のように、第1表示領域61に表示されている第1画像を操作量に応じて拡大させ始める。スマートフォン1は、ピンチ操作の操作量が閾値に達したときに、一瞬のうちに、それまでの操作量に応じた倍率で第1画像を拡大させてもよい。あるいは、スマートフォン1は、ピンチ操作の操作量が閾値に達したときに、1〜数秒の時間をかけて、それまでの操作量に応じた倍率になるまで第1画像を徐々に拡大させてもよい。その後は、第1表示領域61の第1画像は、利用者のピンチ操作に応じて、拡大又は縮小される。
図13を参照しながら、スマートフォン1による表示制御の第4の例の処理手順について説明する。図13は、スマートフォン1による表示制御の第4の例の処理手順を示すフローチャートである。図13に示す処理手順は、コントローラ10が制御プログラム9Aを実行することによって実現される。図13に示す処理手順は、コントローラ10がディスプレイ2Aに画面60を表示させるときに実行される。
図13に示すように、スマートフォン1のコントローラ10は、ステップS401として、画面60の第1表示領域61に第1画像を表示させる。コントローラ10は、ステップS402として、第1表示領域61に対するピンチ操作を検出したかを判定する。ピンチ操作を検出していない場合(ステップS402,No)、コントローラ10は、ステップS406に進む。
コントローラ10は、ステップS406として、画面60を別の画面に変更するかを判定する。画面60を別の画面に変更する場合には、例えば、利用者が画面を切り替える操作を行った場合、及び割り込み処理によって強制的に画面を切り替える場合が含まれる。画面60を別の画面に変更しない場合(ステップS406,No)、コントローラ10は、ステップS402に戻る。画面60を別の画面に変更する場合(ステップS406,Yes)、コントローラ10は、図13に示す処理手順を終了させる。
ピンチ操作を検出した場合(ステップS402,Yes)、コントローラ10は、ステップS403に進む。コントローラ10は、ステップS403として、ピンチ操作の操作量が上記の閾値に到達したかを判定する。操作量が閾値に達していない場合(ステップS403,No)、コントローラ10は、ステップS404に進む。コントローラ10は、ステップS404として、第1表示領域61の倍率を保持したままで、第1画像のうち操作位置に対応する部分を第2画像として、操作量に応じた倍率で第2表示領域62に表示させる。そして、コントローラ10は、既に説明したステップS406に進む。
操作量が閾値に達している場合(ステップS403,Yes)、コントローラ10は、ステップS405に進む。コントローラ10は、ステップS405として、第1表示領域61に表示させている第1画像の倍率を操作量に応じて変更し、変更した倍率で第1画像を表示させる。そして、コントローラ10は、既に説明したステップS406に進む。
図14を参照しながら、スマートフォン1による表示制御の第5の例について説明する。図14は、スマートフォン1による表示制御の第5の例を示す図である。
スマートフォン1は、ステップS51では、地図アプリケーション9Bを実行し、地図アプリケーション9Bが提供する画面60をタッチスクリーンディスプレイ2(ディスプレイ2A)に表示している。具体的には、スマートフォン1は、地図アプリケーション9Bが提供する機能に基づいて、通信ユニット6を用いたインターネット通信によって地図データを取得し、地図データから生成した第1画像を画面60の第1表示領域61に表示する。第2表示領域62には何かしらの情報が表示されていてもよいし、何も表示されていなくてもよい。
ステップS52では、第1表示領域61に表示されている地図データを拡大したい利用者の指F1が、第1表示領域61に対してダブルタップしている。スマートフォン1は、第1表示領域61に対するダブルタップの操作を検出すると、ステップS53として、第1表示領域61の地図データを拡大した第2画像(情報)を第2表示領域62に表示する。第2画像の拡大倍率は、予め決められていてもよいし、操作の種類、回数、間隔、及び強度等に応じて決定してもよい。第2画像の拡大倍率を変化させる操作は、ダブルタップではなく、ロングタッチ等の他の操作でもよい。
スマートフォン1は、第1表示領域61において操作を検出した位置に対応する位置を示す指標オブジェクト64を第1表示領域61及び第2表示領域62に表示する。さらに、スマートフォン1は、第2画像の拡大倍率を示す倍率オブジェクト66を第2表示領域62に表示する。ステップS53では、第2画像の拡大倍率が「5」倍であることを示す倍率オブジェクト66が第2表示領域62に表示されている。
このように、スマートフォン1が第1表示領域61に地図データを表示する場合に、第1表示領域61に対するダブルタップの操作を検出すると、拡大又は縮小された第2画像と第2画像の表示倍率とを第2表示領域62に表示する。これにより、スマートフォン1は、第1表示領域61に表示している第1画像を利用者に簡単な操作で拡大させることができる。本実施形態では、スマートフォン1は、第1画像に対する所定の操作を検出した場合に、第1画像を拡大させる場合について説明したが、これに限定されない。例えば、スマートフォン1は、第1画像に対する所定の操作を検出した場合に、第1画像を縮小させるように構成されてもよい。
図15を参照しながら、スマートフォン1による表示制御の第5の例の処理手順について説明する。図15は、スマートフォン1による表示制御の第5の例の処理手順を示すフローチャートである。図15に示す処理手順は、コントローラ10が制御プログラム9Aを実行することによって実現される。図15に示す処理手順は、コントローラ10がディスプレイ2Aに画面60を表示させるときに実行される。
図15に示すように、スマートフォン1のコントローラ10は、ステップS501として、画面60の第1表示領域61に第1画像を表示させる。コントローラ10は、ステップS502として、第1表示領域61に対する操作を検出したかを判定する。操作を検出していない場合(ステップS502,No)、コントローラ10は、ステップS506に進む。
コントローラ10は、ステップS506として、画面60を別の画面に変更するかを判定する。画面60を別の画面に変更する場合には、例えば、利用者が画面を切り替える操作を行った場合、及び割り込み処理によって強制的に画面を切り替える場合が含まれる。画面60を別の画面に変更しない場合(ステップS506,No)、コントローラ10は、ステップS502に戻る。画面60を別の画面に変更する場合(ステップS506,Yes)、コントローラ10は、図15に示す処理手順を終了させる。
操作を検出した場合(ステップS502,Yes)、コントローラ10は、ステップS503に進む。コントローラ10は、ステップS503として、第1画像のうち操作位置に対応する部分の表示倍率を変更し、第2画像として第2表示領域62に表示させる。コントローラ10は、ステップS504として、表示倍率を第2表示領域62に表示させる。コントローラ10は、ステップS505として、操作位置を示す第2オブジェクトを、第1表示領域61及び第2表示領域62に表示させる。そして、コントローラ10は、既に説明したステップS506に進む。
図16を参照しながら、スマートフォン1による表示制御の第6の例について説明する。図16は、スマートフォン1による表示制御の第6の例を示す図である。
スマートフォン1は、ステップS61では、地図アプリケーション9Bを実行し、地図アプリケーション9Bが提供する画面60をタッチスクリーンディスプレイ2(ディスプレイ2A)に表示している。具体的には、スマートフォン1は、地図アプリケーション9Bが提供する機能に基づいて、通信ユニット6を用いたインターネット通信によって地図データを取得し、地図データから生成した第1画像を画面60の第1表示領域61に表示する。第2表示領域62には何かしらの情報が表示されていてもよいし、何も表示されていなくてもよい。
ステップS62では、第1表示領域61に表示されている地図データを拡大したい利用者の指F1、F2が、ピンチアウトの操作を行い、その後ピンチアウトの操作を終了している。
スマートフォン1は、第1表示領域61に対するピンチ操作を検出すると、ステップS63として、第1表示領域61に表示している第1画像を第2画像として第2表示領域62に表示する。すなわち、スマートフォン1は、拡大前の第1画像を第2画像として、第2表示領域62に表示する。第2画像は、第1画像と同じ倍率で、操作位置を中心とした第1画像である。スマートフォン1は、ピンチアウトの操作位置を示す指標オブジェクト64を第2表示領域62に表示する。そして、スマートフォン1は、ステップS63として、操作量に応じた倍率で第1画像を拡大して第1表示領域61に表示する。
このように、スマートフォン1は、第1表示領域61に対するピンチ操作を検出すると、拡大又は縮小前の第1画像を第2画像として第2表示領域62に表示し、第1表示領域61の第1画像を操作量に応じた倍率で拡大又は縮小する。これにより、スマートフォン1は、利用者が第1表示領域61の第1画像を拡大又は縮小させても、第2表示領域62に表示している拡大又は縮小前の第1画像を利用者に確認させることができる。
第1表示領域61に対するピンチアウトの操作が終了した後、利用者は、当該操作位置の近傍に対して2回のピンチアウトの操作を続けて行っている。スマートフォン1は、ピンチアウトを検出するごとに、操作量に応じた倍率となるように、第1表示領域61に表示している第1画像を変更している。この場合、スマートフォン1は、第2表示領域62に表示している第2画像は変更していない。スマートフォン1は、ステップS64として、ピンチアウトを検出した操作位置を示す複数の指標オブジェクト64を第2表示領域62に表示する。複数の指標オブジェクト64は、例えば、異なる表示色で表示したり、操作順番を示すように表示してもよい。これにより、利用者は、第2表示領域62に表示された複数の指標オブジェクト64を参照することで、拡大又は縮小前の第1画像における操作位置の履歴を確認することができる。
図17を参照しながら、スマートフォン1による表示制御の第6の例の処理手順について説明する。図17は、スマートフォン1による表示制御の第6の例の処理手順を示すフローチャートである。図17に示す処理手順は、コントローラ10が制御プログラム9Aを実行することによって実現される。図17に示す処理手順は、コントローラ10がディスプレイ2Aに画面60を表示させるときに実行される。
図17に示すように、スマートフォン1のコントローラ10は、ステップS601として、画面60の第1表示領域61に第1画像を表示させる。コントローラ10は、ステップS602として、第1表示領域61に対するピンチ操作を検出したかを判定する。ピンチ操作を検出していない場合(ステップS602,No)、コントローラ10は、ステップS607に進む。
コントローラ10は、ステップS607として、画面60を別の画面に変更するかを判定する。画面60を別の画面に変更する場合には、例えば、利用者が画面を切り替える操作を行った場合、及び割り込み処理によって強制的に画面を切り替える場合が含まれる。画面60を別の画面に変更しない場合(ステップS607,No)、コントローラ10は、ステップS602に戻る。画面60を別の画面に変更する場合(ステップS607,Yes)、コントローラ10は、図17に示す処理手順を終了させる。
ピンチ操作を検出した場合(ステップS602,Yes)、コントローラ10は、ステップS603に進む。コントローラ10は、ステップS603として、第2表示領域62に第2画像を表示中であるかを判定する。表示中ではない場合(ステップS603,No)、コントローラ10は、ステップS604に進む。コントローラ10は、ステップS604として、第1表示領域61に表示させている第1画像を第2画像として第2表示領域62に表示させる。表示中である場合(ステップS603,Yes)、検出したピンチ操作は連続したピンチ操作であり、コントローラ10は、ステップS604を行わない。
コントローラ10は、ステップS605として、ピンチ位置を示す第2オブジェクトを第2表示領域62に表示させる。コントローラ10は、ステップS606として、第1表示領域61に表示させている第1画像の倍率をピンチ操作の操作量に応じて変更し、変更した倍率で第1画像を表示させる。そして、コントローラ10は、既に説明したステップS607に進む。
図18を参照しながら、スマートフォン1による表示制御の第7の例について説明する。図18は、スマートフォン1による表示制御の第7の例を示す図である。スマートフォン1は、ステップS71では、ブラウザアプリケーション9Cを実行し、ブラウザアプリケーション9Cが提供する画面60をタッチスクリーンディスプレイ2(ディスプレイ2A)に表示している。具体的には、スマートフォン1は、ブラウザアプリケーション9Cが提供する機能に基づいて、通信ユニット6を用いたインターネット通信によってWEBページを取得し、WEBページを再生した第1画像を第1表示領域61に表示している。
スマートフォン1は、第1画像のうち、第1表示領域61に表示している部分に対応する領域を第2画像として第2表示領域62に表示している。第1表示領域61に表示している部分に対応する領域は、例えば、第1画像のうち、第1表示領域61に表示されている部分の一部、全体、又はそれを含むより広い領域である。第2画像の初期の表示倍率は、予め設定された倍率である。第2画像の表示倍率は、利用者の操作に応じて変更可能であってもよい。
さらに、スマートフォン1は、WEBページを再生した第1画像のうち、第1表示領域61に表示されているのがどの部分であるかを示すインジケータ61aを第1表示領域61に表示している。
ステップS72では、利用者の指F1が、第1表示領域61に対してスクロール操作を行っている。具体的には、利用者は、指F1を用いて、第1表示領域61で下フリックを行っている。
スマートフォン1は、第1表示領域61に対するスクロール操作を検出すると、ステップS73として、第1表示領域61を、スクロール操作に応じた第1速度で操作方向にスクロールさせる。さらに、スマートフォン1は、第1表示領域61をスクロールさせている第1速度とは異なる第2速度で、第2表示領域62をスクロールさせる。
第1表示領域61に表示している第1画像を拡大した第2画像を第2表示領域62に表示している場合に、第2表示領域62を第1表示領域61と同じ第1速度でスクロールさせると、第2表示領域62は視認が困難な速度でスクロールされることになる。このため、スマートフォン1は、第2速度を、第1速度よりも遅い速度に設定する。これにより、スマートフォン1は、第1表示領域61に連動して第2表示領域62をスクロールしても、第2表示領域62の表示内容を利用者に視認させることができる。第2速度は、スクロール操作の速度にかかわらず、一定の速度であってもよい。第2速度は、利用者がスクロール中の情報の内容を認識できる程度の速度であることが好ましい。
さらに、スマートフォン1は、第1表示領域61又は第2表示領域62においてスクロール停止操作を検出すると、スクロール停止操作を検出した表示領域のスクロールを停止させる。そして、スマートフォン1は、他方の表示領域に表示される部分を、スクロール停止操作を検出した表示領域に表示されている部分と対応するように変更する。スクロール停止操作は、例えば、タッチ、又はロングタッチである。
例えば、第1表示領域61では第1画像の中央に近い部分がスクロールされており、第2表示領域62ではまだ第1画像の先頭に近い部分がスクロールされているものとする。このとき、第1表示領域61でスクロール停止操作を検出すると、スマートフォン1は、第1表示領域61には、第1画像の中央に近い部分を表示させ、さらに、第2表示領域62にも、第1画像の中央に近い部分を第2画像として表示させる。一方、第2表示領域62でスクロール停止操作を検出すると、スマートフォン1は、第2表示領域62には、第1画像の先頭に近い部分を第2画像として表示させ、さらに、第1表示領域61にも、第1画像の先頭に近い部分を表示させる。
このように、スマートフォン1は、第1表示領域61に対するスクロール操作を検出すると、操作に応じた第1速度で第1表示領域61をスクロールし、第1速度よりも遅い第2速度で第2表示領域62をスクロールさせる。これにより、利用者は、第1表示領域61のスクロール操作が意図せずに高速になってしまった場合でも、低速でスクロールしている第2表示領域62で表示内容を確認しながら、所望の位置でスクロールを停止させることができる。
ステップS74では、利用者の指F1が、スクロール速度の遅い第2表示領域62に対してスクロール停止操作を行っている。ステップS74に示す例では、利用者の指F1が、第2表示領域62にスクロール表示されている第2画像の「きちつ」に対応した領域でスクロール停止操作を行っている。スマートフォン1は、ステップS75として、第2表示領域62のスクロールを停止させ、さらに、第1表示領域61に表示される第1画像の部分を「きちつ」に対応した領域が含まれる部分に変更して、第2表示領域62のスクロールを停止させている。
図19を参照しながら、スマートフォン1による表示制御の第7の例の処理手順について説明する。図19は、スマートフォン1による表示制御の第7の例の処理手順を示すフローチャートである。図19に示す処理手順は、コントローラ10が制御プログラム9Aを実行することによって実現される。図19に示す処理手順は、コントローラ10がディスプレイ2Aに画面60を表示させるときに実行される。
図19に示すように、スマートフォン1のコントローラ10は、ステップS701として、画面60の第1表示領域61に第1画像を表示させる。さらに、コントローラ10は、第1画像のうち、第1表示領域61に表示している部分に対応する領域を第2画像として第2表示領域62に表示する。コントローラ10は、ステップS702として、第1表示領域61に対するスクロール操作を検出したかを判定する。スクロール操作を検出した場合(ステップS702,Yes)、コントローラ10は、ステップS703に進む。コントローラ10は、ステップS703として、スクロール操作に応じた第1速度で表示領域61をスクロールさせる。コントローラ10は、ステップS704として、第2速度で表示領域62をスクロールさせる。スクロール操作を検出していない場合(ステップS702,No)、ステップS703及び704は実行されない。
コントローラ10は、ステップS705として、スクロール操作以外の操作を検出したかを判定する。スクロール操作以外の操作を検出した場合(ステップS705,Yes)、コントローラ10は、ステップS706に進む。コントローラ10は、ステップS706として、操作に応じた処理を実行する。スクロール操作以外の操作を検出していない場合(ステップS705,No)、ステップS706は実行されない。
その後、コントローラ10は、ステップS707として、画面60を別の画面に変更するかを判定する。画面60を別の画面に変更する場合には、例えば、利用者が画面を切り替える操作を行った場合、及び割り込み処理によって強制的に画面を切り替える場合が含まれる。画面60を別の画面に変更しない場合(ステップS707,No)、コントローラ10は、ステップS702に戻る。画面60を別の画面に変更する場合(ステップS708,Yes)、コントローラ10は、図19に示す処理手順を終了させる。
本出願の開示する実施形態は、発明の要旨及び範囲を逸脱しない範囲で変更することができる。さらに、本出願の開示する実施形態及びその変形例は、適宜組み合わせることができる。例えば、上記の実施形態は、以下のように変形してもよい。
例えば、図5に示した各プログラムは、複数のモジュールに分割されていてもよいし、他のプログラムと結合されていてもよい。
上記の実施形態では、タッチスクリーンを備える電子機器の例として、スマートフォンについて説明したが、添付の請求項に係る電子機器は、スマートフォンに限定されない。添付の請求項に係る電子機器は、スマートフォン以外の電子機器であってもよい。電子機器は、例えば、モバイルフォン、タブレット、携帯型パソコン、デジタルカメラ、メディアプレイヤ、電子書籍リーダ、ナビゲータ、及びゲーム機を含むが、これらに限定されない。添付の請求項に係る電子機器は、据え置き型の電子機器であってもよい。据え置き型の電子機器は、例えば、デスクトップパソコン、自動預入支払機(ATM)、及びテレビ受像器を含むが、これらに限定されない。
上記の実施形態では、スマートフォン1は、第2表示領域62を、第1表示領域61の右側又は下側に配置する場合について説明したが、第2表示領域62の配置はこれに限定されない。スマートフォン1は、例えば、第2表示領域62を、第1表示領域61の上側、左側、操作位置の近傍等に配置してもよい。
上記の実施形態では、スマートフォン1は、第2表示領域62が画面60における第1表示領域61以外の表示領域である場合について説明したが、これに限定されない。例えば、スマートフォン1は、第1表示領域61を画面60の表示領域全体とし、第2表示領域62を画面60の一部に重ねて表示する他の画面となるように構成されてもよい。
画面60の第1表示領域61に初めて第1画像を表示させる際に、第2表示領域62に何を表示させるか、又は何も表示させないかは、適宜変更してもよい。例えば、第1表示領域61に初めて第1画像を表示させる際には、第1表示領域61及び第2表示領域62を1つの表示領域として扱って、これらを跨いで第1画像を表示し、第1表示領域61での所定の操作を検出した場合に、操作を検出した位置に関する情報を第2表示領域62にしてもよい。あるいは、第1表示領域61に初めて第1画像を表示させる際には、第2表示領域62にはなにも表示せず、第1表示領域61での所定の操作を検出した場合に、操作を検出した位置に関する情報を第2表示領域62にしてもよい。
添付の請求項に係る技術を完全かつ明瞭に開示するために特徴的な実施形態に関し記載してきた。しかし、添付の請求項は、上記実施形態に限定されるべきものでなく、本明細書に示した基礎的事項の範囲内で当該技術分野の当業者が創作しうるすべての変形例及び代替可能な構成を具現化するように構成されるべきである。