(57)【要約】【課題】ユーザの好みに応じて適切にコンテンツを分類する。【解決手段】撮影画像データベース２３０から画像コンテンツを入力すると、画像コンテンツに含まれる位置情報を位置情報取得部２４０が取得して、この取得された位置情報に基づいて、各画像コンテンツを二分木のリーフに対応させて当該二分木に対応する二分木構造データをクラスタリング部２５１が作成し、この作成された二分木構造データにおけるノードの中からグループ化条件を満たすノードを階層決定部２５２が抽出して、この抽出されたノードに属する画像コンテンツを１つのグループとして決定する。そして、撮影画像データベース２３０に記録されている各画像コンテンツを、決定されたグループに基づいて分類して表示部１２０に表示させる。このグループ化条件は、操作受付部１３０からの操作入力に応じて条件設定部２６０により設定される。【選択図】図３
2008250605.tif 000002
【特許請求の範囲】
【請求項１】
位置情報が関連付けられたコンテンツを入力するコンテンツ入力手段と、
前記入力されたコンテンツに関連付けられた位置情報を取得する位置情報取得手段と、
前記取得された位置情報に基づいて前記入力された各コンテンツを二分木のリーフに対応させて当該二分木に対応する二分木構造データを作成するツリー作成手段と、
前記作成された二分木構造データにおけるノードの中から所定の条件を満たすノードを抽出して当該抽出されたノードに属する前記コンテンツを１つのグループとして決定する決定手段と
を具備することを特徴とするコンテンツ管理装置。
【請求項２】
前記所定の条件を変更可能に設定する条件設定手段をさらに具備する
ことを特徴とする請求項１記載のコンテンツ管理装置。
【請求項３】
操作入力を受け付ける操作受付手段をさらに具備し、
前記条件設定手段は、前記所定の条件を変更する旨の操作入力が前記操作受付手段により受け付けられた場合には設定条件を変更し、
前記決定手段は、前記作成された二分木構造データにおけるノードを前記条件設定手段により変更された条件に基づいて抽出する
ことを特徴とする請求項２記載のコンテンツ管理装置。
【請求項４】
前記所定の条件は、前記二分木構造データにおけるノードに属するコンテンツの密度に関するパラメータ定数であり、
前記決定手段は、前記作成された二分木構造データにおけるノードに属するコンテンツを含む領域であるクラスタ領域におけるコンテンツの密度をノード毎に算出して当該算出されたクラスタの密度が前記パラメータ定数により定まる所定の範囲内に含まれるノードを抽出する
ことを特徴とする請求項１記載のコンテンツ管理装置。
【請求項５】
前記パラメータ定数は、クラスタの密度の下限値および上限値を示す定数であり、
前記決定手段は、前記算出されたクラスタの密度が前記下限値および前記上限値の範囲内に含まれるノードを抽出する
ことを特徴とする請求項４記載のコンテンツ管理装置。
【請求項６】
前記所定の条件は、前記二分木構造データにおけるノードに属するコンテンツのイベント数に関するパラメータ定数であり、
前記決定手段は、前記作成された二分木構造データにおけるノードに属するコンテンツを含む領域であるクラスタ領域におけるコンテンツのイベント数をノード毎に算出して当該算出されたクラスタのイベント数が前記パラメータ定数により定まる所定の範囲内に含まれるノードを抽出する
ことを特徴とする請求項１記載のコンテンツ管理装置。
【請求項７】
前記パラメータ定数は、前記クラスタのイベント数の下限値および上限値を示す定数であり、
前記決定手段は、前記算出されたクラスタのイベント数が前記下限値および前記上限値の範囲内に含まれるノードを抽出する
ことを特徴とする請求項６記載のコンテンツ管理装置。
【請求項８】
前記決定されたグループに基づいて前記入力されたコンテンツを分類して出力するコンテンツ出力手段をさらに具備する
ことを特徴とする請求項１記載のコンテンツ管理装置。
【請求項９】
前記コンテンツは、画像コンテンツであり、
前記決定されたグループに基づいて前記入力された画像コンテンツを分類して表示部に表示させる表示制御手段をさらに具備する
ことを特徴とする請求項１記載のコンテンツ管理装置。
【請求項１０】
位置情報が関連付けられた画像コンテンツを入力するコンテンツ入力手段と、
前記入力された画像コンテンツに関連付けられた位置情報を取得する位置情報取得手段と、
前記取得された位置情報に基づいて前記入力された各画像コンテンツを二分木のリーフに対応させて当該二分木に対応する二分木構造データを作成するツリー作成手段と、
前記作成された二分木構造データにおけるノードの中から所定の条件を満たすノードを抽出して当該抽出されたノードに属する前記画像コンテンツを１つのグループとして決定する決定手段と、
前記決定されたグループに基づいて前記入力された画像コンテンツを分類して表示部に表示させる表示制御手段と
を具備することを特徴とする画像表示装置。
【請求項１１】
被写体の画像を撮像する撮像手段と、
前記撮像手段により撮像された画像に対応する画像コンテンツであって位置情報が関連付けられた画像コンテンツを入力するコンテンツ入力手段と、
前記入力された画像コンテンツに関連付けられた位置情報を取得する位置情報取得手段と、
前記取得された位置情報に基づいて前記入力された各画像コンテンツを二分木のリーフに対応させて当該二分木に対応する二分木構造データを作成するツリー作成手段と、
前記作成された二分木構造データにおけるノードの中から所定の条件を満たすノードを抽出して当該抽出されたノードに属する前記画像コンテンツを１つのグループとして決定する決定手段と、
前記決定されたグループに基づいて前記入力された画像コンテンツを分類して表示部に表示させる表示制御手段と
を具備することを特徴とする撮像装置。
【請求項１２】
位置情報が関連付けられたコンテンツを入力するコンテンツ入力手順と、
前記入力されたコンテンツに関連付けられた位置情報を取得する位置情報取得手順と、
前記取得された位置情報に基づいて前記入力された各コンテンツを二分木のリーフに対応させて当該二分木に対応する二分木構造データを作成するツリー作成手順と、
前記作成された二分木構造データにおけるノードの中から所定の条件を満たすノードを抽出して当該抽出されたノードに属する前記コンテンツを１つのグループとして決定する決定手順と
を具備することを特徴とするコンテンツ管理方法。
【請求項１３】
位置情報が関連付けられたコンテンツを入力するコンテンツ入力手順と、
前記入力されたコンテンツに関連付けられた位置情報を取得する位置情報取得手順と、
前記取得された位置情報に基づいて前記入力された各コンテンツを二分木のリーフに対応させて当該二分木に対応する二分木構造データを作成するツリー作成手順と、
前記作成された二分木構造データにおけるノードの中から所定の条件を満たすノードを抽出して当該抽出されたノードに属する前記コンテンツを１つのグループとして決定する決定手順と
をコンピュータに実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンテンツ管理装置に関し、特に、複数のコンテンツを分類して管理するコンテンツ管理装置、画像表示装置、撮像装置、および、これらにおける処理方法ならびに当該方法をコンピュータに実行させるプログラムに関する。
【背景技術】
【０００２】
従来、デジタルスチルカメラで撮影された静止画やデジタルビデオカメラで撮影された動画等のコンテンツを整理するための検索技術や、閲覧するための表示技術が多数提案されている。
【０００３】
また、撮影画像とこの撮影画像が撮影された撮影位置または撮影時刻とを関連付けて格納しておき、撮影画像を検索する場合には、格納されている撮影位置または撮影時刻を用いて所望の撮影画像を検索する技術が知られている。
【０００４】
例えば、複数の撮影画像とこれらの撮影画像の撮影位置とを関連付けて格納しておき、複数の撮影画像のうちの１つの撮影画像の表示がユーザにより指示されると、指示された撮影画像に対応する撮影位置とユーザにより指示された位置である現在位置との距離に基づいて、指示された撮影画像を含む対象範囲を設定して、この対象範囲に含まれる撮影画像を表示する画像出力装置が提案されている（例えば、特許文献１参照。）。なお、この対象範囲は、撮影位置と現在位置との差が大きくなるに従って大きくなるように設定される。
【特許文献１】特開２００６−２８５９６４号公報（図４）
【発明の開示】
【発明が解決しようとする課題】
【０００５】
上述の従来技術では、撮影画像の位置情報とユーザの基準となる位置情報とに基づいて撮影画像が分類される。例えば、基準となる位置をユーザの自宅にした場合には、ユーザの自宅から近い場所で撮影された画像については、比較的小さい対象領域が設定され、ユーザの自宅から遠い場所で撮影された画像については、比較的大きい対象領域が設定される。このため、自宅近くの頻繁に訪れる場所等については、狭い地域毎に撮影画像が分類される。また、旅行で行くような遠くの場所等については、広い地域毎に撮影画像が分類される。
【０００６】
しかしながら、ユーザの自宅から遠い場所であっても頻繁に訪れる場所等があり、これらの場所については、比較的小さい狭い地域毎に撮影画像を分類したい場合がある。これに対して、上述の従来技術では、ユーザの基準となる位置情報から距離に基づいて撮影画像を分類するため、このようなユーザの多様な好みを分類に反映させることが困難である。
【０００７】
しかしながら、ユーザの好みに応じて適切に撮影画像等のコンテンツを分類することができれば、そのコンテンツをさらに楽しむことができると考えられる。
【０００８】
そこで、本発明は、ユーザの好みに応じて適切にコンテンツを分類することを目的とする。
【課題を解決するための手段】
【０００９】
本発明は、上記課題を解決するためになされたものであり、その第１の側面は、位置情報が関連付けられたコンテンツを入力するコンテンツ入力手段と、上記入力されたコンテンツに関連付けられた位置情報を取得する位置情報取得手段と、上記取得された位置情報に基づいて上記入力された各コンテンツを二分木のリーフに対応させて当該二分木に対応する二分木構造データを作成するツリー作成手段と、上記作成された二分木構造データにおけるノードの中から所定の条件を満たすノードを抽出して当該抽出されたノードに属する上記コンテンツを１つのグループとして決定する決定手段とを具備することを特徴とするコンテンツ管理装置およびその処理方法ならびに当該方法をコンピュータに実行させるプログラムである。これにより、入力されたコンテンツの位置情報を取得して、この取得された位置情報に基づいて、各コンテンツを二分木のリーフに対応させた二分木構造データを作成し、この作成された二分木構造データにおけるノードの中から所定の条件を満たすノードを抽出して、この抽出されたノードに属するコンテンツを１つのグループとして決定するという作用をもたらす。
【００１０】
また、この第１の側面において、上記所定の条件を変更可能に設定する条件設定手段をさらに具備することができる。これにより、所定の条件を変更可能に設定するという作用をもたらす。この場合において、操作入力を受け付ける操作受付手段をさらに具備し、上記条件設定手段は、上記所定の条件を変更する旨の操作入力が上記操作受付手段により受け付けられた場合には設定条件を変更し、上記決定手段は、上記作成された二分木構造データにおけるノードを上記条件設定手段により変更された条件に基づいて抽出することができる。これにより、所定の条件を変更する旨の操作入力が受け付けられた場合には、設定条件を変更し、作成された二分木構造データにおけるノードをその変更された条件に基づいて抽出するという作用をもたらす。
【００１１】
また、この第１の側面において、上記所定の条件は、上記二分木構造データにおけるノードに属するコンテンツの密度に関するパラメータ定数であり、上記決定手段は、上記作成された二分木構造データにおけるノードに属するコンテンツを含む領域であるクラスタ領域におけるコンテンツの密度をノード毎に算出して当該算出されたクラスタの密度が上記パラメータ定数により定まる所定の範囲内に含まれるノードを抽出することができる。これにより、作成された二分木構造データにおけるノードに対応するクラスタ領域におけるコンテンツの密度をノード毎に算出して、この算出されたクラスタの密度がパラメータ定数により定まる所定の範囲内に含まれるノードを抽出するという作用をもたらす。この場合において、上記パラメータ定数は、クラスタの密度の下限値および上限値を示す定数であり、上記決定手段は、上記算出されたクラスタの密度が上記下限値および上記上限値の範囲内に含まれるノードを抽出することができる。これにより、算出されたクラスタの密度が、パラメータ定数の下限値および上限値の範囲内に含まれるノードを抽出するという作用をもたらす。
【００１２】
また、この第１の側面において、上記所定の条件は、上記二分木構造データにおけるノードに属するコンテンツのイベント数に関するパラメータ定数であり、上記決定手段は、上記作成された二分木構造データにおけるノードに属するコンテンツを含む領域であるクラスタ領域におけるコンテンツのイベント数をノード毎に算出して当該算出されたクラスタのイベント数が上記パラメータ定数により定まる所定の範囲内に含まれるノードを抽出することができる。これにより、作成された二分木構造データにおけるノードに対応するクラスタ領域におけるコンテンツのイベント数をノード毎に算出して、この算出されたクラスタのイベント数がパラメータ定数により定まる所定の範囲内に含まれるノードを抽出するという作用をもたらす。この場合において、上記パラメータ定数は、上記クラスタのイベント数の下限値および上限値を示す定数であり、上記決定手段は、上記算出されたクラスタのイベント数が上記下限値および上記上限値の範囲内に含まれるノードを抽出することができる。これにより、算出されたクラスタのイベント数が、パラメータ定数の下限値および上限値の範囲内に含まれるノードを抽出するという作用をもたらす。
【００１３】
また、この第１の側面において、上記決定されたグループに基づいて上記入力されたコンテンツを分類して出力するコンテンツ出力手段をさらに具備することができる。これにより、決定されたグループに基づいて、入力されたコンテンツを分類して出力するという作用をもたらす。
【００１４】
また、この第１の側面において、上記コンテンツは、画像コンテンツであり、上記決定されたグループに基づいて上記入力された画像コンテンツを分類して表示部に表示させる表示制御手段をさらに具備することができる。これにより、決定されたグループに基づいて、入力された画像コンテンツを分類して表示部に表示させるという作用をもたらす。
【００１５】
また、本発明の第２の側面は、位置情報が関連付けられた画像コンテンツを入力するコンテンツ入力手段と、上記入力された画像コンテンツに関連付けられた位置情報を取得する位置情報取得手段と、上記取得された位置情報に基づいて上記入力された各画像コンテンツを二分木のリーフに対応させて当該二分木に対応する二分木構造データを作成するツリー作成手段と、上記作成された二分木構造データにおけるノードの中から所定の条件を満たすノードを抽出して当該抽出されたノードに属する上記画像コンテンツを１つのグループとして決定する決定手段と、上記決定されたグループに基づいて上記入力された画像コンテンツを分類して表示部に表示させる表示制御手段とを具備することを特徴とする画像表示装置およびその処理方法ならびに当該方法をコンピュータに実行させるプログラムである。これにより、入力された画像コンテンツの位置情報を取得して、この取得された位置情報に基づいて、各画像コンテンツを二分木のリーフに対応させた二分木構造データを作成し、この作成された二分木構造データにおけるノードの中から所定の条件を満たすノードを抽出して、この抽出されたノードに属するコンテンツを１つのグループとして決定し、決定されたグループに基づいて、入力された画像コンテンツを分類して表示部に表示させるという作用をもたらす。
【００１６】
また、本発明の第３の側面は、被写体の画像を撮像する撮像手段と、上記撮像手段により撮像された画像に対応する画像コンテンツであって位置情報が関連付けられた画像コンテンツを入力するコンテンツ入力手段と、上記入力された画像コンテンツに関連付けられた位置情報を取得する位置情報取得手段と、上記取得された位置情報に基づいて上記入力された各画像コンテンツを二分木のリーフに対応させて当該二分木に対応する二分木構造データを作成するツリー作成手段と、上記作成された二分木構造データにおけるノードの中から所定の条件を満たすノードを抽出して当該抽出されたノードに属する上記画像コンテンツを１つのグループとして決定する決定手段と、上記決定されたグループに基づいて上記入力された画像コンテンツを分類して表示部に表示させる表示制御手段とを具備することを特徴とする撮像装置およびその処理方法ならびに当該方法をコンピュータに実行させるプログラムである。これにより、撮像された画像に対応する画像コンテンツの位置情報を取得して、この取得された位置情報に基づいて、各画像コンテンツを二分木のリーフに対応させた二分木構造データを作成し、この作成された二分木構造データにおけるノードの中から所定の条件を満たすノードを抽出して、この抽出されたノードに属するコンテンツを１つのグループとして決定し、決定されたグループに基づいて、入力された画像コンテンツを分類して表示部に表示させるという作用をもたらす。
【発明の効果】
【００１７】
本発明によれば、ユーザの好みに応じて適切にコンテンツを分類することができるという優れた効果を奏し得る。
【発明を実施するための最良の形態】
【００１８】
次に本発明の実施の形態について図面を参照して詳細に説明する。
【００１９】
図１は、本発明の実施の形態における撮像装置１００の外観を示す図である。図１（ａ）は撮像装置１００の正面図であり、図１（ｂ）は撮像装置１００の背面図である。ここでは、撮像装置１００の一例としてデジタルスチルカメラを想定した外観の概略構成を示す。
【００２０】
撮像装置１００は、カメラレンズ１１１と、シャッターボタン１１２と、ＧＰＳ受信アンテナ１１３と、表示部１２０と、操作受付部１３０とを備える。
【００２１】
カメラレンズ１１１は、被写体を撮影する場合に用いられるレンズである。
【００２２】
シャッターボタン１１２は、被写体を撮影する場合に押下されるシャッターボタンである。
【００２３】
ＧＰＳ受信アンテナ１１３は、ＧＰＳ（Global Positioning System）信号を受信するアンテナであり、受信したＧＰＳ信号を図２に示すＧＰＳ信号処理装置１４２に出力する。
【００２４】
表示部１２０は、撮影中のモニタリング画像や撮影済の画像等を表示する表示部である。また、表示部１２０には、グループ化条件設定バー１２１および１２２が表示される。グループ化条件設定バー１２１および１２２は、撮影画像を分類する場合におけるクラスタの条件を設定するためのバーである。なお、グループ化条件設定バー１２１および１２２を用いて行う条件設定については、図１３乃至図１７を参照して詳細に説明する。表示部１２０として、例えば、液晶表示装置（ＬＣＤ：Liquid Crystal Display）を用いることができる。
【００２５】
操作受付部１３０は、各種操作ボタンを備え、これらのボタン等から操作入力を受け付けると、受け付けた操作入力の内容を図２に示す中央演算装置１４３に出力するものである。操作受付部１３０は、例えば、十字ボタン１３１やボタン１３２および１３３を備える。
【００２６】
十字ボタン１３１は、表示部１２０に表示されている各画像等について上下左右に移動等する場合に押下されるボタンである。例えば、表示部１２０に表示されているグループ化条件設定バー１２１および１２２を上下に移動させる場合に、十字ボタン１３１の上部分または下部分が押下される。ボタン１３２および１３３は、各種機能が割り振られているボタンである。なお、操作受付部１３０の少なくとも一部と表示部１２０とをタッチパネルとして一体化して構成するようにしてもよい。
【００２７】
図２は、本発明の実施の形態における撮像装置１００のハードウェア構成例を示す概略構成図である。
【００２８】
撮像装置１００は、ＧＰＳ受信アンテナ１１３と、表示部１２０と、操作受付部１３０と、カメラ制御装置１４１と、ＧＰＳ信号処理装置１４２と、中央演算装置１４３と、記憶装置１４４と、バッテリ１４５とを備える。なお、ＧＰＳ受信アンテナ１１３、表示部１２０および操作受付部１３０は、図１で示したものと同様である。
【００２９】
カメラ制御装置１４１は、カメラレンズ１１１等の光学系および撮像素子を具備する撮像部を備え、この撮像部に撮影を行わせる制御を実行するものである。また、このカメラ制御装置１４１は、カメラレンズ１１１から入力された被写体に対応する映像を結像し、結像された映像に対応する映像情報をデジタルデータに変換し、変換されたデジタルデータを中央演算装置１４３に出力する。
【００３０】
ＧＰＳ信号処理装置１４２は、ＧＰＳ受信アンテナ１１３で受信されたＧＰＳ信号に基づいて現在の位置情報を算出するものであり、算出された位置情報を中央演算装置１４３に出力する。なお、この算出された位置情報には、緯度、経度、高度等の各種メタデータが含まれている。
【００３１】
中央演算装置１４３は、メモリ（図示せず）に記憶されている各種プログラムに基づいて、所定の演算処理を実行するとともに、撮像装置１００の各部を制御する演算装置である。また、この中央演算装置１４３は、記憶装置１４４から読み出された各種情報や操作受付部１３０から入力された操作内容等に基づいて所定の演算処理を実行する。また、この中央演算装置１４３は、カメラ制御装置１４１から出力されたデジタルデータに対して各種の信号処理を施し、信号処理が施された画像データである画像コンテンツを記憶装置１４４および表示部１２０に出力する。
【００３２】
記憶装置１４４は、撮影画像である画像コンテンツ等を記憶する記憶装置であり、記憶されている各種情報を中央演算装置１４３に出力するものである。また、記憶装置１４４には、図３に示す撮影画像データベース２３０、二分木データベース２７０およびクラスタデータベース２８０が格納されている。
【００３３】
バッテリ１４５は、撮像装置１００の各部に電源を供給するバッテリである。
【００３４】
図３は、本発明の実施の形態における撮像装置１００の機能構成例を示すブロック図である。撮像装置１００は、ＧＰＳ受信アンテナ１１３と、表示部１２０と、操作受付部１３０と、カメラ部２１１と、キャプチャ部２１２と、ＧＰＳ信号処理部２２０と、撮影画像データベース２３０と、位置情報取得部２４０と、演算部２５０と、条件設定部２６０と、二分木データベース２７０と、クラスタデータベース２８０と、表示制御部２９０とを備える。なお、ＧＰＳ受信アンテナ１１３、表示部１２０および操作受付部１３０は、図１で示したものと同様であり、ＧＰＳ信号処理部２２０は、図２に示したＧＰＳ信号処理装置１４２に対応する。
【００３５】
カメラ部２１１は、被写体に対応する映像を結像するものであり、結像された映像に対応する映像情報をキャプチャ部２１２に出力する。
【００３６】
キャプチャ部２１２は、カメラ部２１１から出力された映像情報をデジタルデータに変換するものであり、変換されたデジタルデータを撮影画像データベース２３０に出力する。
【００３７】
撮影画像データベース２３０は、キャプチャ部２１２により変換されたデジタルデータに対応する画像コンテンツを記録するデータベースである。なお、撮影画像データベース２３０に記録される画像コンテンツにはＥｘｉｆ（Exchangeable Image File Format）タグが格納され、このＥｘｉｆタグには、撮影位置情報や撮影時刻等の各種メタデータが記録される。また、ＧＰＳ信号処理部２２０により算出された位置情報に含まれる各種メタデータのうちで、緯度と経度と高度とが撮影画像データベース２３０に記録されている各画像コンテンツのＥｘｉｆタグに記録される。
【００３８】
位置情報取得部２４０は、撮影画像データベース２３０に記録されている各画像コンテンツのＥｘｉｆタグから撮影位置情報を取得し、取得された撮影位置情報を演算部２５０に出力するものである。なお、この撮影位置情報の取得は、撮影後または閲覧時においてクラスタリング処理が実行される場合等に必要に応じて行われる。
【００３９】
演算部２５０は、クラスタリング部２５１および階層決定部２５２を備える。
【００４０】
クラスタリング部２５１は、撮影画像データベース２３０に記憶されている画像コンテンツをクラスタリングと呼ばれる手法を用いて分類するものである。このクラスタリングにおいて、本発明の実施の形態では、各画像コンテンツをリーフ（葉）とする二分木構造のデータが用いられる。この二分木構造データにおけるノード（節）は、クラスタに該当する。クラスタリング部２５１は、位置情報取得部２４０から受け取った撮影位置情報に基づいて、二分木構造データにおける各クラスタが階層構造になるようにクラスタリングを行う。この二分木構造データは二分木データベース２７０に保持される。なお、階層クラスタリング処理および二分木構造データ作成については、図４乃至図１０等を参照して詳細に説明する。
【００４１】
階層決定部２５２は、二分木データベース２７０に記憶されている二分木構造データにおけるノードの中から、条件設定部２６０により設定されるグループ化条件を満たすノードを抽出して、この抽出されたノードに属するリーフに対応する画像コンテンツを１つのグループとして決定するものである。すなわち、階層決定部２５２は、二分木データベース２７０に記憶されている二分木構造データにおけるノードに対応するクラスタにおけるコンテンツの密度をノード毎に算出し、算出されたクラスタの密度がグループ化条件を満たすノードを抽出する。また、階層決定部２５２は、撮影画像データベース２３０に記録されている画像コンテンツのＥｘｉｆタグから撮影時刻情報を取得し、取得された撮影時刻情報に基づいて、二分木データベース２７０に記憶されている二分木構造データにおけるノードに対応するクラスタにおけるイベント数をノード毎に算出し、算出されたイベント数がグループ化条件を満たすノードを抽出する。ここで、イベントとは、画像コンテンツの有する時間に基づくまとまりを意味する。このように、階層決定部２５２は、クラスタリングにより作成されたクラスタの中からグループ化条件を満たすクラスタを決定することによって、複数のクラスタの中から所望のクラスタが適切なグループとして決定される。なお、これらの決定方法については、図１３乃至図１７等を参照して詳細に説明する。
【００４２】
条件設定部２６０は、グループ化条件に関する操作入力が操作受付部１３０から受け付けられた場合には、この操作入力に対応するグループ化条件を保存するとともに、このグループ化条件を階層決定部２５２に出力する。このグループ化条件に関する操作入力は、例えば、表示部１２０に表示されているグループ化条件設定バー１２１および１２２を操作受付部１３０からの操作により上下に移動させることによって入力することができる。また、条件設定部２６０は、ユーザの操作や過去のグループ化の履歴等を保存しておき、これらの履歴等に基づいてグループ化条件を設定し、設定されたグループ化条件を階層決定部２５２に出力するようにしてもよい。
【００４３】
クラスタデータベース２８０は、階層決定部２５２により決定された二分木構造データにおける各ノードの階層に対応するクラスタ毎のクラスタデータを保存するデータベースである。なお、クラスタデータの詳細については、図１２を参照して詳細に説明する。
【００４４】
表示制御部２９０は、クラスタの閲覧を指示する旨の操作入力が操作受付部１３０から受け付けられた場合には、クラスタデータベース２８０からクラスタデータを読み出すとともに撮影画像データベース２３０から画像コンテンツを読み出し、読み出されたクラスタデータに基づいて各画像コンテンツをグループ化して閲覧ビューを構成し、閲覧ビューを表示部１２０に表示させるものである。なお、閲覧ビューの表示例については、図１８および図１９に示す。
【００４５】
次に、複数のコンテンツをクラスタリング（階層クラスタリング）するクラスタリング方法について図面を参照して詳細に説明する。
【００４６】
クラスタリングとは、データの集合に対して、距離が近い複数のデータをまとめてグループ化（分類）することである。なお、本発明の実施の形態では、データとしてフォトコンテンツ（写真画像コンテンツ）を用いる。また、画像コンテンツ間の距離とは、画像コンテンツに対応する２点の撮影位置間の距離を示す。また、クラスタとは、クラスタリングによってコンテンツがまとまる単位である。このクラスタの結合または分離等の操作を経て、最終的にグループ化されたコンテンツを扱うことが可能になる。なお、本発明の実施の形態では、このグループ化は、以下で示すように、二分木構造データを用いて行う。
【００４７】
図４は、１または複数のコンテンツが属するクラスタの概略を示す図である。図４（ａ）は、クラスタ３３１に１つのコンテンツが属する場合を示す図であり、図４（ｂ）は、クラスタ３３４に２つのコンテンツが属する場合を示す図であり、図４（ｃ）は、クラスタ３４０に少なくとも４以上のコンテンツが属する場合を示す図である。なお、図４（ｂ）に示すクラスタ３３４は、１つのコンテンツのみを有するクラスタ３３２および３３３により作成されているクラスタであり、図４（ｃ）に示すクラスタ３４０は、少なくとも２以上のコンテンツを有するクラスタ３３６および３３７により作成されているクラスタである。また、ここでは、２次元に配置されるコンテンツをクラスタリングする場合について説明する。
【００４８】
複数のコンテンツがクラスタリングされた後に作成される各クラスタは、円形状の領域であり、その円の中心位置（中心点）および半径を属性値として有する。このように、中心点および半径により定まる円形状のクラスタ領域に、当該クラスタに属するコンテンツが含まれる。
【００４９】
例えば、図４（ａ）に示すように、クラスタ３３１に１つのコンテンツのみが属する場合において、クラスタ３３１の中心位置は、クラスタ３３１に属するコンテンツの位置である。また、クラスタ３３１の半径は０（ｒ＝０）である。
【００５０】
また、例えば、図４（ｂ）に示すように、クラスタ３３４に２つのコンテンツ（クラスタ３３２および３３３）が属する場合において、クラスタ３３４の中心位置３３５は、２つのコンテンツの位置を結ぶ直線上の真中の位置である。また、クラスタ３３４の半径は、２つのコンテンツの位置を結ぶ直線の半分である。例えば、２つのコンテンツに対応するクラスタ３３２および３３３を結ぶ直線の距離がＡ１の場合には、半径はＡ１／２（ｒ＝Ａ１／２）である。なお、クラスタリングする場合において、１つのコンテンツのみが属するクラスタ間の距離を算出する場合には、各コンテンツ間の距離を算出する。例えば、クラスタ３３２および３３３の距離を算出する場合には、クラスタ３３２に属するコンテンツの位置と、クラスタ３３３に属するコンテンツの位置との距離を算出する。
【００５１】
さらに、例えば、図４（ｃ）に示すように、クラスタ３４０に少なくとも４以上のコンテンツが属する場合において、クラスタ３４０の中心位置３４１は、クラスタ３３６の中心位置３３８およびクラスタ３３７の中心位置３３９を結ぶ直線上であって、クラスタ３４０の円とクラスタ３３６の円とが接する位置３４２と、クラスタ３４０の円とクラスタ３３７の円とが接する位置３４３とを結ぶ直線の真中の位置である。また、クラスタ３４０の半径は、位置３４２と位置３４３とを結ぶ直線の半分である。なお、クラスタリングする場合において、複数のコンテンツが属するクラスタ間の距離を算出する場合には、各クラスタの円の外周間の最短距離を算出する。例えば、クラスタ３３６および３３７間の距離は、位置３４２と位置３４３とを結ぶ直線上に存在するクラスタ３３６の円上の位置３４４とクラスタ３３７の円上の位置３４５との距離ｄである。この場合に、クラスタ３３６の半径をＡ２とし、クラスタ３３７の半径をＡ３とし、クラスタ３４０の半径をＡ４とした場合には、クラスタ３３６および３３７の距離ｄは、２（Ａ４−Ａ２−Ａ３）である。なお、これらのクラスタ間の距離の計算方法やクラスタリング方法については、図２２乃至図４３を参照して詳細に説明する。
【００５２】
図５乃至図９は、位置情報に基づいて平面上に配置されているコンテンツ３５１乃至３５５がクラスタリングされる場合における遷移を概念的に示す図である。
【００５３】
図５に示すように、撮影画像データベース２３０に記憶されているコンテンツ３５１乃至３５５が、その位置情報に基づいて平面上に配置される。なお、これらのコンテンツの配置は、仮想的なものである。
【００５４】
そして、各コンテンツ間の距離が計算される。この計算結果に基づいて、図６に示すように、コンテンツ間の距離が最も短いコンテンツ３５１および３５２によりクラスタ３６１が作成される。
【００５５】
続いて、コンテンツ３５３乃至３５５およびクラスタ３６１の間の距離が計算される。この計算結果に基づいて、図７に示すように、コンテンツまたはクラスタ間の距離が最も短いコンテンツ３５３および３５４によりクラスタ３６２が作成される。
【００５６】
続いて、コンテンツ３５５、クラスタ３６１、クラスタ３６２の間の距離が計算される。この計算結果に基づいて、図８に示すように、コンテンツまたはクラスタ間の距離が最も短いクラスタ３６１およびコンテンツ３５５によりクラスタ３６３が作成される。
【００５７】
続いて、図９に示すように、最後に残っているクラスタ３６２およびクラスタ３６３によりクラスタ３６４が作成される。このように、コンテンツ３５１乃至３５５の５つのデータが順次クラスタリングされ、クラスタ３６１乃至３６４が作成される。また、このように作成されたクラスタ３６１乃至３６４に基づいて、二分木構造データが作成される。さらに、作成されたクラスタ３６１乃至３６４に関する二分木構造データが、二分木データベース２７０に格納される。
【００５８】
図１０は、クラスタ３６１乃至３６４に基づいて作成される二分木構造データを示す二分木構造のクラスタリング樹形図を概念的に示す図である。
【００５９】
図５乃至図９に示すように、コンテンツ３５１乃至３５５がクラスタリングされ、クラスタ３６１乃至３６４が作成された場合には、作成されたクラスタ３６１乃至３６４に基づいて、図１０に示す二分木に対応する二分木構造データが作成される。なお、この二分木においては、コンテンツとリーフとが対応し、クラスタとノードとが対応する。図１０に示すクラスタリング樹形図においては、コンテンツ３５１乃至３５５に対応するリーフにはコンテンツと同一の番号を付し、クラスタ３６１乃至３６４に対応するノードにはクラスタと同一の番号を付す。なお、各コンテンツ３５１乃至３５５は、それぞれ単独でクラスタを構成するが、これらのクラスタ番号についてはここでは特に図示しない。
【００６０】
図１１は、コンテンツ７０１乃至７１５に基づいて作成される二分木構造データを示す二分木構造のクラスタリング樹形図を概念的に示す図である。図１１に示す二分木は、コンテンツ７０１乃至７１５がクラスタリングされ、クラスタ７２１乃至７３４が作成された場合に作成される二分木構造データに対応する二分木の一例である。なお、図１０と同様に、図１１に示すクラスタリング樹形図において、コンテンツ７０１乃至７１５に対応するリーフにはコンテンツと同一の番号を付し、クラスタ７２１乃至７３４に対応するノードにはクラスタと同一の番号を付す。また、各コンテンツ７０１乃至７１５が単独で構成するクラスタの番号については、ここでは図示しない。
【００６１】
図１２は、クラスタリングにより作成された各クラスタに関するクラスタデータの一例を示す図である。
【００６２】
クラスタデータ５００は、作成されたクラスタに関する固有の情報であり、クラスタＩＤ、クラスタ中心位置、クラスタ半径、コンテンツ数、コンテンツリスト、子クラスタリストが記録されている。なお、各コンテンツには、コンテンツの識別子であるコンテンツのＩＤが付与されている。
【００６３】
クラスタＩＤは、クラスタデータ５００に対応するクラスタの識別子であり、例えば、４桁の整数値が記録される。クラスタ中心位置は、クラスタデータ５００に対応するクラスタの中心位置を示すデータであり、例えば、クラスタの中心位置に対応する緯度および経度が記録される。クラスタ半径は、クラスタデータ５００に対応するクラスタの半径を示すデータであり、例えば、単位をメートル（ｍ）とする値が記録される。コンテンツ数は、クラスタデータ５００に対応するクラスタのクラスタ領域に含まれるコンテンツの数を示すデータである。コンテンツデータリストは、クラスタデータ５００に対応するクラスタのクラスタ領域に含まれるコンテンツのＩＤ（整数値）を示すデータであり、例えば、コンテンツのＩＤとして整数値のリストが記録される。
【００６４】
子クラスタリストは、クラスタデータ５００に対応するクラスタのクラスタ領域に含まれるクラスタ（子クラスタ）のクラスタＩＤを示すデータである。すなわち、クラスタの下位の階層に存在する１または複数のクラスタのＩＤが全て記録される。
【００６５】
クラスタデータとしては、ここで示したデータ以外にも、コンテンツやアプリケーションによって、クラスタに属するコンテンツ自身のメタデータやその統計情報等を含ませるようにしてもよい。これらのクラスタデータが二分木構造データに関するデータとして、二分木データベース２７０に格納される。また、各コンテンツには、コンテンツＩＤとこのコンテンツが属するクラスタＩＤとがメタデータとして付加される。なお、クラスタＩＤをコンテンツのメタデータとして付加する場合には、Ｅｘｉｆ等のファイル領域を利用してコンテンツ自身に埋め込む方法が適しているものの、コンテンツのメタデータのみを別に管理するようにしてもよい。
【００６６】
なお、これらのクラスタデータのうちで、階層決定部２５２により決定されたクラスタに関するクラスタデータは、クラスタデータベース２８０に保存される。なお、階層決定部２５２により決定されるクラスタについては、図１３乃至図１７を参照して詳細に説明する。
【００６７】
次に、作成された複数のクラスタから所定の条件を満たすクラスタを決定する方法について図面を参照して詳細に説明する。
【００６８】
本発明の実施の形態では、クラスタリング処理により作成された各クラスタを、さらに所定の条件に基づいてグループ化する。これにより、ユーザの好みに応じた適切なコンテンツのグループを表示させることができる。例えば、以下に示す式１を用いて、二分木データベース２７０に格納されている二分木構造データにおける各ノードに対応するクラスタのクラスタ密度を求める。
ＤＣ＝ｎＣ／ＳＣ    ……（式１）
【００６９】
ここで、ＤＣは、クラスタＣの密度を示し、ｎＣは、クラスタＣに含まれるコンテンツの数を示し、ＳＣは、クラスタＣの面積を示す。なお、クラスタの面積ＳＣは、クラスタの有する半径に基づいて算出される。例えば、図１１に示す二分木においては、各ノードに対応するクラスタ７２１乃至７３４のそれぞれのクラスタ密度が求められる。
【００７０】
そして、求めた各クラスタ密度のうちで、以下に示すグループ化の条件式の一例である式２を満たすクラスタ密度に対応するクラスタを二分木データベース２７０から抽出して、抽出されたクラスタをグループとして決定して、このグループをクラスタデータベース２８０に格納する。この場合に、二分木データベース２７０に格納されている二分木構造データにおいて、下位の階層のノードから式２を満たすか否かを順次判断する。そして、各ノードのうちで式２を満たすノードが抽出される。
ＤＬ≦ＤＣ＜ＤＨ    ……（式２）
【００７１】
ここで、ＤＬおよびＤＨは、パラメータ定数であり、グループとして決定されるクラスタの密度の下限値および上限値である。例えば、パラメータ定数ＤＬおよびＤＨの値が比較的小さい値に設定された場合には、クラスタ密度ＤＣの比較的小さいクラスタが抽出される。一方、パラメータ定数ＤＬおよびＤＨの値が比較的大きい値に設定された場合には、クラスタ密度ＤＣの比較的大きいクラスタが抽出される。また、パラメータ定数ＤＬおよびＤＨの差の値が小さくなるように設定された場合には、クラスタ密度の値が比較的近いクラスタのみが抽出されるため、抽出されるクラスタの数が比較的少なくなる。一方、パラメータ定数ＤＬおよびＤＨの差の値が大きくなるように設定された場合には、クラスタ密度の値が比較的離れているクラスタも抽出されるため、抽出されるクラスタの数が比較的多くなる。
【００７２】
例えば、図１１に示す二分木においては、最も下位の階層のノードに対応するクラスタ７２１、７２４、７２６、７２９、７３０、７３１のそれぞれについて、求められたクラスタ密度が式２を満たすか否かが順次判断される。そして、クラスタ密度が式２を満たすクラスタが抽出される。この場合に、クラスタ７２１、７２４、７２６、７２９、７３０、７３１の中で、クラスタ密度が式２を満たさないクラスタが存在する場合には、このクラスタの上位の階層のノードに対応するクラスタに移動して、この移動後のクラスタのクラスタ密度が式２を満たすか否かが判断される。例えば、クラスタ７２１、７２４、７２６、７２９、７３０、７３１の中で、クラスタ７２６のクラスタ密度が式２を満たさず、他のクラスタのクラスタ密度は式２を満たす場合には、クラスタ７２１、７２４、７２９、７３０、７３１が抽出されるものの、クラスタ７２６は抽出されない。この場合には、クラスタ７２６の上位の階層のノードに対応するクラスタ７２７のクラスタ密度が式２を満たすか否かが判断される。そして、これを満たす場合には、クラスタ７２１、７２４、７２９、７３０、７３１とともに、クラスタ７２７が抽出される。一方、満たさない場合には、クラスタ７２７の上位の階層のノードに対応するクラスタ７２８のクラスタ密度が式２を満たすか否かが判断される。このように、クラスタ密度が式２を満たすクラスタについては順次抽出され、クラスタ密度が式２を満たさないクラスタについては、このクラスタの上位の階層のクラスタに移動して移動後のクラスタについてクラスタ密度が式２を満たす否かが順次判断される。
【００７３】
このように、クラスタの密度ＤＣがパラメータ定数ＤＬおよびＤＨの範囲内に入るクラスタを抽出し、抽出されたクラスタがグループとして出力される。なお、パラメータ定数ＤＬおよびＤＨについては、予め設定しておくようにしてもよい。また、パラメータ定数ＤＬについては、表示部１２０に表示されているグループ化条件設定バー１２１を移動させ、パラメータ定数ＤＨについては、グループ化条件設定バー１２２を移動させることによって、各パラメータ定数の値を変更し、ユーザが適宜設定するようにしてもよい。また、パラメータ定数ＤＬおよびＤＨの何れか１つを設定するようにしてもよい。
【００７４】
図１３および図１４は、上記式２のグループ化の条件式を用いて求められたグループに対応するクラスタと、このクラスタに属するコンテンツとの関係を示す図である。なお、図１３および図１４に示す丸は、１つのコンテンツを示し、図１４に示す二重丸は、同一の位置に複数のコンテンツが存在することを示す。
【００７５】
例えば、図１３に示すように、コンテンツ３７１乃至３７５がまばらに分布している地域では、大きなクラスタとしてグループ化される。また、パラメータ定数ＤＬおよびＤＨの値として比較的小さい値が設定される場合には、クラスタの密度ＤＣが比較的小さいクラスタに対応するグループが出力される。このため、例えば、図１３に示すように、まばらに分布しているコンテンツ３７１乃至３７５が属する大きなクラスタがグループ化される。
【００７６】
一方、図１４に示すように、同一の地点に複数のコンテンツが重複している場合や狭い地域に複数のコンテンツが密集している場合には、小さなクラスタとしてグループ化される。また、パラメータ定数ＤＬおよびＤＨの値として比較的大きい値が設定される場合には、クラスタの密度ＤＣが比較的小さいクラスタに対応するグループが出力される。このため、例えば、図１４に示すように、狭い地域に集中している複数のコンテンツが属する小さなクラスタ３８１乃至３８５がグループ化される。
【００７７】
以上では、クラスタリング処理により作成された各クラスタをグループ化するための条件として、クラスタ密度に基づいてグループ化する例について説明した。続いて、クラスタ密度以外のグループ化条件を用いて各クラスタをグループ化する例について説明する。ここでは、グループ化条件として、コンテンツの時間的な情報に基づいてグループ化する例について説明する。
【００７８】
例えば、以下に示すグループ化の条件式の一例である式３を満たすイベント数を含むクラスタを二分木データベース２７０から抽出して、抽出されたクラスタをグループとして決定して、このグループをクラスタデータベース２８０に格納する。
ＮＬ≦ＮＣ＜ＮＨ    ……（式３）
【００７９】
ここで、ＮＣは、クラスタＣに含まれるイベント数を示し、ＮＬおよびＮＨは、パラメータ定数である。なお、イベント数とは、時間的なまとまりを示す値であり、１つのクラスタに含まれるコンテンツのイベント数である。すなわち、１つのクラスタに含まれる画像コンテンツの中で、撮影された日が異なるものが多い場合には、イベント数が大きい値になり、そのクラスタはイベント数が大きいクラスタとなる。一方、１つのクラスタに多数の画像コンテンツが含まれている場合であっても、これらの画像コンテンツの撮影された日が同じ場合には、イベント数の値は１であり、そのクラスタはイベント数が小さいクラスタとなる。なお、イベント数は、クラスタデータに含まれるコンテンツリストのコンテンツＩＤに対応するコンテンツの撮影時刻等に基づいて求めることができる。
【００８０】
また、例えば、パラメータ定数ＮＬおよびＮＨの値が比較的小さい値に設定された場合には、イベント数の比較的少ないクラスタが抽出される。一方、パラメータ定数ＮＬおよびＮＨの値が比較的大きい値に設定された場合には、イベント数の比較的大きいクラスタが抽出される。また、パラメータ定数ＮＬおよびＮＨの差の値が小さくなるように設定された場合には、イベント数が比較的近いクラスタのみが抽出されるため、抽出されるクラスタの数が比較的少なくなる。一方、パラメータ定数ＮＬおよびＮＨの差の値が大きくなるように設定された場合には、イベント数が比較的離れているクラスタも抽出されるため、抽出されるクラスタの数が比較的多くなる。なお、二分木構造データからクラスタを抽出する方法については、式２を用いて抽出する方法と同様である。
【００８１】
このように、クラスタに含まれるイベント数ＮＣがパラメータ定数ＮＬおよびＮＨの範囲内に入るクラスタを抽出し、抽出されたクラスタがグループとして出力される。なお、パラメータ定数ＮＬおよびＮＨについては、予め設定しておくようにしてもよい。また、パラメータ定数ＮＬについては、表示部１２０に表示されているグループ化条件設定バー１２１を移動させ、パラメータ定数ＮＨについては、グループ化条件設定バー１２２を移動させることによって、各パラメータ定数の値を変更し、ユーザが適宜設定するようにしてもよい。また、パラメータ定数ＮＬおよびＮＨの何れか１つを設定するようにしてもよい。
【００８２】
図１５および図１６は、上記式３のグループ化の条件式を用いて求められたグループに対応するクラスタと、このクラスタに属するコンテンツとの関係を示す図である。なお、図１５および図１６に示す丸は、１０月１８日に撮影された画像（１０月１８日のイベント写真）であり、図１５および図１６に示す四角は、１２月５日に撮影された画像（１２月５日のイベント写真）であることを示す。また、同様に、図１６（ａ）に示すひし形等は、図１６（ｂ）に示す各イベントの日付に対応する日に撮影された画像であることを示す。
【００８３】
例えば、図１５に示すように、比較的多くのクラスタが分布している地域であっても、クラスタ３８６に含まれるコンテンツのイベント数が少ない（１０月１８日および１２月５日のみ）場合には、大きなクラスタとしてグループ化される。また、パラメータ定数ＮＬおよびＮＨの値として比較的大きい値が設定される場合には、イベント数ＮＣが比較的大きいクラスタに対応するグループが出力される。
【００８４】
一方、図１６に示すように、同一の地点に複数のコンテンツが重複している場合や狭い地域に複数のコンテンツが存在する場合であって、これらのコンテンツのイベントの日付が異なるものが多い場合には、小さなクラスタとしてグループ化される。また、パラメータ定数ＮＬおよびＮＨの値として比較的小さい値が設定される場合には、イベント数ＮＣが比較的小さいクラスタに対応するグループが出力される。
【００８５】
図１７は、グループ化されたクラスタと、クラスタサイズ、コンテンツの密度、および、イベント数との概略関係を示す図である。図１７では、画像コンテンツが撮影された場所に関する名称や略称を、この場所に対応して作成されたクラスタ３９１乃至３９８内に示す。なお、図１７に示すクラスタ３９１乃至３９８の形状および大きさについては、説明のために実際のものとは異なる。
【００８６】
例えば、ユーザが頻繁に訪れる場所を「自宅」、「学校」、「駅」、「近所の公園」とし、旅行等で数回訪れた場所を「函館」、「札幌」とし、旅行等で１回だけ訪れた場所を「アメリカ」、「メキシコ」とする。この場合において、ユーザが訪れる頻度が高く、狭い地域内で撮影される画像コンテンツが多く、撮影日時の数が多い「自宅」等の場所に対応するクラスタついては、比較的小さいクラスタがグループとして出力される。
【００８７】
一方、ユーザが訪れる頻度が低く、広い地域内で画像コンテンツが撮影され、撮影日時の数が少ない「アメリカ」等の場所に対応するクラスタついては、比較的大きいクラスタがグループとして出力される。また、旅行等で数回訪れた「函館」等については、これらの中間程度のクラスタがグループとして出力される。
【００８８】
一般的には、ユーザが頻繁に訪れる場所と、旅行等で１回だけ訪れた場所とでは、ユーザにとって適切なグループの範囲が異なることが多い。例えば、自宅内や近所の公園で撮影された子供の多数の写真については、自宅と公園との距離が１ｋｍも離れていない場合でも、自宅で撮影された写真と公園で撮影された写真とを分けて鑑賞したい場合が多い。一方、１度だけ行ったハワイ旅行については、ワイキキビーチで撮影された写真とホノルルのホテルで撮影された写真とが分かれている必要はなく、これらを一緒に観賞したい場合が多い。このような場合に、本発明の実施の形態によれば、ユーザによって撮影された画像をユーザにとって適切なグループに容易に分類することができる。これにより、ユーザの好みに応じた適切なコンテンツのグループを表示することができる。
【００８９】
図１８および図１９は、グループ化された画像コンテンツを表示する場合における表示例を示す図である。上述したように、二分木構造データからグループとして出力されたクラスタがクラスタデータベース２８０に保存される。そして、クラスタデータベース２８０に保存されるクラスタに対応するクラスタデータに基づいて、撮影画像データベース２３０に記録されている画像コンテンツが分類されて表示される。すなわち、クラスタデータベース２８０に保存されるクラスタに属する画像コンテンツが、クラスタ毎に表示される。例えば、図１８には、クラスタデータベース２８０に保存されるクラスタに属する画像コンテンツを地図上の左上部分、左下部分、右上部分、右下部分に、クラスタ毎に分類して表示する例を示す。なお、図１８（ａ）は、１つのクラスタに属する複数の画像コンテンツを重複して表示する例を示し、図１８（ｂ）は、１つのクラスタに属する複数の画像コンテンツのうちの１つの画像コンテンツのみを表示させ、この画像コンテンツの右上部分にフォルダアイコンを付加して表示する例を示す。パラメータ定数を調整することにより、図１８（ｂ）に示すように、グループ化された複数の画像コンテンツの重複を避けて表示するとともに、所定部分にフォルダアイコンを付加することによって、ユーザが観賞し易いユーザインタフェースを提供することができる。
【００９０】
また、図１９には、クラスタデータベース２８０に保存されるクラスタに属する画像コンテンツを地図上の真中部分と下部分に、クラスタ毎に分類して一列に表示する例を示す。この例では、場所を基準として各画像コンテンツがクラスタに分類されており、ユーザによって選択されたクラスタの列が真中部分に表示されている。また、このクラスタ列において、ユーザによって選択された画像が中央に表示されている。
【００９１】
図１８または図１９に示すように、画像コンテンツが分類されて表示がされている場合において、操作受付部１３０からの操作入力によりグループ化条件のパラメータ定数が変更された場合には、変更後のパラメータ定数によって出力されたクラスタに基づいて画像コンテンツが分類される。このため、操作受付部１３０からの操作入力によるパラメータ定数の変更によって表示が変化する。このように、パラメータ定数を変更することによって、適切な範囲の画像コンテンツをユーザに容易に提供することができる。
【００９２】
次に、上述したクラスタリング方法およびクラスタデータ作成方法の動作について図面を参照して説明する。
【００９３】
図２０は、撮像装置１００によるクラスタデータ作成処理の処理手順を示すフローチャートである。図２０では、写真画像を撮影してからクラスタデータをクラスタデータベースに格納するまでの動作を示す。なお、クラスタリング方法としては、多数のクラスタリング方法が存在するものの、ここでは、一般的なクラスタリングアルゴリズムである階層クラスタリングを用いた場合における動作について説明する。また、ここでは、クラスタ密度に基づいて各クラスタのグループ化を実行する場合について説明する。
【００９４】
最初に、撮影された画像データに対応するデジタルデータがキャプチャ部２１２によりデジタルデータに変換され、変換されたデジタルデータが撮影画像データベース２３０に出力される（ステップＳ９０１）。続いて、ＧＰＳ信号処理部２２０により位置情報が取得され（ステップＳ９０２）、撮影画像に対応するデジタルデータである画像コンテンツが撮影画像データベース２３０に記録される（ステップＳ９０３）。この場合に、コンテンツのＥｘｉｆタグには、ＧＰＳ信号処理部２２０により算出された位置情報や撮影時刻等の各種メタデータが記録される。
【００９５】
続いて、撮影画像データベース２３０に記録されている各コンテンツについての階層クラスタリング処理が実行される（ステップＳ９１０）。この階層クラスタリング処理については、図２１を参照して詳細に説明する。
【００９６】
階層クラスタリング処理により作成されたクラスタについてコンテンツ密度が算出される（ステップＳ９０４）。すなわち、二分木データベース２７０に格納されている二分木構造データにおける各ノードに対応する各クラスタについてコンテンツ密度が算出される。
【００９７】
続いて、算出されたコンテンツ密度に基づいて、二分木データベース２７０に格納されている二分木構造データにおける最も下位の階層のノードに対応するクラスタのクラスタ密度がパラメータ定数により定まる範囲内に含まれるか否かが判断される（ステップＳ９０５）。判断の対象となるクラスタのクラスタ密度がパラメータ定数により定まる範囲内に含まれていない場合には（ステップＳ９０５）、そのクラスタに対応するノードがルートノードであるか否かが判断される（ステップＳ９０７）。そのノードがルートノードである場合には（ステップＳ９０７）、決定されたノードに対応するクラスタが抽出され、このクラスタに対応するクラスタデータがクラスタデータベース２８０に出力されて記録され（ステップＳ９０９）、クラスタデータ作成処理手順の動作を終了する。
【００９８】
そのクラスタに対応するノードがルートノードでない場合には（ステップＳ９０７）、そのクラスタに対応するノード以外の他のノードに移動して（ステップＳ９０８）、移動後のクラスタのコンテンツ密度が算出され（ステップＳ９０４）、クラスタ密度がパラメータ定数により定まる範囲内に含まれるか否かが判断される（ステップＳ９０５）。なお、他のノードに移動する場合には、下位の階層のノードから上位の階層に順次移動する。
【００９９】
判断の対象となるクラスタのクラスタ密度がパラメータ定数により定まる範囲内に含まれる場合には（ステップＳ９０５）、そのクラスタに対応するノードがグループ化条件を満たすノードであると決定される（ステップＳ９０６）。続いて、決定されたノードがルートノードであるか否かが判断される（ステップＳ９０７）。
【０１００】
このように、二分木構造データにおけるノード決定処理を繰り返す（ステップＳ９０４乃至ステップＳ９０８）。すなわち、クラスタ密度がパラメータ定数より定まる範囲内に含まれるか否かが二分木構造データにおける下位の階層のノードから順次判断される。
【０１０１】
図２１は、撮像装置１００によるクラスタデータ作成の処理手順のうちの階層クラスタリング処理手順（図２０に示すステップＳ９１０の処理手順）を示すフローチャートである。なお、ステップＳ９１３で示す各クラスタ間の距離計算については、各種の計算方法が存在する。例えば、重心法（Centroid）、最短距離法、最長距離法、群間平均距離法、Ｗａｒｄ法等が広く知られている。ここでは、図４で示した計算方法を用いて説明するが、コンテンツに応じて、他の計算方法を用いるようにしてよい。
【０１０２】
最初に、撮影画像データベース２３０からコンテンツが取得される（ステップＳ９１１）。続いて、取得されたコンテンツのＥｘｉｆタグに記録されている撮影位置情報が取得され（ステップＳ９１２）、取得された撮影位置情報に基づいて、各コンテンツ間の距離が計算される（ステップＳ９１３）。続いて、計算して求められた各コンテンツ間の距離に基づいて、クラスタが作成される。そして、各クラスタ間および各コンテンツ間の距離が順次計算され、これらの計算結果に基づいて、二分木構造データが作成される（ステップＳ９１４）。例えば、図１０に示す二分木に対応する二分木構造データが作成される。
【０１０３】
続いて、クラスタリングされていないコンテンツが存在するか否かが判断され（ステップＳ９１５）、クラスタリングされていないコンテンツが存在する場合には、ステップＳ９１１に進み、二分木作成処理を繰り返す（ステップＳ９１１乃至Ｓ９１５）。なお、二分木構造データが作成された後に、クラスタリングされていないコンテンツが存在する場合について、ステップＳ９１１乃至Ｓ９１５に示す二分木作成処理以外の作成方法を、図２５乃至図２８を参照して詳細に説明する。
【０１０４】
クラスタリングされていないコンテンツが存在しない場合には（ステップＳ９１５）、作成された二分木構造データが二分木データベース２７０に格納され（ステップＳ９１６）、階層クラスタリング処理手順の動作を終了する。
【０１０５】
次に、階層クラスタリング方法について図面を参照して詳細に説明する。
【０１０６】
ここで示す階層クラスタリング方法の基本的な流れは、最短距離法等の従来の凝集型階層的クラスタリングと同様に、最初は、全ての入力データをそれぞれ別々のクラスタに属するようにする。すなわち、１つのクラスタに１つの要素が含まれるようにする。そして、最も距離の小さい２つのクラスタを順次併合していき、最終的には、各入力データを１つのクラスタに併合する。
【０１０７】
なお、本発明の実施の形態における階層的クラスタリング方法と、従来の階層的クラスタリング方法との主な違いは、それぞれのクラスタの代表値と、各クラスタ間の距離の計算方法である。
【０１０８】
ここで、全入力データ数をｎとした場合、最初に、１つのクラスタに各入力データが１つの要素として属するようにクラスタが設定され、全体でｎ個のクラスタが作成される。なお、各クラスタは、属性値として、中心点Ｃおよび半径ｒを有し、中心点Ｃの初期値はデータの座標値であり、半径ｒの初期値は０である。
【０１０９】
そして、クラスタに属する全要素について、クラスタ中心Ｃから各要素までの距離が、半径ｒ以下になるように、クラスタ中心Ｃと半径ｒとが決定される。すなわち、中心点Ｃおよび半径ｒで定まる球の内部に、クラスタに属する全要素が含まれることとなる。
【０１１０】
クラスタ間の距離を、以下のように定める。
【０１１１】
クラスタｉおよびクラスタｊを併合してクラスタｋが作成される場合において、クラスタｉおよびクラスタｊの間の距離ｄ（ｉ，ｊ）は、以下の式４および式５で求めることができる。
ｄ（ｉ，ｊ）＝ｒ（ｋ）−ｒ（ｉ）−ｒ（ｊ）  （ｒ（ｋ）≧ｒ（ｉ）＋ｒ（ｊ））……（式４）
ｄ（ｉ，ｊ）＝０  （ｒ（ｋ）＜ｒ（ｉ）＋ｒ（ｊ））……（式５）
【０１１２】
なお、ｒ（ｉ）は、クラスタｉの半径である。すなわち、クラスタ間距離はクラスタを併合した場合の半径の増分である。
【０１１３】
距離の増分をクラスタ間の距離と定める方法はｗａｒｄ法の考え方と似ており、ｗａｒｄ法では、以下の式６を用いて、クラスタｉおよびクラスタｊの間の距離ｄ（ｉ，ｊ）を求める。
ｄ（ｉ，ｊ）＝Ｅ（ｋ）−Ｅ（ｉ）−Ｅ（ｊ）……（式６）
【０１１４】
なお、Ｅ（）は、クラスタに含まれる要素の二乗誤差である。
【０１１５】
次に、２つのクラスタが併合された後の併合後のクラスタの中心点および半径を求める方法について説明する。
【０１１６】
図２２は、２つのクラスタを併合する場合における各クラスタに属する要素の包含関係を示す図である。
【０１１７】
２つのクラスタを併合する場合には、クラスタに属する要素の包含関係に応じて、以下の（１）乃至（３）の３つのパターンに場合分けをする。
（１）  ｍ（ｉ）⊃ｍ（ｊ）
（２）  ｍ（ｊ）⊃ｍ（ｉ）
（３）  上記以外
【０１１８】
なお、ｍ（ｉ）はクラスタｉに属する全要素の集合を示し、ｍ（ｊ）はクラスタｊに属する全要素の集合を示す。
【０１１９】
上記（１）のｍ（ｉ）⊃ｍ（ｊ）は、図２２（ａ）に示すように、クラスタｊ（６０２）に属する全ての要素が、クラスタｉ（６０１）に属することを示す。
【０１２０】
上記（２）のｍ（ｊ）⊃ｍ（ｉ）は、図２２（ｂ）に示すように、クラスタｉ（６０３）に属する全ての要素が、クラスタｊ（６０４）に属することを示す。
【０１２１】
上記（３）は、上記（１）および（２）以外の場合であり、例えば、クラスタｉ（６０５）およびクラスタｊ（６０６）の包含関係が、図２２（ｃ）に示す関係の場合である。
【０１２２】
上記（１）乃至（３）の場合分けは、クラスタｉおよびクラスタｊの各中心点の座標および各半径に基づいて求められる。例えば、クラスタｉの中心点の座標Ｃ（ｉ）から半径ｒ（ｉ）の球が、中心点の座標Ｃ（ｊ）および半径ｒ（ｊ）で構成される球からなるクラスタｊを全て含む場合には、図２２（ａ）に示すように、上記（１）の関係が成立する。
【０１２３】
すなわち、ｒ（ｉ）≧ｒ（ｊ）＋ｌ（ｉ，ｊ）となる場合には、上記（１）の関係が成立する。ここで、ｌ（ｉ，ｊ）は、以下の式７に示すように、クラスタｉおよびクラスタｊの中心点間のユークリッド距離である。
ｌ（ｉ，ｊ）＝｜Ｃ（ｉ）−Ｃ（ｊ）｜……（式７）
【０１２４】
ここで、データの次元をｄｉｍとすると、ｌ（ｉ，ｊ）は、以下の式８により表される。
【数１】
2008250605.tif 000003
【０１２５】
ここで、ｃ（ｉ，ｋ）は、クラスタｉの中心値属性のｋ番目の値である。
【０１２６】
併合後のクラスタｋの中心点および半径は、クラスタｉのものがそのまま使われる。
【０１２７】
上記（２）の場合については、上記（１）の場合において、「ｉ」と「ｊ」とを入れ換えて同様に求めることができる。
【０１２８】
上記（３）の場合は、図２２（ｃ）に示すように、クラスタｉ（６０５）の球およびクラスタｊ（６０６）の球を含む最小の球によって、クラスタｋ（６０７）が作成される。クラスタｋ（６０７）の半径は、以下の式９を用いて求めることができる。また、クラスタｋの中心点は、以下の式１０を用いて求めることができる。
ｒ（ｋ）＝（ｌ（ｉ，ｊ）＋ｒ（ｉ）＋ｒ（ｊ））／２……（式９）
Ｃ（ｋ）＝（（ｒ（ｉ）−ｒ（ｊ）＋ｌ（ｉ，ｊ））＊Ｃ（ｉ）＋（ｒ（ｊ）−ｒ（ｉ）＋ｌ（ｉ，ｊ））＊Ｃ（ｊ））／（２＊ｌ（ｉ，ｊ））……（式１０）
【０１２９】
なお、クラスタｋの中心点は、Ｃ（ｉ）およびＣ（ｊ）を結ぶ直線上に存在する。
【０１３０】
次に、上記で示したクラスタリング処理について実際にｎ個のデータを入力する場合について図面を参照して詳細に説明する。
【０１３１】
図２３は、撮像装置１００によるクラスタリング処理の処理手順を示すフローチャートである。ここでは、ｄｉｍ次元のｎ個のデータＸ（ｉ）（ｉ＝０，…[0]，ｎ−１）を入力して、データＸ（ｉ）をクラスタリングする場合における処理を示す。また、ワーク領域を、
ｄｉｍ次元の中心値のｎ個  Ｃ（ｉ）  （ｉ＝０，…[0]，ｎ−１）
ｎ個の半径                ｒ（ｉ）  （ｉ＝０，…[0]，ｎ−１）
ｎ個のフラグ          ｆｌｇ（ｉ）  （ｉ＝０，…[0]，ｎ−１）
とする。
【０１３２】
最初に、要素数ｎとして、クラスタ数ｎｃ、全クラスタの中心値をそれぞれの要素の座標に、全クラスタの半径を０に初期化して、クラスタの有効フラグｆｌｇ（ｉ）を初期化する（ステップＳ９２０）。
Ｃ（ｉ）＝Ｘ（ｉ）  （ｉ＝０，…，ｎ−１）
ｒ（ｉ）＝０  （ｉ＝０，…，ｎ−１）
ｆｌｇ（ｉ）＝ｔｒｕｅ  （ｉ＝０，…，ｎ−１）
ｎｃ＝ｎ
【０１３３】
続いて、ｎ個のクラスタＣ（ｉ）の中で、クラスタ間の距離が最小のクラスタの組み合わせを抽出する（ステップＳ９２１）。この場合に、ｆｌｇ（ｉ）、ｆｌｇ（ｊ）がともに「ｔｒｕｅ」なものに関して、ｄ（ｉ，ｊ）（ｉ＝０，…，ｎ−１、ｊ＝０，…，ｎ−１、ｉ＜ｊ）が最小となるｉ、ｊをそれぞれｍｉｎｉ、ｍｉｎｊとする。
【０１３４】
続いて、求められたクラスタｍｉｎｉおよびクラスタｍｉｎｊを併合する（ステップＳ９２５）。このクラスタの併合処理については、図２４に示すフローチャートを用いて詳細に説明する。この併合処理の後に、クラスタｍｉｎｊに対応する有効フラグｆｌｇ（ｍｉｎｊ）が無効（ｆａｌｓｅ）にされる（ステップＳ９２２）。
【０１３５】
続いて、ｎｃから「１」を減算した後に（ステップＳ９２３）、ｎｃが「１」よりも大きいか否かが判断される（ステップＳ９２４）。ｎｃが「１」よりも大きい場合には（ステップＳ９２４）、ステップＳ９２１に進み、クラスタリング処理を繰り返す（ステップＳ９２１乃至ステップＳ９２３）。ｎｃが「１」以下である場合には（ステップＳ９２４）、クラスタリング処理の動作を終了する。
【０１３６】
図２４は、撮像装置１００によるクラスタリング処理の処理手順のうちのクラスタの併合処理手順（図２３に示すステップＳ９２４の処理手順）を示すフローチャートである。この処理は、ｉを「ｍｉｎｉ」とし、ｊを「ｍｉｎｊ」とし、ｋを「ｍｉｎｉ」として、併合後のクラスタの中心点Ｃ（ｋ）および半径ｒ（ｋ）を求める処理である。
【０１３７】
最初に、「ｖｊｉ＝ｒ（ｊ）−ｒ（ｉ）＋ｌ（ｉ，ｊ）」が「０」以下であるか否かが判断される（ステップＳ９２６）。「ｖｊｉ＝ｒ（ｊ）−ｒ（ｉ）＋ｌ（ｉ，ｊ）」が「０」以下である場合には（ステップＳ９２６）、Ｃ（ｋ）＝Ｃ（ｉ）、ｒ（ｋ）＝ｒ（ｉ）と設定される（ステップＳ９２７）。
【０１３８】
一方、「ｖｊｉ＝ｒ（ｊ）−ｒ（ｉ）＋ｌ（ｉ，ｊ）」が「０」以下でない場合には（ステップＳ９２６）、「ｖｉｊ＝ｒ（ｉ）−ｒ（ｊ）＋ｌ（ｉ，ｊ）」が「０」以下であるか否かが判断される（ステップＳ９２８）。「ｖｉｊ＝ｒ（ｉ）−ｒ（ｊ）＋ｌ（ｉ，ｊ）」が「０」以下である場合には（ステップＳ９２８）、Ｃ（ｋ）＝Ｃ（ｊ）、ｒ（ｋ）＝ｒ（ｊ）と設定される（ステップＳ９２９）。
【０１３９】
「ｖｉｊ＝ｒ（ｉ）−ｒ（ｊ）＋ｌ（ｉ，ｊ）」が「０」以下でない場合には（ステップＳ９２８）、Ｃ（ｋ）＝（ｖｉｊ＊Ｃ（ｉ）＋ｖｊｉ＊Ｃ（ｊ））／（２＊ｌ（ｉ，ｊ））、ｒ（ｋ）＝（ｌ（ｉ，ｊ）＋ｒ（ｉ）＋ｒ（ｊ））／２と設定される（ステップＳ９３０）。
【０１４０】
次に、図２３および図２４で示したクラスタリング処理により画像データをクラスタリングする場合における具体例について図面を参照して説明する。ここでは、２次元（ｄｉｍ＝２）に配置されている８個のデータ（ｎ＝８）をクラスタリングする場合について説明する。
【０１４１】
図２５乃至図３２は、ｘｙ座標上に配置された８個のデータ４００乃至４０７をクラスタリングする場合における遷移を示す図である。また、図３３乃至図３９は、データ４００乃至４０７がクラスタリングされる場合における各クラスタの属性値および各クラスタ間の距離を示す図である。図２５乃至図３２に示すｘｙ座標において、データ４００の座標は（０，０）とし、データ４０１の座標は（１０，０）とし、データ４０２の座標は（３５，０）とし、データ４０３の座標は（５１，０）とし、データ４０４の座標は（５０，８０）とし、データ４０５の座標は（５０，６０）とし、データ４０６の座標は（９０，５０）とし、データ４０７の座標は（９０，２０）とする。
【０１４２】
また、図３３乃至図３９に示す表４２１、４２３、４２５、４２７、４２９、４３１、４３３、４３４には、データ４００乃至４０７がクラスタリングされる場合における各クラスタのクラスタ番号０乃至７と、各クラスタの半径ｒと、各クラスタの中心座標のｘ座標ｃｘおよびｙ座標ｃｙとを示す。なお、これらの表においては、上述したクラスタの有効フラグｆｌｇの真偽の項目を除いて示す。
【０１４３】
また、図３３乃至図３９に示す表４２２、４２４、４２６、４２８、４３０、４３２には、データ４００乃至４０７がクラスタリングされる場合における各クラスタ間の距離ｄ（ｉ，ｊ）を示す。
【０１４４】
最初に、ｘｙ座標上に配置された８個の全データ４００乃至４０７が１つずつのクラスタに割り当てられる。すなわち、図３３（ａ）に示すように、データ４００乃至４０７が各クラスタ番号０乃至７に割り当てて表４２１に格納される（ステップＳ９２０）。
【０１４５】
続いて、図３３（ａ）に示す表４２１に格納されている各クラスタ間の距離が計算され、クラスタ間の距離が最小となる２つのクラスタが抽出される（ステップＳ９２１）。図３３（ｂ）に示す表４２２には、各クラスタ間の距離ｄ（ｉ，ｊ）が計算された結果を示す。表４２２に示すように、クラスタ間の距離が最小となる２つのクラスタ（ｍｉｎｉ、ｍｉｎｊ）は、クラスタ間の距離が５（ｄ（０，１）＝５）であるクラスタ番号０およびクラスタ番号１（ｍｉｎｉ＝０，ｍｉｎｊ＝１）のクラスタである。このため、クラスタ番号０およびクラスタ番号１の２つのクラスタが抽出される。
【０１４６】
続いて、クラスタ番号０およびクラスタ番号１のクラスタを併合する（ステップＳ９２４）。ここで、クラスタ番号０およびクラスタ番号１のクラスタについて、ｌ（ｉ，ｊ）＝１０、ｒ（ｉ）＝０、ｒ（ｊ）＝０、ｖｊｉ＝１０、ｖｊｉ＝１０であるため、図２４で示したクラスタの併合処理により、ステップＳ９２９に進み、以下の通りＣ（ｋ）およびｒ（ｋ）が求められる。
Ｃ（ｋ）＝（ｖｉｊ＊Ｃ（ｉ）＋ｖｊｉ＊Ｃ（ｊ））／（２＊ｌ（ｉ，ｊ））
＝（１０＊Ｃ（ｉ）＋１０＊Ｃ（ｊ））／（２＊１０）
＝｛（１０＊０＋１０＊１０）／（２＊１０），（０＊０＋０＊１０）／（２＊１０）｝
＝｛５，０｝
ｒ（ｋ）＝（ｌ（ｉ，ｊ）＋ｒ（ｉ）＋ｒ（ｊ））／２
＝（１０＋０＋０）／２
＝５
【０１４７】
また、ｋ＝０である。これにより、図３４（ａ）に示す表４２３が得られる。また、図２６に示すように、クラスタ４１１が作成される。
【０１４８】
続いて、ｎｃから「１」を減算する（ステップＳ９２２）。すなわち、ｎｃ＝８からｎｃ＝７にする。
【０１４９】
続いて、ｎｃが「１」よりも大きいか否かが判断される（ステップＳ９２３）。この場合には、ｎｃ＝７であるため、ステップＳ９２１に進み、クラスタリング処理を繰り返す（ステップＳ９２１乃至ステップＳ９２２）。
【０１５０】
例えば、図３４（ａ）の表４２３に格納されている各クラスタ間の距離が、図３４（ｂ）の表４２４に示すように計算される。そして、表４２４に示すように、クラスタ間の距離が最小となる２つのクラスタは、クラスタ間の距離が８（ｄ（２，３）＝８）であるクラスタ番号２およびクラスタ番号３のクラスタである。このため、クラスタ番号２およびクラスタ番号３の２つのクラスタにより、図２７に示すように、クラスタ４１２が作成される。
【０１５１】
続いて、図３５（ａ）の表４２５に格納されている各クラスタ間の距離が、図３５（ｂ）の表４２６に示すように計算される。そして、表４２６に示すように、クラスタ間の距離が最小となる２つのクラスタは、クラスタ間の距離が１０（ｄ（４，５）＝１０）であるクラスタ番号４およびクラスタ番号５のクラスタである。このため、クラスタ番号４およびクラスタ番号５の２つのクラスタにより、図２８に示すように、クラスタ４１３が作成される。
【０１５２】
続いて、図３６（ａ）の表４２７に格納されている各クラスタ間の距離が、図３６（ｂ）の表４２８に示すように計算される。そして、表４２８に示すように、クラスタ間の距離が最小となる２つのクラスタは、クラスタ間の距離が１２．５（ｄ（０，２）＝１２．５）であるクラスタ番号０およびクラスタ番号２のクラスタである。このため、クラスタ番号０およびクラスタ番号２の２つのクラスタにより、図２９に示すように、クラスタ４１４が作成される。
【０１５３】
続いて、図３７（ａ）の表４２９に格納されている各クラスタ間の距離が、図３７（ｂ）の表４３０に示すように計算される。そして、表４３０に示すように、クラスタ間の距離が最小となる２つのクラスタは、クラスタ間の距離が１５（ｄ（６，７）＝１５）であるクラスタ番号６およびクラスタ番号７のクラスタである。このため、クラスタ番号６およびクラスタ番号７の２つのクラスタにより、図３０に示すように、クラスタ４１５が作成される。
【０１５４】
続いて、図３８（ａ）の表４３１に格納されている各クラスタ間の距離が、図３８（ｂ）の表４３２に示すように計算される。そして、表４３２に示すように、クラスタ間の距離が最小となる２つのクラスタは、クラスタ間の距離が１４．０７５４（ｄ（４，６）＝１４．０７５４）であるクラスタ番号４およびクラスタ番号６のクラスタである。このため、クラスタ番号４およびクラスタ番号６の２つのクラスタにより、図３１に示すように、クラスタ４１６が作成される。
【０１５５】
続いて、最後に残ったクラスタ番号０およびクラスタ番号４の２つのクラスタにより、図３２に示すように、クラスタ４１７が作成される。図３９（ａ）の表４３３には、クラスタ４１７の作成前（図３１に示す状態）のクラスタ番号とクラスタの属性値とを示し、図３９（ｂ）の表４３４には、クラスタ４１７の作成後のクラスタ番号とクラスタの属性値とを示す。
【０１５６】
次に、画像データであるコンテンツを二分木構造データに格納する動作について図面を参照して詳細に説明する。上述したクラスタリング処理では、画像データであるコンテンツがクラスタリングされてクラスタが作成され、このクラスタに対応する二分木構造データが作成された。このクラスタリング処理を用いて、既に作成されている二分木構造データに、新規のコンテンツを格納する場合には、この新規のコンテンツとともに、既に二分木構造データが作成されているコンテンツに関しても、クラスタリング処理を実行してクラスタを作成し、二分木構造データを作成する必要がある。例えば、ｎ個のコンテンツについて、既に作成されている二分木構造データを用いずに、二分木構造データを作成する場合には、ｎの三乗のオーダの時間を要するため、処理時間が長くなってしまう。そこで、この処理時間を短縮させるために、以下で示す例では、既に作成されている二分木構造データを用いて、新規のコンテンツを格納する方法を示す。
【０１５７】
ここで、二分木は、ノードおよびアークを有する。また、各ノードは子ノードまたはリーフを有し、これらの子ノードまたはリーフをｌｅｆｔ（）およびｒｉｇｈｔ（）で示す。例えば、ノードａの２つの子ノードをｌｅｆｔ（ａ）およびｒｉｇｈｔ（ａ）で示す。この場合に、ｌｅｆｔ（ａ）をノードａの第１番目の子供とし、ｒｉｇｈｔ（ａ）をノードａの第２番目の子供とする。また、ｐａｒｅｎｔ（ａ）[0]はノードａの親ノードを示す。さらに、ｂｒｏｔｈｅｒ（ａ）は、ノードａの兄弟（親から見た他方の子供）を示す。すなわち、ｌｅｆｔ（ｐａｒｅｎｔ（ａ））＝ａならば、ｂｒｏｔｈｅｒ（ａ）はｒｉｇｈｔ（ｐａｒｅｎｔ（ａ））であり、ｒｉｇｈｔ（ｐａｒｅｎｔ（ａ））＝ａならば、ｂｒｏｔｈｅｒ（ａ）はｌｅｆｔ（ｐａｒｅｎｔ（ａ））である。ｈｅａｄ（Ｓ）は、集合Ｓの一番目の要素を示す。また、二分木のルートノードは、ノードのうちで一番上位の階層のノードを意味する。また、ｃｅｎｔｅｒ（ａ）は、ノードａに対応するクラスタの中心位置を示す。
【０１５８】
また、各ノードは、ノードと一対一に対応するクラスタの属性値である半径および中心点を有する。例えば、ノードに対応するクラスタａの半径をｒ（ａ）で示し、クラスタａの中心点をｃｅｎｔｅｒ（ａ）で示す。このクラスタの属性値によって、各ノードの中心点からの半径で表される超球なクラスタを示すことができる。なお、この超球の内側がクラスタ領域である。また、ｄ（ａ，ｂ）は、ノードに対応するクラスタａおよびクラスタｂ間のユークリッド距離を示す
【０１５９】
図４０は、撮像装置１００による二分木作成処理の処理手順を示すフローチャートである。この例では、入力データとして画像Ｘ（ｉ）を用いて、Ｎ（≧２）個の画像Ｘ（ｉ）（ｉ＝１、…、Ｎ）が入力され、このＮ個の画像Ｘ（ｉ）がクラスタリングされた二分木構造データとして出力される場合について説明する。
【０１６０】
最初に、Ｎ個の画像Ｘ（ｉ）が入力される（ステップＳ９３１）。入力されたＮ個の画像Ｘ（ｉ）の中の１、２番目の画像である画像Ｘ（１）および画像Ｘ（２）を子ノードとするノードｍが作成される（ステップＳ９３２）。すなわち、ｌｅｆｔ（ｍ）をＸ（１）とし、ｒｉｇｈｔ（ｍ）をＸ（２）とする。
【０１６１】
続いて、Ｎが「２」以下であるか否かが判断され（ステップＳ９３３）、Ｎが「２」以下である場合には、二分木構造データの作成を終了する。一方、Ｎが「２」以下でない場合には（ステップＳ９３３）、ｉに３が設定される（ステップＳ９３４）。続いて、画像Ｘ（ｉ）をノードｎとして（ステップＳ９３５）、既存のツリー挿入処理が実行される（ステップＳ９４０）。この既存のツリー挿入処理については、図４１を参照して詳細に説明する。
【０１６２】
続いて、ｉに「１」が加算される（ステップＳ９３７）。続いて、ｉ≦Ｎであるか否かが判断され（ステップＳ９３８）、ｉ≦Ｎである場合には、ステップＳ９３５以降の処理を繰り返す。
【０１６３】
一方、ｉ≦Ｎでない場合（すなわち、ｉ＞Ｎである場合）には、二分木作成処理の動作を終了する。
【０１６４】
図４１は、撮像装置１００による二分木作成処理の処理手順のうちの既存のツリー挿入処理手順（図４０に示すステップＳ９４０の処理手順）を示すフローチャートである。
【０１６５】
この例では、画像Ｘ（ｉ）に対応するノードｎが入力されるとともに既存の二分木構造データが入力され、このノードｎが挿入された二分木構造データが出力される場合について説明する。
【０１６６】
最初に、ノードｎおよび既存の二分木構造データが入力される（ステップＳ９４１）。続いて、既存の二分木構造データのルートノードとしてノードａが設定される（ステップＳ９４２）。続いて、ノードｎがルートノードａに対応するクラスタの球内に存在するか否かが判断される（ステップＳ９４３）。すなわち、ｄ（ｃｅｎｔｅｒ（ａ），ｎ）＜ｒ（ａ）であるか否かが判断される。そして、ノードｎがルートノードａに対応するクラスタの球内に存在しない場合には（ステップＳ９４３）、ルートノードａおよびノードｎを子供とするノードｍが作成される（ステップＳ９４４）。すなわち、ｌｅｆｔ（ｍ）としてノードａが設定され、ｒｉｇｈｔ（ｍ）としてノードｎが設定される。
【０１６７】
一方、ノードｎがルートノードａに対応するクラスタの球内に存在する場合には（ステップＳ９４３）、ルートノードａの２つの子ノードがノードｂおよびノードｃとして設定される（ステップＳ９４５）。すなわち、ｌｅｆｔ（ａ）としてノードｂが設定され、ｒｉｇｈｔ（ａ）としてノードｃが設定される。
【０１６８】
続いて、ノードｎがノードｂに対応するクラスタの球内に存在し、かつ、ノードｎがノードｃに対応するクラスタの球内に存在するか否かが判断される（ステップＳ９４６）。すなわち、ｄ（ｃｅｎｔｅｒ（ｂ），ｎ）＜ｒ（ｂ）  および  ｄ（ｃｅｎｔｅｒ（ｃ），ｎ）＜ｒ（ｃ）であるか否かが判断される（ステップＳ９４６）。
【０１６９】
ノードｎがノードｂに対応するクラスタの球内に存在し、かつ、ノードｎがノードｃに対応するクラスタの球内に存在する場合には（ステップＳ９４６）、ステップＳ９５１に進む。一方、ノードｎがノードｂに対応するクラスタの球内に存在しない場合、または、ノードｎがノードｃに対応するクラスタの球内に存在しない場合には（ステップＳ９４６）、ノードｎがノードｂに対応するクラスタの球内に存在するか否かが判断される（ステップＳ９４７）。すなわち、ｄ（ｃｅｎｔｅｒ（ｂ），ｎ）＜ｒ（ｂ）であるか否かが判断される。ノードｎがノードｂに対応するクラスタの球内に存在する場合には（ステップＳ９４７）、ノードｂをノードａとして（ステップＳ９４８）、ステップＳ９４３乃至ステップＳ９４７の処理を繰り返す。一方、ノードｎがノードｂに対応するクラスタの球内に存在しない場合には（ステップＳ９４７）、ノードｎがノードｃに対応するクラスタの球内に存在するか否かが判断される（ステップＳ９４９）。すなわち、ｄ（ｃｅｎｔｅｒ（ｃ），ｎ）＜ｒ（ｃ）であるか否かが判断される。ノードｎがノードｃに対応するクラスタの球内に存在する場合には（ステップＳ９４９）、ノードｃをノードａとして（ステップＳ９５０）、ステップＳ９４３乃至ステップＳ９４９の処理を繰り返す。
【０１７０】
一方、ノードｎがノードｃに対応するクラスタの球内に存在しない場合には（ステップＳ９４９）、ｍｉｎ｛ｄ（ｎ，ｌｅｆｔ（ｂ）），ｄ（ｎ，ｒｉｇｈｔ（ｂ））｝≦ｍｉｎ｛ｄ（ｎ，ｌｅｆｔ（ｃ）），ｄ（ｎ，ｒｉｇｈｔ（ｃ））｝であるか否かが判断される（ステップＳ９５１）。すなわち、ノードｂの２つの子ノード（ｌｅｆｔ（ｂ）,ｒｉｇｈｔ（ｂ））とノードｎとの距離のうちで小さい方の値が、ノードｃの２つの子ノード（ｌｅｆｔ（ｃ）,ｒｉｇｈｔ（ｃ））とノードｎとの距離のうちで小さい方の値以下であるか否かが判断される。ｍｉｎ｛ｄ（ｎ，ｌｅｆｔ（ｂ）），ｄ（ｎ，ｒｉｇｈｔ（ｂ））｝≦ｍｉｎ｛ｄ（ｎ，ｌｅｆｔ（ｃ）），ｄ（ｎ，ｒｉｇｈｔ（ｃ））｝である場合には（ステップＳ９５１）、ノードｂとノードａとの間にノードｎを挿入して、ノードｎとノードｂとで新規ノードｍが作成される（ステップＳ９５３）。すなわち、ｌｅｆｔ（ｍ）をノードｎとし、ｒｉｇｈｔ（ｍ）をノードｂとする。また、ｌｅｆｔ（ａ）をノードｍとする。
【０１７１】
一方、ｍｉｎ｛ｄ（ｎ，ｌｅｆｔ（ｂ）），ｄ（ｎ，ｒｉｇｈｔ（ｂ））｝＞ｍｉｎ｛ｄ（ｎ，ｌｅｆｔ（ｃ）），ｄ（ｎ，ｒｉｇｈｔ（ｃ））｝である場合には（ステップＳ９５１）、ノードｃとノードａとの間にノードｎを挿入して、ノードｎとノードｃとで新規ノードｍが作成される（ステップＳ９５２）。すなわち、ｌｅｆｔ（ｍ）をノードｎとし、ｒｉｇｈｔ（ｍ）をノードｃとする。また、ｌｅｆｔ（ａ）をノードｍとする。
【０１７２】
続いて、部分分割挿入処理が実行される（ステップＳ９６０）。この部分分割挿入処理については、図４２を参照して詳細に説明する。
【０１７３】
続いて、部分分割挿入処理により作成された二分木構造データ（戻りツリー）のルートノードの子ノードを、ノードａに置き換える（ステップＳ９５５）。すなわち、ｒｉｇｈｔ（戻りツリー）をｒｉｇｈｔ（ａ）とし、ｌｅｆｔ（戻りツリー）をｌｅｆｔ（ａ）とする。
【０１７４】
続いて、クラスタツリー再構築処理が実行される（ステップＳ９８０）。このクラスタツリー再構築処理については、図４３を参照して詳細に説明する。
【０１７５】
図４２は、撮像装置１００による二分木作成処理の処理手順のうちの部分分割挿入処理手順（図４１に示すステップＳ９６０の処理手順）を示すフローチャートである。
【０１７６】
この例では、二分木構造データおよびノードａが入力され、修正された二分木構造データが出力される場合について説明する。
【０１７７】
最初に、二分木構造データおよびノードａが入力される（ステップＳ９６１）。
【０１７８】
続いて、ノードａの子ノードに対応するクラスタが含まれるクラスタ集合Ｓが設定される（ステップＳ９６２）。すなわち、クラスタ集合Ｓ＝（ｌｅｆｔ（ａ），ｒｉｇｈｔ（ａ））である。
【０１７９】
続いて、クラスタ集合Ｓの要素ｓの中で最大の半径を有するクラスタであるクラスタｓｍａｘを抽出する（ステップＳ９６３）。すなわち、ｓｍａｘ＝ａｒｇｍａｘ（ｒ（ｓ））である。
【０１８０】
続いて、クラスタ集合Ｓから、クラスタｓｍａｘを取り除き、クラスタｓｍａｘの子ノードに対応するクラスタをクラスタ集合Ｓに加える（ステップＳ９６４）。すなわち、「（Ｓ−ｓｍａｘ）∪ｌｅｆｔ（ｓｍａｘ）∪ｒｉｇｈｔ（ｓｍａｘ）」をクラスタ集合Ｓとする。
【０１８１】
続いて、クラスタ集合Ｓに含まれる各クラスタの球内にノードｎが含まれる集合をＳｄとする（ステップＳ９６５）。すなわち、Ｓｄ＝｛Ｓｉ｜ｄ（ｃｅｎｔｅｒ（Ｓｉ），ｎ）＜ｒ（Ｓｉ）｝である。
【０１８２】
続いて、集合Ｓｄの要素数が１以上であるか否かが判断される（ステップＳ９６６）。集合Ｓｄの要素数が１以上である場合には（ステップＳ９６６）、ステップＳ９６３に進む。
【０１８３】
一方、集合Ｓｄの要素数が０である場合には（ステップＳ９６６）、クラスタ集合Ｓとノードｎとが入力データとして設定され（ステップＳ９６７）、図２３に示すクラスタリング処理が実行され（ステップＳ９００）、二分木構造データが作成される。
【０１８４】
図４３は、撮像装置１００による二分木作成処理の処理手順のうちのクラスタツリー再構築処理手順（図４１に示すステップＳ９８０の処理手順）を示すフローチャートである。
【０１８５】
このクラスタツリー再構築処理は、ノードａの兄弟ノードが、ノードａと重ならないように、子ノードを分割したノード集合Ｓｂを求めた後に、二分木構造データを作成する処理である。また、この例では、二分木構造データおよびノードａが入力され、修正された二分木構造データが出力される場合について説明する。
【０１８６】
最初に、二分木構造データおよびノードａが入力される（ステップＳ９８１）。続いて、ノード集合Ｓの要素にノードａを入れ、ノード集合Ｓｂを空にして、ノードａをノードｐとする（ステップＳ９８１）。
【０１８７】
続いて、ノードｐの兄弟ノードをノード集合Ｓｂに加える（ステップＳ９８３）。すなわち、Ｓｂ←ｂｒｏｔｈｅｒ（ｐ）∪Ｓｂとする。
【０１８８】
続いて、ノード集合Ｓｂの先頭の要素とノードａとが重なるか否かが判断される（ステップＳ９８４）。すなわち、ｄ（ｃｅｎｔｅｒ（ｈｅａｄ（Ｓｂ）），ｃｅｎｔｅｒ（ａ））＞ｒ（ｈｅａｄ（Ｓｂ））＋ｒ（ａ）であるか否かが判断される。
【０１８９】
そして、ノード集合Ｓｂの先頭の要素とノードａとが重ならなければ（ステップＳ９８４）、ノード集合Ｓｂから先頭の要素を取り出し、取り出した要素をノード集合Ｓに加える（ステップＳ９８５）。すなわち、ノード集合Ｓｂを「Ｓｂ−｛ｈｅａｄ（Ｓｂ）｝」とし、ノード集合Ｓを「Ｓ∪ｈｅａｄ（Ｓｂ）」とする。
【０１９０】
続いて、ノード集合Ｓｂの要素数が０であるか否かが判断される（ステップＳ９８６）。ノード集合Ｓｂの要素数が０でない場合には（ステップＳ９８６）、ノード集合Ｓｂの先頭の要素を、ノード集合Ｓｂの先頭の子ノードに入れ換えて（ステップＳ９８７）、ステップＳ９８４に進む。すなわち、ノード集合Ｓｂを、｛ｌｅｆｔ（ｈｅａｄ（Ｓｂ）），ｒｉｇｈｔ（ｈｅａｄ（Ｓｂ））｝∪（Ｓｂ−｛ｈｅａｄ（Ｓｂ）｝）として、ステップＳ９８４に進む。
【０１９１】
一方、ノード集合Ｓｂの要素数が０である場合には（ステップＳ９８６）、ノードｐがルートノードであるか否かが判断される（ステップＳ９８８）。ノードｐがルートノードでない場合には（ステップＳ９８８）、ノードｐの親ノードをノードｐとして（ステップＳ９８９）、ステップＳ９８３に進む。すなわち、ノードｐにｐａｒｅｎｔ（ｐ）を設定して、ステップＳ９８３に進む。
【０１９２】
一方、ノードｐがルートノードである場合には（ステップＳ９８８）、クラスタ集合Ｓが入力データとして設定され（ステップＳ９９０）、図２３に示すクラスタリング処理が実行され（ステップＳ９９１）、作成された二分木構造データが「戻りツリー」となってステップＳ９５５に戻る。
【０１９３】
以上で示したように、本発明の実施の形態によれば、位置情報を含むコンテンツを管理するための二分木構造データをクラスタリング部２５１が作成し、この作成された二分木構造データにおいて所定の条件を満たすノードの階層を階層決定部２５２が決定することにより、撮影画像データベース２３０に記憶されるコンテンツを分類することができる。
【０１９４】
また、例えば、デジタルスチルカメラで撮影された撮影画像についてアルバムを作成する場合には、条件設定部２６０に設定された条件によって階層決定部２５２により決定されたグループ毎に撮影画像を分類することができるため、ユーザの嗜好に近いアルバムを容易に作成することができる。なお、コンテンツを整理する場合にも、階層決定部２５２により決定されたグループ毎にコンテンツを分類した後に整理をすることができるため、コンテンツを適切に分類して整理することが容易である。
【０１９５】
また、本発明の実施の形態は、コンテンツの位置情報により作成されるクラスタ内に含まれるコンテンツの密度やイベント数に基づいてコンテンツを分類するため、地図上の絶対的または相対的な既知の位置関係に基づいてコンテンツを分類するための地名やイベント等を格納するためのデータベースを用意する必要がない。また、特に特徴のない場所や海の真ん中等の地球上のあらゆる地点において撮影された画像に関しても、ユーザの好みに応じた適切な分類をすることができる。
【０１９６】
また、クラスタの属性値を中心点および半径とすることによって、任意の点がクラスタに含まれるか否かを、クラスタの属性値から一意に決定することができる。このため、クラスタリングされていない新たな画像がどのクラスタに属しているかを、それぞれのクラスタの属性値によって容易に判断することができる。また、あるクラスタ領域は、このクラスタ領域の親クラスタのクラスタ領域に全てが含まれ、クラスタの属性値（中心点および半径）がそのクラスタに含まれる要素の範囲を示すため、画面に表示されるクラスタと要素との対応付けが容易である。
【０１９７】
なお、本発明の実施の形態で示したグループ化条件は、クラスタ内に含まれるコンテンツの統計的分析（クラスタ密度、イベント数）に基づいてグループ化するための条件であるが、グループ化条件としては他の条件を用いることができる。また、本発明の実施の形態では、グループ化条件設定バー１２１および１２２を用いてパラメータ定数を変更する例について説明したが、例えば、「大まか」「標準」「細かい」等のプリセットボタンを表示部１２０に表示させ、このプリセットボタンの押下によってグループ化する粒度を決定するようにしてもよい。また、表示画面の大きさ等のＵＩ（ユーザインタフェース）上の制約等に応じてノードを抽出してグループを決定することができる。また、地図のスケールに応じて表示するグループの粒度を決定することができる。
【０１９８】
また、これらのグループ化条件によって決定されたグループについて、ユーザが編集をするようにしてもよい。例えば、各グループに対応するクラスタに含まれる各コンテンツをグループ毎に分類して表示させ、操作受付部１３０からの操作入力によって、何れかのコンテンツについてグループ間を移動させるようにしてもよい。さらに、操作受付部１３０からの操作入力によって、グループに含まれる１または複数のコンテンツを分割して、新たなグループを作成するようにしてもよい。このように、ユーザの好みに応じた編集をすることができる。また、各グループに対応するクラスタに含まれる各コンテンツをグループ毎に分類して表示させるとともに、各グループ固有の情報を表示させるようにしてもよい。
【０１９９】
また、位置情報およびコンテンツの生成時刻をコンテンツや付加データファイルから取得する機能を有する装置に本発明の実施の形態を適用することができる。例えば、デジタルスチルカメラ、デジタルビデオカメラ等の撮像装置、記憶装置内蔵マルチメディアコンテンツビューワー、コンテンツを記録保存閲覧することが可能な携帯情報端末、ネットワーク上の地図サービスと連携したコンテンツ管理閲覧サービス、パーソナルコンピュータのアプリケーションソフト、写真データ管理機能を有する携帯ゲーム端末、記憶装置を有するカメラ付き携帯電話機、記憶装置、写真データ管理機能を有するデジタル家電やゲーム機に適用することができる。なお、記憶装置の容量が大きいほどグループ化の効果を発揮するものの、記憶容量の大小にかかわらず、本発明の実施の形態を適用することができる。
【０２００】
また、本発明の実施の形態では、クラスタリング対象コンテンツとして、撮影された画像を例にして説明したが、位置情報が関連付けられている他のコンテンツに本発明の実施の形態を適用することができる。例えば、写真、動画、メール、楽曲、スケジュール、電子マネー使用履歴、通話履歴、コンテンツ視聴履歴、観光情報や地域情報、ニュースや天気予報、着信音モード履歴等のコンテンツに適用することができる。なお、コンテンツの種類に応じて、他のクラスタリング方法を用いるようにしてもよい。
【０２０１】
なお、本発明の実施の形態は本発明を具現化するための一例を示したものであり、以下に示すように特許請求の範囲における発明特定事項とそれぞれ対応関係を有するが、これに限定されるものではなく本発明の要旨を逸脱しない範囲において種々の変形を施すことができる。
【０２０２】
すなわち、請求項１乃至請求項９において、コンテンツ管理装置は、例えば撮像装置１００に対応する。また、請求項１０において、画像表示装置は、例えば撮像装置１００に対応する。また、請求項１１において、撮像装置は、例えば撮像装置１００に対応する。
【０２０３】
また、請求項１、１０および１１において、コンテンツ入力手段は、例えば位置情報取得部２４０に対応する。また、位置情報取得手段は、例えば位置情報取得部２４０に対応する。また、ツリー作成手段は、例えばクラスタリング部２５１に対応する。
【０２０４】
また、請求項１、３乃至７、１０、１１において、決定手段は、例えば階層決定部２５２に対応する。
【０２０５】
また、請求項２または３において、条件設定手段は、例えば条件設定部２６０に対応する。
【０２０６】
また、請求項３において、操作受付手段は、例えば操作受付部１３０に対応する。
【０２０７】
また、請求項８において、コンテンツ出力手段は、例えば表示制御部２９０に対応する。
【０２０８】
また、請求項９乃至１１において、表示制御手段は、例えば表示制御部２９０に対応する。
【０２０９】
また、請求項１１において、撮像手段は、例えばカメラ部２１１に対応する。
【０２１０】
また、請求項１２または請求項１３において、コンテンツ入力手順は、例えばステップＳ９１１に対応する。また、位置情報取得手順は、例えばステップＳ９１２に対応する。また、ツリー作成手順は、ステップＳ９１４に対応する。また、決定手順は、ステップＳ９０６に対応する。
【０２１１】
なお、本発明の実施の形態において説明した処理手順は、これら一連の手順を有する方法として捉えてもよく、また、これら一連の手順をコンピュータに実行させるためのプログラム乃至そのプログラムを記憶する記録媒体として捉えてもよい。
【図面の簡単な説明】
【０２１２】
【図１】本発明の実施の形態における撮像装置１００の外観を示す図である。
【図２】本発明の実施の形態における撮像装置１００のハードウェア構成例を示す概略構成図である。
【図３】本発明の実施の形態における撮像装置１００の機能構成例を示すブロック図である。
【図４】１または複数のコンテンツが属するクラスタの概略を示す図である。
【図５】位置情報に基づいて平面上に配置されているコンテンツ３５１乃至３５５がクラスタリングされる場合における遷移を概念的に示す図である。
【図６】位置情報に基づいて平面上に配置されているコンテンツ３５１乃至３５５がクラスタリングされる場合における遷移を概念的に示す図である。
【図７】位置情報に基づいて平面上に配置されているコンテンツ３５１乃至３５５がクラスタリングされる場合における遷移を概念的に示す図である。
【図８】位置情報に基づいて平面上に配置されているコンテンツ３５１乃至３５５がクラスタリングされる場合における遷移を概念的に示す図である。
【図９】位置情報に基づいて平面上に配置されているコンテンツ３５１乃至３５５がクラスタリングされる場合における遷移を概念的に示す図である。
【図１０】クラスタ３６１乃至３６４に基づいて作成される二分木構造データを示す二分木構造のクラスタリング樹形図を概念的に示す図である。
【図１１】コンテンツ７０１乃至７１５に基づいて作成される二分木構造データを示す二分木構造のクラスタリング樹形図を概念的に示す図である。
【図１２】クラスタリングにより作成された各クラスタに関するクラスタデータの一例を示す図である。
【図１３】式２のグループ化の条件式を用いて求められたグループに対応するクラスタと、このクラスタに属するコンテンツとの関係を示す図である。
【図１４】式２のグループ化の条件式を用いて求められたグループに対応するクラスタと、このクラスタに属するコンテンツとの関係を示す図である。
【図１５】式３のグループ化の条件式を用いて求められたグループに対応するクラスタと、このクラスタに属するコンテンツとの関係を示す図である。
【図１６】式３のグループ化の条件式を用いて求められたグループに対応するクラスタと、このクラスタに属するコンテンツとの関係を示す図である。
【図１７】グループ化されたクラスタと、クラスタサイズ、コンテンツの密度、および、イベント数との概略関係を示す図である。
【図１８】グループ化された画像コンテンツを表示する場合における表示例を示す図である。
【図１９】グループ化された画像コンテンツを表示する場合における表示例を示す図である。
【図２０】撮像装置１００によるクラスタデータ作成処理の処理手順を示すフローチャートである。
【図２１】撮像装置１００によるクラスタデータ作成の処理手順のうちの階層クラスタリング処理手順を示すフローチャートである。
【図２２】２つのクラスタを併合する場合における各クラスタに属する要素の包含関係を示す図である。
【図２３】撮像装置１００によるクラスタリング処理の処理手順を示すフローチャートである。
【図２４】撮像装置１００によるクラスタリング処理の処理手順のうちのクラスタの併合処理手順を示すフローチャートである。
【図２５】ｘｙ座標上に配置された８個のデータ４００乃至４０７をクラスタリングする場合における遷移を示す図である。
【図２６】ｘｙ座標上に配置された８個のデータ４００乃至４０７をクラスタリングする場合における遷移を示す図である。
【図２７】ｘｙ座標上に配置された８個のデータ４００乃至４０７をクラスタリングする場合における遷移を示す図である。
【図２８】ｘｙ座標上に配置された８個のデータ４００乃至４０７をクラスタリングする場合における遷移を示す図である。
【図２９】ｘｙ座標上に配置された８個のデータ４００乃至４０７をクラスタリングする場合における遷移を示す図である。
【図３０】ｘｙ座標上に配置された８個のデータ４００乃至４０７をクラスタリングする場合における遷移を示す図である。
【図３１】ｘｙ座標上に配置された８個のデータ４００乃至４０７をクラスタリングする場合における遷移を示す図である。
【図３２】ｘｙ座標上に配置された８個のデータ４００乃至４０７をクラスタリングする場合における遷移を示す図である。
【図３３】データ４００乃至４０７がクラスタリングされる場合における各クラスタの属性値および各クラスタ間の距離を示す図である。
【図３４】データ４００乃至４０７がクラスタリングされる場合における各クラスタの属性値および各クラスタ間の距離を示す図である。
【図３５】データ４００乃至４０７がクラスタリングされる場合における各クラスタの属性値および各クラスタ間の距離を示す図である。
【図３６】データ４００乃至４０７がクラスタリングされる場合における各クラスタの属性値および各クラスタ間の距離を示す図である。
【図３７】データ４００乃至４０７がクラスタリングされる場合における各クラスタの属性値および各クラスタ間の距離を示す図である。
【図３８】データ４００乃至４０７がクラスタリングされる場合における各クラスタの属性値および各クラスタ間の距離を示す図である。
【図３９】データ４００乃至４０７がクラスタリングされる場合における各クラスタの属性値および各クラスタ間の距離を示す図である。
【図４０】撮像装置１００による二分木作成処理の処理手順を示すフローチャートである。
【図４１】撮像装置１００による二分木作成処理の処理手順のうちの既存のツリー挿入処理手順を示すフローチャートである。
【図４２】撮像装置１００による二分木作成処理の処理手順のうちの部分分割挿入処理手順を示すフローチャートである。
【図４３】撮像装置１００による二分木作成処理の処理手順のうちのクラスタツリー再構築処理手順を示すフローチャートである。
【符号の説明】
【０２１３】
１００  撮像装置
１１１  カメラレンズ
１１２  シャッターボタン
１１３  ＧＰＳ受信アンテナ
１２０  表示部
１２１  グループ化条件設定バー
１２２  グループ化条件設定バー
１３０  操作受付部
１３１  十字ボタン
１３２、１３３  ボタン
１４１  カメラ制御装置
１４２  ＧＰＳ信号処理装置
１４３  中央演算装置
１４４  記憶装置
１４５  バッテリ
２１１  カメラ部
２１２  キャプチャ部
２２０  ＧＰＳ信号処理部
２３０  撮影画像データベース
２４０  位置情報取得部
２５０  演算部
２５１  クラスタリング部
２５２  階層決定部
２６０  条件設定部
２７０  二分木データベース
２８０  クラスタデータベース
２９０  表示制御部
【図１】
2008250605.tif 000004
【図２】
2008250605.tif 000005
【図３】
2008250605.tif 000006
【図４】
2008250605.tif 000007
【図５】
2008250605.tif 000008
【図６】
2008250605.tif 000009
【図７】
2008250605.tif 000010
【図８】
2008250605.tif 000011
【図９】
2008250605.tif 000012
【図１０】
2008250605.tif 000013
【図１１】
2008250605.tif 000014
【図１２】
2008250605.tif 000015
【図１３】
2008250605.tif 000016
【図１４】
2008250605.tif 000017
【図１５】
2008250605.tif 000018
【図１６】
2008250605.tif 000019
【図１７】
2008250605.tif 000020
【図２０】
2008250605.tif 000021
【図２１】
2008250605.tif 000022
【図２２】
2008250605.tif 000023
【図２３】
2008250605.tif 000024
【図２４】
2008250605.tif 000025
【図２５】
2008250605.tif 000026
【図２６】
2008250605.tif 000027
【図２７】
2008250605.tif 000028
【図２８】
2008250605.tif 000029
【図２９】
2008250605.tif 000030
【図３０】
2008250605.tif 000031
【図３１】
2008250605.tif 000032
【図３２】
2008250605.tif 000033
【図３３】
2008250605.tif 000034
【図３４】
2008250605.tif 000035
【図３５】
2008250605.tif 000036
【図３６】
2008250605.tif 000037
【図３７】
2008250605.tif 000038
【図３８】
2008250605.tif 000039
【図３９】
2008250605.tif 000040
【図４０】
2008250605.tif 000041
【図４１】
2008250605.tif 000042
【図４２】
2008250605.tif 000043
【図４３】
2008250605.tif 000044
【図１８】
2008250605.tif 000045
【図１９】
2008250605.tif 000046