(57)【特許請求の範囲】
【請求項１】
画像データ群を分割した複数のセグメントのうち第一のセグメントに含まれる画像の情報を用いて、当該第一のセグメントに対する閾値を決定する決定手段と、
前記第一のセグメントと当該第一のセグメントの次の第二のセグメントとのセグメント間の時間差が前記決定手段により決定した閾値未満である場合、前記第一のセグメントと前記第二のセグメントとを含むグループを作成する作成手段と
を有することを特徴とする情報処理装置。
【請求項２】
前記作成手段は、前記セグメント間の時間差が、前記決定手段にて決定した前記第一のセグメントに対する閾値以上である場合、前記第一のセグメントを含むが、前記第二のセグメントを含まないグループを作成することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記決定手段は、前記第一のセグメントに含まれる最も古い画像の撮影日時と最も新しい画像の撮影日時との時間差に基づいて、前記第一のセグメントに対する閾値を決定することを特徴とする請求項１または２に記載の情報処理装置。
【請求項４】
前記決定手段により決定される閾値は、セグメントに含まれる最も古い画像の撮影日時と最も新しい画像の撮影日時との時間差と正の相関関係にあることを特徴とする請求項３に記載の情報処理装置。
【請求項５】
前記決定手段により決定される閾値は、セグメントに含まれる画像データの数に基づくことを特徴とする請求項１または２に記載の情報処理装置。
【請求項６】
前記決定手段により決定される閾値は、セグメントに含まれる画像データの数と正の相関関係にあることを特徴とする請求項５に記載の情報処理装置。
【請求項７】
前記第一のセグメントに含まれる最も新しい画像の撮影位置と前記第二のセグメントに含まれる最も古い画像の撮影位置との差が距離閾値以下である場合、前記決定手段は、前記第一のセグメントに含まれる最も古い画像の撮影日時と前記第二のセグメントに含まれる最も新しい画像の撮影日時との時間差に基づいて、前記第一のセグメントに対する閾値を決定することを特徴とする請求項１または２に記載の情報処理装置。
【請求項８】
前記差が前記距離閾値より大きい場合、前記決定手段は、前記第一のセグメントに含まれる最も古い画像の撮影日時と最も新しい画像の撮影日時との時間差に基づいて、前記第一のセグメントに対する閾値を決定することを特徴とする請求項７に記載の情報処理装置。
【請求項９】
画像データの撮影日時の情報から求められる画像データ間の撮影の時間差と分割閾値とに基づいて、複数の画像を複数のセグメントに分割する分割手段を更に備え、
前記第一のセグメントに対する閾値は、前記分割閾値よりも大きい値であることを特徴とする請求項１乃至７のいずれか一項に記載の情報処理装置。
【請求項１０】
画像データ群を分割した複数のセグメントのうち第一のセグメントに含まれる画像の情報を用いて、当該第一のセグメントに対する閾値を決定する決定工程と、
前記第一のセグメントと当該第一のセグメントの次の第二のセグメントとのセグメント間の時間差が前記決定工程にて決定した閾値未満である場合、前記第一のセグメントと前記第二のセグメントとを含むグループを作成する作成工程と
を有することを特徴とする情報処理装置の制御方法。
【請求項１１】
コンピュータを、
画像データ群を分割した複数のセグメントのうち第一のセグメントに含まれる画像の情報を用いて、当該第一のセグメントに対する閾値を決定する決定手段、
前記第一のセグメントと当該第一のセグメントの次の第二のセグメントとのセグメント間の時間差が前記決定手段により決定した閾値未満である場合、前記第一のセグメントと前記第二のセグメントとを含むグループを作成する作成手段
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置およびその制御方法、並びにプログラムに関する。
【背景技術】
【０００２】
近年、デジタルカメラやスマートフォンの普及により手軽に撮影を行えることから、多くのユーザは大量の画像をパソコンに保存している。画像を保存する際に、後で所望の画像が容易に見つけられるように、旅行や結婚式といったイベントごとに、保存するフォルダを分けるなどして整理しておくことが望ましい。このような環境において、大量の画像を手作業で整理する手間を省くために、撮影日時の情報を用いることで、画像群をイベントごとのグループに分割する方法が提案されている。
【０００３】
例えば、特許文献１では、画像群を時系列に並べて隣接する全ての画像間の時間差の平均値を算出し、平均時間差を用いて算出した閾値を超える時間差を持つ画像間を分割することで、グループに分割する方法が提案されている。また、特許文献２では、グループに分割した後で、グループ内の画像数が所定の枚数以上になるように、撮影日時が近接する枚数の少ないグループを統合する方法が提案されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特願２００７−１２２１１０号公報
【特許文献２】特願２００７−１９９９２３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、撮影期間の短い傾向にあるイベントと、複数日に跨るような撮影期間の長い傾向にあるイベントでは、画像間の時間差が同じ値でも、イベントの区切れとして適切な場合と適切でない場合がある。例えば、日常の何気ないシーンを２日続けて撮影したとき、１日目と２日目には何ら関連が無く、独立したイベントであるため、１日目と２日目の画像は異なるグループに属するべきである。一方、宿泊を伴う旅行において、同様に２日続けて撮影したときは、旅行という同一のイベントであるため、１日目と２日目の画像は同じグループに属するべきである。
【０００６】
特許文献１の方法では、画像群から一つ閾値を算出するため、先述した日常の場合も旅行の場合も時間差が同じ値であれば、同じ分け方になってしまう。また、特許文献２の方法では、枚数の少ない画像が統合されるため、旅行のような撮影枚数の多い傾向にあるものは統合されない。
【０００７】
本発明は、上記問題を鑑み、画像群を適切にイベントごとのグループに分割することを目的とする。
【課題を解決するための手段】
【０００８】
上記課題を解決するために本願発明は以下の構成を有する。すなわち、情報処理装置であって、画像データ群を分割した複数のセグメントのうち第一のセグメントに含まれる画像の情報を用いて、当該第一のセグメントに対する閾値を決定する決定手段と、前記第一のセグメントと当該第一のセグメントの次の第二のセグメントとのセグメント間の時間差が前記決定手段により決定した閾値未満である場合、前記第一のセグメントと前記第二のセグメントとを含むグループを作成する作成手段とを有する。
【発明の効果】
【０００９】
本発明によれば、撮影期間の短い傾向にあるイベントでも複数日に跨るような長い傾向にあるイベントでも、画像群をイベントごとのグループに適切に分割することができる。
【図面の簡単な説明】
【００１０】
【図１】情報処理装置のハードウェア構成の例を示す図。
【図２】第一の実施形態に係る情報処理装置の機能構成の例を示す図。
【図３】画像間の時間差を算出した時間差情報のリストを示す図。
【図４】画像群をセグメントに分割したセグメント情報のリストを示す図。
【図５】セグメントを統合し作成したグループ情報のリストを示す図。
【図６】第一の実施形態に係るセグメント情報のリストの作成処理のフローチャート。
【図７】第一の実施形態に係るグループ情報のリストの作成処理のフローチャート。
【図８】第二の実施形態に係る情報処理装置の機能構成の例を示す図。
【図９】第二の実施形態に係る距離差の情報を追加したセグメント情報のリストを示す図。
【図１０】第二の実施形態に係るグループ情報のリストの作成処理のフローチャート。
【図１１】第三の実施形態に係る情報処理装置の機能構成の例を示す図。
【図１２】グループを作成するための分割条件が定義されたテーブルの構成例を示す図。
【図１３】第三の実施形態に係るグループ情報のリストの作成処理のフローチャート。
【図１４】第四の実施形態に係るフォトブックを作成処理のフローチャート。
【発明を実施するための形態】
【００１１】
以下、添付の図面を参照して、本発明の実施形態に基づいて詳細に説明する。なお、以下の実施形態において示す構成は一例に過ぎず、本発明は図示された構成に限定されるものではない。
【００１２】
＜第一の実施形態＞
図１は、本実施形態に係る情報処理装置のハードウェア構成例を示す図である。ＣＰＵ１０１は、コンピュータシステムの制御を司る中央演算装置である。ＣＰＵ１０１が、制御プログラムに基づいて、情報の演算や加工、各ハードウェアの制御を実行することにより後述する各機能構成、処理を実現する。ＲＡＭ１０２は、ランダムアクセスメモリであり、ＣＰＵ１０１の主メモリとして、実行プログラムのロードやプログラム実行に必要なワークメモリとして機能する。ＲＯＭ１０３は、ＣＰＵ１０１の動作処理手順を規定する制御プログラムを記録しているリードオンリーメモリーである。ＲＯＭ１０３には、コンピュータシステムの機器制御を行うシステムプログラムである基本ソフト（ＯＳ：Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）を記録したプログラムＲＯＭとシステムを稼動するために必要な情報などが記録されたデータＲＯＭがある。ＲＯＭ１０３の代わりにＨＤＤ１０９を用いてもよい。
【００１３】
ＮＥＴＩＦ１０４は、ネットワークインターフェースであり、ネットワーク（不図示）を介して送受信される画像データなどのデータの入出力制御を行う。ＶＲＡＭ１０５は、ビデオＲＡＭであり、表示装置であるディスプレイ１０６の画面に表示される画像を展開する。ディスプレイ１０６は、表示装置であり、例えば、ＣＲＴディスプレイや、液晶ディスプレイ等である。入力コントローラ１０７は、入力装置１０８からの入力信号を制御するコントローラである。入力装置１０８は、ユーザからの操作指示を受け付けるための外部入力装置であり、例えば、タッチパネル、キーボード、マウスなどが挙げられる。ＨＤＤ１０９は、ハードディスクドライブであり、記憶装置である。ＨＤＤ１０９は、アプリケーションプログラムや、画像などのデータ保存用に用いられる。
【００１４】
入力ＩＦ１１０は、ＣＤ（ＤＶＤ）−ＲＯＭドライブ、メモリカードドライブ等の外部装置と接続するためのインターフェースであり、例えば、デジタルカメラで撮影した画像データの読み出しなどに用いられる。入出力バス１１１は、上述した各ユニット間の接続するための入出力バス（アドレスバス、データバス、及び制御バス）である。
【００１５】
図２は、本実施形態に係る情報処理装置のグループ分割装置としての機能構成の例を示す。画像入力部２０１は、ＮＥＴＩＦ１０４またはＨＤＤ１０９または入力ＩＦ１１０を介して接続する外部装置からグループ分割の対象となる画像群（画像データ群）の情報を読み込む。時間差算出部２０２は、グループ分割の対象となる画像群の情報を画像入力部２０１から取得する。時間差算出部２０２は、画像を表す画像データを時系列に並べて画像データ間の撮影日時の時間差を算出し、図３の時間差情報のリストを出力する。セグメント分割部２０３は、時間差情報のリストを用いて、図６のフローにより画像群を１以上の画像データを含む複数のセグメントに分割して図４のセグメント情報のリストを出力する。
【００１６】
グループ作成部２０４は、セグメント情報のリストを用いて、図７のフローチャートによりセグメントを統合し、グループを作成する。グループには少なくとも１つ以上のセグメントが含まれることになる。グループ作成部２０４は、セグメント間がイベントの区切れ（境界）として適切か否かを判定するための閾値を、閾値算出部２０５を用いて算出する。閾値算出部２０５は、統合するか否かを判定する対象のセグメント間において、時系列で手前に位置するセグメントの情報をグループ作成部２０４より受け取り、その情報を用いて閾値を算出する。
【００１７】
本実施形態では、情報処理装置において、例えば、アルバムを作成するためのアプリケーションが図２に示すグループ分割装置としての機能構成を実現する。ＨＤＤ１０９に保存されたアルバム作成アプリケーションは、ディスプレイ１０６に表示されているアプリケーションのアイコンがユーザによりダブルクリック等にされることにより起動する。
【００１８】
図３の時間差情報リスト３０１は、時間差算出部２０２によって算出された各画像間の時間差情報のリストである。時間差情報リスト３０１は、時系列に並べた画像データのＩＤ（識別子）、ファイル名、撮影日時、次に撮影された画像との時間差の情報を含む。図３の例では、ＩＤ「１」、「２」の画像データが日常で撮影した画像を表す画像データである。また、ＩＤ「３」〜「１１０」の画像データが２日間の旅行で撮影した画像を表す画像データ、ＩＤ「１１１」〜「１１３」の画像データが上記とは別の日の日常で撮影した画像を表す画像データである。イベントの区切れとなる画像データ間の時間差は他と比べて大きい傾向にあるが、旅行のような複数日に跨るイベントにおいては、イベント内でも画像データ間の時間差が大きくなることがある。ここでは、旅行の１日目の最後に撮影した画像を表すＩＤ「４６」の画像データと、２日目の最初に撮影した画像を表すＩＤ「４７」の画像データとの時間差が１２時間であり、大きい値になっている。
【００１９】
図４のセグメント情報リスト４０１は、セグメント分割部２０３によって画像データ群が複数のセグメントに分割されたセグメント情報のリストである。セグメント情報リスト４０１は、セグメントのＩＤ（識別子）、先頭画像データと末尾画像データのファイル名、セグメントの長さ、次のセグメントとの時間差の情報を含んで構成される。セグメントの長さは、セグメントの先頭画像データと末尾画像データの時間差により算出される。すなわち、セグメントの長さとは、セグメントに含まれる最も古い画像の撮影日時と最も新しい画像の撮影日時との時間差（セグメントの撮影時間）である。次のセグメントとの時間差とは、セグメントに含まれる最も新しい画像の撮影日時と、次のセグメントの最も古い画像の撮影日時との時間差である。
【００２０】
図５のグループ情報リスト５０１は、グループ作成部２０４によってセグメントを統合して作成したグループ情報のリストである。グループ情報リスト５０１は、グループのＩＤ、先頭画像データと末尾画像データのファイル名の情報を含んで構成される。先頭画像データと末尾画像データはイベントの区切れを示しており、例えばＩＤ「１」の末尾画像データとＩＤ「２」の先頭画像データがイベントの区切れに位置する画像データとなる。
【００２１】
［処理フロー］
図６は、セグメント分割部２０３が時間差情報のリストを用いて画像群をセグメントに分割する動作を示すフローチャートである。本処理フローは、情報処理装置のＣＰＵ１０１がＨＤＤ１０９等に格納されたプログラムを読み出して実行することにより実現される。
【００２２】
Ｓ６０１にて、セグメント分割部２０３は、変数の初期化を行う。変数ｓは、セグメントの先頭画像データのインデックスであり、変数ｉは処理対象の画像データのインデックスである。なお、画像のインデックスは、時間差情報リスト３０１の画像データを指すもので、インデックスの値が「０」であればＩＤ「１」の画像データを指し、値が「５」であればＩＤ「６」の画像データを指す。
【００２３】
Ｓ６０２にて、セグメント分割部２０３は、ｉ番目の画像データが時間差情報リスト３０１の最後の画像データであるか否かを判定する。最後である場合は（Ｓ６０２にてＹＥＳ）、Ｓ６０３にて、セグメント分割部２０３は、セグメント情報リスト４０１にセグメント情報を追加する。追加するセグメント情報の先頭画像データには、ｓ番目の画像データが設定される。末尾画像データには、ｉ番目の画像が設定される。セグメント長には、先頭画像データと末尾画像データの時間差から算出される値が設定される。ここでは、次のセグメントとの時間差には、次のセグメントが存在しないため「値なし」が設定される。その後、本処理フローを終了する。
【００２４】
ｉ番目が最後の画像データでないと判定された場合は（Ｓ６０２にてＮＯ）、Ｓ６０４にて、セグメント分割部２０３は、ｉ番目の画像データと次の画像データ（ｉ＋１番目の画像データ）との時間差を取得する。Ｓ６０５にて、セグメント分割部２０３は、時間差が所定の閾値以上であるか否かを判定する。ここでは、所定の閾値（以下、分割閾値ともいう）として、「８時間」を用いる。しかし、これに限定するものではなく、他の値を用いてもよく、また、ユーザが任意の値を設定できるようにしてもよい。なお、分割閾値は、２４時間以下とするのが好ましい。時間差が８時間以上でなければ、すなわち、時間差が８時間未満であれば（Ｓ６０５にてＮＯ）、Ｓ６０８にて、セグメント分割部２０３は、処理対象をｉ＋１番目に移す。８時間以上であれば（Ｓ６０５にてＹＥＳ）、セグメント分割部２０３は、ｉ番目の画像データがセグメントの末尾であると判定し、Ｓ６０６にてセグメント情報リスト４０１にセグメント情報を追加する。追加するセグメント情報の先頭画像データ、末尾画像データ、セグメント長はＳ６０３と同様に設定される。次セグメントとの時間差には、追加するセグメントの末尾画像データ（ｉ番目の画像データ）と、次のセグメントの先頭画像データとなるｉ＋１番目の画像データとの時間差を設定する。
【００２５】
Ｓ６０７およびＳ６０８にて、セグメント分割部２０３は、処理の対象を次に移すため、変数ｓと変数ｉにｉ＋１を設定する。Ｓ６０２でｉ番目の画像が最後と判定されるまで、グループ作成部２０４は、Ｓ６０４〜Ｓ６０８を繰り返す。これにより、図４に示すようなセグメント情報リスト４０１が出力される。
【００２６】
図７は、グループ作成部２０４がセグメント情報リスト４０１を用いてセグメントを統合し、グループを作成する動作を示すフローチャートである。本処理フローは、情報処理装置のＣＰＵ１０１がＨＤＤ１０９等に格納されたプログラムを読み出して実行することにより実現される。
【００２７】
Ｓ７０１にて、グループ作成部２０４は、変数の初期化を行う。変数ｓは、グループの先頭セグメントのインデックスであり、変数ｉは処理対象のセグメントのインデックスである。なお、セグメントのインデックスは、セグメント情報リスト４０１のセグメントを指すもので、インデックスの値が「０」であればＩＤ「１」のセグメントを指す。また、ここでの変数は、図６のフローチャートにて用いた変数とは関係しない。
【００２８】
Ｓ７０２にて、グループ作成部２０４は、ｉ番目のセグメントがセグメント情報リスト４０１の最後のセグメントであるか否かを判定する。最後のセグメントである場合は（Ｓ７０２にてＹＥＳ）、Ｓ７０３にて、グループ作成部２０４は、グループ情報リスト５０１にグループ情報を追加し、処理を終了する。追加するグループ情報の先頭画像は、ｓ番目のセグメントの先頭画像データを、末尾画像データはｉ番目のセグメントの末尾画像データを設定する。
【００２９】
ｉ番目が最後でないと判定された場合は（Ｓ７０２にてＮＯ）、Ｓ７０４にて、グループ作成部２０４は、ｉ番目のセグメントのセグメント長と、次のセグメント（ｉ＋１番目のセグメント）との時間差を取得する。Ｓ７０５にて、グループ作成部２０４は、ｉ番目のセグメントのセグメント長の値を用いて下記の式（１）により閾値を算出する。
【００３０】
統合閾値＝分割閾値＋（セグメント長÷２）・・・（１）
上述したように、本実施形態では、グループを統合するための統合閾値として、分割閾値よりも大きい値を設定する。なお、統合閾値の算出式は上述した式（１）に限定されるものではない。旅行などの複数日に跨るイベントはセグメント長が長い傾向にあるため、分割閾値よりも大きく且つセグメント長と正の相関関係にある統合閾値を算出する算出式であればよい。すなわち、セグメント長が長いほど、統合閾値が大きくなるようにしてもよい。他にも、複数日に跨るイベントは撮影枚数が多い傾向にあるため、分割閾値よりも大きく且つセグメント内に含まれる画像の枚数と正の相関関係にある統合閾値を算出してもよい。すなわち、セグメント内に含まれる画像の枚数が多いほど、統合閾値が大きくなるようにしてもよい。また、統合閾値は計算式で算出せず、別途統合閾値のリストと各閾値の条件を定義したテーブルを用意し、セグメントの情報から条件にあてはまる閾値を参照するようにしてもよい。ただし、統合閾値は、２４（時間）未満とするのが好ましい。
【００３１】
Ｓ７０６にて、グループ作成部２０４は、次のセグメントとの時間差が、Ｓ７０５にて算出した統合閾値以上であるか否かを判定する。統合閾値以上でなければ、すなわち、統合閾値未満であれば（Ｓ７０６にてＮＯ）、Ｓ７０９にて、グループ作成部２０４は、処理対象をｉ＋１番目に移しセグメントを統合する。統合閾値以上であれば（Ｓ７０６にてＹＥＳ）、グループ作成部２０４は、ｉ番目のセグメントの末尾画像データがグループの末尾であると判断し、Ｓ７０７にてグループ情報リスト５０１にグループ情報を追加する。追加するグループ情報の先頭画像データ、末尾画像データはＳ７０３と同様に設定される。Ｓ７０８およびＳ７０９では、処理の対象を次に移すため、グループ作成部２０４は、変数ｓと変数ｉにｉ＋１を設定する。Ｓ７０２にてｉ番目のセグメントが最後のセグメントと判定されるまで、グループ作成部２０４は、Ｓ７０４〜Ｓ７０９を繰り返す。これにより、グループ情報リスト５０１が出力される。
【００３２】
ここで、図４を用いて具体的に説明する。ＩＤ「１」のセグメントは、統合閾値が８＋（０．２／２）＝８．１となる（Ｓ７０５）。この場合、次のセグメントとの時間差である「１２」は、統合閾値以上であるため（Ｓ７０６にてＹｅｓ）、ＩＤ「１」のセグメントは、次のセグメントと統合されない。したがって、ＩＤ「１」のセグメントが１つのグループとなる。
【００３３】
ＩＤ「２」のセグメントは、統合閾値が８＋（１３／２）＝１４．５となる（Ｓ７０５）。この場合、次のセグメントとの時間差である「１２」は、統合閾値未満であるため（Ｓ７０６にてＮｏ）、グループは統合されることになる。すなわち、ＩＤ「２」のセグメントは、次のセグメントと統合される。
【００３４】
ＩＤ「３」のセグメントは、統合閾値が８＋（８．４７／２）＝１２．２３５となる（Ｓ７０５）。この場合、次のセグメントとの時間差である「９０」は、統合閾値以上であるため（Ｓ７０６にてＹｅｓ）、ＩＤ「３」のセグメントは、次のセグメントと統合されない。すなわち、ＩＤ「２」と「３」のセグメントが１つのグループとなる。
【００３５】
図３に示すように、ＩＤ「１」のセグメントとＩＤ「２」のセグメントは、次のセグメントとの時間差が同じである。しかしながら、上述した実施形態では、ＩＤ「１」は、次のセグメントと統合されず、その一方で、ＩＤ「２」は、次のセグメントと統合される。これにより、図３に示す旅行を１つのグループにすることができる。一方で、日常と旅行は統合されない。
【００３６】
本願発明に係る情報処理装置を含むシステムは、例えば、グループ情報リスト５０１の情報を用いて、グループごとにフォルダを作成し、画像を移動することで、画像を整理することができる。その他の本実施形態に係る出力結果を用いた画像の整理方法として、システムは、フォルダを作成する代わりに、画像のメタデータにグループのＩＤを付与して画像を整理してもよい。
【００３７】
本実施形態では、セグメント分割部２０３が画像群をセグメントに分割しているが、予め外部装置でセグメントに相当する画像集合を作成している場合は、必ずしもセグメントの分割処理は必要無い。その場合は、セグメント分割部２０３は、外部の装置で分割された各セグメントのセグメント長と次のセグメントの時間差を算出してセグメント情報リスト４０１を作成すればよい。
【００３８】
以上、本実施形態によれば、画像群をセグメントに分割してセグメントの長さの情報を用いて閾値を特定することで、画像データ群を適切にイベントごとのグループに分割することができる。言い換えれば、第２の閾値を撮影傾向に応じて決定することにより、画像データ群を適切にイベント毎のグループに分割することができる。
【００３９】
＜第二の実施形態＞
第一の実施形態では、複数日に跨るイベントはセグメント長も長くなる傾向にあることを利用して、セグメントを統合するか否かを判定する閾値の算出にセグメント長を用いていた。しかし、旅行の出発日のように複数日に跨るイベントにおいてもセグメント長が短くなる場合、セグメントが統合されないことがある。したがって、本実施形態は、セグメント間の距離差を算出し、距離差が小さい場合に閾値が大きくなるよう閾値を補正する。以下に第一の実施形態との差異について説明する。ここでの距離差とは、セグメントに含まれる画像データの撮影位置間の距離の差を意味する。
【００４０】
図８は、本実施形態に係る情報処理装置の機能構成の例を示し、図２の情報処理装置に画像データ間の距離差を算出する距離差算出部８０１が新たに加えられている。距離差算出部８０１は、画像に付与されている撮影位置の情報を用いて画像間の距離を算出する。撮影位置の情報としては、ＧＰＳ（Ｇｌｏｂａｌ  Ｐｏｓｉｔｉｏｎｉｎｇ  Ｓｙｓｔｅｍ）による緯度、経度の情報があり、距離の算出は、緯度、経度の情報から画像データ間の距離を算出する公知の方法を用いることができる。
【００４１】
図９のセグメント情報リスト９０１は、先述した図４のセグメント情報リスト４０１に次セグメントとの距離差を加えたものである。距離差の情報は、先述した図６のフローのＳ６０６において設定した時間差の情報と同様に、セグメントの末尾画像データと次のセグメントの先頭画像データの距離差を距離差算出部８０１で算出することで設定できる。
【００４２】
図１０は、本実施形態に係るグループ作成のフローチャートを示す。図１０においては、図７の動作フローに、距離差に応じて閾値を補正する処理を加えている。本処理フローは、情報処理装置のＣＰＵ１０１がＨＤＤ１０９等に格納されたプログラムを読み出して実行することにより実現される。
【００４３】
Ｓ１００１にて、グループ作成部２０４は、ｉ番目のセグメント長と、次のセグメント（ｉ＋１番目のセグメント）との時間差および距離差を取得する。
【００４４】
Ｓ１００２にて、グループ作成部２０４は、取得した距離差が所定の閾値以下であるか否かを判定する。具体的には、ｉ番目のセグメントの最後の画像データの撮影場所とｉ＋１番目のセグメントの最初の画像データの距離差が距離閾値以下であるか否かを判定する。この判定では、例えば、旅行の宿泊先で夕食時と翌日の朝食時に撮影した場合など、セグメントの最後の画像データの撮影場所とセグメントの最初の画像データの撮影場所が同じか否かを判定することができる。ここでの所定の閾値として、「０．５ｋｍ」を用いることとする。しかし、これに限定するものではなく、ユーザが任意の値を設定できるようにしてもよい。０．５ｋｍ以下である場合は（Ｓ１００２にてＹＥＳ）、Ｓ１００３にて、グループ作成部２０４は、セグメント長に、次のセグメントであるｉ＋１番目のセグメントのセグメント長を加算する。０．５ｋｍより大きい（距離閾値より大きい）場合は（Ｓ１００２にてＮｏ）、そのままＳ７０５へ進む。
【００４５】
旅行のイベントでは、出発日の撮影期間が短い場合でも、翌日は朝から昼過ぎまで観光するなど撮影期間は比較的長い傾向にある。本実施形態では、一のセグメントの最後の画像データと、次のセグメントの最初の画像データ間の距離が小さい場合に、次のセグメントのセグメント長を加算することにより、Ｓ７０５で算出される閾値を大きくすることができ、セグメントが統合されやすくなる。一方、日常のイベントとして、２日続けて自宅で子供を撮影した場合は、Ｓ１００２で同じ場所と判定されるが、自宅における日常の撮影は撮影期間が短いため、次のセグメントのセグメント長を加算しても閾値がほとんど大きくならず、セグメントは統合されにくい。
【００４６】
以上、本実施形態によれば、距離差に応じて次のセグメントのセグメント長を加算して閾値を補正することで、適切にセグメントが統合されたグループを作成することができる。
【００４７】
＜第三の実施形態＞
第一の実施形態では、グループ作成部２０４が閾値算出部２０５により算出された閾値を用いて、イベントの区切れとして適切か否かを判定している。本実施形態では、グループ作成部２０４が複数の条件を用いてイベントの区切れか否かを判定する。以下に第一の実施形態との差異について説明する。
【００４８】
図１１は、本実施形態に係る情報処理装置の機能構成の例を示し、図２の情報処理装置の閾値算出部２０５の代わりに、条件取得部１１０１が設けられている。条件取得部１１０１はイベントの区切れとなるグループの末尾を判定するための条件を図１２の分割条件テーブルより取得する。グループ作成部２０４は、取得した分割条件を用いて図１３のフローチャートによりグループを作成する。
【００４９】
図１２の分割条件テーブル１２０１は、条件のＩＤ（識別子）、グループを作成する場合におけるセグメント間の時間差の条件、およびセグメントの長さの条件の情報を含んで構成される。例えば、ＩＤ「２」の条件は、セグメント間の時間差が「１２時間以上」、且つ、セグメント長が「２時間以下」の場合は、グループの末尾と判定する条件である。セグメント間の時間差が２４時間を超えるような大きい時間差である場合は、イベントの区切れである可能性が高いためＩＤ「３」の条件では、セグメントの長さの条件を含まず、必ずグループの末尾と判定する。図１２の例では、３つの条件を分割条件としているが、条件の数はいくつでも構わない。セグメント間の時間差が大きければ大きいほどイベントの区切れである可能性は高い傾向にあるため、複数の条件を定義する場合は、時間差が大きくなるほどセグメントの長さの条件を緩めるようにしてもよい。
【００５０】
図１３は、本実施形態に係るグループ作成のフローチャートを示す。図１３においては、図７の動作フローから、分割条件を取得して条件を満たすか否かを判定することでグループを作成するように変更している。Ｓ１３０１にて、条件取得部１１０１は、分割条件を取得する。Ｓ１３０２にて、条件取得部１１０１は、取得した分割条件の何れかを満たすか否かを判定する。条件を満たさない場合は（Ｓ１３０２にてＮＯ）、Ｓ７０９にて、グループ作成部２０４は、処理対象をｉ＋１番目のセグメントに移してセグメントを統合する。分割条件を満たす場合は（Ｓ１３０２にてＹＥＳ）、グループ作成部２０４は、ｉ番目のセグメントがグループの末尾であると判断し、Ｓ７０７にてグループ情報を追加する。
【００５１】
以上、本実施形態によれば、閾値を算出する方法ではなく、分割条件を用いる方法で画像群を適切にグループに分割することができる。
【００５２】
＜第四の実施形態＞
第一〜第三の実施形態で説明した情報処理装置は、大量の画像を整理する手間を省く目的だけでなく、フォトブックを作成する目的にも利用することができる。フォトブックを作る手法として、イベントの区切れとページの区切れを合わせる方法が知られている。この方法では、見た目に美しいフォトブックを生成することができる。例えば、２ページ目に日常の画像と旅行の初日の画像を混ぜてレイアウトするよりも、２ページ目は日常の画像のみをレイアウトして、３ページ目から旅行の画像をレイアウトした方が見た目に美しいフォトブックに仕上げることができる。本実施形態では、グループ分割装置を用いて得られたグループの情報に基づいて、イベントの区切れとページの区切れを合わせてフォトブックを作成する。
【００５３】
図１４は、フォトブックを作成するシステムが第一〜第三の実施形態にて述べた情報処理装置の機能を用いてフォトブックを作成する動作を示すフローチャートである。ここでは、システムが上記の情報処理装置の機能を含むものとして説明する。また、システムは、情報処理装置として機能し、第一〜第三の実施形態に係る情報処理装置と物理的に同じ装置であってもよいし、異なる装置であってもよい。
【００５４】
Ｓ１４０１にて、システムは、ユーザからフォトブックを作成する対象となる画像データ群の情報の入力を受け付ける。
【００５５】
Ｓ１４０２にて、システムは、ユーザから作成したいフォトブックのページ数などフォトブックに関する情報の入力を受け付ける。
【００５６】
Ｓ１４０３にて、システムは、ユーザから入力された画像群の情報を、情報処理装置の時間差算出部２０２に渡してグループ作成部２０４からグループ情報のリストを受け取る。そして、Ｓ１４０１で受け付けた画像群をグループに分割する。なお、グループの分割方法は、第一〜第三の実施形態と同様の方法とすればよい。ここで、Ｓ１４０２で入力されたページ数の情報を用いて、ページ数が多いほどグループに分割され易く、ページ数が少ないほどグループに分割され難くなるようにグループ作成の条件を決定してもよい。これを実現するためには、第一、第二の実施形態のように閾値を算出する方法ではページ数と負の相関にある重みを閾値に掛ければよい。また、第三の実施形態のように分割条件を用いる方法では、ページ数の条件を加えてページ数が多いほど分割条件を緩めればよい。なお、ページ数の情報を用いて分割され易さを制御する方法を示したが、ページ数の情報に限定されず、分割され易さの度合いを示す情報であれば他の情報を用いてもよい。例えば、スライドショーの作成においては、作成するスライドショーの再生時間を分割され易さの度合いを示す情報を用いて、再生時間が長いほど分割され易くしてもよい。
【００５７】
Ｓ１４０４にて、システムは、受け取ったグループ情報のリストとＳ１４０２で入力されたページ数の情報に基づいて、どのページにどのグループを割り当てるかを決定する。１のページに１のグループを割り当ててもよいし、１のページに複数のグループを割り当ててもよいし、１のグループを複数のページに割り当ててもよい。例えば、旅行のように画像数の多いグループは、複数のページに割り当ててもよい。また日常のように画像数の少ないグループは、一つのページに複数のグループを割り当ててもよい。本実施形態では、ページ数がグループの数より多い場合は、１つのページに複数のグループを割り当てないようにする。
【００５８】
Ｓ１４０５にて、システムは、割り当てられたグループに含まれる画像データから使用する画像データを選択する。
【００５９】
Ｓ１４０６にて、システムは、選択した画像データに基づく画像をレイアウトする。ここでのレイアウトは、テンプレートなどを用いてもよい。
【００６０】
Ｓ１４０７にて、システムは、全てのページにレイアウトが完了したか否かを判定する。レイアウトが完了していないページがある場合は（Ｓ１４０７にてＮＯ）、Ｓ１４０５〜Ｓ１４０６を繰り返してフォトブックを作成する。全ページに対してレイアウトが完了した場合は（Ｓ１４０７にてＹＥＳ）本処理フローを終了する。
【００６１】
本実施形態によれば、イベント毎に適切にグループ分けがされていることにより、Ｓ１４０５の画像選択の際に、適切な画像群から画像を選択することができる。したがって、見た目に美しいフォトブックを生成することができる。
【００６２】
以上、本実施形態によれば、グループ分割装置を用いることで、イベントの区切れとページの区切れを合わせた見た目に美しいフォトブックを作成することができる。
【００６３】
＜その他の実施形態＞
本発明は上述した実施形態に限定されるものではない。例えば、上述した実施形態では、グループ分割に基づいて、画像をレイアウトしてアルバムを作成する方法について説明したが、他の方法に用いることもできる。例えば、グループ分割に基づいて画像データ群をグループ分けして表示するようにしてもよい。このとき、グループが適切に分割されていることで、グループの撮影日時を適切に表示することもできる。なお、グループの撮影日時は、画像群の最古の画像データの撮影日時と、最新の画像データの撮影日時とに基づいて、特定することができる。
【００６４】
本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施例の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【符号の説明】
【００６５】
２０１：画像入力部、２０２：時間差算出部、２０３：セグメント分割部、２０４：グループ作成部、２０５：閾値算出部、８０１：距離差算出部、１１０１：条件取得部
【図１】
0006465773.tif 000002
【図２】
0006465773.tif 000003
【図３】
0006465773.tif 000004
【図４】
0006465773.tif 000005
【図５】
0006465773.tif 000006
【図６】
0006465773.tif 000007
【図７】
0006465773.tif 000008
【図８】
0006465773.tif 000009
【図９】
0006465773.tif 000010
【図１０】
0006465773.tif 000011
【図１１】
0006465773.tif 000012
【図１２】
0006465773.tif 000013
【図１３】
0006465773.tif 000014
【図１４】
0006465773.tif 000015