(57)【要約】【課題】ユーザーにとって好適に画像を閲覧できるようにする。【解決手段】表示される対象となる画像データの撮影位置を示すＧＰＳ情報を画像ファイルから取得し、前記取得したＧＰＳ情報によって示される撮影位置に基づいて、複数の画像の表示順序を決定するようにして、複数の場所で撮影された複数の画像のうち、基準位置から一定の範囲内に存在する、関連性のある画像を連続表示して、違和感のない表示形態を提供できるようにする。【選択図】図１
2010103957.tif 000002
【特許請求の範囲】
【請求項１】
互いに異なる場所で撮影された画像を含む複数の画像を表示手段に表示する表示制御手段と、
前記表示制御手段によって表示される対象となる画像データの撮影位置を示す位置情報を取得する位置情報取得手段と、
前記位置情報取得手段によって取得された位置情報によって示される撮影位置に基づいて、前記複数の画像を連続して表示するときの表示順序を決定する決定手段とを有することを特徴とするデータ処理装置。
【請求項２】
前記決定手段は、前記位置情報取得手段によって取得された画像データの位置情報と、前記画像データとは異なる画像データの位置情報とを比較して、撮影位置の差が所定の範囲内であるか否かを判定する判定手段を有することを特徴とする請求項１に記載のデータ処理装置。
【請求項３】
前記決定手段はさらに、前記判定手段によって、次に表示すべき対象となる画像データの位置情報から所定の範囲内であると判定された画像データを抽出する抽出手段を有し、
前記表示制御手段は、前記抽出手段によって抽出された画像データに基づく画像を前記次に表示すべき対象となる画像データに基づく画像と連続して前記表示手段に表示することを特徴とする請求項２に記載のデータ処理装置。
【請求項４】
前記判定手段は、前記次に表示すべき対象となる画像データの撮影位置との距離を算出し、
前記表示制御手段は、前記次に表示すべき対象となる画像データと前記算出した距離が短い方の画像データに基づく画像を先に表示することを特徴とする請求項３に記載のデータ処理装置。
【請求項５】
前記表示すべき対象となる画像データを、前記画像データが作成された時系列で並べ替える時間並べ替え手段をさらに有し、
前記決定手段は、前記時間並べ替え手段によって並べ替えられた結果に従って、前記次に表示すべき対象となる画像データを決定することを特徴とする請求項３または４に記載のデータ処理装置。
【請求項６】
前記画像データを作成した機器の機器情報を取得する機器情報取得手段と、
前記表示すべき対象の画像データを前記機器情報取得手段によって取得された機器情報に基づいて並べ替える機器並べ替え手段とをさらに有し、
前記決定手段は、前記機器並べ替え手段によって並べ替えられた結果に従って、前記次に表示すべき対象となる画像データを決定することを特徴とする請求項３または４に記載のデータ処理装置。
【請求項７】
前記機器並べ替え手段によって並べ替える際の表示を優先する機器を選択する選択手段をさらに有することを特徴とする請求項６に記載のデータ処理装置。
【請求項８】
前記表示制御手段は、前記次に表示すべき対象となる画像データが作成された日時から所定の時間内に作成された画像データを連続して表示することを特徴とする請求項３〜７の何れか１項に記載のデータ処理装置。
【請求項９】
前記判定手段による判定の基準となる所定の範囲を設定する設定手段をさらに有することを特徴とする請求項２〜８の何れか１項に記載のデータ処理装置。
【請求項１０】
互いに異なる場所で撮影された画像を含む複数の画像を表示手段に表示する表示制御工程と、
前記表示制御工程において表示される対象となる画像データの撮影位置を示す位置情報を取得する位置情報取得工程と、
前記位置情報取得工程において取得された位置情報によって示される撮影位置に基づいて、前記複数の画像を連続して表示するときの表示順序を決定する決定工程とを有することを特徴とするデータ処理方法。
【請求項１１】
互いに異なる場所で撮影された画像を含む複数の画像を表示手段に表示する表示制御工程と、
前記表示制御工程において表示される対象となる画像データの撮影位置を示す位置情報を取得する位置情報取得工程と、
前記位置情報取得工程において取得された位置情報によって示される撮影位置に基づいて、前記複数の画像を連続して表示するときの表示順序を決定する決定工程とをコンピュータに実行させることを特徴とするプログラム。
【請求項１２】
請求項１１に記載のプログラムを記憶したことを特徴とするコンピュータ読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はデータ処理装置、データ処理方法、プログラム及び記憶媒体に関し、特に、撮影した画像を表示するために用いて好適な技術に関する。
【背景技術】
【０００２】
近年普及しているデジタルカメラでは、撮影した画像をExif規格（ＪＥＩＤＡ規格  デジタルスチルカメラ用画像ファイルフォーマット  Version 2.1）に従って画像ファイルを作成する。そして、ＤＣＦ規格（ＪＥＩＤＡ規格  カメラファイルシステム（Design rule for Camera File system）  Version 1.0）に従って記録するものが一般的である。Exif規格に従って作成されるファイルのヘッダには、撮影時の情報を記録することができる。このとき、記録できる情報は、撮影日時、露出情報、撮影場所（ＧＰＳ（Global Positioning System）情報）等がある。また、ＤＣＦ規格に従って記録する場合には、記録するファイルに連番付きのファイル名を付与して記録することができる。
【０００３】
デジタルカメラで撮影した画像を表示する場合、従来は撮影した時刻の順番で表示したり、作成されたファイルに付与されたファイル名の順番で表示したりすることが一般的である。
【０００４】
図１２は、２台のデジタルカメラで異なる場所にある被写体を撮影する例を示す図である。図１２に示す例は、第１のデジタルカメラ１０は、第１の被写体３０、第２の被写体４０、第３の被写体５０の順番で撮影し、第２のデジタルカメラ２０は第３の被写体５０、第２の被写体４０、第１の被写体３０の順番で撮影を行った例である。この場合、第１のデジタルカメラ１０で撮影した画像を撮影時刻の順番に表示すると、図１３（ａ）に示すような順番で表示される。また、第２のデジタルカメラ２０で撮影した画像を撮影時刻の順番に表示すると、図１３（ｂ）に示すような順番で表示される。
【０００５】
一方、多数の場所における撮影画像を一元的に保存し、撮影場所、撮影日時を指定することにより、簡単に再生表示できるシステムについても既に提案されている（例えば、特許文献１参照）。
【０００６】
【特許文献１】特開平８−３２２０１４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
図１３に示すような順番で撮影された画像を、例えばパーソナルコンピュータ（ＰＣ）上に転送して一覧表示を行うと、撮影時刻の順番に並べた場合、図１４に示すように、異なる被写体が入り混じった順番で表示されてしまう。このため、ユーザーにとって違和感があり、不便であるという問題点がある。
【０００８】
本発明は前述の問題点に鑑み、ユーザーにとって好適に画像を閲覧できるようにすることを目的としている。
【課題を解決するための手段】
【０００９】
本発明のデータ処理装置は、互いに異なる場所で撮影された画像を含む複数の画像を表示手段に表示する表示制御手段と、前記表示制御手段によって表示される対象となる画像データの撮影位置を示す位置情報を取得する位置情報取得手段と、前記位置情報取得手段によって取得された位置情報によって示される撮影位置に基づいて、前記複数の画像を連続して表示するときの表示順序を決定する決定手段とを有することを特徴とする。
【００１０】
本発明のデータ処理方法は、互いに異なる場所で撮影された画像を含む複数の画像を表示手段に表示する表示制御工程と、前記表示制御工程において表示される対象となる画像データの撮影位置を示す位置情報を取得する位置情報取得工程と、前記位置情報取得工程において取得された位置情報によって示される撮影位置に基づいて、前記複数の画像を連続して表示するときの表示順序を決定する決定工程とを有することを特徴とする。
【００１１】
本発明のプログラムは、互いに異なる場所で撮影された画像を含む複数の画像を表示手段に表示する表示制御工程と、前記表示制御工程において表示される対象となる画像データの撮影位置を示す位置情報を取得する位置情報取得工程と、前記位置情報取得工程において取得された位置情報によって示される撮影位置に基づいて、前記複数の画像を連続して表示するときの表示順序を決定する決定工程とをコンピュータに実行させることを特徴とする。
【００１２】
本発明の記憶媒体は、前記に記載のプログラムを記憶したことを特徴とする。
【発明の効果】
【００１３】
本発明によれば、異なる場所で撮影された複数の画像を表示するような場合に、関連性のある画像を連続表示することができ、ユーザーにとって好適な画像閲覧環境を提供することができる。
【発明を実施するための最良の形態】
【００１４】
（第１の実施形態）
以下、添付図面に従って本発明に係る実施形態を詳細に説明する。本実施形態では、画像ファイルに記録されたＧＰＳ（Global Positioning System）情報を用いて画像を表示する例について説明する。具体的には、ある画像ファイルに記録されたＧＰＳ情報を基準位置として、前記基準位置から一定の範囲内の場所で撮影された画像を連続して表示するための処理について説明する。
【００１５】
まず、本実施形態で使用される画像ファイルの作成について説明する。図１は、撮影した画像データにＧＰＳ情報と撮影日時情報とを付加して記録を行う撮像装置１００の構成例を示すブロック図である。
図１において、１は撮像装置１００全体を制御する制御部であり、２は人工衛星から信号を受信してＧＰＳ情報を生成するＧＰＳユニットである。３は現在の日付、時刻情報を生成する計時部であり、４はレンズ、ＣＭＯＳセンサーなどから構成される撮像部である。
【００１６】
５は撮像部４から入力される画像データを静止画像データとして符号化する画像符号化部であり、６は符号化された静止画像データをExif規格に従ってファイル化するファイル作成部である。７はファイル作成部６で作成した静止画像ファイルを記録するための記録媒体である。
【００１７】
ユーザーにより図示しない操作部から画像ファイルの記録が指示されると、制御部１は撮像部４を制御して撮影処理を行う。撮影処理により撮像部４から画像データが画像符号化部５に入力されると、制御部１は画像符号化部５を制御する。そして、撮像装置１００に設定されている画質、画像サイズ等のパラメータに従って、例えば、ＪＰＥＧ方式で圧縮等の静止画像符号化処理を行う。
【００１８】
静止画像符号化処理を終了すると、圧縮された画像データがファイル作成部６に入力される。制御部１はＧＰＳユニット２からＧＰＳ情報を取得するとともに、計時部３から現在の日付および時間情報を取得し、ファイル作成部６に出力する。また、制御部１は、撮像部４を制御した時の絞り値、シャッタースピード等のカメラ制御パラメータ、及び撮像装置１００に設定されている画質、画像サイズ等のパラメータもファイル作成部６に出力する。
【００１９】
ファイル作成部６は、制御部１から入力された情報をExifヘッダに書き込み（セットし）、Exifファイルの画像データ領域に圧縮された画像データを書き込む。そして、Exif規格に従った画像ファイルを作成し、記録媒体７に記録する。記録媒体７に画像ファイルを記録する際には、制御部１の制御により、ＤＣＦ規格に従ったファイル名を付与して記録する。
【００２０】
上記処理により、作成された画像ファイルには、ＧＰＳ情報および撮影日時情報が記録され、また、撮影順に"IMG＿0001.JPG"、"IMG＿0002.JPG"のような連番付きのファイル名が付与される。Ｉ／Ｆ８は、例えば、パーソナルコンピュータ（ＰＣ）のモニタ等の表示装置９などにデータを転送するためのものである。
【００２１】
図２は、本実施形態における、互いに異なる場所で撮影された画像を含む複数の画像を連続して表示するときの表示順序を決定する動作手順の一例を示すフローチャートである。なお、図２に示す各ステップは、制御部１の制御により行われる。
まず、図２のステップＳ１０１において、表示対象の画像ファイルのファイルエントリを"file"という配列に格納する。例えば、ユーザーが指定したハードディスク上のディレクトリに、記録されているExifファイルのファイルエントリが格納される。
【００２２】
次に、ステップＳ１０２において、ステップＳ１０１で格納したファイルエントリの総数を変数numにセットする。そして、ステップＳ１０３において、ステップＳ１０１で格納したファイルエントリを、ファイルを作成した日時順またはファイルの名前順でソートする。
【００２３】
次に、ステップＳ１０４において、変数nextを０に初期化する。ここで、変数nextから１を引いた値が、表示する順番が決定したfile配列のインデックス番号を表す。ステップＳ１０３でソートが完了した直後はnext−１＝−１になるため、該当するインデックスは存在しない。このため、最初に表示する画像は決定していない状態となるが、本実施形態では、ステップＳ１０３でソートを行った結果、file［０］に格納されたファイルエントリの画像ファイルが最初に表示される画像として扱う。
【００２４】
ステップＳ１０５以降で、実際に表示を行う順番を決定する処理が実行される。次に、ステップＳ１０５において、制御部１は位置情報取得手段として機能し、file［next］の画像ファイルに記録されたＧＰＳ情報を取得して変数ＧＰＳ＿１にセットする。ここで、変数ＧＰＳ＿１とは、撮影場所が近い画像を判別するための基準位置として使用される位置情報をセットするための変数である。
【００２５】
次に、ステップＳ１０６において、変数cmpにnext＋１の値をセットする。ここで、変数cmpとは、基準位置と比較する画像ファイルのインデックス番号をセットするための変数である。そして、ステップＳ１０７において、変数nextの値を１増加させる。この処理により、１つ前のインデックス番号の画像ファイルの表示順序が確定する。ステップＳ１０３でのソートが完了して、初めてステップＳ１０７を実行した場合、next＝１となり、ソート後にfile［０］のファイルエントリが確定し、この画像ファイルが最初に表示される画像として扱われることになる。
【００２６】
次に、ステップＳ１０８において、file［cmp］の画像ファイルに記録されたＧＰＳ情報を変数ＧＰＳ＿２にセットする。ここで、変数ＧＰＳ＿２とは、変数ＧＰＳ＿１にセットされた基準位置と比較する位置情報をセットするための変数である。
【００２７】
次に、ステップＳ１０９において、制御部１は判定手段として機能し、変数ＧＰＳ＿１と変数ＧＰＳ＿２とにセットされた位置情報の比較を行い、file［cmp］の撮影場所が基準位置から一定の範囲内に存在するか否かを判定する。一定の範囲内であるか否かの判定は、例えば、変数ＧＰＳ＿１と変数ＧＰＳ＿２との２点間の距離が一定距離以下であるか否かを判別することにより行われる。なお、２点間の距離は、それぞれの緯度・経度情報を用いて以下の数１に示す「ヒュベニの距離計算式」で算出することができる。
【００２８】
【数１】
2010103957.tif 000003
【００２９】
ステップＳ１０９の判定の結果、file［cmp］の撮影場所が基準位置に対して一定の範囲内に存在しない場合は、ステップＳ１１２に進む。一方、ステップＳ１０９の判定の結果、一定の範囲内に存在する場合は、ステップＳ１１０に進む。そして、ステップＳ１１０において制御部１は抽出手段として機能し、file［next］からfile［cmp−１］の配列要素を一つずつ配列の後ろにシフトして、file［cmp］の内容をfile［next］にセットする。ステップＳ１１０の動作を説明するための表を以下の表１に示す。
【００３０】
【表１】
2010103957.tif 000004
【００３１】
表１に示すように、ステップＳ１１０でシフト処理を行う前は、各file［］配列には"shift前"の列に記載された順序で画像ファイルが格納されている。シフト処理を行うと、"shift後"の列に記載されているように、file［next］にはシフト処理前のfile［cmp］の画像ファイルがセットされる。そして、file［next＋１］からfile［cmp］にはそれぞれシフト処理前のfile［next］からfile［cmp−１］の配列要素が１つずつシフトしてセットされる。
【００３２】
図３は、図２のステップＳ１１０におけるシフト処理の動作手順の一例を示すフローチャートである。
まず、ステップＳ２１において、変数file＿tempにfile［cmp］の内容を一時退避する。ここで、変数file＿tempとは、シフト処理を行う場合に一時的に退避させるためのものである。そして、ステップＳ２２において、ループ制御用変数ｉを変数cmpにセットされている値で初期化する。
【００３３】
次に、ステップＳ２３において、file［ｉ］に１つ前の配列要素であるfile［ｉ−１］をセットし、配列要素を１つシフトする。そして、ステップＳ２４において、変数ｉの値を１減少させる。次に、ステップＳ２５において、ｉの値がnextの値に一致するか否かを判定する。すなわち、file［next］からfile［cmp−１］の全ての配列要素のシフト処理が終了したか否かを判定する。
【００３４】
この判定の結果、シフト処理が終了していない場合は、ステップＳ２３に戻り、次の配列要素のシフト処理を行う。一方、ステップＳ２５の判定の結果、シフト処理が終了した場合は、ステップＳ２６に進み、file［next］にステップＳ２１で一時退避していたfile＿tempの値をセットする。
【００３５】
前述のようにfile［］配列のシフト処理を行った後、ステップＳ１１１において、変数nextの値を１増加させる。この処理により、ステップＳ１１０でファイルエントリを入れ替えた、位置情報が変数ＧＰＳ＿２にセットされた画像ファイルの表示順序が確定する。
【００３６】
次に、ステップＳ１１２において、変数cmpの値を１増加させ、基準位置と比較する画像ファイルのインデックスを変更する。そして、ステップＳ１１３において、変数cmpの値が変数numの値と一致するか否かを判定する。この判定の結果、一致していない場合は、基準位置である変数ＧＰＳ＿１との比較が終了していない、表示順序が未確定の画像ファイルが存在するため、ステップＳ１０８に戻って同様の比較処理を継続する。
【００３７】
一方、ステップＳ１１３の判定の結果、変数cmpの値が変数numの値と一致した場合は、基準位置である変数ＧＰＳ＿１との比較が終了していない、表示順序が未確定な画像ファイルが存在しないため、次のステップＳ１１４に進む。そして、ステップＳ１１４において、変数nextの値が変数numから１を引いた値以上であるか否かを判定する。
【００３８】
この判定の結果、変数nextがnum−１と一致する場合は、インデックス番号がnum−２までの画像ファイルの表示順序が確定している。すなわち、file［num−１］の画像ファイルの表示順序が唯一確定していないということになる。ところが、それ以外の画像ファイルの表示順序が確定しているため、必然的にfile［num−１］の画像ファイルは最後に表示される画像ファイルとして確定される。したがって、変数nextがnumと一致する場合は、全てのインデックス番号の画像ファイルの表示順序が確定していることになる。
【００３９】
ステップＳ１１４の判定結果がYesの場合は、前述したように全ての画像ファイルの表示順序が確定しているため、ステップＳ１１５に進む。そして、制御部１は表示制御手段として機能し、file［］配列に格納された最終ファイルエントリ情報に基づいて、Ｉ／Ｆ８に接続された表示装置９に、格納順に画像を表示させる。一方、ステップＳ１１４の判定の結果、変数nextの値が変数numから１を引いた値未満である場合は、ステップＳ１０５に戻る。そして、表示順序が未確定な画像ファイルのうち、一番インデックス番号が小さな画像ファイルのＧＰＳ情報を基準位置として、同様の比較処理を継続して表示順序を決定していく。
【００４０】
以上のように本実施形態によれば、互いに異なる複数の場所で撮影された複数の画像のうち、基準位置から一定の範囲内に存在する、関連性のある画像を連続表示することができ、違和感のない表示形態を提供することができる。これにより、異なる場所で撮影された複数の画像を同時に表示するような場合に、ユーザーにとって好適な画像閲覧環境を提供することができる。
【００４１】
（第２の実施形態）
本実施形態では、第１の実施形態と同様に、基準位置から一定の範囲内の場所で撮影された画像を連続して表示を行うとともに、基準位置に近い位置で撮影された画像から順番に表示を行うための処理について説明する。なお、本実施形態に係る撮像装置の構成は第１の実施形態と同様であるため、説明は省略する。
【００４２】
図４は、本実施形態における表示順序を決定する動作手順の一例を示すフローチャートである。なお、図４に示す各ステップは、制御部１の制御により行われる。また、図４において、図２と同一の番号を有するステップは、第１の実施形態で説明したステップと同一の処理であるため、本実施形態では説明を省略する。
【００４３】
ステップＳ１０３で画像ファイルを作成した日時順または画像ファイルの名前順でファイルエントリをソートした後、ステップＳ２０１において、変数next＿keyを０に初期化する。ここで、変数next＿keyとは、表示順を決定するための基準位置情報を有する画像ファイルが格納されたfile配列のインデックス番号である。
【００４４】
次に、ステップＳ１０４において、変数nextを０に初期化する。本実施形態においては、変数nextから１を引いた値が、表示する順番が仮決定したfile配列のインデックス番号を表す。
【００４５】
そして、ステップＳ１０５からステップＳ１１０の処理を終えた後、ステップＳ２０２に進む。そして、ステップＳ２０２において、基準位置からから一定の範囲内の撮影場所であると判定された画像ファイルであるfile［next］に対して、基準位置からの距離をセット変数dist［next］にセットする。次に、ステップＳ１１１において、変数nextの値を１増加させて、file［next−１］までの画像ファイルの表示順序を仮決定する。次に、ステップＳ１１２において、変数cmpの値を１増加させ、基準位置と比較する画像ファイルのインデックスを変更する。
【００４６】
次に、ステップＳ１１３において、変数cmpの値が変数numの値と一致するか否かを判定する。この判定の結果、一致していない場合は、基準位置である変数ＧＰＳ＿１との比較が終了していない表示順序が未確定の画像ファイルが存在するため、ステップＳ１０８に戻って同様の比較処理を継続する。
【００４７】
一方、ステップＳ１１３の判定の結果、変数cmpの値が変数numの値と一致した場合は、基準位置である変数ＧＰＳ＿１との比較が終了していない表示順序が未確定な画像ファイルが存在しない。したがって、ステップＳ２０３に進み、基準位置から一定の範囲内で撮影された画像の表示順序を確定する。
【００４８】
ステップＳ１０５からステップＳ１１３までの処理によって、file［next＿key＋１］からfile［next−１］に格納されている画像ファイルは、全て基準位置から一定範囲内で撮影された画像ファイルになっている。そこで、これらの画像ファイルを基準位置から近い順に並べ替える処理をステップＳ２０３で行う。具体的な処理は、各file［］配列要素に対応するdist［］要素が小さい順にfile［］配列要素をソートすることにより並べ替えを行い、表示順序を確定する。ステップＳ２０３の処理を行った時点で、file［０］からfile［next−１］までの表示順序が確定する。
【００４９】
次に、ステップＳ２０４において、表示順序が確定していない画像ファイルのうち、インデックス番号が最小の画像ファイルを次の基準位置とするために、変数next＿keyにnextの値をセットする。そして、ステップＳ１１４において、変数nextの値が変数numから１を引いた値以上であるか否かの判定を行う。そして、第１の実施形態と同様に、表示順序が確定していない場合はステップＳ１０５に戻って表示順序を決定していき、確定している場合はステップＳ１１５で画像を表示させる。
【００５０】
以上のように本実施形態によれば、基準位置から一定の範囲内の場所で撮影された画像を連続して表示させるとともに、基準位置に近い位置で撮影された画像から順番に表示させることができる。
【００５１】
（第３の実施形態）
本実施形態では、特定の撮影機器で撮影された画像を優先して表示させる例について説明する。なお、本実施形態に係る撮像装置の構成は第１の実施形態と同様であるため、説明は省略する。
【００５２】
図５は、本実施形態における表示順序を決定する動作手順の一例を示すフローチャートである。なお、図５に示す各ステップは、制御部１の制御により行われる。また、図５において、図４と同一の番号を有するステップは、第２の実施形態で説明したステップと同一の処理であるため、本実施形態では説明を省略する。
【００５３】
ステップＳ１０３で画像ファイルを作成した日時順またはファイルの名前順でファイルエントリをソートした後、ステップＳ３０１において、制御部１は機器情報取得手段として機能し、画像ファイルを作成した撮影機器の情報を取得する。そして、制御部１は機器並べ替え手段として機能し、ソート後のfile［］配列の要素を、画像ファイルを作成した撮影機器の情報を元に再度ソート処理を行う。ステップＳ１０３で画像ファイルを作成した日時順にソートを行っている場合は、file［］配列には、以下の表２に示すように画像ファイルを作成した撮影機器順で画像ファイルが格納される。そして、各撮影機器の画像ファイルは画像ファイルを作成した日時順（時系列）で格納される。
【００５４】
【表２】
2010103957.tif 000005
【００５５】
図６は、図５のステップＳ３０１のソート処理の詳細な動作手順の一例を示すフローチャートである。
まず、図６のステップＳ４０１において、処理のループを制御するための変数ｉを０に初期化する。そして、ステップＳ４０２において、処理のループを制御するための変数ｊの初期化を行う。
【００５６】
次に、ステップＳ４０３において、file［ｊ−１］にセットされている画像ファイルから撮影機器情報を取得して変数dev1にセットする。そして、ステップＳ４０４において、file［ｊ］にセットされている画像ファイルから撮影機器情報を取得して変数dev2にセットする。Exif規格では、撮影機器のメーカー名、モデル名、作者の情報をASCII文字列で記録できるため、これらの文字列を画像ファイルから取得して組み合わせることにより撮影機器情報として使用することができる。
【００５７】
次に、ステップＳ４０５において、ステップＳ４０３、Ｓ４０４で取得した撮影機器情報の比較を行う。この比較の結果、変数dev1が変数dev2よりも小さな値を持つ場合は、ステップＳ４０６に進み、file［ｊ−１］の要素とfile［ｊ］の要素との入れ替え処理を行う。一方、ステップＳ４０５の比較の結果、変数dev2が変数dev1よりも小さな値を持つ場合は、ステップＳ４０７に進む。
【００５８】
ステップＳ４０７からステップＳ４１０はソート処理のループ制御のための処理である。ステップＳ４０７において、ｊを１減らし、ステップＳ４０８において、ｊ＞ｉであるか否かを判定する。この判定の結果、ｊ＞ｉである場合は、ステップＳ４０３に戻り、そうでない場合は、ステップＳ４０９に進む。次に、ステップＳ４０９において、ｉを１増加させ、ステップＳ４１０において、ｉ＜num−１であるか否かを判定する。この判定の結果、ｉ＜num−１である場合は、ステップＳ４０２に戻り、そうでない場合は処理を終了する。
【００５９】
以上のように全ての処理を終了するとソート処理が完了する。なお、図６に示したフローチャートは、一般的にバブルソートと呼ばれるアルゴリズムの例であるが、他のソートアルゴリズムを用いることも可能である。図５のステップＳ３０１で撮影機器情報を元にソート処理を行った後の処理は、第２の実施形態のステップＳ２０１以降の処理と同一である。
【００６０】
以上のように本実施形態では、撮影位置を比較するための基準位置として使用される画像ファイルはfile［］配列の先頭部が優先的に使用される。このため、本実施形態の処理を行うことにより、特定の撮影機器で撮影された画像ファイルを優先的に基準位置として使用することができ、また、表示順序も特定の撮影機器で撮影された画像ファイルを優先させることができる。
【００６１】
（第４の実施形態）
本実施形態では、ユーザーが選択した特定の撮影機器で撮影された画像を優先して表示させる例について説明する。なお、本実施形態に係る撮像装置の構成は第１の実施形態と同様であるため、説明は省略する。
【００６２】
図７は、本実施形態における表示順序を決定する動作手順の一例を示すフローチャートである。なお、図７に示す各ステップは、制御部１の制御により行われる。また、図７において、図５と同一の番号を有するステップは、第３の実施形態で説明したステップと同一の処理であるため、本実施形態では説明を省略する。
【００６３】
ステップＳ３０１でfile［］配列の要素を、画像ファイルを作成した撮影機器の情報を元に再度ソートした後、ステップＳ５０１において、撮影機器情報のリストを作成する。
【００６４】
ここで、図８を参照しながらステップＳ５０１の処理内容を詳細に説明する。図８は、図７のステップＳ５０１における撮影機器情報のリストを作成する処理手順の一例を示すフローチャートである。
まず、ステップＳ６０１において、file［］配列の最初の画像ファイルの撮影機器情報を取得し、device配列の先頭要素にセットする。次に、ステップＳ６０２において、変数ｉを０に初期化する。ここで、変数ｉとは、撮影機器情報を配列device［］にセットするためのインデックス番号を示す変数である。
【００６５】
次に、ステップＳ６０３において、ループ制御用の変数ｊを初期化する。そして、ステップＳ６０４において、file［ｊ］の画像ファイルの撮影機器情報がdevice［ｉ］にセットされている撮影機器情報と一致するか否かを判定する。この判定の結果、一致しない場合は、ステップＳ６０５に進み、device［ｉ＋１］にfile［ｊ］の画像の撮影機器情報をセットする。そして、ステップＳ６０６において、ｉの値を１つ増加させる。
【００６６】
一方、ステップＳ６０４の判定の結果、一致する場合は、ステップＳ６０７に進む。次に、ステップＳ６０７において、ｊの値を１増加させる。そして、ステップＳ６０８において、ｊの値がnumの値に一致するか否かを判定する。すなわち、全てのfile［］配列の要素のチェックを行ったか否かを判定する。この判定の結果、チェックが終了していない場合は、ステップＳ６０４に戻り、次の配列要素のチェックを行う。一方、ステップＳ６０８の判定の結果、チェックが終了した場合は、処理を終了する。図８のフローチャートに示す処理を終了すると、device［］配列には表示対象の画像ファイルを作成した全ての撮影機器情報がセットされる。
【００６７】
次に、図７のステップＳ５０２において、例えば、ＰＣモニタなどの表示装置９に、ステップＳ５０１で作成した撮影機器情報のリストをＩ／Ｆ８を介して表示させる。表示された撮影機器情報からユーザーにより不図示の操作部を介してある撮影機器情報が選択されると、ステップＳ５０３において、制御部１は選択手段として機能し、変数sel＿devに前記選択された撮影機器情報をセットする。
【００６８】
次に、ステップＳ５０４において、変数sel＿devにセットされた撮影機器情報に基づいて、前記選択された撮影機器情報の撮影機器で作成された画像ファイルがfile［］配列の先頭セットされるように並べ替えを行う。
【００６９】
図９を参照しながらステップＳ５０４の処理内容を詳細に説明する。図９は、図７のステップＳ５０４における配列要素を並べ替える処理手順の一例を示すフローチャートである。
まず、ステップＳ７０１において、変数ｉを０に初期化する。ここで、変数ｉとは、図７のステップＳ５０３で変数sel＿devにセットされた値に対応した画像ファイルをfile［］配列にセットするために使用するインデックス番号を示すための変数である。
【００７０】
次に、ステップＳ７０２において、ループ制御用の変数ｊを０に初期化する。そして、ステップＳ７０３において、file［ｊ］の画像ファイルの撮影機器情報を変数devにセットする。次に、ステップＳ７０４において、変数devにセットされた値が図７のステップＳ５０３で変数sel＿devにセットされた値と同一であるか否かを判定する。この判定の結果、同一でない場合は、ステップＳ７０７に進む。
【００７１】
一方、ステップＳ７０４の判定の結果、同一である場合は、ステップＳ７０５に進み、file［ｉ＋１］からfile［ｊ−１］の配列要素を一つずつ配列の後ろにシフトして、file［ｊ］の内容をfile［ｉ］にセットする。そして、ステップＳ７０６において、ｉの値を１増加させる。
【００７２】
次に、ステップＳ７０７において、ｊの値を１増加させる。そして、ステップＳ７０８において、ｊの値がnumの値に一致するか否かを判定する。すなわち、全てのfile［］配列要素の処理が終了したか否かを判定する。この判定の結果、全ての配列要素に対する処理が終了していない場合は、ステップＳ７０３に戻って処理を続行する。一方、ステップＳ７０８の判定の結果、全ての配列要素に対する処理が終了した場合は、そのまま処理を終了する。そして、図７のステップＳ５０４で撮影機器情報を元にソート処理を行った後の処理は、第３の実施形態のステップＳ２０１以降の処理と同一である。
【００７３】
以上のように本実施形態では、撮影位置を比較するための基準位置として使用される画像ファイルはfile［］配列の先頭部が優先的に使用される。このため、本実施形態の処理を行うことにより、ユーザーが選択した特定の撮影機器で撮影された画像ファイルを優先的に基準位置として使用することができる。また、表示順序も前記選択された特定の撮影機器で撮影された画像ファイルを優先させることができる。
【００７４】
本実施形態では、ステップＳ５０２及びステップＳ５０３でユーザーが撮影機器を選択する例について説明した。一方、全ての画像ファイルが、ある撮影機器の記録媒体に記録されており、その撮影機器で表示処理を行う場合には、ステップＳ５０２の処理を省略し、ステップＳ５０３で撮影機器の情報を変数sel＿devにセットする。これにより、その撮影機器で撮影された画像ファイルを優先させることが可能である。
【００７５】
（第５の実施形態）
第１の実施形態では、一定の範囲内の場所で撮影された画像を連続して表示させるようにする例について説明した。本実施形態では、一定の範囲内の場所で撮影され、かつ予め定められた撮影時間の差異が所定時間の範囲内である画像を連続して表示させるようにする例ついて説明する。なお、本実施形態に係る撮像装置の構成は第１の実施形態と同様であるため、説明は省略する。
【００７６】
図１０は、本実施形態における表示順序を決定する動作手順の一例を示すフローチャートである。なお、図１０に示す各ステップは、制御部１の制御により行われる。また、図１０において、図２と同一の番号を有するステップは、第１の実施形態で説明したステップと同一の処理であるため、本実施形態では説明を省略する。
【００７７】
ステップＳ１０５でfile［next］の画像ファイルに記録されたＧＰＳ情報を変数ＧＰＳ＿１にセットした後、ステップＳ９０１において、基準位置となるfile［next］の画像ファイルの撮影日時情報を変数ＤＴ１にセットする。また、ステップＳ１０８でfile［cmp］の画像ファイルに記録されたＧＰＳ情報を変数ＧＰＳ＿２にセットした後、ステップＳ９０２において、file［cmp］の画像ファイルの撮影日時情報を変数ＤＴ２にセットする。
【００７８】
次に、ステップＳ９０３において、変数ＤＴ１と変数ＤＴ２との比較を行い、予め定められた撮影時間の差異が所定の時間内であるか否かを判定する。この判定の結果、所定の時間内である場合は、次のステップＳ１０９以降の処理を行い、所定の時間外である場合は、撮影場所の判定を行わずにステップＳ１１２に進む。
【００７９】
以上のような処理を行うことにより、撮影場所が近く、かつ時間的にも近い関連性の高い画像のみを連続して表示することができる。なお、本実施形態では、第１の実施形態を元に追加処理の説明を行ったが、他の実施形態においても適用可能である。
【００８０】
（第６の実施形態）
本実施形態では、ユーザーにより連続表示させる条件である距離を設定することができる例について説明する。なお、本実施形態に係る撮像装置の構成は第１の実施形態と同様であるため、説明は省略する。
【００８１】
図１１は、本実施形態における表示順序を決定する動作手順の一例を示すフローチャートである。なお、図１１に示す各ステップは、制御部１の制御により行われる。また、図１１において、図２と同一の番号を有するステップは、第１の実施形態で説明したステップと同一の処理であるため、本実施形態では説明を省略する。
【００８２】
ステップＳ１０４で変数nextを０に初期化した後、ステップＳ１００１において、制御部１は、例えば、ＰＣモニタなどの表示装置９に基準位置からの範囲を指定するための入力画面をＩ／Ｆ８を介して表示させる。前記入力画面で基準位置からの範囲の値がユーザーにより不図示の操作部を介して入力されると、ステップＳ１００２において、制御部１は設定手段として機能し、変数distに前記入力された値をセットする。
【００８３】
ステップＳ１０８でfile［cmp］の画像ファイルに記録されたＧＰＳ情報を変数ＧＰＳ＿２にセットした後、ステップＳ１００３に進む。そして、ステップＳ１００３において、変数ＧＰＳ＿１と変数ＧＰＳ＿２とを比較し、ＧＰＳ＿１とＧＰＳ＿２との距離が前記変数distに設定された距離以内であるか否かを判定する。この判定の結果、変数distに設定された距離以内である場合は、第１の実施形態のステップＳ１０９で範囲内であると判定された場合と同様の処理を行う。一方、ステップＳ１００３の判定の結果、変数distに設定された距離よりも大きい場合も第１の実施形態のステップＳ１０９で範囲外であると判定された場合と同様の処理を行う。
【００８４】
以上のような処理を行うことにより、表示時にユーザーが任意の範囲を設定でき、連続して表示する画像の関連性を調整することができる。なお、本実施形態では第１の実施形態を元に追加処理の説明を行ったが、他の実施形態においても適用可能である。
【００８５】
（本発明に係る他の実施形態）
前述した本発明の実施形態におけるデータ処理装置を構成する各手段、並びにデータ処理方法の各工程は、コンピュータのＲＡＭやＲＯＭなどに記憶されたプログラムが動作することによって実現できる。このプログラム及び前記プログラムを記憶したコンピュータ読み取り可能な記憶媒体は本発明に含まれる。
【００８６】
また、本発明は、例えば、システム、装置、方法、プログラムもしくは記憶媒体等としての実施形態も可能であり、具体的には、複数の機器から構成されるシステムに適用してもよいし、また、一つの機器からなる装置に適用してもよい。
【００８７】
なお、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラム（実施形態では図２〜１１に示すフローチャートに対応したプログラム）を、システムまたは装置に直接、または遠隔から供給する場合も含む。そして、そのシステムまたは装置のコンピュータが前記供給されたプログラムコードを読み出して実行することによっても達成される場合を含む。
【００８８】
したがって、本発明の機能処理をコンピュータで実現するために、前記コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。
【００８９】
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等の形態であってもよい。
【００９０】
プログラムを供給するための記憶媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスクなどがある。さらに、ＭＯ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＤＶＤ（ＤＶＤ−ＲＯＭ、ＤＶＤ−Ｒ）などもある。
【００９１】
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続する方法がある。そして、前記ホームページから本発明のコンピュータプログラムそのもの、もしくは圧縮され自動インストール機能を含むファイルをハードディスク等の記憶媒体にダウンロードすることによっても供給できる。
【００９２】
また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザーに対してダウンロードさせるＷＷＷサーバも、本発明に含まれるものである。
【００９３】
また、その他の方法として、本発明のプログラムを暗号化してＣＤ−ＲＯＭ等の記憶媒体に格納してユーザーに配布し、所定の条件をクリアしたユーザーに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせる。そして、その鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
【００９４】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される。さらに、そのプログラムの指示に基づき、コンピュータ上で稼動しているＯＳなどが、実際の処理の一部または全部を行い、その処理によっても前述した実施形態の機能が実現され得る。
【００９５】
さらに、その他の方法として、まず記憶媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれる。そして、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によっても前述した実施形態の機能が実現される。
【図面の簡単な説明】
【００９６】
【図１】本発明の第１の実施形態に係る撮像装置の構成例を示すブロック図である。
【図２】本発明の第１の実施形態における表示順序を決定する動作手順の一例を示すフローチャートである。
【図３】図２のステップＳ１１０におけるシフト処理の動作手順の一例を示すフローチャートである。
【図４】本発明の第２の実施形態における表示順序を決定する動作手順の一例を示すフローチャートである。
【図５】本発明の第３の実施形態における表示順序を決定する動作手順の一例を示すフローチャートである。
【図６】図５のステップＳ３０１のソート処理の詳細な動作手順の一例を示すフローチャートである。
【図７】本発明の第４の実施形態における表示順序を決定する動作手順の一例を示すフローチャートである。
【図８】図７のステップＳ５０１における撮影機器情報のリストを作成する処理手順の一例を示すフローチャートである。
【図９】図７のステップＳ５０４における配列要素を並べ替える処理手順の一例を示すフローチャートである。
【図１０】本発明の第５の実施形態における表示順序を決定する動作手順の一例を示すフローチャートである。
【図１１】本発明の第６の実施形態における表示順序を決定する動作手順の一例を示すフローチャートである。
【図１２】２台のデジタルカメラで異なる場所にある被写体を撮影する例を示す図である。
【図１３】デジタルカメラで撮影した画像を撮影時刻の順番に表示する例を示す図である。
【図１４】異なる被写体が入り混じった順番で表示する例を示す図である。
【符号の説明】
【００９７】
１  制御部
２  ＧＰＳユニット
３  計時部
４  撮像部
５  画像符号化部
６  ファイル作成部
７  記録媒体
８  Ｉ／Ｆ
９  表示装置
【図１】
2010103957.tif 000006
【図２】
2010103957.tif 000007
【図３】
2010103957.tif 000008
【図４】
2010103957.tif 000009
【図５】
2010103957.tif 000010
【図６】
2010103957.tif 000011
【図７】
2010103957.tif 000012
【図８】
2010103957.tif 000013
【図９】
2010103957.tif 000014
【図１０】
2010103957.tif 000015
【図１１】
2010103957.tif 000016
【図１２】
2010103957.tif 000017
【図１３】
2010103957.tif 000018
【図１４】
2010103957.tif 000019