(57)【要約】【課題】ユーザの所望する可能性があるレイアウト候補を自動生成する。【解決手段】コンテンツ特定部３０４は、レイアウト変更対象となるデータ群を特定する。クラスタリング条件決定部３０５は、コンテンツ特定部３０４により特定されたデータ群に基づいて、クラスタリング処理の際の条件を決定する。クラスタリング部３０２は、上記条件に基づいて、データ群に対してクラスタリング処理を行う。レイアウト部３０３は、クラスタリング部３０２により生成された各クラスタに基づいて、上記データ群に対するレイアウト処理を行う。【選択図】図３
2013046188.tif 000002
【特許請求の範囲】
【請求項１】
レイアウト変更対象となるデータ群を特定する特定手段と、
前記特定手段により特定された前記データ群に基づいて、クラスタリング処理の際の条件を決定する決定手段と、
前記決定手段により決定された前記条件に基づいて、前記データ群に対してクラスタリング処理を行うクラスタリング手段と、
前記クラスタリング手段により生成された各クラスタに基づいて、前記データ群に対するレイアウト処理を行うレイアウト手段とを有することを特徴とするレイアウト編集支援装置。
【請求項２】
前記決定手段は、前記データ群のメタデータに基づいて、前記条件を決定することを特徴とする請求項１に記載のレイアウト編集支援装置。
【請求項３】
前記レイアウト手段は、生成した前記各クラスタと、レイアウト変更対象となる前記データ群と関連するクラスタとの相関度に基づいて、前記各クラスタの順序を決定し、前記レイアウト手段は、前記レイアウト手段により決定された前記各クラスタの順序に基づいて、前記データ群に対するレイアウト処理を行うことを特徴とする請求項１又は２に記載のレイアウト編集支援装置。
【請求項４】
前記レイアウト手段は、前記クラスタリング手段により生成された前記各クラスタに含まれるデータをページ毎に割り付けることにより、前記データ群に対するレイアウト処理を行うことを特徴とする請求項１乃至３の何れか１項に記載のレイアウト編集支援装置。
【請求項５】
レイアウト編集支援装置によって実行されるレイアウト編集支援方法であって、
レイアウト変更対象となるデータ群を特定する特定ステップと、
前記特定ステップにより特定された前記データ群に基づいて、クラスタリング処理の際の条件を決定する決定ステップと、
前記決定ステップにより決定された前記条件に基づいて、前記データ群に対してクラスタリング処理を行うクラスタリングステップと、
前記クラスタリングステップにより生成された各クラスタに基づいて、前記データ群に対するレイアウト処理を行うレイアウトステップとを有することを特徴とするレイアウト編集支援方法。
【請求項６】
レイアウト変更対象となるデータ群を特定する特定ステップと、
前記特定ステップにより特定された前記データ群に基づいて、クラスタリング処理の際の条件を決定する決定ステップと、
前記決定ステップにより決定された前記条件に基づいて、前記データ群に対してクラスタリング処理を行うクラスタリングステップと、
前記クラスタリングステップにより生成された各クラスタに基づいて、前記データ群に対するレイアウト処理を行うレイアウトステップとをコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンテンツデータ群のレイアウトを編集するための技術に関するものである。
【背景技術】
【０００２】
デジタル画像データ（以下、写真と称す）を自動レイアウトしてフォトアルバム等のフォトプリントレイアウトを生成するサービスやアプリケーションが知られている。ユーザは、当該サービス等によって生成されたフォトアルバムから気に入ったものを選び、必要に応じて編集を行った上で、プリントサービス等を利用してフォトアルバムを購入することができる。なお、上述したサービスやアプリケーションでは、複数のページで構成されるフォトアルバムに対応するため、多数の写真からページ数や構成も含めて自動化する技術が用いられている（特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００６−２９５８８７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上述したサービス等を用いてフォトアルバムを自動生成した場合、ユーザの望まないレイアウトで生成される可能性がある。当該生成結果がユーザの所望するものと異なる場合、ユーザはアプリケーション等が提供する編集機能を用いて写真の配置等を変更する。しかしながら、複数の写真やページから構成されるフォトアルバムの編集作業は、非常に煩雑な操作が必要になる。
【０００５】
本発明は上記問題を鑑みてなされたものであり、その目的は、ユーザ指示に基づき写真のページ割付処理を変更することで、ユーザの所望する可能性があるレイアウト候補を自動生成することである。
【０００６】
そこで、本発明の目的は、ユーザの所望する可能性があるレイアウト候補を自動生成することにある。
【課題を解決するための手段】
【０００７】
本発明のレイアウト編集支援装置は、レイアウト変更対象となるデータ群を特定する特定手段と、前記特定手段により特定された前記データ群に基づいて、クラスタリング処理の際の条件を決定する決定手段と、前記決定手段により決定された前記条件に基づいて、前記データ群に対してクラスタリング処理を行うクラスタリング手段と、前記クラスタリング手段により生成された各クラスタに基づいて、前記データ群に対するレイアウト処理を行うレイアウト手段とを有することを特徴とする。
【発明の効果】
【０００８】
本発明によれば、ユーザの所望する可能性があるレイアウト候補を自動生成することが可能となる。
【図面の簡単な説明】
【０００９】
【図１】本発明の実施形態におけるレイアウト編集支援処理の概要について説明するための図である。
【図２】本発明の実施形態に係るレイアウト編集支援装置のハードウェア構成を示す図である。
【図３】本発明の実施形態に係るレイアウト編集支援装置の機能的な構成を示す図である。
【図４】本発明の実施形態におけるフォトアルバム生成処理の流れを示すフローチャートである。
【図５】図４のステップＳ４０１０におけるレイアウト処理の流れを示すフローチャートである。
【図６】図５のステップＳ５０００におけるページ割付処理について説明するための図である。
【図７】図５のステップＳ５０１０におけるテンプレート決定処理について説明するための図である。
【図８】図５のステップＳ５０２０におけるレイアウト処理について説明するための図である。
【図９】図４のステップＳ４０２０における編集処理の流れを示すフローチャートである。
【図１０】編集指示の一例について説明するための図である。
【図１１】ステップＳ９０６０及びＳ９０７０におけるレイアウト処理結果の提示及びレイアウトの選択操作の一例について説明するための図である。
【図１２】ステップＳ９０６０及びＳ９０７０におけるレイアウト処理結果の提示及びレイアウトの選択操作の一例について説明するための図である。
【図１３】図９のステップＳ９０１０におけるコンテンツ特定処理の流れを示すフローチャートである。
【図１４】編集対象となっているフォトアルバムのクラスタツリーの一例を示す図である。
【図１５】図９のステップＳ９０２０におけるクラスタリング条件決定処理の流れを示すフローチャートである。
【図１６】写真群が保持するメタデータの一例を示す図である。
【図１７】図９のステップＳ９０３０におけるクラスタリング処理の流れを示すフローチャートである。
【図１８】図１７のステップＳ１７０２０における相関度算出処理の流れを示すフローチャートである。
【図１９】ステップＳ１７０２０及びステップＳ１７０３０の処理について具体的に説明するための図である。
【発明を実施するための形態】
【００１０】
以下、本発明を適用した好適な実施形態を、添付図面を参照しながら詳細に説明する。
【００１１】
図１は、本発明の実施形態におけるレイアウト編集支援処理の概要について説明するための図である。図１において、１０１は、既存のフォトアルバム作成アプリケーションにより自動生成されたフォトアルバムの一例を示している。本実施形態におけるレイアウト編集支援処理では、フォトアルバム１０１からユーザの指示に基づいて代替候補となるフォトアルバム１０２が生成される。具体的には、ユーザは、既存のフォトアルバム作成アプリケーションにより生成されたフォトアルバム１０１に対してレイアウトを編集したいページを指示する。１０３は、ユーザによって編集が指示されたページを示している。本実施形態におけるレイアウト編集支援処理では、当該ページ１０３に含まれるコンテンツデータ群群を用いて異なるレイアウトを自動生成し、ユーザに提示する。１０４は、ページ１０３に含まれるコンテンツデータ群を用いて自動生成されたページ候補を示している。生成されたページ候補はユーザに提示される。ユーザは提示されたページ候補から所望のものを選択することで編集作業を行う。以下では、上記コンテンツデータを写真と称す。
【００１２】
図２は、本発明の実施形態に係るレイアウト編集支援装置のハードウェア構成を示す図である。図２において、２０２は、ＣＰＵ（Central Processing Unit）であり、各種処理のための演算や論理判断等を行い、バス２０１に接続された各種要素を制御する。本実施形態に係るレイアウト編集支援装置には、プログラムメモリ及びデータメモリを含むメモリが搭載されている。プログラムメモリには、後述する各種処理手順をＣＰＵ２０２に実行させるためのプログラムが格納される。プログラムメモリは、ＲＯＭ（Read-Only Memory）２０３であってもよいし、外部記憶装置等からプログラムがロードされるＲＡＭ（Random Access Memory）２０４であってもよい。或いは、これらの組合せで実現しても構わない。
【００１３】
２０５は、本実施形態に係るデータやプログラムを記憶しておくためのハードディスク等の記憶装置である。また本実施形態において、記憶装置２０５は写真等を保持しておくためにも利用される。なお、写真を保持しておく装置としては、外部接続やネットワークに接続された記録装置を用いてもよい。また、記憶装置２０５と同様の役割を果たすものとして、外部記憶装置２０６を用いてもよい。ここで外部記憶装置２０６は、例えば、メディア（記録媒体）と、当該メディアへのアクセスを実現するための外部記憶ドライブとで実現することができる。また上記メディアとしては、例えば、フレキシブルディスク（ＦＤ）、ＣＤ−ＲＯＭ、ＤＶＤ、ＵＳＢメモリ、ＭＯ、フラッシュメモリ等を適用することができる。
【００１４】
２０７は、ユーザからの指示を入力するための入力装置である。ユーザは、入力装置２０７を介して、本実施形態に係るレイアウト編集支援装置に対して指示を行う。入力装置２０７は、例えば、キーボードやポインティングデバイスにより構成される。２０８は、処理結果等を表示する表示手段としての出力装置である。出力装置２０８は、例えば、出力のための回路を含むＣＲＴ（Cathode-Ray Tube）や液晶表示器等のディスプレイ装置により実現することができる。本実施形態においては、写真やレイアウト結果等を出力装置（表示装置）２０８に表示する。２０９は、インタフェース（以下、Ｉ／Ｆと称す）であり、このＩ／Ｆ２０９を介して外部装置とのデータのやりとりを行う。
【００１５】
図３は、本実施形態に係るレイアウト編集支援装置の機能的な構成を示す図である。なお、図３における入力装置２０７及び出力装置２０８は、図１における入力装置２０７と出力装置２０８と同一構成である。
【００１６】
３０２は、クラスタリング部であり、ユーザにより入力された写真群、又は、後述するコンテンツ特定部３０４により特定された写真群のクラスタリング処理を行う。３０３は、レイアウト部であり、クラスタリング部３０２により生成された各クラスタを１ページとして写真のレイアウト処理を行う。このレイアウト処理の例としては、例えば予め用意されたテンプレートに対して写真を配置することでレイアウトすること等が挙げられる。また、レイアウト処理に用いられるテンプレートは、後述するテンプレートＤＢ３０６において保持されている。
【００１７】
３０４は、コンテンツ特定部であり、ユーザが編集を希望するページに含まれる写真群を特定する。３０５は、クラスタリング条件決定部であり、クラスタリング部３０２にて実行されるクラスタリング処理で使用される条件を決定する。即ち、クラスタリング部３０２は、クラスタリング条件決定部３０５により決定された条件に基づいてクラスタリング処理を行う。３０６は、テンプレートＤＢであり、レイアウト部３０３で使用されるレテンプレートを保持する。
【００１８】
本実施形態において、コンテンツ特定部３０４は、ユーザが編集を希望するページに含まれる写真群を特定し、クラスタリング条件決定部３０５は、当該写真群に対してクラスタリング処理の条件を決定する。クラスタリング部３０２は、決定された条件に基づいてクラスタリング処理を行い、レイアウト部３０３は、クラスタリング処理によって生成されたクラスタに基づいてレイアウト処理を行う。以上の処理により、本実施形態においては、元のレイアウトとは異なるレイアウトのページ候補が生成される。なお、上述した各機能構成は、図２のＣＰＵ２０２が外部記録装置等からプログラムをＲＡＭ２０４にロードして実行することにより、実現するものである。
【００１９】
図４は、本実施形態におけるフォトアルバム生成処理の流れを示すフローチャートである。以下、図４を参照しながら、本実施形態におけるフォトアルバム生成処理について説明する。
【００２０】
ユーザは、フォトアルバムを作成したい写真群を選択する。ステップＳ４０００において、レイアウト編集支援装置は、ユーザの選択操作に応じて写真群を選択する。写真群の選択作業においては、ＯＳ等によって提供されるファイル管理システムのインタフェースが利用される。ここでの写真の選択作業はユーザによる手動操作によるものであるが、これとは異なる方法によって写真群を選択してもよい。例えば、レイアウト編集支援装置は、ユーザの閲覧履歴が多いものをユーザの好みの写真として推定し、推定した好みの写真群を選択するようにしてもよい。また、レイアウト編集支援装置は、写真がメタデータとして保有する解像度を利用して、高解像度の写真群を選択するようにしてもよい。
【００２１】
ステップＳ４０１０において、レイアウト編集支援装置は、ステップＳ４０００において選択した写真群を用いてフォトアルバムのレイアウトを生成し、生成したレイアウトをユーザに提示する。ユーザは、必要に応じて、ステップＳ４０１０において生成されたレイアウトに対して編集操作を行う。このように、ユーザはステップＳ４０１０で生成されたレイアウトに対して編集操作を行うことにより、所望のレイアウトを作成する。ステップＳ４０２０において、レイアウト編集支援装置は、ステップＳ４０１０において生成したレイアウトに対してユーザの編集操作に応じた編集処理を行う。本実施形態においては、編集操作において代替となるページ候補を提示することにより、ユーザの編集負荷を軽減させている。
【００２２】
図５は、図４のステップＳ４０１０におけるレイアウト処理の流れを示すフローチャートである。ステップＳ５０００において、レイアウト部３０３は、指定された写真群のページ割付処理を行う。ページ割付処理では、フォトアルバムのページ数と各ページにどの写真を割り付けるかが決定される。具体的には、クラスタリング部３０２は、写真においてＥｘｉｆ等のメタデータとして保持される撮影時刻に基づいて、クラスタリング処理を行う。そして、レイアウト部３０３は、生成されたクラスタからレイアウトに用いるクラスタを特定する。以下、レイアウトに用いられるクラスタのことをレイアウトクラスタと称す。レイアウト部３０３は、特定したレイアウトクラスタ数をフォトアルバムのページ数として決定し、レイアウトクラスタに含まれる写真群を各ページに割りつけることでページ割付処理を行う。このページ割付処理の詳細については、図６を用いて後述する。ここでは、クラスタリング処理の基準を撮影時刻としたが、異なる基準を用いてもよい。例えば、ＧＰＳ等で取得可能な撮影位置がメタデータとして写真に付与されていれば、撮影位置に基づいてクラスタリング処理を行ってもよい。
【００２３】
ステップＳ５０１０において、レイアウト部３０３は、ステップＳ５０００におけるページ割付処理の結果に基づいて各ページに使用するテンプレートを決定する。このテンプレート決定処理は、各ページに割り付けられた写真数に基づいて行われる。テンプレート決定処理の詳細については、図７を用いて後述する。
【００２４】
ステップＳ５０２０において、レイアウト部３０３は、ステップＳ５０１０において決定したテンプレートを用いてレイアウトを行う。具体的には、レイアウト部３０３は、テンプレートに対し、ステップＳ５０００において割り付けられた写真を配置する。このレイアウト処理の詳細については、図８を用いて後述する。以上の処理により、本実施形態に係るレイアウト編集支援装置は、自動的に写真群からフォトアルバムレイアウトを生成し、ユーザに提示することができる。
【００２５】
次に、図６を参照しながら、図５のステップＳ５０００におけるページ割付処理について説明する。図６（ａ）は、ユーザにより選択された写真群の一例を示している。ＩＤ６０１は写真を一意に特定するための識別情報である。撮影時刻６０２は、写真の撮影時刻を示す情報である。ページ割付処理では、上述したように撮影時刻に基づいてクラスタリング処理が行われる。先ず、クラスタリング処理では、各写真を撮影時刻順に並べた後、各写真をクラスタとして定義する。そして、クラスタリング部３０２は、撮影時刻が近いクラスタを順次統合していくことにより、図６（ｂ）に示すようなクラスタツリーを生成する。
【００２６】
次に、レイアウト部３０３は、クラスタツリーに含まれる各クラスタ間の距離に基づいて、レイアウトクラスタを特定する。具体的には、レイアウト部３０３は、末端の全クラスタに対して同一の親クラスタを持つクラスタ間での距離を算出し、距離が予め定められた距離（以下、距離規定値と称す）よりも小さい場合、親クラスタをレイアウトクラスタ候補とする。一方、算出された距離が距離規定値以上である場合、レイアウト部３０３は、当該クラスタをレイアウトクラスタとして特定する。次に、レイアウトクラスタ候補となるクラスタが存在する場合、レイアウト部３０３は、全てのレイアウトクラスタ候補となるクラスタに対して同一の親クラスタを持つクラスタ間での距離を算出し、上述した方法と同様にレイアウトクラスタを特定する。レイアウト部３０３は、このような処理をレイアウトクラスタ候補となるクラスタがなくなるまで繰り返すことによりレイアウトクラスタを特定する。図６（ｃ）は、特定されたレイアウトクラスタを示している。即ち、クラスタＡ（写真Ａ）とクラスタＢ（写真Ｂ）との距離は距離規定値よりも小さいため、レイアウトクラスタとは特定されていない。クラスタＡＢ（クラスタＡ＋クラスタＢ）とクラスタＣＤＥ（クラスタＣ＋クラスタＤ＋クラスタＥ）との距離は距離規定値以上であるため、レイアウトクラスタとして特定されている。
【００２７】
このように特定された各レイアウトクラスタを１ページとすることでページ割付処理が完了する。具体的には、各レイアウトクラスタに含まれる写真群を１つのページに配置するという対応付けが行われる。この対応付けの結果は、不図示のページ割付テーブルに保持される。図６（ｃ）の例では、レイアウトクラスタが２つ存在するため、フォトアルバムのページ数は２となる。ページ順序は、クラスタ順序と同様である。即ち、撮影時刻が早いレイアウトクラスタから撮影時刻が遅いレイアウトクラスタという順序でページ順序が決定される。ここでは、１ページ目に写真Ａ及び写真Ｂが対応付けられ、２ページ目に写真Ｃ、写真Ｄ及び写真Ｅが対応付けられる。
【００２８】
本実施形態では、距離規定値を予め定めたものとしたが、距離規定値を算出するようにしてもよい。例えば、フォトアルバムにおけるページ数に制約を設け、ページ数制約に応じて距離規定値を決定してもよい。即ち、ページ数制約と合致するレイアウトクラスタ数となるように距離規定値が算出される。フォトアルバム作成サービスでは、ページ数により課金される場合がある。そのため、ユーザは予算に応じてページ数を決定し、ページ数をページ数制約として設定することが考えられる。上述した方法によって距離規定値を求めることにより、ページ数制約に応じてレイアウトクラスタを決定することが可能になり、ユーザにより指定されたページ数のフォトアルバムを生成することができる。
【００２９】
次に、図７を参照しながら、図５のステップＳ５０１０におけるテンプレート決定処理について説明する。図７は、テンプレートを保持するテンプレートテーブルを示す図である。テンプレートテーブルは図３におけるテンプレートＤＢ３０６に格納されており、写真数毎に利用可能なテンプレートが管理されている。図７に示すテンプレートテーブルでは、写真数７０１にて規定される写真数毎に一意にテンプレートを特定するためのテンプレートＩＤ７０２が格納されている。例えば、あるレイアウトクラスタにおける写真数が２つである場合に利用可能なレイアウトテンプレートのテンプレートＩＤは、Ｔ０００３、Ｔ０００４及びＴ０００５であることがわかる。テンプレート決定処理では、レイアウト部３０３が各ページに割り付けられた写真数を基にテンプレートテーブルを参照することによりテンプレートを決定する。ページに対して割り付けられたテンプレートを示す情報は、上述した不図示のページ割付テーブルに追記される。利用可能なテンプレートが複数存在する場合、既存のランダム値生成技術を用いてランダムにテンプレートが選択される。但し、テンプレートの選択処理はランダムではなく、異なる方法を用いてもよい。例えば、テンプレートに対して適合する写真の条件を付与しておき、当該条件に基づきテンプレートを選択してもよい。具体的には、写真の代表色を条件としてテンプレートに定義しておき、写真群の代表色を用いてテンプレートを特定することができる。当該手法により、写真の色合い等に応じて適切なテンプレートを選択することが可能になる。
【００３０】
次に、図８を参照しながら、図５のステップＳ５０２０におけるレイアウト処理について説明する。図８はテンプレートの一例を示す図である。図８に示すテンプレートは、ページ全体を示すページ領域８０１と写真を配置する領域であるスロット８０２とから構成される。レイアウト処理では、テンプレート内のスロット８０２に写真が配置される。スロット８０２に対する写真の配置処理は、既存のランダム値生成技術を用いて写真がランダムに配置される。ここでは、写真をランダムに配置することとしたが、他の方法を用いてもよい。例えば、スロット８０２に対して配置順番を定義しておき、配置順番と撮影時刻の順番とが合致するようにスロットに配置してもよい。また、１つのパターンを生成するのではなく、考えられる全ての配置の組合せを生成して、当該レイアウト結果をユーザに選択させることも可能である。
【００３１】
図９は、図４のステップＳ４０２０における編集処理の流れを示すフローチャートである。以下、図９を参照しながら、編集処理の流れについて詳細に説明する。ステップＳ９０００において、レイアウト編集支援装置は、ユーザによる編集対象の指示を受け付ける。編集対象は、ページ単位で指定可能であり、ユーザはレイアウトを変更したいと考えるページを選択する。変更したいページが複数存在する場合、複数のページを選択することができる。フォトアルバムのレイアウトは、既存のレイアウトアプリケーションと類似の形式で表示されており、ユーザは当該表示に対して編集したいページを指示することが可能である。
【００３２】
ここで、図１０を参照しながら、編集指示の一例について説明する。図１０（ａ）は、本実施形態におけるレイアウト編集画面を示している。レイアウト編集画面は、メニュー１００１、レイアウト表示画面１００２及びスクロールバー１００３から構成される。メニュー１００１は、レイアウト結果等を保存する指示を行うためのファイル等、アプリケーションが提供する機能へのアクセス手段を提供している。レイアウト表示画面１００２は、本実施形態におけるレイアウト編集支援装置により生成されたフォトアルバムのレイアウトが表示される。ページ数が多く、レイアウトが一画面内に収まらない場合、スクロールバー１００３により表示するページをコントロールすることが可能である。
【００３３】
ユーザは、レイアウト表示画面１００２に表示されるレイアウトから変更を行いたいページを、マウスを用いて指示する。図１０（ｂ）の１００４に示すように、指示されたレイアウトはハイライト表示される。指示されたレイアウトが存在する状態で、マウスの右クリックが行われることにより、図１０（ｃ）の１００５に示すように、編集メニューが表示される。ユーザは、編集メニュー１００５における自動編集を指示することにより、レイアウト変更を指示する。
【００３４】
ステップＳ９０１０において、コンテンツ特定部３０４は、ステップＳ９０００におけるユーザの指示に基づいてコンテンツ特定処理を行う。コンテンツ特定処理は、レイアウト変更対象となる写真群を特定する処理である。ステップＳ９０１０の詳細は、図１３を用いて後述する。
【００３５】
ステップＳ９０２０において、クラスタリング条件決定部３０５は、ステップＳ９０１０において特定された写真群に対するクラスタリング条件を決定する。クラスタリング条件決定処理では、後述するステップＳ９０３０のクラスタリング処理において基準として用いられるクラスタリング条件としてメタデータと距離規定値とが決定される。ステップＳ９０２０の詳細は、図１５を用いて後述する。
【００３６】
ステップＳ９０３０において、クラスタリング部３０２は、ステップＳ９０２０において決定されたクラスタリング条件に基づいて、ステップＳ９０１０にて特定された写真群に対してクラスタリング処理を行う。ステップＳ９０３０は、図５におけるステップＳ５０００と類似の処理であり、写真群に対するページ割付が決定される。ステップＳ９０３０の詳細は、図１７を用いて後述する。
【００３７】
ステップＳ９０４０において、レイアウト部３０３は、ステップＳ９０３０における処理結果に基づいてテンプレートを決定する。ステップＳ９０４０は、図５におけるステップＳ５０１０と同様の処理である。
【００３８】
ステップＳ９０５０において、レイアウト部３０３は、ステップＳ９０３０及びステップＳ９０４０における処理結果に基づいてレイアウトを行う。ステップＳ９０５０は、図５におけるステップＳ５０２０と同様の処理であり、ページ内の写真配置が決定される。
【００３９】
ステップＳ９０６０において、レイアウト部３０３は、ステップＳ９０５０におけるレイアウト処理結果をユーザに提示する。ステップＳ９０５０におけるレイアウト処理結果としてレイアウトが複数生成された場合、複数のレイアウト処理結果をリストにして提示する。提示する順序は、既存のランダム値生成技術を用いてランダムに並べてもよいし、ステップＳ９０５０における処理順で並べてもよい。また、レイアウトの品質を評価する既存技術を用いてレイアウトのスコアを算出し、算出されたスコア順に並べることも可能である。レイアウトの品質評価技術としては、余白量等に基づいて品質を定量評価する技術が知られている。
【００４０】
ステップＳ９０７０において、レイアウト部３０３は、ステップＳ９０６０において提示したレイアウト処理結果に対するユーザの選択操作を受け付ける。レイアウト部３０３は、ユーザによって選択されたレイアウトを適用した新たなフォトアルバムのレイアウト処理結果を提示する。
【００４１】
ステップＳ９０６０及びＳ９０７０におけるレイアウト処理結果の提示及びレイアウトの選択操作の一例について、図１１及び図１２を参照しながら説明する。図１１（ａ）は、レイアウト処理結果の表示画面を示している。図１１（ａ）に示すように、レイアウト処理結果の表示画面は、生成された複数のレイアウト候補が表示される候補表示領域１１０１を備えている。候補表示領域１１０１には、生成されたレイアウト候補が候補リスト１１０２においてリスト形式で表示される。ユーザは、候補リスト１１０２から所望のレイアウト候補を選択する。図１１（ｂ）に示すように、選択されたレイアウト候補１１０３はハイライト表示される。選択されたレイアウト候補１１０３が存在する状態で、マウスを右クリックすることにより決定メニュー１１０４が表示される。ユーザが決定メニュー１１０４を指示することにより、図１２に示すように、選択されたレイアウト候補を用いた新たなフォトアルバムレイアウトが表示される。
【００４２】
ユーザは、必要に応じて、上述した編集処理をレイアウト編集支援装置に実行させることにより、編集作業を簡易な操作で行うことができる。
【００４３】
以上説明したように、クラスタリング条件を新たに生成することにより、ページに割り付けられる写真数が変更される。写真数が変わることで使用されるテンプレートも変更され、結果として異なるレイアウトが生成される。生成されたレイアウトは、クラスタリング条件により意味付けされたものとなっており、ランダムに配置されたものとは異なり、人間にとっても理解しやすいレイアウトが実現されることになる。
【００４４】
図１３は、図９のステップＳ９０１０におけるコンテンツ特定処理の流れを示すフローチャートである。ステップＳ１３０００において、コンテンツ特定部３０４は、ユーザにより選択されたページと対応付けられるレイアウトクラスタを特定する。レイアウトクラスタの特定処理は、上述した不図示のページ割付テーブルを用いて行われる。
【００４５】
ステップＳ１３０１０において、コンテンツ特定部３０４は、ステップＳ１３０００で特定したレイアウトクラスタを全て含むクラスタを特定する。この処理では、コンテンツ特定部３０４は、各レイアウトクラスタの親クラスタを順次探索していき、全レイアウトクラスタを含むクラスタを特定する。
【００４６】
ここで、図１４を参照しながら、ステップＳ１３０１０について具体的に説明する。図１４は、編集対象となっているフォトアルバムのクラスタツリーの一例を示している。ユーザにより指示されたページと対応付けられるレイアウトクラスタがクラスタ１４０１及びクラスタ１４０２である場合、これらのレイアウトクラスタを含むクラスタは、クラスタ１４０３と特定される。これにより、複数のページに対して一度にレイアウト変更を行うことが可能となる。ここでは、ユーザにより指示された全レイアウトクラスタを含むクラスタを特定することにより、複数のページに対するレイアウトを一括で実施する方法について説明したが、異なる方法を用いてもよい。即ち、ユーザにより指示のあったレイアウトクラスタ毎にレイアウト変更処理を行ってもよい。
【００４７】
ステップＳ１３０２０において、コンテンツ特定部３０４は、ステップＳ１３０１０において特定したクラスタに基づき、レイアウト変更対象となる写真群を特定する。具体的には、コンテンツ特定部３０４は、ステップＳ１３０１０において特定したクラスタが含む全写真をレイアウト対象として決定する。
【００４８】
図１５は、図９のステップＳ９０２０におけるクラスタリング条件決定処理の流れを示すフローチャートである。ステップＳ１５０００において、クラスタリング条件決定部３０５は、図９のステップＳ９０１０において特定された写真群に共通のメタデータを特定する。図１６は、写真群が保持するメタデータの一例を示す図である。図１６に示すように、各写真はメタデータを保持している。ステップＳ１５０００において、クラスタリング条件決定部３０５は、各写真のメタデータを参照することにより、全写真に共通のメタデータを特定する。図１６に示す例では、撮影時刻、撮影場所及びお気に入り度が共通のメタデータとして特定される。
【００４９】
ステップＳ１５０１０において、クラスタリング条件決定部３０５は、指示されたレイアウトが生成された際のクラスタリング条件を取得する。クラスタリング条件とは、上述したようにクラスタリング処理で用いられるメタデータ及び距離規定値である。例えば、最初に生成されるレイアウトは全て撮影時刻に基づいてクラスタリング処理が行われ、距離規定値は予め規定されている。従って、最初に生成されたレイアウトである場合、ステップＳ１５０１０において取得されるクラスタリング条件は、撮影時刻と予め規定された距離規定値ということになる。一方、ユーザにより１回以上レイアウト変更が行われた場合、異なるメタデータ及び距離規定値でクラスタリング処理が行われている。従って、撮影時刻とは別のメタデータ及び距離規定値が取得されることになる。なお、各クラスタリング条件は、クラスタリング処理毎に不図示のクラスタリング条件テーブルに格納されている。ステップＳ１５０１０においては、このクラスタリング条件テーブルを参照することにより、クラスタリング条件が取得される。
【００５０】
ステップＳ１５０２０において、クラスタリング条件決定部３０５は、ステップＳ１５０００及びステップＳ１５０１０で取得した情報に基づいて、新たなクラスタリング条件を生成する。具体的には、クラスタリング条件決定部３０５は、ステップＳ１５０００で特定したメタデータ毎に新たなクラスタリング条件を生成する。
【００５１】
先ず、クラスタリング条件決定部３０５は、メタデータがステップＳ１５０１０で取得したクラスタリング条件で使用されたものと同じものか否かを判定する。判定処理は、メタデータ名称を単語とし、単語のマッチングを行うことにより実現する。マッチング処理は完全一致としてもよいし、辞書等を用いて類似する単語であれば合致したと判定してもよい。
【００５２】
判定の結果、メタデータがステップＳ１５０１０で取得したクラスタリング条件で使用されたものと同じものである場合、クラスタリング条件決定部３０５は、ステップＳ１５０１０で取得したクラスタリング条件の距離規定値を変更して、新たなクラスタリング条件を生成する。例えば、元のクラスタリング条件が、メタデータ：撮影時刻、距離規定値：１時間である場合、新たなクラスタリング条件は、メタデータは変わらないが、距離規定値が変更されたものになる。距離規定値の変更方法は、予め規定しておいた割合で変更してもよいし、ランダムに変更してもよい。先に述べた例では、新たなクラスタリング条件の一例として、メタデータ：撮影時刻、距離規定値：５分等が考えられる。これにより、元のレイアウトとは異なる粒度でページ割付を行うことが可能になる。例えば、旅行記録のフォトアルバムを作成する場合を考える。当初のレイアウトでは、１時間を目安にページ割付が行われていたが、部分的に５分を目安にページ分割を行うことが可能になる。名所が多い都市等の観光の場合、短時間に多数の写真撮影を行うことが考えられる。当初のレイアウトでは、多くの写真が１ページに配置されてしまい名所での撮影記録を効果的に配置することができないが、クラスタリング条件を変更することにより、１ページ当たりの配置枚数を簡易に変更することが可能になる。
【００５３】
一方、判定の結果、メタデータがステップＳ１５０１０で取得したクラスタリング条件で使用されたものと異なるものである場合、クラスタリング条件決定部３０５は、新たなクラスタリング条件としてメタデータと距離規定値とを更新する。例えば、元のクラスタリング条件におけるメタデータが撮影時刻で判定対象となるメタデータがお気に入り度であった場合、新たなクラスタリング条件のメタデータはお気に入り度と設定される。距離規定値の設定処理は、上述した方法と同様にランダムで設定してもよいし、予め規定しておいたメタデータ毎の距離規定値を用いてもよい。
【００５４】
図１７は、図９のステップＳ９０３０におけるクラスタリング処理の流れを示すフローチャートである。ステップＳ１７０００において、クラスタリング部３０２は、クラスタリング条件を取得する。クラスタリング条件取得処理は、図９におけるステップＳ９０２０で決定されたクラスタリング条件を取得することで実現する。クラスタリング条件が複数存在する場合、クラスタリング条件毎に以降のステップＳ１７０１０からステップＳ１７０３０を実施する。
【００５５】
ステップＳ１７０１０において、クラスタリング部３０２は、ステップＳ１７０００で取得したクラスタリング条件に基づいてクラスタリング処理を行う。クラスタリング処理は、図５におけるステップＳ５０００と同様の処理である。即ち、クラスタリング部３０２は、クラスタリング条件に規定されるメタデータを基準としてクラスタリング処理を行い、クラスタツリーを生成する。そして、クラスタリング部３０２は、生成されたクラスタツリーに対してクラスタリング条件で規定される距離規定値を基にレイアウトクラスタ特定処理を行う。
【００５６】
ステップＳ１７０２０において、クラスタリング部３０２は、ステップＳ１７０１０で生成されたレイアウトクラスタと当該レイアウトクラスタと関連するクラスタとの相関度を算出する。相関度算出処理については図１８を用いて後述する。ステップＳ１７０３０において、クラスタリング部３０２は、ステップＳ１７０２０で算出した相関度に基づいてレイアウトクラスタの順序を変更し、クラスタツリーを更新する。
【００５７】
ここで、ステップＳ１７０２０及びステップＳ１７０３０の処理について具体的に説明する。図１９（ａ）は、フォトアルバム全体を示すクラスタツリーを示しており、ユーザにより変更指示があったクラスタがクラスタＢである。図１９（ｂ）は、クラスタＢに対し、新たなクラスタリング条件に基づいてクラスタリング処理を行った結果を示しており、新たなクラスタとしてクラスタＸとクラスタＹとが生成されている。クラスタリング部３０２は、変更指示のあったクラスタＢの関連クラスタとして直前のクラスタＡを特定した場合、クラスタＸ及びクラスタＹの夫々についてクラスタＡとの相関度を算出する。図１９（ｃ）は、クラスタＡとの相関度がクラスタＸの方が高い場合に最終的に生成されるクラスタツリーを示している。一方、図１９（ｄ）は、クラスタＡとの相関度がクラスタＹの方が高い場合に生成されるクラスタツリーを示している。クラスタＡとの相関度が高いクラスタがクラスタＡと近接するように決定されている。
【００５８】
以上の処理により、新たなクラスタリング条件により元のレイアウトの一部に対する異なるページ割付が実現される。当該処理により、部分的にクラスタリング条件が変更されるため、生成されるレイアウトが人間に違和感を与える可能性がある。例えば、フォトアルバム全体は、撮影時刻を基にページが構成されているが、部分的に撮影場所を基にページが構成されるということが考えられる。このような課題を解決するため、本実施形態では、ステップＳ１７０２０及びステップＳ１７０３０の処理により元のレイアウトとの相関が近くなるように新しいページ割付を実現している。即ち、新たに生成される部分的なレイアウトが人間に違和感を与える可能性を低減することが可能である。
【００５９】
図１８は、図１７のステップＳ１７０２０における相関度算出処理の流れを示すフローチャートである。ステップＳ１８０００において、クラスタリング部３０２は、レイアウト変更対象として指示されたクラスタの関連クラスタを特定する。関連クラスタの特定処理では、レイアウト変更対象のクラスタと前後するクラスタが特定される。ステップＳ１８０１０において、クラスタリング部３０２は、相関度を算出するための基準となるメタデータを決定する。基準メタデータ取得処理では、ステップＳ１８０００で特定されたクラスタに含まれる写真と図１７のステップＳ１７０１０で生成されたクラスタに含まれる写真とに共通のメタデータが抽出される。例えば、関連クラスタに含まれる写真に付与されるメタデータが撮影時刻とお気に入り度とであり、図１７のステップＳ１７０１０で生成されたクラスタに含まれるメタデータが撮影時刻と撮影位置とであった場合、撮影時刻が基準メタデータとして抽出される。この例では、単一のメタデータが抽出されたが、共通のメタデータが複数あった場合、複数のメタデータが抽出される。ここで、基準メタデータの決定方法として共通メタデータの抽出を用いたが、異なる方法でも実現可能である。例えば、ステップＳ１８０００で特定されたクラスタが生成される際に用いられたメタデータでもよい。即ち、元のフォトアルバムが撮影時刻でクラスタリングされていた場合、撮影時刻を基準メタデータとしてもよい。
【００６０】
ステップＳ１８０２０において、クラスタリング部３０２は、ステップＳ１８０１０で決定された基準メタデータに基づいて、関連クラスタと図１７のステップＳ１７０１０で生成されたクラスタとの相関度を算出する。相関度算出は、メタデータに基づいてクラスタ間の距離を算出することで実現する。クラスタ間の距離の算出は既存技術を用いて行う。例えば、クラスタ内の写真が持つメタデータの平均値を用いてクラスタ間の距離を算出する方法が知られている。
【００６１】
本実施形態では、相関度を求める基準をメタデータとする方法を説明したが、異なる方法を用いてもよい。例えば、写真の色味（色相・彩度・明度）に着目し、色味の相性を相関度とする方法が可能である。色味の相性はレイアウトデザインの知識として一般に知られており、当該知識を利用することで実現可能である。具体的には、同系色（色相が同じで彩度・明度が異なるもの）、類似色（色相が近接し彩度・明度が同一のもの）、補色（色相が対称となるもの）が相性の良い色味の一例として知られている。従って、色相・彩度・明度の距離を用いることで相性を判断することができる。
【００６２】
また、相関度を算出する方法としては、相関度を求める際にページ構成に着目する手法も考えられる。フォトアルバムの場合、見開きページとなる組合せは強い相関が求められる可能性が高いがページめくりが発生する場合は、連続するページの相関度が低くても人間に違和感を与えない可能性もある。例えば、見開きページとなるかページめくりが発生するかに応じて相関度に対して係数を乗算し、ページ構成を考慮した相関度を決定する方法により実現可能である。
【００６３】
本実施形態においては、ユーザによって指定された写真群のメタデータに基づいてクラスタリング条件を変更し、当該変更結果に合わせてレイアウト処理を行うことにより、ユーザの所望する可能性があるレイアウト候補を自動生成することが可能となる。
【００６４】
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【符号の説明】
【００６５】
３０２：クラスタリング部、３０３：レイアウト部、３０４：コンテンツ特定部、３０５：クラスタリング条件決定部、３０６：テンプレートＤＢ
【図１】
2013046188.tif 000003
【図２】
2013046188.tif 000004
【図３】
2013046188.tif 000005
【図４】
2013046188.tif 000006
【図５】
2013046188.tif 000007
【図６】
2013046188.tif 000008
【図７】
2013046188.tif 000009
【図８】
2013046188.tif 000010
【図９】
2013046188.tif 000011
【図１０】
2013046188.tif 000012
【図１１】
2013046188.tif 000013
【図１２】
2013046188.tif 000014
【図１３】
2013046188.tif 000015
【図１４】
2013046188.tif 000016
【図１５】
2013046188.tif 000017
【図１６】
2013046188.tif 000018
【図１７】
2013046188.tif 000019
【図１８】
2013046188.tif 000020
【図１９】
2013046188.tif 000021