(57)【要約】【課題】入力されるデータに従ってテンプレートの配置を変更できるようにして、レイアウトを行う際にテンプレートを作成する処理の負担を軽減できるようにする。【解決手段】コンテンツデータに従って、配置方向として複数の部分領域を縦方向に並べて配置するか、横方向に並べて配置するようにすることで、ユーザが予め用意するテンプレート数を減少させることを可能にする。【選択図】図６
2008177689.tif 000002
【特許請求の範囲】
【請求項１】
コンテンツデータを配置可能な複数の部分領域が設定されたテンプレートを生成する情報処理装置であって、
前記複数の部分領域を相互に関連付ける第１設定手段と、
前記第１設定手段によって相互に関連付けられた複数の部分領域に入力されるコンテンツデータに基づいて、配置方向として前記複数の部分領域を縦方向に並べて配置するか、または前記複数の部分領域を横方向に並べて配置するかを決定する決定手段と、
前記決定手段によって決定された配置方向に前記複数の部分領域を配置する配置手段と、
前記配置手段によって配置された各々の部分領域に前記コンテンツデータを入力する入力手段と、
前記入力手段によってコンテンツデータが入力された前記複数の部分領域を出力する出力手段とを有することを特徴とする情報処理装置。
【請求項２】
前記決定手段は、前記複数の部分領域に横長のイメージが入力される場合、前記複数の部分領域を縦方向に並べて配置し、前記複数の部分領域に縦長のイメージが入力される場合、前記複数の部分領域を横方向に並べて配置するように決定することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記第１設定手段は、前記複数の部分領域のそれぞれに優先順位を設定する第２設定手段を更に有し、
前記決定手段は、前記第２設定手段によって設定された優先順位に従って優先的に処理すべき部分領域に入力されるコンテンツデータが縦長のイメージであり、且つ非優先的に処理すべき部分領域に入力されるコンテンツデータが横長のイメージである場合は、前記複数の部分領域を横方向に並べて配置するように決定し、一方、前記第２設定手段によって設定された優先順位に従って優先的に処理すべき部分領域に入力されるコンテンツデータが横長のイメージであり、且つ非優先的に処理すべき部分領域に入力されるコンテンツデータが縦長のイメージである場合は、前記複数の部分領域を縦方向に並べて配置するように決定することを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記テンプレートに含まれる第１の部分領域に入力される第１コンテンツデータが縦長のイメージであり、且つ、第２の部分領域に入力される第２コンテンツデータが横長のイメージである場合、前記第１および第２の部分領域が縦方向に並べられたテンプレートに第１および第２コンテンツデータを入力することによって必要となる第１および第２コンテンツデータのサイズ変化量と、前記第１および第２の部分領域が横方向に並べられたテンプレートに第１および第２コンテンツデータを入力することによって必要となる第１および第２コンテンツデータのサイズ変化量とを比較する比較手段を更に有し、
前記決定手段は、前記比較手段による比較結果に基づいて、サイズ変化量が小さくなる方向に第１および第２の部分領域を並べることを決定することを特徴とする請求項２に記載の情報処理装置。
【請求項５】
前記第１設定手段は、前記複数の部分領域に入力されるコンテンツデータに従って前記複数の部分領域の配置方向が変化する属性を設定し、
前記決定手段は、前記属性が設定された場合、複数の部分領域の配置方向を決定することを特徴とする請求項１乃至４のいずれか１項に記載の情報処理装置。
【請求項６】
前記第１設定手段は、前記属性を複数の部分領域を関連付けるリンクを設定し、
前記決定手段は、前記属性が前記リンクに対して設定された場合、複数の部分領域の配置方向を決定することを特徴とする請求項５に記載の情報処理装置。
【請求項７】
コンテンツデータを配置可能な複数の部分領域が設定されたテンプレートを生成する情報処理方法であって、
前記複数の部分領域を相互に関連付ける第１設定工程と、
前記第１設定工程において相互に関連付けられた複数の部分領域に入力されるコンテンツデータに基づいて、配置方向として前記複数の部分領域を縦方向に並べて配置するか、または前記複数の部分領域を横方向に並べて配置するかを決定する決定工程と、
前記決定工程において決定された配置方向に前記複数の部分領域を配置する配置工程と、
前記配置工程において配置された各々の部分領域に前記コンテンツデータを入力する入力工程と、
前記入力工程においてコンテンツデータが入力された前記複数の部分領域を出力する出力工程とを有することを特徴とする情報処理方法。
【請求項８】
前記決定工程においては、前記複数の部分領域に横長のイメージが入力される場合、前記複数の部分領域を縦方向に並べて配置し、前記複数の部分領域に縦長のイメージが入力される場合、前記複数の部分領域を横方向に並べて配置するように決定することを特徴とする請求項７に記載の情報処理方法。
【請求項９】
前記第１設定工程においては、前記複数の部分領域のそれぞれに優先順位を設定する第２設定工程を更に有し、
前記決定工程においては、前記第２設定工程において設定された優先順位に従って優先的に処理すべき部分領域に入力されるコンテンツデータが縦長のイメージであり、且つ非優先的に処理すべき部分領域に入力されるコンテンツデータが横長のイメージである場合は、前記複数の部分領域を横方向に並べて配置するように決定し、一方、前記第２設定工程において設定された優先順位に従って優先的に処理すべき部分領域に入力されるコンテンツデータが横長のイメージであり、且つ非優先的に処理すべき部分領域に入力されるコンテンツデータが縦長のイメージである場合は、前記複数の部分領域を縦方向に並べて配置するように決定することを特徴とする請求項８に記載の情報処理方法。
【請求項１０】
前記テンプレートに含まれる第１の部分領域に入力される第１コンテンツデータが縦長のイメージであり、且つ、第２の部分領域に入力される第２コンテンツデータが横長のイメージである場合、前記第１および第２の部分領域が縦方向に並べられたテンプレートに第１および第２コンテンツデータを入力することによって必要となる第１および第２コンテンツデータのサイズ変化量と、前記第１および第２の部分領域が横方向に並べられたテンプレートに第１および第２コンテンツデータを入力することによって必要となる第１および第２コンテンツデータのサイズ変化量とを比較する比較工程を更に有し、
前記決定工程においては、前記比較工程における比較結果に基づいて、サイズ変化量が小さくなる方向に第１および第２の部分領域を並べることを決定することを特徴とする請求項８に記載の情報処理方法。
【請求項１１】
前記第１設定工程においては、前記複数の部分領域に入力されるコンテンツデータに従って前記複数の部分領域の配置方向が変化する属性を設定し、
前記決定工程においては、前記属性が設定された場合、複数の部分領域の配置方向を決定することを特徴とする請求項７乃至１０のいずれか１項に記載の情報処理方法。
【請求項１２】
前記第１設定工程においては、前記属性を複数の部分領域を関連付けるリンクを設定し、
前記決定工程においては、前記属性が前記リンクに対して設定された場合、複数の部分領域の配置方向を決定することを特徴とする請求項１１に記載の情報処理方法。
【請求項１３】
コンテンツデータを配置可能な複数の部分領域が設定されたテンプレートを生成する工程をコンピュータに実行させるプログラムであって、
前記複数の部分領域を相互に関連付ける第１設定工程と、
前記第１設定工程において相互に関連付けられた複数の部分領域に入力されるコンテンツデータに基づいて、配置方向として前記複数の部分領域を縦方向に並べて配置するか、または前記複数の部分領域を横方向に並べて配置するかを決定する決定工程と、
前記決定工程において決定された配置方向に前記複数の部分領域を配置する配置工程と、
前記配置工程において配置された各々の部分領域に前記コンテンツデータを入力する入力工程と、
前記入力工程においてコンテンツデータが入力された前記複数の部分領域を出力する出力工程とをコンピュータに実行させることを特徴とするプログラム。
【請求項１４】
請求項１３に記載のプログラムを記憶したことを特徴とするコンピュータ読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は情報処理装置及び情報処理方法に関し、特に、異なる量のコンテンツを顧客毎に最適にレイアウトするために用いて好適な技術に関する。
【背景技術】
【０００２】
近年、商品の多品種化で商品ライフが短くなっている。これはにより、インターネット利用の普及による消費者のカスタマイズサービス指向などの要因からCRM（Customer Relationship Management）、One-to-Oneマーケティングの必要性が注目されている。これらの手法は、顧客満足度を高めることを目標とし、顧客の開拓や囲い込みを目指すものである。
【０００３】
One-to-Oneマーケティングは、データベース・マーケティングの一種であり、顧客の年齢、性別、趣味、嗜好、購買履歴等の個人属性情報をデータベース化する。そして、その内容を分析することにより、顧客のニーズに合った提案を行うようにするものであり、代表的な手法としてバリアブルプリントが挙げられる。
【０００４】
また、ここ最近ではDTP（デスクトップパブリッシング）技術の進展とデジタル印刷装置の普及に伴って、文書を顧客毎にカスタマイズして出力するバリアブルプリントシステムが開発された。そして、異なる量のコンテンツを顧客毎に最適にレイアウトすることが求められるようになった。
【０００５】
従来、バリアブルプリントシステムは、ドキュメントテンプレート上にコンテナ等によりレイアウトを作成し、データベースとレイアウトとを関連付けることにより達成していた。しかし、テキスト及びイメージのコンテナのサイズが固定であったため、データベース内のデータがコンテナに挿入されたときに、データ量がコンテナサイズより多いとテキストのオーバーラップ及びイメージのクリッピングが発生する問題点があった。また、データ量がコンテナサイズより小さいと隙間が空いてしまうという問題点があった。
【０００６】
前述の問題点を解決するために、自動レイアウトシステムが提案されている。前記自動レイアウトシステムは、テキスト及びイメージのコンテナサイズを可変に設定することが可能である。この自動レイアウトシステムは、コンテナのサイズを可変とし、差し込まれるデータ量に応じてコンテナのサイズを変更する。
【０００７】
また、テキストの場合において、固定のコンテナサイズ内に入りきらないデータが挿入された場合、テキストのフォントサイズを縮小し、コンテナ内に全てのテキストを表示する技術なども存在する。
【０００８】
しかし、コンテナのサイズが大きくなった場合、同じドキュメント上の他のコンテナに重なってしまう問題が発生する。また、フォントサイズを調節する場合はテキストの量が大きい場合、フォントサイズが小さくなりすぎる問題が発生する。
【０００９】
それらの問題点を解決するための更なる自動レイアウトの技術としては、あるコンテナのサイズが大きくなった場合、隣接したコンテナのサイズを小さくする技術が特許文献１の「レイアウトデザイン装置」に開示されている。
【００１０】
また、特許文献２に記載されているテンプレート切り替えの技術では、自動レイアウトの表現方法をさらに拡張するべく、複数のテンプレートを用意しておく。そして、特許文献２には、入力対象となるデータ等の条件に応じて、当該データを入力するテンプレートを複数のテンプレートから選択する方法が開示されている。
【００１１】
【特許文献１】特開平７−１２９６５８号公報
【特許文献２】特開２００６−４８５３３号公報
【発明の開示】
【発明が解決しようとする課題】
【００１２】
しかしながら、前述した従来の特許文献２に記載された発明では、複数のテンプレートを用意しなければならず、テンプレートの作成処理がユーザの負担となっていた。
【００１３】
たとえば、縦長のイメージデータが入力されることを想定すると、縦長用のテンプレートを作成しなければならず、横長のイメージデータが入力されることを想定すると、横長用のテンプレートを作成しなければならない。特に前述したバリアブルプリントでは、数千から数万という膨大な種類のデータが入力対象となるため、入力対象となる全種類のデータに対応すべく複数種類のテンプレートを予め用意することは、ユーザに大きな負担となる可能性があった。
本発明は前述の課題に鑑みてなされたものであり、入力されるデータに従ってテンプレートの配置を変更することで、レイアウトを行う際にテンプレートを作成する処理の負担を軽減できるようにすることを目的とする。
【課題を解決するための手段】
【００１４】
本発明の情報処理装置は、コンテンツデータを配置可能な複数の部分領域が設定されたテンプレートを生成する情報処理装置であって、前記複数の部分領域を相互に関連付ける第１設定手段と、前記第１設定手段によって相互に関連付けられた複数の部分領域に入力されるコンテンツデータに基づいて、配置方向として前記複数の部分領域を縦方向に並べて配置するか、または前記複数の部分領域を横方向に並べて配置するかを決定する決定手段と、前記決定手段によって決定された配置方向に前記複数の部分領域を配置する配置手段と、前記配置手段によって配置された各々の部分領域に前記コンテンツデータを入力する入力手段と、前記入力手段によってコンテンツデータが入力された前記複数の部分領域を出力する出力手段とを有することを特徴とする。
【００１５】
本発明の情報処理方法は、コンテンツデータを配置可能な複数の部分領域が設定されたテンプレートを生成する情報処理方法であって、前記複数の部分領域を相互に関連付ける第１設定工程と、前記第１設定工程において相互に関連付けられた複数の部分領域に入力されるコンテンツデータに基づいて、配置方向として前記複数の部分領域を縦方向に並べて配置するか、または前記複数の部分領域を横方向に並べて配置するかを決定する決定工程と、前記決定工程において決定された配置方向に前記複数の部分領域を配置する配置工程と、前記配置工程において配置された各々の部分領域に前記コンテンツデータを入力する入力工程と、前記入力工程においてコンテンツデータが入力された前記複数の部分領域を出力する出力工程とを有することを特徴とする。
【００１６】
本発明のプログラムは、コンテンツデータを配置可能な複数の部分領域が設定されたテンプレートを生成する工程をコンピュータに実行させるプログラムであって、前記複数の部分領域を相互に関連付ける第１設定工程と、前記第１設定工程において相互に関連付けられた複数の部分領域に入力されるコンテンツデータに基づいて、配置方向として前記複数の部分領域を縦方向に並べて配置するか、または前記複数の部分領域を横方向に並べて配置するかを決定する決定工程と、前記決定工程において決定された配置方向に前記複数の部分領域を配置する配置工程と、前記配置工程において配置された各々の部分領域に前記コンテンツデータを入力する入力工程と、前記入力工程においてコンテンツデータが入力された前記複数の部分領域を出力する出力工程とをコンピュータに実行させることを特徴とする。
【発明の効果】
【００１７】
本発明によれば、入力されるデータに従ってテンプレートの配置を変更できるようにしたので、ユーザが予め用意するテンプレート数を減少させることができて、ユーザの負担を軽減することが可能となる。
【発明を実施するための最良の形態】
【００１８】
（第１の実施形態）
以下、本発明の実施形態について図面を参照しながら説明する。
図１は、本発明の自動レイアウトシステムが適用された自動レイアウトシステムサーバーに対して、ドキュメントテンプレート作成及び出力機能を有するクライアントから指示／操作を実現したネットワーク構成を示すブロック図である。
【００１９】
図１において、１０１はローカルエリアネットワーク（以下、ＬＡＮとする）を示す。このＬＡＮ１０１にはクライアント用パーソナルコンピュータ（以下「クライアントＰＣ」）が接続されている。
【００２０】
本実施形態においては、第１のクライアントＰＣ１１１、第２のクライアントＰＣ１１２、第３のクライアントＰＣ１１３が接続されている例を示している。また、本実施形態の自動レイアウトシステムを有するサーバー用パーソナルコンピュータ（以下「サーバーＰＣ」）１２１が、このＬＡＮに接続されている。
【００２１】
また、サーバーＰＣ１２１は自動レイアウトシステムサーバー機能を有している。そして、サーバーＰＣ１２１は第１のクライアントＰＣ１１１〜第３のクライアントＰＣ１１３のドキュメントテンプレート作成及び出力ソフトから指示を受け、当該指示を発行したクライアントＰＣに対して処理結果を返す。但し、本実施形態においては、サーバー及びクライアント間の通信手法については特に限定するものではない。また、サーバーＰＣ１２１において、本実施形態の帳票管理サーバーに対する指示処理を直接行う形態であっても構わないものとする。
【００２２】
第１のクライアントＰＣ１１１、第２のクライアントＰＣ１１２及び第３のクライアントＰＣ１１３内の構成は、ＬＡＮ１０１に接続できること。また、ドキュメントテンプレート帳票作成／出力機能が動作する機能を有する一般的なＰＣ（パーソナルコンピュータ）であれば、特に限定するものではないため、説明を省略する。
【００２３】
次に、図２について説明する。図２は、本実施形態の図１に示したサーバーＰＣ１２１及び各クライアントＰＣ１１１〜１１３を構成可能なコンピュータシステムの概略構成を示すブロックである。
【００２４】
図２において、２０１はビデオＲＡＭ(ＶＲＡＭ)で、ＣＲＴ表示装置２０２の画面に表示される文字、イメージを展開記憶する。２０３はビットムーブユニット(ＢＭＵ)で、メモリ間あるいはメモリと各デバイス間のデータ転送をコントロールする。
【００２５】
２０４は入力に関する各種キーを備えたキーボードであり、２０５は画面上でアイコンなどを指し示すためなどに用いられるポインティングデバイス(ＰＤ)である。２０６はＣＰＵで、２０８のＲＯＭに記憶された制御プログラム（本実施形態に係るプログラムやエラー処理プログラムをはじめ、後述する本実施形態を実現するためのプログラムも記憶されている）に基づいて本装置の各部を制御する。
【００２６】
２０９は前述した各プログラムをＣＰＵ２０６が実行するときにワークエリア、エラー処理時の一時退避エリアとして用いられるＲＡＭ、２１０はハードディスクドライブ(ＨＤＤ)、２１１はフロッピー（登録商標）ディスクドライブ(ＦＤＤ)、をそれぞれ示している。なお、各ディスクには後述するアプリケーションプログラムやデータ、データベース、ライブラリなどの保存用に用いられる。
【００２７】
２１２はネットワークインターフェイス(ＮＥＴ−Ｉ／Ｆ)を示し、クライアントＰＣ１１１，１１２，１１３との間でネットワークを経由してデータ転送を行うためにネットワーク上でデータ制御、診断を行う。２０７は前述した各ユニット間を接続するＩ／Ｏバス(アドレスバス、データバス及び制御バスからなる)である。
【００２８】
前述した構成において、装置に電源を投入すると、ＣＰＵ２０６はＲＯＭ２０８のブートプログラムに従って装置を初期化し、ＨＤＤ２１０からＯＳのロードを行い、その後で各種アプリケーション等を動作させることになる。
【００２９】
なお、本実施形態の装置は、凡用の情報処理装置（パーソナルコンピュータ等）をその基礎にしているので、プログラムはハードディスク等に記憶されているものとしたが、もちろんＲＯＭに記憶させるようにしてもよい。記憶媒体によって本実施形態が限定されるものでもない。
【００３０】
図１１に、前述した情報処理装置１１１等に記憶され、後述するレイアウト処理を実行するレイアウト編集アプリケーション１１０１について説明する。レイアウト編集アプリケーション１１０１は、コンテナ位置決定部１１０２、コンテナサイズ決定部１１０４、テンプレート設定部１１０３によって構成されている。
【００３１】
コンテナ位置決定部１１０２は、テンプレートに設定されたコンテナの位置を、各コンテナに流し込まれるコンテンツデータのサイズ、テンプレートの設定内容に従って決定する。なお、コンテナとはコンテンツデータが入力される領域であり、本願では部分領域と記載する場合もある。
【００３２】
テンプレート設定部１１０３は、ユーザの指示に従ってテンプレートを作成する。
コンテナサイズ決定部１１０４は、テンプレートに設定されたコンテナのサイズを、各コンテナに流し込まれるコンテンツデータのサイズ、テンプレートの設定内容に従って決定する。
【００３３】
続いて、図１５を用いて本実施形態によるバリアブルプリントの概要を説明する。
図１５は本実施形態によるバリアブルデータプリントの概略を説明する図である。レイアウト編集アプリケーション１１０１は、ユーザからの操作指示に従いページ上に複数のコンテナ１５０１〜１５０３を配置し、各コンテナに位置やサイズに関する制約条件を設定してドキュメントテンプレート１５００を生成する。
【００３４】
また、レイアウト編集アプリケーション１１０１はドキュメントテンプレート１５００とデータベース１５０６との関連付け、更に各コンテナとデータベース１５０６内の各データフィールドとの関連付けを行う（１５０４から１５０７）。各コンテナとデータベース１５０６内の各データフィールドとの関連付けを示す関連付け情報は、ドキュメントテンプレート内に記述され、該ドキュメントテンプレートは、ＨＤＤ２１０に格納される。
【００３５】
データベース１５０６は、レコード単位で項目データが記載されているファイルであり、例えばＨＤＤ２１０に格納されている。レイアウト編集アプリケーション１１０１は、ユーザからの指示に応じて、ドキュメントテンプレートの各コンテナ１５０１〜１５０２に、関連付け情報で関連付けられたデータをレコード単位で流し込む。
【００３６】
例えば、データレコード１のデータフィールドＡ〜Ｃをコンテナ１５０１〜１５０３へ流し込む。そして、レイアウト編集アプリケーション１１０１は、流し込まれたデータに応じて各コンテナのサイズ等を調整（レイアウト調整）する。
【００３７】
プレビュー指示の場合は、レイアウト調整されたドキュメントイメージを生成し、ＣＲＴ２０２の画面上にプレビューとして表示すべく出力される。また印刷指示の場合は、生成されドキュメントイメージをプリンタドライバによって印刷データに変換してプリンタへ出力する。データレコード１、２、３…を順次処理することにより、バリアブルデータプリントが実現される。つまり、レコード単位に異なる印刷結果を得ることが可能となる。
【００３８】
＜本願発明の背景技術、問題点＞
次に図３、図４を用いて、コンテナとリンクの説明、及び動作例を示し問題点を説明する。
まず、図３において、３０１はイメージデータ（以下、単にイメージとする）が挿入されるコンテナを示し、３０２はテキストデータ（以下、単にテキストとする）が挿入されるコンテナを示している。本実施形態において、コンテナとは、データが挿入される領域を指す。そして、これらのコンテナに挿入されるイメージデータ及びテキストデータは、コンテンツデータと称される。３０３は、コンテナ３０１、３０２を相互に関連付けて接続して配置可能なリンクを示す。つまり、リンクとは、複数のコンテナを関連づけるために設定される。このリンク３０３により、コンテナ３０１、３０２が連動した流し込み領域となる。なお、リンク３０３はコンテナ３０１と３０２を縦並びに接続するリンクである。
３０４は、ページ領域であり、そのサイズは不変である。
【００３９】
次に、図４（ａ）、（ｂ）は、前記図３で示したリンクによって関連付けられたコンテナにコンテンツデータを実際に流し込んだ際に構成されるレイアウトの一例を示した図である。
図４（ａ）において、４０１は縦長のイメージである。４０２は「説明１」とあるがテキストデータを示している。また、４０４は横長のイメージであり、４０５は４０２と同様にテキストデータ「説明２」を示している。一方、４０３は図３で示したコンテナ及びリンクを１つの組として扱うテンプレートを示している。
【００４０】
４０６は、テンプレート４０３にイメージ４０１、テキスト４０２を流し込んだ出力結果例を示す図である。この出力結果において、イメージ４０１は図３のコンテナ３０１に適用されるため、上半分に配置される。一方、テキスト４０２は図３のコンテナ３０２に適用されるため、下半分に配置される。なお、リンク３０３による最終的なコンテナのサイズ調整については、図１２、１３を用いて後述する。
【００４１】
次に、４０７は、テンプレート４０３にイメージ４０４、テキスト４０５を流し込んだ出力結果例を示す図である。この出力結果において、イメージ４０４は図３のコンテナ３０１に適用されるため、上半分に配置される。一方、テキスト４０５は図３のコンテナ３０２に適用されるため、下半分に配置される。このようにして、配置位置が決定される。
【００４２】
前記２つの出力結果４０６と４０７とを比較すると、出力結果４０７は横置きイメージであるため、４０３内のコンテナを効率良く利用している。一方、出力結果４０６は縦置きイメージをテンプレート４０３に流し込んでいるため、上半分に位置するコンテナ３０１に対して縦長がさらに縮小されたようになる。
【００４３】
このため、図４（ｂ）の４０８で示したイメージ用コンテナが縦長であるテンプレートを用いる方が４０９で示したように、空白となる領域が少ない見栄えの良い出力が可能となる。このように出力内容によってテンプレートを使い分けることで所望の出力は可能となる。しかし、例えばバリアブルプリントのようにどのようなデータが流し込まれるか不明である状態で、パターンごとに複数のテンプレートを作成することはユーザに与える負荷が増大する可能性があった。
【００４４】
＜本発明の実施形態＞
次に、前述のような問題点を解決可能な本発明の実施形態を示す。
図５は、相互に関連付けられた複数のコンテナに入力されるコンテンツデータに従って当該複数の部分領域の配置方向が変化する転置属性を設定した場合のテンプレート例を示している。なお、転置属性はリンクに設定することも、後述するサブテンプレートに設定することも可能である。図５から図１０では転置属性がリンクに対して設定された実施例について説明する。また、図２１、２２では、転置属性がサブテンプレートに設定された実施例について説明する。
【００４５】
図５（ａ）において、５０１は、テンプレート５０４及び５０５の両方の機能を満たすため、イメージの向きに応じて動的にコンテナの配置・サイズを変更するテンプレートである。なお、５０４は上半分にイメージコンテナ、下半分にテキストコンテナを有するテンプレートであり、５０５は左半分にイメージコンテナ、右半分にテキストコンテナを有するテンプレートである。
【００４６】
イメージコンテナ５０２に横長のイメージデータが配置された場合、イメージコンテナはテンプレート５０４のように上半分に配置される。一方、イメージコンテナ５０２に縦長のイメージデータが配置された場合、イメージコンテナはテンプレート５０５のように左半分に配置される。
【００４７】
なお、テンプレート５０１内の構成は、イメージコンテナ５０２及びテキストコンテナ５０３で示されているが、実際には縦横軸の転置リンクが設定されている。図５の例では、転置属性のリンク（以下、転置リンクと記述する）が設定されていることを示すため、イメージコンテナ５０２及びテキストコンテナ５０３がそれぞれ三角形として表示されている。
【００４８】
また、図５（ｂ）にリンクの設定方法の例を示す。ユーザのリンク設定指示に従って、リンクタイプ設定領域５０７とリンク距離設定領域５０８を含むリンク設定画面５０６が表示される。リンクタイプに表示される固定リンクとは、サイズが不変のリンクであり、可変リンクとは、各コンテナに配置されるコンテンツデータによってサイズが可変のリンクである。また、最小値５１０、最大値５１２は、可変リンクが選択された場合に設定される値であり、リンクの可変範囲を決定する値である。また、基準値５１１は、リンク設定時のサイズ（または、固定リンクのサイズ）である。このリンク設定画面５０６を介して転置リンク５０９をチェックすることにより、前述したコンテナに配置されるコンテンツデータに従ってテンプレートを回転させる転置リンクを設定することが可能となる。リンク設定画面５０６を介して設定された値は、ＯＫボタン５１３が選択されることで確定する。
【００４９】
次に、図６を用いて図５のテンプレート５０１の動作例を示す。
テンプレート６０１は、前述した転置リンクが設定されたテンプレートである。当該テンプレート６０１に対して、図４で示した各データ４０１、４０２をテンプレート５０１に流し込んだ結果を出力結果６０２、６０３に示す。コンテンツデータとしてイメージデータ４０１とテキストデータ４０２がテンプレート６０１に流し込まれた場合、イメージデータ４０１が縦長のイメージである。そのため、レイアウト編集アプリケーション１１０１は、テンプレート６０１のコンテナを横方向に配置した後、各コンテンツデータを各コンテナに流し込み、レイアウト処理を実行する。この結果、従来技術では、図４のように空白領域のある見栄えの悪いレイアウト結果となっていた４０６が、空白領域の少ないレイアウト結果６０２となる。
【００５０】
同様に、出力結果６０３は、図４で示した各データ４０４、４０５を流し込んだ例である。イメージデータ４０４が横長のイメージであるため、イメージコンテナを上半分に配置した出力となる。
以上より、従来どおり用意するテンプレートが１つであっても、レイアウト編集アプリケーション１１０１が、レイアウト対象となるコンテンツデータに基づいてコンテナを横並び（５０４）にするのか、縦並び（５０５）にするのかを決定する。そのため、ユーザの負荷を増大させることなく、見栄えの良いレイアウト結果を生成することが可能となる。
【００５１】
次に、縦横軸の転置リンクで接続されるそれぞれのコンテナがイメージの場合の例を図７に示す。
図７において７０３は、２つのイメージコンテナが転置リンクによって関連付けられたテンプレートである。イメージデータ４０１及び７０１はそれぞれ縦長のデータであるため、出力結果７０４のようにイメージコンテナはそれぞれ左右半分に配置された上で出力される。一方、イメージデータ４０４及び７０２はそれぞれ横長のデータであるため、出力結果７０５のようにイメージコンテナはそれぞれ上下半分に配置された上で出力される。
【００５２】
ここで、前述したテンプレート７０３に対して一方は縦長のイメージデータであり、もう一方は横長のイメージデータが配置される場合の処理を説明する。この場合、レイアウト編集アプリケーション１１０１は、コンテナ間の優先順位を判断することで優先順位の高いコンテナに流し込まれるデータに従って、コンテナを横並びにするのか、縦並びにするのかを決定する。
【００５３】
優先順位の判断方法については、例えば、コンテナの属性に「優先順位」を持たせている方法が考えられる。また、優先順位が同じ場合は、定義した順番が早いものを優先する方法がある。なお、優先順位の判断は他にも方法があるため、本実施形態では特に限定するものではない。
例えばテンプレート７０３において、イメージコンテナ１の優先順位がイメージコンテナ２よりも高く設定されているとする。この状態で、イメージデータ４０１がイメージコンテナ１に配置され、イメージデータ４０４がイメージコンテナ２に配置された場合、イメージコンテナ１の優先順位が高いため、コンテナは横並びが使用される。その結果、レイアウト結果は、符号７０６で示すようになる。
【００５４】
次に、図５〜図７で示した第１の実施形態の縦横軸の転置リンクが適用されたテンプレートに関する手順を図８、図１４を用いて説明するフローチャートを示す。なお、本願に示すフローチャートの各ステップは、ＣＰＵ２０６によって実行される。
まず、図１４を用いて全体的な処理を説明し、図８を用いて転置リンクが設定された場合の詳細な処理を説明する。
ステップ１４０１において、レイアウト編集アプリケーション１１０１は、複数のコンテナを関連付けるべくリンクが設定されたか否かを判定する。ステップ１４０１においてリンクが設定されたと判定された場合、レイアウト編集アプリケーション１１０１は、当該リンクに対して前述した図５（ｂ）の操作画面を介して転置属性が設定されたか否かを判定する（ステップ１４０２）。つまり、レイアウト編集アプリケーション１１０１は、ユーザの指示に従って複数のコンテナを関連付けることができる。
ステップ１４０２において転置リンクが設定された場合、レイアウト編集アプリケーション１１０１は、転置リンクが設定されたことを示すように表示する（ステップ１４０３）。なお、表示の具体例は、図５の５０１が挙げられる。また、転置リンクが設定された後、転置リンクによって関連付けられたコンテナに対して優先順位を設定する。
レイアウト編集アプリケーション１１０１は、ステップ１４０３において転置リンクが設定されたことを表示した後、後述する図８の処理へと進む。
一方、ステップ１４０２において転置リンクが設定されていないと判定された場合、Ｓ８０３へ進み通常の処理を実行する。
図８に示したように、まずステップＳ８０１では、レイアウト編集アプリケーション１１０１が、テンプレートに流し込まれる２つのコンテンツデータの種類を確認する。データの種類については、データの内容を解析することでイメージデータであるのかテキストデータであるのかを確認することが可能となる。
【００５５】
次に、ステップＳ８０２では、レイアウト編集アプリケーション１１０１が、テンプレートに流し込まれる２つのコンテンツデータが共にテキストであるか否かを判断する。この判断の結果、２つ共にテキストデータである場合は、ステップＳ８０３に進み、通常のレイアウト処理を行い終了する。なお、通常のレイアウト処理とは予め設定されたテンプレートに含まれるコンテナにコンテンツデータを入力して、コンテナの配置方向を変えることなく後述する図１２のレイアウト処理を実行する処理である。
【００５６】
一方、ステップＳ８０２の判断の結果、１つでもイメージデータがある場合はステップＳ８０４に進む。ステップＳ８０４においては、レイアウト編集アプリケーション１１０１は、少なくとも一方がイメージデータであるため、２つのコンテナの優先順位を判断する。各コンテナには優先順位が設定されており、当該優先順位を解析することでＳ８０４の処理が実行される。次に、ステップＳ８０５では、レイアウト編集アプリケーション１１０１は、前記ステップＳ８０４で優先順位が高いと判断されたコンテナに流し込むデータの種類を取得する。
【００５７】
ステップＳ８０６では、レイアウト編集アプリケーション１１０１が、前記ステップＳ８０５で取得したデータの種類がイメージデータ（画像）かテキストかを判断する。この判断の結果、イメージデータの場合は、ステップＳ８０７に進む。一方、テキストデータの場合はステップＳ８１２に進む。
【００５８】
ステップＳ８０７において、レイアウト編集アプリケーション１１０１は、ステップＳ８０６で取得したイメージデータの高さと横幅を比較する。この比較の結果、同じ場合はステップＳ８０８に進む。一方、高さが横幅より大きい場合はステップＳ８０９に進む。また、高さが横幅より小さい場合はステップＳ８１０に進む。
【００５９】
ステップＳ８０８において、レイアウト編集アプリケーション１１０１は、イメージデータの高さと横幅が同じである正方形のイメージであるため、図５で示した縦横軸の転置リンクを設定する前のコンテナ配置を行い、ステップＳ８１１に進む。なお、縦横軸の転置リンクは通常のリンクとして動作を兼ねるものとする。
【００６０】
ステップＳ８０９において、レイアウト編集アプリケーション１１０１は、イメージデータの高さが横幅より大きいため、イメージデータは縦長であると判断する。このため、レイアウト編集アプリケーション１１０１は、テンプレート内の２つのコンテナを左右（横並び）に配置する。その後、ステップＳ８１１に進む。
【００６１】
ステップＳ８１０において、レイアウト編集アプリケーション１１０１は、イメージデータの高さより横幅が大きいため、イメージデータは横長であると判断する。このため、レイアウト編集アプリケーション１１０１は、テンプレート内の２つのコンテナを上下に配置する。その後、ステップＳ８１１に進む。ステップＳ８１１は、配置確定後に自動レイアウト出力を行う処理であり、詳細は図１２、１３にて後述する。
つまり、レイアウト編集アプリケーション１１０１は、相互に関連付けられた複数のコンテナに入力されるコンテンツデータに基づいて、配置方向として複数の部分領域を縦方向に並べて配置するか、横方向に並べて配置するかを決定する。なお、縦方向とは、用紙向きを基準とした縦方向であり、横方向とは、用紙向きを基準とした横方向である。
【００６２】
一方、ステップＳ８０６において優先順位が高いコンテナがテキストと判断された場合、レイアウト編集アプリケーション１１０１は、ステップＳ８１２において、優先順位が低いコンテナに配置されるイメージデータをデータ解析の対象として特定する。
【００６３】
次に、ステップＳ８１３において、レイアウト編集アプリケーション１１０１は、優先順位が低いコンテナに流し込まれるイメージデータの縦横比を判断する。この判断の結果、高さ＝横幅の場合はステップＳ８１４に進む。また、高さ＞横幅の場合はステップＳ８１５に進む。さらに、高さ＜横幅の場合はステップＳ８１６に進む。なお、Ｓ８１４の処理はＳ８０８と同様であり、Ｓ８１５の処理はＳ８０９と同様であり、Ｓ８１６の処理はＳ８１０と同様であるので、詳細な説明は省略する。
【００６４】
前記ステップＳ８１４、ステップＳ８１５及びステップＳ８１６は、それぞれ配置を確定後、ステップＳ８１１に進み、出力処理を行うものとする。以上で、本実施形態の処理のフローチャートが終了となる。
【００６５】
なお、図５で示した縦横軸の転置リンクの設定に関しては容易に理解できることから、詳細な処理手順を説明するフローチャートを省略する。
次にステップＳ８１１にて行われるデータの流し込み処理について図１２を用いて説明する。
まず、レイアウト編集アプリケーション１１０１は、レイアウトを計算するコンテナの集合を認識する（ステップＳ１２０１）。レイアウト計算は、リンクによって関連付けられたコンテナを一つの集合として計算を行う。例えば、ページ上に４つのコンテナがレイアウトされており、コンテナＡとコンテナＢ、そしてコンテナＣとコンテナＤがリンクによって関連付けられているとする。この場合、コンテナＡ、Ｂが集合１、コンテナＣ、Ｄが集合２となる。
【００６６】
次に、レイアウト編集アプリケーション１１０１は、ステップＳ１２０１で求めたコンテナの集合から、レイアウト計算対象となる集合を選択する（ステップＳ１２０２）。そして、選択したコンテナの集合について、レイアウトの計算を行う。
【００６７】
まず、選択したコンテナの集合に含まれる可変要素である２つのコンテナについて、流し込まれるデータの画像サイズもしくはテキスト量から各コンテナがなにも制約を受けない場合の大きさを計算する。具体的には、レイアウト編集アプリケーション１１０１は、コンテナＡが画像データ用コンテナであるか、テキスト用コンテナであるかを判断する。この判断は、前述したように、コンテナに対して設定されている属性により判断できる。コンテナＡに流し込まれるデータを読み込み、コンテナＡが画像データ用コンテナである場合は、その画像データのサイズ（幅、高さのピクセル数、および解像度）が制約を受けない場合の大きさになる。
【００６８】
また、コンテナＡがテキスト用コンテナである場合、テキストデータも文字数と、コンテナＡの属性で指定されているフォントタイプ、フォントサイズ、文字ピッチ、行ピッチなどの文字属性に基づいて、コンテナＡに流し込まれるべきデータ量が計算できる。ここで、テキスト用コンテナの場合は、コンテナＡの縦横比が制約を考えないと決定できないため、制約を当てはめる。
【００６９】
レイアウト編集アプリケーション１１０１は、コンテナＡの基本パターンとして設定されている幅（横方向）に、計算したデータ量（テキスト量）の文字を流し込めるか否かを判断する。すべて流し込めると判断された場合は、コンテナＡは、基本パターンで設定されているサイズ（幅、高さ）に変更はない。また、すべて流し込めないと判断された場合、コンテナＡは、ページ領域をはみ出さないように拡大される。ここで、レイアウト編集アプリケーション１１０１は、コンテナＡをどれだけ拡大すれば全ての文字データを配置できるか計算し、コンテナＡのサイズを算出する。
【００７０】
次に、レイアウト編集アプリケーション１１０１は、レイアウトされるコンテナのサイズが、実際のコンテンツのサイズとできる限り差が少なくなるように、レイアウトの最適化を行う（ステップＳ１２０３）。レイアウトの最適化は、動的にサイズを変化することが可能なように関連付けられた各コンテナにおいて、それぞれに挿入されるコンテンツデータのサイズとレイアウトされるサイズとの差が、できる限り同じになるように計算される。なお、ステップＳ１２０３の具体例を図１３を用いて後述する。
【００７１】
レイアウト編集アプリケーション１１０１は、レイアウトの最適化を行い、ルールに違反していた場合は、再度ルールを違反しないように計算をする（ステップＳ１２０４）。ここで記述したルールとは、レイアウト作成時にユーザによって設定される制限であり、コンテナのサイズの可変範囲や位置の制限、可変リンクの場合はリンクの長さの変化の制限などである。ルールを違反しないようにレイアウトが計算されたら、その集合のレイアウトは完成される。そして、ステップＳ１２０２〜Ｓ１２０４の処理をページ上のすべての集合について施し、レイアウト編集アプリケーション１１０１は、ページ全体のレイアウトを計算する（ステップＳ１２０５）。この計算が終了したら全ての処理を終了する。
【００７２】
図１３を用いてＳ１２０３のレイアウトの最適化処理の具体例を説明する。
１３０１〜１３０３で示すコンテナＡ、Ｂ、Ｃは固定リンク１３０４にて関連付けられている。各コンテナおよびリンクの水平方向のサイズは図示した通りであり、水平方向に合計５７というサイズを持っている。
【００７３】
このレイアウトではこの水平方向の合計サイズは固定であるとする。このレイアウトに１３０５〜１３０７で示した、コンテンツデータＡ'、Ｂ'、Ｃ'が新たにコンテナへ挿入されると、ストレス（レイアウトの負荷）が発生する。
【００７４】
それぞれのコンテンツは実サイズ（理想サイズ）を持っている。各コンテンツの実サイズは図示した通りであり、Ａ'は１７、Ｂ'は１３、Ｃ'は２７である。なお、コンテンツがテキストの場合、理想サイズは、現在コンテンツが持っているコンテンツ量（文字量）とデータの流し込み先であるコンテナに設定されたフォントサイズや縦横サイズの可変／固定、最大値／最小値等に基づいて決定される。
【００７５】
また、コンテンツデータがイメージの場合、当該イメージデータのサイズ（縦横画素数）が理想サイズである。このコンテンツをコンテナに挿入した後にすべてを理想サイズでレイアウトするためには、１７＋５＋１３＋７＋２７＝６９の水平サイズが必要になるが、前述した通りこのレイアウトは水平サイズが５７で固定されている。したがって６９−５７＝１２がこのレイアウトにかかるストレスということになる。
【００７６】
次に、前記ストレスを各コンテナに分配する。本自動レイアウトシステムでは、このストレスのかかり具合が最小になるように計算するようになっており、そのときに用いる手法が最小二乗法である。
各コンテナの計算後のサイズをａ、ｂ、ｃとすると、各コンテナにかかるストレスの二乗の合計であるコストｋは、
ｋ＝(ａ−１７)2＋(ｂ−１３) 2＋(ｃ−２７) 2  …（１）式
と表すことができる。
【００７７】
このレイアウトでは、優先度の設定はされていないため、コストｋが最小になるのは、
ａ−１７＝ｂ−１３＝ｃ−２７    …（２）式
と表すことができる。
さらに、計算後のレイアウトのサイズより、
ａ＋５＋ｂ＋７＋ｃ＝５７    …（３）式
と表すことができる。
【００７８】
（２）式、（３）式の等より、各コンテナの計算後のサイズが求められる。ここでは、各コンテナにかかるストレスは４であり、計算後の各コンテナ（１３０８〜１３１０）Ａ"、Ｂ"、Ｃ"の各サイズは図示した通りになる。
前述した計算処理を垂直方向にも同様に実行することでステップＳ８１１にて行われる処理を実行することが可能となる。
なお、実施形態１では、複数のコンテナが設定されたテンプレートに対して実行される処理について記載したが、サブテンプレートに対して実施形態１の処理を適用しても構わない。
【００７９】
まず、サブテンプレートとフローエリアについて説明する。
図１７ではフローエリア１７０６がページ領域１７０１に描画されている。このテンプレート上にはテキストコンテナ１７０４やイメージコンテナ１７０５も含まれる。ユーザインターフェース上は、フローエリア１７０６の表現とコンテナの表現とを異ならせることにより、ユーザに視覚的に認識しやすいようにする。
【００８０】
テキストコンテナ１７０４及びイメージコンテナ１７０５は、データベースからバリアブルデータが読み込まれ、配置される。一方、フローエリア１７０６は、データベースから抽出されたデータが入力されたサブテンプレートが配置される領域である。１７０３を選択することでフローエリアを設定できる。
【００８１】
図１８は、フローエリアに対する抽出条件、サブテンプレートを設定するための設定画面１８０１である。ユーザは、項目１８０２において、フローエリアで使用するサブテンプレートを設定する。またはファイルオープンアイコン１８０３を使って、サブテンプレート名を指定してもよい。なお、１８１６はマウスポインタを示している。
【００８２】
次にユーザは、領域１８０４において条件式１８０５を入力する。リストボックス１８０６には接続しているデータファイルのフィールド名が入力される。リストボックス１８０７には条件判定を計算する演算子が入力される。リストボックス１８０８には条件が入力される。リストボックス１８０９は条件式間を結ぶ演算子が入力される。
【００８３】
リストボックス１８０６〜１８０９には、直接入力だけではなく、リストから選択することも可能である。図１８の例では、ＰｒｏｄｕｃｔＮａｍｅフィールドの値が「Ｃａｍｅｒａ」であり、かつＣｏｓｔフィールドの値が５００００未満という抽出条件が設定されている。レイアウト編集アプリケーション１１０１は、図１８を介して設定された抽出条件に基づいて、データベースからデータを抽出する。また、ヒット数表示欄１８１０には、抽出された数が表示される。
【００８４】
次にユーザは、例示欄１８１１から所望のレイアウトフローパターンを選択する。矩形１８１２は、現在指定されているレイアウトパターンを示す。図１８ではＺ型が指定されている。さらに、フロータイプは図１８で示すＺ型、Ｎ型、Ｖ型、Ｗ型のほかにも設定可能である。レイアウト編集アプリケーション１１０１は、指定されたフロータイプに従ってサブテンプレートを配置する。ボタン１８１３を押下することで、その他のフロータイプを設定可能とする。
【００８５】
このフロータイプは、ここで説明したものだけに限らず、他のタイプがあってもよい。また、フロータイプについては、デフォルトでどれか一つは選択された状態になっているので、設定する必要がなければ設定しなくてもよい。また、フロータイプは、フローエリアにレイアウトされるサブテンプレートの数（レイアウト条件により該当するデータ数に相当する）により、異なるフロータイプが選択されることが望ましい。よって、図１８のレイアウトフロータイプを選択する例示欄１８１１は、サブテンプレート数に応じて選択可能としてもよい。
【００８６】
前述したサブテンプレートについて説明する。図１９はサブテンプレートに従ったレコードのレイアウト例とレイアウトフローを示している。
サブテンプレートは、サブテンプレート内にイメージコンテナやテキストコンテナ等を配置して、それらのコンテナにどのデータを割り当てるかを設定した状態で保存されたテンプレートである。データ自体は通常のテンプレートと特に相違する点はない。
【００８７】
サブテンプレートは、同じレイアウトを一つのドキュメントで数多く使う場合や、他ドキュメントで流用する場合に便利である。サブテンプレート内に配置されるイメージコンテナ、テキストコンテナ間にはリンクを設定することが可能である。したがって、レイアウトするデータによって、レイアウトサイズ（位置も）を最適に変化させることが可能である。
【００８８】
図１９は、サブテンプレートを用いたレコードのレイアウト例を示している。１９０１と１９０４はサブテンプレートの外枠、１９０２と１９０５はイメージコンテナ、１９０３と１９０６はテキストコンテナ、１９０７はリンクを示している。図１９のレイアウト結果１９０１、１９０４は、互いに同じサブテンプレートを用いたレイアウト例であるが、入力されるコンテンツデータが異なるため、レイアウト結果は異なる。
【００８９】
図２０は、図１９に示したサブテンプレートを用いたレイアウト結果である。図２０の場合、図１８の条件により抽出されたレコードが４つであったため、抽出された４つのレコードはそれぞれサブテンプレート２００１に入力されフローエリア２００２内に配置されている。なお、各サブテンプレート２００１内の矩形はレイアウト計算後のコンテナを表している。
【００９０】
続いて、図２１を用いて前述した転置リンク属性を設定したサブテンプレートによる配置例を示す。なお、使用しているサブテンプレートは図１９と同じであるが、当該サブテンプレートには、転置リンク属性が設定されている。
【００９１】
その結果、図２０と同じフローエリア、同じサブテンプレートを使用しているが、サブテンプレート２１０２および２１０３は、図２０と比較してコンテナの配置方向が垂直方向から水平方向に変化している。このように本願を用いてサブテンプレートに転置リンク属性を設定することで、入力されるコンテンツデータに従いコンテナの配置方向を変えることが可能となる。なお、サブテンプレート２１０１と２１０４にも転置リンク属性が設定されているが、サブテンプレート２１０１と２１０４に入力されるコンテンツデータの解析結果が横長であったため、コンテナは垂直方向に配置されている。
【００９２】
図２２にサブテンプレートに対して転置リンク属性を設定するための設定画面を記載する。基本的に図１８の設定画面と同じであるが、異なる点は転置リンク属性を設定するためのチェックボックス２２０１が追加されている点である。当該チェックボックス２２０１がチェックされることにより、コンテンツデータに従ってコンテナの配置方向を変更することが可能となる。
【００９３】
以上、図示で説明したように、第１の実施形態を用いることで、テンプレート内に配置された２つのコンテナを縦横軸の転置リンクで接続することにより、１つのテンプレートで、コンテンツデータに基づいて、適切な方向にコンテナを配置することが可能となる。
【００９４】
（第２の実施形態）
次に、本発明の第２の実施形態を用いて説明する。
第２の実施形態は、サブテンプレートに関する階層管理についての実施形態である。
【００９５】
図９は、階層管理における指定の例を示した図である。
図９において、まず９０１は、イメージコンテナを示しており、また９０２はテキストコンテナを示している。２つのコンテナ９０１、９０２は縦横軸の転置リンク９０３により接続されている。なお、本実施形態では階層化をわかりやすくするために、縦横軸の転置リンクの表現を変えているが第１の実施形態と同様の動作をするものとする。また、表現方法は視覚的にわかる表現の一例であり、表現方法を特に限定するものではない。また９０４は、リンク９０３で接続された２つのコンテナで構成されるサブテンプレートである。
【００９６】
一方、９０５もイメージコンテナであるが、縦横軸の転置リンク９０６により、前記サブテンプレート９０４に接続している。また、縦横軸の転置リンク９０６で接続されたサブテンプレート９０４とコンテナ９０５は、さらにサブテンプレート９０７となる。このように、本実施形態においては、コンテナとサブテンプレートをリンクで接続することにより階層化を実現する。
【００９７】
９０８は、前記サブテンプレート９０７内の構成を階層図で示したものである。
サブテンプレート９０７は、リンク９０６によりサブテンプレート９０４とコンテナ９０５を接続した形で構成されている。また、サブテンプレート９０４は、リンク９０３によりコンテナ９０１とコンテナ９０２を接続した形で構成されている。
【００９８】
次に、図１０は、前記図９のサブテンプレート９０７に含まれるイメージコンテナ９０１及び９０５対して、各イメージデータの向きに応じてコンテナの配置が変更される例を示したものである。
【００９９】
図１０の左上は、イメージコンテナ９０１＝横長、イメージコンテナ９０５＝横長のケースである。まず、内部にあるサブテンプレート９０４から処理され、イメージコンテナ９０１が横長であるため、コンテナ９０１と９０２は上下関係に配置される。次に、イメージコンテナ９０５も横長であることから、サブテンプレート９０４とイメージコンテナ９０５の関係も上下配置（垂直方向配置）となり、最終配置が確定する。
【０１００】
同様に、図１０の右上は、イメージコンテナ９０１＝横長、イメージコンテナ９０５＝縦長のケースである。サブテンプレート９０４内はイメージが横長であるため上下配置となり、サブテンプレート９０７内はイメージコンテナ９０５が縦長であるために左右配置（水平方向配置）となる。
【０１０１】
また、図１０の左下は、イメージコンテナ９０１＝縦長、イメージコンテナ９０５＝横長のケースである。サブテンプレート９０４内はイメージコンテナ９０１が縦長であるため左右配置、サブテンプレート９０７内はイメージコンテナ９０５が横長であるために上下配置となる。
【０１０２】
最後に、図１０の右下は、イメージコンテナ９０１＝縦長、イメージコンテナ９０５＝縦長のケースである。サブテンプレート９０４、及びサブテンプレート９０７ともにイメージが縦長であるため左右配置となる。
なお、本実施形態のフローチャートは、前記説明より容易にわかることから説明を省略する。
（第３の実施形態）
第１の実施形態では、縦長のイメージと横長のイメージがコンテンツデータである場合、レイアウト編集アプリケーション１１０１は、コンテナに設定されている優先順位に従ってコンテナの配置方向を決定していた。第３の実施形態では、縦長のイメージと横長のイメージがコンテンツデータである場合、レイアウト編集アプリケーションが実行するコンテナの配置方向の決定処理の別実施例について説明する。
【０１０３】
第３の実施形態において、レイアウト編集アプリケーション１１０１は、縦長のイメージと横長のイメージを、コンテナを垂直方向に配置したテンプレートに入力することによって必要となる変化量を算出する。さらに、レイアウト編集アプリケーション１１０１は、縦長と横長のイメージを、コンテナを水平方向に配置したテンプレートに入力することによって必要となる変化量を算出する。そして、レイアウト編集アプリケーション１１０１は、変化量が小さくなる方向にコンテナを配置することを決定する。
【０１０４】
第３の実施形態の詳細な処理について図１６を用いて説明する。
レイアウト編集アプリケーション１１０１は、入力対象となるコンテンツデータを解析して縦長のイメージデータと横長のイメージデータが入力対象となっているかを判定する（ステップ１６０１）。
【０１０５】
ステップ１６０１において縦長と横長のイメージが入力対象であると判定された場合、レイアウト編集アプリケーション１１０１は、水平方向にコンテナを配置したテンプレートに縦長と横長イメージを入力することで必要となるサイズ変化量を算出する（ステップ１６０２）。
【０１０６】
さらに、レイアウト編集アプリケーション１１０１は、垂直方向にコンテナを配置したテンプレートに縦長と横長イメージを入力することで必要となるサイズ変化量を算出する（ステップ１６０３）。なお、ステップ１６０２およびステップ１６０３のサイズ変化量の具体的な計算方法は、コンテンツデータの初期サイズと図１２、１３にて説明したレイアウト計算結果との差である。
【０１０７】
レイアウト編集アプリケーション１１０１は、ステップ１６０２にて算出された変化量とステップ１６０３において算出された変化量とを比較し（ステップ１６０４）、変化量の少ない方向にコンテナを配置することを決定する（ステップ１６０５）。第３の実施形態により、可能な限りコンテンツデータが要求する初期サイズにて配置することが可能なテンプレートを生成することが可能となる。
【０１０８】
以上、図示で説明したように、第２の実施形態を用いることで、縦横軸の転置リンクで接続したサブテンプレートの階層化を実現することにより、複数のサブテンプレートを組み合わせた上下左右配置を切り換え可能な自動レイアウト出力を提供可能とする。
【０１０９】
（本発明に係る他の実施形態）
前述した本発明の実施形態における情報処理装置を構成する第１設定手段、決定手段、配置手段、入力手段、出力手段、第２設定手段、情報処理方法の各ステップは、コンピュータのＲＡＭやＲＯＭなどに記憶されたプログラムが動作することによって実現できる。このプログラム及び前記プログラムを記憶したコンピュータ読み取り可能な記憶媒体は本発明に含まれる。
【０１１０】
また、本発明は、例えば、システム、装置、方法、プログラムもしくは記憶媒体等としての実施形態も可能であり、具体的には、複数の機器から構成されるシステムに適用してもよいし、また、一つの機器からなる装置に適用してもよい。
【０１１１】
なお、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラム（実施形態では図８等に示すフローチャートに対応したプログラム）を、システムあるいは装置に直接、あるいは遠隔から供給する。そして、そのシステムあるいは装置のコンピュータが前記供給されたプログラムコードを読み出して実行することによっても達成される場合を含む。
【０１１２】
したがって、本発明の機能処理をコンピュータで実現するために、前記コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。
【０１１３】
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等の形態であってもよい。
【０１１４】
プログラムを供給するための記憶媒体としては、例えば、フロッピー（登録商標）ディスク、ハードディスク、光ディスク、光磁気ディスク、ＭＯ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷなどがある。また、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＤＶＤ（ＤＶＤ−ＲＯＭ，ＤＶＤ−Ｒ）などもある。
【０１１５】
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続する。そして、前記ホームページから本発明のコンピュータプログラムそのもの、もしくは圧縮され自動インストール機能を含むファイルをハードディスク等の記憶媒体にダウンロードすることによっても供給できる。
【０１１６】
また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるＷＷＷサーバも、本発明に含まれるものである。
【０１１７】
また、本発明のプログラムを暗号化してＣＤ−ＲＯＭ等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせる。そして、ダウンロードした鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
【０１１８】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される。その他、そのプログラムの指示に基づき、コンピュータ上で稼動しているＯＳなどが、実際の処理の一部または全部を行い、その処理によっても前述した実施形態の機能が実現され得る。
【０１１９】
さらに、記憶媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれる。その後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によっても前述した実施形態の機能が実現される。
【図面の簡単な説明】
【０１２０】
【図１】本発明の実施形態におけるネットワーク構成の一例を示すブロック図である。
【図２】本発明の実施形態におけるサーバーＰＣの構成例を示すブロック図である。
【図３】本発明の第１の実施形態における通常のコンテナ・リンクの一例を説明する図である。
【図４】本発明の第１の実施形態における通常のコンテナ・リンクの動作例を説明する図である。
【図５】本発明の第１の実施形態における縦横軸の転置リンクの説明及び設定方法の一例を説明する図である。
【図６】本発明の第１の実施形態における縦横軸の転置リンクの動作例の一例を説明する図である。
【図７】本発明の第１の実施形態における縦横軸の転置リンクの動作例の他の例を説明する図である。
【図８】本発明の第１の実施形態における判定手順の一例を説明するフローチャートである。
【図９】本発明の第２の実施形態における縦横軸の転置リンクの階層管理イメージの一例を説明する図である。
【図１０】本発明の第２の実施形態における縦横軸の転置リンクの階層における動作例の一例を説明する図である。
【図１１】本発明のレイアウト変種アプリケーションのブロック図の一例を説明する図である。
【図１２】本発明の第１の実施形態のレイアウト編集処理の一例を説明するフローチャートである。
【図１３】本発明の第１の実施形態のレイアウト計算処理の一例を説明する図である。
【図１４】本発明の第１の実施形態の処理を説明するフローチャートである。
【図１５】本発明のテンプレートとデータベースの関係の一例を説明する図である。
【図１６】本発明の第３の実施形態の縦長イメージと横長イメージのコンテンツデータを処理する際の一例を説明するフローチャートである。
【図１７】本発明のフローエリアの一例を説明する図である。
【図１８】本発明のフローエリアに対する設定画面の一例を説明する図である。
【図１９】本発明のサブテンプレートの一例を説明する図である。
【図２０】本発明のサブテンプレートをフローエリアに配置した一例を説明する図である。
【図２１】本発明の転置属性が設定されたサブテンプレートをフローエリアに配置した一例を説明する図である。
【図２２】本発明の転置属性をサブテンプレートに設定する設定画面の一例を説明する図である。
【符号の説明】
【０１２１】
４０１  縦長のイメージ
４０２  テキストデータ
４０３  テンプレート
４０４  横長のイメージ
【図１】
2008177689.tif 000003
【図２】
2008177689.tif 000004
【図３】
2008177689.tif 000005
【図４】
2008177689.tif 000006
【図５】
2008177689.tif 000007
【図６】
2008177689.tif 000008
【図７】
2008177689.tif 000009
【図８】
2008177689.tif 000010
【図９】
2008177689.tif 000011
【図１０】
2008177689.tif 000012
【図１１】
2008177689.tif 000013
【図１２】
2008177689.tif 000014
【図１３】
2008177689.tif 000015
【図１４】
2008177689.tif 000016
【図１５】
2008177689.tif 000017
【図１６】
2008177689.tif 000018
【図１７】
2008177689.tif 000019
【図１８】
2008177689.tif 000020
【図１９】
2008177689.tif 000021
【図２０】
2008177689.tif 000022
【図２１】
2008177689.tif 000023
【図２２】
2008177689.tif 000024