(57)【要約】【課題】複数枚の画像を順番に再生する際に、再生されて画像と次に再生される画像の撮影位置を表示可能な地図を決定して撮影位置関係を明瞭に表示する。【解決手段】再生された画像とその撮影位置を地図上に表示し、次の画像を再生して表示する際はこの画像と先の画像の撮影位置を表示領域に表示可能な地図の縮尺を決定して次の撮影位置まで地図をスクロールし、この処理を画像再生ごとに繰り返す。【選択図】図２
2012198252.tif 000002
【特許請求の範囲】
【請求項１】
記憶媒体から選択された複数の画像を再生し、再生された画像の撮影位置を地図とともに表示するための画像再生装置において、
前記選択された複数の画像を順番に再生するための再生手段と、
少なくとも前記再生手段で再生された画像と前記地図を所定の表示領域に表示するための表示手段と、
前記複数の画像のうちの第１の画像と次の再生順番の第２の画像の撮影位置を前記記憶媒体から取得するための取得手段と、
前記取得手段で取得された前記第１の画像の撮影位置と前記第２の画像の撮影位置を前記所定の表示領域に表示可能な地図の最大の縮尺を決定するための決定手段と、
前記決定手段で決定された縮尺の地図とともに、前記第１の画像の撮影位置と前記第２の画像の撮影位置に従って前記第１の画像と前記第２の画像を前記所定の表示領域に表示する表示制御を行うための表示制御手段とを備えることを特徴とする画像再生装置。
【請求項２】
前記表示制御手段は、前記第１の画像の撮影位置と前記第２の画像の撮影位置との位置関係を示すアイコンを前記地図に従って前記所定の表示領域に表示することを特徴とする請求項１に記載の画像再生装置。
【請求項３】
前記再生手段は、前記第１の画像を表示している間に前記第２の画像の再生を指示するための指示手段を備え、
前記指示手段による再生の指示に応じて前記決定手段は前記縮尺を決定し、前記表示制御手段は、前記決定手段で決定された前記縮尺に従って前記所定の表示領域での前記地図の表示を更新することを特徴とする請求項１または２に記載の画像再生装置。
【請求項４】
前記表示制御手段は、前記第２の画像の撮影位置に基づいて前記所定の表示領域に表示されている地図をスクロールしながら前記表示制御を行って前記地図の表示を更新することを特徴とする請求項３に記載の画像再生装置。
【請求項５】
前記表示制御手段は、前記地図のスクロールに応じて前記アイコンの表示を変化させることを特徴とする請求項４に記載の画像再生装置。
【請求項６】
前記表示制御手段は前記第１の画像および前記第２の画像をそれぞれ異なるサイズに縮小し、前記アイコンの表示位置、前記第１の画像の撮影位置および前記第２の画像の撮影位置に従って前記縮小した画像の表示位置を決定することを特徴とする請求項２乃至５のいずれか一項に記載の画像再生装置。
【請求項７】
さらに外部装置と通信するための通信手段を備え、前記表示制御手段は、前記決定手段で決定された縮尺の地図を前記通信手段を介して前記外部装置から取得することを特徴とする請求項１乃至６のいずれか一項に記載の画像再生装置。
【請求項８】
記憶媒体から選択された複数の画像を再生し、再生された画像の撮影位置を地図とともに表示するための画像再生装置の制御方法において、
前記選択された複数の画像を順番に再生するための再生ステップと、
少なくとも前記再生ステップで再生された画像と前記地図を所定の表示領域に表示するための表示ステップと、
前記複数の画像のうちの第１の画像と次の再生順番の第２の画像の撮影位置を前記記憶媒体から取得するための取得ステップと、
前記取得ステップで取得された前記第１の画像の撮影位置と前記第２の画像の撮影位置を前記所定の表示領域に表示可能な地図の最大の縮尺を決定するための決定ステップと、
前記決定ステップで決定された縮尺の地図とともに、前記第１の画像の撮影位置と前記第２の画像の撮影位置に従って前記第１の画像と前記第２の画像を前記所定の表示領域に表示する表示制御を行うための表示制御ステップとを備えることを特徴とする制御方法。
【請求項９】
コンピュータを、
記憶媒体から選択された複数の画像を再生し、再生された画像の撮影位置を地図とともに表示するための画像再生装置の制御方法において、
前記選択された複数の画像を順番に再生するための再生手段、少なくとも前記再生手段で再生された画像と前記地図を所定の表示領域に表示するための表示手段、前記複数の画像のうちの第１の画像と次の再生順番の第２の画像の撮影位置を前記記憶装置から取得するための取得手段、前記取得手段で取得された前記第１の画像の撮影位置と前記第２の画像の撮影位置を前記所定の表示領域に表示可能な地図の最大の縮尺を決定するための決定手段、および前記決定手段で決定された縮尺の地図とともに、前記第１の画像の撮影位置と前記第２の画像の撮影位置に従って前記第１の画像と前記第２の画像を前記所定の表示領域に表示する表示制御を行うための表示制御手段として機能させるためのプログラム。
【請求項１０】
請求項９のプログラムを記録したコンピュータが読み取り可能な記録媒体。
【請求項１１】
コンピュータを、請求項１乃至７のいずれか一項に記載の画像再生装置の各手段として機能させるプログラム。
【請求項１２】
コンピュータを、請求項１乃至７のいずれか一項に記載の画像再生装置の各手段として機能させるプログラムを格納した記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は撮影画像を再生して地図上の撮影位置に表示するための画像再生装置および画像再生方法およびプログラムに関する。
【背景技術】
【０００２】
従来、撮影画像を再生して地図上の撮影位置に表示することが行われている。例えば、特許文献１では、全ての撮影画像の撮影位置を含む範囲の地図に、再生順序の流れを示す矢印を合成して撮影画像を表示することが開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開2006-148514号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
全ての撮影画像の撮影位置を含む広範囲な地図を表示すると縮尺が小さくなるため撮影位置を詳細に確認できなくなってしまう。また、撮影位置が近い距離にある撮影画像は、地図上のほぼ同じ位置に表示されるので、それらの撮影画像の位置関係を識別しづらくなってしまう。
【課題を解決するための手段】
【０００５】
上記従来の問題に鑑み、本件発明の目的は、複数の画像を再生して地図上の撮影位置に表示する場合に、撮影位置が地図上で接近して表示される場合でもそれらの位置関係が明確に把握できるよう表示を制御できる画像再生装置を提供することにある。
【０００６】
本件発明の画像再生装置は、選択された複数の画像を順次再生するための再生手段と、少なくとも再生手段で再生された画像と地図を所定の表示領域に表示するための表示手段と、複数の画像のうちの第１の画像と次の再生順番の第２の画像の撮影位置を取得するための取得手段と、取得された第１の画像の撮影位置と第２の画像の撮影位置を所定の表示領域に表示可能な地図の最大の縮尺を決定するための決定手段と、決定された縮尺の地図とともに、第１の画像の撮影位置と第２の画像の撮影位置に従って第１の画像と第２の画像を所定の表示領域に表示する表示制御を行うための表示制御手段とを備える。
【発明の効果】
【０００７】
本件発明によれば、複数の撮影画像を順次再生して地図上の撮影位置に表示する際に、再生する順番が前後する撮影画像の撮影位置を適切な縮尺の地図で表示することができる。これにより、再生する順番が連続する撮影画像の位置関係を地図上で明瞭に確認することができ、ユーザーにとって画像の再生および表示の利便性が向上する。
【図面の簡単な説明】
【０００８】
【図１】本発明に係わる画像再生装置の構成を示すブロック図。
【図２】本件発明に係わる画像再生処理のフローチャートを示す図。
【図３】本件発明の画像再生処理における１枚目の再生画像に対応する地図の表示処理のフローチャートを示す図。
【図４】本件発明の画像再生処理における２枚目以降の再生画像に対応する地図の決定処理のフローチャートを示す図。
【図５】本件発明の画像再生処における２枚目以降の再生画像に対応する地図の表示処理のフローチャートを示す図。
【図６】本件発明の画像再生処理における地図のスクロール処理のフローチャートを示す図。
【図７】本件発明の画像再生処理において表示される地図の決定処理を説明するための図。
【図８】本件発明に係わる地図の縮尺リストの構成例を示す図。
【図９】本件発明の画像再生処理における再生画像および地図の表示例を示す図。
【図１０】本件発明の画像再生処理において、再生画像の表示位置を動的に変更することを説明するための図。
【発明を実施するための形態】
【０００９】
以下に、本発明の好ましい実施の形態を、添付の図面に基づいて詳細に説明する。
【００１０】
図１は本発明の構成例を表す図である。画像再生装置１００は画像を再生するローカルのＰＣであり、本発明ではこのＰＣに保存されている画像と画像に付与された位置情報を用いて、所定の順番にしたがって画像を地図上の撮影位置に表示する。１０１は画像再生装置１００の全体を制御するＣＰＵである。１０３は、ハードディスクなどの二次記憶装置であり、ＣＰＵにより実行されるプログラムを格納する。また、再生を行う画像が保存されている。１０２は、ＲＡＭなどの一次記憶装置であり、二次記憶装置から読み込まれたプログラムが格納される。１０４は、液晶ディスプレーなどの表示部である。１０５は、キーボードやマウスなどの操作部である。１０６は、他のコンピューターと通信するためのEthernet（登録商標）端子などの通信装置である。本発明では、通信装置１０６を使ってサーバー１０７と通信を行うことで地図データをダウンロードする。ダウンロードした地図データは、二次記憶装置１０３に保存する。
【００１１】
サーバー１０７は、異なる縮尺ごとの地図データを保存している、画像再生装置１００に対する外部装置である。１０８はサーバー１０７の全体を制御するＣＰＵである。１１０は、ハードディスクなどの二次記憶装置であり、ＣＰＵが実行するプログラムを格納する。また、二次記憶装置１１０は地図データを格納する。画像再生装置１００への地図データのダウンロードは、二次記憶装置に保存されているプログラムに従って、ＣＰＵ１０８が行う。地図をサーバーからダウンロードして表示する理由は、地図のデータ容量は膨大であることが予想され、ローカルのＰＣである画像再生装置１００に地図データを保存するのは現実的ではないためである。
【００１２】
図２は、画像再生装置１００の動作を表すフローチャートである。図２だけでなく、後述する他の図に示されているフローチャートに従った本件発明の画像再生処理は、ＣＰＵ１０１が二次記憶装置１０３に記憶されている制御プログラムに従って画像再生装置１００の各構成部を制御することによって実現される。
【００１３】
本件発明の画像再生処理で再生される画像は、ユーザーが選択した画像である。ユーザーが画像を選択する方法としては、二次記憶装置１０３に保存されている画像を表示部１０４に表示し、それをユーザーが目視で確認しながら操作部１０５を使って、再生したい複数の画像を選んでいく方法がある。また、画像の再生を始めるための手段として表示部１０４に画像の再生を開始するボタンを配置することで、ユーザーが画像の選択を終わった後に操作部１０５を使って画像の再生を開始することができる。画像を再生する順番は、撮影日時が古いものから順に行っていくものとするが、後述するようにこれに限るものではない。撮影日時が古いものから順に再生するとユーザーが撮影した順番に沿って地図上に撮影位置と画像を表示することになるので、撮影した場所と移動したルートをユーザーが思い出しながら画像を再生することができる。
【００１４】
ユーザーが任意の画像を選択して画像の再生を開始すると、ステップＳ２００においてＣＰＵ１０１は表示部１０４に１枚目に再生する画像に対応する地図の表示を行う。ここで表示する地図は、１枚目と２枚目に表示する画像の撮影位置が含まれる範囲を、最大の縮尺で表示する地図である。地図の表示を行う際は、１枚目の撮影位置が地図の中央にくるように表示する。ステップＳ２００において表示する地図の決定方法と表示方法については後述する。
【００１５】
ステップＳ２０１へ進み、ＣＰＵ１０１は１枚目の画像の表示を行う。ここで、ＣＰＵ１０１は地図の中央に撮影位置を示すアイコンを表示する。ステップＳ２００で地図を表示する際は１枚目の撮影位置が地図の中央にくるように表示しているので、地図の中央に撮影位置を示すアイコンを表示する。撮影位置を示すアイコンを地図上に表示することで、ユーザーは画像を撮影した位置を明確に確認することができる。そして、撮影位置の近辺に１枚目の画像を表示する。ここで表示する画像の位置は、撮影位置を示すアイコンと重ならないようにする。表示位置の決定方法については後述する。
【００１６】
ここで、表示部１０４に画像を再生する際の表示例を図９に示す。図９は、図２のフローチャートに沿って画像を表示したときの表示例を示している。図９の（a）は、図２のステップＳ２００とステップＳ２０１を行った際の表示例である。図１の表示部１０４は表示領域９００を含み、その領域の中に地図画像９０１を表示している。９０３は１枚目の画像の撮影位置を示すアイコンであり地図の中央になる。撮影位置の近辺に、１枚目の画像９０４を表示する。また、９０２は前の画像または次の画像の再生に進むためのボタンであり、ユーザーが操作部１０５を用いてボタン９０２を押下すると、前の画像または次の画像の再生に進む。
【００１７】
図２の説明に戻る。ステップＳ２０１で１枚目の画像表示を行うと、ＣＰＵ１０１は次の画像の表示を行う指示を受け付けたか否かを判定する（ステップＳ２０２）。ＣＰＵ１０１は、以降に示す２つ条件のうちどちらかを満たせば、指示を受け付けたと判定する。第一の条件は、次の画像表示へ進むことをユーザーが明示的に選択することである。すなわち、図９（a）のボタン９０２の押下を検知することで、指示を受け付けたと判定する。第二の条件は、一枚目の画像を表示してから一定時間の経過を検知することで、指示を受け付けたと判定する。ここでいう一定時間とは、所定の時間か、画像の再生を始める前にユーザーが設定した任意の時間を示すものとする。以上の２つの条件のうちどちらかが満された場合、処理はステップＳ２０３へ進む。ステップＳ２０３からステップＳ２０６では、２枚目以降の画像と地図を表示するための処理を繰り返していく。まずステップＳ２０３において、ＣＰＵ１０１は表示する地図を決定する。ステップＳ２０３における地図の決定は、２枚目以降の画像を表示する際に毎回行われるものである。これは、現在表示している画像と次に表示する画像の撮影位置がおさまる最小の範囲の地図を表示するために行っている。ステップＳ２０３の詳細については後述する。
【００１８】
ステップＳ２０４では、ステップＳ２０３で決定した地図と画像の表示を行う。ステップＳ２０４の詳細については後述するが、次の画像を表示する際は次の撮影位置を含む範囲まで地図をスクロールして、また次の撮影位置へ向けて矢印の線を伸ばしていく。このようにすることで、再生順番が前後する２枚の画像の撮影位置の関係を明瞭に示すことができる。また、再生順番が撮影順番と対応するときは、ユーザーが写真を撮影しながら移動したルートに沿って、地図をスクロールすることができる。
【００１９】
図９の（b）と（c）は、ステップＳ２０４で地図と画像を表示する際の表示例を示している。図９の（b）は、スクロール中の地図の表示例であり、表示領域９０５の中で地図画像９０６をスクロールしている。図９の（b）の場合は、地図が右方向へスクロールしている。また、地図をスクロールする際は前の画像を縮小して表示し、地図のスクロールに合わせて縮小画像９０９と撮影位置のアイコン９０７もスクロールする。また、地図のスクロールに合わせて前の撮影位置から次の撮影位置へ向けて矢印の線９０８を伸ばしていく。矢印の線を伸ばすことで、ユーザーは次の撮影位置がどの方向にあるかを知ることができる。図８の（c）は地図をスクロールした後の表示例である。９１２は前の画像であり、９１３は前の画像の撮影位置を示すアイコンである。９１５は次の画像であり、９１６は次の画像の撮影位置を示すアイコンである。９１６の位置はスクロールによって地図の中央になる。９１４は、前の撮影位置と次の撮影位置を結んだ矢印であり、撮影位置の移動した方向を示すものである。移動した方向を示すことで、ユーザーがどの地点からどの地点へ移動して写真撮影を行ったかを明瞭に確認することができる。
【００２０】
図２の説明に戻る。ステップＳ２０４で地図と画像の表示を行うと、ＣＰＵ１０１は次の画像の表示を行うための指示があったかどうか判定する（ステップＳ２０５）。ここでの判定は、ステップＳ２０２と同じ処理になる。次の画像の表示を行うための指示があれば（ステップＳ２０５でＹｅｓ）、まだ表示していない画像があるかどうか判定し（ステップＳ２０６）、ある場合はステップＳ２０３に戻り次の画像に対応する地図の決定を行う。無い場合には（ステップＳ２０６でＮｏ）、画像の再生を終了する。
【００２１】
図９の（d）は、３枚目の画像を表示する際の表示例を示している。９１８は、２枚目と３枚目の撮影位置がおさまる範囲の地図である。例えば、１枚目と２枚目の撮影位置は近かったが、２枚目と３枚目の撮影位置が離れていたとすると、２枚目の画像を表示する際は図９の（c）のように縮尺の大きい地図を表示すればよいが、３枚目の画像を表示する際は縮尺の小さい地図が必要となる。そこで、ＣＰＵ１０１はステップＳ２０３で３枚目の画像を表示するのに適切な地図（縮尺）を決定し、ステップＳ２０４で表示領域９１７に地図画像９１８を表示する。
【００２２】
次に、ステップＳ２００の処理の詳細について説明する。ステップＳ２００は、１枚目の画像に対応する地図の表示を行う処理である。図３のフローチャートはステップＳ２００の詳細な処理について示したものであり、１枚目と２枚目の画像の撮影位置がおさまる範囲であり、なおかつ出来るだけ縮尺の大きな地図を表示することを目的としている。
ステップＳ３００においてＣＰＵ１０１は、１枚目に表示する画像と２枚目に表示する画像の撮影位置の距離（以降、撮影間距離と呼ぶ）を求める。撮影間距離は、各画像に付与された撮影位置の情報（ジオタグ）を取得して、それから算出することができる。例えば、近い位置で撮影した２枚の画像は撮影間距離が短くなり、遠い位置で撮影した２枚の画像は撮影間距離が長くなる。次にステップＳ３０１においてＣＰＵ１０１は、表示部１０４に地図を表示する領域の短辺の長さを算出する。
【００２３】
ここでいう短辺の長さについて、図７を用いて説明する。図７は、表示部１０４に地図を表示する際の表示例を示している。図７の７００は表示部１０４に地図を表示する領域であり、この領域内に地図画像７０６を表示している。表示領域７００の大きさはディスプレーの解像度や画面の拡大または縮小で変動するものであり、この表示領域の大きさと撮影間距離を用いて、表示する地図の縮尺を決定する。例えば、撮影間距離が短い２枚の画像の場合は縮尺の大きい地図を表示し、撮影間距離が長い２枚の画像の場合は縮尺の小さい地図を表示する。表示領域７００では、地図を表示する領域の短辺の長さは表示領域７００の縦の長さである７０５になる。表示領域の短辺の長さ７０５の値ｂは、例えば４００ピクセルや５００ピクセルのように、単位をピクセルとする。そうすると、表示されている地図の１ピクセルの大きさは、地図の縮尺に応じて実際の長さに対応する。
【００２４】
図３の説明に戻る。ステップＳ３０２においてＣＰＵ１０１は、後述する縮尺リスト８００を読み出し、地図の縮尺リスト８００にある最も大きい縮尺を初期値として設定する。この理由として、ステップＳ３０３以降では現在設定している縮尺で表示領域内に２点の撮影位置を表示できるかを判定し、表示できない場合には地図の縮尺を一段階ずつ下げていく。そのために、まずは地図の縮尺を最大にして、１枚目と２枚目の画像の撮影位置が表示領域内におさまるかを判定する。
【００２５】
ここで、地図データはサーバー１０７に保存されており、ＣＰＵ１０１は表示に必要な分だけをダウンロードして表示する。サーバー１０７には異なる縮尺の地図データが保存されており、画像再生装置１００はサーバー１０７に保存されている地図の縮尺リストを持つ。地図の縮尺リストとは、サーバー１０７にどのような縮尺の地図が保存されているかを示すものである。画像再生装置１００が地図の縮尺リストを持つことで、サーバー１０７にアクセスすることなく、どのような縮尺の地図が存在するのかを知ることできる。これにより、ＣＰＵ１０１は表示に最適な地図の縮尺を決定することができる。
【００２６】
図８は、地図の縮尺リストの構成例を示すものである。８００は地図の縮尺リストの構成例を示しており、サーバーに保存されている地図の縮尺と、それぞれの縮尺における地図画像の１ピクセルあたりの実距離を示している。地図の縮尺リスト８００からは、８０１〜８０４に示す４つの異なる縮尺の地図がサーバーに保存されていることがわかる。また、それぞれの縮尺の地図画像において、地図画像の１ピクセルを実距離に換算したときの値を符号８０５〜８０８で示す。例えば、８０１にある１万分の１の縮尺の地図画像の場合は、その１ピクセルが１メートルに相当する。また、８０２にある５万分の１の縮尺の地図画像の場合は、その１ピクセルが５メートルに相当する。地図の縮尺リスト８００の場合は、ステップＳ３０２においてＣＰＵ１０１は地図の縮尺を１万分の１に設定する。
【００２７】
次にステップＳ３０３においてＣＰＵ１０１は、ステップＳ３０１で求めた長さｂを設定された縮尺に基づいて実距離に変換する。実距離への変換には、地図の縮尺リスト８００を用いる。例えば、表示領域の短辺の長さｂが４００ピクセルであり、地図の縮尺が１万分の１に設定されている場合は、実距離Ｂは４００メートルになる。つまり、表示領域７００に１万分の１の縮尺の地図画像７０６を表示した場合は、表示領域７００の縦の長さは実距離で４００メートルに相当する。この実距離Ｂを２で割った値（以降、表示限界距離と呼ぶ）を、ステップＳ３００で求めた撮影間距離と比較することで、ＣＰＵ１０１は、表示する地図の縮尺を決定する（ステップＳ３０４）。例えば、１枚目と２枚目の画像の撮影間距離が１００メートルであり、表示限界距離が２００メートルの場合は、現在の縮尺（１万分の１）の設定のままで地図の表示領域７００に２点の撮影位置をおさめることができる。このように表示限界距離が撮影間距離と同等かそれより大きければ、ステップＳ３０６へ進み、ＣＰＵ１０１は通信装置１０６を制御して地図のダウンロードを行う。
【００２８】
ステップＳ３０６においてＣＰＵ１０１は、表示領域７００に表示する地図をサーバーからダウンロードする。ダウンロードする地図は、現在設定されている縮尺の地図データのうち、１枚目の撮影位置を中心として表示領域７００の大きさを持つ範囲である。そしてステップＳ３０７において、１枚目の撮影位置を中心にして表示領域７００に地図の表示を行う。なお、次の撮影位置に地図をスクロールすることを考えて、次の撮影位置へ移動したときに表示される部分の地図データを予めダウンロードしておいてもよい。
【００２９】
ステップＳ３０４で撮影間距離と表示限界距離を比較した結果、撮影間距離が表示限界距離より大きくなる場合もある。例えば、一度写真を撮影した後に遠くへ移動して、再度写真を撮影した場合である。このような場合は撮影間距離が長くなる。例えば、撮影間距離が５００メートルで表示限界距離が２００メートルの場合は、現在の縮尺の設定では地図の表示領域内に２点の撮影位置をおさめることができない。そこで撮影間距離が表示限界距離より大きくなる場合はステップＳ３０５に進み、ＣＰＵ１０１は縮尺リストに従って地図の縮尺を一段階小さい縮尺に設定する。地図の縮尺リスト８００の場合は、地図の縮尺を現在の１万分の１から５万分の１に再設定する。そしてステップＳ３０３において、設定された縮尺に基づき表示限界距離を再計算する。地図の縮尺リスト８００をみると、地図の縮尺が５万分の１の場合は地図画像の１ピクセルあたりの実距離が５メートルになるので、表示領域の短辺の長さが４００ピクセルであれば実距離Ｂは２０００メートルになる。そして、ステップＳ３０４において表示限界距離と撮影間距離を再度比較する。実距離Ｂが２０００メートルであれば表示限界距離は１０００メートルになる。撮影間距離は５００メートルであるので、表示限界距離の方が大きくなり再設定した地図の縮尺で表示領域７００に２点の撮影位置を表示できることになる。その後は、ステップＳ３０６に進み、表示に必要な分の地図データをダウンロードする。つまり、ステップＳ３００からステップＳ３０７の一連の流れの中では、表示する地図の縮尺を徐々に小さく設定していき、２点の撮影位置を表示可能な最も大きい縮尺の地図を決定している。なお、ステップＳ３０５において既に設定されている縮尺が最も小さい縮尺である場合は、これ以上縮尺の小さい地図がサーバーに存在しないので、現在設定している縮尺が最も小さい地図をダウンロードして表示する。また、ステップＳ３０４で撮影間距離と表示限界距離を比較する際は、表示限界距離から一定のマージンを引いてから比較してもよい。すなわち、表示限界距離と撮影間距離が同じ場合は、次の撮影位置が表示領域７００の端にぎりぎりに入る位置となり、画面上で位置を認識しづらくなる。そこで一定のマージンを設けることで、次の撮影位置が表示領域７００にぎりぎりに入ることを防ぐことができる。
【００３０】
次に、ステップＳ２０３の詳細な処理について説明する。ステップＳ２０３は、２枚目以降の画像に対応する地図を決定する処理である。ステップＳ２０３では表示に必要な地図を決定してサーバーからダウンロードするまでの処理を行い、ダウンロードした地図の表示処理はステップＳ２０４で行う。
【００３１】
図４のフローチャートはステップＳ２０３の詳細な処理を示し、現在表示している画像と再生が指示された次の画像との撮影位置がおさまる範囲を出来るだけ縮尺の大きな地図で表示するための処理である。１枚目の画像の再生時に表示される地図（Ｓ２００）は、まだ再生が指示されてない２枚目の画像の撮影位置をも含むように決定されていた。したがって、２枚目の画像の再生が指示されたときは表示されている地図をそのままスクロールすれば１枚目の画像と２枚目の画像の撮影位置を表示できる。しかし、３枚目の画像の再生が指示されたときは、現在表示されている２枚目の画像の撮影位置と３枚目の画像（次の画像）の撮影位置がそのとき表示されている地図に含まれるかどうかは不明である。そこで、２枚目以降の画像の再生においては、再生が指示されたときに、現在表示されている画像と次の再生が指示された画像との撮影位置に基づいて表示する地図の縮尺を決定して更新する。すなわち、以下に記載する２枚目の画像以降の再生処理の説明での「次の」という表現は、現在表示されている画像の次に再生が指示された画像のことである。なお、２枚目以降の画像を表示する際は毎回ステップＳ２０３で地図の決定を行うが、上述のように、２枚目の画像に関してはステップＳ２００での処理がそれに該当し、ステップＳ２０３においてもステップＳ２００と同じ地図が決定されることになる。従って、ここでは現在５枚目の画像（第１の画像）を表示しており、次に６枚目の画像（第２の画像）を表示（再生）する場合を例として説明する。なお、ステップＳ２００と同じ処理になる部分は簡潔に説明する。
【００３２】
ステップＳ４００においてＣＰＵ１０１は、５枚目に表示する画像と６枚目に表示する画像の撮影間距離を求める。ステップＳ４０１においてＣＰＵ１０１は、表示部１０４に地図を表示する領域の短辺の長さを算出する。ステップＳ４０２においてＣＰＵ１０１は、地図の縮尺リストにある最も大きい縮尺を縮尺の初期値として設定する。図８にある地図の縮尺リスト８００を例にすると、ＣＰＵ１０１は地図の縮尺を１万分の１に設定する。
【００３３】
次にステップＳ４０３においてＣＰＵ１０１は、ステップＳ４０１で求めた表示領域の短辺の長さを実距離に変換する。上述したように、実距離への変換には、地図の縮尺リスト８００を用いる。例えば、表示領域の短辺の長さが４００ピクセルであり、地図の縮尺が１万分の１に設定されている場合は、実距離Ｂは４００メートルになる。
【００３４】
ステップＳ４０４において、この実距離Ｂを２で割った表示限界距離と撮影間距離を比較することで、次に表示する地図の縮尺を決定する。例えば、５枚目と６枚目の画像の撮影間距離が１００メートルであり、表示限界距離が２００メートルの場合は、現在の縮尺（１万分の１）の設定のままで地図の表示領域に２点の撮影位置が含まれる。このように表示限界距離が撮影間距離と同等かそれより大きければ、ステップＳ４０６へ進み地図のダウンロードを行う。
【００３５】
ステップＳ４０６においてＣＰＵ１０１は、通信装置１０６を制御して表示領域に表示する地図をサーバーからダウンロードする。
【００３６】
ステップＳ４０４では、撮影間距離が表示限界距離より大きくなる場合もある。例えば、撮影間距離が８００メートルで表示限界距離が２００メートルの場合は、現在設定されている縮尺の地図の表示領域内に２点の撮影位置がともに含まれることがない。撮影間距離が表示限界距離より大きい場合はステップＳ４０５に進み、ＣＰＵ１０１は地図の縮尺を一段階小さい縮尺に設定する。そしてステップＳ４０３において、表示限界距離を再計算する。表示限界距離が撮影間距離より大きくなる場合は、ステップＳ４０６に進み、地図データをダウンロードする。なお、ステップＳ４０５において既に最も小さい縮尺が設定されていてこれ以上縮尺の小さい地図をサーバーからダウンロードできないときは、現在設定している縮尺が最も小さい地図をダウンロードする。
【００３７】
次に、ステップＳ２０４の詳細な処理について説明する。ステップＳ２０４は、ステップＳ２０３で決定した地図と対応する画像を表示する処理である。図５のフローチャートはステップＳ２０４の詳細な処理を示し、現在の画像表示から再生が指示された次の画像の表示に遷移するときの各処理を示す。
【００３８】
ステップＳ５００においてＣＰＵ１０１は、地図を更新して表示する。ここで表示する地図は、ステップＳ２０３でダウンロードした地図である。なお、地図を更新する際はアニメーションを用いて徐々に拡大しながら表示してもよい。図９の（ｃ）を例にして説明すると、次の撮影位置が遠く離れている場合は、現在表示している地図画像９１１に次の撮影位置が含まれない。そこで画像９１５の撮影位置と次の画像の撮影位置が含まれるような地図を決定する。このように再生が前後する２枚の撮影位置を含む地図を表示すると、撮影した方向を示す矢印のアイコン９１４が表示領域９１０の外に表示されることがない。したがって、ユーザーは撮影位置がどこからどこに移動したかを表示領域９０５に表示されている地図上で確認することができる。
【００３９】
次にステップＳ５０１においてＣＰＵ１０１は、現在表示している画像を縮小する。これにより、次に再生する画像の表示が、画像サイズの差によって目立つようになる。縮小した画像の表示位置については後述する。なお、画像を縮小して表示する際は、アニメーションを用いて徐々に縮小してもよい。次にステップＳ５０２においてＣＰＵ１０１は、次の撮影位置まで地図をスクロールする。地図をスクロールする際は、次の撮影位置が表示領域９１０の中央にくるまで地図を移動する。地図のスクロールの詳細処理については後述するが、スクロール中は現在の撮影位置から次の撮影位置まで矢印を伸ばしていき、移動した方向が分かるようにする。次の撮影位置に到達すると地図のスクロールが終わるので、ステップＳ５０３においてＣＰＵ１０１は次の撮影位置のアイコンを地図上に表示する。ステップＳ５０２で地図をスクロールする際は、次の撮影位置が表示領域５１０の中央になるようにしているので、次の撮影位置を示すアイコンは地図の中央に表示される。ステップＳ５０４においてＣＰＵ１０１は、撮影位置の近辺に次の画像を表示する。次の画像の表示位置については後述するが、撮影位置のアイコンに重なることなく、なおかつ撮影位置を移動した方向を示す矢印と重ならないようにする。
【００４０】
次に、ステップＳ５０２の詳細な処理について説明する。図６のフローチャートはステップＳ５０２の詳細な処理を示し、現在の撮影位置から次の撮影位置まで地図をスクロールする際の各処理を示す。
【００４１】
再生が指示された次の画像の撮影位置が例えば図９（ｃ）に示す９１６である場合は、ステップＳ６００においてＣＰＵ１０１は、図９（ｂ）の地図を次の撮影位置９１６と１８０度逆の方向へ地図を水平移動する。次の撮影位置と１８０度逆の方向へ地図を移動することで、次の撮影位置が地図の表示領域の中央に近づくことになる。例えば地図を右方向へ移動した場合は、表示領域９１０の左部分に新たな地図を表示する。したがって、地図を移動すると今まで表示されていなかった部分の地図が表示されることになる。地図の移動量は、予め決められた一定の大きさとする。次にステップＳ６０１においてＣＰＵ１０１は、前の撮影位置から次の撮影位置へ向けて矢印を描画する。そして次の撮影位置に到達するまで、ステップＳ６００とステッ６０１を繰り返していく（ステップＳ６０２）。ここでステップＳ６０２とステップＳ６０３は短い時間間隔で繰り返し行うものとする。すなわち、ユーザーの視点に立つと、地図が移動しながら次の撮影位置へ向けて矢印が伸びていくように見える。
【００４２】
図５の説明に戻る。ステップＳ５０１において画像の縮小を行う際は、縮小した画像を表示する位置を動的に変更する。この理由を図１０を用いて説明する。まず、常に撮影位置を示すアイコンの上方に画像を表示すると、２つの問題点がある。
【００４３】
図１０の（a）は、前の画像の撮影位置１００１が表示領域１０００のかなり上部にある例である。このような場合に、単純に撮影位置の上方に画像１００２を表示すると、表示領域１０００の中に画像１００２が入りきらなくなり、画像１００２の視認性が悪くなる。また、図１０の（b）は、前の画像の撮影位置１００４が表示領域１００３のかなり下部にある例である。このような場合に単純に撮影位置の上方に画像１００６を表示すると、撮影位置の移動を示す矢印のアイコン１００５の上に画像を表示させることになり、矢印のアイコン１００５の視認性が悪くなる。以上の２つの問題を避けるために、前の画像の撮影位置によって画像の表示位置を動的に変更する。図１０の（c）は、前後２枚の画像の撮影位置の関係を表すものである。１００７は地図をスクロールした後に表示する画像の撮影位置であり、必ず地図の表示領域１００９の中央になる。１００８に示す円は、前の画像の撮影位置が含まれる可能性のある領域である。図２のフローチャートのステップＳ２００またはステップＳ２０３のアルゴリズムに従うと、前の撮影位置は表示領域１００９に内接する円１００８の中に必ず含まれる。例えば、前の撮影位置が１０１０の領域内にある場合は、領域１０１０の上方にまだ余っている表示領域があるので、撮影位置のアイコンの上方に画像を表示することができる。また、前の撮影位置が１０１１の領域内にある場合は、下方にまだ余っている表示領域があるので、撮影位置のアイコンの下方に画像を表示することができる。また、前の撮影位置が１０１２または１０１３の領域内にある場合は、左方にまだ余っている表示領域があるので、撮影位置のアイコンの左方に画像を表示することができる。また、前の撮影位置が１０１４または１０１５の領域内にある場合は、右方にまだ余っている表示領域があるので、撮影位置のアイコンの右方に画像を表示することができる。以上のように、次の撮影位置まで地図をスクロールした時の前の画像の撮影位置を元にして、前の画像の表示位置を決定する。このように縮小した画像の表示位置を動的に変更することで、縮小した画像が画面外にはみ出してしまったり移動方向を示すアイコンと重なってしまうことを防ぐことができる。ここで、前の画像の縮小は地図のスクロール前に行うものなので、地図のスクロール前に前述のアルゴリズムにしたがって表示位置を決定しておく。なお、前の撮影位置が次の撮影位置の近くにくる可能性があるのは、サーバーに保存されている地図の縮尺が連続的でないからである。例えば、ある縮尺では表示領域内に２枚の撮影位置がぎりぎり入らなかったので縮尺を一段階小さく設定した場合は、表示領域の中では２点の撮影位置がそれほど離れていない地図を表示することになる。そのような理由から、前の撮影位置は１００８の円の中のどこかの位置に含まれることになる。
【００４４】
図５の説明に戻る。ステップＳ５０４において次の画像の表示を行う際は、画像を表示する位置を動的に変更する。この理由を図１０の（d）と（e）を用いて説明する。図１０の（d）は、前の画像の撮影位置が表示領域１０１６の下半分にある例を示している。前の画像の撮影位置は１０１７の領域に含まれているので、撮影した方向を示す矢印のアイコンも表示領域１０１６の下半分に含まれる。このような場合は、次の撮影位置のアイコンの上方に次の画像１１１８を表示すればよい。他方、図１０の（e）のように前の画像の撮影位置が表示領域１０１９の上半分にある場合は、次の撮影位置の上方に画像を表示すると、撮影位置のアイコンや移動した方向を示す矢印のアイコンに重なって表示されてしまう。そこで、前の画像の撮影位置が表示領域１０１９の上半分にある場合は、次の撮影位置のアイコンの下方に画像１０２１を表示する。以上のように、前の撮影位置によって次の画像の表示位置を動的に変更することで、前の撮影位置を示すアイコンや移動方向を示すアイコンと重なってしまうことを防ぐことができる。
【００４５】
なお、上記説明では画像の選択方法としてユーザーが目視で確認しながら操作部１０５を使って、再生したい画像を選んでいく方法を提案しているが、二次記憶装置１０３に保存されている画像全てを自動で選択して画像の再生を開始してもよい。また、画像に付与されたお気に入り度やキーワードなどのメタデータを指定することで、自動的に選択された画像を使ってもよい。
【００４６】
また、上記説明では画像を再生する順番として撮影日時が古いものから再生する方法を提案しているが、撮影日時が新しい順に表示しもよい。また、ファイルの更新日、ファイル名、お気に入り度、ファイル種別ごとの昇順または降順にしたがって再生してもよい。
また、位置情報が付与されていない画像を再生する場合は、前の画像もしくは次の画像の位置情報を使ってもよい。
【００４７】
また、図５のフローチャートではステップＳ５００からステップＳ５０４の順番に沿って説明を行ってきたが、ステップＳ５００からステップＳ５０４の順番を変えて処理を行ってもよい。例えば、ステップＳ５０１にある前の画像を縮小した後に、ステップＳ５００にある地図の更新を行ってもよい。また、ステップＳ５００からステップＳ５０４を同時に行ってもよい。
【００４８】
また、上記説明では地図の上に画像を表示する方法を提案しているが、画像の上に地図を表示させてもよい。また、地図と画像を独立した領域に表示してもよい。
【００４９】
また、本件発明は、通信手段を有する撮像装置での画像再生にも適用できる。この場合、撮像装置のＣＰＵが上述した実施例でのＣＰＵ１０１として動作する。
【００５０】
上述した本件発明の構成によれば、画像を順に地図上で再生する際に、再生順番が隣接する画像の撮影位置を所定の表示領域内に表示可能な地図を、最大尺度で決定できるので、ユーザーは画像の位置関係を地図上で明瞭に確認することができる。
【００５１】
以上、本発明をその好適な実施形態に基づいて詳述してきたが、本発明はこれら特定の実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の様々な形態も本発明に含まれる。上述の実施形態の一部を適宜組み合わせてもよい。
【００５２】
また、上述の実施形態の機能を実現するソフトウェアのプログラムを、記録媒体から直接、或いは有線／無線通信を用いてプログラムを実行可能なコンピュータを有するシステム又は装置に供給し、そのプログラムを実行する場合も本発明に含む。従って、本発明の機能処理をコンピュータで実現するために、該コンピュータに供給、インストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明の機能処理を実現するためのコンピュータプログラム自体も本発明に含まれる。
【００５３】
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等、プログラムの形態を問わない。プログラムを供給するための記録媒体としては、例えば、ハードディスク、磁気テープ等の磁気記録媒体、光／光磁気記憶媒体、不揮発性の半導体メモリでもよい。また、プログラムの供給方法としては、コンピュータネットワーク上のサーバーに本発明を形成するコンピュータプログラムを記憶し、接続のあったクライアントコンピュータはがコンピュータプログラムをダウンロードしてプログラムするような方法も考えられる。
【図１】
2012198252.tif 000003
【図２】
2012198252.tif 000004
【図３】
2012198252.tif 000005
【図４】
2012198252.tif 000006
【図５】
2012198252.tif 000007
【図６】
2012198252.tif 000008
【図７】
2012198252.tif 000009
【図８】
2012198252.tif 000010
【図９】
2012198252.tif 000011
【図１０】
2012198252.tif 000012