以下、図を参照しながら、この発明による装置、方法、プログラムの一実施の形態について説明する。この発明の地図表示装置は、例えば、スマートフォンなどと呼ばれる高機能携帯電話端末、タブレットPCなどとして、また、これらの装置において実現できる。しかし、以下においては説明を簡単にするため、この発明による地図表示装置を高機能携帯電話端末によって実現する場合を例にして説明する。
[地図表示装置の構成例]
図1は、この実施の形態の地図表示装置1の構成例について説明するためのブロック図である。図1に示した地図表示装置において、送受信アンテナ101A及び無線通信部101は通信機能を、制御部102は当該地図表示装置の各部を制御する機能を、記憶装置103は、例えば大容量の半導体メモリを備え、情報記憶保持機能を実現する。なお、この実施の形態の地図表示装置1において、記憶装置103には、図1に示したように、地図に表記される種々の方位記号の画像と識別番号とが対応付けられ形成された方位記号DB(Data Base)が記憶保持されている。操作部104は、地図表示装置1の筐体の所定の位置に設けられた、電源のオン/オフスイッチ、音量調整キー、その他の幾つかのファンクションボタンなどからなる部分である。
地図DB105は、例えば、市街図、道路図、広域図、地方図、全国図を表示するための地図データを記憶する。市街図、道路図、広域図、地方図、全国図を表示するための地図データは、地図を描画するための例えばベクトルデータやラスタデータ、注記(注釈)データなどを含む。また、市街図、道路図、広域図、地方図、全国図などは、種々の縮尺のものが用意されている。なお、地図DB105に蓄積されている地図データは、上側を北方向として作成されたいわゆるノースアップの地図データである。
センサ部106は、6軸センサ、地磁気センサ(方位センサ)などの種々のセンサなどからなる。そして、センサ部106は、地図表示装置1の様々な状態を検出することができる。例えば、使用者によって手で持たれている地図表示装置1の表示部の表示画面を使用者が観視可能な状態にある時に、重力方向(鉛直方向)を基準にして、地図表示装置1の表示部の表示画面が使用者の左右のどちら側にどれだけ傾いているのかを検知できる。
GPSアンテナ107A及びGPS部107は、複数の人工衛星からの信号を受信して自機の現在位置を取得する現在位置取得機能を実現する。なお、この実施の形態の地図表示装置1は、図示しないが、無線LAN(Local Area Network)部及び無線LANアンテナを備え、例えば、Wi−Fi(登録商標)規格の無線LANに対応し、近隣に位置する無線LANのアクセスポイントを通じて通信を行う機能をも備えている。なお、インターネット上に設けられた所定の管理サーバ装置において、各アクセスポイントの識別IDと設置位置などが管理されている。
このため、現在位置において、受信した複数のアクセスポイントの識別IDと受信電界強度とを当該管理サーバ装置に送信することにより、当該管理サーバ装置において地図表示装置1の現在位置を特定し、この特定した現在位置の通知を受けることができる。また、地図表示装置1が、管理サーバで管理されている各アクセスポイントの識別IDと設置位置などからなるデータベースを備えていれば、通信したアクセスポイントの識別IDと受信電界強度とを用いて、自機において自機の現在位置を特定することもできる。
そして制御部102は、GPSアンテナ107A及びGPS部107により実現される現在位置取得機能と、図示しない無線LANアンテナ及び無線LAN通信部を通じて受信したアクセスポイントからの信号を利用した現在位置取得機能とを併用できる。これにより、制御部102は、より正確に自機の現在位置を特定することができるようにしている。
表示部108Dは、例えばLCD(Liquid Crystal Display)やOELD(organic electroluminescence display)などの薄型の表示装置である。タッチセンサ108Sは、表示部108Dの表示画面の上側または下側に重畳配置され、使用者の指等により指示された位置を検出する。これら表示部108Dとタッチセンサ108Sとによって、いわゆるタッチパネル109を構成している。タッチパネル109は、表示出力と操作入力が可能なユーザーインターフェースを実現する。
音声出力部110は、制御部102からの種々の音声データからスピーカ111に供給する音声信号を形成し、これをスピーカ111に供給する。スピーカ111は、音声出力部110からの音声信号に応じた音声を放音する。このように、音声出力部110とスピーカ111とによって、種々の音声メッセージなどを放音する出力インターフェースを実現する。
カメラ部112は、撮像レンズ、撮像素子、カメラ信号処理回路などを備え、被写体の画像(映像)をデジタル信号の画像(映像)データとして取り込む機能を実現する。この実施の形態の地図表示装置1において、カメラ部112は、表示部108Dの表示画面とは反対側の面に設けられている。そして、地図表示装置1においては、カメラ部112を通じて捉えた画像を、例えば制御部102の所定のRAMに画像データとして取り込み、これを表示部108Dに供給することにより、カメラ部112が捉えている画像を表示部108Dに表示できる。これにより、ユーザーは、カメラ部112が捉えている画像を、表示部108Dを通じて確認しながら撮影を行える。
地図表示処理部113は、制御部102の制御の下、地図DB105に蓄積されている表示に用いる地図データを抽出し、この抽出した地図データにより形成される地図を表示部108Dに表示する処理を行う。この場合、表示部108Dの上方向が、表示部108Dに表示された地図の北方向になっている。そして、制御部102は、地図表示処理部113を制御することにより、自機の現在位置を含むエリアやタッチパネル109を通じて受け付けた使用者からの指示に応じたエリアの地図を表示部108Dに表示できる。
地図回転特定部114と地図回転処理部115とは、表示部108Dに表示された地図の方位を、使用者が利用する設置地図(街の中などに設置されている地図)の方位に合わせる処理を行う。なお、この明細書では、表示部108Dに表示される地図を、設置地図と区別するために表示地図と記載する。
具体的に、地図回転特定部114は、カメラ部112を通じて設置地図の画像を撮像するようにした場合に取得される自機の状態に基づいて、あるいは、カメラ部112を通じて設置地図の画像を撮像することにより得られる情報に基づいて、自機の表示部108Dに表示される表示地図の回転方向と回転角度とを特定する。ここで、カメラ部112を通じて設置地図の画像を撮像するようにした場合に取得される自機の状態は、具体的には、センサ部106で検知される自機の傾きである。この場合の自機の傾きは、重力方向を基準にして、地図表示装置1の表示部の表示画面が使用者から見て左右のどちら側にどれだけ傾いているかを示す情報である。
また、カメラ部112を通じて設置地図の画像を撮像することにより得られる情報は、撮影された設置地図に含まれる地図記号により示される方位(方向)や撮影された設置地図に含まれる種々の地物の特徴などである。なお、地物は、天然と人工にかかわらず、地上にあるすべての物の概念を意味し、この明細書では、河、山、植物、橋、鉄道、建築物、行政界など、地図上に表現された種々のもの、また、地図上で特定可能な種々の特徴を意味するものとする。このように、地図回転特定部114は、表示部108Dに表示される地図(表示地図)の回転方向、回転角度を特定する機能を実現する。
地図回転処理部115は、地図回転特定部114において特定された地図の回転方向と回転角度とに基づいて、表示部108Dに表示されている地図を回転させ、設置地図と地図表示装置1の表示部108Dに表示される表示地図との方位を合わせる。これにより、設置地図と地図表示装置1の表示部108Dに表示される表示地図との対比を違和感なく行うことができるようにしている。
すなわち、地図表示処理部113は、地図表示装置1の表示部108Dの上方向(真上の方向)を北方向とする地図を表示するものであり、通常の表示モードで地図を表示部108Dに表示する機能を実現する。また、地図回転特定部114と地図回転処理部115とは、以下に説明するように、表示部108Dに表示する表示地図の方位を、街の中などに設置されている設置地図の方位に合わせて表示し、両地図を対比しやすくするものである。すなわち、地図回転特定部114と地図回転処理部115とは、設置地図対比モードで地図を表示部108Dに表示する機能を実現する。
[地図表示処理の概要]
図2は、図1に示した地図表示装置1において行われる地図表示処理の概要を説明するためのフローチャートである。地図表示装置1の制御部102は、表示部108Dに表示されている地図表示アプリケーションに対応するアイコンが、タッチパネル109を通じて使用者により選択されると、図2のフローチャートに示す地図表示処理(地図表示アプリケーション)を実行する。
この実施の形態では、制御部102は、まず、GPS部107を通じて自機の現在位置を把握し、地図表示処理部113を制御して、現在位置を含むエリアの地図を表示部108Dに表示する(ステップS101)。この場合、地図表示処理部113は、地図DB105から現在位置を含む所定のエリアの地図を表示するための地図データを取得し、これに基づいて表示部108Dに地図を表示する。
次に、制御部102は、タッチパネル109を通じて使用者からの操作入力を受け付ける(ステップS102)。ステップS102では、例えば、地図表示処理の終了、地図の拡大/縮小、地図の表示エリアのスライド移動、他のエリアの地図の表示、表示モードの変更など、使用者からの種々の指示に応じた操作入力が受け付けられる。
なお、表示モードの変更は、通常の表示モードと設置地図対比モードとの間での相互の変更が可能である。通常の表示モードは、上述もしたように、表示部108Dの上側を北方向とする地図を表示する従来からのモードである。また、設置地図対比モードは、上述もしたように、設置地図と容易に対比可能なように、設置地図の方位に合わせた表示地図を表示部108Dに表示するモードである。
そして、制御部102は、ステップS102において受け付けた操作入力は、地図表示処理の終了を指示するものか否かを判別する(ステップS103)。ステップS103の判別処理において、地図表示処理の終了を指示する操作入力を受け付けたと判別したときには、表示部108Dの表示を地図から地図表示処理を実行する前の表示に戻すなどの所定の終了処理を行って(ステップS104)、この図2に示す処理を終了する。
ステップS103の判別処理において、地図表示処理の終了を指示する操作入力は受け付けていないと判別したとする。この場合、制御部102は、ステップS102において受け付けた操作入力は、通常の表示モードから設置地図対比モードへの変更を指示する操作入力か否かを判別する(ステップS105)。
ステップS105の判別処理において、通常の表示モードから設置地図対比モードへの変更を指示する操作入力を受け付けたと判別したとする。この場合、制御部102は、地図回転特定部114と地図回転処理部115とを制御して、自機を設置地図対比モードにし、設置地図に対して表示部108Dに表示された表示地図を対比可能なように表示する処理を行う(ステップS106)。具体的に、ステップS106では、表示部108Dに表示される表示地図の方位を、使用者が見ている設置地図の方位と同じになるようにする処理を行う。このステップS106で行われる処理の詳細については後述する。
ステップS106で設置地図対比モードにされた後においては、制御部102は、ステップS102からの処理を繰り返すようにする。これにより、ステップS106の処理により、設置地図対比モードとされた後においては、設置地図の方位と同じ方位となるようにされた表示地図について、地図の拡大/縮小、地図の表示エリアのスライド移動、他のエリアの地図の表示といった地図の利用ができるようになる。
また、ステップS105の判別処理において、通常の表示モードから設置地図対比モードへの変更を指示する操作入力は受け付けていないと判別したとする。この場合、制御部102は、ステップS102で受け付けた操作入力に応じた処理、例えば、地図の拡大/縮小、表示エリアのスライド移動、表示エリアの変更、設置地図対比モードから通常の表示モードへの変更などの処理を行う(ステップS107)。この後、制御部102は、ステップS102からの処理を繰り返す。
このように、この実施の形態の地図表示装置1は、現在位置や目的とする場所を含むエリアの地図を、通常の表示モードで表示することができるものである。さらに、図2に示したステップS106の処理により、通常の表示モードから設置地図対比モードに切り替えることができ、設置地図の方位と地図表示装置1の表示部108Dに表示される表示地図の方位とを合わせ、両地図の対比が容易になるようにしている。そして、この実施の形態の地図表示装置1では、以下に説明するように、設置地図対比モードの切り替えは、以下に説明する3つの方式の内のいずれかを用いて行うことができる。以下では、当該3つの方式について具体的に説明する。
[設置地図対比モードへの切り替えの第1の方式(方法)]
[設置地図対比モードへの切り替えの第1の方式の概要]
まず、設置地図対比モードへ切り替えるための第1の方式について説明する。設置地図対比モードへの切り替えの第1の方式の概要を示せば、以下のようになる。まず、(1)地図表示装置1の表示部108Dに、北方向となる方向を示す基準方位マーク(矢印)を表示する。換言すれば、基準方位マークは、自機の表示部108Dの所定の方向を設置地図の北方向に合わせるためのマークである。次に、(2)使用者が、表示部108Dに表示された基準方位マークと、カメラ部112を通じて取り込まれ、表示部108Dに表示される設置地図の方位記号が示す北方向とを合わせて当該設置地図を撮影するようにする。そして、(3)地図表示装置1の画面の傾きをセンサ部106から取得し、(4)表示地図の方位が設置地図の方位と同じなるように、表示地図を回転させる。というものである。以下、より詳細に説明する。
図3は、設置地図の例を示す図である。図3に示した設置地図(地図看板)2は、「○○駅」の駅前に設けられているものであるとする。図3に示した設置地図2は、その見易さの観点から駅から真っ直ぐに延びるメインストリートを設置地図2上において真上方向に延びるように作成したものである。このため、当該設置地図2における実際の北方向は、設置地図2の真上方向ではなく、方位記号diが示すように設置地図2の右斜め上方向となっている。
そして、図3に示した設置地図2では、警察署、郵便局、小学校、高等学校などの所在地が示されているが、もう少し詳しい地図を地図表示装置1の表示部108Dに表示して確認したいとする。しかし、表示部108Dに通常の表示モードで地図を表示した場合には、表示部108Dの真上方向が表示された地図の北方向となり、北方向が右斜め上になっている設置地図2とは方位が一致しない。このため、表示部108Dに通常の表示モードで表示された地図(表示地図)は、設置地図との対比のし難いものとなってしまう。
そこで、使用者は、設置地図対比モードで地図を表示するようにする。具体的には、まず、図2に示した地図表示処理を実行し、表示部108Dに通常の表示モードで現在位置を含むエリアの表示地図を表示する。次に、使用者は、表示部108Dの所定の位置に表示される設置地図対比モードへの切り替えを第1の方式で行うためのアイコンを、タッチパネル109を通じて選択する操作を行う。当該アイコンが選択された場合、制御部102は、設置地図対比モードへの切り替えを第1の方式で行う。換言すれば、制御部102は、第1の方式で設置地図対比モードに切り替える処理を実行する。
図4、図5は、設置地図対比モードへの切り替えを第1の方式で行う場合について説明するための図である。この場合、制御部102は、地図表示装置1の表示部108Dに、図4に示すように、設置地図2の北方向に合わせるための基準方位マークArを表示する。この例において、基準方位マークArは、地図表示装置1の表示部108Dの表示画面の上方向(真上の方向)を、設置地図2の北方向に合わせるためのものである。
同時に、制御部102は、表示部108Dに、設置地図2の方位記号diが示す方向(北方向)と、表示部108Dに表示された基準方位マークArが示す方向とを合わせて、設置地図2を撮影することを指示するメッセージを表示し、カメラ部112を機能させる。もちろん、当該表示メッセージと同じ音声メッセージを地図表示装置1から放音することもできるし、表示メッセージと音声メッセージとの両方を出力することもできる。
そして、地図表示装置1の使用者は、図5に示すように、カメラ部112を通じて取り込まれ、表示部108Dに表示された設置地図2の方位記号diが示す北方向に対して、表示部108Dに表示された基準方位マークArが示す方向を合わせるようにする。この場合、使用者は、カメラ部112を通じて設置地図2を捉えながら、方位記号diが示す方向と、基準方位マークArを合わせるように、地図表示装置1を傾けることになる。そして、使用者は、方位記号diが示す方向と基準方位マークArが示す方向とが合ったところで、設置地図2を撮影するようにシャッター操作を行う。この場合、設置地図2を撮影することが目的ではない。シャッター操作がされたタイミングが、設置地図2の方位記号diが示す方向と基準方位マークArが示す方向とが一致したタイミングであると特定できるのである。
このため、地図表示装置1の制御部102は、シャッター操作がされたタイミングで、センサ部106において検知される自機の傾きを取得し、これを地図回転特定部114に供給する。ここで、自機の傾きは、図5に示すように、重力方向Gを基準にして、地図表示装置1の表示部108Dの表示画面が、使用者から見て左右のどちら側にどれだけ傾いたのかを示す情報である。
すなわち、図5に示したように、表示部108Dに表示した地図表示装置1の真上方向を示す基準方位マークArを、設置地図2の方位記号diが示す北方向に合わせたとする。この場合、センサ部106では、地図表示装置1をどちらの方向にどれだけ傾けたかを検知できる。すなわち、地図表示装置1を、回転方向dが示す方向に、回転角度θが示す角度分傾けたことが把握できる。そこで、地図回転特定部114は、センサ部106から回転方向dと回転角度θとの提供を受けて、これを表示部108Dに表示された表示地図を回転させる方向dと回転させる角度θとして特定する、この特定した回転方向dと回転角度θとは制御部102を通じて地図回転処理部115に供給される。
地図回転処理部115は、地図回転特定部114において特定した回転方向dが示す方向に、回転角度θが示す角度分、表示部108Dに表示されている表示地図を回転させる。これにより、設置地図2の方位と表示部108Dに表示される表示地図の方位とを合わせることができる。これにより、設置地図2と表示部108Dに表示される地図とは、違和感なく対比することができるようになる。
[設置地図対比モードへの切り替えの第1の方式の処理詳細]
図6は、設置地図対比モードへの切り替えが第1の方式で実行するようにされた場合に、地図表示装置1で行われる処理を説明するためのフローチャートである。この図6に示す処理は、図2に示したフローチャートのステップS102において、設置地図対比モードへの切り替えを第1の方式で行うことを指示する操作入力を受け付けた場合に、図2に示したフローチャートのステップS106において制御部102により実行される。
この場合、制御部102は、まず、カメラ部112に起動させ、カメラ部112を通じて被写体の画像を取り込んで、これを表示部108Dに表示し、使用者が表示部108Dに表示された画像を確認しながら撮影を行えるようにする(ステップS201)。次に、制御部102は、図4、図5に示したように、自機の真上を示し、北方向に合わせるための基準方位マーク(基準矢印)を表示する(ステップS202)。そして、制御部102は、図4に示したように、基準方位マーク(基準矢印)Arと設置地図の方位記号diが示す北方向とを合わせてシャッターを押下する(撮影する)ことを促すメッセージを出力する(ステップS203)。
この後、制御部102は、使用者からの操作入力を受け付けるようにし(ステップS204)、シャッター操作(シャッター押下)を受け付けたか否かを判別する(ステップS205)。ステップS205の判別処理において、シャッター操作を受け付けていないと判別した時には、制御部102は、設置地図対比モードの終了を指示する操作入力を受け付けたか否かを判別する(ステップS206)。ステップS206の判別処理において、設置地図対比モードの終了を指示する操作入力を受け付けたと判別したときには、カメラ機能を停止させるなどの所定の終了処理を行って(ステップS207)、この図6に示す処理を終了する。また、ステップS206の判別処理において、設置地図対比モードの終了を指示する操作入力を受け付けていないと判別したときには、制御部102は、ステップS204からの処理を繰り返す。
一方、ステップS205の判別処理において、シャッター操作を受け付けたと判別した時には、制御部102は、センサ部106で検知される自機の傾き(回転方向及び回転角度)を取得する(ステップS208)。そして、制御部102は、カメラ部112を停止させ(ステップS209)、ステップS208で取得した自機の傾き(回転方向及び回転角度)を地図回転特定部114に供給して、表示地図の回転方向d、回転角度θを特定する処理を行うようにする(ステップS210)。
制御部102は、地図回転特定部114で特定された表示地図の回転方向と回転角度とを地図回転処理部115に供給し、地図回転処理部115が表示部108Dに表示されている表示地図を、特定された回転方向に特定された回転角度分回転させる(ステップS211)。これにより、通常の表示モードに戻されるまで、表示部108Dには、特定された回転方向に特定された回転角度分回転させた地図が表示される。そして、図6に示す処理を抜け、図2に示したステップS102からの処理を行うようにする。これにより、設置地図2の方位と合うように回転調整がなされた表示地図を拡大したり、縮小したり、表示範囲をずらしたりして利用することができるようにされる。
この設置地図対比モードへの切り替えの第1の方式は、設置地図2に表示された方位記号が小さかったり、薄れていたり、汚れていたりして、画像認識には向かないが、使用者によっては当該方位記号を適切に認識できる場合に有効な方式である。そして、センサ部106からの傾きを示す情報を、そのまま表示地図の回転を制御する情報として用いることができ、複雑な計算処理も伴わないため、地図表示装置1の負荷も小さい。
[設置地図対比モードへの切り替えの第2の方式(方法)]
[設置地図対比モードへの切り替えの第2の方式の概要]
次に、設置地図対比モードへ切り替えるための第2の方式について説明する。設置地図対比モードへの切り替えの第2の方式の概要を示せば、以下のようになる。まず、(1)使用者は、カメラ部112を通じて設置地図を撮影する。次に、(2)撮影した設置地図に表示されている方位記号が示す方向と、撮影時における重力方向に一致すべき撮影画像の上下方向とから、表示地図の回転方向、回転角度を計算する。そして、(3)表示部108Dに表示されている表示地図の方位が設置地図の方位と同じになるように、表示地図を回転させる。というものである。
なお、表示地図の回転方向、回転角度の計算に際しては、撮影時において、被写体が表示される地図表示装置1の表示部108Dの表示画面の上下方向が重力方向に一致していないと、撮影画像の上下方向も重力方向に一致せず、傾いた画像が撮影される。この場合には、回転方向、回転角度の計算にずれが生じる。このため、この第2の方式の場合には、撮影時においてセンサ部106から取得する自機の傾きを利用して、撮影画像の上下方向が重力方向に一致するように、撮影画像の傾きを調整(補正)するようにしている。以下、この第2の方式について、詳細に説明する。
この設置地図対比モードへの切り替えを第2の方式で行う場合についても、上述した設置地図対比モードの切り替えを第1の方式を用いて行った場合と同様に、図3に示した設置地図2と対比可能にした表示地図を表示する場合を例にして説明する。この第2の方式を用いる場合にも、まず、図2に示した地図表示処理を実行し、表示部108Dに通常の表示モードで現在位置を含むエリアの表示地図を表示する。次に、使用者は、表示部108Dの所定の位置に表示される設置地図対比モードへの切り替えを第2の方式で行うためのアイコンを、タッチパネル109を通じて選択する操作を行う。当該アイコンが選択された場合、制御部102は、設置地図対比モードへの切り替えを第2の方式で行う。換言すれば、制御部102は、第2の方式で設置地図対比モードに切り替える処理を実行する。
図7は、設置地図対比モードへの切り替えの第2の方式について説明するための図である。この場合、制御部102は、カメラ部112を起動し、使用者に方位記号を確実に含むようにして設置地図2を撮影することを促す。使用者が、設置地図2を撮影した場合に、自機の表示部108Dの表示画面の傾きをセンサ部106から取得する。この自機の傾きの取得は、上述した第1の方式の場合と同様の処理であり、重力方向Gを基準にして、地図表示装置1の表示部108Dの表示画面が、使用者から見て左右のどちら側にどれだけ傾いたのかを示す情報である自機の傾きをセンサ部106から取得する。この傾きを示す情報は、例えば、回転方向d、回転角度θとして取得できる。
そして、制御部102は、取得した自機の傾きを示す情報を地図回転特定部114に供給し、方位記号diが示す方向と重力方向Gに一致する画像の上下方向とを利用して、設置地図2の方位/方向を計算するように制御する。具体的に、地図回転特定部114は、撮影することにより得た設置地図2の画像において、方位記号で示される北方向が、重力方向Gに一致する画像の上下方向のどちら側にあるかを判別することで、回転方向が判別できる。なお、この場合、撮影時に検出した傾きに応じて、撮影画像を傾かせる補正処理を行うことにより、撮影画像の上下方向を重力方向に一致させることができる。
図7に示した例の場合には、上述した撮影画像の傾き補正により、撮影画像の中心線が示す上下方向が、重力方向に一致するようになった場合を示している。そして、方位記号diが示す北方向は、設置地図2の右上側方向を示している。すなわち、北方向は撮影画像の上下方向(重力方向G)の右側になっているので、図7において回転方向d1が示すように、回転方向は右方向となることが分かる。そして、回転角度は、方位記号diが示す方位方向の延長線ELと重力方向Gとのなす角θ1として求めることができる。簡単には、余弦定理を利用して求めることができる。
例えば、図7に示すように、方位記号diが示す方位方向の延長線ELと重力方向Gの延長線との交点を頂点Aとし、重力方向Gの延長線と方位方向の延長線ELとを接続する任意の直線XLを引き、重力方向Gの延長線と直線XLとの交点を頂点Bとし、方位方向の延長線ELと直線XLとの交点を頂点Cとする。そして、辺BCの長さをa、辺CAの長さをb、辺ABの長さcとすれば、cosθ1=b2+c2−a2/2bcという計算式が成り立ち、回転角度θ1を求めることができる。なお、図7を用いて説明したように、辺BC、辺CA、辺ABの長さは、各頂点A、B、Cの位置が特定できれば、その間の距離を求めることにより正確に定めることができる。したがって、設置地図2を撮影することにより得た撮影画像の重力方向Gに一致する上下方向と、設置地図2の方位記号diが示す方向とが明確に定められれば、上述したように、余弦定理を利用して、回転角度θ1を正確に求められる。
なお、各頂点A、B、Cの位置は、地図表示装置1の表示画面上の位置として特定してもよいし、地図表示装置1の表示部108Dに表示される地図上の位置として特定してもよい。要は、その位置関係を設置地図2に対応させて正確に特定することができれば、どのような方法を用いてもよい。そして、各頂点A、B、Cの位置が正確に特定できれば、その位置に基づいて、各辺の長さも正確に特定できる。これにより、回転角度θ1を正確に求められる。
地図回転特定部114は、上述したように計算により求めた回転方向d1と回転角度θ1とを、表示部108Dに表示された表示地図を回転させる方向d1と回転させる角度θ1として特定し、これを制御部102を通じて地図回転処理部115に供給する。
地図回転処理部115は、地図回転特定部114において特定した回転方向dが示す方向に、回転角度θが示す角度分、表示部108Dに表示されている表示地図を回転させる。これにより、設置地図2の方位と表示部108Dに表示される表示地図の方位とを合わせることができる。これにより、設置地図2と表示部108Dに表示される地図とは、違和感なく対比することができる。
[設置地図対比モードへの切り替えの第2の方式の処理詳細]
図8は、設置地図対比モードへの切り替えが第2の方式で実行するようにされた場合に、地図表示装置1で行われる処理を説明するためのフローチャートである。この図8に示す処理は、図2に示したフローチャートのステップS102において、設置地図対比モードへの切り替えを第2の方式で行うことを指示する操作入力を受け付けた場合に、図2に示したフローチャートのステップS106において制御部102により実行される。
この場合、制御部102は、まず、カメラ部112に起動させ、カメラ部112を通じて被写体の画像を取り込んで、これを表示部108Dに表示し、使用者が表示部108Dに表示された画像を確認しながら撮影を行えるようにする(ステップS301)。次に、制御部102は、例えば、「方位記号を含むようにして、設置地図を撮影してください。」といった、設置地図を撮影することを促すメッセージを出力し(ステップS302)、使用者に設置地図を撮影することを促す。
この後、制御部102は、使用者からの操作入力を受け付けるようにし(ステップS303)、シャッター操作(シャッター押下)を受け付けたか否かを判別する(ステップS304)。ステップS304の判別処理において、シャッター操作は受け付けていないと判別した時には、制御部102は、設置地図対比モードの終了を指示する操作入力を受け付けたか否かを判別する(ステップS305)。ステップS305の判別処理において、設置地図対比モードの終了を指示する操作入力を受け付けたと判別したときには、カメラ機能を停止させるなどの所定の終了処理を行って(ステップS306)、この図8に示す処理を終了する。また、ステップS305の判別処理において、設置地図対比モードの終了を指示する操作入力を受け付けていないと判別したときには、制御部102は、ステップS303からの処理を行う。
そして、ステップS304の判別処理において、シャッター操作を受け付けたと判別した時には、制御部102は、カメラ部112を制御して設置地図の撮影を実行し、設置地図の画像データを記憶装置103の所定の格納領域に記録する(ステップS307)。また、制御部102は、センサ部106で検知される自機の傾き(回転方向及び回転角度)を取得する(ステップS308)。そして、制御部102は、撮影することにより得た画像データを解析し、記憶装置103の所定の領域に格納されている方位記号DB(Data Base)の登録データを参照しながら、撮影された設置地図に含まれる方位記号を認識する(ステップS309)。
この後、制御部102は、撮影された設置地図に含まれる方位記号が認識できたか否かを判別し(ステップS310)、認識できなかったと判別したときには、ステップS302からの処理を繰り返し、設置地図の撮影をやり直すようにする。ステップS310の判別処理において、撮影された設置地図に含まれる方位記号が認識できたと判別したときには、制御部102は、カメラ部112を停止させる(ステップS311)。そして、制御部102は、図7を用いて説明したように、地図回転特定部114を制御して、撮影した設置地図に含まれる方位記号diの示す方位と、撮影した設置地図の重力方向Gに一致する上下方向とに基づいて、表示地図の回転方向、回転角度を特定する(ステップS312)。このステップS312の処理では、ステップS308で取得した撮影時の自機の傾きを考慮して、撮影して得た撮影画像の傾きも補正される。これにより、図7を用いて説明したように、表示地図の回転方向d1、回転角度θ1を正確に特定できる。
そして、制御部102は、ステップS312の処理により、地図回転特定部114において特定された表示地図の回転方向と回転角度とを地図回転処理部115に供給し、地図回転処理部115が表示部108Dに表示されている地図を、特定された回転方向に特定された回転角度分回転させる(ステップS313)。そして、図8に示す処理を抜け、図2に示したステップS102からの処理を行うようにする。これにより、設置地図2の方位と合うように回転調整がなされた表示地図を拡大したり、縮小したり、表示範囲をずらしたりして利用することができる。
この設置地図対比モードへの切り替えの第2の方式は、設置地図2に表示された方位記号が比較的に大きく、はっきり表示されており、画像認識によりその方位方向が明確に特定可能な場合に有効な方法である。この第2の方式の場合には、第1の方式の場合とは異なり、地図表示装置1を傾けて設置地図を撮影する必要もないため、使用者にとっては簡便な方法となる。
[設置地図対比モードへの切り替えの第3の方式(方法)]
[設置地図対比モードへの切り替えの第3の方式の概要]
次に、設置地図対比モードへ切り替えるための第3の方式について説明する。設置地図対比モードの第3の方式の概要を示せば、以下のようになる。まず、(1)使用者は、カメラ部112を通じて設置地図を撮影する。次に、(2)撮影した設置地図に含まれる駅などの施設や道路といった種々の地物の形状、若しくは、主要POI(point of interest)の所在位置と、重力方向Gに一致する撮影画像の上下方向とから、表示地図の回転方向、回転角度を計算する。そして、(3)表示部108Dに表示されている表示地図の方位が設置地図の方位と同じになるように、表示地図を回転させる。というものである。
なお、この第3の方式の場合にも、上述した第2の方式の場合と同様に、表示地図の回転方向、回転角度の計算に際しては、撮影時において、被写体が表示される地図表示装置1の表示部108Dの表示画面の上下方向が重力方向に一致していないと、撮影画像の上下方向も重力方向に一致せず、傾いた画像が撮影される。この場合には、回転方向、回転角度の計算にずれが生じる。このため、この第3の方式の場合にも、撮影時においてセンサ部106から取得する自機の傾きを利用して、撮影画像の上下方向が重力方向に一致するように撮影画像の傾きを調整(補正)するようにしている。以下、この第3の方式について、詳細に説明する。
この設置地図対比モードへの切り替えを第3の方式で行う場合についても、上述した設置地図対比モードへの切り替えを第1、第2の方式を用いて行った場合と同様に、図3に示した設置地図2と対比可能にした表示地図を表示する場合を例にして説明する。この第3の方式を用いる場合にも、まず、図2に示した地図表示処理を実行し、表示部108Dに通常の表示モードで現在位置を含むエリアの表示地図を表示する。次に、使用者は、表示部108Dの所定の位置に表示される設置地図対比モードへの切り替えを第3の方式で行うためのアイコンを、タッチパネル109を通じて選択する操作を行う。当該アイコンが選択された場合、制御部102は、設置地図対比モードへの切り替えを第3の方式で行う。換言すれば、制御部102は、第3の方式で設置地図対比モードに切り替える処理を実行する。
図9は、設置地図対比モードへの切り替えの第3の方式について説明するための図である。この場合、制御部102は、カメラ部112を起動し、使用者に設置地図2を撮影することを促す。使用者が、設置地図2を撮影した場合に、自機の表示部108Dの表示画面の傾きをセンサ部106から取得する。この自機の傾きの取得は、上述した第1、第2の方式の場合と同様の処理であり、重力方向Gを基準にして、地図表示装置1の表示部108Dの表示画面が、使用者から見て左右のどちら側にどれだけ傾いたのかを示す情報である自機の傾きをセンサ部106から取得する。この傾きを示す情報は、例えば、回転方向d、回転角度θとして取得できる。
そして、制御部102は、取得した自機の傾きを示す情報を地図回転特定部114に供給し、設置地図2を撮影することにより得た画像データによる地図と、真上を北方向として作成されている地図DBの地図データ(設置地図と同じエリアの地図データ)による地図とを比較する処理を行う。この場合、撮影することにより得られた設置地図の画像データによる地図については、撮影時の地図表示装置1の傾きを利用して、地図表示装置1の上下方向が正確に重力方向Gに一致しているときに撮影することにより得られたものとなるように補正する。
また、地図回転特定部114は、例えば、地図DB105から取得した地図データによる地図については、撮影して得た設置地図2の画像データによる地図と対比可能なように、サイズを合わせる処理を行う。撮影することにより得られた設置地図2の画像データによる地図についてもサイズを合わせる処理を行ってもよい。そして、地図回転特定部114は、撮影して得た設置地図2の画像データによる地図と地図DB105から取得した地図データによる地図との間において、本来、位置と向きが一致すべき地物について、ずれが生じている場合に、ずれの方向と角度とを計算する。
例えば、図9(A)に示すように、撮影することにより得られた設置地図の画像データによる地図においては、○○駅から延びるメインストリートが、地図の上下方向に延びているものとして表されている。しかし、地図DB105から読み出した地図データによる地図(真上を北方向として作成された地図データによる地図)とは、駅の位置はほぼ一致するものの、駅から延びるメインストリートの延びる方向がずれていたとする。
そこで、この例では、図9に示すように、地図回転特定部114は、撮影することにより得られた設置地図2の画像データによる地図上のメインストリートの延伸線SLと、地図DB105からの地図データによる地図のメインストリートの延伸線DLとを特定する。この場合、地図DB105からの地図データによる地図おけるメインストリートの延伸線DLから見た、撮影することにより得られた設置地図2の画像データによる地図におけるメインストリートの延伸線SLのある方向d2が、地図DB105の地図データにより表示される表示地図の回転方向となる。また、撮影することにより得られた設置地図2の画像データによる地図おけるメインストリートの延伸線SLと地図DB105からの地図データによる地図におけるメインストリートの延伸線DLとのなす角θ2が、地図DB105の地図データにより表示される表示地図の回転角度となる。
この第3の方式の場合にも、回転角度θ2は、第2の方式の場合と同様に、余弦定理を利用して求めることができる。この例の場合には、図9に示したように、撮影することにより得られた設置地図2の画像データによる地図と、地図DB105からの地図データによる地図とを対比可能なように、例えばメモリ上に展開する。この場合、○○駅などの基準となる地物の代表点が一致するように重ねたり、図9に示すように、○○駅などの基準となる地物の代表点が同一直線上に位置するようにして上下に並べたりする。
そして、撮影することにより得られた設置地図2の画像データによる地図上のメインストリートの延伸線SLと、地図DB105からの地図データによる地図のメインストリートの延伸線DLとの交点を求める。そして、当該延伸線SLと延伸線DLとを繋ぐ直線を引いて、それぞれの交点を特定する。この後、特定した3つの交点(頂点)の位置からそれぞれの交点を結ぶ辺の長さを求め、上述した余弦定理の計算式により、cosθ2を求めて、回転角度θ2を求めればよい。このように、メモリ上の計算により、回転方向d2、回転角度θ2が求められる。
ここでは、説明を簡単にするため、起点を共通にする駅からのメインストリートに着目した場合を例にして説明したが、これに限るものではない。例えば、駅の形状に特徴がある場合には、当該駅の形状に着目し、設置地図を撮影することにより得られた画像データによる地図上に表された駅の形状は、地図DB105の地図データによる地図上に表された駅の形状を、どちらの方向にどれだけずらしたものかを特定するようにしてもよい。
また、設置地図を撮影することにより得られた画像データによる地図上の警察署、郵便局、小学校、高等学校といったPOIを直線で結んで形成した四角形は、地図DB105の地図データによる地図上の警察署、郵便局、小学校、高等学校といったPOIを直線で結んで形成した四角形を、どちらの方向にどれだけずらしたものかを特定するようにしてもよい。
要は、サイズを整えることにより比較可能になった、撮影することにより得られた画像データによる地図と地図DB105の地図データによる地図との間で、本来、一致すべき地物の形状のずれや、POIの位置のずれなどを利用して、表示地図の回転方向、回転角度を特定すればよい。
このようにして、地図回転特定部114は、表示地図の回転方向d2と回転角度θ2とを特定し、これを制御部102を通じて地図回転処理部115に供給する。地図回転処理部115は、地図回転特定部114において特定した回転方向d2が示す方向に、回転角度θ2が示す角度分、表示部108Dに表示されている表示地図を回転させる。これにより、設置地図2の方位と表示部108Dに表示される表示地図の方位とを合わせることができる。これにより、設置地図2と表示部108Dに表示される地図とは、違和感なく対比することができる。
[設置地図対比モードへの切り替えの第3の方式の処理詳細]
図10は、設置地図対比モードへの切り替えが第3の方式で実行するようにされた場合に、地図表示装置1で行われる処理を説明するためのフローチャートである。この図10に示す処理は、図2に示したフローチャートのステップS102において、設置地図対比モードへの切り替えを第3の方式で行うことを指示する操作入力を受け付けた場合に、図2に示したフローチャートのステップS106において制御部102により実行される。
そして、図10のフローチャートに示すステップS301〜ステップS308までの処理は、図8に示した設置地図対比モードへの切り替えを第2の方式で行う場合のステップS301〜ステップS308の処理と同様の処理である。このため、図10と図8において、同じ参照符号を付して示したステップS301〜ステップS308までの処理の詳細については、説明が重複するので省略する。
そして、図10に示す設置地図対比モードの第3の方式による処理においても、ステップS301〜ステップS308の処理により、設置地図2を撮影すると共に、撮影時点における地図表示装置1の傾きを取得しておく。この後、制御部102は、地図回転特定部114を制御して、撮影することにより得られた設置地図2の画像データによる地図と地図DB105からの地図データによる地図とを、比較して違いを認識する(ステップS401)。このステップS401では、撮影時の自機の傾きを考慮して、撮影することにより得られた設置地図2の画像データによる地図の傾きを補正したり、撮影することにより得られた設置地図2の画像データによる地図と地図DB105からの地図データによる地図とを比較可能なようにサイズ調整したりする処理が含まれる。
制御部102は、ステップS401において、両地図の違いが認識できたか否かを判別する(ステップS402)。ステップS402の判別処理で、違いが認識できていないと判別したとする。この場合には、設置地図2の撮影がうまくいっていない可能性があるので、ステップS302からの処理を繰り返し、設置地図2の撮影からやり直す。ステップS402の判別処理で、違いが認識できたと判別したときには、制御部102は、カメラ部112を停止させる(ステップS403)。そして、制御部102は、図9を用いて説明したように、地図回転特定部114を制御して、ステップS401での撮影することにより得られた設置地図2の画像データによる地図と地図DB105からの地図データによる地図との対比結果に基づいて、表示地図の回転方向、回転角度を特定する(ステップS404)。
そして、制御部102は、ステップS404の処理により、地図回転特定部114において特定された表示地図の回転方向と回転角度とを地図回転処理部115に供給し、地図回転処理部115が表示部108Dに表示されている地図を、特定された回転方向に特定された回転角度分回転させる(ステップS405)。そして、図10に示す処理を抜け、図2に示したステップS102からの処理を行うようにする。これにより、設置地図2の方位と合うように回転調整がなされた表示地図を拡大したり、縮小したり、表示範囲をずらしたりして利用することができる。
この設置地図対比モードへの切り替えの第3の方式は、設置地図2に方位記号がまったく表示されておらず、使用者も設置地図の北方向が認識できない場合に有効な方法である。この第3の方式の場合にも、第1の方式の場合とは異なり、地図表示装置1を傾けて設置地図を撮影する必要もないため、使用者にとっては簡便な方法となる。
[実施の形態の効果]
上述した実施の形態の地図表示装置1によれば、地図表示装置1の表示部108Dに表示される表示地図の方位を、ほぼ自動的に設置地図の方位に合わせることができる。したがって、表示された地図の方位を、設置地図の方位に合わせるために、表示地図の面倒な回転調整操作などを行う必要がない。また、設置地図に方位記号が表示されていない場合でも、設置地図の方位に、表示地図の方位を合わせることができる。
[変形例]
なお、上述した実施の形態では、表示部108Dに表示されている表示地図を、地図回転処理部115が回転させる処理を行うものとして説明したが、これに限るものではない。地図回転処理部115が、地図回転特定部114からの回転方向、回転角度に応じて回転させた地図を形成し、これを新たに表示部108Dに表示するようにしてもよい。
また、地図回転処理部115は、表示部108Dに表示されている地図だけを回転処理するのではない。設置地図対比モード時においては、表示部108Dに表示されすべての地図を、地図回転特定部114において特定した回転方向、回転角度に回転させ地図を表示する機能を有する。つまり、地図回転特定部114、地図回転処理部115は、表示部108Dに表示されることになるすべて表示地図の方位を、設置地図の方位に合わせることができる。
なお、上述した実施の形態では、設置地図対比モードへの切り替えの第2、第3の方式の場合においは、撮影時の自機の傾きを取得し、撮影時における撮影画像の重力方向(鉛直方向)が正確になるように補正した。しかし、当該補正は必ず行わなければならないものではない。撮影時において、地図表示装置1の表示部108Dの表示画面の上下(天地)方向が、重力方向(鉛直方向)とほぼ一致している場合には、当該補正を行う必要はない。
このため、撮影時において、地図表示装置1の表示部108Dの表示画面の上下(天地)方向が、重力方向(鉛直方向)と一致するように、基準線を表示部108Dに表示し、これを重力方向に一致させるようにして撮影を行うようにすれば、上述した第2、第3の方式の場合には、撮影時に取得した自機の傾きに基づいて、撮影画像の重力方向を補正する必要もない。しかし、撮影時に取得する自機の傾きにより撮影画像の重力方向を補正する処理を行えば、仮に撮影時に地図表示装置1を傾けてしまっていても、その傾き分を除去できるので、方位合わせを正確に行うことができる。
また、上述した実施の形態では、地図表示装置1が地図DB105に地図表示のための地図データを記憶保持しているものとして説明したが、これに限るものではない。必要な地図データは、適宜、インターネットなどのネットワーク上に設けられた地図データ提供サーバ装置から提供を受けこれを用いるようにしてもよい。
また、地図DB105、地図回転処理部115を、インターネットなどのネットワーク上に設けられた所定の地図提供サーバに設けるようにする。そして、地図表示装置1には、地図回転特定部114を設けておき、ここで特定された回転方向、回転角度を当該地図提供サーバに送信する。地図提供サーバでは、地図表示装置1からの回転方向、回転角度に応じて回転するように処理した地図を表示するための地図データを形成し、これを地図表示装置1に提供する。地図表示装置1では、地図提供サーバからの地図データに応じた地図を地図表示処理部113が表示部108Dに表示させるようにしてもよい。
また、地図回転特定部114の機能を地図提供サーバに持たせ、地図表示装置1からは、取得した自機の傾きや撮影して得た画像データを地図提供サーバに送信する。そして、地図提供サーバにおいて、表示地図の回転方向、回転角度を特定し、これに応じて回転させた地図を表示するための地図データを形成し、地図表示装置1に提供して、回転処理済みの表示データを表示部108Dに表示させるようにすることもできる。
このように、カメラ機能を備えた表示装置と地図提供サーバとにより構成される地図表示システムとして、地図表示装置を構成することもできる。
また、図1に示した地図表示処理部113、地図回転特定部114、地図回転処理部115の機能は、制御部102において実行されるプログラムによって、制御部102の機能として実現することもできる。
[その他]
上述の実施の形態の説明からも分かるように、撮像手段は、地図表示装置1のカメラ部112が実現している。また、地図回転特定手段は、地図表示装置1の地図回転特定部114が実現し、地図回転処理手段の機能は、地図回転処理部115が実現している。また、傾き検知手段の機能は、地図表示装置1のセンサ部106が実現し、表示処理手段の機能は、地図表示装置1の制御部102が実現している。
また、図2、図6、図8、図10のフローチャートに示した処理が、この発明による地図表示方法の一実施の形態に対応する。また、図2、図6、図8、図10のフローチャートに示した処理を実行するプログラムが、この発明による地図表示プログラムの一実施の形態に対応する。
また、上述もしたように、図1に示した地図表示装置1の地図表示処理部113、地図回転特定部114、地図回転処理部115の機能は、制御部102において実行されるプログラムによって、制御部102の機能として実現することもできる。したがって、地図表示処理部113、地図回転特定部114、地図回転処理部115の機能を、制御部102の機能として制御部102で実行されるプログラムも、この発明によるプログラムの一実施の形態である。