(57)【特許請求の範囲】
【請求項１】
複数の画像を、画像同士の撮影時間の距離に基づいて、複数のクラスタに分類する分類手段と、
前記クラスタに属する画像同士の撮影時間の距離に基づき、前記複数のクラスタのうち、前記距離が大きい方から順に第１のクラスタを選択する第１の選択手段と、
前記クラスタに属する画像の数に基づき、前記第１の選択手段により選択された第１のクラスタに属する複数のクラスタのうち、前記画像の数が多い方から順に第２のクラスタを選択する第２の選択手段と、
前記第２の選択手段により選択された第２のクラスタに属する画像を代表画像として抽出する抽出手段と、
前記抽出手段により抽出された代表画像の順位が所定数より小さい代表画像を、時間軸を持つ表示領域の、前記代表画像の撮影時間と対応する位置に配置して表示し、前記所定数より大きい代表画像を表示しないよう制御する表示手段と、を備えたことを特徴とする画像管理装置。
【請求項２】
前記表示領域の時間軸上の範囲を設定する時間軸設定手段をさらに備え、
前記分類手段は、前記時間軸上に設定された範囲の撮影時間を有する画像を分類することを特徴とする請求項１に記載の画像管理装置。
【請求項３】
前記分類手段は、前記複数の画像の組み合わせのうち、前記画像同士の撮影時間の距離が小さい方から順に、前記画像の組み合わせを同じクラスタに分類することを特徴とする請求項１または２に記載の画像管理装置。
【請求項４】
前記分類手段は、最下位層のクラスタに画像を１つずつ分類し、さらに、各最下位層のクラスタに属する画像同士の撮影時間の距離に基づいて、前記最下位層のクラスタを複数の上位層のクラスタに分類していき、
前記第２の選択手段は、最上位層のクラスタから順に、その下位層のクラスタに属する画像の数に基づいて、前記下位層のクラスタを順に選択していくことにより、前記最下位層のクラスタを第２のクラスタとして選択することを特徴とする請求項１乃至３のいずれか１項に記載の画像管理装置。
【請求項５】
複数の画像を管理する画像管理装置の制御方法であって、
複数の画像を、画像同士の撮影時間の距離に基づいて、複数のクラスタに分類する分類ステップと、
前記クラスタに属する画像同士の撮影時間の距離に基づき、前記複数のクラスタのうち、前記距離が大きい方から順に第１のクラスタを選択する第１の選択ステップと、
前記クラスタに属する画像の数に基づき、前記第１の選択ステップにより選択された第１のクラスタに属する複数のクラスタのうち、前記画像の数が多い方から順に第２のクラスタを選択する第２の選択ステップと、
前記第２の選択ステップにより選択された第２のクラスタに属する画像を代表画像として抽出する抽出ステップと、
前記抽出ステップにより抽出された代表画像の順位が所定数より小さい代表画像を、時間軸を持つ表示領域の、前記代表画像の撮影時間と対応する位置に配置して表示し、前記所定数より大きい代表画像を表示しないよう制御する表示ステップと、を備えたことを特徴とする画像管理装置の制御方法。
【請求項６】
複数の画像を管理する画像管理装置を実現するためのコンピュータに、
複数の画像を、画像同士の撮影時間の距離に基づいて、複数のクラスタに分類する分類ステップと、
前記クラスタに属する画像同士の撮影時間の距離に基づき、前記複数のクラスタのうち、前記距離が大きい方から順に第１のクラスタを選択する第１の選択ステップと、
前記クラスタに属する画像の数に基づき、前記第１の選択ステップにより選択された第１のクラスタに属する複数のクラスタのうち、前記画像の数が多い方から順に第２のクラスタを選択する第２の選択ステップと、
前記第２の選択ステップにより選択された第２のクラスタに属する画像を代表画像として抽出する抽出ステップと、
前記抽出ステップにより抽出された代表画像の順位が所定数より小さい代表画像を、時間軸を持つ表示領域の、前記代表画像の撮影時間と対応する位置に配置して表示し、前記所定数より大きい代表画像を表示しないよう制御する表示ステップと、を実行させるためのプログラムを格納したコンピュータ読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の画像ファイルをコンピュータ上で閲覧・検索するのに好適な画像ファイル管理技術に関するものである。
【背景技術】
【０００２】
従来、デジタルカメラ等で撮影された大量の画像ファイルをコンピュータ上で管理するために、それぞれの画像ファイルの時間的属性情報に応じてサムネイルを時系列に画面上に配列し、ユーザに直感的なインタフェースを提供する技術が提案されている。
【０００３】
例えば、特許文献１には、画像ファイルの撮影日時、作成日時、修正日時等の時間的属性情報に応じてサムネイルを時間軸上に描画、配列して一覧画面を表示する技術が記載されている。
【０００４】
また、特許文献２には、ファイルの時間的属性情報に基づいて、ファイルのオブジェクトを時間軸上に配列すると共に、複数のファイルを複数のグループに分類して配置する技術が記載されている。
【特許文献１】特開平１１−３２８２０９号公報
【特許文献２】特開２００６−１９５９７０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
上記従来技術では、ファイルの時間軸上の分布が密である場合、時間軸上に描画されたファイルのオブジェクトが重なったり、ファイルのオブジェクトが小さなサイズになってしまい、ユーザの視認性が低下して目的とするファイルを探し難くなる場合がある。
【０００６】
また、大量のファイルのオブジェクトを表示する際に、コンピュータでのリソースが不足し、表示するまでに時間がかかる場合がある。
【０００７】
本発明は、ユーザにとって、検索の際にその指標として重要となる画像を優先的に表示し、視認性の高いレイアウトで表示できる画像ファイル管理技術を実現することを目的としている。
【課題を解決するための手段】
【０００８】
上記課題を解決し、目的を達成するために、本発明の画像管理装置は、複数の画像を、画像同士の撮影時間の距離に基づいて、複数のクラスタに分類する分類手段と、前記クラスタに属する画像同士の撮影時間の距離に基づき、前記複数のクラスタのうち、前記距離が大きい方から順に第１のクラスタを選択する第１の選択手段と、前記クラスタに属する画像の数に基づき、前記第１の選択手段により選択された第１のクラスタに属する複数のクラスタのうち、前記画像の数が多い方から順に第２のクラスタを選択する第２の選択手段と、前記第２の選択手段により選択された第２のクラスタに属する画像を代表画像として抽出する抽出手段と、前記抽出手段により抽出された代表画像の順位が所定数より小さい代表画像を、時間軸を持つ表示領域の、前記代表画像の撮影時間と対応する位置に配置して表示し、前記所定数より大きい代表画像を表示しないよう制御する表示手段と、を備えたことを特徴とする。
【発明の効果】
【００１２】
本発明によれば、ユーザにとって、検索の際のその指標として重要となる画像を優先的に表示し、大量の画像ファイルが存在する場合にも視認性の高いレイアウトで表示できる。
【発明を実施するための最良の形態】
【００１３】
以下に、添付図面を参照して本発明を実施するための最良の形態について詳細に説明する。
【００１４】
尚、以下に説明する実施の形態は、本発明の実現手段としての一例であり、本発明が適用される装置の構成や各種条件によって適宜修正又は変更されるべきものであり、本発明は以下の実施の形態に限定されるものではない。
【００１５】
［システム構成の説明］
図１は、本発明に係る実施形態の画像管理システムの一例を示す概略構成図である。
【００１６】
ＰＣ１０１は画像ファイルをメモリ上に取り込み、本発明に係る画像ファイル管理機能を実現するアプリケーションプログラムを実行するパーソナルユースのコンピュータである。以降、このアプリケーションプログラムを画像ファイル管理プログラムと呼ぶ。
【００１７】
画像入力機器１０２は、イメージ情報である光学像を電気信号に変換し、その電気信号に対して所定の画像処理を施し、画像処理を施した電気信号に、内蔵する時計から得られた撮影日時情報を付加して画像ファイルとして保存、閲覧する機能を有する。画像入力機器１０２としては、例えば、被写体を撮影し、撮影した画像を静止画像ファイルとして記憶するデジタルスチルカメラが挙げられるが、撮影日時情報を付加した画像ファイルを生成できる機器であれば、デジタルビデオカメラやスキャナでも適用できる。
【００１８】
以下では、画像ファイルは撮影日時情報が付加されていることを前提として説明する。
【００１９】
データ転送用インタフェース１０３は、画像入力機器１０２が入力した画像データをＰＣ１０１に転送するためのインタフェースである。このデータ転送用インタフェース１０３としては、例えば、USB(Universal Serial Bus)やIEEE1394に代表される有線通信用インタフェースが挙げられる。また、他のデータ転送用インタフェース１０３としては、例えば、IrDA(Infrared Data Association)やBluetooth（登録商標）に代表される無線通信用インタフェースが挙げられる。
【００２０】
ＰＣ１０１は、必要に応じて画像入力機器１０２と、データ転送用インタフェース１０３を介して接続され、撮影日時情報が付加された画像ファイルを受け取ることができる。 
ＰＣ１０１は、必要に応じて画像ファイルを、画像入力機器１０２からだけではなく、インターネット１０４上に存在する様々なリソースから取得することができる。フォトサイト１０５は画像ファイルを保持するＤＢ(Data Base)１０６を持ち、インターネット１０４上に接続された多数のユーザと画像ファイルを共有するサービスを提供するサイトである。ＰＣ１０１はフォトサイト１０５からも適宜、画像ファイルをダウンロードすることができる。
【００２１】
また、ＰＣ１０１は、インターネット１０４上に接続された、知人等の他のＰＣ１０７から電子メール等の通信手段を用いて画像ファイルを取得したり、フラッシュメモリ等の記憶媒体からネットワークを介さずに直接、画像ファイルを取得することもできる。
【００２２】
なお、本実施形態では、インターネット１０４を通信インフラとした場合を一例として示しているが、インターネット１０４の代わりに、ＬＡＮ(Local Area Network)やＷＡＮ(Wide Area Network)等を用いても良い。
【００２３】
図２は、本実施形態の画像ファイル管理プログラムを実行する情報処理装置としてのＰＣ１０１の構成を示すブロック図である。
【００２４】
図２において、２０１はディスプレイとしてのＣＲＴ(Cathode Ray Tube)であり、その表示画面には、例えば編集中の文書、図形、画像の他、本実施形態の画像ファイル管理プログラムにより描画される矩形表示領域が表示される。
【００２５】
２０２はＶＲＡＭ(Video Random Access Memory)であり、ＣＲＴ２０１の表示画面に表示するための画像データが記憶される。このＶＲＡＭ２０２に生成された画像データは、所定の規定に従ってＣＲＴ２０１に転送され、ＣＲＴ２０１に画像データが表示される。
【００２６】
２０３はビットムーブユニット(BMU)であり、メモリ間（例えば、ＶＲＡＭ２０２と他のメモリ）のデータ転送や、メモリと各Ｉ／Ｏデバイス（例えば、ネットワークインタフェース２１１）との間のデータ転送を制御する。
【００２７】
２０４はキーボードであり、ユーザが文字列データ等の入力指示を行うための各種キーを有する。
【００２８】
２０５はポインティングデバイスであり、例えば、ユーザがＣＲＴ２０１の画面上に表示された画像ファイル管理プログラムのサムネイル一覧画面の描画条件を設定したり、画像を選択するために使用される。
【００２９】
２０６はＣＰＵ（中央演算処理装置）であり、ＲＯＭ(Read Only Memory)２０７、ハードディスク又はフロッピー（登録商標）ディスクに格納された制御プログラムに基づいてＣＰＵに接続された各デバイスを制御する。
【００３０】
２０７はＲＯＭであり、各種の制御プログラム等のデータを保持する。
【００３１】
２０８はＲＡＭ(Random Access Memory)であり、ＣＰＵ２０６のワーク領域、エラー処理時のデータの退避領域、制御プログラムのロード領域等を有する。
【００３２】
２０９はハードディスクドライブ(HDD)であり、情報処理装置として実行する各制御プログラムやコンテンツを格納することができる。例えば、ＰＣ１０１のＨＤＤ２０９には、ＯＳ、Ｗｅｂブラウザ、画像ファイル、画像ファイル管理プログラム等が格納される。
【００３３】
２１０はフロッピー（登録商標）ディスクドライブ(FDD)であり、フロッピー（登録商標）ディスクに対するアクセスを制御する。
【００３４】
２１１はネットワークインタフェース（Net-I/F）であり、他のＰＣやプリンタ等とのインターネット１０４を介した通信を実現する。ＣＰＵバス２１２は、各デバイス間で相互に通信できるようにするためのものであり、アドレスバス、データバス及びコントロールバスを含む。
【００３５】
ここで、上述したシステムやハードウェアの構成において、ユーザが管理対象の大量の画像ファイルにアクセスできる状態で、ＰＣ１０１のハードディスク２０９に保存されている画像ファイル管理プログラムを起動して、画像ファイルの閲覧や検索等を行う。
【００３６】
以下に、本実施形態の画像ファイル管理プログラムにより実現される機能について具体的に説明する。
【００３７】
＜サムネイル描画処理＞
図４は、本実施形態の画像ファイル管理プログラムにより実現されるサムネイル描画処理を示すフローチャートである。
【００３８】
図４のフローは、ＰＣ１０１のＣＰＵ２０６が画像ファイル管理プログラムを起動することにより開始され、Ｓ４０５で、先ず初期化処理を実行する。
【００３９】
図５は、Ｓ４０５での初期化処理の詳細を示すフローチャートである。
【００４０】
図５において、Ｓ５０１では、画像ファイル管理プログラムが最初に描画する時間軸の範囲の初期値を設定する時間軸設定処理を行う。ここでの時間軸の設定は、ユーザインターフェースを通じてユーザに入力を促すものであってもよいし、画像ファイル管理プログラムが予め持っている規定値を利用してもよい。
【００４１】
Ｓ５０２では、ユーザは画像ファイル管理プログラムに管理対象画像を付与する。例えばWindows（登録商標）系ＯＳにおいて、画像ファイル管理プログラム起動時に画像が格納されているフォルダの入力を促すダイアログが出て、ユーザがそこにマイピクチャフォルダのパスを入力するような操作を意味する。
【００４２】
Ｓ５０３、Ｓ５０４では、Ｓ５０２で得られた複数の管理対象画像にそれぞれ一意的に定まる優先順位を後述する処理によって付与する。ここで、Ｓ５０３では、管理対象画像に対して、それぞれが持つ撮影日時に対して階層的クラスタリングを行い、ツリー構造を作成する。Ｓ５０４では、Ｓ５０３で作成されたツリー構造に基づいて優先順位を実際に決定する。
【００４３】
なお、Ｓ４０５の初期化処理で得られた管理対象画像とその優先順位はメモリに格納され、画像ファイル管理プログラムの実行中、繰り返し参照される。また、初期化処理の効率上、画像ファイル管理プログラム終了後は外部記憶装置に保存し、次回の画像ファイル管理プログラム起動時に読み込み、管理対象画像に変更がなければ再利用することも可能である。
【００４４】
以上が画像ファイル管理プログラム起動時に実行される初期化処理である。
【００４５】
図４に戻り、Ｓ４０７では、時間軸の範囲を設定する。この時間軸の範囲は、最初はＳ５０１で設定される初期値となる。
【００４６】
Ｓ４０８では、Ｓ４０７で設定された時間軸の範囲に存在する画像ファイルから、メモリに格納された優先順位に基づいて、一画面の最大表示枚数を超えない範囲で表示対象画像を選択する。この選択処理の詳細については図１４で後述する。
【００４７】
Ｓ４０９では、Ｓ４０８で選択された表示対象画像について、メモリに格納された優先順位に基づいて、それぞれの時間帯毎の重要度を計算する。例えば、時間軸の同じｘ座標に対応する画像の中で互いに優先順位を比較し、優先順位が高いものから順に、その時間帯での重要度も高くする。その結果、画像ファイルに付与されている撮影日時と重要度によって、互いに直交する時間軸及び重要度軸からなる矩形表示領域における画像の描画位置が決定される。これにより、各時間帯の重要度の高い画像ファイルが表示されることになり、ユーザは時間帯ごとにどのような画像があるかを確認し易くなる。そして、決定された描画位置に画像のサムネイルを描画する。この描画位置決定処理の詳細については後述する。
【００４８】
図３は、Ｓ４０９での位置決定処理により表示されるサムネイルの一覧画面３００を例示している。
【００４９】
図３において、３０１はサムネイルを表示する矩形表示領域である。横方向に時間軸、縦方向に重要度軸を有し、各表示対象画像はそれぞれの撮影日時及び重要度に基づいて、矩形表示領域３０１の決定された位置に描画される。
【００５０】
３０２は矩形表示領域３０１内に描画されるサムネイルである。上述の通り、それぞれのサムネイルの横方向の位置はその画像が撮影された日時、縦方向の位置はその画像の重要度をそれぞれ表している。
【００５１】
３０３は上記矩形表示領域３０１における横方向の時間軸上での位置を視覚的に表す目盛りである。時間軸の範囲はユーザがマウス操作等で対話的に更新することができ、これに従って目盛りの間隔や単位(秒、時、日、月等)も適宜動的に更新される。
【００５２】
３０４は矩形表示領域３０１左端の時間軸上での絶対位置を表している。例えば、図３では目盛りは５分単位で左から順に１４：３５、１４：４０、１４：４５と描画されているが、この１４：３５という時刻が２００７年７月１６日のものであることを表している。
【００５３】
３０５は一画面に表示できるサムネイルの最大表示枚数である。ユーザが設定した時間軸の範囲に最大表示枚数を超える数の画像が存在する場合には、各画像に付与されている優先順位に基づき、上限値を超えた分については表示しない。各画像の優先順位は、撮影日時の分布に基づいて計算されるもので、その詳細については後述する。
【００５４】
ユーザは、時間軸の範囲を変更したい場合、サムネイル一覧画面３００を見ながら変更後の時間軸の範囲をＰＣ１０１に入力する（Ｓ４１０）。画像ファイル管理プログラムは、ユーザにより変更された時間軸の範囲に従って再びサムネイル一覧画面３００を生成する。これらの操作をユーザと画像ファイル管理プログラムとがユーザインターフェースを通して対話的に反復することにより、最終的にユーザが望んだサムネイル一覧画面３００が生成される。
【００５５】
例えば、ユーザは２００４年１月１日から２００５年１２月３１日までの時間軸の範囲において、２００４年５月の時間軸上に指標となる画像を見つける。さらにその周辺の画像を詳しく閲覧したい場合は、時間軸の範囲を２００４年５月１日から２００４年５月３１日として再指定する。これにより、サムネイル一覧画面３００上には２００４年５月に撮影された画像が撮影日付に沿って表示され、最初の一覧画面３００では非表示であった画像が変更後の一覧画面３００では表示されることになり、ユーザは目的とする画像を見つけることができる。
【００５６】
＜優先順位付与処理＞
次に、図５のＳ５０３、Ｓ５０４での管理対象画像への優先順位付与処理について説明する。
【００５７】
優先順位付与処理は、上述した図５の管理対象画像の階層的クラスタリング処理（Ｓ５０３）とツリー構造に基づいた優先順位決定処理（Ｓ５０４）から構成される。
【００５８】
図６のフローチャートを参照して、Ｓ５０３でのｎ個の管理対象画像に対する階層的クラスタリング処理について説明する。
【００５９】
図６において、Ｓ６０１では、先ず各画像ファイルを１クラスタとして定義し、ｎ個のクラスタを定義する。
【００６０】
Ｓ６０２では、Ｓ６０１で定義された全てのクラスタ要素の組み合わせについて非類似度を計算する。ここでは、１次元値であって画像ファイルの撮影日時の差であるユークリッド距離を非類似度とする。この距離が小さいほど２つの要素は類似しているものとする。ここで、図７は、撮影日時を持つＡからＨの８個の画像ファイルをクラスタ要素として適用した場合の非類似度をについて説明する図であり、説明の便宜上、撮影日時は日までの精度としている。図８は、クラスタ要素を、その撮影日時に基づき、時間軸上にプロットして示している。両図から明らかなように、クラスタ要素Ａはクラスタ要素Ｃよりもクラスタ要素Ｂとの距離が近いので、クラスタ要素Ａはクラスタ要素Ｂとの非類似度がクラスタ要素Ｃとの非類似度よりも低いといえる。
【００６１】
Ｓ６０３では、Ｓ６０２で求めた非類似度を比較して、最も非類似度の低いペアを融合して１つのクラスタとする。融合してできた新たなクラスタの撮影日時は、元のクラスタ要素の撮影日時同士の重心となる日時を算出して設定する。新たな各クラスタ要素に設定される撮影日時はメモリに記憶される。ここでメモリに記憶される新たな各クラスタ要素の撮影日時を図９に例示する。図９に示すように各クラスタには、それぞれ複数の子クラスタ要素と撮影日時とが定義される。例えば、図８のクラスタ｛Ａ，Ｂ，Ｃ｝では子クラスタが｛Ａ，Ｂ｝とＣ、撮影日時が２００４年２月２６日、距離が１００日となる。
【００６２】
また、新たなクラスタ要素を構成する、子クラスタ要素同士の撮影日時の距離が結合距離としてメモリに記憶され、各子クラスタ要素間の結合距離を縦軸に表したツリー構造を図１０に例示する。例えば、図１０ではクラスタ（Ａ，Ｂ，Ｃ）の結合距離は１００日であることを表している。
【００６３】
Ｓ６０４では、現在の最上位階層のクラスタの数が１つであるか判定し、１つであれば本処理を終了し、複数であれば、Ｓ６０２に戻り、クラスタ数が１つになるまで繰り返し実行する。
【００６４】
以上のクラスタリング処理によって、管理対象画像について、最下位層のｎ個のクラスタから最上位層の１つのクラスタを定義することができ、ツリー構造を得ることができる。
【００６５】
本実施形態では、クラスタ間の非類似度の定義に重心法を採用したが、他に最短距離法、最長距離法、メジアン法等の様々な定義方法があり、いずれの手法であっても本実施形態を実現できる。また、これらの各手法について、ユーザが適宜、変更できてもよいし、経験的に得たより好適な手法を予め設定してもよい。本実施形態で採用した重心法は一例に過ぎないことを付記しておく。
【００６６】
次に、図５のＳ５０３でのクラスタリング処理によって得られた、ｎ個の管理対象画像のツリー構造に基づき、Ｓ５０４で管理対象画像に優先順位を付与する処理について、図１１のフローチャートを参照して説明する。
【００６７】
図１１は、ｎ個の管理対象画像について得られたツリー構造に基づき各画像に優先順位を付与する処理を示すフローチャートである。
【００６８】
図１１において、Ｓ１１０１では優先順位を表すインデックスｉを１に初期化する。
【００６９】
Ｓ１１０２では、最上位クラスタＲの代表画像の優先順位をｉ（＝１）と設定する。各クラスタの代表画像を抽出する処理は図１２で後述する。
【００７０】
Ｓ１１０３ではクラスタＩをクラスタＲで初期化する。以降、このクラスタＩに対して処理を行う。
【００７１】
Ｓ１１０４では、優先順位ｉが管理対象画像数ｎと等しいか判定する。即ち、ここではｎが１であるか判定し、１である場合は全ての管理対象画像について優先順位を付与したことになるので本処理を終了する。また、ｎが１でない場合はＳ１１０５に進む。通常の場合、大量の管理対象画像を扱うことが多いので、Ｓ１１０５に進むことになる。
【００７２】
Ｓ１１０５では、インデックスｉのインクリメント処理を行う。
【００７３】
Ｓ１１０６では、クラスタＩの持つ２つの子クラスタ、ＩＬとＩＲが持つ画像数を比較する。
【００７４】
Ｓ１１０７では、ＩＬの持つ画像数がＩＲの持つ画像数以上である場合は子クラスタＩＲを取得し、ＩＬの持つ画像数がＩＲの持つ画像数より小さい場合は子クラスタＩＬを取得する。
【００７５】
Ｓ１１０８では、Ｓ１１０７で取得した子クラスタの代表画像に優先順位ｉを付与する。
【００７６】
Ｓ１１０９では、現時点までに付与した優先順位ｉが管理対象画像数ｎに達しているか判定し、達している場合は全ての管理対象画像に優先順位を付与したので本処理を終了し、ｉがｎに達していない場合は、Ｓ１１１０に進む。
【００７７】
Ｓ１１１０では、クラスタＲに属する子クラスタのうち、結合距離が大きい子クラスタでクラスタＩを更新する。結合距離は、図６のＳ６０３での階層的クラスタリング処理によりクラスタを融合する際に計算される値でメモリに記憶された値である。更新された新しいクラスタＩについて、付与した優先順位ｉがｎに達するまでＳ１１０５以降の処理を繰り返し実行する。
【００７８】
＜代表画像抽出処理＞
次に、Ｓ１１０２、Ｓ１１０７、Ｓ１１０８での、あるクラスタＣから代表画像を抽出する処理について、図１２を参照して説明する。
【００７９】
図１２は、あるクラスタから代表画像を抽出する処理を示すフローチャートである。
【００８０】
図１２において、Ｓ１２０１では、クラスタＩを、本処理の対象となるクラスタＣで初期化する。
【００８１】
Ｓ１２０２では、クラスタＩの持つ画像数（クラスタ要素数）が１であるか判定する。そして、画像数が１、即ち、クラスタＩがツリー構造における最下位クラスタである場合は、Ｓ１２０６に進み、その最下位クラスタを構成する画像ファイルを代表画像に決定して終了する。一方、現在のクラスタＩが最下位クラスタでない場合、Ｓ１２０３に進む。
【００８２】
Ｓ１２０３では、クラスタＩの持つ子クラスタ、ＩＬとＩＲが持つ画像数を比較する。
【００８３】
Ｓ１２０４では、ＩＬの持つ画像数がＩＲの持つ画像数以上である場合はＩＬを取得し、ＩＬの持つ画像数がＩＲの持つ画像数より小さい場合はＩＲを取得する。
【００８４】
Ｓ１２０５では、クラスタＩＬとＩＲのうち、Ｓ１２０４で取得した画像数の多いクラスタで、クラスタＩを更新し、クラスタＩの持つ画像数が１になるまで、Ｓ１２０２〜Ｓ１２０５までの処理を繰り返し実行する。すなわち、次の順位の画像が、画像数の多い子クラスタに属する画像の中から選ばれることになり、優先順位を付与する際に、クラスタに属する画像の数が重みとして考慮されることになる。
【００８５】
以上が画像ファイル管理プログラムにより実行される優先順位付与処理である。例えば、図１０に示すツリー構造の８枚の管理対象画像に対して、優先順位を付与する処理を図１３に示し、矢印の順に優先順位が決定される。
【００８６】
上記実施形態では、優先順位は画像数が多く且つ結合距離が大きい（撮影日時が離れている）クラスタから付与していくことから次のような特徴がある。
【００８７】
・撮影日時が密集しているクラスタからは、そのクラスタの代表画像が優先的に順位を付与される。しかし、優先的に順位を付与された画像のすぐ近傍の日時で撮影された画像の優先順位は比較的低い順位になる。これにより、例えば、デジタルカメラの連写モードで１０秒間に２０枚撮影した画像があった場合、このシーンは重要であると判定して、１枚は必ず選択され、高い優先順位が付与される。しかし、残りの１９枚については同じようなシーンであることが予想されるので、低い優先順位が付与される、というように優先順位が割り振られる。また、他に、海外旅行のように１週間で３００枚を撮影した場合も短期間に大量の画像が撮影されるケースとして挙げられる。
【００８８】
・撮影日時が孤立した画像は、他の画像との結合距離が大きくなるため、高い優先順位が付与される。これにより、短期間で大量の画像を撮影したイベントの１ヶ月後に２枚だけ記念写真を撮った同窓会の写真も重要であると判定して、比較的高い優先順位が付与される。
【００８９】
また、本実施形態では、画像を互いの撮影日時の差分にしたがって、グループに分類して、優先順位を付与するため、管理対象画像を構成する画像の組み合わせによって、各画像に付与される優先順位は動的に変わることになる。すなわち、優先順位がｎ番目の画像と（ｎ＋１）番目の画像との撮影日時の差分が、ｎ番目の画像と（ｎ＋２）番目の画像との撮影日時の差分よりも大きくなるように、各画像に優先順位が付与される。
【００９０】
以上説明したように、画像ファイル管理プログラムの初期化処理において管理対象画像に優先順位を付与している。この優先順位情報は、プロセスの実行中、サムネイル一覧画面３００を描画する毎に、表示対象画像の選択、サムネイルの描画位置の決定処理において参照される。
【００９１】
＜表示対象画像選択処理＞
次に、図４のＳ４０８での表示対象画像選択処理の詳細について説明する。
【００９２】
この表示対象画像の選択処理は、図４のＳ４０７で設定された時間軸の範囲内に存在する画像ファイルが最大表示枚数より多い場合に実行される。
【００９３】
表示対象画像の選択は、図１１で決定された管理対象画像の優先順位に基づいて行われる。この優先順位に従って設定された時間軸の範囲に存在する画像ファイルにおいて、最大表示枚数を上限として降順に画像ファイルを選択する。
【００９４】
図１４は表示対象画像の選択処理を示すフローチャートである。
【００９５】
図１４において、Ｓ１４０１では、管理対象画像の中から、図４のＳ４０７で設定された時間軸の範囲内に存在する画像ファイルを抽出する。
【００９６】
Ｓ１４０２では、Ｓ１４０１で抽出された画像ファイルを、図１１で決定された優先順位でソートし、画像リストを作成する。
【００９７】
Ｓ１４０３では、画像リストのうち優先順位の高い画像から順に最大表示枚数の画像ファイルを選択し、これを表示対象画像とする。
【００９８】
図４のＳ４０９では、Ｓ１４０３で選択された画像ファイルについて、優先順位に従ってサムネイル一覧画面３００に配置する位置を決定し描画する。
【００９９】
＜サムネイル一覧画面へのレイアウト処理＞
次に、表示対象画像のサムネイル一覧画面３００へレイアウトする処理の詳細について説明する。
【０１００】
前述した図５のＳ５０４で全ての管理対象画像に付与された優先順位を、図４のＳ４０８で選択された表示対象画像の中で、１から順に振り直し、この値をｐとする。
【０１０１】
各表示対象画像の矩形表示領域３０１の時間軸に直交する軸を重要度軸とし、重要度軸上でのピクセル位置をｙとすると、ｙは表示対象画像内での優先順位ｐに依存する関数として下記式１で定義される。
【０１０２】
ｙ（ｐ）＝Ｙ×ｐ／ｓ・・・（１）
ここで、Ｙは矩形表示領域３０１の縦方向ピクセル数、ｓは表示対象画像数である。
【０１０３】
このようにして決定した重要度と画像の撮影日時とから、時間軸と重要度軸とからなる矩形表示領域３０１で定まる座標点にサムネイルの中央ピクセルを対応させて配置する。描画は優先順位の低い画像から行い、画像同士が重なった場合は、優先順位の高いものほど上位になるように描画する。これにより、図３のようなサムネイル一覧画面３００が描画できる。なお、ここでは優先順位が高い画像ほど重なりの上位に配置すると説明したが、これは単なるレイアウト手法の一例に過ぎず、マウスでポインタを画像に乗せると重なりがそれに応じて変化する等の工夫で更に使い勝手をよくすることもできる。
【０１０４】
上記式１で与えられる重要度は、優先順位が隣接する画像は重要度も隣接する。逆に、優先順位が離れていれば、重要度も離れていて重要度軸ではより離れた位置に描画される。優先順位は前述した通り、撮影日時の分布に対して、離散的な値をとる特徴があることから、得られた重要度は、撮影日時が表示領域内で相対的に近い場合は、離れた値をとる。つまり、時間軸方向で近接している画像は重要度軸方向で離れる傾向を持つ。従って、一般的に表示対象画像は画面上で重なる面積が小さくなる。これにより、本実施形態のレイアウト手法は、ユーザにとって検索の指標となる重要な画像が見やすく表示されるので、一画面で得られる情報の多い、視認性の高いレイアウトをリアルタイムで実行可能な計算量で実現される。
【０１０５】
なお、上記の例ではサムネイルの中央のピクセルで配置すると述べたが、もちろん中央ピクセルでなく、左下頂点のピクセルなど他のピクセルを対応させても発明の本質には何ら影響はない。また、上記重要度軸上での位置を決定する式１では優先順位の高い画像ほど、重要度軸上における原点に近くなる。重要度軸の原点を矩形表示領域３０１の上端に設定したとすると、表示対象画像における優先順位高い画像ほど、画面の上端の方向に寄ることになる。人間は画面の中心に視線を集める傾向が強いと仮定すると、画面端ではなくて中央に寄るようなレイアウトの方が望ましいかもしれない。例えば、重要度軸原点を矩形表示領域３０１の中央として重要度を下記式２，３で定義すると、優先順位が高い画像ほど、画面中央に寄るであろう。
【０１０６】
ｙ（ｐ）＝Ｙ×ｐ／２ｓ（ｐが偶数のとき）・・・（２）
ｙ（ｐ）＝−Ｙ×ｐ／２ｓ（ｐが奇数のとき）・・・（３）
しかしながら、この重要度軸の原点をどこに取るかは発明の本質には影響はない。本発明の実施においては、優先順位ｐに対して、ｙが連続的に振舞えばどのような定義でもよいことを付記しておく。
【０１０７】
［他の実施形態］
本発明は、前述した実施形態の機能を実現するコンピュータプログラムを、システムあるいは装置に直接あるいは遠隔から供給することによって達成される場合も含む。その場合、システム等のコンピュータが該コンピュータプログラムを読み出して実行することになる。
【０１０８】
従って、本発明の機能処理をコンピュータで実現するために、該コンピュータにインストールされるコンピュータプログラム自体も本発明を実現するものである。
【０１０９】
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等の形態であっても良い。
プログラムを供給するための記録媒体（記憶媒体）としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク等がある。その他にも、MO、CD-ROM、CD-R、CD-RW、磁気テープ、不揮発性のメモリカード、ROM、DVD(DVD-ROM、DVD-R)等がある。
【０１１０】
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続し、該ホームページから本発明のコンピュータプログラムそのものをダウンロードすることもできる。また圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。また、本発明のプログラムを構成するコンピュータプログラムを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるWWWサーバも、本発明に含まれるものである。
【０１１１】
また、本発明のプログラムを暗号化してCD-ROM等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザが、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードすることもできる。この場合、ダウンロードした鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現する。
【０１１２】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される他、そのプログラムの指示に基づき、コンピュータ上で稼動しているＯＳ等が、実際の処理の一部又は全部を行うことによっても実現され得る。
【０１１３】
更に、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットのメモリに書き込まれた後、該ボード等のＣＰＵ等が実際の処理の一部又は全部を行うことによっても実現される。
【図面の簡単な説明】
【０１１４】
【図１】本発明に係る実施形態の画像ファイル管理システムを実現する標準的な構成を例示する図である。
【図２】本実施形態の画像ファイル管理プログラムを実行するＰＣの標準的な構成を例示するブロック図である。
【図３】本実施形態の画像ファイル管理プログラムにより描画されるサムネイル一覧画面を例示する図である。
【図４】本実施形態の画像ファイル管理プログラムにより実現されるサムネイル描画処理を示すフローチャートである。
【図５】図４のＳ４０５での初期化処理を示すフローチャートである。
【図６】図５のＳ５０３でのクラスタリング処理を示すフローチャートである。
【図７】本実施形態のクラスタリング処理を説明する画像ファイルの一覧を例示する図である。
【図８】本実施形態のクラスタリング処理によって生成されるクラスタの撮影日時を時間軸上にプロットして示す図である。
【図９】本実施形態のクラスタリング処理によって生成されるクラスタの一覧を例示する図である。
【図１０】本実施形態のクラスタリング処理によって生成されるツリー構造を例示する図である
【図１１】図５のＳ５０４での管理対象画像に優先順位を付与する処理を示すフローチャートである。
【図１２】図１１の優先順位付与処理においてクラスタから代表画像を抽出する処理を示すフローチャートである。
【図１３】図１１の優先順位付与処理を例示する図である。
【図１４】本実施形態の表示対象画像選択処理を示すフローチャートである。
【符号の説明】
【０１１５】
１０１  ＰＣ
１０２  画像入力機器
１０３  データ転送用インタフェース
１０４  インターネット
１０５  フォトサイト
１０６  ＤＢ
１０７  他のＰＣ
２０１  ＣＲＴ
２０２  ＶＲＡＭ
２０３  ビットムーブユニット
２０４  キーボード
２０５  ＰＤ
２０６  ＣＰＵ
２０７  ＲＯＭ
２０８  ＲＡＭ
２０９  ＨＤＤ
２１０  ＦＤＤ
２１１  Ｎｅｔ−Ｉ／Ｆ
３００  サムネイル一覧画面
３０１  矩形表示領域
３０２  サムネイル
３０３  時間軸の目盛り
３０４  時間軸での絶対位置
３０５  サムネイルの最大表示枚数
【図１】
0005149724.tif 000002
【図２】
0005149724.tif 000003
【図４】
0005149724.tif 000004
【図５】
0005149724.tif 000005
【図６】
0005149724.tif 000006
【図７】
0005149724.tif 000007
【図９】
0005149724.tif 000008
【図１０】
0005149724.tif 000009
【図１１】
0005149724.tif 000010
【図１２】
0005149724.tif 000011
【図１３】
0005149724.tif 000012
【図１４】
0005149724.tif 000013
【図３】
0005149724.tif 000014
【図８】
0005149724.tif 000015