(57)【特許請求の範囲】
【請求項１】
撮影時刻の情報を属性情報として有する複数の画像データを取得する取得手段と、
前記属性情報により表される、前記取得手段により取得された前記複数の画像データのそれぞれの撮影時刻に基づいて、撮影順で連続する、撮影時刻の時間間隔の最も短い２つの画像データが接続される第１のノードと、前記第１のノードとともに、前記第１のノードに属する２つの画像データのうちの撮影順で前の画像データの直前に撮影された画像データ、または撮影順で後の画像データの直後に撮影された画像データが接続される第２のノードと、前記第１のノードまたは前記第２のノードである他のノードが子のノードとして２つ接続される第３のノードとが、それぞれ複数接続されることによって構成される二分木構造を表す情報を作成し、作成した情報により表される前記二分木構造に含まれるそれぞれの前記第３のノードに注目し、注目する前記第３のノードに属する撮影順で連続する画像データ同士の撮影時刻の時間間隔の標準偏差を、前記属性情報により表されるそれぞれの画像データの撮影時刻に基づいて算出し、注目する前記第３のノードの２つの子のノードである第１の子のノードと、前記第１の子のノードに属する画像データより後に撮影された画像データが属する第２の子のノードのうちの、前記第１の子のノードに属する撮影順で最後の画像データの撮影時刻と前記第２の子のノードに属する撮影順で最初の画像データの撮影時刻の時間間隔と、注目する前記第３のノードに属する撮影順で連続する画像データ同士の撮影時刻の時間間隔の平均との差の絶対値として求められる偏差を、前記属性情報により表されるそれぞれの画像データの撮影時刻に基づいて算出し、算出した前記偏差を前記標準偏差で除算し、除算結果の値が閾値より大きい場合には前記第１の子のノードに属する画像データと前記第２の子のノードに属する画像データがそれぞれ異なるグループの画像データになるように、前記除算結果の値が閾値より小さい場合には前記第１の子のノードに属する画像データと前記第２の子のノードに属する画像データが同じグループの画像データになるように、前記複数の画像データのグループ分けを行い、グループ分けの結果を表す情報を作成する演算手段と
を備える情報処理装置。
【請求項２】
前記演算手段は、複数の前記閾値を用いて、前記取得手段により取得された同じ前記複数の画像データを対象として粒度の異なるグループ分けの結果を求める
請求項１に記載の情報処理装置。
【請求項３】
前記演算手段により求められたグループ分けの結果に基づいて、同じグループに属する画像データを一覧表示させる表示制御手段をさらに備える
請求項１に記載の情報処理装置。
【請求項４】
前記表示制御手段は、さらに、それぞれのグループを１つのフォルダとして表示させ、表示させたフォルダの中からユーザにより選択されたフォルダにより表されるグループに属する画像データを一覧表示させる
請求項３に記載の情報処理装置。
【請求項５】
前記フォルダの名前として、ユーザにより入力された名前、または、グループに属する画像データが有する属性情報から得られる名前を設定する設定手段をさらに備える
請求項４に記載の情報処理装置。
【請求項６】
撮影時刻の情報を属性情報として有する複数の画像データを取得し、
前記属性情報により表される、取得した前記複数の画像データのそれぞれの撮影時刻に基づいて、撮影順で連続する、撮影時刻の時間間隔の最も短い２つの画像データが接続される第１のノードと、前記第１のノードとともに、前記第１のノードに属する２つの画像データのうちの撮影順で前の画像データの直前に撮影された画像データ、または撮影順で後の画像データの直後に撮影された画像データが接続される第２のノードと、前記第１のノードまたは前記第２のノードである他のノードが子のノードとして２つ接続される第３のノードとが、それぞれ複数接続されることによって構成される二分木構造を表す情報を作成し、
作成した情報により表される前記二分木構造に含まれるそれぞれの前記第３のノードに注目し、
注目する前記第３のノードに属する撮影順で連続する画像データ同士の撮影時刻の時間間隔の標準偏差を、前記属性情報により表されるそれぞれの画像データの撮影時刻に基づいて算出し、
注目する前記第３のノードの２つの子のノードである第１の子のノードと、前記第１の子のノードに属する画像データより後に撮影された画像データが属する第２の子のノードのうちの、前記第１の子のノードに属する撮影順で最後の画像データの撮影時刻と前記第２の子のノードに属する撮影順で最初の画像データの撮影時刻の時間間隔と、注目する前記第３のノードに属する撮影順で連続する画像データ同士の撮影時刻の時間間隔の平均との差の絶対値として求められる偏差を、前記属性情報により表されるそれぞれの画像データの撮影時刻に基づいて算出し、
算出した前記偏差を前記標準偏差で除算し、
除算結果の値が閾値より大きい場合には前記第１の子のノードに属する画像データと前記第２の子のノードに属する画像データがそれぞれ異なるグループの画像データになるように、前記除算結果の値が閾値より小さい場合には前記第１の子のノードに属する画像データと前記第２の子のノードに属する画像データが同じグループの画像データになるように、前記複数の画像データのグループ分けを行い、
グループ分けの結果を表す情報を作成する
ステップを含む情報処理方法。
【請求項７】
撮影時刻の情報を属性情報として有する複数の画像データを取得し、
前記属性情報により表される、取得した前記複数の画像データのそれぞれの撮影時刻に基づいて、撮影順で連続する、撮影時刻の時間間隔の最も短い２つの画像データが接続される第１のノードと、前記第１のノードとともに、前記第１のノードに属する２つの画像データのうちの撮影順で前の画像データの直前に撮影された画像データ、または撮影順で後の画像データの直後に撮影された画像データが接続される第２のノードと、前記第１のノードまたは前記第２のノードである他のノードが子のノードとして２つ接続される第３のノードとが、それぞれ複数接続されることによって構成される二分木構造を表す情報を作成し、
作成した情報により表される前記二分木構造に含まれるそれぞれの前記第３のノードに注目し、
注目する前記第３のノードに属する撮影順で連続する画像データ同士の撮影時刻の時間間隔の標準偏差を、前記属性情報により表されるそれぞれの画像データの撮影時刻に基づいて算出し、
注目する前記第３のノードの２つの子のノードである第１の子のノードと、前記第１の子のノードに属する画像データより後に撮影された画像データが属する第２の子のノードのうちの、前記第１の子のノードに属する撮影順で最後の画像データの撮影時刻と前記第２の子のノードに属する撮影順で最初の画像データの撮影時刻の時間間隔と、注目する前記第３のノードに属する撮影順で連続する画像データ同士の撮影時刻の時間間隔の平均との差の絶対値として求められる偏差を、前記属性情報により表されるそれぞれの画像データの撮影時刻に基づいて算出し、
算出した前記偏差を前記標準偏差で除算し、
除算結果の値が閾値より大きい場合には前記第１の子のノードに属する画像データと前記第２の子のノードに属する画像データがそれぞれ異なるグループの画像データになるように、前記除算結果の値が閾値より小さい場合には前記第１の子のノードに属する画像データと前記第２の子のノードに属する画像データが同じグループの画像データになるように、前記複数の画像データのグループ分けを行い、
グループ分けの結果を表す情報を作成する
ステップを含む処理をコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置および方法、並びにプログラムに関し、特に、よりユーザの主観に沿った形で情報のグループ分けを行うことができるようにした情報処理装置および方法、並びにプログラムに関する。
【背景技術】
【０００２】
近年、ディジタルカメラで撮影された画像をグループ分けする技術として様々なものが提案されている。
【０００３】
例えば、特許文献１および２には、撮影のときに得られた画像の撮影日の情報に基づいて、撮影された画像を、撮影日毎にグループ分けして管理する技術が開示されている。
【０００４】
特許文献３には、GPS(Global Positioning System)などにより得られた撮影位置の情報を画像と関連付けて記録しておき、それぞれの画像の撮影位置の距離に応じて画像をグループ分けして管理する技術が開示されている。この技術によれば、ある画像の撮影位置と近い位置で撮影が行われた場合、その先に撮影された画像と、後に撮影された画像は同じグループの画像として管理される。
【０００５】
特許文献４には、カレンダーに登録されたイベントの情報と、画像の撮影時に得られた撮影日の情報から、撮影された画像をイベント毎に管理する技術が開示されている。この技術によれば、例えば、所定の日付のイベントとして、ユーザが「旅行」をカレンダーに登録していた場合、その日付を撮影日とする画像は同じグループの画像として管理される。
【０００６】
特許文献５には、一定時間以内の間隔で撮影された画像を同じグループの画像として管理する技術が開示されている。この技術によれば、例えば、グループ分けの基準となる時間間隔が１０分である場合、先に撮影が行われてから１０分以内に撮影が行われたときには、先の撮影により得られた画像と、後の撮影により得られた画像は同じグループの画像として管理され、反対に、先の撮影が行われてから１０分経過してから撮影が行われたときには、先の撮影により得られた画像と、後の撮影により得られた画像は異なるグループの画像として管理される。
【０００７】
【特許文献１】特開２００１−５４０４１号公報
【特許文献２】特開２００１−５１８７７号公報
【特許文献３】特開２００２−１９１０１５号公報
【特許文献４】特開２００３−２９８９９１号公報
【特許文献５】特開平１０−２５４７４６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
しかしながら、例えば、特許文献１および２に開示されているような技術においては、撮影日毎にグループ分けが行われることから、旅行などの、複数日に渡って行われるイベントで撮影された画像を１つのグループの画像として管理することができない。また、１日のうちに行われた複数のイベントで撮影された画像が混在する場合、異なるイベントで撮影された画像を、それぞれ異なるグループの画像として管理することができない。
【０００９】
また、特許文献３に開示されているように、GPSなどを用いて撮影位置の情報を得る必要がある技術においては、当然、撮影位置の情報を取得することができない場合にはグループ分けを行うことができず、例えば、撮影位置の情報を取得することができなかった画像はグループ化の対象からはずされてしまうことになる。
【００１０】
さらに、特許文献４に開示されている技術においては、ユーザは、外出先の名前などのイベント名をカレンダーに登録しておく必要があり、そのような作業は一般的に煩雑である。
【００１１】
また、特許文献５に開示されている技術においては、グループ分けの基準となる撮影間隔が一定の時間とされ、一定の間隔を基準として機械的にグループ分けがされてしまうことから、「この画像とこの画像の間でグループが分かれてほしい」という、ユーザの主観に沿った形でグループ分けを行うことが困難である。
【００１２】
例えば、グループ分けの基準となる一定の撮影間隔が１０分である場合、結婚式などの１つのイベントで撮影された画像の全てが同じグループの画像としてグループ化されることがユーザにとっては望ましいところ、そのようなグループ化が行われるためには、ユーザは、結婚式がはじまり、最初に撮影を行ってからは、それ以降、常に、１０分以内に撮影を行う必要がある。また、結婚式が終わったら、１０分以上経過してから撮影を行わななければ、結婚式の最中に撮影した画像と、結婚式が終わってから撮影した画像が同じグループの画像となってしまう。
【００１３】
撮影間隔というのは、個人個人の撮影スタイルに大きく左右されるものであることから、１０分などのように一定の時間間隔を基準としてグループ分けが行われる場合、ユーザの撮影スタイルが、結婚式が始まってから終わるまでの間に全部で１０枚ほどしか撮影を行わないようなときには（１回１回の撮影を、１０分以上の間隔を空けて行うときには）、２枚以上の画像からなるグループは形成されないことになる。
【００１４】
また、一定の時間間隔を基準としてグループ分けが行われる場合、グループ分けの基準が固定であり、従って、グループ分けの結果も固定であることから、仮に、グループ分けの結果がユーザの希望する粒度のものではない場合、「もう少し大きいまとまりでグループ化してほしい」、「もう少し小さいまとまりでグループ化してほしい」などというユーザの要求に対応することができない。
【００１５】
近年、ハードディスクやフラッシュメモリなどの記録媒体の大容量化が進んでおり、このような大容量の記録媒体を搭載したディジタルカメラを用いた場合、撮影した画像をパーソナルコンピュータなどの他のストレージ機器に移すことなく、ディジタルカメラの内部に撮影したまま貯め込んでおくことが予想され、また、ディジタルカメラに設けられる操作ボタンは、通常、機器の携帯性を確保するという点から比較的小さいものが用意され、それを用いて画像をグループ分けして管理することは困難であることから、撮影した画像のグループ化をディジタルカメラ内において適切な形で自動的に行うことに対する要求も高まっていくものと考えられる。
【００１６】
本発明はこのような状況に鑑みてなされたものであり、よりユーザの主観に沿った形で情報のグループ分けを行うことができるようにするものである。
【課題を解決するための手段】
【００１７】
本発明の一側面の情報処理装置は、撮影時刻の情報を属性情報として有する複数の画像データを取得する取得手段と、前記属性情報により表される、前記取得手段により取得された前記複数の画像データのそれぞれの撮影時刻に基づいて、撮影順で連続する、撮影時刻の時間間隔の最も短い２つの画像データが接続される第１のノードと、前記第１のノードとともに、前記第１のノードに属する２つの画像データのうちの撮影順で前の画像データの直前に撮影された画像データ、または撮影順で後の画像データの直後に撮影された画像データが接続される第２のノードと、前記第１のノードまたは前記第２のノードである他のノードが子のノードとして２つ接続される第３のノードとが、それぞれ複数接続されることによって構成される二分木構造を表す情報を作成し、作成した情報により表される前記二分木構造に含まれるそれぞれの前記第３のノードに注目し、注目する前記第３のノードに属する撮影順で連続する画像データ同士の撮影時刻の時間間隔の標準偏差を、前記属性情報により表されるそれぞれの画像データの撮影時刻に基づいて算出し、注目する前記第３のノードの２つの子のノードである第１の子のノードと、前記第１の子のノードに属する画像データより後に撮影された画像データが属する第２の子のノードのうちの、前記第１の子のノードに属する撮影順で最後の画像データの撮影時刻と前記第２の子のノードに属する撮影順で最初の画像データの撮影時刻の時間間隔と、注目する前記第３のノードに属する撮影順で連続する画像データ同士の撮影時刻の時間間隔の平均との差の絶対値として求められる偏差を、前記属性情報により表されるそれぞれの画像データの撮影時刻に基づいて算出し、算出した前記偏差を前記標準偏差で除算し、除算結果の値が閾値より大きい場合には前記第１の子のノードに属する画像データと前記第２の子のノードに属する画像データがそれぞれ異なるグループの画像データになるように、前記除算結果の値が閾値より小さい場合には前記第１の子のノードに属する画像データと前記第２の子のノードに属する画像データが同じグループの画像データになるように、前記複数の画像データのグループ分けを行い、グループ分けの結果を表す情報を作成する演算手段とを備える。
【００１９】
前記演算手段には、複数の前記閾値を用いて、前記取得手段により取得された同じ前記複数の画像データを対象として粒度の異なるグループ分けの結果を求めさせることができる。
【００２１】
前記演算手段により求められたグループ分けの結果に基づいて、同じグループに属する画像データを一覧表示させる表示制御手段をさらに設けることができる。
【００２２】
前記表示制御手段には、さらに、それぞれのグループを１つのフォルダとして表示させ、表示させたフォルダの中からユーザにより選択されたフォルダにより表されるグループに属する画像データを一覧表示させることができる。
【００２３】
前記フォルダの名前として、ユーザにより入力された名前、または、グループに属する画像データが有する属性情報から得られる名前を設定する設定手段をさらに設けることができる。
【００２４】
本発明の一側面の情報処理方法は、撮影時刻の情報を属性情報として有する複数の画像データを取得し、前記属性情報により表される、取得した前記複数の画像データのそれぞれの撮影時刻に基づいて、撮影順で連続する、撮影時刻の時間間隔の最も短い２つの画像データが接続される第１のノードと、前記第１のノードとともに、前記第１のノードに属する２つの画像データのうちの撮影順で前の画像データの直前に撮影された画像データ、または撮影順で後の画像データの直後に撮影された画像データが接続される第２のノードと、前記第１のノードまたは前記第２のノードである他のノードが子のノードとして２つ接続される第３のノードとが、それぞれ複数接続されることによって構成される二分木構造を表す情報を作成し、作成した情報により表される前記二分木構造に含まれるそれぞれの前記第３のノードに注目し、注目する前記第３のノードに属する撮影順で連続する画像データ同士の撮影時刻の時間間隔の標準偏差を、前記属性情報により表されるそれぞれの画像データの撮影時刻に基づいて算出し、注目する前記第３のノードの２つの子のノードである第１の子のノードと、前記第１の子のノードに属する画像データより後に撮影された画像データが属する第２の子のノードのうちの、前記第１の子のノードに属する撮影順で最後の画像データの撮影時刻と前記第２の子のノードに属する撮影順で最初の画像データの撮影時刻の時間間隔と、注目する前記第３のノードに属する撮影順で連続する画像データ同士の撮影時刻の時間間隔の平均との差の絶対値として求められる偏差を、前記属性情報により表されるそれぞれの画像データの撮影時刻に基づいて算出し、算出した前記偏差を前記標準偏差で除算し、除算結果の値が閾値より大きい場合には前記第１の子のノードに属する画像データと前記第２の子のノードに属する画像データがそれぞれ異なるグループの画像データになるように、前記除算結果の値が閾値より小さい場合には前記第１の子のノードに属する画像データと前記第２の子のノードに属する画像データが同じグループの画像データになるように、前記複数の画像データのグループ分けを行い、グループ分けの結果を表す情報を作成するステップを含む。
本発明の一側面のプログラムは、撮影時刻の情報を属性情報として有する複数の画像データを取得し、前記属性情報により表される、取得した前記複数の画像データのそれぞれの撮影時刻に基づいて、撮影順で連続する、撮影時刻の時間間隔の最も短い２つの画像データが接続される第１のノードと、前記第１のノードとともに、前記第１のノードに属する２つの画像データのうちの撮影順で前の画像データの直前に撮影された画像データ、または撮影順で後の画像データの直後に撮影された画像データが接続される第２のノードと、前記第１のノードまたは前記第２のノードである他のノードが子のノードとして２つ接続される第３のノードとが、それぞれ複数接続されることによって構成される二分木構造を表す情報を作成し、作成した情報により表される前記二分木構造に含まれるそれぞれの前記第３のノードに注目し、注目する前記第３のノードに属する撮影順で連続する画像データ同士の撮影時刻の時間間隔の標準偏差を、前記属性情報により表されるそれぞれの画像データの撮影時刻に基づいて算出し、注目する前記第３のノードの２つの子のノードである第１の子のノードと、前記第１の子のノードに属する画像データより後に撮影された画像データが属する第２の子のノードのうちの、前記第１の子のノードに属する撮影順で最後の画像データの撮影時刻と前記第２の子のノードに属する撮影順で最初の画像データの撮影時刻の時間間隔と、注目する前記第３のノードに属する撮影順で連続する画像データ同士の撮影時刻の時間間隔の平均との差の絶対値として求められる偏差を、前記属性情報により表されるそれぞれの画像データの撮影時刻に基づいて算出し、算出した前記偏差を前記標準偏差で除算し、除算結果の値が閾値より大きい場合には前記第１の子のノードに属する画像データと前記第２の子のノードに属する画像データがそれぞれ異なるグループの画像データになるように、前記除算結果の値が閾値より小さい場合には前記第１の子のノードに属する画像データと前記第２の子のノードに属する画像データが同じグループの画像データになるように、前記複数の画像データのグループ分けを行い、グループ分けの結果を表す情報を作成するステップを含む処理をコンピュータに実行させる。
【００２５】
本発明の一側面においては、撮影時刻の情報を属性情報として有する複数の画像データが取得され、前記属性情報により表される、取得された複数の画像データのそれぞれの撮影時刻に基づいて、撮影順で連続する、撮影時刻の時間間隔の最も短い２つの画像データが接続される第１のノードと、前記第１のノードとともに、前記第１のノードに属する２つの画像データのうちの撮影順で前の画像データの直前に撮影された画像データ、または撮影順で後の画像データの直後に撮影された画像データが接続される第２のノードと、前記第１のノードまたは前記第２のノードである他のノードが子のノードとして２つ接続される第３のノードとが、それぞれ複数接続されることによって構成される二分木構造を表す情報が作成される。また、作成した情報により表される前記二分木構造に含まれるそれぞれの前記第３のノードが注目され、注目する前記第３のノードに属する撮影順で連続する画像データ同士の撮影時刻の時間間隔の標準偏差が、前記属性情報により表されるそれぞれの画像データの撮影時刻に基づいて算出され、注目する前記第３のノードの２つの子のノードである第１の子のノードと、前記第１の子のノードに属する画像データより後に撮影された画像データが属する第２の子のノードのうちの、前記第１の子のノードに属する撮影順で最後の画像データの撮影時刻と前記第２の子のノードに属する撮影順で最初の画像データの撮影時刻の時間間隔と、注目する前記第３のノードに属する撮影順で連続する画像データ同士の撮影時刻の時間間隔の平均との差の絶対値として求められる偏差が、前記属性情報により表されるそれぞれの画像データの撮影時刻に基づいて算出され、算出された前記偏差が前記標準偏差で除算され、除算結果の値が閾値より大きい場合には前記第１の子のノードに属する画像データと前記第２の子のノードに属する画像データがそれぞれ異なるグループの画像データになるように、前記除算結果の値が閾値より小さい場合には前記第１の子のノードに属する画像データと前記第２の子のノードに属する画像データが同じグループの画像データになるように、前記複数の画像データのグループ分けが行われ、グループ分けの結果を表す情報が作成される。
【発明の効果】
【００２６】
本発明の一側面によれば、よりユーザの主観に沿った形で情報のグループ分けを行うことができる。
【発明を実施するための最良の形態】
【００３３】
以下、本発明の実施の形態について図を参照して説明する。
【００３４】
図１および図２は、本発明の一実施形態に係るディジタルカメラ１の外観の例を示す図である。
【００３５】
図１はディジタルカメラ１の正面側（被写体から見た側）の外観を示し、図２は背面側（撮影者から見た側）の外観を示す。図１には、ディジタルカメラ１に内蔵される構成の一部も点線で示されている。
【００３６】
図１に示されるように、ディジタルカメラ１の正面のほぼ中央にはレンズ１１が設けられ、このレンズ１１により被写体の像が取り込まれる。ディジタルカメラ１の筐体上面には、被写体側から見て、その左側にシャッターボタン１２が設けられ、右側にアンテナ１３が設けられる。アンテナ１３は、例えば、ディジタルカメラ１が他の機器と無線通信を行うときに用いられる。
【００３７】
図２に示されるように、ディジタルカメラ１の背面には、その広い範囲に渡って、LCD(Liquid Crystal Display)などよりなる表示装置１４が設けられる。表示装置１４には、撮影時、レンズ１１により取り込まれている被写体の画像が表示され、撮影後、ユーザ操作に応じて、撮影して得られた画像（写真）が表示される。後述するように、ディジタルカメラ１においては、撮影して得られた画像がイベント単位でグループ化され、ユーザは、１つのグループを選択することによって、所定のイベントで撮影した画像を表示させることができる。
【００３８】
操作ボタン１５は、十字キーや決定ボタンなどより構成され、表示装置１４に表示されるカーソルを移動するときや、カーソルにより選択した項目を決定するときなどにユーザにより操作される。
【００３９】
以上のような外観構成を有するディジタルカメラ１には、CPU(Central Processing Unit)，ROM(Read Only Memory)，RAM(Random Access Memory)などより構成され、ディジタルカメラ１の全体の動作を制御する中央演算装置２１、有線、または無線による通信を他の機器との間で行う通信装置２２、ディジタルカメラ１の各部の駆動電源として用いられるバッテリ２３、および、フラッシュメモリやハードディスクなどよりなる記録装置２４が内蔵して設けられる。記録装置２４は、ディジタルカメラ１に対して着脱可能なものとして構成されるようにしてもよい。
【００４０】
ここで、以上のような構成を有するディジタルカメラ１において行われる画像のグループ化（クラスタリング）について説明する。
【００４１】
図３は、画像のグループ（クラスタ）の例を示す図である。図３において、横軸は時間軸を示す。
【００４２】
図３は、時刻ｔ1乃至ｔ12のそれぞれのタイミングにおいて撮影された画像ｐ1乃至ｐ12がクラスタリングの対象とされている場合の例を示している。例えば、撮影され、記録装置２４に記録されている画像全体がクラスタリングの対象とされる。図３の１つの四角形は１枚の画像を表す。
【００４３】
ディジタルカメラ１においては、それぞれの画像の撮影時刻の時間間隔が求められ、時間間隔の分布が、ある条件を満たす連続した画像から１つのクラスタが構成される。撮影されたそれぞれの画像には、EXIF(Exchangeable Image File Format)タグが属性情報として付加されており、このEXIFタグに含まれる撮影時刻の情報がクラスタリングに用いられる。
【００４４】
図３の例においては、クラスタを規定する条件として条件Ａと条件Ｂが設定され、そのうちの条件Ａにより、画像ｐ1乃至ｐ12全体からなる１つのクラスタが規定されている。条件Ａにより規定されたクラスタにはイベント名「結婚式」が設定されている。
【００４５】
クラスタリングの詳細については後述するが、「結婚式」のイベント名が設定されているクラスタは、例えば、画像ｐ1乃至ｐ12のそれぞれの画像の撮影時刻の時間間隔のばらつきの程度が、ある閾値より小さいことなどから規定されたものである。
【００４６】
また、図３の例においては、条件Ｂにより、画像ｐ1乃至ｐ12のうちの画像ｐ1乃至ｐ3から１つのクラスタが規定され、画像ｐ4乃至ｐ7から１つのクラスタが規定されている。また、画像ｐ8乃至ｐ12から１つのクラスタが規定されている。
【００４７】
画像ｐ1乃至ｐ3からなるクラスタには「教会での挙式」、画像ｐ4乃至ｐ7からなるクラスタには「披露宴」、画像ｐ8乃至ｐ12からなるクラスタには「二次会」のイベント名がそれぞれ設定されている。
【００４８】
「教会での挙式」のイベント名が設定されているクラスタは、それを構成する画像ｐ1乃至ｐ3のそれぞれの撮影時刻の時間間隔のばらつきの程度が近いものであるのに対し、画像ｐ3と、次に（時間軸上で次に）撮影時刻の時間間隔のばらつきの程度が近い画像のまとまりである画像ｐ4乃至ｐ7のうちの最初の画像である画像ｐ4との時間間隔が比較的大きく、その部分で、撮影の頻度に変化があったと判断されたことから規定されたものである。
【００４９】
また、「披露宴」のイベント名が設定されているクラスタは、それを構成する画像ｐ4乃至ｐ7のそれぞれの撮影時刻の時間間隔のばらつきの程度が近いものであるのに対し、画像ｐ7と、次に撮影時刻の時間間隔のばらつきの程度が近い画像のまとまりである画像ｐ8乃至ｐ12のうちの最初の画像である画像ｐ8との時間間隔が比較的大きく、その部分で、撮影の頻度に変化があったと判断されたことから規定されたものである。
【００５０】
「二次会」のイベント名が設定されているクラスタは、それを構成する画像ｐ8乃至ｐ12のそれぞれの撮影時刻の時間間隔のばらつきの程度が近いものであるのに対し、画像ｐ12と、次に撮影時刻の時間間隔のばらつきの程度が近い画像のまとまりのうちの最初の画像との時間間隔が比較的大きく、その部分で、撮影の頻度に変化があったと判断されたことから規定されたものである。
【００５１】
なお、「結婚式」、「教会での挙式」、「披露宴」、「二次会」のそれぞれのイベント名は、例えば、ユーザにより手動で設定されたものである。
【００５２】
このように、ディジタルカメラ１においては、同じ対象の画像をクラスタリングする条件として複数の条件が設定され、それぞれの条件に基づいて、異なる粒度のクラスタが規定される。図３の例においては、条件Ａは粒度の低い（粗い）クラスタを規定する条件であり、条件Ｂは条件Ａより粒度の高い（細かい）クラスタを規定する条件である。
【００５３】
以上のようにして規定されたそれぞれのクラスタに含まれる画像は仮想的に１つのフォルダによりまとめて管理され、階層構造を有する形でユーザに提示される。
【００５４】
図４は、階層構造の例を示す図である。
【００５５】
図４の例においては、「私の思い出」の名前が設定されたフォルダの下位の階層のフォルダとして、条件Ａにより規定される「結婚式」のイベント名が設定されたクラスタを表すフォルダと、「北海道旅行」のイベント名が設定されたクラスタを表すフォルダが示されている。
【００５６】
また、「結婚式」のイベント名が設定されたクラスタを表すフォルダの下位の階層のフォルダとして、条件Ｂにより規定される「教会での挙式」、「披露宴」、「二次会」のそれぞれのイベント名が設定されたクラスタを表すフォルダが示されている。
【００５７】
さらに、「北海道旅行」のイベント名が設定されたクラスタを表すフォルダの下位の階層のフォルダとして、条件Ｂにより規定される「釧路湿原」、「札幌すすきの」、「稚内カニ」、「富良野」、「網走監獄」のそれぞれのイベント名が設定されたクラスタを表すフォルダが示されている。これらのフォルダにより表されるクラスタも、それぞれのクラスタを構成する画像の撮影時刻の時間間隔の分布により規定されたものである。
【００５８】
このように、ディジタルカメラ１においては、イベント毎にフォルダが作成され、作成されたフォルダにはそれぞれのイベントのときに撮影された画像が含められるから、ユーザは、階層構造を有するフォルダの中から所定のフォルダを選択することによって、イベント単位で画像を閲覧したり、整理したりすることができる。
【００５９】
例えば、ユーザは、撮影して得られた画像を、図５の上方に示されるように単に時系列順に閲覧するのではなく、白抜き矢印の先に示されるように、フォルダｆ11，ｆ12，ｆ122，ｆ211，ｆ212，ｆ22のそれぞれに含まれる画像の順序で、すなわち、好みの粒度のフォルダを選択して、好みの順序で、画像を閲覧することができる。
【００６０】
図５の１つの楕円は１つのフォルダを表す。図５において、撮影して得られた画像全体がフォルダｆ1に含まれる画像とフォルダｆ2に含まれる画像に分けられ、このうちのフォルダｆ1に含まれる画像は、さらにフォルダｆ11に含まれる画像とフォルダｆ12に含まれる画像に分けられる。フォルダｆ11に含まれる画像は、フォルダｆ111に含まれる画像とフォルダｆ112に含まれる画像に分けられ、フォルダｆ12に含まれる画像は、フォルダｆ121に含まれる画像とフォルダｆ122に含まれる画像に分けられる。同様に、フォルダｆ2に含まれる画像も下位の階層のフォルダに含まれる画像に分けられる。
【００６１】
図６は、表示装置１４に表示される閲覧画面の例を示す図である。
【００６２】
図６に示されるように、閲覧画面は、画面の左方に形成されるフォルダ表示領域１４Ａと、画面の右方に形成される画像表示領域１４Ｂとから構成される。
【００６３】
フォルダ表示領域１４Ａは、以上のようにして規定されたそれぞれのクラスタを表すフォルダが階層表示される領域である。
【００６４】
図６の例においては、フォルダ表示領域１４Ａには、「伊豆ツーリング」、「結婚式」、「２００４／０１／０１」、「白骨温泉旅行」、「２００３／３／３〜３／８」のイベント名が設定されたフォルダ（クラスタを表すフォルダ）が同じ階層に表示されている。同じ階層のフォルダとして表示されているから、これらのフォルダにより表されるクラスタはそれぞれ同じ条件により規定されるものである。
【００６５】
また、これらのフォルダに設定されているイベント名のうち、「伊豆ツーリング」、「結婚式」、「白骨温泉旅行」はユーザにより手動で設定されたものであるが、「２００４／０１／０１」と「２００３／３／３〜３／８」は、例えば、そのフォルダに含まれる画像の撮影日の情報に基づいて、ディジタルカメラ１においてユーザの入力によらずに自動的に設定されたものである。それぞれの画像に付加されるEXIFタグには、撮影日の情報も含まれている。
【００６６】
すなわち、「２００４／０１／０１」のイベント名が設定されたフォルダには、２００４年１月１日に撮影された画像が含まれており、「２００３／３／３〜３／８」のイベント名が設定されたフォルダには、２００３年３月３日から３月８日までの間に撮影された画像が含まれている。
【００６７】
「伊豆ツーリング」の下に表示されている「２００４／０６／１５〜０６／１６」の文字、「結婚式」の下に表示されている「２００４／０４／０１」の文字も、それぞれのフォルダに含まれる画像の撮影日を表すものとして自動的に設定され、表示されるものである。
【００６８】
このようにして表示されるフォルダから、ユーザは、操作ボタン１５を構成する十字キーの上下方向のボタンを押してカーソルＣ1を移動させ、所定のフォルダを選択することができる。
【００６９】
図６の例においては、「伊豆ツーリング」のイベント名が設定されたフォルダが選択され、その下に、下位の階層のクラスタを表すフォルダとして、「０６／１５午前」、「０６／１５午後」、「０６／１６」のイベント名が設定されたフォルダが表示されている。「０６／１５午前」、「０６／１５午後」、「０６／１６」のイベント名が設定されたフォルダもそれぞれ同じ階層のフォルダとして表示されているから、これらのフォルダにより表されるクラスタはそれぞれ同じ条件により規定されるものである。
【００７０】
また、図６の例においては、「伊豆ツーリング」の下位の階層のクラスタを表すフォルダの中から「０６／１５午前」のイベント名が設定されたフォルダがカーソルＣ1により選択されており、「０６／１５午前」のフォルダに含まれる画像が、画像表示領域１４Ｂに一覧表示（サムネイル表示）されている。
【００７１】
図６の例においては、画像表示領域１４Ｂには１２枚の画像が一覧表示されている。また、そのうちの左上の画像がカーソルＣ2により選択されており、この画像のファイル名と撮影日時が閲覧画面の上方に表示されている。
【００７２】
ユーザは、カーソルＣ2を移動させて操作ボタン１５を構成する決定ボタンを押すことによって、そのときカーソルＣ2により選択している画像を表示装置１４の全体に拡大して表示させたりすることができる。
【００７３】
以上のようにして画像を管理し、閲覧画面を表示するディジタルカメラ１の動作についてはフローチャートを参照して後述する。
【００７４】
図７は、ディジタルカメラ１の機能構成例を示すブロック図である。図７に示す機能部のうちの少なくとも一部は、図１の中央演算装置２１により所定のプログラムが実行されることによって実現される。
【００７５】
カメラ部３１は、被写体からの光を集光するレンズ１１、絞り等の光学系のモジュール、および、CCD(Charge Coupled Device)などの撮像素子により構成される。カメラ部３１の撮像素子は、レンズ１１を介して入射する被写体からの光を受光して光電変換を行い、（光の）受光量に応じた電気信号としてのアナログの画像信号をキャプチャ部３２に出力する。
【００７６】
キャプチャ部３２は、カメラ部３１の撮像素子から供給された画像信号のA/D(Analog/Digital)変換を行い、A/D変換により得られたディジタル信号の画像データを画像DB３３に出力し、記録させる。このとき、キャプチャ部３２は、撮影時刻、撮影日などの情報を含むEXIFタグを、撮影された画像と対応付けて画像DB３３に記録させる。
【００７７】
画像DB３３は、キャプチャ部３２から供給された画像をEXIFタグと対応付けて記録する。
【００７８】
タグ読み取り部３４は、画像のクラスタリングを行うとき、画像DB３３に記録されているEXIFタグから、クラスタリングの対象とするそれぞれの画像の撮影時刻を読み出し、読み出した撮影時刻を演算部３５に出力する。画像のクラスタリングは、１枚の画像の撮影が行われる毎に行われるようにしてもよいし、ユーザによりクラスタリングを行うことが指示されたときなどの所定のタイミングで行われるようにしてもよい。
【００７９】
演算部３５はクラスタリング部５１と階層決定部５２から構成される。クラスタリング部５１は、クラスタDB３７に記録されているクラスタデータを取得し、取得したクラスタデータと、タグ読み取り部３４から供給された撮影時刻に基づいて画像のクラスタリングを行う。例えば、過去にクラスタリングが行われた画像も含めて、画像全体が二分木構造を有する形で管理されるクラスタリング結果がクラスタリング部５１により取得される。
【００８０】
クラスタDB３７に記録されているクラスタデータには、それまでに求められた、それぞれの画像がどのクラスタに属するのかを表す情報や、画像全体の二分木構造を表す情報が含まれる。
【００８１】
階層決定部５２は、クラスタリング部５１により取得されたクラスタリング結果である二分木構造を表す情報に基づいて、条件設定部３６により設定された条件にあうクラスタを決定する。例えば、それぞれのクラスタがどの画像を含むのかを表す情報、あるいは、それぞれの画像がどのクラスタに属するのかを表す情報などが階層決定部５２により取得され、画像全体の二分木構造を表すとともに、最終的なクラスタリングの結果を表すクラスタデータとしてクラスタDB３７に記録される。
【００８２】
条件設定部３６は、クラスタを規定する条件であるグループ化条件を設定し、階層決定部５２に出力する。グループ化条件は、あらかじめ用意される複数の条件の中からユーザにより選択されることによって設定されるようにしてもよいし、複数のクラスタを１つのクラスタに結合したり、１つのクラスタを複数のクラスタに分割したりするなどの、ユーザにより行われたクラスタの編集の履歴が管理されている場合、ユーザが好むと考えられるクラスタの粒度が編集の履歴を用いて学習により求められ、そのような粒度のクラスタを得ることができるような条件が動的に設定されるようにしてもよい。
【００８３】
クラスタDB３７は、階層決定部５２から供給されたクラスタデータを、画像DB３３に記録されている画像データと対応付けて記録する。クラスタリング結果により表されるそれぞれのクラスタには、イベント名設定部３８から供給されたイベント名も対応付けて記録される。このように、ディジタルカメラ１においては、画像データ本体とクラスタデータは別々に管理されるようになされている。
【００８４】
イベント名設定部３８は、ユーザにより設定されたイベント名をクラスタDB３７に出力し、クラスタと対応付けて記録させる。また、イベント名設定部３８は、ユーザによりイベント名が設定されない場合、クラスタDB３７に記録されているクラスタデータを用いてそれぞれのクラスタに属する画像を識別し、識別した画像の撮影日や撮影時間帯（午前、午後など）を含むイベント名をクラスタと対応付けて記録させる。
【００８５】
閲覧ビュー表示部３９は、クラスタDB３７から読み出したクラスタデータと、それぞれのクラスタのイベント名に基づいて、それぞれのクラスタを表すフォルダを閲覧画面のフォルダ表示領域１４Ａに階層表示させる。また、閲覧ビュー表示部３９は、フォルダ表示領域１４Ａに表示されるものの中から所定のフォルダが選択されたとき、選択されたフォルダに含まれる画像（選択されたフォルダにより表されるクラスタに含まれる画像）を、画像DB３３に記録されているデータに基づいて画像表示領域１４Ｂに一覧表示させる。
【００８６】
ネットワーク通信部４０は、通信装置２２を制御してディジタルカメラ１の外部の機器との間で通信を行い、例えば、画像DB３３に記録されている画像データやクラスタDB３７に記録されているクラスタデータを外部の機器に送信する。
【００８７】
ここで、演算部３５により行われる処理の詳細について説明する。
【００８８】
例えば、１００枚の画像ｐ１乃至ｐ１００をクラスタリングの対象として、それらの画像をイベントクラスタＡ（グループ化条件Ａを満たす画像のクラスタ）と、サブイベントクラスタＢ（グループ化条件Ｂを満たす画像のクラスタ）に分ける処理について説明する。
【００８９】
はじめに、図８乃至図１６を参照して、クラスタリング部５１により行われる二分木構造の作成について説明する。
【００９０】
図８乃至図１６において、「ｐ」の文字と数字がその中に書かれている１つの円は１枚の画像を表し、「ｎ」の文字と数字がその中に書かれている１つの円は１つのノードを表す。また、図の右方は、左方より時間的に後の方向であるものとする。なお、ここでは、画像ｐ１乃至ｐ１００を、撮影時刻順（画像ｐ１が一番古く、画像ｐ１００が一番新しいデータ）にクラスタリングの対象とする場合について説明する。画像ｐ１とｐ２をクラスタリングの対象とした後（二分木構造に組み込んだ後）で、画像ｐ１よりも新しく、画像ｐ２より古い画像ｐ３を新たにクラスタリングの対象とするように、撮影時刻順にではなく、それぞれの画像を対象として行われるクラスタリングについては後述する。
【００９１】
クラスタリングがまだ行われていない状態で、最初の撮影により得られた画像ｐ１がツリーに挿入されたとき（クラスタリングの対象とされたとき）、初期の状態ではツリーのルートとなるノードが存在しないから、図８に示されるように、画像ｐ１自身がルートノードとなる。
【００９２】
画像ｐ１に続けて撮影された画像ｐ２がツリーに挿入されたとき、図９に示されるように、ノードｎ１が新たに作られ、画像ｐ２の撮影時刻は画像ｐ１の撮影時刻より後であるから、ノードｎ１には、画像ｐ１が左の子ノードとして連結され、画像ｐ２が右の子ノードとして連結される。ノードｎ１は画像ｐ１に代えてルートノードとなる。
【００９３】
ノードｎ１の最小時刻として画像ｐ１の撮影時刻が記録され、最大時刻として画像ｐ２の撮影時刻が記録される。ノードの時刻として、そのノードを親のノードとする２つの子ノードの撮影時刻の平均値（中間の時刻）が記録されるようにしてもよい。
【００９４】
画像ｐ２に続けて撮影された画像ｐ３がツリーに挿入され、図１０に示されるように、画像ｐ３の撮影時刻と画像ｐ２の撮影時刻の時間間隔tdp2p3が、画像ｐ２の撮影時刻と画像ｐ１の撮影時刻の時間間隔tdp1p2より小さいとき、図１１に示されるように、ノードｎ２が新たに作られ、ノードｎ２には、その左の子ノードとして画像ｐ２が連結され、右の子ノードとして画像ｐ３が連結される。また、ノードｎ２が、画像ｐ２の代わりに右の子ノードとしてノードｎ１に連結される。
【００９５】
ノードｎ２の最小時刻として画像ｐ２の撮影時刻が記録され、最大時刻として画像ｐ３の撮影時刻が記録される。また、このとき、ノードｎ２の親のノードであるノードｎ１の最大時刻が画像ｐ３の撮影時刻で上書きされる。
【００９６】
画像ｐ３に続けて撮影された画像ｐ４がツリーに挿入され、図１２に示されるように、画像ｐ４の撮影時刻と画像ｐ３の撮影時刻の時間間隔tdp3p4が、画像ｐ３の撮影時刻と画像ｐ２の撮影時刻の時間間隔tdp2p3より大きく、かつ、画像ｐ４の撮影時刻とノードｎ２の最大時刻の時間間隔tdn2maxp4が、ノードｎ２の最小時刻と画像ｐ１の撮影時刻の時間間隔tdp1n2minより大きいとき、図１３に示されるように、ノードｎ３が新たにルートノードとして作られる。また、ノードｎ３には、その左の子ノードとしてノードｎ１が連結され、右の子ノードとして画像ｐ４が連結される。
【００９７】
ノードｎ３の最小時刻としてノードｎ１の最小時刻が記録され、最大時刻として画像ｐ４の撮影時刻が記録される。
【００９８】
画像ｐ４に続けて撮影された画像ｐ５がツリーに挿入され、図１４に示されるように、画像ｐ５の撮影時刻と画像ｐ４の撮影時刻の時間間隔tdp4p5より、画像ｐ４の撮影時刻とノードｎ１の最大時刻の時間間隔tdn1maxp4の方が大きいとき、図１５に示されるように、ノードｎ４が新たに作られる。また、ノードｎ４には、その左の子ノードとして画像ｐ４が連結され、右の子ノードとして画像ｐ５が連結される。さらに、ノードｎ４が、画像ｐ４の代わりに右の子ノードとしてノードｎ３に連結される。
【００９９】
ノードｎ４の最小時刻として画像ｐ４の撮影時刻が記録され、最大時刻として画像ｐ５の撮影時刻が記録される。また、このとき、ノードｎ４の親のノードであるノードｎ３の最大時刻が画像ｐ５の撮影時刻で上書きされる。
【０１００】
この時点で、画像ｐ１乃至ｐ５の５枚の画像を含むノードｎ１乃至ｎ４から二分木構造が形成された状態になる。
【０１０１】
それぞれのノードに含まれる画像は、それぞれのノードに直接に、または他のノードを介して間接的に連結される画像であるから、図１５に示されるようなツリーが作成されているとき、ノードｎ３に含まれる画像は画像ｐ１乃至ｐ５の５枚の画像となり、ノードｎ１に含まれる画像は画像ｐ１乃至ｐ３の３枚の画像となる。また、ノードｎ２に含まれる画像は画像ｐ２およびｐ３の２枚の画像となり、ノードｎ４に含まれる画像は画像ｐ４およびｐ５の２枚の画像となる。
【０１０２】
このように、画像が新たに挿入される毎に、撮影時刻の時間間隔のより小さい画像同士、または、撮影時刻と設定された時刻の時間間隔のより小さい画像とノードが、同じノードにぶらさがるように連結されていく。
【０１０３】
撮影が繰り返し行われ、画像ｐ６乃至ｐ１００がツリーに挿入されたときも同様にして処理が行われ、最終的に、ルートノードｎrootに画像ｐ１乃至ｐ１００が含まれる、図１６に示されるような二分木構造が得られる。
【０１０４】
次に、図１７乃至図２３を参照して、階層決定部５２により行われるグループ化条件に基づくクラスタリングについて説明する。
【０１０５】
階層決定部５２においては、二分木構造内のそれぞれのノードが注目され、ノード内の全ての画像の撮影時刻の時間間隔の標準偏差sdが下式（１）により算出される。
【０１０６】
【数１】
0004577173.tif 000002
【０１０７】
Ｎは画像の撮影時刻の時間間隔の数であり、「ノードに含まれる画像の数−１」で表される。tdnは、Ｎ個の時間間隔のうちの、時間的に先のものから見てｎ番目の時間間隔である。「￣」が付されたtdはノード内の時間間隔tdの平均値である。
【０１０８】
また、注目するノードを親のノードとする子ノード間の時間間隔の偏差dev（子ノード間の時間間隔と、撮影時刻の時間間隔の平均との差の絶対値）が下式（２）により算出される。
【０１０９】
【数２】
0004577173.tif 000003
【０１１０】
Ｎは画像の撮影時刻の時間間隔の数であり、「ノードに含まれる画像の数−１」で表される。tdcは子ノード間の時間間隔である。「￣」が付されたtdはノード内の時間間隔tdの平均値である。なお、子ノード間の時間間隔とは、注目するノードを親のノードとする２つの子ノードのうちの時間的に先の子ノードに含まれる時間的に最後の画像の撮影時刻と、時間的に後の子ノードに含まれる時間的に最初の画像の撮影時刻の時間間隔である。具体例については後述する。
【０１１１】
さらに、式（２）により算出された偏差devの、式（１）により算出された標準偏差sdに対する比が、分割パラメータthとして、注目するノードに設定される。分割パラメータthは下式（３）で表され、注目するノードを親のノードとする子ノードを、それぞれ異なるクラスタに属するものとして分割するか否かを判断する基準となるパラメータである。
【０１１２】
【数３】
0004577173.tif 000004
【０１１３】
ここで、上式により求められる値について図１７を参照して具体的に説明する。
【０１１４】
図１７は、クラスタリング部５１により作成された二分木構造全体のうちの一部の、図１５と同じ範囲の構造を示す図である。
【０１１５】
図１７において、td1は、画像ｐ１の撮影時刻と画像ｐ２の撮影時刻の時間間隔であり、td2は、画像ｐ２の撮影時刻と画像ｐ３の撮影時刻の時間間隔である。また、td3は、画像ｐ３の撮影時刻と画像ｐ４の撮影時刻の時間間隔であり、td4は、画像ｐ４の撮影時刻と画像ｐ５の撮影時刻の時間間隔である。
【０１１６】
例えば、図１７のうちのルートノードに最も近いノードであるノードｎ３が注目されている場合、はじめに、式（１）にそれぞれの値が代入され、標準偏差sdは下式（４）で表される。また、撮影時刻の時間間隔の平均値は下式（５）で表される。
【０１１７】
【数４】
0004577173.tif 000005
【０１１８】
【数５】
0004577173.tif 000006
【０１１９】
偏差devは下式（６）で表される。
【０１２０】
【数６】
0004577173.tif 000007
【０１２１】
すなわち、注目するノードｎ３を親のノードとする２つの子ノードはノードｎ１とｎ４であり、そのうちの時間的に先のノードｎ１に含まれる時間的に最後の画像ｐ３の撮影時刻と、時間的に後のノードｎ４に含まれる時間的に最初の画像４の撮影時刻の時間間隔td3がノードｎ１とノードｎ４の時間間隔であり、それが、ノードｎ３に注目したときの偏差devの算出に用いられる。
【０１２２】
式（４）により算出された標準偏差sdと、式（６）により算出された偏差devから、ノードｎ３に注目したときの分割パラメータthが算出され、ノードｎ３に設定される。
【０１２３】
以上のようにして全てのノードに対する分割パラメータの設定が終了したとき、階層決定部５２においては、次に、グループ化条件としての閾値が設定される。
【０１２４】
例えば、グループ化条件Ａとして閾値ａが設定され、グループ化条件Ｂとして閾値ｂが設定された場合、「ａ＝３．０」、「ｂ＝２．６」などのように、「ａ＞ｂ」の条件を満たすときには、図１８に示されるように、「グループ化条件Ａにより規定されるクラスタ＞グループ化条件Ｂにより規定されるクラスタ」となる（グループ化条件Ａにより規定されるクラスタの中に、グループ化条件Ｂにより規定されるクラスタがいくつかできることになる）。
【０１２５】
図１８の例においては、対象となる画像全体が、グループ化条件Ａによりグループｇ1とｇ2の２つのクラスタに分けられ、グループ化条件Ｂによりグループｇ3乃至ｇ7の５つのクラスタに分けられている。
【０１２６】
すなわち、後述するように、設定されている分割パラメータの値が閾値より大きい場合に、その分割パラメータが設定されているノードの部分がクラスタの境界部分となるから、閾値が大きいほど、そのノードの部分はクラスタの境界部分となりにくく、従って、全体として見たときにクラスタの粒度は粗くなる。反対に、閾値が小さいほど、そのノードの部分はクラスタの境界部分となりやすく、従って、全体として見たときにクラスタの粒度は細かくなる。
【０１２７】
なお、ある画像の撮影時刻と、次に撮影された画像の撮影時刻の時間間隔が３０分以上ある場合（時間間隔td＞３０min）や１日以上ある場合（時間間隔td＞１day）、その時間間隔のある部分がクラスタの境界部分となるようなグループ化条件、いわば、１つのクラスタに含まれる画像の撮影時刻の時間間隔の上限を規定するようなグループ化条件が設定されるようにしてもよい。これにより、撮影時刻の時間間隔が３０分、あるいは１日以上ある画像同士はそれぞれ異なるクラスタに含まれる画像となる。
【０１２８】
グループ化条件としての閾値が設定された後、階層決定部５２においては、次に、設定された閾値と、上述したようにしてそれぞれのノードに設定された分割パラメータthに基づいてそれぞれのノードに分割フラグが設定される。
【０１２９】
例えば、分割パラメータthが、グループ化条件Ａとして設定された閾値ａを越えるノードには１の値のグループＡ分割フラグが設定され、閾値ａを越えないノードには０の値のグループＡ分割フラグが設定される。
【０１３０】
分割フラグとして１の値が設定されていることは、その分割フラグが設定されているノードを親のノードとする子ノード間の時間間隔が、注目しているノード内全体の画像の撮影時刻の時間間隔より比較的大きいことを表す。反対に、分割フラグとして０の値が設定されていることは、その分割フラグが設定されているノードを親のノードとする子ノード間の時間間隔が、注目しているノード内全体の画像の撮影時刻の時間間隔とあまり変わらないことを表す。
【０１３１】
グループＡ分割フラグの値の設定が終了したとき、二分木構造内のノードが昇順で（葉から根の方向に順に）注目され、子ノードの時間間隔がノード内全体の画像の撮影時刻の時間間隔より比較的大きいノード、すなわち、グループＡ分割フラグとして１の値が設定されているノードを境界として画像が区切られ、グループ化条件Ａによりクラスタが規定される。
【０１３２】
図１９はグループＡ分割フラグの設定の例を示す図である。
【０１３３】
図１９の例においては、ルートノードに最も近いノードであるノードｎ１０には、ノードｎ１１とｎ１２がそれぞれ左右の子ノードとして連結され、ノードｎ１１には、ノードｎ１３とｎ１４がそれぞれ左右の子ノードとして連結される。また、ノードｎ１２には、ノードｎ１５とｎ１６がそれぞれ左右の子ノードとして連結され、ノードｎ１４には、ノードｎ１７とｎ１８がそれぞれ左右の子ノードとして連結される。
【０１３４】
また、図１９の例においては、これらのノードのうちのノードｎ１０，ｎ１１，ｎ１２，ｎ１４のそれぞれにグループＡ分割フラグとして１の値が設定されており、それらのノードの部分を境界として、太線で示されるようにクラスタが分けられる。
【０１３５】
なお、図１９の右方に示されるように、ノードｎ１３は画像ｐ１乃至ｐ１７を含むノードであり、ノードｎ１７は画像ｐ１８乃至ｐ３０を含むノードである。また、ノードｎ１８は画像ｐ３１乃至ｐ６８を含むノードであり、ノードｎ１５は画像ｐ６９乃至ｐ９３を含むノードである。ノードｎ１６は画像ｐ９４乃至ｐ１００を含むノードである。
【０１３６】
従って、グループＡ分割フラグの値として１が設定されているノードの部分を境界としてクラスタが分けられた場合、いまクラスタリングの対象とされている画像ｐ１乃至ｐ１００は、図２０に示されるようなそれぞれのクラスタ（イベントクラスタＡ）に分けられる。
【０１３７】
すなわち、ノードｎ１３に含まれる画像ｐ１乃至ｐ１７からクラスタＡ1が構成され、ノードｎ１７に含まれる画像ｐ１８乃至ｐ３０からクラスタＡ2が構成される。
【０１３８】
また、ノードｎ１８に含まれる画像ｐ３１乃至ｐ６８からクラスタＡ3が構成され、ノードｎ１５に含まれる画像ｐ６９乃至ｐ９３からクラスタＡ4が構成される。さらに、ノードｎ１６に含まれる画像ｐ９４乃至ｐ１００からクラスタＡ5が構成される。
【０１３９】
以上のようにしてグループ化条件Ａに基づくクラスタリングが行われ、グループ化条件Ａにより規定されるそれぞれのクラスタがどの範囲の画像を含むのかを表す情報、あるいは、それぞれの画像がどのクラスタに属するのかを表す情報などが、グループ化条件Ａに基づくクラスタリング結果として取得される。
【０１４０】
グループ化条件Ａに基づくクラスタリングが行われたとき、同様にして、グループ化条件Ｂに基づくグループ分けが行われる。
【０１４１】
すなわち、階層決定部５２においては、分割パラメータthが、グループ化条件Ｂとして設定された閾値ｂを越えるノードには１の値のグループＢ分割フラグが設定され、閾値ｂを越えないノードには０の値のグループＢ分割フラグが設定される。
【０１４２】
グループＢ分割フラグの値の設定が終了したとき、二分木構造内のノードが昇順で注目され、子ノードの時間間隔がノード内全体の画像の撮影時刻の時間間隔より比較的大きいノード、すなわち、グループＢ分割フラグとして１の値が設定されているノードを境界として画像が区切られ、グループ化条件Ｂによりクラスタが規定される。
【０１４３】
図２１はグループＢ分割フラグの設定の例を示す図である。
【０１４４】
図２１の例においては、ルートノードに最も近いノードであるノードｎ１０には、ノードｎ１１が左の子ノードとして連結され、ノードｎ１１には、ノードｎ１３とｎ１４がそれぞれ左右の子ノードとして連結される。また、ノードｎ１４には、ノードｎ１７とｎ１８がそれぞれ左右の子ノードとして連結され、ノードｎ１７には、ノードｎ１９とｎ２０がそれぞれ左右の子ノードとして連結される。さらに、ノードｎ１８には、ノードｎ２１とｎ２２がそれぞれ左右の子ノードとして連結され、ノードｎ１９には、ノードｎ２３とｎ２４がそれぞれ左右の子ノードとして連結される。
【０１４５】
また、図２１の例においては、これらのノードのうちのノードｎ１０，ｎ１１，ｎ１４，ｎ１７，ｎ１８，ｎ１９のそれぞれにグループＢ分割フラグとして１の値が設定されており、それらのノードの部分を境界として、太線で示されるようにクラスタが分けられる。
【０１４６】
なお、図２１の右側に示されるように、ノードｎ１３は画像ｐ１乃至ｐ１７を含むノードであり、ノードｎ２３は画像ｐ１８乃至ｐ２１を含むノードである。また、ノードｎ２４は画像ｐ２２乃至ｐ２６を含むノードであり、ノードｎ２０は画像ｐ２７乃至ｐ３０を含むノードである。ノードｎ２１は画像ｐ３１乃至ｐ５７を含むノードであり、ノードｎ２２は画像ｐ５８乃至ｐ６８を含むノードである。
【０１４７】
従って、グループＢ分割フラグの値として１が設定されているノードの部分を境界としてクラスタが分けられた場合、いまクラスタリングの対象とされている画像ｐ１乃至ｐ１００のうちの画像ｐ１乃至ｐ６８は、図２２に示されるようなそれぞれのクラスタ（サブイベントクラスタＢ）に分けられる。
【０１４８】
すなわち、ノードｎ１３に含まれる画像ｐ１乃至ｐ１７からクラスタＢ1が構成され、ノードｎ２３に含まれる画像ｐ１８乃至ｐ２１からクラスタＢ2が構成される。
【０１４９】
また、ノードｎ２４に含まれる画像ｐ２２乃至ｐ２６からクラスタＢ3が構成され、ノードｎ２０に含まれる画像ｐ２７乃至ｐ３０からクラスタＢ4が構成される。さらに、ノードｎ２１に含まれる画像ｐ３１乃至ｐ５７からクラスタＢ5が構成され、ノードｎ２２に含まれる画像ｐ５８乃至ｐ６８からクラスタＢ6が構成される。
【０１５０】
以上のようにしてグループ化条件Ｂに基づくクラスタリングが行われ、グループ化条件Ｂにより規定されるそれぞれのクラスタがどの範囲の画像を含むのかを表す情報、あるいは、それぞれの画像がどのクラスタに属するのかを表す情報などが、グループ化条件Ｂに基づくクラスタリング結果として取得される。取得されたクラスタリング結果はクラスタDB３７に出力され、記録される。
【０１５１】
図２３は、グループ化条件Ａに基づくクラスタリング結果（図２０）と、グループ化条件Ｂに基づくクラスタリング結果（図２２）を重ねて示す図である。
【０１５２】
図２３に示されるように、複数のグループ化条件に基づいてグループ化が行われた場合、クラスタリング結果のクラスタは入れ子関係を有する。
【０１５３】
図２３の例においては、クラスタＡ1とクラスタＢ1は同じ範囲の画像を含むクラスタであり、クラスタＡ2にはクラスタＢ2乃至Ｂ4が含まれる。また、クラスタＡ3にはクラスタＢ5とＢ6が含まれる。
【０１５４】
図２３に示されるような関係をそれぞれのクラスタが有する場合、例えば、クラスタＡ2を表すフォルダの下位の階層のフォルダとして、クラスタＢ2乃至Ｂ4を表すフォルダがそれぞれ表示され、クラスタＡ3を表すフォルダの下位の階層のフォルダとして、クラスタＢ5とＢ6を表すフォルダがそれぞれ表示される。
【０１５５】
以上のように、演算部３５においては、階層的なクラスタリングと、分散に基づくクラスタリング（画像全体の撮影間隔の平均を基準としたクラスタリング）が行われる。これにより、単に撮影間隔の近い画像同士が同じクラスタに含まれるようにクラスタリングが行われるのではなく、時間間隔が揃っている画像同士が同じクラスタに含まれるようにクラスタリングが行われることになる。
【０１５６】
従って、撮影間隔の近い画像同士が同じクラスタに含まれるようにクラスタリングを行う場合に較べて、ユーザ個人の主観に沿った形でクラスタリングを行うことが可能となる。
【０１５７】
ユーザが欲しいイベントの単位を見分け、そのイベント単位でクラスタを作成するためには、撮影間隔そのものではなく、撮影の頻度に注目する必要があり、その頻度が変わった部分をクラスタの境界部分とすることで、得られるクラスタは、よりイベントの単位に近づくことになる。撮影の頻度を知るためには、それまで撮った画像全体（クラスタリングの対象の画像全体）を統計的に分析することが必要となり、そのための手法として、上述したような階層的なクラスタリングと、分散に基づくクラスタリングが採用される。
【０１５８】
また、それぞれの画像が階層構造を有する形で管理されていることから、グループ化条件としての閾値を変更することによって、複数のクラスタを１つのクラスタに結合したり、１つのクラスタを複数のクラスタに分割したりするなどの、クラスタの再構成をユーザは容易に行うことができる。上述したように、閾値を高くすることによって、クラスタの粒度を粗くすること、すなわち、複数のクラスタを１つのクラスタに結合することができ、反対に、閾値を低くすることによって、クラスタの粒度を細かくすること、すなわち、１つのクラスタを複数のクラスタに分割することができる。
【０１５９】
これにより、例えば、スライドショー再生によって画像を閲覧しているときに、ビデオでいうチャプタージャンプと同様に、イベント単位（イベントクラスタ単位）でジャンプしたり、イベント内をさらにサブイベントに分けてサブイベント単位（サブイベントクラスタ単位）でジャンプしたりすることが可能となる。
【０１６０】
さらに、画像全体の撮影間隔の平均を基準としてクラスタリングが行われることにより、撮影スタイルの個人差を考慮することなくグループ化条件を設定することが可能となる。すなわち、ユーザが、あまり頻繁に撮らない撮影スタイルの人であっても、頻繁に撮る撮影スタイルの人であっても、個別のグループ化条件を設定しておく必要がない。
【０１６１】
例えば、３０分未満の間に撮影された画像を同じクラスタの画像とする場合、先の画像を撮影してから３０分以上の間隔が空いてしまうと、先に撮影した画像と次に撮影した画像はそれぞれ別のクラスタの画像とされることから、ユーザが、頻繁に撮影しない撮影スタイルの人であるときには（３０分以上の間隔を空けて撮影するスタイルの人であるときには）、旅行中に撮った画像が１枚ずつ別のクラスタの画像とされてしまったりすることになる。
【０１６２】
一方、１日の間に撮影された画像を同じクラスタの画像とするように、クラスタリングの基準となる時間間隔の設定を長くすると、午前と午後で全く違うイベントで撮影を行ったにもかかわらず、撮影した画像が全て同じクラスタの画像とされてしまったりすることになる。画像全体の撮影間隔の平均を基準としてクラスタリングが行われることにより、ユーザ個人の撮影スタイルに応じた形でのクラスタリングが可能となるから、このようなことが回避される。
【０１６３】
次に、以上のような構成を有するディジタルカメラ１の処理について説明する。
【０１６４】
はじめに、図２４のフローチャートを参照して、クラスタデータを生成するディジタルカメラ１の処理について説明する。
【０１６５】
筐体上面に設けられるシャッターボタン１２がユーザにより押されたとき、ステップＳ１において、キャプチャ部３２は、カメラ部３１を構成する撮像素子から供給された画像信号のA/D変換を行うことによって被写体を撮影し、撮影により得られた画像データをEXIFタグと対応付けて画像DB３３に記録させる。
【０１６６】
ステップＳ２において、タグ読み取り部３４は、撮影された画像のEXIFタグから撮影時刻を取得し、取得した撮影時刻を演算部３５に出力する。すなわち、この例は、１枚の画像が撮影される毎にクラスタリングが行われる場合の例を示している。
【０１６７】
ステップＳ３において、演算部３５のクラスタリング部５１は、タグ読み取り部３４から供給された撮影時刻と、クラスタDB３７に記録されているクラスタデータに基づいて、クラスタリングの対象となる画像全体からなる二分木構造を図８乃至図１６を参照して説明したようにして作成する。
【０１６８】
ステップＳ４において、階層決定部５２は、二分木構造の所定の階層にある１つのノードに注目し、ステップＳ５に進み、注目するノード内の全ての画像の撮影時刻の時間間隔の標準偏差sdを算出する。
【０１６９】
ステップＳ６において、階層決定部５２は、注目するノードを親のノードとする子ノード間の時間間隔の偏差devを算出する。
【０１７０】
ステップＳ７において、階層決定部５２は、ステップＳ６で算出した偏差devの、ステップＳ５で算出した標準偏差sdに対する比を算出し、算出した比を分割パラメータthとして、いま注目しているノードに記録する。
【０１７１】
ステップＳ８において、階層決定部５２は、二分木構造の全てのノードに注目したか否かを判定し、注目していないと判定した場合、ステップＳ４に戻り、注目するノードを切り替えてそれ以降の処理を繰り返す。
【０１７２】
一方、階層決定部５２は、ステップＳ８において、二分木構成の全てのノードに注目したと判定した場合、ステップＳ９に進み、グループ化条件としての閾値を設定する。同じ画像を対象として異なる粒度のクラスタを求める場合、ここでは、複数のグループ化条件が設定される。
【０１７３】
ステップＳ１０において、階層決定部５２は、ステップＳ９で設定したグループ化条件としての閾値と、それぞれのノードに設定された分割パラメータthを比較し、例えば、分割パラメータthが閾値を越えるノードには１の値の分割フラグを設定し、閾値を越えないノードには０の値の分割フラグを設定する。グループ化条件が複数設定されている場合、それぞれのグループ化条件について分割パラメータの設定が行われる。
【０１７４】
ステップＳ１１において、階層決定部５２は、二分木構造のそれぞれのノードに昇順で注目し、分割フラグに１の値が設定されているノードを境界としてクラスタを分け、それぞれのクラスタの範囲を表すクラスタデータを作成する。
【０１７５】
ステップＳ１２において、階層決定部５２は、作成したクラスタデータをクラスタDB３７に保存させ、処理を終了させる。
【０１７６】
次に、図２５のフローチャートを参照して、閲覧画面を表示させるディジタルカメラ１の処理について説明する。
【０１７７】
ステップＳ２１において、閲覧ビュー表示部３９は、クラスタデータをクラスタDB３７から読み出し、ステップＳ２２に進み、読み出したクラスタデータにより規定されるクラスタに含まれる画像のデータを画像DB３３から読み出す。
【０１７８】
ステップＳ２３において、閲覧ビュー表示部３９は、クラスタDB３７から読み出したクラスタデータに基づいて、それぞれのクラスタの階層構造を表示させるとともに、画像DB３３から読み出したデータに基づいて、所定のフォルダに含まれる画像を一覧表示させる。
【０１７９】
これにより、表示装置１４には図６に示されるような閲覧画面が表示され、ユーザは、所定のフォルダを選択することによってクラスタ単位で画像を確認することができる。
【０１８０】
以上においては、上述したようなクラスタリングがディジタルカメラ内で行われるものとしたが、そのようなクラスタリングは、ディジタルカメラ以外の各種の機器において行われるようにすることができる。例えば、フォトビュワー、携帯端末、携帯電話機、ゲーム機器、パーソナルコンピュータ、ポータブルオーディオプレーヤ、写真・映像保存鑑賞機器などの、画像閲覧機能を搭載した機器において行われるようにすることができる。
【０１８１】
図２６は、パーソナルコンピュータとディジタルカメラ１が接続されている状態を示す図である。
【０１８２】
図２６の例においては、ディジタルカメラ１はクレードル１０１に設置され、このクレードル１０１はケーブルを介してパーソナルコンピュータ１１１に接続されている。ディジタルカメラ１とパーソナルコンピュータ１１１間においては、クレードル１０１とケーブルを介して相互に通信を行うことができるようになされている。なお、クレードル１０１を介して接続されるのではなく、ディジタルカメラ１とパーソナルコンピュータ１１１がケーブルや無線により直接接続されるようにしてもよい。
【０１８３】
ユーザがクレードル１０１に設けられる同期ボタン１０１Ａを押したとき、ディジタルカメラ１内に記録されている画像データがパーソナルコンピュータ１１１により取り込まれる。このとき、画像データに対応付けられているEXIFタグもパーソナルコンピュータ１１１により取り込まれる。
【０１８４】
画像とEXIFタグを取り込んだパーソナルコンピュータ１１１においては、それぞれの画像のEXIFタグに含まれる撮影時刻に基づいて、上述したようなクラスタリングが行われる。クラスタリングの結果であるクラスタデータは、ディジタルカメラ１に転送されたり、図６に示されるような閲覧画面をパーソナルコンピュータ１１１において表示させるために用いられる。
【０１８５】
すなわち、パーソナルコンピュータ１１１においては、図７に示される機能部のうち、タグ読み取り部３４、演算部３５（クラスタリング部５１、階層決定部５２）、条件設定部３６、クラスタDB３７が、少なくとも実現される。
【０１８６】
パーソナルコンピュータ１１１から転送されたクラスタデータを受信したディジタルカメラ１においては、適宜、パーソナルコンピュータ１１１により作成されたクラスタデータに基づいて、図６に示されるような閲覧画面の表示が行われる。これにより、ディジタルカメラ１にクラスタリングを行う機能が搭載されていない場合であっても、ディジタルカメラ１において閲覧画面の表示が可能となる。
【０１８７】
図２７は、図２６のパーソナルコンピュータ１１１の構成例を示すブロック図である。
【０１８８】
CPU１２１は、ROM１２２、または記憶部１２８に記録されているプログラムに従って各種の処理を実行する。RAM１２３には、CPU１２１が実行するプログラムやデータなどが適宜記録される。これらのCPU１２１、ROM１２２、およびRAM１２３は、バス１２４により相互に接続されている。
【０１８９】
なお、CPU１２１として、”Cell誕生”、日経エレクトロニクス、日経BP社、２００５年２月２８日、８９頁乃至１１７頁に記載されているCellを採用することができる。
【０１９０】
CPU１２１にはまた、バス１２４を介して入出力インターフェース１２５が接続されている。入出力インターフェース１２５には、キーボード、マウス、マイクロホンなどよりなる入力部１２６、ディスプレイ、スピーカなどよりなる出力部１２７が接続されている。CPU１２１は、入力部１２６から入力される指令に対応して各種の処理を実行する。そして、CPU１２１は、処理の結果を出力部１２７に出力する。
【０１９１】
入出力インターフェース１２５に接続されている記憶部１２８は、例えばハードディスクからなり、CPU１２１が実行するプログラムや各種のデータを記録する。通信部１２９は、ディジタルカメラ１との間で通信を行い、ディジタルカメラ１から取り込んだ画像データやEXIFタグをCPU１２１などに出力する。通信部１２９においては、インターネットやローカルエリアネットワークなどのネットワークを介した外部の装置との通信なども行われる。
【０１９２】
入出力インターフェース１２５に接続されているドライブ１３０は、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどのリムーバブルメディア１３１が装着されたとき、それらを駆動し、そこに記録されているプログラムやデータなどを取得する。取得されたプログラムやデータは、必要に応じて記憶部１２８に転送され、記録される。
【０１９３】
ここで、図２８のフローチャートを参照して、ディジタルカメラ１から取り込んだデータに基づいてクラスタリングを行うパーソナルコンピュータ１１１の処理について説明する。
【０１９４】
この処理は、例えば、ディジタルカメラ１が設置されたクレードル１０１の同期ボタン１０１Ａがユーザにより押されたときにパーソナルコンピュータ１１１において起動されるアプリケーション、または、ユーザによる操作によってパーソナルコンピュータ１１１上で直接起動されたアプリケーションにより行われる。このアプリケーションにより、例えば、図７に示される機能部のうちの一部が実現される。
【０１９５】
ステップＳ３１において、CPU１２１は、通信部１２９を制御して、画像データとEXIFタグをディジタルカメラ１から取得する。
【０１９６】
ステップＳ３２において、CPU１２１（CPU１２１により実現されるタグ読み取り部３４、演算部３５、条件設定部３６）は、画像のクラスタリングを行う。ここでは、例えば、図２４を参照して説明したような処理がCPU１２１により行われ、クラスタデータが取得される。
【０１９７】
ステップＳ３３において、CPU１２１は、取得したクラスタデータを通信部１２９からディジタルカメラ１に送信させ、処理を終了させる。
【０１９８】
このように、上述したようなクラスタリングは、ディジタルカメラ１以外の各種の機器において行われるようにすることができる。
【０１９９】
なお、画像データの属性情報であるEXIFタグの拡張部分にクラスタデータが記述される場合、パーソナルコンピュータ１１１により得られたクラスタデータは、画像データのEXIFタグに記述された形で、画像データとともにディジタルカメラ１に転送されるようにしてもよい。
【０２００】
また、このようなクラスタリングが、ネットワークを介して接続されるサーバにより実行され、そのサーバにより、Web上でのクラスタリングサービスが提供されるようにしてもよい。
【０２０１】
図２９は、クラスタリングサービスを実現する構成の例を示す図である。
【０２０２】
図２９においては、ディジタルカメラ１とサーバ１４１がインターネットなどのネットワーク１４２を介して接続され、ディジタルカメラ１とサーバ１４１が通信を行うことができるようになされている。
【０２０３】
例えば、ディジタルカメラ１のユーザが所定の操作を行ったとき、ディジタルカメラ１内に記録されている画像データに対応付けられているEXIFタグがネットワーク１４２を介してサーバ１４１に送信される。なお、EXIFタグだけでなく、画像データ自体もディジタルカメラ１からサーバ１４１に送信されるようにしてもよい。
【０２０４】
ディジタルカメラ１から送信されたEXIFタグを受信したサーバ１４１においては、それぞれのEXIFタグに含まれる撮影時刻に基づいて、上述したようなクラスタリングが行われる。クラスタリングの結果であるクラスタデータは、ネットワーク１４２を介してディジタルカメラ１に送信され、ディジタルカメラ１上で図６に示されるような閲覧画面を表示させるために用いられる。
【０２０５】
このように、ネットワーク１４２を介して接続されるサーバ１４１上でクラスタリングが行われ、EXIFタグをや画像データを送信してきた機器に対してクラスタリング結果がサーバ１４１から返されるようなクラスタリングサービスが実現されるようにしてもよい。
【０２０６】
ここで、クラスタリング部５１により行われる二分木構造の作成の他の例について図３０乃至図３７を参照して説明する。
【０２０７】
ここでは、それぞれの画像を、撮影時刻順にではなくクラスタリングの対象とする場合について説明する。例えば、ディジタルカメラ１で撮影された画像のクラスタリングを図２６のパーソナルコンピュータ１１１に行わせた後に、人からもらった画像などの、他のディジタルカメラで撮影された画像をもパーソナルコンピュータ１１１に取り込み、それらの画像全体をクラスタリングさせる場合などに、撮影時刻順にではなく、それぞれの画像を対象としたクラスタリングが行われる。
【０２０８】
例えば、図９に示されるように、ノードｎ１の左の子ノードとして画像ｐ１が連結され、右の子ノードとして画像ｐ２が連結されている状態で、画像ｐ１よりも新しく、画像ｐ２より古い画像である画像ｐ３がツリーに新たに挿入された場合、図３０に示されるように、画像ｐ１の撮影時刻と画像ｐ３の撮影時刻の時間間隔tdp1p3が、画像ｐ２の撮影時刻と画像ｐ３の撮影時刻の時間間隔tdp2p3より大きいときには、図３１に示されるように、ノードｎ２が新たに作られる。ノードｎ２には、その左の子ノードとして画像ｐ３が連結され、右の子ノードとして画像ｐ２が連結される。また、ノードｎ２が、画像ｐ２の代わりに右の子ノードとしてノードｎ１に連結される。
【０２０９】
ノードｎ２の最小時刻として画像ｐ３の撮影時刻が記録され、最大時刻として画像ｐ２の撮影時刻が記録される。このとき、ノードｎ２の親のノードであるノードｎ１の最小時刻と最大時刻に変更はない（最小時刻は画像ｐ１の撮影時刻、最大時刻は画像ｐ２の撮影時刻のままとなる）。
【０２１０】
一方、図９に示されるように、ノードｎ１の左の子ノードとして画像ｐ１が連結され、右の子ノードとして画像ｐ２が連結されている状態で、画像ｐ１よりも新しく、画像ｐ２より古い画像である画像ｐ３がツリーに新たに挿入され、図３２に示されるように、画像ｐ１の撮影時刻と画像ｐ３の撮影時刻の時間間隔tdp1p3が、画像ｐ２の撮影時刻と画像ｐ３の撮影時刻の時間間隔tdp2p3より小さいとき、図３３に示されるように、ノードｎ２が新たに作られる。ノードｎ２には、その左の子ノードとして画像ｐ１が連結され、右の子ノードとして画像ｐ３が連結される。また、ノードｎ２が、画像ｐ１の代わりに左の子ノードとしてノードｎ１に連結される。
【０２１１】
ノードｎ２の最小時刻として画像ｐ１の撮影時刻が記録され、最大時刻として画像ｐ３の撮影時刻が記録される。このとき、ノードｎ２の親のノードであるノードｎ１の最小時刻と最大時刻に変更はない（最小時刻は画像ｐ１の撮影時刻、最大時刻は画像ｐ２の撮影時刻のままとなる）。
【０２１２】
また、図９に示されるように、ノードｎ１の左の子ノードとして画像ｐ１が連結され、右の子ノードとして画像ｐ２が連結されている状態で、画像ｐ１よりも古い画像である画像ｐ３がツリーに新たに挿入された場合、図３４に示されるように、画像ｐ１の撮影時刻と画像ｐ３の撮影時刻の時間間隔tdp1p3が、画像ｐ１の撮影時刻と画像ｐ２の撮影時刻の時間間隔tdp1p2より小さいときには、図３５に示されるように、ノードｎ２が新たに作られる。ノードｎ２には、その左の子ノードとして画像ｐ３が連結され、右の子ノードとして画像ｐ１が連結される。また、ノードｎ２が、画像ｐ１の代わりに左の子ノードとしてノードｎ１に連結される。
【０２１３】
ノードｎ２の最小時刻として画像ｐ３の撮影時刻が記録され、最大時刻として画像ｐ１の撮影時刻が記録される。このとき、ノードｎ２の親のノードであるノードｎ１の最小時刻が画像ｐ３の撮影時刻で上書きされる。ノードｎ１の最大時刻に変更はない（最大時刻は画像ｐ２の撮影時刻のままとなる）。
【０２１４】
一方、図９に示されるように、ノードｎ１の左の子ノードとして画像ｐ１が連結され、右の子ノードとして画像ｐ２が連結されている状態で、画像ｐ１よりも古い画像である画像ｐ３がツリーに新たに挿入され、図３６に示されるように、画像ｐ１の撮影時刻と画像ｐ３の撮影時刻の時間間隔tdp1p3が、画像ｐ１の撮影時刻と画像ｐ２の撮影時刻の時間間隔tdp1p2より大きいときには、図３７に示されるように、ノードｎ２が新たにルートノードとして作られる。また、ノードｎ２には、その左の子ノードとして画像ｐ３が連結され、右の子ノードとしてノードｎ１が連結される。
【０２１５】
ノードｎ２の最小時刻として画像ｐ３の撮影時刻が記録され、最大時刻として画像ｐ２の撮影時刻が記録される。このとき、ノードｎ１の最小時刻と最大時刻に変更はない（最小時刻は画像ｐ１の撮影時刻、最大時刻は画像ｐ２の撮影時刻のままとなる）。
【０２１６】
画像ｐ４以降が新たに挿入された場合も同様に、その画像ｐ４が、クラスタリングが既に行われた画像の中で最も新しい画像である場合には、図８乃至図１６を参照して説明したような処理が行われ、それ以外の場合には、図３０乃至図３７を参照して説明した処理が行われる。
【０２１７】
以上においては、画像DB３３に記録されている画像全体がクラスタリングの対象とされるものとしたが、画像DB３３に記録されている画像のうちの一部の画像を対象としてクラスタリングが行われるようにしてもよい。
【０２１８】
また、以上においては、クラスタリングの対象となる画像が静止画である場合について説明したが、動画を対象としてクラスタリングが行われるようにすることもできる。この場合、クラスタリングに用いられる時刻情報には、例えば、それぞれの動画に属性情報として付加された撮影開始時刻の情報が用いられる。
【０２１９】
さらに、静止画や動画に限られず、時刻情報を属性情報として有する各種の情報を対象としてクラスタリングが行われるようにすることもできる。例えば、パーソナルコンピュータ上で扱われるテキストファイル、オーディオファイルなどには、それぞれ作成時刻や更新時刻の情報が属性情報として付加されているから、これらの時刻情報を用いることによっても、上述したようなクラスタリングを行うことができる。
【０２２０】
上述した一連の処理は、ハードウエアにより実行させることもできるし、ソフトウエアにより実行させることもできる。一連の処理をソフトウエアにより実行させる場合には、そのソフトウエアを構成するプログラムが、専用のハードウエアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、プログラム記録媒体からインストールされる。
【０２２１】
コンピュータにインストールされ、コンピュータによって実行可能な状態とされるプログラムを格納するプログラム記録媒体は、図２７に示すように、磁気ディスク（フレキシブルディスクを含む）、光ディスク（CD-ROM(Compact Disc-Read Only Memory)，DVD(Digital Versatile Disc)を含む）、光磁気ディスク、もしくは半導体メモリなどよりなるパッケージメディアであるリムーバブルメディア１３１、または、プログラムが一時的もしくは永続的に格納されるROM１２２や、記憶部１２８を構成するハードディスクなどにより構成される。プログラム記録媒体へのプログラムの格納は、必要に応じてルータ、モデムなどのインターフェースである通信部１２９を介して、ローカルエリアネットワーク、インターネット、ディジタル衛星放送といった、有線または無線の通信媒体を利用して行われる。
【０２２２】
なお、本明細書において、プログラム記録媒体に格納されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【図面の簡単な説明】
【０２２３】
【図１】本発明の一実施形態に係るディジタルカメラの正面側の外観の例を示す図である。
【図２】本発明の一実施形態に係るディジタルカメラの背面側の外観の例を示す図である。
【図３】クラスタの例を示す図である。
【図４】階層構造の例を示す図である。
【図５】画像の閲覧順序について説明する図である。
【図６】閲覧画面の表示例を示す図である。
【図７】ディジタルカメラの機能構成例を示すブロック図である。
【図８】二分木構造の作成について説明する図である。
【図９】二分木構造の作成について説明する図８に続く図である。
【図１０】二分木構造の作成について説明する図９に続く図である。
【図１１】二分木構造の作成について説明する図１０に続く図である。
【図１２】二分木構造の作成について説明する図１１に続く図である。
【図１３】二分木構造の作成について説明する図１２に続く図である。
【図１４】二分木構造の作成について説明する図１３に続く図である。
【図１５】二分木構造の作成について説明する図１４に続く図である。
【図１６】二分木構造の作成について説明する図１５に続く図である。
【図１７】グループ化条件に基づくクラスタリングについて説明する図である。
【図１８】クラスタの粒度の例を示す図である。
【図１９】グループＡ分割フラグの設定の例を示す図である。
【図２０】グループ化条件Ａに基づくクラスタリング結果の例を示す図である。
【図２１】グループＢ分割フラグの設定の例を示す図である。
【図２２】グループ化条件Ｂに基づくクラスタリング結果の例を示す図である。
【図２３】クラスタの入れ子関係を示す図である。
【図２４】ディジタルカメラのクラスタデータ生成処理について説明するフローチャートである。
【図２５】ディジタルカメラの閲覧画面表示制御処理について説明するフローチャートである。
【図２６】パーソナルコンピュータとディジタルカメラが接続されている状態を示す図である。
【図２７】パーソナルコンピュータの構成例を示すブロック図である。
【図２８】パーソナルコンピュータのクラスタリング処理について説明する図である。
【図２９】クラスタリングサービスを実現する構成の例を示す図である。
【図３０】二分木構造の作成について説明する図である。
【図３１】二分木構造の作成について説明する図３０に続く図である。
【図３２】二分木構造の作成について説明する図３１に続く図である。
【図３３】二分木構造の作成について説明する図３２に続く図である。
【図３４】二分木構造の作成について説明する図３３に続く図である。
【図３５】二分木構造の作成について説明する図３４に続く図である。
【図３６】二分木構造の作成について説明する図３５に続く図である。
【図３７】二分木構造の作成について説明する図３６に続く図である。
【符号の説明】
【０２２４】
１  ディジタルカメラ，  ２１  中央演算装置，  ２４  記録装置，  １４  表示装置，  ３１  カメラ部，  ３２  キャプチャ部，  ３３  画像DB，  ３４  タグ読み取り部，  ３５  演算部，  ３６  条件設定部，  ３７  クラスタDB，  ３８  イベント名設定部，  ３９  閲覧ビュー表示部，  ５１  クラスタリング部，  ５２  階層決定部，  １１１  パーソナルコンピュータ
【図１】
0004577173.tif 000008
【図２】
0004577173.tif 000009
【図３】
0004577173.tif 000010
【図４】
0004577173.tif 000011
【図５】
0004577173.tif 000012
【図６】
0004577173.tif 000013
【図７】
0004577173.tif 000014
【図８】
0004577173.tif 000015
【図９】
0004577173.tif 000016
【図１０】
0004577173.tif 000017
【図１１】
0004577173.tif 000018
【図１２】
0004577173.tif 000019
【図１３】
0004577173.tif 000020
【図１４】
0004577173.tif 000021
【図１５】
0004577173.tif 000022
【図１６】
0004577173.tif 000023
【図１７】
0004577173.tif 000024
【図１８】
0004577173.tif 000025
【図１９】
0004577173.tif 000026
【図２０】
0004577173.tif 000027
【図２１】
0004577173.tif 000028
【図２２】
0004577173.tif 000029
【図２３】
0004577173.tif 000030
【図２４】
0004577173.tif 000031
【図２５】
0004577173.tif 000032
【図２６】
0004577173.tif 000033
【図２７】
0004577173.tif 000034
【図２８】
0004577173.tif 000035
【図２９】
0004577173.tif 000036
【図３０】
0004577173.tif 000037
【図３１】
0004577173.tif 000038
【図３２】
0004577173.tif 000039
【図３３】
0004577173.tif 000040
【図３４】
0004577173.tif 000041
【図３５】
0004577173.tif 000042
【図３６】
0004577173.tif 000043
【図３７】
0004577173.tif 000044