(57)【特許請求の範囲】
【請求項１】
複数の画像を１以上の部分集合に判定する方法であって、ここで、各々の画像は撮像装置による撮像時間を特定するための時間データ及び位置を特定するための位置データと関連付けられる、
前記複数の画像の撮像時間順リストにて隣接する対の画像の時間変数を、当該隣接する対の画像の時間データに基づき判定するステップと、
前記撮像時間順リスト順にて隣接する対の画像の位置変数を、当該隣接する対の画像の位置データに基づき判定するステップと、
前記複数の画像の各画像の撮像の前記時間及び前記位置において前記撮像の速度データを生成するステップと、
前記画像における前記撮像時間順リストをコスト関数に基づいて１以上のイベントの部分集合に区分するステップとを有し、
前記コスト関数は、前記速度データに対して重み付けされる前記時間変数及び前記距離変数の正規化に従って判定されることを特徴とする方法。
【請求項２】
速度データを判定するステップは、
（ｉ）前記画像と関連付けられたメタデータから前記速度データを算出するステップ、
（ii）速度ログデバイスから前記速度データを受信するステップ
の少なくとも１つを含むことを特徴とする請求項１に記載の方法。
【請求項３】
前記時間変数は前記撮像装置の前記速度が所定の閾値を超える場合に前記距離変数よりも大きく重み付けされ、
前記距離変数は前記撮像装置の前記速度が前記所定の閾値を下回る場合に前記時間変数よりも大きく重み付けされる
ことを特徴とする請求項１に記載の方法。
【請求項４】
前記重み付けすることは、前記時間又は前記距離のいずれかを選択することを含むことを特徴とする請求項１に記載の方法。
【請求項５】
前記重み付けすることは、前記速度データが速度閾値を下回る場合に９０％の距離及び１０％の時間であり、前記速度データが前記速度閾値を上回る場合に１００％の時間であることを特徴とする請求項４に記載の方法。
【請求項６】
前記速度データは、前記時間変数及び前記距離変数から判定されることを特徴とする請求項１に記載の方法。
【請求項７】
画像の前記撮像時間順リストを作成するために前記画像の特徴により前記複数の画像を順序付けするステップを更に備えることを特徴とする請求項１記載の方法。
【請求項８】
前記画像の前記特徴は、撮像時間、ファイル名及び基準点からの距離のうちの少なくとも１つであることを特徴とする請求項７に記載の方法。
【請求項９】
前記速度データは、速度情報の周期サンプリング又は前記撮像装置の前記位置のＧＰＳログのうちの少なくとも１つから導出されることを特徴とする請求項１に記載の方法。
【請求項１０】
前記コスト関数は、前記時間変数及び前記距離変数の加重平均であることを特徴とする請求項１に記載の方法。
【請求項１１】
前記時間変数及び前記距離変数の前記加重平均に対する重みは、前記速度データから導出されることを特徴とする請求項１０に記載の方法。
【請求項１２】
画像と関連付けられた前記コスト関数がコスト閾値を上回る場合に新しく区分された部分集合が作成され、前記コスト関数が前記コスト閾値を下回る場合に前記画像が既存の部分集合に割り当てられるように、前記画像は前記コスト閾値に基づいて前記部分集合に区分されることを特徴とする請求項１に記載の方法。
【請求項１３】
前記時間変数及び前記距離変数は、前記順序付けされた画像のセットの隣接する画像から導出されることを特徴とする請求項１に記載の方法。
【請求項１４】
前記時間変数は前記隣接する画像間の時間差、前記距離変数は前記隣接する画像間の距離計測値であることを特徴とする請求項１３に記載の方法。
【請求項１５】
前記速度データは、前記写真撮影者／撮像装置の前記２つの画像間の前記速度、及び、前記画像が撮影された時の前記撮像装置の前記速度のうちの少なくとも１つから導出されることを特徴とする請求項１に記載の方法。
【請求項１６】
前記正規化は、平均分散正規化、機能ワーピング／ヒストグラム平坦化又はＭＡＰ適応のうちの１つを含むことを特徴とする請求項１に記載の方法。
【請求項１７】
請求項１乃至１６のいずれか１項に記載の方法を実行するようにコンピュータ化装置により実行されるコンピュータプログラムを記録したことを特徴とする非一時的なコンピュータ可読記憶媒体。
【請求項１８】
請求項１乃至１６のいずれか１項に記載の方法を実行するように構成されることを特徴とするコンピュータ化装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像をクラスタリングすることに関し、特にイベントに基づいて画像をクラスタリングすることに関する。
【背景技術】
【０００２】
従来の多くの写真クラスタリングアルゴリズムは、時間情報に依存して写真をグループに編成するものである。例えば写真は、撮影された日付又は時間により順序付けされた写真のリストにおける大きい時間差を識別することでグループ化されることが多い。時間はイベント境界を判定するための重要な標識であるが、単独で使用されると導出される値が制限される。例えば、１時間以上が経過した時、写真撮影者は、６０ｋｍ離れた新しい場所にいる可能もあるし、又は同一の場所にいる可能性もある。それは、新しいイベントが発生したか否かを識別できる移動距離情報という付加情報である。
【０００３】
時間情報は、通常、カメラ等の撮像装置と一体化されたリアルタイムクロックが生成したタイムスタンプを使用して撮像画像と関連付けられる。地理的データ、ジオデータ又はジオタグとしても既知である位置データは、一般に、全地球測位システム（ＧＰＳ）デバイス等の衛星位置決め／ナビゲーションデバイスを使用して判定される。そのようなデバイスもカメラと一体化される。そのような情報は、撮像画像と関連付けられる場合のメタデータであり、一般に画像のＪＰＥＧ（．ｊｐｇ）ファイルのＥＸＩＦコンポーネントにおいて編成される。
【０００４】
時間及び位置の情報に基づいて写真をグループに配列する技術は、長年存在しているが、ジオタグ及びタイムスタンプを供給するカメラが主に使用されるようになってきたのはつい最近のことである。ＧＰＳ情報を写真のＥＸＩＦデータに組み込むカメラがなければ、ユーザは、手動で写真へのＧＰＳ情報に注釈を付けるか、あるいはＧＰＳログ上のタイムスタンプと写真上のタイムスタンプとを相互参照することにより、後で写真に対してＧＰＳ情報を提供するＧＰＳロガーを写真と共に保持する必要がある。これらの方法は、双方とも不便で時間がかかる。手動で写真をジオタグ付けするかあるいはＧＰＳログと相互参照するオーバヘッドは、写真をクラスタリングするために位置情報を使用することで得られる潜在的利益をはるかに上回ることが示される。その結果、写真をジオタグ付けするオーバヘッドは時間を意味しており、場所に基づくクラスタリングアルゴリズムは広範に採用されていない。しかし、写真上でジオタグを提供するカメラが更に普及するにつれ、時間及びＧＰＳの情報を使用して写真をグループ化する写真クラスタリングアルゴリズムはより広範に使用されるようになる。その結果、ＥＸＩＦデータにジオタグを提供するカメラの普及が予想されることに伴い、そのような情報は、フォトコレクションをイベントにグループ化するために利用される。
【０００５】
イベントを識別する既知の方法は、時間により順序付けされた写真のリストの隣接する写真間の時間差及び距離差に注目し、時間外れ値及び距離外れ値を識別しようとする。この手法は、写真撮影者が同一のイベントに対して２組の写真、すなわち１つの場所において１つの写真及び同日のより遅い時間に同一の場所で更なる写真を撮影する場合の状況において常に有用ではない。第１の組の最後の写真と第２の組の最初の写真との間の境界においては、時間の大きな変化のために時間外れ値であると考えられるが、同一の領域にあったために距離外れ値であるとは考えられない。
【０００６】
他の技術は、時間差又は距離差外れ値が発生する時点を識別しようとする。これらの手法の欠点は、時間又は距離のみを考慮することで新しいイベントが間違って検出される可能性があることである。例えば、バス又は自動車で移動している間に写真が撮影される等の移動イベントの場合、大きな距離差が外れ値として検出される結果、移動イベントは誤って多数のイベントに分解される。また、１つの場所において撮影された高速連写の写真があるが、連写間の時間が外れ値であると考えられる場合、イベントは誤って多数のイベントに分解される。
【０００７】
また、双方の従来技術は、事前定義された数のクラスタを容易に生成できない。クラスタの数は、外れ値を構成するものに対する閾値を変更することで調整される。しかし、そのような手法は不便であり、作成されるクラスタの数を容易に設定できない。
【発明の概要】
【発明が解決しようとする課題】
【０００８】
各写真と関連付けられた時間及び位置の情報等のメタデータに基づいて一組の写真をイベントにグループ化する方法を本明細書において開示する。時間及び位置の情報は、新しいイベントが始まる場所に対する重要な標識である。多くの場合、ユーザが撮影した２つの写真間の時間の著しい変化及び／又は距離の著しい変化は、新しいイベントの始まりを示す。方法は、写真撮影者がある領域を歩き回っている時に写真が撮影されたイベントと共に移動イベントをグループ化する。
【０００９】
写真等のメディアオブジェクトは、多くの場合、ユーザがそれらを容易に編成、レビュー及び探索するのを支援するためにイベントにグループ化される。そのような要求は、デジタル写真の普及及びユーザが撮影する大量の写真に起因している。現在のフォトアルバム作成アプリケーションにおいて、ユーザがフォトコレクションからイベントを思い出したり識別したりするのを支援するために、写真はイベントにグループ化され、イベントは有用な地理情報でラベル付けされる。これらの特徴は、ユーザがフォトコレクションからイベントを見つけて選択し、フォトアルバムを作成するのを支援する。本発明は、現在のフォトアルバム作成ソフトウェアのグループ化の態様に関する。
【課題を解決するための手段】
【００１０】
本発明の一態様によれば、複数の画像を１つ以上のイベントの部分集合に判定する方法が提供される。各画像は、撮像装置による画像の撮像の時間及び位置を特定する時間及び位置のデータと関連付けられる。方法は、撮像時間順リストにおける隣接する対の画像の時間変数を、その隣接する対の画像の時間データに基づいて判定する。次に、撮像時間順リストにおける隣接する対毎の距離変数を、当該対の画像と関連付けられた位置データに基づいて判定される。そして、方法は、複数の画像の各画像の撮像の時間及び位置において撮像装置の速度データを判定する。その後、撮像時間順リストを、速度データに対して重み付けされる時間変数及び距離変数の正規化に従って判定されるコスト関数に基づいて１つ以上のイベントの部分集合に区分される。
【００１１】
他の態様も開示する。
【００１２】
次に、以下の図面を参照して、本発明の少なくとも１つの実施形態を説明する。
【図面の簡単な説明】
【００１３】
【図１】図１は、順序付けされた写真のリストをイベントにグループ化することに伴う一般的な問題を示す図である。
【図２】図２は、画像をクラスタリングするために、順序付けされた写真のリストの隣接する写真間の時間差を考慮する従来技術の一例を示す図である。
【図３】図３は、画像をクラスタリングするために、順序付けされた写真のリストの隣接する写真間の時間差及び距離差を考慮する従来技術の一例を示す図である。
【図４】図４は、順序付けされたリストの隣接する写真間の「コスト」を導出する（正規化された時間変数及び距離変数の加重和に基づいて、重みは速度情報に基づく）手法を示すハイレベルの図である。
【図５】図５は、コスト関数のピークが新しいイベントの始まりに対応する順序付けされたリストの隣接する写真の全ての対の間で算出された「コスト」の一例を示すグラフである。
【図６】図６は、時間、位置及び速度の情報を使用して新しいイベントの始まりを検出する処理を示す概略的なフローチャートである。
【図７】図７は、平均分散正規化の処理を示す概略的なフローチャートである。
【図８】図８は、速度変数を算出する処理を示す概略的なフローチャートである。
【図９】図９は、コスト関数を算出する処理を示す概略的なフローチャートである。
【図１０Ａ】、
【図１０Ｂ】、
【図１０Ｃ】図１０Ａ、図１０Ｂ及び図１０Ｃは、２つの飛行機旅行で撮影された画像の一組の場所を示す図である。図１０Ｂは、重みが速度に適応しない場合に画像をイベントにグループ化することを示す図である。図１０Ｃは、重みが速度に適応する場合に画像をイベントにグループ化することを示す図である。
【図１１】図１１は、イベントにグループ化されたユーザのフォトコレクションを表示する本発明に係る画像クラスタリングアプリケーションを使用する場合にユーザが遭遇する第１の画面を示すスクリーンショットである。
【図１２】図１２は、使用される見開きページの数及びどの見開きページにどのイベントが使用されるかをユーザが特定する第２の画面を示すスクリーンショットである。
【図１３】図１３は、見開きページに使用される画像をユーザが選択する第３の画面を示すスクリーンショットである。
【図１４】図１４は、画像のレイアウトを修正する方法を示す第３の画面を示す更なるスクリーンショットである。
【図１５Ａ】、
【図１５Ｂ】図１５Ａ及び図１５Ｂは、説明される構成が実施される汎用コンピュータシステムの概略ブロック図を形成する図である。
【発明を実施するための形態】
【００１４】
本発明者等によれば、時間及び距離の量が非常に異なるため、双方ともマージ可能な状態になる前に変換される必要があることに注視する。単に双方が追加されると、多くの場合、一方の量が他方の量より数桁大きいために最終的に一方の量のみが考慮される。従来技術は、これらの異なる量を有用に合成する方法についての指示又は指導を本発明者に提供していない。
【００１５】
デジタル写真の普及に伴い、ユーザが撮影する画像の数は大幅に増加している。しかし、撮影された写真の数が増加するにつれ、フォトコレクションで画像を管理し、ソートし、見つけることがより困難になる。そこで、編成し且つユーザがフォトコレクションの種々の部分を認識するのを支援するためにフォトコレクションを認識可能なイベントにグループ化する方法を開示する。この方法は、ユーザのコレクションがイベントに編成され、ユーザがフォトアルバムに使用するイベントを選択するフォトアルバム作成アプリケーションにおいて使用されることが好ましい。
【００１６】
以下の説明は、フォトコレクションをトラベルイベントに対応する１つ以上のグループに分解するシステムを開示する。写真撮影者が高速で移動していた場合、例えば自動車又はバスに乗っている間、あるいは遊園地又は博物館等の領域を歩き回っている間に写真が撮影された場合でも、システムはフォトコレクションを適切なトラベルイベントにグループ化する。トラベルイベントを検出する場合、訓練データを必要とする機械学習を使用する従来技術もある。訓練データを必要とする危険性は、システムがデータに過度に適合するようになり、任意のデータの集合に関して良好な結果をもたらすには一般的でないことである。現在のシステムは訓練データを必要としない。
【００１７】
また、リアルタイムクロック及びＧＰＳ位置デバイスを有し、時間記録及びＧＰＳログを形成するカメラ装置で画像を撮像するのが望ましいが、説明される処理は、一般に、撮像画像及び関連付けられたメタデータがダウンロードされるフォトアルバムアプリケーションを実行するコンピュータ又は同様のシステム上で後処理環境において実行される。図１５Ａ及び図１５Ｂは、ここで説明される種々の構成が実施される汎用コンピュータシステム１５００を示している。
【００１８】
図１５Ａに示されるように、コンピュータシステム１５００は、コンピュータモジュール１５０１、キーボード１５０２、マウスポインタデバイス１５０３、スキャナ１５２６、カメラ１５２７及びマイク１５８０等の入力デバイス、並びにプリンタ１５１５、表示装置１５１４及びスピーカ１５１７を含む出力デバイスを備える。外部変復調器（モデム）送受信機デバイス１５１６は、接続１５２１を介して通信ネットワーク１５２０と通信するためにコンピュータモジュール１５０１により使用される。通信ネットワーク１５２０は、インターネット、セルラ電気通信ネットワーク等のワイドエリアネットワーク（ＷＡＮ）又は専用ＷＡＮである。接続１５２１が電話線である場合、モデム１５１６は従来の「ダイヤルアップ」モデムである。あるいは、接続１５２１が大容量（例えば、ケーブル）接続である場合、モデム１５１６はブロードバンドモデムである。無線モデムは、通信ネットワーク１５２０に無線接続するために更に使用される。
【００１９】
コンピュータモジュール１５０１は、一般に、少なくとも１つのプロセッサユニット１５０５及びメモリユニット１５０６を含む。例えばメモリユニット１５０６は、半導体ランダムアクセスメモリ（ＲＡＭ）及び半導体読み出し専用メモリ（ＲＯＭ）を有する。コンピュータモジュール１５０１は、ビデオディスプレイ１５１４、スピーカ１５１７及びマイク１５８０に結合するオーディオ／ビデオインタフェース１５０７、キーボード１５０２、マウス１５０３、スキャナ１５２６、カメラ１５２７及び選択的にジョイスティック又はヒューマンインタフェースデバイス（不図示）に結合する入出力（Ｉ／Ｏ）インタフェース１５１３、並びに外部モデム１５１６及びプリンタ１５１５用のインタフェース１５０８を含む複数のＩ／Ｏインタフェースを更に含む。いくつかの実現例において、モデム１５１６は、インタフェース１５０８等のコンピュータモジュール１５０１内に組み込まれる。コンピュータモジュール１５０１は、接続１５２３を介してコンピュータシステム１５００がローカルエリアネットワーク（ＬＡＮ）として既知であるローカルエリア通信ネットワーク１５２２に接続できるようにするローカルネットワークインタフェース１５１１を更に有する。図１５Ａに示されるように、ローカル通信ネットワーク１５２２は、一般にいわゆる「ファイアウォール」デバイス又は同様の機能性を備えたデバイスを含むワイドネットワーク１５２０に接続１５２４を介して更に結合する。ローカルネットワークインタフェース１５１１は、Ｅｔｈｅｒｎｅｔ(TM)回路カード、Ｂｌｕｅｔｏｏｔｈ(TM)無線装置又はＩＥＥＥ８０２．１１無線装置を備えるが、多数の他の種類のインタフェースがインタフェース１５１１に対して実施されてもよい。
【００２０】
Ｉ／Ｏインタフェース１５０８及び１５１３は、直列接続性及び並列接続性のいずれか一方又は双方を提供する。一般に直列接続性は、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）規格に従って実現され、対応するＵＳＢコネクタ（不図示）を有する。記憶装置１５０９が提供され、一般にハードディスクドライブ（ＨＤＤ）１５１０を含む。フロッピディスクドライブ及び磁気テープドライブ（不図示）等の他の記憶装置が更に使用されてもよい。オプションのディスクドライブ１５１２は、一般に、データの不揮発性ソースとして動作するように提供される。例えば、光ディスク（例えば、ＣＤ−ＲＯＭ、ＤＶＤ、Ｂｌｕ−ｒａｙ  Ｄｉｓｃ(TM)）、ＵＳＢ−ＲＡＭ、取り外し可能な外部ハードドライブ及びフロッピディスク等のポータブルメモリ装置は、システム１５００に対する適当なデータのソースとして使用される。
【００２１】
コンピュータモジュール１５０１の構成要素１５０５〜１５１３は、一般に、相互接続バス１５０４を介して通信し、結果として当業者に既知であるコンピュータシステム１５００の動作の従来のモードから得られる方法で通信する。例えばプロセッサ１５０５は、接続１５１８を使用してシステムバス１５０４に結合される。同様に、メモリ１５０６及び光ディスクドライブ１５１２は、接続１５１９によりシステムバス１５０４に結合される。説明する構成が実施可能なコンピュータの例には、ＩＢＭのＰＣ及び互換性のあるもの、Ｓｕｎ  Ｓｐａｒｃｓｔａｔｉｏｎｓ、Ａｐｐｌｅ  Ｍａｃ(TM)又は同様のコンピュータシステムが含まれる。説明される構成において、画像及びメタデータは、カメラ１５２７から、あるいはネットワーク１５２０及び／又は１５２２を介してダウンロードされ、ＨＤＤ１５１０等のコンピュータ１５１０に格納される。
【００２２】
画像クラスタリングの方法は、コンピュータシステム１５００を使用して実現される。ここで説明される図４〜図９及び図１１〜図１４の処理は、コンピュータシステム１５００内で実行可能な１つ以上のソフトウェアアプリケーションプログラム１５３３として実現される。特に、画像クラスタリングの方法のステップは、コンピュータシステム１５００内で実行されるソフトウェア１５３３で命令１５３１（図１５Ｂを参照）により実施される。ソフトウェア命令１５３１は、各々が１つ以上の特定のタスクを実行する１つ以上のコードモジュールとして形成される。ソフトウェアは２つの別個の部分に更に分割され、第１の部分及び対応するコードモジュールは画像クラスタリングの方法を実行し、第２の部分及び対応するコードモジュールは、第１の部分とユーザとの間のユーザインタフェースを管理する。
【００２３】
例えばソフトウェアは、以下に説明する記憶装置を含むコンピュータ可読媒体に格納される。ソフトウェアは、コンピュータ可読媒体からコンピュータシステム１５００にロードされ、コンピュータシステム１５００により実行される。そのようなソフトウェアを有するコンピュータ可読媒体又はコンピュータ可読媒体上に記録されたコンピュータプログラムは、コンピュータプログラム製品である。コンピュータシステム１５００においてコンピュータプログラムを使用することにより、画像クラスタリングに有利な装置を実施することが好ましい。
【００２４】
一般にソフトウェア１５３３は、ＨＤＤ１５１０又はメモリ１５０６に格納される。ソフトウェアは、コンピュータ可読媒体からコンピュータシステム１５００にロードされ、コンピュータシステム１５００により実行される。従って、例えばソフトウェア１５３３は、光ディスクドライブ１５１２により読み出される光学的に読み出し可能なディスク記憶媒体（例えば、ＣＤ−ＲＯＭ）１５２５上に格納される。
【００２５】
いくつかの例において、アプリケーションプログラム１５３３は、１つ以上のＣＤ−ＲＯＭ１５２５上でユーザが符号化したものに供給され、対応するドライブ１５１２を介して読み出されるか、あるいはユーザによりネットワーク１５２０又は１５２２から読み出される。また、ソフトウェアは、他のコンピュータ可読媒体からコンピュータシステム１５００に更にロードされる。コンピュータ可読記憶媒体は、実行及び／又は処理するために記録された命令及び／又はデータをコンピュータシステム１５００に提供するあらゆる非一時的な有形記憶媒体を示す。そのような記憶媒体の例には、フロッピディスク、磁気テープ、ＣＤ−ＲＯＭ、ＤＶＤ、Ｂｌｕ−ｒａｙ  Ｄｉｓｃ、ハードディスクドライブ、ＲＯＭ又は集積回路、ＵＳＢメモリ、光磁気ディスク、あるいは例えばＰＣＭＣＩＡカード等のコンピュータ可読カードが含まれ、そのようなデバイスは、コンピュータモジュール１５０１の内部又は外部にある。ソフトウェア、アプリケーションプログラム、命令及び／又はデータをコンピュータモジュール１５０１に提供することに更に関係する一時的又は非一時的なコンピュータ可読伝送媒体の例には、無線送信チャネル又は赤外線送信チャネル及び別のコンピュータ又はネットワーク化されたデバイスへのネットワーク接続、並びに電子メール送信及びウェブサイト上等に記録された情報を含むインターネット又はイントラネットが含まれる。
【００２６】
上述したアプリケーションプログラム１５３３の第２の部分及び対応するコードモジュールは、ディスプレイ１５１４上にレンダリングされるかあるいは表される１つ以上のグラフィカルユーザインタフェース（ＧＵＩ）を実現するように実行される。一般にキーボード１５０２及びマウス１５０３を操作することにより、コンピュータシステム１５００及びアプリケーションのユーザは、ＧＵＩと関連付けられたアプリケーションに制御コマンド及び／又は入力を提供するように機能的に適応可能な方法でインタフェースを操作する。他の形式の機能的に適応可能なユーザインタフェース、例えばスピーカ１５１７を介して出力された音声プロンプト及びマイク１５８０を介して入力されたユーザボイスコマンドを利用するオーディオインタフェースが更に実現されてもよい。
【００２７】
図１５Ｂは、プロセッサ１５０５及び「メモリ」１５３４を示す詳細な概略ブロック図である。メモリ１５３４は、図１５Ａのコンピュータモジュール１５０１によりアクセスされる全てのメモリモジュール（ＨＤＤ１５１０及び半導体メモリ１５０６を含む）の論理的な集約を示す。
【００２８】
コンピュータモジュール１５０１の電源が最初に投入されると、自己診断（ＰＯＳＴ）プログラム１５５０が実行する。一般にＰＯＳＴプログラム１５５０は、図１５Ａの半導体メモリ１５０６のＲＯＭ１５４９に格納される。ソフトウェアを格納するＲＯＭ１５４９等のハードウェアデバイスは、ファームウェアと呼ばれる場合もある。ＰＯＳＴプログラム１５５０は、コンピュータモジュール１５０１内のハードウェアを調査して適切に機能することを保証し、一般に、正しく動作するためにＲＯＭ１５４９に更に格納されたプロセッサ１５０５、メモリ１５３４（１５０９、１５０６）及び基本入出力システム（ＢＩＯＳ）ソフトウェアモジュール１５５１をチェックする。ＰＯＳＴプログラム１５５０が正常に実行したら、ＢＩＯＳ１５５１は図１５Ａのハードディスクドライブ１５１０を起動する。ハードディスクドライブ１５１０を起動することにより、ハードディスクドライブ１５１０上に常駐するブートストラップローダプログラム１５５２がプロセッサ１５０５を介して実行する。これにより、オペレーティングシステム１５５３は、ＲＡＭメモリ１５０６にロードされると動作を開始する。オペレーティングシステム１５５３は、プロセッサ１５０５により実行可能なシステムレベルのアプリケーションであり、プロセッサ管理、メモリ管理、デバイス管理、ストレージ管理、ソフトウェアアプリケーションインタフェース及び汎用ユーザインタフェースを含む種々のハイレベルな機能を遂行する。
【００２９】
オペレーティングシステム１５５３は、メモリ１５３４（１５０９、１５０６）を管理し、コンピュータモジュール１５０１上で実行する処理又はアプリケーションの各々が別の処理に割り当てられたメモリと衝突することなく実行する十分なメモリを有することを保証する。また、図１５Ａのシステム１５００で使用可能な種々のメモリは、各処理が効率的に実行できるように適切に使用される必要がある。従って、集約メモリ１５３４は、メモリの特定の部分が割り当てられる方法を示すことを意図せず（特に記載されない限り）、コンピュータシステム１５００によりアクセス可能なメモリの概略図及びそのようなメモリが使用される方法を提供する。
【００３０】
図１５Ｂに示されるように、プロセッサ１５０５は、制御ユニット１５３９、演算論理装置（ＡＬＵ）１５４０及びキャッシュメモリと呼ばれることもあるローカルメモリ又は内部メモリ１５４８を含む多数の機能モジュールを含む。一般にキャッシュメモリ１５４８は、レジスタ部に複数の記憶レジスタ１５４４〜１５４６を含む。１つ以上の内部バス１５４１は、これらの機能モジュールを機能的に相互接続する。一般にプロセッサ１５０５は、接続１５１８を使用してシステムバス１５０４を介して外部デバイスと通信する１つ以上のインタフェース１５４２を更に有する。メモリ１５３４は、接続１５１９を使用してバス１５０４に結合される。
【００３１】
アプリケーションプログラム１５３３は、条件付き分岐命令及びループ命令を含む一連の命令１５３１を含む。プログラム１５３３は、プログラム１５３３を実行するために使用されるデータ１５３２を更に含む。命令１５３１及びデータ１５３２は、それぞれ、記憶場所１５２８、１５２９、１５３０及び１５３５、１５３６、１５３７に格納される。命令１５３１及び記憶場所１５２８〜１５３０の相対的な大きさに依存して、特定の命令は、記憶場所１５３０に示された命令により示されたように単一の記憶場所に格納される。あるいは、命令は、記憶場所１５２８及び１５２９に示された命令部分により示されたように、各々が別個の記憶場所に格納される多数の部分にセグメント化される。
【００３２】
一般にプロセッサ１５０５には、実行すべき命令セットが与えられる。プロセッサ１５０５は、別の命令セットを実行することにより自身が反応する後続の入力を待つ。各入力は、入力デバイス１５０２、１５０３の１つ以上により生成されたデータ、ネットワーク１５２０、１５０２のうちの一方を介して外部ソースから受信したデータ、記憶装置１５０６、１５０９のうちの一方から検索したデータ又は対応する読み取り装置１５１２に挿入された記憶媒体１５２５から検索したデータを含む多数のソースのうちの１つ以上から提供され、その全てが図１５Ａに示される。いくつかの例において、命令セットを実行した結果、データが出力される。実行することは、データ又は変数をメモリ１５３４に格納することを更に含む。
【００３３】
開示される画像クラスタリング構成は、対応する記憶場所１５５５、１５５６、１５５７においてメモリ１５３４に格納される入力変数１５５４を使用する。画像クラスタリング構成は、対応する記憶場所１５６２、１５６３、１５６４においてメモリ１５３４に格納される出力変数１５６１を生成する。中間変数１５５８は、記憶場所１５５９、１５６０、１５６６及び１５６７に格納される。
【００３４】
図１５Ｂのプロセッサ１５０５を参照すると、レジスタ１５４４、１５４５、１５４６、演算論理装置（ＡＬＵ）１５４０及び制御ユニット１５３９は、プログラム１５３３を構成する命令集合において命令毎に「取り込み、復号化及び実行」サイクルを実行するのに必要なマイクロ動作のシーケンスを実行するように共に動作する。取り込み、復号化及び実行サイクルの各々は、以下を含む。
（ａ）記憶場所１５２８、１５２９、１５３０からの命令１５３１を取り込むかあるいは読み取る取り込み動作（fetch operation）。
（ｂ）制御ユニット１５３９が取り込まれた命令を判定する復号化動作(decode operation)。
（ｃ）制御ユニット１５３９及び／又はＡＬＵ１５４０が命令を実行する命令動作(execute operation)。
【００３５】
その後、次の命令に対する更なる取り込み、復号化及び実行サイクルが実行される。同様に、制御ユニット１５３９が値を記憶場所１５３２に格納するかあるいは書き込むことにより、格納サイクルが実行される。
【００３６】
図４〜図９及び図１１〜図１３の処理におけるステップ又はサブ処理の各々は、プログラム１５３３の１つ以上の部分と関連付けられ、プログラム１５３３の示された部分に対して命令集合において命令毎に取り込み、復号化及び実行サイクルを実行するようにプロセッサ１５０５のレジスタ部１５４４、１５４５、１５４７、ＡＬＵ１５４０及び制御ユニット１５３９が共に動作することで実行される。
【００３７】
図１は、コレクションの全て又は一部を形成する順序付けされた写真Ｐ１〜Ｐ８のリスト１０３を示す。各写真は、画像の撮像の時間、及び、撮像の位置を特定するため、対応する時間データ（ｔｎ）及び位置データ（ジオタグ、ｘｎ）を有する。対処されるのが望ましい一般的な問題は、関連付けられた時間及びジオタグのメタデータから推測されたイベントに基づいてリスト１０３の写真の部分集合を共にクラスタリングするか、グループ化するかあるいは形成することである。この例に示されるように、写真のグループ１０５、１１１及び１１５は、それぞれ、識別可能なイベント及び結果として関連付けられたイベント境界と関連付けられることを示している。
【００３８】
図２に示されるようないくつかの従来技術の手法は、隣接する写真間の時間差２０５のみを時間により順序付けされたリストとして考えている。写真は、時間に基づいて、すなわち例えば写真間の大きな時間差を識別することでクラスタに分解される。図３に示されるような他の従来技術の手法は、隣接する写真間の時間差３０５及び距離差３１１を考慮する。イベント境界は、隣接する写真間の大きい時間差及び／又は距離差を識別することで見つけられる。距離差は、２つの経度点／緯度点の間の何らかの適切な距離計測値である。例えば距離差は、地理的距離（地球の周りの２つの経度点／緯度点の間の距離）、Ｌ1ノルム又はマンハッタン距離（｜ｘ1−ｘ2｜＋｜ｙ1−ｙ2｜）、あるいはＬ2ノルム（ｓｑｒｔ（（｜ｘ1−ｘ2｜）2＋（｜ｙ1−ｙ2｜）2）））である。
【００３９】
本発明に従って採用される手法は、時間差及び距離差を「コスト」として既知である１つのスカラ量に合成することである。図４に示されるように、時間差４０３、距離差４０６及び速度データ４０９は、順序付けされたリストの隣接する写真間で考えられる。時間及び距離は、新しいイベントが始まる場所に対する重要な標識である。時間及び／又は距離の変化が大きいほど、その境界において新しいイベントが始まる可能性が高くなる。時間差及び距離差は、正規化される（４１０）ため、状態４１２になり、マージ可能である（４１４）。重み４１６が速度データに依存する（４２０）場合、コスト４１８は正規化された距離の加重和であり、正規化された距離が取得される。このコスト関数は、イベント境界が発生する場所を判定するために使用される。
【００４０】
図５に示されるように、コスト関数は、時間により順序付けされたフォトコレクションの新しいイベントの始まりに対応するピーク５０５を有する。本発明の手法は、写真をソートし、隣接する写真間のコストを算出し、ピークが発生する場所を識別する手法である。ピーク検出は、標準的なピーク検出法を使用して又は所定の数の写真クラスタを識別することで実行される。イベント境界において、コスト関数が特定の閾値を上回る場合、新しいイベントが発生する。コスト関数が閾値を下回る場合、写真は現在の既存のクラスタに割り当てられ、新しいイベントは発生しない。
【００４１】
時間及び距離を共に考慮する利点は、新しいイベントが発生する尤度に関して写真間の境界がランク付けされることである。これは、生成されるクラスタの数を変動できるようにするため有利である。
【００４２】
図６は、本発明に従って画像をクラスタリングする方法６００を示す概略的なフローチャートである。この方法６００は、大きなフォトアルバムアプリケーションの構成要素であるアプリケーションプログラム１５３３等のソフトウェアとして実現されるのが望ましい。方法６００を実現するアプリケーション１５３３は、ＨＤＤ１５１０等に格納されたフォトコレクション及び関連付けられたメタデータ上で動作する。方法６００はステップ６０１において開始し、タイムスタンプ及びジオタグ付けされる写真のリスト１０３がプロセッサ１５０５によりＨＤＤ１５１０から検索される。写真は、例えば写真Ｐj毎にタイムスタンプｔjで時間ソートされ、以下の関係は写真の順序に当てはまる。
【００４３】
Ｐ1,Ｐ2, ... ,Ｐn  ⇔  ｔ1≦ｔ2≦ ... ≦ｔn
ゴールは、写真をイベントＥiに分解することであり、図１の例において３つのイベントが発生する場合となる。
Ｅ1＝｛Ｐ1，Ｐ2，Ｐ3｝１０５、Ｅ2＝｛Ｐ4，Ｐ5｝１１１及びＥ3＝｛Ｐ6，Ｐ7，Ｐ8｝１１５
【００４４】
クラスタリングは時間順を維持する。すなわち、クラスタの全ての写真は、時間により順序付けされ、より大きなタイムスタンプを含む以前のクラスタの写真を有さない。
【００４５】
処理はエントリステップ６０１において開始し、クラスタ処理（クラスタリング）のために写真が供給又は検索される。ステップ６０５は、写真が撮像された順（時間順）に順序付けされることをチェックするように動作する。一般に、ＪＰＥＧ画像と関連付けられたＥＸＩＦデータはリアルタイムの撮像を含み、殆どの写真管理システムは撮像順に写真を維持する。また、多くの撮像装置は各写真をファイル名で考え、ファイル名は英数字で順序付けされている。一般に、自動的に割り当てられた英数字名は時間により順序付けされる。そのような例において、ステップ６０１で受信した写真は既に時間により順序付けされているため、ステップ６０５で写真をソートするように動作する必要はない。しかし、写真は、無作為に供給されるかあるいは他の何らかの方法で順序付けされる場合もある。例えば、ユーザは、写真画像のファイル名を編集することであらゆる自動的に割り当てられた英数字順を不要にするか、あるいは写真は、写真撮影者が基準点から移動した距離又は他の何らかの適切な計測値等の他の何らかのパラメータに従って順序付けされる。そのような場合、ステップ６０５は、各写真の撮像の時間順に従って配列されたリストに受信した写真を写真の特徴に従ってソートするように動作する。
【００４６】
以下のステップ６１１において、隣接する写真間の時間変数は、プロセッサ１５０５により算出され、メモリ１５０６に格納される。一般にこれは、順序付けされたリストの隣接する写真のタイムスタンプ間の差にすぎない。しかし、時間変数は、特定の結果を達成する可能性を高めるために何らかのオプションの処理を更に含めることができる。例えば、１５分未満の時間差は、ゼロに縮小させて一緒にグループ化されやすくする。２４時間以上の時間差は、更に２４時間にクランプされ、データのダイナミックレンジを縮小する。
【００４７】
具体的に、好適な一実現例において、以下が成り立つ。
0005386007.tif 000002
【００４８】
ステップ６１１の処理は、上記の動作に限定されない。例えば、ある特定の範囲の時間値は変倍される。また、他の適切な変倍が別の実現例において実行可能である。
【００４９】
次に、隣接する写真間の距離変数が、ステップ６１５でプロセッサ１５０５により算出され、その値がメモリ１５０６に格納される。好適な一実現例において、地理的距離（地球の周囲に沿う２つの経度点／緯度点間の距離）が使用される。すなわち、２つの経度点／緯度点(longitude/latitude)間の距離は、
ｌ1＝（ｌａｔ1，ｌｏｎｇ1）、ｌ2＝（ｌａｔ2，ｌｏｎｇ2）
地理的距離(geo-distance)＝ｃｏｓ-1（ｓｉｎ（ｌａｔ1）ｓｉｎ（ｌａｔ2）＋ｃｏｓ（ｌａｔ1）ｃｏｓ（ｌａｔ2）ｃｏｓ（ｌｏｎｇ2−ｌｏｎｇ1））×地球の半径
【００５０】
他の実現例は、経度点／緯度点間の平均二乗距離又は何らかの適切な距離計測値を使用する。距離変数は、時間変数のような何らかのオプションの変倍を有する。例えば、本発明の実施形態において、２０ｋｍ以上の全ての時間変数は２０ｋｍにクランプされる。
【００５１】
ステップ６２１において、プロセッサ１５０５は、写真の隣接する対の間の速度変数を算出する。好適な実現例において、これは時間変数で除算された距離変数である。
0005386007.tif 000003
【００５２】
ここで、写真撮影者／写真撮像装置（カメラ１５２７）は、隣接する写真間を平均速度で移動していたと推定する。速度データを導出又は算出する好適な処理を図８に示す。最初にステップ８０５において、２つの隣接する写真間の距離は、プロセッサ１５０５によりステップ６１５で判定された距離を有するメモリ１５０６から検索される。ステップ８１１において、ステップ６１１で判定されたような時間差が同様に検索される。ステップ８１５において、プロセッサ１５０５は、距離差を時間差で除算し、写真間の写真撮影者の平均速度を推定する。この速度を推定する方法は、簡単であり、テストされたフォトコレクションに対して有効であることが本発明者により判明した。更なる精度が必要な場合、例えば方法は、写真撮影者の位置を周期的にサンプリングし、サンプリング間の速度を算出し、写真間の速度値を平均化することで改善される。更に速度変数は、使用可能なデータから算出される必要はない。例えば速度変数は、カメラ撮像装置１５２７で判定され、画像に対するＪＰＥＧファイル内のＥＸＩＦデータに格納される。ＥＸＩＦデータは、特定のアプリケーションに従ってカスタマイズされるか、あるいは将来のＪＰＥＧ規格に含まれる。従って、これは、写真が撮影された時及び／又は写真間における写真撮影者／撮像装置の速度に依存する速度変数を示す。更にカメラ１５２７は、ある期間にわたりカメラ１５２７の場所のＧＰＳ座標位置のログを維持する。それにより、より正確な速度変数を算出できる。そのような速度ログデバイスは、アプリケーションが受信するために速度データ又はログ記録された速度データから判定された速度値を単に送信する。
【００５３】
取得した時間変数及び距離変数の量は大きく異なるものである。標準化された単位で示せば、一方は数ｍであり、他方は秒である。故に、これら変数は、容易にマージできない。変数が単に追加される場合、一方のデータの集合は、他方のデータの集合より数桁大きくなり、コスト関数を支配する。従って、ステップ６２５において、双方のデータの集合は、プロセッサ１５０５により同一の大きさに正規化される。好適な一実現例において、平均分散正規化は、時間及び距離の各々を同一の大きさとなるように移動するかあるいは配置するために使用される。
【００５４】
図７は、ステップ６２５のこのような好適な実現例を示す。平均分散正規化(mean-variance normalisation)において、ステップ７０５でデータセットの平均を算出し、ステップ７１１でデータセットの標準偏差を算出する。本発明の実現例において、時間変数の集合及び距離変数の集合毎に平均及び標準偏差が算出される。時間平均及び距離平均の各々は、ステップ７１５で対応するデータセット中の各要素から減算され、次にデータセット中の各要素は、ステップ７２１で対応する時間又は距離の標準偏差で除算される。これにより、時間及び距離が同一の大きさとなるように各々を動かす。データセットを同一の大きさとなるようにに動かす他の技術が他の実現例において使用される。そのような技術は、機能ワーピング／ヒストグラム平坦化又はＭＡＰ適応を含む。いくつかのデータセットにとって、全ての時間値及び距離値が正となるように正規化されたデータセットの各々の最小値において減算することが必要である。
【００５５】
各データセットを最大値で除算することは外れ値に対するロバスト性を有さないため、そのような方法から良好な結果は得られない。多くのフォトコレクションは、例えば日にちの空いた写真又は地球の反対側で撮影される写真を含む場合、時間差外れ値及び距離差外れ値（time and distance difference outliers）を含む。時間差が上述のオプションの変倍からクランプされても、データセットには依然として大きな変動性がある。クランプに対する値がいくらか低かった場合、変動性は低下するが、ダイナミックレンジが非常に圧縮される危険性があり、新しいイベントが発生する時点を検出することがより困難になる。
【００５６】
図６に戻り、データセットが正規化されると、次にステップ６３１でコスト関数が算出される。コスト関数は、正規化された時間変数及び正規化された距離変数の加重和であり、図９で詳細に説明する。最初に、プロセッサ１５０５により判断ステップ９０５が行われ、写真が撮影される間に写真撮影者又はカメラ１５２７が高速で移動していたかあるいは逆に低速で移動していたかを判定する。ステップ９０５で写真撮影者が低速で移動していた（Ｎｏ）と判定する場合、ステップ９１１は、コスト関数が正規化された時間変数に対して１０％及び正規化された距離変数に対して９０％の時に重み付けされる場合に実行される。写真撮影者が高速で移動している（Ｙｅｓ）場合、ステップ９１５は、コスト関数が時間に対して純粋に重み付けされる場合に実行される。このように、時間変数及び距離変数は、速度データに対して重み付けされる。これは、移動イベントが距離の大きな変化のために多数のイベントに分解されることを阻止するためである。この重みは、他の実現例の場合には異なってもよい。
【００５７】
正規化された時間変数に時間重みを乗算するステップ９２１が後続する。そして、次にステップ９２５において、正規化された距離変数に距離重みを乗算する。その後、ステップ９３１で乗算が合計され、コスト(Cost)を生成する。
【００５８】
従って、具体的に、
Ｃｏｓｔi+1,i＝Ｗ1θnormalise(ｔi+1−ｔi)＋ｗ2Θnormalise(distance(ｘi+1,ｘi))
ここで、式中、θnormaliseは時間変数を正規化する関数であり、Θnormaliseは距離変数を正規化する関数であり、ｄｉｓｔａｎｃｅ（ｘi+1,ｘi）は２つの経度点／緯度点間の距離計測値、すなわち本発明の実施形態では地理的距離である。写真撮影者が高速で移動している（トラベルイベント）場合、正規化された時間変数の１００％及び正規化された距離の０％が使用される。具体的に、重み変数は以下の通りである。
0005386007.tif 000004
【００５９】
他の重みが他の実現例において使用されてよい。写真撮影者は、速度変数が１０ｍｓ-1を上回った場合に高速で移動すると考えられ、それ以外の場合は低速で移動すると考えるものとする。すなわち、以下が成り立つ。
0005386007.tif 000005
【００６０】
トラベルイベントを判定するための速度変数に対するあらゆる適切な閾値が他の実現例において使用されてもよい。他の実現例は、使用された重みと速さとの間により複雑な関係を有する。コストが隣接する写真の全ての対に対して導出されると、次にステップ６３５で、ピーク（例えば、図５のピーク５０５）が検出される。ピークは、新しいイベントが発生する時点を示す。ステップ６３５でピークが識別されると、次にステップ６４１は、隣接するピーク間の写真の部分集合又はクラスタに対応する各イベントでピークにおいて順序付けされた写真のリストを区分することにより、イベントが発生するように動作する。
【００６１】
コスト関数のピークを識別するために標準的な技術が使用される。好適な実現例において、ユーザは、所望のワークフローに適したある特定の数のイベントを規定する。ある意味では、イベントの数は任意である。例えばバースデーパーティーは、多数のサブイベント、すなわちプールにいる人、ケーキの切り分け及びゲームをする人を有する。このバースデーパーティーは、１つ、２つ又は３つのイベントに分解される。好適な実現例は、写真１日あたり平均で約１．２クラスタ〜１．４クラスタを生成することを目標とする。この値又は値の範囲は、他の実現例に対して変更されてもよい。
【００６２】
好適な実現例の場合、クラスタの数Ｎが推定され、次にコストがソートされる。Ｎ番目に大きいコストが選択され、閾値（threshold)を確立する。
閾値＝ソートされた＿コスト＿降順［Ｎ］
ここで、Ｎを推定するために、累積コストが算出される。
累積＿コスト［ｎ］＝ソートされた＿コスト＿昇順［ｎ］＋累積＿コスト［ｎ−１］
【００６３】
累積コストが最終値の９９．９％になる点が見つけられ、その点は、新しいイベントを判定するものに対する閾値として使用される。９９．９％以外の他のパラメータが他の実現例において使用されてよい。この閾値は、結果として１日当たり平均１．２を下回るクラスタが作成される場合、少なくとも１日当たり平均１．２クラスタを作成するように調整される。１日当たり平均１．４を上回るクラスタが作成される場合、閾値は、１日当たり平均１．４以下のクラスタを作成するように調整される。作成される１日当たりのクラスタの数が１．２〜１．４である場合、閾値は調整されない。２つの写真間のコストが閾値を上回る場合、新しいイベントが開始される。コストが閾値を上回らない場合、写真は前の写真クラスタに置かれる。コスト及び閾値が判定されると、イベントが発生する。コストが閾値を上回る度に、新しいイベントが発生する。尚、この手法を用いると、移動イベントがグループ化されるだけであり、前のクラスタ又は次のクラスタに結合しないことが必須である場合、次のクラスタは、速度変数が高速と低速との間及び低速と高速との間を遷移する間に行われるべきである。これは、コスト関数が移動イベントの最初又は最後に閾値を下回る場合の予防措置である。
【００６４】
一例において、本発明の一実施形態は、速度に従って適応される重みを含むテスト画像セット及びその重みを含まないテスト画像セットに適用された。テスト画像セットは、２つの飛行機旅行で撮影された写真から構成される。写真位置を図１０Ａに示し、各画像位置は×印で示される。重みが速度に従って適応されない場合、各飛行機旅行は、図１０Ｂに示されるように多数のイベントに分解される（異なる形状は、それぞれ異なるイベントを示す。尚、形状の集合は反復する）。重みが本発明に準拠して速度に従って適応される場合、写真は、図１０Ｃに示されるように２つの飛行経路、すなわち２つの移動イベントに適切にグループ化される。一方の飛行経路は正方形で示され、他方の飛行経路は円で示される。
【００６５】
図１１は、本発明において開示されるクラスタリング方法が使用されるフォトアルバム作成ソフトウェアからディスプレイ１５１４上に再現されたＧＵＩ１１００を示すスクリーンショットである。本明細書において説明される写真クラスタリングアルゴリズムは、画像をイベント１１０５にグループ化するために使用される。ユーザのフォトストリーム又はフォトコレクション全体は、ユーザがイベントを識別するのを支援するために、イベントに分割され、例示的な文章１１０７等の有用な地理情報（代表的な文章）でラベル付けされる。各イベントの写真の数は、代表的な文章の下に表示されるのが望ましい。例えば、１１０９において識別されるのはＴｒｏｃａｄｅｒｏにおける１８５枚の写真である。ユーザは、フォトアルバムに含みたいイベントを選択する。選択されたイベントは、１０番目、１４番目、１５番目及び１６番目のイベントのより暗い陰影１１１１で示されるように強調表示される。ユーザのフォトアルバムの写真１１１３等のいくつかの代表的な写真は、選択され、代表的な文章１１０７の上に表示される。ユーザがマウス１５０３を代表的な写真のグループに合わせる場合、写真はアニメーションで「ファンアウト」又は「スプレッド」する。そのように「ファンアウト」の結果を表示する（１１２１）。更なるイベントがある場合、スクロールバー１１３１を使用してそれらを表示する。
【００６６】
ユーザは、フォトブック又はフォトアルバムに含みたいイベントを選択した場合、マウス１５０３等を使用して「フォトブック編集」アイコン１１２５を選択する。この結果、図１２に示すＧＵＩ画面１２００が表示される。提案されたフォトブックは、既にユーザに対して提示されている。フォトブックのページ数は、例えば１２０３のように対応するページの下に表示される。写真が撮影されたイベントを説明する代表的な文章１２０４は、対応する見開きページ１２０２の上に表示される。ユーザは、例えばマウスを見開きページに合わせ、「＋」アイコン１２１１をクリックすることで更なるページ１２０５を追加する。ユーザは、「ｘ」アイコン１２１５をクリックすることで見開きページを削除する。ユーザは、「印刷」アイコン１２２５をクリックすることでフォトブックを印刷する。ユーザは、「イベント選択に戻る」アイコン１２３１をクリックすることでイベント選択画面（図１１）に戻る。
【００６７】
ユーザは、見開きページ上でクリックすることで見開きページを編集し、図１３に示されるようなＧＵＩ１３００を表示する。これにより、選択された見開きページと関連付けられたフォトブックの特定のページをディスプレイ１５１４上に表示する。ページは、推奨レイアウト１３０２に従って且つ例えば画像１３０３等の代表的な画像を含んで提示される。ページ数１３０４は、見開きページの下に表示されるのが好ましく、現在の見開きページに対応するイベントの写真のリスト１３０５は、ページレイアウト１３０２の下に表示される。そのイベントに対する代表的な文章１３０７は、リスト１３０５の上に表示される。選択される写真は、チェックマーク「レ」１３１１を含む。写真が使用された回数は、例えば１３１３において示されるように更に表示される。この例において、写真は１度使用されているため、「ｘ１」でラベル付けされる。見開きページの写真は、マウス１５０３でイベントから写真を選択し、置換される写真１３１５の上部に選択された写真をドラッグアンドドロップすることで置換される。他のイベントからの写真は、同様にイベント１３２１上でクリックし、写真を選択することで選択される。他のイベントは、スクロールバー１３２３を使用して見つけられる。種々の見開きページは上部パネル１３２４を使用して選択され、より多くの見開きページは、上部パネル１３２７を拡張するためのスクロールバー１３２８を使用して見つけられる。選択された見開きページ１３２９は、より暗い陰影で上部パネル１３２７において強調表示される。ユーザは、「＜」アイコン１３２５をクリックすることで前の見開きページに移動し、「＞」アイコン１３３１をクリックすることで次の見開きページに移動する。
【００６８】
画像が提示されるテンプレートは、図１４に示されたＧＵＩディスプレイ１４００を使用して修正される。写真用のテンプレートは、ページレイアウトタブ１４０５を選択し、別のテンプレートをページレイアウト上にドラッグ１４１１アンドドロップ１４１２することで変更される。ページに対するより多くのレイアウトは、スクロールバー１４１３を使用して見つけられる。種々の見開きページは、上部パネル１４１５から選択される。前の見開きページは、戻る矢印アイコン１４２１をクリックすることで選択され、次の見開きページは、進む矢印アイコン１４２２をクリックすることで選択される。ユーザは、アイコン１４２５をクリックすることで前の画面に戻る。
【００６９】
クラスタリングにおいて時間及び位置の情報を考慮する従来技術もあるが、写真撮影者が高速で移動していたかあるいは領域を低速で動き回っていた場合に写真を適切にセグメント化すると共に移動イベントを適正にグループ化する方法は特定されていない。本明細書において説明した構成は、機械学習技術を使用せずに、すなわち訓練データを必要とせずに移動イベントを検出する。構成は、写真撮影者が写真を撮影しながら領域を低速で動き回るため、相対的に短期間にわたり距離の変化が少ない状況にも適応する。そのような構成は、種々のアトラクションが場合によっては数時間又は終日等の長期間にわたり異なる場所であるが一般に近接する場所で撮像される動物園又はカントリフェアにおいて適用可能である。
【００７０】
説明された構成は、コンピュータ産業及びデータ処理産業、並びに特にコレクションを形成する写真の管理及び識別可能なイベントと関連付けられた写真のセグメント化及びクラスタリングに適用可能である。
【００７１】
上記の記述は本発明のいくつかの実施形態のみを説明し、本発明の範囲及び趣旨から逸脱せずに、変形及び／又は変更がいくつかの実施形態に対して行なわれてもよい。実施形態は、限定するものではなく例示するものである。
【図５】
0005386007.tif 000006
【図６】
0005386007.tif 000007
【図７】
0005386007.tif 000008
【図８】
0005386007.tif 000009
【図９】
0005386007.tif 000010
【図１】
0005386007.tif 000011
【図２】
0005386007.tif 000012
【図３】
0005386007.tif 000013
【図４】
0005386007.tif 000014
【図１０Ａ】
0005386007.tif 000015
【図１０Ｂ】
0005386007.tif 000016
【図１０Ｃ】
0005386007.tif 000017
【図１１】
0005386007.tif 000018
【図１２】
0005386007.tif 000019
【図１３】
0005386007.tif 000020
【図１４】
0005386007.tif 000021
【図１５Ａ】
0005386007.tif 000022
【図１５Ｂ】
0005386007.tif 000023