地図画像処理装置及びその制御方法
【課題】閲覧者が所望の情報を容易に発見することができる地図画像を提供する。
【解決手段】設定された第1の領域の位置を規定する代表経緯度情報に従い、第1の縮尺率より大きい第2の縮尺率を有し、かつ第1の領域より小さい第2の領域の大きさの第2の地図画像を取得する。また、第1の縮尺率を有する第1の地図画像を取得する。さらに、第1の領域から第2の領域を除いた領域に表示する、第1の地図画像と第2の地図画像とを地図として連続させる補間画像を次のように生成する。地図画像処理装置は、第1の地図画像のうち、第2の地図画像が第1の縮尺率で表示された場合に占める領域を除いた、第1の領域内の領域に含まれる画像を変換して補間画像を生成する。そして、第1の地図画像上に、生成された補間画像、さらに第2の地図画像を、代表経緯度情報により規定される位置に重畳し、表示地図画像を生成する。
【解決手段】設定された第1の領域の位置を規定する代表経緯度情報に従い、第1の縮尺率より大きい第2の縮尺率を有し、かつ第1の領域より小さい第2の領域の大きさの第2の地図画像を取得する。また、第1の縮尺率を有する第1の地図画像を取得する。さらに、第1の領域から第2の領域を除いた領域に表示する、第1の地図画像と第2の地図画像とを地図として連続させる補間画像を次のように生成する。地図画像処理装置は、第1の地図画像のうち、第2の地図画像が第1の縮尺率で表示された場合に占める領域を除いた、第1の領域内の領域に含まれる画像を変換して補間画像を生成する。そして、第1の地図画像上に、生成された補間画像、さらに第2の地図画像を、代表経緯度情報により規定される位置に重畳し、表示地図画像を生成する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、地図画像の表示技術に関する。
【背景技術】
【0002】
近年、インターネット上で提供されている地図画像を、閲覧者はブラウザを介して閲覧することができる。インターネット上で提供される地図画像の中には、閲覧者が地図の縮尺率を変更可能なものや、建物のオブジェクトモデルや店舗種別等の付加的な情報を地図画像に重畳して提供しているものもある。昨今では、GPS等の測位装置が搭載された撮像装置で撮影された画像を、撮影場所の情報に従って地図上に閲覧可能に配置するものもある。
【0003】
例えばアイコン等のランドマークを地図画像上に配置して表示する場合、地図の縮尺率によっては当該アイコンが重なってしまい、閲覧者は目標のランドマークを容易に探し出せないことがある。特許文献1には、地図画像上に表示するランドマークの数が所定の数以下となるように地図の縮尺率を自動的に変更することで、閲覧者に対してランドマークの情報を重なることなく提供する技術が開示されている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2003−114615号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、特許文献1のように、ランドマークが重ならないような縮尺率に変更されると、閲覧者に対して提供される情報量が少なく、即ち地図の範囲が狭域となってしまう。つまり、閲覧者は例えば1つのランドマークを探すために縮尺率の変更を繰り返し行う必要があった。
【0006】
本発明は、上述の問題点に鑑みてなされたものであり、閲覧者が所望の情報を容易に発見することができる地図画像を提供することを目的とする。
【課題を解決するための手段】
【0007】
前述の目的を達成するために、本発明の地図画像処理装置は、以下の構成を備える。
縮尺率の異なる第1の領域を第1の地図画像内に有する表示地図画像を生成する地図画像処理装置であって、第1の領域の位置を規定する代表経緯度情報を設定する設定手段と、第1の縮尺率を有する第1の地図画像と、第1の縮尺率より大きい第2の縮尺率を有し、かつ第1の領域より小さい第2の領域の大きさの第2の地図画像であって、代表経緯度情報により規定された第2の地図画像と、を取得する第1の取得手段と、第1の領域から第2の領域を除いた領域に表示する、第1の地図画像と第2の地図画像とを地図として連続させる補間画像を生成する補間手段と、第1の地図画像上に、補間手段により生成された補間画像、さらに第2の地図画像を、代表経緯度情報により規定される位置に重畳し、表示地図画像を生成する生成手段と、を備え、補間手段は、第1の地図画像のうち、第2の地図画像が第1の縮尺率で表示された場合に占める領域を除いた、第1の領域内の領域に含まれる画像を変換して補間画像を生成する、ことを特徴とする。
【発明の効果】
【0008】
このような構成により本発明によれば、閲覧者が所望の情報を容易に発見することができる地図画像を提供することを可能とする。
【図面の簡単な説明】
【0009】
【図1】本発明の実施形態1に係るPCの機能構成を示したブロック図
【図2】実施形態に係るノーマルモードの表示地図画像の図
【図3】実施形態に係る拡大鏡モードの表示地図画像の図
【図4】実施形態に係る表示地図画像描画処理のフローチャート
【図5】実施形態1に係る縮尺率決定処理のフローチャート
【図6】実施形態に係る地図サーバから取得可能な地図画像の縮尺率を示したテーブル
【図7】実施形態に係る補間画像生成処理のフローチャート
【図8】実施形態に係る魚眼フィルタ係数を決定するためのテーブル
【図9】実施形態1に係る縮尺率決定処理を説明するための図
【図10】実施形態2に係る縮尺率決定処理のフローチャート
【図11】実施形態2に係る縮尺率の段階数の差と補間領域の幅の関係を規定したテーブル
【図12】実施形態3に係る補間領域の幅を説明するための図
【図13】実施形態3に係る補間領域の幅を説明するための図
【発明を実施するための形態】
【0010】
(実施形態1)
以下、本発明の好適な一実施形態について、図面を参照して詳細に説明する。なお、以下に説明する一実施形態は、地図画像処理装置の一例としての、縮尺率の異なる一部の領域を有する地図画像を生成可能なパーソナルコンピュータ(PC)に、本発明を適用した例を説明する。しかし、本発明は、縮尺率の異なる一部の領域を有する地図画像を生成することが可能な任意の機器に適用可能である。また、本明細書において、縮尺率の異なる地図画像や表示する地図画像を区別するために、地図画像のそれぞれを次のように定義して説明する。
【0011】
・表示地図画像 :閲覧者に対して提示する、最終的な地図画像
(縮尺率の異なる領域を有する地図画像を含む)
・第1の地図画像:表示地図画像を主に構成する第1の縮尺率を有する地図画像
・第2の地図画像:第1の地図画像の一部の領域を、第1の縮尺率よりも大きい第2の
縮尺率に拡大して得られる地図画像
【0012】
図1は、本発明の実施形態に係るPC100の機能構成を示すブロック図である。
CPU101は、PC100を構成する各ブロックの動作を制御するブロックである。CPU101は、例えば後述するROM102及び記録媒体108に記憶されているPC100が備える各ブロックの動作プログラムを読み出して、RAM103に展開して実行することにより、各ブロックの動作を制御する。ROM102は、不揮発性メモリであり、PC100が備える各ブロックの動作プログラムに加え、各ブロックの動作において必要なパラメータ等の情報が記憶される。RAM103は、揮発性メモリであり、各ブロックの動作において生成された中間データ等が一時的に格納されるCPU101のメインメモリとして機能する。
【0013】
なお、本実施形態ではPC100が備える各ブロックの動作を当該ブロックの動作プログラムにより制御するものとして説明するが、本発明の実施はこれに限らず、各ブロックは当該動作プログラムと同様の処理を行う回路で構成されてもよい。
【0014】
マウス104及びキーボード105は、PC100が備える閲覧者からの入力を受け付けるユーザインタフェースであり、閲覧者が当該マウス104及びキーボード105を操作することにより入力された操作内容は、CPU101に伝送される。
【0015】
メディアドライブ106は、例えばメモリカードや外付けHDD等の、PC100に着脱可能に装着される外部記録媒体のインタフェースであり、接続された外部記録媒体からのデータの読み出し及び当該外部記録媒体へのデータの書き込み等を制御する。
【0016】
外部接続I/F107は、PC100が備える外部機器と接続するためのインタフェースであり、ネットワーク200を介してサーバや外部機器等と接続し、当該機器とPC100との間でデータの送受信を行うことが可能となる。
【0017】
記録媒体108は、例えば内蔵メモリやHDD、SSD(Solid State Drive)等のPC100に内蔵される記録装置であり、アプリケーションやライブラリ等のプログラムや各種データを記録する。
【0018】
表示部109は、例えばLCD等の表示装置であり、ROM102や記録媒体108に記録されているGUIデータや、不図示のGPUにおいて描画された表示用画像を表示することにより、閲覧者に情報を提示する。
【0019】
本実施形態では、PC100において閲覧者が地図閲覧プログラムを実行した場合に、「ノーマルモード」及び「拡大鏡モード」の2種類の表示モードの地図画像が表示部109に表示される。ここで、それぞれのモードで表示されるGUIについて、図を用いて以下に説明する。
【0020】
図2は、本実施形態に係るノーマルモードのGUIを示している。図は、表示部109の表示領域上に表示されるプログラムのウィンドウの一例であり、地図画像が表示される地図表示領域201と、ノーマルモードと拡大鏡モードとを切り替えるためのアイコン202、縮尺率を変更するためのスライダ203が表示されている。
【0021】
本実施形態では、地図表示領域201に表示する地図画像は、例えば外部接続I/F107を介してネットワーク200上に存在する不図示の地図サーバから取得するものとして説明する。しかしながら、本発明の実施はこれに限らず、表示する地図画像の取得はメディアドライブ106に接続された外部記録媒体や、記録媒体108から取得してもよい。
【0022】
具体的にはCPU101は、例えば現在の地図表示領域201の大きさ(画素数)、表示する地図画像(表示地図画像)の縮尺率、及び当該表示地図画像の範囲の情報をRAM103より読み出して、地図サーバに表示地図画像を要求する。表示地図画像の範囲の情報は、例えば表示地図画像の中心の経緯度や、表示地図画像の対角頂点の経緯度等の地図上の位置情報であってよい。CPU101は、上述した表示地図画像の各情報を地図サーバに送信することにより当該表示地図画像を受信し取得した表示地図画像を地図表示領域201に表示する。
【0023】
本実施形態では、地図表示領域201に表示する表示地図画像に対して、当該表示地図画像の範囲内の経緯度情報を有する画像が重畳されて表示される。経緯度情報を有する画像とは、上述したように例えば所謂ジオタグと呼ばれる撮影した場所の地理座標がヘッダ情報に含められた画像データ等の、予め地図上の座標情報(経緯度情報)を有する画像を指すものとする。
【0024】
CPU101は、このような経緯度情報を有する画像204を例えば記録媒体108やメディアドライブ106に接続された外部記録媒体より読み出し、当該画像の経緯度情報に従って地図表示領域201に表示する表示地図画像上に配置する。なお、表示地図画像上に配置する画像は、例えばサムネイル画像等であってよく、当該サムネイル画像は例えば経緯度情報を有する画像のヘッダ情報より取得すればよい。即ち、経緯度情報を有する画像はヘッダ情報に経緯度情報が含まれる画像データに限らず、経緯度情報を有する動画像データの代表画像であってもよい。またこのとき、CPU101は表示地図画像上に配置する経緯度情報を有する画像の表示解像度(画素数)の情報を取得し、表示地図画像上に表示される画像のそれぞれに関連付けて、例えばRAM103に記憶する。
【0025】
スライダ203は、例えば閲覧者がマウス104またはキーボード105を操作することにより変更することが可能であり、当該スライダ203の指示位置により表示地図画像の縮尺率が決定されるものとする。スライダ203の操作は、閲覧者が直接指示位置のアイコンをドラッグ操作してもよいし、その他にもマウス104のホイール操作やキーボードの上下または左右キーにより操作可能であってもよい。CPU101は、スライダ203の指示位置に変更があった場合、変更後の表示地図画像の各情報を再度取得し、地図サーバに新たな縮尺率の表示地図画像を要求するものとする。
【0026】
またノーマルモードでは、地図表示領域201において閲覧者がマウス104を用いて行ったドラッグ操作に応じて、表示地図画像の表示範囲は変更される。例えば閲覧者がマウス104を上方向に動かすと、地図表示領域201の上方向が北に該当する場合、表示地図画像の表示範囲は全体的に南に移動する。同様に閲覧者がマウス104を右方向に動かした場合は、表示地図画像の表示範囲は全体的に西に移動する。
【0027】
図3は、本実施形態に係る拡大鏡モードのGUIを示している。図は、図2と同様表示部109の表示領域上に表示されるプログラムのウィンドウの一例であり、図2と同様のウィンドウ構成となっている。
【0028】
拡大鏡モードでは、閲覧者は地図表示領域201に表示される表示地図画像上の一部の円形領域301(第1の領域、拡大表示枠)に、当該領域の代表経緯度情報に応じた位置について地図情報が拡大された地図画像を閲覧者に提示することができる。閲覧者は、マウス104を操作することにより指示した点を中心として予め定められた大きさの円形領域301を設定することができる。当該領域内には、表示地図画像を主に構成する第1の地図画像の縮尺率(第1の縮尺率)より大きい縮尺率(第2の縮尺率)の地図画像(第2の地図画像)が表示される。なお、代表経緯度情報とは、設定された円形領域301内に表示する第2の地図画像の地図上の表示範囲を規定する経緯度の情報であり、本実施形態では第1の地図画像において円形領域301の中心点の経緯度の情報が代表経緯度情報となる。
【0029】
なお。本実施形態では拡大鏡モードにおいて第1の領域の全てに縮尺率の大きい第2の地図画像は表示されないものとする。これは、第1の領域の全てに第2の地図画像が表示された場合、縮尺率が異なることにより失われる領域が存在するため、第1の領域の境界部において例えば道路や線路等が連続しないことになるからである。本実施形態では、第1の領域の同心円であり、予め大きさが定められた、第1の領域より小さい円形領域302(第2の領域)に第2の地図画像が表示される。また、当該第1の領域から第2の領域を除いた補間領域303には、第1の地図画像と第2の地図画像とが地図として連続するような補間画像(変形画像)が生成されて表示されるものとする。
【0030】
また、本実施形態では表示地図画像上における第1の領域の形状を、円形状であるものとして説明するが、本発明の実施はこれに限らない。即ち、拡大鏡モードとして表示される第1の領域の形状は矩形状、楕円形状、自由形状であってもよい。本発明は、第1の領域の内部に縮尺率の異なる第2の領域が存在し、第1の領域から第2の領域を除いた補間領域において、第1の領域の外にある第1の地図画像と第2の領域内にある第2の地図画像とが、地図として連続する補間画像が表示されればよい。
【0031】
(表示地図画像描画処理(拡大鏡モード))
このような構成をもつ本実施形態のPC100の表示地図画像描画処理について、図4のフローチャートを用いて具体的な処理を説明する。当該フローチャートに対応する処理は、CPU101が、例えばROM102に記憶されている対応する処理プログラムを読み出し、RAM103に展開して実行することにより実現することができる。なお、本表示地図画像描画処理は、例えば地図画像表示プログラムが実行され、拡大鏡モードに設定された際に開始されるものとして説明する。
【0032】
また本実施形態では説明を簡潔にするために、表示地図画像を主に構成する第1の縮尺率を有する第1の地図画像は、拡大鏡モードに切り替えられた直前にノーマルモードで表示されていた表示地図画像が用いられるものとして説明する。即ち、拡大鏡モードでは第1の地図画像の縮尺率は固定され、地図上の表示範囲もウィンドウサイズが変更されない限りは固定されるものとして説明する。しかしながら、本発明の実施はこれに限らず、第1の地図画像の地図上の表示範囲は変更可能であってもよい。なお、CPU101は、拡大鏡モードに切り替えられた際に、ノーマルモードで表示していた表示地図画像の縮尺率及び地図上の表示範囲(経緯度)、表示解像度の情報等を取得してRAM103に記憶するものとする。
【0033】
S401で、CPU101は、閲覧者がマウス104を操作することにより、縮尺率の異なる地図画像を表示する第1の領域の中心位置が設定されたか否かを判断する。CPU101は、閲覧者により第1の領域の中心位置を設定する指示入力がなされた場合は処理をS402に移し、指示入力がなされていない場合はS401の処理を繰り返す。
【0034】
S402で、CPU101は、S401で設定された第1の領域の中心位置における代表経緯度情報を取得する。具体的にはCPU101は、地図表示領域201における設定された第1の領域の中心位置の座標を取得し、RAM103に記憶されている第1の地図画像の範囲の情報及び第1の縮尺率の情報等より、当該中心位置の経緯度を算出する。
【0035】
S403で、CPU101は、第1の地図画像の表示範囲に含まれる、表示地図画像上に配置する経緯度情報を有する画像を例えば記録媒体108から検索し、該当する画像の表示解像度及び経緯度情報を取得する。
【0036】
S404で、CPU101は、第1の領域内の第2の領域に表示する第2の地図画像の縮尺率(第2の縮尺率)を決定する。ここで、第2の縮尺率の決定処理について、図5のフローチャートを用いて詳細に説明する。
【0037】
(縮尺率決定処理)
図5は、第2の領域の縮尺率を決定するための処理を示したフローチャートである。本実施形態では第2の領域内に配置される経緯度情報を有する画像が複数存在する場合、当該複数の画像が表示地図画像上で重ならないように、第2の領域の縮尺率を決定するものとする。例えば図9(a)に示すように、ノーマルモードにおいて経緯度情報を有する画像901、902及び903が第1の地図画像上に配置される場合を考える。このとき拡大鏡モードに変更され、図9(b)に示すように第1の領域910の中心点が設定された場合、第2の領域920において画像902及び903が重ならないような第2の縮尺率が決定されることになる。
【0038】
即ち、本発明は表示している表示地図画像の縮尺率では重なって配置されてしまう画像を、表示地図画像全体の縮尺率を変えることなく、一部の領域のみを一時的に縮尺率を変更することで、重なっている画像を閲覧者に重ねずに提示にすることができる。
【0039】
S501で、CPU101は、第2の縮尺率の最小縮尺率が設定されているか否かを判断する。具体的にはCPU101は、RAM103内に第2の縮尺率の最小縮尺率が記憶されているか否かを判断する。本実施形態では、第2の地図画像は少なくとも第1の地図画像の縮尺率より大きい縮尺率となるため、第2の縮尺率の最小縮尺率を、地図サーバから取得可能な地図画像の縮尺率のうち、第1の地図画像の縮尺率(第1の縮尺率)よりも1つ大きい縮尺率に設定する。なお、地図サーバから取得可能な地図画像の縮尺率の情報は、例えば地図サーバより図6に示すようなテーブルとして予め受信されてRAM103に記憶されているものとする。CPU101は、RAM103内に第2の縮尺率の最小縮尺率の情報が記憶されている場合は処理をS503に、記憶されていない場合は処理をS502に移す。
【0040】
S502で、CPU101はRAM103に記憶されている第1の地図画像の縮尺率(第1の縮尺率)の情報と地図サーバから取得可能な地図画像の縮尺率のテーブルとを参照し、第1の縮尺率より1つ大きい縮尺率を最小縮尺率としてRAM103に記憶する。例えば第1の地図画像の縮尺率が1/50000である場合は、当該縮尺率の1つ上の縮尺率である1/25000が第2の地図画像の最小縮尺率として決定される。またこのとき、以下のステップにおいて縮尺率の判断を行うために、CPU101は当該決定された最小縮尺率を一時的に現在の第2の縮尺率として設定する。
【0041】
S503で、CPU101は、現在の第2の縮尺率において、予め定められた第2の領域の大きさの地図画像を取得した場合に、S403で取得した経緯度情報を有する画像が当該地図画像内に配置された際に重なって配置されるか否かを判断する。即ち、CPU101は現在の第2の縮尺率を有する第2の領域の大きさの地図画像において、
(1)配置される経緯度情報を有する画像が複数存在し、かつ
(2)当該複数の画像が配置された際に重なる画像間で重なる領域を有する
か否かを判断する。
【0042】
具体的にはCPU101は、S403で取得した表示地図画像上に配置する画像全ての経緯度情報を現在の第2の縮尺率を有する地図画像上の地図表示領域201上の座標に変換し、当該座標が第2の領域内に含まれるか否かをそれぞれ判断する((1)の判断)。本実施形態では、拡大鏡モードで表示する第2の領域は閲覧者により指示された点を中心とする円で規定されるため、CPU101は、現在の第2の縮尺率において、中心点の座標と各画像の中心座標とがなす距離が第2の領域の半径以下であるか否かを判断する。
【0043】
またCPU101は、(1)の判断で現在の第2の縮尺率を有する、第2の領域の大きさの地図画像に配置される画像が複数存在すると判断された場合、当該複数の画像それぞれについて、他の画像と重なる領域を有さないか否かを判断する。具体的にはCPU101は、例えば現在の第2の縮尺率の地図画像上に複数の画像を配置した場合に、当該地図画像における複数の矩形画像の左上端及び右下端の座標をそれぞれ算出し、2つの画像ごとに表示領域が重なるか否かを判断する。例えば一方の画像の左上端の座標が(x1,y1)、右下端の座標が(x2,y2)、及び他方の画像の左上端の座標が(x3,y3)、右下端の座標が(x4,y4)である場合、
(x1<x4)∧(y1<y4)∧(x3<x2)∧(y3<y2)
を満たす場合に、CPU101は当該2つの画像は表示領域が重なると判断すればよい。CPU101は上述した条件を満たす場合は処理をS504に移し、満たさない場合は処理をS507に移す。
【0044】
S504で、CPU101は、現在の第2の縮尺率を、地図サーバから取得可能な地図画像の縮尺率のうち、現在の第2の縮尺率より1段階大きい縮尺率に変更する。なお、このときCPU101は、変更する第2の縮尺率が地図サーバから取得可能な最大の縮尺率であるか否かを判断する(S505)。CPU101は、変更する第2の縮尺率が地図サーバから取得可能な最大の縮尺率ではなかった場合は処理をS503に戻し、変更後の縮尺率において再度重なって配置される画像の有無を判断する。またCPU101は、変更する第2の縮尺率が地図サーバから取得可能な最大の縮尺率であった場合は、S506で第2の縮尺率を当該最大の縮尺率に決定して、本縮尺率決定処理を完了する。
【0045】
S503で重なって配置される画像が存在しないと判断された場合、CPU101は、現在の第2の縮尺率を、地図サーバから取得可能な地図画像の縮尺率のうち、現在の第2の縮尺率より1段階小さい縮尺率に変更する(S507)。このときCPU101は、変更する第2の縮尺率が最小縮尺率であるか否かを判断する(S508)。CPU101は、変更する第2の縮尺率が最小縮尺率ではなかった場合は処理をS510に移し、最小縮尺率であった場合は処理をS509に移して当該最小縮尺率を第2の縮尺率に決定して本縮尺率決定処理を完了する。
【0046】
S510で、CPU101はS503と同様に、変更後の縮尺率において重なって配置される画像が存在するか否かを判断する。CPU101は、変更後の縮尺率において重なって配置される画像が存在する場合は処理をS507に移して、さらに1段階小さい縮尺率に変更して判断を行う。またCPU101は、変更後の縮尺率において重なって配置される画像が存在しない場合は処理をS511に移し、変更後の縮尺率を第2の縮尺率として決定して本縮尺率決定処理を完了する。
【0047】
このように、第2の領域の縮尺率は、表示された際に当該領域に配置される画像が重ならずに表示されるように決定される。CPU101はS405で、上述した縮尺率決定処理で決定された第2の縮尺率を有する、第2の領域の大きさの地図画像を地図サーバより取得する(第1の取得)。
【0048】
S406で、CPU101は、第1の領域から第2の領域を除いた領域に表示する、第1の地図画像と第2の地図画像とを地図として連続させる補間画像を不図示のGPUに生成させる。ここで、補間画像生成処理について、図7のフローチャートを用いて詳細に説明する。
【0049】
(補間画像生成処理)
S701で、CPU101は、表示地図画像を主に構成する第1の縮尺率を有する第1の地図画像における、第1の領域から第2の領域を除いた補間領域に変形して描画する領域の情報を取得する。
【0050】
第2の領域には、第1の地図画像の第1の縮尺率より大きい第2の縮尺率を有する地図画像が表示されているため、補間領域に変形して描画する領域は、第1の縮尺率を有する第1の領域の地図画像から、当該第2の領域の地図画像の範囲を除いた領域となる。即ち、第2の領域の地図画像(第2の地図画像)が、第1の縮尺率の地図画像で表示された場合に占める領域を、第1の領域の地図画像から除いた領域が、補間領域に変形して描画する領域となる。
【0051】
CPU101は、例えば補間領域の範囲を、S401で閲覧者により指示された点からの距離r(当該点を中心とする円の半径)を用いて表せばよい。即ち、補間領域の範囲は、第2の縮尺率を有する第2の領域の大きさで表示される第2の地図画像の範囲が、第1の縮尺率の地図画像において示す、閲覧者により指示された点を中心とした半径r2と、第1の領域の半径r1を用いて、
r2≦r≦r1
で表せる。つまり、第1の領域から第2の領域を除いた、補間領域に変形して描画する領域の地図画像は、閲覧者により指示された拡大表示する中心点の座標(x0,y0)を用いて、
(x−x0)2+(y−y0)2=r2
ただし、r2≦r≦r1
と表せる。x座標及びy座標がこのように定義された数式を満たす、第1の地図画像における範囲をCPU101はRAM103に、補間領域に変形して描画する領域として記憶させる。
【0052】
なお、第1の縮尺率が1/50000、第2の縮尺率が1/25000、第2の領域の半径が50pixである場合、第1の縮尺率における第2の地図画像の範囲の半径r2は、
となる。
【0053】
S702で、CPU101は、S701で規定された補間領域に変形して描画する領域の範囲の画素について、補間領域の形状に変形するための魚眼フィルタの係数を決定する。魚眼フィルタとは、カメラの魚眼レンズで撮影したような効果が得られる画像処理を適用するフィルタである。魚眼レンズは歪曲収差の補正を行わないレンズであり、当該レンズと同等の効果を有するフィルタを適用することにより、中心部を拡大する代わりに周辺部を収縮する効果が得られる。
【0054】
魚眼フィルタの係数は、例えば図8に示すような、第1の縮尺率及び第2の縮尺率により構成されるテーブルによって決定される。具体的にはCPU101は、ROM102に記憶されている当該魚眼フィルタ係数算出のためのテーブルを参照し、魚眼フィルタ係数を決定する。例えば第1の縮尺率が1/50000、第2の縮尺率が1/25000である場合、魚眼フィルタ係数cは10となる。なお、魚眼フィルタ係数は大きくなるほど、当該フィルタを適用した際に中心から離れた位置における画像の歪曲の度合いが高くなる。
【0055】
なお、本実施形態では補間領域に描画する補間画像を生成するために魚眼フィルタを適用するものとして説明するが、本発明の実施はこれに限らない。即ち、補間画像を生成するために、例えばパンチングと呼ばれる画像処理を実行するフィルタを適用してもよい。また、第1の領域の境界部における第1の地図画像の特徴点と、当該特徴点と同一の特徴点と見なせる第2の領域の境界部における第2の地図画像の特徴点とを、スプライン曲線やベジエ曲線により結線するような画像処理を適用してもよい。
【0056】
S703で、CPU101は、第1の地図画像において、補間領域に変形して描画する領域に含まれる地図画像について、S702で決定した魚眼フィルタ係数を用いた魚眼フィルタを適用し、補間領域に描画する補間画像を不図示のGPUに生成させる。
【0057】
魚眼フィルタを適用前の画像における画素位置(xb,yb)の画素が、魚眼フィルタを適用することにより画素位置(xa,ya)に移動する場合、当該適用前と適用後の画素位置の関係は数1のようになる。
【0058】
【数1】
ただし、
【0059】
即ち、魚眼フィルタはFx及びFyの逆関数であり、以下のように表すことができる。
【0060】
【数2】
【0061】
魚眼フィルタを適用することにより、CPU101は補間画像を生成することができる。当該補間画像は、第1の領域から第2の領域を除いた領域の形状を有し、それぞれの境界において第1の地図画像または第2の地図画像と地図として連続する画像となっている。
【0062】
このようにして生成された補間画像と、第1の地図画像及び第2の地図画像とを用いて、S407でCPU101は、表示部109において閲覧者に提示する表示地図画像を生成する。具体的にはCPU101は、閲覧者により指示された第1の地図画像上の位置を中心として、補間画像さらには第2の地図画像を重畳させた合成画像を不図示のGPUに生成させる。
【0063】
S408で、CPU101はGPUに、第1の地図画像の表示範囲に含まれる表示地図画像上に配置する画像を記録媒体108より読み出し(第2の取得)、当該画像の経緯度情報に従って、生成された表示地図画像に配置した画像を生成させる。なお、表示地図画像の第1の地図画像あるいは第2の地図画像上に配置される画像の座標は、それぞれの地図画像の左上端を原点としたピクセル座標系(右方向がx軸の正、下方向がy軸の正)において、数3の変換式で表すことができる。
【0064】
【数3】
ここで(x,y)は、配置される地図画像の左上端を原点としたピクセル座標系における、配置される画像の中心座標を示している。またXimage及びYimageは画像が有する経緯度、X0及びY0はピクセル座標系の原点に表示される地図画像の画素が有する経緯度を示している。Dlongitude及びDlatidudeはそれぞれ経度及び緯度1度辺りの距離であり、単位はkmとなる。Sは地図画像の縮尺率、dは測位系からピクセル座標系への座標変換係数であり単位はpixel/kmである。
【0065】
なお、数3は配置する画像の経緯度が、東経及び北緯である場合の式であり、西経の場合はx成分のXimage及びX0に負号を付し、南緯の場合はy成分のYimage及びY0に負号を付すものとする。
【0066】
また、表示地図画像の補間画像に配置される画像(変形画像上の画像)の座標は、補間領域の左上端を原点としたピクセル座標系において第1の縮尺率の画像の座標として算出した後に、数2のフィルタを適用することにより算出すればよい。
【0067】
このように経緯度情報を有する画像を表示地図画像上に配置した画像をGPUに生成させた後、S409でCPU101は、当該表示地図画像を地図表示領域201に配置した画像を表示部109に伝送して表示させ、処理を完了する。
【0068】
なお、本実施形態では、S505において、変更後の縮尺率が地図サーバから取得可能な最大の縮尺率であった場合は、配置される画像が重なるか否かに関わらず、第2の縮尺率を当該最大の縮尺率に決定するものとして説明した。第2の縮尺率を最大の縮尺率に決定した場合であっても配置される画像が重なる場合は、CPU101は当該重なった画像を表示地図画像上に配置させる際に次のようにしてもよい。
【0069】
(1)重なった画像のうちの1つの画像を代表画像として表示地図画像上に配置
(1−1)代表画像を時間経過と共に他の重なった画像に切り替える
(1−2)マウスオーバー等の操作により代表画像を表示する入力を受けた際に、重な
った画像を並べて表示
(2)重なった画像を代表画像ではなく、表示解像度を縮小して重ならないように配置
【0070】
以上説明したように、本実施形態の地図画像処理装置は、閲覧者が所望の情報を容易に発見することができる、縮尺率の異なる第1の領域を第1の地図画像内に有する表示地図画像を提供することができる。具体的には地図画像処理装置は、設定された第1の領域の位置を規定する代表経緯度情報に従い、第1の縮尺率より大きい第2の縮尺率を有し、かつ第1の領域より小さい第2の領域の大きさの第2の地図画像を取得する。また、第1の縮尺率を有する第1の地図画像を取得する。さらに、第1の領域から第2の領域を除いた領域に表示する、第1の地図画像と第2の地図画像とを地図として連続させる補間画像を次のように生成する。地図画像処理装置は、第1の地図画像のうち、第2の地図画像が第1の縮尺率で表示された場合に占める領域を除いた、第1の領域内の領域に含まれる画像を変換して補間画像を生成する。そして、第1の地図画像上に、生成された補間画像、さらに第2の地図画像を、代表経緯度情報により規定される位置に重畳し、表示地図画像を生成する。
【0071】
このようにすることで、地図画像の閲覧者は、表示されている地図画像の全体の縮尺率を変更することなく、一部の領域のみ拡大する方向に縮尺率を変更して表示する際に、当該領域の地図画像で遮蔽されて表示されない領域がないように表示することができる。さらに、経緯度情報を有する画像を地図画像上に配置して表示する場合、拡大表示する領域の地図画像の縮尺率を当該配置する画像が重ならないように制御することで、閲覧者は所望の画像を容易に見つけることができる。
【0072】
(実施形態2)
上述した実施形態1では、第2の縮尺率の地図画像(第2の地図画像)を表示する第2の領域の大きさは予め定められているものとして説明したが、本実施形態2では決定される第2の縮尺率により、第2の領域の大きさを動的に変化させる方法について説明する。
【0073】
例えば、第1の縮尺率が1/500000で第2の縮尺率が1/10000であった場合、第1の縮尺率に対する第2の縮尺率の比率は50倍となる。このとき、例えば当該比率が5倍であった場合に比べて、補間領域に変形して描画する領域に含まれる地図情報の情報量は10倍となるため、補間領域に描画される補間画像はより圧縮されたものとなる。つまり、第1の縮尺率に対する第2の縮尺率の比率が大きいほど、補間画像を生成するために、補間領域に変形して描画する領域に含まれる地図画像の変形量が大きくなるため、閲覧者が当該補間領域に描画された補間画像の地図の内容を認識できない可能性がある。
【0074】
即ち、本実施形態では、第1の地図画像の縮尺率に対する第2の地図画像の縮尺率の比率が大きいほど、第2の領域が小さくなるように、即ち補間領域が大きくなるように、第2の領域の大きさを変更する制御方法について説明する。なお、本実施形態は、上述した実施形態1と同様の機能構成を有するPC100において実行される処理として説明するため、PC100が有する各ブロックに機能に関する説明は省略する。
【0075】
(縮尺率決定処理)
以下、本実施形態のPC100の縮尺率決定処理について、図10のフローチャートを用いて具体的な処理を説明する。当該フローチャートに対応する処理は、CPU101が、例えばROM102に記憶されている対応する処理プログラムを読み出し、RAM103に展開して実行することにより実現することができる。なお、本縮尺率決定処理は、実施形態1と同様に、拡大鏡モードの表示地図画像描画処理において、1ステップの定義処理として実行される。なお、本実施形態の縮尺率決定処理において、上述した実施形態1の縮尺率決定処理と同様の処理を行うステップについては説明を省略し、本実施形態に特徴的な処理の説明に留める。なお、S1003及びS1004は、処理の実行されるタイミングが異なるが、後述したS1001及びS1002と同様の処理を行うステップであるため、説明を省略する。
【0076】
なお、本実施形態では地図サーバから取得可能な地図画像の縮尺率の段階数が予め定められているため、当該第1の縮尺率に対する現在の第2の縮尺率の比率を、処理を簡単にするために縮尺率の段階数の差で規定するものとする。そして、当該縮尺率の段階数の差に対して、補間領域の大きさが対応付けられた、図11のようなテーブルが予めROM102に記憶されているものとして以下は説明する。
【0077】
S501で最小の縮尺率の情報が既にRAM103に記憶されていると判断された場合、またはS502で最小の縮尺率の情報が記憶された場合、CPU101はS1001において第1の縮尺率と現在の第2の縮尺率との縮尺率の段階数の差を算出する。具体的にはCPU101は、地図サーバから取得した取得可能な地図画像の縮尺率のテーブル(図4)を参照し、第1の縮尺率と現在の第2の縮尺率との縮尺率の段階数の差を算出する。
【0078】
S1002で、CPU101は、RAM103に記憶されている補間領域の大きさを規定するテーブルを参照し、S1001で算出された縮尺率の段階数の差に対応する、補間領域の大きさの情報を取得する。なお、領域の範囲は実施形態1と同様に、閲覧者により指示された点を中心とする円の半径で決定され、図11のテーブルでは補間領域の範囲が、予め定められている第1の領域の半径r1を基準とした動径方向の幅として表されている。
【0079】
例えば第1の縮尺率が2段階目の1/250000、現在の第2の縮尺率が4段階目の1/25000である場合、縮尺率の段階数の差は3となり、補間領域の動径方向の幅は図11のテーブルを参照し、「3/10×r1」と規定される。即ち、第2の領域の半径r2は余りの「7/10×r1」となる。
【0080】
このようにしてCPU101は、第2の領域及び補間領域の範囲の情報を取得し、S503以降のステップにて、表示地図画像上に配置する経緯度情報を有する画像が重なるか否かを判断する。
【0081】
このようにすることで、本実施形態の地図画像処理装置により生成される拡大鏡モードの表示地図画像において、第1の縮尺率に対する第2の縮尺率の比率が大きい場合であっても、閲覧者は変形されて表示されている補間画像を認識可能に閲覧することができる。
【0082】
(実施形態3)
実施形態1においては、補間領域の幅は固定であるものとして説明したが、本実施形態では、第2の領域内に配置される画像の位置に応じて補間領域の幅を異ならせる方法について説明する。なお、実施形態2と同様に、本実施形態も実施形態1と同様の機能構成を有するPC100において実行される処理として説明するため、PC100が有する各ブロックの機能に関する説明は省略する。
【0083】
以下、図12、図13を用いて、第2の領域内に配置される画像の位置に応じて、CPU101が補間領域の幅を変更する処理について説明する。
【0084】
図12及び図13には、それぞれ補間領域の幅が異なる第1の領域1201及び第2の領域1202あるいは第2の領域1301と、第2の領域内に配置される経緯度情報を有する複数の画像1203が示されている。第1の領域及び第2の領域は、閲覧者により指示された点1204を中心とする同心円で規定される領域である。
【0085】
図12において、第2の領域内に配置される画像のうち、指示された点1204からの距離が最大となる画像について、CPU101は、当該画像と点1204との距離と、予め定められた第2の領域の範囲を規定する距離と比較する。そして比較の結果、当該距離が長いと判定した場合、CPU101は補間領域の幅1205を狭くする。
【0086】
また、図13において、第2の領域内に配置される画像のうち、指示された点1204からの距離が最大となる画像について、CPU101は、当該画像と点1204との距離と、予め定められた第2の領域の範囲を規定する距離と比較する。そしての比較の結果、当該距離が短いと判定した場合、CPU101は補間領域の幅1302を広くする。
【0087】
即ち、CPU101は、第2の領域内に配置される画像の中心に限らず、当該画像すべての領域(例えば矩形画像の場合は4つの頂点)が第2の領域内に含まれるように、補間領域の幅、即ち第2の領域の範囲を変更する。つまり、少なくとも第2の領域内に配置される画像が重ならず、かつ当該画像の表示される領域が補間領域と重ならないように、第2の領域の範囲を決定する。
【0088】
例えば、閲覧者により指示された点1204からの距離が最大となる矩形画像の、第2の地図画像における中心座標が(xg,yg)であり、当該最大となる画像の画素数が水平a[pix]×垂直b[pix]を例に説明する。このとき、指示された点1204からの距離が最大となる画像の頂点のうち、点1204からの距離が最も大きい頂点までの距離lは
で示される。即ち、当該距離lを第2の領域の範囲を規定する半径r2とする。なお、補間領域の幅wは、第1の領域の範囲を規定する半径r1を用いて
w=r1−l
で表すことができる。
【0089】
また、当該補間領域の幅wを、例えば
1/5×r1≦w≦1/2×r1
とすることで、補間領域が大きすぎる、あるいは補間領域が小さすぎることがないように設定することもできる。なお、当該処理は実施形態2と同様、S503あるいはS510の直前に実行されればよい。
【0090】
これにより、第2の領域内に配置される画像が補間領域の地図画像に重ならずに閲覧者に閲覧可能とした上で、補間領域に表示される画像の変形量を最小限に抑えた表示地図画像を、閲覧者に提示することができる。
【0091】
なお、上述した実施形態1乃至3では、第1の領域は、第2の領域と1つの補間領域とで構成されるものとして説明したが、本発明の実施はこれに限らない。本発明は、補間領域において少なくとも例えば補間領域は複数の領域に分割し、例えば閲覧者により指示された点より離れた領域ほど画像が歪むように、それぞれの補間領域において適用されるフィルタを異ならせてもよい。
【0092】
以上、実施形態1乃至3にて、本発明の実施形態に基づいて詳述してきたが、拡大鏡モードにおける拡大鏡の形状は丸に限らず、矩形などの多角形や楕円などでも構わないものとする。
【0093】
また、実施形態1乃至3では拡大鏡モードにおいて、中心領域と補間領域がに分けて表示するが、領域の分け方や、補間領域における地図の歪ませ方は、これに限らなくても良い。例えば、中心領域の半径が数ピクセル程度のほぼ点と言える極小サイズにし、補間領域を拡大鏡全体に広げる領域の分け方をしても良い。
【0094】
また、補間領域を同心円上に3つ以上の領域に分けて、外側の補間領域ほど歪ませ方を大きくするようにしても良い。
【0095】
また、補間領域の歪ませ方には、魚眼フィルタに限らなくても良い。例えば、補間領域の画像の歪ませ方に、球面フィルタを使用しても良い。
【0096】
(その他の実施形態)
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。
【技術分野】
【0001】
本発明は、地図画像の表示技術に関する。
【背景技術】
【0002】
近年、インターネット上で提供されている地図画像を、閲覧者はブラウザを介して閲覧することができる。インターネット上で提供される地図画像の中には、閲覧者が地図の縮尺率を変更可能なものや、建物のオブジェクトモデルや店舗種別等の付加的な情報を地図画像に重畳して提供しているものもある。昨今では、GPS等の測位装置が搭載された撮像装置で撮影された画像を、撮影場所の情報に従って地図上に閲覧可能に配置するものもある。
【0003】
例えばアイコン等のランドマークを地図画像上に配置して表示する場合、地図の縮尺率によっては当該アイコンが重なってしまい、閲覧者は目標のランドマークを容易に探し出せないことがある。特許文献1には、地図画像上に表示するランドマークの数が所定の数以下となるように地図の縮尺率を自動的に変更することで、閲覧者に対してランドマークの情報を重なることなく提供する技術が開示されている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2003−114615号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、特許文献1のように、ランドマークが重ならないような縮尺率に変更されると、閲覧者に対して提供される情報量が少なく、即ち地図の範囲が狭域となってしまう。つまり、閲覧者は例えば1つのランドマークを探すために縮尺率の変更を繰り返し行う必要があった。
【0006】
本発明は、上述の問題点に鑑みてなされたものであり、閲覧者が所望の情報を容易に発見することができる地図画像を提供することを目的とする。
【課題を解決するための手段】
【0007】
前述の目的を達成するために、本発明の地図画像処理装置は、以下の構成を備える。
縮尺率の異なる第1の領域を第1の地図画像内に有する表示地図画像を生成する地図画像処理装置であって、第1の領域の位置を規定する代表経緯度情報を設定する設定手段と、第1の縮尺率を有する第1の地図画像と、第1の縮尺率より大きい第2の縮尺率を有し、かつ第1の領域より小さい第2の領域の大きさの第2の地図画像であって、代表経緯度情報により規定された第2の地図画像と、を取得する第1の取得手段と、第1の領域から第2の領域を除いた領域に表示する、第1の地図画像と第2の地図画像とを地図として連続させる補間画像を生成する補間手段と、第1の地図画像上に、補間手段により生成された補間画像、さらに第2の地図画像を、代表経緯度情報により規定される位置に重畳し、表示地図画像を生成する生成手段と、を備え、補間手段は、第1の地図画像のうち、第2の地図画像が第1の縮尺率で表示された場合に占める領域を除いた、第1の領域内の領域に含まれる画像を変換して補間画像を生成する、ことを特徴とする。
【発明の効果】
【0008】
このような構成により本発明によれば、閲覧者が所望の情報を容易に発見することができる地図画像を提供することを可能とする。
【図面の簡単な説明】
【0009】
【図1】本発明の実施形態1に係るPCの機能構成を示したブロック図
【図2】実施形態に係るノーマルモードの表示地図画像の図
【図3】実施形態に係る拡大鏡モードの表示地図画像の図
【図4】実施形態に係る表示地図画像描画処理のフローチャート
【図5】実施形態1に係る縮尺率決定処理のフローチャート
【図6】実施形態に係る地図サーバから取得可能な地図画像の縮尺率を示したテーブル
【図7】実施形態に係る補間画像生成処理のフローチャート
【図8】実施形態に係る魚眼フィルタ係数を決定するためのテーブル
【図9】実施形態1に係る縮尺率決定処理を説明するための図
【図10】実施形態2に係る縮尺率決定処理のフローチャート
【図11】実施形態2に係る縮尺率の段階数の差と補間領域の幅の関係を規定したテーブル
【図12】実施形態3に係る補間領域の幅を説明するための図
【図13】実施形態3に係る補間領域の幅を説明するための図
【発明を実施するための形態】
【0010】
(実施形態1)
以下、本発明の好適な一実施形態について、図面を参照して詳細に説明する。なお、以下に説明する一実施形態は、地図画像処理装置の一例としての、縮尺率の異なる一部の領域を有する地図画像を生成可能なパーソナルコンピュータ(PC)に、本発明を適用した例を説明する。しかし、本発明は、縮尺率の異なる一部の領域を有する地図画像を生成することが可能な任意の機器に適用可能である。また、本明細書において、縮尺率の異なる地図画像や表示する地図画像を区別するために、地図画像のそれぞれを次のように定義して説明する。
【0011】
・表示地図画像 :閲覧者に対して提示する、最終的な地図画像
(縮尺率の異なる領域を有する地図画像を含む)
・第1の地図画像:表示地図画像を主に構成する第1の縮尺率を有する地図画像
・第2の地図画像:第1の地図画像の一部の領域を、第1の縮尺率よりも大きい第2の
縮尺率に拡大して得られる地図画像
【0012】
図1は、本発明の実施形態に係るPC100の機能構成を示すブロック図である。
CPU101は、PC100を構成する各ブロックの動作を制御するブロックである。CPU101は、例えば後述するROM102及び記録媒体108に記憶されているPC100が備える各ブロックの動作プログラムを読み出して、RAM103に展開して実行することにより、各ブロックの動作を制御する。ROM102は、不揮発性メモリであり、PC100が備える各ブロックの動作プログラムに加え、各ブロックの動作において必要なパラメータ等の情報が記憶される。RAM103は、揮発性メモリであり、各ブロックの動作において生成された中間データ等が一時的に格納されるCPU101のメインメモリとして機能する。
【0013】
なお、本実施形態ではPC100が備える各ブロックの動作を当該ブロックの動作プログラムにより制御するものとして説明するが、本発明の実施はこれに限らず、各ブロックは当該動作プログラムと同様の処理を行う回路で構成されてもよい。
【0014】
マウス104及びキーボード105は、PC100が備える閲覧者からの入力を受け付けるユーザインタフェースであり、閲覧者が当該マウス104及びキーボード105を操作することにより入力された操作内容は、CPU101に伝送される。
【0015】
メディアドライブ106は、例えばメモリカードや外付けHDD等の、PC100に着脱可能に装着される外部記録媒体のインタフェースであり、接続された外部記録媒体からのデータの読み出し及び当該外部記録媒体へのデータの書き込み等を制御する。
【0016】
外部接続I/F107は、PC100が備える外部機器と接続するためのインタフェースであり、ネットワーク200を介してサーバや外部機器等と接続し、当該機器とPC100との間でデータの送受信を行うことが可能となる。
【0017】
記録媒体108は、例えば内蔵メモリやHDD、SSD(Solid State Drive)等のPC100に内蔵される記録装置であり、アプリケーションやライブラリ等のプログラムや各種データを記録する。
【0018】
表示部109は、例えばLCD等の表示装置であり、ROM102や記録媒体108に記録されているGUIデータや、不図示のGPUにおいて描画された表示用画像を表示することにより、閲覧者に情報を提示する。
【0019】
本実施形態では、PC100において閲覧者が地図閲覧プログラムを実行した場合に、「ノーマルモード」及び「拡大鏡モード」の2種類の表示モードの地図画像が表示部109に表示される。ここで、それぞれのモードで表示されるGUIについて、図を用いて以下に説明する。
【0020】
図2は、本実施形態に係るノーマルモードのGUIを示している。図は、表示部109の表示領域上に表示されるプログラムのウィンドウの一例であり、地図画像が表示される地図表示領域201と、ノーマルモードと拡大鏡モードとを切り替えるためのアイコン202、縮尺率を変更するためのスライダ203が表示されている。
【0021】
本実施形態では、地図表示領域201に表示する地図画像は、例えば外部接続I/F107を介してネットワーク200上に存在する不図示の地図サーバから取得するものとして説明する。しかしながら、本発明の実施はこれに限らず、表示する地図画像の取得はメディアドライブ106に接続された外部記録媒体や、記録媒体108から取得してもよい。
【0022】
具体的にはCPU101は、例えば現在の地図表示領域201の大きさ(画素数)、表示する地図画像(表示地図画像)の縮尺率、及び当該表示地図画像の範囲の情報をRAM103より読み出して、地図サーバに表示地図画像を要求する。表示地図画像の範囲の情報は、例えば表示地図画像の中心の経緯度や、表示地図画像の対角頂点の経緯度等の地図上の位置情報であってよい。CPU101は、上述した表示地図画像の各情報を地図サーバに送信することにより当該表示地図画像を受信し取得した表示地図画像を地図表示領域201に表示する。
【0023】
本実施形態では、地図表示領域201に表示する表示地図画像に対して、当該表示地図画像の範囲内の経緯度情報を有する画像が重畳されて表示される。経緯度情報を有する画像とは、上述したように例えば所謂ジオタグと呼ばれる撮影した場所の地理座標がヘッダ情報に含められた画像データ等の、予め地図上の座標情報(経緯度情報)を有する画像を指すものとする。
【0024】
CPU101は、このような経緯度情報を有する画像204を例えば記録媒体108やメディアドライブ106に接続された外部記録媒体より読み出し、当該画像の経緯度情報に従って地図表示領域201に表示する表示地図画像上に配置する。なお、表示地図画像上に配置する画像は、例えばサムネイル画像等であってよく、当該サムネイル画像は例えば経緯度情報を有する画像のヘッダ情報より取得すればよい。即ち、経緯度情報を有する画像はヘッダ情報に経緯度情報が含まれる画像データに限らず、経緯度情報を有する動画像データの代表画像であってもよい。またこのとき、CPU101は表示地図画像上に配置する経緯度情報を有する画像の表示解像度(画素数)の情報を取得し、表示地図画像上に表示される画像のそれぞれに関連付けて、例えばRAM103に記憶する。
【0025】
スライダ203は、例えば閲覧者がマウス104またはキーボード105を操作することにより変更することが可能であり、当該スライダ203の指示位置により表示地図画像の縮尺率が決定されるものとする。スライダ203の操作は、閲覧者が直接指示位置のアイコンをドラッグ操作してもよいし、その他にもマウス104のホイール操作やキーボードの上下または左右キーにより操作可能であってもよい。CPU101は、スライダ203の指示位置に変更があった場合、変更後の表示地図画像の各情報を再度取得し、地図サーバに新たな縮尺率の表示地図画像を要求するものとする。
【0026】
またノーマルモードでは、地図表示領域201において閲覧者がマウス104を用いて行ったドラッグ操作に応じて、表示地図画像の表示範囲は変更される。例えば閲覧者がマウス104を上方向に動かすと、地図表示領域201の上方向が北に該当する場合、表示地図画像の表示範囲は全体的に南に移動する。同様に閲覧者がマウス104を右方向に動かした場合は、表示地図画像の表示範囲は全体的に西に移動する。
【0027】
図3は、本実施形態に係る拡大鏡モードのGUIを示している。図は、図2と同様表示部109の表示領域上に表示されるプログラムのウィンドウの一例であり、図2と同様のウィンドウ構成となっている。
【0028】
拡大鏡モードでは、閲覧者は地図表示領域201に表示される表示地図画像上の一部の円形領域301(第1の領域、拡大表示枠)に、当該領域の代表経緯度情報に応じた位置について地図情報が拡大された地図画像を閲覧者に提示することができる。閲覧者は、マウス104を操作することにより指示した点を中心として予め定められた大きさの円形領域301を設定することができる。当該領域内には、表示地図画像を主に構成する第1の地図画像の縮尺率(第1の縮尺率)より大きい縮尺率(第2の縮尺率)の地図画像(第2の地図画像)が表示される。なお、代表経緯度情報とは、設定された円形領域301内に表示する第2の地図画像の地図上の表示範囲を規定する経緯度の情報であり、本実施形態では第1の地図画像において円形領域301の中心点の経緯度の情報が代表経緯度情報となる。
【0029】
なお。本実施形態では拡大鏡モードにおいて第1の領域の全てに縮尺率の大きい第2の地図画像は表示されないものとする。これは、第1の領域の全てに第2の地図画像が表示された場合、縮尺率が異なることにより失われる領域が存在するため、第1の領域の境界部において例えば道路や線路等が連続しないことになるからである。本実施形態では、第1の領域の同心円であり、予め大きさが定められた、第1の領域より小さい円形領域302(第2の領域)に第2の地図画像が表示される。また、当該第1の領域から第2の領域を除いた補間領域303には、第1の地図画像と第2の地図画像とが地図として連続するような補間画像(変形画像)が生成されて表示されるものとする。
【0030】
また、本実施形態では表示地図画像上における第1の領域の形状を、円形状であるものとして説明するが、本発明の実施はこれに限らない。即ち、拡大鏡モードとして表示される第1の領域の形状は矩形状、楕円形状、自由形状であってもよい。本発明は、第1の領域の内部に縮尺率の異なる第2の領域が存在し、第1の領域から第2の領域を除いた補間領域において、第1の領域の外にある第1の地図画像と第2の領域内にある第2の地図画像とが、地図として連続する補間画像が表示されればよい。
【0031】
(表示地図画像描画処理(拡大鏡モード))
このような構成をもつ本実施形態のPC100の表示地図画像描画処理について、図4のフローチャートを用いて具体的な処理を説明する。当該フローチャートに対応する処理は、CPU101が、例えばROM102に記憶されている対応する処理プログラムを読み出し、RAM103に展開して実行することにより実現することができる。なお、本表示地図画像描画処理は、例えば地図画像表示プログラムが実行され、拡大鏡モードに設定された際に開始されるものとして説明する。
【0032】
また本実施形態では説明を簡潔にするために、表示地図画像を主に構成する第1の縮尺率を有する第1の地図画像は、拡大鏡モードに切り替えられた直前にノーマルモードで表示されていた表示地図画像が用いられるものとして説明する。即ち、拡大鏡モードでは第1の地図画像の縮尺率は固定され、地図上の表示範囲もウィンドウサイズが変更されない限りは固定されるものとして説明する。しかしながら、本発明の実施はこれに限らず、第1の地図画像の地図上の表示範囲は変更可能であってもよい。なお、CPU101は、拡大鏡モードに切り替えられた際に、ノーマルモードで表示していた表示地図画像の縮尺率及び地図上の表示範囲(経緯度)、表示解像度の情報等を取得してRAM103に記憶するものとする。
【0033】
S401で、CPU101は、閲覧者がマウス104を操作することにより、縮尺率の異なる地図画像を表示する第1の領域の中心位置が設定されたか否かを判断する。CPU101は、閲覧者により第1の領域の中心位置を設定する指示入力がなされた場合は処理をS402に移し、指示入力がなされていない場合はS401の処理を繰り返す。
【0034】
S402で、CPU101は、S401で設定された第1の領域の中心位置における代表経緯度情報を取得する。具体的にはCPU101は、地図表示領域201における設定された第1の領域の中心位置の座標を取得し、RAM103に記憶されている第1の地図画像の範囲の情報及び第1の縮尺率の情報等より、当該中心位置の経緯度を算出する。
【0035】
S403で、CPU101は、第1の地図画像の表示範囲に含まれる、表示地図画像上に配置する経緯度情報を有する画像を例えば記録媒体108から検索し、該当する画像の表示解像度及び経緯度情報を取得する。
【0036】
S404で、CPU101は、第1の領域内の第2の領域に表示する第2の地図画像の縮尺率(第2の縮尺率)を決定する。ここで、第2の縮尺率の決定処理について、図5のフローチャートを用いて詳細に説明する。
【0037】
(縮尺率決定処理)
図5は、第2の領域の縮尺率を決定するための処理を示したフローチャートである。本実施形態では第2の領域内に配置される経緯度情報を有する画像が複数存在する場合、当該複数の画像が表示地図画像上で重ならないように、第2の領域の縮尺率を決定するものとする。例えば図9(a)に示すように、ノーマルモードにおいて経緯度情報を有する画像901、902及び903が第1の地図画像上に配置される場合を考える。このとき拡大鏡モードに変更され、図9(b)に示すように第1の領域910の中心点が設定された場合、第2の領域920において画像902及び903が重ならないような第2の縮尺率が決定されることになる。
【0038】
即ち、本発明は表示している表示地図画像の縮尺率では重なって配置されてしまう画像を、表示地図画像全体の縮尺率を変えることなく、一部の領域のみを一時的に縮尺率を変更することで、重なっている画像を閲覧者に重ねずに提示にすることができる。
【0039】
S501で、CPU101は、第2の縮尺率の最小縮尺率が設定されているか否かを判断する。具体的にはCPU101は、RAM103内に第2の縮尺率の最小縮尺率が記憶されているか否かを判断する。本実施形態では、第2の地図画像は少なくとも第1の地図画像の縮尺率より大きい縮尺率となるため、第2の縮尺率の最小縮尺率を、地図サーバから取得可能な地図画像の縮尺率のうち、第1の地図画像の縮尺率(第1の縮尺率)よりも1つ大きい縮尺率に設定する。なお、地図サーバから取得可能な地図画像の縮尺率の情報は、例えば地図サーバより図6に示すようなテーブルとして予め受信されてRAM103に記憶されているものとする。CPU101は、RAM103内に第2の縮尺率の最小縮尺率の情報が記憶されている場合は処理をS503に、記憶されていない場合は処理をS502に移す。
【0040】
S502で、CPU101はRAM103に記憶されている第1の地図画像の縮尺率(第1の縮尺率)の情報と地図サーバから取得可能な地図画像の縮尺率のテーブルとを参照し、第1の縮尺率より1つ大きい縮尺率を最小縮尺率としてRAM103に記憶する。例えば第1の地図画像の縮尺率が1/50000である場合は、当該縮尺率の1つ上の縮尺率である1/25000が第2の地図画像の最小縮尺率として決定される。またこのとき、以下のステップにおいて縮尺率の判断を行うために、CPU101は当該決定された最小縮尺率を一時的に現在の第2の縮尺率として設定する。
【0041】
S503で、CPU101は、現在の第2の縮尺率において、予め定められた第2の領域の大きさの地図画像を取得した場合に、S403で取得した経緯度情報を有する画像が当該地図画像内に配置された際に重なって配置されるか否かを判断する。即ち、CPU101は現在の第2の縮尺率を有する第2の領域の大きさの地図画像において、
(1)配置される経緯度情報を有する画像が複数存在し、かつ
(2)当該複数の画像が配置された際に重なる画像間で重なる領域を有する
か否かを判断する。
【0042】
具体的にはCPU101は、S403で取得した表示地図画像上に配置する画像全ての経緯度情報を現在の第2の縮尺率を有する地図画像上の地図表示領域201上の座標に変換し、当該座標が第2の領域内に含まれるか否かをそれぞれ判断する((1)の判断)。本実施形態では、拡大鏡モードで表示する第2の領域は閲覧者により指示された点を中心とする円で規定されるため、CPU101は、現在の第2の縮尺率において、中心点の座標と各画像の中心座標とがなす距離が第2の領域の半径以下であるか否かを判断する。
【0043】
またCPU101は、(1)の判断で現在の第2の縮尺率を有する、第2の領域の大きさの地図画像に配置される画像が複数存在すると判断された場合、当該複数の画像それぞれについて、他の画像と重なる領域を有さないか否かを判断する。具体的にはCPU101は、例えば現在の第2の縮尺率の地図画像上に複数の画像を配置した場合に、当該地図画像における複数の矩形画像の左上端及び右下端の座標をそれぞれ算出し、2つの画像ごとに表示領域が重なるか否かを判断する。例えば一方の画像の左上端の座標が(x1,y1)、右下端の座標が(x2,y2)、及び他方の画像の左上端の座標が(x3,y3)、右下端の座標が(x4,y4)である場合、
(x1<x4)∧(y1<y4)∧(x3<x2)∧(y3<y2)
を満たす場合に、CPU101は当該2つの画像は表示領域が重なると判断すればよい。CPU101は上述した条件を満たす場合は処理をS504に移し、満たさない場合は処理をS507に移す。
【0044】
S504で、CPU101は、現在の第2の縮尺率を、地図サーバから取得可能な地図画像の縮尺率のうち、現在の第2の縮尺率より1段階大きい縮尺率に変更する。なお、このときCPU101は、変更する第2の縮尺率が地図サーバから取得可能な最大の縮尺率であるか否かを判断する(S505)。CPU101は、変更する第2の縮尺率が地図サーバから取得可能な最大の縮尺率ではなかった場合は処理をS503に戻し、変更後の縮尺率において再度重なって配置される画像の有無を判断する。またCPU101は、変更する第2の縮尺率が地図サーバから取得可能な最大の縮尺率であった場合は、S506で第2の縮尺率を当該最大の縮尺率に決定して、本縮尺率決定処理を完了する。
【0045】
S503で重なって配置される画像が存在しないと判断された場合、CPU101は、現在の第2の縮尺率を、地図サーバから取得可能な地図画像の縮尺率のうち、現在の第2の縮尺率より1段階小さい縮尺率に変更する(S507)。このときCPU101は、変更する第2の縮尺率が最小縮尺率であるか否かを判断する(S508)。CPU101は、変更する第2の縮尺率が最小縮尺率ではなかった場合は処理をS510に移し、最小縮尺率であった場合は処理をS509に移して当該最小縮尺率を第2の縮尺率に決定して本縮尺率決定処理を完了する。
【0046】
S510で、CPU101はS503と同様に、変更後の縮尺率において重なって配置される画像が存在するか否かを判断する。CPU101は、変更後の縮尺率において重なって配置される画像が存在する場合は処理をS507に移して、さらに1段階小さい縮尺率に変更して判断を行う。またCPU101は、変更後の縮尺率において重なって配置される画像が存在しない場合は処理をS511に移し、変更後の縮尺率を第2の縮尺率として決定して本縮尺率決定処理を完了する。
【0047】
このように、第2の領域の縮尺率は、表示された際に当該領域に配置される画像が重ならずに表示されるように決定される。CPU101はS405で、上述した縮尺率決定処理で決定された第2の縮尺率を有する、第2の領域の大きさの地図画像を地図サーバより取得する(第1の取得)。
【0048】
S406で、CPU101は、第1の領域から第2の領域を除いた領域に表示する、第1の地図画像と第2の地図画像とを地図として連続させる補間画像を不図示のGPUに生成させる。ここで、補間画像生成処理について、図7のフローチャートを用いて詳細に説明する。
【0049】
(補間画像生成処理)
S701で、CPU101は、表示地図画像を主に構成する第1の縮尺率を有する第1の地図画像における、第1の領域から第2の領域を除いた補間領域に変形して描画する領域の情報を取得する。
【0050】
第2の領域には、第1の地図画像の第1の縮尺率より大きい第2の縮尺率を有する地図画像が表示されているため、補間領域に変形して描画する領域は、第1の縮尺率を有する第1の領域の地図画像から、当該第2の領域の地図画像の範囲を除いた領域となる。即ち、第2の領域の地図画像(第2の地図画像)が、第1の縮尺率の地図画像で表示された場合に占める領域を、第1の領域の地図画像から除いた領域が、補間領域に変形して描画する領域となる。
【0051】
CPU101は、例えば補間領域の範囲を、S401で閲覧者により指示された点からの距離r(当該点を中心とする円の半径)を用いて表せばよい。即ち、補間領域の範囲は、第2の縮尺率を有する第2の領域の大きさで表示される第2の地図画像の範囲が、第1の縮尺率の地図画像において示す、閲覧者により指示された点を中心とした半径r2と、第1の領域の半径r1を用いて、
r2≦r≦r1
で表せる。つまり、第1の領域から第2の領域を除いた、補間領域に変形して描画する領域の地図画像は、閲覧者により指示された拡大表示する中心点の座標(x0,y0)を用いて、
(x−x0)2+(y−y0)2=r2
ただし、r2≦r≦r1
と表せる。x座標及びy座標がこのように定義された数式を満たす、第1の地図画像における範囲をCPU101はRAM103に、補間領域に変形して描画する領域として記憶させる。
【0052】
なお、第1の縮尺率が1/50000、第2の縮尺率が1/25000、第2の領域の半径が50pixである場合、第1の縮尺率における第2の地図画像の範囲の半径r2は、
となる。
【0053】
S702で、CPU101は、S701で規定された補間領域に変形して描画する領域の範囲の画素について、補間領域の形状に変形するための魚眼フィルタの係数を決定する。魚眼フィルタとは、カメラの魚眼レンズで撮影したような効果が得られる画像処理を適用するフィルタである。魚眼レンズは歪曲収差の補正を行わないレンズであり、当該レンズと同等の効果を有するフィルタを適用することにより、中心部を拡大する代わりに周辺部を収縮する効果が得られる。
【0054】
魚眼フィルタの係数は、例えば図8に示すような、第1の縮尺率及び第2の縮尺率により構成されるテーブルによって決定される。具体的にはCPU101は、ROM102に記憶されている当該魚眼フィルタ係数算出のためのテーブルを参照し、魚眼フィルタ係数を決定する。例えば第1の縮尺率が1/50000、第2の縮尺率が1/25000である場合、魚眼フィルタ係数cは10となる。なお、魚眼フィルタ係数は大きくなるほど、当該フィルタを適用した際に中心から離れた位置における画像の歪曲の度合いが高くなる。
【0055】
なお、本実施形態では補間領域に描画する補間画像を生成するために魚眼フィルタを適用するものとして説明するが、本発明の実施はこれに限らない。即ち、補間画像を生成するために、例えばパンチングと呼ばれる画像処理を実行するフィルタを適用してもよい。また、第1の領域の境界部における第1の地図画像の特徴点と、当該特徴点と同一の特徴点と見なせる第2の領域の境界部における第2の地図画像の特徴点とを、スプライン曲線やベジエ曲線により結線するような画像処理を適用してもよい。
【0056】
S703で、CPU101は、第1の地図画像において、補間領域に変形して描画する領域に含まれる地図画像について、S702で決定した魚眼フィルタ係数を用いた魚眼フィルタを適用し、補間領域に描画する補間画像を不図示のGPUに生成させる。
【0057】
魚眼フィルタを適用前の画像における画素位置(xb,yb)の画素が、魚眼フィルタを適用することにより画素位置(xa,ya)に移動する場合、当該適用前と適用後の画素位置の関係は数1のようになる。
【0058】
【数1】
ただし、
【0059】
即ち、魚眼フィルタはFx及びFyの逆関数であり、以下のように表すことができる。
【0060】
【数2】
【0061】
魚眼フィルタを適用することにより、CPU101は補間画像を生成することができる。当該補間画像は、第1の領域から第2の領域を除いた領域の形状を有し、それぞれの境界において第1の地図画像または第2の地図画像と地図として連続する画像となっている。
【0062】
このようにして生成された補間画像と、第1の地図画像及び第2の地図画像とを用いて、S407でCPU101は、表示部109において閲覧者に提示する表示地図画像を生成する。具体的にはCPU101は、閲覧者により指示された第1の地図画像上の位置を中心として、補間画像さらには第2の地図画像を重畳させた合成画像を不図示のGPUに生成させる。
【0063】
S408で、CPU101はGPUに、第1の地図画像の表示範囲に含まれる表示地図画像上に配置する画像を記録媒体108より読み出し(第2の取得)、当該画像の経緯度情報に従って、生成された表示地図画像に配置した画像を生成させる。なお、表示地図画像の第1の地図画像あるいは第2の地図画像上に配置される画像の座標は、それぞれの地図画像の左上端を原点としたピクセル座標系(右方向がx軸の正、下方向がy軸の正)において、数3の変換式で表すことができる。
【0064】
【数3】
ここで(x,y)は、配置される地図画像の左上端を原点としたピクセル座標系における、配置される画像の中心座標を示している。またXimage及びYimageは画像が有する経緯度、X0及びY0はピクセル座標系の原点に表示される地図画像の画素が有する経緯度を示している。Dlongitude及びDlatidudeはそれぞれ経度及び緯度1度辺りの距離であり、単位はkmとなる。Sは地図画像の縮尺率、dは測位系からピクセル座標系への座標変換係数であり単位はpixel/kmである。
【0065】
なお、数3は配置する画像の経緯度が、東経及び北緯である場合の式であり、西経の場合はx成分のXimage及びX0に負号を付し、南緯の場合はy成分のYimage及びY0に負号を付すものとする。
【0066】
また、表示地図画像の補間画像に配置される画像(変形画像上の画像)の座標は、補間領域の左上端を原点としたピクセル座標系において第1の縮尺率の画像の座標として算出した後に、数2のフィルタを適用することにより算出すればよい。
【0067】
このように経緯度情報を有する画像を表示地図画像上に配置した画像をGPUに生成させた後、S409でCPU101は、当該表示地図画像を地図表示領域201に配置した画像を表示部109に伝送して表示させ、処理を完了する。
【0068】
なお、本実施形態では、S505において、変更後の縮尺率が地図サーバから取得可能な最大の縮尺率であった場合は、配置される画像が重なるか否かに関わらず、第2の縮尺率を当該最大の縮尺率に決定するものとして説明した。第2の縮尺率を最大の縮尺率に決定した場合であっても配置される画像が重なる場合は、CPU101は当該重なった画像を表示地図画像上に配置させる際に次のようにしてもよい。
【0069】
(1)重なった画像のうちの1つの画像を代表画像として表示地図画像上に配置
(1−1)代表画像を時間経過と共に他の重なった画像に切り替える
(1−2)マウスオーバー等の操作により代表画像を表示する入力を受けた際に、重な
った画像を並べて表示
(2)重なった画像を代表画像ではなく、表示解像度を縮小して重ならないように配置
【0070】
以上説明したように、本実施形態の地図画像処理装置は、閲覧者が所望の情報を容易に発見することができる、縮尺率の異なる第1の領域を第1の地図画像内に有する表示地図画像を提供することができる。具体的には地図画像処理装置は、設定された第1の領域の位置を規定する代表経緯度情報に従い、第1の縮尺率より大きい第2の縮尺率を有し、かつ第1の領域より小さい第2の領域の大きさの第2の地図画像を取得する。また、第1の縮尺率を有する第1の地図画像を取得する。さらに、第1の領域から第2の領域を除いた領域に表示する、第1の地図画像と第2の地図画像とを地図として連続させる補間画像を次のように生成する。地図画像処理装置は、第1の地図画像のうち、第2の地図画像が第1の縮尺率で表示された場合に占める領域を除いた、第1の領域内の領域に含まれる画像を変換して補間画像を生成する。そして、第1の地図画像上に、生成された補間画像、さらに第2の地図画像を、代表経緯度情報により規定される位置に重畳し、表示地図画像を生成する。
【0071】
このようにすることで、地図画像の閲覧者は、表示されている地図画像の全体の縮尺率を変更することなく、一部の領域のみ拡大する方向に縮尺率を変更して表示する際に、当該領域の地図画像で遮蔽されて表示されない領域がないように表示することができる。さらに、経緯度情報を有する画像を地図画像上に配置して表示する場合、拡大表示する領域の地図画像の縮尺率を当該配置する画像が重ならないように制御することで、閲覧者は所望の画像を容易に見つけることができる。
【0072】
(実施形態2)
上述した実施形態1では、第2の縮尺率の地図画像(第2の地図画像)を表示する第2の領域の大きさは予め定められているものとして説明したが、本実施形態2では決定される第2の縮尺率により、第2の領域の大きさを動的に変化させる方法について説明する。
【0073】
例えば、第1の縮尺率が1/500000で第2の縮尺率が1/10000であった場合、第1の縮尺率に対する第2の縮尺率の比率は50倍となる。このとき、例えば当該比率が5倍であった場合に比べて、補間領域に変形して描画する領域に含まれる地図情報の情報量は10倍となるため、補間領域に描画される補間画像はより圧縮されたものとなる。つまり、第1の縮尺率に対する第2の縮尺率の比率が大きいほど、補間画像を生成するために、補間領域に変形して描画する領域に含まれる地図画像の変形量が大きくなるため、閲覧者が当該補間領域に描画された補間画像の地図の内容を認識できない可能性がある。
【0074】
即ち、本実施形態では、第1の地図画像の縮尺率に対する第2の地図画像の縮尺率の比率が大きいほど、第2の領域が小さくなるように、即ち補間領域が大きくなるように、第2の領域の大きさを変更する制御方法について説明する。なお、本実施形態は、上述した実施形態1と同様の機能構成を有するPC100において実行される処理として説明するため、PC100が有する各ブロックに機能に関する説明は省略する。
【0075】
(縮尺率決定処理)
以下、本実施形態のPC100の縮尺率決定処理について、図10のフローチャートを用いて具体的な処理を説明する。当該フローチャートに対応する処理は、CPU101が、例えばROM102に記憶されている対応する処理プログラムを読み出し、RAM103に展開して実行することにより実現することができる。なお、本縮尺率決定処理は、実施形態1と同様に、拡大鏡モードの表示地図画像描画処理において、1ステップの定義処理として実行される。なお、本実施形態の縮尺率決定処理において、上述した実施形態1の縮尺率決定処理と同様の処理を行うステップについては説明を省略し、本実施形態に特徴的な処理の説明に留める。なお、S1003及びS1004は、処理の実行されるタイミングが異なるが、後述したS1001及びS1002と同様の処理を行うステップであるため、説明を省略する。
【0076】
なお、本実施形態では地図サーバから取得可能な地図画像の縮尺率の段階数が予め定められているため、当該第1の縮尺率に対する現在の第2の縮尺率の比率を、処理を簡単にするために縮尺率の段階数の差で規定するものとする。そして、当該縮尺率の段階数の差に対して、補間領域の大きさが対応付けられた、図11のようなテーブルが予めROM102に記憶されているものとして以下は説明する。
【0077】
S501で最小の縮尺率の情報が既にRAM103に記憶されていると判断された場合、またはS502で最小の縮尺率の情報が記憶された場合、CPU101はS1001において第1の縮尺率と現在の第2の縮尺率との縮尺率の段階数の差を算出する。具体的にはCPU101は、地図サーバから取得した取得可能な地図画像の縮尺率のテーブル(図4)を参照し、第1の縮尺率と現在の第2の縮尺率との縮尺率の段階数の差を算出する。
【0078】
S1002で、CPU101は、RAM103に記憶されている補間領域の大きさを規定するテーブルを参照し、S1001で算出された縮尺率の段階数の差に対応する、補間領域の大きさの情報を取得する。なお、領域の範囲は実施形態1と同様に、閲覧者により指示された点を中心とする円の半径で決定され、図11のテーブルでは補間領域の範囲が、予め定められている第1の領域の半径r1を基準とした動径方向の幅として表されている。
【0079】
例えば第1の縮尺率が2段階目の1/250000、現在の第2の縮尺率が4段階目の1/25000である場合、縮尺率の段階数の差は3となり、補間領域の動径方向の幅は図11のテーブルを参照し、「3/10×r1」と規定される。即ち、第2の領域の半径r2は余りの「7/10×r1」となる。
【0080】
このようにしてCPU101は、第2の領域及び補間領域の範囲の情報を取得し、S503以降のステップにて、表示地図画像上に配置する経緯度情報を有する画像が重なるか否かを判断する。
【0081】
このようにすることで、本実施形態の地図画像処理装置により生成される拡大鏡モードの表示地図画像において、第1の縮尺率に対する第2の縮尺率の比率が大きい場合であっても、閲覧者は変形されて表示されている補間画像を認識可能に閲覧することができる。
【0082】
(実施形態3)
実施形態1においては、補間領域の幅は固定であるものとして説明したが、本実施形態では、第2の領域内に配置される画像の位置に応じて補間領域の幅を異ならせる方法について説明する。なお、実施形態2と同様に、本実施形態も実施形態1と同様の機能構成を有するPC100において実行される処理として説明するため、PC100が有する各ブロックの機能に関する説明は省略する。
【0083】
以下、図12、図13を用いて、第2の領域内に配置される画像の位置に応じて、CPU101が補間領域の幅を変更する処理について説明する。
【0084】
図12及び図13には、それぞれ補間領域の幅が異なる第1の領域1201及び第2の領域1202あるいは第2の領域1301と、第2の領域内に配置される経緯度情報を有する複数の画像1203が示されている。第1の領域及び第2の領域は、閲覧者により指示された点1204を中心とする同心円で規定される領域である。
【0085】
図12において、第2の領域内に配置される画像のうち、指示された点1204からの距離が最大となる画像について、CPU101は、当該画像と点1204との距離と、予め定められた第2の領域の範囲を規定する距離と比較する。そして比較の結果、当該距離が長いと判定した場合、CPU101は補間領域の幅1205を狭くする。
【0086】
また、図13において、第2の領域内に配置される画像のうち、指示された点1204からの距離が最大となる画像について、CPU101は、当該画像と点1204との距離と、予め定められた第2の領域の範囲を規定する距離と比較する。そしての比較の結果、当該距離が短いと判定した場合、CPU101は補間領域の幅1302を広くする。
【0087】
即ち、CPU101は、第2の領域内に配置される画像の中心に限らず、当該画像すべての領域(例えば矩形画像の場合は4つの頂点)が第2の領域内に含まれるように、補間領域の幅、即ち第2の領域の範囲を変更する。つまり、少なくとも第2の領域内に配置される画像が重ならず、かつ当該画像の表示される領域が補間領域と重ならないように、第2の領域の範囲を決定する。
【0088】
例えば、閲覧者により指示された点1204からの距離が最大となる矩形画像の、第2の地図画像における中心座標が(xg,yg)であり、当該最大となる画像の画素数が水平a[pix]×垂直b[pix]を例に説明する。このとき、指示された点1204からの距離が最大となる画像の頂点のうち、点1204からの距離が最も大きい頂点までの距離lは
で示される。即ち、当該距離lを第2の領域の範囲を規定する半径r2とする。なお、補間領域の幅wは、第1の領域の範囲を規定する半径r1を用いて
w=r1−l
で表すことができる。
【0089】
また、当該補間領域の幅wを、例えば
1/5×r1≦w≦1/2×r1
とすることで、補間領域が大きすぎる、あるいは補間領域が小さすぎることがないように設定することもできる。なお、当該処理は実施形態2と同様、S503あるいはS510の直前に実行されればよい。
【0090】
これにより、第2の領域内に配置される画像が補間領域の地図画像に重ならずに閲覧者に閲覧可能とした上で、補間領域に表示される画像の変形量を最小限に抑えた表示地図画像を、閲覧者に提示することができる。
【0091】
なお、上述した実施形態1乃至3では、第1の領域は、第2の領域と1つの補間領域とで構成されるものとして説明したが、本発明の実施はこれに限らない。本発明は、補間領域において少なくとも例えば補間領域は複数の領域に分割し、例えば閲覧者により指示された点より離れた領域ほど画像が歪むように、それぞれの補間領域において適用されるフィルタを異ならせてもよい。
【0092】
以上、実施形態1乃至3にて、本発明の実施形態に基づいて詳述してきたが、拡大鏡モードにおける拡大鏡の形状は丸に限らず、矩形などの多角形や楕円などでも構わないものとする。
【0093】
また、実施形態1乃至3では拡大鏡モードにおいて、中心領域と補間領域がに分けて表示するが、領域の分け方や、補間領域における地図の歪ませ方は、これに限らなくても良い。例えば、中心領域の半径が数ピクセル程度のほぼ点と言える極小サイズにし、補間領域を拡大鏡全体に広げる領域の分け方をしても良い。
【0094】
また、補間領域を同心円上に3つ以上の領域に分けて、外側の補間領域ほど歪ませ方を大きくするようにしても良い。
【0095】
また、補間領域の歪ませ方には、魚眼フィルタに限らなくても良い。例えば、補間領域の画像の歪ませ方に、球面フィルタを使用しても良い。
【0096】
(その他の実施形態)
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。
【特許請求の範囲】
【請求項1】
位置情報に関連付けられている画像を、地図上の対応する位置に配置して表示する地図画像処理装置であって、
前記地図上に重畳して表示するための拡大表示枠を生成する生成手段であって、前記拡大表示枠の下に隠れる前記地図上の領域のうち、中心部は拡大し、前記中心部の周辺部は歪ませることにより前記拡大表示枠の下に隠れる前記地図上の領域を変形させた変形画像を生成する生成手段と、
更に前記拡大表示枠の下に隠れる前記地図上の領域に配置されるべき画像を、前記変形画像における前記位置情報に対応した位置に配置する配置手段と、
を有することを特徴とする地図画像処理装置。
【請求項2】
前記拡大表示枠で前記中心部を拡大した表示をするために、前記変形画像上に配置する画像に重なりが生じないような縮尺率を決定する決定手段をさらに有することを特徴とする請求項1に記載の地図画像処理装置。
【請求項3】
前記生成手段は、前記周辺部に魚眼フィルタを適用することを特徴とする請求項1または2に記載の地図画像処理装置。
【請求項4】
位置情報に関連付けられている画像を、地図上の対応する位置に配置して表示する地図画像処理装置の制御方法であって、
生成手段が、前記地図上に重畳して表示するための拡大表示枠を生成する生成工程であって、前記拡大表示枠の下に隠れる前記地図上の領域のうち、中心部は拡大し、前記中心部の周辺部は歪ませることにより前記拡大表示枠の下に隠れる前記地図上の領域を変形させた変形画像を生成する生成工程と、
配置手段が、更に前記拡大表示枠の下に隠れる前記地図上の領域に配置されるべき画像を、前記変形画像における前記位置情報に対応した位置に配置する配置工程と、
を有することを特徴とする地図画像処理装置の制御方法。
【請求項5】
縮尺率の異なる第1の領域を第1の地図画像内に有する表示地図画像を生成する地図画像処理装置であって、
前記第1の領域の位置を規定する代表経緯度情報を設定する設定手段と、
第1の縮尺率を有する前記第1の地図画像と、第1の縮尺率より大きい第2の縮尺率を有し、かつ前記第1の領域より小さい第2の領域の大きさの第2の地図画像であって、前記代表経緯度情報により規定された第2の地図画像と、を取得する第1の取得手段と、
前記第1の領域から前記第2の領域を除いた領域に表示する、前記第1の地図画像と前記第2の地図画像とを地図として連続させる補間画像を生成する補間手段と、
前記第1の地図画像上に、前記補間手段により生成された前記補間画像、さらに前記第2の地図画像を、前記代表経緯度情報により規定される位置に重畳し、前記表示地図画像を生成する生成手段と、を備え、
前記補間手段は、前記第1の地図画像のうち、前記第2の地図画像が前記第1の縮尺率で表示された場合に占める領域を除いた、前記第1の領域内の領域に含まれる画像を変換して前記補間画像を生成する、ことを特徴とする地図画像処理装置。
【請求項6】
経緯度情報を有する画像を取得する第2の取得手段と、
前記第2の取得手段により取得された経緯度情報を有する画像を、当該経緯度情報に従って、前記生成手段により生成された表示地図画像上に配置する配置手段と、
をさらに備えることを特徴とする請求項5に記載の地図画像処理装置。
【請求項7】
前記第2の縮尺率を決定する決定手段をさらに備え、
前記決定手段は、複数の前記経緯度情報を有する画像が、前記表示地図画像上の前記第2の地図画像が重畳された領域に前記配置手段により配置されると判断された場合に、前記複数の画像が前記表示地図画像上で重ならないように前記第2の縮尺率を決定することを特徴とする請求項6に記載の地図画像処理装置。
【請求項8】
前記配置手段は、前記第2の縮尺率が前記第1の取得手段で取得可能な地図画像の最大の縮尺率であり、かつ、複数の前記経緯度情報を有する画像が前記表示地図画像上の前記第2の地図画像が重畳された領域において重なると判断された場合に、前記複数の画像のうちのいずれか1つの画像を代表画像として配置することを特徴とする請求項6または7に記載の地図画像処理装置。
【請求項9】
前記配置手段は、前記代表画像を時間経過とともに他の複数の画像に切り替えることを特徴とする請求項8に記載の地図画像処理装置。
【請求項10】
前記配置手段は、前記代表画像を表示する入力を受けた場合に、前記複数の画像を並べて配置することを特徴とする請求項8または9に記載の地図画像処理装置。
【請求項11】
前記配置手段は、前記第2の縮尺率が前記第1の取得手段で取得可能な地図画像の最大の縮尺率であり、かつ、複数の前記経緯度情報を有する画像が前記表示地図画像上の前記第2の地図画像が重畳された領域において重なると判断された場合に、前記複数の画像を縮小して配置することを特徴とする請求項6または7に記載の地図画像処理装置。
【請求項12】
前記第1の取得手段は、前記表示地図画像上の前記第2の地図画像が重畳された領域に含まれる経緯度情報を有する画像の全体が、当該領域に含まれるように前記第2の領域の大きさを決定することを特徴とする請求項6乃至11のいずれか1項に記載の地図画像処理装置。
【請求項13】
前記第1の取得手段は、前記第1の縮尺率に対する前記第2の縮尺率の比率が大きいほど、前記第2の領域を小さくすることを特徴とする請求項5乃至12のいずれか1項に記載の地図画像処理装置。
【請求項14】
縮尺率の異なる第1の領域を第1の地図画像内に有する表示地図画像を生成する地図画像処理装置の制御方法であって、
設定手段が、前記第1の領域の位置を規定する代表経緯度情報を設定する設定工程と、
第1の取得手段が、第1の縮尺率を有する第1の地図画像と、第1の縮尺率より大きい第2の縮尺率を有し、かつ前記第1の領域より小さい第2の領域の大きさの第2の地図画像であって、前記代表経緯度情報により規定された第2の地図画像と、を取得する第1の取得工程と、
補間手段が、前記第1の領域から前記第2の領域を除いた領域に表示する、前記第1の地図画像と前記第2の地図画像とを地図として連続させる補間画像を生成する補間工程と、
生成手段が、前記第1の地図画像上に、前記補間工程において生成された前記補間画像、さらに前記第2の地図画像を、前記代表経緯度情報により規定される位置に重畳し、前記表示地図画像を生成する生成工程と、を備え、
前記補間工程において前記補間手段は、前記第1の地図画像のうち、前記第2の地図画像が前記第1の縮尺率で表示された場合に占める領域を除いた、前記第1の領域内の領域に含まれる画像を変換して前記補間画像を生成する、ことを特徴とする地図画像処理装置の制御方法。
【請求項15】
コンピュータを、請求項5乃至13のいずれか1項に記載の地図画像処理装置の各手段として機能させるためのプログラム。
【請求項1】
位置情報に関連付けられている画像を、地図上の対応する位置に配置して表示する地図画像処理装置であって、
前記地図上に重畳して表示するための拡大表示枠を生成する生成手段であって、前記拡大表示枠の下に隠れる前記地図上の領域のうち、中心部は拡大し、前記中心部の周辺部は歪ませることにより前記拡大表示枠の下に隠れる前記地図上の領域を変形させた変形画像を生成する生成手段と、
更に前記拡大表示枠の下に隠れる前記地図上の領域に配置されるべき画像を、前記変形画像における前記位置情報に対応した位置に配置する配置手段と、
を有することを特徴とする地図画像処理装置。
【請求項2】
前記拡大表示枠で前記中心部を拡大した表示をするために、前記変形画像上に配置する画像に重なりが生じないような縮尺率を決定する決定手段をさらに有することを特徴とする請求項1に記載の地図画像処理装置。
【請求項3】
前記生成手段は、前記周辺部に魚眼フィルタを適用することを特徴とする請求項1または2に記載の地図画像処理装置。
【請求項4】
位置情報に関連付けられている画像を、地図上の対応する位置に配置して表示する地図画像処理装置の制御方法であって、
生成手段が、前記地図上に重畳して表示するための拡大表示枠を生成する生成工程であって、前記拡大表示枠の下に隠れる前記地図上の領域のうち、中心部は拡大し、前記中心部の周辺部は歪ませることにより前記拡大表示枠の下に隠れる前記地図上の領域を変形させた変形画像を生成する生成工程と、
配置手段が、更に前記拡大表示枠の下に隠れる前記地図上の領域に配置されるべき画像を、前記変形画像における前記位置情報に対応した位置に配置する配置工程と、
を有することを特徴とする地図画像処理装置の制御方法。
【請求項5】
縮尺率の異なる第1の領域を第1の地図画像内に有する表示地図画像を生成する地図画像処理装置であって、
前記第1の領域の位置を規定する代表経緯度情報を設定する設定手段と、
第1の縮尺率を有する前記第1の地図画像と、第1の縮尺率より大きい第2の縮尺率を有し、かつ前記第1の領域より小さい第2の領域の大きさの第2の地図画像であって、前記代表経緯度情報により規定された第2の地図画像と、を取得する第1の取得手段と、
前記第1の領域から前記第2の領域を除いた領域に表示する、前記第1の地図画像と前記第2の地図画像とを地図として連続させる補間画像を生成する補間手段と、
前記第1の地図画像上に、前記補間手段により生成された前記補間画像、さらに前記第2の地図画像を、前記代表経緯度情報により規定される位置に重畳し、前記表示地図画像を生成する生成手段と、を備え、
前記補間手段は、前記第1の地図画像のうち、前記第2の地図画像が前記第1の縮尺率で表示された場合に占める領域を除いた、前記第1の領域内の領域に含まれる画像を変換して前記補間画像を生成する、ことを特徴とする地図画像処理装置。
【請求項6】
経緯度情報を有する画像を取得する第2の取得手段と、
前記第2の取得手段により取得された経緯度情報を有する画像を、当該経緯度情報に従って、前記生成手段により生成された表示地図画像上に配置する配置手段と、
をさらに備えることを特徴とする請求項5に記載の地図画像処理装置。
【請求項7】
前記第2の縮尺率を決定する決定手段をさらに備え、
前記決定手段は、複数の前記経緯度情報を有する画像が、前記表示地図画像上の前記第2の地図画像が重畳された領域に前記配置手段により配置されると判断された場合に、前記複数の画像が前記表示地図画像上で重ならないように前記第2の縮尺率を決定することを特徴とする請求項6に記載の地図画像処理装置。
【請求項8】
前記配置手段は、前記第2の縮尺率が前記第1の取得手段で取得可能な地図画像の最大の縮尺率であり、かつ、複数の前記経緯度情報を有する画像が前記表示地図画像上の前記第2の地図画像が重畳された領域において重なると判断された場合に、前記複数の画像のうちのいずれか1つの画像を代表画像として配置することを特徴とする請求項6または7に記載の地図画像処理装置。
【請求項9】
前記配置手段は、前記代表画像を時間経過とともに他の複数の画像に切り替えることを特徴とする請求項8に記載の地図画像処理装置。
【請求項10】
前記配置手段は、前記代表画像を表示する入力を受けた場合に、前記複数の画像を並べて配置することを特徴とする請求項8または9に記載の地図画像処理装置。
【請求項11】
前記配置手段は、前記第2の縮尺率が前記第1の取得手段で取得可能な地図画像の最大の縮尺率であり、かつ、複数の前記経緯度情報を有する画像が前記表示地図画像上の前記第2の地図画像が重畳された領域において重なると判断された場合に、前記複数の画像を縮小して配置することを特徴とする請求項6または7に記載の地図画像処理装置。
【請求項12】
前記第1の取得手段は、前記表示地図画像上の前記第2の地図画像が重畳された領域に含まれる経緯度情報を有する画像の全体が、当該領域に含まれるように前記第2の領域の大きさを決定することを特徴とする請求項6乃至11のいずれか1項に記載の地図画像処理装置。
【請求項13】
前記第1の取得手段は、前記第1の縮尺率に対する前記第2の縮尺率の比率が大きいほど、前記第2の領域を小さくすることを特徴とする請求項5乃至12のいずれか1項に記載の地図画像処理装置。
【請求項14】
縮尺率の異なる第1の領域を第1の地図画像内に有する表示地図画像を生成する地図画像処理装置の制御方法であって、
設定手段が、前記第1の領域の位置を規定する代表経緯度情報を設定する設定工程と、
第1の取得手段が、第1の縮尺率を有する第1の地図画像と、第1の縮尺率より大きい第2の縮尺率を有し、かつ前記第1の領域より小さい第2の領域の大きさの第2の地図画像であって、前記代表経緯度情報により規定された第2の地図画像と、を取得する第1の取得工程と、
補間手段が、前記第1の領域から前記第2の領域を除いた領域に表示する、前記第1の地図画像と前記第2の地図画像とを地図として連続させる補間画像を生成する補間工程と、
生成手段が、前記第1の地図画像上に、前記補間工程において生成された前記補間画像、さらに前記第2の地図画像を、前記代表経緯度情報により規定される位置に重畳し、前記表示地図画像を生成する生成工程と、を備え、
前記補間工程において前記補間手段は、前記第1の地図画像のうち、前記第2の地図画像が前記第1の縮尺率で表示された場合に占める領域を除いた、前記第1の領域内の領域に含まれる画像を変換して前記補間画像を生成する、ことを特徴とする地図画像処理装置の制御方法。
【請求項15】
コンピュータを、請求項5乃至13のいずれか1項に記載の地図画像処理装置の各手段として機能させるためのプログラム。
【図1】
【図4】
【図5】
【図6】
【図7】
【図8】
【図10】
【図11】
【図12】
【図13】
【図2】
【図3】
【図9】
【図4】
【図5】
【図6】
【図7】
【図8】
【図10】
【図11】
【図12】
【図13】
【図2】
【図3】
【図9】
【公開番号】特開2012−185399(P2012−185399A)
【公開日】平成24年9月27日(2012.9.27)
【国際特許分類】
【出願番号】特願2011−49603(P2011−49603)
【出願日】平成23年3月7日(2011.3.7)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
【公開日】平成24年9月27日(2012.9.27)
【国際特許分類】
【出願日】平成23年3月7日(2011.3.7)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
[ Back to top ]