(57)【要約】【課題】  ユーザが明示的に設定したお気に入り度だけでなく、閲覧指示によるアクセス回数等を含めて、嗜好性評価の高い画像を選択することによって、より多くの人の好みに合ったレイアウトを生成する技術を提供する。【解決手段】  画像に対してユーザにより明示的に設定されたお気に入り度を示す値と、閲覧した回数によって決定される関心度（自動お気に入り度）の両方を用いて、該当する画像に対する重要度（嗜好性評価値）を得る。この際、ユーザが明示的に設定するお気に入り度を、関心度よりも高い重み付けにする。そして、その重要度に応じてテンプレートに配置すべき画像を決定していく。【選択図】  図３２
2014016819.tif 000002
【特許請求の範囲】
【請求項１】
ユーザによる指示に応じて画像を出力する出力手段と、
出力対象の候補である画像に対するユーザによる評価を示す第１の情報と、前記出力手段による、当該画像のユーザの指示に応じた出力の履歴に基づく第２の情報との両方に従って、出力対象の画像を決定する決定手段と、
を備えることを特徴とする情報処理装置。
【請求項２】
前記決定手段は、前記第２の情報が示す値に、前記第１の情報が示す値よりも大きな重み付けを行って、出力対象の画像を決定することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記重み付けを、前記画像のユーザの指示に応じた出力に基づく前記第１の情報が示す値とユーザによる評価を示す情報が示す値との相関係数に応じて求める手段を更に有することを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記決定手段は、前記第１の情報が示す複数の画像に対するユーザによる評価に基づき、前記第１の情報が示す値と、前記第２の情報が示す値との重み付けを行うことを特徴とする請求項２または３に記載の情報処理装置。
【請求項５】
前記第２の情報は、出力対象の候補の画像の前記出力手段により出力された回数を示し、前記決定手段は、当該回数と、ユーザによる当該画像に対する評価の両方に基づき、出力対象の画像を決定することを特徴とする請求項１乃至４のいずれか１項に記載の情報処理装置。
【請求項６】
ユーザによる指示に応じて画像を出力する出力工程と、
出力対象の候補である画像に対するユーザによる評価を示す第１の情報と、前記出力工程による、当該画像のユーザの指示に応じた出力の履歴に基づく第２の情報との両方に従って、出力対象の画像を決定する決定手段と、
を備えることを特徴とする情報処理方法。
【請求項７】
請求項６に記載の情報処理方法をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は記憶管理された画像をテンプレートに従って配置する技術に関するものである。
【背景技術】
【０００２】
画像をテンプレートに配置することで、フォトアルバムを作成する技術がある。
特許文献１では、画像の表示回数が多いものや表示時間が長いものほど重要度が高い画像であると推定し、選択する手法が記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開2007-005886号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかし、上述したこれまでの技術には以下の課題が存在する。
【０００５】
特許文献１のように、手動のお気に入り度のみを用いるだけでは本当にユーザーの好みに合ったレイアウトを作成できるとは限らない。なぜならば、手動のお気に入り度は設定したタイミングによって若干の誤差が生じるためである。例えばイベントがあり、写真を撮影したその日にお気に入り度の設定をするのと、しばらく経った後で設定をするのでは同じ画像でも評価に若干の誤差が出てしまう。これは手動のお気に入り度は人間がその時の心情で決めるものであり、機械的に評価が決まるわけではないからである。従って同じお気に入り度が設定されていても実際の嗜好性が異なるものや、同じくらい気に入っているのに設定したお気に入り度が違うということは頻繁に起こることである。つまり、この事実を無視して手動のお気に入り度のみを用いたレイアウトを作成しても、ユーザーが設定したお気に入り度が高い画像を用いてレイアウトを作成しただけであり、ユーザーが気に入っているレイアウトであるとは言えない場合がある。
【０００６】
従って本発明の目的は、上記の問題を鑑みて、適切な画像を出力対象として選択することができる画像処理装置、画像処理方法、およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
この課題を解決するため、例えば本発明の情報処理装置は以下の構成を備える。すなわち、
ユーザによる指示に応じて画像を出力する出力手段と、
出力対象の候補である画像に対するユーザによる評価を示す第１の情報と、前記出力手段による、当該画像のユーザの指示に応じた出力の履歴に基づく第２の情報との両方に従って、出力対象の画像を決定する決定手段とを備える。
【発明の効果】
【０００８】
本発明によれば、適切な画像を出力対象として選択することができる
【図面の簡単な説明】
【０００９】
【図１】本実施形態のソフトウェアを実行可能なハードウェア構成を示す図。
【図２】本実施形態の処理のソフトウェアブロック図。
【図３】画像解析処理のフローチャート。
【図４】画像解析処理のフローチャート。
【図５】人物グループ生成処理のフローチャート。
【図６】自動レイアウト提案処理のフローチャート。
【図７】人物グループの表示例を示す図。
【図８】サムネイル形式による画像群の表示例を示す図。
【図９】カレンダー形式による画像群の表示例を示す図。
【図１０】画像解析した結果得られる属性情報の例を示す図。
【図１１】画像解析結果の保存形式の例を示す図。
【図１２】ユーザが手動入力可能な属性情報の例を示す図。
【図１３】手動でお気に入り度を入力するためのＵＩ例を示す図。
【図１４】手動でイベント情報を入力するためのＵＩ例を示す図。
【図１５】手動で人物属性情報を入力するためのＵＩ例を示す図。
【図１６】顔の明るさと画像評価値の対応例を示す図。
【図１７】レイアウトテンプレートの一例を示す図。
【図１８】図１７のレイアウトテンプレートの保持形式の例を示す図。
【図１９】レイアウトテンプレートの一例を示す図。
【図２０】図１９のレイアウトテンプレートの保持形式の例を示す図。
【図２１】第１の実施形態における自動レイアウト生成処理のフローチャート。
【図２２】第１の実施形態における不要画像フィルタリング処理のフローチャート
【図２３】自動トリミング処理の一例を示す図。
【図２４】自動レイアウトを行う際のレイアウト評価値の例を示す図。
【図２５】明るさ適正度の算出方法の説明図。
【図２６】彩度適正度の算出方法の説明図。
【図２７】トリミング欠け判定処理の説明図。
【図２８】ぼかし処理後の輝度値の差と画像評価値の対応例を示す図。
【図２９】自動レイアウト生成結果の表示例を示す図。
【図３０】決定されたテーマと主人公情報の保持例を示す図。
【図３１】生成した自動レイアウト情報の保持例を示す図。
【図３２】ユーザの嗜好性評価処理のフローチャート。
【図３３】手動設定の割合と重みの対応例を示す図。
【図３４】お気に入り度のプロット例を示す図。
【図３５】相関係数と重みの対応例を示す図。
【図３６】差分の平均値と重みの対応例を示す図。
【図３７】入力画像の手動のお気に入り度の例を示す図。
【図３８】分散値と重みの対応例を示す図。
【図３９】撮影年毎の手動のお気に入り度の設定率の例を示す図。
【図４０】割合の分散値と重みの対応例を示す図。
【発明を実施するための形態】
【００１０】
以下、添付図面に従って本発明に係る実施形態を詳細に説明する。
【００１１】
［第１の実施形態］
以下では、デジタルカメラ等で撮像した画像群を記憶管理すると共に、その画像群を用いて自動でレイアウト出力物を生成するための実施形態について説明する。これはあくまで実施の１つの形態を例として示したものであり、本発明は以下の実施に限定されるものではない。
【００１２】
なお、本実施形態では簡単のため、レイアウト出力物として、１ページのコラージュ系出力物を想定するが、複数ページのアルバム出力であってもよい。
【００１３】
＜ハードウェア構成の説明＞
図１は、第１の実施形態に係わる情報処理装置のハードウェア構成例を説明するブロック図である。同図において、100はＣＰＵ（中央演算装置）であり、本実施形態で説明する情報処理方法をプログラムに従って実行する。101はＲＯＭであり、ＣＰＵ100により実行されるＢＩＯＳプログラムが記憶されている。102はＲＡＭで、ＣＰＵ100により実行されるＯＳやアプリケーションを記憶したり、ＣＰＵ100による各種情報の一時的に記憶のためのワークメモリとしても機能する。103はハードディスク等の２次記憶装置であり、ＯＳ，各種アプリケーションを記憶保持機能、並びに、記憶管理対象の画像ファイルを格納する画像記憶機能、更には、画像解析結果を保存するデータベース機能として作用する記憶媒体である。104はディスプレイであり、本実施形態の処理結果をユーザに提示する装置である。該ディスプレイはタッチパネル機能を備えても良い。また、１１０は制御バス／データバスであり、上述の各部とＣＰＵ100とを接続する。このほかにユーザが画像補正の処理の指示等を入力するためのマウスやキーボードといった入力装置105によるユーザインタフェース（ＵＩ）も備える。
【００１４】
また、ハードウェア115は、内部撮像デバイス106を備えてもよい。該内部撮像デバイスで撮像された画像は、所定の画像処理を経た後、２次記憶装置103に保存される。また、画像データはインターフェース（IF108）を介して接続された外部撮像デバイス111から読み込んでも構わない。さらに、ハードウェア115は無線LAN（Local Area Network）109を備え、該LANはインターネット113に接続されている。該インターネットに接続された外部サーバー114より画像を取得することもできる。
【００１５】
最後に、画像等を出力するためのプリンタ112が、IF107を介して接続されている。なお、該プリンタはさらにインターネット上に接続されており、上記無線LAN109経由でプリントデータのやり取りをすることもできる。
【００１６】
＜ソフトウェアのブロック図＞
図２は本実施形態における基本ソフトウェア構成のブロック図になっている。
【００１７】
まずハードウェア115が取得する、デジタルカメラ等で撮像された画像データは、通常JPEG（Joint Photography Expert Group）等の圧縮形式になっている。そのため、画像コーデック部200は、該圧縮形式を解凍していわゆるRGB点順次のビットマップデータ形式に変換する。変換されたビットマップデータは、表示・UI制御部201に伝達され、ディスプレイ等の表示デバイス104上に表示される。
【００１８】
上記ビットマップデータは、さらに画像センシング部203に入力され、同部において、画像の様々な解析処理（詳細は後述）が行われる。上記解析処理の結果得られた画像の様々な属性情報は、所定の形式に従ってデータベース部202において、上述した２次記憶装置103に保存される。なお、以降においては、画像解析処理とセンシング処理は同義で扱う。
【００１９】
シナリオ生成部204では、ユーザが入力した様々な条件に応じて、自動で生成すべきレイアウトの条件を生成する（詳細は後述）。レイアウト生成部205では上記シナリオに従って、自動でレイアウトを生成する処理を行う。
【００２０】
生成したレイアウトは、レンダリング部206で表示用のビットマップデータを生成し、該ビットマップデータは表示・UI制御部201に送られ、結果がディスプレイに表示される。また、レンダリング結果はさらにプリントデータ生成部207に送られ、同部でプリンタ用コマンドデータに変換され、プリンタに送出される。
【００２１】
＜処理のフローチャート＞
また、以下に示すものは最も基本的な処理のフローチャートである。
【００２２】
図３および図４は、画像センシング部203のフローを示しており、複数の画像データ群を取得して、それぞれについて解析処理を施し、その結果をデータベースに格納するまでの処理の流れを示している。図５は、検出した顔位置情報に基づいて、同じ人物と思われる顔情報をグループ化するための処理の流れを示している。図６は、画像の解析情報およびユーザが入力した様々な情報に基づいて、レイアウト作成のためのシナリオを決定し、該シナリオに基づいて、自動でレイアウトを生成するための処理の流れを示している。以下では上記フローチャートに従って、それぞれの処理の説明をしてゆく。
【００２３】
＜画像の取得＞
まず図３のS301では、画像データ群の取得を行う。画像データ群の取得は、例えば、ユーザが、撮影画像が格納された撮像装置やメモリカードをハードウェア115に接続することで、該撮像画像を読み込むことができる。また、内部撮像装置で撮影され、２次記憶装置に保存されていた画像も、当然のことながら対象となる。あるいは、画像は無線LANを介して、インターネット上に接続された外部サーバー114等、ローカルハードウェア115以外の場所から取得をしてもよい。
【００２４】
画像データ群を取得すると、そのサムネイル群が図８および図９のようにＵＩに表示される。図８の801に示すように２次記憶装置内のフォルダ単位で画像のサムネイル802を表示してもよいし、図９に示すようにカレンダーのようなＵＩ901で日付ごとに管理されていてもよい。なお、図９のカレンダー形式表示では、同日に撮影した画像の中の撮影時刻が最先のものが代表画像として表示されるものとしている。また、図９のＵＩ901において、日付の部分902をクリックすれば、その日に撮影された画像が、図８のようなサムネイル一覧で表示される。
【００２５】
＜バックグラウンドセンシング＆ＤＢ登録＞
次に図３のフローチャートにおいて、取得した画像データ群それぞれについて、解析処理および解析結果のデータベース登録を行う。
【００２６】
すなわち、S302において、アプリケーションは、新規で保存され未だセンシング処理が行われていない画像をサーチし、抽出された各画像について、コーデック部が圧縮データからビットマップデータに変換する。
【００２７】
次に、S303において、上記ビットマップデータに対して、各種センシング処理を実行させる。ここでいうセンシング処理には、図１０に示されるような様々な処理を想定する。本実施形態では、センシング処理の例として、顔検出および顔領域の特徴量解析、画像の特徴量解析、シーン解析を挙げており、それぞれ同図に示すようなデータ型の結果を算出することになる。以下、それぞれのセンシング処理について説明する。
【００２８】
まず画像の基本的な特徴量である全体の平均輝度、平均彩度については、公知の方法で求めればよいため、詳細は割愛する。概要としては、画像の各画素について、RGB成分を公知の輝度色差成分（例えばYCbCr成分）に変換し（変換式省略）、Y成分の平均値を求めればよい。また、平均彩度については、上記CbCr成分について画素毎に次式Ｓを算出し、その平均値を求めればよい。
Ｓ＝（Ｃｂ2＋Ｃｒ2）1/2
【００２９】
また、画像の色合いを評価するための特徴量として、画像内の平均色相AveHを算出することも考えられる。各画素毎の色相は、公知のHIS変換式を用いて求めることができ、それらを画像全体で平均化することにより、AveHを求めることができる。
【００３０】
また、上記特徴量は、画像全体のみで算出する必要はない。例えば、画像を所定サイズの領域に分割し、各領域毎に算出することも考えられる。
【００３１】
次に、人物の顔検出処理について説明する。本実施形態で使用する人物の顔検出手法としては、すでに様々な手法が提案されている。例えば、特開2002-183731号公報によれば、入力画像から目領域を検出し、目領域周辺を顔候補領域としている。
【００３２】
該顔候補領域に対して、画素毎の輝度勾配、および輝度勾配の重みを算出し、これらの値を、あらかじめ設定されている理想的な顔基準画像の勾配、および勾配の重みと比較する。その時に、各勾配間の平均角度が所定の閾値以下であった場合、入力画像は顔領域を有すると判定する方法が記載されている。
【００３３】
また、特開2003-30667号公報によれば、まず画像中から肌色領域を検出し、同領域内において、人間の虹彩色画素を検出することにより、目の位置を検出することが可能であるとしている。
【００３４】
さらに、特開平8-63597号公報によれば、複数の顔の形状をしたテンプレートと画像とのマッチング度を計算する。該マッチング度が最も高いテンプレートを選択し、最も高かったマッチング度があらかじめ定められた閾値以上であれば、選択されたテンプレート内の領域を顔候補領域とする。同テンプレートを用いるこことで、目の位置を検出することが可能であるとしている。
【００３５】
さらに、特開2000-105829号公報によれば、まず、鼻画像パターンをテンプレートとし、画像全体、あるいは画像中の指定された領域を走査し最もマッチする位置を鼻の位置として出力する。次に、画像の鼻の位置よりも上の領域を目が存在する領域と考え、目画像パターンをテンプレートとして目存在領域を走査してマッチングをとり、ある閾値よりもマッチ度が度置きい画素の集合である目存在候補位置集合を求める。さらに、目存在候補位置集合に含まれる連続した領域をクラスタとして分割し、各クラスタと鼻位置との距離を算出する。その距離が最も短くなるクラスタを目が存在するクラスタと決定することで、器官位置の検出が可能であるとしている。
【００３６】
その他、顔および器官位置を検出する方法としては、特開平8-77334号公報、特開2001-216515号公報、特開平5-197793号公報、特開平11-53525号公報、特開2000-132688号公報、特開2000-235648号公報、特開平11-250267号公報がある。さらには特登録2541688号公報など、数多くの手法が提案されている。本実施形態では特に手法を限定はしない。
【００３７】
さて、上記処理の結果、各入力画像について、人物顔の個数と各顔毎の画像内における座標位置を取得することができる。また、画像中の顔座標位置が分かれば、該顔領域毎に顔領域内に含まれる画素値の平均YCbCr値を求めることにより、該顔領域の平均輝度および平均色差を得ることができる。
【００３８】
また、画像の特徴量を用いてシーン解析処理を行うことができる。シーン解析処理については、例えば、出願人が開示している特開2010-251999号公報や特開2010-273144号公報等で開示されている技術を利用してもよい。なお、ここでは両者の詳細説明は割愛する。上記シーン解析の結果、画像毎に、風景（Landscape）、夜景（Nightscape）、人物（Portrait）、露出不足（Underexposure）、その他（Others）、という撮影シーンを区別するためのIDを取得することができる。
【００３９】
上記のようにして取得したセンシング情報を、データベース202に保存する。
【００４０】
データベースへの保存形式については、例えば図１１に示すような汎用的なフォーマット（XML：eXtensible Markup Language）で記述し、格納することが考えられる。
【００４１】
同図においては、各画像毎の属性情報を、３つのカテゴリに分けて記述する例を示している。１番目のBaseInfoタグは、画像サイズや撮影時情報として、あらかじめ取得した画像ファイルに付加されている情報である。ここには、画像毎の識別子IDや、画像ファイルが格納されている保存場所及びファイル名、画像サイズ、撮影日時などが含まれる。
【００４２】
２番目のSensInfoタグは、上述した画像解析処理の結果を格納するためのタグである。画像全体の平均輝度、平均彩度、平均色相やシーン解析結果が格納され、さらに、画像中に存在する人物の顔位置や顔色に関する情報が記述可能である。
【００４３】
そして、３番目のUserInfoタグは、ユーザが画像毎に入力した情報を格納することができるが、詳細については後述する。
【００４４】
なお、画像属性情報のデータベース格納方法については、上記に限定されるものではない。その他公知のどのような形式であっても構わない。
【００４５】
＜個人認識処理を用いた人物グルーピング＞
次に、図３のS306において、S303で検出された顔位置情報を用いて、人物毎のグループを生成する処理を行う。あらかじめ人物の顔を自動でグループ化しておくことにより、その後ユーザが各人物に対して名前を付けていく作業を効率化することが可能となる。
【００４６】
ここでの人物グループ形成は、公知の個人認識技術を用いて、図５の処理フローにより実行する。
【００４７】
なお、個人認識技術は、主に顔の中に存在する眼や口といった器官の特徴量抽出と、それらの関係性の類似度を比較する、という二つの技術で構成されるが、その技術については、例えば特許第3469031号公報等で開示されているので、ここでの詳細な説明は省く。なお、上記は一例であって、いかなる手法を用いても構わない。
【００４８】
図５は人物グループ生成処理S306の基本的なフローチャートである。
【００４９】
まず、S501で、２次記憶装置に保存されている画像を順次読み出してデコード処理を行う。さらにS502でデータベースS503にアクセスし、該画像中に含まれる顔の個数と顔の位置情報を取得する。次に、S504において、個人認識処理を行うための正規化顔画像を生成する。
【００５０】
ここで正規化顔画像とは、画像内に様々な大きさ、向き、解像度で存在する顔を切り出して、すべて所定の大きさと向きになるよう、変換して切り出した顔画像のことである。個人認識を行うためには、眼や口といった器官の位置が重要となるため、正規化顔画像のサイズは、上記器官が確実に認識できる程度であるとする。このように正規化顔画像を用意することにより、特徴量検出処理において、様々な解像度の顔に対応する必要がなくなるという利点がある。
【００５１】
次に、S505で、正規化顔画像から顔特徴量を算出する。ここでの顔特徴量とは眼や口、鼻といった器官の位置、大きさや、さらには顔の輪郭などを含むことを特徴とする。
【００５２】
さらに、S506で、あらかじめ人物の識別子（ID）毎に用意されている顔特徴量を格納したデータベースS507（以降、顔辞書と呼ぶ）の顔特徴量と類似しているか否かの判定を行う。上記判定の結果Yesの場合、S509において同じ人物として、同じ人物の辞書IDに追加する。
【００５３】
S506の判定がNoの場合、現在評価対象となっている顔は、これまで顔辞書に登録された人物とは異なる人物であるとして、新規人物IDを発行して顔辞書S507に追加する。S502〜S509までの処理を、入力画像群の中から検出した顔領域全てに適用して、登場した人物のグループ化を行う。
【００５４】
グループ化の結果は、XMLフォーマットで各顔毎にIDタグを用いて記述し、上述したデータベースS304に保存しておく。
【００５５】
なお、上記実施形態においては、図３に示したように、画像のセンシング処理が終了した後に人物グループ生成処理を実行したが、これに限定されない。例えば、図４に示すように、各画像に対してS403でセンシング処理を実行した後に、顔検出位置情報を利用してグループ化処理S405を行ったとしても、同様の結果を生成することができる。
【００５６】
また、上記の処理によって得られた各人物グループは、図７のようなＵＩ701にて表示されることになる。同図において、702は人物グループの代表顔画像を表しており、その横には、該人物グループの名前を表示する領域703が存在する。自動の人物グループ化処理を終了した直後は、同図に示すように人物名は「No name」と表示されている。また、704は該人物グループに含まれる複数の顔画像が表示されている。後述するが、同図のUIにおいては、「No name」の領域703をポインティングデバイスで指定して、正式な人物名を入力したり、人物毎に誕生日や続柄等の情報を入力することができる。
【００５７】
また、上記センシング処理は、コンピュータ115を操作するユーザには気付かれないよう、オペレーティングシステムのバックグラウンドタスクを利用して実行しても良い。この場合、ユーザはコンピュータ上で別の作業を行っていたとしても、画像群のセンシング処理を継続させることができる。
【００５８】
＜ユーザ情報の入力（人物名、誕生日、お気に入り度、など）＞
本実施形態においては、ユーザが手動で画像に関する様々な属性情報を入力することも想定する。
【００５９】
その属性情報（以降、手動登録情報）の例の一覧を、図１２に示す。手動登録情報は大きく、画像単位に設定するものと、上記処理によりグループ処理した人物に設定する情報に分かれる。
【００６０】
まず、画像単位に設定するものとして、ユーザのお気に入り度（第１の情報）がある。お気に入り度は、その画像を気に入っているかどうかを、ユーザがマウス等のポインティングデバイスで段階的に直接的に入力するものである。例えば図１３に示すように、ＵＩ1301上で、所望のサムネイル画像1302をマウスポインタ1303で選択し、右クリックをすることでお気に入り度を入力できるダイアログを表示する。ユーザはメニューの中で自分の好みに応じて、★の数を選択することができる。本実施形態では、お気に入り度が高いほど★の数が多くなるよう設定する。そして、★の値に応じて0〜100までの点数をお気に入り度として設定する。このお気に入り度はユーザが明示的にマウスやキーボードから★の数を設定するので、「手動」によるものと言うことができる。
【００６１】
また、上記お気に入り度ではなく、ユーザが明示しなくても、どれだけその画像に関心があるかを示す「関心度」（第２の情報）もある。かかる関心度は、その画像の閲覧要求指示に起因するアクセスの回数や画像評価値などの要素を用いて算出する。閲覧回数としては例えば、ユーザが図８に示す画像サムネイル一覧表示の状態から、所望の画像ファイルをクリックし、１画像表示画面に遷移した場合における、そ遷移した回数である。そして、遷移回数によって0〜100までの点数を設定する。すなわち、閲覧した回数が多いほど、ユーザが該画像を気に入っていると判断することになる。この閲覧回数に代表される関心度は、先に示したお気に入り度と違って、アクセスする回数が上がるほど高い値となるものであって、アクセスにより自動的に更新されるものと言える。それ故、この関心度は、「自動なお気に入り度」と言い換えることもできる。
【００６２】
また、同様に画像の評価値も0〜100までの点数で算出する。例えば、人物の画像であれば顔の明るさを算出し、その値が図１６のように良いとされる値であるなら良い画像であり、ユーザが気に入っているであろうとして高い得点を設定する。他にも画像がブレぼけを起こしているかを判定するために、画像にぼかし処理を行い、ぼかし処理後の画像と元画像との輝度値の差分をとることで良い画像であるか判定することも考えられる。図２８のように差分が大きいほどぶれていないと判断し、良い画像であるとして高い得点を設定する。このように様々な手法を用いることで画像の評価値を算出する。
【００６３】
また他にも自動のお気に入り度（関心度）を算出する要素として、プリント回数を用いることもできる。プリント行為を行った場合、当然その画像を気に入っていると判断し、プリント回数を計測することで、よりお気に入り度が高いと判断することができる。
【００６４】
このように自動のお気に入り度の要素を全て0〜100までの点数で算出し、最後に各要素の平均値を求めることで自動のお気に入り度を決定する。これによって手動、自動ともに0〜100までの点数が設定されることになり、ユーザが意図的につけたものは何点なのか、自動によって機械的につけられた点数としては何点なのかが同じスケールでわかるようになる。
【００６５】
以上で説明したように、お気に入り度については、ユーザが手動で設定する方法と閲覧回数、画像評価値、あるいはプリント回数などの画像情報を基に自動で設定する方法がある。上記設定および計測した情報については、それぞれ個別に、図１１で示すようなXMLフォーマットで、データベース202のUserInfoタグ内に該当する画像ファイル（図１１では画像ファイル「IMG0001.jpg」）に関連付けられて格納される。例えば、お気に入り度はFavoriteRateタグで、閲覧回数はViewingTimesタグで、画像評価値はImageRateタグで、プリント回数はPrintingTimesタグでそれぞれ表わされる。
【００６６】
また、画像単位に設定する別の情報として、イベント情報が考えられる。イベント情報は、例えば、家族旅行“travel”であったり、卒業式“graduation”であったり、結婚式“wedding”であったりする。
【００６７】
イベントの指定は、図１４で示すように、カレンダー上で所望の日付をマウスポインタ1402などで指定して、その日のイベント名を入力することが考えられる。指定されたイベント名は、画像の属性情報の一部として、図１１で示すXMLフォーマットに含まれることになる。同図のフォーマットでは、UserInfoタグ内のEventタグを使って、イベント名と画像を紐付けている。
【００６８】
次に、別の手動設定情報である、人物属性情報について説明する。
【００６９】
図１５は、人物の属性情報を入力するためのＵＩを示している。同図において、1502は所定人物（この場合は“father”）の代表顔画像を示している。また、1504には、他の画像の中から検出し、S506で顔特徴量が類似していると判断された画像の一覧が表示されている。
【００７０】
センシング処理が終了した直後は、図７に示したように各人物グループには名前が入力されていないが、「No name」の部分703をマウスポインタで指示することにより、任意の人物名を入力することができる。
【００７１】
また、人物毎の属性として、それぞれの人物の誕生日やアプリを操作しているユーザから見た続柄を設定することもできる。図１５の人物の代表顔1502をクリックすると、画面下部に図示するように、クリックした人物の誕生日1505および続柄情報1506を入力することができる。
【００７２】
以上、入力された人物属性情報は、これまでの画像に紐付けられた属性情報とは異なり、XMLフォーマットによって、画像属性情報とは別にデータベース202内で管理されることになる。
【００７３】
＜テンプレートの取得＞
本実施形態においては、あらかじめ様々なレイアウトテンプレートが用意されていることを想定する。レイアウトテンプレートとは図１７および図１９に示すようなもので、レイアウトする用紙サイズ上に、複数の画像配置枠1702,1902（以降、スロットと同義）を配置した構成となっている。
【００７４】
このようなテンプレートは多数用意されており、あらかじめ本実施形態を実行するためのソフトウェアがコンピュータ115にインストールされた時点で、２次記憶装置に保存しておけばよい。また、その他の方法として、IF 107や無線LAN109を介して接続されたインターネット上に存在するサーバー114から、任意のテンプレート群を取得してもよい。
【００７５】
これらのテンプレートは汎用性の高いページ記述言語、例えば上述したセンシング結果の格納と同様にXMLで記載されているとする。XMLデータの例を図１８および図２０に示す。これらの図では、まずBASICタグにおいて、レイアウトページの基本的な情報を記述する。基本的な情報とは、例えば該レイアウトのテーマやページサイズ、およびページの解像度（dpi）等が考えられる。同図において、テンプレートの初期状態では、レイアウトテーマであるThemeタグはブランクとなっている。また、基本情報として、ページサイズはA4、解像度は300dpiを設定している。
【００７６】
また、以降は、上述した画像配置枠の情報をImageSlotタグで記述している。ImageSlotタグの中にはIDタグとPOSITIONタグの２つを保持し、画像配置枠のIDと位置を記述してある。該位置情報については、図１７や図１９で図示するように、例えば左上を原点とするX-Y座標系において定義されることとする。
【００７７】
また、上記ImageSlotは、その他にそれぞれのスロットに対して、スロットの形状および配置すべき推奨人物グループ名を設定することができる。例えば、図１７のテンプレートにおいては、図１８のShapeタグで示すように、すべてのスロットは矩形“rectangle”形状で、人物グループ名はPersonGroupタグによって“MainGroup”を配置することを推奨している。また、図１９のテンプレートにおいては、図２０に示すように、中央に配置しているID=0のスロットは矩形形状であることが記載されている。また、人物グループは“SubGroup”を配置し、その他のID=1,2と続くスロットは楕円“ellipse”形状で、人物グループは“MainGroup”を配置することを推奨している。
【００７８】
本実施形態においては、このようなテンプレートを多数保持することを推奨する。
【００７９】
＜提案シナリオ決定（解決情報含む）＞
上記のように、本実施形態で提示したアプリケーションは、入力された画像群に対して解析処理を実行し、人物を自動的にグループ化してＵＩで表示することができる。また、ユーザはその結果を見て、人物グループ毎に名前や誕生日などの属性情報を入力したり、画像毎にお気に入り度などを設定することができる。
【００８０】
さらにはテーマごとに分類された多数のレイアウトテンプレートを保持することができる。
【００８１】
以上の条件を満たすと、本実施形態のアプリケーションは、ある所定のタイミングに、自動的にユーザに好まれそうなコラージュレイアウトを生成し、ユーザに提示する処理を行う。これを、レイアウトの提案処理と呼ぶこととする。具体的には、情報処理装置のＯＳが起動すると、先ず、常駐アプリケーションプログラムが二次記憶装置からＲＡＭにロードされ実行される。そして、その常駐アプリケーションが、人物や画像のデータベースにおける各種日付に関する情報を収集し、その中で現在の日時との差が予め設定され閾値以下となる日付を探し出し、そのような情報があるとシナリオの提案処理を行う。
【００８２】
図６は、該提案処理を行うための基本的なフローチャートを示している。
【００８３】
同図において、まずS601において、提案処理のシナリオを決定する。シナリオには、提案するレイアウトのテーマおよびテンプレートの決定、およびレイアウト内で重視する人物（主人公）の設定、およびレイアウト生成に用いる画像群の選定情報が含まれる。
【００８４】
以下では簡単のため、２つのシナリオについて例を記載する。
【００８５】
例えば、図１５で自動グループ化されている人物“son”の１歳の誕生日が近いとする。この場合には、提案するレイアウトのテーマは成長記録“growth”と決定する。次にテンプレートの選択を行うが、この場合には成長記録に適した図１９のようなものを選択し、図３０に示すように、XMLのThemeタグの部分に“growth”と記載する。次にレイアウトを行う際に注目する主人公“MainGroup”として、“son”を設定する。また、レイアウトを行う際に副次的に注目する“SubGroup”として“son”と“father”を設定する。次に、レイアウトに利用するための画像群を選定する。この例の場合には、データベースS602を参照し、上記人物“son”の誕生日からこれまでに撮影した画像群のうち、“son”を含む画像群を大量に抽出してリスト化する。以上が、成長記録レイアウトのためのシナリオ決定である。
【００８６】
上記とは異なる例として、図１４で登録したイベント情報から、例えば数日前に家族旅行に行きその画像が大量に２次記憶装置に保存されていることがわかると、シナリオ決定部は、家族旅行のレイアウトを提案するためのシナリオを決定する。この場合には、提案するレイアウトのテーマは旅行“travel”と決定する。次にテンプレートの選択を行うが、この場合には図１７のようなレイアウトを選択し、図３０に示したように、XMLのThemeタグの部分を今度は“travel”と記載する。次にレイアウトを行う際に注目する主人公“MainGroup”として、“son”、“mother”、“father”を設定する。このように、XMLの特性を活かせば、“MainGroup”として複数の人物を設定することができる。次に、レイアウトに利用するための画像群を選定する。この例の場合には、データベースS602を参照し、上記旅行イベントに紐付けられた画像群を大量に抽出してリスト化する。以上が、家族旅行レイアウトのためのシナリオ決定である。
【００８７】
＜レイアウト生成処理（レイアウトテーマに応じた画像選択＆配置）＞
次に、図６のS603において、上述したシナリオに基づくレイアウトの自動生成処理を実行する。図２１はレイアウト処理部の詳細な処理フローを示している。以降は、同図に沿って、各処理ステップの説明を行う。
【００８８】
同図では、まずS2101で、上述したシナリオ生成処理で決定され、テーマと人物グループ情報が設定された後のテンプレート情報を、S2102より取得する。
【００８９】
次に、S2103においては、上記シナリオで決定した画像リストS2106に基づいて、各画像毎に該画像の特徴量をデータベースS2104から取得し、画像群属性情報リストを生成する。ここでいう画像群情報リストとは、図１１に示したIMAGEINFOタグが画像リスト分だけ並んだ構成となっている。以降ではこの画像属性情報リストに基づいて、S2105〜S2109における自動レイアウト生成処理を行う。
【００９０】
このように、本実施形態の自動レイアウト生成処理では、このように画像データそのものを直接扱うのではなく、あらかじめ画像毎にセンシング処理を行ってデータベース保存しておいた属性情報を利用する。この理由は、レイアウト生成処理を行う際に、画像データそのものを対象としてしまうと、画像群を記憶するために非常に巨大なメモリ領域を必要としてしまうことを避けることにある。
【００９１】
次に、S2105において、入力された画像群の属性情報を用いて、入力された画像群の中から不要画像のフィルタリングを行う。フィルタリング処理は、図２２のフローにて行う。同図では、各画像毎に、まずS2201で全体の平均輝度がある閾値（ThY_LowとThY_Hight）内に含まれているかの判定を行う。否の場合にはS2206に進み、注目画像はレイアウト対象から除去する。
【００９２】
同様に、S2202〜S2205では、注目画像に含まれる顔領域それぞれについて、平均輝度、平均色差成分が、良好な肌色領域を示す所定閾値に含まれているかの判定を行う。S2202〜S2205のすべての判定がYesとなる画像のみ、以降のレイアウト生成処理に適用される。なお、このフィルタリング処理では、以降の一時レイアウト作成処理に明らかに不要と判断できる画像の除去を目的としているため、上記閾値は比較的緩やかに設定するとする。例えばS2201の画像全体輝度の判定において、ThY_HighとThY_Lowの差が画像ダイナミックレンジに比して極端に小さいと、それだけYesと判定される画像が少なくなってしまう。本実施形態のフィルタリング処理ではそうならないよう、両者の差をできる限り広く設定し、かつ明らかに異常画像と判断されるものは除去できるような閾値に設定する。
【００９３】
次に図２１のS2107において、上記処理でレイアウト対象となった画像群を用いて、大量（L個）の一時レイアウトを生成する。一時レイアウトは、取得したテンプレートの画像配置枠に対して、入力画像を任意に当てはめる処理を繰り返す。この時に、以下のパラメータをランダムで決定する。
・レイアウト中の画像配置枠がＮ個の時、画像群の中からどの画像を選択するか
・選択した複数の画像を、どの配置枠に配置するか
・配置した際に、どの程度のトリミング処理を行うかというトリミング率
ここで、トリミング率は例えば0〜100%で表わされ、画像の中心を基準として、図２３のようにトリミングされる。同図において、2301は画像全体を示し、2302はトリミング率50%でトリミングした際の切り取り枠を示している。
【００９４】
上記の画像選択・配置・トリミング基準に基づいて、可能な限り数多くの一時レイアウトを生成する。生成した各一時レイアウトは、図３１のXMLのように表わすことができる。各スロットに対して、選択され配置された画像のIDがImageIDタグで、トリミング率がTrimingRatioタグでそれぞれ記述されている。
【００９５】
なお、ここで生成する一時レイアウトの数Ｌについては、後述するレイアウト評価ステップでの評価処理の処理量と、それを処理するハードウェア115の性能に応じて決定されるが、例えば数十万通り以上の一時レイアウトを用意するとする。生成したレイアウトは、それぞれIDを付加して図３１のXML形式で２次記憶装置にファイル保存してもよいし、構造体など別のデータ構造を用いてＲＡＭ上に記憶してもよい。
【００９６】
次に、図２１のS2108において、上記で作成したＬ個の一時レイアウトに対して、それぞれ所定のレイアウト評価量を用いて評価を行う。本実施形態におけるレイアウト評価量の一覧を、図２４に示す。同図に示すように、本実施形態で用いるレイアウト評価量は、主に３つのカテゴリに分けることができる。
【００９７】
一つは、画像個別の評価量である。これは画像の明るさや彩度、ブレぼけ量等の状態を判断し、スコア化するものである。スコア化の一例を以下に示す。まず明るさの適正度については、図２５に示すように、平均輝度がある所定レンジ範囲内においてはスコア値100とし、そこから外れてゆくとスコア値が下げるよう設定している。また、彩度の適正度については、図２６に示すように、画像全体の平均彩度がある所定の彩度値より大きい場合にはスコア値100とし、所定値より小さい場合にはスコア値を除所に下げていくよう設定している。
【００９８】
二つ目の評価カテゴリは、画像とスロットの適合度の評価をスコア化するものである。例えば、人物適合度とは、スロットに指定されている人物と、実際に該スロットに配置された画像内に存在する人物の適合率を表したものである。例を挙げると、あるスロットが、XMLで指定されているPersonGroupで、“father”、“son”が指定されているものとする。この時、該スロットに割り当てられた画像に上記2人の人物が写っていたとすると、該スロットの人物適合度はスコア値100とする。もし片方の人物しか写っていなかったとすると、適合度はスコア値50になる。両者とも写っていなかった場合は、スコア値0になる。ページ内の適合度は、各スロット毎に算出した適合度の平均値とする。
【００９９】
また別の画像・スロット適合度評価値として、トリミング領域2702の欠け判定が存在する。例えば、図２７に示すように、画像中に存在する顔の位置2703が判明している場合、欠けた部分の面積に応じて、0から100までのスコア値を算出する。欠けた面積が0の場合、スコアは100とし、逆にすべての顔領域が欠けた場合、スコア値は0とする。
【０１００】
三つめの評価カテゴリは、レイアウトページ内のバランスを評価するものである。図２４ではバランスを評価するための評価値をいくつか提示している。
【０１０１】
まず、画像類似性について説明する。画像の類似性は、大量に生成した一時レイアウト毎に、それぞれの画像の類似性を算出する。例えば旅行テーマのレイアウトを作成したい場合、あまりに似通った類似度の高い画像ばかりが並んでいたとすると、それは良いレイアウトとは言えない。例えば、類似性は、撮影日時によって評価することができる。撮影日時が近い画像は、同じような場所で撮影された可能性が高いが、撮影日時が離れていれば、その分、場所もシーンも異なる可能性が高いからである。撮影日時は、図１１で示したように、画像属性情報として、予めデータベース202に保存されている、画像毎の属性情報から取得することができる。撮影日時から類似度を求めるには以下のような計算を行う。例えば、今注目している一時レイアウトに４つの画像がレイアウトされているものとする。この時、この４つの画像間で、撮影時間間隔が最も短くなる値を算出する。例えば、30分が最も短い間隔であるとする。この間隔をMinIntervalとし、秒単位で格納する。すわなち30分＝1800秒である。このMinIntervalをL個の各一時レイアウト毎に算出して配列stMinInterval[l]に格納する。次に、該stMinInterval[l]の中で最大値MaxMinInterval値を求める。すると、l番目の一時レイアウトの類似度評価値Similarity[l]は以下のようにして求めることができる。
Similarity[l] = 100×stMinInterval[l] / MaxMinInterval
すなわち、上記Similarity[l]は、最小撮影時間間隔が大きいほど100に近づき、小さいほど0に近づく値となっているため、画像類似度評価値として有効である。
【０１０２】
次に、レイアウトページ内のバランスを評価するための評価量として、色合いのバラつきについて説明する。例えば旅行テーマのレイアウトを作成したい場合、あまりに似通った色（例えば、青空の青、山の緑）の画像ばかりが並んでいたとすると、それは良いレイアウトとは言えない。したがって、ここでは注目しているl番目の一時レイアウト内に存在する画像の平均色相AveHの分散を算出して、それを色合いのバラつき度tmpColorVariance[l]として格納する。次に、該tmpColorVariance[l]の中での最大値MaxColorVariance値を求める。すると、l番目の一時レイアウトの色合いバラつき度の評価値ColorVariance[l]は以下のようにして求めることができる。
ColorVariance[l] = 100 × tmpColorVariance[l] / MaxColorVariance
すなわち、上記ColorVariance[l]は、ページ内に配置された画像の平均色相のバラつきが大きいほど100に近づき、小さいほど0に近づく値となっているため、色合いのばらつき度評価値として有効である。
【０１０３】
次に、レイアウトページ内のバランスを評価するための評価量として、顔の大きさのバラつき度について説明する。例えば旅行テーマのレイアウトを作成したい場合、レイアウト結果を見て、あまりに似通った顔のサイズの画像ばかりが並んでいたとすると、それは良いレイアウトとは言えない。レイアウト後の紙面上における顔の大きさが、小さいものもあれば大きいものもあり、それらがバランスよく配置されていることが、良いレイアウトと考える。その場合、注目しているl番目の一時レイアウト内に配置された後の顔の大きさ（顔位置の左上から右下までの対角線の距離）の分散値を、tmpFaceVariance[l]として格納する。次に、該tmpFaceVariance[l]の中での最大値MaxFaceVariance値を求める。すると、l番目の一時レイアウトの顔サイズバラつき度の評価値FaceVariance[l]は、以下のようにして求めることができる。
FaceVariance[l] = 100  ×  tmpFaceVariance[l] / MaxFaceVariance
すなわち、上記FaceVariance[l]は、紙面上に配置された顔サイズのバラつきが大きいほど100に近づき、小さいほど0に近づく値となっているため、顔サイズのバラつき度評価値として有効である。
【０１０４】
またその他カテゴリとして、ユーザの嗜好性評価が考えられる。
【０１０５】
以上説明したような、各一時レイアウト毎に算出した複数の評価値を、以下では統合化して、各一時レイアウト毎のレイアウト評価値とする。今、l番目の一時レイアウトの統合評価値をEvalLayout[l]とし、上記で算出したN個の評価値（図２４の評価値それぞれを含む）の値をEvalValue[n]とする。この時、統合評価値は次式で求めることができる。
EvalLayout[l]＝ΣEvalValue[n]×W[n]
ここで、Σはn=0,1,2,…,Nの合算演算記号を示す。また、W[n]は、図２４で示したシーン毎の各評価値の重みである。該重みはレイアウトのテーマ毎に異なる重みを設定していることが特徴となっている。例えば、図２４に示すようにテーマを成長記録“growth”と旅行“travel”で比較した場合、旅行テーマの方は、できるだけ良質の写真をいろいろな場面で数多くレイアウトすることとする。そのため、画像の個別評価値やページ内のバランス評価値を重視する傾向にある。一方、成長記録“growth”の場合、画像のバリエーションよりは、成長記録の対象となる主人公が確実にスロットに適合しているか否かが重要である。そのため、ページ内バランスや画像個別評価よりも、画像・スロット適合度評価を重視する傾向にある。また他にも、テーマをお気に入り“favorite”にすることでユーザ嗜好性のみを評価値とすることもできる。
【０１０６】
このようにして算出したEvalLayout[l]を用いて、S2109では、レイアウト結果表示のためのレイアウトリストLayoutList[k]を生成する。レイアウトリストは、予め定められた個数（例えば5個）に対して、EvalLayout[l]のうち、評価値が高いもの順に識別子lを記憶しておく。例えば最も良いスコアを出したものが、l=50番目に作成した一時レイアウトであった場合、LayoutList[0]=50となる。同様に、LayoutList[1]以降は、スコア値が２番目以降の識別子lを記憶しておく。
【０１０７】
以上、図２１のフローチャートに従った処理を説明した。
【０１０８】
＜レンダリング＆表示＞
次に、上記処理によって得られたレイアウト結果を、図６のS605でレンダリングして結果を図２９のように表示する。S605では、まずLayoutList[0]に格納されているレイアウト識別子を読み出し、該識別子に相当する一時レイアウト結果を、２次記憶装置あるいはRAM上から読み出す。レイアウト結果には、上述したようにテンプレート情報と該テンプレート内に存在するスロット毎に、割り当てられた画像名が設定されている。S605ではこれらの情報に基づいて、コンピュータ115上で動作するOSの描画関数を用いて、該レイアウト結果をレンダリングし、図２９のレイアウト枠2902のように表示することになる。
同図のNextボタン2904を押下することにより、次点スコアであるLayoutList[1]の識別子を読み出し、上記と同様にレンダリング後、表示を行うことで、ユーザは様々なバリエーションの提案レイアウトを閲覧することができる。また、Previousボタン2903を押下することにより、前に表示したレイアウトを再表示することもできる。さらに、表示されたレイアウトが気に入った場合には、プリントボタン2905を押下することで、コンピュータ115に接続されたプリンタ112からレイアウト結果2902をプリントアウトすることもできる。
【０１０９】
以上の説明が、本実施形態における基本的な処理の流れである。
【０１１０】
次に、さらに詳細な実施形態を追記してゆく。すなわち図２１のS2108で行われるレイアウト評価における嗜好性評価の手法を、図３２を基に詳述する。
【０１１１】
まずS3201では、図２１のS2105で行った不要画像のフィルタリングで残った全画像を対象にお気に入り度の取得を行う。お気に入り度は図１２の画像の属性情報の例に示したようにユーザが手動で設定するお気に入り度と画像情報を基に自動で設定するお気に入り度があり、この両方を取得する。
【０１１２】
次にS3202では、手動のお気に入り度の信頼性の判定及び、それに対応した手動のお気に入り度の重みづけを行う。ここではフィルタリングで残ったJ枚の画像に対して手動のお気に入り度が設定されている画像の割合を算出する。そしてお気に入り度が設定されていた画像の割合によって信頼性があるかないかの判定をし、それに応じた重みMWを決定する。例えば、図３３のような割合とそれに対する重みである。手動で設定されている画像の割合が多いほどユーザーがしっかりと設定しているということなので信頼性があると判定し、MWの値を大きくする。そして割合が少ないほど手動のお気に入り度をあまり設定していないので信頼性がないと判定をし、MWを小さくする。
【０１１３】
次にS3203では、画像１枚あたりのユーザーの嗜好性評価を行う。なお、このときに先程のS3202で決定したMWを利用する。例えば、手動のお気に入り度が80点、自動のお気に入り度が60点という画像の場合、手動のお気に入り度ManualValue[j]に80点、自動のお気に入り度AutoValue[j]に60点を格納する。そしてManualValue[j]にS3202で決定した重みづけを行い、その合計点を、画像の重要度を表わす画像の嗜好性評価値ImgValue[j]とする。つまり、画像の嗜好性評価は以下の式によって求めることができる。
ImgValue[j] = ManualValue[j] × MW + AutoValue[j]
このような手法を用いることにより、画像１枚の最終的な嗜好性評価を算出することができる。また、ManualValueとAutoValueのどちらの評価値も0~100と同じスケールにした上でMWを常に1.0よりも大きい値とすることで手動のお気に入り度を重視した嗜好性評価となる。
【０１１４】
なお、上記の画像の嗜好性評価値は、２つの重み係数α、βを用い、次式に従って算出しても構わない。
ImgValue[j] = ManualValue[j] × α + AutoValue[j] × β
ただし、手動によるお気に入り度が、自動のお気に入り度（関心度）よりも、大きな重みを持たせるため、α＞βの関係、すなわち、相対的にβよりαを大きくすれば良い。因に、先に示した式は、αが１より大きく、βが１の場合と見ることもできる。
【０１１５】
さて、最後にS3204でレイアウト毎の嗜好性評価値を算出する。l番目の一時レイアウトされたM個の画像の評価値ImgValue[m]の合計値をtmpPalatability[l]として格納する。次に、該tmpPalatability[l]の中での最大値MaxPalatability値を求める。すると、l番目の一時レイアウトの嗜好性評価値Palatability[l]は以下のようにして求めることができる。
Palatability[l] = 100 × tmpPalatability[l] / MaxPalatability
すなわち、上記Palatability [l]は、紙面上に配置された全画像の嗜好性評価の合計値が高いほど100に近づき、低いほど0に近づく値となっているため、レイアウトの嗜好性評価値として有効である。このような手法により得られたレイアウトの嗜好性評価値を他のレイアウト評価値とともに用いてレイアウトを生成することによって、手動のお気に入り度を重視し、ユーザーの嗜好性を考慮したレイアウトを生成することができる。
【０１１６】
なお、本実施形態では予め大量の一時レイアウトを作成し、レイアウト評価を行う際にユーザーの嗜好性評価を行うという例を記したが、これに限定するものではない。例えば、同様の手法を画像フィルタリングの時点で行い、評価の高い画像だけをレイアウト対象にするという手法を用いることも考えられる。
【０１１７】
［第２の実施形態］
第２の実施形態では第１の実施形態との違いのみを表記する。すなわちS3202の信頼性判定の別の手法を説明する。本手法は手動で設定したお気に入り度と自動で設定したお気に入り度の相関性から信頼性を判定し、重みづけを行うという手法である。
【０１１８】
画像のお気に入り度を取得した後、全画像の手動のお気に入り度と自動のお気に入り度の相関をとる。例えば、取得した画像群が図３４のようにプロットされる画像群であるとする。これらの画像のお気に入り度の相関性があるかを判定するために相関係数rを求める。相関係数の詳細については通常用いられる式で求めることができるため省略する。相関係数の計算結果、rに正の相関がある際に信頼性があると判定し、それに応じた重みMWを決定する。例えば図３５のような相関係数とそれに対する重みである。このように相関性を判定することによって全画像に設定されている手動の値と自動の値の類似性がわかる。この手法によって、手動のお気に入り度が設定されていない場合にそれが意図的なのかどうか判断することができる。また、もし相関性がない場合は手動でお気に入り度を設定することをやめてしまったという可能性や、そのときの気分で適当に設定しただけという可能性が高く、信頼できないという判断をすることができる。後は第１の実施形態と同様の手法を行うことによって、ユーザーの嗜好性を考慮したレイアウトを生成することができる。
【０１１９】
本手法はあくまで相関性を利用するというものであり、相関性を求める際の計算方法は上記に限らない。例えば画像毎に手動の値と自動の値の差分をとり、全画像の差分の平均値を算出する。そして、その平均値が低ければ相関性があるとして、例えば図３６のような重みと対応させるという手法を用いることも考えられる。
【０１２０】
［第３の実施形態］
第３の実施形態でも同様にS3202の信頼性判定の別の手法を説明する。本手法は手動で設定したお気に入り度のバラつきによって信頼性を判定し、重みづけを行うという手法である。
【０１２１】
画像のお気に入り度を取得した後、全画像の手動で設定したお気に入り度の値の分散をとる。例えば、取得した画像群が図３７のようなグラフになる画像群であるとする。これらの画像の手動のお気に入り度の値のバラつきがあるかを判定するために分散値vを求める。分散の詳細については通常用いられる式で求めることができるため省略する。分散の計算結果、vの値が大きくなる際に信頼性があると判定し、それに応じた重みMWを決定する。例えば図３８のような分散値とそれに対する重みである。このように分散値を利用することによって全画像に設定されている手動の値のバラつき具合がわかる。もし分散値が低い場合は手動で設定したお気に入り度に偏りがあるということである。ほとんどの画像にお気に入り度を設定していないという可能性や、ユーザーの中でしっかりとしたお気に入り度の基準がなく、例えば★３（60点）ばかり設定してしまったという可能性が高いため、信頼できないという判断をすることができる。後は第１の実施形態と同様の手法を行うことによって、ユーザーの嗜好性を考慮したレイアウトを生成することができる。
【０１２２】
本手法はあくまで手動で設定したお気に入り度のバラつきを利用するというものであり、バラつきを求める方法は上記に限らない。例えば標準偏差を用いて同様に重みMWを決定するという手法を用いることも容易に考えられる。また、お気に入り度の値のバラつきではなく、各値に設定された数のバラつきを利用してバラつきがない程信頼性があると判定し重みMWを高くするという手法も考えられる。
【０１２３】
［第４の実施形態］
第４の実施形態でも同様にS3202の信頼性判定の別の手法を説明する。本手法は撮影日時を利用することによって信頼性を判定し、重みづけを行うという手法である。
【０１２４】
画像のお気に入り度を取得した後、全画像のExif(Exchangeable Image File Format)データに記録されている画像の撮影日時も取得する。そして全画像を撮影年毎に整理し、その中で手動のお気に入り度が設定されている画像の度数の割合を撮影年毎に算出する。例えば図３９のように取得した画像が2008〜 2011年に撮影されたもので全ての年の手動で設定したお気に入り度の割合が10％であるとする。このときに撮影年毎の手動でお気に入り度が設定された画像の割合の分散値vを求める。分散の計算結果、vの値が小さくなる程、手動のお気に入り度の信頼性があると判定し、それに応じた重みMWを決定する。例えば図40のような分散値とそれに対する重みである。全ての年の割合が10%の場合、分散値vは0となるので重みMWは最大となる。もしユーザーが厳選して画像にお気に入り度を設定している場合、設定された枚数が少ないため単に全体の割合を利用するだけでは、途中からお気に入り度を設定しなくなってしまったという場合との差別化が難しい。しかし、この手法を用いることによってたとえ設定された枚数が少ない場合でもユーザーがこだわって設定した場合、撮影年に著しい差は現れないため、手動のお気に入り度の信頼性があると判定することができる。後は第１の実施形態と同様の手法を行うことによって、ユーザーの嗜好性を考慮したレイアウトを生成することができる。
【０１２５】
本手法はあくまで画像の撮影日時を利用するというものであり、撮影日時の利用方法は上記に限らない。例えば割合のバラつきではなく単に設定枚数のバラつきによって信頼性を判定し、重みMWを決定するというような手法を用いることも考えられる。
【０１２６】
以上の実施形態では、ユーザによる指示による出力の履歴（閲覧回数）と、ユーザによる評価（お気に入り度）の両方を用いて、出力対象の画像を決定した。そのため、出力対象の画像を適切に決定することができる。なお、出力の履歴としては、閲覧回数に限らず、画像が印刷された印刷回数であってもよいし、また回数に限らず、出力条件でもよい。出力条件としては、画像が印刷されたときの印刷回数が挙げられる。例えば、印刷に用いられた用紙の種類により、ユーザの画像に対するお気に入り度を自動的に求めてもよい。  
【０１２７】
［その他の実施形態］
以上説明した実施形態の効果を得るための一手段であり、類似の別手法を用いたり、異なるパラメータを用いて、以上の実施形態と同等の効果が得られるようにしても良い。更に複数の実施形態を組み合わせても良い。
【０１２８】
また、複数の機器（例えばホストコンピュータ、インタフェイス機器、リーダ、プリンタ等）から構成されるシステムに適用しても、一つの機器からなる装置（例えば、プリンタ、複写機、ファクシミリ装置等）に適用しても良い。
【０１２９】
また、本実施形態は、以下によっても達成できる。まず、前述した実施形態の機能を実現するソフトウエアのプログラムコードを記録した記憶媒体（または記録媒体）を、システムあるいは装置に供給する。次に、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読み出し実行すればよい。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけではない。例えば、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム（ＯＳ）などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。
【０１３０】
さらに、まず、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれる。その後、該プログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【図１】
2014016819.tif 000003
【図２】
2014016819.tif 000004
【図３】
2014016819.tif 000005
【図４】
2014016819.tif 000006
【図５】
2014016819.tif 000007
【図６】
2014016819.tif 000008
【図７】
2014016819.tif 000009
【図８】
2014016819.tif 000010
【図９】
2014016819.tif 000011
【図１０】
2014016819.tif 000012
【図１１】
2014016819.tif 000013
【図１２】
2014016819.tif 000014
【図１３】
2014016819.tif 000015
【図１４】
2014016819.tif 000016
【図１５】
2014016819.tif 000017
【図１６】
2014016819.tif 000018
【図１７】
2014016819.tif 000019
【図１８】
2014016819.tif 000020
【図１９】
2014016819.tif 000021
【図２０】
2014016819.tif 000022
【図２１】
2014016819.tif 000023
【図２２】
2014016819.tif 000024
【図２３】
2014016819.tif 000025
【図２４】
2014016819.tif 000026
【図２５】
2014016819.tif 000027
【図２６】
2014016819.tif 000028
【図２７】
2014016819.tif 000029
【図２８】
2014016819.tif 000030
【図２９】
2014016819.tif 000031
【図３０】
2014016819.tif 000032
【図３１】
2014016819.tif 000033
【図３２】
2014016819.tif 000034
【図３３】
2014016819.tif 000035
【図３４】
2014016819.tif 000036
【図３５】
2014016819.tif 000037
【図３６】
2014016819.tif 000038
【図３７】
2014016819.tif 000039
【図３８】
2014016819.tif 000040
【図３９】
2014016819.tif 000041
【図４０】
2014016819.tif 000042