説明

レイアウト制御装置、レイアウト制御方法およびプログラム

【課題】 コンテンツ中の被写体の位置やサイズなどに応じてレイアウトを変更することで、コンテンツに適したレイアウト制御技術を提供する。
【解決手段】 コンテンツデータを表示するための部分表示領域として複数のレイアウト枠を含むテンプレートと、各レイアウト枠に配置されるコンテンツデータと、を用いて、テンプレートにおけるレイアウト枠の配置位置を制御するレイアウト制御装置は、レイアウト枠へ割り当てられたコンテンツデータから特定のオブジェクトを認識する認識部と、認識されたオブジェクトを囲むオブジェクト枠をレイアウト枠の内部に設定する設定部と、オブジェクトが編集部によって編集されたことにより、オブジェクト枠のサイズが所定の方向に変更された場合に、オブジェクト枠と所定の位置関係が規定されたレイアウト枠の配置位置を変更に応じて決定する演算部と、決定結果に従って、テンプレートにおけるレイアウト枠を配置する配置部と、を備える。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、レイアウト制御装置、レイアウト制御方法およびプログラムに関する。
【背景技術】
【0002】
写真や文字列などのコンテンツを自動的にページ上にレイアウトする技術として、予めテンプレートを設定しておき、テンプレートにコンテンツを流し込む方法など、様々な手法が研究されている。例えば、特許文献1では、コンテンツが配置されるレイアウト枠の相対的な位置関係を規定するために張力エネルギーモデルを用いたレイアウト枠の最適配置手法が提案されている。特に、テンプレートを用いたフォトアルバムの作成に関する技術として、レイアウト枠に配置される写真中の被写体を考慮したレイアウトの最適化手法が提案されている。例えば、特許文献2では、見開きページの折り目に被写体が重ならないように写真をトリミングして被写体の位置をずらして配置する方法が示されている。また特許文献3では、写真内に複数の顔が近くに存在する場合に、それらを包含する領域をクリップして配置する方法が示されている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特登録04065545号公報
【特許文献2】特開2007−012030号公報
【特許文献3】特登録04412552号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
テンプレートはページ内においてレイアウト枠の位置と大きさを規定するものであり、枠のバランスを考慮して作成されている。しかしながら、実際にテンプレートに配置される写真内の被写体の位置や大きさが異なると、同じテンプレートであっても閲覧者に与える印象が変化する。例えば、被写体が大きく写っている写真を並べると見た目の圧迫感が増す。そのような場合には、写真と写真の間の余白を広げて圧迫感を緩和するといった、レイアウトの修正が行われることが望ましい。しかしながら、前述の先行技術は、被写体の位置や大きさに応じてレイアウト枠内での写真の配置を最適化するものであって、レイアウト枠の配置を修正することが考慮されていない点に課題があった。
【課題を解決するための手段】
【0005】
本発明は、テンプレートを用いてコンテンツをレイアウトする際に、コンテンツ中の被写体の位置やサイズなどに応じてレイアウトを変更することで、コンテンツに適したレイアウト制御技術を提供する。
【0006】
本発明の一つの側面にかかるレイアウト制御装置は、コンテンツデータを表示するための部分表示領域として複数のレイアウト枠を含むテンプレートと、各レイアウト枠に配置されるコンテンツデータと、を用いて、前記テンプレートにおける前記レイアウト枠の配置位置を制御するレイアウト制御装置であって、
前記レイアウト枠へ割り当てられたコンテンツデータから特定のオブジェクトを認識する認識手段と、
前記認識手段によって認識された前記オブジェクトを囲むオブジェクト枠を前記レイアウト枠の内部に設定する設定手段と、
前記オブジェクトが編集手段によって編集されたことにより、前記オブジェクト枠のサイズが所定の方向に変更された場合に、前記オブジェクト枠と所定の位置関係が規定された前記レイアウト枠の配置位置を前記変更に応じて決定する演算手段と、
前記演算手段の決定結果に従って、前記テンプレートにおける前記レイアウト枠を配置する配置手段と、を備えることを特徴とする。
【発明の効果】
【0007】
本発明によれば、テンプレートを用いてコンテンツのレイアウトを行う際に、コンテンツ中の被写体の位置やサイズなどに応じてテンプレートのレイアウトを変更することで、コンテンツに適したレイアウト制御が可能になる。
【図面の簡単な説明】
【0008】
【図1】第1実施形態にかかるレイアウト制御の流れを概略的に説明する図。
【図2】第1実施形態にかかるレイアウト制御装置の機能構成を示す図。
【図3】第1実施形態におけるテンプレートを説明する図。
【図4】実施形態にかかるレイアウト制御の流れを説明する図。
【図5】第1実施形態におけるレイアウト枠を説明する図。
【図6】第1実施形態におけるオブジェクト枠を説明する図。
【図7】第1実施形態における写真編集後のオブジェクト枠を説明する図。
【図8】第1実施形態におけるレイアウト変更後のレイアウト枠を説明する図。
【図9】第3実施形態におけるレイアウト枠とオブジェクト枠を説明する図。
【図10】レイアウト制御装置に用いるコンピュータの構成を説明する図。
【発明を実施するための形態】
【0009】
(第1実施形態)
以下、図面を参照しながら本発明の実施形態を説明する。図10は、本実施形態にかかるレイアウト制御装置に用いるコンピュータ(情報処理装置)の概略構成を示す図である。制御部として機能するCPU1001は、OS(Operating System)および各種アプリケーションプログラムを実行し、レイアウト制御装置の各部の制御を行う。ROM1002は、CPU1001が実行するプログラムや演算用のパラメータのうちの固定的なデータを格納する。RAM1003は、CPU1001の作業領域やデータの一時記憶領域を提供する。ROM1002およびRAM1003は、バス1004を介してCPU1001に接続される。キーボードなどの入力装置1005、CRT、液晶ディスプレイなどの表示装置1006、ハードディスク装置、MO、CD−ROM等の記憶装置1007は、インタフェース1008を介してバス1004に接続されている。また、バス1004は通信部1009を介してネットワーク1010と接続される。ネットワーク1010を介して複数のレイアウト制御装置を接続することにより、レイアウト制御システムを構成することも可能である。レイアウト制御装置が他のレイアウト制御装置からコンテンツの配信を受信し、受信したコンテンツに対して、レイアウト処理を行うことも可能である。
【0010】
図2は、レイアウト制御装置の機能構成(モジュール)を示す図である。記憶装置107は、コンテンツデータ(例えば、フォトブックに用いる写真データ)やコンテンツデータをレイアウトするためのテンプレートを記憶する。テンプレートは、コンテンツデータを表示するための部分表示領域として複数のレイアウト枠102〜105(図1)を含む。レイアウト枠配置部202は、レイアウト枠へのコンテンツデータの割当て、テンプレートの定義に基づくレイアウト枠の配置や、写真編集後のレイアウト枠の再配置を行う。コンテンツ編集部203は、ユーザが指定したコンテンツ(以下、「写真」という)のテンプレートへの流し込みと、ユーザの指示に応じて写真の拡大縮小、移動、トリミングなどコンテンツの編集を行う。オブジェクト認識部204は、レイアウト枠へ割り当てられた写真、またはユーザが指定した写真から顔や人物や一般物体など特定のオブジェクト(被写体)を認識(抽出)する。ここで、オブジェクトの認識方法には、画像から特徴点を抽出して学習データとマッチングを取る方法や、画像の領域分割に基づく方法など、種々の方法を用いることができる。オブジェクト枠設定部205は、オブジェクト認識部204が認識したオブジェクトが含まれる領域を囲むオブジェクト枠を導出し、導出したオブジェクト枠をレイアウト枠の内部に設定する。演算部206は、レイアウト枠の辺の位置を設定するために、レイアウト枠の各辺に対して目標関数を定義し、全レイアウト枠の目的関数に対するエネルギーの総和を最小化するような演算処理を行なう。オブジェクトがコンテンツ編集部203によって編集され、オブジェクト枠のサイズが所定の方向に変更された場合に、演算部206はオブジェクト枠と所定の位置関係が規定されたレイアウト枠の配置位置を変更に応じて決定する。そして、レイアウト枠配置部202は、演算部206の決定結果に従って、テンプレートにおけるレイアウト枠の配置位置を制御する。ここで、レイアウト枠やオブジェクト枠の形状について本発明は何ら規定を設けないが、以下では簡単のためいずれも矩形であるものとして説明する。以上のモジュール以外にも、表示や操作のためのユーザインタフェースを提供するモジュールがレイアウト制御装置の機能構成には含まれるが、本発明とは直接関係しないため説明は省略する。
【0011】
第1実施形態にかかるレイアウト制御装置の実施例として、複数の写真のレイアウトによるフォトアルバムの作成について説明する。レイアウト制御装置は、ユーザが指定した写真をテンプレートに流し込んでレイアウトするとともに、ユーザが写真を編集した時にテンプレートのレイアウトを自動で修正することで写真のレイアウトを自動化するものである。
【0012】
図1を参照してレイアウト制御装置で行うレイアウト変更処理の概要を説明する。本処理は、CPU1001により実行される。図1(a)はフォトアルバムの1ページ分のテンプレートであり、外枠101は1ページのテンプレートの全体を表す。レイアウト枠102〜105はレイアウトの対象となるコンテンツデータ(写真)を流し込み、収めるための表示領域である。
【0013】
レイアウト枠102〜105の位置と大きさは可変である。演算部206は、ページの外枠101とレイアウト枠との間の長さ106および、レイアウト枠同士の間の長さ107に基づいた目的関数E1をレイアウト枠の各辺に対して定義する。そして、演算部206は、全レイアウト枠の目的関数に対するエネルギーの総和を最小化するような演算処理を行い、目的関数E1(第1の制約条件)を満足する位置にレイアウト枠の辺の位置を設定する。本実施形態において、目的関数E1は張力エネルギーに関連付けられる。張力エネルギーは、最適配置された時の位置座標と実際の配置位置における位置座標の差の二乗の2分の1であり、演算部206は、全レイアウト枠の目的関数に対するエネルギーの総和を最小化するようなレイアウトを計算する。なお、フォトアルバムは複数のページで構成され得るが、本実施形態では説明を簡単にするためにレイアウトはページ単位で行うものとし、複数のページにまたがるレイアウトは考慮しない。
【0014】
図1(b)は図1(a)のテンプレートに写真を流し込んだ状態を示す図である。各レイアウト枠への写真の割り当てについては、例えば、撮影日時順などの撮影条件や被写体の情報などによって割り当てを行うことが可能である。レイアウト枠に写真を流し込んだら、オブジェクト認識部204は写真内のオブジェクト(被写体)を認識し、オブジェクト枠設定部205は、オブジェクト(被写体)が含まれる被写体領域を囲むオブジェクト枠を設定する。図1(c)に、オブジェクト枠108が設定された状態を示す。ここではレイアウト枠102に配置された写真に対してのみオブジェクト枠を設定しているが、オブジェクト枠設定部205は、他のレイアウト枠に配置された写真に対しても同様にオブジェクト枠を設定することが可能である。
【0015】
次に、演算部206は、オブジェクト枠設定部205によって設定されたオブジェクト枠108と、オブジェクト枠を含まない写真のレイアウト枠103〜105との間の長さに基づいた目的関数E2(第2の制約条件)を定義する。参照番号109はレイアウト枠104とオブジェクト枠108との間の位置関係を定義するための目的関数E2を模式的に示すものである。ここで、目的関数E2は、E1と同様に張力エネルギーに関連付けられるものとする。
【0016】
写真を流し込んだら、ユーザは作成されたフォトアルバムの仕上がりを確認し、問題があれば修正を行う。ここでは、レイアウト枠102の写真の被写体を強調するために被写体部分を拡大表示する場合を例に説明する。本実施形態では写真を拡大してもレイアウト枠の大きさは変更せず、被写体以外の部分をトリミングしてレイアウト枠に合わせて表示する。図1(d)にレイアウト枠102の写真の被写体を拡大した状態を示す。
【0017】
写真が編集されたら、オブジェクト認識部204は、編集後の写真に対して再び被写体の認識を行い、オブジェクト枠設定部205は、オブジェクト枠の設定を行う。図1(e)に、編集後のレイアウト枠102の写真に対するオブジェクト枠110を設定した状態を示す。続いて、レイアウト枠配置部202は、目的関数E1およびE2の演算結果を用いて、テンプレートのレイアウト枠の配置を変更する。すなわち、図1(c)の状態から図1(e)の状態へ変更されたことにより、目的関数E2(109)に関連付けられる張力エネルギーが増大しており、これを相殺する方向にレイアウト枠を移動する。図1(f)が変更後のレイアウトである。この例では、レイアウト枠102の位置を固定し、レイアウト枠104とレイアウト枠105とを左に移動させており、更にレイアウト枠103とレイアウト枠105とを下に移動させている。これにより、ユーザが編集したレイアウト枠102とその他の写真との間の余白が広がって、被写体を拡大表示した視覚的効果を強調することができる。
【0018】
以上のようにして、レイアウト制御装置はレイアウト枠内での被写体の大きさに応じてレイアウト枠の配置を最適化する。なお、上記の説明では1枚の写真に対してのみ被写体を認識した場合で説明したが、複数の写真に対して被写体認識を行った場合も、写真毎に同様の処理を繰り返すことでレイアウト枠の配置を最適化することができる。
【0019】
図3は本実施形態で用いるテンプレートのレイアウト枠の定義を図示したものである。外枠がページ全体を示し、内枠がレイアウト枠を示す。テンプレート上のレイアウト枠の位置と大きさを定義するために、テンプレートの上辺301を起点としたレイアウト枠の上下辺(305、309、306、310)までの長さ(313、315、314、316)を定義する。この定義により、テンプレートの上辺を起点とした上下方向におけるテンプレート上のレイアウト枠の位置関係を定めることができる。レイアウト枠のページの左辺303を起点としたレイアウト枠の左右辺(307、311、308、312)までの長さ(317、319、318、320)を定義する。この定義により、テンプレートの左辺を起点とした横方向におけるテンプレート上のレイアウト枠の位置関係を定めることができる。
【0020】
これに加え、レイアウト枠の大きさの可変範囲とレイアウト枠の位置の可動範囲を定義するために、テンプレートの辺とレイアウト枠の辺との間の制約条件(321〜326)を必要に応じて定義する。更に、一つのレイアウト枠を構成する辺と辺との間の長さを定める制約条件(327、328、330、331)、あるいは、一つのレイアウト枠350と他のレイアウト枠351との間の長さを定める制約条件329を必要に応じて定義する。
【0021】
例えば、制約条件321および制約条件322に『長さ固定』という制約を設けた場合、左側のレイアウト枠350は横方向にのみ位置の変更が可能となる。制約条件327に『下限長=x』という制約を設けた場合、レイアウト枠350の横幅がxより小さく変形することは禁止され、レイアウト枠350の横幅は、レイアウト処理においてx以上の範囲で可変である。
【0022】
図5に示すテンプレート上における2のレイアウト枠のレイアウト処理を、具体的な数値を用いて説明する。説明を簡単にするために、図5に示す例では、横方向の位置の定義のみを示し、縦方向の位置の定義は省略している。テンプレート501の左辺を起点として、左のレイアウト枠502(以下、枠A)の左辺までの長さは5、右辺までの長さは25である。また、テンプレート501の左辺を起点として、右側のレイアウト枠503(以下、枠B)の左辺までの長さは35、右辺までの長さは55である。制約条件として、枠Aと枠Bの横幅は20に固定、枠Bの右辺からテンプレート501の右辺までの長さを5に固定している。テンプレート501の左辺から枠Aの左辺までの長さは0以上、枠Aの右辺と枠Bの左辺の長さは0以上で可変である。テンプレート501において、枠Aの左辺および右辺は左右方向に可変であり、枠Aの左右方向の移動だけが許される。枠Bの横幅は20に固定されているため、枠Bの左辺のみを移動させることはできず、枠Bの左右方向の移動は拘束される。
【0023】
次に、図4のフローチャートを参照してレイアウト処理手順を説明する。
【0024】
まず、コンテンツ編集部203は、写真をレイアウト枠内に配置したらユーザからの編集指示を受け付ける(S4001)。ユーザが編集したい写真を選択して写真編集をレイアウト制御装置に指示すると、オブジェクト認識部204は、指定された写真からオブジェクトを抽出する(S4002)。ここで、オブジェクト認識部204が認識する対象としては、人の顔や人体、建物などが想定され、認識対象に応じた様々な認識手法を用いることができる。本発明は認識手法に限定されるものではなく、いずれの認識手法を本発明の実施形態に適用することは可能である。
【0025】
続いて、オブジェクト枠設定部205は、オブジェクト認識部204が認識したオブジェクトを包含する領域に対応するオブジェクト枠をレイアウト枠の内部に設定する(S4003)。オブジェクト枠の定義方法は、前述のレイアウト枠の定義方法に準じる。すなわち、テンプレートの上辺を起点としたオブジェクト枠の上辺、下辺の位置、およびテンプレートの左辺を起点としたオブジェクト枠の左辺、右辺の位置によって、オブジェクト枠の位置と大きさを定義する。図6はオブジェクト枠を定義した状態を例示的に示す図であり、枠B(テンプレート枠)内の太線で示した枠がオブジェクト枠601である。図6の例では、オブジェクト枠601の左辺の位置がテンプレート610の左辺を起点として距離40の位置にあり、右辺の位置が距離50の位置にあるものとして定義されている。縦方向の位置の定義は図6に図示していないが、テンプレート610の上辺を起点としたオブジェクト枠601の上辺、下辺までの位置によりテンプレート610上におけるオブジェクト枠601の位置と大きさを定義できる。
【0026】
続いて、ユーザの写真編集操作に従って、コンテンツ編集部203は写真の編集を実行する(S4004)。ここでは、写真の縮尺変更とトリミングを行ってオブジェクトの表示サイズを大きくする場合について説明する。縮尺変更やトリミングには既存の手法を用いることができるので説明は省略する。
【0027】
ユーザが写真を編集したら、コンテンツ編集部203はオブジェクト枠設定部205を用いて、編集後の写真に対してオブジェクト枠をレイアウト枠の内部に設定させる(S4005)。ここでは写真の縮尺率の差分とトリミング幅を用いて単純にオブジェクト枠の位置と大きさを再計算する方法を用いるが、オブジェクト認識部204を用いて編集後の写真から再度、オブジェクトを認識することも可能である。図7は、編集後のオブジェクト枠の状態を例示する図であり、変更前のオブジェクト枠601の左辺、右辺の位置(40、50)が、変更後のオブジェクト枠701の左辺、右辺の位置(37、53)に変更されている。
【0028】
オブジェクト枠の再設定に続いて、コンテンツ編集部203はレイアウト枠配置部202を用いて、レイアウト枠の配置位置の修正(再配置)を行う。図5〜図7のテンプレートでは枠Aの横方向の移動が可能であるとしているので、レイアウト枠の修正では枠Aの左辺の位置を再計算すれば、枠Aのテンプレート上における位置を特定することができる。以下に、その計算方法を説明する。
【0029】
オブジェクトがコンテンツ編集部203によって編集されたことにより、オブジェクト枠のサイズが所定の方向に変更された場合、演算部206はオブジェクト枠と所定の位置関係が規定されたレイアウト枠の配置位置を変更に応じて決定する。演算部206は、第1の目的関数(E1)と第2の目的関数(E2)を設定する。第1の目的関数(以下、目的関数E1)は、変更に応じてレイアウト枠が配置されるべき目標位置を示す位置情報と変更の前のレイアウト枠の位置情報とを用いて定義される。第2の目的関数(以下、目的関数E2)は、オブジェクト枠との間で所定の位置関係を規定する。目的関数E2は変更の前のオブジェクト枠の位置情報、変更の後のオブジェクト枠の位置情報、目標位置を示す位置情報、および変更の前のレイアウト枠の位置情報を用いて定義される。演算部206は、第1の関数と第2の関数との差分として求められる関数を所定の方向(オブジェクト枠のサイズが変更された方向)に関して最小にする位置情報をレイアウト枠が配置されるべき目標位置として決定する。
【0030】
演算部206は、枠Aに対する目的関数E1を定める(S4006)。枠Aの位置の変更により張力エネルギーが変化するのは、ページ(テンプレート)の左辺と枠Aの左辺の間と、枠Aの右辺と枠Bの左辺との間である。枠Aの最適配置時の左辺位置(レイアウト枠が配置されるべき目標位置)をa、現在の枠Aの左辺位置をa0、枠Bの左辺の位置をb、枠Aの幅をWaとすると、目的関数E1は(1)式のようになる。
【0031】
E1(a)=1/2(a0−a) + 1/2((a0+Wa)−(a+Wa))
=(a0−a)・・・・(1)
次に、演算部206は、オブジェクト枠に対する目的関数E2を定める(S4007)。オブジェクト枠の左辺と枠Aの右辺の間の張力エネルギーが変化する。写真編集前のオブジェクト枠の左辺の位置をz1、編集後の左辺の位置をz2とし、レイアウト枠に関するエネルギーとオブジェクト枠に関するエネルギーの重み付けパラメータをλとすれば、目的関数E2は(2)式のようになる。
【0032】
E2(a)=λ/2((z1−z2)−(a0−a))・・・・(2)
重み付けパラメータ(λ)は、レイアウト枠の配置間隔を変更(調整)するためのパラメータである。重み付けパラメータ(λ)の値を変更することによりレイアウト枠の配置間隔、例えば、レイアウト枠の間の余白を大きくしたり、余白を小さくしたり、余白を無くすように、配置間隔を調整することができる。
【0033】
E2に関するエネルギーを削減するように枠Aを移動するので、全体のエネルギーの総和に対する目的関数Eは(3)式のようになる。
【0034】
E(a)=E1(a)−E2(a)
=(a0−a) − λ/2((z1−z2)−(a0−a))・・(3)
E(a)のaに関する導関数は以下の(4)式として求められる。
【0035】
δE/δa=−(λ+2)a+(λ+2)a0−λ(z1−z2)・・・・(4)
導関数が0となるaが求める解であるから、(4)式においてδE/δa=0とすると、以下の(5)式が得られる。
【0036】
0=−(λ+2)a+(λ+2)a0−λ(z1−z2)・・・・(5)
(5)式を解くことで、以下の(6)式が得られる。
【0037】
a=a0−λ(z1−z2)/(λ+2) ・・・・(6)
ここで、図6と図7によりa0=5、z1=40、z2=37であり、重み付けパラメータをλ=1(レイアウト枠とオブジェクト枠は同等)とすれば、以下の(7)式のようになる。
【0038】
a=5−1/3(40−37)=4・・・・(7)
演算部206は、以上の(1)〜(7)式を解き、目的関数を満足するaの解を求める(S4008)。演算部206の演算結果により、レイアウト枠配置部202は枠Aの左辺の位置(テンプレートの左辺からの距離)を「4」に設定して、枠Aを再配置する(S4009)。レイアウト再配置後の状態を図8に示す。
【0039】
最後に、コンテンツ編集部203はユーザにレイアウト再配置の完了を通知して処理を終える(S4010)。
【0040】
本実施形態では、横方向にのみ移動可能なテンプレート上のレイアウト枠を例に説明したが、レイアウト枠の最適化は縦方向と横方向で独立な目的関数を定義することにより、独立して行うことができる。したがって、任意の方向への移動は、上記と同様の手順で実行可能である。また、複数のレイアウト枠が移動の対象になる場合は、それぞれの枠の位置の関数として目的関数を偏微分することで、やはり独立に処理することが可能であり、上記の説明と同様の手順で最適な配置を計算することができる。
【0041】
また、以上の説明ではオブジェクト枠に対する目的関数をレイアウト枠との間の長さに基づいて定義したが、ページ端との間の長さに基づいて定義することも可能である。したがって、レイアウト枠が1つのテンプレートに適用した場合でも、ページ(テンプレート)の辺に対する長さに基づいてレイアウト枠を再配置することが可能である。
【0042】
本実施形態によれば、写真中の被写体の大きさに応じてレイアウトを自動調整することが可能である。具体的には、強調表示したい写真の周りの余白を広げて強調効果を高めるといった最適化を容易に行うことが可能になる。
【0043】
(第2実施形態)
第1実施形態では写真から抽出されるオブジェクトが1つの場合のみについて説明したが、本発明はこの場合に限定されるものではなく、1つの写真から複数のオブジェクトが抽出可能な場合のオブジェクト枠の設定方法を説明する。
【0044】
方法1)
方法1では、オブジェクト認識部204は、レイアウト枠の内部に複数のオブジェクトを認識した場合に、認識した複数のオブジェクトとレイアウト制御装置に予め登録されているオブジェクトとを照合する。そして、オブジェクト枠設定部205は、オブジェクト認識部204の照合結果により、予め登録されているオブジェクトに合致したオブジェクトに対してのみオブジェクト枠を設定するものである。本手法は、オブジェクト認識部204が顔認識を行う場合に特に効果的である。例えば家族の顔写真をレイアウト制御装置に登録しておくことで、レイアウト変更で考慮するオブジェクトを家族の顔に絞ることが可能となる。
【0045】
方法2)
方法2は、写真を編集する際に、ユーザにオブジェクト枠を選択させるものである。本レイアウト制御装置はテンプレートに写真を取り込んだ段階でオブジェクトを抽出して、オブジェクト枠を設定している。そこで、コンテンツ編集部203は、写真編集のユーザインタフェースにおいて複数のオブジェクト枠をユーザに提示し、ユーザからの選択入力に応じて選択されたオブジェクト枠について写真を編集するようにしてもよい。本手法は、特に写真の移動や縮尺変更を行う場合に効果的である。ユーザは関心のあるオブジェクトのオブジェクト枠をドラッグして写真の移動や拡大縮小の操作を行うことが可能となる。同時に、レイアウト制御装置は写真が編集されたらオブジェクト枠を再設定するが、その際にユーザが選択したオブジェクト枠のみ再設定することで、レイアウト変更で考慮するオブジェクトとユーザが関心のあるオブジェクトを一致させることが可能となる。
方法3)
方法3は、撮影条件を示す撮影情報がコンテンツに記録されている場合、例えば、写真データにオートフォーカスの合焦位置が記録されている場合に、撮影条件を満たすオブジェクトを選択するものである。一般に、写真を撮影する時はターゲットとなる被写体にフォーカスを合わせる。オブジェクト認識部204は、レイアウト枠内に複数のオブジェクトを認識した場合に、レイアウト枠に割り当てられたコンテンツに記録されている撮影条件を示す撮影情報を取得する。そして、オブジェクト枠設定部205は、複数のオブジェクトのうち、撮影条件を満たすオブジェクトに対してオブジェクト枠を設定する。撮影条件(例えば、オートフォーカスの合焦位置)を満たすオブジェクト枠を選択することで、ユーザが撮りたかったオブジェクトだけをレイアウト変更で考慮することが可能となる。
【0046】
方法4)
方法4は、複数のオブジェクト枠を全て包含する最小面積の領域を1つのオブジェクト枠として設定するものである。本手法は、集合写真のように、同じ程度の重要度を持つ複数のオブジェクトが存在する場合に効果的である。オブジェクト認識部204はレイアウト枠内に複数のオブジェクトを認識した場合、オブジェクト枠設定部205は複数のオブジェクトに対するオブジェクト枠の全てを包含する最小面積の領域をオブジェクト枠として設定する。
【0047】
上記の方法は、1つのレイアウト制御装置内で実行することが可能である。複数の方法が実行されたレイアウト制御装置において、オブジェクト枠を設定する時に適用する方法を選択するための選択部の構成を含んだ実施形態も本発明に含まれる。選択部は各方法に予め優先順位を設定しておき、優先順位に従って各方法を適用したり、ユーザに選択可能な複数の方法を提示して、ユーザに適用する方法を選択させる手法を用いることができる。
【0048】
(第3実施形態)
第2実施形態においては、複数のオブジェクト枠を用いる方法について説明したが、拡大表示や移動といった操作を行った場合、一部のオブジェクトがレイアウト枠をはみ出す可能性がある。本実施形態では、レイアウト枠からはみ出たオブジェクト枠をレイアウト枠の再配置で考慮する対象から除外する処理を説明する。図9は第3実施形態におけるレイアウト処理を説明する図であり、図9(a)は、写真がレイアウトされたレイアウト枠901に複数のオブジェクト枠902〜905が設定された状態を示している。この状態から、ユーザがこの写真を拡大表示した状態が図9(b)である。906は拡大された写真の外枠である。本実施形態でもレイアウト枠の大きさは変更せずに写真をトリミングしてレイアウト枠に合わせて表示する。図9(b)では説明のためにレイアウト枠901外に存在するオブジェクト枠(903と905)も表示してあるが、実際には、オブジェクト枠903はレイアウト枠901内の部分だけが表示され、レイアウト枠901の領域内からはみ出る部分は表示されない。また、レイアウト枠901から全てはみ出るオブジェクト枠905は表示されない。
【0049】
オブジェクトがコンテンツ編集部203によって編集されたことにより、レイアウト枠からはみ出した場合、演算部206は、はみ出したオブジェクト枠の部分を除外して、レイアウト枠の配置位置を決定するための演算処理を行う。演算部206は、複数のオブジェクト枠のうち、一つのオブジェクト枠の全てがレイアウト枠からはみ出した場合、はみ出したオブジェクト枠を除外して、レイアウト枠の配置位置(再配置の位置)を決定するための演算処理を行う。
【0050】
図9(b)の状態で、レイアウト枠の再配置に用いるオブジェクト枠を再設定した結果が図9(c)である。まず、レイアウト枠901外にあるオブジェクト枠905は除外され、レイアウト枠901から一部がはみ出るオブジェクト枠903は、レイアウト枠901に含まれているオブジェクト枠903の部分的なオブジェクト枠907に変更される。最終的に、3つのオブジェクト枠902、904、907に対して第2実施形態の方法を適用してレイアウト枠の再配置を行う。これにより、最終的に表示されるオブジェクト枠だけを考慮してレイアウト枠の配置を最適化(再配置)することが可能になる。
【0051】
(第4実施形態)
以上の実施形態では、レイアウト制御装置が抽出したオブジェクトに対してオブジェクト枠を設定するとしていた。本実施形態では、ユーザが任意の領域をオブジェクト枠として指定する構成を説明する。例えば、オブジェクト認識部204がオブジェクトの認識に失敗した場合や、誤認識により不適切な場所にオブジェクト枠が設定されてしまった場合、修正することが望ましい。
【0052】
本実施形態では、ユーザの操作入力を受け付ける入力部(入力装置1005)は、オブジェクト枠設定部205によって設定されたオブジェクト枠の設定を修正するためのユーザの操作入力を受け付けることが可能である。また、入力部(入力装置1005)は、オブジェクト枠を新たに設定するための操作入力を受け付けることが可能である。
【0053】
オブジェクト枠設定部205は、入力部(入力装置1005)を介してオブジェクト枠の設定を修正するための操作入力が受け付けられた場合に、受け付けられた操作入力に従ってオブジェクト枠を修正することが可能である。また、オブジェクト枠設定部205は、オブジェクト枠を新たに設定するための操作入力が入力部(入力装置1005)を介して受け付けられた場合に、操作入力に従ってオブジェクト枠を新たに設定することが可能である。
【0054】
尚、ユーザが指定可能なオブジェクト枠の数は1つに限定されず、複数であっても良い。本実施形態によれば、オブジェクト認識部204による認識結果を修正したオブジェクト枠の指定が可能になる。
【0055】
(第5実施形態)
以上の実施形態では、オブジェクトの種類は考慮していなかった。本実施形態ではオブジェクトの種類に応じて、オブジェクト枠に対応する目的関数の重み付けパラメータを調整する構成を説明する。例えば、オブジェクト認識部204が人物の顔を認識する場合において、同一のオブジェクト(同一人物)が写っていると識別された2枚の写真の間では目的関数の重み付けパラメータを大きくすると、2枚の写真の間の余白を広くするよう調整可能である。演算部206は、(2)式の目的関数E2を定義する際に、オブジェクト認識部204によるオブジェクトの種類の認識結果に従い、重み付けパラメータの設定を変更することが可能である。本実施形態によれば、認識されたオブジェクトの種類に応じて、レイアウト枠の配置間隔を変更(調整)することが可能になる。例えば、同じコンテンツ(被写体)の写真が連続している場合、連続する写真の枚数やコンテンツ(被写体)のサイズに応じてレイアウト枠の配置間隔を広げる。これにより同じオブジェクト(被写体)の写真が連続して配置されるという印象を緩和する視覚的な効果が得られる。
【0056】
(第6実施形態)
以上の実施形態では、先にテンプレートに写真を流し込んでおき、配置された写真を編集した時にレイアウトを再配置する方法について説明した。本実施形態は、テンプレートを作成する際に予めレイアウト枠とオブジェクト枠を定義しておく構成を説明する。予めレイアウト枠とオブジェクト枠とを定義した上で、テンプレートに写真を取り込む際に、オブジェクト認識部204は写真からオブジェクトを抽出する。そして、コンテンツ編集部203はテンプレートで定義されているオブジェクト枠に適合するように写真を編集する。演算部206が目的関数の演算((1)〜(7)式)を行い、レイアウト枠配置部202が演算結果に従って配置処理を実行する。
【0057】
本実施形態によれば、例えば、好適なレイアウト枠とオブジェクト枠の配置をデザイナーが予めデザインしてテンプレートで定義しておくことが可能となる。それにより、ユーザは写真をテンプレートに流し込むだけで、写真内の被写体の大きさや位置まで調整されたフォトアルバムを作成することが可能となる。
【0058】
(その他の実施形態)
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。

