(57)【要約】【課題】  コンテンツ中の被写体の位置やサイズなどに応じてレイアウトを変更することで、コンテンツに適したレイアウト制御技術を提供する。【解決手段】  コンテンツデータを表示するための部分表示領域として複数のレイアウト枠を含むテンプレートと、各レイアウト枠に配置されるコンテンツデータと、を用いて、テンプレートにおけるレイアウト枠の配置位置を制御するレイアウト制御装置は、レイアウト枠へ割り当てられたコンテンツデータから特定のオブジェクトを認識する認識部と、認識されたオブジェクトを囲むオブジェクト枠をレイアウト枠の内部に設定する設定部と、オブジェクトが編集部によって編集されたことにより、オブジェクト枠のサイズが所定の方向に変更された場合に、オブジェクト枠と所定の位置関係が規定されたレイアウト枠の配置位置を変更に応じて決定する演算部と、決定結果に従って、テンプレートにおけるレイアウト枠を配置する配置部と、を備える。【選択図】  図２
2013065214.tif 000002
【特許請求の範囲】
【請求項１】
コンテンツデータを表示するための部分表示領域として複数のレイアウト枠を含むテンプレートと、各レイアウト枠に配置されるコンテンツデータと、を用いて、前記テンプレートにおける前記レイアウト枠の配置位置を制御するレイアウト制御装置であって、
前記レイアウト枠へ割り当てられたコンテンツデータから特定のオブジェクトを認識する認識手段と、
前記認識手段によって認識された前記オブジェクトを囲むオブジェクト枠を前記レイアウト枠の内部に設定する設定手段と、
前記オブジェクトが編集手段によって編集されたことにより、前記オブジェクト枠のサイズが所定の方向に変更された場合に、前記オブジェクト枠と所定の位置関係が規定された前記レイアウト枠の配置位置を前記変更に応じて決定する演算手段と、
前記演算手段の決定結果に従って、前記テンプレートにおける前記レイアウト枠の配置位置を制御する配置手段と、
を備えることを特徴とするレイアウト制御装置。
【請求項２】
前記演算手段は、
前記変更に応じて前記レイアウト枠が配置されるべき目標位置を示す位置情報と前記変更の前のレイアウト枠の位置情報とを用いて定義される第１の関数と、
前記オブジェクト枠との間で前記所定の位置関係を規定するために、前記変更の前の前記オブジェクト枠の位置情報、前記変更の後の前記オブジェクト枠の位置情報、前記目標位置を示す位置情報、および前記変更の前のレイアウト枠の位置情報を用いて定義される第２の関数と、を設定し、
前記第１の関数と前記第２の関数との差分として求められる関数を前記方向に関して最小にする位置情報を前記レイアウト枠が配置されるべき目標位置を示す位置情報として決定する
ことを特徴とする請求項１に記載のレイアウト制御装置。
【請求項３】
前記認識手段は、前記レイアウト枠の内部に複数のオブジェクトを認識した場合に、前記複数のオブジェクトと予め登録されているオブジェクトとを照合し、
前記設定手段は、前記認識手段の照合結果により予め登録されているオブジェクトに合致したオブジェクトに対して前記オブジェクト枠を設定することを特徴とする請求項１または２に記載のレイアウト制御装置。
【請求項４】
前記認識手段によって複数のオブジェクトが認識された場合に、前記設定手段は、前記複数のオブジェクトのそれぞれにオブジェクト枠を設定し、
前記編集手段は、前記オブジェクト枠が設定された前記複数のオブジェクトをユーザインタフェースに表示し、ユーザからの選択入力に応じて選択されたオブジェクト枠のオブジェクトについて編集を行うことを特徴とする請求項１または２に記載のレイアウト制御装置。
【請求項５】
前記認識手段は、前記レイアウト枠の内部に複数のオブジェクトを認識した場合に、前記レイアウト枠に割り当てられたコンテンツに記録されている撮影条件を示す撮影情報を取得し、
前記設定手段は、前記複数のオブジェクトのうち、前記撮影条件を満たすオブジェクトに対してオブジェクト枠を設定することを特徴とする請求項１または２に記載のレイアウト制御装置。
【請求項６】
前記認識手段が、前記レイアウト枠の内部に複数のオブジェクトを認識した場合に、前記設定手段は、前記複数のオブジェクトに対するオブジェクト枠の全てを包含する最小面積の領域を１つのオブジェクト枠として設定することを特徴とする請求項１または２に記載のレイアウト制御装置。
【請求項７】
前記オブジェクトが前記編集手段によって編集されたことにより、前記レイアウト枠からはみ出して前記オブジェクト枠のサイズが所定の方向に変更された場合に、前記演算手段は、前記レイアウト枠からはみ出したオブジェクト枠の部分を除外して、前記配置位置を決定するための演算処理を行うことを特徴とする請求項１または２に記載のレイアウト制御装置。
【請求項８】
前記演算手段は、複数のオブジェクト枠のうち、一つのオブジェクト枠の全てが前記レイアウト枠からはみ出る場合、はみ出した前記オブジェクト枠を除外して、前記演算処理を行うことを特徴とする請求項７に記載のレイアウト制御装置。
【請求項９】
ユーザの操作入力を受け付ける入力手段を更に備え、
前記設定手段によって設定された前記オブジェクト枠の設定を修正するための操作入力が前記入力手段を介して受け付けられた場合に、前記設定手段は、前記操作入力に従って前記オブジェクト枠の設定を修正することを特徴とする請求項１または２に記載のレイアウト制御装置。
【請求項１０】
オブジェクト枠を新たに設定するための操作入力が前記入力手段を介して受け付けられた場合に、前記設定手段は、前記操作入力に従って前記オブジェクト枠を新たに設定することを特徴とする請求項９に記載のレイアウト制御装置。
【請求項１１】
コンテンツデータを表示するための部分表示領域として複数のレイアウト枠を含むテンプレートと、各レイアウト枠に配置されるコンテンツデータと、を用いて、前記テンプレートにおける前記レイアウト枠の配置位置を制御するレイアウト制御装置におけるレイアウト制御方法であって、
前記レイアウト制御装置の認識手段が、前記レイアウト枠へ割り当てられたコンテンツデータから特定のオブジェクトを認識する認識工程と、
前記レイアウト制御装置の設定手段が、前記認識工程で認識された前記オブジェクトを囲むオブジェクト枠を前記レイアウト枠の内部に設定する設定工程と、
前記レイアウト制御装置の演算手段が、前記オブジェクトが編集手段によって編集されたことにより、前記オブジェクト枠のサイズが所定の方向に変更された場合に、前記オブジェクト枠と所定の位置関係が規定された前記レイアウト枠の配置位置を前記変更に応じて決定する演算工程と、
前記レイアウト制御装置の配置手段が、前記演算工程の決定結果に従って、前記テンプレートにおける前記レイアウト枠の配置位置を制御する配置工程と、
を有することを特徴とするレイアウト制御方法。
【請求項１２】
前記演算工程は、
前記変更に応じて前記レイアウト枠が配置されるべき目標位置を示す位置情報と前記変更の前のレイアウト枠の位置情報とを用いて定義される第１の関数と、
前記オブジェクト枠との間で前記所定の位置関係を規定するために、前記変更の前の前記オブジェクト枠の位置情報、前記変更の後の前記オブジェクト枠の位置情報、前記目標位置を示す位置情報、および前記変更の前のレイアウト枠の位置情報を用いて定義される第２の関数と、を設定し、
前記第１の関数と前記第２の関数との差分として求められる関数を前記方向に関して最小にする位置情報を前記レイアウト枠が配置されるべき目標位置を示す位置情報として決定する
ことを特徴とする請求項１１に記載のレイアウト制御方法。
【請求項１３】
コンピュータを、請求項１乃至１０のいずれか１項に記載のレイアウト制御装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、レイアウト制御装置、レイアウト制御方法およびプログラムに関する。
【背景技術】
【０００２】
写真や文字列などのコンテンツを自動的にページ上にレイアウトする技術として、予めテンプレートを設定しておき、テンプレートにコンテンツを流し込む方法など、様々な手法が研究されている。例えば、特許文献１では、コンテンツが配置されるレイアウト枠の相対的な位置関係を規定するために張力エネルギーモデルを用いたレイアウト枠の最適配置手法が提案されている。特に、テンプレートを用いたフォトアルバムの作成に関する技術として、レイアウト枠に配置される写真中の被写体を考慮したレイアウトの最適化手法が提案されている。例えば、特許文献２では、見開きページの折り目に被写体が重ならないように写真をトリミングして被写体の位置をずらして配置する方法が示されている。また特許文献３では、写真内に複数の顔が近くに存在する場合に、それらを包含する領域をクリップして配置する方法が示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特登録０４０６５５４５号公報
【特許文献２】特開２００７−０１２０３０号公報
【特許文献３】特登録０４４１２５５２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
テンプレートはページ内においてレイアウト枠の位置と大きさを規定するものであり、枠のバランスを考慮して作成されている。しかしながら、実際にテンプレートに配置される写真内の被写体の位置や大きさが異なると、同じテンプレートであっても閲覧者に与える印象が変化する。例えば、被写体が大きく写っている写真を並べると見た目の圧迫感が増す。そのような場合には、写真と写真の間の余白を広げて圧迫感を緩和するといった、レイアウトの修正が行われることが望ましい。しかしながら、前述の先行技術は、被写体の位置や大きさに応じてレイアウト枠内での写真の配置を最適化するものであって、レイアウト枠の配置を修正することが考慮されていない点に課題があった。
【課題を解決するための手段】
【０００５】
本発明は、テンプレートを用いてコンテンツをレイアウトする際に、コンテンツ中の被写体の位置やサイズなどに応じてレイアウトを変更することで、コンテンツに適したレイアウト制御技術を提供する。
【０００６】
本発明の一つの側面にかかるレイアウト制御装置は、コンテンツデータを表示するための部分表示領域として複数のレイアウト枠を含むテンプレートと、各レイアウト枠に配置されるコンテンツデータと、を用いて、前記テンプレートにおける前記レイアウト枠の配置位置を制御するレイアウト制御装置であって、
前記レイアウト枠へ割り当てられたコンテンツデータから特定のオブジェクトを認識する認識手段と、
前記認識手段によって認識された前記オブジェクトを囲むオブジェクト枠を前記レイアウト枠の内部に設定する設定手段と、
前記オブジェクトが編集手段によって編集されたことにより、前記オブジェクト枠のサイズが所定の方向に変更された場合に、前記オブジェクト枠と所定の位置関係が規定された前記レイアウト枠の配置位置を前記変更に応じて決定する演算手段と、
前記演算手段の決定結果に従って、前記テンプレートにおける前記レイアウト枠を配置する配置手段と、を備えることを特徴とする。
【発明の効果】
【０００７】
本発明によれば、テンプレートを用いてコンテンツのレイアウトを行う際に、コンテンツ中の被写体の位置やサイズなどに応じてテンプレートのレイアウトを変更することで、コンテンツに適したレイアウト制御が可能になる。
【図面の簡単な説明】
【０００８】
【図１】第１実施形態にかかるレイアウト制御の流れを概略的に説明する図。
【図２】第１実施形態にかかるレイアウト制御装置の機能構成を示す図。
【図３】第１実施形態におけるテンプレートを説明する図。
【図４】実施形態にかかるレイアウト制御の流れを説明する図。
【図５】第１実施形態におけるレイアウト枠を説明する図。
【図６】第１実施形態におけるオブジェクト枠を説明する図。
【図７】第１実施形態における写真編集後のオブジェクト枠を説明する図。
【図８】第１実施形態におけるレイアウト変更後のレイアウト枠を説明する図。
【図９】第３実施形態におけるレイアウト枠とオブジェクト枠を説明する図。
【図１０】レイアウト制御装置に用いるコンピュータの構成を説明する図。
【発明を実施するための形態】
【０００９】
（第１実施形態）
以下、図面を参照しながら本発明の実施形態を説明する。図１０は、本実施形態にかかるレイアウト制御装置に用いるコンピュータ（情報処理装置）の概略構成を示す図である。制御部として機能するＣＰＵ１００１は、ＯＳ（Operating System)および各種アプリケーションプログラムを実行し、レイアウト制御装置の各部の制御を行う。ＲＯＭ１００２は、ＣＰＵ１００１が実行するプログラムや演算用のパラメータのうちの固定的なデータを格納する。ＲＡＭ１００３は、ＣＰＵ１００１の作業領域やデータの一時記憶領域を提供する。ＲＯＭ１００２およびＲＡＭ１００３は、バス１００４を介してＣＰＵ１００１に接続される。キーボードなどの入力装置１００５、ＣＲＴ、液晶ディスプレイなどの表示装置１００６、ハードディスク装置、ＭＯ、ＣＤ−ＲＯＭ等の記憶装置１００７は、インタフェース１００８を介してバス１００４に接続されている。また、バス１００４は通信部１００９を介してネットワーク１０１０と接続される。ネットワーク１０１０を介して複数のレイアウト制御装置を接続することにより、レイアウト制御システムを構成することも可能である。レイアウト制御装置が他のレイアウト制御装置からコンテンツの配信を受信し、受信したコンテンツに対して、レイアウト処理を行うことも可能である。
【００１０】
図２は、レイアウト制御装置の機能構成（モジュール）を示す図である。記憶装置１０７は、コンテンツデータ（例えば、フォトブックに用いる写真データ）やコンテンツデータをレイアウトするためのテンプレートを記憶する。テンプレートは、コンテンツデータを表示するための部分表示領域として複数のレイアウト枠１０２〜１０５（図１）を含む。レイアウト枠配置部２０２は、レイアウト枠へのコンテンツデータの割当て、テンプレートの定義に基づくレイアウト枠の配置や、写真編集後のレイアウト枠の再配置を行う。コンテンツ編集部２０３は、ユーザが指定したコンテンツ（以下、「写真」という）のテンプレートへの流し込みと、ユーザの指示に応じて写真の拡大縮小、移動、トリミングなどコンテンツの編集を行う。オブジェクト認識部２０４は、レイアウト枠へ割り当てられた写真、またはユーザが指定した写真から顔や人物や一般物体など特定のオブジェクト（被写体）を認識（抽出）する。ここで、オブジェクトの認識方法には、画像から特徴点を抽出して学習データとマッチングを取る方法や、画像の領域分割に基づく方法など、種々の方法を用いることができる。オブジェクト枠設定部２０５は、オブジェクト認識部２０４が認識したオブジェクトが含まれる領域を囲むオブジェクト枠を導出し、導出したオブジェクト枠をレイアウト枠の内部に設定する。演算部２０６は、レイアウト枠の辺の位置を設定するために、レイアウト枠の各辺に対して目標関数を定義し、全レイアウト枠の目的関数に対するエネルギーの総和を最小化するような演算処理を行なう。オブジェクトがコンテンツ編集部２０３によって編集され、オブジェクト枠のサイズが所定の方向に変更された場合に、演算部２０６はオブジェクト枠と所定の位置関係が規定されたレイアウト枠の配置位置を変更に応じて決定する。そして、レイアウト枠配置部２０２は、演算部２０６の決定結果に従って、テンプレートにおけるレイアウト枠の配置位置を制御する。ここで、レイアウト枠やオブジェクト枠の形状について本発明は何ら規定を設けないが、以下では簡単のためいずれも矩形であるものとして説明する。以上のモジュール以外にも、表示や操作のためのユーザインタフェースを提供するモジュールがレイアウト制御装置の機能構成には含まれるが、本発明とは直接関係しないため説明は省略する。
【００１１】
第１実施形態にかかるレイアウト制御装置の実施例として、複数の写真のレイアウトによるフォトアルバムの作成について説明する。レイアウト制御装置は、ユーザが指定した写真をテンプレートに流し込んでレイアウトするとともに、ユーザが写真を編集した時にテンプレートのレイアウトを自動で修正することで写真のレイアウトを自動化するものである。
【００１２】
図１を参照してレイアウト制御装置で行うレイアウト変更処理の概要を説明する。本処理は、ＣＰＵ１００１により実行される。図１（ａ）はフォトアルバムの１ページ分のテンプレートであり、外枠１０１は１ページのテンプレートの全体を表す。レイアウト枠１０２〜１０５はレイアウトの対象となるコンテンツデータ（写真）を流し込み、収めるための表示領域である。
【００１３】
レイアウト枠１０２〜１０５の位置と大きさは可変である。演算部２０６は、ページの外枠１０１とレイアウト枠との間の長さ１０６および、レイアウト枠同士の間の長さ１０７に基づいた目的関数Ｅ１をレイアウト枠の各辺に対して定義する。そして、演算部２０６は、全レイアウト枠の目的関数に対するエネルギーの総和を最小化するような演算処理を行い、目的関数Ｅ１（第１の制約条件）を満足する位置にレイアウト枠の辺の位置を設定する。本実施形態において、目的関数Ｅ１は張力エネルギーに関連付けられる。張力エネルギーは、最適配置された時の位置座標と実際の配置位置における位置座標の差の二乗の２分の１であり、演算部２０６は、全レイアウト枠の目的関数に対するエネルギーの総和を最小化するようなレイアウトを計算する。なお、フォトアルバムは複数のページで構成され得るが、本実施形態では説明を簡単にするためにレイアウトはページ単位で行うものとし、複数のページにまたがるレイアウトは考慮しない。
【００１４】
図１（ｂ）は図１（ａ）のテンプレートに写真を流し込んだ状態を示す図である。各レイアウト枠への写真の割り当てについては、例えば、撮影日時順などの撮影条件や被写体の情報などによって割り当てを行うことが可能である。レイアウト枠に写真を流し込んだら、オブジェクト認識部２０４は写真内のオブジェクト（被写体）を認識し、オブジェクト枠設定部２０５は、オブジェクト（被写体）が含まれる被写体領域を囲むオブジェクト枠を設定する。図１（ｃ）に、オブジェクト枠１０８が設定された状態を示す。ここではレイアウト枠１０２に配置された写真に対してのみオブジェクト枠を設定しているが、オブジェクト枠設定部２０５は、他のレイアウト枠に配置された写真に対しても同様にオブジェクト枠を設定することが可能である。
【００１５】
次に、演算部２０６は、オブジェクト枠設定部２０５によって設定されたオブジェクト枠１０８と、オブジェクト枠を含まない写真のレイアウト枠１０３〜１０５との間の長さに基づいた目的関数Ｅ２（第２の制約条件）を定義する。参照番号１０９はレイアウト枠１０４とオブジェクト枠１０８との間の位置関係を定義するための目的関数Ｅ２を模式的に示すものである。ここで、目的関数Ｅ２は、Ｅ１と同様に張力エネルギーに関連付けられるものとする。
【００１６】
写真を流し込んだら、ユーザは作成されたフォトアルバムの仕上がりを確認し、問題があれば修正を行う。ここでは、レイアウト枠１０２の写真の被写体を強調するために被写体部分を拡大表示する場合を例に説明する。本実施形態では写真を拡大してもレイアウト枠の大きさは変更せず、被写体以外の部分をトリミングしてレイアウト枠に合わせて表示する。図１（ｄ）にレイアウト枠１０２の写真の被写体を拡大した状態を示す。
【００１７】
写真が編集されたら、オブジェクト認識部２０４は、編集後の写真に対して再び被写体の認識を行い、オブジェクト枠設定部２０５は、オブジェクト枠の設定を行う。図１（ｅ）に、編集後のレイアウト枠１０２の写真に対するオブジェクト枠１１０を設定した状態を示す。続いて、レイアウト枠配置部２０２は、目的関数Ｅ１およびＥ２の演算結果を用いて、テンプレートのレイアウト枠の配置を変更する。すなわち、図１（ｃ）の状態から図１（ｅ）の状態へ変更されたことにより、目的関数Ｅ２（１０９）に関連付けられる張力エネルギーが増大しており、これを相殺する方向にレイアウト枠を移動する。図１（ｆ）が変更後のレイアウトである。この例では、レイアウト枠１０２の位置を固定し、レイアウト枠１０４とレイアウト枠１０５とを左に移動させており、更にレイアウト枠１０３とレイアウト枠１０５とを下に移動させている。これにより、ユーザが編集したレイアウト枠１０２とその他の写真との間の余白が広がって、被写体を拡大表示した視覚的効果を強調することができる。
【００１８】
以上のようにして、レイアウト制御装置はレイアウト枠内での被写体の大きさに応じてレイアウト枠の配置を最適化する。なお、上記の説明では１枚の写真に対してのみ被写体を認識した場合で説明したが、複数の写真に対して被写体認識を行った場合も、写真毎に同様の処理を繰り返すことでレイアウト枠の配置を最適化することができる。
【００１９】
図３は本実施形態で用いるテンプレートのレイアウト枠の定義を図示したものである。外枠がページ全体を示し、内枠がレイアウト枠を示す。テンプレート上のレイアウト枠の位置と大きさを定義するために、テンプレートの上辺３０１を起点としたレイアウト枠の上下辺（３０５、３０９、３０６、３１０）までの長さ（３１３、３１５、３１４、３１６）を定義する。この定義により、テンプレートの上辺を起点とした上下方向におけるテンプレート上のレイアウト枠の位置関係を定めることができる。レイアウト枠のページの左辺３０３を起点としたレイアウト枠の左右辺（３０７、３１１、３０８、３１２）までの長さ（３１７、３１９、３１８、３２０）を定義する。この定義により、テンプレートの左辺を起点とした横方向におけるテンプレート上のレイアウト枠の位置関係を定めることができる。
【００２０】
これに加え、レイアウト枠の大きさの可変範囲とレイアウト枠の位置の可動範囲を定義するために、テンプレートの辺とレイアウト枠の辺との間の制約条件（３２１〜３２６）を必要に応じて定義する。更に、一つのレイアウト枠を構成する辺と辺との間の長さを定める制約条件（３２７、３２８、３３０、３３１）、あるいは、一つのレイアウト枠３５０と他のレイアウト枠３５１との間の長さを定める制約条件３２９を必要に応じて定義する。
【００２１】
例えば、制約条件３２１および制約条件３２２に『長さ固定』という制約を設けた場合、左側のレイアウト枠３５０は横方向にのみ位置の変更が可能となる。制約条件３２７に『下限長＝ｘ』という制約を設けた場合、レイアウト枠３５０の横幅がｘより小さく変形することは禁止され、レイアウト枠３５０の横幅は、レイアウト処理においてｘ以上の範囲で可変である。
【００２２】
図５に示すテンプレート上における２のレイアウト枠のレイアウト処理を、具体的な数値を用いて説明する。説明を簡単にするために、図５に示す例では、横方向の位置の定義のみを示し、縦方向の位置の定義は省略している。テンプレート５０１の左辺を起点として、左のレイアウト枠５０２（以下、枠Ａ）の左辺までの長さは５、右辺までの長さは２５である。また、テンプレート５０１の左辺を起点として、右側のレイアウト枠５０３（以下、枠Ｂ）の左辺までの長さは３５、右辺までの長さは５５である。制約条件として、枠Ａと枠Ｂの横幅は２０に固定、枠Ｂの右辺からテンプレート５０１の右辺までの長さを５に固定している。テンプレート５０１の左辺から枠Ａの左辺までの長さは０以上、枠Ａの右辺と枠Ｂの左辺の長さは０以上で可変である。テンプレート５０１において、枠Ａの左辺および右辺は左右方向に可変であり、枠Ａの左右方向の移動だけが許される。枠Ｂの横幅は２０に固定されているため、枠Ｂの左辺のみを移動させることはできず、枠Ｂの左右方向の移動は拘束される。
【００２３】
次に、図４のフローチャートを参照してレイアウト処理手順を説明する。
【００２４】
まず、コンテンツ編集部２０３は、写真をレイアウト枠内に配置したらユーザからの編集指示を受け付ける（Ｓ４００１）。ユーザが編集したい写真を選択して写真編集をレイアウト制御装置に指示すると、オブジェクト認識部２０４は、指定された写真からオブジェクトを抽出する（Ｓ４００２）。ここで、オブジェクト認識部２０４が認識する対象としては、人の顔や人体、建物などが想定され、認識対象に応じた様々な認識手法を用いることができる。本発明は認識手法に限定されるものではなく、いずれの認識手法を本発明の実施形態に適用することは可能である。
【００２５】
続いて、オブジェクト枠設定部２０５は、オブジェクト認識部２０４が認識したオブジェクトを包含する領域に対応するオブジェクト枠をレイアウト枠の内部に設定する（Ｓ４００３）。オブジェクト枠の定義方法は、前述のレイアウト枠の定義方法に準じる。すなわち、テンプレートの上辺を起点としたオブジェクト枠の上辺、下辺の位置、およびテンプレートの左辺を起点としたオブジェクト枠の左辺、右辺の位置によって、オブジェクト枠の位置と大きさを定義する。図６はオブジェクト枠を定義した状態を例示的に示す図であり、枠Ｂ（テンプレート枠）内の太線で示した枠がオブジェクト枠６０１である。図６の例では、オブジェクト枠６０１の左辺の位置がテンプレート６１０の左辺を起点として距離４０の位置にあり、右辺の位置が距離５０の位置にあるものとして定義されている。縦方向の位置の定義は図６に図示していないが、テンプレート６１０の上辺を起点としたオブジェクト枠６０１の上辺、下辺までの位置によりテンプレート６１０上におけるオブジェクト枠６０１の位置と大きさを定義できる。
【００２６】
続いて、ユーザの写真編集操作に従って、コンテンツ編集部２０３は写真の編集を実行する（Ｓ４００４）。ここでは、写真の縮尺変更とトリミングを行ってオブジェクトの表示サイズを大きくする場合について説明する。縮尺変更やトリミングには既存の手法を用いることができるので説明は省略する。
【００２７】
ユーザが写真を編集したら、コンテンツ編集部２０３はオブジェクト枠設定部２０５を用いて、編集後の写真に対してオブジェクト枠をレイアウト枠の内部に設定させる（Ｓ４００５）。ここでは写真の縮尺率の差分とトリミング幅を用いて単純にオブジェクト枠の位置と大きさを再計算する方法を用いるが、オブジェクト認識部２０４を用いて編集後の写真から再度、オブジェクトを認識することも可能である。図７は、編集後のオブジェクト枠の状態を例示する図であり、変更前のオブジェクト枠６０１の左辺、右辺の位置（４０、５０）が、変更後のオブジェクト枠７０１の左辺、右辺の位置（３７、５３）に変更されている。
【００２８】
オブジェクト枠の再設定に続いて、コンテンツ編集部２０３はレイアウト枠配置部２０２を用いて、レイアウト枠の配置位置の修正（再配置）を行う。図５〜図７のテンプレートでは枠Ａの横方向の移動が可能であるとしているので、レイアウト枠の修正では枠Ａの左辺の位置を再計算すれば、枠Ａのテンプレート上における位置を特定することができる。以下に、その計算方法を説明する。
【００２９】
オブジェクトがコンテンツ編集部２０３によって編集されたことにより、オブジェクト枠のサイズが所定の方向に変更された場合、演算部２０６はオブジェクト枠と所定の位置関係が規定されたレイアウト枠の配置位置を変更に応じて決定する。演算部２０６は、第１の目的関数（Ｅ１）と第２の目的関数（Ｅ２）を設定する。第１の目的関数（以下、目的関数Ｅ１）は、変更に応じてレイアウト枠が配置されるべき目標位置を示す位置情報と変更の前のレイアウト枠の位置情報とを用いて定義される。第２の目的関数（以下、目的関数Ｅ２）は、オブジェクト枠との間で所定の位置関係を規定する。目的関数Ｅ２は変更の前のオブジェクト枠の位置情報、変更の後のオブジェクト枠の位置情報、目標位置を示す位置情報、および変更の前のレイアウト枠の位置情報を用いて定義される。演算部２０６は、第１の関数と第２の関数との差分として求められる関数を所定の方向（オブジェクト枠のサイズが変更された方向）に関して最小にする位置情報をレイアウト枠が配置されるべき目標位置として決定する。
【００３０】
演算部２０６は、枠Ａに対する目的関数Ｅ１を定める（Ｓ４００６）。枠Ａの位置の変更により張力エネルギーが変化するのは、ページ（テンプレート）の左辺と枠Ａの左辺の間と、枠Ａの右辺と枠Ｂの左辺との間である。枠Ａの最適配置時の左辺位置（レイアウト枠が配置されるべき目標位置）をａ、現在の枠Ａの左辺位置をａ０、枠Ｂの左辺の位置をｂ、枠Ａの幅をＷａとすると、目的関数Ｅ１は（１）式のようになる。
【００３１】
Ｅ１（ａ）＝１／２（ａ０−ａ）２ ＋ １／２（（ａ０＋Ｗａ）−（ａ＋Ｗａ））２
＝（ａ０−ａ）２・・・・（１）
次に、演算部２０６は、オブジェクト枠に対する目的関数Ｅ２を定める（Ｓ４００７）。オブジェクト枠の左辺と枠Ａの右辺の間の張力エネルギーが変化する。写真編集前のオブジェクト枠の左辺の位置をｚ１、編集後の左辺の位置をｚ２とし、レイアウト枠に関するエネルギーとオブジェクト枠に関するエネルギーの重み付けパラメータをλとすれば、目的関数Ｅ２は（２）式のようになる。
【００３２】
Ｅ２（ａ）＝λ／２（（ｚ１−ｚ２）−（ａ０−ａ））２・・・・（２）
重み付けパラメータ（λ）は、レイアウト枠の配置間隔を変更（調整）するためのパラメータである。重み付けパラメータ（λ）の値を変更することによりレイアウト枠の配置間隔、例えば、レイアウト枠の間の余白を大きくしたり、余白を小さくしたり、余白を無くすように、配置間隔を調整することができる。
【００３３】
Ｅ２に関するエネルギーを削減するように枠Ａを移動するので、全体のエネルギーの総和に対する目的関数Ｅは（３）式のようになる。
【００３４】
Ｅ（ａ）＝Ｅ１（ａ）−Ｅ２（ａ）
＝（ａ０−ａ）２ − λ／２（（ｚ１−ｚ２）−（ａ０−ａ））２・・（３）
Ｅ（ａ）のａに関する導関数は以下の（４）式として求められる。
【００３５】
δＥ／δａ＝−（λ＋２）ａ＋（λ＋２）ａ０−λ（ｚ１−ｚ２）・・・・（４）
導関数が０となるａが求める解であるから、（４）式においてδＥ／δａ＝０とすると、以下の（５）式が得られる。
【００３６】
０＝−（λ＋２）ａ＋（λ＋２）ａ０−λ（ｚ１−ｚ２）・・・・（５）
（５）式を解くことで、以下の（６）式が得られる。
【００３７】
ａ＝ａ０−λ（ｚ１−ｚ２）／（λ＋２） ・・・・（６）
ここで、図６と図７によりａ０＝５、ｚ１＝４０、ｚ２＝３７であり、重み付けパラメータをλ＝１（レイアウト枠とオブジェクト枠は同等）とすれば、以下の（７）式のようになる。
【００３８】
ａ＝５−１/３（４０−３７）＝４・・・・（７）
演算部２０６は、以上の（１）〜（７）式を解き、目的関数を満足するａの解を求める（Ｓ４００８）。演算部２０６の演算結果により、レイアウト枠配置部２０２は枠Ａの左辺の位置（テンプレートの左辺からの距離）を「４」に設定して、枠Ａを再配置する（Ｓ４００９）。レイアウト再配置後の状態を図８に示す。
【００３９】
最後に、コンテンツ編集部２０３はユーザにレイアウト再配置の完了を通知して処理を終える（Ｓ４０１０）。
【００４０】
本実施形態では、横方向にのみ移動可能なテンプレート上のレイアウト枠を例に説明したが、レイアウト枠の最適化は縦方向と横方向で独立な目的関数を定義することにより、独立して行うことができる。したがって、任意の方向への移動は、上記と同様の手順で実行可能である。また、複数のレイアウト枠が移動の対象になる場合は、それぞれの枠の位置の関数として目的関数を偏微分することで、やはり独立に処理することが可能であり、上記の説明と同様の手順で最適な配置を計算することができる。
【００４１】
また、以上の説明ではオブジェクト枠に対する目的関数をレイアウト枠との間の長さに基づいて定義したが、ページ端との間の長さに基づいて定義することも可能である。したがって、レイアウト枠が１つのテンプレートに適用した場合でも、ページ（テンプレート）の辺に対する長さに基づいてレイアウト枠を再配置することが可能である。
【００４２】
本実施形態によれば、写真中の被写体の大きさに応じてレイアウトを自動調整することが可能である。具体的には、強調表示したい写真の周りの余白を広げて強調効果を高めるといった最適化を容易に行うことが可能になる。
【００４３】
（第２実施形態）
第１実施形態では写真から抽出されるオブジェクトが１つの場合のみについて説明したが、本発明はこの場合に限定されるものではなく、１つの写真から複数のオブジェクトが抽出可能な場合のオブジェクト枠の設定方法を説明する。
【００４４】
方法１）
方法１では、オブジェクト認識部２０４は、レイアウト枠の内部に複数のオブジェクトを認識した場合に、認識した複数のオブジェクトとレイアウト制御装置に予め登録されているオブジェクトとを照合する。そして、オブジェクト枠設定部２０５は、オブジェクト認識部２０４の照合結果により、予め登録されているオブジェクトに合致したオブジェクトに対してのみオブジェクト枠を設定するものである。本手法は、オブジェクト認識部２０４が顔認識を行う場合に特に効果的である。例えば家族の顔写真をレイアウト制御装置に登録しておくことで、レイアウト変更で考慮するオブジェクトを家族の顔に絞ることが可能となる。
【００４５】
方法２）
方法２は、写真を編集する際に、ユーザにオブジェクト枠を選択させるものである。本レイアウト制御装置はテンプレートに写真を取り込んだ段階でオブジェクトを抽出して、オブジェクト枠を設定している。そこで、コンテンツ編集部２０３は、写真編集のユーザインタフェースにおいて複数のオブジェクト枠をユーザに提示し、ユーザからの選択入力に応じて選択されたオブジェクト枠について写真を編集するようにしてもよい。本手法は、特に写真の移動や縮尺変更を行う場合に効果的である。ユーザは関心のあるオブジェクトのオブジェクト枠をドラッグして写真の移動や拡大縮小の操作を行うことが可能となる。同時に、レイアウト制御装置は写真が編集されたらオブジェクト枠を再設定するが、その際にユーザが選択したオブジェクト枠のみ再設定することで、レイアウト変更で考慮するオブジェクトとユーザが関心のあるオブジェクトを一致させることが可能となる。 
方法３）
方法３は、撮影条件を示す撮影情報がコンテンツに記録されている場合、例えば、写真データにオートフォーカスの合焦位置が記録されている場合に、撮影条件を満たすオブジェクトを選択するものである。一般に、写真を撮影する時はターゲットとなる被写体にフォーカスを合わせる。オブジェクト認識部２０４は、レイアウト枠内に複数のオブジェクトを認識した場合に、レイアウト枠に割り当てられたコンテンツに記録されている撮影条件を示す撮影情報を取得する。そして、オブジェクト枠設定部２０５は、複数のオブジェクトのうち、撮影条件を満たすオブジェクトに対してオブジェクト枠を設定する。撮影条件（例えば、オートフォーカスの合焦位置）を満たすオブジェクト枠を選択することで、ユーザが撮りたかったオブジェクトだけをレイアウト変更で考慮することが可能となる。
【００４６】
方法４）
方法４は、複数のオブジェクト枠を全て包含する最小面積の領域を１つのオブジェクト枠として設定するものである。本手法は、集合写真のように、同じ程度の重要度を持つ複数のオブジェクトが存在する場合に効果的である。オブジェクト認識部２０４はレイアウト枠内に複数のオブジェクトを認識した場合、オブジェクト枠設定部２０５は複数のオブジェクトに対するオブジェクト枠の全てを包含する最小面積の領域をオブジェクト枠として設定する。
【００４７】
上記の方法は、１つのレイアウト制御装置内で実行することが可能である。複数の方法が実行されたレイアウト制御装置において、オブジェクト枠を設定する時に適用する方法を選択するための選択部の構成を含んだ実施形態も本発明に含まれる。選択部は各方法に予め優先順位を設定しておき、優先順位に従って各方法を適用したり、ユーザに選択可能な複数の方法を提示して、ユーザに適用する方法を選択させる手法を用いることができる。
【００４８】
（第３実施形態）
第２実施形態においては、複数のオブジェクト枠を用いる方法について説明したが、拡大表示や移動といった操作を行った場合、一部のオブジェクトがレイアウト枠をはみ出す可能性がある。本実施形態では、レイアウト枠からはみ出たオブジェクト枠をレイアウト枠の再配置で考慮する対象から除外する処理を説明する。図９は第３実施形態におけるレイアウト処理を説明する図であり、図９（ａ）は、写真がレイアウトされたレイアウト枠９０１に複数のオブジェクト枠９０２〜９０５が設定された状態を示している。この状態から、ユーザがこの写真を拡大表示した状態が図９（ｂ）である。９０６は拡大された写真の外枠である。本実施形態でもレイアウト枠の大きさは変更せずに写真をトリミングしてレイアウト枠に合わせて表示する。図９（ｂ）では説明のためにレイアウト枠９０１外に存在するオブジェクト枠（９０３と９０５）も表示してあるが、実際には、オブジェクト枠９０３はレイアウト枠９０１内の部分だけが表示され、レイアウト枠９０１の領域内からはみ出る部分は表示されない。また、レイアウト枠９０１から全てはみ出るオブジェクト枠９０５は表示されない。
【００４９】
オブジェクトがコンテンツ編集部２０３によって編集されたことにより、レイアウト枠からはみ出した場合、演算部２０６は、はみ出したオブジェクト枠の部分を除外して、レイアウト枠の配置位置を決定するための演算処理を行う。演算部２０６は、複数のオブジェクト枠のうち、一つのオブジェクト枠の全てがレイアウト枠からはみ出した場合、はみ出したオブジェクト枠を除外して、レイアウト枠の配置位置（再配置の位置）を決定するための演算処理を行う。
【００５０】
図９（ｂ）の状態で、レイアウト枠の再配置に用いるオブジェクト枠を再設定した結果が図９（ｃ）である。まず、レイアウト枠９０１外にあるオブジェクト枠９０５は除外され、レイアウト枠９０１から一部がはみ出るオブジェクト枠９０３は、レイアウト枠９０１に含まれているオブジェクト枠９０３の部分的なオブジェクト枠９０７に変更される。最終的に、３つのオブジェクト枠９０２、９０４、９０７に対して第２実施形態の方法を適用してレイアウト枠の再配置を行う。これにより、最終的に表示されるオブジェクト枠だけを考慮してレイアウト枠の配置を最適化（再配置）することが可能になる。
【００５１】
（第４実施形態）
以上の実施形態では、レイアウト制御装置が抽出したオブジェクトに対してオブジェクト枠を設定するとしていた。本実施形態では、ユーザが任意の領域をオブジェクト枠として指定する構成を説明する。例えば、オブジェクト認識部２０４がオブジェクトの認識に失敗した場合や、誤認識により不適切な場所にオブジェクト枠が設定されてしまった場合、修正することが望ましい。
【００５２】
本実施形態では、ユーザの操作入力を受け付ける入力部（入力装置１００５）は、オブジェクト枠設定部２０５によって設定されたオブジェクト枠の設定を修正するためのユーザの操作入力を受け付けることが可能である。また、入力部（入力装置１００５）は、オブジェクト枠を新たに設定するための操作入力を受け付けることが可能である。
【００５３】
オブジェクト枠設定部２０５は、入力部（入力装置１００５）を介してオブジェクト枠の設定を修正するための操作入力が受け付けられた場合に、受け付けられた操作入力に従ってオブジェクト枠を修正することが可能である。また、オブジェクト枠設定部２０５は、オブジェクト枠を新たに設定するための操作入力が入力部（入力装置１００５）を介して受け付けられた場合に、操作入力に従ってオブジェクト枠を新たに設定することが可能である。
【００５４】
尚、ユーザが指定可能なオブジェクト枠の数は１つに限定されず、複数であっても良い。本実施形態によれば、オブジェクト認識部２０４による認識結果を修正したオブジェクト枠の指定が可能になる。
【００５５】
（第５実施形態）
以上の実施形態では、オブジェクトの種類は考慮していなかった。本実施形態ではオブジェクトの種類に応じて、オブジェクト枠に対応する目的関数の重み付けパラメータを調整する構成を説明する。例えば、オブジェクト認識部２０４が人物の顔を認識する場合において、同一のオブジェクト（同一人物）が写っていると識別された２枚の写真の間では目的関数の重み付けパラメータを大きくすると、２枚の写真の間の余白を広くするよう調整可能である。演算部２０６は、（２）式の目的関数Ｅ２を定義する際に、オブジェクト認識部２０４によるオブジェクトの種類の認識結果に従い、重み付けパラメータの設定を変更することが可能である。本実施形態によれば、認識されたオブジェクトの種類に応じて、レイアウト枠の配置間隔を変更（調整）することが可能になる。例えば、同じコンテンツ（被写体）の写真が連続している場合、連続する写真の枚数やコンテンツ（被写体）のサイズに応じてレイアウト枠の配置間隔を広げる。これにより同じオブジェクト（被写体）の写真が連続して配置されるという印象を緩和する視覚的な効果が得られる。
【００５６】
（第６実施形態）
以上の実施形態では、先にテンプレートに写真を流し込んでおき、配置された写真を編集した時にレイアウトを再配置する方法について説明した。本実施形態は、テンプレートを作成する際に予めレイアウト枠とオブジェクト枠を定義しておく構成を説明する。予めレイアウト枠とオブジェクト枠とを定義した上で、テンプレートに写真を取り込む際に、オブジェクト認識部２０４は写真からオブジェクトを抽出する。そして、コンテンツ編集部２０３はテンプレートで定義されているオブジェクト枠に適合するように写真を編集する。演算部２０６が目的関数の演算（（１）〜（７）式）を行い、レイアウト枠配置部２０２が演算結果に従って配置処理を実行する。
【００５７】
本実施形態によれば、例えば、好適なレイアウト枠とオブジェクト枠の配置をデザイナーが予めデザインしてテンプレートで定義しておくことが可能となる。それにより、ユーザは写真をテンプレートに流し込むだけで、写真内の被写体の大きさや位置まで調整されたフォトアルバムを作成することが可能となる。
【００５８】
（その他の実施形態）
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【図１】
2013065214.tif 000003
【図２】
2013065214.tif 000004
【図３】
2013065214.tif 000005
【図４】
2013065214.tif 000006
【図５】
2013065214.tif 000007
【図６】
2013065214.tif 000008
【図７】
2013065214.tif 000009
【図８】
2013065214.tif 000010
【図９】
2013065214.tif 000011
【図１０】
2013065214.tif 000012