(57)【要約】【課題】撮影位置の密集度に応じて地図データの詳細度を制御することができるようにする。【解決手段】撮影画像の撮影位置情報を取得する撮影位置情報取得手段と、前記撮影位置情報取得手段によって取得した撮影位置情報に基づいて密集度を算出する密集度算出手段と、前記密集度算出手段によって算出した密集度に基づいて、地図の詳細度を決定する詳細度レベル決定手段と、所定のタイミングで、前記詳細度レベル決定手段によって決定した詳細度の地図データを外部から取得する地図データ取得手段とを設け、低リソース機器でも画像データの撮影場所の詳細な地図データを高速に閲覧できるようにする。【選択図】図３
2013109299.tif 000002
【特許請求の範囲】
【請求項１】
撮影画像の撮影位置情報を取得する撮影位置情報取得手段と、
前記撮影位置情報取得手段によって取得した撮影位置情報に基づいて密集度を算出する密集度算出手段と、
前記密集度算出手段によって算出した密集度に基づいて、地図の詳細度を決定する詳細度レベル決定手段と、
所定のタイミングで、前記詳細度レベル決定手段によって決定した詳細度の地図データを外部から取得する地図データ取得手段とを備えることを特徴とする地図データ表示装置。
【請求項２】
撮影画像の撮影時刻を取得する撮影時刻取得手段をさらに備え、
前記詳細度レベル決定手段は、前記密集度算出手段によって算出した密集度と前記撮影時刻取得手段によって取得した撮影時刻に基づき詳細度を決定することを特徴とする請求項１に記載の地図データ表示装置。
【請求項３】
前記所定のタイミングは、省電力モード移行時であることを特徴とする請求項１または２に記載の地図データ表示装置。
【請求項４】
前記所定のタイミングは、充電中であることを特徴とする請求項１または２に記載の地図データ表示装置。
【請求項５】
前記所定のタイミングは、ネットワークへの接続を検知した時であることを特徴とする請求項１または２に記載の地図データ表示装置。
【請求項６】
前記地図データ取得手段は、バッテリー残量によって地図データ取得の実行可否を判断することを特徴とする請求項１〜５の何れか１項に記載の地図データ表示装置。
【請求項７】
撮影画像の撮影位置情報を取得する撮影位置情報取得工程と、
前記撮影位置情報取得工程において取得した撮影位置情報に基づいて密集度を算出する密集度算出工程と、
前記密集度算出工程において算出した密集度に基づいて、地図の詳細度を決定する詳細度レベル決定工程と、
所定のタイミングで、前記詳細度レベル決定工程において決定した詳細度の地図データを外部から取得する地図データ取得工程とを備えることを特徴とする地図データ表示方法。
【請求項８】
撮影画像の撮影時刻を取得する撮影時刻取得工程をさらに備え、
前記詳細度レベル決定工程は、前記密集度算出工程において算出した密集度と前記撮影時刻取得工程において取得した撮影時刻に基づき詳細度を決定することを特徴とする請求項７に記載の地図データ表示方法。
【請求項９】
前記所定のタイミングは、省電力モード移行時であることを特徴とする請求項７または８に記載の地図データ表示方法。
【請求項１０】
前記所定のタイミングは、充電中であることを特徴とする請求項７または８に記載の地図データ表示方法。
【請求項１１】
前記所定のタイミングは、ネットワークへの接続を検知した時であることを特徴とする請求項７または８に記載の地図データ表示方法。
【請求項１２】
前記地図データ取得工程は、バッテリー残量によって地図データ取得の実行可否を判断することを特徴とする請求項７〜１１の何れか１項に記載の地図データ表示方法。
【請求項１３】
撮影画像の撮影位置情報を取得する撮影位置情報取得工程と、
前記撮影位置情報取得工程において取得した撮影位置情報に基づいて密集度を算出する密集度算出工程と、
前記密集度算出工程において算出した密集度に基づいて、地図の詳細度を決定する詳細度レベル決定工程と、
所定のタイミングで、前記詳細度レベル決定工程において決定した詳細度の地図データを外部から取得する地図データ取得工程とをコンピュータに実行させることを特徴とするプログラム。
【請求項１４】
請求項１３に記載のプログラムを記憶したことを特徴とするコンピュータ読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はデータベースエンジンを用いた地図データ表示装置および地図データ表示方法に関する。
【背景技術】
【０００２】
小型機器におけるメモリデバイスとして、フラッシュメモリが一般的に利用されている。近年、このフラッシュメモリの容量の増加が続いており、カメラ等の小型機器においても大量のデータを蓄積することが可能である。さらに、フラッシュメモリの低価格化も進んでおり、内蔵メモリを備えるカメラが増加している。
【０００３】
また、ＧＰＳ（Ｇｌｏｂａｌ Ｐｏｓｉｔｉｏｎｉｎｇ Ｓｙｓｔｅｍ）機能を搭載したカメラも増加しており、撮影場所の緯度・経度が分かる地理情報を画像データに付与可能になっている。近年はさらに、画像データの撮影位置の地理情報に基づいて、画像を検索・閲覧可能なカメラも登場している。これらのカメラの多くは、撮影画像と地図データを並べて表示し、各画像の撮影位置を地図上に対応付けて表示する機能を備えている。
【０００４】
一般的に、地図データには詳細度のレベルがあり、概略情報のみを保持したデータと、詳細情報を保持したデータが階層構造を成している。概略情報のみを保持したデータは、詳細情報を保持したデータに比べ、一つのデータで広い地域を表現する。機器上で地図データを表示する場合には、最大限詳細な地図を表示できることが望ましい。
【０００５】
しかし、カメラ等の機器において、全地域の詳細な地図データを機器内に保持しておくことは、リソース制約上困難である。このため、詳細な地図データは必要な区域のもののみを機器内に保持することになるが、詳細地図を必要とする区域はユーザごとに異なるという課題がある。
【０００６】
近年は、カメラを含む多くの機器においてはネットワークへの接続が可能となっており、低リソース機器で地図データを表示する際には、外部の地図サーバから必要に応じて地図データを取得することが想定できる。しかし、地図データ閲覧時にネットワーク経由でデータを取得する方式では、ネットワーク接続が不可能な場所で地図データを表示することができない。
【０００７】
また、ネットワーク経由で地図データを取得する処理には長い時間がかかるため、閲覧時に取得処理を行うと、地図データを表示するまでに多くの時間がかかってしまう。このため、地図データ表示機能を備えた低リソース機器においては、地図閲覧の可能性の高い地域の地図データを、必要に応じた詳細度で閲覧前に外部サーバから取得しておくことが望ましい。
【０００８】
小型機器における地図データの取得方法および詳細度制御の方式として、特許文献１および特許文献２が開示されている。特許文献１に開示されている画像再生装置では、撮影画像をグループ化し、グループ化した写真の存在領域の大きさに応じた詳細度の地図データを外部サーバから取得する方式が開示されている。特許文献１の方式では、存在領域が広範囲におよぶ場合には、詳細度の低いデータを取得し、存在領域が狭い範囲の場合には詳細度の高いデータを取得する。
【０００９】
また、特許文献２に開示されているプリント装置では、あらかじめグループ化された複数の撮影画像の撮影位置の差に基づいて、グループを包含する領域の地図の詳細度を選択する方式が開示されている。特許文献２の方式では、撮影画像の撮影位置の差が大きい場合には、詳細度の低いデータを取得し、撮影画像の撮影位置の差が小さい場合には詳細度の高いデータを取得する。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】特開２００６−１４８５１４号公報
【特許文献２】特開２００６−３３２７４号公報
【発明の概要】
【発明が解決しようとする課題】
【００１１】
これらの先行技術では、グループ化された画像データを包含する領域の地図データの詳細度を制御することができる。しかし、これらの方式では、グループ内の領域の地図データは、すべて同一の詳細度となってしまう。このため、グループ内の画像データが広範囲に分布しており、その中の一部の画像データの撮影位置が密集している場合には、撮影位置が密集している地域に対しても詳細度の低い地図しか取得できないという問題点があった。
本発明は前述の問題点に鑑みてなされたものであり、撮影位置の密集度に応じて地図データの詳細度を制御できるようにすることを目的とする。
【課題を解決するための手段】
【００１２】
本発明の地図データ表示装置は、撮影画像の撮影位置情報を取得する撮影位置情報取得手段と、前記撮影位置情報取得手段によって取得した撮影位置情報に基づいて密集度を算出する密集度算出手段と、前記密集度算出手段によって算出した密集度に基づいて、地図の詳細度を決定する詳細度レベル決定手段と、所定のタイミングで、前記詳細度レベル決定手段によって決定した詳細度の地図データを外部から取得する地図データ取得手段とを備えることを特徴とする。
【発明の効果】
【００１３】
本発明によれば、撮影位置の密集度に応じて地図データの詳細度を制御することが可能となり、カメラ等の低リソース機器においても詳細な地図データを高速に閲覧することが可能となる。
【図面の簡単な説明】
【００１４】
【図１】本発明の実施形態の地図データ表示装置の構成例を示すブロック図である。
【図２】本発明の実施形態のデータ格納方式を示した図である。
【図３】本発明の実施形態を構成するユーザインタフェースの例を示す図である。
【図４】画像管理テーブル・ＩＤ管理テーブルの例を示す図である。
【図５】本発明の実施形態で用いる地図データを説明する図である。
【図６】本発明の実施形態で用いる詳細度制御メッシュを説明する図である。
【図７】第１の実施形態における地図管理テーブルの例を示す図である。
【図８】本発明の実施形態の処理の流れを示すフローチャートである。
【図９】撮影位置取得処理の流れを示すフローチャートである。
【図１０】詳細度レベル決定処理の流れを示すフローチャートである。
【図１１】地図データ取得処理の流れを示すフローチャートである。
【図１２】第２の実施形態における地図管理テーブルの例を示す図である。
【図１３】第２の実施形態の撮影位置取得処理の流れを示すフローチャートである。
【図１４】第２の実施形態の詳細度レベル決定処理を示すフローチャートである。
【発明を実施するための形態】
【００１５】
以下、本発明を適用した好適な実施形態を、添付図面を参照しながら詳細に説明する。
（第１の実施形態）
図１は、本実施形態を適用する地図データ表示装置の構成例を示すブロック図である。ＣＰＵ１０１は、ＲＯＭ１０２に格納されている制御プログラムを実行することにより地図データ表示装置の全体の制御を行う。ＲＯＭ１０２は、ＣＰＵ１０１が実行するプログラムを格納する。ＣＰＵ１０１がプログラムを実行することにより、当該装置は後述するフローチャートに示す各処理を実行するための各種手段として機能する。ＲＡＭ１０３は、各構成要素からの各種データを一時記憶する。また、ＲＯＭ１０２に格納されているプログラムを展開し、ＣＰＵ１０１によって実行するために用いられる。
【００１６】
内部記憶装置１０６および外部記憶装置１０７は、本実施形態の地図データ表示装置の処理対象となるデータを格納する装置である。内部記憶装置１０６は装置内に備え付けであり、外部記憶装置１０７は装置への着脱が可能である。これらのデータを格納する記憶媒体としては，フラッシュメモリ、ＨＤＤなどを用いることができる。
【００１７】
撮像部１０８は、光学装置および撮像素子等によって構成され、ＣＰＵ１０１からの指示に応じて、被写体の撮像を行う。撮像部１０８によって得られた撮像結果は、画像データとして外部記憶装置１０７に格納する。
【００１８】
ＧＰＳ受信機１０４は、ＧＰＳ衛星からの信号を受信し、装置の現在位置を測位する。撮像部１０８が撮像を行う際には、ＧＰＳ受信機１０４の機能により、撮影位置情報を画像データと対応付けて記憶することができる。
通信部１０５は、ネットワークを介して外部地図サーバ１１１とデータの送受信を行う。ネットワークには、インターネットあるいはイントラネット等を用いることができる。
【００１９】
入力部１０９は、操作ボタン、タッチパネル等で構成され、ユーザからの指示を受け付ける。出力部１１０は、液晶パネル等で構成され、本実施形態において処理対象となるデータを表示する。
なお、本実施形態では後述するフローチャートの各ステップに対応する処理を、ＣＰＵ１０１を用いてソフトウェアで実現するが、その処理の一部又は全部を電子回路などのハードウェアで実現するようにしてもよい。
【００２０】
図２は、本実施形態におけるデータ格納方式を示した図である。地図データ表示装置２０１は、本実施形態を適用する装置全体を示しており、内部記憶装置１０６および外部記憶装置１０７を備えている。内部記憶装置１０６は、地図データ表示装置２０１での表示に用いる地図データを格納した地図データベース２０２を保持している。地図データベース２０２が格納する地図データには、詳細度の低い概略データ２０３と、詳細度の高い詳細データ２０４が存在する。
【００２１】
概略データ２０３は、全区域のデータを格納しているのに対し、詳細データ２０４は特定区域のデータのみを外部装置から取得して格納する。また、内部記憶装置１０６内には、詳細データ２０４の取得を制御するための地図管理テーブル２０５、取得する地図データの詳細度を制御するための詳細度制御メッシュ２０６が存在する。
【００２２】
外部記憶装置１０７は、画像データベース２１０を保持しており、撮影画像データ２０７を格納する。また、撮影画像データ２０７のメタデータを管理・検索するための画像管理テーブル２０８および後述する撮影位置情報取得処理で利用するＩＤ管理テーブル２０９を格納する。
【００２３】
外部地図サーバ１１１は、地図データを格納した地図データベース２１１を備えており、地図データ表示装置２０１とネットワークを介して通信することが可能である。地図データベース２１１が格納する地図データには、地図データ表示装置２０１のものと同様に詳細度の低い概略データ２１２と、詳細度の高い詳細データ２１３が存在する。
【００２４】
図３（Ａ）は、入力部１０９および出力部１１０を構成するユーザインタフェースの例を示す図である。図３（Ａ）において、十字キー３０３および回転ダイヤル３０４は入力部１０９を構成し、地図データ表示領域３０１および撮影画像データ表示領域３０２は出力部１１０を構成する。地図データ表示領域３０１は、地図データベース２０２内に格納している地図データを表示する領域である。
【００２５】
撮影画像データ表示領域３０２は、画像データベース２１０内に格納されている撮影画像データ２０７を表示する領域である。地図データ表示領域３０１には、撮影画像データ表示領域３０２内に表示されている撮影画像データ２０７の撮影位置に対応する地図データが表示される。また、地図データ内には、撮影位置に対応するアイコン３０５が合成表示される。ユーザが、十字キー３０３および回転ダイヤル３０４を操作することにより、表示されている地図の詳細度の変更および表示領域の移動が可能である。
【００２６】
図３（Ｂ）は、十字キー３０３を操作して、図３（Ａ）の地図データ表示領域３０１に表示する地図データの詳細度を高くした状態を示している図であり、図３（Ａ）の中央区域３０６が拡大され、地形のより細部を記録した地図データが表示されている。図３（Ａ）では、中央区域３０６に撮影位置を示すアイコン３０５が密集していたのに対し、図３（Ｂ）では、各アイコン３０５の存在位置の差および付近のより詳細な地形を確認することができる。
【００２７】
図３（Ｃ）は、地図データ表示領域３０１における表示状態の変化を示す図である。領域１（３０７）は、周囲の領域に比べアイコン３０５が多く存在しており、多数の撮影画像が存在する区域であることを示している。したがって、領域１（３０７）が示す区域は、アイコン３０５の存在位置を認識できるよう、ユーザが拡大表示を指示することが想定でき、詳細データが必要となる可能性が高い。また、領域１（３０７）内の部分領域２（３０８）は、領域１（３０７）の中でも特に撮影が多い区域である。このため、部分領域２（３０８）は、領域１（３０７）の中でも特に高い拡大率をユーザが指定することが想定でき、領域１（３０７）より詳細度の高い地図データが必要となる可能性が高い。
【００２８】
図４（Ａ）は、画像管理テーブル２０８の構成例を示した図である。画像管理テーブル２０８は、撮影画像データ２０７を一意に特定する画像ＩＤ４０１、および撮影時に付与されるメタデータとして撮影時刻４０２、緯度４０３、経度４０４を格納している。
【００２９】
図４（Ｂ）は、ＩＤ管理テーブル２０９の構成を示した図である。ＩＤ管理テーブル２０９は、新規画像開始ＩＤ４０５および最新画像ＩＤ４０６を格納している。新規画像開始ＩＤ４０５は、図９で示すフローを適用するべきデータの中で、最も撮影時刻４０２が古いデータの画像ＩＤ４０１を格納する。最新画像ＩＤ４０６は、画像管理テーブル２０８内に格納されている撮影画像データ内で、最も撮影時刻４０２が新しいデータの画像ＩＤ４０１をコピーして格納している。
【００３０】
図５（Ａ）を参照して地図データベース２０２内のデータについて説明する。
地図データは、所定の詳細度ごとに作成された複数のデータ５０１〜５０３で構成される。図５の例では、地図データ５０１が最も詳細度の低いデータであり、地図データ５０３が最も詳細度の高いデータである。詳細度の低い地図データは、地図の概略情報のみを含んでおり、詳細度レベルが高くなるに従って地形の細部を記録したデータになる。
【００３１】
図５（Ｂ）を参照して、地図データ表示装置内における地図データの格納方法について説明する。
地図データ表示装置では、各地図画像データ５０５を、それぞれ一つの詳細度レベル５０４に対応づけて記憶する。これらの地図データの内、詳細度が一定レベル未満のデータを概略データ２０３として扱い、詳細度が一定レベル以上のデータを詳細データ２０４として扱う。この区切りに用いる詳細度レベルは、装置側が設定してもよいし、ユーザが自由に設定できるようにしてもよい。区切りに用いる詳細度レベルをユーザが設定可能にする場合、ユーザの使い方に応じた詳細度レベルの地図データを機器内に保持することが可能である。例えば、ナビゲーション目的で詳細地図データを頻繁に参照するユーザは、区切りの詳細度レベルを高く設定することができる。
【００３２】
図６（Ａ）は、詳細度制御メッシュ２０６の概念図である。詳細度制御メッシュは、地図データを取得する時の詳細度制御に利用するものであり、詳細データの詳細度レベルごとに異なる細かさのメッシュが存在する。領域６０１は詳細度制御メッシュ２０６に対応する地図データの全域である。セル６０２は、メッシュで区切られた一区間を示す単位であり、詳細度レベルの高いメッシュでは１つのセルが示す領域は小さくなる。各セル６０２は、セルを一意に特定する不図示のＩＤで管理する。
【００３３】
図６（Ｂ）は、詳細度制御メッシュ２０６の構成を説明する図である。各セル６０２は、他の詳細度レベルのメッシュ内のセルと階層構造を形成している。本実施形態では、セル６０２が形成する階層構造を四分木構造でインデキシングしており、ルートノード６０３から各セル６０２を辿ることができる。同一の詳細度レベルに属するセル６０２は、同一の階層のノードとして配置する。なお、セル６０２を管理するインデックスには、四分木構造ではなくハッシュ形式を用いてもよい。ハッシュを利用した場合には、各セル６０２へアクセスする際に、木構造を探索する必要がなく、アクセス時間を短縮することができる。
【００３４】
次に、図７を参照して、地図管理テーブル２０５について説明する。
地図管理テーブル２０５では、すべてのセル６０２内の、画像データおよび地図データの取得状態を管理する。地図管理テーブル２０５は、セル６０２を一意に特定するセルＩＤ７０１、セル内の未処理データの有無を管理する新規データフラグ７０２、セル内の画像データ件数７０３、セルに対応する地図取得状態７０４を保持する。
【００３５】
新規データフラグ７０２には、新規データが有ることを示す「有」と、新規データが無いことを示す「無」の２状態が存在する。地図取得状態７０４には、「取得済み」、「取得待ち」、「未取得」の３状態が存在する。「取得済み」は、対象セルの地図データを既に取得済みであることを示す。「取得待ち」は、対象セルの地図データを取得する必要があり、取得処理待ちであることを示す。「未取得」は、対象セルの地図データを取得しておらず、取得処理も不要であることを示す。
【００３６】
図８は、本実施形態の全体処理の手順を説明するフローチャートである。
Ｓ８０１は、地図データ表示装置を省電力モードへ移行する指示を検知する処理である。指示を検知して省電力モード移行時には、Ｓ８０２へ移行する。
Ｓ８０２では、画像データベース２１０内の画像管理テーブル２０８から撮影位置情報取得を行う。
Ｓ８０３では、Ｓ８０２で取得した位置情報に基づき、取得する地図の詳細度レベルを決定する。最後に、Ｓ８０４では外部サーバから地図データ取得処理を行う。Ｓ８０４の処理を終えた後は、Ｓ８０１に戻り、省電力モード移行指示の検知待ち状態となる。
【００３７】
このように、省電力モード移行が指示された場合にのみＳ８０２以降の処理を実施することで、地図データの取得処理が撮影へ影響を及ぼすことを避けることができる効果が得られる。なお、Ｓ８０２への移行タイミングを判断する処理として省電力モード移行を検知する処理の代わりに、地図データ表示装置の充電中であることを検知する処理、地図データ表示装置のネットワークへの接続を検知する処理を用いることも可能である。充電中であることを検知する処理を判断基準として用いる場合には、地図取得処理が撮影へ影響を及ぼすことを避ける効果に加えて、地図取得処理によるバッテリー残量低下を防止する効果を得ることができる。
【００３８】
また、地図データ表示装置のネットワークへの接続を検知する処理を判断基準として用いる場合には、ネットワークへ接続している場合にのみ一連の処理を実行することができ、地図取得処理が失敗するのを防ぐ効果がある。また、地図取得処理によるバッテリー残量低下を防止する効果がある。さらに、地図データ表示装置のバッテリーの残量を検知する手段を設け、バッテリー残量に応じて以降の処理の実行可否を判断するよう構成してもよい。この場合には、地図取得処理によるバッテリー残量不足を防止する効果を得ることができる。
【００３９】
次に、図９を参照して、Ｓ８０２の撮影位置取得処理の詳細を説明する。
Ｓ９０１では、新規画像データがあるか否かの判定を行う。この判定においては、未処理の新規画像データが存在するか否かを、ＩＤ管理テーブル２０９を参照して判定する。未処理の新規画像データとは、最後に本フローの処理を実施した時点以降に撮影された画像データを指す。最新画像ＩＤ４０６が新規画像開始ＩＤ４０５より大きい値である場合には、未処理の新規画像データが存在すると判定する。新規画像データが存在する場合には、Ｓ９０２へ移行する。新規画像データが存在しない場合には、本フローを終了する。
【００４０】
Ｓ９０２では、新規画像データの撮影位置情報を１件取得する。ここでは、画像管理テーブル２０８を参照して、新規画像開始ＩＤ４０５以降の画像ＩＤ４０１をもつデータを検索し、緯度４０３および経度４０４を取得する。
Ｓ９０３では、Ｓ９０２で取得した撮影位置情報に対応するセルＩＤ７０１を算出する。セルＩＤの算出は、図６に示すインデックスを用いて、各詳細度レベルに対して検索を実施することで実現する。
【００４１】
Ｓ９０４では、地図管理テーブル２０５の中から、Ｓ９０３で算出したセルＩＤ７０１に対応するデータを更新する。具体的には、セルＩＤ７０１に対応するデータの新規データフラグ７０２を「有」に設定し、画像データ件数７０３の値を１つインクリメントする。
【００４２】
Ｓ９０５では、次の新規データがあるか否かを判定する。次のデータがある場合には、Ｓ９０２から処理を繰り返す。無い場合には、Ｓ９０６でＩＤ管理テーブル２０９の新規画像開始ＩＤ４０５の値を更新し、本フローを終了する。ここでは、現在の最新画像ＩＤ４０６に１を足した値を新たな新規画像開始ＩＤ４０５として記録する。
【００４３】
次に、図１０を参照して、Ｓ８０３における詳細度レベル決定処理の詳細を説明する。本ステップでは、詳細度制御メッシュ２０６を用いて、撮影位置の密集度算出処理を行い、各区域の地図の詳細度レベルを決定する。
まず、Ｓ１００１では、以降のステップで用いる詳細度制御メッシュの詳細度レベルを初期値に設定する。好適には、初期値は詳細データの開始レベルとすることができる。
【００４４】
Ｓ１００２では、現在設定されている詳細度レベルの詳細度制御メッシュ内で、本フローを未実施のセル６０２があるか否かを判定する。未実施のセル６０２がある場合には、Ｓ１００３へ進む。未実施のセルがない場合には、Ｓ１００７へ進み、詳細度制御メッシュの詳細度レベルを一つ上げる。なお、Ｓ１００７において、詳細度レベルが既に最大レベルに達している場合には、本フローを終了することができる。
【００４５】
Ｓ１００３では、現在設定されている詳細度レベルの詳細度制御メッシュ内で、新規データのあるセル６０２を１つ取得する。本処理では、地図管理テーブル２０５を参照して、新規データフラグ７０２の値が「有」になっている場合には当該セル内に新規データがあると判定する。
【００４６】
Ｓ１００４では、地図管理テーブル２０５内のデータを更新する。具体的には、Ｓ１００３で取得したセルに対応する新規データフラグ７０２を「無」に設定する。
Ｓ１００５では、Ｓ１００３で取得したセルに対して、撮影位置の密集度を算出する。本ステップでは、画像データ件数７０３の値を参照し、その値を撮影位置の密集度として扱う。なお、画像データ件数の代わりに、撮影位置同士の距離の平均値を密集度として用いてもよい。この場合には、少数の画像を狭い区域内で撮影した場合にも撮影区域の密集度を高く判定し、詳細度の高い地図データを取得することができる。
【００４７】
Ｓ１００６では、Ｓ１００５で算出した密集度が事前に設定した閾値以上であるか否かを判定する。閾値以上である場合には、密集度が高い区域であると判断し、Ｓ１００８へ進む。一方、閾値以下の場合には、密集度が低いと判断し、Ｓ１００２から処理を繰り返す。密集度の算出には、任意の位置から所定の距離内に存在する画像データ数を算出し、その値を利用してもよい。この場合には、セル単位で画像データ数を管理する必要がなく、構成を単純にすることができる。
【００４８】
Ｓ１００７では、密集度が高いと判断したセルに対して、地図管理テーブル２０５内の地図取得状態７０４を更新し、Ｓ１００２から処理を繰り返す。本ステップでは、対象セルの地図取得状態７０４が「未取得」の場合に、「取得待ち」に変更する。
【００４９】
次に、図１１のフローチャートを参照して、Ｓ８０４の地図データ取得処理の詳細を説明する。
Ｓ１１０１では、地図管理テーブル２０５を参照して、地図取得状態７０４が「取得待ち」となっているセルがあるか否かを判定する。ない場合には本処理を終了する。取得待ち状態のセルがある場合には、Ｓ１１０２で外部地図サーバ１１１へ接続し、Ｓ１１０３で外部地図サーバ１１１からセルＩＤ７０１に対応する地図データを取得する。
【００５０】
外部地図サーバ１１１から地図データを取得する際の方式としては、セルＩＤからセルに対応する区域の位置情報および領域サイズを算出する構成でもよいし、セルＩＤ７０１と地図データ１枚を一意に対応付けしておく構成でもよい。セルＩＤからセルに対応する区域の位置情報および領域サイズを算出する構成の場合、地図サーバ側に特別な構成は必要ないが、地図データ取得時に位置情報および領域サイズの算出処理時間が必要となる。
【００５１】
セルＩＤ７０１と地図データ１枚を一意に対応付ける構成の場合、地図サーバ内で地図データをセル単位で分割して保持する必要があるが、地図データ取得処理を高速に実行することができる。本処理で取得した地図データは、地図データベース２０２内に格納し、出力部１１０への表示指示があった場合に利用する。
【００５２】
本実施形態によれば、メッシュで区切った各区域に対して撮影位置の密集度を算出し、算出した密集度に基づき地図の詳細度を制御することができる。撮影位置の密集度に応じて取得する地図の詳細度レベルを制御するため、狭い区域で多くの画像を撮影した場合にも各撮影画像の撮影位置をユーザが識別可能となる。
【００５３】
また、地図データの表示指示に先立って地図データを取得しておくため、地図閲覧時にネットワークに接続できない環境であっても、詳細地図を閲覧可能である。さらに、撮影区域のみの詳細データを取得するため、低リソース環境にも適用可能であり、カメラ等の低リソース機器上で詳細地図データを、高速に閲覧可能となる。
【００５４】
（第２の実施形態）
以下、本発明の第２の実施形態を説明する。なお、第１の実施形態と同一構成部分についてはその説明を省略する。第１の実施形態では、撮影画像データの撮影位置の密集度に基づき、取得する地図データの詳細度レベルを制御した。しかし、第１の実施形態では、撮影画像データの撮影時刻の情報を考慮していない。
【００５５】
撮影時刻の新しい画像データは、撮影時刻の古いデータに比べ、ユーザが閲覧する可能性が高く、詳細データを取得する価値が高いと言える。したがって、本実施形態では、撮影位置の密集度を撮影時刻に基づき補正し、詳細度制御に用いることで、閲覧可能性の高い区域の地図データの詳細度を高く設定できるようにした例を示す。
【００５６】
図１２は、本実施形態における地図管理テーブル２０５の構成例を示した図である。地図管理テーブル２０５は、セルＩＤ７０１、新規データフラグ７０２、画像データ件数７０３、地図取得状態７０４に加え、撮影時刻１２０１を保持している。
【００５７】
図１３は、本実施形態における撮影位置取得処理の流れを示すフローチャートである。
Ｓ１３０１では、新規データがあるか否かの判定を行う。この判定においては、未処理の新規画像データが存在するか否かを、ＩＤ管理テーブル２０９を参照して判定する。未処理の新規画像データとは、最後に本フローの処理を実施した時点以降に撮影された画像データを指す。最新画像ＩＤ４０６が新規画像開始ＩＤ４０５より大きい値である場合には、未処理の新規画像データが存在すると判定する。新規画像データが存在しない場合には、本フローを終了する。
【００５８】
Ｓ１３０２では、新規画像データの撮影位置情報を１件取得する。ここでは、画像管理テーブル２０８を参照して、新規画像開始ＩＤ４０５以降の画像ＩＤ４０１をもつデータを検索し、緯度４０３および経度４０４を取得する。
Ｓ１３０３では、新規画像データの撮影時刻を１件取得する。ここでは、画像管理テーブル２０８を参照して、新規画像開始ＩＤ４０５以降の画像ＩＤ４０１をもつデータを検索し、撮影時刻４０２を取得する。
【００５９】
Ｓ１３０４では、Ｓ１３０２で取得した撮影位置情報に対応するセルＩＤ７０１を算出する。セルＩＤの算出は、図６に示すインデックスを用いて、各詳細度レベルに対して検索を実施することで実現する。
Ｓ１３０５では、地図管理テーブル２０５の中から、Ｓ１３０４で算出したセルＩＤ７０１に対応するデータを更新する。具体的には、図１２におけるセルＩＤ７０１に対応するデータの新規データフラグ７０２を「有」に設定し、画像データ件数７０３の値を１つインクリメントし、撮影時刻１２０１にＳ１３０３で取得した時刻を格納する。
【００６０】
Ｓ１３０６では、次の新規データがあるか否かを判定する。次のデータがある場合には、Ｓ１３０２から処理を繰り返す。無い場合には、Ｓ１３０７でＩＤ管理テーブル２０９の新規画像開始ＩＤ４０５の値を更新し、本フローを終了する。ここでは、現在の最新画像ＩＤ４０６に１を足した値を新たな新規画像開始ＩＤ４０５として記録する。
【００６１】
次に、図１４のフローチャートを参照して、本実施形態における詳細度レベル決定処理の詳細を説明する。本処理では、画像データの撮影位置の密集度と撮影時刻に基づき、各区域の地図の詳細度レベルを決定する。
Ｓ１４０１では、以降のステップで用いる詳細度制御メッシュの詳細度レベルを初期値に設定する。好適には、初期値は詳細データの開始レベルとすることができる。
【００６２】
Ｓ１４０２では、現在設定されている詳細度レベルの詳細度制御メッシュ内で、この詳細度レベル決定処理を未実施のセルがあるか否かを判定する。未実施のセルがある場合には、Ｓ１４０３へ進む。未実施のセルがない場合には、Ｓ１４０８へ進み、詳細度制御メッシュの詳細度レベルを一つ上げる。なお、Ｓ１４０８において、詳細度レベルが既に最大レベルに達している場合には、本フローを終了する。
【００６３】
Ｓ１４０３では、現在設定されている詳細度レベルの詳細度制御メッシュ内で、新規データのあるセルを１つ取得する。この処理では、地図管理テーブル２０５を参照して、新規データフラグ７０２の値が「有」になっている場合には当該セル内に新規データがあると判定する。
【００６４】
Ｓ１４０４では、地図管理テーブル２０５内のデータを更新する。具体的には、Ｓ１４０３で取得したセルに対応する新規データフラグ７０２を「無」に設定する。
Ｓ１４０５では、Ｓ１４０３で取得したセルに対して、撮影位置の密集度を算出する。本ステップでは、画像データ件数７０３の値を参照し、その値を撮影位置の密集度として扱う。
【００６５】
Ｓ１４０６では、Ｓ１４０５で算出した密集度を、画像データの撮影時刻で補正する。本ステップでは、画像データの撮影時刻取得のためにＳ１４０３で取得したセルの撮影時刻１２０１の値を参照し、その値で撮影位置の密集度を補正する。好適には、撮影時刻の新しいデータは密集度を高く補正し、撮影時刻の古いデータは密集度を低く補正する。補正は、例えば一定時期以降のデータの密集度のみを一律引き上げるよう構成できる。この構成によれば、最近撮影を行った区域の地図データを、最近撮影していない区域より高い詳細度レベルで取得することが可能となる。
【００６６】
Ｓ１４０７では、Ｓ１４０６で補正した密集度が事前に設定した閾値以上であるか否かを判定する。閾値以上である場合には、密集度が高い区域であると判断し、Ｓ１４０９へ進む。一方、閾値以下の場合には、密集度が低いと判断し、Ｓ１４０２から処理を繰り返す。
【００６７】
Ｓ１４０９では、密集度が高いと判断したセルに対して、地図管理テーブル２０５内の地図取得状態７０４を更新し、Ｓ１４０２から処理を繰り返す。本ステップでは、対象セルの地図取得状態７０４が「未取得」の場合に、「取得待ち」に変更する。
【００６８】
本実施形態によれば、撮影時刻で密集度に補正をかけるため、最近撮影を行っており閲覧可能性の高い区域の地図データを、撮影時刻で補正しない場合に比べて高い詳細度レベルで取得することが可能である。
【００６９】
（その他の実施形態）
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（コンピュータプログラム）を、ネットワーク又は各種のコンピュータ読み取り可能な記憶媒体を介してシステム或いは装置に供給する。そして、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【符号の説明】
【００７０】
１０１  ＣＰＵ、１０２  ＲＯＭ、１０３  ＲＡＭ、１０４  ＧＰＳ受信機、１０５  通信部、１０６  内部記憶装置、１０７  外部記憶装置、１０８  撮像部、１０９  入力部、１１０  出力部、１１１  外部地図サーバ、２０１  地図データ表示装置、２０２  地図データベース、２０３  概略データ、２０４  詳細データ、２０５  地図管理テーブル、２０６  詳細度制御メッシュ、２０７  撮影画像データ、２０８  画像管理テーブル、２０９  ＩＤ管理テーブル、２１０  画像データベース、２１１  地図データベース、２１２  概略データ、２１３  詳細データ
【図１】
2013109299.tif 000003
【図２】
2013109299.tif 000004
【図３】
2013109299.tif 000005
【図４】
2013109299.tif 000006
【図５】
2013109299.tif 000007
【図６】
2013109299.tif 000008
【図７】
2013109299.tif 000009
【図８】
2013109299.tif 000010
【図９】
2013109299.tif 000011
【図１０】
2013109299.tif 000012
【図１１】
2013109299.tif 000013
【図１２】
2013109299.tif 000014
【図１３】
2013109299.tif 000015
【図１４】
2013109299.tif 000016