以下、本発明によるナビゲーション装置について、実施の形態を用いて説明する。なお、以下の実施の形態において、同じ符号を付した構成要素及びステップは同一または相当するものであり、再度の説明を省略することがある。
(実施の形態1)
本発明の実施の形態1によるナビゲーション装置について、図面を参照しながら説明する。本実施の形態によるナビゲーション装置は、撮影に関する制御を行うものである。
図1は、本実施の形態によるナビゲーション装置1の構成を示すブロック図である。本実施の形態によるナビゲーション装置1は、ナビゲーション部11と、取得部12と、受付部13と、撮影部14と、観光地点情報記憶部15と、制御部16と、出力部17と、蓄積部18と、撮影画像記憶部19とを備える。なお、ナビゲーション装置1は、例えば、自動車に装着されるカーナビゲーション装置であってもよく、地図表示機能やナビゲーション機能等を有する携帯電話であってもよく、地図表示機能やナビゲーション機能等を有するPDA(Personal Digital Assistant)であってもよく、PND(Personal Navigation Device)であってもよい。すなわち、ナビゲーション装置1は、自動車で用いられるものであってもよく、徒歩や自転車で用いられるものであってもよく、その他の状況で用いられるものであってもよい。本実施の形態では、ナビゲーション装置1が徒歩で用いられるものである場合について主に説明する。
ナビゲーション部11は、ナビゲーションを行うものである。ナビゲーション部11は、目的地の入力を受け付け、目的地までのナビゲーションを行うものであってもよい。また、ナビゲーション部11は、現在位置を示すものであってもよい。本実施の形態では、ナビゲーション部11が、目的地の入力が受け付けられた場合には、目的地までのルートを示すナビゲーションを行い、そうでない場合には、現在位置を示すナビゲーションを行うものとする。なお、ナビゲーション部11は、その他のナビゲーションに関する処理を行うものであってもよい。
本実施の形態では、図1で示されるように、ナビゲーション部11が、地図情報記憶手段21と、ナビ受付手段22と、現在位置取得手段23と、ルート情報生成手段24と、表示手段25とを備える場合について説明する。
地図情報記憶手段21では、地図に関する情報である地図情報が記憶される。地図情報は、例えば、地図の画像情報であってもよい。この画像情報は、例えば、ラスタデータ(ビットマップデータ)であってもよく、ベクタデータであってもよい。また、画像情報がラスタデータである場合には、地図情報に、複数の縮尺に対応した画像情報が含まれていてもよい。例えば、同じ地域について、縮尺の大きい画像情報、縮尺の中ぐらいの画像情報、縮尺の小さい画像情報が地図情報に含まれていてもよい。また、地図情報は、タイル状に分割された地図を示すものであり、それらを適宜組み合わせることによって、様々な領域の地図を表示することができるようになっていてもよい。ここで、「地図」は、地形図や、地勢図、地質図、土地利用図、住宅地図、路線図、道路地図、ガイドマップ等であってもよい。ナビゲーション装置1がカーナビゲーション装置である場合には、この地図情報は道路地図であってもよい。ナビゲーション装置1が徒歩や自転車等で用いられる場合には、この地図情報は歩行者や自転車用の道路地図であってもよい。また、その地図情報は、ルート探索を行うことができるものである。すなわち、地図情報は、例えば、道路の位置を示すものであってもよい。また、その地図情報は、道路の属性(例えば、制限速度や、主要な道路であるのか、脇道であるのかなど)を知ることができるようになっているものであってもよい。また、例えば、この地図情報は、カーナビゲーションで用いられるKIWIフォーマットのものであってもよい。また、「地図」は、地形や道路等が把握可能な航空写真や衛星写真、それらに記号や文字等が記入されたものなどであってもよい。地図情報において、地図の各地点と、座標(位置)との対応を知ることができるようになっているものとする。座標とは、ある基準点を原点とした座標(この座標は、例えば、距離でもよい)であってもよく、緯度・経度であってもよく、その他の位置を識別できる情報であってもよい。地図情報に、その座標そのものが含まれていてもよい。本実施の形態では、座標が緯度・経度である場合について説明する。また、この地図情報には、地名や、山や川などの地形に関する文字情報が含まれていてもよい。また、この地図情報において、北などの特定の方位がどちらであるのかが設定されていてもよい。なお、地図情報は、2次元のオンライン地図や電子地図等として公知であり、その詳細な説明を省略する。
地図情報記憶手段21に地図情報が記憶される過程は問わない。例えば、記録媒体を介して地図情報が地図情報記憶手段21で記憶されるようになってもよく、通信回線等を介して送信された地図情報が地図情報記憶手段21で記憶されるようになってもよい。また、地図情報記憶手段21での記憶は、RAM等における一時的な記憶でもよく、あるいは、長期的な記憶でもよい。地図情報記憶手段21は、所定の記録媒体(例えば、半導体メモリや磁気ディスク、光ディスクなど)によって実現されうる。
ナビ受付手段22は、ナビゲーションに関する入力を受け付ける。ナビ受付手段22は、例えば、目的地の入力受け付けてもよく、その他のナビゲーションに関する操作の入力を受け付けてもよい。その目的地は、ルート情報生成手段24におけるルート情報の生成で用いられる目的地である。なお、この目的地は、例えば、地点名であってもよく、地図上の位置情報(例えば、緯度・経度など)であってもよく、住所であってもよく、目的地を特定できる情報であればその内容を問わない。地点名は、例えば、施設名であってもよく、名所や旧跡の名称であってもよく、その他の地点に関する名称であってもよい。なお、ナビ受付手段22は、あらかじめ設定されている複数の目的地から選択された目的地(例えば、プルダウンメニューによって選択された目的地など)を受け付けてもよい。
ナビ受付手段22は、例えば、入力デバイス(例えば、キーボードやマウス、タッチパネルなど)から入力された目的地等を受け付けてもよく、有線もしくは無線の通信回線を介して送信された目的地等を受信してもよく、所定の記録媒体(例えば、光ディスクや磁気ディスク、半導体メモリなど)から読み出された目的地等を受け付けてもよい。なお、ナビ受付手段22は、受け付けを行うためのデバイス(例えば、モデムやネットワークカードなど)を含んでもよく、あるいは含まなくてもよい。また、ナビ受付手段22は、ハードウェアによって実現されてもよく、あるいは所定のデバイスを駆動するドライバ等のソフトウェアによって実現されてもよい。
現在位置取得手段23は、ナビゲーション装置1の現在位置を取得する。その現在位置の取得は、例えば、GPS(Global Positioning System)を用いてなされてもよく、ジャイロなどの自律航法装置を用いてなされてもよく、その両方を用いることによって互いの欠点を補うようにしてもよい。なお、現在位置の取得方法は、これらに限定されないことは言うまでもない。例えば、携帯電話の最寄りの基地局を利用した現在位置の取得等を行ってもよい。また、現在位置取得手段23が取得する現在位置は、例えば、緯度と経度を示す座標であってもよく、その他の座標であってもよい。本実施の形態では、現在位置が緯度・経度である場合について説明する。
ルート情報生成手段24は、現在位置取得手段23が取得した現在位置である出発地から、ナビ受付手段22が受け付けた目的地までのルート情報を生成する。なお、出発地は、ユーザによって別途、設定されたものを用いてもよい。ルート情報生成手段24は、そのルート情報の生成において、地図情報記憶手段21で記憶されている地図情報を用いるものとする。ルート情報生成手段24が生成したルート情報は、例えば、始点から終点までのルートを構成する多数の点の位置を示す情報であってもよい。また、ルート情報生成手段24は、ルート情報の示すルートにより目的地まで行った場合の所要時間をも取得するものであってもよい。
ここで、ルート情報生成手段24が現在位置を始点として、目的地を終点とするルートのルート情報を生成する方法について簡単に説明する。ルート情報生成手段24は、現在位置と目的地との2個の位置にそれぞれ対応する座標(例えば、緯度・経度等)を取得し、その取得した2個の座標の間のルート探索を行う。具体的には、ルート情報生成手段24は、通常、地図情報を用いて、始点から終点までのルートのスコアが最小となるようにルートを決定する。その経路探索において、例えば、ダイクストラ法を用いてもよく、A*アルゴリズムを用いてもよく、ベルマン−フォード法を用いてもよく、ワーシャル−フロイド法を用いてもよく、その他のアルゴリズムを用いてもよい。
なお、ダイクストラ法は、始点から放射状に距離の短い順に距離を計算しながら最短ルートをチェックしていく方法である。また、ダイクストラ法は、目的地へたどり着いた時点でその経路が最短ルートとなるアルゴリズムである。さらに、ダイクストラ法において、必要なメモリ量と処理時間が、リンクやノードの数に比例して増加する。なお、ノードとは、地図上の地点のことである。リンクとは、ノードとノードを接続する線である(参考:インターネット<URL:http://www.deqnotes.net/acmicpc/dijkstra/>)。
また、A*アルゴリズムは、各頂点nからゴールまでの距離の推定値h*(n)を知っていた場合に対して、最短経路問題を効率的に解くアルゴリズムである。A*アルゴリズムは、ダイクストラ法に予測距離を加えた考えで、ダイクストラ法に比べて目的地までの到達ステップが短くなる。また、A*アルゴリズムにおいて、予測距離が含まれるため、目的地へたどり着いた時点でその経路が最短ルートとならない可能性がある。また、A*アルゴリズムにおいて、目的地までたどり着くことを優先させ、メモリ容量と処理時間を抑えることができる(参考:インターネット<URL:http://ja.wikipedia.org/wiki/A*%E3%82%A2%E3%83%AB%E3%82%B4%E3%83%AA%E3%82%BA%E3%83%A0>)。なお、ルート情報生成手段24がルート探索を行うために必要な情報は、地図情報記憶手段21で記憶されているものとする。
また、ルート情報生成手段24は、生成したルート情報の示すルートの距離を計算し、その距離を移動速度で割ることによって、そのルートを用いた場合の所要時間をも取得してもよい。その際に、移動手段(例えば、自動車、自転車、徒歩など)に応じた移動速度を用いるようにしてもよい。また、ルートの一部に移動速度の違う箇所が含まれる場合(例えば、ルートの一部が高速道路である場合や、ルートの一部で渋滞が起こっている場合など)には、移動速度ごとの範囲で所要時間を計算して加算することによって、出発地から目的地までの所要時間を取得してもよい。
このルートの生成や所要時間の算出は、すでに公知であり、その詳細な説明を省略する。例えば、オンラインマップにおいて、始点の緯度・経度と、終点の緯度・経度を入力すると、その始点から終点までのルートと、所要時間とが表示されるものがある(例えば、「http://maps.google.co.jp/maps」等を参照のこと)。
表示手段25は、地図情報記憶手段21で記憶されている地図情報を表示する。表示手段25は、現在位置取得手段23が取得した現在位置に応じた地図情報を地図情報記憶手段21から読み出して表示してもよい。その表示の際には、表示手段25は、表示対象となる領域の地図情報のみを地図情報記憶手段21から読み出して表示するものとする。地図情報を表示するとは、地図情報における地図の画像を表示することである。なお、その地図の画像には、地名や、北を示す方位図形、縮尺を示す縮尺表示等が表示されてもよい。また、表示手段25は、ナビゲーション装置1の位置を示すマークを地図上に表示してもよい。また、表示手段25は、ルート情報生成手段24が生成したルートも表示する。表示手段25は、そのルート情報の示すルートを地図上に表示してもよい。その地図上でのルートの表示は、ルートの全体の表示であってもよく、あるいは、現在位置の近辺のルートの表示であってもよい。また、表示手段25は、撮影画像記憶部19で記憶されている撮影画像を表示してもよい。
なお、表示手段25は、それらの表示を行う表示デバイス(例えば、CRTや液晶ディスプレイなど)を含んでもよく、あるいは含まなくてもよい。また、地図情報等の表示は、ナビゲーション装置1と別の装置においてなされてもよい。その場合には、表示手段25は、ナビゲーション装置1の外部に対して地図情報等を表示するために送信するものであってもよい。また、表示手段25は、ハードウェアによって実現されてもよく、あるいは表示デバイスを駆動するドライバ等のソフトウェアによって実現されてもよい。
取得部12は、ナビゲーション部11からナビゲーションの地点に関する情報である地点情報を取得する。この地点情報は、例えば、現在位置取得手段23が取得した現在位置を含んでいてもよく、ルート情報生成手段24が生成したルート情報またはルート情報に関する情報を含んでいてもよい。ルート情報に関する情報は、例えば、ルート情報の示すルートを表示した画像であってもよい。また、取得部12は、それら以外のナビゲーションの地点に関する情報を含む地点情報を取得してもよい。また、例えば、現在位置取得手段23によって取得された現在位置や、ルート情報生成手段24によって生成されたルート情報が記憶される記録媒体の領域があらかじめ決められている場合に、取得部12は、その決められている記録媒体の領域から現在位置やルート情報を読み出すことによって現在位置やルート情報を取得してもよい。取得部12が取得した地点情報は、制御部16において用いられたり、蓄積部18が蓄積したりするものである。取得部12が地点情報を取得するタイミングは問わない。例えば、取得部12は、現在位置を含む地点情報を定期的に取得してもよく、ルート情報を含む地点情報を、ルート情報が生成された後に取得してもよい。取得部12が取得した地点情報は、図示しない記録媒体で記憶されてもよい。
受付部13は、撮影部14による撮影の指示を受け付ける。その撮影の指示の受け付けは、出力部17の出力に応じてなされてもよい。受付部13は、例えば、シャッターボタンの押下により撮影の指示を受け付けてもよく、タッチパネル等において撮影の指示を受け付けてもよく、音声による撮影の指示を受け付けてもよく、その他の方法によって撮影の指示を受け付けてもよい。シャッターボタンは、例えば、デジタルスチルカメラのように、専用のボタンであってもよく、あるいは、携帯電話のように、他の機能と共用されるボタンであってもよい。また、受付部13は、例えば、入力デバイス(例えば、キーボードやマウス、タッチパネルなど)から入力された撮影の指示を受け付けてもよく、有線もしくは無線の通信回線を介して送信された撮影の指示を受信してもよい。なお、受付部13は、受け付けを行うためのデバイス(例えば、モデムやネットワークカードなど)を含んでもよく、あるいは含まなくてもよい。また、受付部13は、ハードウェアによって実現されてもよく、あるいは所定のデバイスを駆動するドライバ等のソフトウェアによって実現されてもよい。また、受付部13は、撮影の指示以外を受け付けてもよい。例えば、受付部13は、ナビゲーション装置1の設定等を受け付けてもよい。また、ナビ受付手段22と、受付部13とは、同一の構成であってもよく、あるいは、そうでなくてもよい。
撮影部14は、撮影を行って撮影画像を取得する。撮影部14は、受付部13が受け付けた撮影の指示に応じて撮影を行う。すなわち、受付部13が撮影の指示を受け付けた際に、撮影を行う。撮影画像は、例えば、静止画像であってもよく、あるいは、動画像であってもよい。また、撮影部14は、例えば、CCDや、CMOS等の撮像素子や、光学レンズ等を用いることによって、撮影画像を取得する。撮影画像のデータ形式は問わない。例えば、JPEGであってもよく、TIFFであってもよく、RAWデータであってもよい。また、撮影部14は、ナビゲーション装置1の他の構成要素から離れた位置に存在してもよく、あるいは、そうでなくてもよい。例えば、ナビゲーション装置1がカーナビゲーション装置である場合に、撮影部14は、そのナビゲーション装置1の装着されている自動車の前方の撮影を行うことができるように、カーナビゲーション装置とは離れた位置であるダッシュボードの上や、フロントガラスの上の方などに設けられていてもよい。ナビゲーション装置1の撮影部14と他の構成要素とは、例えば、有線で接続されてもよく、無線で接続されてもよい。撮影を行って撮影画像を取得する方法については、デジタルカメラ等によってすでに公知であり、その詳細な説明を省略する。
観光地点情報記憶部15では、1以上の観光地点情報が記憶される。観光地点情報は、観光スポットの位置情報を少なくとも有する情報である。本実施の形態では、観光地点情報が、観光スポット名と、その観光スポット名で特定される観光スポットの位置を示す位置情報とを有する場合について説明する。位置情報は、ある基準点を原点とした座標(この座標は、例えば、距離でもよい)であってもよく、緯度・経度であってもよく、その他の位置を識別できる情報であってもよい。本実施の形態では、位置情報が緯度・経度である場合について説明する。
なお、観光地点情報に含まれる各情報、例えば、観光スポット名や位置情報は、その情報そのものであってもよく、あるいは、その情報を特定可能な情報であってもよい。後者の場合には、観光地点情報に含まれる位置情報等は、例えば、位置情報等が格納されている領域を示すポインタやアドレスであってもよい。このことは、他の情報についても同様であるとする。
観光地点情報記憶部15に観光地点情報が記憶される過程は問わない。例えば、記録媒体を介して観光地点情報が観光地点情報記憶部15で記憶されるようになってもよく、通信回線等を介して送信された観光地点情報が観光地点情報記憶部15で記憶されるようになってもよく、あるいは、入力デバイスを介して入力された観光地点情報が観光地点情報記憶部15で記憶されるようになってもよい。観光地点情報記憶部15での記憶は、RAM等における一時的な記憶でもよく、あるいは、長期的な記憶でもよい。観光地点情報記憶部15は、所定の記録媒体(例えば、半導体メモリや磁気ディスク、光ディスクなど)によって実現されうる。
制御部16は、取得部12が取得した地点情報を用いて、撮影部14の撮影に関する制御を行う。撮影に関する制御とは、撮影を行うタイミングであるかどうかを判断する判断処理と、撮影を行うタイミングであると判断した場合に、撮影が行われるようにする撮影実行処理とを含む。
判断処理として、制御部16は、地点情報に現在位置が含まれる場合に、地点情報に含まれる現在位置が、撮影を行う位置である撮影位置からあらかじめ決められた条件を満たすほど近いかどうかを判断し、現在位置が撮影位置から近い場合に、撮影を行うタイミングであると判断してもよい。あらかじめ決められた条件は、例えば、現在位置が、撮影位置から直線距離でAメートルより近いことであってもよく、現在位置から撮影位置までのルート(経路)の距離がAメートルより近いことであってもよく、その他の条件であってもよい。撮影位置から直線距離でAメートルより近いかどうかは、現在位置と撮影位置との直線距離を用いて判断される。そのAメートルは、例えば、10メートルや、20メートル等であってもよい。一方、現在位置から撮影位置までのルート(経路)の距離がAメートルより近いかどうかは、現在位置から撮影位置までの経路探索を行い、その経路の長さを用いて判断される。例えば、直線距離は近い場合であっても、川や塀によって隔てられている場合には、ルートの距離が長くなることもある。本実施の形態では、現在位置が、撮影位置から半径Aメートルの円内である場合に、制御部16が、現在位置が撮影位置から近いと判断し、撮影を行うタイミングであると判断する場合について説明する。そのAメートルは、ユーザがその程度の距離を撮影のために移動することが苦にならない程度の距離に設定されることが好適である。
撮影位置は、例えば、ナビ受付手段22が受け付けた目的地であってもよく、観光地点情報記憶部15で記憶されている観光スポットに対応する位置情報の位置であってもよく(この場合には、制御部16が、観光スポットに対応した位置情報にアクセス可能であるとする)、取得部12が取得した地点情報に含まれるルート情報の示すルートにおける位置であってもよい。撮影位置が目的地である場合に、制御部16は、例えば、地点情報に含まれるルート情報の示すルートの終点である目的地の位置情報を取得することによって、その目的地である撮影位置を取得してもよい。または、ナビ受付手段22が受け付けた目的地が緯度・経度等の位置情報である場合には、制御部16は、その位置情報をナビ受付手段22から受け取ることによって、目的地である撮影位置を取得してもよい。ルートにおける位置は、例えば、出発点から目的地までのあらかじめ決められた距離ごと(例えば、500メートルごとや、1キロメートルごとなど)の位置であってもよく、出発点から目的地までをあらかじめ決められた数(例えば、10や20等)で等分した位置であってもよい。前者の場合には、ルートにおいて、決められた距離ごとに撮影位置が設定されることになり、後者の場合には、ルートにおいて、決められた数に応じた撮影位置が設定されることになる。また、ルートにおける位置は、例えば、ルートにおいて進行方向が曲がる箇所や、ルートにおける交差点の位置であってもよい。ルートにおいて進行方向が曲がる箇所が撮影位置となることによって、ルートの出発点から目的地までにおいて、曲がるポイントにおける撮影を行うことができるようになる。また、ルートにおける交差点の位置が撮影位置となることによって、ルートの出発点から目的地までにおいて、分岐の存在するポイントにおける撮影を行うことができるようになる。このようにして、出発点から目的地までの道案内等のために用いることができる撮影画像を取得することもできるようになる。なお、ルートにおいて進行方向が曲がる箇所は、例えば、進行方向があらかじめ決められた角度を超えて変化する地点を検出することによって行われてもよい。また、ルートにおける交差点の位置は、地図情報記憶手段21で記憶されている地図情報の示す交差点と、ルートとが一致する位置を検出することによって行われてもよい。その他の方法によって、ルートにおいて進行方向が曲がる箇所や、ルートにおける交差点の位置が検出されてもよいことは言うまでもない。
撮影実行処理として、制御部16は、撮影を行うタイミングであると判断した場合(例えば、現在位置が撮影位置からあらかじめ決められた条件を満たすほど近い場合)に、撮影部14に撮影を行わせてもよく、あるいは、出力部17に、撮影を促す情報を出力させてもよい。前者の場合には、撮影のタイミングを制御部16が決定することになるが、後者の場合には、撮影のタイミングを操作者が決定することになる。本実施の形態では、後者の場合、すなわち、制御部16によって現在位置が撮影位置から近いと判断された際に出力部17が撮影を促す情報を出力する場合について説明する。
出力部17は、制御部16が、現在位置が撮影位置から条件を満たすほど近いと判断した場合に、撮影を促す情報を出力する。ここで、この出力は、例えば、表示デバイス(例えば、CRTや液晶ディスプレイなど)への表示でもよく、所定の機器への通信回線を介した送信でもよく、プリンタによる印刷でもよく、スピーカによる音声出力でもよく、記録媒体への蓄積でもよく、他の構成要素への引き渡しでもよい。撮影を促す情報は、例えば、「撮影をして下さい」等の出力であってもよく、あるいは、あらかじめ決められているビープ音の出力や、あらかじめ決められている記号等の表示であってもよい。撮影を促す情報には、例えば、現在位置から条件を満たすほど近い撮影位置に対応した観光スポット名や、現在位置から条件を満たすほど近い撮影位置に対応した目的地であることを示す情報等が含まれていてもよい。本実施の形態では、撮影を促す情報が表示される場合について説明する。なお、出力部17は、出力を行うデバイス(例えば、表示デバイスやプリンタなど)を含んでもよく、あるいは含まなくてもよい。また、出力部17は、ハードウェアによって実現されてもよく、あるいは、それらのデバイスを駆動するドライバ等のソフトウェアによって実現されてもよい。
蓄積部18は、撮影部14が取得した撮影画像を撮影画像記憶部19に蓄積する。なお、蓄積部18は、撮影画像と共に、取得部12が取得した地点情報に関する蓄積をも行ってもよい。例えば、蓄積部18は、取得部12が取得した地点情報と、撮影画像とを対応付けて蓄積してもよく、取得部12が取得した地点情報に応じた画像と撮影画像とを合成して蓄積してもよい。地点情報と撮影画像とが対応付けて蓄積される場合には、何らかの方法で両者の対応をとることができるようになっているのであれば、その方法は問わない。例えば、互いに対応する地点情報と撮影画像とに同じIDを付与して蓄積してもよく、互いに対応する地点情報と撮影画像とを同じレコードに含めて蓄積してもよく、撮影画像に関するヘッダに、その撮影画像に対応する地点情報を含めて蓄積するようにしてもよく、その他の方法であってもよい。地点情報に応じた画像と、撮影画像とが合成される場合には、地点情報に応じた、文字列の画像や経路を示す画像が、撮影画像の一部(例えば、左下や、右下、左上、右上等)に合成されてもよい。この場合には、撮影画像上において、地点情報が画像として示されることになる。
また、蓄積部18は、その他の情報を撮影画像と共に蓄積するようにしてもよい。例えば、撮影位置に近いと判断されて撮影が行われた場合には、その撮影位置に関する情報(例えば、観光スポット名、目的地であること等)を、撮影画像と共に蓄積してもよい。また、例えば、撮影の行われた日時を、撮影画像と共に蓄積してもよい。その場合にも、その撮影位置に関する情報や日時等を、撮影画像に対応付けて蓄積してもよく、あるいは、その撮影位置に関する情報や日時等の画像を撮影画像に合成して蓄積してもよい。
撮影画像記憶部19では、蓄積部18によって蓄積された撮影画像が記憶される。また、蓄積部18が、撮影画像と共に、地点情報やその他の情報を蓄積した場合には、その情報も撮影画像記憶部19において記憶されることになる。撮影画像記憶部19での記憶は、RAM等における一時的な記憶でもよく、あるいは、長期的な記憶でもよい。撮影画像記憶部19は、所定の記録媒体(例えば、半導体メモリや磁気ディスク、光ディスクなど)によって実現されうる。
なお、観光地点情報記憶部15と、撮影画像記憶部19と、地図情報記憶手段21とのうち、任意の二以上の記憶部や記憶手段は、同一の記録媒体によって実現されてもよく、あるいは、別々の記録媒体によって実現されてもよい。前者の場合には、例えば、観光地点情報を記憶している領域が観光地点情報記憶部15となり、撮影画像を記憶している領域が撮影画像記憶部19となる。
次に、ナビゲーション装置1の動作について図2のフローチャートを用いて説明する。
(ステップS101)現在位置取得手段23は、新たな現在位置を取得したかどうか判断する。そして、新たな現在位置を取得した場合には、ステップS102に進み、そうでない場合には、ステップS104に進む。現在位置取得手段23は、例えば、新たな現在位置を取得したと判断した場合に、その現在位置を図示しない記録媒体において一時的に記憶しておき、最新の現在位置がその一時的に記憶している現在位置と異なる場合に、新たな現在位置を取得したと判断して、その新たな現在位置を図示しない記録媒体に上書きで蓄積してもよい。
(ステップS102)表示手段25は、現在位置取得手段23が取得した新たな現在位置に対応する地図情報を地図情報記憶手段21から読み出して表示する。なお、表示手段25は、その表示対象の地図情報において、現在位置を示すマーク等を表示するようにしてもよい。また、ルートのガイドをしている場合には、表示手段25は、地図上にルートを示す図形を表示してもよく、「次の交差点を右に曲がります」といったようなガイドを表示してもよい。また、そのガイドを音声出力する場合には、そのガイドの音声を生成してスピーカに音声出力するガイド音声出力部(図示せず)をナビゲーション装置1が備えていてもよい。
(ステップS103)取得部12は、現在位置取得手段23によって取得された現在位置を含む地点情報を取得する。その地点情報は、図示しない記録媒体において一時的に記憶されてもよい。そして、ステップS101に戻る。
(ステップS104)ナビ受付手段22は、目的地を受け付けたかどうか判断する。そして、目的地を受け付けた場合には、ステップS105に進み、そうでない場合には、ステップS109に進む。なお、受け付けられた目的地は、図示しない記録媒体において一時的に記憶されてもよい。
(ステップS105)ルート情報生成手段24は、現在位置取得手段23が取得した現在位置である出発地から、ナビ受付手段22が受け付けた目的地までのルートを示すルート情報を生成する。その生成されたルート情報は、図示しない記録媒体において一時的に記憶されてもよい。
(ステップS106)取得部12は、ルート情報生成手段24によって取得されたルート情報を含む地点情報を取得する。その地点情報は、図示しない記録媒体において一時的に記憶されてもよい。
(ステップS107)制御部16は、撮影位置の登録を行う。撮影位置は、例えば、ナビ受付手段22が受け付けた目的地であってもよく、ルート情報生成手段24によって生成されたルート情報の示すルートに近い観光スポットの位置であってもよい。そのルートに近い観光スポットの位置は、観光地点情報記憶部15で記憶されている観光スポットのうち、そのルートに近い観光スポットに応じた位置である。ルートに近い観光スポットとは、そのルート上のある地点と、観光スポットに対応する位置とが、前述のあらかじめ決められた条件を満たすほど近いと判断される観光スポットのことである。その撮影位置は、図示しない記録媒体において記憶されてもよい。なお、前述のように、ルート情報の示すルートにおける位置が、撮影位置として登録されてもよい。
(ステップS108)表示手段25は、ルート情報生成手段24が生成したルート情報の示すルートを表示する。通常、そのルートは、地図上に表示される。そして、ステップS101に戻る。なお、ルートの表示は、現在位置の近辺に関する地図上でのルートの表示であってもよい。その場合には、ナビゲーション装置1が出発地から目的地に移動するに従って、徐々にそのルートの異なる部分が表示されていくことになる。
(ステップS109)制御部16は、撮影判断を行うタイミングであるかどうか判断する。そして、撮影判断を行うタイミングである場合には、ステップS110に進み、そうでない場合には、ステップS112に進む。撮影判断とは、撮影を行うタイミングであるかどうかを判断する判断処理のことである。なお、制御部16は、例えば、定期的(例えば、5秒ごと、10秒ごと等)に撮影判断を行うと判断してもよく、前回の撮影判断時からあらかじめ決められた距離(例えば、10メートルや30メートル等)だけ移動した場合に撮影判断を行うと判断してもよく、あるいは、その他のタイミングで撮影判断を行うと判断してもよい。定期的に撮影判断を行う場合には、前回の撮影判断の時刻を蓄積しておき、それを参照して、あらかじめ決められた時間が経過したかどうかを判断することによって、撮影判断を行うタイミングかどうかを判断してもよい。また、距離に応じて撮影判断を行う場合には、前回の撮影判断の位置を蓄積しておき、それを参照して、あらかじめ決められた距離だけ移動したかどうか判断することによって、撮影判断を行うタイミングかどうかを判断してもよい。
(ステップS110)制御部16は、撮影を行う位置であるかどうか判断する。そして、撮影を行う位置であると判断した場合には、ステップS111に進み、そうでない場合には、ステップS101に戻る。この判断処理の詳細については、図3のフローチャートを用いて後述する。
(ステップS111)制御部16は、撮影を促す情報を出力するように出力部17を制御する。その結果、出力部17は、撮影を促す情報を出力する。そして、ステップS101に戻る。
(ステップS112)受付部13は、撮影の指示を受け付けたかどうか判断する。そして、撮影の指示を受け付けた場合には、ステップS113に進み、そうでない場合には、ステップS101に戻る。
(ステップS113)撮影部14は、撮影を行い、撮影画像を取得する。
(ステップS114)蓄積部18は、撮影部14が取得した撮影画像を、撮影画像記憶部19に蓄積する。なお、その際に、蓄積部18は、前述のように、撮影画像の蓄積と共に、地点情報やその他の情報に関する蓄積等を行ってもよい。そして、ステップS101に戻る。
なお、図2のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。また、図2のフローチャートでは、撮影位置の登録を行う場合について説明したが、そうでなくてもよい。例えば、観光地点情報に含まれるすべての位置情報に応じた位置が撮影位置であるとして処理を行ってもよい。例えば、ルート情報が生成されていない場合であって、現在位置の表示のためにナビゲーション装置1が用いられているような場合には、そのような処理を行ってもよい。
図3は、図2のフローチャートにおける撮影の判断の処理(ステップS110)の詳細を示すフローチャートである。
(ステップS201)制御部16は、カウンタiを1に設定する。
(ステップS202)制御部16は、ステップS107で登録した撮影位置のうち、i番目の撮影位置が、取得部12が取得した地点情報に含まれる現在位置から、あらかじめ決められた条件を満たすほど近いかどうか判断する。そして、そのi番目の撮影位置が現在位置から近い場合には、図2のフローチャートに戻ってステップS111に進み、そうでない場合には、ステップS203に進む。
(ステップS203)制御部16は、カウンタiを1だけインクリメントする。
(ステップS204)制御部16は、ステップS107で登録した撮影位置に、i番目の撮影位置が存在するかどうか判断する。そして、存在する場合には、ステップS202に戻り、そうでない場合には、図2のフローチャートに戻って、ステップS101に戻る。
なお、図2のフローチャートにおいて撮影位置の登録を行わない場合には、図3のフローチャートにおいて、目的地と、観光スポットに対応するすべての位置情報とを撮影位置として処理を行ってもよい。
次に、本実施の形態によるナビゲーション装置1の動作について、具体例を用いて説明する。この具体例において、ナビゲーション装置1は、徒歩で用いられるものであるとする。また、この具体例において、観光地点情報記憶部15では、図4で示される2以上の観光地点情報が記憶されているものとする。図4の観光地点情報は、観光スポット名と、位置情報とを含むものである。1番目の観光地点情報(1番目のレコード)は、観光スポット名「税関庁舎」と、その位置情報(X11,Y11)とを有している。したがって、観光スポットである税関庁舎の位置が(X11,Y11)であることが分かる。位置情報は、緯度と経度を示す情報であるとする。
また、この具体例において、制御部16は、30秒ごとに、撮影判断を行うものとする。また、この具体例において、撮影位置と現在位置との直線距離が50メートル以内になった場合に、制御部16が、現在位置が撮影位置から条件を満たすほど近いと判断するものとする。
ユーザが、ある地点において、目的地「ABCDE」を入力したとする。すると、ナビ受付手段22は、その目的地を受け付け、ルート情報生成手段24に渡す(ステップS104)。ルート情報生成手段24は、ナビ受付手段22から目的地「ABCDE」を受け取ると、現在位置取得手段23から出発地である現在位置を受け取り、それらの出発地と目的地とを用いてルート情報R001を生成する(ステップS105)。そのルート情報の生成の際に、地図情報記憶手段21で記憶されている地図情報が参照されるものとする。生成されたルート情報R001は、図示しない記録媒体に記憶される。取得部12は、ルート情報生成手段24が生成したルート情報R001である地点情報を取得し、制御部16と蓄積部18とに渡す(ステップS106)。制御部16は、ルート情報の示す最終地点である目的地に対応する位置と、ルート情報の示すルートに近い、図4の観光地点情報に含まれる位置情報とを撮影位置として登録する。具体的には、制御部16は、図4で示される各位置情報が、取得部12から受け取った地点情報に含まれるルート情報の示すルートから、条件を満たすほど近いかどうか判断し、近い場合には、その位置情報を撮影位置に登録する。その登録時に、撮影位置に対応付けて、その撮影位置の名称も登録するものとする。観光地点情報から抽出された位置情報が撮影位置として登録される場合には、その名称は、観光地点情報に含まれる観光スポット名である。目的地が撮影位置として登録される場合には、その名称は、目的地である。この具体例では、図5で示されるように、図示しない記録媒体に対して、撮影位置が蓄積されたものとする(ステップS107)。そして、表示手段25により、地図とルートの表示が行われる(ステップS108)。また、現在位置取得手段23によって現在位置が取得され(ステップS101)、その現在位置に応じた地図の表示が行われる(ステップS102)。また、取得部12によって、その現在位置である地点情報が取得され、制御部16と蓄積部18とに渡される(ステップS103)。
図6は、ユーザがルートに沿って歩いている途中の表示の一例を示す図である。図6において、上下方向に延びる太線によって、ルート情報によって示されるルートの一部が表示されている。また、そのルートの一部における中心付近の三角形のマークによって、現在位置が示されており、また、その三角形の向きによって、進行方向が示されている。その時点で、撮影判断を行うタイミングであると判断されたとする(ステップS109)。すると、制御部16は、取得部12から受け取っていた最新の現在位置(X150,Y150)を参照し、図5で登録されているいずれかの撮影位置が、現在位置(X150,Y150)から50メートル以内であるかどうか判断する(ステップS110,S201〜S204)。この場合には、すべての撮影位置が、現在位置(X150,Y150)から50メートル以内ではなかったとする。すると、撮影を促す出力はなされず、ナビゲーションのみが継続されることになる(ステップS101〜S103)。
その後、ユーザがもう少し歩いていき、現在位置が(X201,Y201)になり(ステップS101〜S103)、また、撮影判断を行うタイミングになったとする(ステップS109)。そして、制御部16が、名称「花時計」に対応する撮影位置(X12,Y12)と、現在位置(X201,Y201)との距離を算出すると50メートル以下であったとする(ステップS202)。すると、制御部16は、現在位置と50メートル以内である撮影位置(X12,Y12)に対応する名称「花時計」を蓄積部18に渡し、また、その名称「花時計」と、その撮影位置(X12,Y12)とを出力部17に渡し、撮影を促す情報を出力するように指示する。出力部17は、受け取った撮影位置(X12,Y12)の位置に、「花時計」を含む吹き出しの画像を表示する旨を、図示しない経路を介して表示手段25に渡し、それに応じて、図7で示されるように、花時計の吹き出しが撮影位置(X12,Y12)の位置に表示される(ステップS111)。この表示を見たユーザは、観光スポットである花時計が近くにあることを知ることができ、その花時計のところに行き、ナビゲーション装置1に搭載されているデジタルスチルカメラのシャッターボタンを押下したとする。すると、そのシャッターボタンの押下が受付部13で受け付けられ、撮影部14に渡される(ステップS112)。そして、撮影部14は、適宜、焦点を合わせるなどの処理を行った上で、撮影を行い、図8で示される、撮影画像P002を取得し、蓄積部18に渡す(ステップS113)。蓄積部18は、取得部12から受け取っていた地点情報に含まれるルート情報R001と、取得部12から受け取った最新の地点情報に含まれる現在位置(X205,Y205)と、制御部16から受け取った名称「花時計」と、図示しないカレンダー部及び時計部から受け取った現在の日時「2011年3月5日12:02」とを、撮影部14から受け取った撮影画像P002に対応付けて蓄積する(ステップS114)。その結果、撮影画像記憶部19では、図9で示されるように、撮影画像等が記憶されることになる。図9の2番目のレコードが、このたび蓄積された撮影画像等である。このようにして、ナビゲーション装置1において、撮影を促す情報の出力と、それに応じた撮影とが順次、行われることになる。
なお、この具体例では、図9で示されるように、撮影画像と、日時やルート情報等とが、別々に記憶される場合について説明したが、前述のように、ルート情報等は、撮影画像のデータのヘッダに含まれてもよい。例えば、図10で示されるように、撮影画像を含む撮影データのヘッダに、日時「2011年3月5日12:02」、ルート情報R001、位置情報(X205,Y205)、名称「花時計」が含まれるようになってもよい。また、蓄積部18は、図11で示されるように、それらの情報を撮影画像P002に合成して蓄積してもよい。図11では、日時「2011年3月5日12時2分」、名称「花時計」の文字列を示す画像が合成されている。このように、時刻である「12:02」を、「12時2分」に変換して合成してもよい。また、ルート情報と、現在位置とは、左下の地図上に示されている。この場合には、蓄積部18は、図示しない経路を介して地図情報記憶手段21にアクセスし、現在位置及びルート情報の示すルートを含む地図をそこから読み出し、その読み出した地図上において、ルートや現在位置を示す図形を生成し、その地図や、ルート及び現在位置を示す図形を、図11の左下で示されるように、撮影画像P002に合成してもよい。なお、図11の左下で示されるような、地図上に、ルートに応じた図形と、現在位置を示す図形とを表示した画像の生成は、例えば、ナビゲーション部11において行われてもよく、その他の図示しない構成要素において行われてもよい。また、取得部12が、ルート情報の示すルートを表示した画像を含む地点情報を取得している場合に、蓄積部18は、ルート情報として、その画像を撮影画像に合成してもよい。
また、この具体例において、目的地までのナビゲーションが終了した後に、図5で示される、登録された撮影位置が削除されてもよい。
以上のように、本実施の形態によるナビゲーション装置1によれば、撮影位置での撮影を失念しないようにすることができる。例えば、観光スポットが撮影位置である場合には、観光スポットの近くに行った際に、写真撮影の示唆を行ってくれるため、観光スポットの写真の撮り忘れを防止することができうる。また、例えば、目的地が撮影位置である場合には、目的地の近くに行った際に、写真撮影の示唆を行ってくれるため、目的地の写真の撮り忘れを防止することができうる。
なお、本実施の形態では、蓄積部18が、撮影画像と共に、地点情報等を撮影画像と別に、あるいは、撮影画像と合成して蓄積する場合について説明したが、そうでなくてもよい。蓄積部18は、撮影画像のみを蓄積してもよい。
また、撮影位置は、上述の説明のものに限定されるものではなく、その他の位置を撮影画像として、撮影に関する制御を行ってもよい。
また、制御部16は、地点情報に含まれる現在位置が、撮影位置からあらかじめ決められた条件を満たすほど近い場合に、撮影部14に撮影を行わせるように制御を行ってもよい。この場合には、撮影の指示の受け付けを待たないで、自動的に撮影の処理が行われることになる。このように、撮影の指示の受け付けを待たない場合には、ナビゲーション装置1は、受付部13や出力部17を備えていなくてもよい。
また、本実施の形態では、制御部16が観光地点情報記憶部15で記憶されている観光地点情報に含まれる位置情報である撮影位置を用いて、撮影に関する制御を行う場合について説明したが、その観光地点情報は、ナビゲーション部11の地図情報記憶手段21等において記憶されているものを用いてもよい。例えば、制御部16は、地図情報記憶手段21にアクセスし、そこで記憶されている観光スポットに対応した位置情報を撮影位置として用いて、撮影に関する制御を行ってもよい。その場合には、ナビゲーション装置1は、観光地点情報記憶部15を備えていなくてもよい。
また、本実施の形態では、ナビゲーション部11が、目的地の入力が受け付けられた場合には、目的地までのルートを示すナビゲーションを行い、そうでない場合には、現在位置を示すナビゲーションを行うものとしたが、そうでなくてもよい。ナビゲーション部11は、いずれか一方のみの処理を行うものであってもよい。また、本実施の形態では、ナビゲーション部11の一例について説明したが、ナビゲーション部11は、ナビゲーションを行う他の構成要素によって構成されてもよい。
また、本実施の形態では特に説明したかったが、撮影画像記憶部19に蓄積された撮影画像等を、表示手段25等が表示するようにしてもよく、あるいは、撮影画像等を他の装置等に送信する図示しない送信部や、撮影画像等を他の装置等に引き渡す図示しない撮影画像出力部等をナビゲーション装置1が備えてもよいことは言うまでもない。
また、上記実施の形態において、各処理または各機能は、単一の装置または単一のシステムによって集中処理されることによって実現されてもよく、あるいは、複数の装置または複数のシステムによって分散処理されることによって実現されてもよい。後者の場合としては、例えば、前述のように、撮影部14だけが別の場所に設定されているような場合がありうる。
また、上記実施の形態において、各構成要素間で行われる情報の受け渡しは、例えば、その情報の受け渡しを行う2個の構成要素が物理的に異なるものである場合には、一方の構成要素による情報の出力と、他方の構成要素による情報の受け付けとによって行われてもよく、あるいは、その情報の受け渡しを行う2個の構成要素が物理的に同じものである場合には、一方の構成要素に対応する処理のフェーズから、他方の構成要素に対応する処理のフェーズに移ることによって行われてもよい。
また、上記実施の形態において、各構成要素が実行する処理に関係する情報、例えば、各構成要素が受け付けたり、取得したり、選択したり、生成したり、送信したり、受信したりした情報や、各構成要素が処理で用いるしきい値や数式、アドレス等の情報等は、上記説明で明記していない場合であっても、図示しない記録媒体において、一時的に、あるいは長期にわたって保持されていてもよい。また、その図示しない記録媒体への情報の蓄積を、各構成要素、あるいは、図示しない蓄積部が行ってもよい。また、その図示しない記録媒体からの情報の読み出しを、各構成要素、あるいは、図示しない読み出し部が行ってもよい。
また、上記実施の形態において、各構成要素等で用いられる情報、例えば、各構成要素が処理で用いるしきい値やアドレス、各種の設定値等の情報がユーザによって変更されてもよい場合には、上記説明で明記していない場合であっても、ユーザが適宜、それらの情報を変更できるようにしてもよく、あるいは、そうでなくてもよい。それらの情報をユーザが変更可能な場合には、その変更は、例えば、ユーザからの変更指示を受け付ける図示しない受付部と、その変更指示に応じて情報を変更する図示しない変更部とによって実現されてもよい。その図示しない受付部による変更指示の受け付けは、例えば、入力デバイスからの受け付けでもよく、通信回線を介して送信された情報の受信でもよく、所定の記録媒体から読み出された情報の受け付けでもよい。
また、上記実施の形態において、ナビゲーション装置1に含まれる2以上の構成要素が通信デバイスや入力デバイス、出力デバイス等を有する場合に、2以上の構成要素が物理的に単一のデバイスを有してもよく、あるいは、別々のデバイスを有してもよい。例えば、出力部17が出力を行うディスプレイと、表示手段25が表示を行うディスプレイとは同じものであってもよい。
また、上記実施の形態において、各構成要素は専用のハードウェアにより構成されてもよく、あるいは、ソフトウェアにより実現可能な構成要素については、プログラムを実行することによって実現されてもよい。例えば、ハードディスクや半導体メモリ等の記録媒体に記録されたソフトウェア・プログラムをCPU等のプログラム実行部が読み出して実行することによって、各構成要素が実現され得る。なお、上記実施の形態におけるナビゲーション装置1を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、本発明によるプログラムでは、コンピュータを、ナビゲーションを行うナビゲーション部からナビゲーションの地点に関する情報である地点情報を取得する取得部、取得部が取得した地点情報を用いて、撮影を行って撮影画像を取得する撮影部の撮影に関する制御を行う制御部、撮影部が取得した撮影画像を蓄積する蓄積部として機能させるためのプログラムである。
なお、上記プログラムにおいて、上記プログラムが実現する機能には、ハードウェアでしか実現できない機能は含まれない。例えば、情報を取得する取得部や、情報を蓄積する蓄積部などにおけるハードウェアでしか実現できない機能は、上記プログラムが実現する機能には少なくとも含まれない。
また、このプログラムは、サーバなどからダウンロードされることによって実行されてもよく、所定の記録媒体(例えば、CD−ROMなどの光ディスクや磁気ディスク、半導体メモリなど)に記録されたプログラムが読み出されることによって実行されてもよい。また、このプログラムは、プログラムプロダクトを構成するプログラムとして用いられてもよい。
また、このプログラムを実行するコンピュータは、単数であってもよく、複数であってもよい。すなわち、集中処理を行ってもよく、あるいは分散処理を行ってもよい。
図12は、上記プログラムを実行して、上記実施の形態によるナビゲーション装置1を実現するコンピュータの外観の一例を示す模式図である。上記実施の形態は、コンピュータハードウェア及びその上で実行されるコンピュータプログラムによって実現されうる。
図12において、コンピュータシステム900は、CD−ROM(Compact Disk Read Only Memory)ドライブ905、FD(Floppy(登録商標) Disk)ドライブ906を含むコンピュータ901と、キーボード902と、マウス903と、モニタ904とを備える。
図13は、コンピュータシステム900の内部構成を示す図である。図13において、コンピュータ901は、CD−ROMドライブ905、FDドライブ906に加えて、MPU(Micro Processing Unit)911と、ブートアッププログラム等のプログラムを記憶するためのROM912と、MPU911に接続され、アプリケーションプログラムの命令を一時的に記憶すると共に、一時記憶空間を提供するRAM(Random Access Memory)913と、アプリケーションプログラム、システムプログラム、及びデータを記憶するハードディスク914と、MPU911、ROM912等を相互に接続するバス915とを備える。なお、コンピュータ901は、LANやWAN等への接続を提供する図示しないネットワークカードを含んでいてもよい。
コンピュータシステム900に、上記実施の形態によるナビゲーション装置1の機能を実行させるプログラムは、CD−ROM921、またはFD922に記憶されて、CD−ROMドライブ905、またはFDドライブ906に挿入され、ハードディスク914に転送されてもよい。これに代えて、そのプログラムは、図示しないネットワークを介してコンピュータ901に送信され、ハードディスク914に記憶されてもよい。プログラムは実行の際にRAM913にロードされる。なお、プログラムは、CD−ROM921やFD922、またはネットワークから直接、ロードされてもよい。
プログラムは、コンピュータ901に、上記実施の形態によるナビゲーション装置1の機能を実行させるオペレーティングシステム(OS)、またはサードパーティプログラム等を必ずしも含んでいなくてもよい。プログラムは、制御された態様で適切な機能(モジュール)を呼び出し、所望の結果が得られるようにする命令の部分のみを含んでいてもよい。コンピュータシステム900がどのように動作するのかについては周知であり、詳細な説明は省略する。
また、本発明は、以上の実施の形態に限定されることなく、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。