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