(57)【要約】【課題】  操作者がコンテンツの配置位置を指定することなく、異なる複数のレイアウトパターンを得ること。【解決手段】  コンテンツの配置領域の情報が定義されているレイアウトパターンに基づいてレイアウトを生成し、生成するレイアウトの異なり数が所定の個数に満たない場合、レイアウトパターンにより新規のレイアウトパターンを生成すること。【選択図】  図１３
2010072927.tif 000002
【特許請求の範囲】
【請求項１】
コンテンツの配置領域の情報が定義されているレイアウトパターンに基づいてレイアウトを生成するレイアウト手段と、
前記レイアウト手段の生成するレイアウトの異なり数が所定の個数に満たない場合、前記レイアウトパターンにより新規のレイアウトパターンを生成する生成手段とを有することを特徴とする情報処理装置。
【請求項２】
前記レイアウトパターン生成手段は、コンテンツの縦横比に基づく形状あるいはレイアウト出力領域の縦横比に基づく形状の少なくとも一方に応じてレイアウトパターンの組合せを生成することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記生成手段は、コンテンツの形状を分類し、縦長形状が多ければ、水平方向に配置領域を追加し、縦長形状が多くなければ、垂直方向に配置領域を追加することによりレイアウトパターンを生成することを特徴とする請求項１記載の情報処理装置。
【請求項４】
前記生成手段は、出力領域の形状を分類し、縦長の出力領域であれば、垂直方向に配置領域を追加し、縦長の出力領域でなければ、水平方向に配置領域を追加することによりレイアウトパターンを生成することを特徴とする請求項１記載の情報処理装置。
【請求項５】
前記生成手段により生成されたレイアウトパターンに基づく複数のレイアウト結果を表示する表示手段と、
前記表示手段により表示された複数のレイアウト結果の中からレイアウトを選択する選択手段とを有することを特徴とする請求項１記載の情報処理装置。
【請求項６】
コンテンツの配置領域の情報が定義されているレイアウトパターンに基づいてレイアウトを生成するレイアウトステップと、
前記レイアウトステップの生成するレイアウトの異なり数が所定の個数に満たない場合、前記レイアウトパターンにより新規のレイアウトパターンを生成する生成ステップとを有することを特徴とする情報処理方法。
【請求項７】
前記レイアウトパターン生成ステップは、コンテンツの縦横比に基づく形状あるいはレイアウト出力領域の縦横比に基づく形状の少なくとも一方に応じてレイアウトパターンの組合せを生成することを特徴とする請求項６に記載の情報処理方法。
【請求項８】
前記生成ステップは、コンテンツの形状を分類し、縦長形状が多ければ、水平方向に配置領域を追加し、縦長形状が多くなければ、垂直方向に配置領域を追加することによりレイアウトパターンを生成することを特徴とする請求項６記載の情報処理方法。
【請求項９】
前記生成ステップは、出力領域の形状を分類し、縦長の出力領域であれば、垂直方向に配置領域を追加し、縦長の出力領域でなければ、水平方向に配置領域を追加することによりレイアウトパターンを生成することを特徴とする請求項６記載の情報処理方法。
【請求項１０】
前記生成ステップにより生成されたレイアウトパターンに基づく複数のレイアウト結果を表示する表示ステップと、
前記表示ステップにより表示された複数のレイアウト結果の中からレイアウトを選択する選択ステップとを有することを特徴とする請求項６記載の情報処理方法。
【請求項１１】
コンテンツの配置領域の情報が定義されているレイアウトパターンに基づいてレイアウトを生成するレイアウトステップと、
前記レイアウトステップの生成するレイアウトの異なり数が所定の個数に満たない場合、前記レイアウトパターンにより新規のレイアウトパターンを生成する生成ステップとをコンピュータに実行させることを特徴とするプログラム。
【請求項１２】
前記レイアウトパターン生成ステップは、コンテンツの縦横比に基づく形状あるいはレイアウト出力領域の縦横比に基づく形状の少なくとも一方に応じてレイアウトパターンの組合せを生成することを特徴とする請求項１１に記載のプログラム。
【請求項１３】
前記生成ステップは、コンテンツの形状を分類し、縦長形状が多ければ、水平方向に配置領域を追加し、縦長形状が多くなければ、垂直方向に配置領域を追加することによりレイアウトパターンを生成することを特徴とする請求項１１記載のプログラム。
【請求項１４】
前記生成ステップは、出力領域の形状を分類し、縦長の出力領域であれば、垂直方向に配置領域を追加し、縦長の出力領域でなければ、水平方向に配置領域を追加することによりレイアウトパターンを生成することを特徴とする請求項１１記載のプログラム。
【請求項１５】
前記生成ステップにより生成されたレイアウトパターンに基づく複数のレイアウト結果を表示する表示ステップと、
前記表示ステップにより表示された複数のレイアウト結果の中からレイアウトを選択する選択ステップとを有することを特徴とする請求項１１記載のプログラム。
【請求項１６】
請求項１１乃至１５何れか記載のプログラムを記憶した記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、レイアウト処理を行う情報処理装置に関する。
【背景技術】
【０００２】
従来、オペレータがコンピュータを用いて文書素材となるコンテンツデータをレイアウトするＤＴＰ（デスクトップパブリッシング）等のレイアウト編集アプリケーションが用いられてきた。このようなレイアウト編集アプリケーションでは予めレイアウトテンプレートを用意しておき、テンプレートに素材のデータを当てはめることで文書生成する方法も用意されている。また、素材のコンテンツデータのレイアウトをオペレータが人力で行うのではなく、コンピュータプログラムによって自動的に配置するシステムも提案されている。
【０００３】
特許文献１によれば、素材の画像データの輪郭線に沿って所定幅の余白領域を付加して所与の領域に敷き詰め配置することで、画像間の余白を均一化したレイアウトを自動生成する画像レイアウト装置が考案されている。また、ページ上の余白量を最小にするように複数の画像を組合せ最小化アルゴリズムで配置する自動イメージレイアウト方法も考案されている（特許文献２参照。）。
【特許文献１】特開２０００−１５８８６１号公報
【特許文献２】特開平１１−２５０２７２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、前述した特許文献１、２の何れも余白領域の調整は可能にするが、文書素材となるコンテンツデータのレイアウトの異なる組合せを自動生成することができないため、操作者は様々なレイアウトバリエーションが得られないという問題があった。
【０００５】
本発明はこのような問題点に鑑みなされたもので、操作者がコンテンツの配置位置を指定することなく、異なる複数のレイアウトパターンの出力を可能とすることを目的とする。
【課題を解決するための手段】
【０００６】
そこで、本発明は、コンテンツの配置組合せ情報を定義して保持するレイアウトパターンに基づいてレイアウトを生成するレイアウト手段と、前記レイアウト手段の生成するレイアウトの異なり数が所定の個数に満たない場合、前記保持されているレイアウトパターンの組合せにより新規のレイアウトパターンを生成するレイアウトパターン生成手段と、を有することを特徴とする。
【０００７】
また、本発明は、情報処理方法、プログラム及び記憶媒体としてもよい。
【発明の効果】
【０００８】
本発明によれば、操作者が配置位置を指定することなく、異なる複数のレイアウトパターンの出力を可能とすることができる。
【発明を実施するための最良の形態】
【０００９】
以下、本発明の実施形態について図面に基づいて説明する。
【００１０】
＜実施形態１＞
図１は、情報処理装置（コンピュータ）のハードウェア構成の一例を示す図である。図１において、ＣＰＵ１１は、情報処理装置の各種制御を実行する。ＲＯＭ１２は、本装置の立ち上げ時に実行されるブートプログラムや各種データを格納する。ＲＡＭ１３は、ＣＰＵ１１によって実行される制御プログラムを格納すると共に、ＣＰＵ１１が各種制御を実行する際の作業領域を提供する。ＫＢ１４及びＰＤ１５は、ユーザによる各種入力操作環境を提供するヒューマンインターフェース装置で、それぞれキーボード及びマウス、トラックボールあるいはタッチパネルなどのポインティングデバイスである。
【００１１】
外部記憶装置１６は、ハードディスク、光ディスク、磁気ディスク、光磁気ディスク、磁気テープ等で構成される。但し、外部記憶装置１６は、制御プログラムや各種データを全てＲＯＭ１２に持つようにすれば、必ずしも必要な構成要素ではない。表示器１７は、ディスプレイ等で構成され、処理結果等をユーザに対して表示する。ネットワークインターフェース（ＮＩＣ）１８は、ネットワーク上の他の装置とＬＡＮケーブル等を介した通信を可能とする。また、バス１９は、上記各構成を接続する。
【００１２】
ＣＰＵ１１が、ＲＯＭ１２又は外部記憶装置１６に記憶されているプログラムに基づき、処理を実行することにより、後述する情報処理装置の機能及び／又はフローチャートの各処理が実現される。
【００１３】
図２は、情報処理装置の機能構成の一例を示す図である。
【００１４】
コンテンツ入力部２０１は、外部記憶装置１６に蓄積されたコンテンツの一例である画像やテキスト情報を文書素材としてレイアウト生成部２０２に指定する。テンプレート保持部２０４は、ページあるいはページを構成する部分レイアウトを記述した文書レイアウトテンプレート情報（以下、文書テンプレートという）を格納する。レイアウトパターン保持部２０５は、コンテンツ入力部２０１により入力指定されたコンテンツデータを組み合わせて部分レイアウトを生成する基本レイアウトパターン情報（以下、レイアウトパターンという）を格納する。また、レイアウトパターン生成部２０３は必要に応じてレイアウトパターン保持部２０５に格納されていないレイアウトパターンを生成し、レイアウトパターン保持部２０５に追加する。
【００１５】
レイアウト生成部２０２は、コンテンツ入力部２０１により入力指定されたコンテンツデータをレイアウトパターン保持部２０５に格納されたレイアウトパターンを参照して、部分レイアウトを生成する。さらにレイアウト生成部２０２は、テンプレート保持部２０４に格納された文書テンプレートを参照して、ページレイアウト処理を行い、出力部２０６に出力可能な文書データを生成する。
【００１６】
図３は、文書テンプレートの例を示す図である。
【００１７】
図３のＴ３１において、３１１及び３１５はテキスト情報を配置するテキスト枠であり、それぞれ既定の文字サイズと書体情報を格納する。３１２及び３１４はコンテンツを格納するコンテンツ枠間の可変の余白情報を格納し、余白の最小値、最大値を既定値として持つ。余白の既定値の単位はｍｍ（ミリメートル）である。３１３は写真やイラストなどの画像情報を配置するイメージ枠である。イメージ枠には複数個数の画像情報の組合せによるレイアウトパターンを配置することができ、推奨されるレイアウトパターンの異なりパターン数を格納する。図３のＴ３２はＴ３１とは異なるレイアウトを持つ文書テンプレートであり、Ｔ３１と同様にテキスト枠３２１及び３２３、余白領域３２２及び３２４、イメージ枠３２５とから構成され、文書テンプレートＴ３１とは異なるレイアウトを呈している。
【００１８】
図４は、レイアウトパターンの例を示す図である。
【００１９】
図４の（１）は単一の配置領域のみから定義される最も基本的なレイアウトパターンを表している。レイアウトパターンは矩形形状情報で表され保持されるが、その縦横比は固定の値を持たず、コンテンツの縦横比形状によって決定される。（２）はレイアウトパターン（１）に図７の７０１に示される画像７０１をあてはめた場合の動作を示す。画像７０１は高さＨ１、幅Ｗ１の形状メトリクスを持つ。レイアウトパターン（１）は画像７０１の高さ、幅によって決まる縦横比形状にパターン形状を決定する。同様に（３）は図７の画像７０３をあてはめた場合の形状である。（４）は２つの配置領域から構成されるレイアウトパターンを示している。（５）はレイアウトパターン（４）に図７の画像７０１と画像７０３をあてはめた場合の形状である。（６）は同じレイアウトパターン（４）に図７の画像７０２と画像７０３をあてはめた場合のレイアウトパターンの形状である。このようにレイアウトパターンはコンテンツの縦横比を保持しつつ余白を生じない矩形領域を形成する位置情報の構造体である。
【００２０】
図１７、図１８、図１９は、レイアウトパターンの構成の一例を示す図である。
【００２１】
レイアウトパターンはＸＭＬ（ｅＸｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）で記述される。図１７（１）において、１７１０は説明のために付した行番号であり、１７２０が本実施例のレイアウトパターンデータである。
【００２２】
図１７（１）の行番号００１０に示されるデータはレイアウトパターンデータの開始を宣言する要素であり、行番号０１００に示されるデータに括られた間が有効なレイアウトパターンデータである。行番号００２０に示される要素ｃｏｕｎｔは格納されているレイアウトパターンデータの個数を示し、行番号００４０で格納宣言を終了する。図１７（１）の例では行番号００３０に示される通り、１個のレイアウトパターンが格納される。行番号００６０に示される要素ｐａｔｔｅｒｎはレイアウトパターンの構造を示すデータ本体であり行番号００９０で格納宣言が終了されるまでが１個のレイアウトパターン構造の記述となり、格納個数分のデータが存在する。レイアウトパターンデータｐａｔｔｅｒｎは識別番号ｉｄを属性として持ち、他のレイアウトパターンデータと識別される。識別番号は図５および図６において後述するノード番号と対応している。すなわち、識別番号１のレイアウトパターンデータは図５（１）の１に示されるレイアウトパターンを意味している。行番号００６０に示される要素ｐａｒｅｎｔは当該レイアウトパターン生成の際の基準パターンを識別番号で格納する。図１７（１）の例は識別番号ではなく、ｒｏｏｔという特別な識別子が格納されている。ｒｏｏｔはあらゆるレイアウトパターンの元となる基本パターンであり、ｒｏｏｔレイアウトパターンは図４で先述の通り、そこにあてはめるコンテンツの矩形形状によって、領域の縦横比サイズが決定される。レイアウトパターンデータｐａｔｔｅｒｎは他に後述する隣接接続方向を示すｒｕｌｅ要素を持つが、ｒｏｏｔレイアウトパターンはｒｕｌｅ要素を持たない。
【００２３】
図１８は図５に示すレイアウトパターン１および１．１のデータ構成例を示す。図１７（１）に説明したレイアウトパターン１に加え、行番号０１００から行番号０１７０に括られたデータがレイアウトパターン１．１の構成を示す。行番号０１２０に示される基準パターン識別番号１は、当該レイアウトパターンがパターン識別番号１を持つパターンすなわち、ｐａｔｔｅｒｎ要素のｉｄ属性が１であるパターンに接続されて構成されることを示す。行番号０１４０に示される要素ｒｕｌｅはｐａｒｅｎｔ要素に示されるパターンへの隣接接続方向を示し、ｔｏｐ、ｒｉｇｈｔ、ｂｏｔｔｏｍ、ｌｅｆｔを値として持つ。行番号０１５０に示されるｒｉｇｈｔはｐａｒｅｎｔパターンの表す矩形の右辺の大きさに合わせた新しいレイアウトパターンが接続されて構成されたことを示している。
【００２４】
図１９は同様に図５に示すレイアウトパターン１、１．１、１．２、１．１．１、１．１．２の５つのレイアウトパターンの構成を示す。例えば、行番号０３４０から行番号０４１０に示すレイアウトパターン１．１．２は基準パターン１．１の下辺の大きさに合わせて新しいパターンを接続して構成する。参照する基準パターン１．１はｉｄ属性１．１を持つｐａｔｔｅｒｎデータを検索し、図１８において説明したパターンを得ることができる。
【００２５】
図５は、レイアウトパターンの組合せによる動的構成の一例を示す図である。
【００２６】
図４（１）に示すレイアウトパターンと図５（１）に示すレイアウトパターン１は同じパターンである。レイアウトパターン１は１個の領域から構成されるが、この領域の水平垂直方向に領域を併置していくことで新規パターンを生成する。新規のレイアウトパターン生成を行う場合、生成元となるレイアウトパターンと生成方向を指定し、生成方向が水平である場合、生成元パターンの右あるいは左に基本パターン１を付加してレイアウトパターン１．１を生成する。生成方向が垂直方向である場合、生成元パターンの下あるいは上に基本パターン１を付加してレイアウトパターン１．２を生成する。さらにパターン生成を継続すると、生成元パターンとしてパターン１．１、生成方向を水平とするとパターン１．１．１を生成する。また、生成元パターンを１．１、生成方向を垂直とするとパターン１．１．２およびパターン１．１．３が生成される。このように規則的に生成されたパターンが重複する場合、例えばパターン１．２．２の左方向に生成したパターンとパターン１．２．３を右方向に生成したパターンは同パターン１．２．２．２となるため、重複するパターンは排除する。生成されたレイアウトパターンは個々のパターンを識別する識別番号を割り付け図６に示すツリー状の構造で管理される。図６において、識別番号で表される各パターンはツリーのノードに相当し、ノードとノードをリンクする。リンクの左側が生成元であり、右側が生成されるパターンである。
【００２７】
図１１、図２０、図２１は、本実施形態の情報処理装置におけるオンデマンド自動レイアウト生成の一例を示す図である。
【００２８】
図１１はユーザの操作によりテキストや画像などのコンテンツをページ上に配置するレイアウト編集操作を表している。１１０１はレイアウト編集操作を行う操作表示枠を示している。操作表示枠１１０１はページ編集操作枠１１０２、コンテンツ指定操作部１１０９、自動レイアウト範囲指定操作ボタン１１０８、自動レイアウト操作指示ボタン１１０９とで構成されている。
【００２９】
コンテンツ指定操作部１１０９内のテキスト枠を挿入するテキスト枠挿入指示部１１０３をページ編集操作枠１１０２にポインティングデバイス１５によりドラッグすると、ページ操作枠１１０２にテキスト枠が作成される。そして、テキスト枠内にキーボード１４から入力された打鍵情報が文字コードとして入力される。入力された文字はフォント指定部１１０４、フォントサイズ指定部１１０５の操作で変更することが可能である。１１０６は画像挿入指示部で外部記憶装置１６に格納された画像情報を１１０７などのような縮小画像として一覧表示し、テキスト枠と同様、ポインティングデバイス１５によりドラッグすると、ページ操作枠１１０２に画像枠が作成される。
【００３０】
図２０は図１１の編集状態から自動レイアウト範囲指定操作ボタン１１０８を押下することにより、範囲指定モードとなり、ポインティングデバイス１５により自動レイアウト対象領域を範囲指定した状態を示している。範囲指定された領域１１１１は強調表示される。
【００３１】
図２１は範囲指定された状態で自動レイアウト操作指示ボタン１１０９を押下したことにより、範囲指定領域内のコンテンツを自動レイアウトした複数のレイアウト結果を一覧表示した状態を示す。図２１の１１１２はレイアウト結果表示枠であり、選択されているレイアウト候補１１１３が強調表示される。レイアウト候補はキーボードあるいはポインティングデバイスによる操作により次候補あるいは前候補に選択候補を変更することができる。１１１４は次候補があることを示す表示アイコンであり、１１１５は前候補があることを示す表示アイコンであるが、アイコンがグレーアウト表示されている場合は候補が存在していないことを意味する。１１１６は候補決定ボタンで、選択中のレイアウト候補をページ編集操作枠に挿入し、自動レイアウト処理を終了させる。１１１７は自動レイアウト処理の操作中止を指示するキャンセルボタンで、範囲指定操作指示前の図１１の状態に戻る。
【００３２】
図１２は、図１１に示すオンデマンド自動レイアウト操作において行われる自動レイアウト処理の一例を示すフローチャートである。なお、本フローチャートに関わるプログラムは外部記憶装置１６に記憶されており、ＲＡＭ１３に読み出され、ＣＰＵ１１により実行される。
【００３３】
ステップＳ１２１０において、操作者により図１１の自動レイアウト範囲指定操作ボタン１１０８を押下され、範囲指定モードとなり、操作者はポインティングデバイス１５により自動レイアウト対象領域を範囲指定する。
【００３４】
ステップ１２２０において、コンテンツ入力部２０１は、図２０の範囲指定領域内のテキストや画像などレイアウト対象のコンテンツを取得する。
【００３５】
ステップ１２３０においてステップ１２２０で取得したコンテンツをテキストか画像かの種別に応じて分別する。
【００３６】
ステップ１２４０においてステップ１２２０で取得したコンテンツの自動レイアウトを行う。ステップ１２４０の処理の詳細は、後述する図１３を用いて説明する。
【００３７】
次にステップ１２５０で自動レイアウト結果を所定の個数分ずつ表示枠１１１２に表示する。
【００３８】
自動レイアウト結果の表示は自動レイアウトパターンのスコアに応じて表示順を決めてもよい。また、レイアウト範囲指定時の既定のレイアウトとの類似性を算出し、スコアの逆順、すなわち類似しないものから表示して、操作者にとって思いがけないレイアウト結果を優先的に表示するようにしてもよい。
【００３９】
ステップ１２６０で、操作者により選択されたレイアウト結果をページ編集領域に反映させ処理を終了する。
【００４０】
図１３は、自動レイアウト生成処理の一例を示すフローチャートである。なお、本フローチャートに関わるプログラムは外部記憶装置１６に記憶されており、ＲＡＭ１３に読み出され、ＣＰＵ１１により実行される。
【００４１】
ステップ１３１０において、レイアウト生成部２０２はテンプレート保持部２０４に格納された文書テンプレートを取得する。
【００４２】
ステップ１３２０において、文書テンプレートが取得できたかどうか判定し、テンプレートがなければ自動レイアウト処理を終了する。テンプレートが取得できたと判定されたならばステップ１３３０へ進む。
【００４３】
ステップ１３３０において、生成レイアウト個数を取得する。生成レイアウト個数は図３の文書テンプレートにおいて前述のイメージ枠３１３の推奨されるレイアウトパターンの異なりパターン数を読み込む。イメージ枠３１３はｖａｒｉａｔｉｏｎパラメータとして５が読み込まれるので、生成レイアウト個数は５個となる。
【００４４】
次にステップ１３４０において、レイアウト対象コンテンツを取得する。レイアウト対象コンテンツは前述のステップ１２２０で取得されたコンテンツのうち、ステップ１２３０において画像と分別されたコンテンツを取得する。図２０に示す範囲指定の例においては図７に示される７０１、７０２、７０３の３個の画像が取得される。
【００４５】
次にステップ１３５０において、レイアウト生成部２０２はレイアウトパターン保持部２０５に格納されたレイアウトパターンデータを取得する。レイアウト生成部２０２にはあらかじめ前述の図４（１）に示すレイアウトパターン１つのみが格納されているものとする。
【００４６】
ステップ１３６０でレイアウトパターンがあるかどうか判定し、なければステップ１３７０へ、レイアウトパターンが取得できたならばステップ１３８０へ進む。
【００４７】
ステップ１３７０において、新規のレイアウトパターンを生成する。レイアウトパターン生成処理１３７０の詳細は、後述する図１４及び図１５を用いて説明する。
【００４８】
ステップ１３８０において取得されたレイアウトパターンにステップ１３４０で取得したコンテンツをあてはめてレイアウトを生成する。レイアウト生成処理１３８０の詳細は、後述する図１６を用いて説明する。
【００４９】
ステップ１３９０においてステップ１３３０で取得した生成レイアウト個数に達したかどうかレイアウト個数カウンタと比較し、満たしていればステップ１３１０へループし、満たしていなければステップ１３７０へループする。
【００５０】
図１６は、レイアウト生成処理の一例を示すフローチャートである。なお、本フローチャートに関わるプログラムは外部記憶装置１６に記憶されており、ＲＡＭ１３に読み出され、ＣＰＵ１１により実行される。
【００５１】
ステップ１６１０において、レイアウトパターンにレイアウト対象コンテンツを当てはめコンテンツを組み合わせたレイアウト構造を生成する。レイアウトパターンを構成する領域の個数とレイアウト対象のコンテンツの個数とが一致しなければレイアウトに失敗する。
【００５２】
レイアウトパターンの領域個数とコンテンツの個数とが一致する場合、例えば図８（１）に示されるレイアウトパターンに図７に示される７０１、７０２、７０３の３個の画像を当てはめてコンテンツの組合せレイアウト構造を生成する。次に、図８（２）のように左端の領域８１０に画像７０１をあてはめ、画像７０１の高さＨ１、幅Ｗ１の縦横比が保持されて、領域８１０の形状が高さＨ１、幅Ｗ１で決定される。領域８１０に接続されている領域８２０、領域８３０は高さを領域８１０に揃え、幅は任意の初期値をとる。続いて、図８（３）で画像７０２を領域８２０にあてはめると、画像７０２は高さをＨ１、幅をＷ２＊（Ｈ１／Ｈ２）とし、領域８２０の幅・高さを決定する。図８（３）で画像７０３を領域８３０にあてはめると、同様に画像７０３は高さをＨ１、幅をＷ３＊（Ｈ１／Ｈ３）として、領域８３０の幅・高さを決定する。また、同じ３個の画像を図９（１）に示されるレイアウトパターンに当てはめると、まず図９（２）のように領域９１０に画像７０１をあてはめ、画像７０１の高さＨ１、幅Ｗ１の縦横比が保持されて、領域９１０の形状が高さＨ１、幅Ｗ１で決定される。領域９１０に接続されている領域９２０、領域９３０は高さを領域９１０に揃えるために、それぞれの高さをＨ１＊（Ｈ２／（Ｈ２＋Ｈ３））、Ｈ１＊（Ｈ３／（Ｈ２＋Ｈ３））に按分し、幅は任意の初期値をとる。続いて、図９（３）で画像７０２を領域９２０にあてはめると、画像７０２は高さをＨ１＊（Ｈ２／（Ｈ２＋Ｈ３））、幅をＷ２＊（Ｈ１／（Ｈ２＋Ｈ３））とし、領域９２０の幅・高さを決定する。図９（３）で画像７０３を領域９３０にあてはめると、同様に画像７０３は高さをＨ１＊（Ｈ３／（Ｈ２＋Ｈ３））、幅をＷ３＊（Ｈ１／（Ｈ２＋Ｈ３））として、領域９３０の幅・高さを決定する。
【００５３】
ステップ１６２０でレイアウト構造が生成できたかどうか判定し、レイアウトに失敗したならば処理を終了し、レイアウトに成功したならばステップ１６３０へ進む。
【００５４】
ステップ１６３０において、ステップ１６１０で生成されたコンテンツのレイアウト構造を文書テンプレートのイメージ枠へ挿入し、また、図１２ステップ１２２０で入力されたテキストデータをテキスト枠へ挿入する。ステップ１６１０で生成されたレイアウト構造の一例である図８（３）を文書テンプレート図３のＴ３１にあてはめると、図１０（１）のレイアウトとなり、図９（３）のレイアウト構造を当てはめると図１０（２）のレイアウトとなる。
【００５５】
ステップ１６４０において、ステップ１６３０で文書テンプレートのコンテンツ配置枠にそれぞれ挿入されて完成したレイアウトの縦横比形状を保持しつつ、図１２ステップ１２１０で指定された範囲領域の実際の幅の大きさに合わせてスケーリングしてレイアウトを完成させる。そして、不図示のレイアウト個数カウンタをカウントアップして、処理を終了する。
【００５６】
図１４は、レイアウトパターン生成処理の一例を示すフローチャートである。なお、本フローチャートに関わるプログラムは外部記憶装置１６に記憶されており、ＲＡＭ１３に読み出され、ＣＰＵ１１により実行される。
【００５７】
ステップ１４１０において、図６に示すレイアウトパターンの管理ツリーから生成元となるノード番号を取得する。
【００５８】
ステップ１４２０において、レイアウト対象コンテンツの縦横比形状を分類する。
【００５９】
ステップ１４３０において縦横比形状に基づいて、縦長形状であるもの、すなわち縦方向サイズＨ、横方向サイズＷとしたときの比Ｈ／Ｗの値が１より大きいものの割合が５０％以上であるか否かを判定する。縦長形状が多い場合はステップ１４４０において、レイアウトパターン生成方向を水平方向に設定する一方、そうでない場合はステップ１４５０において垂直方向に設定する。
【００６０】
ステップ１４６０において、パターン生成元となるノード番号とステップ１４４０あるいはステップ１４５０で決定された生成方向で、図５において詳述した領域付加によるパターン生成を行う。そして、生成されたレイアウトパターンをステップ１４７０でパターンノードツリーに追加して処理を終了する。
【００６１】
図１５は、レイアウトパターン生成処理の別の一例を示すフローチャートである。なお、本フローチャートに関わるプログラムは外部記憶装置１６に記憶されており、ＲＡＭ１３に読み出され、ＣＰＵ１１により実行される。
【００６２】
ステップ１５１０において、図６に示すレイアウトパターンの管理ツリーから生成元となるノード番号を取得する。
【００６３】
ステップ１５２０において、レイアウト出力領域の形状を取得する。レイアウト出力領域はレイアウト対象の文書テンプレートにおけるイメージ枠の形状によって決定される。
【００６４】
ステップ１５３０において出力領域の縦横比形状に基づいて、縦長形状であるもの、すなわち縦方向サイズＨ、横方向サイズＷとしたときの比Ｈ／Ｗの値が１より大きいか否かを判定する。縦長形状である場合はステップ１５５０において、レイアウトパターン生成方向を垂直方向に設定し、そうでない場合はステップ１５４０において水平方向に設定する。
【００６５】
ステップ１５６０において、パターン生成元となるノード番号とステップ１５４０あるいはステップ１５５０で決定された生成方向で、図５において詳述した領域付加によるパターン生成を行う。そして、生成されたレイアウトパターンをステップ１５７０でパターンノードツリーに追加して処理を終了する。
【００６６】
以上、本実施形態によれば、予め多くのレイアウトパターンを保持せずとも、操作者が配置位置を指定することなく、異なる複数のレイアウトパターンの出力を可能とすることができる。
【００６７】
＜その他の実施形態＞
また、本発明の目的は、以下のようにすることによって達成される。即ち、上述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体（又は記録媒体）を、システム或いは装置に供給する。そして、そのシステム或いは装置の中央演算処理手段（ＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読み出し実行する。この場合、記憶媒体から読み出されたプログラムコード自体が上述した実施形態の機能を実現することになり、そのプログラムコードを記録した記憶媒体は本発明を構成することになる。
【００６８】
また、システム或いは装置の前記中央演算処理手段が読み出したプログラムコードを実行することにより、そのプログラムコードの指示に基づき、システム或いは装置上で稼働しているオペレーティングシステム（ＯＳ）等が実際の処理の一部又は全部を行う。その処理によって上述した実施形態の機能が実現される場合も含まれる。
【００６９】
更に、記憶媒体から読み出されたプログラムコードが、前記システム或いは装置に挿入された機能拡張カードや、接続された機能拡張ユニットに備わるメモリに書込まれたとする。その後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部又は全部を行い、その処理によって上述した実施形態の機能が実現される場合も含まれる。
【００７０】
本発明を前記記憶媒体に適用する場合、その記憶媒体（コンピュータ読み取り可能な記憶媒体）には、先に説明したフローチャートに対応するプログラムコードが格納されることになる。
【００７１】
以上、本発明の好ましい実施形態について詳述したが、本発明は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【図面の簡単な説明】
【００７２】
【図１】情報処理装置（コンピュータ）のハードウェア構成の一例を示す図である。
【図２】情報処理装置の機能構成の一例を示す図である。
【図３】文書テンプレートの一例を示す図である。
【図４】レイアウトパターンの例を示す図である。
【図５】レイアウトパターンの組合せによる動的構成の一例を示す図である。
【図６】レイアウトパターンデータの管理の一例を示す図である。
【図７】自動レイアウト対象のコンテンツの一例を示す図である。
【図８】レイアウトパターンにコンテンツを当てはめてレイアウトを生成する一例を示す図である。
【図９】レイアウトパターンにコンテンツを当てはめてレイアウトを生成する別の一例を示す図である。
【図１０】文書テンプレートからレイアウトを生成する一例を示す図である。
【図１１】オンデマンド自動レイアウト操作の一例を示す図である。
【図１２】オンデマンド自動レイアウト処理の一例を示すフローチャートである。
【図１３】自動レイアウト生成処理の一例を示すフローチャートである。
【図１４】レイアウトパターン生成処理の一例を示すフローチャートである。
【図１５】レイアウトパターン生成処理の別の一例を示すフローチャートである。
【図１６】レイアウト生成処理の一例を示すフローチャートである。
【図１７】レイアウトパターンの構成を示す図である。
【図１８】レイアウトパターンの構成を示す図である。
【図１９】レイアウトパターンの構成を示す図である。
【図２０】オンデマンド自動レイアウト操作の一例を示す図である。
【図２１】オンデマンド自動レイアウト操作の一例を示す図である。
【符号の説明】
【００７３】
１１  ＣＰＵ
１２  ＲＯＭ
１３  ＲＡＭ
１４  キーボード
１５  ポインティングデバイス
１６  外部記憶装置
１７  表示器
１８  ネットワークインターフェース
２０１  コンテンツ入力部
２０２  レイアウト生成部
２０３  レイアウトパターン生成部
２０４  テンプレート保持部
２０５  レイアウトパターン保持部
２０６  出力部
【図１】
2010072927.tif 000003
【図２】
2010072927.tif 000004
【図３】
2010072927.tif 000005
【図４】
2010072927.tif 000006
【図５】
2010072927.tif 000007
【図６】
2010072927.tif 000008
【図７】
2010072927.tif 000009
【図８】
2010072927.tif 000010
【図９】
2010072927.tif 000011
【図１０】
2010072927.tif 000012
【図１１】
2010072927.tif 000013
【図１２】
2010072927.tif 000014
【図１３】
2010072927.tif 000015
【図１４】
2010072927.tif 000016
【図１５】
2010072927.tif 000017
【図１６】
2010072927.tif 000018
【図１７】
2010072927.tif 000019
【図１８】
2010072927.tif 000020
【図１９】
2010072927.tif 000021
【図２０】
2010072927.tif 000022
【図２１】
2010072927.tif 000023