(57)【要約】      （修正有）【課題】  画像やテキスト等のドキュメント内に含まれるコンテンツデータをそれぞれ１つの矩形領域に配置されるデータとみなし、各矩形領域をドキュメント内において、コンテンツデータに対応する矩形領域のサイズに応じて自動的に配置する。【解決手段】  配置位置を制御する装置は、矩形情報を入力する入力部と、ページ上のレイアウト領域を複数の領域に分割した分割領域に割り当てられている重み付け情報を入力する入力部と、矩形領域をページ上のレイアウト領域に配置する配置部と、配置された複数の矩形領域の重複を判定する。複数の矩形領域が重複する場合は、重複を除去するように配置を変更する重複除去部と、分割領域に割り当てられている重み付け情報に基づいて、各矩形領域の配置位置を制御するレイアウト制御部と、配置位置がそれぞれ制御された各矩形領域の位置情報に基づいて、矩形領域のレイアウト結果を出力する出力部とを備える。【選択図】  図１Ｂ
2006154953.tif 000002
【特許請求の範囲】
【請求項１】
ページ上のレイアウト領域に配置するコンテンツデータを、当該コンテンツデータを収める矩形領域のサイズに応じて、配置位置を制御するレイアウト制御装置であって、
前記矩形領域のサイズ情報及び前記コンテンツデータの情報を含む矩形情報を入力する矩形情報入力手段と、
前記配置位置を制御するために、前記ページ上のレイアウト領域を複数の領域に分割した分割領域に割り当てられている重み付け情報を入力する重み付け情報入力手段と、
前記矩形領域を前記ページ上のレイアウト領域に配置する配置手段と、
前記配置された複数の矩形領域の重複を判定し、当該複数の矩形領域が重複する場合は、いずれか一方の矩形領域を移動パターンに応じて移動させて当該重複を除去するように配置を変更する重複除去手段と、
前記変更された各矩形領域の配置に対応する前記分割領域に割り当てられている重み付け情報に基づいて、当該各矩形領域の配置位置をそれぞれ制御するレイアウト制御手段と
前記配置位置がそれぞれ制御された各矩形領域の位置情報に基づいて、当該矩形領域のレイアウト結果を出力する出力手段と
を備えることを特徴とするレイアウト制御装置。
【請求項２】
前記分割領域のサイズに応じて、前記矩形領域のサイズを拡大、調整する拡大調整手段を更に備えることを特徴とする請求項１に記載のレイアウト制御装置。
【請求項３】
前記配置手段は、前記拡大調整手段により前記サイズが拡大、調整された前記矩形領域を前記ページ上のレイアウト領域に配置することを特徴とする請求項２に記載のレイアウト制御装置。
【請求項４】
前記重複除去手段により、前記重複を除去できない場合、前記矩形領域のサイズを縮小させる縮小手段を更に備えることを特徴とする請求項１に記載のレイアウト制御装置。
【請求項５】
前記拡大調整手段により拡大、調整された矩形領域のサイズを、前記サイズ情報に基づき縮小し、当該縮小により各矩形領域間に生じる隙間を無くすために、各矩形領域を順次移動させて各矩形領域の配置位置を調整する微調整手段を更に備えることを特徴とする請求項２に記載のレイアウト制御装置。
【請求項６】
ページ上のレイアウト領域に配置するコンテンツデータを、当該コンテンツデータを収める矩形領域のサイズに応じて、配置位置を制御するレイアウト制御方法であって、
前記矩形領域のサイズ情報及び前記コンテンツデータの情報を含む矩形情報を入力する矩形情報入力工程と、
前記配置位置を制御するために、前記ページ上のレイアウト領域を複数の領域に分割した分割領域に割り当てられている重み付け情報を入力する重み付け情報入力工程と、
前記矩形領域を前記ページ上のレイアウト領域に配置する配置工程と、
前記配置された複数の矩形領域の重複を判定し、当該複数の矩形領域が重複する場合は、いずれか一方の矩形領域を移動パターンに応じて移動させて当該重複を除去するように配置を変更する重複除去工程と、
前記変更された各矩形領域の配置に対応する前記分割領域に割り当てられている重み付け情報に基づいて、当該各矩形領域の配置位置をそれぞれ制御するレイアウト制御工程と
前記配置位置がそれぞれ制御された各矩形領域の位置情報に基づいて、当該矩形領域のレイアウト結果を出力する出力工程と
を備えることを特徴とするレイアウト制御方法。
【請求項７】
前記分割領域のサイズに応じて、前記矩形領域のサイズを拡大、調整する拡大調整工程を更に備えることを特徴とする請求項６に記載のレイアウト制御方法。
【請求項８】
前記配置工程は、前記拡大調整工程により前記サイズが拡大、調整された前記矩形領域を前記ページ上のレイアウト領域に配置することを特徴とする請求項７に記載のレイアウト制御方法。
【請求項９】
前記重複除去工程により、前記重複を除去できない場合、前記矩形領域のサイズを縮小させる縮小工程を更に備えることを特徴とする請求項６に記載のレイアウト制御方法。
【請求項１０】
前記拡大調整工程により拡大、調整された矩形領域のサイズを、前記サイズ情報に基づき縮小し、当該縮小により各矩形領域間に生じる隙間を無くすために、各矩形領域を順次移動させて各矩形領域の配置位置を調整する微調整工程を更に備えることを特徴とする請求項７に記載のレイアウト制御方法。
【請求項１１】
請求項６から１０のいずれか１項に記載のレイアウト制御方法をコンピュータに実行させることを特徴とするプログラム。
【請求項１２】
請求項１１に記載のプログラムを格納したことを特徴とするコンピュータ可読の記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、テキストやイメージで構成されたコンテンツのレイアウト制御技術に関するものである。
【背景技術】
【０００２】
従来、ドキュメントに使用される画像やテキストなどのコンテンツを、ある領域内にレイアウトする場合、組版アプリケーションなどを利用して、人間が手作業で個々のコンテンツをどこに配置するかを決めるか、あるいは、それらのコンテンツを決まった形のレイアウト形式に出力できるテンプレートの作成を手作業で行い、コンテンツのレイアウトを処理していた（特許文献１）。
【０００３】
また、人間の直感や手作業に頼ったコンテンツのレイアウトの良し悪しを評価する技術（特許文献２）もある。
【特許文献１】特開平０４−３１３９５７号公報
【特許文献２】特開２００３−３０６７３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、ドキュメント内のコンテンツをいかにレイアウトするかを定めるレイアウト情報が無いところから手作業によりレイアウト処理を行う場合、試行錯誤による作業者の負荷が大きくなり、人的コストも膨大なものになる。また、コンテンツデータを決まった形のレイアウト形式に出力できるテンプレートを作成し、そのテンプレートを使用して、画像やテキストをレイアウトさせて出力させた場合でも、何種類かの決まったパターンでしか出力出力することができず、入力される様々なコンテンツデータのサイズや種類などに対応し、フレキシブルにレイアウトされた結果を得ることができないという問題がある。
【０００５】
本発明は、従来技術における上記のような問題を鑑み、画像やテキスト等のドキュメント（ページ）内に含まれるコンテンツデータをそれぞれ１つの矩形領域に配置されるデータとみなし、各矩形領域をドキュメント内において、コンテンツデータに対応する矩形領域のサイズに応じて自動的に配置することを可能にするレイアウト制御技術を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記の目的を達成するべく、本発明にかかるレイアウト制御装置は、主として以下の構成を備えることを特徴とする。
【０００７】
すなわち、ページ上のレイアウト領域に配置するコンテンツデータを、当該コンテンツデータを収める矩形領域のサイズに応じて、配置位置を制御するレイアウト制御装置は、
前記矩形領域のサイズ情報及び前記コンテンツデータの情報を含む矩形情報を入力する矩形情報入力手段と、
前記配置位置を制御するために、前記ページ上のレイアウト領域を複数の領域に分割した分割領域に割り当てられている重み付け情報を入力する重み付け情報入力手段と、
前記矩形領域を前記ページ上のレイアウト領域に配置する配置手段と、
前記配置された複数の矩形領域の重複を判定し、当該複数の矩形領域が重複する場合は、いずれか一方の矩形領域を移動パターンに応じて移動させて当該重複を除去するように配置を変更する重複除去手段と、
前記変更された各矩形領域の配置に対応する前記分割領域に割り当てられている重み付け情報に基づいて、当該各矩形領域の配置位置をそれぞれ制御するレイアウト制御手段と
前記配置位置がそれぞれ制御された各矩形領域の位置情報に基づいて、当該矩形領域のレイアウト結果を出力する出力手段とを備えることを特徴とする。
【発明の効果】
【０００８】
本発明により、画像やテキスト等のドキュメント内に含まれるコンテンツデータをそれぞれ１つの矩形領域に配置されるデータとみなし、各矩形領域をドキュメント内において、コンテンツデータに対応する矩形領域のサイズに応じて自動的に配置することが可能になる。
【発明を実施するための最良の形態】
【０００９】
以下、図面を参照して本発明の実施形態を説明する。
【００１０】
（第１実施形態）
図１Ａは、レイアウト制御装置１００であるホストコンピュータの概略的な構成を示すブロック図である。レイアウト制御装置１００は、ページ上にレイアウトするコンテンツデータを、コンテンツデータを収める矩形領域のサイズに応じて、ページ上の配置位置を制御することが可能である。
【００１１】
画像（イメージ）やテキスト等のコンテンツデータのレイアウトは、プロセッサユニット１３３の全体的な制御の下、レイアウト制御部１０１が実行する。後に詳細に説明する図６のコンテンツデータに関するレイアウト制御プロセスは、レイアウト制御装置１００内の記憶装置１３２に格納されているソフトウェアによって実行される。
【００１２】
このソフトウェアは、記憶装置１３２として、例えば、ハードディスクやＤＶＤ等のコンピュータ可読媒体に格納されており、プロセッサユニット１３３あるいはレイアウト制御部１０１の制御の下、ソフトウェアはコンピュータ可読媒体からレイアウト制御装置１００内の処理領域にロードされ、実行される。そのようなソフトウェアや媒体に記録されたコンピュータプログラム、あるいはそのプログラムを格納するコンピュータ可読媒体は、コンピュータと協働したコンテンツデータのレイアウト制御、編集、その他バリアブルデータの印刷に必要な演算処理や表示制御に関する情報処理を実行する手段としてコンピュータの機能を特定する。
【００１３】
レイアウト制御装置１００は、キーボードやマウスのようなポインティングデバイスなどの入力装置１２５、ディスプレイなどの表示装置１２６やプリンタ１２７、１２８と接続し、オペレータは、レイアウト制御等に関する情報処理をレイアウト制御装置１００に実行させる際、種々の入力、表示、出力に関する操作設定を行うことができる。
【００１４】
入力／出力（Ｉ／Ｏ）インターフェース１３１はレイアウト制御装置１００をネットワーク１４０に接続し、他のコンピュータ装置（例えば、データベースサーバ１５０）に接続することができる。そのネットワーク１４０の典型はローカルエリアネットワーク（ＬＡＮ）、あるいはワイドエリアネットワーク（ＷＡＮ）である。
【００１５】
レイアウト制御装置１００は、ネットワーク１４０を介して、他のコンピュータ装置（例えば、データベースサーバ１５０）と通信し、レイアウト制御に必要なデータを受信することができる。尚、このデータは、必ずしもレイアウト制御装置１００の外部に格納されているものに限らず、レイアウト制御装置１００内の記憶装置１３２に格納しておき、レイアウト制御の実行の際、参照できるようにしておいてもよい。
【００１６】
また、レイアウト制御装置１００は、レイアウト制御部１０１のレイアウト制御の結果をネットワーク１４０を介して、他の情報処理装置１６０やプリンタ１２８に配信することも可能である。また、レイアウト制御の結果は、入力／出力（Ｉ／Ｏ）インターフェース１３１を介して接続可能なプリンタ１２７に出力することも可能である。
【００１７】
更に、レイアウト制御装置１００は、ランダムアクセスメモリ（ＲＡＭ）やリードオンリーメモリ（ＲＯＭ）から構成されるメモリユニット１３５、ビデオインタフェースを含む表示制御部１３０、キーボードやマウスのためのＩ／Ｏインターフェース１３４を含んでいる。
【００１８】
図１Ｂは、レイアウト制御部１０１（図１Ａ）の構成を具体的に説明するブロック図であり、図１Ｃは、各構成の処理の流れを説明するフローチャートである。
【００１９】
１０２は、画像やテキスト等、１つの矩形領域に配置されるデータをドキュメント内に複数含む情報（矩形情報）であり、入力部１０３から矩形情報１０２が入力される（Ｓ１０３）。
【００２０】
１０４は、設定ファイルおよび重み付けテンプレート読み込み処理部（以下、単に、「設定処理部」ともいう。）であり、レイアウト処理を制御する様々な設定情報を記述した設定ファイル１０５と、レイアウトの方向性を示す重み付けテンプレート１０６を、例えば、記憶装置１３２から読み込み、矩形情報のレイアウトを制御するために必要な初期設定を行う（Ｓ１０４）。
【００２１】
１０７は、矩形情報に含まれる、各矩形領域を同じ割合で拡大処理する（Ｓ１０７）拡大処理部であり、グリッド化処理部１０８は、拡大された各矩形領域を、それぞれの矩形の縦と横のサイズを指定した分割領域（グリッド）の幅で割り切れるサイズに調整する（Ｓ１０８）。
【００２２】
１０９は、グリッド状にされた各矩形領域のデータをランダムに配置する配置処理部であり、グリッド状にされたレイアウト領域内からはみ出ないように配置処理を行う（Ｓ１０９）。
【００２３】
１１０は、重複除去処理部で、各矩形領域のデータの重なりをある規則性に従って、指定回数処理を行うことで、重複している部分を除去していき（Ｓ１１０）、指定回数内でも除去しきれない場合は、縮小処理部１１１で、それぞれの矩形領域を同じ割合で縮小させて（Ｓ１１１）、再び、重複除去処理部１１０で処理を行い、最終的に重なりが除去できるか否かを判定し、指定縮小回数の制限を超えるまで、これらの処理を繰り返し、重なりが除去できた場合に、最適化アルゴリズム手法によるレイアウト処理部１１２においてレイアウト制御を行う（Ｓ１１２）。
【００２４】
レイアウト処理部１１２は、各矩形領域を、レイアウトの方向性を示す重み付けテンプレートの内容にそって、レイアウト領域内に最適に配置する。
【００２５】
１１３は、微調整処理部であり、グリッド化された各矩形領域の縦横のサイズを、元の画像のアスペクト比に合うサイズに戻すことで生じる、矩形領域と矩形領域の隙間を除去する処理（Ｓ１１３）を行う。
【００２６】
１１４は、出力部で、配置する座標、縦横のサイズ情報等レイアウトされた結果をそれぞれの矩形領域に対してまとめて、レイアウト結果１１５を出力する（Ｓ１１４）。
【００２７】
以上の処理により、複数の矩形領域の自動レイアウトが実現する。
【００２８】
出力部１１４から出力される結果は、例えば、矩形情報にレイアウトされた各矩形領域の位置情報を付加するようにしてもよく、矩形情報とは別のレイアウト結果を出力する情報として、出力部１１４が生成することも可能である。
【００２９】
また、最終的に得られたレイアウト結果（例えば、図１２（ｄ））は、表示制御部１３０の制御の下、表示装置１２６に表示することも可能である。更に、最終的な結果の表示に限定されず、表示制御部１３０は、レイアウト制御部１０１と通信をして、レイアウト制御に関する中間的なデータの処理結果を、逐次、表示装置１２６に表示させて、ユーザに処理の進行状況を報知するようにすることも可能である。
【００３０】
重複の解除、あるいは隙間が除去できなかった場合、レイアウト制御部１０１における重複除去処理部１１０は、表示制御部１３０を介して表示装置１２６にレイアウトできなかったことを報知させる。これにより、ユーザは、入力した矩形情報に関するレイアウト制御ができなかったことを確認することができる。
【００３１】
次に、前記構成図における各処理部の処理の詳細を示す。
【００３２】
図２は、複数の矩形領域に関する情報を含む矩形情報２０１を例示する図であり、ここでは、矩形情報２０１を、構造化文書としてＸＭＬデータの形で示している。矩形情報２０１には、矩形領域の縦横のサイズを示すサイズ情報と、レイアウトするコンテンツデータを記述するためのテキストデータや画像データ、画像データにアクセスするための接続情報等が含まれる。
【００３３】
２０２は、１つの矩形領域の情報を記述しているブロックを示し、２０３、２０４は、それぞれ、矩形領域の横と縦のサイズを示している。
【００３４】
２０５、２０６は、その矩形領域に関連づけられているオブジェクトデータ（テキストデータまたは画像データへリンクするためのパス（接続情報））が表記されている。
【００３５】
本実施形態においては、このオブジェクトデータを使用した例について、説明を省略するが、接続情報に基づいてリンクが張られたオブジェクトデータをレイアウトする場合、矩形情報と関連づけてレイアウトすることが可能になる。
【００３６】
２０７、２０８は、矩形情報に含まれる２つ目、３つ目の矩形領域の情報を記述しているブロックを示している。入力部１０３は、これらＸＭＬデータの形式から矩形情報を読み込み、レイアウト制御するべき矩形領域の情報を特定することができる。
【００３７】
尚、図２の例では、矩形情報の表現方法として、ＸＭＬデータによる構造化文書の例を示したが、本発明の趣旨はこれに限定するものではなく、例えば、ＨＴＭＬ、ＳＧＭＬ等の構造化文書、あるいは、単純なテキストデータにより表現するようにしてもよい。
【００３８】
図３は、レイアウト領域をグリッド状にしたときの状態を例示する図である。
【００３９】
本実施形態にかかるレイアウト制御装置は、画像やテキスト等のドキュメント内に含まれるデータ（コンテンツデータ）を、それぞれ１つの矩形領域に配置されるデータとみなし、各矩形領域をドキュメント内におけるレイアウト領域に初期配置して、そこから、各矩形領域相互間の重複を調整して最適なレイアウトを求めて、各矩形領域を移動させて、配置する。
【００４０】
その移動の際、移動の単位を、例えば、１ピクセルなどにすると、レイアウト領域のサイズにもよるが、矩形領域を目的地まで移動させるのに相当の時間を要することが想定されるため、レイアウト処理を制御する設定情報を記述した設定ファイル１０５によって指定されたレイアウト領域３０１を、３０２のように仮想的に一定の幅をもったグリッド状に分割し、３０３のグリッドの１マスの単位を例えば、１Ｕｎｉｔ＝Ｎピクセル（Ｎは正の整数）と決めることで、このグリッドの１マス単位で、各矩形領域を移動させながら、レイアウト処理を行っていき、矩形領域の移動時の時間短縮を図ることで、全体の処理時間の短縮化が可能になる。
【００４１】
図４は、矩形を拡大する拡大処理部１０７および矩形をグリッド化するグリッド化処理部１０８において、実際の矩形領域を拡大する処理と、グリッド化する処理を視覚的に示した図である。４０１は、縦４ピクセル（Ｐｉｘｅｌ）、横５ピクセル（Ｐｉｘｅｌ）のサイズの矩形領域であり、これを、５ピクセル（Ｐｉｘｅｌ）を１つの単位（Ｕｎｉｔ）としてグリッド状にした領域４０２に配置し（図４（ａ））、その状態から、拡大処理部１０７は、４０３で示すように、矩形領域の横縦サイズをそれぞれ２倍にした状態、すなわち、矩形領域の横サイズを１０ピクセル（Ｐｉｘｅｌ）、縦サイズを８ピクセル（Ｐｉｘｅｌ）に拡大する。
【００４２】
拡大処理部１０７は、最終的に１つ１つの矩形領域がなるべく大きく拡大された状態でレイアウト領域内に配置されるように、各矩形領域の面積が、レイアウト領域の面積を超えない範囲で、矩形領域の縦横寸法を整数倍（Ｎ＝１,２,３,・・・）に拡大することができる。
【００４３】
ここで、拡大した矩形領域の縦サイズ（８ピクセル）に関しては、グリッドの１単位（この場合５Ｐｉｘｅｌ）では割り切れないため、図４（ｃ）の４０４で示すように、さらに縦サイズに関しては、拡大する方向で、グリッドの１単位（Ｕｎｉｔ）で割り切れるサイズまで（この場合は、８Ｐｉｘｅｌから１０Ｐｉｘｅｌまで）縦方向のサイズを伸ばす。この処理を「グリッド化」と呼ぶ。このようにして、グリッド化処理部１０８は、グリッドサイズに適合するように、各矩形領域の縦横サイズをそれぞれ拡大してグリッド化する。
【００４４】
図５は、矩形領域をランダムに配置する配置処理部１０９において、実際に矩形領域を配置する処理を視覚的に示した図である。５０１は、レイアウトの対象となるイメージやテキストに対応する矩形領域（１）、（２）、（３）、（４）を包含するドキュメントであり、それぞれの矩形領域の縦横サイズは異なっている。これらの矩形領域を、図５（ｂ）の５０２で示すように、グリッド状に分割したレイアウト領域内に、矩形領域の角部（四隅のコーナー部）がグリッドの１マスの角にあてはまる形で、ランダムに配置する。このとき矩形領域同士は重なっていても構わないものとする。
【００４５】
重複除去処理部１１０は、領域の位置座標などレイアウト領域内における位置情報に基づいて、矩形領域同士の重複の有無を判定し、重複がある場合は、いずれか一方の矩形領域を移動させ重複を除去するように配置を変更する。この際、重複除去処理部１１０は、以下に説明する処理を実行する。
【００４６】
図６は、重複除去処理部１１０の処理の流れを説明するフローチャートであり、図７Ａ〜Ｃは、矩形領域同士の重なり具合に応じた移動パターンを説明する図であり、図８は矩形領域の重なりを除去する処理に関し、重なりを除去する状態を視覚的に示した図である。
【００４７】
以下、これら３つの図を用いて、重複除去処理部１１０の処理内容を説明する。
【００４８】
まず、図６のステップＳ６０１より重複除去処理がスタートし、ステップＳ６０２で、レイアウト処理を制御する様々な設定情報、例えば、処理の繰り返し回数（ループさせる回数を制御するパラメータ（Ｉｔｅｒａｔｅｒ）の上限値（Ｍａｘ））や、縮小させる回数、等の設定値を設定ファイル１０５から取得する。
【００４９】
ステップＳ６０３で、重複除去処理ループを開始する。処理の繰り返しを制御するパラメータ（Ｉｔｅｒａｔｅｒ）が処理回数として設定されている上限値（Ｍａｘ）に達するまで、または、矩形領域の重複がなくなるまで、ステップＳ６０８までの処理を繰り返す。
【００５０】
ステップＳ６０４で、各矩形領域の中（例えば、図５（ａ）のドキュメント５０１に含まれる矩形領域（１）〜（４））で、移動させる対象となる矩形領域の順番を決め、ステップＳ６０５で、先のステップで決定した順番に従い、移動させる対象となる一の矩形領域が他の矩形領域と重なりある状態を調べ、ステップＳ６０６で、その重なり具合に応じた移動パターンに従って、基準となっていた一の矩形領域を移動させる。
【００５１】
ステップＳ６０７で、基準となっていた一の矩形領域が移動した後、まだ、矩形領域の重なりがあるか（移動させた矩形領域以外の領域間で重複があるか否か）チェックし、ステップＳ６０８で、矩形同士の重なりが取れるか、ループ回数がループの上限値を超えるか否かを判断し、設定された繰り返し回数の範囲内で、矩形領域同士の重なりを除去する。たとえば、移動の基準として最初に矩形領域（１）を選び、矩形領域（１）に関して重複を解消した後、残りの矩形領域（２）〜（４）についても順次、重複の有無を判定していき、重複している場合は、レイアウト領域内で、移動の対象として選択されている矩形領域を順次移動させていき、全体として重複領域を解消するための処理を行う。
【００５２】
ステップＳ６０９において、矩形領域の重複が解消したか否かを判定し、重複が解消した場合（Ｓ６０９−Ｙｅｓ）、処理をステップＳ６１０に進め重複除去に関する処理を終了する。
【００５３】
一方、ステップＳ６０９の判定で、矩形領域の重複が解消しなかった場合（Ｓ６０９−Ｎｏ）、処理をステップＳ６１１に進める。
【００５４】
矩形領域の重複が解消しなかった場合（例えば、繰り返し処理回数をオーバーしてしまった場合）は、ステップＳ６１１で縮小させる回数をチェックし、ステップＳ６１２で縮小回数をオーバーしていなければ（Ｓ６１２−Ｙｅｓ）、処理をステップＳ６１３に進め、各矩形領域を設定ファイル１０５によって与えられた一定の割合でそれぞれ縮小させ、再度ステップＳ６０３に処理を戻し、再度重複を除去する処理を行う。
【００５５】
一方、縮小回数をオーバーしていれば（Ｓ６１２−Ｎｏ）、処理をステップＳ６１４に進め、設定した縮小回数、重なり除去のループ回数では、矩形領域の重複が最終的に取れないと判断をし、レイアウト失敗の通知処理を行い（Ｓ６１４）、処理を終了する。
【００５６】
図７Ａ〜Ｃは、基準となる矩形領域（この場合は、矩形領域を（Ｉ）としている）が上下左右（４方向、３方向、２方向）に移動する、矩形領域間の重なりと移動パターンを説明する図である。
【００５７】
ここで、基準となる矩形領域を（Ｉ）、色は黒とし、重複の対象となる矩形領域を（Ｊ）、色は白としている。矩形領域（Ｉ）が上、矩形領域を（Ｊ）が下となって重複する場合は重複領域をハッチングで表現している。
【００５８】
重なり条件は、基準となる矩形領域（Ｉ）の４辺のいずれかに、どのように矩形領域（Ｊ）が重なっているかを判断するものである。
【００５９】
図７Ａの（ａ）は、矩形領域（Ｉ）と矩形領域（Ｊ）が両者同サイズで重なっている状態を示し、（ｂ）は、矩形領域（Ｉ）よりも全体的に大きいサイズの矩形領域（Ｊ）に、矩形領域（Ｉ）が重なっている状態を示し、（ｃ）は、矩形領域（Ｉ）よりも縦方向（Ｙ方向）にサイズの大きい矩形領域（Ｊ）が重なっている状態を示し、（ｄ）は、矩形領域（Ｉ）よりも横方向（Ｘ方向）にサイズの大きい矩形領域（Ｊ）が重なっている状態を示している。
【００６０】
これらの重なりのパターンにおいて、矩形領域（Ｉ）は縦横方向（ＸＹ方向）（図７Ａ中の矢印で示す方向）のいずれかに移動するものとする。その４方向のいずれかに移動するかは、重複除去処理部１１０がランダムに決定することができるものとする。
【００６１】
上述の図７Ａの移動パターンでは、矩形領域（Ｉ）は、縦横に４方向の移動が可能であるが、図７Ｂの移動パターンでは、基準となる矩形領域（Ｉ）が、３方向に移動するときの重なり条件を示している。
【００６２】
図７Ｂの（ａ）は、矩形領域（Ｉ）よりも横方向（Ｘ方向）にサイズの小さい矩形領域（Ｊ）が、矩形領域（Ｉ）に重なっている状態を示し、（ｂ）は、矩形領域（Ｉ）よりも横方向（Ｘ方向）にサイズの大きい矩形領域（Ｊ）に、矩形領域（Ｉ）が重なっている状態を示し、（ｃ）は、矩形領域（Ｉ）よりも横方向（Ｘ方向）にサイズの小さい矩形領域（Ｊ）が重なっている状態体を示し、（ｄ）は、矩形領域（Ｉ）よりも横方向（Ｘ方向）にサイズの大きい矩形領域（Ｊ）に矩形領域（Ｉ）が重なっている状態を示し、（ｅ）は、矩形領域（Ｉ）よりも縦方向（Ｙ方向）にサイズの小さい矩形領域（Ｊ）が、矩形領域（Ｉ）の左の辺に重なっている状態を示し、（ｆ）は、矩形領域（Ｉ）よりも縦方向（Ｙ方向）にサイズの大きい矩形領域（Ｊ）が、矩形領域（Ｉ）の左の辺に重なっている状態を示し、（ｇ）は、矩形領域（Ｉ）よりも縦方向（Ｙ方向）にサイズの小さい矩形領域（Ｊ）が、矩形領域（Ｉ）の右の辺に重なっている状態を示し、（ｈ）は、矩形領域（Ｉ）よりも縦方向（Ｙ方向）にサイズの大きい矩形領域（Ｊ）が、矩形領域（Ｉ）の右の辺に重なっている状態を示している。
【００６３】
これらの重なりのパターンにおいて、矩形領域（Ｉ）は、それぞれ図７Ｂ中に示した矢印の方向（３方向）のいずれかに移動するものとする。その３方向のいずれかに移動するかは、重複除去処理部１１０がランダムに決定することができるものとする。
【００６４】
上述の図７Ａの移動パターンでは、矩形領域（Ｉ）は、縦横に４方向の移動が可能であり、図７Ｂの移動パターンでは、基矩形領域（Ｉ）は、３方向の移動が可能であるパターンを示したが、図７Ｃの移動パターンでは、基準となる矩形領域（Ｉ）が、２方向に移動するときの重なり条件を示している。
【００６５】
図７Ｃの（ａ）は、矩形領域（Ｉ）の縦辺７１６ａと横辺７１６ｂが矩形領域（Ｊ）に重なっている状態を示し、（ｂ）は、矩形領域（Ｉ）の縦辺７１７ａと横辺７１７ｂが矩形領域（Ｊ）に重なっている状態を示し、（ｃ）は、矩形領域（Ｉ）の縦辺７１８ａと横辺７１８ｂが矩形領域（Ｊ）に重なっている状態を示し、（ｄ）は、矩形領域（Ｉ）の縦辺７１９ａと横辺７１９ｂが矩形領域（Ｊ）に重なっている状態を示している。
【００６６】
これらの重なりのパターンにおいて、矩形領域（Ｉ）は、それぞれ図７Ｃ中に示した矢印の方向（２方向）のいずれかに移動するものとする。その２方向のいずれかに移動するかは、重複除去処理部１１０がランダムに決定することができるものとする。
【００６７】
重複除去処理部１１０は、矩形領域の重なり具合に応じて、図７Ａ〜Ｃに示した移動パターンに従い、基準となる矩形領域を移動させていき、各移動パターンの組み合わせで、その矩形領域を移動させながら、重複領域を除去していくことができる。
【００６８】
図８は、複数の矩形領域の配置とその重複の除去を説明する図である。図８（ａ）における８０１は、配置処理部１０９がレイアウト領域に複数の矩形領域を配置した状態を示しており、矩形領域の重複関係から各矩形領域（１）〜（４）はそれぞれ矢印８０２〜８０５の方向への移動と縮小処理（縦横方向にそれぞれ１グリッド分縮小させる処理）の組み合わせによって、図８（ｂ）の８０６に示すような、各矩形領域の配置において、最終的に重複が除去された状態になる。
【００６９】
次にレイアウト処理部１１２における最適化アルゴリズム手法によるレイアウト処理を、図９、図１０、図１１を参照して説明する。
【００７０】
レイアウト処理部１１２は、最適化アルゴリズム手法として、シミュレーティド・アニーリング（Simulated Annealing）手法（以下、「SA法」と記す）を利用することができる。SA法についての詳細な説明は省略するが、SA法は、組み合わせ最適化問題を解決するための手法の一つである。
【００７１】
その手法は、例えば、「固体の温度を十分な自由エネルギーを持つまで高くする。その後、温度を制御しつつ冷却していく際、ある手続きによりその自由エネルギーを最小化していく」というものである。ある固体Sにおいて、現在の状態Ｓｉが与えられた時、エネルギーＥｉを持っているとする。ランダムに粒子を選択してランダムな量だけ粒子を移動させることにより、エネルギーＥｊを持つ、次の状態Ｓｊが生成される。現在の状態のエネルギーが次の状態のエネルギーより小さい場合、すなわち、
ΔＥ＝Ｅｉ−Ｅｊ≦０      ・・・（１）
の時、その移動が採択されて、Ｓｊが現在の状態となる。
【００７２】
また、現在の状態のエネルギーが次の状態のエネルギーより大きい場合、すなわち、
ΔＥ＝Ｅｉ−Ｅｊ＞０      ・・・（２）
の時、移動するかどうかは次式（３）に基づき確率的に求められる。
【００７３】
Ｐｒｏｂ＝ｅ−(ΔE/(KB・T))          ・・・（３）
ここで、KBはボルツマン定数、Tは温度である。
【００７４】
この場合、移動するかどうかの採択基準は、膨大な回数分の繰り返しによるメトロポリスアルゴリズムとして知られている。この全体を通した解法のことをSA法と呼んでいる。本実施形態におけるレイアウト処理において、レイアウト処理部１１２は、この手法を応用して矩形領域のレイアウトを制御している。
【００７５】
図９は、レイアウトの方向性を示す重み付けテンプレート１０６（図１Ｂ）の具体例を示したものである。同図において、９０１はグリッド状に分割されたレイアウト領域を示し、９０２は、重み付けテンプレート中、各グリッドの１つの升目にそれぞれ重み付けになる数字（評価値）を付加した状態を示している。この評価値は１ポイントを１０とする。評価値が大きいところ（この場合で言えば、３が一番大きい）に矩形が集まるようになり、レイアウトの方向性としては中央寄せになる。この評価値の割り振り方によってレイアウトの方向性を変更でき、中央寄せだけでなく、上寄せ、下寄せ等、矩形領域のレイアウトの方向性を制御することができる。本実施形態では、中央寄せのレイアウト処理を行う例を示している。
【００７６】
図１０は、レイアウトの方向性を示す重み付けテンプレート１０６と、SA法を組み合わせて、どのようにレイアウト処理が行われるかを概略的に示す図である。図１０（ａ）における１００１では、レイアウト領域上に矩形領域（１）〜（３）が配置されたグリッドがあり、それぞれの矩形領域が配置されているグリッドに割り当てられている重み付けの数字の総和を評価値として扱う。
【００７７】
矩形領域（１）に関して：１＋１＋２＋１＝５        ・・・（４）
矩形領域（２）に関して：１＋２＝３                ・・・（５）
矩形領域（３）に関して：２                        ・・・（６）
この場合、矩形領域の全体で評価値は（７）式のようになる。
【００７８】
（５＋３＋２）×１０＝１００                      ・・・（７）
ここで、（７）式において、評価値１を１０ポイントとして扱うために、（４）〜（６）の評価値の総和に「×１０」を乗じている。
【００７９】
次に矩形領域（１）をランダムな方向、例えば、図１０（ｂ）の１００２で示すような配置として、評価値を求めると、以下の（８）〜（１１）式のようになる。
【００８０】
矩形領域（１）に関して：２＋１＋３＋１＝７        ・・・（８）
矩形領域（２）に関して：１＋２＝３                ・・・（９）
矩形領域（３）に関して：２                        ・・・（１０）
この場合、矩形領域の全体で評価値は（１１）式のようになる。
【００８１】
（７＋３＋２）×１０＝１２０                      ・・・（１１）
矩形領域（１）が移動した後の新しい評価値（（１１）式）は、前の評価値（（７）式）よりも大きい値になるため、（１）式の関係に基づいて（１１）式の値が採用される。すなわち、矩形領域（１）の位置が移動後の位置（新しい評価値を得た図１０（ｂ）の位置）として採択され、配置される。
【００８２】
次に矩形領域（２）をランダムな方向、例えば、図１０（ｃ）の１００３で示すような配置として、評価値を求めると、以下の（８）〜（１１）式のようになる。
【００８３】
矩形領域（１）に関して：２＋１＋３＋１＝７        ・・・（１２）
矩形領域（２）に関して：１＋１＝２                ・・・（１３）
矩形領域（３）に関して：２                        ・・・（１４）
この場合、矩形領域の全体で評価値は（１５）式のようになる。
【００８４】
（７＋２＋２）×１０＝１１０                      ・・・（１５）
矩形領域（２）が移動した後の新しい評価値（（１５）式）は、前の評価値（（１１）式）よりも小さく値になるため、（２）式の関係に基づいて、レイアウト処理部１１２はこの矩形領域（２）の移動の採択を（３）式に従って、確率的に決定する。
【００８５】
現在温度が１００℃、ボルツマン係数１の場合、
ΔＥ＝ Ｅｉ−Ｅｊ＝１２０−１１０＝１０・・・（１６）
Ｐｒｏｂ＝ｅ−(ΔE/(KB・T))＝ ０．９０４８        ・・・（１７）
さらに、この計算とは別に、ボルツマン係数０〜１までのランダムな数値を抽出し、例えば、０．６が求められたとすると、０．６＜Ｐ（＝０．９０４８）なので、矩形領域（２）の位置が、移動後の位置（新しい評価値を得た図１０（ｃ）の位置）として採択され、配置される。
【００８６】
逆にもしランダムに抽出された数値が０．９５の場合、０．９５＞Ｐ（＝０．９０４８）となり、この場合、（３）式に基づく確率的な判断手法により、レイアウト処理部１１２は、矩形領域（２）の移動を採択せず、矩形領域（２）の位置は図１０（ｂ）のままとなる。
【００８７】
ここで、現在温度に関しては、Ｐｒｏｂの計算結果があまり偏りすぎないような温度をあらかじめ試験的に評価値（数値１に対して１０ポイント）とのバランスで求めておくことが好ましい。上述の計算例では、温度を１００℃として計算を行ったが、本発明の趣旨はこれに限定されるものでないことは言うまでもない。
【００８８】
レイアウト処理部１１２は、各矩形領域の位置と、重み付けの値に基づいて、全体的なレイアウトの評価値を求め、評価値の関係（（１）〜（３）等）に従い、各矩形領域を最適な位置に配置していく。
【００８９】
図１１は、矩形領域の重複がない場合におけるSA法によるレイアウト処理を説明する図である。図１１（ａ）の１１０１は、配置処理部１０９により、矩形領域（１）〜（４）をランダムにレイアウト領域に配置した状態を示しており、図１１（ｂ）の１１０２は、レイアウト処理部によるSA法によってレイアウトされた結果を示している。各矩形同士は隙間無く中央に寄ってレイアウトされている。
【００９０】
尚、図１１（ａ）は、ランダムにレイアウト領域に矩形領域を配置して、矩形領域相互間に重複がない場合を示しているが、ランダムに配置して重複がある場合は、上述の重複除去処理部１１０の処理により重複を除去することで、レイアウト処理部１１２の処理を適用することができる。
【００９１】
図１２は、微調整処理部１１３が行う微調整の処理を説明する図である。図１２（ａ）の１２０１は、SA法によってレイアウトされた結果であるが、この時点でのレイアウト結果はあくまで、各矩形領域がグリッド化された状態のままであり、各矩形領域はグリッドの幅に合わせて、拡大、縮小された状態になっている。
【００９２】
従って、図１２（ｂ）の１２０２で示すように、各矩形領域のサイズをグリッド化される前のサイズ、つまり、元の矩形領域のアスペクト比を保ったサイズにそれぞれ戻す。
【００９３】
すると、各矩形領域と矩形領域の間にはそれぞれ隙間が生じる。この生じた隙間を埋めるために、図１２（ｃ）の１２０３で示すように、レイアウト領域の中心（図１２（ｃ）の１２０４）と、各矩形領域の中心（図１２（ｃ）の１２０５〜１２０８）の距離をそれぞれ求め、中心位置が一番レイアウト領域の中心１２０４に近い矩形領域（ここでは矩形領域（１））を、図１２（ｃ）の矢印１２０９のように、矩形領域（１）に一番近い矩形領域（３）に向かって移動させ、矩形領域（３）の横辺１２２０に接するまで移動させる。
【００９４】
同様に、矩形領域（３）を矩形領域（４）の縦辺１２２２向かって移動させる。矩形領域（４）は、既に矩形領域（１）と横辺１２２１において接しており、縦辺１２２２において、矩形領域（３）と接しているので、移動させることができないので、微調整処理部１１３は、最後に中心位置の一番遠い矩形領域（２）を矩形領域（１）の縦辺１２２３と矩形領域（４）の横辺１２２１と接するまで、移動させることで、図１２（ｄ）の１２１０で示すように、矩形領域間に隙間がないようにレイアウトした結果が得られる。
【００９５】
以上の処理を順に行うことによって、複数の矩形領域を自動的にレイアウト領域に配置するレイアウト制御が可能になる。
【００９６】
本実施形態により、画像やテキスト等のドキュメント内に含まれるコンテンツデータをそれぞれ１つの矩形領域に配置されるデータとみなし、あるレイアウト領域内で最適化されたレイアウトを自動的に行うことが可能となるため、レイアウトを考えながら決めなければならない人的作業が不要となり、これによりコスト削減が可能になる。また、全くのランダムなレイアウト結果を得ることもできれば、重み付けによって、ある程度レイアウトの方向性を決めることも可能であり、フレキシブルに様々なレイアウト結果を得ることができる。これらのことから、具体的な応用例として、新聞紙面など、テキストやイメージデータの混在したドキュメントの編集や自動スクラップ処理などへの適用が可能である。
【００９７】
本実施形態によれば、画像やテキスト等のドキュメント内に含まれるコンテンツデータをそれぞれ１つの矩形領域に配置されるデータとみなし、各矩形領域をドキュメント内において、コンテンツデータに対応する矩形領域のサイズに応じて自動的に配置することが可能になる。
【００９８】
（第１実施形態の変形例）
上述の説明において、レイアウト制御装置１００は、与えられた矩形領域の拡大を行わないで、そのままのサイズで各矩形領域のグリッド化、配置、重複除去、レイアウト処理、微調整等を行うことも可能である。この場合、レイアウト制御装置１００は、図１Ｃにおける設定ファイルおよび重み付けテンプレート読み込み処理（Ｓ１０４）から、直接に矩形領域をグリッド化するグリッド化処理（Ｓ１０８）に処理を移行させることが可能である。拡大処理（Ｓ１０４）を行わない場合、微調整処理（Ｓ１１３）において、拡大前の状態に各矩形領域のサイズを戻す処理は不要になる。
【００９９】
（他の実施形態）
本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、上述のレイアウト制御装置に供給し、その装置のプロセッサユニット１３３、コンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読出し実行することによっても、達成されることは言うまでもない。プログラムコードの格納は、クライアントコンピュータに限定されるものではなく、例えば、サーバとして機能するコンピュータに記憶されておくことも可能である。
【０１００】
この場合、記憶媒体から読出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【０１０１】
プログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク，ハードディスク，光ディスク，光磁気ディスク，ＣＤ−ＲＯＭ，ＣＤ−Ｒ，ＤＶＤ、磁気テープ，不揮発性のメモリカード，ＲＯＭなどを用いることができる。
【０１０２】
また、コンピュータが読出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているＯＳ（オペレーティングシステム）などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１０３】
さらに、記憶媒体から読出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【図面の簡単な説明】
【０１０４】
【図１Ａ】本発明の本実施形態にかかるレイアウト制御装置であるホストコンピュータの概略的な構成を示すブロック図である。
【図１Ｂ】レイアウト制御部の構成を具体的に説明するブロック図である。
【図１Ｃ】レイアウト制御部における各構成の処理の流れを説明するフローチャートである。
【図２】複数の矩形領域に関する情報を含む矩形情報を例示する図である。
【図３】レイアウト領域をグリッド状にしたときの状態を例示する図である。
【図４】矩形を拡大する拡大処理部および矩形をグリッド化するグリッド化処理部において、実際の矩形領域を拡大する処理と、グリッド化する処理を視覚的に示した図である。
【図５】矩形領域をランダムに配置する配置処理部において、実際に矩形領域を配置する処理を視覚的に示した図である。
【図６】重複除去処理部の処理の流れを説明するフローチャートである。
【図７Ａ】矩形領域同士の重なり具合に応じた移動パターンを説明する図である。
【図７Ｂ】矩形領域同士の重なり具合に応じた移動パターンを説明する図である。
【図７Ｃ】矩形領域同士の重なり具合に応じた移動パターンを説明する図である。
【図８】複数の矩形領域の配置とその重複の除去を説明する図である。
【図９】レイアウトの方向性を示す重み付けテンプレートの具体例を示した図である。
【図１０】レイアウトの方向性を示す重み付けテンプレートと、シミュレーティド・アニーリング法を組み合わせて、どのようにレイアウト処理が行われるかを概略的に示す図である。
【図１１】矩形領域の重複がない場合におけるシミュレーティド・アニーリング法によるレイアウト処理を説明する図である。
【図１２】微調整処理部が行う微調整の処理を説明する図である。
【図１Ａ】
2006154953.tif 000003
【図１Ｂ】
2006154953.tif 000004
【図１Ｃ】
2006154953.tif 000005
【図２】
2006154953.tif 000006
【図３】
2006154953.tif 000007
【図４】
2006154953.tif 000008
【図５】
2006154953.tif 000009
【図６】
2006154953.tif 000010
【図７Ａ】
2006154953.tif 000011
【図７Ｂ】
2006154953.tif 000012
【図７Ｃ】
2006154953.tif 000013
【図８】
2006154953.tif 000014
【図９】
2006154953.tif 000015
【図１０】
2006154953.tif 000016
【図１１】
2006154953.tif 000017
【図１２】
2006154953.tif 000018
【手続補正書】
【提出日】平成18年1月25日(2006.1.25)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ページ上のレイアウト領域に配置するコンテンツデータを、当該コンテンツデータを収める矩形領域のサイズに応じて、配置位置を制御するレイアウト制御装置であって、
前記矩形領域のサイズ情報及び前記コンテンツデータの情報を含む矩形情報を入力する矩形情報入力手段と、
前記配置位置を制御するために、前記ページ上のレイアウト領域を複数の領域に分割した分割領域に割り当てられている重み付け情報を入力する重み付け情報入力手段と、
前記矩形領域を前記ページ上のレイアウト領域に配置する配置手段と、
前記配置された複数の矩形領域が重複する場合は、いずれか一方の矩形領域を移動パターンに応じて移動させて当該重複を除去するように配置を変更する重複除去手段と、
前記変更された各矩形領域の配置に対応する前記分割領域に割り当てられている重み付け情報に基づいて、当該各矩形領域の配置位置をそれぞれ制御するレイアウト制御手段と、
前記配置位置がそれぞれ制御された各矩形領域の位置情報に基づいて、当該矩形領域のレイアウト結果を出力する出力手段と
を備えることを特徴とするレイアウト制御装置。
【請求項２】
前記分割領域のサイズに応じて、前記矩形領域のサイズを拡大、調整する拡大調整手段を更に備え、前記配置手段は、前記拡大調整手段により前記サイズが拡大、調整された前記矩形領域を前記ページ上のレイアウト領域に配置することを特徴とする請求項１に記載のレイアウト制御装置。
【請求項３】
前記重複除去手段により、前記重複を除去できない場合、前記矩形領域のサイズを縮小させる縮小手段を更に備えることを特徴とする請求項１に記載のレイアウト制御装置。
【請求項４】
前記拡大調整手段により拡大、調整された矩形領域のサイズを、前記サイズ情報に基づき縮小し、当該縮小により各矩形領域間に生じる隙間を無くすために、各矩形領域を順次移動させて各矩形領域の配置位置を調整する微調整手段を更に備えることを特徴とする請求項２に記載のレイアウト制御装置。
【請求項５】
ページ上のレイアウト領域に配置するコンテンツデータを、当該コンテンツデータを収める矩形領域のサイズに応じて、配置位置を制御するレイアウト制御方法であって、
前記矩形領域のサイズ情報及び前記コンテンツデータの情報を含む矩形情報を入力する矩形情報入力工程と、
前記配置位置を制御するために、前記ページ上のレイアウト領域を複数の領域に分割した分割領域に割り当てられている重み付け情報を入力する重み付け情報入力工程と、
前記矩形領域を前記ページ上のレイアウト領域に配置する配置工程と、
前記配置された複数の矩形領域が重複する場合は、いずれか一方の矩形領域を移動パターンに応じて移動させて当該重複を除去するように配置を変更する重複除去工程と、
前記変更された各矩形領域の配置に対応する前記分割領域に割り当てられている重み付け情報に基づいて、当該各矩形領域の配置位置をそれぞれ制御するレイアウト制御工程と、
前記配置位置がそれぞれ制御された各矩形領域の位置情報に基づいて、当該矩形領域のレイアウト結果を出力する出力工程と
を備えることを特徴とするレイアウト制御方法。
【請求項６】
前記分割領域のサイズに応じて、前記矩形領域のサイズを拡大、調整する拡大調整工程を更に備え、前記配置工程は、前記拡大調整工程により前記サイズが拡大、調整された前記矩形領域を前記ページ上のレイアウト領域に配置することを特徴とする請求項５に記載のレイアウト制御方法。
【請求項７】
前記重複除去工程により、前記重複を除去できない場合、前記矩形領域のサイズを縮小させる縮小工程を更に備えることを特徴とする請求項５に記載のレイアウト制御方法。
【請求項８】
前記拡大調整工程により拡大、調整された矩形領域のサイズを、前記サイズ情報に基づき縮小し、当該縮小により各矩形領域間に生じる隙間を無くすために、各矩形領域を順次移動させて各矩形領域の配置位置を調整する微調整工程を更に備えることを特徴とする請求項６に記載のレイアウト制御方法。
【請求項９】
請求項５から８のいずれか１項に記載のレイアウト制御方法をコンピュータに実行させることを特徴とするプログラム。
【請求項１０】
請求項９に記載のプログラムを格納したことを特徴とするコンピュータ可読の記憶媒体。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０００７
【補正方法】変更
【補正の内容】
【０００７】
すなわち、ページ上のレイアウト領域に配置するコンテンツデータを、当該コンテンツデータを収める矩形領域のサイズに応じて、配置位置を制御するレイアウト制御装置は、
前記矩形領域のサイズ情報及び前記コンテンツデータの情報を含む矩形情報を入力する矩形情報入力手段と、
前記配置位置を制御するために、前記ページ上のレイアウト領域を複数の領域に分割した分割領域に割り当てられている重み付け情報を入力する重み付け情報入力手段と、
前記矩形領域を前記ページ上のレイアウト領域に配置する配置手段と、
前記配置された複数の矩形領域が重複する場合は、いずれか一方の矩形領域を移動パターンに応じて移動させて当該重複を除去するように配置を変更する重複除去手段と、
前記変更された各矩形領域の配置に対応する前記分割領域に割り当てられている重み付け情報に基づいて、当該各矩形領域の配置位置をそれぞれ制御するレイアウト制御手段と、
前記配置位置がそれぞれ制御された各矩形領域の位置情報に基づいて、当該矩形領域のレイアウト結果を出力する出力手段と
を備えることを特徴とする。