説明

データ処理装置及びデータ処理方法

【課題】ユーザーにとって好適に画像を閲覧できるようにする。
【解決手段】表示される対象となる画像データの撮影位置を示すGPS情報を画像ファイルから取得し、前記取得したGPS情報によって示される撮影位置に基づいて、複数の画像の表示順序を決定するようにして、複数の場所で撮影された複数の画像のうち、基準位置から一定の範囲内に存在する、関連性のある画像を連続表示して、違和感のない表示形態を提供できるようにする。

【発明の詳細な説明】
【技術分野】
【0001】
本発明はデータ処理装置、データ処理方法、プログラム及び記憶媒体に関し、特に、撮影した画像を表示するために用いて好適な技術に関する。
【背景技術】
【0002】
近年普及しているデジタルカメラでは、撮影した画像をExif規格(JEIDA規格 デジタルスチルカメラ用画像ファイルフォーマット Version 2.1)に従って画像ファイルを作成する。そして、DCF規格(JEIDA規格 カメラファイルシステム(Design rule for Camera File system) Version 1.0)に従って記録するものが一般的である。Exif規格に従って作成されるファイルのヘッダには、撮影時の情報を記録することができる。このとき、記録できる情報は、撮影日時、露出情報、撮影場所(GPS(Global Positioning System)情報)等がある。また、DCF規格に従って記録する場合には、記録するファイルに連番付きのファイル名を付与して記録することができる。
【0003】
デジタルカメラで撮影した画像を表示する場合、従来は撮影した時刻の順番で表示したり、作成されたファイルに付与されたファイル名の順番で表示したりすることが一般的である。
【0004】
図12は、2台のデジタルカメラで異なる場所にある被写体を撮影する例を示す図である。図12に示す例は、第1のデジタルカメラ10は、第1の被写体30、第2の被写体40、第3の被写体50の順番で撮影し、第2のデジタルカメラ20は第3の被写体50、第2の被写体40、第1の被写体30の順番で撮影を行った例である。この場合、第1のデジタルカメラ10で撮影した画像を撮影時刻の順番に表示すると、図13(a)に示すような順番で表示される。また、第2のデジタルカメラ20で撮影した画像を撮影時刻の順番に表示すると、図13(b)に示すような順番で表示される。
【0005】
一方、多数の場所における撮影画像を一元的に保存し、撮影場所、撮影日時を指定することにより、簡単に再生表示できるシステムについても既に提案されている(例えば、特許文献1参照)。
【0006】
【特許文献1】特開平8−322014号公報
【発明の開示】
【発明が解決しようとする課題】
【0007】
図13に示すような順番で撮影された画像を、例えばパーソナルコンピュータ(PC)上に転送して一覧表示を行うと、撮影時刻の順番に並べた場合、図14に示すように、異なる被写体が入り混じった順番で表示されてしまう。このため、ユーザーにとって違和感があり、不便であるという問題点がある。
【0008】
本発明は前述の問題点に鑑み、ユーザーにとって好適に画像を閲覧できるようにすることを目的としている。
【課題を解決するための手段】
【0009】
本発明のデータ処理装置は、互いに異なる場所で撮影された画像を含む複数の画像を表示手段に表示する表示制御手段と、前記表示制御手段によって表示される対象となる画像データの撮影位置を示す位置情報を取得する位置情報取得手段と、前記位置情報取得手段によって取得された位置情報によって示される撮影位置に基づいて、前記複数の画像を連続して表示するときの表示順序を決定する決定手段とを有することを特徴とする。
【0010】
本発明のデータ処理方法は、互いに異なる場所で撮影された画像を含む複数の画像を表示手段に表示する表示制御工程と、前記表示制御工程において表示される対象となる画像データの撮影位置を示す位置情報を取得する位置情報取得工程と、前記位置情報取得工程において取得された位置情報によって示される撮影位置に基づいて、前記複数の画像を連続して表示するときの表示順序を決定する決定工程とを有することを特徴とする。
【0011】
本発明のプログラムは、互いに異なる場所で撮影された画像を含む複数の画像を表示手段に表示する表示制御工程と、前記表示制御工程において表示される対象となる画像データの撮影位置を示す位置情報を取得する位置情報取得工程と、前記位置情報取得工程において取得された位置情報によって示される撮影位置に基づいて、前記複数の画像を連続して表示するときの表示順序を決定する決定工程とをコンピュータに実行させることを特徴とする。
【0012】
本発明の記憶媒体は、前記に記載のプログラムを記憶したことを特徴とする。
【発明の効果】
【0013】
本発明によれば、異なる場所で撮影された複数の画像を表示するような場合に、関連性のある画像を連続表示することができ、ユーザーにとって好適な画像閲覧環境を提供することができる。
【発明を実施するための最良の形態】
【0014】
(第1の実施形態)
以下、添付図面に従って本発明に係る実施形態を詳細に説明する。本実施形態では、画像ファイルに記録されたGPS(Global Positioning System)情報を用いて画像を表示する例について説明する。具体的には、ある画像ファイルに記録されたGPS情報を基準位置として、前記基準位置から一定の範囲内の場所で撮影された画像を連続して表示するための処理について説明する。
【0015】
まず、本実施形態で使用される画像ファイルの作成について説明する。図1は、撮影した画像データにGPS情報と撮影日時情報とを付加して記録を行う撮像装置100の構成例を示すブロック図である。
図1において、1は撮像装置100全体を制御する制御部であり、2は人工衛星から信号を受信してGPS情報を生成するGPSユニットである。3は現在の日付、時刻情報を生成する計時部であり、4はレンズ、CMOSセンサーなどから構成される撮像部である。
【0016】
5は撮像部4から入力される画像データを静止画像データとして符号化する画像符号化部であり、6は符号化された静止画像データをExif規格に従ってファイル化するファイル作成部である。7はファイル作成部6で作成した静止画像ファイルを記録するための記録媒体である。
【0017】
ユーザーにより図示しない操作部から画像ファイルの記録が指示されると、制御部1は撮像部4を制御して撮影処理を行う。撮影処理により撮像部4から画像データが画像符号化部5に入力されると、制御部1は画像符号化部5を制御する。そして、撮像装置100に設定されている画質、画像サイズ等のパラメータに従って、例えば、JPEG方式で圧縮等の静止画像符号化処理を行う。
【0018】
静止画像符号化処理を終了すると、圧縮された画像データがファイル作成部6に入力される。制御部1はGPSユニット2からGPS情報を取得するとともに、計時部3から現在の日付および時間情報を取得し、ファイル作成部6に出力する。また、制御部1は、撮像部4を制御した時の絞り値、シャッタースピード等のカメラ制御パラメータ、及び撮像装置100に設定されている画質、画像サイズ等のパラメータもファイル作成部6に出力する。
【0019】
ファイル作成部6は、制御部1から入力された情報をExifヘッダに書き込み(セットし)、Exifファイルの画像データ領域に圧縮された画像データを書き込む。そして、Exif規格に従った画像ファイルを作成し、記録媒体7に記録する。記録媒体7に画像ファイルを記録する際には、制御部1の制御により、DCF規格に従ったファイル名を付与して記録する。
【0020】
上記処理により、作成された画像ファイルには、GPS情報および撮影日時情報が記録され、また、撮影順に"IMG_0001.JPG"、"IMG_0002.JPG"のような連番付きのファイル名が付与される。I/F8は、例えば、パーソナルコンピュータ(PC)のモニタ等の表示装置9などにデータを転送するためのものである。
【0021】
図2は、本実施形態における、互いに異なる場所で撮影された画像を含む複数の画像を連続して表示するときの表示順序を決定する動作手順の一例を示すフローチャートである。なお、図2に示す各ステップは、制御部1の制御により行われる。
まず、図2のステップS101において、表示対象の画像ファイルのファイルエントリを"file"という配列に格納する。例えば、ユーザーが指定したハードディスク上のディレクトリに、記録されているExifファイルのファイルエントリが格納される。
【0022】
次に、ステップS102において、ステップS101で格納したファイルエントリの総数を変数numにセットする。そして、ステップS103において、ステップS101で格納したファイルエントリを、ファイルを作成した日時順またはファイルの名前順でソートする。
【0023】
次に、ステップS104において、変数nextを0に初期化する。ここで、変数nextから1を引いた値が、表示する順番が決定したfile配列のインデックス番号を表す。ステップS103でソートが完了した直後はnext−1=−1になるため、該当するインデックスは存在しない。このため、最初に表示する画像は決定していない状態となるが、本実施形態では、ステップS103でソートを行った結果、file[0]に格納されたファイルエントリの画像ファイルが最初に表示される画像として扱う。
【0024】
ステップS105以降で、実際に表示を行う順番を決定する処理が実行される。次に、ステップS105において、制御部1は位置情報取得手段として機能し、file[next]の画像ファイルに記録されたGPS情報を取得して変数GPS_1にセットする。ここで、変数GPS_1とは、撮影場所が近い画像を判別するための基準位置として使用される位置情報をセットするための変数である。
【0025】
次に、ステップS106において、変数cmpにnext+1の値をセットする。ここで、変数cmpとは、基準位置と比較する画像ファイルのインデックス番号をセットするための変数である。そして、ステップS107において、変数nextの値を1増加させる。この処理により、1つ前のインデックス番号の画像ファイルの表示順序が確定する。ステップS103でのソートが完了して、初めてステップS107を実行した場合、next=1となり、ソート後にfile[0]のファイルエントリが確定し、この画像ファイルが最初に表示される画像として扱われることになる。
【0026】
次に、ステップS108において、file[cmp]の画像ファイルに記録されたGPS情報を変数GPS_2にセットする。ここで、変数GPS_2とは、変数GPS_1にセットされた基準位置と比較する位置情報をセットするための変数である。
【0027】
次に、ステップS109において、制御部1は判定手段として機能し、変数GPS_1と変数GPS_2とにセットされた位置情報の比較を行い、file[cmp]の撮影場所が基準位置から一定の範囲内に存在するか否かを判定する。一定の範囲内であるか否かの判定は、例えば、変数GPS_1と変数GPS_2との2点間の距離が一定距離以下であるか否かを判別することにより行われる。なお、2点間の距離は、それぞれの緯度・経度情報を用いて以下の数1に示す「ヒュベニの距離計算式」で算出することができる。
【0028】
【数1】

