(57)【要約】【課題】適切な表示順序に従ってレイアウトを出力することができる情報処理装置、情報処理方法、およびプログラムを提供する。【解決手段】複数のレイアウトに基づいて当該複数のレイアウト同士の類似度を判定し、当該判定された類似度に応じて、当該複数のレイアウトの表示順序を、当該表示順序において連続する２つのレイアウトが類似しないように決定する。決定された表示順序に従って、複数のレイアウトを表示装置に表示させる。【選択図】図３４
2014016816.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも１つの画像をテンプレートに配置して、複数のレイアウトを生成する生成手段と、
前記生成手段により生成される複数のレイアウトに基づいて当該複数のレイアウト同士の類似度を判定し、当該判定された類似度に応じて、当該複数のレイアウトの表示順序を、当該表示順序において連続する２つのレイアウトが類似しないように決定する決定手段と、
前記決定手段により決定された表示順序に従って、前記複数のレイアウトを表示装置に表示させる表示制御手段と、
を有することを特徴とする情報処理装置。
【請求項２】
前記決定手段は、前記生成手段により生成される複数のレイアウトに含まれる画像に基づき、当該複数のレイアウト同士の類似度を判定することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記決定手段は、前記表示順序における第１のレイアウトに含まれる画像を、前記表示順序において当該第１のレイアウトに連続する第２のレイアウトが所定割合よりも多く含まないように、表示順序を決定することを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記決定手段は、前記生成手段により既に生成されている複数のレイアウト同士の類似度を判定し、当該判定された類似度に基づき、当該複数のレイアウトの表示順序を決定することを特徴とする請求項１乃至３のいずれか１項に記載の情報処理装置。
【請求項５】
前記決定手段は、前記生成手段により生成されるレイアウトに使用される画像の数と当該レイアウトに使用されるテンプレートにおける画像を配置する領域数とを用いて、前記類似度を判定することを特徴とする請求項１乃至４のいずれか１項に記載の情報処理装置。
【請求項６】
前記決定手段は、前記生成手段により生成される表示対象の候補である複数のレイアウト同士の類似度に基づき、当該複数のレイアウトのうちの、互い類似しない表示対象のレイアウトを特定し、特定された当該表示対象のレイアウトの表示順序を決定することを特徴とする請求項１乃至５のいずれか１項に記載の情報処理装置。
【請求項７】
前記表示制御手段は、前記複数のレイアウトのうちの表示対象のレイアウトを順次切り替えることにより、当該複数のレイアウトを表示させることを特徴とする請求項１乃至６のいずれか１項に記載の情報処理装置。
【請求項８】
少なくとも１つの画像をテンプレートに配置して、複数のレイアウトを生成する生成工程と、
前記生成工程により生成される複数のレイアウトに基づいて当該複数のレイアウト同士の類似度を判定し、当該判定された類似度に応じて、当該複数のレイアウトの表示順序を、当該表示順序において連続する２つのレイアウトが類似しないように決定する決定工程と、
前記決定工程により決定された表示順序に従って、前記複数のレイアウトを表示装置に表示させる表示制御工程と、
を有することを特徴とする情報処理方法。
【請求項９】
請求項８に記載の情報処理方法をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は情報処理装置、情報処理方法、およびプログラムに関する。
【背景技術】
【０００２】
近年、撮像素子で撮影した画像をデジタルデータとして記録するデジタルカメラが広く普及している。また予めデザインされた背景に、デジタルカメラにより撮影された画像を挿入して合成画像を生成し、印刷物にする方法が知られている。
【０００３】
特許文献１では、画像配置領域が設定されている複数のテンプレートを保持し、そのテンプレートの画像配置領域に画像を合成する処理が提案されている。
【０００４】
特許文献１では、予め用意したテンプレートをそのままユーザーに選択させる方法では、オリジナリティに欠けるとして、以下の方法で、合成画像を生成している。まず、撮影した画像を用いて、予めデザインされた背景に、画像を挿入して合成画像を生成する。生成されたレイアウトを基本レイアウトとし、基本レイアウトのパラメータを変化させることで複数の画像合成結果を作成する。例えば、基本レイアウトのパラメータ（各画像配置領域の配置位置や形状、サイズ、または、背景色）を変化させて、複数の画像合成結果を生成する。そして、生成した複数の画像合成結果を順次表示して、ユーザーがその複数の画像合成結果から所望のものを選択する方法を提案している。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００９−２４５０７１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
特許文献１では、基本レイアウトのパラメータを変更して作成された複数のレイアウトを順次表示させるときに、レイアウト作成がされた順序に従って表示させる。よって、類似している複数のレイアウトが連続して作成されていた場合には、その類似の複数のレイアウトが連続して表示される。このとき、例えばユーザーが所望のレイアウトが上記の類似のレイアウトでなかった場合、ユーザーはその類似している複数のレイアウトの表示を待たなくては、所望のレイアウトを表示させることができない。
【０００７】
以上の課題を鑑みて本発明は、適切な表示順序に従ってレイアウトを表示させることができる情報処理装置、情報処理方法、およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記課題を解決するために、
少なくとも１つの画像をテンプレートに配置して、複数のレイアウトを生成する生成手段と、
前記生成手段により生成される複数のレイアウトに基づいて当該複数のレイアウト同士の類似度を判定し、当該判定された類似度に応じて、当該複数のレイアウトの表示順序を、当該表示順序において連続する２つのレイアウトが類似しないように決定する決定手段と、
前記決定手段により決定された表示順序に従って、前記複数のレイアウトを表示装置に表示させる表示制御手段と、
を有する。
【発明の効果】
【０００９】
本発明によれば、表示順序において連続する２つのレイアウトが類似しないように表示させることができるため、適切な表示順序に従ってレイアウトを表示させることが可能となる。
【図面の簡単な説明】
【００１０】
【図１】本発明のソフトウェアを実行可能なハードウェア構成図。
【図２】本発明の処理のソフトウェアブロック図。
【図３】画像解析処理のフローチャート。
【図４】画像解析処理のフローチャート。
【図５】人物グループ生成処理のフローチャート。
【図６】自動レイアウト提案処理のフローチャート。
【図７】人物グループの表示例を示す図。
【図８】サムネイル形式による画像群の表示例を示す図。
【図９】カレンダー形式による画像群の表示例を示す図。
【図１０】画像解析した結果得られる属性情報の例を示す図。
【図１１】画像解析結果の保存形式の例を示す図。
【図１２】ユーザーが手動入力可能な属性情報の例を示す図。
【図１３】手動でお気に入り度を入力するためのＵＩ例を示す図。
【図１４】手動でイベント情報を入力するためのＵＩ例を示す図。
【図１５】手動で人物属性情報を入力するためのＵＩ例を示す図。
【図１６】人物属性情報の保存形式の例を示す図。
【図１７】レイアウトテンプレートの一例を示す図。
【図１８】図１７のレイアウトテンプレートの保持形式の例を示す図。
【図１９】レイアウトテンプレートの一例を示す図。
【図２０】図１９のレイアウトテンプレートの保持形式の例を示す図。
【図２１】第１の実施形態における自動レイアウト生成処理のフローチャート。
【図２２】第１の実施形態における不要画像フィルタリング処理のフローチャート。
【図２３】自動トリミング処理の一例を示す図。
【図２４】自動レイアウトを行う際のレイアウト評価値の例を示す図。
【図２５】明るさ適正度の算出方法の説明図。
【図２６】彩度適正度の算出方法の説明図。
【図２７】トリミング欠け判定処理の説明図。
【図２８】画像類似性判定処理の説明図。
【図２９】自動レイアウト生成結果の表示例を示す図。
【図３０】決定されたテーマと主人公情報の保持例を示す図。
【図３１】決定されたテーマと主人公情報の保持例を示す図。
【図３２】生成した自動レイアウト情報の保持例を示す図。
【図３３】レイアウト生成部で生成したレイアウトをスコア順に並べた例を示す。
【図３４】第１の実施形態における似ているレイアウトが続かないようにレイアウトを制御する処理のフローチャートを示す図。
【図３５】第１の実施形態における表示候補リストに登録された最終的なレイアウトの例を示す図。
【図３６】第２の実施形態におけるレイアウト類似評価値及びレイアウト評価値を用いて制御する処理のフローチャート。
【図３７】第２の実施形態における表示候補リストに登録された最終的なレイアウトの例を示す図。
【発明を実施するための形態】
【００１１】
＜第１の実施形態＞
以下では、入力画像群を用いて自動でレイアウト出力物を生成するために、本発明における第１実施形態について説明する。これはあくまで実施の１つの形態を例として示したものであり、本発明は以下の実施に限定されるものではない。
【００１２】
なお、本実施形態では簡単のため、レイアウト出力物として、１ページのコラージュ系出力物を想定するが、複数ページのアルバム出力としてもよい。
【００１３】
＜ハードウェア構成の説明＞
図１は、第１実施形態に係わる情報処理装置のハードウェア構成例を説明するブロック図である。図１において、情報処理装置１１５は、ＣＰＵ１００と、ＲＯＭ１０１と、ＲＡＭ１０２と、２次記憶装置１０３と、表示装置１０４と、入力デバイス１０５と、ＩＦ１０７と、ＩＦ１０８と、無線ＬＡＮ  Ｉ／Ｆ１０９を備えている。さらに、内部撮像デバイス１０６を備えている。これらは、制御バス／データバス１１０により相互に接続されている。本実施形態の情報処理装置１１５は、画像処理装置として機能する。
【００１４】
図１において、ＣＰＵ（中央演算装置）１００は、本実施形態で説明する情報処理方法を以下に示すアプリケーションなどのプログラムに従って実行する。ＲＯＭ１０１は、ＣＰＵ１００により実行されるプログラムが記憶されている。ＲＡＭ１０２は、ＣＰＵ１００によるプログラムの実行時に、各種情報を一時的に記憶するためのメモリを提供している。２次記憶装置１０３はハードディスク等であり、画像ファイルや画像解析結果を保存するデータベースなどを保存するための記憶媒体である。表示装置１０４は例えばディスプレイであり、本実施形態の処理結果など以下に示す種々のＵＩ（Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）をユーザーに提示する装置である。表示装置１０４はタッチパネル機能を備えても良い。また、１１０は制御バス／データバスであり、上述の各部とＣＰＵ１００とを接続する。このほかにユーザーが画像補正の処理の指示等を入力するためのマウスやキーボード等といった入力デバイス１０５も備える。
【００１５】
また、情報処理装置１１５は、内部撮像デバイス１０６を備えてもよい。内部撮像デバイス１０６で撮像された画像は、所定の画像処理を経た後、２次記憶装置１０３に保存される。また、画像データはインターフェース（ＩＦ１０８）を介して接続された外部撮像デバイス１１１から読み込んでも構わない。さらに、情報処理装置１１５は無線ＬＡＮ（Ｌｏｃａ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）と接続するための無線ＬＡＮ  Ｉ／Ｆ１０９を備え、ＬＡＮはインターネット１１３に接続されている。情報処理装置１１５は、インターネット１１３に接続された外部サーバー１１４より画像データを取得することもできる。
【００１６】
画像等を出力するためのプリンタ１１２が、ＩＦ１０７を介して接続されている。なお、プリンタ１１２はさらにインターネット１１３上に接続されており、無線ＬＡＮ  Ｉ／Ｆ１０９経由でプリントデータのやり取りをすることもできる。
【００１７】
図２は本実施形態のアプリケーションを含む基本ソフトウェア構成のブロック図である。
【００１８】
まず情報処理装置１１５が取得した画像データは、通常ＪＰＥＧ（Ｊｏｉｎｔ  Ｐｈｏｔｏｇｒａｐｈｙ  Ｅｘｐｅｒｔ  Ｇｒｏｕｐ）等の圧縮形式になっている。そのため、画像コーデック部２００は、該圧縮形式を解凍していわゆるＲＧＢ点順次のビットマップデータ形式に変換する。変換されたビットマップデータは、表示・ＵＩ制御部２０１に伝達され、表示装置１０４等の表示画面上に表示される。
【００１９】
上記ビットマップデータは、さらに画像センシング部２０３（アプリケーション）に入力され、画像センシング部２０３において、画像の様々な解析処理（詳細は後述）が行われる。上記解析処理の結果得られた画像の様々な属性情報は、所定の形式に従ってデータベース部２０２（アプリケーション）において、２次記憶装置１０３に保存される。なお、以降においては、画像解析処理とセンシング処理は同義で扱う。
【００２０】
シナリオ生成部２０４では、ユーザーが入力した様々な条件に応じて、自動で生成すべきレイアウトの条件を生成する。シナリオ生成部２０４による処理の詳細は後述する。レイアウト生成部２０５ではシナリオ生成部２０４が生成したシナリオに従って、自動でレイアウトを生成する処理を行う。
【００２１】
レイアウト生成部２０５が生成したレイアウトは、レンダリング部２０６で表示用のビットマップデータを生成し、該ビットマップデータは表示・ＵＩ制御部２０１に送られ、結果がディスプレイに表示される。
【００２２】
また、レンダリング部２０６によるレンダリング結果はさらにプリントデータ生成部２０７に送られ、プリントデータ生成部２０７でプリンタ用コマンドデータに変換され、プリンタに送出される。
【００２３】
また、図３〜図６を用いて本実施形態における処理を示すフローチャートである。
【００２４】
図３および図４は、画像センシング部２０３のフローを示しており、複数の画像データ群を取得して、それぞれについて解析処理を施し、その結果をデータベースに格納するまでの処理の流れを示している。
【００２５】
図５は、検出した顔位置情報に基づいて、同じ人物と思われる顔情報をグループ化するための人物グループ生成処理の流れを示している。
【００２６】
図６は、画像の解析情報およびユーザーが入力した様々な情報に基づいて、レイアウト作成のためのシナリオを決定し、該シナリオに基づいて、自動でレイアウトを生成するための処理の流れを示している。
【００２７】
まず図３を用いて、画像センシング部２０３が実行する処理のフローチャートについて説明する。図３のＳ３０１では、画像データ群の取得を行う。画像データ群の取得は、例えば、ユーザーが、撮影画像が格納された撮像装置やメモリカードを情報処理装置１１５に接続することで、これらの装置から該撮影画像を読み込むことで画像データを取得することができる。また、内部撮像デバイス１０６で撮影され、２次記憶装置１０３に保存されていた画像も、取得対象としてもよい。あるいは、画像は無線ＬＡＮ  Ｉ／Ｆ１０９を介して、インターネット１１３上に接続された外部サーバー１１４等、情報処理装置１１５以外の装置から取得してもよい。
【００２８】
ここで、図８及び図９を用いて、画像データ群を取得した再の表示装置１０４の表示について説明する。画像データ群を取得すると、その画像データ群に対応するサムネイル群が図８および図９のように表示装置１０４に表示される。表示装置１０４における画像の表示方法は限定されるものではない。例えば図８のＵＩ８０１に示すように２次記憶装置１０３内のフォルダ単位で画像のサムネイル８０２を表示してもよいし、図９に示すようにカレンダーのようなＵＩ９０１で日付ごとに管理されていてもよい。日付の部分９０２をクリックすれば、同日に撮影された画像が、図８のＵＩ８０１のようなサムネイル一覧で表示される。
【００２９】
次にＳ３０２〜３０５において、取得した画像データ群それぞれについて、解析処理および解析結果のデータベース登録を行う。
【００３０】
具体的には、Ｓ３０２において、各画像のデコードを行う。まず、画像センシング部２０３（アプリケーション）が、新規で保存され未だセンシング処理が行われていない画像をサーチし、抽出された各画像について、コーデック部が圧縮データからビットマップデータに変換する。
【００３１】
次に、Ｓ３０３において、変換されたビットマップデータに対して、各種センシング処理を実行してセンシング情報を取得し、データベースに登録する。ここでいうセンシング処理とは画像解析処理であり、図１０に示す様々な画像解析処理を行う。具体的には、本実施形態では、センシング処理として、顔検出および顔領域の特徴量解析、画像の特徴量解析、シーン解析を行い、それぞれ図１０に示すようなデータ型の結果を算出する。本実施形態では、画像基本特徴量としては、平均輝度（ｉｎｔ：値０〜２５５）、平均彩度（ｉｎｔ：０〜２５５）、平均色相（ｉｎｔ：値０〜３５９）を解析した。また、顔検出としては、人物顔の個数（ｉｎｔ：値０以上（０〜ＭＡＸＦＡＣＥ）、人物顔の位置情報である座標位置（ｉｎｔ＊８：値０以上（Ｗｉｄｔｈ及びＨｅｉｇｈｔそれぞれ同様）を解析した。さらに、顔領域内の平均Ｙ（ｉｎｔ：値０〜２５５）、顔領域内の平均Ｃｂ（ｉｎｔ：値−１２８〜１２７）、顔領域内の平均Ｃｒ（ｉｎｔ：値−１２８〜１２７）を解析した。
【００３２】
以下、それぞれのセンシング処理について説明する。
【００３３】
まず画像の基本的な特徴量である全体の平均輝度、平均彩度については、公知の方法で求めればよいため、簡単に説明する。平均輝度については、画像の各画素について、ＲＧＢ成分を公知の輝度色差成分（例えばＹＣｂＣｒ成分）に変換し（変換式省略）、Ｙ成分の平均値を求めればよい。また、平均彩度については、上記ＣｂＣｒ成分について画素毎に以下を算出し、下記Ｓの平均値を求めればよい。
【数１】
2014016816.tif 000003
【００３４】
また、画像内の平均色相（ＡｖｅＨ）は、画像の色合いを評価するための特徴量である。各画素の色相は、公知のＨＩＳ変換式を用いて求めることができ、それらを画像全体で平均化することにより、ＡｖｅＨを求めることができる。
【００３５】
上記特徴量は、画像全体で算出してもよいし、例えば、画像を所定サイズの領域に分割し、領域毎に算出してもよい。
【００３６】
次に、人物の顔検出処理について説明する。本実施形態に係る人物の顔検出手法としては、種々の方法を用いることができる。例えば特開２００２−１８３７３１号公報に記載の方法によれば、入力画像から目領域を検出し、目領域周辺を顔候補領域とする。
【００３７】
検出された顔候補領域に対して、画素毎の輝度勾配、および輝度勾配の重みを算出し、これらの値を、あらかじめ設定されている理想的な顔基準画像の勾配、および勾配の重みと比較する。その時に、各勾配間の平均角度が所定の閾値以下であった場合、入力画像は顔領域を有すると判定する方法が記載されている。
【００３８】
また、特開２００３−３０６６７号公報に記載の方法によれば、まず画像中から肌色領域を検出し、検出された肌色領域内において、人間の虹彩色画素を検出することにより、目の位置を検出することが可能であるとしている。
【００３９】
さらに、特開平８−６３５９７号公報に記載の方法によれば、複数の顔の形状をしたテンプレートと画像とのマッチング度を計算する。マッチング度が最も高いテンプレートを選択し、最も高かったマッチング度があらかじめ定められた閾値以上であれば、選択されたテンプレート内の領域を顔候補領域とする。同テンプレートを用いることで、目の位置を検出することが可能であるとしている。
【００４０】
さらに、特開２０００−１０５８２９号公報に記載の方法によれば、まず、鼻画像パターンをテンプレートとし、画像全体、あるいは画像中の指定された領域を走査し最もマッチする位置を鼻の位置として出力する。次に、画像の鼻の位置よりも上の領域を目が存在する領域と考え、目画像パターンをテンプレートとして目存在領域を走査してマッチングをとり、ある閾値よりもマッチ度が大きい画素の集合である目存在候補位置集合を求める。さらに、目存在候補位置集合に含まれる連続した領域をクラスタとして分割し、各クラスタと鼻位置との距離を算出する。その距離が最も短くなるクラスタを目が存在するクラスタと決定することで、器官位置の検出が可能であるとしている。
【００４１】
顔検出処理の方法として、その他、例えば以下に示す公知の顔および器官位置を検出する方法を用いてもよい。例えば、特開平８−７７３３４号公報、特開２００１−２１６５１５号公報、特開平５−１９７７９３号公報、特開平１１−５３５２５号公報、特開２０００−１３２６８８号公報、特開２０００−２３５６４８号公報、特開平１１−２５０２６７号公報がある。さらには特許第２５４１６８８号公報が挙げられる。
【００４２】
上記処理の結果、各入力画像について、人物顔の個数と各顔毎の座標位置を取得することができる。
【００４３】
また、画像中の顔座標位置が分かれば、該顔領域毎に顔領域内に含まれる画素値の平均ＹＣｂＣｒ値を求めることにより、該顔領域の平均輝度および平均色差を得ることができる。
【００４４】
また、画像の特徴量を用いてシーン解析処理を行うことができる。シーン解析処理については、例えば、特開２０１０−２５１９９９号公報や特開２０１０−２７３１４４号公報等で開示されている方法を用いてもよい。シーン解析の結果、風景（Ｌａｎｄｓｃａｐｅ）、夜景（Ｎｉｇｈｔｓｃａｐｅ）、人物（Ｐｏｒｔｒａｉｔ）、露出不足（Ｕｎｄｅｒｅｘｐｏｓｕｒｅ）、その他（Ｏｔｈｅｒｓ）、という撮影シーンを区別するためのＩＤを取得することができる。
【００４５】
なお、センシング情報は上記のセンシング処理により取得されるものに限定されるものではなく、例えば、その他のセンシング情報を利用してもよい。
【００４６】
上記のようにして取得したセンシング情報が、データベース部２０２に保存される。データベースへの保存形式については特に限定されないが、例えば図１１に示すような汎用的なフォーマット（例えばＸＭＬ：ｅＸｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）で記述し、格納すればよい。
【００４７】
図１１では、画像毎の属性情報を、３つのカテゴリに分けて記述する例を示している。１番目のＢａｓｅＩｎｆｏタグは、画像サイズや撮影時情報として、あらかじめ取得した画像ファイルに付加されている情報である。ここには、画像毎の識別子ＩＤや、画像ファイルが格納されている保存場所、画像サイズ、撮影日時などが含まれる。
【００４８】
次に２番目のＳｅｎｓＩｎｆｏタグは、上述した画像解析処理の結果を格納するためのタグである。画像全体の平均輝度、平均彩度、平均色相やシーン解析結果が格納され、さらに、画像中に存在する人物の顔位置や顔色に関する情報が記述可能である。
【００４９】
次に３番目のＵｓｅｒＩｎｆｏタグは、ユーザーが画像毎に入力した情報を格納することができるが、詳細については後述する。
【００５０】
なお、画像属性情報のデータベース格納方法については、上記に限定されるものではなく、その他どのような形式であっても構わない。
【００５１】
次に、図３のＳ３０６において、個人認識処理を用いた人物グルーピングを行う。ここでは、Ｓ３０３で検出された顔位置情報を用いて、人物毎のグループを生成する処理を行う。あらかじめ人物の顔を自動でグループ化しておくことにより、その後ユーザーが各人物に対して名前を付けていく作業を効率化することが可能となる。
【００５２】
ここでの人物グループ生成処理は、公知の個人認識技術を用いて、図５の処理フローにより実行する。
【００５３】
なお、個人認識技術は、主に顔の中に存在する眼や口といった器官の特徴量抽出と、それらの関係性の類似度の比較、という二つの技術で構成される。個人認識技術としては、例えば特許第３４６９０３１号公報等で開示されているものが挙げられる。
【００５４】
図５は人物グループ生成処理（図３のＳ３０６もしくは図４のＳ４０５）の基本的なフローチャートである。
【００５５】
まず、Ｓ５０１で、２次記憶装置１０３に保存されている画像を順次読みだしてデコード処理を行う。ここでのデコード処理は、Ｓ３０２と同様であるので説明を省略する。さらにＳ５０２でデータベース５０３にアクセスし、該画像中に含まれる顔の個数と顔の位置情報を取得する。次に、Ｓ５０４において、個人認識処理を行うための正規化顔画像を生成する。
【００５６】
ここで正規化顔画像とは、画像内に様々な大きさ、向き、解像度で存在する顔を切り出して、すべて所定の大きさと向きになるよう、変換して切り出した顔画像のことである。個人認識を行うためには、眼や口といった器官の位置が重要となるため、正規化顔画像のサイズは、器官が確実に認識できる程度である。このように正規化顔画像を用意することにより、特徴量検出処理において、様々な解像度の顔に対応する必要がなくなるという利点がある。
【００５７】
次に、Ｓ５０５で、正規化顔画像から顔特徴量を算出する。ここでの顔特徴量とは眼や口、鼻といった器官の位置、大きさや、さらには顔の輪郭などを含むことを特徴とする。
【００５８】
さらに、Ｓ５０６で、あらかじめ人物の識別子（ＩＤ）毎に用意されている顔特徴量を格納したデータベース（以降、顔辞書５０７と呼ぶ）の顔特徴量と類似しているか否かの判定を行う。なお、顔辞書についての詳細は後述する。
【００５９】
Ｓ５０６の判定がＹｅｓの場合、Ｓ５０９において同じ人物として、同じ人物の辞書ＩＤに、追加する。
【００６０】
Ｓ５０６の判定がＮｏの場合、現在評価対象となっている顔は、これまで顔辞書に登録された人物とは異なる人物であるとして、新規人物ＩＤを発行して顔辞書５０７に追加する。Ｓ５０２〜Ｓ５０９までの処理を、入力画像群の中から検出した顔領域全てに適用して、登場した人物のグループ化を行う。
【００６１】
Ｓ５１０において、処理対象の画像データ中に、他の顔領域があるか否かを判定する。他の顔領域がある場合（Ｓ５１０でＹＥＳ）、Ｓ５０２に戻る。一方、他の顔領域がない場合（Ｓ５１０でＮＯ）、Ｓ５１１に進む。
【００６２】
Ｓ５１１において、全ての画像についてＳ５０２〜５０９の処理が終了したか否かを判定する。全ての画像について処理が終了した場合は、処理を終了し、全ての画像について処理が終了していない場合は、Ｓ５０２へ戻る。
【００６３】
Ｓ５０２〜Ｓ５０９のグループ化の結果は、図１６のＸＭＬフォーマットで示すように、各顔毎にＩＤタグを用いて記述し、上述したデータベース３０４に保存しておく。
【００６４】
なお、上記実施形態においては、図３に示したように、全ての画像データに対するセンシング処理が終了した後に人物グループ生成処理を実行したが、この順序に限定されるものではない。例えば、図４に示すように、Ｓ４０３におけるセンシング処理、データベース登録と、顔検出位置情報を利用したグループ化処理（Ｓ４０５）を、画像ごとに繰り返し行ってもよい。
【００６５】
また、上記の処理によって得られた各人物グループは、表示装置１０４のＵＩに表示される。本実施形態に係る各人物グループの表示を図７に示す。図７のようなＵＩ７０１において、７０２は人物グループの代表顔画像を表しており、その横には、該人物グループの名前を表示する領域７０３が存在する。自動の人物グループ化処理を終了した直後は、図７に示すように領域７０３には、人物名が「Ｎｏ  ｎａｍｅ」と表示される。また、７０４は該人物グループに含まれる複数の顔画像が表示される。後述するが、図７のＵＩ７０１において、ユーザーは、「Ｎｏ  ｎａｍｅ」の領域７０３を指定して人物名を入力したり、人物毎に誕生日や続柄等の情報を入力したりすることができる。
【００６６】
また、上記のセンシング処理は、オペレーティングシステムのバックグラウンドタスクを利用して実行しても良い。この場合、ユーザーはコンピュータ上で別の作業を行っていたとしても、画像群のセンシング処理を継続させることができる。
【００６７】
本実施形態においては、ユーザーが手動で画像に関する様々な属性情報を入力してもよく、自動で画像に関する様々な属性情報を設定するようにしてもよい。
【００６８】
このように手動又は自動で設定される属性情報の例の一覧を、図１２に記載する。属性情報は大きく、画像毎に設定するものと、上記処理によりグループ処理した人物に設定する情報に分かれる。
【００６９】
まず、画像毎に設定するものとして、ユーザーの「お気に入り度」がある。お気に入り度は、その画像を気に入っているかどうかを、ユーザーが手動で入力することができる。例えば図１３示すように、ＵＩ１３０１上で、所望のサムネイル画像１３０２をマウスポインタ１３０３で選択し、右クリックをすることでお気に入り度を入力できるダイアログを表示する。ユーザーはメニューの中で自分の好みに応じて、★の数を選択することができる。本実施例では、お気に入り度が高いほど★の数が多くなるよう設定した。
【００７０】
また、上記お気に入り度は、ユーザーが手動で設定せずに、自動で設定するようにしてもよい。例えば、ユーザーが表示対象として選択して閲覧した回数を、お気に入り度として設定してもよい。図８に示す画像サムネイル一覧表示の状態から、所望の画像ファイルをクリックし、１画像表示画面に遷移したとする。その遷移した回数を計測して、お気に入り度とすることも考えられる。すなわち、閲覧した回数が多いほど、ユーザーが該画像を気に入っていると判断することができる。
【００７１】
また他の例として、プリント回数をお気に入り度とすることもできる。プリント行為を行った場合、当然その画像を気に入っていると判断し、プリント回数を計測することで、よりお気に入り度が高いと判断することができる。
【００７２】
以上で説明したように、お気に入り度については、ユーザーが手動で設定する方法や、閲覧回数あるいはプリント回数をお気に入り度に基づいて自動で設定する方法など様々考えられる。上記設定および計測した情報については、それぞれ個別に、図１１で示すようなＸＭＬフォーマットで、データベース部２０２のＵｓｅｒＩｎｆｏタグ内に格納される。例えば、お気に入り度はＦａｖｏｒｉｔｅＲａｔｅタグで、閲覧回数はＶｉｅｗｉｎｇＴｉｍｅｓタグで、プリント回数はＰｒｉｎｔｉｎｇＴｉｍｅｓタグでそれぞれ表わされる。
【００７３】
また、画像毎に設定する別の属性情報として、イベント情報が挙げられる。イベント情報としては、例えば、家族旅行“ｔｒａｖｅｌ”であったり、卒業式“ｇｒａｄｕａｔｉｏｎ”であったり、結婚式“ｗｅｄｄｉｎｇ”等が挙げられる。
【００７４】
イベントの指定は、例えば、図１４で示すように、カレンダー上で所望の日付をマウスポインタ１４０２などで指定して、その日のイベント名を入力することで設定できるようにしてもよい。指定されたイベント名は、画像の属性情報の一部として、図１１示すＸＭＬフォーマットに含まれることになる。図１１のフォーマットでは、ＵｓｅｒＩｎｆｏタグ内のＥｖｅｎｔタグを使って、イベント名と画像を紐付けている。
【００７５】
次に、図１５を用いて、人物の属性情報について説明する。
【００７６】
図１５は、人物の属性情報を入力するためのＵＩを示している。図１５において、１５０２は所定人物（この場合は“ｆａｔｈｅｒ”）の代表顔画像を示している。また、１５０４には、他の画像の中から検出し、Ｓ５０６で顔特徴量が類似していると判断された画像の一覧が表示されている。
【００７７】
センシング処理が終了した直後は、図７に示したように各人物グループには名前が入力されていない。ただし、ユーザーが「Ｎｏ  ｎａｍｅ」の領域７０３をマウスポインタで指示して、キーボード等で任意の人物名を入力することにより、図１５に示すように１５０３にユーザーが入力した人物名が表示される。
【００７８】
また、人物毎の属性として、それぞれの人物の誕生日やアプリを操作しているユーザーから見た続柄を設定することもできる。図１５の人物の代表顔１５０２をクリックすると、画面下部に図示するように、ユーザーはクリックした人物の誕生日を第１入力部１５０５で続柄情報を第２入力部１５０６で入力することができるようにした。
【００７９】
以上、入力された人物の属性情報は、これまでの画像に紐付けられた画像の属性情報とは異なり、図１６のようなＸＭＬフォーマットによって、画像属性情報とは別にデータベース部２０２内で管理されることになる。
【００８０】
本実施形態においては、あらかじめ様々なレイアウトテンプレートが用意されていることを想定する。レイアウトテンプレートとは図１７および図１９に示すようなもので、レイアウトする用紙サイズ上に、複数の画像配置枠１７０２，１９０２（以降、スロットと同義）で構成されている。
【００８１】
このようなテンプレートは多数用意されており、あらかじめ本実施形態を実行するためのソフトウェアが情報処理装置１１５にインストールされた時点で、２次記憶装置に保存しておけばよい。また、その他の方法として、ＩＦ１０７や無線ＬＡＮ  Ｉ／Ｆ１０９を介して接続されたインターネット１１３上に存在する外部サーバー１１４から、任意のテンプレート群を取得してもよい。
【００８２】
これらのテンプレートは汎用性の高い構造化言語、例えば上述したセンシング結果の格納と同様にＸＭＬで記載されているものとする。ＸＭＬデータの例を図１８および図２０に示す。これらの図では、まずＢＡＳＩＣタグにおいて、レイアウトページの基本的な情報を記述する。基本的な情報とは、例えば該レイアウトのテーマやページサイズ、およびページの解像度（ｄｐｉ）等が考えられる。図１８や図２０において、テンプレートの初期状態では、レイアウトテーマであるＴｈｅｍｅタグはブランクとなっている。また、基本情報として、ページサイズはＡ４、解像度は３００ｄｐｉを設定している。
【００８３】
また、以降は、上述した画像配置枠の情報をＩｍａｇｅＳｌｏｔタグで記述している。ＩｍａｇｅＳｌｏｔタグの中にはＩＤタグとＰＯＳＩＴＩＯＮタグの２つを保持し、画像配置枠のＩＤと位置を記述してある。該位置情報については、図１７や図１９で図示するように、例えば左上を原点とするＸ−Ｙ座標系において定義する。
【００８４】
また、ＩｍａｇｅＳｌｏｔタグは、その他にそれぞれのスロットに対して、スロットの形状および配置すべき推奨人物グループ名を設定することができる。例えば、図１７のテンプレートにおいては、図１８のＳｈａｐｅタグで示すように、すべてのスロットは矩形“ｒｅｃｔａｎｇｌｅ”形状で、人物グループ名はＰｅｒｓｏｎＧｒｏｕｐタグによって“ＭａｉｎＧｒｏｕｐ”を配置することを推奨している。
【００８５】
また、図１９のテンプレートにおいては、図２０に示すように、中央に配置しているＩＤ＝０のスロットは矩形形状であることが記載されている。また、人物グループは“ＳｕｂＧｒｏｕｐ”を配置し、その他のＩＤ＝１，２と続くスロットは楕円“ｅｌｌｉｐｓｅ”形状で、人物グループは“ＭａｉｎＧｒｏｕｐ”を配置することを推奨している。
【００８６】
本実施形態においては、このようなテンプレートを多数保持することを推奨する。
【００８７】
上記のように、本実施形態で提示したアプリケーションは、入力された画像群に対して解析処理を実行し、人物を自動的にグループ化してＵＩで表示することができる。また、ユーザーはその結果を見て、人物グループ毎に名前や誕生日などの属性情報を入力したり、画像毎にお気に入り度などを設定したりすることができる。
【００８８】
さらにはテーマごとに分類された多数のレイアウトテンプレートを保持することができる。
【００８９】
以上の条件を満たすと、本実施形態のアプリケーションは、ある所定のタイミングに、自動的にユーザーに好まれそうなコラージュレイアウトを生成し、ユーザーに提示する処理を行う。これを、レイアウトの提案処理とする。
【００９０】
図６は、該提案処理を行うための基本的なフローチャートを示している。まずＳ６０１において、提案処理のシナリオを決定する。シナリオには、提案するレイアウトのテーマおよびテンプレートの決定、およびレイアウト内で重視する人物（主人公）の設定、およびレイアウト生成に用いる画像群の選定情報が含まれる。
【００９１】
以下では、２つのシナリオを決定する処理について説明する。
【００９２】
例えば、図１５で自動グループ化されている人物“ｓｏｎ”の誕生日の２週間前になったときに、自動的にコラージュレイアウトを提示するように予め設定されているとする。そして、人物“ｓｏｎ”の１歳の誕生日の２週間前になったときにテーマの決定、テンプレートの選択、画像の選定を行って、レイアウトを作成する。誕生日の場合、提案するレイアウトのテーマは成長記録“ｇｒｏｗｔｈ”と決定する。次にテンプレートの選択を行うが、この場合には成長記録に適した図１９のようなものを選択し、図２０に示すように、ＸＭＬのＴｈｅｍｅタグの部分に“ｇｒｏｗｔｈ”と記載する。ここで生成されるＸＭＬデータの例を図３０に示す。次にレイアウトを行う際に注目する主人公“ＭａｉｎＧｒｏｕｐ”として、“ｓｏｎ”を設定する。また、レイアウトを行う際に副次的に注目する“ＳｕｂＧｒｏｕｐ”として“ｓｏｎ”と“ｆａｔｈｅｒ”を設定する。次に、レイアウトに利用するための画像群を選定する。この例の場合には、データベース６０２を参照し、上記人物“ｓｏｎ”の誕生日からこれまでに撮影した画像群のうち、“ｓｏｎ”を含む画像群を大量に抽出してリスト化する。以上が、成長記録レイアウトのためのシナリオ決定である。
【００９３】
上記とは異なる例として、１ヶ月以内に撮影された旅行の写真がある場合、自動的にコラージュレイアウトを生成して提示するように予め設定されているとする。図１４で登録したイベント情報から、例えば数日前に家族旅行に行きその画像が大量に２次記憶装置１０３に保存されていることがわかると、レイアウト生成部２０５は、家族旅行のレイアウトを提案するためのシナリオを決定する。この場合には、提案するレイアウトのテーマは旅行“ｔｒａｖｅｌ”と決定する。次にテンプレートの選択を行うが、この場合には図１７のようなテンプレートを選択し、図３１に示すように、ＸＭＬのＴｈｅｍｅタグの部分に“ｔｒａｖｅｌ”と記載する。次にレイアウトを行う際に注目する主人公“ＭａｉｎＧｒｏｕｐ”として、“ｓｏｎ”、“ｍｏｔｈｅｒ”、“ｆａｔｈｅｒ”を設定する。このように、ＸＭＬの特性を活かせば、“ＭａｉｎＧｒｏｕｐ”として複数の人物を設定することができる。次に、レイアウトに利用するための画像群を選定する。この例の場合には、データベース６０２を参照し、上記旅行イベントに紐付けられた画像群を大量に抽出してリスト化する。以上が、家族旅行レイアウトのためのシナリオ決定である。
【００９４】
次に、図６のＳ６０３において、上述したシナリオに基づくレイアウトの自動生成処理を実行する。ここで、図２１を用いて、シナリオに基づくレイアウトの自動生成処理について説明する。図２１はレイアウト生成部２０５の詳細な処理フローを示している。
【００９５】
図２１では、まずＳ２１０１で、上述したシナリオで決定されたレイアウトテーマと及び人物グループ情報が設定された後のレイアウトテンプレート情報２１０２を取得する。
【００９６】
次に、Ｓ２１０３において、シナリオで決定した画像群リスト２１０６に基づいて、画像毎に該画像の特徴量をデータベース２１０４から取得し、画像群属性情報リストを生成する。ここでいう画像群属性情報リストとは、図１１に示したＩＭＡＧＥＩＮＦＯタグが画像リストの分だけ並んだ構成となっている。以降ではこの画像属性情報リストに基づいて、Ｓ２１０５〜Ｓ２１０９における自動レイアウト生成処理を行う。
【００９７】
このように、本実施形態の自動レイアウト生成処理では、このように画像データそのものを直接扱うのではなく、あらかじめ画像毎にセンシング処理を行ってデータベース保存しておいた属性情報を利用する。この理由は、レイアウト生成処理を行う際に、画像データそのものを対象としてしまうと、画像群を記憶するために大きなメモリ領域を必要としてしまうためである。即ち、データベース部２０２に記憶しておいた属性情報を利用することにより、メモリ領域の使用量を低減することができる。
【００９８】
次に、Ｓ２１０５において、入力された画像群の属性情報を用いて、入力された画像群の中から不要画像のフィルタリングを行う。ここで、図２２を用いて、フィルタリング処理について説明する。図２２は、フィルタリング処理のフローチャートである。図２２では、画像毎に、まずＳ２２０１で全体の平均輝度（ＡｖｅＹ）がある閾値（ＴｈＹ＿Ｌｏｗ、ＴｈＹ＿Ｈｉｇｈｔ）内に含まれているかの判定を行う。Ｓ２２０１にてＮＯの場合にはＳ２２０６に進み、注目画像はレイアウト対象から除去する。
【００９９】
同様に、Ｓ２２０２〜Ｓ２２０５では、注目画像に含まれる顔領域それぞれについて、平均輝度、平均色差成分（ＡｖｅＹ、ＡｖｅＣｂ、ＡｖｅＣｒ）が、良好な肌色領域を示す所定閾値に含まれているかの判定を行う。具体的には、Ｓ２２０２では、ＩＤ＝Ｎである顔領域のＡｖｅＹが所定閾値（ＴｈｆＹ＿ＬｏｗとＴｈｆＹ＿Ｈｉｇｈｔ）の範囲に含まれているか否かの判定を行う。Ｓ２２０３では、ＩＤ＝Ｎである顔領域のＡｖｅＣｈが所定閾値（ＴｈｆＹ＿ＬｏｗとＴｈｆＹ＿Ｈｉｇｈｔ）の範囲に含まれているか否かの判定を行う。Ｓ２２０４では、ＩＤ＝Ｎである顔領域のＡｖｅＣｒが所定閾値（ＴｈｆＹ＿ＬｏｗとＴｈｆＹ＿Ｈｉｇｈｔ）の範囲に含まれているか否かの判定を行う。Ｓ２２０５では、最後の顔であるか否かを判定する。最後の顔ではない場合は、Ｓ２２０２へ戻り、最後の顔である場合は、処理を終了する。
【０１００】
Ｓ２２０２〜Ｓ２２０５のすべての判定がＹｅｓとなる画像のみ、以降のレイアウト生成処理に適用される。
【０１０１】
なお、このフィルタリング処理では、以降の一時レイアウト作成処理に明らかに不要と判断できる画像の除去を目的としているため、上記閾値は比較的湯緩やかに設定する。例えばＳ２２０１の画像全体輝度の判定において、ＴｈＹ＿ＨｉｇｈとＴｈＹ＿Ｌｏｗの差が画像ダイナミックレンジに比して極端に小さいと、各判定にてＹｅｓと判定される画像が少なくなってしまう。本実施形態のフィルタリング処理ではそうならないよう、両者の差をできる限り広く設定し、かつ明らかに異常画像と判断されるものは除去できるような閾値を設定する。
【０１０２】
次に図２１のＳ２１０７において、上記処理でレイアウト対象となった画像群を用いて、大量（Ｌ個）の一時レイアウトを生成する。一時レイアウトの生成は、取得したテンプレートの画像配置枠に対して、入力画像を任意に当てはめる処理を繰り返すことで実行する。入力画像の配置にあたり、各種の決定処理をランダムに行う。具体的には、レイアウト中の画像配置枠がＮ個の時、画像群の中からどの画像を選択するかランダムに決定する。また選択した複数の画像を、テンプレート中のどの配置枠に配置するかランダムに決定する。さらに、画像がテンプレートの配置枠に配置された際に、どの程度のトリミング処理を行うかというトリミング率をランダムに決定する。
【０１０３】
なお、トリミング率は例えば０〜１００％で表わされ、画像の中心を基準として、図２３のようにトリミングされる。図２３において、２３０１は画像全体を示し、２３０２はトリミング率５０％でトリミングした際の切り取り枠を示している。
【０１０４】
上記の画像選択・配置・トリミング基準に基づいて、可能な限り数多くの一時レイアウトを生成する。生成した各一時レイアウトは、図３２のＸＭＬのように表わすことができる。各スロットに対して、選択され配置された画像のＩＤがＩｍａｇｅＩＤタグで、トリミング率がＴｒｉｍｉｎｇＲａｔｉｏタグでそれぞれ記述されている。
【０１０５】
なお、ここで生成する一時レイアウトの数Ｌについては、後述するレイアウト評価ステップでの評価処理の処理量と、それを処理する情報処理装置１１５の性能に応じて決定されるが、例えば数十万通り以上の一時レイアウトを用意する。生成した一時レイアウトは、それぞれＩＤを付加して図３２のＸＭＬ形式で２次記憶装置１０３にファイル保存してもよいし、構造体など別のデータ構造を用いてＲＡＭ１０２上に記憶してもよい。
【０１０６】
次に、図２１のＳ２１０８において、上記で作成したＬ個の一時レイアウトに対して、それぞれ所定のレイアウト評価量を用いて評価を行う。本実施形態におけるレイアウト評価量の一覧を、図２４に示す。図２４に示すように、本実施形態で用いるレイアウト評価量は、主に３つのカテゴリに分けることができる。
【０１０７】
一つの評価カテゴリは、画像個別の評価量である。これは画像の明るさや彩度、ブレぼけ量等の状態を判定し、スコア化するものである。スコア化の一例を以下に示す。まず明るさの適正度については、図２５に示す。図２５のグラフにおいて、縦軸をスコア値（ｓｃｏｒｅ）、横軸を平均輝度（Ａｖｅ  Ｙ）とする。図２５において、平均輝度がある所定レンジ範囲内においてはスコア値１００とし、その所定レンジ範囲の外ではスコア値が１００よりも下げるよう設定している。また、彩度の適正度については、図２６に示す。図２６のグラフにおいて、縦軸をスコア値（ｓｃｏｒｅ）、横軸を平均彩度（Ａｖｅ  Ｓ）とする。図２６において、画像全体の平均彩度がある所定の彩度値より大きい場合にはスコア値１００とし、所定値より小さい場合にはスコア値を徐々に下げていくよう設定している。
【０１０８】
二つ目の評価カテゴリは、画像とテンプレート中のスロットの適合度の評価をスコア化するものである。画像・スロットの適合度の評価としては、例えば、人物適合度、トリミング欠け判定が挙げられる。人物適合度とは、スロットに指定されている人物と、実際に該スロットに配置された画像内に存在する人物の適合率を表したものである。例を挙げると、あるスロットが、ＸＭＬで指定されているＰｅｒｓｏｎＧｒｏｕｐタグで、“ｆａｔｈｅｒ”、“ｓｏｎ”が指定されているものとする。この時、該スロットに割り当てられた画像に該２人の人物が写っていたとすると、該スロットの人物適合度はスコア値１００とする。もし片方の人物しか写っていなかったとすると、適合度はスコア値５０になる。両者とも写っていなかった場合は、スコア値０になる。ページ内の適合度は、スロット毎に算出した適合度の平均値とする。
【０１０９】
また別の画像・スロット適合度評価値として、トリミング領域２７０２の欠け判定が存在する。例えば、図２７に示すように、画像中に存在する顔の領域２７０３とトリミング領域２７０２との関係から顔の領域２７０３が欠けていることが判明している場合、欠けた部分の面積に応じて、０から１００までのスコア値を算出する。顔領域の欠けた面積が０の場合、スコア値は１００とし、逆にすべての顔領域が欠けた場合、スコア値は０とする。
【０１１０】
三つめの評価カテゴリは、レイアウトページ内のバランスを評価するものである。図２４ではバランスを評価するための評価値として、画像類似性、色合いのばらつき、顔サイズのばらつきを挙げている。
【０１１１】
まず、画像類似性について説明する。画像の類似性は、大量に生成した一時レイアウト毎に、それぞれの画像の類似性を算出する。例えば旅行テーマのレイアウトを作成したい場合、あまりに似通った類似度の高い画像ばかりが並んでいたとすると、それは良いレイアウトとは言えないことがある。例えば、類似性は、撮影日時によって評価することができる。撮影日時が近い画像は、同じような場所で撮影された可能性が高いが、撮影日時が離れていれば、その分、場所もシーンも異なる可能性が高いからである。
【０１１２】
撮影日時は、図１１で示したように、画像属性情報として、予めデータベース部２０２に保存されている、画像毎の属性情報から取得することができる。撮影日時から類似度を求めるには以下のような計算を行う。
【０１１３】
例えば、今注目している一時レイアウトに図２８で示すような４つの画像がレイアウトされているものとする。なお、図２８において、画像ＩＤで特定される画像には、それぞれ撮影日時情報が付加されている。具体的には、撮影日時として、年月日及び時間（西暦：ＹＹＹＹ、月：ＭＭ、日：ＤＤ、時：ＨＨ、分：ＭＭ、秒：ＳＳ）が付加されている。この時、この４つの画像間で、撮影時間間隔が最も短くなる値を算出する。この場合、画像ＩＤ１０２と画像ＩＤ１０８間の３０分が最も短い間隔である。この間隔をＭｉｎＩｎｔｅｒｖａｌとし、秒単位で格納する。すわなち、３０分＝１８００秒である。このＭｉｎＩｎｔｅｒｖａｌをＬ個の各一時レイアウト毎に算出して配列ｓｔＭｉｎＩｎｔｅｒｖａｌ［ｌ］に格納する。次に、ｓｔＭｉｎＩｎｔｅｒｖａｌ［ｌ］の中で最大値ＭａｘＭｉｎＩｎｔｅｒｖａｌを求める。すると、ｌ番目の一時レイアウトの類似度評価値Ｓｉｍｉｌａｒｉｔｙ［ｌ］は以下のようにして求めることができる。
Ｓｉｍｉｌａｒｉｔｙ［ｌ］  ＝  １００×ｓｔＭｉｎＩｎｔｅｒｖａｌ［ｌ］  ／  ＭａｘＭｉｎＩｎｔｅｒｖａｌ
【０１１４】
すなわち、Ｓｉｍｉｌａｒｉｔｙ［ｌ］の値は、最小撮影時間間隔が大きいほど１００に近づき、小さいほど０に近づく値となり、画像類似度評価値として有効である。
【０１１５】
次に、レイアウトページ内のバランスを評価するための評価量として、色合いのバラつきについて説明する。例えば旅行テーマのレイアウトを作成したい場合、あまりに似通った色（例えば、青空の青、山の緑）の画像ばかりが並んでいたとすると、それは良いレイアウトとは言えない。したがって、ここでは注目しているｌ番目の一時レイアウト内に存在する画像の平均色相ＡｖｅＨの分散を算出して、それを色合いのバラつき度ｔｍｐＣｏｌｏｒＶａｒｉａｎｃｅ［ｌ］として格納する。次に、該ｔｍｐＣｏｌｏｒＶａｒｉａｎｃｅ［ｌ］の中での最大値ＭａｘＣｏｌｏｒＶａｒｉａｎｃｅ値を求める。すると、ｌ番目の一時レイアウトの色合いバラつき度の評価値ＣｏｌｏｒＶａｒｉａｎｃｅ［ｌ］は以下のようにして求めることができる。
ＣｏｌｏｒＶａｒｉａｎｃｅ［ｌ］  ＝  １００  ×  ｔｍｐＣｏｌｏｒＶａｒｉａｎｃｅ［ｌ］  ／  ＭａｘＣｏｌｏｒＶａｒｉａｎｃｅ
【０１１６】
すなわち、ＣｏｌｏｒＶａｒｉａｎｃｅ［ｌ］の値は、ページ内に配置された画像の平均色相のバラつきが大きいほど１００に近づき、小さいほど０に近づく値となり、色合いのばらつき度評価値として有効である。
【０１１７】
次に、レイアウトページ内のバランスを評価するための評価量として、顔の大きさのバラつき度について説明する。例えば旅行テーマのレイアウトを作成したい場合、レイアウト結果を見て、あまりに似通った顔のサイズの画像ばかりが並んでいたとすると、それは良いレイアウトとは言えないことがある。レイアウト後の紙面上における顔の大きさが、小さいものもあれば大きいものもあり、それらがバランスよく配置されていることが、良いレイアウトとする場合、顔サイズばらつきが大きくなるように設定する。その場合、注目しているｌ番目の一時レイアウト内に配置された後の顔の大きさ（顔位置の左上から右下までの対角線の距離）の分散値を、ｔｍｐＦａｃｅＶａｒｉａｎｃｅ［ｌ］として格納する。次に、ｔｍｐＦａｃｅＶａｒｉａｎｃｅ［ｌ］の中での最大値ＭａｘＦａｃｅＶａｒｉａｎｃｅを求める。すると、ｌ番目の一時レイアウトの顔サイズバラつき度の評価値ＦａｃｅＶａｒｉａｎｃｅ［ｌ］は、以下のようにして求めることができる。
ＦａｃｅＶａｒｉａｎｃｅ［ｌ］  ＝  １００  ×  ｔｍｐＦａｃｅＶａｒｉａｎｃｅ［ｌ］  ／  ＭａｘＦａｃｅＶａｒｉａｎｃｅ
【０１１８】
すなわち、ＦａｃｅＶａｒｉａｎｃｅ［ｌ］の値は、紙面上に配置された顔サイズのバラつきが大きいほど１００に近づき、小さいほど０に近づく値となり、顔サイズのバラつき度評価値として有効である。
【０１１９】
またその他カテゴリとして、ユーザーの嗜好性評価が考えられる。
【０１２０】
以上説明したような、一時レイアウト毎に算出した複数の評価値を、以下では統合化して、一時レイアウト毎のレイアウト評価値とする。今、ｌ番目の一時レイアウトの統合評価値を、ＥｖａｌＬａｙｏｕｔ［ｌ］とし、上記で算出したＮ個の評価値（図２４の評価値それぞれを含む）の値をＥｖａｌＶａｌｕｅ［ｎ］とする。この時、統合評価値は以下で求めることができる。
【数２】
2014016816.tif 000004
【０１２１】
上式において、Ｗ［ｎ］は、図２４で示したシーン毎の各評価値の重みである。該重みはレイアウトのテーマ毎に異なる重みを設定していることが特徴となっている。例えば、図２４に示すようにテーマを成長記録“ｇｒｏｗｔｈ”と旅行“ｔｒａｖｅｌ”で比較した場合、旅行テーマの方は、できるだけ良質の写真をいろいろな場面で数多くレイアウトする。そのため、画像の個別評価値やページ内のバランス評価値を重視するよう設定する。一方、成長記録“ｇｒｏｗｔｈ”の場合、画像のバリエーションよりは、成長記録の対象となる主人公が確実にスロットに適合しているか否かが重要であるとする。そのため、ページ内バランスや画像個別評価よりも、画像・スロット適合度評価を重視するよう設定する。
【０１２２】
このようにして算出したＥｖａｌＬａｙｏｕｔ［ｌ］を用いて、Ｓ２１０９では、レイアウト結果表示のためのレイアウトリストＬａｙｏｕｔＬｉｓｔ［ｋ］を生成する。レイアウトリストは、予め定められた個数（例えば５個）に対して、ＥｖａｌＬａｙｏｕｔ［ｌ］のうち、評価値が高いもの順に識別子ｌを記憶しておく。例えば最も良いスコアを出したものが、ｌ＝５０番目に作成した一時レイアウトであった場合、ＬａｙｏｕｔＬｉｓｔ［０］＝５０となる。同様に、ＬａｙｏｕｔＬｉｓｔ［１］以降は、スコア値が２番目以降の識別子ｌを記憶しておく。
【０１２３】
以上が、図２１のフローチャートの説明である。なお、本実施形態では図２１の処理により作成されたレイアウトリストＬａｙｏｕｔＬｉｓｔ［ｋ］に基づく表示順序で、レイアウト画像を表示装置に順次表示させる。具体的には、ＬａｙｏｕｔＬｉｓｔ［ｋ］における順序において連続する複数のレイアウト同士の類似度を判定し、そのレイアウト同士が互いに類似していないと判定された場合に、その複数のレイアウトの画像を連続して表示させる。一方、複数のレイアウトが類似していると判定された場合には、レイアウトリストにおける順序とは異なる表示順序で、レイアウトを表示させる。詳細については図３４を用いて後述する。
【０１２４】
次に、上記処理によって得られたレイアウト結果を、図６のＳ６０５でレンダリングした結果を図２９のＵＩ２９０１のように表示する。Ｓ６０５では、まずＬａｙｏｕｔＬｉｓｔ［０］に格納されているレイアウト識別子を読み出し、該識別子に相当する一時レイアウト結果を、２次記憶装置１０３あるいはＲＡＭ１０２上から読み出す。レイアウト結果には、上述したようにテンプレート情報と該テンプレート内に存在するスロット毎に、割り当てられた画像名が設定されている。Ｓ６０５ではこれらの情報に基づいて、情報処理装置１１５上で動作するＯＳの描画関数を用いて、該レイアウト結果をレンダリングし、図２９のレイアウト２９０２のように表示することになる。
【０１２５】
図２９のＮｅｘｔボタン２９０４を押下することにより、次点スコアであるＬａｙｏｕｔＬｉｓｔ［１］の識別子を読み出し、上記と同様にレンダリング後、表示を行うことで、ユーザーは様々なバリエーションの提案レイアウトを閲覧することができる。また、Ｐｒｅｖｉｏｕｓボタン２９０３を押下することにより、前に表示したレイアウトを再表示することもできる。さらに、表示されたレイアウトが気に入った場合には、Ｐｒｉｎｔボタン２９０５を押下することで、情報処理装置１１５に接続されたプリンタ１１２からレイアウト２９０２をプリントアウトすることもできる。
【０１２６】
以上が本実施形態における基本的な処理の流れである。
【０１２７】
以下より、上記実施形態のうち、様々なバリエーションの提案レイアウトについて、さらに詳細な実施形態について説明する。
【０１２８】
複数のレイアウトをスコアリングし、スコア順にレイアウトを順次切り替えて表示する場合に、同じレイアウト評価基準のため、似たようなレイアウトが続く場合がある。例えば、図３３を用いて説明する。
【０１２９】
図３３は、レイアウト生成部２０５で生成したレイアウトをスコア順に並べた結果を示す。図３３において、３３０１〜３３０６は、画像Ａ〜Ｈの８画像を３つのスロットに割り当てられたレイアウトの状態を示している。図３３において、３３０１〜３３０６の各レイアウトのレイアウト評価値を以下に示す。
レイアウト３３０１のレイアウト評価値を９０点とする
レイアウト３３０２のレイアウト評価値を８５点とする
レイアウト３３０３のレイアウト評価値を８０点とする
レイアウト３３０４のレイアウト評価値を７５点とする
レイアウト３３０５のレイアウト評価値を７０点とする
レイアウト３３０６のレイアウト評価値を５５点とする
【０１３０】
図３３の通り、レイアウト評価値の最も高いレイアウト３３０１で利用されている３つの画像と、その次にレイアウト評価値の高いレイアウト３３０２で利用されている３つ画像は同じで、配置が異なるだけであることがわかる。
【０１３１】
例えば、画像Ａ、Ｂ、Ｃは、８画像の中で、画像の重要度が高いと判断されているとする。画像Ａ、Ｂ、Ｃがスロットに配置された数が多いほど、レイアウト評価値は自然と高くなる。従って、似たようなレイアウトが続いてしまう場合がある。
【０１３２】
図２１のレイアウトリストは自動的に作成されたものであるため、画像の評価値の高い組み合わせで生成したレイアウトが、必ずしもユーザーが満足するレイアウトになっているとは限らない。この場合の対応方法として、ユーザーが意図的に図２９のＮｅｘｔボタン２９０４を押下することで、表示装置１０４に表示されるレイアウト画像を切り替えることができる。しかし、ユーザーにとって所望なレイアウト画像ではないものが連続して表示されると、ユーザーはそのレイアウト画像が表示されるたびにＮｅｘｔボタン２９０４を押下しなくてはならない。そのため、所望のレイアウト画像を容易に表示させることができない場合がある。
【０１３３】
本実施形態では、先に表示対象となるレイアウト情報を考慮して、次に表示するレイアウト情報を変更することで、似ているレイアウトが連続して表示されないようにレイアウトを制御する。本実施形態の表示制御処理について以下で説明する。
【０１３４】
図３４は、本実施形態の似ているレイアウトが続かないようにレイアウトを制御する処理フロー図である。本処理フローは、本実施形態では、ＣＰＵ１００がＲＯＭ１０１等に格納されたプログラムを実行することにより実現される。
【０１３５】
図２において、複数の画像情報を取得する画像情報取得処理を行い、取得した画像情報からレイアウト生成部２０５で、大量のレイアウトを生成する。
【０１３６】
まず、Ｓ３４０１において、ＣＰＵ１００は、図２１の処理により作成されたレイアウトリストにおいて、レイアウト生成部２０５で生成したレイアウト情報に対し、レイアウト評価値を算出した結果を元に、レイアウト評価値のスコア順にソートする。例えば、図３３において、レイアウト評価値のスコア順にソートした結果がレイアウト３３０１〜３３０６とする。
【０１３７】
次に、Ｓ３４０２において、ＣＰＵ１００は、レイアウト評価値の最も高いスコアであるレイアウト情報を、表示候補リストに追加し、初期表示候補として決定する。例えば、図３３において、レイアウト３３０１を表示候補リストに追加する。
【０１３８】
次に、Ｓ３４０３において、ＣＰＵ１００は、Ｓ３６０１においてソートされたレイアウトリストにおけるレイアウトの順序に従って、表示候補リストに含まれていないレイアウトを１つずつ選択する。Ｓ３４０３において選択されたレイアウトを「後レイアウト」として、以下で説明する。
【０１３９】
ＣＰＵ１００は、後レイアウトの選択処理が呼び出される毎に、スコア順にソートされた複数のレイアウトから１レイアウトを後レイアウトとして選択する。例えば、図３３の例の場合、レイアウト３３０２、３３０３、３３０４、３３０５、３３０６を１つずつ順次、後レイアウトとして選択する。
【０１４０】
次に、Ｓ３４０４において、ＣＰＵ１００は、表示候補リストの中から、１つのレイアウトを選択する。ここで選択したレイアウトを「前レイアウト」として、以下で説明する。なお、本明細書において便宜上、前レイアウトおよび後レイアウトをそれぞれ、第１のレイアウトおよび第２のレイアウトとも記載する。
【０１４１】
ＣＰＵ１００は、表示候補リストから１レイアウトを前レイアウトとして順次選択する。例えば、図３３において、この時点では表示候補リストにレイアウト３３０１のみが登録されているため、前レイアウトをレイアウト３３０１とする。
【０１４２】
次に、Ｓ３４０５において、ＣＰＵ１００は、選択した前レイアウトと後レイアウトとの比較を行い、レイアウト類似評価値として算出する。例えば、レイアウトに配置されているスロット数に対して、前レイアウトおよび後レイアウトで使用されている同じ画像数の割合をレイアウト類似評価値として算出する。
【０１４３】
以下に計算方法を式で示す。
レイアウト類似評価値＝２つのレイアウトで共通に使用されている画像の数／スロット数×１００
【０１４４】
例えば、図３３の例の場合、ＣＰＵ１００は、前レイアウトとしてのレイアウト３３０１と後レイアウトとしてのレイアウト３３０２とを比較し、レイアウト類似評価値を算出する。レイアウト３３０１，３３０２の場合、スロット数が３個で、共通の画像の数が３個となり、レイアウト類似評価値は、以下の式の通り、１００となる。
【０１４５】
レイアウト類似評価値＝３／３×１００＝１００
次に、Ｓ３４０６において、ＣＰＵ１００は、予め設定したレイアウト類似評価値閾値を用いて、レイアウト類似評価値の閾値判定を行う。レイアウト類似評価値が、予め設定したレイアウト類似評価値閾値を越えていない場合は（Ｓ３４０６にてＹＥＳ）、レイアウトが類似していないと判定し、Ｓ３４０７に進む。レイアウト類似評価値が、予め設定したレイアウト類似評価値閾値を越えている場合は（Ｓ３４０６にてＮＯ）、レイアウトが類似していると判定し、Ｓ３４０９に進む。
【０１４６】
例えば、図３３において、予め設定したレイアウト類似評価値閾値を７０とする。前レイアウトをレイアウト３３０１とする。後レイアウトをレイアウト３３０２とする。Ｓ３４０５で算出したレイアウト類似評価値は１００となり、レイアウト類似評価値閾値７０を越えているので、レイアウトが類似していると判定し、後述するＳ３４０８における処理は行われないため、レイアウト３３０２は表示候補リストに追加されない。
【０１４７】
次に、Ｓ３４０７において、ＣＰＵ１００は、後レイアウトが、前レイアウトと類似していないと判定された場合に（Ｓ３４０６にてＹＥＳ）、表示候補リストに、まだ後レイアウトと比較していないレイアウトが存在するか判定する。後レイアウトと比較していないレイアウトが存在する場合には（Ｓ３４０７にてＮＯ）、Ｓ３４０４に戻る。Ｓ３４０４では、表示候補リストに残っているレイアウトの一つを前レイアウトとして設定し、処理を繰り返すことになる。
【０１４８】
表示候補リストの全てのレイアウトと後レイアウトとの比較が完了した場合には（Ｓ３４０７にてＹＥＳ）、Ｓ３４０８に進む。Ｓ３４０８に進む場合には、後レイアウトが表示候補リストの全てのレイアウトと比較した結果、表示候補リストに、後レイアウトと類似しているレイアウトはないと判定されたことを意味している。そして、表示候補リストに含まれるレイアウトの数分、Ｓ３４０４〜Ｓ３４０７の処理が繰り返されることになる。
【０１４９】
例えば、図３３において、表示候補リストに登録されているレイアウトは、レイアウト３３０１のみとする。この場合、Ｓ３４０６で前レイアウトであるレイアウト３３０１と後レイアウトであるレイアウト３３０２が類似していないと判定されれば、表示候補リストの全てのレイアウトと後レイアウトとの比較が完了し、Ｓ３４０８に進むことになる。
【０１５０】
次に、Ｓ３４０８において、ＣＰＵ１００は、Ｓ３４０３で選択された後レイアウトを表示候補リストに追加する。上記のＳ３４０５〜Ｓ３４０７での処理で、後レイアウトは、既に登録されている表示候補リストの中のレイアウト全てに対して、類似していないと判定されている。そのため、Ｓ３４０８では、レイアウトリストに含まれるレイアウトのうちの、表示候補リストに既存のレイアウトに類似していない後レイアウトを追加することができる。Ｓ３４０８において表示候補リストにレイアウトが追加されるとＳ３４０９へ進む。
【０１５１】
次に、Ｓ３４０９において、ＣＰＵ１００は、表示候補リストに登録されたレイアウト数が、予め設定した必要なレイアウト数を満たしているか否かを判定する。必要なレイアウト数を満たしている場合は（Ｓ３４０９にてＮＯ）、Ｓ３４１１に進む。必要なレイアウト数を満たしていない場合は（Ｓ３４０９にてＹＥＳ）、Ｓ３４１０に進む。
【０１５２】
例えば、予め設定した必要なレイアウト数を３とする。この場合、Ｓ３４０３〜Ｓ３４１０までの処理を繰り返し、順次表示候補リストに登録されたレイアウト数が３になった時点で、Ｓ３４１１に進む。
【０１５３】
本実施形態では、必要なレイアウト数を予め設定しているがこれに限らない。例えば、複数の画像情報の画像数とテンプレートに画像を配置する領域数の関係によって、算出してもよい。仮に、複数の画像情報の画像数が１０画像で、テンプレートに画像を配置する領域数が３個の場合、複数の画像情報の画像数をテンプレートに画像を配置する領域数で割った値を、必要なレイアウト数と設定してもよい。この場合、必要なレイアウト数は、３となる。
【０１５４】
また、例えば、画像解析結果で、人物が検出されている画像数を算出し、人物が検出されている画像数とテンプレートに画像を配置する領域数の中で人物が配置される割合で設定してもよい。仮に、人物が検出されている画像数が１０画像で、テンプレートに画像を配置する領域数が４個、人物が配置される割合を５割とした場合、テンプレート上には、人物が検出されている画像数が２画像あればよい。この場合、複数の画像情報の画像数の１０画像をこの２画像で割った値の５が、必要なレイアウト数となる。
【０１５５】
従って、必要なレイアウト数は、予め設定してもよいし、画像や画像解析情報やテンプレートなどの本処理に入力される情報を用いれば、いずれの方法を用いても構わない。
【０１５６】
次に、Ｓ３４１０において、ＣＰＵ１００は、まだ表示候補リストに追加していないレイアウト数の中で、まだ前レイアウトと比較するレイアウトとして後レイアウトに設定していないレイアウトがあるか否かを判定する。前レイアウトと比較するレイアウトとして後レイアウトに設定していないレイアウトがまだある場合には（Ｓ３４１０にてＮＯ）、Ｓ３４０３に戻る。前レイアウトと比較するレイアウトとして後レイアウトに設定していないレイアウトがない場合には（Ｓ３４１０にてＹＥＳ）、Ｓ３４１１に進む。
【０１５７】
次に、Ｓ３４１１において、ＣＰＵ１００は、Ｓ３４１０までの処理にて表示候補リストに追加されたレイアウトの中から１つのレイアウトを選択し、選択したレイアウトを上述した図６のＳ６０５でレンダリングして結果を図２９のように表示する。そして、Ｓ３４１２に進む。
【０１５８】
ユーザーは、表示されたレイアウトを確認し、表示されたレイアウトで気に入った場合は、図２９に示されるＰｒｉｎｔボタン２９０５を押下することで、プリントアウトすることができる。また、表示されたレイアウトが気に入らない場合は、上述した図２９のＮｅｘｔボタン２９０４を押下することで別のレイアウトを表示させることができる。Ｐｒｉｎｔボタン２９０５の指示を受け付けた場合には（Ｓ３４１２にてＹＥＳ）、選択されたレイアウトに対応するデータのプリントアウトを行う。Ｎｅｘｔボタン２９０４の指示を受け付けた場合には（Ｓ３４１２にてＮＯ）、Ｓ３４１１に戻り、表示候補リストから、別のレイアウトを選択し、表示処理を繰り返す。
【０１５９】
なお、表示候補リスト数分の処理が繰り返されたら、また始めに表示したレイアウトから再度表示し直す。または、候補が無かったとして処理を終了しても構わない。
【０１６０】
例えば、図３３を用いて、Ｓ３４０１からＳ３４１２までの処理を説明する。
【０１６１】
まず、Ｓ３４０１で、レイアウト生成処理で生成したレイアウトのレイアウト評価値を元に、レイアウト評価値のスコア順にソートする。スコア順に左から右にソートした結果が図３３となる。次に、Ｓ３４０２で、表示候補リストに、スコアの一番高いレイアウト３３０１が格納される。
【０１６２】
次に、Ｓ３４０３で、スコア順にソートしたレイアウト３３０１の次にスコアの高いレイアウト３３０２を後レイアウトに選択する。次に、Ｓ３４０４で、表示候補リストからレイアウト３３０１を前レイアウトとして選択する。次に、Ｓ３４０５で、前レイアウトであるレイアウト３３０１と後レイアウトであるレイアウト３３０２とを上述したレイアウト類似評価値算出方法により算出する。ここでは、全て同じ画像が配置されているため、レイアウト類似評価値は、１００が算出される。
【０１６３】
次に、Ｓ３４０６で、予め設定したレイアウト類似評価値閾値が７０であり、Ｓ３４０５で算出したレイアウト類似評価値は閾値より大きいため類似していると判定し、Ｓ３４０９に進む。次に、Ｓ３４０９で、予め設定した必要なレイアウト数が３であり、この時点では表示候補リストにはまだレイアウト３３０１の１つしか登録されていない。そのため、必要なレイアウト数を満たしていないと判定し、Ｓ３４１０に進む。
【０１６４】
次に、Ｓ３４１０で、表示候補リストに登録されているレイアウトと比較していないレイアウトがまだ４つ（レイアウト３３０３〜３３０６）残っているため、Ｓ３４０３に戻る。
【０１６５】
次に、Ｓ３４０３で、スコア順にソートしたレイアウト３３０２の次にスコアの高いレイアウト３３０３を後レイアウトとして選択する。次に、Ｓ３４０４で、表示候補リストの中からレイアウト３３０１を前レイアウトとして選択する。次に、Ｓ３４０５で、前レイアウトであるレイアウト３３０１と後レイアウトであるレイアウト３３０３とを上述したレイアウト類似評価値算出方法により算出する。ここでは、全て同じ画像が配置されているため、レイアウト類似評価値は１００が算出される。
【０１６６】
次に、Ｓ３４０６で、予め設定したレイアウト類似評価値閾値が７０であり、Ｓ３４０５で算出したレイアウト類似評価値は閾値より大きいため類似していると判定し、Ｓ３４０９に進む。次に、Ｓ３４０９で、予め設定した必要なレイアウト数が３であり、この時点では表示候補リストにはまだレイアウト３３０１の１つしか登録されていない。そのため、必要なレイアウト数を満たしていないと判定し、Ｓ３４１０に進む。
【０１６７】
次に、Ｓ３４１０で、表示候補リストに登録されているレイアウトと比較していないレイアウトがまだ３つ（レイアウト３３０４〜３３０６）残っているため、Ｓ３４０３に戻る。
【０１６８】
次に、Ｓ３４０３で、スコア順にソートしたレイアウト３３０３の次にスコアの高いレイアウト３３０４を後レイアウトとして選択する。次に、Ｓ３４０４で、表示候補リストの中からレイアウト３３０１を前レイアウトとして選択する。
【０１６９】
次に、Ｓ３４０５で、前レイアウトであるレイアウト３３０１と後レイアウトであるレイアウト３３０４とを上述したレイアウト類似評価値算出方法により算出する。ここでは、全て同じ画像が配置されていないため、レイアウト類似評価値は０が算出される。次に、Ｓ３４０６で、予め設定したレイアウト類似評価値閾値が７０であり、Ｓ３４０５で算出したレイアウト類似評価値は閾値より小さいため類似していないと判定し、Ｓ３４０７に進む。
【０１７０】
次に、Ｓ３４０７で、現時点では表示候補リストにレイアウト３３０１の１つだけしか登録されていないので、表示候補リストに登録されたレイアウト数分の比較が終了したと判定し、Ｓ３４０８に進む。次に、Ｓ３４０８で、レイアウトが類似していないと判定されたレイアウト３３０４を表示候補リストに追加する。
【０１７１】
このように、Ｓ３４０３〜Ｓ３４１０の処理を繰り返すことで、レイアウトが順次表示されるときの表示対象のレイアウトを示す表示候補リストが作成される。このとき、表示候補リストにすでに登録されているレイアウトと類似していないと判定されたレイアウトが登録されていく。即ち、図３４に示した処理により、互いに類似する複数のレイアウトが含まれないように、表示候補リストを作成することができる。なお図３４に示した例では、Ｓ３４０７の処理により、後レイアウトと、表示候補リストに含まれている全てのレイアウト（前レイアウト）を比較していた。しかしこれに限らず、このＳ３４０７の処理を行わなくてもよい。即ち、Ｓ３４０４において、最も新しく追加されたレイアウトを選択し、そのレイアウトと後レイアウトを比較するようにしてもよい。この場合、少なくとも表示候補リストで連続する２つのレイアウトが類似しないように、表示候補リストが作成される。
【０１７２】
図３３に示す複数のレイアウトに対して図３４のＳ３４０３〜Ｓ３４１０の処理を繰り返した結果を図３５に示す。
【０１７３】
図３５は、表示候補リストに登録された最終的なレイアウト結果を示す。図３５において、Ｓ３４０３〜Ｓ３４１０の処理を繰り返した結果、最終的にレイアウト３３０１、３３０４、３３０６が表示候補リストに追加される。
【０１７４】
表示候補リストへの登録が必要なレイアウト数を満たした場合（Ｓ３４０９にてＮＯ）、もしくは前レイアウトと比較していないレイアウトがなくなった場合に（Ｓ３４１０にてＮＯ）、Ｓ３４１１に進む。
【０１７５】
次に、Ｓ３４１１及びＳ３４１２で、表示候補リストからレイアウトを順次表示する。このとき、上述した図２９のＮｅｘｔボタン２９０４をユーザーが押下するごとに、異なるレイアウトを切り替えて表示し、ユーザーがＰｒｉｎｔボタン２９０５を押下すると最終的に利用するレイアウトが決定される。
【０１７６】
以上のように、本実施形態では、レイアウトを順次表示する場合、前に表示したレイアウトと類似しないレイアウトを表示させることができる。そのため、種々のレイアウトをユーザーに提示することができる。また表示装置に表示されたレイアウトからユーザーが所望のレイアウトを選択する場合、種々のレイアウトが順次表示されるため、所望のレイアウトを容易に選択することができる。
【０１７７】
また本実施形態では、レイアウトを順次表示する場合に前後のレイアウトが類似しないようにするために、前に表示したレイアウトに使用した画像と比較して、後に表示するレイアウトに使用する画像が所定割合以上含まれないように制御する。従って、図３５に示すような配置されている画像がレイアウト毎に異なる画像が配置されやすくなり、似たレイアウトが続きにくいバリエーションのある表示候補リストを生成することができる。
【０１７８】
なお、本実施形態では、表示順序における前のレイアウトに含まれる画像が次のレイアウトにおいて所定割合以上含まれないようにしていたが、これに限るものではない。例えば、表示順序における前後のレイアウトで、同じ画像が含まれないように制御してもよいし、前後のレイアウトで共通の画像が所定数以下になるように制御してもよい。
【０１７９】
また、本実施形態では、表示順序において連続する２つのレイアウトに含まれる画像に基づく類似度により、類似するレイアウトが連続しないように表示順序を決定していた。しかし、類似度を判定する方法に限らず、前のレイアウトと評価値が異なるレイアウトを、次レイアウトとして選択してもよい。また前のレイアウトを選択したときとは異なる選択基準により、次のレイアウトを選択してもよい。
【０１８０】
以上が第１の実施形態の説明である。
【０１８１】
＜第２の実施形態＞
第１の実施形態では、レイアウトを選択する際に、以前に生成したレイアウト結果情報を用いて、次に選択するレイアウトを制御することで、似たレイアウトが続きにくいバリエーションのあるレイアウト生成装置を提供することが可能となる。しかしながら、以下の場合、新たに対策が必要となる。
【０１８２】
第１の実施形態において、図３５に示す最終的に選択された３つのレイアウトは、レイアウト３３０１、レイアウト３３０４、レイアウト３３０６であるが、それぞれのレイアウト評価値は、以下の通りとする。
【０１８３】
例えば、レイアウト３３０１のレイアウト評価値が９０点、レイアウト３３０４のレイアウト評価値が７５点、レイアウト３３０６のレイアウト評価値が５５点である。特に、レイアウト３３０６のレイアウトは、レイアウト評価値が５５点と他のレイアウトに比べるとかなり低いスコアになっていることが分かる。
【０１８４】
第１の実施形態では、似たレイアウトが続きにくいバリエーションのあるレイアウトを提供することはできるが、レイアウト評価値が低いレイアウトが選択される場合も生じうる。
【０１８５】
従って、レイアウトを選択する際に、前に表示したレイアウトと、その次に表示するレイアウトが類似しないように制御する他に、レイアウト評価値を考慮して制御する。この方法について、以下で説明する。
【０１８６】
図３６は、本実施形態のレイアウト類似評価値及びレイアウト評価値を用いて制御する処理フロー図である。図３６において、図３４に説明した内容と同じ処理については、説明を省略する。まず、Ｓ３６０１〜Ｓ３６０５は、図３４のＳ３４０１〜３４０５と同様なため、説明は省略する。
【０１８７】
次に、Ｓ３６０６において、ＣＰＵ１００は、Ｓ３６０５で算出したレイアウト類似評価値と、レイアウト生成部２０５で算出した各レイアウトのレイアウト評価値とを利用して、後レイアウトの総合レイアウト評価値を算出する。
【０１８８】
後レイアウトの統合レイアウト評価値の算出方法は、レイアウト類似評価値、レイアウト評価値に対し、予めに設定しておいた重みを利用して算出する。
【０１８９】
まず、レイアウト類似評価値とレイアウト評価値の評価値の幅を合わせる。例えば、レイアウト類似評価値とレイアウト評価値が共に、０〜１００の値となるように公知である正規化処理を行う。または、予めレイアウト類似評価値及びレイアウト評価値が０〜１００の間の値になるように算出しておいても構わない。
【０１９０】
そして、予め設定したレイアウト評価値の重みＭとレイアウト類似評価値の重みＮを用いて、以下の式で、統合レイアウト評価値を算出する。
【０１９１】
統合レイアウト評価値＝レイアウト評価値×Ｎ＋（１００−レイアウト類似評価値）×Ｍ
例えば、図３３のレイアウト３３０１を前レイアウト、レイアウト３３０２を後レイアウトとする。この場合、レイアウト３３０２のレイアウト評価値が８５とし、レイアウト類似評価値が１００とした場合で、総合レイアウト評価値を算出する。予め設定したレイアウト評価値の重みＭを１．０とし、レイアウト類似評価値の重みＮを０．２とした場合、総合レイアウト評価値は以下の通りとなる。
統合レイアウト評価値＝８５×１．０＋（１００−１００）×０．２＝８５
【０１９２】
そして、算出した後レイアウトの統合レイアウト評価値を、後レイアウトとの対応付け情報と共にメモリに保存しておく。
【０１９３】
次に、Ｓ３６０７において、ＣＰＵ１００は、表示候補リストに、まだ後レイアウトと比較していないレイアウトが存在する場合には（Ｓ３４０７にてＮＯ）、Ｓ３６０４に戻り、残っているレイアウトを前レイアウトとして置き換える。そして、ＣＰＵ１００は、Ｓ３６０４〜Ｓ３６０７を繰り返して、後レイアウトの総合レイアウト評価値を算出する。
【０１９４】
この際、Ｓ３６０６では既にメモリに保存された総合レイアウト評価値と、今回算出した総合レイアウト評価値とを比較し、低い方の評価値に置き換えて、後レイアウトとの対応付け情報と共にメモリに保存する。表示候補リストの全てのレイアウトと後レイアウトとの比較が完了した場合には、Ｓ３６０８に進む。
【０１９５】
最終的にメモリに保存された総合レイアウト評価値を、後レイアウトの総合レイアウト評価値として用いる。
【０１９６】
次に、Ｓ３６０８において、ＣＰＵ１００は、後レイアウトとして、まだ前レイアウトと比較していないレイアウトがあるか否かを判定する。まだ比較していないレイアウトがある場合には（Ｓ３６０８にてＮＯ）、Ｓ３６０３に戻り、比較していないレイアウトを後レイアウトとして選択し、処理を続ける。比較していないレイアウトがない場合には（Ｓ３６０８にてＹＥＳ）、後レイアウトに設定するレイアウトが存在しないと判定し、Ｓ３６０９に進む。そして、Ｓ３６０３〜Ｓ３６０８が繰り返されることにより、各レイアウトに対応づけられた総合レイアウト評価値がメモリに保存されることになる。
【０１９７】
例えば、図３３の前レイアウトをレイアウト３３０１とした場合に、後レイアウトとしてレイアウト３３０２〜３３０６の各々に、総合レイアウト評価値が算出されることになる。
【０１９８】
次に、Ｓ３６０９において、ＣＰＵ１００は、メモリに保存した各レイアウトに対応づけられた総合レイアウト評価値の中で、最も高い統合レイアウト評価値となるレイアウトを、表示候補リストに追加して、Ｓ３６１０に進む。
【０１９９】
次に、Ｓ３６１０において、ＣＰＵ１００は、表示候補リストに登録されたレイアウトの数が、予め設定した必要なレイアウト数を満たしているか否かを判定する。必要なレイアウト数を満たしていない場合は（Ｓ３６１０にてＹＥＳ）、Ｓ３６０３に戻り、表示候補リストに追加された各レイアウトを前レイアウトとし、その他のレイアウトを再度後レイアウトとして比較し、処理を続ける。必要なレイアウト数を満たしている場合は（Ｓ３６１０にてＮＯ）、Ｓ３６１１に進む。
【０２００】
次に、Ｓ３６１１において、ＣＰＵ１００は、Ｓ３６１０までの処理で追加した表示候補リストから１つのレイアウトを選択し、選択したレイアウトをレンダリングして（図６のＳ６０５）、結果を図２９のように表示する。そして、Ｓ３６１２に進む。
【０２０１】
次に、Ｓ３６１２において、ＣＰＵ１００は、表示候補リストからレイアウトを順次表示する。このとき、ユーザーは、表示されたレイアウトを確認し、表示されたレイアウトで気に入った場合は、Ｐｒｉｎｔボタン２９０５を押下することで、プリントアウトすることができる。また、表示されたレイアウトが気に入らない場合は、ユーザーは上述した図２９のＮｅｘｔボタン２９０４を押下することで別のレイアウトを表示させる。この場合、処理はＳ３６１１に戻り、表示候補リストから、別のレイアウトを選択し、処理を繰り返す。
【０２０２】
例えば、図３３において、Ｓ３６０１からＳ３６１２までの処理を説明する。Ｓ３６０１からＳ３６０４までは、第１の実施形態と同様なため、詳細な説明は省略する。
【０２０３】
図３３に示したレイアウトのうち、表示候補リストに登録されているのは、レイアウト３３０１とする。前レイアウトをレイアウト３３０１とし、後レイアウトをレイアウト３３０２〜３３０６とした場合について、統合レイアウト評価値算出までの処理の説明を行う。
【０２０４】
まず、Ｓ３６０５で、各後レイアウトのＳ３６０５のレイアウト類似評価値算出処理を行い、Ｓ３６０６に進む。レイアウト類似評価値算出結果を以下に示す。
レイアウト３３０２は、１００点。レイアウト類似評価値＝３／３×１００＝１００
レイアウト３３０３は、１００点。レイアウト類似評価値＝３／３×１００＝１００
レイアウト３３０４は、０点。レイアウト類似評価値＝０／３×１００＝０
レイアウト３３０５は、３３点。レイアウト類似評価値＝１／３×１００＝３３
レイアウト３３０６は、３３点。レイアウト類似評価値＝１／３×１００＝３３
（小数点切り捨て）
【０２０５】
次に、Ｓ３６０６で、各後レイアウトの総合レイアウト評価値を算出し、Ｓ３６０７に進む。例えば、各後レイアウトのレイアウト評価値を以下とする。
【０２０６】
レイアウト３３０２は、８５点
レイアウト３３０３は、８０点
レイアウト３３０４は、７５点
レイアウト３３０５は、７０点
レイアウト３３０６は、５５点
【０２０７】
そして、予め設定したレイアウト評価値の重みＭを１．０とし、レイアウト類似評価値の重みＮを０．２とした場合、総合レイアウト評価値の結果を以下に示す。
レイアウト３３０２は、８５点。計算式８５×１．０＋（１００−１００）×０．２＝８５
レイアウト３３０３は、８０点。計算式８０×１．０＋（１００−１００）×０．２＝８０
レイアウト３３０４は、９５点。計算式７５×１．０＋（１００−０）×０．２＝９５
レイアウト３３０５は、８３点。計算式７０×１．０＋（１００−３３）×０．２＝８３
レイアウト３３０６は、６８点。計算式５５×１．０＋（１００−３３）×０．２＝６８
（小数点切り捨て）
【０２０８】
次に、Ｓ３６０７で、表示候補リストにレイアウト３３０１の１つだけしか登録されていないので、表示候補リストに登録されたレイアウト数分の比較が終了したと判定し、Ｓ３６０８に進む。
【０２０９】
次に、Ｓ３６０８において、上述した結果をレイアウト３３０２〜３３０６を後レイアウトとして前レイアウトと比較が終了したとして、Ｓ３６０９に進む。
【０２１０】
次に、Ｓ３６０９において、各後レイアウトの総合レイアウト評価値で、最もスコアが高いレイアウトであるレイアウト３３０４を表示候補リストに追加する。そして、Ｓ３６１０に進む。
【０２１１】
次に、Ｓ３６１０において、必要なレイアウト数が３の場合、まだ、レイアウト３３０１とレイアウト３３０４の２つしか選択されていないので、Ｓ３６０３に戻り処理を繰り返す。
【０２１２】
Ｓ３６０３に戻り、再度、Ｓ３６０３〜Ｓ３６１０の処理を繰り返すことになる。この際に、表示候補リストに登録されているのは、レイアウト３３０１とレイアウト３３０４である。従って、前レイアウトをレイアウト３３０１にした場合と、レイアウト３３０４にした場合とで、前レイアウトに選択したレイアウト以外のレイアウトを後レイアウトとして、統合レイアウト評価値を算出する。
【０２１３】
まず、前レイアウトをレイアウト３３０１とし、後レイアウトをレイアウト３３０２、３３０３、３３０５、３３０６とした場合について、統合レイアウト評価値を算出する。各レイアウトの統合レイアウト評価値は、上記に記載した内容と同様なため省略する。
【０２１４】
次に、前レイアウトをレイアウト３３０４とし、後レイアウトをレイアウト３３０２、３３０３、３３０５、３３０６とした場合について、統合レイアウト評価値算出する。各レイアウトのレイアウト類似評価値の算出結果を以下に示す。
レイアウト３３０２は、１００点。レイアウト類似評価値＝０／３×１００＝０
レイアウト３３０３は、１００点。レイアウト類似評価値＝０／３×１００＝０
レイアウト３３０５は、３３点。レイアウト類似評価値＝２／３×１００＝６６
レイアウト３３０６は、３３点。レイアウト類似評価値＝０／３×１００＝０
（小数点切り捨て）
【０２１５】
そして、各レイアウトのレイアウト評価値とレイアウト類似評価値を元に統合レイアウト評価値を算出する。各レイアウトの統合レイアウト評価値を以下に示す。
レイアウト３３０２は、１０５点。計算式８５×１．０＋（１００−０）×０．２＝１０５
レイアウト３３０３は、１００点。計算式８０×１．０＋（１００−０）×０．２＝１００
レイアウト３３０５は、７６点。計算式７０×１．０＋（１００−６６）×０．２＝７６
レイアウト３３０６は、７５点。計算式５５×１．０＋（１００−０）×０．２＝７５
（小数点切り捨て）
【０２１６】
そして、前レイアウトであるレイアウト３３０１と３３０４に対して、比較を行った後レイアウトであるレイアウト３３０２、３３０３、３３０５、３３０６の総合レイアウト評価値を合計した値を算出する。後レイアウトの総合レイアウト評価値を合計した値を以下に示す。
レイアウト３３０２は、８５＋１０５＝１９０点
レイアウト３３０３は、８０＋１００＝１８０点
レイアウト３３０５は、８３＋７６＝１５９点
レイアウト３３０６は、６８＋７５＝１４３点
【０２１７】
レイアウト毎に算出した各総合レイアウト評価値で、最もスコアが高いレイアウト３３０２を表示候補リストに追加する。図３７は、図３３に示した複数のレイアウトのうち、表示候補リストに登録された最終的なレイアウト結果を示す。
【０２１８】
以上のように、Ｓ３６０１からＳ３６１０の処理を繰り返した結果、図３７に示すレイアウト３３０１、３３０４、３３０２が、最終的な表示候補リストとして保存され、Ｓ３４１１に進む。
【０２１９】
次に、Ｓ３６１１及びＳ３６１２で、表示候補リストから、上述した図２９のＮｅｘｔボタン２９０４を押下するごとに、表示が切り替わり、ユーザーが最終的に利用するレイアウトを決定する。
【０２２０】
以上のように、本実施形態では、レイアウトを順次表示する場合、前に表示したレイアウトが、後に表示するレイアウトに類似しないように制御することが可能である。
【０２２１】
更に、本実施形態レイアウト評価値を考慮して制御することによって、レイアウト評価値が高いレイアウトを考慮しつつ、類似するレイアウトが連続して表示されないようにバリエーションのあるレイアウトを提供することが可能となる。
【０２２２】
以上が第２の実施形態の説明である。
【０２２３】
＜第３の実施形態＞
第１、２の実施形態では、レイアウト生成部２０５で複数のレイアウトを生成後に表示候補となるレイアウトを選択する際の処理について述べた。即ち、複数のレイアウトを生成した後に、その複数のレイアウトの表示順序を決定するときに、前後レイアウトが類似しないように制御する方法について述べた。しかしながら、レイアウト生成後ではなく、レイアウトを生成するときに、既に生成したレイアウトと類似しないようにレイアウトを生成する場合であってもよい。
【０２２４】
本実施形態では、レイアウトを生成する際に、以前に生成したレイアウト結果情報を用いることで、似たレイアウトが続きにくくバリエーションのあるレイアウトを提供するための方法を示す。
【０２２５】
図２１のＳ２１０７において、大量の一時レイアウトを生成する際に、取得したテンプレートの画像を配置する領域（スロット）に対して、上述したパラメータをランダムに決定して、複数の画像情報を任意に当てはめる処理を繰り返す。
【０２２６】
その際に、先に生成したレイアウトに使用した画像が、次に生成するレイアウトに使用する画像を所定割合以上含まれないように制御する。
【０２２７】
例えば、所定割合を５０％とし、複数の画像情報の画像数が１０画像で、テンプレートに画像を配置する領域数が３とする。そして、パラメータをランダムに決定しレイアウトを生成する際に、先に生成したレイアウトに使用した画像が、後に生成するレイアウトに使用する画像が２個以上の場合には、一時レイアウトの候補として外す。
【０２２８】
以上のように、本実施形態では、生成されたレイアウトどうしは、同じ画像が所定割合以上含まれていない関係となる。従って、レイアウト生成する際に、先に生成したレイアウトに使用した画像が、次に生成するレイアウトに使用する画像を所定割合以上含まれないように制御することにより、バリエーションのあるレイアウトをユーザーに提供することが可能となる。
【０２２９】
さらに、本実施形態によれば、レイアウトが順次生成されるときに前後のレイアウトが類似しないように生成される。そのため、レイアウト生成後にレイアウトの表示順序の並び替えを行わなくても、類似するレイアウトが連続して表示されないように、表示順序を決定することができる。
【０２３０】
また、本実施形態ではレイアウト生成が完了してから、レイアウトの表示を行っていたが、レイアウトの生成、表示を、レイアウト毎に順次繰り返すようにしてもよい。そして、ユーザーが出力対象のレイアウトを指定したときに、レイアウトの生成を終了する。これにより、ユーザーが指定したレイアウトよりも後に表示されるレイアウトについては生成する必要がないため、レイアウトを容易に生成することができる。
【０２３１】
以上が第３の実施形態の説明である。
【０２３２】
＜その他の実施形態＞
また、上記実施形態では、テンプレートに画像を配置する領域数よりも複数の画像情報の画像数が充分多い前提で説明しているが、複数の画像情報の画像数が充分多くない場合には、いくらレイアウトを作成しても、似た画像が選ばれてしまう。
【０２３３】
例えば、テンプレートに画像を配置する領域数が３で、複数の画像情報の画像数が４画像の場合、複数のレイアウトを生成しようとしても、必ず２画像は、同じ画像となってしまう。複数の画像情報の画像数とテンプレートに画像を配置する領域数によっては、予め所定割合以上含めないようにしたとしても実現できない場合がある。
【０２３４】
従って、複数のレイアウトを必ず表示させるためには、複数の画像情報の画像数やテンプレートに画像を配置する領域数によって動的に所定割合を変化させる必要がある。
【０２３５】
例えば、入力される画像数が、レイアウトされる画像の配置数の近い程、レイアウト類似評価値の判定基準を下げて、似ても良い閾値に設定する。また、入力される画像数が、レイアウトされる画像の配置数の遠い程、レイアウト類似評価値の判定基準を上げて、あまり似ない閾値に設定してもよい。
【０２３６】
また、例えば、前に表示したレイアウトに使用した画像が、後に表示するレイアウトに使用する画像が所定割合以上含まれないように制御する所定の値を、複数の画像情報の画像数とテンプレートに画像を配置する領域数から自動的に算出してもよい。
【０２３７】
必要なレイアウト数とテンプレートの画像を配置する領域数を掛けた値に対して、複数の画像情報の画像数で割った値としてもよい。この場合、以下の式となる。
所定割合＝必要なレイアウト数×テンプレートの画像を配置する領域数／複数の画像情報の画像数×１００％
【０２３８】
例えば、必要なレイアウト数が１０で、テンプレートの画像を配置する領域数を３、複数の画像情報の画像数が１００画像とする。この場合、以下の式となり、上記の所定割合が３０となる。
所定割合＝１０×３／１００×１００＝３０
【０２３９】
このように、複数の画像情報に応じて、上記の所定割合が自動的に算出されるものであれば、いずれの方法を用いても構わない。
【０２４０】
従って、複数の画像情報の画像数に応じて、上記所定割合を変えることで、生成できるレイアウトの有無を考慮しつつ、似たレイアウトが続きにくくバリエーションのあるレイアウトを提供することが可能となる。
【０２４１】
また、上記実施形態では、前に表示したレイアウトに使用した画像が、後に表示するレイアウトに使用する画像が所定割合を予め設定、もしくは、自動で設定しているが、これに限らない。上記の所定割合をユーザーが設定しても構わない。
【０２４２】
この場合、ユーザーの意図として、必ず似たような画像を配置したくないなどの要求にこたえる事が可能となる。
【０２４３】
また、上記実施形態では、レイアウト類似評価値の算出方法として、前に表示したレイアウトに使用した画像が、後に表示するレイアウトに使用する画像の割合としているが、これに限らない。例えば、前レイアウトと後レイアウトを比較し、レイアウトに配置されている人物登録している同じ人物数の割合でもよい。
【０２４４】
さらに、画像のメタデータである撮影時間の近さを数値で算出してもよい。さらに、同じ画像が同じ位置に配置されている数の割合でもよい。さらに、同じ配置位置で、トリミングされている割合の近さを数値で算出してもよい。さらに、画像解析した結果、例えば平均輝度値や撮影シーン判定結果の似ている度合いを数値化しレイアウト類似評価値としても構わない。
【０２４５】
要するに、前レイアウトと後レイアウトを比較し、画像の選択、画像の配置、画像の加工のいずれかまたは組み合わせで、レイアウト類似評価値を判定できる方法であれば、いずれの方法でも構わない。
【０２４６】
また、レイアウト類似度算出処理や総合レイアウト評価値算出処理においてそれぞれ１つの算出式を用いて値を求めた。しかし、これに限定するものではなく、複数の算出式をそれぞれ用意しておき、レイアウトの切り替えを指示された場合に、別の算出式で算出された値に基づいて評価の高いレイアウトを選択して表示するようにしても構わない。
【０２４７】
また、上記実施形態では、前レイアウトと後レイアウトを比較する際に、レイアウト類似評価値を算出して似ているか否かを判定し、レイアウトを選択しているが、これに限らない。例えば、前レイアウトのレイアウト評価値算出手段で、利用した特徴量の中で、特にレイアウト評価値を上げている項目を抽出する。そして、後レイアウトのレイアウト評価値を算出する際に、前レイアウトでレイアウト評価値を上げている項目の重みを下げて、レイアウト評価値を算出する。この場合、レイアウト評価値の重みが変わるため、レイアウト評価値でソートした場合に、おのずと前レイアウトと後レイアウトが似たようなレイアウトになりにくくすることが可能となる。
【０２４８】
このように、既に選択されたレイアウト情報を用いて、以降に選択するレイアウトを制御する方法であれば、いずれの方法を用いても構わない。
【０２４９】
さらに、上記実施形態では、図２９のＮｅｘｔボタン２９０４を押すことで、順次レイアウトの表示を切り替える表示切り替え手段の説明をしているがこれに限らない。
【０２５０】
例えば、例えば、レイアウトをタッチパネル上に表示して、ユーザーによりタッチパネル上でフリック操作が行われたときに、表示対象のレイアウトを切り替えてもよい。またスライドショーのような、画像が自動的に切り変わるシステムにおいても同様に、既に選択されたレイアウト情報を用いて、以降に選択するレイアウトを制御する方法であれば、いずれの方法を用いても構わない。
【０２５１】
さらに、表示対象のレイアウトを切り替える場合に限らず、複数のレイアウトが表示画面上で並んで配置されるように、複数のレイアウトを表示させてもよい。この場合、本実施形態によれば、連続して配置されるレイアウトが類似しないように表示させることができる。
【０２５２】
また、以上の実施形態では、表示装置に表示されたレイアウトからユーザーがレイアウトを選択することができる。そのように選択されたレイアウトの出力方法は限定されるものではない。例えば、ユーザーにより選択されたレイアウトを表示装置に表示させてもよいし、印刷装置にレイアウトに対応する画像を印刷させてもよい。また、本実施形態の情報処理装置の内部、また外部のメモリにレイアウトを記憶させる場合であってもよいし、外部装置にレイアウトのデータを送信する場合であってもよい。
【０２５３】
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【図１】
2014016816.tif 000005
【図２】
2014016816.tif 000006
【図３】
2014016816.tif 000007
【図４】
2014016816.tif 000008
【図５】
2014016816.tif 000009
【図６】
2014016816.tif 000010
【図７】
2014016816.tif 000011
【図８】
2014016816.tif 000012
【図９】
2014016816.tif 000013
【図１０】
2014016816.tif 000014
【図１１】
2014016816.tif 000015
【図１２】
2014016816.tif 000016
【図１３】
2014016816.tif 000017
【図１４】
2014016816.tif 000018
【図１５】
2014016816.tif 000019
【図１６】
2014016816.tif 000020
【図１７】
2014016816.tif 000021
【図１８】
2014016816.tif 000022
【図１９】
2014016816.tif 000023
【図２０】
2014016816.tif 000024
【図２１】
2014016816.tif 000025
【図２２】
2014016816.tif 000026
【図２３】
2014016816.tif 000027
【図２４】
2014016816.tif 000028
【図２５】
2014016816.tif 000029
【図２６】
2014016816.tif 000030
【図２７】
2014016816.tif 000031
【図２８】
2014016816.tif 000032
【図２９】
2014016816.tif 000033
【図３０】
2014016816.tif 000034
【図３１】
2014016816.tif 000035
【図３２】
2014016816.tif 000036
【図３３】
2014016816.tif 000037
【図３４】
2014016816.tif 000038
【図３５】
2014016816.tif 000039
【図３６】
2014016816.tif 000040
【図３７】
2014016816.tif 000041