(57)【特許請求の範囲】
【請求項１】
複数のコンテンツを、クラスタにクラスタリングする情報処理装置において、
前記複数のコンテンツのメタデータを取得する取得手段と、
前記メタデータに基づいて、前記複数のコンテンツを、あらかじめ決められた所定の数N以下のコンテンツが属するクラスタにクラスタリングするクラスタリング手段と
を備え、
前記クラスタリング手段は、
前記メタデータに基づいて所定の順番に並べた前記複数のコンテンツの並びであるコンテンツ列の先頭からN+1個目までのコンテンツについての、n番目のコンテンツとn+1番目のコンテンツとの所定の距離尺度による距離d(n)の中で、最大の距離d(k)を求め、
前記コンテンツ列の先頭からk番目までのコンテンツを、１つのクラスタにクラスタリングする
ことを、前記コンテンツ列のk+1番目のコンテンツを、新たな先頭のコンテンツとして繰り返す
情報処理装置。
【請求項２】
前記コンテンツは、撮影装置で撮影された画像データであり、
前記メタデータは、前記画像データが撮影された撮影日時と撮影位置とを含み、
前記コンテンツ列は、前記撮影日時に基づいて並べた前記画像データの並びであり、
前記クラスタリング手段は、所定の距離尺度による距離d(n)として、n番目のコンテンツの撮影日時とn+1番目のコンテンツの撮影日時との間の間隔、又は、n番目のコンテンツの撮影位置とn+1番目のコンテンツの撮影位置との間の距離を求める
請求項１に記載の情報処理装置。
【請求項３】
１つの前記クラスタに属するコンテンツを、電子的なアルバムであるスクラップブックの１ページに配置した前記スクラップブックを生成するスクラップブック生成手段をさらに備える
請求項１に記載の情報処理装置。
【請求項４】
前記所定の数Nは、前記スクラップブックの１ページに配置することができるコンテンツの最大の数である
請求項３に記載の情報処理装置。
【請求項５】
前記スクラップブックを表示させるスクラップブック表示制御手段をさらに備える
請求項３に記載の情報処理装置。
【請求項６】
複数のコンテンツを、クラスタにクラスタリングする情報処理方法において、
前記複数のコンテンツのメタデータを取得する取得手段と、
前記メタデータに基づいて、前記複数のコンテンツを、あらかじめ決められた所定の数N以下のコンテンツが属するクラスタにクラスタリングするクラスタリング手段と
を備える情報処理装置の前記クラスタリング手段が、
前記メタデータに基づいて所定の順番に並べた前記複数のコンテンツの並びであるコンテンツ列の先頭からN+1個目までのコンテンツについての、n番目のコンテンツとn+1番目のコンテンツとの所定の距離尺度による距離d(n)の中で、最大の距離d(k)を求め、
前記コンテンツ列の先頭からk番目までのコンテンツを、１つのクラスタにクラスタリングする
ことを、前記コンテンツ列のk+1番目のコンテンツを、新たな先頭のコンテンツとして繰り返す
情報処理方法。
【請求項７】
複数のコンテンツを、クラスタにクラスタリングする情報処理装置として、コンピュータを機能させるプログラムにおいて、
前記複数のコンテンツのメタデータを取得する取得手段と、
前記メタデータに基づいて、前記複数のコンテンツを、あらかじめ決められた所定の数N以下のコンテンツが属するクラスタにクラスタリングするクラスタリング手段と
して、コンピュータを機能させるプログラムであり、
前記クラスタリング手段は、
前記メタデータに基づいて所定の順番に並べた前記複数のコンテンツの並びであるコンテンツ列の先頭からN+1個目までのコンテンツについての、n番目のコンテンツとn+1番目のコンテンツとの所定の距離尺度による距離d(n)の中で、最大の距離d(k)を求め、
前記コンテンツ列の先頭からk番目までのコンテンツを、１つのクラスタにクラスタリングする
ことを、前記コンテンツ列のk+1番目のコンテンツを、新たな先頭のコンテンツとして繰り返す
プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理方法、及びプログラムに関し、特に、例えば、ディジタルカメラで撮影された画像データ等のコンテンツを、適切な数にクラスタリングすることができるようにする情報処理装置、情報処理方法、及びプログラムに関する。
【背景技術】
【０００２】
例えば、ディジタルカメラにおいては、被写体を撮影して得られるディジタル画像データ（以下、適宜、写真データという）を、その写真データの撮影が行われた撮影日時等を含むメタデータとともに記録する。
【０００３】
また、ディジタルカメラの普及に伴い、写真データを、コンピュータで管理するための種々の管理用アプリケーションが提供（販売）されている。管理用アプリケーションでは、例えば、メタデータに含まれる撮影日時に基づいて、撮影がされた年、月、日が同一の写真データが、１つのクラスタにクラスタリングされる。
【０００４】
ところで、銀塩カメラで撮影された写真については、ユーザは、撮影日時や、撮影位置（撮影場所）、イベント等によって、写真を分け、撮影の日付が同一の写真や、撮影場所が同一の写真、１つのイベントで撮影された写真等を、アルバムの１ページや、連続する複数ページに配置して、写真の整理を行う。
【０００５】
写真データについても、実際の写真を整理するアルバムを模した電子的なアルバム（以下、スクラップブックともいう）を用いて、写真データを整理する管理用アプリケーションがある。
【０００６】
なお、写真撮影されたフィルム画像を電子画像に変換し、これに撮影日や場所等の付加情報を添付して電子データとして保存管理し、画像が記録された写真フイルムを電子データと関連付けて保管し、電子データを必要な場所に伝送出来るようにして、電子画像を所有する利用者からの依頼に応じて、電子画像に対応する写真フィルムの焼き増しを行うことができる画像ファイルシステムが先に提案されている（例えば、特許文献１を参照）。
【０００７】
【特許文献１】特開平10-143631号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
スクラップブックを用いて、写真データを整理する場合、ユーザは、写真データを配置するスクラップブックの位置を指定することにより、例えば、スクラップブックの各ページに、撮影の日付が同一の写真データや、撮影場所が同一の写真データ、１つのイベントで撮影された写真データをまとめて配置することができる。
【０００９】
しかしながら、多数の写真データのそれぞれについて、ユーザが、写真データを配置するスクラップブックの位置を指定することは、面倒である。
【００１０】
そこで、例えば、上述したように、メタデータに含まれる撮影日時に基づいて、撮影がされた年、月、日が同一の写真データを、１つのクラスタにクラスタリングし、１のクラスタに属する写真データを、スクラップブックの１ページに配置することにより写真データを整理する方法が考えられる。
【００１１】
しかしながら、スクラップブックの１ページに配置することができる写真データの数が制限されている場合には、クラスタに属する写真データの数が、１ページに配置することができる写真データの数の最大値（以下、適宜、最大枚数という）を越えていると、クラスタに属する写真データのすべてを、１ページに配置することができない。
【００１２】
この場合、例えば、クラスタに属する写真データを、例えば、撮影日時順に並べた写真データの並びにおいて、先頭から最大枚数に等しい数の写真データが、あるページに配置され、残りの写真データが、次のページに配置されることとなる。
【００１３】
すなわち、最大枚数をNとして、クラスタに属する写真データの数が、最大枚数Nよりも、例えば、１つだけ多いN+1個であるとすると、クラスタに属するN+1個の写真データは、撮影日時順に、例えば、最大枚数Nに等しいN個（枚）の写真データと、残りの１個の写真データとに分けられ、N個の写真データが、あるページに配置されるとともに、１個の写真データだけが、次のページに配置される。
【００１４】
しかしながら、クラスタに属するN+1個の写真データのうちの、N-1番目の写真データの撮影日時と、N番目の写真データの撮影日時との間の間隔が大きく開いているが、N番目の写真データの撮影日時と、N+1番目の写真データの撮影日時との間隔が狭い場合には、撮影日時の間隔が狭いN番目の写真データと、N+1番目の写真データとが、同一のページに配置される方が望ましい。
【００１５】
本発明は、このような状況に鑑みてなされたものであり、写真データ等のコンテンツを、適切な数にクラスタリングすることができるようにするものである。
【課題を解決するための手段】
【００１６】
本発明の一側面の情報処理装置、又は、プログラムは、複数のコンテンツを、クラスタにクラスタリングする情報処理装置、又は、情報処理装置としてコンピュータを機能させるプログラムであって、前記複数のコンテンツのメタデータを取得する取得手段と、前記メタデータに基づいて、前記複数のコンテンツを、あらかじめ決められた所定の数N以下のコンテンツが属するクラスタにクラスタリングするクラスタリング手段とを備える情報処理装置、又は、情報処理装置としてコンピュータを機能させるプログラムであり、前記クラスタリング手段が、前記メタデータに基づいて所定の順番に並べた前記複数のコンテンツの並びであるコンテンツ列の先頭からN+1個目までのコンテンツについての、n番目のコンテンツとn+1番目のコンテンツとの所定の距離尺度による距離d(n)の中で、最大の距離d(k)を求め、前記コンテンツ列の先頭からk番目までのコンテンツを、１つのクラスタにクラスタリングすることを、前記コンテンツ列のk+1番目のコンテンツを、新たな先頭のコンテンツとして繰り返す情報処理装置、又は、プログラムである。
【００１７】
本発明の一側面の情報処理方法は、複数のコンテンツを、クラスタにクラスタリングする情報処理方法であり、前記複数のコンテンツのメタデータを取得する取得手段と、前記メタデータに基づいて、前記複数のコンテンツを、あらかじめ決められた所定の数N以下のコンテンツが属するクラスタにクラスタリングするクラスタリング手段とを備える情報処理装置の前記クラスタリング手段が、前記メタデータに基づいて所定の順番に並べた前記複数のコンテンツの並びであるコンテンツ列の先頭からN+1個目までのコンテンツについての、n番目のコンテンツとn+1番目のコンテンツとの所定の距離尺度による距離d(n)の中で、最大の距離d(k)を求め、前記コンテンツ列の先頭からk番目までのコンテンツを、１つのクラスタにクラスタリングすることを、前記コンテンツ列のk+1番目のコンテンツを、新たな先頭のコンテンツとして繰り返す情報処理方法である。
【００１８】
以上のような本発明の一側面においては、前記複数のコンテンツのメタデータが取得され、前記メタデータに基づいて、前記複数のコンテンツが、あらかじめ決められた所定の数N以下のコンテンツが属するクラスタにクラスタリングされる。前記複数のコンテンツのクラスタリングでは、前記メタデータに基づいて所定の順番に並べた前記複数のコンテンツの並びであるコンテンツ列の先頭からN+1個目までのコンテンツについての、n番目のコンテンツとn+1番目のコンテンツとの所定の距離尺度による距離d(n)の中で、最大の距離d(k)を求め、前記コンテンツ列の先頭からk番目までのコンテンツを、１つのクラスタにクラスタリングすることが、前記コンテンツ列のk+1番目のコンテンツを、新たな先頭のコンテンツとして繰り返される。
【００１９】
なお、プログラムは、伝送媒体を介して伝送し、又は、記録媒体に記録して、提供することができる。
【００２０】
また、情報処理装置は、独立した装置であっても良いし、１つの装置を構成している内部ブロックであっても良い。
【発明の効果】
【００２１】
本発明の一側面によれば、コンテンツを、適切な数にクラスタリングすることができる。
【発明を実施するための最良の形態】
【００２８】
図１は、本発明を適用した情報処理装置としてのPC(Personal Computer)の一実施の形態の構成例を示すブロック図である。
【００２９】
図１において、PCは、CPU(Central Processing Unit)１０１，ROM(Read Only Memory)１０２，RAM(Random Access Memory)１０３，HD(Hard Disk)１０４、出力部１０５、入力部１０６、通信部１０７、ドライブ１０８、及び入出力I/F(Interface)１０９が、バスを介して相互に接続されて構成されている。なお、CPU１０１ないし入出力I/F１０９それぞれの間では、バスを介して、必要なデータ等がやりとりされる。
【００３０】
CPU１０１は、ROM１０２やRAM１０３に記憶されたプログラムを実行することにより、PCを構成する各ブロックを制御するとともに、電子的なアルバムであるスクラップブックを用いて、写真データ等のコンテンツを整理するスクラップブック装置として、PCを機能させるのに必要な処理を行う。
【００３１】
ROM１０２は、CPU１０１が実行するプログラム等を記憶している。
【００３２】
RAM１０３は、CPU１０１が実行するプログラムや、CPU１０１の動作上必要なデータ等を一時記憶する。
【００３３】
HD１０４は、CPU１０１が実行するプログラムや、CPU１０１の動作上必要なデータ等を記憶する。
【００３４】
出力部１０５は、例えば、LCD(Liquid Crystal Display)やスピーカ等で構成され、画像を表示し、音声を出力する。
【００３５】
入力部１０６は、キーボードや、マウス、マイク等で構成され、例えば、PCに指令を与えるとき等に、ユーザによって操作される。
【００３６】
通信部１０７は、例えば、LAN(Local Area Network)やインターネット等のネットワークと通信を行うためのI/Fであり、ネットワークとの間で、必要に応じて、データ等のやりとり（通信）を行う。
【００３７】
ドライブ１０８には、フレキシブルディスク、CD-ROM(Compact Disc Read Only Memory)，MO(Magneto Optical)ディスク，DVD(Digital Versatile Disc)、磁気ディスク、半導体メモリなどのリムーバブル記録媒体１１１を着脱することができるようになっている。ドライブ１０８は、そこに装着されたリムーバブル記録媒体１１１を駆動して、リムーバブル記録媒体１１１に、バスから供給されるデータ等を記録し、また、リムーバブル記録媒体１１１からデータ等を読み出して、バス上に出力する。
【００３８】
入出力I/F１０９は、外部の機器との間で、データ等をやりとりするためのI/Fである。入出力I/F１０９としては、例えば、USB(Universal Serial Bus)、及びIEEE(Institute of Electrical and Electronics )1394等の有線通信や、BlueTooth（商標）等による無線通信を行う通信I/Fを採用することができる。
【００３９】
以上のように構成されるPCにおいては、ユーザは、入出力I/F１０９に、外部の機器としての、例えば、ディジタルスチルカメラや、ディジタルビデオカメラ等のカメラ１１２を接続し、そのカメラ１１２で撮像された画像データとしての写真データを、カメラ１１２から、入出力I/F１０９を経由して、HD１０４に取り込む（HD１０４に記憶させる）ことができるようになっている。
【００４０】
また、図１のPCでは、PCを、スクラップブック装置として機能させるためのアプリケーションプログラム（スクラップブックプログラム）がHD１０４にインストールされており、CPU１０１が、HD１０４からスクラップブックプログラムを読み出し、RAM１０３上に展開して実行する。これにより、PCは、スクラップブックを用いて、HD１０４に記憶されている写真データ等のコンテンツを整理するスクラップブック装置として機能する。
【００４１】
なお、PC（のCPU１０１）が実行するプログラムは、上述のように、PC（のHD１０４）に予めインストールしておくことができる他、リムーバブル記録媒体１１１に格納し、リムーバブル記録媒体１１１からPCにインストールし、あるいは、インターネットのダウンロードサイト等からダウンロードして、PCにインストールすることができる。
【００４２】
図２は、CPU１０１がスクラップブックプログラムを実行することにより機能的に実現されるスクラップブック装置の構成例を示している。
【００４３】
すなわち、図１のPCにおいて、例えば、ユーザが、スクラップブックプログラムを実行するように、入力部１０６を操作すると、又は、カメラ１１２が、入出力I/F１０９（図１）に接続されると、CPU１０１がHD１０４に記憶されたスクラップブックプログラムを実行し、これにより、PCは、図２のスクラップブック装置として機能する。
【００４４】
図２において、スクラップブック装置は、コンテンツ記憶部１２１、スクラップブック記憶部１２２、操作部１２３、スクラップブック表示制御部１２４、表示部１２５、スクラップブック生成部１２６、及びクラスタリング処理部１２７から構成される。
【００４５】
コンテンツ記憶部１２１は、カメラ１１２から、スクラップブック装置としてのPCに取り込まれたコンテンツとしての写真データを記憶する。
【００４６】
ここで、カメラ１１２は、ユーザの操作に応じて撮影を行い、その撮影の結果得られる写真データを、内部のメモリや着脱可能なメモリに記憶する。また、カメラ１１２は、写真データのメタデータとして、その写真データの撮影が行われた撮影日時（例えば、年、月、日、時、分、秒を含む）や撮影位置などを含むメタデータも、内部のメモリ等に記憶する。さらに、カメラ１１２は、内部のメモリ等に記憶した写真データとメタデータを、外部に出力（送信）することができるようになっている。
【００４７】
なお、カメラ１１２は、例えば、日時を計時する時計を内蔵し、その時計によって計時される日時に基づき、写真データのメタデータの１つである撮影日時を取得する。また、カメラ１１２は、例えば、GPS(Global Positioning System)用の衛星からの信号を受信する受信部を内蔵し、その受信部によって受信される信号に基づき、写真データのメタデータの他の１つである撮影位置を取得する。
【００４８】
スクラップブック装置では、カメラ１１２から、写真データとメタデータが取り込まれ、コンテンツ記憶部１２１に記憶される。
【００４９】
なお、メタデータは、カメラ１１２から写真データとともに取り込む他、ユーザが、入力部１０６を操作して入力することができる。また、コンテンツ記憶部１２１に記憶されたメタデータは、ユーザが、入力部１０６を操作して変更等をすることができる。
【００５０】
スクラップブック記憶部１２２は、スクラップブック生成部１２６から供給されるスクラップブックを記憶する。
【００５１】
操作部１２３は、ユーザによって操作され、その操作に対応する操作信号を、スクラップブック表示制御部１２４に供給する。
【００５２】
スクラップブック表示制御部１２４は、操作部１２３からの操作信号等に応じて、スクラップブック記憶部１２２に記憶されたスクラップブックを読み出し、そのスクラップブックのサムネイルやページを、表示部１２５に表示させる制御を行う。
【００５３】
表示部１２５は、スクラップブック表示制御部１２４からの制御に従い、スクラップブックのサムネイルやページ等を表示する。
【００５４】
スクラップブック生成部１２６は、スクラップブックの各ページに、コンテンツ記憶部１２１に記憶された写真データを貼り付けた（配置した）スクラップブックを生成し、スクラップブック記憶部１２２に供給する。
【００５５】
すなわち、スクラップブック生成部１２６は、スクラップブックの１ページに配置することができる写真データの最大の数N以下の数の写真データが属するクラスタに、写真データをクラスタリングすることを、クラスタリング処理部１２７に要求し、その要求に応じてクラスタリング処理部１２７が行ったクラスタリングの結果に基づき、１つのクラスタに属する写真データを１ページに配置したスクラップブックを生成して、スクラップブック記憶部１２２に供給する。
【００５６】
なお、ここでは、説明を簡単にするために、スクラップブック生成部１２６が生成するスクラップブックには、そのスクラップブックの各ページに配置された写真データが含まれることとする。但し、スクラップブックの各ページには、そのページに配置される写真データを特定するデータID（例えば、ファイル名等）を対応付けておき、スクラップブックを表示するときに、各ページに対応付けられているデータIDによって特定される写真データを、コンテンツ記憶部１２１から読み出して表示するようにすることが可能である。
【００５７】
クラスタリング処理部１２７は、スクラップブック生成部１２６からの要求に応じて、コンテンツ記憶部１２１に記憶された写真データをクラスタリングし、そのクラスタリングの結果として、コンテンツ記憶部１２１に記憶された各写真データが属するクラスタの情報を、スクラップブック生成部１２６に供給する。
【００５８】
なお、図２において、コンテンツ記憶部１２１及びスクラップブック記憶部１２２は、図１のHD１０４やRAM１０３に対応する。また、操作部１２３は、図１の入力部１０６に対応し、スクラップブック表示制御部１２４は、図１のCPU１０１等に対応する。さらに、表示部１２５は、図１の出力部１０５に対応し、スクラップブック生成部１２６及びクラスタリング処理部１２７は、図１のCPU１０１等に対応する。
【００５９】
以上のように構成されるスクラップブック装置では、スクラップブック記憶部１２２に記憶されたスクラップブックを表示部１２５に表示させるスクラップブック表示制御処理と、コンテンツ記憶部１２１に記憶された写真データを各ページに配置したスクラップブックを生成するスクラップブック生成処理とが行われる。
【００６０】
図３は、スクラップブック表示制御処理によって、表示部１２５に表示される表示画面の例を示している。
【００６１】
スクラップブック表示制御処理によれば、表示部１２５には、リスト画面２００とスクラップブック画面２１０とが表示される。
【００６２】
リスト画面２００には、スクラップブック記憶部１２２に記憶されているスクラップブックの、例えば、第１ページ（１ページ目）のサムネイルが表示される。
【００６３】
ここで、図３のリスト画面２００では、複数のスクラップブックの第１ページのサムネイルが、例えば、スクラップブックを作成（生成）した順に、上から下方向に並べてられて表示されている。
【００６４】
リスト画面２００に表示しきれない数のサムネイルがある場合には、リスト画面２００では、リスト画面２００に表示可能な数のサムネイルが表示されるとともに、スクロールバー２０１が表示される。そして、ユーザが、スクロールバー２０１を、操作部１２３によって操作すると、リスト画面２００はスクロールし、これにより、リスト画面２００には、いままで表示されていたサムネイルに代えて、他のサムネイルが表示される。
【００６５】
また、リスト画面２００には、スクラップブックのサムネイルの１つを囲むように、カーソル２０２が表示される。いま、カーソル２０２が位置する（囲んでいる）サムネイルを、注目サムネイルということとすると、カーソル２０２は、ユーザが操作部１２３を操作することによって移動し、これにより、注目サムネイルを変更することができる。
【００６６】
スクラップブック画面２１０には、サムネイルが、リスト画面２００において注目サムネイルになっているスクラップブック（以下、適宜、注目スクラップブックという）の１ページが表示される。
【００６７】
スクラップブック画面２１０の下部には、ページボタン２１１が設けられており、このページボタン２１１を、操作部１２３によって操作することにより、スクラップブック画面２１０に表示される注目スクラップブックのページが変更される。
【００６８】
図３において、スクラップブック画面２１０に表示されているページには、２つの写真データ#1及び#2が貼り付けられている。
【００６９】
また、ページには、背景を貼り付けることができるようになっている。
【００７０】
ページに貼り付ける背景、さらには、ページに貼り付ける写真データの位置やサイズ等のレイアウトは、スクラップブック生成部１２６（図２）で決定される他、ユーザが操作部１２３を操作することにより、指定及び変更をすることができるようになっている。
【００７１】
次に、図４のフローチャートを参照して、図２のスクラップブック装置で行われるスクラップブック表示制御処理について説明する。
【００７２】
スクラップブック表示制御処理は、例えば、ユーザが入力部１０６（図１）を操作することにより、スクラップブックプログラムの実行を指示すると開始される。
【００７３】
スクラップブック表示制御処理では、ステップＳ１１において、スクラップブック表示制御部１２４が、表示部１２５に、図３で説明したリスト画面２００とスクラップブック画面２１０を表示させ、処理は、ステップＳ１２に進む。
【００７４】
ステップＳ１２では、スクラップブック表示制御部１２４が、スクラップブック記憶部１２２に記憶されているすべてのスクラップブックを読み出し、そのすべてのスクラップブックの第１ページのサムネイルを生成する。
【００７５】
さらに、ステップＳ１２では、スクラップブック表示制御部１２４が、スクラップブック記憶部１２２に記憶されているすべてのスクラップブックの第１ページのサムネイルを、リスト画面２００に表示させ、処理は、ステップＳ１３に進む。
【００７６】
ここで、リスト画面２００に表示するサムネイルは、あらかじめ作成しておき、スクラップブック記憶部１２２に記憶させておくことができる。この場合、ステップＳ１２では、スクラップブック記憶部１２２にあらかじめ記憶されているサムネイルを表示させることができる。
【００７７】
ステップＳ１３では、スクラップブック表示制御部１２４は、リスト画面２００の、例えば、先頭のサムネイル（一番上のサムネイル）を囲むようにカーソル２０２を表示させ、これにより、リスト画面２００の先頭にサムネイルが表示されているスクラップブックを、注目スクラップブックとして、処理は、ステップＳ１４に進む。
【００７８】
ステップＳ１４では、スクラップブック表示制御部１２４は、注目スクラップブックの第１ページを、スクラップブック画面２１０（図３）に表示させ、処理は、ステップＳ１５に進む。
【００７９】
ステップＳ１５では、スクラップブック表示制御部１２４が、注目スクラップブックが変更されたかどうかを判定する。
【００８０】
ステップＳ１５において、注目スクラップブックが変更されたと判定された場合、すなわち、ユーザが、操作部１２３を操作することにより、カーソル２０２が囲むサムネイル（注目サムネイル）が変更され、これにより、注目スクラップブックが変更された場合、処理は、ステップＳ１４に戻り、スクラップブック表示制御部１２４は、変更後の注目スクラップブックの第１ページを、スクラップブック画面２１０に表示させ、以下、同様の処理が行われる。
【００８１】
また、ステップＳ１５において、注目スクラップブックが変更されてないと判定された場合、処理は、ステップＳ１６に進み、スクラップブック表示制御部１２４は、操作部１２３によってページボタン２１１（図３）を操作するページ送り操作が、ユーザによって行われたかどうかを判定する。
【００８２】
ステップＳ１６において、ページ送り操作が行われたと判定された場合、処理は、ステップＳ１７に進み、スクラップブック表示制御部１２４は、ページ送り操作に応じて、衆目スクラップブックの次のページ、又は前のページを、スクラップブック画面２１０に表示させて、処理は、ステップＳ１８に進む。
【００８３】
また、ステップＳ１６において、ページ送り操作が行われていないと判定された場合、処理は、ステップＳ１７をスキップして、ステップＳ１８に進み、スクラップブック表示制御部１２４は、スクラップブック表示制御処理を終了するように、操作部１２３を操作する終了操作が、ユーザによって行われたかどうかを判定する。
【００８４】
ステップＳ１８において、終了操作が行われていないと判定された場合、処理は、ステップＳ１５に戻り、以下、同様の処理が繰り返される。
【００８５】
また、ステップＳ１８において、終了操作が行われたと判定された場合、処理は、ステップＳ１９に進み、スクラップブック表示制御部１２４は、表示部１２５に表示されたリスト画面２００及びスクラップブック画面２１０を閉じ（消去し）、スクラップブック表示制御処理は終了する。
【００８６】
次に、図５のフローチャートを参照して、図２のスクラップブック装置で行われるスクラップブック生成処理について説明する。
【００８７】
スクラップブック生成処理は、例えば、図４のスクラップブック表示制御処理と同様に、ユーザが入力部１０６（図１）を操作することにより、スクラップブックプログラムの実行を指示すると開始される。
【００８８】
スクラップブック生成処理では、まず最初に、ステップＳ３１において、スクラップブック生成部１２６が、スクラップブックの１ページに配置する（貼り付ける）ことができる写真データの最大の数（最大枚数)Nを設定し、処理は、ステップＳ３２に進む。
【００８９】
ここで、最大枚数Nは、２以上の整数値で、例えば、ユーザがあらかじめ指定した値に設定することができる。また、最大枚数Nは、スクラッププログラムに、あらかじめ設定しておくことができる。その他、最大枚数Nは、スクラップブック画面２１０（図３）が表示される表示部１２５の画面のサイズに応じて、スクラップブックのページに配置される写真データのサイズが、ある程度細部まで見えるようなサイズとなるような値に設定することができる。
【００９０】
ステップＳ３２では、スクラップブック生成部１２６が、コンテンツ記憶部１２１に記憶されているコンテンツとしての写真データの中で、まだ、クラスタリングされていない写真データ（以下、適宜、未クラスタリング写真データという）が、最大枚数Nより大の所定の閾値TH以上存在するかどうかを判定する。
【００９１】
ここで、コンテンツ記憶部１２１に記憶された写真データがクラスタリング済みか否かは、例えば、クラスタリング処理部１２７が、後述するステップＳ３３のクラスタリング処理において、クラスタリング済みの写真データに、その旨を表すフラグを付加するようにすることにより、そのフラグを参照することによって認識することができる。
【００９２】
ステップＳ３２において、未クラスタリング写真データが、所定の閾値TH以上存在しないと判定された場合、すなわち、コンテンツ記憶部１２１に、所定の閾値TH未満の数の未クラスタリング写真データしか記憶されていない場合、ページ数が１ページ等の少ないページ数のスクラップブックが作成（生成）されるのを避けるため、スクラップブック生成処理は、終了する。
【００９３】
一方、ステップＳ３２において、未クラスタリング写真データが、所定の閾値TH以上存在すると判定された場合、所定の閾値TH以上存在する未クラスタリング写真データを、クラスタリングの対象として、最大枚数N以下の写真データが属するクラスタにクラスタリングするクラスタリング処理が行われ、さらに、１つのクラスタに属する写真データを、１ページに配置したスクラップブックが作成（生成）される。
【００９４】
すなわち、ステップＳ３２において、未クラスタリング写真データが、所定の閾値TH以上存在すると判定された場合、スクラップブック生成部１２６は、クラスタリング処理部１２７に対して、クラスタリング処理を要求する。
【００９５】
スクラップブック生成部１２６によるクラスタリング処理の要求に応じて、処理は、ステップＳ３２から、ステップＳ３３に進み、クラスタリング処理部１２７が、スクラップブック生成部１２６からの要求に応じて、コンテンツ記憶部１２１に記憶されている未クラスタリング写真データを、クラスタリングの対象として、最大枚数N以下の写真データが属するクラスタにクラスタリングするクラスタリング処理を行い、未クラスタリング写真データをクラスタリングしたクラスタの情報を、スクラップブック生成部１２６に供給して、処理は、ステップＳ３４に進む。
【００９６】
ステップＳ３４では、スクラップブック生成部１２６は、クラスタリング処理部１２７からのクラスタの情報に基づき、未クラスタリング写真データ（であった写真データ）をクラスタリングすることにより得られたクラスタの総数Pを認識し、そのクラスタの総数Pに等しいページ数を有するスクラップブックを新規作成して、処理は、ステップＳ３５に進む。
【００９７】
ステップＳ３５では、スクラップブック生成部１２６は、ページ数をカウントする変数cに、初期値としての、例えば、1をセットして、処理は、ステップＳ３６に進む。
【００９８】
ステップＳ３６では、スクラップブック生成部１２６は、クラスタリング処理部１２７によるクラスタリング処理で得られたP個のクラスタのうちの、c番目のクラスタであるクラスタ#cに属する写真データ（直前のステップＳ３３でクラスタリング処理の対象となった未クラスタリング写真データであった写真データ）を、コンテンツ記憶部１２１から読み出し、直前のステップＳ３４で新規作成されたスクラップブックの第cページに貼り付けて（配置して）、処理は、ステップＳ３７に進む。
【００９９】
ステップＳ３７では、スクラップブック生成部１２６は、変数cが、クラスタの総数P（スクラップブックの全ページ数）に等しいかどうかを判定する。
【０１００】
ステップＳ３７において、変数cが、クラスタの総数Pに等しくないと判定された場合、すなわち、直前のステップＳ３４で新規作成されたスクラップブックに、写真データが貼り付けられていないページがある場合、処理は、ステップＳ３８に進み、スクラップブック生成部１２６は、変数cを1だけインクリメントして、処理は、ステップＳ３６に戻り、以下、同様の処理が繰り返される。
【０１０１】
また、ステップＳ３７において、変数cが、クラスタの総数Pに等しいと判定された場合、すなわち、直前のステップＳ３４で新規作成されたスクラップブックのすべてのページに、写真データが貼り付けられた場合、スクラップブック生成部１２６は、そのスクラップブックを、スクラップブック記憶部１２２に供給して記憶させ、スクラップブック生成処理を終了する。
【０１０２】
次に、図６を参照して、図５のステップＳ３３でクラスタリング処理部１２７が行うクラスタリング処理について説明する。
【０１０３】
クラスタリング処理では、クラスタリング処理部１２７は、コンテンツ記憶部１２１に記憶されている写真データのうちの、未クラスタリング写真データを、クラスタリングの対象（以下、適宜、対象写真データという）として、その対象写真データを、コンテンツ記憶部１２１に記憶されたメタデータに含まれる撮影日時に基づいて、その撮影日時の順（例えば、古い順）に並べたときの、その写真データの並び（以下、適宜、対象写真データ列という）を認識し、ステップＳ５１において、対象写真データ列の先頭の写真データから、最大枚数Nより1だけ多いN+1番目の写真データまでのメタデータを、コンテンツ記憶部１２１から読み出すことにより取得して、処理は、ステップＳ５２に進む。
【０１０４】
ステップＳ５２では、クラスタリング処理部１２７は、直前のステップＳ５１で、対象写真データ列の先頭の写真データから、最大枚数Nより1だけ多いN+1番目の写真データまでの、N+1個のメタデータを取得することができたかどうかを判定する。
【０１０５】
ステップＳ５２において、対象写真データ列の先頭の写真データから、最大枚数Nより1だけ多いN+1番目の写真データまでの、N+1個のメタデータを取得することができたと判定された場合、すなわち、対象写真データ列の先頭から最後までの写真データの数がN+1個以上である場合、クラスタリング処理部１２７は、直前のステップＳ５１で取得したメタデータに基づいて、対象写真データ列の先頭の写真データから、最大枚数N以下の順番までの写真データを、１つのクラスタにクラスタリングする。
【０１０６】
すなわち、ステップＳ５２において、対象写真データ列の先頭の写真データから、最大枚数Nより1だけ多いN+1番目の写真データまでの、N+1個のメタデータを取得することができたと判定された場合、処理は、ステップＳ５３に進み、クラスタリング処理部１２７は、直前のステップＳ５１で取得した（N+1個の）メタデータに基づいて、対象写真データ列の先頭の写真データから、最大枚数Nより1だけ多いN+1番目の写真データまでの、N+1個の写真データについての、n番目の写真データと、n+1番目の写真データとの所定の距離尺度による距離d(n)を求める(n=1,2,・・・,N)。
【０１０７】
さらに、ステップＳ５３では、クラスタリング処理部１２７は、N+1個の写真データについての、n番目の写真データと、n+1番目の写真データとの所定の距離尺度による距離d(n)の中で、最大の距離d(k)を求めて(1≦k≦N)、処理は、ステップＳ５４に進む。
【０１０８】
ここで、スクラップブック生成処理では、図５で説明したように、１つのクラスタに属する写真データが、スクラップブックの１ページに貼り付けられる。
【０１０９】
したがって、例えば、いま、スクラップブックの１ページに貼り付けることができる最大枚数Nが２枚である場合において、３枚の写真データ#1乃至#3があり、その３枚の写真データ#1乃至#3のうちの、例えば、写真データ#2と#3との撮影日時や撮影位置が近く、写真データ#1と、写真データ#2及び#3との撮影日時や撮影位置が離れているときには、２枚の写真データまでしか貼り付けることができない１ページには、撮影日時や撮影位置が近い写真データ#2と#3とを貼り付けるのが望ましく、そのためには、撮影日時や撮影位置が近い写真データ#2と#3を、同一のクラスタにクラスタリングする必要がある。
【０１１０】
そこで、クラスタリング処理では、写真データの、例えば、時間的、空間的な近さ（遠さ）を表す距離尺度による距離（写真データの時間的、空間的な非類似性を表す非類似度）に基づき、その距離が相対的に近い写真データどうしが同一のクラスタにクラスタリングされる。
【０１１１】
写真データ#iと#jとの時間的、空間的な近さを表す距離尺度としては、例えば、式（１）や式（２）によって距離dis(i,j)が定義される距離尺度を採用することができる。
【０１１２】
dis(i,j)=α|t(i)-t(j)| + β(|px(i)-px(j)|+|py(i)-py(j)|)
・・・（１）
【０１１３】
dis(i,j)=√(α(t(i)-t(j))2 + β((px(i)-px(j))2+(py(i)-py(j))2))
・・・（２）
【０１１４】
式（１）及び式（２）において、t(i)は、写真データ#iの撮影日時を表す。また、px(i)とpy(i)は、それぞれ、写真データ#iの撮影位置の所定のxy座標系におけるx座標とy座標を表す。所定のxy座標系としては、例えば、ユーザの自宅の位置等を原点とする２次元座標系を採用することができる。
【０１１５】
さらに、式（１）と式（２）において、αとβは重み係数であり、適当な値にセットされる。
【０１１６】
また、重み係数αとβについては、それらのうちの１つ以下を0とすることができる。例えば、重み係数βを0とした場合、距離dis(i,j)は、写真データ#iが撮影されてから写真データ#jが撮影されるまでの時間間隔（時間的な距離）(|t(i)-t(j)|)を表す。また、重み係数βを0とした場合、距離dis(i,j)は、写真データ#iの撮影位置から写真データ#jの撮影位置までの空間的な距離(√((px(i)-px(j))2+(py(i)-py(j))2))を表す。
【０１１７】
ステップＳ５４では、クラスタリング処理部１２７は、対象写真データ列の先頭の写真データから、k番目の写真データまでの、k(≦N)個の写真データを、１つのクラスタにクラスタリングし、処理は、ステップＳ５５に進む。
【０１１８】
すなわち、クラスタリング処理部１２７は、対象写真データ列を、所定の距離尺度による距離d(n)が最大の距離d(k)の位置で、先頭からk番目までの写真データと、k+1番目から最後までの写真データとに分けて、先頭からk番目までの写真データを、１つのクラスタにクラスタリングする。
【０１１９】
ステップＳ５５では、クラスタリング処理部１２７は、対象写真データ列の写真データのうちの先頭からk+1番目の写真データを、対象写真データ列の先頭の写真データに設定して、処理は、ステップＳ５１に戻り、以下、同様の処理が繰り返される。
【０１２０】
すなわち、クラスタリング処理部１２７は、メタデータに基づいて撮影日時の順番に並べた閾値TH以上の数の未クラスタリング写真データの並びである対象写真データ列の先頭からN+1個目までの写真データについての、n番目の写真データとn+1番目の写真データとの所定の距離尺度による距離d(n)の中で、最大の距離d(k)を求め、対象写真データ列の先頭からk番目までの写真データを、１つのクラスタにクラスタリングすることを、対象写真データ列のk+1番目の写真データを、新たな先頭の写真データとして繰り返す。
【０１２１】
そして、ステップＳ５２において、直前のステップＳ５１で対象写真データ列の先頭の写真データから、最大枚数Nより1だけ多いN+1番目の写真データまでの、N+1個のメタデータを取得することができなかったと判定された場合、すなわち、対象写真データ列の先頭から最後までの写真データの数が、N+1個未満であり、１ページに貼り付けることができる最大枚数N以下である場合、処理は、ステップＳ５６に進み、クラスタリング処理部１２７は、対象写真データ列の先頭から最後までの写真データの数が、２以上であるかどうかを判定する。
【０１２２】
ステップＳ５６において、対象写真データ列の先頭から最後までの写真データの数が、２以上であると判定された場合、処理は、ステップＳ５７に進み、クラスタリング処理部１２７は、対象写真データ列の先頭から最後までの写真データのメタデータに基づいて、その、対象写真データ列の先頭から最後までの写真データについての、n番目の写真データと、n+1番目の写真データとの所定の距離尺度による距離d(n)を求める。
【０１２３】
さらに、ステップＳ５７では、クラスタリング処理部１２７は、対象写真データ列の先頭から最後までの写真データについての距離d(n)の中で、最大の距離d(k)を求めて、処理は、ステップＳ５８に進む。
【０１２４】
ステップＳ５８では、クラスタリング処理部１２７は、対象写真データ列の先頭からk+1番目までの写真データを、１つのクラスタにクラスタリングするとともに、k+1番目から最後までの写真データを、他の１つのクラスタにクラスタリングする。
【０１２５】
そして、クラスタリング処理部１２７は、ステップＳ５４及びＳ５８で行ったクラスタリングにより得られたクラスタの情報（例えば、クラスタを特定する情報と、クラスタに属する写真データを特定する情報とのセット等）を、スクラップブック生成部１２６に供給して、処理は、リターンする。
【０１２６】
一方、ステップＳ５６において、対象写真データ列の先頭から最後までの写真データの数が、２以上でないと判定された場合、すなわち、対象写真データ列の先頭から最後までの写真データの数が、その先頭の写真データだけの１つである場合、処理は、ステップＳ５９に進み、クラスタリング処理部１２７は、対象写真データ列の先頭から最後まで写真データ（いまの場合、対象写真データ列の先頭の写真データだけ）を、１つのクラスタにクラスタリングする。
【０１２７】
そして、クラスタリング処理部１２７は、ステップＳ５４及びＳ５９で行ったクラスタリングにより得られたクラスタの情報を、スクラップブック生成部１２６に供給して、処理は、リターンする。
【０１２８】
なお、図６のクラスタリング処理において、ステップＳ５６ないしＳ５８の処理は、行わないようにすることができる。すなわち、ステップＳ５２において、直前のステップＳ５１で対象写真データ列の先頭の写真データから、最大枚数Nより1だけ多いN+1番目の写真データまでの、N+1個のメタデータを取得することができなかったと判定された場合、すなわち、対象写真データ列の先頭から最後までの写真データの数が、N+1個未満であり、１ページに貼り付けることができる最大枚数N以下である場合には、処理を、ステップＳ５９に進め、対象写真データ列の先頭から最後までの、N+1個未満の写真データのすべてを、１つのクラスタにクラスタリングすることができる。
【０１２９】
また、ステップＳ５１では、対象写真データ列のすべての写真データのメタデータを読み出し、ステップＳ５５の後は、処理を、ステップＳ５２に戻すことができる。
【０１３０】
以上のように、クラスタリング処理では、メタデータに基づいて撮影日時の順番に並べた閾値TH以上の数の未クラスタリング写真データの並びである対象写真データ列の先頭からN+1個目までの写真データについての、n番目の写真データとn+1番目の写真データとの所定の距離尺度による距離d(n)の中で、最大の距離d(k)を求め、対象写真データ列の先頭からk番目までの写真データを、１つのクラスタにクラスタリングすることを、対象写真データ列のk+1番目の写真データを、新たな先頭の写真データとして繰り返すので、写真データを、適切な数にクラスタリングすることができる。
【０１３１】
すなわち、複数の写真データを、時間的、空間的な距離が近い写真データどうしであり、かつ、最大枚数N以下の数の写真データが属するクラスタにクラスタリングすることができる。
【０１３２】
したがって、スクラップブックの１ページに貼り付けることができる写真データの数が、デザインの観点等から制限されている場合であっても、その制限の範囲内で、時間的、空間的な距離が近い、いわば、１つにまとめておいた方が好ましい写真データどうしを、意味のあるまとまりとして、１つのクラスタにクラスタリングすることができる。
【０１３３】
そして、１つのクラスタに属する写真データを、スクラップブックの１ページに貼り付けることにより、時間的、空間的な距離が近い写真データどうしを、１ページに配置したスクラップブックを生成することができる。
【０１３４】
なお、本実施の形態では、写真データを、クラスタリングの対象としたが、クラスタリングは、その他、例えば、テレビジョン放送番組や映画等の動画のコンテンツや、ビデオカメラで撮影した動画や静止画のコンテンツ、音楽のコンテンツ等を対象として行うことが可能である。
【０１３５】
また、本実施の形態では、クラスタリング処理（図６）において、クラスタリングされていない写真データ（未クラスタリング写真データ）のすべてを、クラスタリングの対象とするようにしたが、クラスタリングの対象とする写真データは、例えば、ユーザが、入力部１０６を操作することにより指定することができる。
【０１３６】
さらに、本実施の形態では、ユーザが入力部１０６（図１）を操作することにより、スクラップブックプログラムの実行が指示されたときに、スクラップブック生成処理（図５）を行うようにしたが、スクラップブック生成処理は、その他、例えば、周期的に行うことや、ユーザからの指示があったとき等に行うことが可能である。
【０１３７】
以上、本発明をPCに適用した場合について説明したが、本発明は、PCの他、ハードディスクレコーダや、ディジタルスチルカメラ、ディジタルビデオカメラ、音楽プレーヤ等の、コンテンツを蓄積（記憶）する機能を有する装置に適用可能である。
【０１３８】
ここで、本明細書において、コンピュータに各種の処理を行わせるためのプログラムを記述する処理ステップは、必ずしもフローチャートとして記載された順序に沿って時系列に処理する必要はなく、並列的あるいは個別に実行される処理（例えば、並列処理あるいはオブジェクトによる処理）も含むものである。
【０１３９】
また、プログラムは、１のコンピュータにより処理されるものであっても良いし、複数のコンピュータによって分散処理されるものであっても良い。
【０１４０】
なお、本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
【図面の簡単な説明】
【０１４１】
【図１】本発明を適用したPCの一実施の形態の構成例を示すブロック図である。
【図２】スクラップブック装置の機能的な構成例を示すブロック図である。
【図３】スクラップブック表示制御処理によって表示されるリスト画面２００とスクラップブック画面２１０とを示す図である。
【図４】スクラップブック表示制御処理を説明するフローチャートである。
【図５】スクラップブック生成処理を説明するフローチャートである。
【図６】クラスタリング処理を説明するフローチャートである。
【符号の説明】
【０１４２】
１０1  CPU，  １０２  ROM，  １０３  RAM，  １０４  HD，  １０５  出力部，  １０６  入力部，  １０７  通信部，  １０８  ドライブ，  １０９  入出力I/F，  １１１  リムーバブル記録媒体，  １１２  カメラ，  １２１  コンテンツ記憶部，  １２２  スクラップブック記憶部，  １２３  操作部，  １２４  スクラップブック表示制御部，  １２５  表示部，  １２６  スクラップブック生成部，  １２７  クラスタリング処理部
【図１】
0005034706.tif 000002
【図２】
0005034706.tif 000003
【図３】
0005034706.tif 000004
【図４】
0005034706.tif 000005
【図５】
0005034706.tif 000006
【図６】
0005034706.tif 000007