【0029】
ステップS109の判定の結果、file[cmp]の撮影場所が基準位置に対して一定の範囲内に存在しない場合は、ステップS112に進む。一方、ステップS109の判定の結果、一定の範囲内に存在する場合は、ステップS110に進む。そして、ステップS110において制御部1は抽出手段として機能し、file[next]からfile[cmp−1]の配列要素を一つずつ配列の後ろにシフトして、file[cmp]の内容をfile[next]にセットする。ステップS110の動作を説明するための表を以下の表1に示す。
【0030】
【表1】

【0031】
表1に示すように、ステップS110でシフト処理を行う前は、各file[]配列には"shift前"の列に記載された順序で画像ファイルが格納されている。シフト処理を行うと、"shift後"の列に記載されているように、file[next]にはシフト処理前のfile[cmp]の画像ファイルがセットされる。そして、file[next+1]からfile[cmp]にはそれぞれシフト処理前のfile[next]からfile[cmp−1]の配列要素が1つずつシフトしてセットされる。
【0032】
図3は、図2のステップS110におけるシフト処理の動作手順の一例を示すフローチャートである。
まず、ステップS21において、変数file_tempにfile[cmp]の内容を一時退避する。ここで、変数file_tempとは、シフト処理を行う場合に一時的に退避させるためのものである。そして、ステップS22において、ループ制御用変数iを変数cmpにセットされている値で初期化する。
【0033】
次に、ステップS23において、file[i]に1つ前の配列要素であるfile[i−1]をセットし、配列要素を1つシフトする。そして、ステップS24において、変数iの値を1減少させる。次に、ステップS25において、iの値がnextの値に一致するか否かを判定する。すなわち、file[next]からfile[cmp−1]の全ての配列要素のシフト処理が終了したか否かを判定する。
【0034】
この判定の結果、シフト処理が終了していない場合は、ステップS23に戻り、次の配列要素のシフト処理を行う。一方、ステップS25の判定の結果、シフト処理が終了した場合は、ステップS26に進み、file[next]にステップS21で一時退避していたfile_tempの値をセットする。
【0035】
前述のようにfile[]配列のシフト処理を行った後、ステップS111において、変数nextの値を1増加させる。この処理により、ステップS110でファイルエントリを入れ替えた、位置情報が変数GPS_2にセットされた画像ファイルの表示順序が確定する。
【0036】
次に、ステップS112において、変数cmpの値を1増加させ、基準位置と比較する画像ファイルのインデックスを変更する。そして、ステップS113において、変数cmpの値が変数numの値と一致するか否かを判定する。この判定の結果、一致していない場合は、基準位置である変数GPS_1との比較が終了していない、表示順序が未確定の画像ファイルが存在するため、ステップS108に戻って同様の比較処理を継続する。
【0037】
一方、ステップS113の判定の結果、変数cmpの値が変数numの値と一致した場合は、基準位置である変数GPS_1との比較が終了していない、表示順序が未確定な画像ファイルが存在しないため、次のステップS114に進む。そして、ステップS114において、変数nextの値が変数numから1を引いた値以上であるか否かを判定する。
【0038】
この判定の結果、変数nextがnum−1と一致する場合は、インデックス番号がnum−2までの画像ファイルの表示順序が確定している。すなわち、file[num−1]の画像ファイルの表示順序が唯一確定していないということになる。ところが、それ以外の画像ファイルの表示順序が確定しているため、必然的にfile[num−1]の画像ファイルは最後に表示される画像ファイルとして確定される。したがって、変数nextがnumと一致する場合は、全てのインデックス番号の画像ファイルの表示順序が確定していることになる。
【0039】
ステップS114の判定結果がYesの場合は、前述したように全ての画像ファイルの表示順序が確定しているため、ステップS115に進む。そして、制御部1は表示制御手段として機能し、file[]配列に格納された最終ファイルエントリ情報に基づいて、I/F8に接続された表示装置9に、格納順に画像を表示させる。一方、ステップS114の判定の結果、変数nextの値が変数numから1を引いた値未満である場合は、ステップS105に戻る。そして、表示順序が未確定な画像ファイルのうち、一番インデックス番号が小さな画像ファイルのGPS情報を基準位置として、同様の比較処理を継続して表示順序を決定していく。
【0040】
以上のように本実施形態によれば、互いに異なる複数の場所で撮影された複数の画像のうち、基準位置から一定の範囲内に存在する、関連性のある画像を連続表示することができ、違和感のない表示形態を提供することができる。これにより、異なる場所で撮影された複数の画像を同時に表示するような場合に、ユーザーにとって好適な画像閲覧環境を提供することができる。
【0041】
(第2の実施形態)
本実施形態では、第1の実施形態と同様に、基準位置から一定の範囲内の場所で撮影された画像を連続して表示を行うとともに、基準位置に近い位置で撮影された画像から順番に表示を行うための処理について説明する。なお、本実施形態に係る撮像装置の構成は第1の実施形態と同様であるため、説明は省略する。
【0042】
図4は、本実施形態における表示順序を決定する動作手順の一例を示すフローチャートである。なお、図4に示す各ステップは、制御部1の制御により行われる。また、図4において、図2と同一の番号を有するステップは、第1の実施形態で説明したステップと同一の処理であるため、本実施形態では説明を省略する。
【0043】
ステップS103で画像ファイルを作成した日時順または画像ファイルの名前順でファイルエントリをソートした後、ステップS201において、変数next_keyを0に初期化する。ここで、変数next_keyとは、表示順を決定するための基準位置情報を有する画像ファイルが格納されたfile配列のインデックス番号である。
【0044】
次に、ステップS104において、変数nextを0に初期化する。本実施形態においては、変数nextから1を引いた値が、表示する順番が仮決定したfile配列のインデックス番号を表す。
【0045】
そして、ステップS105からステップS110の処理を終えた後、ステップS202に進む。そして、ステップS202において、基準位置からから一定の範囲内の撮影場所であると判定された画像ファイルであるfile[next]に対して、基準位置からの距離をセット変数dist[next]にセットする。次に、ステップS111において、変数nextの値を1増加させて、file[next−1]までの画像ファイルの表示順序を仮決定する。次に、ステップS112において、変数cmpの値を1増加させ、基準位置と比較する画像ファイルのインデックスを変更する。
【0046】
次に、ステップS113において、変数cmpの値が変数numの値と一致するか否かを判定する。この判定の結果、一致していない場合は、基準位置である変数GPS_1との比較が終了していない表示順序が未確定の画像ファイルが存在するため、ステップS108に戻って同様の比較処理を継続する。
【0047】
一方、ステップS113の判定の結果、変数cmpの値が変数numの値と一致した場合は、基準位置である変数GPS_1との比較が終了していない表示順序が未確定な画像ファイルが存在しない。したがって、ステップS203に進み、基準位置から一定の範囲内で撮影された画像の表示順序を確定する。
【0048】
ステップS105からステップS113までの処理によって、file[next_key+1]からfile[next−1]に格納されている画像ファイルは、全て基準位置から一定範囲内で撮影された画像ファイルになっている。そこで、これらの画像ファイルを基準位置から近い順に並べ替える処理をステップS203で行う。具体的な処理は、各file[]配列要素に対応するdist[]要素が小さい順にfile[]配列要素をソートすることにより並べ替えを行い、表示順序を確定する。ステップS203の処理を行った時点で、file[0]からfile[next−1]までの表示順序が確定する。
【0049】
次に、ステップS204において、表示順序が確定していない画像ファイルのうち、インデックス番号が最小の画像ファイルを次の基準位置とするために、変数next_keyにnextの値をセットする。そして、ステップS114において、変数nextの値が変数numから1を引いた値以上であるか否かの判定を行う。そして、第1の実施形態と同様に、表示順序が確定していない場合はステップS105に戻って表示順序を決定していき、確定している場合はステップS115で画像を表示させる。
【0050】
以上のように本実施形態によれば、基準位置から一定の範囲内の場所で撮影された画像を連続して表示させるとともに、基準位置に近い位置で撮影された画像から順番に表示させることができる。
【0051】
(第3の実施形態)
本実施形態では、特定の撮影機器で撮影された画像を優先して表示させる例について説明する。なお、本実施形態に係る撮像装置の構成は第1の実施形態と同様であるため、説明は省略する。
【0052】
図5は、本実施形態における表示順序を決定する動作手順の一例を示すフローチャートである。なお、図5に示す各ステップは、制御部1の制御により行われる。また、図5において、図4と同一の番号を有するステップは、第2の実施形態で説明したステップと同一の処理であるため、本実施形態では説明を省略する。
【0053】
ステップS103で画像ファイルを作成した日時順またはファイルの名前順でファイルエントリをソートした後、ステップS301において、制御部1は機器情報取得手段として機能し、画像ファイルを作成した撮影機器の情報を取得する。そして、制御部1は機器並べ替え手段として機能し、ソート後のfile[]配列の要素を、画像ファイルを作成した撮影機器の情報を元に再度ソート処理を行う。ステップS103で画像ファイルを作成した日時順にソートを行っている場合は、file[]配列には、以下の表2に示すように画像ファイルを作成した撮影機器順で画像ファイルが格納される。そして、各撮影機器の画像ファイルは画像ファイルを作成した日時順(時系列)で格納される。
【0054】
【表2】

