(57)【要約】【課題】  テンプレート内の領域とコンテンツが対応付けられていない場合もコンテンツの優先属性を活用したレイアウト処理を実現する。【解決手段】  優先属性が設定された優先コンテンツのサイズが、優先属性が設定されていない他のコンテンツのサイズよりも大きくなるように、複数の他のコンテンツを１つのコンテンツ配置領域に配置する。【選択図】  図３
2010072926.tif 000002
【特許請求の範囲】
【請求項１】
複数のコンテンツ配置領域を有するテンプレートと前記コンテンツ配置領域に配置されるコンテンツとを用いてレイアウト処理を実行するレイアウト処理方法であって、
少なくとも１つのコンテンツに対して、他のコンテンツよりもサイズが大きくなることを示す優先属性を設定する設定工程と、
前記優先属性が設定されていない他のコンテンツを１つのコンテンツ配置領域に対して配置することにより、前記優先属性が設定された優先コンテンツのサイズが、前記他のコンテンツのサイズよりも大きくなるように、前記優先コンテンツが配置されるコンテンツ配置領域と、前記他のコンテンツが配置されるコンテンツ配置領域とを決定する決定工程とを有することを特徴とするレイアウト処理方法。
【請求項２】
前記複数のコンテンツの中に、縦のサイズと横のサイズとの差が抽出条件を満たすコンテンツが有るか否かを判定する判定工程と、
前記判定工程において、前記抽出条件を満たすコンテンツがあると判定された場合、前記優先コンテンツが前記他のコンテンツよりも大きくならないことを報知する報知工程とを備えることを特徴とする請求項１に記載のレイアウト処理方法。
【請求項３】
前記設定工程において、複数のコンテンツに対し優先属性が設定された場合、前記決定工程は、当該複数のコンテンツのサイズが同じであり、かつ、当該複数のコンテンツのサイズが他のコンテンツのサイズよりも大きくなるように、当該複数の優先コンテンツが配置されるコンテンツ配置領域と、前記他のコンテンツが配置されるコンテンツ配置領域とを決定することを特徴とする請求項１または２に記載のレイアウト処理方法。
【請求項４】
前記決定工程における決定に従って、前記優先コンテンツと前記他のコンテンツとをコンテンツ配置領域に配置する配置工程を更に備えることを特徴とする請求項１乃至３のいずれか１項に記載のレイアウト処理方法。
【請求項５】
前記配置工程において前記優先コンテンツと前記他のコンテンツとが前記コンテンツ配置領域に配置されたレイアウト結果を表示する表示制御工程を更に備えることを特徴とする請求項４に記載のレイアウト処理方法。
【請求項６】
複数のコンテンツ配置領域を有するテンプレートと前記コンテンツ配置領域に配置されるコンテンツとを用いてレイアウト処理を実行するレイアウト処理装置であって、
少なくとも１つのコンテンツに対して、他のコンテンツよりもサイズが大きくなることを示す優先属性を設定する設定手段と、
前記優先属性が設定されていない他のコンテンツを１つのコンテンツ配置領域に対して配置することにより、前記優先属性が設定された優先コンテンツのサイズが、前記他のコンテンツのサイズよりも大きくなるように、前記優先コンテンツが配置されるコンテンツ配置領域と、前記他のコンテンツが配置されるコンテンツ配置領域とを決定する決定手段とを有することを特徴とするレイアウト処理装置。
【請求項７】
前記複数のコンテンツの中に、縦のサイズと横のサイズとの差が抽出条件を満たすコンテンツが有るか否かを判定する判定手段と、
前記判定手段において、前記抽出条件を満たすコンテンツがあると判定された場合、前記優先コンテンツが前記他のコンテンツよりも大きくならないことを報知する報知手段とを備えることを特徴とする請求項６に記載のレイアウト処理装置。
【請求項８】
前記設定手段において、複数のコンテンツに対し優先属性が設定された場合、前記決定手段は、当該複数のコンテンツのサイズが同じであり、かつ、当該複数のコンテンツのサイズが他のコンテンツのサイズよりも大きくなるように、当該複数の優先コンテンツが配置されるコンテンツ配置領域と、前記他のコンテンツが配置されるコンテンツ配置領域とを決定することを特徴とする請求項６または７に記載のレイアウト処理装置。
【請求項９】
前記決定手段における決定に従って、前記優先コンテンツと前記他のコンテンツとをコンテンツ配置領域に配置する配置手段を更に備えることを特徴とする請求項６乃至８のいずれか１項に記載のレイアウト処理装置。
【請求項１０】
前記配置手段において前記優先コンテンツと前記他のコンテンツとが前記コンテンツ配置領域に配置されたレイアウト結果を表示する表示制御手段を更に備えることを特徴とする請求項９に記載のレイアウト処理装置。
【請求項１１】
複数のコンテンツ配置領域を有するテンプレートと前記コンテンツ配置領域に配置されるコンテンツとを用いてレイアウト処理を実行するコンピュータにおいて実行されるレイアウト制御プログラムであって、
少なくとも１つのコンテンツに対して、他のコンテンツよりもサイズが大きくなることを示す優先属性を設定する設定工程と、
前記優先属性が設定されていない他のコンテンツを１つのコンテンツ配置領域に対して配置することにより、前記優先属性が設定された優先コンテンツのサイズが、前記他のコンテンツのサイズよりも大きくなるように、前記優先コンテンツが配置されるコンテンツ配置領域と、前記他のコンテンツが配置されるコンテンツ配置領域とを決定する決定工程とを前記コンピュータに実行させるコンピュータが読み取り可能なレイアウト制御プログラム。
【請求項１２】
前記複数のコンテンツの中に、縦のサイズと横のサイズとの差が抽出条件を満たすコンテンツが有るか否かを判定する判定工程と、
前記判定工程において、前記抽出条件を満たすコンテンツがあると判定された場合、前記優先コンテンツが前記他のコンテンツよりも大きくならないことを報知する報知工程とを備えることを特徴とする請求項１１に記載のレイアウト制御プログラム。
【請求項１３】
前記設定工程において、複数のコンテンツに対し優先属性が設定された場合、前記決定工程は、当該複数のコンテンツのサイズが同じであり、かつ、当該複数のコンテンツのサイズが他のコンテンツのサイズよりも大きくなるように、当該複数の優先コンテンツが配置されるコンテンツ配置領域と、前記他のコンテンツが配置されるコンテンツ配置領域とを決定することを特徴とする請求項１１または１２に記載のレイアウト制御プログラム。
【請求項１４】
前記決定工程における決定に従って、前記優先コンテンツと前記他のコンテンツとをコンテンツ配置領域に配置する配置工程を更に備えることを特徴とする請求項１１乃至１３のいずれか１項に記載のレイアウト制御プログラム。
【請求項１５】
前記配置工程において前記優先コンテンツと前記他のコンテンツとが前記コンテンツ配置領域に配置されたレイアウト結果を表示する表示制御工程を更に備えることを特徴とする請求項１４に記載のレイアウト制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、レイアウトするコンテンツの優先度（優先属性）に応じ、コンテンツとテンプレートの対応付けを行うコンテンツ対応付け方法に関する。
【背景技術】
【０００２】
従来、文書レイアウト処理の一例として、あらかじめ定められたレイアウト規則に従い、文書を構成するコンテンツをテンプレートに自動的にレイアウト（配置）する技術が知られている。
【０００３】
自動レイアウト技術では、コンテンツ配置領域を有するテンプレートとコンテンツとを用い、コンテンツ配置領域にコンテンツを対応付けることでレイアウト処理を実行する。
【０００４】
このような自動レイアウト技術は、バリアブルプリントシステムに代表されるシステムにて活用され、Ｏｎｅ−ｔｏ−Ｏｎｅマーケティングの分野などで幅広く用いられている。
【０００５】
自動レイアウト技術の目的の一つとして、顧客ニーズに合わせて顧客ごとにカスタマイズされた文書を作成することが挙げられる。この目的を実現するために、自動レイアウト処理におけるテンプレートに優先度を設定する技術が知られている。当該技術により、優先度が設定されたコンテンツ配置領域に配置されるコンテンツが、他のコンテンツ配置領域に配置されるコンテンツよりも大きく配置できる。
【特許文献１】特開２００７−１２２４８７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、上述した従来の優先度を活用したレイアウト処理では、テンプレートとコンテンツの対応付けが行われている必要があった。そのため、テンプレートとコンテンツの対応付けをあらかじめ行うことが難しい状況では、優先度を活用したレイアウト処理ができなかった。テンプレートとコンテンツの対応付けをあらかじめ行うことが難しい状況としては、多数のテンプレートを使用する場合や、テンプレートが自動的に生成される場合などが挙げられる。
【０００７】
多数テンプレートの使用は、多数のレイアウト結果を提示する場合に用いられる。また、テンプレートの動的生成は、多数のテンプレートを保持することを避けるため、もしくはより多くのレイアウト結果を生成したい場合に用いられることが多い。すなわち、多数のレイアウト結果の提示やテンプレートを自動的に生成する場合には、優先度設定を活用したレイアウト処理が困難であると言える。
【０００８】
そこで、本発明では優先度を活用したレイアウト処理を容易に実現することを目的とする。
【課題を解決するための手段】
【０００９】
上記の目的を達成するための本発明によるレイアウト処理方法は以下の構成を備える。
【００１０】
すなわち、複数のコンテンツ配置領域を有するテンプレートと前記コンテンツ配置領域に配置されるコンテンツとを用いてレイアウト処理を実行するレイアウト処理方法であって、少なくとも１つのコンテンツに対して、他のコンテンツよりもサイズが大きくなることを示す優先属性を設定する設定工程と、前記優先属性が設定されていない他のコンテンツを１つのコンテンツ配置領域に対して配置することにより、前記優先属性が設定された優先コンテンツのサイズが、前記他のコンテンツのサイズよりも大きくなるように、前記優先コンテンツが配置されるコンテンツ配置領域と、前記他のコンテンツが配置されるコンテンツ配置領域とを決定する決定工程とを有することを特徴とする。
【発明の効果】
【００１１】
本発明により、テンプレートとコンテンツが対応付けられていない場合も、優先度が高く設定されたコンテンツを大きくレイアウトすることができる。
【発明を実施するための最良の形態】
【００１２】
以下、図面を参照して本発明の好適な実施形態を詳細に説明する。
【００１３】
図１は、本発明に係る情報処理装置より構成されるネットワークシステムを示す図である。ネットワークシステムは各種データの伝送媒体となるネットワーク１０２上に複数の情報処理装置が接続されている。ネットワーク１０２は例えばＥｔｈｅｒｎｅｔ（登録商標）のようなＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）あるいはインターネットのような広域情報通信網であってもよい。各情報処理装置１から５は図２において後述する通信装置２０８を介して接続されている。
【００１４】
図２は、本発明に係る情報処理装置のハードウェア構成を示す図である。
【００１５】
図２の２０１は、マイクロプロセッサＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）であり、各処理のための演算、論理判断等を行い、バス２０９を介して各構成要素を制御する。
【００１６】
２０２は読み出し専用の固定メモリＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）であり、実行されるレイアウト制御プログラム等の制御プログラムコードを記憶する。
【００１７】
２０３は書き込み可能なＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）であり、各構成要素からの各種データの一時記憶に用いられる。
【００１８】
２０４は入力装置であり、情報（データ）の入力に用いられるマウス、キーボード等に該当する。
【００１９】
２０５はＣＲＴや液晶パネル等の表示装置であり、その表示装置におけるドット構成の表示パターンおよびカーソルの表示を表示装置コントローラ２０６が制御する。
【００２０】
２０７は外部記憶装置であり、種々の情報が格納される。また、これらのデータおよびプログラムを格納する記憶媒体としては、ＲＯＭ、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭなどを用いることができる。
【００２１】
２０８は通信装置であり、Ｅｔｈｅｒｎｅｔ（登録商標）などのネットワークに接続し、ネットワークシステムにおいて複数の情報処理装置同士を接続する役割を担う。
【００２２】
係る各構成要素からなる情報処理装置は、入力装置２０４からの入力および通信装置２０８から提供されるネットワーク経由の入力に応じて作動する。入力装置２０４からの入力および通信装置２０８からの入力が供給されると、インタラプト信号がＣＰＵ２０１に送られる。そのＣＰＵ２０１が外部記憶装置２０７内に記憶してある各種の制御信号を読み出し、それらの制御信号に従って、各種の制御が行われる。
【００２３】
また、本発明に係わるレイアウト制御プログラムを格納した記憶媒体をシステムあるいは装置に供給し、そのシステムあるいは装置のコンピュータが、記憶媒体に格納されたプログラムコードを読み出し実行することによっても本発明は達成される。
【００２４】
図３は本実施形態によるレイアウト処理の概要を説明する図である。
【００２５】
３０１はレイアウト対象となるコンテンツの集合である。３０２はコンテンツの集合の中で優先度（優先属性）が設定されたコンテンツを示す。当該優先度はユーザにより指示される。この優先度（優先属性）が設定されたコンテンツは、優先属性が設定されていないコンテンツよりも大きく配置される。なお、本願では、優先度（優先属性）が設定されたコンテンツを優先コンテンツと定義する。
【００２６】
３０３はレイアウト処理装置であり、３０１のコンテンツと３０４のテンプレートとに基づきレイアウト処理を行う。３０５は、３０３のレイアウト処理装置によるレイアウト結果である。
【００２７】
優先属性が設定されたコンテンツのサイズはレイアウト結果３０５において他のコンテンツに比べて大きく配置されている。ユーザは、３０５の複数のレイアウト結果から所望とするレイアウト結果を選択して、印刷や保存等を行う。
【００２８】
図４は本実施形態を構成する機能ブロック図である。図４に示すように入力手段４０１、出力手段４０２、テンプレート保持手段４０３、テンプレート選択手段４０４、コンテンツ対応付け手段４０５、レイアウト手段４０６から構成される。
【００２９】
入力手段４０１は、コンテンツの指定や優先属性の設定、レイアウト選択などユーザによる操作指示およびコンテンツなどの各種データの入力を受け付ける。
【００３０】
出力手段４０２は、レイアウトの結果やユーザ指示のためのマウスポインタなどを表示する。
【００３１】
テンプレート保持手段４０３は、テンプレートを保持している。なお、テンプレートに関しては、図６を用いて後述する。
【００３２】
テンプレート選択手段４０４は、テンプレート保持手段４０５からテンプレートを選択する。テンプレートの選択は、コンテンツ数に応じて行われる。
【００３３】
コンテンツ数とテンプレートの対応関係は、図１９に一例を示すテンプレートテーブルにより定義されている。
【００３４】
コンテンツ対応付け手段４０５は、テンプレート選択手段により選択されたテンプレートと入力手段４０１により指定されたコンテンツを対応付ける。
【００３５】
コンテンツ対応付け手段の処理は図１７を用いて説明する。
【００３６】
レイアウト手段４０６は、テンプレート選択手段４０４により選択されたテンプレートとコンテンツ対応付け手段４０５により対応付けられたコンテンツに基づき、レイアウト処理を行う。レイアウト処理の概要は図７から図１６を用いて説明する。
【００３７】
なお、上述した各手段の処理は、ＣＰＵ２０１により実現される。
【００３８】
図５は本実施形態の処理概要を示すフローチャートである。なお、本願のフローチャートの各ステップは、ＣＰＵ２０１がフローチャートを実行するためのプログラムをメモリから読み出して実行することにより実現される。
【００３９】
ステップＳ５０００では、入力手段４０１が、レイアウト対象となるコンテンツを指定する。指定されたコンテンツに関するデータはコンテンツデータテーブルに記憶される。コンテンツデータテーブルに関しては、図２０を用いて説明する。
【００４０】
ステップＳ５００１では、入力手段４０１が、ステップＳ５０００で指定されたコンテンツに対して優先属性を設定する。なお、設定結果は図２０のコンテンツデータテーブルに反映される。
【００４１】
ステップＳ５００２では、テンプレート選択手段４０４が、レイアウト処理を行うためにテンプレートを選択する。
【００４２】
ステップＳ５００３では、コンテンツ対応付け手段４０５が、ステップＳ５００２にて選択されたテンプレートに対して、ステップＳ５０００で指定されたコンテンツを対応付ける。なお、コンテンツ対応付け処理の詳細は、図１７を用いて説明する。
【００４３】
ステップＳ５００４では、レイアウト手段４０６が、ステップＳ５００３で行われたテンプレートコンテンツの対応情報に基づき、レイアウト処理を実行する。なお、レイアウト処理の概要は、図７から図１６を用いて説明する。
【００４４】
ステップＳ５００５では、出力手段（表示制御手段）４０２が、ステップＳ５００４のレイアウト処理結果を出力（表示）する。ステップＳ５００５の処理結果の一例が、図３におけるレイアウト結果３０５である。
【００４５】
ステップＳ５００５の後、入力手段４０１が、ステップＳ５００５のレイアウト結果からユーザの指示に従ってレイアウト結果を選択し、印刷処理等の出力を行う。
【００４６】
図６は本実施形態におけるテンプレートの一例を示す図である。図６のテンプレートは、複数のコンテンツ配置領域６０１を組み合わせることで構成されているが、コンテンツ配置領域は１つでも良い。
【００４７】
図６に示すように、コンテンツ配置領域６０１の組み合わせにより、様々なテンプレートを定義できる。
【００４８】
また、コンテンツ配置領域６０１内には複数のコンテンツを配置でき、コンテンツを配置する方向（コンテンツ配置方向６０２）が定義されている。
【００４９】
次に、図７から図１６を用いて、本実施形態におけるレイアウト処理の概要について説明する。
【００５０】
本実施形態におけるレイアウト処理は、配置するコンテンツのアスペクト比を保ち、かつ、余白を作らないようにコンテンツをコンテンツ配置領域に配置する。
【００５１】
図７のテンプレートおよび図８のコンテンツを用いたレイアウト処理により得られるレイアウト結果の具体例を示す。
【００５２】
図７のテンプレートに対して図８のコンテンツ８０１、８０２を配置した場合、レイアウト結果は図９（ａ）、（ｂ）となる。図９（ａ）、（ｂ）から、コンテンツ８０１のアスペクト比に合わせてテンプレートのコンテンツ配置領域が変更されていることがわかる。
【００５３】
一方、コンテンツ８０１とコンテンツ８０２とが図７のテンプレートのコンテンツ配置領域に配置された場合、図１０に示すレイアウト結果が得られる。図１０から、２つのコンテンツのアスペクト比が保たれていることがわかる。
【００５４】
図７のテンプレートとはコンテンツの配置方向が異なる図１１のテンプレートにコンテンツ８０１とコンテンツ８０２を配置した場合、図１２に示すレイアウト結果が得られる。コンテンツの配置方向によらず、配置される各コンテンツのアスペクト比は保たれる。なお、コンテンツの配置方向が縦であるコンテンツ配置領域の横のサイズは、当該コンテンツ配置領域に最初に配置されたコンテンツデータの横のサイズとなる。つまり、図１２では、コンテンツ８０１の横のサイズが、図１２のコンテンツ配置領域の横のサイズに相当する。一方、コンテンツの配置方向が横であるコンテンツ配置領域の縦のサイズは、当該コンテンツ配置領域に最初に配置されたコンテンツデータの縦のサイズとなる。
【００５５】
複数のコンテンツ配置領域から構成されるテンプレートの一例を図１３に示す。
【００５６】
コンテンツ配置領域１３０１にコンテンツ８０１およびコンテンツ８０２を配置し、コンテンツ配置領域１３０２にコンテンツ８０３を配置した場合、各コンテンツのアスペクト比が保たれるように配置され、図１４のレイアウト結果が得られる。
【００５７】
一方、図１５のテンプレートのコンテンツ配置領域１５０１に、コンテンツ８０１とコンテンツ８０２を配置し、コンテンツ配置領域１５０２にコンテンツ８０３を配置した場合のレイアウト結果が図１６である。
【００５８】
図１７は、本実施形態におけるテンプレートとコンテンツの対応付け処理を示すフローチャートである。
【００５９】
ステップＳ１７０００では、コンテンツ対応付け手段４０５が、選択されているテンプレートの情報を管理するために、テンプレート管理テーブルを生成する。なお、選択されているテンプレートとは、図５におけるステップＳ５００２において選択されたテンプレートを指す。
【００６０】
テンプレート管理テーブルは、図２１に示すようにテンプレートＩＤ２１０１と対応付けテーブルＩＤ２１０２、処理終了フラグ２１０３から構成される。テンプレートＩＤはテンプレートを特定する数値であり、テンプレートＩＤを用いることでテンプレートへアクセスできる。対応付けテーブルＩＤは、テンプレートと対応するコンテンツデータの組み合わせを定義したテーブルを示すＩＤである。対応付けテーブルＩＤに関しては、図１８を用いて説明する。処理終了フラグ２１０３は、テンプレートに対する対応付けテーブルの作成終了を示すフラグである。
【００６１】
ステップＳ１７００１では、コンテンツ対応付け手段４０５が、ステップＳ１７０００で生成されたテンプレート管理テーブルを参照し、処理を行うテンプレートを特定する。コンテンツ対応付け手段４０５は、テンプレート管理テーブルのテンプレートＩＤの値を昇順で参照し、処理終了フラグが有効になっていないものを選択する。選択されたテンプレートに基づき、テンプレート内のコンテンツ配置領域とコンテンツデータの対応付けを管理するための対応付けテーブルを生成する。対応付けテーブルは、図１８に示すようにテーブルＩＤ１８０１、領域Ｎｏ１８０２、対応コンテンツＮｏ１８０３から構成される。テーブルＩＤ１８０１は、生成した対応付けテーブルを特定するためのＩＤである。領域Ｎｏ１８０２は、テンプレート内のコンテンツ配置領域を特定するために使用され、各コンテンツ配置領域とコンテンツとの対応付け関係を示すために使用される。対応コンテンツＮｏ１８０３は、コンテンツ配置領域に配置されるコンテンツＮｏを示す。コンテンツＮｏはコンテンツデータテーブルのコンテンツＮｏと対応付けられており、対応コンテンツＮｏを用いて、コンテンツへアクセスできる。コンテンツデータテーブルに関しては、図２０を用いて後述する。
【００６２】
ステップＳ１７００２では、コンテンツ対応付け手段４０５が、テンプレート内のコンテンツ配置領域の１つを選択し、選択されたコンテンツ配置領域に対して優先コンテンツを配置する。コンテンツ配置領域の選択は、優先コンテンツ配置情報に基づき行われる。優先コンテンツ配置情報は、初期値が１であり、後の処理により変更される。優先コンテンツ配置情報が１の場合、優先コンテンツを配置する領域は、対応付けテーブルにおける領域Ｎｏが１の領域である。優先コンテンツ配置情報が後の処理により２となった場合は、対応付けテーブルにおける領域Ｎｏ２のコンテンツ配置領域に優先コンテンツが配置される。
【００６３】
優先コンテンツの配置結果は、対応付けテーブル内に記載される。たとえば、図２２に示されるテンプレートの場合、対応付けテーブルは図１８のように作成される。また、図２２のテンプレートに配置されるコンテンツは図２３に示す９個のデータであり、コンテンツＮｏ．１（コンテンツ２３０１）に対して優先的にレイアウトされることを示す優先属性が設定されている。
【００６４】
コンテンツを配置する場合を考えると、優先コンテンツ配置情報の値が１の場合は、領域Ｎｏ１に配置される対応コンテンツＮｏとして、優先属性が設定されているコンテンツＮｏ．１（図２３の例では、コンテンツ２３０１）が記載される（図２４）。
【００６５】
ステップＳ１７００３では、コンテンツ対応付け手段４０５が、優先コンテンツが他のコンテンツ（優先属性が設定されていないコンテンツ）よりも大きくなるための条件（数式）を導出する。
【００６６】
具体的には、優先コンテンツが他のコンテンツ（優先属性が設定されていないコンテンツ）よりも大きくなるために、コンテンツ対応付け手段４０５が、どのコンテンツ配置領域にどのコンテンツデータを配置するかを決定するための条件を導出する。例えば、コンテンツ配置領域１に１つの優先コンテンツが配置される場合、コンテンツ配置領域２および３に対して、いくつのコンテンツを配置すれば、コンテンツ配置領域１に配置される優先コンテンツが最大サイズとなるかを数式化する。
【００６７】
図２３のコンテンツ２３０１〜２３０９を図２２に示すテンプレートに配置する場合を例に数式（条件）の導出処理を説明する。まず、優先コンテンツはコンテンツ配置領域１に配置される。
【００６８】
続いて、優先コンテンツが配置されていない各コンテンツ配置領域のコンテンツ配置方向を参照し、優先コンテンツを大きくすることができるか判定する。判定の結果、優先コンテンツを大きくできると判定された場合、優先コンテンツを他のコンテンツよりも大きくするための条件を数式化する。一方、優先コンテンツを大きくできないと判定された場合、数式が無効であることを示す情報を定義する。なおこの判定方法は、優先コンテンツが配置されないコンテンツ配置領域のコンテンツ配置方向が縦の場合、そのコンテンツ配置領域の左右に優先コンテンツが配置されたコンテンツ配置領域があるかを判定する。一方、優先コンテンツが配置されないコンテンツ配置領域のコンテンツ配置方向が横の場合、そのコンテンツ配置領域の上下に優先コンテンツが配置されたコンテンツ配置領域があるかを判定する。この判定で否と判定された場合、優先コンテンツを大きくできないと判定する。具体例として、図２２を用いて説明する。優先コンテンツが配置されないコンテンツ配置領域２のコンテンツ配置方向は縦である。そして、コンテンツ配置領域２の左に優先コンテンツが配置されるコンテンツ配置領域１が存在する。つまり、コンテンツ配置領域２にコンテンツを流しこむことによりコンテンツ配置領域２が拡大することに従い、優先コンテンツが配置されるコンテンツ配置領域１が拡大される。このようなケースが、優先コンテンツを大きくすることができるケースに相当する。
【００６９】
続いて、条件を数式化する点について、一例を挙げて説明する。
【００７０】
コンテンツ配置領域２は、コンテンツ配置方向が縦なので、コンテンツ配置領域２に対してコンテンツ配置領域１よりも多くのコンテンツを配置すれば、領域１のコンテンツよりも領域２に配置された各コンテンツの方が小さくなる可能性がある。今回、コンテンツ配置領域１に配置されているコンテンツの数は１つなので、コンテンツ配置領域２のコンテンツの数は、１＜（領域２のコンテンツ数）・・・式（１）を作成できる。
【００７１】
続いて、コンテンツ配置領域３について考える。コンテンツ配置領域３の幅は、領域１と領域２の幅の合計値と同じである。すなわち、コンテンツ配置領域１と２の幅がコンテンツ配置領域３のサイズに影響を与える。コンテンツ配置領域１は優先コンテンツが１つだけ配置される。一方、コンテンツ配置領域２は複数のコンテンツが配置されることになるが、コンテンツ数により領域の幅は影響しない。（領域２はコンテンツ配置方向が縦なので、幅方向の大きさはコンテンツ数に影響しない）。したがって、コンテンツ配置領域３はコンテンツ配置領域１と２という２つのコンテンツ配置領域から影響を受け、コンテンツ配置領域２のコンテンツ数には依存しないことがわかる。すなわち、コンテンツ配置領域３が影響を受けるのは、コンテンツ配置領域の数であるため、２＜（コンテンツ配置領域３のコンテンツ数）・・・式（２）と表現できる。
【００７２】
さらに、テンプレートに配置される対象となっているコンテンツ数は図２３に示す通り９個である。そして、コンテンツ配置領域１には１つのコンテンツが配置されることが決まっているので、コンテンツ配置領域２と３に配置されるコンテンツの数は８となる。よって、（コンテンツ配置領域２のコンテンツ数）＋（コンテンツ配置領域３のコンテンツ数）＝８・・・式（３）という式が導ける。
【００７３】
ステップＳ１７００４では、コンテンツ対応付け手段４０５が、ステップＳ１７００３で作られた数式から各コンテンツ配置領域に配置すべきコンテンツの数を導出する。
【００７４】
ステップＳ１７００３にて例示した数式（１）、（２）、（３）からは、１＜（領域２のコンテンツ数）＜６という関係と、２＜（領域３のコンテンツ数）＜７いう関係が導出される。
【００７５】
ステップＳ１７００５では、コンテンツ対応付け手段４０５が、ステップＳ１７００４でコンテンツ数が算出できたか判定する。なお、コンテンツ数を判定できなかった場合、ステップＳ１７００３において、数式無効である情報が定義されていた場合である。
【００７６】
ステップＳ１７００６では、コンテンツ対応付け手段４０５が、ステップＳ１７００４にて導出されたコンテンツの数に基づき、各コンテンツ配置領域に配置するコンテンツを決定する。各コンテンツ配置領域に配置するコンテンツデータの決定に関しては、乱数生成用のアルゴリズムを用いてランダムに対応付ける。ただし、各コンテンツ配置領域に対応付け可能なコンテンツ数の制約を守るよう配置する。対応付けられたコンテンツの情報は、対応付けテーブルに記憶される。
【００７７】
このＳ１７００６の処理により、例えば図２５のような対応付けテーブルが生成される。レイアウト処理自体は後の処理となるが、説明のため図２５の場合のレイアウト結果を図２６に示す。図２６からもわかるように、優先属性の設定されたコンテンツが大きく表示される。
【００７８】
本実施形態では、乱数生成によるランダムな対応付けを行ったが、コンテンツＮｏを順番に対応付ける方法としてもよい。また、コンテンツ数の制約を守るすべてのパターンを生成してもよいこととする。
【００７９】
ステップＳ１７００７では、コンテンツ対応付け手段４０５が、優先コンテンツ配置情報を用いてすべてのコンテンツ配置領域に対して優先コンテンツを配置したかを判定する。判定方法は、優先コンテンツ配置情報の値と、対応付けテーブルにおける領域Ｎｏの最大値とを比較することにより行う。優先コンテンツ配置情報の値と対応付けテーブルにおける領域Ｎｏの最大値が等しい場合は、すべてのコンテンツ配置領域に対して優先コンテンツを配置したと判定し、ステップＳ１７００８へ移行する。全てのコンテンツ配置領域に優先コンテンツを配置していないと判定された場合、優先コンテンツ配置情報に対して値１を加算して、ステップＳ１７０００へ移行する。
【００８０】
ステップＳ１７００８では、コンテンツ対応付け手段４０５が、テンプレート管理テーブルに定義されたすべてのテンプレートに対する処理が終了したか判定する。すべてのテンプレートに対して処理が終了している場合は、処理を終了する。すべてのテンプレートに対して処理が終了していない場合は、優先コンテンツ配置情報の値を１に初期化し、処理対象となっていたテンプレートの処理終了フラグを有効にして、ステップＳ１７０００へ移行する。ここで言う、処理終了フラグとは、テンプレート管理テーブル内のものである。
【００８１】
以上のコンテンツ対応付け処理では、対応付けられるコンテンツの数の算出ができなかった場合に処理を終了していたが、算出できなかった場合はテンプレートのコンテンツ配置方向を変更してもよい。テンプレート中のコンテンツ配置方向を変更することで、ステップＳ１７００３において作成する数式が変更されることで対応できる可能性が生じる。
【００８２】
また、以上の処理フローにおける説明では優先属性が設定された優先コンテンツが１つの場合を例示したが、優先属性が複数のコンテンツに設定されてもが問題ない。優先属性が設定されたコンテンツが２つの場合、複数の優先コンテンツが１つずつコンテンツ配置領域に配置されることで配置処理が実現される。図２７は、以上の処理フローにて例示した場合において、優先属性が設定されたコンテンツの数を２つに増やした場合のレイアウト結果の一例である。
【００８３】
図１９は本実施形態におけるテンプレートテーブルの一例を示す図である。図１９に示すようにテンプレートテーブルは、コンテンツ数１９０１およびテンプレートＩＤ１９０２から構成され、コンテンツ数とテンプレート関係を定義している。たとえば、図１９においてコンテンツ数が１の場合、優先コンテンツが他のコンテンツよりも大きくなるように配置できるテンプレートは、テンプレートＩＤ１、３、４、１０・・・のテンプレートであることがわかる。
【００８４】
図２０は本実施形態におけるコンテンツデータテーブルの一例を示す図である。コンテンツデータテーブルは、コンテンツＮｏ２００１、コンテンツの幅２００２、コンテンツの高さ２００３、コンテンツの優先属性２００４、コンテンツの実データへのファイルシステム上のパス２００５から構成される。コンテンツＮｏはコンテンツデータを特定するための一意な値である。コンテンツの幅２００２および高さ２００１は、コンテンツデータの幅と高さをピクセル単位で表現したものである。優先属性２００４は、コンテンツ配置の優先属性情報を示すものであり、優先属性を設定したい場合は１、設定しない場合は０を設定する。
【００８５】
以上、説明したように、本実施形態ではコンテンツとテンプレートがあらかじめ対応付けられていない場合も優先属性が設定されたコンテンツのサイズを優先属性が設定されていないコンテンツよりも大きく配置できる。
【００８６】
このため、本実施形態において示したような多数のテンプレートに対するレイアウト処理のようにコンテンツの対応付けをあらかじめ行うことが困難な状況でも優先属性を活用することができる。
【００８７】
優先属性が設定されたコンテンツサイズが大きくなるようなレイアウトの作成は、すべてのパターンのレイアウト処理を行えば知ることができるが、処理負荷が非常に大きくなる。本実施形態によれば、処理負荷を最小に抑えつつ優先属性を活用することができる。
【００８８】
上記本実施形態では、テンプレートが多数な場合について説明を行ったが、テンプレートを動的に生成する場合でも有効である。基本的なテンプレート情報の組み合わせによりテンプレートを動的に生成して、生成されたテンプレートに対してコンテンツの対応付けを行うことにより優先属性を活用したレイアウト処理が実現できる。
【００８９】
また、上記本実施形態では、テンプレート選択の方法としてコンテンツ数を用いたが、他の方法でもよい。たとえば、コンテンツの内容を解析して、解析結果に基づきテンプレートを選択する方法でも本発明は適用可能である。
【００９０】
本実施形態では、テンプレートとしてコンテンツ配置領域に複数コンテンツを配置することを許していたが、コンテンツ配置領域に対しては１つのコンテンツのみ配置可能という制約を設けてもよい。
【００９１】
また、一方では、図２８のようなコンテンツ２８０１〜２８０３（優先コンテンツは２８０１）を図２９のテンプレートに対応付ける際に図１７の処理を適用すると、図３０のような結果が得られる。なお、図３０は、優先コンテンツ２８０１をコンテンツ配置領域２９０１に対応付けた場合の処理結果である。また、図２８のコンテンツ２８０１のサイズは、５０（縦）×５０（横）であり、コンテンツ２８０２のサイズは、２５（縦）×５０（横）であり、コンテンツ２８０３のサイズは、１（縦）×１００（横）である。
【００９２】
図３０の結果では、優先コンテンツ２８０１よりも他のコンテンツが大きくなってしまい所望とする結果が得られない。これは、コンテンツ２８０２の縦と横のサイズの差が大きすぎることに起因する。このような課題を防ぐために、テンプレートに割り当てられるコンテンツの中に縦と横の長さの差が抽出条件（例えば、縦と横の差が５０以上など）を満たさないコンテンツがあると判断された場合、図１７の処理を実行することなくエラー処理を実行する。エラー処理の具体例とは、優先コンテンツを他のコンテンツよりも大きいサイズにて出力できないことを示すメッセージを報知する。
【００９３】
また、コンテンツの中に縦と横の長さの差が大きいことにより、優先コンテンツが、優先属性が設定されていないコンテンツよりも大きくならない場合、縦と横の長さの差が大きいコンテンツの一部を削除する。この処理により、優先コンテンツのサイズが最大になるようにレイアウト処理を実行してもよい。
【００９４】
また、図１７のＳ１７０００６の処理が実行された後、コンテンツ対応付け手段は、優先コンテンツが他のコンテンツよりも大きいかを判定し、大きいと判定された場合は、Ｓ１７００７へ移行する。一方、コンテンツ対応付け手段が、優先コンテンツが他のコンテンツよりも小さいと判定した場合、今回のレイアウト処理を無効としてＳ１７００７へ進む。
【００９５】
本願では、コンテンツ配置領域の数よりも多い数のコンテンツを配置する例について説明したが、コンテンツ配置領域の数とコンテンツの数とが同数であっても良い。
【００９６】
本発明の目的は前述した実施形態の機能を実現するソフトウエアのプログラムコードを記録した記録媒体を装置に供給し、その装置のコンピュータが記録媒体に格納されたプログラムコードを実行することでも、達成される。この場合、記録媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することとなり、そのプログラムコードを記録した記録媒体は本発明を構成することになる。
【００９７】
プログラムコードを供給するための記録媒体としては、たとえば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＤＶＤなどを用いることができる。
【００９８】
また、前記プログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム（ＯＳ）などが処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。
【００９９】
さらに、記録媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードなどに備わるメモリに書き込まれた後、その機能拡張ボードに備わるＣＰＵが処理の一部または全部を行い、前述した実施形態の機能が実現される場合も含まれる。
【図面の簡単な説明】
【０１００】
【図１】本発明におけるネットワークシステム構成図を示す図である。
【図２】本発明における装置構成図を示す図である。
【図３】本発明におけるレイアウト処理概要の一例を示す図である。
【図４】本発明における機能ブロック図を示す図である。
【図５】本発明における全体処理概要を示すフローチャートである。
【図６】本発明におけるテンプレートの一例を示す図である。
【図７】本発明におけるテンプレートの一例を示す図である。
【図８】本発明におけるコンテンツデータの一例を示す図である。
【図９】本発明におけるレイアウト結果の一例を示す図である。
【図１０】本発明におけるレイアウト結果の一例を示す図である。
【図１１】本発明におけるテンプレートの一例を示す図である。
【図１２】本発明におけるレイアウト結果の一例を示す図である。
【図１３】本発明におけるテンプレートの一例を示す図である。
【図１４】本発明におけるレイアウト結果の一例を示す図である。
【図１５】本発明におけるテンプレートの一例を示す図である。
【図１６】本発明におけるレイアウト結果の一例を示す図である。
【図１７】本発明におけるテンプレートとコンテンツ対応付け処理を示すフローチャートである。
【図１８】本発明における対応付けテーブルの一例を示す図である。
【図１９】本発明におけるテンプレートテーブルの一例を示す図である。
【図２０】本発明におけるコンテンツデータテーブルの一例を示す図である。
【図２１】本発明におけるテンプレート管理テーブルの一例を示す図である。
【図２２】本発明におけるテンプレートの一例を示す図である。
【図２３】本発明におけるコンテンツデータの一例を示す図である。
【図２４】本発明における対応付けテーブルの一例を示す図である。
【図２５】本発明における対応付けテーブルの一例を示す図である。
【図２６】本発明におけるレイアウト結果の一例を示す図である。
【図２７】本発明におけるレイアウト結果の一例を示す図である。
【図２８】本発明におけるコンテンツの一例を示す図である。
【図２９】本発明におけるテンプレートの一例を示す図である。
【図３０】本発明におけるレイアウト結果の一例を示す図である。
【符号の説明】
【０１０１】
１０１  情報処理装置
１０２  ネットワーク
２０１  ＣＰＵ
２０２  ＲＯＭ
２０３  ＲＡＭ
【図１】
2010072926.tif 000003
【図２】
2010072926.tif 000004
【図３】
2010072926.tif 000005
【図４】
2010072926.tif 000006
【図５】
2010072926.tif 000007
【図６】
2010072926.tif 000008
【図７】
2010072926.tif 000009
【図８】
2010072926.tif 000010
【図９】
2010072926.tif 000011
【図１０】
2010072926.tif 000012
【図１１】
2010072926.tif 000013
【図１２】
2010072926.tif 000014
【図１３】
2010072926.tif 000015
【図１４】
2010072926.tif 000016
【図１５】
2010072926.tif 000017
【図１６】
2010072926.tif 000018
【図１７】
2010072926.tif 000019
【図１８】
2010072926.tif 000020
【図１９】
2010072926.tif 000021
【図２０】
2010072926.tif 000022
【図２１】
2010072926.tif 000023
【図２２】
2010072926.tif 000024
【図２３】
2010072926.tif 000025
【図２４】
2010072926.tif 000026
【図２５】
2010072926.tif 000027
【図２６】
2010072926.tif 000028
【図２７】
2010072926.tif 000029
【図２８】
2010072926.tif 000030
【図２９】
2010072926.tif 000031
【図３０】
2010072926.tif 000032