以下、図面を参照して、本発明の実施形態である情報処理装置について説明する。
(一実施形態)
図1は、本発明の一実施形態である情報処理装置が適用される位置特定データ付与システムの概略構成を示す図である。図1において、一実施形態の情報処理装置が適用される位置特定データ付与システムは、情報処理装置1、第1の撮像装置2、第2の撮像装置3及び画像表示装置4を備える。
情報処理装置1は、少なくとも第2の撮像装置3により撮像された画像ファイルに対して位置特定データを付与する。情報処理装置1の詳細については後述する。第1の撮像装置2は、被写体を撮像して第1の画像ファイルを生成し、その際、この第1の画像ファイルの一部に時刻データの一例である撮影日時データ及び位置特定データの一例であるGPSデータを付与する。第1の撮像装置2は、例えばスマートフォンやGPS装置が搭載されたデジタルスチルカメラである。第2の撮像装置3は、被写体を撮像して第2の画像ファイルを生成し、その際、この第2の画像ファイルの一部に時刻データの一例である撮影日時データを付与する。第2の撮像装置3は、例えばGPS装置が搭載されていないデジタルスチルカメラである。
第1及び第2の撮像装置2、3によって撮像された第1及び第2の画像ファイルは、一例として、データ転送ケーブルの一例であるUSB(Universal Serial Bus)ケーブル5により情報処理装置1に取り込まれる。あるいは、第1、第2の撮像装置2、3によって撮像された第1及び第2の画像ファイルはメモリーカード6に格納され、このメモリーカード6が情報処理装置1に挿入されることにより情報処理装置1に取り込まれる。
画像表示装置4は、一例として、データ転送ケーブルの一例であるHDMI(High Definition Multimedia Interface)ケーブル7により情報処理装置1に接続されている。情報処理装置1から出力される画像表示用信号はこのHDMIケーブル7を介して画像表示装置4に入力され、画像表示装置4は、入力された画像表示用信号に基づいてその表示画面4aに画像を表示する。あるいは、画像表示装置4は、コンポジット映像信号の送受信が可能なRCA端子を有するケーブル、S端子を有するケーブルにより情報処理装置1に接続されてもよく、さらには、画像表示信号4は、コンポーネント映像信号の送受信が可能なD端子を有するケーブルにより情報処理装置1に接続されてもよい。画像表示装置4は、例えばTVやモニタである。
(一実施形態の情報処理装置の構成)
図2は、本発明の一実施形態である情報処理装置1の概略構成を示すブロック図である。図2において、本実施形態の情報処理装置1は、CPU(Central Processing Unit)10、ROM(Read Only Memory)11、RAM(Random Access Memory)12、入出力デバイス13、HDMIインタフェース(I/F)14、ネットワークインタフェース(I/F)15及びHDD(Hard Disk Drive)部16を備えており、これらはバスにより互いに接続されている。
CPU10は、後述するROM11内に格納されたファームウェア等のプログラムが実行されることにより、情報処理装置1全体の制御を行う。また、CPU10は、ROM11内に格納されたプログラムが実行されることにより、図3に示すような各機能部としても動作する。図3に示す各機能部の動作については後述する。ROM11には、上述したファームウェア等のプログラムが格納されている。RAM12は情報処理装置1のワークメモリとして機能し、CPU10を含めた情報処理装置1の動作時に一時的に使用されるプログラム、データ等が格納される。
入出力デバイス13は、入力インタフェース(I/F)13a、入力指示部13b、カードインタフェース(I/F)13c及びUSBインタフェース(I/F)13dを備える。入力インタフェース13aには入力指示部13b及び入力機器20が接続され、ユーザが入力指示部13bまたは入力機器20を操作することにより入力される入力信号を受信する。入力指示部13bとしては、例えば画像取り込み指示ボタン等が挙げられ、また、入力機器20としては、例えばリモコン、キーボード、マウス等が挙げられる。カードインタフェース13cはカードスロット(図略)を備え、このカードスロットに挿入されたメモリーカード6に対してデータの読み出し/書き込みを行う。メモリーカード6の形式に限定はなく、一例としてmini、microを含むSDメモリーカード、メモリースティック(登録商標)が好適に挙げられる。USBインタフェース13dはUSBコネクタ(図略)を備え、このUSBコネクタに直接、あるいはUSBケーブル5を介して接続されたUSB機器21に対してデータの読み出し/書き込みを行う。USB機器21としては、USBフラッシュメモリ、USBコネクタを備えた第1及び第2の撮像装置2、3が挙げられる。
HDMIインタフェース14はHDMIコネクタ(図略)を備え、このHDMIコネクタにHDMIケーブル(図略)を介して接続されたHDMI出力機器22に対してAVストリーム(映像信号及び音声信号)を出力する。HDMI出力機器22としては、例えば画像表示装置4が挙げられる。ネットワークインタフェース15はネットワークコネクタ(図略)を備え、このネットワークコネクタにネットワークケーブル(図略)を介してルータ23が接続され、このルータ16がインターネット等のWAN(Wide Area Network)24に接続されることで、外部ネットワークとの間でデータの送受信がされる。このネットワークインタフェース15は、例えばIEEE(The Institute of Electrical and Electronics Engineers, Inc.)802.3規格に基づく有線通信を行うものである。あるいは、ネットワークインタフェース15は、IEEE802.11規格に基づく無線通信を行うものであってもよく、あるいは、有線/無線通信のいずれも行うものであってもよい。
HDD部16は、HDD16aとHDDインタフェース(I/F)16bとを備える。HDD16aは、記録媒体であるディスクと、このディスクの回転を行う回転部と、ディスクに対してデータの読み出し/書き込みを行うヘッド部とを備える(いずれも不図示)。HDDインタフェース16bは、このHDD16aに対するデータの読み出し/書き込み指令があった場合に、HDD16a全体の制御を行うとともに、データの読み出し/書き込み制御を行い、読み出されたデータを出力する。また、このHDD16aには、ユーザにより提供される第1の画像ファイル50、第2の画像ファイル51、軌跡データ52及びグループテーブル53が格納されている。
第1及び第2の画像ファイル50、51をHDD16aに格納する手法は任意であるが、一例として、上述のように第1及び第2の撮像装置2、3が撮像して得られた第1及び第2の画像ファイル50、51をメモリーカード6内に格納し、このメモリーカード6をカードインタフェース13cのカードスロットに挿入して、入力指示部13bが操作されたことによりこのメモリーカード6内に格納された第1及び第2の画像ファイル50、51をHDD16a内に取り込む手法が挙げられる。また、第1及び第2の画像ファイル50、51を撮像した第1及び第2の撮像装置2、3に接続されたUSBケーブル5をUSBインタフェース13dのUSBコネクタに挿入して、入力指示部13bが操作されたことにより第1及び第2の撮像装置2、3内に格納された第1及び第2の画像ファイル50、51をHDD16a内に取り込んでもよい。さらに、WAN24に存在する第1及び第2の画像ファイル50、51をルータ23及びネットワークインタフェース15を介してHDD16a内に取り込んでもよい。第1及び第2の画像ファイル50、51の詳細な構成については後述する。なお、図2において第1及び第2の画像ファイル50、51はそれぞれ1つずつ図示されているが、本実施例においては第1及び第2の画像ファイル50、51は複数個HDD16a内に格納されていてもよい。
(一実施形態の情報処理装置の機能構成)
図3は、一実施形態の情報処理装置1の機能構成を示す機能ブロック図である。図3において、本実施形態の情報処理装置1は、制御部30、記憶部31、入力部32及び出力部33を備える。
記憶部31には、第1の画像ファイル50、第2の画像ファイル51、軌跡データ52及びグループテーブル53が格納されている。第1の画像ファイル50は、第1の画像データ50a、位置特定データ50b、時刻データ50c及び被写体特定データ50dを備える。同様に、第2の画像ファイル51は、第2の画像データ51a、位置特定データ51b、時刻データ51c及び被写体特定データ51dを備える。これら第1及び第2の画像ファイル50、51の画像データ50a、51a、第1の画像ファイル50の位置特定データ50b及び時刻データ50c、第2の画像ファイル51の時刻データ51cは、第1及び第2の撮像装置2、3による被写体撮像の際にこれら第1及び第2の撮像装置2、3により生成、あるいは付与される。また、第1及び第2の画像ファイル50、51の被写体特定データ50d、51dは、後述する被写体特定処理部38によりこれら第1及び第2の画像ファイル50、51に関連付けられた形で付与され、第2の画像ファイル51の位置特定データ51bは、同様に後述する位置特定データ付与部37により第2の画像ファイル51に関連付けられた形で付与される。第1の画像ファイル50、第2の画像ファイル51、軌跡データ52及びグループテーブル53の詳細については後述する。
制御部30は、グループ化作業部34、関連付け作業部35、軌跡生成部36、位置特定データ付与部37及び被写体特定処理部38を備える。
グループ化作業部34は、第1の画像ファイル50の位置特定データ50b、時刻データ50c及び被写体特定データ50dに基づいて、この第1の画像ファイル50を特定のグループに関連付ける作業を行い、その結果をグループテーブル53に記述する。特に、グループ化作業部34は、第1の画像ファイル50の時刻データ50cを時間軸上に配列し、この時刻データ50cが特定の時間範囲内に属するか否か、すなわち、第1の画像ファイル50がひとまとまりと考えられる時間範囲内において撮像されたか否かに基づいて、第1の画像ファイル50を特定のグループに関連付ける作業を行っている。加えて、グループ化作業部34は、第1の画像ファイル50の被写体特定データ50dが共通するか否か、すなわち、第1の画像ファイル50において共通の被写体が撮像されているか否かに基づいて、第1の画像ファイル50を特定のグループに関連付ける作業を行っている。さらに、グループ化作業部34は、第1の画像ファイル50の位置特定データ50bが特定の範囲内に属するか否か、すなわち、第1の画像ファイル50が特定の領域内において撮像されたか否かに基づいて、第1の画像ファイル50を特定のグループに関連付ける作業を行っている。なお、グループ化作業部34は、後述する第1の画像ファイル50のヘッダ部分60の機種名領域67に記述された第1の撮像装置2の機種名に基づいて、この第1の画像ファイル50を特定のグループに関連付ける作業を行ってもよい。
関連付け作業部35は、第2の画像ファイル51の時刻データ51c及び被写体特定データ51dに基づいて、この第2の画像ファイル51を特定のグループのいずれかに関連付ける作業を行い、その結果をグループテーブル53に記述する。特に、関連付け作業部35は、第2の画像ファイル51の時刻データ51cが、特定のグループに対してグループ化作業部34が用いた特定の時間範囲内に属するか否か、すなわち、第2の画像ファイル51が、特定のグループに属する第1の画像ファイル50が撮像された時間範囲内において撮像されたか否かに基づいて、この第2の画像ファイル51を特定のグループのいずれかに関連付ける作業を行っている。加えて、関連付け作業部35は、第2の画像ファイル51の被写体特定データ51dが、特定のグループに対してグループ化作業部34が用いた被写体特定データ50dのいずれかに一致するか否か、すなわち、第2の画像ファイル51に含まれる被写体が、特定のグループに属する第1の画像ファイル50の被写体のいずれかに一致するか否かに基づいて、この第2の画像ファイル51を特定のグループのいずれかに関連付ける作業を行っている。
軌跡生成部36は、特定のグループに関連付けられた第1の画像ファイル50の位置特定データ50b及び時刻データ50cに基づいて、時間軸に沿ったこの第1の画像ファイル50の位置特定データ50bの軌跡を生成する。具体的には、特定のグループに属する第1の画像ファイル50について、その時刻データ50cを時間軸上に配列し、この時間軸において過去から現在に向けて順次第1の画像ファイル50を選択し、その位置特定データ50bが指し示す緯度及び経度からなる位置を、緯度及び経度を互いに直交する2軸に割り当てた平面上にプロットして軌跡を生成する。そして、軌跡生成部36は、このようにして生成した軌跡について、時間軸順に配列した位置特定データ50bを軌跡データ52に格納する。
位置特定データ付与部37は、特定のグループに属する第1の画像ファイル50の位置特定データ50b及び時刻データ50c、及び第2の画像ファイル51の時刻データ51cに基づいて、この第2の画像ファイル51に位置特定データ51bを付与する。具体的には、位置特定データ付与部37は、軌跡生成部36が生成した軌跡において、第2の画像ファイル51の時刻データ51cがこの軌跡上のいずれに位置するかに基づいて、第2の画像ファイル51に位置特定データ51bを付与する。すなわち、軌跡生成部36が生成した軌跡は、特定のグループに属する第1の画像ファイル50の位置特定データ50b及び時刻データ50cの組を緯度及び経度からなる平面上にプロットしてなるものであり、第1の撮像装置2はこの軌跡上を移動しているものと推測することができる。そして、同一のグループに属する第2の撮像装置3は、第1の撮像装置2とともに移動しているものと推測することができるので、第2の撮像装置3も軌跡生成部36が生成した軌跡上を移動しているものと推測することができる。そこで、位置特定データ付与部37は、第2の画像ファイル51の時刻データ51cと軌跡上の第1の画像ファイル50の時刻データ50cとを比較し、第2の画像ファイル51の時刻データ51cが指し示す撮影日時において、第2の撮像装置3が軌跡上のいずれの位置にいるかをおおよそ推測し、この推測された位置を特定するための位置特定データを第2の画像ファイル51の位置特定データ51bとして付与する。
また、位置特定データ付与部37は、第1の画像ファイル50の画像データ50aに対して文字認識処理を行って文字列データを取得し、この文字列データに基づいて第1の画像ファイル50に位置特定データ50bを付与する。すなわち、第1の撮像装置2が撮像した被写体の中に、例えば電柱広告等に付随する住居表示が含まれていた場合、位置特定データ付与部37は第1の画像ファイル50の画像データ50aに対してOCR(Optical Character Recognition)処理等を行って、この住居表示に対応する文字列を取得する。そして、位置特定データ付与部37は、出力部33及びWAN24を介してこの文字列を外部サーバに提供し、この外部サーバから、文字列が示す住居表示に対応するGPS情報等の位置特定データを取得し、第1の画像ファイル50の位置特定データ50bとして付与する。
被写体特定処理部38は、第1及び第2の画像ファイル50、51の画像データ50a、51aに記録された被写体を特定する被写体特定データ50d、51dを生成する。すなわち、被写体特定処理部38は、第1及び第2の画像ファイル50、51の画像データ50a、51aに対して顔認識処理を行い、この画像データ50a、51aに撮像されている被写体を特定する。この顔認識処理結果は、被写体特定データ50d、51dとして第1及び第2の画像ファイル50、51に付与される。なお、被写体特定処理部38が行う顔認識処理は周知の手法によるものであるため、ここでは詳細な説明を省略する。なお、被写体特定処理部38は、位置特定データ付与部37と同様に、第1及び第2の画像ファイル50、51の画像データ50a、51aに対して文字認識処理を行って文字列データを取得し、この文字列データに基づいて画像データ50a、51aに撮像されている被写体を特定してもよい。一例として、第1または第2の画像ファイル50、51の画像データ50a、51a内に「○○小学校入学式」と記載された看板が被写体として撮像されていた場合、被写体特定処理部38はOCR処理等を行って、画像データ50a、51aから「○○小学校入学式」という文字列を取得する。そして、被写体特定処理部38は、この「○○小学校入学式」という文字列を被写体特定データ50d、51dとして第1または第2の画像ファイル50、51に付与する。
入力部32は、第1、第2の撮像装置2、3を含む外部入力機器から情報処理装置1に入力される各種データの入力を受け付け、入力された各種データを制御部30に入力し、あるいは記憶部31に格納する。出力部33は、制御部30または記憶部31内の各種データを、画像表示装置4を含む外部出力機器に出力する。
以上の構成において、制御部30及び制御部30を構成するグループ化作業部34、関連付け作業部35、軌跡生成部36、位置特定データ付与部37及び被写体特定処理部38は主にCPU10により構成され、記憶部31は主にメモリーカード6、ROM11、RAM12及びHDD部16により構成され、入力部32は主に入出力デバイス13及びネットワークインタフェース15により構成され、出力部33は主にHDMIインタフェース14及びネットワークインタフェース15により構成される。図3に示す情報処理装置1の各機能部の動作については後に詳述する。
(画像ファイルのデータ構造)
図4は、本実施形態の情報処理装置1のHDD16a内に格納されている画像ファイルのデータ構造の一例を示す図である。本実施形態において、第1及び第2の画像ファイル50、51のデータ構造は同一であり、格納されているデータが異なるのみである。従って、以下のデータ構造の説明においては、第1の画像ファイル50について代表して説明を行う。本実施形態の第1の画像ファイル50はExifで定められるファイルフォーマットを有し、そのヘッダ部分60にタグ情報が格納され、さらにサムネイル画像データが格納されたサムネイル画像領域61、及び画像データ50aが格納された画像データ領域62が設けられている。本実施形態の第1の画像ファイル50では、ヘッダ部分60に格納されたタグ情報は、被写体撮像時に第1の撮像装置2により画像ファイル50のヘッダ部分60の所定領域に記述される。
第1の画像ファイル50のヘッダ部分60には、第1の画像ファイル50を特定するための一意の値が記述されるID領域63、第1の画像データ50aの画素数が記述される画素数領域64、画像ファイル50の撮影日時である時刻データ50cが記述される撮影日時領域65、画像ファイル50の情報処理装置1への取り込み日時が記述される取り込み日時領域66、画像ファイル50が撮像された第1の撮像装置の機種名が記述される機種名領域67、画像ファイル50の画像データ50aが撮像された際の撮像装置の各種情報、例えば絞り値、焦点距離が記述される撮影情報領域68、画像ファイル50が撮像されたときに撮像装置が所在する位置をGPSシステムにより得た位置情報(例えば緯度、経度、高度情報)である位置特定データ50bが記述されるGPS情報領域69、画像ファイル50の画像データ50aに対して被写体特定処理部38が顔認識を行った結果得られた被写体特定データ50dが記述される顔認識情報領域70、位置特定データ付与部37がOCR処理等により取得した文字列データが記述されるOCR領域71、及び情報処理装置1のユーザが各種情報を任意に記述するためのユーザ定義領域72が設けられている。当然、これ以外の領域を画像ファイル50のヘッダ部分60に設けることは任意である。
ここで、ヘッダ部分60の各領域に記述される各種情報について一例を挙げて説明する。撮影日時領域65には、第1の撮像装置2の内部時計を参考にして、第1の画像ファイル50の画像データ50aが撮像されたときの日時、つまり撮影日時を示す時刻データ50cが、一例として“2012/08/24 10:15:24”、すなわち年月日及び秒単位までの時間として記述される。取り込み日時領域66には、情報処理装置1の図略の内部時計を参考にして、第1の画像ファイル50の画像データ50aが情報処理装置1に取り込まれたときの日時、つまり取り込み日時が、一例として“2012/09/01 18:00:58”、すなわち年月日及び秒単位までの時間として記述される。機種名領域67には、第1の撮像装置2の機種名が、第1の撮像装置2の製造者が定めたデータで、一例として「XYZ−○」として記述される。撮影情報領域68には、第1の画像ファイル50の画像データ50aが撮像された際の第1の撮像装置2の各種情報が、一例として「絞り値F=8、シャッタースピード1/125」として記述される。GPS情報領域69には、第1の画像ファイル50が生成されたときに第1の撮像装置2が所在する位置をGPSシステムを用いて得た位置情報を示す位置特定データ50b、より詳細には撮像装置が所在する位置の緯度情報、経度情報及び高度情報が、一例として“lat=+35.00.35.600, lon=+135.41.35.600,alt=50”として記述される。顔認識情報領域70には、第1の画像ファイル50の画像データ50aに対して被写体特定処理部38が顔認識等を行った結果得られた情報を示す被写体特定データ50dが、画像データ50a内に含まれる被写体を区別するための情報として、一例として“user=0010”として記述される。
(軌跡データのデータ構造)
図5は、本実施形態の情報処理装置1のHDD16a内に格納されている軌跡データ52のデータ構造の一例を示す図である。本実施形態における軌跡データ52は、グループ化作業部34が生成したグループ毎に設けられ、軌跡生成部36によりこの軌跡データ52にデータが記述される。軌跡データ52には複数のGPS情報領域73が設けられ、各々のGPS情報領域73には、グループに属する第1の画像ファイル50の時刻データ50cを時間軸上に配列し、この時間軸において過去から現在に向けて順次第1の画像データ50を選択したときの位置特定データ50bが記述されている。
(グループテーブルのデータ構造)
図6は、本実施形態の情報処理装置1のHDD16a内に格納されているグループテーブル53のデータ構造の一例を示す図である。本実施形態におけるグループテーブル53は、グループ化作業部34が生成したグループ毎に設けられ、グループ化作業部34及び関連付け作業部35によりこのグループテーブル53にデータが記述される。グループテーブル53にはグループID領域74及び複数のファイルID領域75が設けられている。グループID領域74には、グループを特定するためのIDが記述されている。このグループIDは、グループ化作業部34が第1の画像ファイル50を特定のグループに関連付ける最初の作業の際に、このグループ化作業部34により一意の値が付与される。ファイルID領域75には、グループに属する第1及び第2の画像ファイル50、51のID領域63に記述された、第1及び第2の画像ファイル50、51のそれぞれに一意に付与されたIDが記述されている。
(一実施形態の情報処理装置の概略動作)
次に、図7を参照して、本実施形態の情報処理装置1の概略動作について説明する。図7は、本実施形態の情報処理装置1における位置特定データ付与の手順の一例を説明する図である。
本実施形態の情報処理装置1には、既に説明したように、第1の撮像装置2から第1の画像ファイル50が、第2の撮像装置3から第2の画像ファイル51が取り込まれる。図示例では、情報処理装置1に第1の画像ファイル50が5つ(番号1〜5)、第2の画像ファイル51が1つ(番号6)取り込まれる。
情報処理装置1の軌跡生成部36は、第1の画像ファイル50(番号1〜5)の位置特定データ50b及び時刻データ50cに基づいて、時間軸に沿ったこの第1の画像ファイル50の位置特定データ50bの軌跡を生成する。すなわち、軌跡生成部36は、第1の画像ファイル50(番号1〜5)の時刻データ50cを時間軸上に配列し、この時間軸において過去から現在に向けて順次第1の画像データ50を選択し、その位置特定データ50bが指し示す緯度及び経度からなる位置を、緯度及び経度を互いに直交する2軸に割り当てた平面上80にプロットして軌跡を生成する。図示例では、第1の撮像装置2により第1の画像ファイル50が番号順に生成されており、従って、軌跡生成部36が第1の画像ファイル50(番号1〜5)の時刻データ50cを時間軸上に配列すると、この時刻データ50cは第1の画像ファイル50の番号順に配列される。
そして、軌跡生成部36は、第1の画像ファイル50を番号順(番号1〜5)に選択し、その位置特定データ50bが指し示す緯度及び経度からなる位置81を平面上80にプロットして軌跡82を生成する。位置特定データ50bが指し示す緯度及び経度からなる位置81は離散的であるので、図7に示すように、平面80上の位置81を順次結んで生成される軌跡82は折れ線状になる。当然、軌跡生成部36は、全ての位置81を通るような曲線からなる軌跡を生成してもよい。あるいは、情報処理装置1の記憶部31に地図データが格納されており、または入力部32を介して外部サーバから地図データを取得できたならば、第1の画像ファイル50の位置特定データ50bが指し示す緯度及び経度からなる位置を地図データ上にプロットして軌跡82を生成してもよい。加えて、地図データには道路データが付随しており、第1及び第2の画像ファイル50、51は道路上で撮像されることが多いので、軌跡生成部36は、地図データ上の位置81と道路データとを参照して、位置81が存在する道路の上を通るように軌跡82を決定してもよい。
次いで、情報処理装置1のグループ化作業部34は、取り込まれた第1の画像ファイル50について、位置特定データ50b、時刻データ50c及び被写体特定データ50dを参照して特定のグループに関連付ける作業を行う。図示例では、取り込まれた5つの第1の画像ファイル50(番号1〜5)はいずれも同一のグループに関連付けられたものとする。また、情報処理装置1の関連付け作業部35は、取り込まれた第2の画像ファイル51について、時刻データ51c及び被写体特定データ51dに基づいて、この第2の画像ファイル51を特定のグループのいずれかに関連付ける作業を行う。図示例では、第2の画像ファイル51(番号6)は第1の画像ファイル50(番号1〜5)と同一のグループに関連付けられている。
次いで、情報処理装置1の位置特定データ付与部37は、軌跡生成部36が生成した軌跡82において、第2の画像ファイル51の時刻データ51cがこの軌跡82上のいずれに位置するかに基づいて、第2の画像ファイル51(番号6)に位置特定データ51bを付与する。すなわち、同一のグループに関連付けられた第1及び第2の画像ファイル50、51を生成した第1の撮像装置2及び第2の撮像装置3は、同一の軌跡82上を移動しているものと推測することができる。そこで、位置特定データ付与部37は、第2の画像ファイル51(番号6)の時刻データ51cが指し示す撮影日時において、第2の撮像装置3が軌跡82上のいずれの位置83にいるかをおおよそ推測し、この推測された位置83を特定するための位置特定データを第2の画像ファイル51の位置特定データ51bとして付与する。位置特定データ付与部37による位置83推測の手法は任意であるが、一例として、時間軸上で第2の画像ファイル51の時刻データ51cの前後に位置する第1の画像ファイル50(図示例では番号3、4の第1の画像ファイル50)の時刻データ50cを取得し、第2の撮像装置3は、軌跡82上を等速度で移動しているものと仮定して、第1の画像ファイル(番号3、4)の時刻データ50cの間に位置する第2の画像ファイル51(番号6)の時刻データ51cに対応する、軌跡82上の位置83を内挿して求める。そして、位置特定データ付与部37は、この位置83に対応する緯度及び経度情報からなる位置特定データ51bを第2の画像ファイル51(番号6)に付与する。
このようにして、第2の撮像装置3により生成される際に位置特定データ51bが付与されなかった第2の画像ファイル51に対して、位置特定データ51bを適切に付与することができる。
(一実施形態の情報処理装置の動作)
次に、図10〜図16のフローチャートを参照して、本実施形態の情報処理装置1の動作について説明する。
図10及び図11は、本実施形態の情報処理装置1の動作の全体を説明するためのフローチャートである。図10及び図11のフローチャートに示すプログラムは、情報処理装置1による第1及び第2の画像ファイル50、51の取り込み時に開始される。
まず、ステップS1では、情報処理装置1の制御部30が第1及び第2の撮像装置2、3から第1及び第2の画像ファイル50、51を取り込み、記憶部31に格納する。この時点では、上述したように、第1の画像ファイル50は第1の画像データ50a、位置特定データ50b及び時刻データ50cを備え、第2の画像ファイル50は第2の画像データ51a及び時刻データ51cを備えている。
次に、ステップS2では、情報処理装置1の制御部30が、ステップS1において取り込んだ画像ファイルが第1及び第2の撮像装置2、3のいずれによって生成されたか、つまり、第1及び第2の画像ファイル50、51のいずれであるかをユーザに入力させる入力画面を表示するためのデータを生成し、このデータを出力部33を介して画像表示装置4に出力する。そして、情報処理装置1の制御部30は、入力部33を介してユーザが入力を行った選択指示に基づいて、取り込んだ画像ファイルが第1及び第2の画像ファイル50、51のいずれかである旨設定する。なお、第1及び第2の画像ファイル50、51のいずれであるかは、取り込んだ時点において画像ファイルが位置特定データを備えているか否かで判断することが可能であるので、ステップS2において、取り込んだ画像ファイルが位置特定データを備えているか否かを検出し、位置特定データ50bを備えていれば第1の画像ファイル50、位置特定データを備えていなければ第2の画像ファイル51であると判断することも可能である。
ステップS3では、ステップS2において選択された画像ファイル50、51の種類に基づいて、取り込まれた画像ファイルが位置特定データ50bを備えているか否か、すなわち、第1及び第2の画像ファイル50、51のいずれであるかが判定され、位置特定データ50bを備えた画像ファイル50である(ステップS3においてYES)場合は、プログラムはステップS4に移行し、位置特定データ51bを備えていない画像ファイル51である(ステップS3においてNO)場合は、プログラムはステップS7に移行する。
ステップS4では、取り込まれた画像ファイル(ここではステップS3においてYESの判定がされているので第1の画像ファイル50である)を生成した第1の撮像装置2が、この情報処理装置1によって画像ファイル50の取り込みがされたことがある撮像装置2であるか否かが判定され、画像ファイル50の取り込みがされたことがある撮像装置2である(ステップS4においてYES)場合は、プログラムはステップS5に移行し、初めて画像ファイル50の取り込みがされた(ステップS4においてNO)場合は、プログラムはステップS6に移行する。ステップS4の判定は、ステップS1において画像ファイル50の取り込みがされた第1の撮像装置2が記憶部31に格納された登録テーブルに登録されているか否かに基づいて判定される。登録テーブルの詳細については後述する。
ステップS5では、取り込んだ第1の画像ファイル50に対してグループ化処理作業が行われる。グループ化処理作業の詳細については後述する。ステップS6では、第1の撮像装置2(ここではステップS4においてNOの判定がされているので初めて画像ファイル50の取り込みがされた第1の撮像装置2である)に対して機器登録処理が行われる。機器登録処理の詳細についても後述する。この後、図10に示すプログラムは終了する。
図11に移行して、ステップS7では、取り込まれた画像ファイルを生成した撮像装置(ここではステップS3においてNOの判定がされているので、第2の画像ファイル51を生成した第2の撮像装置3である)に対して機器登録処理が行われる。ステップS8では、取り込んだ第2の画像ファイル51に対してグループ関連付け処理が行われる。ステップS9では、取り込んだ第2の画像ファイル51に対して位置特定データ51bの付与処理作業が行われる。位置特定データ付与処理作業の詳細については後述する。この後、図11に示すプログラムは終了する。
次に、図12は、本実施形態の情報処理装置1における機器登録動作を説明するためのフローチャートである。
まず、ステップS10では、図10のステップS2において選択された画像ファイル50、51の種類に基づいて、取り込まれた画像ファイルが位置特定データ50bを備えているか否か、すなわち、第1及び第2の画像ファイル50、51のいずれであるかが判定され、位置特定データ50bを備えた第1の画像ファイル50である(ステップS10においてYES)場合は、プログラムはステップS11に移行し、位置特定データ51bを備えていない第2の画像ファイル51である(ステップS10においてNO)場合は、プログラムはステップS12に移行する。
ステップS11では、取り込まれた画像ファイル(ここではステップS10においてYESの判定がされているので第1の画像ファイル50である)を生成した第1の撮像装置2の機器登録作業が行われる。一方、ステップS12では、取り込まれた画像ファイル(ここではステップS10においてNOの判定がされているので第2の画像ファイル51である)を生成した第2の撮像装置3の機器追従作業が行われる。この後、機器登録作業は終了する。
ステップS11及びステップS12において行われる機器登録作業及び機器追従作業の詳細について、図8及び図9を参照して説明する。図8は、本実施形態の情報処理装置1における機器登録の手順の一例を説明するための図である。図8に示す機器登録または機器追従手順においては、情報処理装置1の制御部30が、出力部33を介して、登録または追従作業を行うべき撮像装置2、3がいずれのユーザの所有に係るものであるかを入力させるための入力画面を表示させるためのデータを画像表示装置4に出力する。そして、情報処理装置1の制御部30は、入力部32を介してユーザが入力を行った選択指示に基づいて、登録または追従作業を行うべき撮像装置2、3がいずれのユーザの所有に係るものであるかの設定を行う。図8に示す例では、「甲」所有の第1及び第2の撮像装置2、3であるとの設定がされた場合、これら第1及び第2の撮像装置2、3によって生成された第1及び第2の画像ファイル50、51は、情報処理装置1に取り込まれると、「甲」所有の撮像装置2、3により生成された画像ファイル50、51用に用意されたフォルダ90に格納されるように設定される。一方、「乙」所有の第1及び第2の撮像装置2、3であるとの設定がされた場合、乙所有の撮像装置2、3に係る第1及び第2の画像ファイル50、51は、情報処理装置1に取り込まれると、「乙」所有の撮像装置2、3により生成された画像ファイル50、51用に用意されたフォルダ91に格納されるように設定される。図8に示す例において、登録テーブルには「甲」「乙」用のフォルダ90、91のディレクトリが記録される。
図9は、本実施形態の情報処理装置1における機器登録の手順の一例を説明するための図である。図9に示す機器登録または機器追従作業においては、情報処理装置1の制御部30が、第1及び第2の画像ファイル50、51の機種名領域67に記述された第1及び第2の撮像装置2、3の機種名情報に基づいて機器登録または機器追従作業を行う。一例として、機種名情報「XA」を有する第1の撮像装置2によって生成された第1の画像ファイル50が最初に取り込まれると、この第1の画像ファイル50の機種名領域67に記述された機種名情報「XA」が登録テーブル92に記述される。次いで、機種名「YA」情報を有する第2の撮像装置3によって生成された第2の画像ファイル51が最初に取り込まれると、情報処理装置1の制御部30が、出力部33を介して、追従作業を行うべき第2の撮像装置3がいずれの第1の撮像装置2に追従すべきかを入力させるための入力画面を表示させるためのデータを画像表示装置4に出力する。そして、情報処理装置1の制御部30は、入力部32を介してユーザが入力を行った選択指示に基づいて、追従作業を行うべき第2の撮像装置3の機種名情報「YA」を、追従先である第1の撮像装置2の機種名情報「XA」が記述された登録テーブル92の領域に追記する。同様に、機種名「XB」を有する第1の撮像装置2によって生成された第1の画像ファイル50が最初に取り込まれると、第1の画像ファイル50の機種名領域67に記述された機種名情報「XB」が登録テーブル92に記述される。次いで、機種名「YB」情報を有する第2の撮像装置3によって生成された第2の画像ファイル51が最初に取り込まれると、制御部30が、出力部33を介して、追従作業を行うべき第2の撮像装置3がいずれの第1の撮像装置2に追従すべきかを入力させるための入力画面を表示させるためのデータを画像表示装置4に出力する。そして、制御部30は、入力部32を介してユーザが入力を行った選択指示に基づいて、追従作業を行うべき第2の撮像装置3の機種名情報「YB」を、追従先である第1の撮像装置2の機種名情報「XB」が記述された登録テーブル92の領域に追記する
。
次に、図13は、本実施形態の情報処理装置1におけるグループ化処理動作を説明するためのフローチャートである。
まず、ステップS20では、情報処理装置1の被写体特定処理部38が、記憶部31に格納されている第1の画像ファイル50の第1の画像データ50aに対して顔認識処理を行い、第1の画像データ50aに撮像されている被写体を特定する被写体特定データ50dを生成して顔認識情報領域70に記述する。次いで、グループ化作業部34は、図10のステップS1において情報処理装置1に取り込まれた全ての第1の画像ファイル50に対して、共通の被写体が撮像されているか否かを判定し、共通の被写体が撮影されているひとまとまりの第1の画像ファイル50を、ひとまとまりの第1の画像ファイル50単位でそれぞれ異なるグループに関連付ける作業を行う。ステップS20によるグループ関連付け作業の結果は一時的に記憶部31に格納される。
次いで、ステップS21では、情報処理装置1の位置特定データ付与部37が、図10のステップS1において情報処理装置1に取り込まれた全ての第1の画像ファイル50の画像データ50aに対して文字認識処理を行って文字列データを取得し、この文字列データに基づいて第1の画像ファイル50に位置特定データ50bを付与する。ステップS21における位置特定データ50b付与は、原則として画像データ50aの被写体内に住所表示が含まれている場合に有効であり、従って、画像データ50aの被写体中に住所表示が含まれていない場合は位置特定データ50b付与処理作業を行わない。ステップS22では、軌跡生成部36が、図13に示すグループ化処理動作が実行される際に情報処理装置1に取り込まれた全ての第1の画像ファイル50に対して軌跡マップ作成処理作業を行う。
ステップS22で行われる軌跡マップ作成処理作業の詳細について、図14を参照して説明する。まず、ステップS30では、軌跡生成部36が、図10のステップS1において情報処理装置1に取り込まれた全ての第1の画像ファイル50の時刻データ50cを参照し、この第1の画像ファイル50を時間軸上に配列する。次いで、ステップS31では、軌跡生成部36が、ステップS30で配列された順、すなわち時間軸において過去から現在に向いた順に、第1の画像ファイル50の位置特定データ50bで特定される位置を、緯度及び経度を互いに直交する2軸に割り当てた平面上にプロットして軌跡を生成する。軌跡生成部36による軌跡生成の手順については、既に図7を参照して詳細に説明したので、ここではこれ以上の詳細な説明を省略する。この後、軌跡マップ作成処理作業は終了する。
図13に戻って、ステップS23では、グループ化作業部34が、図10のステップS1において情報処理装置1に取り込まれた全ての第1の画像ファイル50を、各々の位置特定データ50b及び時刻データ50cに基づいて、いずれかのグループに関連付ける作業を行う。より具体的には、グループ化作業部34は、第1の画像ファイル50の時刻データ50cに基づいて、この第1の画像ファイル50を時間軸上に配列する。次いで、グループ化作業部34は、時間軸において過去から現在に向いた順に第1の画像ファイル50を選択し、隣り合う第1の画像ファイル50の位置特定データ50b及び時刻データ50cの差分を算出する。そして、第1の画像ファイル50の位置特定データ50bまたは時刻データ50cの差分が所定の閾値以上である場合、グループ化作業部34は、第1の画像ファイル50を生成した第1の撮像装置2を所有するユーザが一連の撮影動作を終了して別行動を行ったものとみなし、それまでの第1の画像ファイル50をひとまとまりのものとして共通のグループに関連付ける。この作業を全ての第1の画像ファイル50について行うことで、グループ化作業部34は、位置特定データ50b及び時刻データ50cに基づいて第1の画像ファイル50をいずれかのグループに関連付ける作業を行う。
ここで、グループ関連付け作業に用いる閾値は、位置特定データ50bであれば明らかに別の場所に大きく移動したことを判定できる値、例えば直線距離で100kmに相当する値を採用することが可能であり、時刻データ50cであれば撮影動作が行われる行事が一旦終了したことを判定できる値、例えば1日に相当する値を採用することが可能である。位置特定データ50bの差分と時刻データ50cの差分のいずれを優先するかについては、同一の第1の撮像装置2により1日以上の間を置かずにユーザが撮像動作を行っていても、例えば、第1の撮像装置2のユーザが変更する(家族で同一の第1の撮像装置2を共有している場合など)ことで撮像位置が大きく異なるときは別グループに関連付けることが好ましいので、位置特定データ50bの差分が閾値以上になった場合は、時刻データ50cの差分が閾値以下であっても別グループに関連付けることが好ましい。かかる条件についてはユーザにより設定可能とすることが好ましい。
ステップS24では、グループ化作業部34がステップS20において行ったグループ関連付け作業とステップS23において行ったグループ関連付け作業とを比較し、グループ化の関連付け作業の調整を行う。そして、ステップS25では、グループ化作業部34が最終的に第1の画像ファイル50に対するグループ関連付け作業を確定し、その結果をグループテーブル53に記述する。この後、グループ化処理作業は終了する。
このようにして、グループ化作業部34により、一定の日時範囲内に含まれる時刻データ50cを有し、共通する被写体特定データ50dを有し、さらに、一定の範囲内に含まれる位置特定データ50bを有する第1の画像ファイル50が共通のグループに関連付けられる。
次に、図15は、本実施形態の情報処理装置1におけるグループ関連付け処理動作を説明するためのフローチャートである。
まず、ステップS40では、情報処理装置1の関連付け作業部35が、図10のステップS1において情報処理装置1に取り込まれた全ての第2の画像ファイル51のうち、いずれか1つの第2の画像ファイル51を選択する。ここで、関連付け作業部35は、第2の画像ファイル51の時刻データ51cを参照してこの第2の画像ファイル51を時間軸上に配列し、配列された第2の画像ファイル51を過去から現在に向かう方向に順次選択することが好ましい。次に、ステップS41では、関連付け作業部35が、グループ化作業部34により生成されたグループ(図13参照)の一つを選択する。
次いで、ステップS42では、関連付け作業部35が、ステップS41において選択したグループに含まれる第1の画像ファイル50の時刻データ50cを参照し、ステップS40において選択した第2の画像ファイル51の時刻データ51cが示す時刻がこのグループ内に含まれる第1の画像ファイル50の時刻データ50cの日付範囲内に含まれるか否かを判定する。そして、選択した第2の画像ファイル51の時刻データ51cが示す時刻がこのグループ内に含まれる第1の画像ファイル50の時刻データ50cの日付範囲内に含まれる(ステップS42においてYES)場合は、プログラムはステップS43に移行し、選択した第2の画像ファイル51の時刻データ51cが示す時刻がこのグループ内に含まれる第1の画像ファイル50の時刻データ50cの日付範囲内に含まれない(ステップS42においてNO)場合は、プログラムはステップS47に移行する。ステップS42における、選択した第2の画像ファイル51の時刻データ51cが示す時刻がこのグループ内に含まれる第1の画像ファイル50の時刻データ50cの日付範囲内に含まれるか否かの判定は、ステップS23と同様に、グループ内に含まれる第1の画像ファイル50の時刻データ50cと選択した第2の画像ファイル51の時刻データ51cとの差分が所定の閾値以上であるか否かにより行うことが好ましい。
ステップS43では、ステップS41において選択したグループに含まれる第1の画像ファイル50の被写体特定データ50dを参照し、ステップS40において選択した第2の画像ファイル51の被写体特定データ51dがこのグループ内に含まれる第1の画像ファイル50の被写体特定データ50dのいずれかに一致するか否かを判定する。そして、選択した第2の画像ファイル51の被写体特定データ51dがこのグループ内に含まれる第1の画像ファイル50の被写体特定データ50dのいずれかに一致する(ステップS43においてYES)場合は、プログラムはステップS46に移行し、選択した第2の画像ファイル51の被写体特定データ51dがこのグループ内に含まれる第1の画像ファイル50の被写体特定データ50dのいずれにも一致しない(ステップS43においてNO)場合は、プログラムはステップS44に移行する。
ステップS44では、情報処理装置1の位置特定データ付与部37が、ステップS40において選択した第2の画像ファイル51の画像データ51aに対して文字認識処理を行って文字列データを取得し、この文字列データに基づいて第2の画像ファイル51に位置特定データ51bを付与する。ステップS44における位置特定データ51b付与は、画像データ51aの被写体内に住所表示が含まれている場合に有効であり、従って、画像データ51aの被写体中に住所表示が含まれていない場合は位置特定データ51b付与処理作業を行わない。しかし、住所表示が含まれていない場合であっても、位置特定データ付与部37が、この文字列データに基づいて第2の画像ファイル51に位置特定データ51bを付与できる場合がある。例えば、第2の画像ファイル51が道路標識を撮像していたものである場合、この道路標識に含まれる複数の地名及び距離に関する文字列データを取得し、これら地名を地図上にプロットして、距離に対応する円を地図上に描画して、円の交点が第2の画像ファイル51が撮像された場所であると推測して位置特定データ51bを付与してもよい。
ステップS45では、ステップS41において選択したグループに含まれる第1の画像ファイル50の位置特定データ50bを参照し、ステップS40において選択した第2の画像ファイル51の位置特定データ51bがある場合は、この位置特定データ51bがグループ内に含まれる第1の画像ファイル50の位置特定データ50bの範囲内に含まれるか否かを判定する。そして、選択した第2の画像ファイル51の位置特定データ51bがこのグループ内に含まれる第1の画像ファイル50の位置特定データ50bの範囲内に含まれる(ステップS45においてYES)場合はプログラムはステップS46に移行し、選択した第2の画像ファイル51の位置特定データ51bがこのグループ内に含まれる第1の画像ファイル50の位置特定データ50bの範囲内に含まれない(ステップS45においてNO)場合はプログラムはステップS47に移行する。ステップS45における、選択した第2の画像ファイル51の位置特定データ51bがこのグループ内に含まれる第1の画像ファイル50の位置特定データ50bの範囲内に含まれるか否かの判定も、ステップS23と同様に、グループ内に含まれる第1の画像ファイル50の位置特定データ50bと選択した第2の画像ファイル51の位置特定データ51bとの差分が所定の閾値以上であるか否かにより行うことが好ましい。
ステップS46では、関連付け作業部35が、ステップS40において選択した第2の画像ファイル51をステップS41において選択したグループに関連付ける作業を行う。
ステップS42〜S46で行うグループ関連付け処理について再度説明する。関連付け作業部35は、ステップS1において取り込まれた第2の画像ファイル51のそれぞれについて、グループ化作業部34が生成したグループのいずれかに関連付けられるかどうかの判定を行う。具体的には、関連付け作業部35は、第2の画像ファイル51の時刻データ51cが、グループに属する第1の画像ファイル50の時刻データ50cにより画定される所定の日時範囲内に含まれるか否か(ステップS42)、第2の画像ファイル51の被写体特定データ51dが、グループに属する第1の画像ファイル50の被写体特定データ50dのいずれかに一致するか否か(ステップS43)、そして、第2の画像ファイル51の位置特定データ51bが、グループに属する第1の画像ファイル50の位置特定データ50bにより画定される所定の範囲内に含まれるか否か(ステップS45)により判定を行う。
上述のように、あるグループに属する第1の画像ファイル50は、その時刻データ50cが一定の日時範囲内に含まれ、その被写体特定データ50dの少なくとも一つが共通し、さらに、その位置特定データ50bが一定の範囲内に含まれている。そして、第1及び第2の画像ファイル50、51がいずれのグループに関連付けられるかどうかの判定のために用いるデータである時刻データ50c、51c、被写体特定データ50d、51d及び位置特定データ50b、51bの中で、最優先すべきは時刻データ50c、51cである。例えば、第1及び第2の撮像装置2、3を用いて人物写真よりも風景写真を優先して撮像していた場合、被写体特定データ50d、51dだけでグループ化処理を行っても適切なグループ化処理結果が得られない可能性がある。また、第2の画像ファイル51は、第2の撮像装置3により被写体特定データ51dが付与されておらず、被写体中に住所表示があった場合のみ、ステップS44において位置特定データ51bが付与される。従って、第2の画像ファイル51の位置特定データ51bのみを用いてグループ化処理を行うことは難しい。しかしながら、例えば第1及び第2の撮像装置2、3を家族で共有していて、同時期に第1及び第2の撮像装置2、3を用いて第1及び第2の画像データ50、51を生成しているものの、第1の撮像装置2を使用しているユーザと第2の撮像装置3を使用しているユーザとは別の行き先であった場合、時刻データ50c、51cのみを用いてグループ化処理を行うと適切なグループ化処理結果が得られない可能性がある。従って、時刻データ50c、51c及び被写体特定データ50d、51dを併用することで、第2の画像ファイル51を適切なグループに関連付けるグループ化処理結果を得ることが可能となる。
ステップS47では、ステップS41において選択したグループが最後のグループであるか否か、つまり、関連付け作業部35により全てのグループについてステップS42〜S46に示す動作を行ったか否かが判定され、最後のグループである(ステップS47においてYES)場合はプログラムはステップS48に移行し、最後のグループではない(ステップS47においてNO)場合はプログラムはステップS49に移行し、関連付け作業部35は次のグループを選択する。この後、プログラムはステップS42に戻る。
ステップS48では、ステップS40において選択した第2の画像ファイル51が最後の画像ファイル51であるか否か、つまり、関連付け作業部35により全ての第2の画像ファイル51についてステップS41〜ステップS47に示す動作を行ったか否かが判定され、最後の画像ファイル51である(ステップS48においてYES)場合は、グループ関連付け処理動作を終了し、最後の画像ファイル51でない(ステップS48においてNO)場合はステップS50に移行し、関連付け作業部35は次の第2の画像ファイル51を選択する。この後、プログラムはステップS41に戻る。
次に、図16は、本実施形態の情報処理装置1における位置特定データ付与処理動作を説明するためのフローチャートである。
まず、ステップS60では、情報処理装置1の位置特定データ付与部37が、図10のステップS1において情報処理装置1に取り込まれた全ての第2の画像ファイル51のうち、いずれか1つの第2の画像ファイル51を選択する。ここで、位置特定データ付与部37は、第2の画像ファイル51の時刻データ51cを参照してこの第2の画像ファイル51を時間軸上に配列し、配列された第2の画像ファイル51を過去から現在に向かう方向に順次選択することが好ましい。
次いで、ステップS61では、位置特定データ付与部37が、ステップS60において選択された第2の画像ファイル51が属するグループのグループテーブル53を特定してこれを記憶部31から読み出す。ステップS62では、位置特定データ付与部37が、選択された第2の画像ファイル51が属するグループの軌跡データ52を特定してこれを記憶部31から読み出す。
ステップS63では、位置特定データ付与部37が、選択された第2の画像ファイル51の時刻データ51cに基づいて、この第2の画像ファイル51の位置特定データ51bを推定する。すなわち、位置特定データ付与部37は、第2の画像ファイル51の時刻データ51cが指し示す撮影日時において、第2の撮像装置3が軌跡上のいずれの位置にいるかをおおよそ推測し、この推測された位置を特定するための位置特定データを第2の画像ファイル51の位置特定データ51bとする。そして、ステップS64では、位置特定データ付与部37が、ステップS63により推定された第2の画像ファイル51の位置特定データ51bを第2の画像ファイル51に記述する。位置特定データ付与部37による第2の画像ファイル51の位置特定データ51bの推測手順については、既に図7を参照して詳細に説明したので、ここではこれ以上の説明を省略する。
ステップS65では、ステップS60において選択した第2の画像ファイル51が最後の画像ファイル51であるか否か、つまり、位置特定データ付与部37により全ての第2の画像ファイル51についてステップS61〜ステップS64に示す動作を行ったか否かが判定され、最後の画像ファイル51である(ステップS65においてYES)場合は、位置特定データ付与処理動作を終了し、最後の画像ファイル51でない(ステップS65においてNO)場合はステップS66に移行し、位置特定データ付与部37は次の第2の画像ファイル51を選択する。この後、プログラムはステップS61に戻る。
以上詳細に説明したように、本実施形態の情報処理装置1によれば、第1の画像ファイル50の位置特定データ50b、時刻データ51c及び被写体特定データ50dを参照して、第2の画像ファイル51に適切な位置特定データ51bを付与することができる。特に、本実施形態の情報処理装置1によれば、従来の技術のように時刻データのみを用いて位置特定データ51bを付与する場合に比較して、第1及び第2の撮像装置2、3を複数のユーザで共有しているような場合であっても、被写体特定データ50dを用いて第1及び第2の撮像装置2、3を操作したユーザの行動を適切に推測することができ、この推測結果に基づいて第1及び第2の画像ファイル50、51を適切なグループに関連付けることで、第2の画像ファイル51に適切な位置特定データ51bを付与することができる。
加えて、本実施形態の情報処理装置1によれば、時刻データ50c、51c及び被写体特定データ50d、51dを併用することで、第2の画像ファイル51をより適切なグループに関連付けることができ、結果として、第2の画像ファイル51により適切な位置特定データ51bを付与することができる。
(変形例)
なお、本発明の情報処理装置は、その細部が上述の一実施形態に限定されず、種々の変形例が可能である。
一例として、上述の一実施形態では、1台の第1の撮像装置2により生成された第1の画像ファイル50と1台の第2の撮像装置3により生成された第2の画像ファイル51とについてグループへの関連付け処理及び第2の画像ファイル51の位置特定データ51b付与処理を行っていたが、複数の第1及び第2の撮像装置2、3により生成された第1及び第2の画像ファイル50、51について共通のグループへの関連付け処理を行い、その結果として第2の画像ファイル51の位置特定データ51b付与処理を行ってもよい。
また、上述の一実施形態では、図15に示すグループ関連付け処理動作の結果、第2の画像ファイル51は全て適切なグループに関連付けられるものとしていた。しかしながら、上述のように、例えば第1及び第2の撮像装置2、3を用いて人物写真よりも風景写真を優先して撮像していた場合のように、グループに関連付けるための時刻データ50c、被写体特定データ51dが不足することで、第2の画像ファイル51がいずれのグループにも関連付けられないことが、可能性としてありうる。この場合、情報処理装置1の関連付け作業部35は、記憶部31に格納されたグループテーブル53を参照して、グループ一覧を表示してユーザにいずれかのグループを選択させる画面を表示するためのデータを生成し、このデータを出力部33を介して画像表示装置4に出力する。そして、関連付け作業部35は、入力機器20を介してユーザが入力を行った選択指示に基づいて、第2の画像ファイル51を選択されたグループに関連付ける処理を行えばよい。あるいは、第2の画像ファイル51をいずれのグループにも関連付けずに、結果として位置特定データ51bを付与しない処理を行ってもよい。あるいは、特開2008−234624号公報や国際公開2004/030373に開示されているように、グループ化処理部34、関連付け作業部35が、第1、第2の画像データ50a、51aの色相や各画素の色の平均値、分散値を用いて各画像データ50a、51aの特徴量を算出し、この特徴量に基づいて画像ファイル50、51のカテゴリーを判定して同一カテゴリーに属する画像ファイル50、51を同一グループに関連付ける、あるいは、特徴量が共通する画像ファイル50、51を同一グループに関連付けることも可能である。
同様に、図15に示すグループ関連付け処理動作において、関連付け作業部35は、第2の画像ファイル51がいずれのグループに関連付けられたかを表示してユーザにグループ関連付けの修正の有無を訊ねる画面を表示するためのデータを生成し、このデータを出力部33を介して画像表示装置4に出力する。そして、関連付け作業部35は、入力部32を介してユーザが入力を行った修正指示に基づいて、第2の画像ファイル51を関連付けるグループを修正する処理を行えばよい。
さらに、図15に示すグループ関連付け処理動作の結果、第2の画像ファイル51が複数のグループに関連付けられることが好ましいとの判定がされることもあり得る。特に、上述のように、複数の第1、第2の撮像装置2、3により生成された第1及び第2の画像ファイル50、51に対してグループ関連付け処理を行った場合、これら第1及び第2の撮像装置2、3のユーザが共通のイベントに参加していたときなどにおいて、第2の画像ファイル51が複数のグループに関連付けられることが好ましいとの判定がされる可能性がある。この場合、情報処理装置1が第2の画像ファイル51を一律にいずれかのグループに関連付けてもよいが、図15に示すグループ関連付け処理動作において、ある第2の画像ファイル51に対する複数のグループの関連付け度を算出し、関連付け度が高いグループに第2の画像ファイル51を関連付けてもよい。関連付け度の算出方法は、例えば、図15のステップS43における被写体特定データ50d、51dを用いたグループ特定処理において、共通する被写体特定データ50dの数が多いほど関連付け度を上昇させるような手法が好適に挙げられる。あるいは、図15のステップS45の処理において、位置特定データ50b、51bの一致(正確には所定範囲内に互いに存在する)があったグループについて関連付け度を上昇させるような手法も好適に挙げられる。
さらに、上述の一実施形態においては、図15に示すように、第2の画像ファイル51は情報処理装置1の関連付け作業部35により1枚ずつ第1の画像ファイル50のいずれかのグループに関連付けられていたが、第2の画像ファイル51についてグループ化作業部34により図13と同様のグループ化処理を行い、関連付け作業部35により第1の画像ファイル50と第2の画像ファイル51をグループ単位で関連付けを行ってもよい。このような手順の一例を、図17を参照して説明する。
本変形例の情報処理装置1には、第1の撮像装置2から第1の画像ファイル50が5つ(番号1〜5)、第2の撮像装置3から第2の画像ファイル51が4つ(番号6〜9)取り込まれる。
情報処理装置1の軌跡生成部36は、第1の画像ファイル50(番号1〜5)の位置特定データ50b及び時刻データ50cに基づいて、時間軸に沿ったこの第1の画像ファイル50の位置特定データ50bの位置81を平面80上にプロットして軌跡82を生成する。
次いで、情報処理装置1のグループ化作業部34は、取り込まれた第1の画像ファイル50について、位置特定データ50b、時刻データ50c及び被写体特定データ50dを参照して特定のグループに関連付ける作業を行う。図示例では、取り込まれた5つの第1の画像ファイル50(番号1〜5)はいずれも同一のグループに関連付けられたものとする。
また、情報処理装置1のグループ化作業部34は、取り込まれた第2の画像ファイル51について、時刻データ51c及び被写体特定データ51dに基づいて特定のグループに関連付ける作業を行う。図17に示す例では、取り込まれた画像ファイル51(番号6〜9)は、いずれもごく短時間のうちに連続的に撮影された(例えば番号6〜9の画像ファイル51が特定の5分以内にいずれも連続的に撮像された)ものとする。グループ化作業部34は、第2の画像ファイル51の時刻データ51cを参照して、取り込まれた4つの画像ファイル51(番号6〜9)をいずれも同一のグループに関連付ける。
さらに、情報処理装置1の関連付け作業部35は、特定のグループに関連付けられた第2の画像ファイル51について、時刻データ51c及び被写体特定データ51dに基づいて、第2の画像ファイル51をグループ単位で特定のグループのいずれかに関連付ける作業を行う。
本実施形態の関連付け作業部35による、第2の画像ファイル51をグループ単位で特定のグループのいずれかに関連付ける作業について、図17を参照して説明する。同一のグループに関連付けられた第1の画像ファイル(番号1〜5)は、被写体A〜Eに関する被写体特定データ50dと、文字列「入学式」の文字列データとを有する。より詳細には、番号1の第1の画像ファイル50は、被写体A、B、Cに関する被写体特定データ50dを有し、番号2の第1の画像ファイル50は、被写体B、Dに関する被写体特定データ50dを有し、番号3の第1の画像ファイル50は、被写体C、Eに関する被写体特定データ50dを有し、番号4の第1の画像ファイル50は、被写体Aに関する被写体特定データ50dを有し、番号5の第1の画像ファイル50は、被写体特定データ50dを有していないが、文字列「入学式」に関する文字列データを有している。
一方、別の同一のグループに関連付けられた第2の画像ファイル51(番号6〜9)は、同様に被写体B、Cに関する被写体特定データ51dと、文字列「入学式」の文字列データとを有する。より詳細には、番号6の第2の画像ファイル51は、被写体特定データ51dも文字列データも有さず、番号7の第2の画像ファイル51は、被写体B、Cに関する被写体特定データ51dを有し、番号8の第2の画像ファイル51は、被写体特定データ51dも文字列データも有さず、番号9の第2の画像ファイル51は、被写体特定データ51dを有していないが、文字列「入学式」に関する文字列データを有している。
情報処理装置1の関連付け作業部35は、これら第1の画像ファイル50(番号1〜5)と第2の画像ファイル51(番号6〜9)とをグループ単位で対比し、これらグループに共通の被写体B、Cに関する被写体特定データ50d、51dが存在し、あるいは、共通の文字列データ「入学式」があることから、これらを同一のグループに関連付ける、より正確には、第2の画像ファイル51(番号6〜9)が属するグループを第1の画像ファイル50(番号1〜5)が属するグループに共通化する。
以降は、上述の一実施形態と同様に、情報処理装置1の位置特定データ付与部37が、軌跡生成部36が生成した軌跡82において、第2の画像ファイル51の時刻データ51cがこの軌跡82上のいずれに位置するかに基づいて、第2の画像ファイル51(番号6〜9)に位置特定データ51bを付与する。
このようにして、第2の撮像装置3により生成される際に位置特定データ51bが付与されなかった第2の画像ファイル51に対して、位置特定データ51bを適切に付与することができる。加えて、図17に示す変形例では、被写体特定データ51dも文字列データも有しない第2の画像ファイル51(番号6、8)についても、他の第2の画像ファイル51(番号7、9)を含めて同一のグループに関連付けることで、適切に位置特定データ51bを付与することができるという優れた利点を有する。
そして、上述の一実施形態において、情報処理装置1を動作させるプログラムはROM11、HDD部16等に格納されて提供されていたが、不図示の光学ディスクドライブ、カードインタフェース13c、USBインタフェース13d等を用いて、プログラムが格納されたDVD(Digital Versatile Disc)、USBフラッシュメモリ装置、メモリーカード6等を接続し、このDVD等からプログラムを情報処理装置1に読み込んで動作させてもよい。また、WAN24上の装置内にプログラムを格納しておき、ネットワークインタフェース15を介してこのプログラムを情報処理装置1に読み込んで動作させてもよい。さらに、上述の一実施形態において、情報処理装置1は複数のハードウェア要素により構成されていたが、これらハードウェア要素の一部の動作をCPU10がプログラムの動作により実現することも可能である。