【0055】
図6は、図5のステップS301のソート処理の詳細な動作手順の一例を示すフローチャートである。
まず、図6のステップS401において、処理のループを制御するための変数iを0に初期化する。そして、ステップS402において、処理のループを制御するための変数jの初期化を行う。
【0056】
次に、ステップS403において、file[j−1]にセットされている画像ファイルから撮影機器情報を取得して変数dev1にセットする。そして、ステップS404において、file[j]にセットされている画像ファイルから撮影機器情報を取得して変数dev2にセットする。Exif規格では、撮影機器のメーカー名、モデル名、作者の情報をASCII文字列で記録できるため、これらの文字列を画像ファイルから取得して組み合わせることにより撮影機器情報として使用することができる。
【0057】
次に、ステップS405において、ステップS403、S404で取得した撮影機器情報の比較を行う。この比較の結果、変数dev1が変数dev2よりも小さな値を持つ場合は、ステップS406に進み、file[j−1]の要素とfile[j]の要素との入れ替え処理を行う。一方、ステップS405の比較の結果、変数dev2が変数dev1よりも小さな値を持つ場合は、ステップS407に進む。
【0058】
ステップS407からステップS410はソート処理のループ制御のための処理である。ステップS407において、jを1減らし、ステップS408において、j>iであるか否かを判定する。この判定の結果、j>iである場合は、ステップS403に戻り、そうでない場合は、ステップS409に進む。次に、ステップS409において、iを1増加させ、ステップS410において、i<num−1であるか否かを判定する。この判定の結果、i<num−1である場合は、ステップS402に戻り、そうでない場合は処理を終了する。
【0059】
以上のように全ての処理を終了するとソート処理が完了する。なお、図6に示したフローチャートは、一般的にバブルソートと呼ばれるアルゴリズムの例であるが、他のソートアルゴリズムを用いることも可能である。図5のステップS301で撮影機器情報を元にソート処理を行った後の処理は、第2の実施形態のステップS201以降の処理と同一である。
【0060】
以上のように本実施形態では、撮影位置を比較するための基準位置として使用される画像ファイルはfile[]配列の先頭部が優先的に使用される。このため、本実施形態の処理を行うことにより、特定の撮影機器で撮影された画像ファイルを優先的に基準位置として使用することができ、また、表示順序も特定の撮影機器で撮影された画像ファイルを優先させることができる。
【0061】
(第4の実施形態)
本実施形態では、ユーザーが選択した特定の撮影機器で撮影された画像を優先して表示させる例について説明する。なお、本実施形態に係る撮像装置の構成は第1の実施形態と同様であるため、説明は省略する。
【0062】
図7は、本実施形態における表示順序を決定する動作手順の一例を示すフローチャートである。なお、図7に示す各ステップは、制御部1の制御により行われる。また、図7において、図5と同一の番号を有するステップは、第3の実施形態で説明したステップと同一の処理であるため、本実施形態では説明を省略する。
【0063】
ステップS301でfile[]配列の要素を、画像ファイルを作成した撮影機器の情報を元に再度ソートした後、ステップS501において、撮影機器情報のリストを作成する。
【0064】
ここで、図8を参照しながらステップS501の処理内容を詳細に説明する。図8は、図7のステップS501における撮影機器情報のリストを作成する処理手順の一例を示すフローチャートである。
まず、ステップS601において、file[]配列の最初の画像ファイルの撮影機器情報を取得し、device配列の先頭要素にセットする。次に、ステップS602において、変数iを0に初期化する。ここで、変数iとは、撮影機器情報を配列device[]にセットするためのインデックス番号を示す変数である。
【0065】
次に、ステップS603において、ループ制御用の変数jを初期化する。そして、ステップS604において、file[j]の画像ファイルの撮影機器情報がdevice[i]にセットされている撮影機器情報と一致するか否かを判定する。この判定の結果、一致しない場合は、ステップS605に進み、device[i+1]にfile[j]の画像の撮影機器情報をセットする。そして、ステップS606において、iの値を1つ増加させる。
【0066】
一方、ステップS604の判定の結果、一致する場合は、ステップS607に進む。次に、ステップS607において、jの値を1増加させる。そして、ステップS608において、jの値がnumの値に一致するか否かを判定する。すなわち、全てのfile[]配列の要素のチェックを行ったか否かを判定する。この判定の結果、チェックが終了していない場合は、ステップS604に戻り、次の配列要素のチェックを行う。一方、ステップS608の判定の結果、チェックが終了した場合は、処理を終了する。図8のフローチャートに示す処理を終了すると、device[]配列には表示対象の画像ファイルを作成した全ての撮影機器情報がセットされる。
【0067】
次に、図7のステップS502において、例えば、PCモニタなどの表示装置9に、ステップS501で作成した撮影機器情報のリストをI/F8を介して表示させる。表示された撮影機器情報からユーザーにより不図示の操作部を介してある撮影機器情報が選択されると、ステップS503において、制御部1は選択手段として機能し、変数sel_devに前記選択された撮影機器情報をセットする。
【0068】
次に、ステップS504において、変数sel_devにセットされた撮影機器情報に基づいて、前記選択された撮影機器情報の撮影機器で作成された画像ファイルがfile[]配列の先頭セットされるように並べ替えを行う。
【0069】
図9を参照しながらステップS504の処理内容を詳細に説明する。図9は、図7のステップS504における配列要素を並べ替える処理手順の一例を示すフローチャートである。
まず、ステップS701において、変数iを0に初期化する。ここで、変数iとは、図7のステップS503で変数sel_devにセットされた値に対応した画像ファイルをfile[]配列にセットするために使用するインデックス番号を示すための変数である。
【0070】
次に、ステップS702において、ループ制御用の変数jを0に初期化する。そして、ステップS703において、file[j]の画像ファイルの撮影機器情報を変数devにセットする。次に、ステップS704において、変数devにセットされた値が図7のステップS503で変数sel_devにセットされた値と同一であるか否かを判定する。この判定の結果、同一でない場合は、ステップS707に進む。
【0071】
一方、ステップS704の判定の結果、同一である場合は、ステップS705に進み、file[i+1]からfile[j−1]の配列要素を一つずつ配列の後ろにシフトして、file[j]の内容をfile[i]にセットする。そして、ステップS706において、iの値を1増加させる。
【0072】
次に、ステップS707において、jの値を1増加させる。そして、ステップS708において、jの値がnumの値に一致するか否かを判定する。すなわち、全てのfile[]配列要素の処理が終了したか否かを判定する。この判定の結果、全ての配列要素に対する処理が終了していない場合は、ステップS703に戻って処理を続行する。一方、ステップS708の判定の結果、全ての配列要素に対する処理が終了した場合は、そのまま処理を終了する。そして、図7のステップS504で撮影機器情報を元にソート処理を行った後の処理は、第3の実施形態のステップS201以降の処理と同一である。
【0073】
以上のように本実施形態では、撮影位置を比較するための基準位置として使用される画像ファイルはfile[]配列の先頭部が優先的に使用される。このため、本実施形態の処理を行うことにより、ユーザーが選択した特定の撮影機器で撮影された画像ファイルを優先的に基準位置として使用することができる。また、表示順序も前記選択された特定の撮影機器で撮影された画像ファイルを優先させることができる。
【0074】
本実施形態では、ステップS502及びステップS503でユーザーが撮影機器を選択する例について説明した。一方、全ての画像ファイルが、ある撮影機器の記録媒体に記録されており、その撮影機器で表示処理を行う場合には、ステップS502の処理を省略し、ステップS503で撮影機器の情報を変数sel_devにセットする。これにより、その撮影機器で撮影された画像ファイルを優先させることが可能である。
【0075】
(第5の実施形態)
第1の実施形態では、一定の範囲内の場所で撮影された画像を連続して表示させるようにする例について説明した。本実施形態では、一定の範囲内の場所で撮影され、かつ予め定められた撮影時間の差異が所定時間の範囲内である画像を連続して表示させるようにする例ついて説明する。なお、本実施形態に係る撮像装置の構成は第1の実施形態と同様であるため、説明は省略する。
【0076】
図10は、本実施形態における表示順序を決定する動作手順の一例を示すフローチャートである。なお、図10に示す各ステップは、制御部1の制御により行われる。また、図10において、図2と同一の番号を有するステップは、第1の実施形態で説明したステップと同一の処理であるため、本実施形態では説明を省略する。
【0077】
ステップS105でfile[next]の画像ファイルに記録されたGPS情報を変数GPS_1にセットした後、ステップS901において、基準位置となるfile[next]の画像ファイルの撮影日時情報を変数DT1にセットする。また、ステップS108でfile[cmp]の画像ファイルに記録されたGPS情報を変数GPS_2にセットした後、ステップS902において、file[cmp]の画像ファイルの撮影日時情報を変数DT2にセットする。
【0078】
次に、ステップS903において、変数DT1と変数DT2との比較を行い、予め定められた撮影時間の差異が所定の時間内であるか否かを判定する。この判定の結果、所定の時間内である場合は、次のステップS109以降の処理を行い、所定の時間外である場合は、撮影場所の判定を行わずにステップS112に進む。
【0079】
以上のような処理を行うことにより、撮影場所が近く、かつ時間的にも近い関連性の高い画像のみを連続して表示することができる。なお、本実施形態では、第1の実施形態を元に追加処理の説明を行ったが、他の実施形態においても適用可能である。
【0080】
(第6の実施形態)
本実施形態では、ユーザーにより連続表示させる条件である距離を設定することができる例について説明する。なお、本実施形態に係る撮像装置の構成は第1の実施形態と同様であるため、説明は省略する。
【0081】
図11は、本実施形態における表示順序を決定する動作手順の一例を示すフローチャートである。なお、図11に示す各ステップは、制御部1の制御により行われる。また、図11において、図2と同一の番号を有するステップは、第1の実施形態で説明したステップと同一の処理であるため、本実施形態では説明を省略する。
【0082】
ステップS104で変数nextを0に初期化した後、ステップS1001において、制御部1は、例えば、PCモニタなどの表示装置9に基準位置からの範囲を指定するための入力画面をI/F8を介して表示させる。前記入力画面で基準位置からの範囲の値がユーザーにより不図示の操作部を介して入力されると、ステップS1002において、制御部1は設定手段として機能し、変数distに前記入力された値をセットする。
【0083】
ステップS108でfile[cmp]の画像ファイルに記録されたGPS情報を変数GPS_2にセットした後、ステップS1003に進む。そして、ステップS1003において、変数GPS_1と変数GPS_2とを比較し、GPS_1とGPS_2との距離が前記変数distに設定された距離以内であるか否かを判定する。この判定の結果、変数distに設定された距離以内である場合は、第1の実施形態のステップS109で範囲内であると判定された場合と同様の処理を行う。一方、ステップS1003の判定の結果、変数distに設定された距離よりも大きい場合も第1の実施形態のステップS109で範囲外であると判定された場合と同様の処理を行う。
【0084】
以上のような処理を行うことにより、表示時にユーザーが任意の範囲を設定でき、連続して表示する画像の関連性を調整することができる。なお、本実施形態では第1の実施形態を元に追加処理の説明を行ったが、他の実施形態においても適用可能である。
【0085】
(本発明に係る他の実施形態)
前述した本発明の実施形態におけるデータ処理装置を構成する各手段、並びにデータ処理方法の各工程は、コンピュータのRAMやROMなどに記憶されたプログラムが動作することによって実現できる。このプログラム及び前記プログラムを記憶したコンピュータ読み取り可能な記憶媒体は本発明に含まれる。
【0086】
また、本発明は、例えば、システム、装置、方法、プログラムもしくは記憶媒体等としての実施形態も可能であり、具体的には、複数の機器から構成されるシステムに適用してもよいし、また、一つの機器からなる装置に適用してもよい。
【0087】
なお、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラム(実施形態では図2〜11に示すフローチャートに対応したプログラム)を、システムまたは装置に直接、または遠隔から供給する場合も含む。そして、そのシステムまたは装置のコンピュータが前記供給されたプログラムコードを読み出して実行することによっても達成される場合を含む。
【0088】
したがって、本発明の機能処理をコンピュータで実現するために、前記コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。
【0089】
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、OSに供給するスクリプトデータ等の形態であってもよい。
【0090】
プログラムを供給するための記憶媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスクなどがある。さらに、MO、CD−ROM、CD−R、CD−RW、磁気テープ、不揮発性のメモリカード、ROM、DVD(DVD−ROM、DVD−R)などもある。
【0091】
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続する方法がある。そして、前記ホームページから本発明のコンピュータプログラムそのもの、もしくは圧縮され自動インストール機能を含むファイルをハードディスク等の記憶媒体にダウンロードすることによっても供給できる。
【0092】
また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザーに対してダウンロードさせるWWWサーバも、本発明に含まれるものである。
【0093】
また、その他の方法として、本発明のプログラムを暗号化してCD−ROM等の記憶媒体に格納してユーザーに配布し、所定の条件をクリアしたユーザーに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせる。そして、その鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
【0094】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される。さらに、そのプログラムの指示に基づき、コンピュータ上で稼動しているOSなどが、実際の処理の一部または全部を行い、その処理によっても前述した実施形態の機能が実現され得る。
【0095】
さらに、その他の方法として、まず記憶媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれる。そして、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によっても前述した実施形態の機能が実現される。
【図面の簡単な説明】
【0096】
【図1】本発明の第1の実施形態に係る撮像装置の構成例を示すブロック図である。
【図2】本発明の第1の実施形態における表示順序を決定する動作手順の一例を示すフローチャートである。
【図3】図2のステップS110におけるシフト処理の動作手順の一例を示すフローチャートである。
【図4】本発明の第2の実施形態における表示順序を決定する動作手順の一例を示すフローチャートである。
【図5】本発明の第3の実施形態における表示順序を決定する動作手順の一例を示すフローチャートである。
【図6】図5のステップS301のソート処理の詳細な動作手順の一例を示すフローチャートである。
【図7】本発明の第4の実施形態における表示順序を決定する動作手順の一例を示すフローチャートである。
【図8】図7のステップS501における撮影機器情報のリストを作成する処理手順の一例を示すフローチャートである。
【図9】図7のステップS504における配列要素を並べ替える処理手順の一例を示すフローチャートである。
【図10】本発明の第5の実施形態における表示順序を決定する動作手順の一例を示すフローチャートである。
【図11】本発明の第6の実施形態における表示順序を決定する動作手順の一例を示すフローチャートである。
【図12】2台のデジタルカメラで異なる場所にある被写体を撮影する例を示す図である。
【図13】デジタルカメラで撮影した画像を撮影時刻の順番に表示する例を示す図である。
【図14】異なる被写体が入り混じった順番で表示する例を示す図である。
【符号の説明】
【0097】
1 制御部
2 GPSユニット
3 計時部
4 撮像部
5 画像符号化部
6 ファイル作成部
7 記録媒体
8 I/F
9 表示装置

