(57)【要約】【課題】レイアウトを変更する際の演算コストをより低くすることを目的とする。【解決手段】レイアウト処理装置が、コンテンツの配置が規定されたテンプレートを記憶装置に保持し、記憶装置に保持したテンプレートに従って、複数のコンテンツの各々をレイアウトし、レイアウトした複数のコンテンツに対するレイアウトを編集し、予め定められたレイアウト評価値に基づいて、複数のコンテンツのうちで編集したコンテンツとは異なる他のコンテンツのレイアウトを変更することによって課題を解決する。【選択図】図２
2011141843.tif 000002
【特許請求の範囲】
【請求項１】
コンテンツの配置が規定されたテンプレートを記憶装置に保持するテンプレート保持手段と、
前記記憶装置に保持されたテンプレートに従って、複数のコンテンツの各々をレイアウトするレイアウト手段と、
前記レイアウト手段により行われた前記複数のコンテンツに対するレイアウトを編集するレイアウト編集手段と、
予め定められたレイアウト評価値に基づいて、前記複数のコンテンツのうちで前記レイアウト編集手段により編集されたコンテンツとは異なる他のコンテンツのレイアウトを変更するレイアウト変更手段と、
を有することを特徴とするレイアウト処理装置。
【請求項２】
前記レイアウト変更手段は、前記他のコンテンツのレイアウトを変更したときのレイアウトの評価値が前記レイアウト評価値と同一になるように前記他のコンテンツのレイアウトを変更することを特徴とする請求項１記載のレイアウト処理装置。
【請求項３】
前記レイアウト変更手段は、前記他のコンテンツのアスペクト比を保持しつつ、前記他のコンテンツの位置及びサイズを変更することを特徴とする請求項２記載のレイアウト処理装置。
【請求項４】
前記レイアウト変更手段は、前記他のコンテンツのアスペクト比を変更しないと前記レイアウト評価値を保って前記他のコンテンツのレイアウトを変更できない場合、元のアスペクト比に一番近いアスペクト比となるように前記他のコンテンツのアスペクト比を変更することを特徴とする請求項２記載のレイアウト処理装置。
【請求項５】
前記レイアウト評価値は、優先度が異なる複数種類のレイアウト評価値により構成され、
前記レイアウト変更手段は、前記レイアウト評価値の優先度に基づいて前記他のコンテンツのレイアウトを変更することを特徴とする請求項１記載のレイアウト処理装置。
【請求項６】
前記レイアウト変更手段は、前記他のコンテンツのレイアウトを変更したときのレイアウトの評価値が前記レイアウト評価値よりも低くなる場合、前記他のコンテンツのレイアウトを変更しないことを特徴とする請求項１記載のレイアウト処理装置。
【請求項７】
コンテンツの配置が規定されたテンプレートを記憶装置に保持するテンプレート保持工程と、
前記記憶装置に保持されたテンプレートに従って、複数のコンテンツの各々をレイアウトするレイアウト工程と、
前記レイアウト工程により行われた前記複数のコンテンツに対するレイアウトを編集するレイアウト編集工程と、
予め定められたレイアウト評価値に基づいて、前記複数のコンテンツのうちで前記レイアウト編集工程により編集されたコンテンツとは異なる他のコンテンツのレイアウトを変更するレイアウト変更工程と、
を有することを特徴とするレイアウト処理方法。
【請求項８】
請求項７記載のレイアウト処理方法の各工程をコンピュータにて実施させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、レイアウト処理装置、レイアウト処理方法、及びプログラムに関する。
【背景技術】
【０００２】
指示されたコンテンツ（写真、文字列等）を自動的にレイアウトする技術として、予めテンプレートを設定しておき、当該テンプレートにコンテンツを流し込む方法等、様々な手法が研究されている。
しかしながら、テンプレートの情報だけではサイズの異なるコンテンツをバランスよく配置することが難しい。そこで、コンテンツのバランスをよくする技術として、レイアウトデザインの定量評価と評価結果とに基づくレイアウトバランスの向上技術が知られている。レイアウトデザインの定量評価技術としては、読みやすさや余白の量等の指標に基づき評価する技術が提案されている（例えば、特許文献１参照）。また、コンテンツを微量に動かしながら評価結果がよくなるレイアウトを探索することで、レイアウトバランスを向上させる技術が提案されている（例えば、特許文献２参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００５−５０３５１号公報
【特許文献２】特許第４１９４６４４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献２で提案される手法では、画像位置の偏りが一定値よりも小さくなるレイアウトを求めるために、コンテンツを微量に動かすことを繰り返す。そのため、演算コストが高くなる問題がある。また、コンテンツの移動を線形に行うために、最適解が得られない可能性がある。言い換えると、コンテンツの移動の結果、解として極大となった時点で演算を完了してしまうため、最大となる解を算出できない可能性がある。
【０００５】
本発明はこのような問題点に鑑みなされたもので、レイアウトを変更する際の演算コストをより低くすることを目的とする。
【課題を解決するための手段】
【０００６】
そこで、本発明に係るレイアウト処理装置は、コンテンツの配置が規定されたテンプレートを記憶装置に保持するテンプレート保持手段と、前記記憶装置に保持されたテンプレートに従って、複数のコンテンツの各々をレイアウトするレイアウト手段と、前記レイアウト手段により行われた前記複数のコンテンツに対するレイアウトを編集するレイアウト編集手段と、予め定められたレイアウト評価値に基づいて、前記複数のコンテンツのうちで前記レイアウト編集手段により編集されたコンテンツとは異なる他のコンテンツのレイアウトを変更するレイアウト変更手段と、を有することを特徴とする。
【発明の効果】
【０００７】
本発明によれば、レイアウトを変更する際の演算コストをより低くすることができる。
【図面の簡単な説明】
【０００８】
【図１】レイアウト処理の概要を示す図である。
【図２】レイアウト処理装置の構成を示す図である。
【図３】レイアウト処理装置の全体の処理に係るフローチャートを示す図である。
【図４】テンプレートデータの一例を示す図である。
【図５】レイアウト変更処理に係るフローチャートを示す図である。
【図６】レイアウト変更処理の概要を示す図である。
【図７】バランス評価方法を説明するための図である。
【図８】ページ密度評価方法を説明するための図である。
【図９】垂直対称度評価方法を説明するための図である。
【図１０】水平対称度評価方法を説明するための図である。
【発明を実施するための形態】
【０００９】
以下、本発明の実施形態について図面に基づいて説明する。
【００１０】
＜第１の実施形態＞
はじめに、第１の実施形態の概要について説明する。本実施形態では、フォトアルバム作成システムにおいて、ユーザの編集結果のレイアウトを自動的に変更する。図１を用いて、当該システムの処理の概要を説明する。
図１は、レイアウトの変更に係る動作を説明する概念図である。図１（ａ）には、システムが自動的に作成したフォトアルバムの１ページが示されている。１０１は、ページ全体を示す。１０２、１０３、及び１０４は、写真を示す。当該ページは、ユーザの指示に基づいてシステムにより作成される。より具体的には、ユーザは、フォトアルバムに使用したい写真を選択し、システムに対してフォトアルバムを作成する指示（自動作成依頼）を行うことで、フォトアルバムが作られる。フォトアルバムは、複数ページであってもよいし、単一ページであってもよい。
【００１１】
次に、ユーザは、作成されたフォトアルバムを閲覧し、気に入らない点等がないかを確認する。気に入らない点があり、編集を行いたい場合は、ユーザは、既存のレイアウトアプリケーションと同様の操作により写真の位置やサイズを変更することができる。
図１（ｂ）には、図１（ａ）に対して、ユーザが編集を行った結果が示されている。写真１０２のサイズが大きくなるように編集が行われている。
続いて、ユーザによる編集（編集操作）が終わると、システムによりページ全体のレイアウトが自動的に変更される。ユーザによる編集操作の終わりは、不図示の編集確定ボタンが押されたことにより判断する。すなわち、ユーザにより編集確定ボタンが押されると、システムによりレイアウトが変更される処理（レイアウト変更処理）が行われる。
【００１２】
図１（ｃ）には、レイアウト変更処理の結果が示されている。図１（ａ）のレイアウトが有しているレイアウト評価値と等しくなるように、ユーザによる編集後のレイアウトが変更され、結果として図１（ｃ）のレイアウトが生成される。レイアウト変更処理では、ユーザにより編集された写真１０５以外の写真の位置若しくはサイズ（或いはその両方）が変更される。ユーザによる編集の結果に対して、レイアウト変更処理を適用しないことで、ユーザの意図を反映しつつ、評価値を保つレイアウト処理が実現できるようになる。
ここでは、ページ単位で編集操作を確定させて、レイアウト変更処理を行うこととしているが、複数ページに対して編集操作を行い、当該ページに対して一括でレイアウト変更処理を行うことも可能である。この場合もレイアウト変更処理自体は、ページ単位で行われることになる。
【００１３】
以下では、図２から図１０を用いて、本実施形態の詳細について説明する。
図２は、本実施形態に係るレイアウト処理装置に適用可能な構成を示す図である。図２（Ａ）は、レイアウト処理装置の機能構成の一例を示す図である。
２０１は、ユーザにより指示された写真をテンプレートに基づきレイアウト処理を行うレイアウト部である。テンプレートデータには、予め写真の配置が規定され、使用されるテンプレートデータは、テンプレート保持部２０２により記憶デバイス（後述の記憶装置２０７、ネットワークを介して接続された記憶デバイス等）に保持されている。２０３は、レイアウトの評価を行うレイアウト評価部である。２０４は、ユーザによる入力デバイスの指示（後述の入力装置２０８の指示、ネットワークを介した入力デバイスの指示等）を受け、レイアウトを編集するレイアウト編集部である。２０５は、レイアウト編集部２０４によるレイアウト編集の結果をレイアウト評価部２０３の評価結果に基づいて変更するレイアウト変更部である。
【００１４】
図２（Ｂ）は、レイアウト処理装置のハードウェア構成の一例を示す図である。レイアウト処理装置は、ＣＰＵ（Central Processing Unit）２０６、記憶装置２０７、入力装置２０８、及び出力装置２０９を含んで構成される。なお、各装置は、互いに通信可能に構成され、バス等により接続されている。
ＣＰＵ２０６は、レイアウト処理装置の動作をコントロールし、記憶装置２０７に格納されたプログラムの実行等を行う。記憶装置２０７は、磁気記憶装置、半導体メモリ等のストレージデバイスであり、ＣＰＵ２０６の動作に基づき読み込まれたプログラム、長時間記憶しなくてはならないデータ等を記憶する。本実施形態では、ＣＰＵ２０６が、記憶装置２０７に格納されたプログラムの手順に従って処理を行うことによって、レイアウト処理装置における機能及び後述のフローチャートに係る処理が実現される。入力装置２０８は、マウス、キーボード、タッチパネルデバイス、ボタン等であり、各種の指示を入力する。出力装置２０９は、液晶パネル、外部モニタ等であり、各種の情報を出力する。
なお、レイアウト処理装置のハードウェア構成は、上述した構成に限られるものではない。例えば、レイアウト処理装置は、各種の外部の装置と通信を行うためのＩ／Ｏ装置を含んで構成されてもよい。Ｉ／Ｏ装置は、メモリーカード、ＵＳＢケーブル等の入出力部、有線、無線等による送受信部である。また、例えば、レイアウト処理装置は、Ｉ／Ｏ装置を有することで、入力装置２０８や出力装置２０９を有していなくてもよい。
【００１５】
図３は、レイアウト処理装置の全体の処理に係るフローチャートを示す図である。
ステップＳ３０１０では、レイアウト処理装置は、ユーザによりフォトアルバムとして使用したい写真の選択を受け付ける。
ステップＳ３０２０では、レイアウト処理装置は、ユーザにより指定されるフォトアルバムのページ数を受け付ける。フォトアルバムは、ページ数により課金されるシステムが多いため、ユーザの予算に合わせたフォトアルバム作成サービスが望まれる場合がある。そこで、本実施形態では、ユーザの予算に合わせたフォトアルバム作成サービスとするために、ユーザによりページ数を入力させる仕組みとしたが、写真の数等に基づいてページ数を自動的に決定する手法を用いてもよい。
【００１６】
次に、ステップＳ３０３０では、レイアウト処理装置は、ユーザにより指示された写真及びページ数に基づきフォトアルバムを生成する（フォトアルバムのレイアウト生成処理が行われる）。レイアウト生成処理では、ページ数のテンプレートを記憶装置２０７から取得し、テンプレートに対して写真が流し込まれる。当該処理は、既存のテンプレートを用いた自動レイアウト技術を適用して実現される。なお、テンプレートデータの詳細については、図４を用いて後述する。
ここで、各テンプレートに割り当てられる写真の数は、写真の総数をページ数で割った数として求められる。また、写真を割り当てる順番は、写真がメタデータとして持つ撮影日時の時間順である。なお、本実施形態では、各ページの写真数を単純にページ数で割った数としたが、ページ毎に写真数を変更してもよい。また、写真割り当ての順番についても、時間順ではなく、その他メタデータや認識技術を用いて取得された内容に基づいた順番としてもよい。
【００１７】
続いて、ステップＳ３０４０では、レイアウト処理装置は、ステップＳ３０３０において生成されたレイアウトに対して、ユーザによる編集を受け付ける。ユーザによる編集では、まずユーザにより、生成されたレイアウトの確認が行われる。確認の結果、ユーザが編集を希望する場合は、編集操作を行うことができる。例えば、ある写真の大きさが気に入らない場合、当該写真の大きさを大きくする等の編集操作が可能である。ユーザは、編集が完了した場合、編集完了を示す不図示の編集確定ボタンを押す。
ステップＳ３０５０では、レイアウト処理装置は、ステップＳ３０４０による編集結果のレイアウトに対してレイアウト変更処理を行う。レイアウト変更処理では、レイアウト処理装置が自動生成したレイアウトが有しているレイアウト評価値と等しい評価値となるように各写真の位置若しくはサイズ（或いはその両方）が変更される。レイアウト変更処理の詳細については、図５を用いて後に詳細な説明を行う。
【００１８】
図４は、テンプレートデータの一例であるＸＭＬを示す図である。テンプレートデータは、ｐａｇｅタグ４０１、ａｒｅａタグ４０２、ｓｉｚｅタグ４０３、ａｍタグ４０４、及びｃｏｎｔｅｎｔｓタグ４０５を含んで構成される。ｐａｇｅタグ４０１は、ページ全体の情報を示す。ａｒｅａタグ４０２は、ページ内の領域を示す。ｓｉｚｅタグ４０３は、ページ内の領域のサイズを示す。ａｍタグ４０４は、ページ内の領域に設定されているレイアウト評価値を示す。ｃｏｎｔｅｎｔｓタグ４０５は、ページ内の領域に配置されるコンテンツの情報を示す。
ｐａｇｅタグ４０１は、ページ全体の情報を示すものであり、ページの横幅を示す属性（ｗｉｄｔｈ属性）とページの高さを示す属性（ｈｅｉｇｈｔ属性）を有している。属性値の単位は、ピクセルである。図４に示す例では、ページの高さ及び幅が５００ピクセルであることを示している。ｐａｇｅタグ４０１は、子要素としてａｒｅａタグ４０２を有する。
【００１９】
ａｒｅａタグ４０２は、ページ内の一部の領域を示すものであり、領域を一意に特定するためのｉｄ属性と領域に配置されるデータのタイプを示すｔｙｐｅ属性とを有する。ｔｙｐｅ属性は、ｃｏｎｔｅｎｔｓ若しくはｃｏｍｂｉｎｅｄという値を有する。ｃｏｎｔｅｎｔｓは、当該領域に配置されるデータが写真であることを示している。他方、ｃｏｍｂｉｎｅｄは、当該領域に配置されるデータが領域であることを示している。すなわち、ａｒｅａタグ４０２のｔｙｐｅ属性の値がｃｏｍｂｉｎｅｄである場合には、当該ａｒｅａタグ４０２の子要素として、さらにｃｏｎｔｅｎｔｓタグ４０５を有することを示している。図４に示す例では、ｉｄ属性が１のａｒｅａタグ４０２には、子要素としてｃｏｎｔｅｎｔｓタグ４０５を有することがわかる。また、本実施形態では、ａｒｅａタグ４０２が子要素を有する場合、必ず２つのａｒｅａタグ４０２を有することとする。
【００２０】
ｓｉｚｅタグ４０３は、領域のサイズを示し、ａｒｅａタグ４０２の子要素として存在する。ｓｉｚｅタグ４０３には、領域の位置を示すｘ属性及びｙ属性、領域の高さを示すｈｅｉｇｈｔ属性、並びに領域の幅を示すｗｉｄｔｈ属性が存在する。各属性値の単位は、全てピクセルである。
図４において、ｉｄ属性が１である領域の位置は、（ｘ、ｙ）＝（１００、１００）であり、幅は１００、高さが１００であることがわかる。なお、位置の基準点（原点）は、親要素で定義される領域の左上端である。すなわち、親領域左上端が（ｘ、ｙ）＝（０、０）であり、右に行くほどｘの値が増加し、下に行くほどｙの値が増加する座標系である。また、ａｒｅａタグ４０２で定義される領域のサイズは、子要素の外接矩形となるように定義されている。したがって、子要素を有する場合は、必ず親要素で定義される領域に子要素で定義される領域が内包されることになる。
【００２１】
ａｍタグ４０４は、領域が有するレイアウト評価値の情報を有する。レイアウト評価値としては、複数種類の属性（バランスを示すＢ属性、ページ密度を示すＰＤ属性、垂直対称度を示すＶＳ属性、水平対称度を示すＨＳ属性）が存在する。各レイアウト評価値の詳細については、後に図７から図１０を用いて詳細に説明する。
図４に示す例では、写真を配置可能な領域（写真配置領域）が３つ存在していることが示されている。ｉｄ属性値が３、４、及び５が写真配置領域である。当該領域は、ｔｙｐｅ属性がｃｏｎｔｅｎｔｓであることから、レイアウト処理装置は、写真を配置するための領域であると判断できる。
【００２２】
図３のステップＳ３０３０でのレイアウト生成処理では、以上のテンプレートデータで定義されるａｒｅａタグ４０２内に写真を配置することでレイアウトを生成している。先にも説明したが、当該レイアウト生成処理については、既存のレイアウト技術を用いて実現することが可能であるので、詳細は省略する。
以上説明したテンプレートデータは、予めプロのデザイナにより作成されているものとする。プロのデザイナにより作成されたテンプレートを用いることで、自動的にレイアウトされたフォトアルバムであっても見栄えのよいものを作成することができる。
ここでは、テンプレートデータをプロのデザイナにより予め作成されているものとしたが、入力された写真の数や内容に基づいてテンプレートデータを自動的に作成してもよいし、ユーザが自分で作成してもよい。
【００２３】
次に、図５を用いて、レイアウト変更処理の詳細を説明する。図５は、レイアウト変更処理に係るフローチャートを示す図である。
ステップＳ５０１０では、レイアウト処理装置は、レイアウト編集が行われた領域を特定する。より具体的には、ユーザにより編集された写真がテンプレート上で定義された領域のうちどこに配置されていたものであるのかを特定する。ここでは、ユーザにより編集可能な写真は、１操作あたり１つの写真と限定してある。したがって、レイアウト処理装置は、テンプレート上に定義されている領域のうち、写真が配置される領域として定義されている領域の位置及びサイズと現在の写真の位置及びサイズとを比較することにより判定できる。すなわち、レイアウト処理装置は、現在の写真の位置及びサイズと一致しない領域が特定すべき領域（編集が行われた領域）であると判定する。言い換えると、ステップＳ５０１０の処理では、レイアウト処理装置は、テンプレートのどのａｒｅａタグ４０２で定義された領域で編集が行われたかを特定することができる。
ステップＳ５０２０では、レイアウト処理装置は、ステップＳ５０１０で特定した領域（ａｒｅａタグ４０２で定義される領域）に設定されているレイアウト評価値を取得する。レイアウト評価値の取得処理では、ステップＳ５０１０で特定したａｒｅａタグ４０２の子要素のａｍタグ４０４を探し、ａｍタグ４０４の属性値から各レイアウト評価値を取得する。各レイアウト評価値の詳細については、図７から図１０を用いて後述する。
【００２４】
ステップＳ５０３０では、レイアウト処理装置は、レイアウト編集が行われた領域がどのように変更されたかを特定する。前述したように、テンプレートでは、ある領域は、子要素で定義される領域の外接矩形である。ここでは、レイアウト処理装置は、編集操作により変化があった領域の親要素をレイアウト変更の基準領域として設定する。そして、レイアウト処理装置は、基準領域の位置及びサイズを編集内容に基づいて変更する。より具体的には、レイアウト処理装置は、編集結果の領域を外接矩形とするような領域として位置及びサイズを算出する。例えば、レイアウト処理装置は、領域Ａの子要素の領域に配置されていた写真の位置及びサイズが変更された場合、領域Ａの位置及びサイズを編集された写真の外接矩形となるように再定義する。
より具体的には、領域Ａのサイズが（Ｈ、Ｗ）＝（３００、１５０）であり、領域Ａの子要素の領域に配置されている写真が２つある場合を例に挙げて説明する。写真１は、（Ｈ、Ｗ）＝（１００、１５０）、（ｘ、ｙ）＝（０、０）、写真２は、（Ｈ、Ｗ）＝（１００、１００）、（ｘ、ｙ）＝（２５、２００）とする。位置は、領域Ａの左上を原点としている。このレイアウトに対して、ユーザが写真１に対して編集を行い、（Ｈ、Ｗ）＝（１５０、２００）、（ｘ、ｙ）＝（０、０）とした場合、領域Ａは、編集された写真１と編集されていない写真２の外接矩形として算出される。この場合、領域Ａは、結果として（Ｈ、Ｗ）＝（３５０、２００）となる。
【００２５】
ステップＳ５０４０では、レイアウト処理装置は、ステップＳ５０３０で算出した領域のサイズとステップＳ５０２０で取得したレイアウト評価値に基づいて、方程式を作成する。方程式作成処理では、レイアウト処理装置は、図７から図１０で説明する評価値算出式に対して、ステップＳ５０３０で算出した領域のサイズとステップＳ５０２０で取得したレイアウト評価値と現在の写真の位置及びサイズとを用いる。ステップＳ５０２０で取得したレイアウト評価値がバランス１．００、ページ密度０．５６、垂直対称度１．００、水平対称度０．８０である場合を考える。領域の位置及びサイズ、並びに領域にレイアウトされている写真は、ステップＳ５０３０で用いた例と同様とする。ユーザにより編集された写真の位置及びサイズは、固定値であり、編集されていない写真の位置及びサイズを変数とすると、ページ密度に関して以下のような数式が成り立つ。
【００２６】
【数１】
2011141843.tif 000003
【００２７】
レイアウト処理装置は、他の評価項目（バランス、垂直対称度、水平対称度）についても同様に数式を作ることができる。
ステップＳ５０５０では、レイアウト処理装置は、ステップＳ５０４０で立てた方程式を解き、ユーザ編集が行われていない写真の位置及びサイズを算出する。算出結果は、写真の位置及びサイズの情報として再設定される。元の位置及びサイズの情報は、記憶装置２０７等に保持される。
【００２８】
ステップＳ５０６０では、レイアウト処理装置は、ステップＳ５０５０で解を求めることができたか否かを判定する。より具体的には、方程式を解いた結果、矛盾する解となっているか否かを判定する。例えば、ステップＳ５０４０で用いた数値を使った、バランスに関した方程式は、以下のように表される。なお、写真２の重心のＸ座標は、垂直対称度が１．０であるので、１００と求めることができる。
【００２９】
【数２】
2011141843.tif 000004
【００３０】
ここで、式（１）を解くと、写真２の面積は、９２００と求めることができる。他方、式（２）を解くと、写真２の重心のＹ座標は、２７５と求めることができる。そして、写真２の面積は、水平対称度が０．８であるので、２００００と求めることができる。当該２つの式の解は、お互いに矛盾した値であり、レイアウト処理装置は、ステップＳ５０４０で立てた数式が解けないと判定する。判定の結果、方程式が解けていないと判定した場合は、レイアウト処理装置は、ステップＳ５０７０の処理を行う。他方、方程式が解けていると判定した場合は、レイアウト処理装置は、ステップＳ５０８０の処理を行う。
ステップＳ５０７０では、レイアウト処理装置は、数式の優先度を変更する。より具体的には、レイアウト処理装置は、ステップＳ５０６０において、矛盾が生じていると判断された方程式の評価項目のレイアウト評価値に基づき、優先度変更処理を行う。より詳細に説明すると、解に矛盾が生じた場合、レイアウト処理装置は、レイアウト評価値の低い評価項目を算出する方程式を無視する。
例えば、上述の例では、式（１）と式（２）とで解に矛盾が生じた。式（１）は、ページ密度を求める数式であり、式（２）は、バランスを求める数式であり、ページ密度は０．５６、バランスは１．００である。ここで、評価項目のバランスの方が高評価値であるため、ページ密度に基づく方程式は無視することとする。方程式を無視する設定を行った後、ステップＳ５０５０へ移行して、再度方程式の解を求める処理を行う。このように、レイアウト評価値の高低に基づいて数式の優先度を設定することで、元のレイアウトにおいて高評価であった項目で表現されるデザインを保持することができる。
【００３１】
ステップＳ５０８０では、レイアウト処理装置は、ステップＳ５０５０で求めた解に基づくレイアウト評価値を算出する。ステップＳ５０５０では、ユーザ編集が行われなかった写真の位置及びサイズが算出される。レイアウト処理装置は、当該情報を用いて、写真のレイアウトを行った結果の評価値を算出する。評価値の算出方法については、図７から図１０を用いて後述する。
ステップＳ５０９０では、レイアウト処理装置は、ステップＳ５０８０で算出した変更後のレイアウト評価値と元のレイアウト評価値（テンプレートに設定されていたレイアウト評価値）とを比較する。比較の結果、元のレイアウトよりも評価値が下がっている場合、レイアウト処理装置は、ステップＳ５１００の処理を行う。他方、元のレイアウト評価値と同じ若しくは上がっている場合、レイアウト処理装置は、ステップＳ５１１０の処理を行う。
【００３２】
ステップＳ５１００では、レイアウト処理装置は、ステップＳ５０５０で求めた解をリセットする。レイアウト処理装置は、レイアウト評価値が下がっているため、レイアウト変更処理が行われない設定を行う。より具体的には、レイアウト処理装置は、元のレイアウトの写真の位置及びサイズに設定する。この処理によって、レイアウト変更により、評価値が下がるレイアウトが生成されることを避けることができる。
ステップＳ５１１０では、レイアウト処理装置は、写真が設定されている位置及びサイズに従いレイアウトする。ステップＳ５０５０での算出結果によっては、写真のアスペクト比が異なるサイズとして算出される場合がある。この場合、レイアウト処理装置は、写真に対して算出結果にフィットするように変倍処理を行って配置する。なお、レイアウト処理装置は、写真のアスペクト比を変更しないとレイアウト評価値を保って写真のレイアウトを変更できない場合、元のアスペクト比に一番近いアスペクト比となるように写真のアスペクト比を変更してもよい。
ここでは、写真に対して変倍処理を行ったが、クリッピング処理を用いてもよい。写真中のオブジェクト認識の結果を利用して、認識結果のオブジェクトを残すようにクリッピングすることで、重要オブジェクトを分断する形でクリッピングされることを避けることができる。
【００３３】
ステップＳ５１２０では、レイアウト処理装置は、現在レイアウト変更を行っていた領域に親領域が存在するか確認する。より具体的には、レイアウト処理装置は、ステップＳ５０１０で特定した領域に親領域が存在するか判定する。判定処理では、テンプレートデータを用いて、処理を行っていたａｒｅａタグ４０２の親要素としてａｒｅａタグ４０２が存在するか否かを判定する。判定の結果、親領域が存在すると判定した場合は、レイアウト処理装置は、ステップＳ５０１０にて、親領域を特定する。この場合、レイアウト処理装置は、処理を行っていた領域を新たな編集された領域として扱うこととする。判定の結果、親領域が存在しないと判定した場合は、処理を終了する。
このように、親領域が存在しなくなるまで、上述の処理を繰り返すことで、ページ全体に対するレイアウト変更を実現する。また、ユーザ編集により影響を受けない写真に対するレイアウト処理を行う必要がなくなるため、演算コストを抑えることができるようになる。
また、本実施形態では、テンプレートに定義される領域の親子関係として、親の子要素は必ず２つ（子を持たない要素の場合は除く）としたため、レイアウト変更処理のための演算対象が限定できる。したがって、演算コストを抑えることができるとともに、方程式の解が最大ではなく極大となることを防ぐことができ、ユーザの編集に対して最も適切なレイアウト変更処理が可能になる。
【００３４】
図６は、図５を用いて説明したレイアウト変更の処理の概要を示す図である。図６（ａ）は、ユーザ編集が行われたレイアウトの結果である。図６（ｂ）は、ユーザ編集に係る写真を含む領域に対するレイアウト変更を行った結果である。図６（ｃ）は、図６（ｂ）の結果を用いて、より上位階層の領域に対してレイアウト変更を続け、ルート階層までレイアウト変更処理を行った結果である（すなわち、最終的なレイアウト変更結果）。
【００３５】
続いて、レイアウト評価値の算出方法について詳細な説明を行う。レイアウトデザインの評価値は、以下に説明する方式により算出する。レイアウトデザインの評価値は、０から１の値であり、０が評価値として最低である（評価が低い）こと、１が評価値として最高である（評価が高い）ことを示す。１に近づくほど評価結果として高くなっている。
また、レイアウト評価値は、バランス（Ｂ）、ページ密度（ＰＤ）、垂直対称度（ＶＳ）、及び水平対称度（ＨＳ）から構成されている。各評価手法について、以下、詳細に説明を行う。
図７は、レイアウト評価値の１項目であるバランスの算出式（ａ）と概念図（ｂ）とを示している。バランスは、ある領域におけるオブジェクトの配置バランスを示している。本実施形態では、テンプレートデータのａｒｅａ属性で定義される領域内での写真の配置バランスを示す値である。
より具体的には、図７（ａ）に示すように、バランスは、「領域内に配置されたオブジェクトの重心（安定重心）と領域中心（領域の幾何的中心）との距離」、「領域のコーナと領域中心との距離」に基づき算出される。写真（オブジェクト）が２つ存在する場合の概念図を図７（ｂ）に示す。
【００３６】
図８は、レイアウト評価値の１項目であるページ密度の算出式（ａ）と概念図（ｂ）とを示している。ページ密度は、ある領域においてオブジェクトが占める割合を示している。本実施形態では、テンプレートデータのａｒｅａ属性で定義される領域内に配置された写真が占める領域の割合を示す。図８（ａ）に算出式を示す。ページ密度が「オブジェクトの領域総和」と「領域総和」とに基づき算出されることが示されている。ページ密度の概念図を図８（ｂ）に示す。領域８０１（黒く塗りつぶされた領域）が写真（オブジェクト）である。
図９は、レイアウト評価値の１項目である垂直対称度の算出式（ａ）と概念図（ｂ）とを示している。垂直対称度は、ある領域を縦半分に分割して重ね合わせたときに、オブジェクトが重なる割合を示している。本実施形態では、テンプレートデータのａｒｅａ属性で定義される領域を縦半分に分割して重ねたときに、当該領域に配置された写真が占める割合を示している。図９（ａ）に算出式を示す。垂直対称度は、「オーバラップするオブジェクトの領域総和」と「オブジェクトの領域総和」とに基づいて算出されることが示されている。垂直対称度の概念を図９（ｂ）に示す。領域９０１（斜線で示される領域）が縦半分に分割した場合に写真（オブジェクト）が重なる領域を示している。
【００３７】
図１０は、レイアウト評価値の１項目である水平対称度の算出式（ａ）と概念図（ｂ）とを示している。水平対称度は、垂直対称度と同様に、ある領域を横半分に分割して重ね合わせたときに、オブジェクトが重なる割合を示している。本実施形態では、テンプレートデータのａｒｅａ属性で定義される領域を横半分に分割して重ねたときに、当該領域に配置された写真の占める割合を示している。
図１０（ａ）に算出式を示す。内容は、垂直対称度と同様であり、縦半分ではなく、横半分に分割して重ねた場合という点のみが異なっている。図１０（ｂ）に水平対称度の概念図を示す。領域を横半分に分割した場合に、写真（オブジェクト）が重なる領域が領域１００１（斜線で示される領域）で示されている。
ここでは、レイアウトデザインの評価値は、０が悪く、１に近づくにつれて良くなり、１が一番良いと説明したが、レイアウトデザインの評価値自体は、レイアウトデザインを特徴づける値でもある。レイアウトデザインは好みによるところも否定できないため、あえてバランスを崩す、ということがデザイン上あり得る。すなわち、全ての評価項目において評価値が１となる結果だけが良いレイアウトではなく、評価値が１でない場合もレイアウトとして一定の価値があるといえる。なお、本実施形態では、プロのデザイナのデザインしたレイアウトが有する評価値を保つようにレイアウト変更することでプロのデザイナのデザイン性を維持したレイアウト変更を可能にしている。
【００３８】
以上説明したように、第１の実施形態によれば、ユーザにより編集されたコンテンツのレイアウトを変更せずに、テンプレート上の評価値と同一となるように他のコンテンツ（ユーザにより編集されていないコンテンツ）を変更する。コンテンツの変更が可能な条件を限定することで、演算コストが低く、ユーザの意図を反映したレイアウト変更を実現できる。
【００３９】
＜第２の実施形態＞
第２の実施形態では、レイアウト変更前の評価値は考えず、評価値を最大化するレイアウト変更処理を採用する。第１の実施形態において、評価値としてテンプレートに設定されている値を用いたが、全ての評価値を１として方程式を立てて計算を行う。すなわち、図５におけるフローチャートにおいて、方程式の作成の処理として上述の方法とする。その他処理については、第１の実施形態と基本的に同様である。
以上説明したように、第２の実施形態によれば、ユーザにより編集されたコンテンツのレイアウトを変更せずに、テンプレート上の評価値が最大となるように他のコンテンツ（ユーザにより編集されていないコンテンツ）を変更する。当該処理により、ユーザの編集意図を反映したレイアウト品質のデザインが高いレイアウトを自動的に生成することができる。
【００４０】
＜その他の実施形態＞
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（又はＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【００４１】
上述した実施形態の構成によれば、レイアウトを変更する際の演算コストをより低くすることができる。
【００４２】
以上、本発明の好ましい実施形態について詳述したが、本発明は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【符号の説明】
【００４３】
２０１  レイアウト部、２０２  テンプレート保持部、２０３  レイアウト評価部、２０４  レイアウト編集部、２０５  レイアウト変更部
【図１】
2011141843.tif 000005
【図２】
2011141843.tif 000006
【図３】
2011141843.tif 000007
【図４】
2011141843.tif 000008
【図５】
2011141843.tif 000009
【図６】
2011141843.tif 000010
【図７】
2011141843.tif 000011
【図８】
2011141843.tif 000012
【図９】
2011141843.tif 000013
【図１０】
2011141843.tif 000014