(57)【要約】【課題】既に作成されたレイアウトデータから、別の人物を主人公とするレイアウトデータを容易に作成することができる。【解決手段】画像群から所定数の画像が配置されたレイアウトデータを取得する取得手段と、画像群を複数のサブ集合に分割する分割手段と、レイアウトデータ内に配置されている画像のうち第一の人物を含む画像を入れ替える画像入替手段と、を備え、画像入替手段は、サブ集合内に、画像群に含まれる画像であって第一の人物とは異なる第二の人物が含まれる画像がある場合は、第一の人物が含まれる画像を第二の人物が含まれる画像に入れ替え、サブ集合内に、第二の人物が含まれる画像がない場合は、第一の人物が含まれる画像を第二の人物が含まれる画像に入れ替えない。【選択図】図６
2019016004.tif 000002
【特許請求の範囲】
【請求項１】
画像群から所定数の画像が配置されたレイアウトデータを取得する取得手段と、
前記画像群を複数のサブ集合に分割する分割手段と、
前記レイアウトデータ内に配置されている画像のうち第一の人物を含む画像を入れ替える画像入替手段と、を備え、
前記画像入替手段は、
前記サブ集合内に、前記画像群に含まれる画像であって前記第一の人物とは異なる第二の人物が含まれる画像がある場合は、前記第一の人物が含まれる画像を前記第二の人物が含まれる画像に入れ替え、
前記サブ集合内に、前記第二の人物が含まれる画像がない場合は、前記第一の人物が含まれる画像を前記第二の人物が含まれる画像に入れ替えない
ことを特徴とする情報処理装置。
【請求項２】
前記レイアウトデータは、各ページに画像が配置されたフォトブックであり、
前記分割手段は、前記画像群を前記各ページに対応させて分割して、前記サブ集合を生成し、
前記画像入替手段は、
前記各ページに配置されている画像のうち前記第一の人物が含まれる画像を、対応する前記サブ集合に含まれる画像であって前記第二の人物が含まれる画像に入れ替える
ことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記フォトブックは、各ページに撮影時刻順に画像が配置されるフォトブックであり、
前記分割手段は、
前記フォトブックの一のページに対応する前記サブ集合に、前記一のページに配置されている画像が含まれるように、前記画像群を撮影時刻の時系列に沿って分割し、前記各ページに対応する前記サブ集合を生成する
ことを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記画像入替手段は、
前記各ページに配置されている前記第一の人物を含む画像を入れ替える際に、対応する前記サブ集合に前記第二の人物を含む画像がなく、かつ、該サブ集合に人物を含まない画像がある場合には、前記第一の人物を含む画像を、人物を含まない画像に入れ替える
ことを特徴とする請求項２または請求項３に記載の情報処理装置。
【請求項５】
前記画像入替手段は、
前記各ページに配置されている画像のうち、前記第一の人物と前記第一の人物以外の人物とを含む画像については、画像の入れ替えを行わない
ことを特徴とする請求項２から請求項４のうちのいずれか１項に記載の情報処理装置。
【請求項６】
前記画像入替手段は、
前記第一の人物を含む画像を、人物を含まない画像に入れ替える際に、人物を含まない画像を配置する領域のサイズを、前記第一の人物を含む画像が配置されている領域のサイズよりも小さく設定する
ことを特徴とする請求項５に記載の情報処理装置。
【請求項７】
前記画像入替手段は、
前記各ページに配置されている画像のうち人物を含まない画像を、前記第二の人物を含む画像に入れ替える
ことを特徴とする請求項２から請求項６のうちのいずれか１項に記載の情報処理装置。
【請求項８】
前記画像入替手段は、
人物を含まない画像を、前記第二の人物を含む画像に入れ替える際に、前記第二の人物を含む画像を配置する領域のサイズを、人物を含まない画像が配置されている領域のサイズよりも大きく設定する
ことを特徴とする請求項７に記載の情報処理装置。
【請求項９】
前記画像入替手段は、
前記第一の人物を含む画像または人物を含まない画像を、前記第二の人物を含む画像に入れ替える際に、前記レイアウトデータ内に配置されている画像のうち前記第二の人物を含む画像の数が予め定めた閾値を超えている場合には、画像の入れ替えを行わない
ことを特徴とする請求項１から請求項８のうちのいずれか１項に記載の情報処理装置。
【請求項１０】
前記予め定めた閾値が、画像の入れ替えを行う前の前記レイアウトデータ内に配置されている画像のうち前記第一の人物を含む画像の数である
ことを特徴とする請求項９に記載の情報処理装置。
【請求項１１】
前記レイアウトデータ内に配置されている画像から、最も多くの画像に含まれる人物を特定し、特定した人物を前記第一の人物として決定する決定手段をさらに備える
ことを特徴とする請求項１から請求項１０のうちのいずれか１項に記載の情報処理装置。
【請求項１２】
前記決定手段は、
前記レイアウトデータ内に配置されている画像から、前記第一の人物の次に多くの画像に含まれる人物を特定し、特定した人物を前記第二の人物として決定する
ことを特徴とする請求項１１に記載の情報処理装置。
【請求項１３】
前記第一の人物または第二の人物を指定させるための人物指定画面を表示装置に表示する制御を行う表示制御手段と、
前記人物指定画面を介してユーザが指定した人物を前記第一の人物または前記第二の人物として決定する決定手段と、をさらに備え、
前記表示制御手段は、
前記ユーザに第一の人物を指定させる場合には、前記レイアウトデータ内に配置されている画像に含まれる人物を抽出し、抽出した人物を前記人物指定画面に表示する
ことを特徴とする請求項１から請求項１０のうちのいずれか１項に記載の情報処理装置。
【請求項１４】
前記表示制御手段は、
前記ユーザに第二の人物を指定させる場合には、前記画像群のいずれかの画像に含まれる人物を抽出し、抽出した人物を前記人物指定画面に表示する
ことを特徴とする請求項１３に記載の情報処理装置。
【請求項１５】
画像群から所定数の画像が配置されたレイアウトデータを取得する取得ステップと、
前記画像群を複数のサブ集合に分割する分割ステップと、
前記レイアウトデータ内に配置されている画像のうち第一の人物を含む画像を画像に入れ替える画像入替ステップと、を含み、
前記画像入替ステップにおいて、
前記サブ集合内に、前記画像群に含まれる画像であって前記第一の人物とは異なる第二の人物が含まれる画像がある場合は、前記第一の人物が含まれる画像を前記第二の人物が含まれる画像に入れ替え、
前記サブ集合内に、前記第二の人物が含まれる画像がない場合は、前記第一の人物が含まれる画像を前記第二の人物が含まれる画像に入れ替えない
ことを特徴とする制御方法。
【請求項１６】
コンピュータを、請求項１から請求項１４のうちのいずれか１項に記載の情報処理装置として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、フォトブックの作成を支援する情報処理装置、情報処理装置の制御方法、およびプログラムに関する。
【背景技術】
【０００２】
近年、デジタルカメラやスマートフォンで撮影した画像から、画像を選択してフォトブック（以下、アルバムともいう）を作成するサービスが普及している。また、そのようなサービスの価格も下がってきている。このため、グループ旅行のように複数人が参加するイベントにおいて、イベントの参加者向けのフォトブックを作成し、該参加者にプレゼントすることが想定される。その場合、参加者全員に同じ内容のフォトブックを配布するのではなく、受け取る人を主人公として作成された個別のフォトブックを配布することが望まれる。特定の人物を主人公であるように強調する方法として、閲覧者が関心のある人物を指定し、その人物を含む画像を中心にアルバムに配置する方法がある（特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００６−２３６２６７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１に記載された方法によれば、指定された人物を強調したアルバムを閲覧者に提供することができる。しかし、指定された人物とは異なる人物を主人公とするアルバムを別途提供する場合には、その都度一からアルバムを作成する必要があり、手間がかかる。
【０００５】
本発明は、このような問題を解決するためになされたものであり、既に作成されたフォトブック等のレイアウトデータから、別の人物を主人公とするレイアウトデータを容易に作成することが可能な情報処理装置を提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明による情報処理装置は、画像群から所定数の画像が配置されたレイアウトデータを取得する取得手段と、画像群を複数のサブ集合に分割する分割手段と、レイアウトデータ内に配置されている画像のうち第一の人物を含む画像を入れ替える画像入替手段と、を備え、画像入替手段は、サブ集合内に、画像群に含まれる画像であって第一の人物とは異なる第二の人物が含まれる画像がある場合は、第一の人物が含まれる画像を第二の人物が含まれる画像に入れ替え、サブ集合内に、第二の人物が含まれる画像がない場合は、第一の人物が含まれる画像を第二の人物が含まれる画像に入れ替えないことを特徴とする。
【発明の効果】
【０００７】
本発明によれば、既に作成されたレイアウトデータから、別の人物を主人公とするレイアウトデータを容易に作成することができる。
【図面の簡単な説明】
【０００８】
【図１】第１実施形態に係る情報処理装置のハードウェア構成を示す図である。
【図２】第１実施形態に係る情報処理装置の機能構成の一例を示す図である。
【図３】画像管理テーブルを示す図である。
【図４】フォトブック管理テーブルを示す図である。
【図５】サブ集合テーブルを示す図である。
【図６】第１実施形態に係る情報処理装置の動作を示すフローチャートである。
【図７】人物指定画面の一例を示す図である。
【図８】サブ集合分割処理を示すフローチャートである。
【図９】画像入替処理を示すフローチャートである。
【図１０】第二人物画像入替処理を示すフローチャートである。
【図１１】非人物画像入替処理を示すフローチャートである。
【図１２】第２実施形態に係る情報処理装置の動作を示すフローチャートである。
【図１３】第２実施形態における第一人物画像数取得処理を示すフローチャートである。
【図１４】第２実施形態における画像入替処理を示すフローチャートである。
【図１５】第３実施形態におけるフォトブック管理テーブルの一例を示す図である。
【図１６】見開きページに配置される画像のレイアウトの一例を示す図である。
【図１７】第３実施形態における画像入替処理を示すフローチャートである。
【図１８】第３実施形態における非人物画像入替処理を示すフローチャートである。
【図１９】第３実施形態における、人物が写っていない画像を除去し、第二の人物が写る画像を選択する動作を示すフローチャートである。
【発明を実施するための形態】
【０００９】
以下、添付の図面を参照して、本発明をその好適な実施形態に基づいて詳細に説明する。なお、以下の実施形態において示す構成は一例に過ぎず、本発明は図示された構成に限定されるものではない。
【００１０】
＜実施形態１＞
図1は、第１実施形態に係る情報処理装置（以下、フォトブック作成装置ともいう）のハードウェア構成を示す図である。ＣＰＵ１０１は、コンピュータシステムである情報処理装置全体の制御を司る中央演算装置である。ＣＰＵ１０１が、制御プログラムに基づいて、情報の演算や加工、各ハードウェアの制御を実行することにより、後述する、情報処理装置における各機能や各処理が実現される。ＲＡＭ１０２は、ランダムアクセスメモリであり、ＣＰＵ１０１の主メモリとして、実行プログラムのロードやプログラム実行に必要なワークメモリとして機能する。ＲＯＭ１０３は、ＣＰＵ１０１の動作を規定する制御プログラムを記録する。ＲＯＭ１０３には、プログラムＲＯＭとデータＲＯＭとがある。プログラムＲＯＭには、コンピュータシステムの制御を行うシステムプログラムである基本ソフト（ＯＳ：Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）が記録される。データＲＯＭには、システムを稼動するために必要な情報などが記録される。なお、ＲＯＭ１０３の代わりにＨＤＤ１０９を用いてもよい。
【００１１】
ＮＥＴＩＦ１０４は、ネットワークインターフェースであり、ネットワーク（不図示）を介して送受信される画像データなどのデータの入出力制御を行う。ビデオＲＡＭ（ＶＲＡＭ）１０５には、表示装置であるディスプレイ１０６に表示するための画像データが展開される。ディスプレイ１０６は、表示装置であり、例えば、液晶ディスプレイや液晶ＴＶなどである。入力コントローラ１０７は、入力装置１０８からの入力信号を制御するコントローラである。入力装置１０８は、ユーザからの操作指示を受け付ける入力装置であり、例えば、タッチパネル、キーボード、マウス、リモコンが挙げられる。ハードディスクドライブ（ＨＤＤ）１０９は、アプリケーションプログラムや画像データなどを記憶する。
【００１２】
入力インタフェース（入力ＩＦ）１１０は、ＣＤ−ＲＯＭドライブ、ＤＶＤ−ＲＯＭドライブ、メモリカードドライブ等の外部装置と接続するためのインタフェースである。入力ＩＦ１１０は、例えば、デジタルカメラで撮影して取得された画像データの読み出しに用いられる。入出力バス１１１は、上述した各構成要素間を接続するためのバス（アドレスバス、データバス、及び制御バス）である。
【００１３】
図２は、第１実施形態に係る情報処理装置の機能構成の一例を示す図である。フォトブックには、写真や静止画だけでなく、動画や映像データから抽出される静止画が使用されても良い。ここで、フォトブックを作成する際に対象とされる画像を素材画像と呼び、それらの画像の集合を素材画像集合と呼ぶ。素材画像集合は、ＨＤＤ１０９に格納される。素材画像集合は、例えば、グループ旅行等のひとかたまりのイベントで撮影された画像群である。フォトブックは、その素材画像集合の中から選ばれた所定数の画像で構成される。以下では、素材画像を使って既に作成されたフォトブックを、作成済みフォトブックと呼ぶ。作成済みフォトブックは、画像が配置されたレイアウトデータであるため、このレイアウトデータは、後述するフォトブック管理テーブルを書き換えることで編集可能である。
【００１４】
図２に示すように、本実施形態に係る情報処理装置は、データ管理部２０１、サブ集合分割部２０２、人物特定部２０３、画像入替制御部２０４、および画像選択情報出力部２０５を備える。なお、サブ集合分割部２０２と画像入替制御部２０４とを併せて、画像入替部と表現する場合がある。
【００１５】
データ管理部２０１は、ＨＤＤ１０９に格納されている素材画像集合、およびレイアウトデータ内に配置されている画像（ここでは、作成済みフォトブックで選択されている画像）について管理する。データ管理部２０１は、それらの画像に関する情報を、図３に示す画像管理テーブル（以後Ｔ＿ｉｍｇと記す）や、図４に示すフォトブック管理テーブル（以後Ｔ＿ｐｂと記す）を用いて管理する。それらのテーブルの詳細については後述する。なお、Ｔ＿ｐｂはフォトブック毎に作成される。
【００１６】
サブ集合分割部２０２は、後述するように、素材画像集合を作成済みフォトブックの見開きページ数と同数のサブ集合に分割する。サブ集合分割部２０２は、素材画像集合を分割して得られたサブ集合を、図５に示すサブ集合テーブル（以後Ｔ＿ｓｕｂと記す）で管理する。
【００１７】
人物特定部２０３は、作成済みフォトブックにおいて主人公となっている第一の人物と、入れ替え対象の第二の人物とを、後述する方法で特定する。
【００１８】
画像入替制御部２０４は、作成済みフォトブックで選択されている画像のうち第一の人物が写る画像（第一の人物を含む画像）を、第二の人物が写る画像（第二の人物を含む画像）へと後述する方法で入れ替える。
【００１９】
画像選択情報出力部２０５は、画像入替制御部２０４によって第二の人物が写る画像として選択された画像の集合を、Ｔ＿ｐｂの形式で出力する。
【００２０】
図３に示す画像管理テーブル（Ｔ＿ｉｍｇ）３０１は、素材画像集合ごとに画像を管理するためのテーブルである。したがって、それぞれが異なるグループ旅行で撮影された画像群については、別々の画像管理テーブルで管理される。また、１回の旅行であっても訪問先毎に別々のイベントとして扱う場合は、それぞれの訪問先で撮影された画像群が、別々の画像管理テーブルで管理される。
【００２１】
Ｔ＿ｉｍｇ３０１は、図３に示すように、画像ＩＤ、ファイル名、撮影日時、顔情報リスト、及びスコアを含む。ここで、画像ＩＤは、画像の撮影時刻の時系列順に一つずつ大きくなるように付与される番号である。ファイル名は、画像を示すデータ（ファイル）の名称である。顔情報リストは、画像に含まれる人物の人物ＩＤと、該人物の顔領域の座標情報とを含む。顔領域の座標情報には、顔領域のＸ座標、Ｙ座標、幅、及び高さが含まれる。画像に複数の人物が含まれる場合には、顔情報リストに、人数分の人物ＩＤと該人物ＩＤに対応する座標情報とが格納される。本実施形態では、画像に含まれる人物の顔領域を検出し、顔認識技術を用いて、同じ人物には同じＩＤとなるように人物ＩＤを付与する。座標情報には、検出した人物の顔領域の中心のＸ座標およびＹ座標と、顔領域の幅Ｗ及び高さＨとが格納されている。Ｘ座標と幅Ｗ、及び、Ｙ座標と高さＨには、正規化された値が付与される。正規化には、画像の左上を原点とし、画像の幅および画像の高さを１とする方法が用いられる。スコアは、画像を解析し画質を評価して得られる値であり、０から１の間に正規化された値が付与される。このとき、０が低品質を表し、１が高品質を表す。スコアの算出方法は、例えば特開２０１４−７５７７８号公報に記載の方法のように、検出した顔の向きや大きさ、明るさ、色彩の鮮やかさ、ボケやブレの程度など、画像を解析して得られる情報を用いて評価し、スコアを決定する。撮影日時の抽出や顔情報リストの生成、スコアの算出は、例えば各画像がＨＤＤ１０９に保存されたタイミングで行われる。
【００２２】
フォトブック管理テーブル（Ｔ＿ｐｂ）４０１は、図４に示すように、ページＩＤと構成画像ＩＤリストとを含む。ページＩＤは、フォトブックの見開きページごとに割り当てられるＩＤである。構成画像ＩＤリストは、各見開きページに配置される画像の画像ＩＤのリストである。なお、本実施形態では、見開きページ辺りに配置する画像数を４としている。したがって、各見開きページの構成画像ＩＤリストには、４つの画像ＩＤが含まれる。また、本実施形態では、見開きページに配置される各画像の大きさも同じものとする。以降、特に記載の無い限り、ページとは見開きページのことを表す。また、フォトブック管理テーブルを画像選択情報または画像配置情報と呼ぶ場合がある。
【００２３】
図５に示すサブ集合テーブル（Ｔ＿ｓｕｂ）５０１は、サブ集合のＩＤ（以下、サブ集合ＩＤと記す）と、サブ集合における、先頭の画像ＩＤ（以下、Ｓｔａｒｔと記す）及び末尾の画像ＩＤ（以下、Ｅｎｄと記す）とを含む。サブ集合ＩＤは、素材画像集合を分割して得られる各サブ集合に対して１から順に付与される。サブ集合ＩＤは、フォトブックの見開きページに対応する。
【００２４】
図６は、第１実施形態に係る情報処理装置の動作を示すフローチャートである。図６には、作成済みフォトブックの情報を用いて、第二の人物を主人公としたフォトブックのフォトブック管理テーブルを作成する処理のメインフローが示されている。
【００２５】
ステップＳ６０１では、サブ集合分割部２０２が、素材画像集合の情報として、Ｔ＿ｉｍｇを取得する。
【００２６】
ステップＳ６０２では、サブ集合分割部２０２が、作成済みフォトブックのフォトブック管理テーブル（以後、Ｔ＿ｐｂ１と記す）を取得する。
【００２７】
ステップＳ６０３では、サブ集合分割部２０２が、ステップＳ６０２で取得したＴ＿ｐｂ１のページＩＤの行数を、全ページ数（以後、Ｐ＿ｎｕｍと記す）として取得する。
【００２８】
ステップＳ６０４では、サブ集合分割部２０２が、ステップＳ６０２で取得したＴ＿ｐｂ１に基づいて、Ｔ＿ｉｍｇをサブ集合に分割し、Ｔ＿ｓｕｂの形式で管理する。ステップＳ６０４の処理（以下、サブ集合分割処理という）については、図８に示すフローチャートを用いて後述する。
【００２９】
ステップＳ６０５では、画像入替制御部２０４は、第一の人物の人物ＩＤ（以後、ＩＤ＿ｐｅｒ＿１とする）を取得する。例えば、Ｔ＿ｐｂ１の構成画像ＩＤリストに含まれる画像群の中で最も登場数が多い人物ＩＤをＩＤ＿ｐｅｒ＿１として取得するようにしても良い。また例えば、図７に示すように、人物を含む画像７０２を複数表示する人物指定画面７０１をディスプレイ１０６に出力し、ユーザ（フォトブック作成者）に第一の人物を指定させるようにしても良い。具体的には、画像入替制御部２０４は、Ｔ＿ｉｍｇを参照して、Ｔ＿ｐｂ１の構成画像ＩＤリストに含まれる各画像ＩＤに対応する画像から、人物ＩＤを含む画像を抽出する。そして、画像入替制御部２０４は、抽出した画像のそれぞれについて、該画像が含む人物の座標情報をＴ＿ｉｍｇから取得し、該画像から人物毎の顔領域を切り出す。そして、画像入替制御部２０４は、切り出した顔領域の画像を人物指定画面７０１に表示するための表示制御を行う。そして、ユーザが人物指定画面７０１に表示された画像からいずれかの画像を選択した場合には、選択された画像に対応する人物の人物ＩＤをＩＤ＿ｐｅｒ＿１として取得する。図７に示す選択枠７０３は、選択枠７０３で囲われた画像がユーザによって選択されたことを示す。なお、Ｔ＿ｐｂ１から、同一の人物ＩＤを有する画像が複数抽出された場合には、代表する１枚を人物指定画面７０１に表示すうようにしても良い。
【００３０】
ステップＳ６０６では、画像入替制御部２０４が、第二の人物の人物ＩＤ（以後、ＩＤ＿ｐｅｒ＿２と記す）を取得する。第二の人物の選択には、上述した第一の人物の選択方法と同じ方法を用いてもよい。例えば、Ｔ＿ｐｂ１に格納された全ての画像ＩＤに対応する画像の中で２番目に登場数が多い人物ＩＤをＩＤ＿ｐｅｒ＿２として取得するようにしても良い。また例えば、図７に示す画面を表示して、ユーザに選択させるようにしても良い。その際、ステップＳ６０５と異なり、画像入替制御部２０４は、Ｔ＿ｉｍｇに格納された全ての画像ＩＤに対応する画像から、人物ＩＤを含む画像を抽出する。そして、画像入替制御部２０４は、抽出した画像のそれぞれについて、該画像から人物毎の顔領域を切り出し、切り出した顔領域の画像を人物指定画面７０１に表示する。このとき、ＩＤ＿ｐｅｒ＿１に対応する人物については選択対象外とされ表示されない。
【００３１】
ステップＳ６０７では、画像入替制御部２０４は、Ｔ＿ｐｂ１を複製して、第二の人物を主人公としたフォトブック管理テーブル（以後、Ｔ＿ｐｂ２と記す）を作成するための出力用のテーブルを作成する。
【００３２】
ステップＳ６０８では、画像入替制御部２０４は、処理対象となるサブ集合のＩＤ（サブ集合ＩＤ）を示すサブ集合カウンタＳを１に初期化する。以下、サブ集合ＩＤがＳであるサブ集合を、サブ集合Ｓと記す。
【００３３】
ステップＳ６０９では、画像入替制御部２０４が、サブ集合Ｓに含まれる画像を用いて、画像の入れ替え処理（画像入替処理）を行う。画像入替処理の詳細については、図９に示すフローチャートを用いて後述する。
【００３４】
ステップＳ６１０では、全サブ集合について画像入替処理が終わったかを判断する。ＳがＰ＿ｎｕｍ以上の場合は（ステップＳ６１０のＹＥＳ）、処理はステップＳ６１１に進む。一方、ＳがＰ＿ｎｕｍ未満の場合は（ステップＳ６１０のＮＯ）、処理はステップＳ６１２に進む。
【００３５】
ステップＳ６１１では、画像選択情報出力部２０５が、Ｔ＿ｐｂ２を出力する。
【００３６】
ステップＳ６１２では、画像入替制御部２０４が、サブ集合カウンタＳを一つ増加させ、処理対象を次のサブ集合とする。
【００３７】
以上のような処理により、第二の人物を主人公としたフォトブックを作成するための画像選択情報（Ｔ＿ｐｂ２）を生成することができる。またこれにより、生成された画像選択情報（Ｔ＿ｐｂ２）を用いて第二の人物を主人公としたフォトブックを作成することが可能となる。
【００３８】
次に、図８を用いて、素材画像集合をサブ集合に分割する処理（ステップＳ６０４の処理）を説明する。
【００３９】
ステップＳ８０１では、サブ集合分割部２０２が、処理対象のページを示すページカウンタＰを１に初期化する。
【００４０】
ステップＳ８０２では、サブ集合分割部２０２が、Ｔ＿ｉｍｇ内の先頭の画像ＩＤ、すなわちＴ＿ｉｍｇ内で一番小さい画像ＩＤを、ＩＤ＿Ｔとして取得する。なお、図中において、Ｔ＿ｉｍｇ内の先頭（ｔｏｐ）の画像ＩＤや末尾（ｌａｓｔ）の画像ＩＤを、Ｔ＿ｉｍｇｅ．ｔｏｐやＴ＿ｉｍｇｅ．ｌａｓｔと記す場合がある。
【００４１】
ステップＳ８０３では、サブ集合分割部２０２が、ＰがＰ＿ｎｕｍ以下かどうかを判断する。Ｐ＿ｎｕｍ以下の場合は（ステップＳ８０３のＹＥＳ）、処理はステップＳ８０４に進む。一方、Ｐ＿ｎｕｍより大きい場合は（ステップＳ８０３のＮＯ）、処理はステップＳ８０９に進む。
【００４２】
ステップＳ８０４では、サブ集合分割部２０２が、Ｔ＿ｐｂ１から、ページＩＤがＰであるページの構成画像ＩＤリストの末尾の画像ＩＤ（一番大きい画像ＩＤ）をＩＤ＿Ｅとして取得する。同様にサブ集合分割部２０２は、Ｔ＿ｐｂ１のページ｛Ｐ＋１｝の構成画像ＩＤリストの先頭の画像ＩＤ（一番小さい画像ＩＤ）をＩＤ＿Ｓとして取得する。なお、図中において、Ｔ＿ｐｂ１においてページＩＤがＰであるページの構成画像ＩＤリストをＴ＿ｐｂ１［Ｐ］と記す場合がある。また、Ｔ＿ｐｂ１［Ｐ］の先頭（ｔｏｐ）や末尾（ｌａｓｔ）の画像ＩＤを、Ｔ＿ｐｂ１［Ｐ］．ｔｏｐやＴ＿ｐｂ１［Ｐ］．ｌａｓｔと記す場合がある。
【００４３】
ステップＳ８０５では、サブ集合分割部２０２が、ステップＳ８０４で取得したＩＤ＿ＥとＩＤ＿Ｓとの中間にあるＩＤをＩＤ＿Ｃとして取得する。具体的には、ＩＤ＿Ｃ＝（ＩＤ＿Ｅ＋ＩＥ＿Ｓ）／２とし、小数点以下は切り捨てられる。
【００４４】
ステップＳ８０６では、サブ集合分割部２０２が、Ｔ＿ｓｕｂにおいて、サブ集合ＩＤがＰである行のＳｔａｒｔにＩＤ＿Ｔを格納し、ＥｎｄにＩＤ＿Ｃを格納する。なお、図中において、サブ集合ＩＤがＰであるサブ集合をＴ＿ｓｕｂ［Ｐ］と記す場合がある。また、Ｔ＿ｓｕｂ［Ｐ］のＳｔａｒｔやＥｎｄを、Ｔ＿ｓｕｂ［Ｐ］．ＳｔａｒｔやＴ＿ｓｕｂ［Ｐ］．Ｅｎｄと記す場合がある。
【００４５】
ステップＳ８０７では、サブ集合分割部２０２が、ＩＤ＿Ｃの次のＩＤをＩＤ＿Ｔとして設定する。すなわち、ＩＤ＿Ｔ＝ＩＤ＿Ｃ＋１である。
【００４６】
ステップＳ８０８では、サブ集合分割部２０２が、ページカウンタＰの値を一つ増加する。
【００４７】
ステップＳ８０９では、サブ集合分割部２０２が、ステップＳ８０６と同様にＴ＿ｓｕｂにおいて、サブ集合ＩＤがＰである行のＳｔａｒｔにＩＤ＿Ｔを格納し、ＥｎｄにＴ＿ｉｍｇ内の末尾の画像ＩＤを格納する。以上のようにして、素材画像集合がサブ集合に分割される。
【００４８】
次に、図９を用いて、処理対象のサブ集合Ｓに対して行われる、画像入替処理（ステップＳ６０９の処理）を説明する。
【００４９】
ステップＳ９０１では、画像入替制御部２０４が、Ｔ＿ｐｂ２においてページＩＤがＳである行の構成画像ＩＤリストから先頭の画像ＩＤを取得し、ＩＤ＿ｉｍｇ＿Ａとする。
【００５０】
ステップＳ９０２では、画像入替制御部２０４が、Ｔ＿ｓｕｂを参照してサブ集合Ｓの画像群を特定する。そして、画像入替制御部２０４は、サブ集合Ｓの画像群から、Ｔ＿ｐｂ１に含まれない画像であって、Ｔ＿ｉｍｇの顔情報リストにＩＤ＿ｐｅｒ＿２が含まれる画像を抽出する。画像入替制御部２０４は、抽出した画像の画像ＩＤを、Ｔ＿ｉｍｇのスコアの良い順にソートしてリスト（以後、ＬＳＴ＿ｉｍｇｓ＿ｐｅｒ２とする）に格納する。
【００５１】
ステップＳ９０３では、画像入替制御部２０４が、ステップＳ９０２で特定したサブ集合Ｓの画像群から、Ｔ＿ｐｂ１に含まれない画像であって、Ｔ＿ｉｍｇで顔情報リストを有さない画像を抽出する。画像入替制御部２０４は、抽出した画像の画像ＩＤを、Ｔ＿ｉｍｇのスコアの良い順にソートしてリスト（以後、ＬＳＴ＿ｉｍｇｓ＿ｎｏｎとする）に格納する。
【００５２】
ステップＳ９０４では、画像入替制御部２０４が、Ｔ＿ｉｍｇにおいて、画像ＩＤがＩＤ＿ｉｍｇ＿Ａである画像の顔情報リストに、人物ＩＤがＩＤ＿ｐｅｒ＿１である顔情報が含まれるかを判断する。含まれる場合は（ステップＳ９０４のＹＥＳ）、処理はステップＳ９０５に進む。一方、含まれない場合は（ステップＳ９０４のＮＯ）、処理はステップＳ９１１に進む。
【００５３】
ステップＳ９０５では、画像入替制御部２０４が、画像ＩＤがＩＤ＿ｉｍｇ＿Ａである画像の顔情報リストに含まれる人物ＩＤが、ＩＤ＿ｐｅｒ＿１のみであるかどうかを判断する。ＩＤ＿ｐｅｒ＿１のみである場合は（ステップＳ９０５のＹＥＳ）、処理はＳ９０６に進む。一方、複数の人物ＩＤが含まれる場合は、（ステップＳ９０５のＮＯ）、処理はステップＳ９０９に進む。
【００５４】
ステップＳ９０６では、画像入替制御部２０４が、ＬＳＴ＿ｉｍｇｓ＿ｐｅｒ２に画像ＩＤが含まれるかどうか、すなわち、ＬＳＴ＿ｉｍｇｓ＿ｐｅｒ２が空でないかを判断する。ＬＳＴ＿ｉｍｇｓ＿ｐｅｒ２が空でない場合は（ステップＳ９０６のＹＥＳ）、処理はステップＳ９０７に進む。一方、ＬＳＴ＿ｉｍｇｓ＿ｐｅｒ２が空である場合は（ステップＳ９０６のＮＯ）、処理はステップＳ９０８に進む。
【００５５】
ステップＳ９０７では、画像入替制御部２０４が、Ｔ＿ｐｂ２においてページＩＤがＳである行の構成画像ＩＤリスト内にあるＩＤ＿ｉｍｇ＿Ａを、ＬＳＴ＿ｉｍｇｓ＿ｐｅｒ２内にある画像ＩＤと入れ替える処理を行う。この処理（第二人物画像入替処理）については、図１０に示すフローチャートを用いて後述する。
【００５６】
ステップＳ９０８では、画像入替制御部２０４が、Ｔ＿ｐｂ２においてページＩＤがＳである行の構成画像ＩＤリスト内にあるＩＤ＿ｉｍｇ＿Ａを、人物が写っていない画像（人物を含まない画像）の画像ＩＤに入れ替える処理を行う。以下、人物が写っていない画像を非人物画像という。この処理（非人物画像入替処理）については、図１１に示すフローチャートを用いて後述する。
【００５７】
ステップＳ９０９では、画像入替制御部２０４が、Ｔ＿ｐｂ２においてページＩＤがＳである行の構成画像ＩＤリスト内の全ての画像ＩＤに対して処理を行ったかどうかを判断する。ここでは、画像入替制御部２０４は、ＩＤ＿ｉｍｇ＿Ａが構成画像ＩＤリスト内の末尾の画像ＩＤであるかを判断する。全ての画像ＩＤに対して処理が終わっている場合は（ステップＳ９０９のＹＥＳ）、処理は終了する。一方、全ての画像ＩＤに対して処理が終了していない場合は（ステップＳ９０９のＮＯ）、処理はステップＳ９１０に進む。
【００５８】
ステップＳ９１０では、画像入替制御部２０４が、ＩＤ＿ｉｍｇ＿Ａに、Ｔ＿ｐｂ２の構成画像リスト内の次のＩＤを代入し、ステップＳ９０４の処理に戻る。なお、図中において、Ｔ＿ｐｂ２［Ｓ］の次の行（現在参照している行の次の行）をＴ＿ｐｂ２［Ｐ］．ｎｅｘｔと記す場合がある。
【００５９】
ステップＳ９１１では、画像入替制御部２０４が、ステップＳ９０６と同様に、ＬＳＴ＿ｉｍｇｓ＿ｐｅｒ２に画像ＩＤが含まれるかどうかを判断する。画像ＩＤが含まれる（ＬＳＴ＿ｉｍｇｓ＿ｐｅｒ２が空でない）場合は（ステップＳ９１１のＹＥＳ）、処理はステップＳ９０７へ進む。一方、画像ＩＤが含まれない（ＬＳＴ＿ｉｍｇｓ＿ｐｅｒ２が空である）場合は（ステップＳ９１１のＮＯ）、処理はステップＳ９０９に進む。このようにして、第１実施形態における画像入替処理が行われる。
【００６０】
次に、ステップＳ９０７の第二人物画像入替処理に関して説明する。
【００６１】
ステップＳ１００１では、画像入替制御部２０４が、ＬＳＴ＿ｉｍｇｓ＿ｐｅｒ２の先頭の画像ＩＤを取得し、取得した画像ＩＤをＩＤ＿ｉｍｇ＿Ｂとする。
【００６２】
ステップＳ１００２では、画像入替制御部２０４が、ステップＳ１００１で取得したＩＤ＿ｉｍｇ＿ＢをＬＳＴ＿ｉｍｇｓ＿ｐｅｒ２から削除する。なお、図中における、ＬＳＴ＿ｉｍｇｓ＿ｐｅｒ２．ｒｅｍｏｖｅ（ＩＤ＿ｉｍｇ＿Ｂ）は、ＬＳＴ＿ｉｍｇｓ＿ｐｅｒ２からＩＤ＿ｉｍｇ＿Ｂを削除させるための命令を表す。
【００６３】
ステップＳ１００３では、画像入替制御部２０４が、Ｔ＿ｐｂ２においてページＩＤがＳである行の構成画像ＩＤリスト内のＩＤ＿ｉｍｇ＿Ａを、ＩＤ＿ｉｍｇ＿Ｂに入れ替える。このようにして、第一の人物が写る画像を第二の人物が写る画像に入れ替えることができる。
【００６４】
次に、ステップＳ９０８の非人物画像入替処理に関して説明する。
【００６５】
ステップＳ１１０１では、画像入替制御部２０４が、ＬＳＴ＿ｉｍｇｓ＿ｎｏｎに画像ＩＤがあるかどうかを判断する。画像ＩＤがある場合は（ステップＳ１１０１のＹＥＳ）、処理はＳ１１０２に進む。一方、画像ＩＤが無い場合は（ステップＳ１１０１のＮＯ）、処理は終了する。
【００６６】
ステップＳ１１０２では、画像入替制御部２０４が、ＬＳＴ＿ｉｍｇｓ＿ｎｏｎの先頭の画像ＩＤを取得し、取得した画像ＩＤをＩＤ＿ｉｍｇ＿Ｂとする。
【００６７】
ステップＳ１１０３では、画像入替制御部２０４が、ステップＳ１１０２で取得したＩＤ＿ｉｍｇ＿ＢをＬＳＴ＿ｉｍｇｓ＿ｎｏｎから削除する。
【００６８】
ステップＳ１１０４では、図１０におけるステップＳ１００３と同様の処理が行われる。
【００６９】
このようにして、第一の人物が写る画像を非人物画像に入れ替えることができる。
【００７０】
以上説明したように、本実施形態では、素材画像集合をページ単位でサブ集合に分割し、サブ集合単位で画像の入替を行う。より具体的には、第一の人物が写る画像が存在するページから第一の人物が写る画像を削除し、該ページに対応するサブ集合内に存在する第二の人物が写る画像または非人物画像を追加する。また、第一の人物が写る画像が存在しないページにおいて、該ページに対応するサブ集合に第二の人物が写る画像が存在する場合には、第二の人物が写る画像を追加する。これにより、第一の人物を主人公として作成したフォトブックから第二の人物を主人公とするフォトブックを作成することができる。さらに、本実施形態では、一度作成した画像選択情報（上記のＴ＿ｐｂ１）を元にして主人公となる人物が写る画像については入れ替えを行うが、その他の画像については入れ替えを行わない。これにより、主人公となる人物が写る画像を入れ替えつつ、主人公となるような人物が写っていない画像をそのまま残すことができる。そのため、画像の入れ替え後のフォトブックに、入れ替え前におけるフォトブックと共通の画像を残すことができる。このように、本実施形態により作成した画像選択情報を使用してフォトブックを作成し直すことにより、同じイベントに参加したという共通性を残しつつ、各主人公向けのフォトブックを作成することが可能となる。
【００７１】
なお、本実施形態では、風景や料理といった人物以外のものを被写体とし、人物を被写体としない画像を、非人物画像として扱っている。しかし、複数人が写っていて主人公となる人物が判別し難い画像を、非人物画像として扱うようにしてもよい。図１１に示すフローでは、人物が写っていない画像がサブ集合内に存在しない場合には、画像の入れ替えを行わない例が示されている。しかし、そのような場合において、複数人が写る画像を入れ替え対象とするようにしてもよい。
【００７２】
また、一般的にフォトブックでは撮影時刻順に画像が配置される。そのため、ページを意識せず単純に人物が写る画像を入れ替えると、タイムラインが崩れ、違和感を与えてしまう。本実施形態では、素材画像集合を撮影時刻の時系列に沿って分割したサブ集合から、入れ替え対象となる画像を選択する。そのため、タイムラインが崩れることなく、違和感を与えないフォトブックが作成することができる。
【００７３】
また、本実施形態では、主人公となる人物が一人である場合を例にしたが、主人公となる人物は複数であっても良い。例えば、カップルや家族のように複数人のグループを主人公としても良い。その場合、人物ＩＤを取得する処理（ステップＳ６０５，Ｓ６０６の処理）において、処理対象が複数人のグループとなり、図７に示す画面には、複数人のグループが写る画像が表示される。複数人のグループを検出する方法としては、例えば、人物が共に写る画像数や撮影時間帯の分布の偏りの差、画像内の顔の位置の近さなどから判断する方法がある。
【００７４】
また、本実施形態では、入れ替え対象の画像がサブ集合内に存在しない場合に（ステップＳ１１０１のＮｏ）、画像を入れ替えない例を説明した。しかし、サブ集合内の画像をランダムで選択したり、フォトブック作成者が任意の画像を選択したりして、画像を入れ替えるようにしても良い。
【００７５】
また、本実施形態では、サブ集合の分割箇所をＩＤ＿ＥとＩＤ＿Ｓとの中間としているが、ＩＤ＿ＥとＩＤ＿Ｓの間で撮影時刻の差が大きい画像ＩＤ間を分割箇所としても良い。
【００７６】
また、フォトブックにおける画像配置方法としては、一つのイベントを撮影時刻順に配置する方法だけでなく、イベントの種類毎にページを割り当てる方法もある。そのような画像配置方法を採用する場合には、イベントの種類を判別し、素材画像をイベントの種類毎にサブ集合に分割しても良い。そのような形態を実現するには、例えば、画像管理テーブルに、イベントの種類を判別可能な識別情報を、各画像ＩＤに対応づけて格納するようにすればよい。また、フォトブック内には、撮影時間帯が異なる画像を集めたイベント全体のダイジェストを表すページが存在する場合がある。そのような場合には、各ページで選択されている画像の撮影時間の分散を計算し、各画像の撮影時間に差があり分散が大きいページを、ダイジェストのページであると判断すればよい。なお、ダイジェストのページは、サブ集合分割処理の対象とされない。また、ダイジェストのページについては、素材画像集合全体から入れ替え対象の画像が選択される。
【００７７】
また、本実施形態では、入れ替え対象とする画像を、スコアに基づき（スコアの良い順に）選択する例を説明した。しかし、これに限らず、画像選択情報において既に選択されている画像と、選択候補の画像との類似度を算出し、類似度が高い場合には該選択候補の画像を入れ替え対象から外すようにしても良い。画像間の類似度の算出方法は、公知の方法で良く、例えば、画像の平均色を算出し、２つの画像の平均色の間の距離を算出し、距離の長さにより類似度を判断しても良い。
【００７８】
さらに、本実施形態で入力として用いる作成済みフォトブックのフォトブック管理テーブル（Ｔ＿ｐｂ１）は、手動で作成されることを想定しているが、公知の自動選択アルゴリズムにより作成されても良い。また、本実施形態で作成されたフォトブックのフォトブック管理テーブル（Ｔ＿ｐｂ２）を入力としても良い。
【００７９】
＜実施形態２＞
第１実施形態では、第一の人物が写る画像を第二の人物が写る画像に入れ替える処理を見開きページ毎に制御する例を説明した。しかし、入れ替え可能な第二の人物が写る画像が多くあると、画像入れ替え前における第一の人物が写る画像の数よりも、画像入れ替え後における第二の人物が写る画像の数が多くなる可能性がある。この場合、画像入れ替え前後のフォトブック間において共通に選ばれる、人物が写らない画像の選択数が減ってしまい、主人公の登場比率が変わってしまう。それにより、フォトブック間の類似性が低くなり、同じイベントから作成されたという共通性が低くなってしまう。このような課題に対応するため、第２実施形態では、第一の人物が写る画像数を取得し、取得した画像数に応じて、入れ替える画像数を制御する。以下では、第１実施形態と異なる部分のみを説明し、共通する部分については説明を省略する。
【００８０】
図１２は、第２実施形態に係る情報処理装置の動作を示すフローチャートである。図１２には、作成済みフォトブックの情報を用いて、第二の人物を主人公としたフォトブックのフォトブック管理テーブルを作成する処理の第２実施形態におけるメインフローが示されている。なお、ステップＳ１２０１〜Ｓ１２０５，Ｓ１２０７〜Ｓ１２０９，Ｓ１２１２〜Ｓ１２１４の処理は、ステップＳ６０１〜Ｓ６０５，Ｓ６０６〜Ｓ６０８，Ｓ６１０〜Ｓ６１２の処理と同様であるため、説明を省略する。
【００８１】
ステップＳ１２０６では、画像入替制御部２０４が、Ｔ＿ｐｂ１において選択されている第一の人物が写る画像（ＩＤ＿ｐｅｒ＿１を含む画像）の数（以後、Ｎ＿ｓｅｌ＿ｐｅｒ１とする）を取得する処理を行う。該処理（以下、第一人物画像数取得処理という）については、図１３を用いて後述する。
【００８２】
ステップＳ１２１０では、画像入替制御部２０４が、Ｔ＿ｐｂ２において選択される第二の人物が写る画像（ＩＤ＿ｐｅｒ＿２を含む画像）の数を示す変数Ｎ＿ｓｅｌ＿ｐｅｒ２を、０に初期化する。
【００８３】
ステップＳ１２１１の画像入替処理は、図９におけるステップＳ６０９の画像入替処理と同様である。ただし、Ｎ＿ｓｅｌ＿ｐｅｒ１とＮ＿ｓｅｌ＿ｐｅｒ２とに基づく制御が行われる。ステップＳ１２１１の画像入替処理の詳細は、図１４を用いて後述する。本実施形態では、以上のようにして、第二の人物を主人公としたフォトブックを作成するための画像選択情報（Ｔ＿ｐｂ２）が生成される。
【００８４】
次に、図１３を用いて、第一人物画像数取得処理（ステップＳ１２０６の処理）を説明する。なお、ステップＳ１３０１，Ｓ１３１０の処理は、ステップＳ８０１，Ｓ８０８の処理と同様であるため、説明を省略する。
【００８５】
ステップＳ１３０２では、サブ集合分割部２０２が、Ｎ＿ｓｅｌ＿ｐｅｒ１を０に初期化する。
【００８６】
ステップＳ１３０３では、サブ集合分割部２０２が、Ｔ＿ｐｂ１から、ページＩＤがＰであるページの構成画像ＩＤリストに含まれる画像の数を取得し、Ｉ＿ｎｕｍとして値を保持する。
【００８７】
ステップＳ１３０４では、サブ集合分割部２０２が、画像カウンタＩを０に初期化する。
【００８８】
ステップＳ１３０５では、サブ集合分割部２０２が、画像カウンタＩがＩ＿ｎｕｍより小さいかを判断する。Ｉ＿ｎｕｍより小さい場合は（ステップＳ１３０５のＹＥＳ）、処理はステップＳ１３０６に進む。一方、Ｉ＿ｎｕｍ以上である場合は（ステップＳ１３０５のＮｏ）、処理はステップＳ１３１０に進む。
【００８９】
ステップＳ１３０６では、サブ集合分割部２０２が、画像カウンタＩに対応する画像ＩＤを有する画像をＴ＿ｉｍｇから特定し、特定した画像の顔情報リストの人物ＩＤにＩＤ＿ｐｅｒ＿１が含まれるかを判断する。ＩＤ＿ｐｅｒ＿１が含まれる場合は（ステップＳ１３０６のＹＥＳ）、処理はステップＳ１３０７に進む。一方、ＩＤ＿ｐｅｒ＿１が含まれない場合は（ステップＳ１３０６のＮｏ）、処理はステップＳ１３０９に進む。
【００９０】
ステップＳ１３０７では、サブ集合分割部２０２が、ステップＳ１３０６で特定した画像の顔情報リストから、ＩＤ＿ｐｅｒ＿１に対応する顔幅Ｗを取得し、顔幅Ｗが閾値ＴｈＷより大きいかを判断する。閾値ＴｈＷより大きい場合は（ステップＳ１３０７のＹＥＳ）、処理はステップＳ１３０８に進む。一方、閾値ＴｈＷより以下である場合は（ステップＳ１３０７のＮｏ）、処理はステップＳ１３０９に進む。閾値ＴｈＷには、例えば、画像の幅×０．１５を設定した場合には、画像の幅に対する顔領域の幅の割合が１５％より大きい場合に、ステップＳ１３０７においてＹＥＳと判定される。なお、ここでは顔領域の幅Ｗのみを用いているが、顔領域の高さＨを用いても良く、また、幅Ｗと高さＨとを積算して得られる顔領域の面積を用いても良い。
【００９１】
ステップＳ１３０８では、サブ集合分割部２０２が、Ｎ＿ｓｅｌ＿ｐｅｒ１の値を一つ増加する。ステップＳ１３０９では、サブ集合分割部２０２が、画像カウンタＩの値を一つ増加する。
【００９２】
ステップＳ１３１１では、サブ集合分割部２０２が、ページカウンタＰがＰ＿ｎｕｍ以上であるかどうかを判断する。Ｐ＿ｎｕｍ以上である場合は（ステップＳ１３１１のＹＥＳ）、処理は終了する。一方、Ｐ＿ｎｕｍ未満である場合（ステップＳ１３１１のＮｏ）、処理はステップＳ１３０３に戻る。このようにして、Ｔ＿ｐｂ１において選択されている第一の人物が写る画像の数Ｎ＿ｓｅｌ＿ｐｅｒ１が取得される。
【００９３】
次に、図１４を用いて、第２実施形態における画像入替処理（ステップＳ１２０１１）を説明する。なお、ステップＳ１４０１〜Ｓ１４０５，Ｓ１４０７〜Ｓ１４０９の処理は、ステップＳ９０１〜Ｓ９０５，Ｓ９０６〜Ｓ９０８の処理と同様であるため、説明を省略する。また、ステップＳ１４１１，Ｓ１４１２，Ｓ１４１４の処理は、ステップＳ９０９，Ｓ９１０，Ｓ９１１の処理と同様であるため、説明を省略する。
【００９４】
ステップＳ１４０５でＹＥＳと判定されると、処理はステップＳ１４０６に進む。ステップＳ１４０６では、画像入替制御部２０４が、Ｎ＿ｓｅｌ＿ｐｅｒ２がＮ＿ｓｅｌ＿ｐｅｒ１以下かどうかを判断する。Ｎ＿ｓｅｌ＿ｐｅｒ１以下である場合は（ステップＳ１４０６のＹＥＳ）、処理はステップＳ１４０７に進む。一方、Ｎ＿ｓｅｌ＿ｐｅｒ１より大きい場合は（ステップＳ１４０６のＮｏ）、処理はステップＳ１４０９に進む。
【００９５】
ステップＳ１４０４でＮＯと判定されると、処理はステップＳ１４１３に進む。ステップＳ１４１３では、画像入替制御部２０４が、ステップＳ１４０６と同様にＮ＿ｓｅｌ＿ｐｅｒ２がＮ＿ｓｅｌ＿ｐｅｒ１以下かどうかを判断する。Ｎ＿ｓｅｌ＿ｐｅｒ１以下である場合は（ステップＳ１４１３のＹＥＳ）、処理はステップＳ１４１４に進む。一方、Ｎ＿ｓｅｌ＿ｐｅｒ１よい大きい場合は（ステップＳ１４１３のＮｏ）、処理はステップＳ１４１１に進む。
【００９６】
ステップＳ１４１０では、画像入替制御部２０４が、Ｎ＿ｓｅｌ＿ｐｅｒ２の値を１つ増加する。このようにして、第一の人物が写る画像数に応じた、画像入替処理が行われる。
【００９７】
以上説明したように、本実施形態によれば、画像の入れ替え前後において、第一の人物が登場する画像の数と第二の人物が登場する画像の数とを同じにすることができる。したがって、画像の入れ替え前のフォトブックと、入れ替え後のフォトブックとの類似性を低減させることがない。よって、両フォトブック間において、同じイベントから作成されたという共通性を残すことができる。
【００９８】
なお、本実施形態では、フォトブック全体において主人公となる人物が写る画像の数の総数が、画像の入れ替え前後において同じになるように制御している。しかし、ページ内で人物が写る画像の数が閾値以下になるように制御しても良い。これにより、第二の人物が写る画像ばかり選択されるページが生成されないようにすることできる。閾値して、例えば、ページごとに第一の人物が写る画像の選択数をＴ＿ｐｂ１から算出し、その最頻値を用いても良い。
【００９９】
なお、ステップＳ１３０７，Ｓ１３０８の処理において、顔領域の幅Ｗの大きさに基づき、第一の人物が写る画像の数を算出している。これは入れ替え対象となる人物が写っている画像であっても、画像内の顔領域が小さい場合は人物が目立たず、主人公としての度合いが低いためである。したがって、本実施形態では、顔領域の幅Ｗが閾値以下の場合には、入れ替え対象に適さないと判断している。
【０１００】
また、ステップＳ１４０５の処理において、画像に含まれる人物ＩＤが、複数ではなくＩＤ＿ｐｅｒ＿１のみであるかで主人公としての度合いが強いかを判断している。しかし、人物ＩＤの数が一つかどうかだけでなく、画像に含まれる第一の人物の顔の幅Ｗの大きさが閾値より大きいかを判断に使っても良い。また、幅Ｗの代わりに顔の高さＨや、幅Ｗと高さＨとをかけて得られる顔領域の面積を用いても良い。さらに、ステップＳ１４０７の処理においても、ＩＤ＿ｐｅｒ＿２があるかだけでなく、ＩＤ＿ｐｅｒ＿２に対応する顔幅Ｗが所定の閾値よりも大きいかどうかにより、ステップ１４０８の処理を実行するかを判断しても良い。同様に、ステップＳ１４０９の処理（より具体的には、ステップＳ１１０１の処理）においても、人物ＩＤを含む画像であっても顔幅Ｗが閾値よりも小さい場合は、人物が写っていない画像として判断しても良い。
【０１０１】
また、画像内の顔領域の位置が、画像の中心付近や三分割法の交点付近など構図的に主被写体を配置する場所にあるかどうかにより、画像に写る人物について、主人公としての度合いが高いかを判断してもよい。また、画像に写る人物（人物の顔）が向いている方向を公知の方法で取得し、画像に写る人物の顔が正面を向いている場合は、該人物について、主人公としての度合いが高いと判断してもよい。逆に、画像に写る人物の顔が横を向いている場合などは、該人物について、主人公としての度合いが低いと判断しても良い。
【０１０２】
さらに、第一の人物が写る画像を第二の人物が写る画像または人物が写らない画像に入れ替える際、サブ集合内に入れ替え対象となる画像が少ない場合には、自動的な入れ替え処理は適さない。この場合は、フォトブック作成者に対して、第二の人物を主人公としたフォトブックの作成を手動で一から行うことを推奨しても良い。
【０１０３】
＜実施形態３＞
第１実施形態および第２実施形態では、見開きページ辺りに配置される画像数がすべて４であり、且つ、見開きページに配置される各画像の大きさがそれぞれ同じである場合を例にした。しかし、レイアウトを変更せずに単に画像を入れ替えると、人物の入れ替わりに気付かない可能性がある。この課題に対応するため、本実施形態では、主人公となる人物の画像のレイアウトを大きく配置し、人物の写らない画像を小さく配置する例を説明する。以下、第１実施形態との差異について説明する。
【０１０４】
図１５は、第３実施形態におけるフォトブック管理テーブルの一例を示す図である。本実施形態では、図４に示すフォトブック管理テーブルに代えて、図１５に示すフォトブック管理テーブルを用いる。フォトブック管理テーブル１５０１には、見開きページのページＩＤに対応づけて、見開きページ内に配置される各スロットの情報が格納される。スロットの情報には、スロットの識別情報であるスロットＩＤと、スロットに配置される画像の画像ＩＤと、スロット（スロットに配置される画像）の座標とが含まれる。スロットの座標には、スロットの中心のＸ座標（以下、Ｉｘと記す）と、Ｙ座標（以下、Ｉｙと記す）と、スロットの幅Ｗ（以下、Ｉｗと記す）および高さＨ（以下、Ｉｈと記す）とが含まれる。ＩｘおよびＩｗには、見開きページの左上を原点とし、見開きページの幅を１として正規化された値が格納される。同様に、ＩｙおよびＩｈには、見開きページの左上を原点とし、見開きページの高さを１として正規化された値が格納される。以下、ページＩＤがＮであるページをページ＃Ｎと表す場合がある。また、スロットＩＤがＮであるスロットをスロット＃Ｎと表す場合がある。画像ＩＤがＮである画像を画像＃Ｎと表す場合がある。
【０１０５】
図１６は、見開きページに配置される画像のレイアウトの一例を示す図である。本実施形態では、図１６（Ａ）〜（Ｃ）に示す何れかのレイアウトで見開きページにスロットが配置されるものとする。図１６（Ａ）に示す見開きページ１６０１は、図１５に示すフォトブック管理テーブル１５０１におけるページ＃１に対応する。スロット１６０２はフォトブック管理テーブル１５０１のスロット＃１に対応し、スロット１６０２には画像＃２が配置される。スロット１６０３はスロット＃２に対応し、スロット１６０３には画像＃６が配置される。スロット１６０４はスロット＃３に対応し、スロット１６０４には画像＃１２が配置される。見開きページ１６０１には、スロット＃４に対応するスロットは存在しない。したがって、ページ＃１のスロット＃４に対応する画像ＩＤ及び座標には、該当なしを表す「Ｎ／Ａ」が格納される。
【０１０６】
同様に、図１６（Ｂ）に示す見開きページ１６０５はページ＃２に対応し、図１６（Ｃ）に示す見開きページ１６０９はページ＃８に対応する。
【０１０７】
サイズが大きいスロット１６０４およびスロット１６０６には、主人公となる人物が写る画像が配置される。その他のスロット（スロット１６０２〜１６０３，１６０７〜１６０８，１６１０〜１６１３）には、人物が写っていない画像や主人公以外の人物が写る画像などが配置される。なお、以下では説明の簡単のため、その他のスロットには、人物が写っていない画像のみが配置されるものとする。したがって、本実施形態において編集対象とされる作成済みフォトブックには、各見開きページに、人物が写っていない画像が少なくとも２つ含まれることになる。
【０１０８】
また、ここでは、ユーザが見開きページの左上、左下、右上、右下の順に画像を見ることを想定している。したがって、図１６では、左綴じ（右開き）の例が示されている。なお、ユーザが上記の順とは別の順に画像を見ることが想定される場合には、それに応じて綴じ方や配置順を変えても良い。
【０１０９】
次に、図１７を用いて、第３実施形態における画像入替処理について説明する。図１７は、第３実施形態における画像入替処理を示すフローチャートである。本実施形態におけるステップＳ６０９では、図９に示す画像入替処理に替えて、図１７に示す画像入替処理が行われる。なお、ステップ１７０２，Ｓ１７０３，Ｓ１７０７の処理は、ステップ９０２，Ｓ９０３，Ｓ９０７の処理と同様であるため、説明を省略する。
【０１１０】
ステップＳ１７０１では、画像入替制御部２０４が、Ｔ＿ｐｂ２を参照して、ページＩＤがＳである行に含まれる画像ＩＤの中から、Ｔ＿ｉｍｇの顔情報リストにＩＤ＿ｐｅｒ＿１が含まれる画像ＩＤを抽出する。画像入替制御部２０４は、抽出した画像ＩＤを、撮影時刻順にソートしてリスト（以後、ＬＳＴ＿ｉｍｇｓ＿ｐｅｒ１とする）に格納する。
【０１１１】
ステップＳ１７０４では、画像入替制御部２０４が、ＬＳＴ＿ｉｍｇｓ＿ｐｅｒ１に画像ＩＤが含まれるかどうか、すなわち、ＬＳＴ＿ｉｍｇｓ＿ｐｅｒ１が空でないかを判断する。ＬＳＴ＿ｉｍｇｓ＿ｐｅｒ１が空である場合は（ステップＳ１７０４のＹＥＳ）、処理はステップＳ１７０５に進む。一方、ＬＳＴ＿ｉｍｇｓ＿ｐｅｒ１が空で無い場合は（ステップＳ１７０４のＮｏ）、処理はステップＳ１７１１に進む。
【０１１２】
ステップＳ１７０５では、画像入替制御部２０４が、ＬＳＴ＿ｉｍｇｓ＿ｐｅｒ１から先頭の画像ＩＤを取得し、取得した画像ＩＤをＩＤ＿ｉｍｇ＿Ａとする。
【０１１３】
ステップＳ１７０６では、画像入替制御部２０４が、ＬＳＴ＿ｉｍｇｓ＿ｐｅｒ２に画像ＩＤがあるかどうか、すなわち、ＬＳＴ＿ｉｍｇｓ＿ｐｅｒ２が空でないかを判断する。画像ＩＤがない場合は（ステップＳ１７０６のＹＥＳ）、処理はステップＳ１７０７に進む。一方、画像ＩＤが無い場合は（ステップＳ１７０６のＮｏ）、処理はステップＳ１７０８に進む。
【０１１４】
ステップＳ１７０８では、画像入替制御部２０４が、Ｔ＿ｐｂ２においてページＩＤがＳである行の構成画像ＩＤリスト内にあるＩＤ＿ｉｍｇ＿Ａを、ＬＳＴ＿ｉｍｇｓ＿ｎｏｎ内にある画像ＩＤと入れ替える処理を行う。この処理（第二人物画像入替処理）については、図１８に示すフローチャートを用いて後述する。
【０１１５】
ステップＳ１７０９では、画像入替制御部２０４が、ＬＳＴ＿ｉｍｇｓ＿ｐｅｒ１に含まれる全ての画像ＩＤに対して処理を行ったかどうかを判断する。全ての画像ＩＤに対して処理が終わっている場合は（ステップＳ１７０９のＹＥＳ）、処理はステップＳ１７１３に進む。一方、全ての画像ＩＤに対して処理が終了していない場合は（ステップＳ１７０９のＮｏ）、処理はステップＳ１７１０に進む。
【０１１６】
ステップＳ１７１０では、画像入替制御部２０４が、ＩＤ＿ｉｍｇ＿Ａに、ＬＳＴ＿ｉｍｇｓ＿ｐｅｒ１内の次の画像ＩＤを代入する。
【０１１７】
ステップＳ１７１１では、画像入替制御部２０４が、ステップＳ１７０６と同様に、ＬＳＴ＿ｉｍｇｓ＿ｐｅｒ２に画像ＩＤがあるどうかかを判断する。画像ＩＤが含まれる場合は（ステップＳ１７０１１のＹＥＳ）は、処理はステップＳ１７０９に進む。一方、画像ＩＤが含まれない（ＬＳＴ＿ｉｍｇｓ＿ｐｅｒ２が空である）場合は（ステップＳ１７１１のＮｏ）は、処理はステップＳ１７１３に進む。
【０１１８】
ステップＳ１７１２では、画像入替制御部２０４が、Ｔ＿ｐｂ２においてページＩＤがＳである行の構成画像ＩＤリスト内の、顔情報リストを有さない画像ＩＤを、ＬＳＴ＿ｉｍｇｓ＿ｐｅｒ２に含まれる画像ＩＤと入れ替える処理を行う。この処理（非人物画像入替処理）については、図１９に示すフローチャートを用いて後述する。
【０１１９】
ステップＳ１７１３では、画像入替制御部２０４が、Ｔ＿ｐｂ２においてページＩＤがＳである行の構成画像ＩＤリスト内の画像ＩＤを撮影時刻順でソートする。以上のようなフローによって、第３実施形態における画像入替処理が行われる。
【０１２０】
次に、図１８を用いて、第３実施形態における非人物画像入替処理について説明する。なお、ステップＳ１８０１，Ｓ１８０２の処理は、ステップ１１０２，Ｓ１１０３の処理と同様であるため、説明を省略する。また、上述したように、人物が写っていない画像が見開きページに少なくとも２つ含まれることを前提としているため、ステップＳ１１０１に相当する処理（ＬＳＴ＿ｉｍｇｓ＿ｎｏｎが空であるかを判定する処理）は、図１８に示すフローでは省略している。
【０１２１】
ステップＳ１８０３では、ステップＳ１８０１と同様に、画像入替制御部２０４が、ＬＳＴ＿ｉｍｇｓ＿ｎｏｎの先頭の画像ＩＤを取得し、取得した画像ＩＤをＩＤ＿ｉｍｇ＿Ｃとする。
【０１２２】
ステップＳ１８０４では、ステップＳ１８０２と同様に、画像入替制御部２０４が、ステップＳ１８０３で取得したＩＤ＿ｉｍｇ＿ＣをＬＳＴ＿ｉｍｇｓ＿ｎｏｎから除去する。
【０１２３】
ステップＳ１８０５では、画像入替制御部２０４が、Ｔ＿ｐｂ２においてページＩＤがＳである行の構成画像ＩＤリストからＩＤ＿ｉｍｇ＿Ａを除去し、該構成画像ＩＤリストにＩＤ＿ｉｍｇ＿ＢとＩＤ＿ｉｍｇ＿Ｃとを追加する。このとき、ＩＤ＿ｉｍｇ＿Ａの画像が配置されていた片側ページにおける画像数が１つ増加する。そのため、本実施形態では、ＩＤ＿ｉｍｇ＿ＢとＩＤ＿ｉｍｇ＿Ｃとに対応する表示領域を小さく設定して、ＩＤ＿ｉｍｇ＿ＢとＩＤ＿ｉｍｇ＿Ｃとに対応する画像が片側ページ内に収まるようにする。以上のような処理により、見開きページのレイアウトを、図１６（ａ）または図１６（ｂ）に示す状態から、図１６（ｃ）に示す状態に変更することができる。
【０１２４】
次に、図１９を用いて、顔情報を有さない画像からＩＤ＿ｐｅｒ＿２を有する画像に入れ替える処理（ステップＳ１７０８の処理）について説明する。
【０１２５】
ステップＳ１９０１では、画像入替制御部２０４が、Ｔ＿ｐｂ２のページＩＤがＳである行の構成画像ＩＤリストの中で、スコアが低い画像を選択し、選択した画像の画像ＩＤをＩＤ＿ｉｍｇ＿Ａ１とする。ここで、スコアが低い画像とは、構成画像ＩＤリスト内の画像のうちスコアが最も低い画像である。スコアが最も低い画像が複数存在する場合には、その中からいずれかを選択すれば良い。
【０１２６】
ステップＳ１９０２では、画像入替制御部２０４が、Ｔ＿ｐｂ２からＩＤ＿ｉｍｇ＿Ａ１の中心のＸ座標Ｉｘを取得し、ＩｘＡ１とする。
【０１２７】
ステップＳ１９０３では、画像入替制御部２０４が、Ｔ＿ｐｂ２においてページＩＤがＳである行の画像の中で、中心座標ＩｘがＩｘＡ１に一番近い画像を取得し、ＩＤ＿ｉｍｇ＿Ａ２とする。中心座標ＩｘがＩｘＡ１に一番近い画像とは、画像ＩＤがＩＤ＿ｉｍｇ＿Ａ１である画像と同じ片側ページ内に配置されている画像である。例えば、図１６（Ｃ）に示す見開きページ１６０９において、スロット１６１１にＩＤ＿ｉｍｇ＿Ａ１を有する画像が配置されている場合、スロット１６１０に配置されている画像の画像ＩＤがＩＤ＿ｉｍｇ＿Ａ２に設定される。
【０１２８】
ステップＳ１９０４では、画像入替制御部２０４が、Ｔ＿ｐｂ２においてページＩＤがＳである行からＩＤ＿ｉｍｇ＿Ａ１とＩＤ＿ｉｍｇ＿Ａ２を削除する。
【０１２９】
ステップＳ１９０５では、画像入替制御部２０４が、ＬＳＴ＿ｉｍｇｓ＿ｐｅｒ２の先頭の画像ＩＤを取得し、ＩＤ＿ｉｍｇ＿Ｂとする。
【０１３０】
ステップＳ１９０６では、画像入替制御部２０４が、Ｔ＿ｐｂ２においてページＩＤがＳである行にＩＤ＿ｉｍｇ_Ｂを追加する。それとともに、画像入替制御部２０４は、ＩＤ＿ｉｍｇ＿Ｂの画像の表示領域が大きくなるレイアウトの種類を選択し、ＩＤ＿ｉｍｇ＿Ｂの座標情報に、選択したレイアウトに応じた座標を格納する。選択可能なレイアウトの種類が複数ある場合には、見開きページ内において撮影時刻順に画像を配置したときに、入れ替え対象のＩＤ＿ｉｍｇ＿Ｂの画像が見開きページのどの領域に配置されるかによって、レイアウトの種類を選択すればよい。
【０１３１】
例えば、図１６（ｃ）において、スロット１６１３に配置されている画像のスコアが最も低い場合には、該画像の画像ＩＤがＩＤ＿ｉｍｇ＿Ａ１として取得され、スロット１６１２に配置されている画像の画像ＩＤがＩＤ＿ｉｍｇ＿Ａ２として取得される。またこのとき、スロット１６１０，１６１１に配置されている画像の撮影時刻よりもＩＤ＿ｉｍｇ＿Ｂの画像の撮影時刻が古い場合には、図１６（ｂ）に示すレイアウトが選択される。逆に、スロット１６１０，１６１１に配置されている画像の撮影時刻よりもＩＤ＿ｉｍｇ＿Ｂの画像の撮影時刻が新しい場合には、図１６（ａ）に示すレイアウトが選択される。なお、この際、画像のアスペクト比と表示領域のアスペクト比が異なる場合は、対象となる人物が切れないように公知の方法でトリミングしても良い。以上のようにして、図１６（ｃ）に示すレイアウトから、図１６（ａ）や図１６（ｂ）に示すレイアウトに入れ替えることができる。
【０１３２】
以上説明したように、本実施形態によれば、主人公となる人物が写る画像の表示領域を大きくし、人物が写らない画像の領域を小さくすることができる。これにより、新たに主人公となる人物を強調した、フォトブックを作成することができる。
【０１３３】
＜その他の実施形態＞
以上、実施形態例を詳述したが、本発明は例えば、システム、装置、方法、プログラムまたは記録媒体(記憶媒体)等としての実施態様をとることが可能である。具体的には、複数の機器（例えば、ホストコンピュータ、インタフェース機器、撮像装置、ｗｅｂアプリケーション等）から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
【０１３４】
また、本発明の目的は、以下のようにすることによって達成されることはいうまでもない。即ち、前述した実施形態の機能を実現するソフトウェアのプログラムコード（コンピュータプログラム）を記録した記録媒体（または記憶媒体）を、システムあるいは装置に供給する。係る記憶媒体は言うまでもなく、コンピュータ読み取り可能な記憶媒体である。そして、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記録媒体に格納されたプログラムコードを読み出し実行する。この場合、記録媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記録した記録媒体は本発明を構成することになる。
【符号の説明】
【０１３５】
２０２  サブ集合分割部
２０４  画像入替制御部
【図１】
2019016004.tif 000003
【図２】
2019016004.tif 000004
【図３】
2019016004.tif 000005
【図４】
2019016004.tif 000006
【図５】
2019016004.tif 000007
【図６】
2019016004.tif 000008
【図７】
2019016004.tif 000009
【図８】
2019016004.tif 000010
【図９】
2019016004.tif 000011
【図１０】
2019016004.tif 000012
【図１１】
2019016004.tif 000013
【図１２】
2019016004.tif 000014
【図１３】
2019016004.tif 000015
【図１４】
2019016004.tif 000016
【図１５】
2019016004.tif 000017
【図１６】
2019016004.tif 000018
【図１７】
2019016004.tif 000019
【図１８】
2019016004.tif 000020
【図１９】
2019016004.tif 000021