【特許請求の範囲】
【請求項1】
互いに異なる場所で撮影された画像を含む複数の画像を表示手段に表示する表示制御手段と、
前記表示制御手段によって表示される対象となる画像データの撮影位置を示す位置情報を取得する位置情報取得手段と、
前記位置情報取得手段によって取得された位置情報によって示される撮影位置に基づいて、前記複数の画像を連続して表示するときの表示順序を決定する決定手段とを有することを特徴とするデータ処理装置。
【請求項2】
前記決定手段は、前記位置情報取得手段によって取得された画像データの位置情報と、前記画像データとは異なる画像データの位置情報とを比較して、撮影位置の差が所定の範囲内であるか否かを判定する判定手段を有することを特徴とする請求項1に記載のデータ処理装置。
【請求項3】
前記決定手段はさらに、前記判定手段によって、次に表示すべき対象となる画像データの位置情報から所定の範囲内であると判定された画像データを抽出する抽出手段を有し、
前記表示制御手段は、前記抽出手段によって抽出された画像データに基づく画像を前記次に表示すべき対象となる画像データに基づく画像と連続して前記表示手段に表示することを特徴とする請求項2に記載のデータ処理装置。
【請求項4】
前記判定手段は、前記次に表示すべき対象となる画像データの撮影位置との距離を算出し、
前記表示制御手段は、前記次に表示すべき対象となる画像データと前記算出した距離が短い方の画像データに基づく画像を先に表示することを特徴とする請求項3に記載のデータ処理装置。
【請求項5】
前記表示すべき対象となる画像データを、前記画像データが作成された時系列で並べ替える時間並べ替え手段をさらに有し、
前記決定手段は、前記時間並べ替え手段によって並べ替えられた結果に従って、前記次に表示すべき対象となる画像データを決定することを特徴とする請求項3または4に記載のデータ処理装置。
【請求項6】
前記画像データを作成した機器の機器情報を取得する機器情報取得手段と、
前記表示すべき対象の画像データを前記機器情報取得手段によって取得された機器情報に基づいて並べ替える機器並べ替え手段とをさらに有し、
前記決定手段は、前記機器並べ替え手段によって並べ替えられた結果に従って、前記次に表示すべき対象となる画像データを決定することを特徴とする請求項3または4に記載のデータ処理装置。
【請求項7】
前記機器並べ替え手段によって並べ替える際の表示を優先する機器を選択する選択手段をさらに有することを特徴とする請求項6に記載のデータ処理装置。
【請求項8】
前記表示制御手段は、前記次に表示すべき対象となる画像データが作成された日時から所定の時間内に作成された画像データを連続して表示することを特徴とする請求項3〜7の何れか1項に記載のデータ処理装置。
【請求項9】
前記判定手段による判定の基準となる所定の範囲を設定する設定手段をさらに有することを特徴とする請求項2〜8の何れか1項に記載のデータ処理装置。
【請求項10】
互いに異なる場所で撮影された画像を含む複数の画像を表示手段に表示する表示制御工程と、
前記表示制御工程において表示される対象となる画像データの撮影位置を示す位置情報を取得する位置情報取得工程と、
前記位置情報取得工程において取得された位置情報によって示される撮影位置に基づいて、前記複数の画像を連続して表示するときの表示順序を決定する決定工程とを有することを特徴とするデータ処理方法。
【請求項11】
互いに異なる場所で撮影された画像を含む複数の画像を表示手段に表示する表示制御工程と、
前記表示制御工程において表示される対象となる画像データの撮影位置を示す位置情報を取得する位置情報取得工程と、
前記位置情報取得工程において取得された位置情報によって示される撮影位置に基づいて、前記複数の画像を連続して表示するときの表示順序を決定する決定工程とをコンピュータに実行させることを特徴とするプログラム。
【請求項12】
請求項11に記載のプログラムを記憶したことを特徴とするコンピュータ読み取り可能な記憶媒体。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate


【公開番号】特開2010−103957(P2010−103957A)
【公開日】平成22年5月6日(2010.5.6)
【国際特許分類】
【出願番号】特願2008−276066(P2008−276066)
【出願日】平成20年10月27日(2008.10.27)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】