(57)【特許請求の範囲】
【請求項１】
地図画像の一部の範囲を表示範囲として表示領域に表示できる情報処理装置であって、位置情報が対応づけられているオブジェクトを、前記表示領域の地図画像上のうち前記位置情報に基づく位置に表示させるオブジェクト表示手段と、
ユーザ操作に応じた指示を受け付ける操作手段と、
前記操作手段により、前記地図画像の表示範囲を移動させる指示が受け付けられた場合、前記地図画像を指示された方向に移動して表示させる表示制御手段とを有し、前記地図画像の表示範囲を移動させる指示には方向の情報が含まれ、
前記操作手段により受け付けられた前記地図画像の表示範囲を移動させる指示が第１の条件を満たす場合、前記表示制御手段は、前記指示を受け付けた際に表示領域内に表示されていないオブジェクトが表示されるまで前記表示範囲を移動させた後に、前記表示範囲の移動を停止させるよう制御することを特徴とする情報処理装置。
【請求項２】
前記操作手段により受け付けられた前記地図画像の表示範囲を移動させる指示が前記第１の条件を満たさない場合、前記表示制御手段は前記指示に応じた位置まで前記表示範囲を移動させた後に、前記表示範囲の移動を停止させるよう制御する請求項１の情報処理装置。
【請求項３】
前記操作手段により受け付けられた前記地図画像の表示範囲を移動させる指示に含まれる方向の情報と、現在の表示範囲とに基づき決定される検索範囲に含まれるオブジェクトを検索する検索手段を更に有し、
前記操作手段により受け付けられた前記地図画像の表示範囲を移動させる指示が前記第１の条件を満たす場合、前記表示制御手段は前記検索手段により検索されたオブジェクトが表示されるまで前記表示範囲を移動させた後に、前記表示範囲の移動を停止させるよう制御する請求項１または２に記載の情報処理装置。
【請求項４】
前記検索範囲にオブジェクトがない場合、前記表示制御手段は前記指示に応じた位置まで前記表示範囲を移動させた後に、前記表示範囲の移動を停止させるよう制御する請求項３に記載の情報処理装置。
【請求項５】
前記操作手段により受け付けられた前記地図画像の表示範囲を移動させる指示に含まれる方向の情報と、現在の表示範囲とに基づき決定される検索範囲に含まれるオブジェクトを検索する検索手段を更に有し、
前記操作手段により受け付けられた前記地図画像の表示範囲を移動させる指示が前記第１の条件を満たす場合、前記表示制御手段は前記指示に応じた表示範囲の移動を開始させ、前記表示制御手段は前記検索手段により検索されたオブジェクトが表示される位置で前記表示範囲の移動を停止させるよう制御する請求項１に記載の情報処理装置。
【請求項６】
前記操作手段により受け付けられた前記地図画像の表示範囲を移動させる指示が前記第１の条件を満たす場合、前記表示制御手段は、前記表示範囲の移動を、第２の条件を満たすオブジェクトが表示されるまで前記表示範囲を移動させた後に、前記表示範囲の移動を停止させるよう制御する請求項１または２に記載の情報処理装置。
【請求項７】
前記第１の条件と、前記第２の条件とを対応づける対応付け手段を更に有し、前記操作手段により受け付けられた前記地図画像の表示範囲を移動させる指示が前記第１の条件を満たす場合、前記表示制御手段は、前記第１の条件に対応する前記第２の条件を満たすオブジェクトが表示されるまで前記表示範囲を移動させた後に、前記表示範囲の移動を停止させるよう制御することを特徴とする請求項６に記載の情報処理装置。
【請求項８】
前記オブジェクトは画像データに関する情報であり、
前記第２の条件は、前記画像データの属性情報に基づき設定されることを特徴とする請求項６または７に記載の情報処理装置。
【請求項９】
前記オブジェクトは画像データに関する情報であり、
前記第２の条件は、前記画像データのレーティングに関する情報、前記画像データの撮像日時に関する情報のうち、少なくとも一つに基づき設定されることを特徴とする請求項６または７に記載の情報処理装置。
【請求項１０】
前記第１の条件は、前記ユーザ操作に基づき設定されることを特徴とする請求項１乃至９のいずれか１項に記載の情報処理装置。
【請求項１１】
前記操作手段はタッチパネルを含み、
前記第１の条件は、フリック操作である、フリック速度が所定の速度以上である、時間当たりのフリック回数が所定回数以上である、およびフリック距離が所定の距離以上である、のうち、少なくとも一つを含む請求項１乃至９のいずれか１項に記載の情報処理装置。
【請求項１２】
前記表示範囲を移動させるためのアイコンを前記表示領域に表示するよう制御するアイコン表示制御手段と、
前記アイコンの選択を受け付けることにより、前記表示範囲を移動させるための指示を受け付けることが可能な受け付け手段とを更に有し、
前記第１の条件は、前記アイコンが一定時間以上選択されている状態であること、前記アイコンが一定時間以内に複数回選択されたことのうち、少なくとも一つを含むことを特徴とする請求項１乃至１１のいずれか１項に記載の情報処理装置。
【請求項１３】
被写体を撮像して画像データを生成する撮像手段を更に有し、
前記オブジェクトは前記撮像手段により生成された画像データに関連付けられている請求項１乃至１２のいずれか１項に記載の情報処理装置。
【請求項１４】
ＥＸＩＦ−ＪＰＥＧの規格に従った画像データを保持する保持手段を更に有し、前記オブジェクトは前記保持手段により保持されている画像データに関連付けられている請求項１乃至１３のいずれか１項に記載の情報処理装置。
【請求項１５】
画像データを保持する保持手段を更に有し、
前記オブジェクトに対応づけられている位置情報は、前記保持手段により保持されている画像データのうち、対応する画像データのヘッダ領域に記録されていることを特徴とする請求項１乃至１３のいずれか１項に記載の情報処理装置。
【請求項１６】
外部装置と通信する通信手段を更に有し、
前記地図画像は前記通信手段を介して前記外部装置から受信する請求項１乃至１５のいずれか１項に記載の情報処理装置。
【請求項１７】
前記通信手段は、前記外部装置とＨｙｐｅｒｔｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌに従った通信により、前記地図画像を受信する請求項１６に記載の情報処理装置。
【請求項１８】
地図画像の一部の範囲を表示範囲として表示領域に表示できる情報処理装置の制御方法であって、
位置情報が対応づけられているオブジェクトを、前記表示領域の地図画像上のうち前記位置情報に基づく位置に表示させ、
前記地図画像の表示範囲を移動させる指示、前記指示には方向の情報が含まれる、を受け付け、
前記地図画像の表示範囲を移動させる指示が第１の条件を満たす場合、前記指示を受け付けた際に表示領域内に表示されていないオブジェクトが表示されるまで前記表示範囲を移動させた後に、前記表示範囲の移動を停止させるよう制御することを特徴とする情報処理装置の制御方法。
【請求項１９】
コンピュータを、請求項１乃至１７のいずれか１項に記載の情報処理装置の各手段として機能させるための、コンピュータが読み取り可能なプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は画像の撮像位置を示す情報処理装置に関する。
【背景技術】
【０００２】
近年、ＧＰＳの普及により、画像に位置情報を付加することが行われている。これに伴い、画像の撮像位置を地図上に表示することが行われている。例えば、特許文献１には、画像の撮像位置を地図上に表示することが開示されている。また、この表示において、ユーザは地図画像をスクロールして、表示範囲を移動させることができる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１０−１８２００８
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、所望の画像を探す際に、その撮像位置が現在の表示範囲から離れている場合、何度も表示範囲を移動させなければならない手間が必要であった。
【課題を解決するための手段】
【０００５】
上述の課題を解決するために、本願発明の情報処理装置は、地図画像の一部の範囲を表示範囲として表示領域に表示できる情報処理装置であって、位置情報が対応づけられているオブジェクトを、前記表示領域の地図画像上のうち前記位置情報に基づく位置に表示させるオブジェクト表示手段と、ユーザ操作に応じた指示を受け付ける操作手段と、前記操作手段により、前記地図画像の表示範囲を移動させる指示が受け付けられた場合、前記地図画像を指示された方向に移動して表示させる表示制御手段とを有し、前記地図画像の表示範囲を移動させる指示には方向の情報が含まれ、前記操作手段により受け付けられた前記地図画像の表示範囲を移動させる指示が第１の条件を満たす場合、前記表示制御手段は、前記指示を受け付けた際に表示領域内に表示されていないオブジェクトが表示されるまで前記表示範囲を移動させた後に、前記表示範囲の移動を停止させるよう制御することを特徴とする。
【発明の効果】
【０００６】
所望の画像を探す際のユーザ操作の手間を低減することができる。
【図面の簡単な説明】
【０００７】
【図１】第１の実施形態に係る情報処理装置の構成を示すブロック図である。
【図２】第１の実施形態に係る管理テーブルの概念図である。
【図３】（ａ）〜（ｃ）第１の実施形態に係る表示画面の一例を示す図である。
【図４】第１の実施形態に係る表示範囲の位置関係を説明するための図である。
【図５】第１の実施形態に係る情報処理装置の動作を示すフローチャートである。
【図６】第１の実施形態に係る検索範囲を説明するための図である。
【図７】第２の実施形態に係る管理テーブルの概念図である。
【図８】第２の実施形態に係る表示範囲の位置関係を説明するための図である。
【図９】第２の実施形態に係る情報処理装置の動作を示すフローチャートである。
【図１０】第２の実施形態に係る表示画面の一例を示す図である。
【図１１】第２の実施形態に係る検索条件を設定するための画面の一例を示す図である。
【図１２】第３の実施形態に係る情報処理装置の動作を示すフローチャートである。
【図１３】第３の実施形態に係る条件を設定するための画面の一例を示す図である。
【図１４】第３の実施形態に係る開始条件を設定するための画面の一例を示す図である。
【発明を実施するための形態】
【０００８】
以下に、本発明を実施するための形態について、添付の図面を用いて詳細に説明する。
【０００９】
尚、以下に説明する実施の形態は、本発明の実現手段としての一例であり、本発明が適用される装置の構成や各種条件によって適宜修正又は変更されてもよい。また、各実施の形態は適宜組み合わされることも可能である。
【００１０】
［第１の実施形態］
図１は、本実施形態の情報処理装置の構成を示す。なお、本実施形態の情報処理装置としては、例えば、パーソナルコンピュータや携帯電話、いわゆるタブレットデバイスなどを用いることができる。
【００１１】
制御部１０１は、入力された信号や、後述のプログラムに従って情報処理装置１００の各部を制御する。なお、制御部１０１が装置全体を制御する代わりに、複数のハードウェアが処理を分担することで、装置全体を制御してもよい。
【００１２】
メモリ１０３は、データを一時的に保持するバッファメモリや、表示部１０６の画像表示用メモリ、制御部１０１の作業領域等として使用される。
【００１３】
操作部１０５は、情報処理装置１００に対する指示をユーザから受け付けるために用いられる。操作部１０５は例えば、キーボードや、ポインティングデバイス等が含まれる。ポインティングデバイスとしては、例えばマウスやタッチパッド、タッチパネル等を用いることができる。本実施形態では、表示部１０６に対する接触を検知可能なタッチパネルが操作部１０５に含まれるものとして説明する。制御部１０１は、単位時間毎にタッチパネル上に指やペンが触れている接点の座標を検知する。これにより、タッチパネルへの以下の操作を検出できる。タッチパネルを指やペンで触れたこと（以下、タッチダウンと称する）。タッチパネルを指やペンで触れている状態であること（以下、タッチオンと称する）。タッチパネルを指やペンで触れたまま移動していること（以下、ムーブと称する）。タッチパネルへ触れていた指やペンを離したこと（以下、タッチアップと称する）。タッチパネルに何も触れていない状態（以下、タッチオフと称する）。なお、ムーブについてはタッチパネル上で移動する指やペンの移動方向についても、接点の座標の変化に基づいて、タッチパネル上の垂直成分・水平成分毎に判定できる。また、タッチダウンした位置の座標から、所定の距離以上をムーブしたことが検知された場合は、ドラッグが行われたと判断する。また、タッチダウンした位置の座標から、所定の速度以上でムーブしたことが検出され、そのままタッチアップが検出されると、フリックが行われたと判定される。フリックは、一般的に、タッチパネル上に指を触れたまま所定の距離以上を素早く動かして、そのまま離すといった操作であり、言い換えればタッチパネル上を指ではじくように素早くなぞる操作である。なお、この所定距離は、接点の座標の移動がほぼなかったとみなせる程度の値であり、ユーザの意図しない指のぶれなどによる座標の移動をフリックやドラッグとして判定することを防ぐために用いられる。すなわち、例えばこの所定距離は、ユーザの意図しない指のぶれなどによる座標の移動距離よりも大きくなるよう予め設定される。また、複数箇所にタッチダウンしたこと（いわゆるマルチタッチ）を検知することができ、このマルチタッチの各接点の座標のそれぞれについて、上述の操作を検知することができる。
【００１４】
表示部１０６は、情報処理装置１００の保持するデータや供給されたデータを表示する。例えば、情報管理アプリケーションプログラムのウィンドウに描画される表示領域を表示する。情報管理アプリケーションプログラムについては後述する。なお、表示部１０６は必ずしも情報処理装置１００が備える必要はなく、情報処理装置１００は表示部１０６と接続することができ、表示部１０６の表示を制御する表示制御機能を少なくとも有していればよい。
【００１５】
記録媒体１１０は、制御部１０１により実行される各種の制御プログラムやＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）、画像ファイルや音声ファイル等のコンテンツ情報、情報管理アプリケーションプログラム、地図画像を格納する。ここで、地図画像は、一定の縮尺毎に画像が用意されており、より縮尺の小さい画像では、より詳細な情報が記録されている。本実施形態では、画像ファイルはＥＸＩＦ  ＪＰＥＧ画像の形で取り扱うことを例に挙げて説明する。ＥＸＩＦ  ＪＰＥＧ画像の形式では、ファイルのヘッダにサムネイルや属性情報を記録することができる。なお、記録媒体１１０は、情報処理装置１００と別体であっても、情報処理装置１００自身が有するものでもよい。すなわち、情報処理装置１００は少なくとも記録媒体１１０にアクセスする手段を有していればよい。
【００１６】
ネットワークインターフェース１１１は、例えばインターネット等のネットワーク回線に接続するために利用される。なお、本実施形態では、画像ファイルや地図画像は記録媒体１１０に保存されているものとして説明するが、ネットワークインターフェース１１１を介して外部装置から画像ファイルや地図画像を取得する場合も同様に本発明を実現できる。なお、本実施形態における情報処理装置は、単一の情報処理装置で実現してもよいし、必要に応じた複数の情報処理装置に各機能を分散して実現するようにしてもよい。複数の情報処理装置で構成される場合は、互いに通信可能なようにＬｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ（ＬＡＮ）などで接続されている。
【００１７】
次に、上述の情報管理アプリケーションプログラム（以下、情報管理アプリと言う）について述べる。以下の情報管理アプリの動作は、制御部１０１が記録媒体１１０から情報管理アプリやＯＳを読み出し、それに従って制御することにより実現される。本実施形態の情報管理アプリは、記録媒体１１０に記録されている画像ファイルの撮像位置を地図画像に重畳して表示する地図表示モードを備えている。本実施形態では、画像ファイルのヘッダ領域には位置情報や日時情報が、それぞれ撮像位置を示す情報および撮像日時を示す情報として記録されており、地図表示モードにおいてはこれらの情報を参照することにより適切な表示を行う。なお、本実施形態では、情報管理アプリは、記録媒体１１０に記録されている画像ファイルのうち、ユーザの指示に従って情報管理アプリで管理することを指示された画像ファイルのみを管理する。ユーザは、情報管理アプリのメニューを選択する等の操作により、記録媒体１１０に記録されている画像ファイルの中から情報管理アプリによって管理させたい画像ファイルを選択することができる。ユーザの指示により、情報管理アプリに管理されることが決定された画像ファイルは、情報管理アプリが保持する管理テーブルに登録される。図２は、管理テーブルの概念図である。記録媒体１１０に記録されている画像ファイルは、ファイル毎に各種データが管理されている。管理テーブルにおいて、画像ＩＤ２０１は、各画像ファイルを識別するためのＩＤである。情報管理アプリはこの画像ＩＤ２０１により各画像ファイルを区別して管理する。画像名２０２は、画像ファイルの名称を示す。画像パス２０３は、記録媒体１１０のどの領域に画像ファイルが保存されているかを示す情報である。情報管理アプリはこのパスを参照することで、画像ファイルにアクセスする。撮像位置２０４は、各画像ファイルの撮像位置を示す位置情報である。本実施形態では、位置情報は緯度・経度の形で記録されているものとする。情報管理アプリは、この緯度・経度に従って、画像ファイルの撮像位置を示すピンを、地図上に表示することができる。
【００１８】
次に、情報管理アプリによる地図表示の概要について説明する。情報管理アプリは、管理テーブルを参照することにより、画像ファイルの撮像位置を示すピンを地図上に表示することができる。図３（ａ）は、図２の管理テーブルを参照して表示される地図表示画面の一例である。図３（ａ）において、ウインドウ３００の表示領域３０１には、地図画像が表示されている。さらに、地図画像に重畳して、画像ファイル１の撮像位置を示すピン３０２と、画像ファイル２の撮像位置を示すピン３０３が表示されている。画像ファイル３、および画像ファイル４に対応するピンは、撮像位置が表示範囲内に含まれていないため、表示されていない。ここで、図３（ａ）の表示領域３０１に表示されている地図画像の表示範囲と、画像ファイル３、４の撮像位置との関係を、図４に示す。図４は説明のために地図の一部を切り出した図である。図３（ａ）の表示領域３０１に表示されている地図画像の表示範囲は図４の範囲４１１に相当する。図４において、ピン３０４、ピン３０５は、それぞれ画像ファイル３、画像ファイル４の撮像位置を示す。図３（ａ）のような画面が表示されている状態では、ユーザは任意の表示範囲に対応する地図画像を表示させることができる。例えば、ユーザは操作部１０５に含まれるタッチパネルを用いてドラッグ操作を行うことにより、ドラッグした方向へ地図画像をスクロールさせることができる。言い換えれば、ドラッグした方向とは逆方向に表示範囲を移動させることができる。例えば、ユーザは、図３（ａ）の画面が表示されている状態で、表示領域３０１の左上方向（図４の方向４１３の方向）にドラッグ操作を行った場合、表示範囲を右下の方向（図４の方向４１３の逆方向）に移動する指示を入力することができる。この指示を入力した場合、ドラッグの操作に応じて地図画像とピンが、ドラッグした方向にスクロールする。言い換えれば、表示範囲を範囲４１１から右下方向（図４の方向４１３の逆方向）へ移動させる。この結果、例えば図３（ｂ）のような画面が表示される。図３（ｂ）の表示領域３０１に表示されている地図画像の表示範囲は図４の範囲４１２に相当する。図３（ｂ）の表示範囲では管理テーブルの画像ファイル１〜４の撮像位置が含まれない。そのため、図３（ｂ）の表示領域３０１の地図画像上には、ピンが表示されていない。
【００１９】
なお、ドラッグ操作は、画面上で行う操作である以上、一度のドラッグ操作で新たに表示可能な範囲は限られる。本実施形態では、一度のドラッグ操作で表示範囲の移動可能な距離は、図４の範囲４１１から範囲４１２までとして説明する。このように、一度の操作で移動可能な表示範囲の量には限界がある。そのため、例えばユーザが図３（ａ）の画面が表示されている状態から、管理テーブルの画像ファイル３と４に対応するピン３０４と３０５を表示させたい場合、何度も方向４１３の方向へ表示範囲を移動させるための操作を行わなければならず、煩わしい。そこで、本実施形態では、ドラッグの操作を受け付けた際に、所定の条件を満たす場合、ドラッグ方向に対応する方向へ、ピンが表示されるまで自動的にスクロールする。言い換えれば、ピンが表示されない範囲は、停止することなく、接点に追従して通過し、ピンが表示される範囲まで表示範囲を自動的に移動させる。ここで、所定の条件とは、例えば、フリック操作等である。この所定の条件は、第１の条件の一例である。ユーザは、例えばフリック操作を行うことで、自動的なスクロールを行う指示を入力することができる。これにより、例えば範囲４１１から範囲４１４まで、何度も表示範囲を移動させる操作を行う手間を省くことができる。以下の説明では、この自動的に行われるスクロールを、オートスクロールと呼ぶ。
【００２０】
以下、情報管理アプリによって地図画像を表示する際の情報処理装置１００の動作について説明する。図５は、地図画像を表示する際の情報処理装置１００の動作を示すフローチャートである。このフローチャートに示される処理は、例えばユーザがメニューを選択することにより、地図表示画面を表示する指示を受け付けたことに応じて開始され、制御部１０１がＯＳと情報管理アプリに従って情報処理装置１００の各部を制御することにより実現される。以降のフローチャートについても同様である。
【００２１】
まず、ステップＳ５０１にて、制御部１０１は、所定の縮尺の地図画像を、記録媒体１１０から読み出し、情報管理アプリのウインドウの表示領域に表示する。また、制御部１０１は、並行して画像ファイルを読み出し、画像ファイルの撮像位置を示すピンを、画像ファイルの位置情報に従って、表示領域に配置して表示する。このステップの処理により、例えば図３（ａ）のような画面が表示される。
【００２２】
ステップＳ５０２では、制御部１０１は操作部１０５を介して受け付けられるユーザ操作に基づく指示を受け付けたか否かを判断する。ユーザは操作部１０５を介して、表示範囲を移動する指示を入力することができる。本実施形態では、ユーザが指示を入力する際に操作部１０５のタッチパネルを用いる場合を例に挙げて説明する。この場合、制御部１０１は、操作部１０５のタッチパネルを介してユーザのタッチ操作を受け付けたか否かを判断する。例えば、ユーザはドラッグを行うことで地図の表示範囲を移動する指示を入力することができる。また、ユーザは終了ボタン３３０の表示領域でタッチアップすることで終了ボタン３３０を選択することができる。これにより、本フローチャートの処理を終了する指示を入力することができる。
【００２３】
ステップＳ５０２にて、制御部１０１が、タッチ操作を受け付けていないと判断した場合、ステップＳ５０２の処理を繰り返す。一方、ステップＳ５０２にて、制御部１０１が、タッチ操作を受け付けたと判断した場合、処理はステップＳ５０３に進む。
【００２４】
ステップＳ５０３では、制御部１０１は、受け付けたタッチ操作がドラッグであるか否かを判断する。具体的には、制御部１０１は、タッチ操作の開始位置（すなわちタッチダウンされた位置）をメモリ１０３に記憶しておく。そして、制御部１０１は、タッチ操作の開始位置（すなわちタッチダウンされた位置）と、単位時間毎に検知する最新の接点の位置とを比較し、各点の間の距離が所定の距離以上であるかを判断する。すなわち、操作の開始位置から所定の距離以上をムーブしたか否かを判断することにより、受け付けたタッチ操作がドラッグであるか否かを判断する。
【００２５】
まず、ステップＳ５０３にて、制御部１０１が、受け付けたタッチ操作がドラッグでないと判断した場合について説明する。この場合、処理はステップＳ５０４に進む。
【００２６】
ステップＳ５０４では、制御部１０１は、タッチ操作が終了したか否かを判断する。具体的には、制御部１０１は、タッチアップされたか否かを検知することにより、タッチ操作が終了したか否かを判断する。制御部１０１が、タッチアップされていないと判断した場合、処理はステップＳ５０３に戻る。例えば、ユーザがタッチダウンした位置から接点を移動させずに留まっている場合などは、このような処理の流れになる。一方、制御部１０１が、タッチアップされたと判断した場合、処理はステップＳ５０５に進む。例えば、ユーザがタッチダウンした位置から接点を動かさずにタッチアップする、いわゆるタップ操作が行われた場合は、こちらの処理の流れになる。
【００２７】
ステップＳ５０５では、制御部１０１は、終了ボタンが選択されたか否かを判断する。具体的には、制御部１０１は、タッチアップされた位置が終了ボタンの位置であるか否かを判断することにより終了ボタンが選択されたか否かを判断する。制御部１０１が、終了ボタンが選択されたと判断した場合、本フローチャートの処理を終了する。一方、制御部１０１が、終了ボタンが選択されていないと判断した場合、処理はステップＳ５０２に戻る。
【００２８】
以上が、ステップＳ５０３にて、制御部１０１が、受け付けたタッチ操作がドラッグ操作でないと判断した場合の説明である。
【００２９】
次に、ステップＳ５０３にて、制御部１０１が、受け付けたタッチ操作がドラッグ操作であると判断した場合について説明する。この場合、処理はステップＳ５０６に進む。
【００３０】
ステップＳ５０６では、制御部１０１は、ドラッグ操作の接点に対応する地図画像を記録媒体１１０から読み出し、表示する。これに併せて、ドラッグ操作の接点に対応する表示範囲に含まれる画像ファイルの撮像位置があれば、それを示すピンを配置して表示する。これにより、接点の移動に追従するように地図画像を更新し、スクロールして表示するよう制御する。なお、次に説明するステップＳ５０７で、タッチアップを検知することによりドラッグ操作が終了したと判断されるまでは、本ステップの処理が繰り返し実行される。すなわち、一度ドラッグ操作が受け付けられると、ユーザがタッチアップするまでは、接点の移動が検出される度に、接点に追従するように地図がスクロールして表示される。
【００３１】
ステップＳ５０７では、制御部１０１は、ドラッグ操作が終了したか否かを判断する。具体的には、制御部１０１は、タッチアップされたか否かを検知することにより、ドラッグ操作が終了したか否かを判断する。制御部１０１が、ドラッグ操作が終了していないと判断した場合、処理はステップＳ５０６〜ステップＳ５０７の実行を継続する。一方、制御部１０１が、ドラッグ操作が終了したと判断した場合、処理はステップＳ５０８に進む。
【００３２】
ステップＳ５０８では、受け付けたドラッグ操作が所定の条件を満たすか否かを判断する。本実施形態では、所定の条件が、「フリック操作」である場合について述べる。この場合、ドラッグ操作後に、制御部１０１は、タッチアップが検知されると、タッチアップ直前の接点の座標の、単位時間当たりの移動べクトルの大きさを取得する。ここで、制御部１０１は単位時間毎に検知したタッチパネル上の接点の座標のうち、最近検知した複数の座標をメモリ１０３に記憶しておく。移動ベクトルは、この複数の座標に基づき算出される。本実施形態では、タッチアップの時点から直近の二点の座標を基に移動ベクトルを求める。この移動ベクトルの大きさは、タッチアップ直前の接点の移動速度を示し、制御部１０１はこの移動ベクトルの大きさが所定の大きさ以上であるかを判断することにより、所定の速度以上でムーブが行われているかを判断する。すなわち、制御部１０１は、タッチアップ直前の移動ベクトルの大きさが所定の大きさ以上であった場合、言い換えれば、タッチアップ直前のムーブが所定の速度以上で行われた場合は、フリック操作が行われたと判断する。なお、ここで、フリック操作を所定の条件として用いているのは、以下の理由による。表示させたい画像が存在する方向へ表示範囲を移動させる際に、素早くムーブしたままタッチアップすること（すなわち、フリック操作すること）は、ユーザにとってより直感的な操作であると考えられる。このように、フリック操作とドラッグ操作を使い分けることにより、ユーザは通常のスクロールを実行させる指示と、オートスクロールを実行させる指示とを、容易に使い分けることができる。このような理由により、フリック操作を所定の条件として用いている。
【００３３】
制御部１０１が、受け付けたタッチ操作が、フリック操作でないと判断した場合は、ドラッグ操作が終了した際の表示範囲を表示した状態のまま、処理はステップＳ５０２に戻る。
【００３４】
一方、制御部１０１が、受け付けたタッチ操作が、フリック操作であると判断した場合、オートスクロールを行う指示を受け付けたと判断する。この場合、処理はステップＳ５０９に進む。
【００３５】
ステップＳ５０９では、制御部１０１は、受け付けたフリック操作の方向とは逆方向に、表示範囲の幅の分だけ延長した範囲を検索範囲として決定する。なお、フリック操作の方向は、タッチアップ直前の移動ベクトルの方向を検知することにより求められる。
【００３６】
そして、ステップＳ５１０にて、制御部１０１は、検索範囲に、画像ファイルの撮像位置が含まれるか否かを判断する。
【００３７】
ステップＳ５０９およびステップＳ５１０の処理について、図３、図４を用いて具体的な例を挙げて説明する。例えば、図３（ａ）の画面が表示されている状態で、画面の上方向へフリック操作が行われた場合について考える。この場合、地図画像は上方向へスクロールされることになる。検索範囲は、下方向に、その方向に応じた表示領域の幅の分だけ延長した範囲（範囲４２０）として決定され、制御部１０１は、この検索範囲に撮像位置が含まれる画像ファイルが存在するか否かを判断する。この際、制御部１０１は管理テーブルで管理されている画像ファイルの撮像位置を参照して判断する。図２の例の場合、画像ファイル１〜４のいずれの撮像位置も、範囲４２０に含まれない。このような場合は、本ステップの処理において、制御部１０１は、検索範囲に撮像位置が含まれる画像ファイルがないと判断する。また、例えば、図３（ａ）の画面が表示されている状態で、図４の方向４１３の方向にフリックした場合、地図画像は方向４１３の方向へスクロールされることになる。検索範囲は、方向４１３とは逆方向に、その方向に応じた表示領域の幅の分だけ延長した範囲（範囲４３０）として決定される。制御部１０１は、この検索範囲に画像ファイルの撮像位置が含まれるか否かを判断する。範囲４３０には、画像ファイル３と画像ファイル４の撮像位置が含まれている。したがって、この場合は、制御部１０１は、検索範囲に撮像位置が含まれる画像ファイルが存在すると判断する。なお、説明のため図４を用いて検索範囲を示したが、実際には、記録媒体１１０に記録されている地図全体の範囲で検索範囲を決定している。また、図６に示すような世界地図のように、地図のデータが東西方向にループするよう構成されている場合は、検索範囲もループするよう決定してもよい。例えば、図６の範囲６０１に相当する表示範囲が表示されている画面において、方向６１０の方向にドラッグ操作を行った場合、検索範囲は、範囲６０１の東側だけでなく、ループして回りこんだ西側も含む範囲（範囲６２０）が検索範囲となる。また、ループしていない方向を指示した場合、例えば範囲６０１に相当する表示範囲が表示されている画面において、方向６１１の方向にドラッグ操作を行った場合は、範囲６３０が検索範囲となり、逆側の範囲は検索範囲とならない。なお、本ステップの処理で決定される検索範囲は、フリック方向、フリック操作が受け付けられた際の表示範囲の四隅の座標（緯度・経度）、地図全体の座標に基づき決定される。本実施形態では、フリック操作が受け付けられた際の表示範囲の矩形の頂点の座標のうち、フリック操作の方向に応じた対角の二点により検索範囲の幅が決定される。なお、ここで用いられる対角の二点は、検索範囲の幅が広くなる方を用いる。
【００３８】
ステップＳ５１０にて、制御部１０１が、検索範囲に撮像位置が含まれる画像ファイルが存在しないと判断した場合、処理はステップＳ５０２に戻る。すなわち、フリック方向に対応する方向に画像ファイルが存在しない場合は、フリック操作を行っても、オートスクロールしない。例えば図３（ａ）の画面が表示されている状態で、上方向にフリック操作を行っても、決定される検索範囲（範囲４３０）に画像ファイルの撮像位置が含まれないため、オートスクロールは行われない。なお、この際に、フリック操作に応じた方向に画像ファイルが存在しない旨をユーザに通知してもよい。例えば、エラーアイコンを表示したり、「その方向には画像ファイルがありません」といったメッセージを一定時間表示するといった方法を用いることができる。
【００３９】
一方、ステップＳ５１０で、制御部１０１が、検索範囲に撮像位置が含まれる画像が存在すると判断した場合、処理はステップＳ５１１に進む。
【００４０】
ステップＳ５１１では、制御部１０１は、オートスクロールを実行する。すなわち、制御部１０１は、フリックの方向に沿って順に地図画像を読み出して表示しながら、自動的に表示領域を移動させる。このオートスクロールにより表示範囲の移動は、検索範囲中の撮像位置のうち、指示を受け付けた際の表示範囲から最も近い撮像位置のピンが表示領域に表示される範囲まで進んで停止する。例えば図３（ａ）の画面が表示されている状態で、方向４１３の向きにフリック操作を行えば、ピンが表示領域に表示されるまで自動的にスクロールする。その結果、例えば図３（ｃ）のように、図４の範囲４１４に相当する範囲が表示領域３０１に表示されると、スクロールは停止することになる。なお、オートスクロールのスクロール速度は、タッチアップ直前の接点の単位時間当たりの移動ベクトルの大きさに応じて変更される。すなわち、ユーザは、より速くフリック操作を行えば、より速いスクロール速度で、表示範囲を移動させることができる。なお、図１の操作部１０５の説明で述べたように、フリック操作はドラッグ操作よりも速いストロークを描くことで検知される。すなわち、フリック操作のタッチアップ直前の接点の単位時間当たりの移動ベクトルの大きさは、少なくともドラッグ操作における接点の単位時間当たりの移動ベクトルの大きさよりも大きい。したがって、表示範囲が同じ距離を移動する場合、ドラッグ操作よりもフリック操作のほうが速く移動することになる。さらに、オートスクロールでは、操作を繰り返さずとも、一度の操作で自動的にスクロールするため、操作を繰り返す時間も短縮できる。つまり、ドラッグ操作を繰り返すよりも、オートスクロールを用いるほうが、より早く範囲４１４に相当する範囲を表示することができる。その後、処理はステップＳ５０２に戻る。
【００４１】
以上、情報管理アプリによって地図画像を表示する際の情報処理装置１００の動作について説明した。上述のように、本実施形態における情報処理装置は、ユーザの操作に応じた方向に画像ファイルの撮像位置がある場合、その撮像位置が表示範囲に含まれるまで地図画像を自動的にスクロールさせる。これにより、ユーザは一度フリック操作をしさせすればよく、撮像位置が表示範囲に含まれるまで何度も地図画像をスクロールさせるための操作を行う必要がなくなる。また、画像の撮像位置が表示範囲に含まれる時点でスクロールが停止するため、スクロール指示により新たに表示される範囲に画像の撮像位置のピンが表示されているかどうかをユーザが確認する必要がなくなる。つまり、ユーザが所望の画像を検索する際の操作の手間を低減し、所望の画像が表示されるまでの時間を短縮することができる。
【００４２】
［第２の実施形態］
第１の実施形態では、検索範囲内の画像がどのような画像であっても、その撮像位置を示すピンが表示範囲に表示される範囲でオートスクロールを停止していた。つまり、オートスクロールにより検索する検索対象が全ての画像である例について述べた。これに対して、第２の実施形態では、ユーザが予め設定した条件を満たす画像のみを検索対象とする例について述べる。なお、本実施形態の説明では、制御部１０１が検索対象とするか否かを判断する際に用いる条件を検索条件と呼ぶ。検索条件は、第２の条件の一例である。本実施形態は第１の実施形態と共通する部分が多いため、共通部分は説明を省略し、本実施形態に特有の部分を中心に説明する。
【００４３】
図７は、本実施形態における管理テーブルの概念図である。画像管理アプリは画像ファイル毎に属性情報を管理している。例えば図７のように、画像ファイル毎のレーティングの値や、撮像日時、撮像位置等を、管理テーブルを用いて管理している。なお、図２と同様の構成については、同じ符号を付してある。また、この管理テーブルの概念図は、一例であり、管理テーブルで管理する情報は、図７に示すもの以外も含まれていても良い。また、画像ファイルの属性情報は、レーティングの値や撮像日時、撮像位置に限られるものではない。例えば、撮像の際に用いた撮像装置の機種を示す情報や、撮像時の天気、撮像時のホワイトバランス、撮像時の絞り値等、様々な情報が記録されている。図７の例では、画像ファイル１〜６が管理テーブルに記録されている。この画像ファイル１〜４は第１の実施形態と同様のものである。画像ファイル５と画像ファイル６については、新たに管理テーブルに加えられた画像である。これらの画像ファイルの撮像位置の関係を図８に示す。図８において、図４と同様の構成については同じ符号を付してある。図４と同様に画像ファイル１〜４の撮像位置は、順にピン３０２、ピン３０３、ピン３０４、ピン３０５で示される。また、画像ファイル５の撮像位置は、ピン８０１で示される。また、画像ファイル６の撮像位置はピン８０２で示される。いま、図８の範囲４１１に相当する範囲が表示範囲として表示されている状態で、フリック操作を受け付け、検索範囲が範囲４３０として決定されたとする。この検索範囲に撮像位置が含まれる画像ファイルは、画像ファイル３〜５である。ここで、例えば画像ファイルの検索条件として、「レーティングが３以上の画像」という条件が設定されている場合は、画像ファイル５は、検索対象とならない。すなわち、画像ファイル５の撮像位置を示すピンが表示領域内に表示されてもスクロールは停止せず、範囲４１４に相当する表示範囲になるまで、表示範囲が移動する。また、例えば検索範囲が範囲４２０として決定され、かつ検索条件が「レーティング３以上の画像」である場合は、ドラッグ操作を受け付けた場合と同様の処理が実行される。なぜなら、ピン８０２に対応する画像ファイル６のレーティングは０であり、「レーティング３以上の画像」という条件を満たさないからである。
【００４４】
図９は、上述の動作を実現するための情報処理装置１００の動作を示すフローチャートである。この図９のフローチャートは、図５のフローチャートと共通する部分が多いため、共通部分は説明を省略し、本実施形態に特有の部分を中心に説明する。
【００４５】
ステップＳ９０１では、ステップＳ５０１と同様の処理が実行される。ここでは、例えば図１０のような画面１０００が表示される。この図１０において、図３（ａ）と同様の構成については同じ符号を振ってある。
【００４６】
ステップＳ９０２では、制御部１０１は、操作部１０５を介してユーザからの操作を受け付けたか否かを判断する。ユーザは操作部１０５を介して、表示範囲を移動する指示を入力することができる。例えば、ユーザはドラッグ操作を行うことで地図の表示範囲を移動する指示を入力することができる。また、ユーザは設定ボタン１００１の表示領域でタッチアップすることで、設定ボタン１００１を選択することができる。設定ボタン１００１は、自動的にスクロールする際にスクロールを停止する画像の条件を設定するためのボタンである。言い換えれば、検索対象とする画像の条件を設定するためのボタンである。ユーザは、この設定ボタン１００１を選択することにより、検索対象とする画像の条件を設定するための設定メニューを表示させる指示を入力することができる。また、ユーザは終了ボタン３３０の表示領域でタッチアップすることで終了ボタン３３０を選択することができる。これにより、本フローチャートの処理を終了する指示を入力することができる。
【００４７】
ステップＳ９０２にて、制御部１０１が、タッチ操作を受け付けていないと判断した場合、ステップＳ９０２の処理を繰り返す。一方、ステップＳ９０２にて、制御部１０１が、タッチ操作を受け付けたと判断した場合、処理はステップＳ９０３に進む。
【００４８】
ステップＳ９０３では、制御部１０１は、図５のステップＳ５０３と同様に、受け付けたタッチ操作がドラッグ操作であるか否かを判断する。
【００４９】
まず、ステップＳ９０３にて、制御部１０１が、受け付けたタッチ操作がドラッグ操作でないと判断した場合について説明する。この場合、処理はステップＳ９１１に進む。
【００５０】
ステップＳ９１１では、制御部１０１は、図５のステップＳ５０４と同様に、タッチ操作が終了したか否かを判断する。具体的には、制御部１０１は、タッチアップされたか否かを検知することにより、タッチ操作が終了したか否かを判断する。制御部１０１が、タッチアップされていないと判断した場合、処理はステップＳ９０３に戻る。一方、制御部１０１が、タッチアップされたと判断した場合、処理はステップＳ９１２に進む。
【００５１】
ステップＳ９１２では、制御部１０１は、終了ボタンが選択されたか否かを判断する。具体的には、制御部１０１は、タッチアップされた位置が終了ボタンの位置であるか否かを判断することにより終了ボタンが選択されたか否かを判断する。制御部１０１が、終了ボタンが選択されたと判断した場合、本フローチャートの処理を終了する。一方、制御部１０１が、終了ボタンが選択されていないと判断した場合、処理はステップＳ９１３に進む。
【００５２】
ステップＳ９１３では、制御部１０１は、設定ボタンが選択されたか否かを判断する。具体的には、制御部１０１は、タッチアップされた位置が設定ボタンの位置であるか否かを判断することにより設定ボタンが選択されたか否かを判断する。制御部１０１が、設定ボタンが選択されたと判断した場合、処理はステップＳ９０１に戻る。一方、制御部１０１が、設定ボタンが選択されていないと判断した場合、処理はステップＳ９１４に進む。
【００５３】
ステップＳ９１４では、制御部１０１は、図１１に示す画面１１００を表示するとともに、ユーザからの指示を受け付ける。図１１は、検索対象とする画像の条件を設定するための画面の一例である。ユーザは、選択枠１１０１内に表示される条件の表示領域にタッチダウンすることで、その条件を検索条件として設定することができる。選択枠１１０１の内に表示しているように、設定可能な検索条件は画像ファイルのレーティングに限られない。例えば、図１１の選択枠１１０１にあるように、１か月前までに撮像した画像という条件を選択すれば、今日から１か月前までの間に撮像日が含まれる画像ファイルを検索対象とする条件を設定することができる。また、選択枠１１０１内で上下方向にドラッグまたはフリックすれば、選択枠１１０１内に収まらなかった条件をスクロールインして表示させることができる。また、ユーザはキャンセルボタン１１０２の表示領域にタッチダウンすることでキャンセルボタン１１０２を選択することができる。これにより、設定メニューの表示を終了し、図１０の画面１０００の表示に戻る指示を入力することができる。
【００５４】
ステップＳ９１５では、制御部１０１は、キャンセルボタン１１０２が選択されたか否かを判断する。制御部１０１が、キャンセルボタン１１０２が選択されたと判断した場合、処理はステップＳ９０１に戻る。一方、制御部１０１が、キャンセルボタン１１０２が選択されていないと判断した場合、処理はステップＳ９１６に進む。
【００５５】
ステップＳ９１６では、制御部１０１は、条件が選択されたか否かを判断する。制御部１０１が、条件が選択されていないと判断した場合、処理はステップＳ９１５に戻る。一方、制御部１０１が、条件が選択されたと判断した場合、処理はステップＳ９１７に進む。
【００５６】
ステップＳ９１７では、制御部１０１は、選択された条件を、検索条件として不揮発性メモリ１０４に保持する。その後、処理はステップＳ９０１に戻る。
【００５７】
以上が、ステップＳ９０３で、制御部１０１が、受け付けたタッチ操作がドラッグ操作でないと判断した場合に設定指示を受け付ける処理の説明である。
【００５８】
次にステップＳ９０３で、制御部１０１が、受け付けたタッチ操作がドラッグ操作であると判断した場合について述べる。この場合、処理はステップＳ９０４に進む。ステップＳ９０４〜ステップＳ９０８の処理は、図５のステップＳ５０６〜ステップＳ５１０と同様のため説明は省略する。なお、ステップＳ９０６からステップＳ９０２に処理が戻る際にも、ステップＳ５０８と同様に、ドラッグ操作が終了した際の表示範囲を表示した状態のまま、処理がステップＳ９０２に戻る。
【００５９】
ステップＳ９０９では、制御部１０１は、ステップＳ９０８で表示範囲に撮像位置が含まれると判断された画像ファイルのうち、検索条件を満たす画像ファイルが存在するか否かを判断する。ここで、用いられる検索条件は、上述のステップＳ９１７で不揮発性メモリ１０４に保持された検索条件である。ここで、本ステップの処理が実行される前に、予めステップＳ９１４〜ステップＳ９１７の処理により、「レーティングが３以上の画像」という検索条件が設定されている場合を例に挙げて説明する。この場合、制御部１０１は、ステップＳ９０８で表示範囲に撮像位置が含まれると判断された画像ファイルから、レーティングが３以上の画像ファイルを検索することになる。検索の際には、制御部１０１は、管理テーブルのレーティングの項を参照する。本実施形態の例では、レーティングが３以上の画像ファイルは画像ファイル４だけである。例えばステップＳ９０７で決定された検索範囲が、図８の範囲４２０なら、検索範囲に撮像位置が含まれる画像ファイル６が存在している。しかし、この画像ファイル６のレーティングは０であるため、「レーティングが３以上の画像」という条件を満たさない。そのため、この場合は制御部１０１は、検索条件を満たす画像ファイルが存在しないと判断し、処理はステップＳ９０２に戻る。すなわち、ユーザの操作に応じた方向に検索条件を満たす画像ファイルが存在しない場合は、ドラッグ操作を受け付けたと判断した場合と同様の処理が実行される。また、例えば、検索範囲が図８の範囲４３０であった場合、検索範囲に画像ファイル４が含まれる。この場合、本ステップの処理では、制御部１０１は、検索条件を満たす画像ファイルが存在すると判断し、処理はステップＳ９１０に進む。
【００６０】
ステップＳ９１０では、制御部１０１は、検索条件を満たす画像ファイルのうち、現在の表示範囲から最も近い画像ファイルの撮像位置が表示範囲に含まれるまで、表示範囲をスクロールする。図８の例でいえば、画像ファイル５の撮像位置を示すピンが表示される表示範囲ではスクロールは停止せず、範囲４１４に相当する表示範囲までスクロールした後、停止することになる。この処理が完了すると、処理はステップＳ９０２に戻る。
【００６１】
以上が、ステップＳ９０３にて制御部１０１が、受け付けたタッチ操作がドラッグ操作であると判断した場合に、表示範囲変更の指示を受け付ける処理である。
【００６２】
以上、本実施形態における情報処理装置の動作について述べた。
【００６３】
本実施形態では、オートスクロールにより検索する画像の条件を設定することができる例について述べた。これにより、ユーザの好みに応じた画像を素早く表示することができ、快適な操作感を提供することができる。
【００６４】
［第３の実施形態］
第１および第２の実施形態では、オートスクロールの指示を受け付けたか否かを判断する際に用いる所定の条件として、フリック操作を利用した例について述べた。これに対して、本実施形態では、フリック操作以外の条件をユーザが任意に設定可能とする例について述べる。なお、本実施形態の説明では、制御部１０１がオートスクロールの指示を受け付けたか否かを判断する際に用いる所定の条件を、開始条件と呼ぶ。本実施形態は第１および第２の実施形態と共通する部分が多いため、共通部分は説明を省略し、本実施形態に特有の部分を中心に説明する。
【００６５】
図１２は、本実施形態における情報処理装置の動作を示すフローチャートである。
【００６６】
ステップＳ１２０１〜ステップＳ１２１３までの処理は、図９のステップＳ９０１〜ステップＳ９１３と同様の処理が実行される。なお、ステップＳ１２０１では、図９のステップＳ９０１と同様に、図１０のような画面１０００が表示される。また、ステップＳ１２０２では、図９のステップＳ９０２と同様に、設定ボタンの選択による設定メニューを表示する指示を受け付ける。
【００６７】
ステップＳ１２１３で、制御部１０１が、設定ボタンが選択されたと判断した場合、処理はステップＳ１２１４に進む。
【００６８】
ステップＳ１２１４では、制御部１０１は、図１３に示す画面１３００を表示するとともに、ユーザからの指示を受け付ける。図１３は、第２の実施形態で述べた検索条件を設定するための処理を実行するか、開始条件を設定するための処理を実行するかを選択するための画面である。ユーザは、操作部１０５を介して各ボタンを選択することにより、ボタンに応じた指示を入力することができる。例えば、ユーザは、画面に表示される検索条件設定ボタン１３０１を選択することにより、検索条件を設定するための処理を実行する指示を入力することができる。また、ユーザは、画面に表示される開始条件設定ボタン１３０２を選択することにより、開始条件を設定するための処理を実行する指示を入力することができる。また、ユーザはキャンセルボタン１３０３を選択することにより、図１０の画面１０００の表示に戻る指示を入力することができる。
【００６９】
ステップＳ１２１５では、制御部１０１は、キャンセルボタンが選択されたか否かを判断する。制御部１０１が、キャンセルボタン１３０３が選択されたと判断した場合、処理はステップＳ１２０１に戻る。一方、制御部１０１が、キャンセルボタン１３０３が選択されていないと判断した場合、処理はステップＳ１２１６に進む。
【００７０】
ステップＳ１２１６では、制御部１０１は、開始条件設定ボタン１３０２が選択されたか否かを判断する。
【００７１】
まず、ステップＳ１２１６にて、制御部１０１が、開始条件設定ボタン１３０２が選択されていないと判断した場合について述べる。この場合、処理はステップＳ１２１７に進む。
【００７２】
ステップＳ１２１７では、制御部１０１は、検索条件設定ボタン１３０１が選択されたか否かを判断する。制御部１０１が、検索条件設定ボタン１３０１が選択されていないと判断した場合、処理はステップＳ１２１５に戻る。一方、制御部１０１が、検索条件設定ボタン１３０１が選択されたと判断した場合、処理はステップＳ１２１８に進む。
【００７３】
ステップＳ１２１８〜ステップＳ１２２１の処理は、図９のステップＳ９１４〜９１７の処理と同様のため、説明は省略する。
【００７４】
次に、ステップＳ１２１６にて、制御部１０１が、開始条件設定ボタン１３０２が選択されたと判断した場合について述べる。この場合、処理はステップＳ１２２２に進む。ステップＳ１２２２では、制御部１０１は、図１４に示す画面１４００を表示するとともに、ユーザからの指示を受け付ける。図１４は、開始条件を設定するための画面の一例である。ユーザは、選択枠１４０１内に表示される条件の表示領域にタッチダウンすることで、その条件を開始条件として設定することができる。選択枠１４０１の内に表示しているように、設定可能な開始条件は「フリック操作」という条件に限られず、様々な条件を設定することができる。例えば、「ドラッグ距離が一定距離以上」を選択すれば、ドラッグ操作のタッチダウン位置とタッチアップ位置との間の距離が一定距離以上であれば、ドラッグ操作の速度に関わらず、自動的なスクロールを開始するという条件を設定することができる。また例えば、「二本指でドラッグ」という条件を開始条件に設定しておけば、二か所の接点で同様のドラッグ操作が行われた場合に、ドラッグ操作の距離や速度に関わらず、自動的なスクロールを開始するという条件を設定することができる。なお、本実施形態では、ユーザにとってより直感的な操作感であることを重視して、各条件は表示範囲を変更する際に用いられる操作を利用した条件としている。また、ユーザは選択枠１４０１内で上下方向にドラッグまたはフリックすれば、選択枠１４０１内に収まらなかった条件をスクロールインして表示させることができる。また、ユーザはキャンセルボタン１４０２の表示領域にタッチダウンすることでキャンセルボタン１４０２を選択することができる。これにより、画面１４００の表示を終了し、図１０の画面１０００の表示に戻る指示を入力することができる。
【００７５】
ステップＳ１２２３では、制御部１０１は、キャンセルボタン１４０２が選択されたか否かを判断する。制御部１０１が、キャンセルボタン１４０２が選択されたと判断した場合、処理はステップＳ１２０１に戻る。一方、制御部１０１が、キャンセルボタン１４０２が選択されていないと判断した場合、処理はステップＳ１２２４に進む。
【００７６】
ステップＳ１２２４では、制御部１０１は、条件が選択されたか否かを判断する。制御部１０１が、条件が選択されていないと判断した場合、処理はステップＳ１２２３に戻る。一方、制御部１０１が、条件が選択されたと判断した場合、処理はステップＳ１２２５に進む。
【００７７】
ステップＳ１２２５では、制御部１０１は、選択された条件を、開始条件として不揮発性メモリ１０４に保持する。その後、処理はステップＳ１２０１に戻る。ここで保持された開始条件は、ステップＳ１２０６で用いられることになる。
【００７８】
以上、本実施形態における情報処理装置の動作について説明した。本実施形態の情報処理装置では、自動的にスクロールをするか否かを判断する際に用いる条件を、ユーザが任意に設定可能なようにした。これにより、ユーザの好みに応じた操作感を提供することができる。
【００７９】
［その他の実施形態］
上述の実施形態において、地図画像をスクロールさせる操作は、タッチパネルを用いた操作に限られるものではない。地図画像をスクロールさせるための方向ボタン等のアイコンを表示し、マウスを用いてこのアイコンを選択するように構成してもよい。この場合、所定の条件（開始条件）は、例えば「アイコンが一定時間以上選択され続けていること」や「アイコンが一定時間以内に複数回選択されたこと」などのように設定する。また、このアイコンはタッチパネルを用いる場合でも表示しておき、タッチパネルを用いても選択できるようにしてもよい。あるいは、十字キーのような方向を指定可能なハードウェアキーを用いて操作することができるようにしてもよい。このような場合、所定の条件（開始条件）は、例えば「十字キーが一定時間以上押下され続けていること」や「十字キーが一定時間以内に複数回押下されたこと」などのように設定する。なお、これらの操作方法は、組み合わせて用いられても良い。
【００８０】
また、上述の実施形態に加えて、自動的にスクロールを行う場合、現在の表示範囲から最も近い撮像位置が表示範囲の中央に表示されるよう、地図画像をスクロールしてもよい。また、このスクロールの停止時の挙動についてユーザが予め設定することができるようにしてもよい。
【００８１】
また、上述の実施形態に加えて、開始条件と検索条件をそれぞれ対応づけたセットを複数保持するようにしてもよい。このように構成することで、例えば開始条件が「フリック操作」、検索条件が「すべての画像」というセットと、開始条件が「二本指でフリック」、検索条件が「レーティング０の画像」というセットを保持している場合について考える。この場合、ユーザから受け付けた操作が、フリック操作であれば全ての画像を検索対象としたオートスクロールを行い、二本指のフリック操作であれば、レーティングが０の画像を検索対象としたオートスクロールを行う。なお、このセットは、ユーザによるメニューの操作等により、任意に設定しておくことができる。このように、開始条件と検索条件を対応づけて保持しておくことにより、より簡単な操作でユーザが所望の範囲の地図を表示することができ、ユーザビリティが高まる。
【００８２】
また、上述の実施形態では、検索範囲に撮像位置を含む画像ファイルが無い場合や、条件を満たす画像ファイルがない場合は、オートスクロールの処理を実行しなかった。これについては、画像ファイルが無くとも検索範囲に沿って表示範囲を移動させてもよい。
【００８３】
また、上述の実施形態では、フリック操作をオートスクロールの指示を入力するために用いる例について述べた。これについては、フリック操作を受け付けた場合は、いわゆる慣性スクロールを行うようにしてもよい。この場合、例えば所定の条件としては、フリックの速度がより速いことを条件としてもよい。
【００８４】
また、上述の実施形態では、記録媒体１１０に地図画像および画像ファイルが記録されているものとして説明した。これについては、地図画像は、ネットワーク上のサーバから随時ダウンロードしてもよい。また、画像ファイルも、その画像ファイルへのアクセスが必要なタイミングで随時サーバにアクセスしてダウンロードすることにより、取得されても良い。
【００８５】
以上、本発明をその好適な実施形態に基づいて詳述してきたが、本発明はこれら特定の実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の様々な形態も本発明に含まれる。上述の実施形態の一部を適宜組み合わせてもよい。
【００８６】
また、上述の実施形態の機能を実現するソフトウェアのプログラムを、記録媒体から直接、或いは有線／無線通信を用いてプログラムを実行可能なコンピュータを有するシステム又は装置に供給し、そのプログラムを実行する場合も本発明に含む。
【００８７】
従って、本発明の機能処理をコンピュータで実現するために、該コンピュータに供給、インストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明の機能処理を実現するためのコンピュータプログラム自体も本発明に含まれる。
【００８８】
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等、プログラムの形態を問わない。
プログラムを供給するための記録媒体としては、例えば、ハードディスク、磁気テープ等の磁気記録媒体、光／光磁気登録媒体、不揮発性の半導体メモリでもよい。
【００８９】
また、プログラムの供給方法としては、コンピュータネットワーク上のサーバに本発明を形成するコンピュータプログラムを登録し、接続のあったクライアントコンピュータがコンピュータプログラムをダウンロードしてプログラムするような方法も考えられる。
【図１】
0005925046.tif 000002
【図２】
0005925046.tif 000003
【図３】
0005925046.tif 000004
【図４】
0005925046.tif 000005
【図５】
0005925046.tif 000006
【図６】
0005925046.tif 000007
【図７】
0005925046.tif 000008
【図８】
0005925046.tif 000009
【図９】
0005925046.tif 000010
【図１０】
0005925046.tif 000011
【図１１】
0005925046.tif 000012
【図１２】
0005925046.tif 000013
【図１３】
0005925046.tif 000014
【図１４】
0005925046.tif 000015