(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0013】
以下、図面を用いて本発明の実施の形態を説明する。
【0014】
図1は、本発明の実施の形態におけるシステム構成図である。
【0015】
画像処理サーバ101と、クライアント端末102とが、ネットワーク103を介して通信可能に接続されている(情報処理システム)。
【0016】
画像処理サーバ(情報処理装置)は、クライアント端末から画像データを受け取り、画像データに含まれる撮影時間情報・撮影場所情報などを用いて、管理している地図データと合成して、出力するサービスを提供する。
【0017】
クライアント端末は、ユーザが操作する端末であって、デジタルカメラなどで撮影した画像を、画像処理サーバへ送信し、画像処理サーバで合成された合成画像を取得する。
【0018】
ネットワーク103は、インターネットなどの通信回線である。
【0020】
このハードウェア構成図は、画像処理サーバのものであるが、クライアント端末にも適用可能である。
【0021】
図2に示すように、画像処理サーバは、システムバス204を介してCPU(Central Processing Unit)201、RAM(Random Access Memory)203、ROM(Read Only Memory)202、入力コントローラ205、ビデオコントローラ206、メモリコントローラ207、通信I/Fコントローラ208等が接続された構成を採る。
【0022】
CPU201は、システムバス204に接続される各デバイスやコントローラを統括的に制御する。
【0023】
また、ROM202あるいは外部メモリ211には、CPU201の制御プログラムであるBIOS(Basic Input/Output System)やOS(Operating System)や、各サーバあるいは各PCが実行する機能を実現するために必要な後述する各種プログラム等が記憶されている。また、本発明を実施するために必要な情報が記憶されている。なお外部メモリはデータベースであってもよい。
【0024】
RAM203は、CPU201の主メモリ、ワークエリア等として機能する。CPU201は、処理の実行に際して必要なプログラム等をROM202あるいは外部メモリ211からRAM203にロードし、ロードしたプログラムを実行することで各種動作を実現する。
【0025】
また、入力コントローラ205は、キーボード(KB)209や不図示のマウス(等のポインティングデバイス等からの入力を制御する。
【0026】
ビデオコントローラ206は、ディスプレイ210等の表示器への表示を制御する。尚、表示器は液晶ディスプレイ等の表示器でもよい。これらは、必要に応じて管理者が使用する。
【0027】
メモリコントローラ207は、ブートプログラム、各種のアプリケーション、フォントデータ、ユーザファイル、編集ファイル、各種データ等を記憶する外部記憶装置(ハードディスク(HD))や、フレキシブルディスク(FD)、あるいは、PCMCIA(Personal Computer Memory Card InternationalAssociation)カードスロットにアダプタを介して接続されるコンパクトフラッシュ(登録商標)メモリ等の外部メモリ211へのアクセスを制御する。
【0028】
通信I/Fコントローラ208は、ネットワークを介して外部機器と接続・通信し、ネットワークでの通信制御処理を実行する。例えば、TCP/IP(Transmission Control Protocol/Internet Protocol)を用いた通信等が可能である。
【0029】
尚、CPU201は、例えばRAM203内の表示情報用領域へアウトラインフォントの展開(ラスタライズ)処理を実行することにより、ディスプレイ210上に表示することが可能である。また、CPU201は、ディスプレイ210上のマウスカーソル(図示しない)等によるユーザ指示を可能とする。
【0030】
本発明を実現するための後述する各種プログラムは、外部メモリ211に記録されており、必要に応じてRAM203にロードされることによりCPU201によって実行されるものである。さらに、上記プログラムの実行時に用いられる定義ファイルおよび各種情報テーブル等も、外部メモリ211に格納されており、これらについての詳細な説明についても後述する。
【0031】
図3は、本発明実施の形態における処理の流れを示すフローチャートである。
【0032】
301において、画像処理サーバは、全画像データを取得する。
【0033】
302において、画像処理サーバは、出力対象の画像の選択を受け付ける。
【0034】
303において、画像処理サーバは、実行確認の指示がなされたかを判定する。Yesの場合304へ進み、Noの場合303へ戻る。
【0035】
304において、画像処理サーバは、出力対象全画像の位置情報を取得する。ここでは、画像データにメタデータとして埋め込まれているGPS情報を取得する。なお、画像データには、その他にメタデータとして撮影時間など、様々な情報を持っている。
【0036】
305において、画像処理サーバは、経路関連位置情報DBから画像をグループ分けする。この処理の詳細な流れを、
図4を用いて説明する。
【0037】
図4は、経路関連位置情報DBから画像をグループ分けする処理の流れを示すフローチャートである。
【0038】
401において、画像処理サーバは、経路情報設定をするかを判定する。Yesの場合、402へ進み、Noの場合404へ進む。
【0039】
402において、画像処理サーバは、経路情報設定を受け付ける。具体的には、ユーザに対して、経路情報設定画面を表示させる制御を行い、ユーザから入力された移動距離・移動方法・使用駅・インターチェンジ・空港・港などの情報を受け付ける。
【0040】
403において、画像処理サーバは、実行確認の指示がなされたかを判定する。Yesの場合404へ進み、Noの場合401へ戻る。具体的には、ユーザ操作により、例えば、実行指示ボタンが押下されることにより、その指示があったかどうかにより判定する。
【0041】
404において、画像処理サーバは、経路情報設定が有りかどうかを判定する。Yesの場合405へ進み、Noの場合407へ進む。これは、402により経路情報が設定されたかにより判定する。
【0042】
405において、画像処理サーバは、経路関連位置情報DBから駅・インターチェンジ・空港・港などの位置情報を取得する。なお、本実施の形態では、経路関連位置情報DBは、移動起点位置情報、移動可能起点・使用経路、経路情報が含まれる。
【0043】
図5に経路関連位置情報DBの一例を示す。
【0044】
移動起点位置情報51は、起点名511、種類512、位置情報513を含む。移動可能起点・使用経路52は、起点名521、移動可能な移動起点522、使用経路523を含む。経路情報53は、経路名531、位置情報532を含む。
【0045】
406において、画像処理サーバは、画像の位置情報の分布状況と、経路情報から使用された駅・インターチェンジ・空港・港などを特定する。
【0046】
407において、画像処理サーバは、使用駅・インターチェンジ・空港・港などから移動経路を特定する。
【0047】
408において、画像処理サーバは、移動経路上で撮影された画像をグループ化する。
【0048】
409において、画像処理サーバは、使用駅・インターチェンジ・空港・港付近の出力画像をグループ化して処理を終了する。
【0049】
本処理におけるグループ化のイメージを
図6に示す。
【0050】
撮影位置の分布状況からおおよその使用した駅、インターチェンジ、空港などが特定できる。駅や空港などが有る程度特定出きれば、乗換の関係などからさらに絞り込むことが出来る。また、経路上(線路や高速道路上)で撮影された画像が存在すればさらに限定できる。
【0051】
経路上で撮影された画像グループを区切りにグループを分ける(1)、(3)。経路上で撮影された画像グループに関しては経路専用の地図を使用する(2)。
【0052】
以上、経路関連位置情報DBから画像をグループ分けする処理の流れを説明した。
【0053】
306において、画像処理サーバは、グループ毎の時間情報を取得する。
【0054】
307から321において、画像処理サーバは、画像グループ毎に処理を繰り返す。
【0055】
308において、画像処理サーバは、地
図DBからグループ全体の位置情報・時間情報を元に地図を取得する。
図7に地
図DBの一例を示す。
【0056】
309から319において、画像処理サーバは、出力画像毎に処理を繰り返す。
【0057】
310において、画像処理サーバは、取得した地図・位置情報・時間情報・高度から地図に出力するフレーム・オブジェクトを取得する。この処理の詳細な流れを、
図8を用いて説明する。フレーム情報やオブジェクト情報をまとめてコンテンツ情報という。
【0058】
図8は、取得した地図・位置情報・時間情報・高度から地図に出力するフレーム・オブジェクトを取得する処理の流れを示すフローチャートである。
【0059】
801において、画像処理サーバは、使用地図から使用可能なフレーム・
オブジェクトの配置条件を取得する。
図7の地図情報71の「使用可能条件」から取得する。
【0060】
803において、画像処理サーバは、複数位置撮影条件のフレーム・オブジェクトであるかを判定する。Yesの場合、804へ進み、Noの場合、805へ進む。ここでは、フレームの場合は、
図9に示すフレーム情報91のうち該当するレコードの位置(オプション)を、オブジェクトの場合は、
図10に示すオブジェクト情報101のうち該当するレコードの位置(オプション)を参照することにより判定を行う。
【0061】
804において、画像処理サーバは、条件に合致する高度・位置情報・時間情報を持った出力画像が存在するかを判定する。Yesの場合、806へ進み、Noの場合、807へ進む。
【0062】
805において、画像処理サーバは、条件に合致する高度・時間情報・位置情報を持った画像が全て揃っているかを判定する。Yesの場合、806へ進み、Noの場合、807へ進む。
【0063】
806において、画像処理サーバは、フレーム・オブジェクトを取得する。
図9のフレーム情報91および
図10のオブジェクト101からそれぞれ取得する。
【0064】
以上、取得した地図・位置情報・時間情報・高度から地図に出力するフレーム・オブジェクトを取得する処理の流れを説明した。
【0065】
311において、画像処理サーバは、出力画像の位置情報から地図内の出力位置を設定する。
図11に一例を示す。この例では、北海道の地図に撮影画像111が配置されていることを示している。
【0066】
312において、画像処理サーバは、出力画像に付加するオブジェクトがあるかどうかを判定する。Yesの場合、313へ進み、Noの場合、31
6へ進む。
【0067】
313において、画像処理サーバは、地図上の出力位置とオブジェクト位置重複するかどうかを判定する。Yesの場合、314へ進み、Noの場合、315へ進む。
【0068】
314において、画像処理サーバは、オブジェクトと重ならない出力画像配置位置を算出する。
【0069】
315において、画像処理サーバは、地図にオブジェクトを配置する。地図にオブジェクトを配置する例を
図12に示す。この例では、北海道の地図に千歳空港のオブジェクトが配置されていることを示している。
【0070】
316において、画像処理サーバは、出力画像に付加するフレームがあるかどうかを判定する。Yesの場合、317へ進み、Noの場合、318へ進む。
【0071】
317において、画像処理サーバは、地図出力位置にフレームを配置し、フレーム内に出力画像を出力する。フレーム内に出力画像を出力する例を
図13に示す。この例では、雪だるまのフレーム内に撮影画像が出力されている。
【0072】
318において、画像処理サーバは、地図出力位置に出力画像を出力する。なお、314において、オブジェクトと重ならない出力画像配置位置が算出された場合、その位置に撮影画像を配置する(
図12の122)。
【0073】
320において、画像処理サーバは、合成した地図を出力する。最終的に地図にそれぞれの撮影画像、フレーム、オブジェクトを合成した地図の出力を行う。
【0074】
そして、すべての画像グループで、308から320までの処理が繰り返されることで処理が終了する。
上述した通り、本発明によれば、画像を地図にマッピングする際に、画像の配置位置に応じたコンテンツ(例えば、フレームやオブジェクト)の出力が可能となる。
【0075】
更に、画像の撮影位置が広範囲に渡る場合、撮影者の感覚に近い構成で、地図を分割して、分割した地図に撮影画像をマッピングすることが可能となる。
【0076】
なお、上述した各種データの構成及びその内容はこれに限定されるものではなく、用途や目的に応じて、様々な構成や内容で構成されることは言うまでもない。
【0077】
以上、一実施形態について示したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記録媒体等としての実施態様をとることが可能であり、具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
【0078】
また、本発明におけるプログラムは、処理方法をコンピュータが実行可能なプログラムであり、本発明の記憶媒体は処理方法をコンピュータが実行可能なプログラムが記憶されている。なお、本発明におけるプログラムは各装置の処理方法ごとのプログラムであってもよい。
【0079】
以上のように、前述した実施形態の機能を実現するプログラムを記録した記録媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記録媒体に格納されたプログラムを読出し実行することによっても、本発明の目的が達成されることは言うまでもない。
【0080】
この場合、記録媒体から読み出されたプログラム自体が本発明の新規な機能を実現することになり、そのプログラムを記憶した記録媒体は本発明を構成することになる。
【0081】
プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、CD−R、DVD−ROM、磁気テープ、不揮発性のメモリカード、ROM、EEPROM、シリコンディスク等を用いることができる。
【0082】
また、コンピュータが読み出したプログラムを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0083】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0084】
また、本発明は、複数の機器から構成されるシステムに適用しても、1つの機器からなる装置に適用してもよい。また、本発明は、システムあるいは装置にプログラムを供給することによって達成される場合にも適応できることは言うまでもない。この場合、本発明を達成するためのプログラムを格納した記録媒体を該システムあるいは装置に読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。
【0085】
さらに、本発明を達成するためのプログラムをネットワーク上のサーバ、データベース等から通信プログラムによりダウンロードして読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。