【特許請求の範囲】
【請求項1】
コンテンツデータを表示するための部分表示領域として複数のレイアウト枠を含むテンプレートと、各レイアウト枠に配置されるコンテンツデータと、を用いて、前記テンプレートにおける前記レイアウト枠の配置位置を制御するレイアウト制御装置であって、
前記レイアウト枠へ割り当てられたコンテンツデータから特定のオブジェクトを認識する認識手段と、
前記認識手段によって認識された前記オブジェクトを囲むオブジェクト枠を前記レイアウト枠の内部に設定する設定手段と、
前記オブジェクトが編集手段によって編集されたことにより、前記オブジェクト枠のサイズが所定の方向に変更された場合に、前記オブジェクト枠と所定の位置関係が規定された前記レイアウト枠の配置位置を前記変更に応じて決定する演算手段と、
前記演算手段の決定結果に従って、前記テンプレートにおける前記レイアウト枠の配置位置を制御する配置手段と、
を備えることを特徴とするレイアウト制御装置。
【請求項2】
前記演算手段は、
前記変更に応じて前記レイアウト枠が配置されるべき目標位置を示す位置情報と前記変更の前のレイアウト枠の位置情報とを用いて定義される第1の関数と、
前記オブジェクト枠との間で前記所定の位置関係を規定するために、前記変更の前の前記オブジェクト枠の位置情報、前記変更の後の前記オブジェクト枠の位置情報、前記目標位置を示す位置情報、および前記変更の前のレイアウト枠の位置情報を用いて定義される第2の関数と、を設定し、
前記第1の関数と前記第2の関数との差分として求められる関数を前記方向に関して最小にする位置情報を前記レイアウト枠が配置されるべき目標位置を示す位置情報として決定する
ことを特徴とする請求項1に記載のレイアウト制御装置。
【請求項3】
前記認識手段は、前記レイアウト枠の内部に複数のオブジェクトを認識した場合に、前記複数のオブジェクトと予め登録されているオブジェクトとを照合し、
前記設定手段は、前記認識手段の照合結果により予め登録されているオブジェクトに合致したオブジェクトに対して前記オブジェクト枠を設定することを特徴とする請求項1または2に記載のレイアウト制御装置。
【請求項4】
前記認識手段によって複数のオブジェクトが認識された場合に、前記設定手段は、前記複数のオブジェクトのそれぞれにオブジェクト枠を設定し、
前記編集手段は、前記オブジェクト枠が設定された前記複数のオブジェクトをユーザインタフェースに表示し、ユーザからの選択入力に応じて選択されたオブジェクト枠のオブジェクトについて編集を行うことを特徴とする請求項1または2に記載のレイアウト制御装置。
【請求項5】
前記認識手段は、前記レイアウト枠の内部に複数のオブジェクトを認識した場合に、前記レイアウト枠に割り当てられたコンテンツに記録されている撮影条件を示す撮影情報を取得し、
前記設定手段は、前記複数のオブジェクトのうち、前記撮影条件を満たすオブジェクトに対してオブジェクト枠を設定することを特徴とする請求項1または2に記載のレイアウト制御装置。
【請求項6】
前記認識手段が、前記レイアウト枠の内部に複数のオブジェクトを認識した場合に、前記設定手段は、前記複数のオブジェクトに対するオブジェクト枠の全てを包含する最小面積の領域を1つのオブジェクト枠として設定することを特徴とする請求項1または2に記載のレイアウト制御装置。
【請求項7】
前記オブジェクトが前記編集手段によって編集されたことにより、前記レイアウト枠からはみ出して前記オブジェクト枠のサイズが所定の方向に変更された場合に、前記演算手段は、前記レイアウト枠からはみ出したオブジェクト枠の部分を除外して、前記配置位置を決定するための演算処理を行うことを特徴とする請求項1または2に記載のレイアウト制御装置。
【請求項8】
前記演算手段は、複数のオブジェクト枠のうち、一つのオブジェクト枠の全てが前記レイアウト枠からはみ出る場合、はみ出した前記オブジェクト枠を除外して、前記演算処理を行うことを特徴とする請求項7に記載のレイアウト制御装置。
【請求項9】
ユーザの操作入力を受け付ける入力手段を更に備え、
前記設定手段によって設定された前記オブジェクト枠の設定を修正するための操作入力が前記入力手段を介して受け付けられた場合に、前記設定手段は、前記操作入力に従って前記オブジェクト枠の設定を修正することを特徴とする請求項1または2に記載のレイアウト制御装置。
【請求項10】
オブジェクト枠を新たに設定するための操作入力が前記入力手段を介して受け付けられた場合に、前記設定手段は、前記操作入力に従って前記オブジェクト枠を新たに設定することを特徴とする請求項9に記載のレイアウト制御装置。
【請求項11】
コンテンツデータを表示するための部分表示領域として複数のレイアウト枠を含むテンプレートと、各レイアウト枠に配置されるコンテンツデータと、を用いて、前記テンプレートにおける前記レイアウト枠の配置位置を制御するレイアウト制御装置におけるレイアウト制御方法であって、
前記レイアウト制御装置の認識手段が、前記レイアウト枠へ割り当てられたコンテンツデータから特定のオブジェクトを認識する認識工程と、
前記レイアウト制御装置の設定手段が、前記認識工程で認識された前記オブジェクトを囲むオブジェクト枠を前記レイアウト枠の内部に設定する設定工程と、
前記レイアウト制御装置の演算手段が、前記オブジェクトが編集手段によって編集されたことにより、前記オブジェクト枠のサイズが所定の方向に変更された場合に、前記オブジェクト枠と所定の位置関係が規定された前記レイアウト枠の配置位置を前記変更に応じて決定する演算工程と、
前記レイアウト制御装置の配置手段が、前記演算工程の決定結果に従って、前記テンプレートにおける前記レイアウト枠の配置位置を制御する配置工程と、
を有することを特徴とするレイアウト制御方法。
【請求項12】
前記演算工程は、
前記変更に応じて前記レイアウト枠が配置されるべき目標位置を示す位置情報と前記変更の前のレイアウト枠の位置情報とを用いて定義される第1の関数と、
前記オブジェクト枠との間で前記所定の位置関係を規定するために、前記変更の前の前記オブジェクト枠の位置情報、前記変更の後の前記オブジェクト枠の位置情報、前記目標位置を示す位置情報、および前記変更の前のレイアウト枠の位置情報を用いて定義される第2の関数と、を設定し、
前記第1の関数と前記第2の関数との差分として求められる関数を前記方向に関して最小にする位置情報を前記レイアウト枠が配置されるべき目標位置を示す位置情報として決定する
ことを特徴とする請求項11に記載のレイアウト制御方法。
【請求項13】
コンピュータを、請求項1乃至10のいずれか1項に記載のレイアウト制御装置の各手段として機能させるためのプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate


【公開番号】特開2013−65214(P2013−65214A)
【公開日】平成25年4月11日(2013.4.11)
【国際特許分類】
【出願番号】特願2011−203818(P2011−203818)
【出願日】平成23年9月16日(2011.9.16)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】