(57)【特許請求の範囲】
【請求項１】
レイアウト画像を作成するための複数の画像のそれぞれについて顔領域を検出するとともに、該顔領域のサイズおよび重心を検出する顔検出手段と、
背景となるベース画像に最初に配置すべき第１の画像を配置し、２枚目に配置すべき第２の画像については、前記第１の画像の全顔領域が視認可能となり、かつ前記第１の画像に含まれる顔領域の重心と、前記第２の画像に含まれる顔領域の重心との間の重心間距離が、該重心間距離の最小値を基準とした距離となるように、前記第２の画像の配置位置を探索し、該探索した配置位置に前記第２の画像を配置し、さらに配置する画像がある場合、該さらに配置する画像については、すでに配置されているすべての前記画像の全顔領域が視認可能となり、かつ前記ベース画像にすでに配置されている複数の画像のそれぞれの顔領域の重心と、前記さらに配置する画像の顔領域の重心との間の重心間距離が、該重心間距離の最小値を基準とした距離となるように、前記さらに配置する画像の配置位置を探索し、該探索した配置位置に前記さらに配置する画像を配置するレイアウト処理を行うレイアウト手段とを備えたことを特徴とする画像レイアウト装置。
【請求項２】
すべての前記画像がレイアウトされたベース画像を、前記レイアウトされたすべての画像を含み、かつ指定されたアスペクト比を有する領域に切り出し、該切り出された領域を指定されたサイズに変更してレイアウト画像を取得する最終処理手段をさらに備えたことを特徴とする請求項１記載の画像レイアウト装置。
【請求項３】
前記複数の画像のうちの所望とされる画像に対して、サイズ変更および回転の少なくとも１つの処理を施して加工済み画像を取得する画像加工手段をさらに備え、
前記レイアウト手段は、前記加工済み画像に対して前記レイアウト処理を行う手段であることを特徴とする請求項１または２記載の画像レイアウト装置。
【請求項４】
前記複数の画像のそれぞれに含まれる人物数を検出する人物数検出手段と、
前記人物数が多い画像ほどサイズが大きくなるように前記複数の画像のうちの所定の画像のサイズを変更してサイズ変更済み画像を取得するサイズ変更手段とをさらに備え、
前記レイアウト手段は、前記サイズ変更済み画像に対して前記レイアウト処理を行う手段であることを特徴とする請求項１から３のいずれか１項記載の画像レイアウト装置。
【請求項５】
前記所定の画像は、前記人物数が最も多い画像であることを特徴とする請求項４記載の画像レイアウト装置。
【請求項６】
前記重心間距離の最小値を基準とする距離は、前記重心間距離の最小値であることを特徴とする請求項１から５のいずれか１項記載の画像レイアウト装置。
【請求項７】
前記レイアウト手段は、前記複数の画像の数が多いほど、前記重心間距離の最小値を基準とする距離を小さくする手段であることを特徴とする請求項１から６のいずれか１項記載の画像レイアウト装置。
【請求項８】
コンピュータが、レイアウト画像を作成するための複数の画像のそれぞれについて顔領域を検出するとともに、該顔領域のサイズおよび重心を検出し、
背景となるベース画像に最初に配置すべき第１の画像を配置し、
２枚目に配置すべき第２の画像については、前記第１の画像の全顔領域が視認可能となり、かつ前記第１の画像に含まれる顔領域の重心と、前記第２の画像に含まれる顔領域の重心との間の重心間距離が、該重心間距離の最小値を基準とした距離となるように、前記第２の画像の配置位置を探索し、
該探索した配置位置に前記第２の画像を配置し、
さらに配置する画像がある場合、該さらに配置する画像については、すでに配置されているすべての前記画像の全顔領域が視認可能となり、かつ前記ベース画像にすでに配置されている複数の画像のそれぞれの顔領域の重心と、前記さらに配置する画像の顔領域の重心との間の重心間距離が、該重心間距離の最小値を基準とした距離となるように、前記さらに配置する画像の配置位置を探索し、該探索した配置位置に前記さらに配置する画像を配置することを特徴とする画像レイアウト方法。
【請求項９】
レイアウト画像を作成するための複数の画像のそれぞれについて顔領域を検出するとともに、該顔領域のサイズおよび重心を検出する手順と、
背景となるベース画像に最初に配置すべき第１の画像を配置する手順と、
２枚目に配置すべき第２の画像については、前記第１の画像の全顔領域が視認可能となり、かつ前記第１の画像に含まれる顔領域の重心と、前記第２の画像に含まれる顔領域の重心との間の重心間距離が、該重心間距離の最小値を基準とした距離となるように、前記第２の画像の配置位置を探索する手順と、
該探索した配置位置に前記第２の画像を配置する手順と、
さらに配置する画像がある場合、該さらに配置する画像については、すでに配置されているすべての前記画像の全顔領域が視認可能となり、かつ前記ベース画像にすでに配置されている複数の画像のそれぞれの顔領域の重心と、前記さらに配置する画像の顔領域の重心との間の重心間距離が、該重心間距離の最小値を基準とした距離となるように、前記さらに配置する画像の配置位置を探索し、該探索した配置位置に前記さらに配置する画像を配置する手順とをコンピュータに実行させることを特徴とする画像レイアウトプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の画像をレイアウトする画像レイアウト装置および方法並びに画像レイアウト方法をコンピュータに実行させるためのプログラムに関するものである。
【背景技術】
【０００２】
デジタルカメラの普及により、誰もが手軽に画像を取得し、これをプリント出力することが可能となっている。また、画像を自身のパソコンにより加工することも容易となっている。例えば、複数の画像を適宜レイアウトして１枚のレイアウト画像を作成し、これをパソコンに保存したりプリント出力をすることも可能となっている。このようにレイアウト画像を作成する場合には、得られるレイアウト画像の全体のバランスを考慮して、できるだけ見栄えをよくするように複数の画像を配置するのが一般的である。
【０００３】
しかしながら、レイアウトの作業は、作業を行うユーザの手作業により行われるものであるため、レイアウト画像の見栄えは、ユーザのデザインセンスや経験に左右されることが多く、必ずしも満足のいくレイアウト画像が得られないものとなっており、さらには作業を行うユーザの負担も大きいものとなっている。
【０００４】
このため、複数の画像のレイアウトを自動で行うための各種手法が提案されている。例えば、特許文献１においては、あらかじめ定められた複数のレイアウト領域に画像をレイアウトする際に、配置する画像の顔領域の面積および分散値を用いることにより、画像のバランスを考慮してレイアウトを行う手法が提案されている。また、特許文献２においては、レイアウトする画像についての人目を引く指標である誘目度を算出し、誘目度に基づいてゲーム性や娯楽性の高いレイアウト画像を生成する手法が提案されている。さらに、特許文献３においては、顔の向き等の画像のバランス、取得された年代等を評価し、遺伝的アルゴリズムを用いてレイアウト画像を生成する手法が提案されている。
【特許文献１】特開２００５−１９０４０１号公報
【特許文献２】特開２００５−２８４５９７号公報
【特許文献３】特開２００２−２８８６６９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記特許文献１に記載された手法は、あらかじめ画像をレイアウトする領域が決まっているため、得られるレイアウト画像が面白味に欠けるものとなることが多い。また、特許文献２に記載された手法では、ゲーム性や娯楽性が高いレイアウト画像を得ることができるものの、とくにゲーム性や娯楽性を望まない場合には、レイアウト画像がうるさく感じるものとなる。また、特許文献３に記載され得た手法では、遺伝的アルゴリズムを用いているため、見栄えのよいレイアウト画像が得られるまでには多くの学習を行う必要がある。
【０００６】
本発明は上記事情に鑑みなされたものであり、複数の画像をレイアウトする際に、見栄えのよいレイアウト画像を簡易に得ることができるようにすることを目的とする。
【課題を解決するための手段】
【０００７】
本発明による画像レイアウト装置は、レイアウト画像を作成するための複数の画像のそれぞれについて顔領域を検出するとともに、該顔領域のサイズおよび重心を検出する顔検出手段と、
背景となるベース画像に最初に配置すべき第１の画像を配置し、２枚目に配置すべき第２の画像については、前記第１の画像に含まれる顔領域の重心と、前記第２の画像に含まれる顔領域の重心との間の重心間距離が、前記第１の画像の全顔領域が視認可能となる所定の距離となるように、前記第２の画像を前記ベース画像に配置し、さらに配置する画像がある場合、該さらに配置する画像については、前記ベース画像にすでに配置されている複数の画像のそれぞれの顔領域の重心と、前記さらに配置する画像の顔領域の重心との間の重心間距離が、前記すでに配置されているすべての画像の全顔領域が視認可能となる所定の距離となるように、前記さらに配置する画像を前記ベース画像に配置するレイアウト処理を行うレイアウト手段とを備えたことを特徴とするものである。
【０００８】
なお、１つの画像に複数の顔領域が含まれる場合があるが、その場合はすべての顔領域のサイズを検出するとともに、すべての顔領域についての重心を検出する。
【０００９】
「画像の全顔領域を視認可能とする」とは、すでに配置されているすべての画像のすべての顔領域が、さらに配置する画像と重ならないようにする、すなわち、すでに配置されているすべての画像のすべての顔領域が、さらに配置する画像に隠されないようにすることを意味する。
【００１０】
なお、本発明による画像レイアウト装置においては、すべての前記画像がレイアウトされたベース画像を、前記レイアウトされたすべての画像を含み、かつ指定されたアスペクト比を有する領域に切り出し、該切り出された領域を指定されたサイズに変更してレイアウト画像を取得する最終処理手段をさらに備えるようにしてもよい。
【００１１】
また、本発明による画像レイアウト装置においては、前記複数の画像のうちの所望とされる画像に対して、サイズ変更および回転の少なくとも１つの処理を施して加工済み画像を取得する画像加工手段をさらに備えるものとし、
前記レイアウト手段を、前記加工済み画像に対して前記レイアウト処理を行う手段としてもよい。
【００１２】
「複数の画像のうちの所望とされる画像」としては、あらかじめ指定された画像であってもよく、すべての画像であってもよい。また、ランダムに選択された画像であってもよい。
【００１３】
「サイズ変更および回転の少なくとも１つの処理」については、サイズ変更および回転の程度が大きすぎるとレイアウト画像の見栄えが悪くなることから、サイズ変更および回転の程度を指定するためのパラメータの範囲を定めておくことが好ましい。なお、サイズ変更および回転の処理は所望とされる画像のすべてに対して行ってもよく、あらかじめ指定された画像あるいはランダムに選択された画像に対して行ってもよい。また、パラメータは処理を施す画像毎に異なるものであっても同一であってもよい。また、パラメータはランダムに設定してもよい。
【００１４】
また、本発明による画像レイアウト装置においては、前記複数の画像のそれぞれに含まれる人物数を検出する人物数検出手段と、
前記人物数が多い画像ほどサイズが大きくなるように前記複数の画像のうちの所定の画像のサイズを変更してサイズ変更済み画像を取得するサイズ変更手段とをさらに備えるものとし、
前記レイアウト手段を、前記サイズ変更済み画像に対して前記レイアウト処理を行う手段としてもよい。
【００１５】
この場合、前記所定の画像は、前記人物数が最も多い画像であることが好ましい。
【００１６】
また、本発明による画像レイアウト装置においては、前記所定の距離を、前記重心間距離の最小値を基準とする距離としてもよい。とくに、前記所定の距離を、前記重心間距離の最小値とすることが好ましい。
【００１７】
「重心間距離の最小値を基準とする距離」とは、すでに配置されている画像の全顔領域が視認可能であれば、重心間距離の最小値であってもよく、最小値から若干大きい（例えば１０％程度）大きい距離であってもよい。また、レイアウトする画像の数に応じて変更するようにしてもよい。具体的には、レイアウトする画像の数が多いほどこの距離を小さくすることが好ましい。
【００１８】
本発明による画像レイアウト方法は、複数の画像のそれぞれについて顔領域を検出するとともに、該顔領域のサイズおよび重心を検出し、
背景となるベース画像に最初に配置すべき第１の画像を配置し、
２枚目に配置すべき第２の画像については、前記第１の画像に含まれる顔領域の重心と、前記第２の画像に含まれる顔領域の重心との間の重心間距離が、前記第１の画像の全顔領域が視認可能となる所定の距離となるように、前記第２の画像を前記ベース画像に配置し、
さらに配置する画像がある場合、該さらに配置する画像については、前記ベース画像にすでに配置されている複数の画像のそれぞれの顔領域の重心と、前記さらに配置する画像の顔領域の重心との間の重心間距離が、前記すでに配置されているすべての画像の全顔領域が視認可能となる所定の距離となるように、前記さらに配置する画像を前記ベース画像に配置することを特徴とするものである。
【００１９】
なお、本発明による画像レイアウト方法をコンピュータに実行させるためのプログラムとして提供してもよい。
【発明の効果】
【００２０】
本発明によれば、レイアウトする複数の画像の入力が受け付けられ、複数の画像のそれぞれについて顔領域が検出されるとともに、顔領域のサイズおよび重心が検出される。そして、まず、背景となるベース画像に最初に配置すべき第１の画像が配置される。続いて、２枚目に配置すべき第２の画像については、第１の画像に含まれる顔領域の重心と、第２の画像に含まれる顔領域の重心との間の重心間距離が、第１の画像の全顔領域が視認可能となる所定の距離となるようにベース画像に配置される。そして、さらに配置する画像がある場合には、さらに配置する画像については、ベース画像にすでに配置されている複数の画像のそれぞれの顔領域の重心と、さらに配置する画像の顔領域の重心との間の重心間距離が、すでに配置されているすべての画像の全顔領域が視認可能となる所定の距離となるように、ベース画像に配置される。
【００２１】
このため、レイアウトする複数の画像に含まれる顔領域の位置、顔領域の数に応じて、画像の配置に意外性のあるレイアウト画像を得ることができる。また、配置されている画像の全顔領域が視認可能とされているため、レイアウトする画像に含まれる人物の顔が他の画像に隠れてしまうこともない。また、画像に含まれる顔領域の重心間距離に基づいて、すでに配置されているすべての画像の全顔領域が視認可能となるように画像を配置していることから、特許文献３に記載されたような複雑なアルゴリズムを使用することなく、レイアウト画像を得ることができる。よって、見栄えのよいレイアウト画像を簡易に得ることができる。
【００２２】
また、すべての画像がレイアウトされたベース画像を、レイアウトされたすべての画像を含み、かつ指定されたアスペクト比を有する領域に切り出し、切り出した領域を指定されたサイズに変更することにより、所望とするアスペクト比を有し、かつ所望とするサイズを有するレイアウト画像を得ることができる。
【００２３】
また、複数の画像のうちの所望とされる画像に対して、サイズ変更および回転の少なくとも１つの処理を施して加工済み画像を取得し、加工済み画像に対してレイアウト処理を行うことにより、より見栄えのよいレイアウト画像を得ることができる。
【００２４】
ここで、画像に含まれる人物の顔のサイズは、画像に含まれる人物数が多いほど小さくなる。このため、人物数が多い画像ほどサイズが大きくなるようにサイズを変更してレイアウト処理を行うことにより、より人物の顔が見やすいように画像をレイアウトしたレイアウト画像を得ることができる。
【発明を実施するための最良の形態】
【００２５】
以下、図面を参照して本発明の実施形態について説明する。図１は本発明の第１の実施形態による画像レイアウト装置の構成を示す概略ブロック図である。図１に示すように第１の実施形態による画像レイアウト装置１は、画像データの記録制御および表示制御等の各種制御を行うとともに、装置１を構成する各部の制御を行うＣＰＵ１２と、ＣＰＵ１２を動作させるプログラム、画像を閲覧するためのビューアソフトおよび各種定数が記録されているＲＯＭおよびＣＰＵ１２が処理を実行する際の作業領域となるＲＡＭにより構成されるシステムメモリ１４と、種々の指示を装置１に対して行うためのキーボードおよびマウス等からなる入力部１６と、各種表示を行う液晶モニタ等からなる表示部１８とを備える。
【００２６】
また、画像レイアウト装置１は、画像データを記録したメモリカード２から画像データを読み出したり、メモリカード２に画像データを記録したりするためのカードスロット２０と、画像データをＪＰＥＧに代表される手法で圧縮したり、圧縮した画像データを解凍する圧縮解凍部２２と、画像データやＣＰＵ１２が実行する各種プログラム等を記録するハードディスク２４と、システムメモリ１４、カードスロット２０およびハードディスク２４を制御するメモリ制御部２６とを備える。
【００２７】
また、画像レイアウト装置１は、レイアウト画像の作成に使用する複数の画像のそれぞれから顔領域を検出するとともに、検出した顔領域の位置、サイズおよび重心を検出する顔検出部２８と、後述するようにレイアウト処理を行うレイアウト部３０と、後述するように最終的なレイアウト画像を取得する最終処理部３２とを備える。また、表示部１８の表示を制御する表示制御部３４も備える。
【００２８】
以下、第１の実施形態における顔検出部２８、レイアウト部３０および最終処理部３２が行う処理について説明する。図２は第１の実施形態において行われる処理を示すフローチャートである。なお、レイアウトする複数の画像（以下、レイアウト対象画像とする）は、メモリカード２から読み出されてハードディスク２４に保存された複数の画像からすでに選択されているものとする。また、レイアウト対象画像について、レイアウトする順序はあらかじめ指定されているものとする。
【００２９】
レイアウト画像作成の指示をユーザが入力部１６から行うことによりＣＰＵ１２が処理を開始し、顔検出部２８がすべてのレイアウト対象画像から顔領域を検出する（ステップＳＴ１）。なお、画像から顔領域を検出する手法としては、例えば特開平２００５−１５７９６４号公報に記載されているように、肌色情報の標準偏差に基づいて設定したしきい値により画像を２値化し、２値化された画像から両目を検出し、検出した両目の情報に基づいて顔領域を検出する手法、および特開平２００５−１９０４００号公報に記載されているように、画像の肌色情報および輝度情報等を用いて顔領域が画像中に存在するか否かを判定し、顔領域が存在すると判定された画像について、検出対象領域を複数のブロックに分割し、ブロックの特徴ベクトルを用いて顔領域を検出する手法等、公知の任意の手法を用いることができる。また、複数の顔を含むレイアウト対象画像からはすべての顔領域を検出する。また、顔領域はレイアウト対象画像に含まれる顔を囲む矩形の領域とする。
【００３０】
続いて、顔検出部２８は、すべてのレイアウト対象画像について、顔領域の位置、サイズおよび重心を検出する（ステップＳＴ２）。ここで、顔領域の位置とは、レイアウト対象画像の左上隅を原点とする２次元座標を設定した場合における、顔領域の左上隅の座標値とする。顔領域のサイズは、顔領域の縦横の画素数とする。以下、顔領域の重心の検出について説明する。
【００３１】
図３は顔領域の重心の検出を説明するための図である。図３（ａ）に示すようにレイアウト対象画像に顔領域Ｆ１が１つのみ含まれる場合、顔領域Ｆ１の重心Ｇ１は、顔領域Ｆ１の対角線の交点となる。また、図３（ｂ）に示すように、レイアウト対象画像に複数（ここでは２つ）の顔領域Ｆ１が含まれる場合、顔領域Ｆ１の重心Ｇ１は、各顔領域Ｆ１の重心Ｇ１を結ぶ線分を顔領域Ｆ１のサイズに応じて内分する点とする。なお、顔領域Ｆ１が３つ存在する場合には、３つの顔領域Ｆ１のそれぞれの重心を頂点とする三角形の重心を顔領域Ｆ１の重心とする。さらに多くの顔領域Ｆ１が存在する場合には、顔領域Ｆ１が２つの場合、および３つの場合の重心を検出する手法を組み合わせて、すべての顔領域Ｆ１の重心Ｇ１を検出する。なお、検出した顔領域の位置、サイズおよび重心はレイアウト対象画像と対応づけられてシステムメモリ１４あるいはハードディスク２４に一時的に保存される。
【００３２】
ここで、レイアウト対象画像が人物を含まない場合には顔領域は検出されない。この場合、図３（ｃ）に示すように、レイアウト対象画像の重心を顔領域の重心Ｇ１と仮定して後述するレイアウト処理を行う。またこの場合、顔領域Ｆ１はレイアウト対象画像に対してあらかじめ定められた割合のサイズを有し、アスペクト比がレイアウト対象画像と同一の領域と仮定して後述するレイアウト処理を行う。
【００３３】
ここで、本実施形態においては、図３（ａ）、（ｂ）に示す画像および図３（ｄ）に示す３枚のレイアウト対象画像を配置するものとして以降の説明を行う。
【００３４】
続いて、レイアウト部３０が、配置する画像を最初のレイアウト対象画像に設定し（ステップＳＴ３）、レイアウト対象画像をレイアウト画像の背景となるベース画像に配置する（ステップＳＴ４）。図４は最初のレイアウト対象画像（Ｌ１とする）がベース画像Ｂ０に配置された状態を示す図である。ベース画像Ｂ０はサイズが無限大の仮想的な平面とする。次いで、レイアウト部３０は配置する画像を２枚目のレイアウト対象画像に設定し（ステップＳＴ５）、レイアウト対象画像の顔領域の位置、サイズおよび重心を考慮して２枚目のレイアウト対象画像を配置する（ステップＳＴ６）。以下、２枚目のレイアウト対象画像の配置について説明する。
【００３５】
まず、２枚目のレイアウト対象画像（Ｌ２とする）については、１枚目のレイアウト対象画像Ｌ１の顔領域Ｆ１と２枚目のレイアウト対象画像Ｌ２とが重ならず、かつベース画像Ｂ０に配置された最初のレイアウト対象画像Ｌ１の顔領域Ｆ１の重心Ｇ１と２枚目のレイアウト対象画像Ｌ２の顔領域Ｆ１の重心Ｇ１との距離が最短となる位置をレイアウト部３０が探索し、その位置に２枚目のレイアウト対象画像Ｌ２を配置する。
【００３６】
図５は最初のレイアウト対象画像Ｌ１および２枚目のレイアウト対象画像Ｌ２をベース画像Ｂ０に配置した状態を示す図である。図５に示すように、最初のレイアウト対象画像Ｌ１の顔領域Ｆ１が２枚目のレイアウト対象画像Ｌ２とは重ならず、かつ最初のレイアウト対象画像Ｌ１の顔領域Ｆ１の重心Ｇ１と２枚目のレイアウト対象画像Ｌ２の顔領域Ｆ１の重心Ｇ１とが最短となる位置に２枚目のレイアウト対象画像Ｌ２が配置されている。
【００３７】
次いで、レイアウト部３０はさらに配置するレイアウト対象画像があるか否かを判定し（ステップＳＴ７）。ステップＳＴ７が肯定されると、配置するレイアウト対象画像を次のレイアウト対象画像に設定し（ステップＳＴ８）、ステップＳＴ６に戻り、ステップＳＴ６以降の処理を繰り返す。
【００３８】
ここで、３枚目以降のレイアウト対象画像を配置する場合、レイアウト部３０は、すでにベース画像Ｂ０に配置されているすべてのレイアウト対象画像Ｌ１，Ｌ２の顔領域Ｆ１と、配置するレイアウト対象画像の顔領域とが重ならず、かつベース画像Ｂ０に配置されたすべてのレイアウト対象画像の顔領域Ｆ１の重心Ｇ１と配置するレイアウト対象画像の顔領域Ｆ１の重心Ｇ１との距離が最短となる位置を探索してレイアウト対象画像を配置する。
【００３９】
ここで、図５に示すように２枚のレイアウト対象画像が配置された状態においては、２枚のレイアウト対象画像の顔領域の重心Ｇ１は図６に示す位置となる。したがって、図５に示すように２枚のレイアウト対象画像Ｌ１，Ｌ２がベース画像Ｂ０に配置された状態において、図３（ｄ）に示すレイアウト対象画像（Ｌ３とする）を配置すると、図７に示すように３枚のレイアウト対象画像Ｌ１，Ｌ２，Ｌ３が配置される。なお、この場合における３枚のレイアウト対象画像Ｌ１，Ｌ２，Ｌ３の顔領域の重心Ｇ１は図８に示すものとなる。
【００４０】
一方、ステップＳＴ７が否定されると、最終処理部３２が、図９に示すように、ベース画像Ｂ０にレイアウトされたすべてのレイアウト対象画像Ｌ１，Ｌ２，Ｌ３を含み、かつ指定されたアスペクト比を有する最小サイズの矩形領域Ｓ０によりベース画像Ｂ０をトリミングする（ステップＳＴ９）。ここで、最小サイズの矩形領域Ｓ０は図９に示すように３枚のレイアウト対象画像Ｌ１，Ｌ２，Ｌ３に内接する領域となる。
【００４１】
続いて、最終処理部３２は、トリミングした矩形領域Ｓ０を指定されたサイズに変更して（ステップＳＴ１０）、レイアウト画像の作成を終了する。これにより図１０に示すように、３枚のレイアウト対象画像Ｌ１，Ｌ２，Ｌ３が配置されたレイアウト画像を得ることができる。なお、レイアウト画像はプリント出力やモニタの表示に供される。
【００４２】
このように第１の実施形態においては、ベース画像Ｂ０にすでに配置されているレイアウト対象画像の顔領域Ｆ１の重心Ｇ１と、さらに配置すべきレイアウト対象画像の顔領域Ｆ１の重心Ｇ１との間の重心間距離が最短となり、かつ、すでに配置されているすべてのレイアウト対象画像の顔領域Ｆ１と配置するレイアウト対象画像とが重ならないように、レイアウト対象画像を配置するようにしたものである。
【００４３】
このため、レイアウト対象画像に含まれる顔領域Ｆ１の位置、顔領域の数に応じて、画像の配置に意外性のあるレイアウト画像を得ることができる。また、配置されているレイアウト対象画像のすべての顔領域Ｆ１が他のレイアウト対象画像により隠されることがなくなるため、レイアウト対象画像に含まれる人物の顔が他の画像に隠れてしまうこともない。また、上記特許文献３に記載されたような複雑なアルゴリズムを使用することなくレイアウト画像を得ることができるため、見栄えのよいレイアウト画像を簡易に得ることができる。
【００４４】
次いで、本発明の第２の実施形態について説明する。図１１は本発明の第２の実施形態による画像レイアウト装置の構成を示す概略ブロック図である。なお、第２の実施形態において第１の実施形態と同一の構成については同一の参照番号を付与し、詳細な説明は省略する。図１１に示すように第２の実施形態による画像レイアウト装置１Ａは、複数のレイアウト対象画像のうちの所望のレイアウト対象画像に対して、サイズ変更および回転の少なくとも１つの処理を施して加工済みのレイアウト対象画像を取得する画像加工部３６を備えた点が第１の実施形態と異なる。
【００４５】
なお、ここでは、画像加工部３６はすべてのレイアウト対象画像に対してランダムにサイズ変更および回転の処理を施して加工済みのレイアウト対象画像を得るものとする。この際、極端にサイズを変更したり回転するとレイアウト画像の見栄えが悪くなるため、サイズ変更および回転の程度は、あらかじめ定められたパラメータの範囲内において行うものとする。具体的には、サイズ変更の場合は元の画像のサイズの±２０％程度の範囲内において行うことが好ましく、回転については±１５度程度の範囲内において行うことが好ましい。なお、ここではすべてのレイアウト対象画像に対してサイズ変更および回転を行うようにしているが、あらかじめ指定されたレイアウト対象画像に対してのみサイズ変更および回転を行うようにしてもよい。また、サイズ変更および回転のいずれか一方の処理のみを行うようにしてもよい。なお、サイズ変更および回転はランダムではなく、指定されたパラメータにより行うようにしてもよい。
【００４６】
次いで、第２の実施形態において行われる処理について説明する。図１２は第２の実施形態において行われる処理を示すフローチャートである。レイアウト画像作成の指示をユーザが入力部１６から行うことによりＣＰＵ１２が処理を開始し、顔検出部２８がすべてのレイアウト対象画像から顔領域を検出する（ステップＳＴ２１）。次いで、画像加工部３６がすべてのレイアウト対象画像に対してランダムにサイズ変更および回転処理を施して、加工済みのレイアウト対象画像を取得する（ステップＳＴ２２）。続いて、顔検出部２８が、すべての加工済みのレイアウト対象画像について、顔領域の位置、サイズおよび重心を検出する（ステップＳＴ２３）。
【００４７】
続いて、レイアウト部３０が、配置する画像を最初のレイアウト対象画像に設定し（ステップＳＴ２４）、レイアウト対象画像をレイアウト画像の背景となるベース画像に配置する（ステップＳＴ２５）。次いで、レイアウト部３０は配置する画像を２枚目のレイアウト対象画像に設定し（ステップＳＴ２６）、レイアウト対象画像の顔領域の位置、サイズおよび重心を考慮して２枚目のレイアウト対象画像を配置する（ステップＳＴ２７）。
【００４８】
次いで、レイアウト部３０はさらに配置するレイアウト対象画像があるか否かを判定し（ステップＳＴ２８）。ステップＳＴ２８が肯定されると、配置するレイアウト対象画像を次のレイアウト対象画像に設定し（ステップＳＴ２９）、ステップＳＴ２７に戻り、ステップＳＴ２７以降の処理を繰り返す。この際、加工済みのレイアウト対象画像に対して、上記第１の実施形態と同様に、すでに配置されたレイアウト対象画像の顔領域Ｆ１とこれから配置するレイアウト対象画像とが重ならず、かつベース画像Ｂ０に配置されたすべてのレイアウト対象画像の顔領域Ｆ１の重心Ｇ１とこれから配置するレイアウト対象画像の顔領域Ｆ１の重心Ｇ１との距離が最短となる位置をレイアウト部３０が探索し、その位置にレイアウト対象画像を配置する。
【００４９】
一方、ステップＳＴ２８が否定されると、最終処理部３２が、ベース画像Ｂ０にレイアウトされたすべてのレイアウト対象画像を含み、かつ指定されたアスペクト比を有する最小サイズの矩形領域Ｓ０によりベース画像Ｂ０をトリミングする（ステップＳＴ３０）。
【００５０】
続いて、最終処理部３２は、トリミングした矩形領域Ｓ０を指定されたサイズに変更して（ステップＳＴ３１）、レイアウト画像の作成を終了する。これにより図１３に示すように、サイズが変更されるとともに回転された３枚のレイアウト対象画像Ｌ１，Ｌ２，Ｌ３が配置されたレイアウト画像を得ることができる。
【００５１】
このように第２の実施形態においては、レイアウト対象画像に対して、サイズ変更および回転の少なくとも１つの処理を施し、処理が施されたレイアウト対象画像に対してレイアウト処理を行うようにしたため、より見栄えのよいレイアウト画像を得ることができる。
【００５２】
次いで、本発明の第３の実施形態について説明する。図１４は本発明の第３の実施形態による画像レイアウト装置の構成を示す概略ブロック図である。なお、第３の実施形態において第１の実施形態と同一の構成については同一の参照番号を付与し、詳細な説明は省略する。図１３に示すように第３の実施形態による画像レイアウト装置１Ｂは、レイアウト対象画像に含まれる人物数を検出する人物数検出部３８と、人物数が多いほどサイズが大きくなるようにレイアウト対象画像のサイズを変更するサイズ変更部４０とを備えた点が第１の実施形態と異なる。
【００５３】
なお、ここでは、サイズ変更部４０は、人物数が最も多い１枚のレイアウト対象画像のサイズを変更するものとするが、人物数が多いほどレイアウト対象画像のサイズが異なるものとなるように複数のレイアウト対象画像のサイズを変更するようにしてもよい。
【００５４】
次いで、第３の実施形態において行われる処理について説明する。図１５は第３の実施形態において行われる処理を示すフローチャートである。レイアウト画像作成の指示をユーザが入力部１６から行うことによりＣＰＵ１２が処理を開始し、顔検出部２８がすべてのレイアウト対象画像から顔領域を検出する（ステップＳＴ４１）。次いで、人物数検出部３８が、顔検出部２８の検出結果を用いて、レイアウト対象画像の人物数を検出する（ステップＳＴ４２）。そして、サイズ変更部４０が、最も人物数が多いレイアウト対象画像のサイズを変更する（ステップＳＴ４３）。
【００５５】
続いて、顔検出部２８が、すべてのレイアウト対象画像（サイズ変更済みのレイアウト対象画像を含む）について、顔領域の位置、サイズおよび重心を検出する（ステップＳＴ４４）。
【００５６】
続いて、レイアウト部３０が、配置する画像をサイズが変更されたレイアウト対象画像に設定し（ステップＳＴ４５）、レイアウト対象画像をレイアウト画像の背景となるベース画像に配置する（ステップＳＴ４６）。次いで、レイアウト部３０は配置する画像を２枚目のレイアウト対象画像に設定し（ステップＳＴ４７）、レイアウト対象画像の顔領域の位置、サイズおよび重心を考慮して２枚目のレイアウト対象画像を配置する（ステップＳＴ４８）。
【００５７】
次いで、レイアウト部３０はさらに配置するレイアウト対象画像があるか否かを判定し（ステップＳＴ４９）。ステップＳＴ４９が肯定されると、配置するレイアウト対象画像を次のレイアウト対象画像に設定し（ステップＳＴ５０）、ステップＳＴ４８に戻り、ステップＳＴ４８以降の処理を繰り返す。この際、上記第１の実施形態と同様に、すでに配置されたレイアウト対象画像の顔領域Ｆ１とこれから配置するレイアウト対象画像とが重ならず、かつベース画像Ｂ０に配置されたすべてのレイアウト対象画像の顔領域Ｆ１の重心Ｇ１とこれから配置するレイアウト対象画像の顔領域Ｆ１の重心Ｇ１との距離が最短となる位置をレイアウト部３０が探索し、その位置にレイアウト対象画像を配置する。
【００５８】
一方、ステップＳＴ４９が否定されると、最終処理部３２が、ベース画像Ｂ０にレイアウトされたすべてのレイアウト対象画像を含み、かつ指定されたアスペクト比を有する最小サイズの矩形領域Ｓ０にベース画像Ｂ０をトリミングする（ステップＳＴ５１）。
【００５９】
続いて、最終処理部３２は、トリミングした矩形領域Ｓ０を指定されたサイズに変更して（ステップＳＴ５２）、レイアウト画像の作成を終了する。これにより図１６に示すように、人物数が最も多いレイアウト対象画像Ｌ４が拡大されたレイアウト画像を得ることができる。
【００６０】
ここで、画像に含まれる人物の顔のサイズは、画像に含まれる人物数が多いほど小さくなる。このため、人物数が多いレイアウト対象画像のサイズを大きくなるように変更してレイアウト処理を行うことにより、より人物の顔が見やすいように画像をレイアウトしたレイアウト画像を得ることができる。
【００６１】
次いで、本発明の第４の実施形態について説明する。図１７は本発明の第４の実施形態による画像レイアウト装置の構成を示す概略ブロック図である。なお、第４の実施形態において第１の実施形態と同一の構成については同一の参照番号を付与し、詳細な説明は省略する。図１７に示すように第４の実施形態による画像レイアウト装置１Ｃは、第２の実施形態における画像加工部３６、並びに第３の実施形態における人物数検出部３８およびサイズ変更部４０とを備え、入力部１６からの指示により、第１から第３の実施形態において行われる処理を切り替え可能としたものである。なお、以降の説明においては、第１から第３の実施形態において行われる処理を、それぞれ第１から第３の処理と称するものとする。
【００６２】
図１８は第４の実施形態において行われる処理を示すフローチャートである。レイアウト画像作成の指示をユーザが入力部１６から行うことによりＣＰＵ１２が処理を開始し、ＣＰＵ１２は、第１から第３のいずれの処理が指定されたか否かを判定する（ステップＳＴ６１）。第１の処理が指定された場合には第１の実施形態と同様の第１の処理を行ってレイアウト画像を作成する（ステップＳＴ６２）。第２の処理が指定された場合には第２の実施形態と同様の第２の処理を行ってレイアウト画像を作成する（ステップＳＴ６３）。第３の処理が指定された場合には第３の実施形態と同様の第３の処理を行ってレイアウト画像を作成する（ステップＳＴ６４）。
【００６３】
このように、第１から第３の実施形態において行われる処理を切り替え可能とすることにより、ユーザが所望とする態様にてレイアウト画像を作成することができる。
【００６４】
なお、上記第１から第４の実施形態においては、すでに配置されたレイアウト対象画像の顔領域Ｆ１とこれから配置するレイアウト対象画像とが重ならず、かつベース画像Ｂ０に配置されたすべてのレイアウト対象画像の顔領域Ｆ１の重心Ｇ１とこれから配置するレイアウト対象画像の顔領域Ｆ１の重心Ｇ１との距離が最短となるようにレイアウト対象画像を配置しているが、重心Ｇ１間の距離は最短に限定されるものではなく、すでに配置されたレイアウト対象画像の顔領域Ｆ１とこれから配置するレイアウト対象画像とが重ならなければ、最短距離からある程度大きくてもよい。この場合、レイアウト対象画像の数が少ないほど、画像の間隔に余裕を持たせることができるため、重心Ｇ１間の距離を比較的余裕を持って大きくすることが可能である。
【００６５】
以上、本発明の実施形態に係る装置について説明したが、コンピュータを、上記の顔検出部２８、レイアウト部３０、最終処理部３２、画像加工部３６、人物数検出部３８およびサイズ変更部４０に対応する手段として機能させ、図２，１２，１５，１８に示すような処理を行わせるプログラムも、本発明の実施形態の１つである。また、そのようなプログラムを記録したコンピュータ読取り可能な記録媒体も、本発明の実施形態の１つである。また、このようなプログラムを、画像を閲覧するためのビューアソフトに組み込むようにしてもよい。
【図面の簡単な説明】
【００６６】
【図１】本発明の第１の実施形態による画像レイアウト装置の構成を示す概略ブロック図
【図２】第１の実施形態において行われる処理を示すフローチャート
【図３】顔領域の重心の検出を説明するための図
【図４】最初のレイアウト対象画像がベース画像に配置された状態を示す図
【図５】最初のレイアウト対象画像および２枚目のレイアウト対象画像をベース画像に配置した状態を示す図
【図６】最初のレイアウト対象画像および２枚目のレイアウト対象画像をベース画像に配置した状態における顔領域の重心を示す図
【図７】３枚のレイアウト対象画像をベース画像に配置した状態を示す図
【図８】３枚のレイアウト対象画像をベース画像に配置した状態における顔領域の重心を示す図
【図９】トリミングを説明するための図
【図１０】第１の実施形態において得られるレイアウト画像を示す図
【図１１】本発明の第２の実施形態による画像レイアウト装置の構成を示す概略ブロック図
【図１２】第２の実施形態において行われる処理を示すフローチャート
【図１３】第２の実施形態において得られるレイアウト画像を示す図
【図１４】本発明の第３の実施形態による画像レイアウト装置の構成を示す概略ブロック図
【図１５】第３の実施形態において行われる処理を示すフローチャート
【図１６】第３の実施形態において得られるレイアウト画像を示す図
【図１７】本発明の第４の実施形態による画像レイアウト装置の構成を示す概略ブロック図
【図１８】第４の実施形態において行われる処理を示すフローチャート
【符号の説明】
【００６７】
１，１Ａ，１Ｂ，１Ｃ    画像レイアウト装置
２    メモリカード
１２    ＣＰＵ
１４    システムメモリ
１６    入力部
１８    表示部
２０    カードスロット
２２    圧縮解凍部
２４    ハードディスク
２６    メモリ制御部
２８    顔検出部
３０    レイアウト部
３２    最終処理部
３４    表示制御部
３６    画像加工部
３８    人物検出部
４０    サイズ変更部
【図１】
0004712576.tif 000002
【図２】
0004712576.tif 000003
【図３】
0004712576.tif 000004
【図４】
0004712576.tif 000005
【図５】
0004712576.tif 000006
【図６】
0004712576.tif 000007
【図７】
0004712576.tif 000008
【図８】
0004712576.tif 000009
【図９】
0004712576.tif 000010
【図１０】
0004712576.tif 000011
【図１１】
0004712576.tif 000012
【図１２】
0004712576.tif 000013
【図１３】
0004712576.tif 000014
【図１４】
0004712576.tif 000015
【図１５】
0004712576.tif 000016
【図１６】
0004712576.tif 000017
【図１７】
0004712576.tif 000018
【図１８】
0004712576.tif 000019