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