(57)【要約】【課題】レイアウト領域全体のバランスを考慮しつつ高いデザイン性を有する文書を作成すること。【解決手段】本発明は、レイアウト領域に配置される少なくとも一のオブジェクトおよび前記レイアウト領域における前記少なくとも一のオブジェクトの配置を特定するレイアウト情報を含むデータである文書を取得する文書取得手段と、前記文書取得手段により取得された文書に含まれるレイアウト情報およびオブジェクトの少なくともいずれか一方に基づいて、その文書の属性情報を生成する属性情報生成手段と、前記属性情報生成手段により生成された属性情報に基づいて、前記レイアウト情報または前記少なくとも一のオブジェクトのうち一のオブジェクトの少なくともいずれか一方を加工するレイアウト加工手段とを有する文書作成システムを提供する。【選択図】図１
2007172573.tif 000002
【特許請求の範囲】
【請求項１】
レイアウト領域に配置される少なくとも一のオブジェクトおよび前記レイアウト領域における前記少なくとも一のオブジェクトの配置を特定するレイアウト情報を含むデータである文書を取得する文書取得手段と、
前記文書取得手段により取得された文書に含まれるレイアウト情報およびオブジェクトの少なくともいずれか一方に基づいて、その文書の属性を示す属性情報を生成する属性情報生成手段と、
前記属性情報生成手段により生成された属性情報に基づいて、前記レイアウト情報または前記少なくとも一のオブジェクトのうち一のオブジェクトの少なくともいずれか一方を加工するレイアウト加工手段と
を有する文書作成システム。
【請求項２】
前記レイアウト情報が、前記少なくとも一のオブジェクトの各々の重要度を示す重要度情報を含み、
前記属性情報生成手段が、前記レイアウト領域における重要度の分布を示す重要度分布情報を含む属性情報を生成し、
前記レイアウト加工手段が、前記重要度分布情報に基づいて、前記レイアウト情報または前記少なくとも一のオブジェクトのうち一のオブジェクトの少なくともいずれか一方を加工する
ことを特徴とする請求項１に記載の文書作成システム。
【請求項３】
前記レイアウト領域を複数に区分した区分領域ごとに、その区分領域に対応するオブジェクトの重要度情報またはその区分領域と特定の位置関係にある他の区分領域に対応する少なくとも一のオブジェクトの重要度情報に基づいて、その区分領域の重要度を示す区分重要度情報を生成する区分重要度情報生成手段をさらに有し、
前記属性情報生成手段が、前記区分重要度情報生成手段により生成された区分重要度情報に基づいて重要度分布情報を生成する
ことを特徴とする請求項２に記載の文書作成システム。
【請求項４】
前記文書が、その文書の出力単位を示す情報をさらに含み、
前記レイアウト領域が、前記出力単位と異なる
ことを特徴とする請求項１に記載の文書作成システム。
【請求項５】
前記レイアウト情報が、前記複数のオブジェクトの各々のカテゴリを示すカテゴリ情報を含み、
前記属性情報生成手段が、前記カテゴリ情報に基づいて、属性情報を生成する
ことを特徴とする請求項１に記載の文書作成システム。
【請求項６】
前記レイアウト情報が、前記複数のオブジェクトの各々の大きさを示すサイズ情報を含み、
前記属性情報生成手段が、前記サイズ情報に基づいて、属性情報を生成する
ことを特徴とする請求項１に記載の文書作成システム。
【請求項７】
前記属性情報生成手段が、前記少なくとも一のオブジェクトの各々の形状を示す形状情報を含む属性情報を生成することを特徴とする請求項１に記載の文書作成システム。
【請求項８】
前記属性情報生成手段が、オブジェクトの重なりを示す重なり情報を含む属性情報を生成することを特徴とする請求項１に記載の文書作成システム。
【請求項９】
前記属性情報生成手段が、前記レイアウト領域において前記少なくとも一のオブジェクトが占める領域以外の領域である余白領域を示す余白情報を含む属性情報を生成することを特徴とする請求項１に記載の文書作成システム。
【請求項１０】
前記属性情報生成手段が、前記レイアウト領域における色の分布を示す重要度分布情報を含む属性情報を生成することを特徴とする請求項１に記載の文書作成システム。
【請求項１１】
複数のオブジェクトを記憶したコンテンツ記憶手段と、
複数のレイアウト情報を記憶したレイアウト記憶手段と、
前記レイアウト記憶手段に記憶された複数のレイアウト情報から一のレイアウト情報および前記コンテンツ記憶手段に記憶された複数のオブジェクトから少なくとも一のオブジェクトを選択する選択手段と、
前記選択手段により選択された少なくとも一のオブジェクトを、前記選択手段により選択されたレイアウト情報に従ってレイアウト領域に配置し、文書を生成する初期レイアウト手段と
をさらに有し、
前記文書取得手段が、前記初期レイアウト手段により生成された文書を取得する
ことを特徴とする請求項１に記載の文書作成システム。
【請求項１２】
前記レイアウト情報または前記少なくとも一のオブジェクトのうち一のオブジェクトの少なくともいずれか一方を加工するルールを含むデザイン知識情報を記憶するデザイン知識情報記憶手段と、
前記レイアウト加工手段が、前記デザイン知識情報記憶手段に記憶されたデザイン知識情報に基づいて前記レイアウト情報または前記少なくとも一のオブジェクトのうち一のオブジェクトの少なくともいずれか一方を加工する
ことを特徴とする請求項１に記載の文書作成システム。
【請求項１３】
レイアウト領域に配置される少なくとも一のオブジェクトおよび前記レイアウト領域における前記少なくとも一のオブジェクトの配置を特定するレイアウト情報を含むデータである文書を取得する文書取得ステップと、
前記取得された文書に含まれるレイアウト情報およびオブジェクトの少なくともいずれか一方に基づいて、その文書の属性情報を生成する属性情報生成ステップと、
前記属性情報に基づいて、前記レイアウト情報または前記少なくとも一のオブジェクトのうち一のオブジェクトの少なくともいずれか一方を加工するレイアウト加工ステップと
を有する文書作成方法。
【請求項１４】
コンピュータ装置に、
レイアウト領域に配置される少なくとも一のオブジェクトおよび前記レイアウト領域における前記少なくとも一のオブジェクトの配置を特定するレイアウト情報を含むデータである文書を取得する文書取得ステップと、
前記取得された文書に含まれるレイアウト情報およびオブジェクトの少なくともいずれか一方に基づいて、その文書の属性情報を生成する属性情報生成ステップと、
前記属性情報に基づいて、前記レイアウト情報または前記少なくとも一のオブジェクトのうち一のオブジェクトの少なくともいずれか一方を加工するレイアウト加工ステップと
を実行させるプログラム。
【請求項１５】
コンピュータ装置に、
レイアウト領域に配置される少なくとも一のオブジェクトおよび前記レイアウト領域における前記少なくとも一のオブジェクトの配置を特定するレイアウト情報を含むデータである文書を取得する文書取得ステップと、
前記取得された文書に含まれるレイアウト情報およびオブジェクトの少なくともいずれか一方に基づいて、その文書の属性情報を生成する属性情報生成ステップと、
前記属性情報に基づいて、前記レイアウト情報または前記少なくとも一のオブジェクトのうち一のオブジェクトの少なくともいずれか一方を加工するレイアウト加工ステップと
を実行させるプログラムを記憶した記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は少なくとも一のオブジェクト（デジタルコンテンツ）を含む文書を作成する技術に関する。
【背景技術】
【０００２】
ニュース等のオブジェクト（デジタルコンテンツ）をユーザに提供するコンテンツ配信システムが知られている。一般的に、コンテンツ配信システムは、まずコンテンツデータベースから複数のオブジェクトを読み出す。次にコンテンツ配信システムは、読み出したオブジェクトを編集し、これらを含む文書を生成する。さらにコンテンツ配信システムは、文書をユーザに配信する。オブジェクトの編集過程において、視認性を向上させるように、オブジェクトが編集される。一般的には、オブジェクトに含まれる画像やテキストなどを配置するための配置枠がレイアウト領域に複数配置される。オブジェクトは、配置枠に従って配置される。
【０００３】
このような編集過程は、種々の問題を含んでいる。例えば、テキストのフォントサイズが配置枠に対して小さすぎる場合、配置枠内部に不必要な空白が生じてしまうという問題がある。あるいは、テキストのフォントサイズが配置枠に対して大きすぎる場合、テキストが配置枠に収まらないという問題がある。さらに、あるページの配置枠からあふれたテキストが、別のページの配置枠に配置されると、ページ間でフォントサイズまたは行間隔が異なってしまうという問題がある。加えて、一部の配置枠に対応するオブジェクトを変更したときに、変更されたオブジェクトと他のオブジェクトとのフォントサイズまたは行間隔が異なってしまうという問題がある。これらの現象により、出力用オブジェクトの視認性あるいは美観が損なわれるという問題がある。
【０００４】
このような問題を解決する技術として、例えば特許文献１および２に記載の技術がある。特許文献１は、指定されたページ内に文書データが収まるように文書の書式を変更する技術を開示している。特許文献２は、文書データの構造属性に基づいて文書データの割り付けを自動修正する技術を開示している。
【０００５】
【特許文献１】特開昭６３−２２１４５７号公報
【特許文献２】特開平１−１８５７６１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
特許文献１および２の技術は、いずれも組版に基づいて設計されているため、組版に適合しない文書を作成するのが困難であるという問題があった。例えば、オブジェクトが複数ページにわたって配置される場合に、レイアウト領域全体のバランスを考慮しつつ高いデザイン性を有する文書（出力用オブジェクト）を作成することは困難であった。
これに対し本発明は、レイアウト領域全体のバランスを考慮しつつ高いデザイン性を有する文書を作成する技術を提供する。
【課題を解決するための手段】
【０００７】
本発明は、レイアウト領域に配置される少なくとも一のオブジェクトおよび前記レイアウト領域における前記少なくとも一のオブジェクトの配置を特定するレイアウト情報を含むデータである文書を取得する文書取得手段と、前記文書取得手段により取得された文書に含まれるレイアウト情報およびオブジェクトの少なくともいずれか一方に基づいて、その文書の属性情報を生成する属性情報生成手段と、前記属性情報生成手段により生成された属性情報に基づいて、前記レイアウト情報または前記少なくとも一のオブジェクトのうち一のオブジェクトの少なくともいずれか一方を加工するレイアウト加工手段とを有する文書作成システムを提供する。この文書作成システムによれば、文書全体のバランスを考慮しつつ高いデザイン性を有する文書を作成することができる。
【０００８】
好ましい態様において、この文書作成システムは、前記レイアウト情報が、前記少なくとも一のオブジェクトの各々の重要度を示す重要度情報を含み、前記属性情報生成手段が、前記レイアウト領域における重要度の分布を示す重要度分布情報を含む属性情報を生成し、前記レイアウト加工手段が、前記重要度分布情報に基づいて、前記レイアウト情報または前記少なくとも一のオブジェクトのうち一のオブジェクトの少なくともいずれか一方を加工してもよい。
さらに、この文書作成システムは、前記レイアウト領域を複数に区分した区分領域ごとに、その区分領域に対応するオブジェクトの重要度情報またはその区分領域と特定の位置関係にある他の区分領域に対応する少なくとも一のオブジェクトの重要度情報に基づいて、その区分領域の重要度を示す区分重要度情報を生成する区分重要度情報生成手段をさらに有し、前記属性情報生成手段が、前記区分重要度情報生成手段により生成された区分重要度情報に基づいて重要度分布情報を生成してもよい。
【０００９】
別の好ましい態様において、この文書作成システムは、前記文書が、その文書の出力単位を示す情報をさらに含み、前記レイアウト領域が、前記出力単位と異なっていてもよい。
【００１０】
さらに別の好ましい態様において、この文書作成システムは、前記レイアウト情報が、前記複数のオブジェクトの各々のカテゴリを示すカテゴリ情報を含み、前記属性情報生成手段が、前記カテゴリ情報に基づいて、属性情報を生成してもよい。
【００１１】
さらに別の好ましい態様において、この文書作成システムは、前記レイアウト情報が、前記複数のオブジェクトの各々の大きさを示すサイズ情報を含み、前記属性情報生成手段が、前記サイズ情報に基づいて、属性情報を生成してもよい。
【００１２】
さらに別の好ましい態様において、この文書作成システムは、前記属性情報生成手段が、前記少なくとも一のオブジェクトの各々の形状を示す形状情報を含む属性情報を生成してもよい。
【００１３】
さらに別の好ましい態様において、この文書作成システムは、前記属性情報生成手段が、オブジェクトの重なりを示す重なり情報を含む属性情報を生成してもよい。
【００１４】
さらに別の好ましい態様において、この文書作成システムは、前記属性情報生成手段が、前記レイアウト領域において前記少なくとも一のオブジェクトが占める領域以外の領域である余白領域を示す余白情報を含む属性情報を生成してもよい。
【００１５】
さらに別の好ましい態様において、この文書作成システムは、前記属性情報生成手段が、前記レイアウト領域における色の分布を示す重要度分布情報を含む属性情報を生成してもよい。
【００１６】
さらに別の好ましい態様において、この文書作成システムは、複数のオブジェクトを記憶したコンテンツ記憶手段と、複数のレイアウト情報を記憶したレイアウト記憶手段と、前記レイアウト記憶手段に記憶された複数のレイアウト情報から一のレイアウト情報および前記コンテンツ記憶手段に記憶された複数のオブジェクトから少なくとも一のオブジェクトを選択する選択手段と、前記選択手段により選択された少なくとも一のオブジェクトを、前記選択手段により選択されたレイアウト情報に従ってレイアウト領域に配置し、文書を生成する初期レイアウト手段とをさらに有し、前記文書取得手段が、前記初期レイアウト手段により生成された文書を取得してもよい。
【００１７】
さらに別の好ましい態様において、この文書作成システムは、前記レイアウト情報または前記少なくとも一のオブジェクトのうち一のオブジェクトの少なくともいずれか一方を加工するルールを含むデザイン知識情報を記憶するデザイン知識情報記憶手段と、前記レイアウト加工手段が、前記デザイン知識情報記憶手段に記憶されたデザイン知識情報に基づいて前記レイアウト情報または前記少なくとも一のオブジェクトのうち一のオブジェクトの少なくともいずれか一方を加工してもよい。
【００１８】
また、本発明は、レイアウト領域に配置される少なくとも一のオブジェクトおよび前記レイアウト領域における前記少なくとも一のオブジェクトの配置を特定するレイアウト情報を含むデータである文書を取得する文書取得ステップと、前記取得された文書に含まれるレイアウト情報およびオブジェクトの少なくともいずれか一方に基づいて、その文書の属性情報を生成する属性情報生成ステップと、前記属性情報に基づいて、前記レイアウト情報または前記少なくとも一のオブジェクトのうち一のオブジェクトの少なくともいずれか一方を加工するレイアウト加工ステップとを有する文書作成方法を提供する。
【００１９】
さらに、本発明は、コンピュータ装置に、レイアウト領域に配置される少なくとも一のオブジェクトおよび前記レイアウト領域における前記少なくとも一のオブジェクトの配置を特定するレイアウト情報を含むデータである文書を取得する文書取得ステップと、前記取得された文書に含まれるレイアウト情報およびオブジェクトの少なくともいずれか一方に基づいて、その文書の属性情報を生成する属性情報生成ステップと、前記属性情報に基づいて、前記レイアウト情報または前記少なくとも一のオブジェクトのうち一のオブジェクトの少なくともいずれか一方を加工するレイアウト加工ステップとを実行させるプログラムを提供する。
さらに、本発明はこのプログラムを記憶した記憶媒体を提供する。
【発明を実施するための最良の形態】
【００２０】
＜１．第１実施形態＞
＜１．１．構成＞
図１は、本発明の第１実施形態に係る文書作成装置１００の機能構成を示すブロック図である。自動レイアウト部１０は、ユーザからの指示に応じて選択されたレイアウトテンプレートに基づき、選択されたオブジェクトを自動的に初期レイアウトする。コンテンツデータベース１２は、種々のオブジェクトを記憶したデータベースである。テンプレートデータベース１１は、種々のレイアウトテンプレートを記憶したデータベースである。文書属性情報生成部１３は、初期レイアウトによって作成された文書（出力用デジタルコンテンツ）に基づき、文書属性情報を生成する。ここで、「文書」とは、少なくとも１のオブジェクトおよび少なくとも１のレイアウト情報を含むデジタルデータ、またはそのデジタルデータに基づいて出力される画像をいう。「レイアウト情報」とは、レイアウト領域におけるオブジェクトの配置を示す情報をいう。「オブジェクト」とは、テキスト（文字列）または画像を示すデジタルデータをいう。「レイアウト領域」とは、以下で説明するレイアウト調整が行われる単位であって、オブジェクトが配置される領域をいう。文書属性情報記憶部１４は、生成された文書属性情報を記憶する。レイアウト調整部１５は、文書属性情報に基づいてレイアウトされたオブジェクトのレイアウトを調整（加工）する。文書属性情報更新部１６は、レイアウト内容が調整されたオブジェクトに基づいて文書属性情報を更新する。また、文書属性情報更新部１６は、後述するデザイン部１７においてデザイン処理が施された後の文書に基づき文書属性情報を更新する。
【００２１】
自動レイアウト部１０は、ユーザからの指示に応じて、テンプレートデータベース１１からレイアウトテンプレートを取得する。また、自動レイアウト部１０は、ユーザからの指示に応じて、コンテンツデータベース１２から少なくとも一のオブジェクトを取得する。さらに、自動レイアウト部１０は、取得されたレイアウトテンプレートに含まれるレイアウト情報に基づいて、取得されたオブジェクトを初期レイアウトする。
【００２２】
レイアウトテンプレートは、レイアウト情報を含む。レイアウト情報は、少なくともレイアウト領域におけるオブジェクトの配置を指定する情報を含む。また、レイアウト情報は、配置されるオブジェクトの属性を示すオブジェクト属性情報を含んでもよい。「オブジェクト属性情報」は、オブジェクト個々の属性を示す情報である。これに対し、「文書属性情報」は、複数のオブジェクトを含む文書全体の属性を示す情報である。「文書属性情報」は、例えば、その文書に含まれるオブジェクトのオブジェクト属性情報に基づいて生成される。オブジェクト属性情報は、例えば、（１）オブジェクトのカテゴリ（例えば、タイトル、本文、メイン画像、またはサブ画像など）を示すカテゴリ情報、（２）オブジェクトの配置を示す配置情報（例えば、印刷用紙領域内における配置情報。具体的には２次元座標系における座標の値）、（３）その配置に対応するオブジェクト個々の重要度を示す重要度情報、（４）テキストのオブジェクトに対する、フォント種類、フォントサイズ、フォント色、文字間隔、または行ピッチなどのフォント情報、（５）画像のオブジェクトに対する、画像の数、品質、大きさ、または割合などの画像情報を含む。レイアウト情報は、例えば、ＨＴＭＬ（HyperText Markup Language）、ＸＭＬ（Extensible Markup Language）により記述される。なお、ここでいう「重要度」は、複数のオブジェクトと１対１に対応する情報であり、個々のオブジェクトの重要度を示す情報である。これに対し後述する「重要度分布情報」は、レイアウト領域においてオブジェクトの重要度がどのように分布しているかを示す情報である。このように、「重要度」と「重要度分布情報」とは異なる概念である。また、自動レイアウトの処理方法およびテンプレートの構成は、以上で説明したものに限られない。他の自動レイアウト処理方法および他の構成のレイアウトテンプレートが用いられてもよい。また、レイアウト情報は、上記５つのオブジェクト属性情報をすべて含んでいなくてもよいし、上記５つのオブジェクト属性情報以外の別の情報を含んでいてもよい。
【００２３】
テンプレートデータベース１１は、少なくとも一のレイアウトテンプレートを含む。各レイアウトテンプレートは、例えば、「カタログ」や「ポスター」など、種々の使用目的に対応して作成されたものである。
【００２４】
コンテンツデータベース１２は、複数のテキストデータおよび複数の画像データの少なくともいずれか一方を含むデータベースである。テキストデータは、例えば、タイトル、本文、またはキャッチフレーズ等の種々の使用目的に応じたテキスト（文字列）を含む。画像データは、背景画像、人物画像、動物画像、または商品画像などの種々の種類の画像を含む。
【００２５】
文書属性情報生成部１３は、文書属性情報を生成する。文書属性情報は、レイアウト領域にレイアウトされた少なくとも１のオブジェクトを含む文書全体の属性を示す情報である。本実施形態において、レイアウト領域として、単数ページ、複数ページまたはセクションが用いられる。「ページ」とは、出力装置における出力単位を意味する。文書は、出力単位を示す情報、例えば、ページの区切りを示す情報を含む。「セクション」とは、ページに依存しないレイアウト領域を意味する。すなわち、あるセクションは複数のページにまたがっていてもよい。あるいは、あるページが複数のセクションを含んでいてもよい。このように、本実施形態において、レイアウト調整処理の単位である「レイアウト領域」と、出力単位である「ページ」とは同一であってもよいし、異なっていてもよい。特に、レイアウト領域と出力単位とが異なる場合、複数ページに渡る文書全体のレイアウトがあるルールに基づいて決定されるので、レイアウト領域全体のバランスを考慮しつつ高いデザイン性を有する文書を作成することができる。文書属性情報生成部１３は、レイアウト領域にレイアウトされた少なくとも１のオブジェクト、またはそのオブジェクトのオブジェクト属性情報に基づいて、文書属性情報を生成する。文書属性情報は、例えば、オブジェクトの配置を示す配置情報、少なくとも２のオブジェクトの重なりを示す重なり情報、レイアウト領域においてオブジェクトが占める領域以外の領域すなわち余白を示す余白情報、オブジェクトの重要度の分布を示す重要度情報を含む。このように、本実施形態においては、レイアウト領域を単位として文書属性情報が生成される。また、後述するように、生成された文書属性情報に基づいてデザイン処理が行われる。したがって、レイアウト領域全体のバランスが考慮された、高いデザイン性を有する文書が作成される。レイアウト領域を変更することにより、デザイン処理の対象となる、すなわち、バランスが考慮される対象となる領域が変更される。
【００２６】
文書属性情報記憶部１４は、文書属性情報生成部１３によって生成された文書属性情報または文書属性情報更新部１６によって更新された文書属性情報を記憶する。
【００２７】
レイアウト調整部１５は、文書属性情報記憶部１４に記憶された文書属性情報に基づいて、初期レイアウトされたオブジェクトのレイアウト内容を調整する、すなわち、レイアウト情報の更新、またはオブジェクトの加工を行う。レイアウト調整部１５は、例えば、オブジェクトの重なり除去、グリッドの調整、画像サイズの調整、フォントサイズの調整、または色の調整を行う。
【００２８】
文書属性情報更新部１６は、更新されたレイアウト情報、例えば、配置情報、サイズ情報、色情報などに基づいて、文書属性情報を再生成する。文書属性情報更新部１６は、再生成された文書属性情報を用いて、文書属性情報記憶部１４に記憶された文書属性情報を更新する。また、文書属性情報更新部１６は、デザイン部１７においてデザインが施されたレイアウト情報、例えば、配置情報、サイズ情報、色情報などに基づいて、文書属性情報記憶部１４に記憶された文書属性情報を更新する。
【００２９】
デザイン部１７は、デザイン知識情報記憶部１８に記憶されたデザイン知識情報に基づいて、文書に対してデザイン処理を施す。デザイン知識情報とは、デザイナ等のレイアウトデザインの知識をルール化および情報化したものである。すなわち、デザイン部１７は、デザイナのデザイン知識に基づいて、文書のデザイン性を高める処理を行う。
【００３０】
デザイン知識情報記憶部１８は、カタログやポスターなどに対する、デザイナのレイアウトデザインの知識をルール化および情報化したデザイン知識情報を記憶する。
文書出力部１９は、デザイン部１７においてデザインが施された文書を、出力装置に出力する。例えば、出力装置が表示装置であれば、出力装置は、文書に基づいた画像を表示する。あるいは、出力装置がプリンタなどの画像形成装置であれば、文書に基づいた画像を印刷媒体上に形成する。
【００３１】
図２は、文書作成装置１００のハードウェア構成を示す図である。ＣＰＵ（Central Processing Unit）６０は、各種制御および演算を行う中央演算処理装置である。ＲＡＭ（Random Access Memory）６２は、主記憶装置である。ＲＯＭ（Read Only Memory）６４は、読み出し専用の記憶装置である。内外バス６８は、上記の要素を接続する。内外バス６８は、例えば、ＰＣＩ（Peripheral Component Interconnect）バスやＩＳＡ（Industrial Standard Architecture）バスである。Ｉ／Ｆ６６は、外部機器との間でデータや制御信号の入出力を行うインターフェースである。外部記憶装置７０は、ＨＤＤ（Hard Disk Drive）などの記憶装置である。出力装置７２は、プリンタなどの画像形成装置、またはＣＲＴ（Cathode Ray Tube）もしくはＬＣＤ（Liquid Crystal Display）などの表示装置である。入力装置７４は、操作パネル、マウス、キーボードでなどである。また、文書作成装置１００は、ネットワークＬ（図示略）およびＩ／Ｆ６６を介して他の装置とデータを送受信することができる。
【００３２】
電源（図示略）が投入されると、ＣＰＵ６０は、ＲＯＭ６４に記憶されたＢＩＯＳ（Basic Input/Output System）などのシステムプログラムを読み出して実行する。システムプログラムを実行すると、ＣＰＵ６０は、外部記憶装置７０に記憶されたオブジェクト作成プログラムを読み出して実行する。オブジェクト作成プログラムを実行することにより、文書作成装置１００は、図１に示される機能構成を具備する。
【００３３】
＜１．２．動作＞
図３は、第１実施形態に係るオブジェクト作成処理を示すフローチャートである。図４は、レイアウトテンプレートの一例を示す図である。図５は、オブジェクトの一例を示す図である。図６は、レイアウトテンプレートに従って初期レイアウトされたオブジェクトの一例を示す図である。
【００３４】
初期動作が終了すると、ステップＳ１００において、文書作成装置１００のＣＰＵ６０は、入力装置７４を介して取得された選択指示に基づいて、ユーザがレイアウトテンプレートを選択したか判断する。ユーザがレイアウトテンプレートを選択したと判断された場合（ステップＳ１００：Ｙｅｓ）、ＣＰＵ６０は、処理をステップＳ１０２に移行する。ユーザがレイアウトテンプレートを選択していないと判断された場合（ステップＳ１００：Ｎｏ）、ＣＰＵ６０は、ユーザがレイアウトテンプレートを選択するまで判定を継続する。
【００３５】
ステップＳ１０２において、ＣＰＵ６０は、テンプレートデータベース１１から、選択されたレイアウトテンプレートを取得する。ここでは、図４に示されるレイアウトテンプレートが選択された場合について説明する。このレイアウトテンプレートは、テキスト１、画像１、画像２およびテキスト２の４つのオブジェクトのレイアウト情報を含む。このレイアウトテンプレートは、テキスト１のレイアウト情報として、「カテゴリ＝タイトル」、「重要度＝Ｈｉｇｈ」、「ａｌｉｇｎ＝Ｔｏｐ：Ｌｅｆｔ」および「フォントサイズ＝９６ｐｔ」という情報を含んでいる。また、このレイアウトテンプレートは、画像１のレイアウト情報として、「カテゴリ＝サブ画像」、「重要度＝Ｌｏｗ」および「ａｌｉｇｎ＝Ｔｏｐ：Ｌｅｆｔ」という情報を含んでいる。また、このレイアウトテンプレートは、画像２のレイアウト情報として、「カテゴリ＝メイン画像」、「重要度＝Ｈｉｇｈ」および「ａｌｉｇｎ＝Ｔｏｐ：Ｌｅｆｔ」という情報を含んでいる。さらに、このレイアウトテンプレートは、テキスト２のレイアウト情報として、「カテゴリ＝本文」、「重要度＝Ｍｉｄｄｌｅ」、「ａｌｉｇｎ＝Ｔｏｐ：Ｌｅｆｔ」および「フォントサイズ＝１６ｐｔ」という情報を含んでいる。
【００３６】
ステップＳ１０４において、ＣＰＵ６０は、入力装置７４を介して取得された選択指示に基づいて、ユーザが必要な数のオブジェクトを選択したか判断する。ユーザが必要な数のオブジェクトを選択したと判断された場合（ステップＳ１０４：Ｙｅｓ）、ＣＰＵ６０は、処理をステップＳ１０６に移行する。ユーザがオブジェクトを選択していないと判断された場合（ステップＳ１０４：Ｎｏ）、ＣＰＵ６０は、ユーザがオブジェクトを選択するまで判定を継続する。
【００３７】
ステップＳ１０６において、ＣＰＵ６０は、コンテンツデータベース１２から、選択されたオブジェクトを取得する。ここでは、図５に示されるように、テキスト１として文字列「新しいプリンタの登場」が、画像１として人物画像が、画像２としてプリンタ画像が、テキスト２として文字列「高速印刷と高画質とを両立させた新機能を搭載」が選択された場合を例に説明する。
【００３８】
ステップＳ１０８において、ＣＰＵ６０は、取得されたレイアウトテンプレートに、取得されたオブジェクトを初期レイアウトする。初期レイアウトにより、オブジェクトの配置が決定される。図６に示されるように、初期レイアウトにおいて、テキスト１の一部と画像１の一部とが重なっている。また、画像１の一部と画像２の一部も重なっている。
【００３９】
ステップＳ１１０において、ＣＰＵ６０は、初期レイアウトされたオブジェクトに基づいて、文書属性情報を生成する。
ステップＳ１１２において、ＣＰＵ６０は、生成された文書属性情報を、外部記憶装置７０の文書属性情報記憶部１４に相当する記憶領域に記憶する。
ステップＳ１１４において、ＣＰＵ６０は、文書属性情報に基づいて、初期レイアウトされたオブジェクトのレイアウト情報を調整するレイアウト調整処理を実行する。
【００４０】
ステップＳ１１６において、ＣＰＵ６０は、レイアウト調整処理が完了したか判断する。レイアウト調整処理が完了したと判断された場合（ステップＳ１１６：Ｙｅｓ）、ＣＰＵ６０は、処理をステップＳ１１８に移行する。レイアウト調整処理が完了していないと判断された場合（ステップＳ１１６：Ｎｏ）、ＣＰＵ６０は、完了するまでレイアウト調整処理を実行する。
【００４１】
ステップＳ１１８において、ＣＰＵ６０は、デザイン知識情報記憶部１８からデザイン知識情報を取得する。ＣＰＵ６０は、取得されたデザイン知識情報と、文書属性情報とに基づいて、レイアウト調整された文書に対してデザイン処理を実行する。
【００４２】
ステップＳ１２０において、ＣＰＵ６０は、デザイン処理された文書に基づいて文書属性情報を生成する。ＣＰＵ６０は、生成された文書属性情報を用いて文書属性情報記憶部１４に記憶された文書属性情報を更新する。
【００４３】
ステップＳ１２２において、ＣＰＵ６０は、デザイン処理が完了したか判定する。デザイン処理が完了したと判定された場合（ステップＳ１２２：Ｙｅｓ）、ＣＰＵ６０は、処理をステップＳ１２４に移行する。デザイン処理が完了していないと判定された場合（ステップＳ１２２：Ｎｏ）、ＣＰＵ６０は、完了するまでデザイン処理を実行する。
【００４４】
ステップＳ１２４において、ＣＰＵ６０は、デザイン処理された文書を出力装置７２に出力する。文書を出力装置７２に出力すると、ＣＰＵ６０は処理を終了する。
【００４５】
＜１．２．１．文書属性情報生成処理＞
図７は、ステップＳ１１０における文書属性情報生成処理の詳細を示すフローチャートである。ステップＳ２００において、ＣＰＵ６０は、配置情報を生成する。配置情報とは、レイアウト領域における各オブジェクトの配置を示す情報である。本実施形態において、配置情報は、オブジェクトの形状を示す形状情報および座標を示す座標情報を含む。
【００４６】
ステップＳ２０２において、ＣＰＵ６０は、重なり情報を生成する。重なり情報とは、レイアウト領域にレイアウトされたオブジェクトの重なり状態を示す情報である。本実施形態において、重なり情報は、重なっているオブジェクトの個数を示す情報、重なっている部分の面積を示す情報などを含む。また、重なり情報は、重なっている領域の形状を特定するのに必要な座標情報を含んでもよい。例えば、重なっている領域が多角形の場合、重なり情報は、その頂点の座標を含んでもよい。
【００４７】
ステップＳ２０４において、ＣＰＵ６０は、余白領域情報を生成する。余白領域情報とは、レイアウト領域において、オブジェクトが占有する領域以外の領域である余白領域を示す情報である。余白領域情報は、例えば、余白領域を多角形で近似した場合におけるその多角形を特定する情報（例えば、多角形の頂点の座標）、あるいは、余白領域を楕円形で近似した場合におけるその楕円形を特定する情報（例えば、楕円形の中心の座標、長径および短径の長さ）を含む。余白領域は、例えば、複数の多角形を特定する情報を含む。
【００４８】
ステップＳ２０６において、ＣＰＵ６０は、重要度分布情報を生成する。重要度分布情報は、レイアウト領域にレイアウトされたオブジェクトの重要度の分布を示す情報である。本実施形態において、重要度分布情報は、それぞれのオブジェクトの重要度情報と、その領域情報とを含む。領域情報とは、レイアウト領域においてその一部の領域を特定する情報、例えば、２次元座標系における座標の値をいう。
【００４９】
ステップＳ２０８において、ＣＰＵ６０は、色分布情報を生成する。色分布情報は、レイアウト領域における色の分布状態を示す情報である。本実施形態において、色分布情報は、オブジェクトの代表色と、その領域情報とを含む。代表色とは、オブジェクトに含まれる色情報から、あらかじめ決められたアルゴリズムにより決定される色である。ステップＳ２００〜Ｓ２０８の処理が完了すると、ＣＰＵ６０は、図７に示される処理を終了する。
【００５０】
＜１．２．１．１．配置情報生成処理＞
図８は、ステップＳ２００における配置情報生成処理の詳細を示す図である。図９（ａ）および（ｂ）は、グループ化されたオブジェクトを例示する図である。図１０（ａ）〜（ｇ）は、文書属性情報を視覚化した図である。
【００５１】
ステップＳ３００において、ＣＰＵ６０は、レイアウト領域にレイアウトされたオブジェクトのうち、処理対象となる対象オブジェクトを選択する。ステップＳ３０２において、ＣＰＵ６０は、対象オブジェクトがグループ化されているか判定する。対象オブジェクトがグループ化されていると判定された場合（ステップＳ３０２：Ｙｅｓ）、ＣＰＵ６０は、処理をステップＳ３０４に移行する。対象オブジェクトがグループ化されていないと判定された場合（ステップＳ３０２：Ｎｏ）、ＣＰＵ６０は、処理をステップＳ３１０に移行する。
【００５２】
ステップＳ３０４において、ＣＰＵ６０は、グループに含まれるオブジェクトの各々について領域情報を取得する。本実施形態において、人物画像は、図９（ｂ）に示されるように、画像ｃおよび画像ｄの２つの画像がグループ化されて形成されたものである。また、プリンタ画像は、図９（ａ）に示されるように、画像ａおよび画像ｂの２つの画像がグループ化されて形成されたものである。したがって、ＣＰＵ６０は、人物画像については画像ｃおよび画像ｄの領域情報をそれぞれ取得し、プリンタ画像については画像ａおよび画像ｂの領域情報をそれぞれ取得する。また、ＣＰＵ６０は、テキストのオブジェクトについて、行ごとに領域情報を取得する。例えば、図６に示される例において、テキスト「新しいプリンタの登場」に着目すると、ＣＰＵ６０は、１行目のテキスト「新しいプリン」の領域情報と、２行目のテキスト「タの登場」の領域情報とをそれぞれ取得する。すなわち、ＣＰＵ６０は、テキスト「新しいプリンタの登場」を、「新しいプリン」および「タの登場」の２つのテキストがグループ化されたオブジェクトとして取り扱う。
【００５３】
ステップＳ３０６において、ＣＰＵ６０は、レイアウト領域にレイアウトされたすべてのオブジェクトについて領域情報の取得が完了したか判定する。すべてのオブジェクトについて領域情報の取得が完了したと判定された場合（ステップＳ３０６：Ｙｅｓ）、ＣＰＵ６０は、処理をステップＳ３０８に移行する。すべてのオブジェクトについて領域情報の取得が完了していないと判定された場合（ステップＳ３０６：Ｎｏ）、ＣＰＵ６０は、処理を再びステップＳ３００に移行する。
【００５４】
ステップＳ３０８において、ＣＰＵ６０は、取得された領域情報に基づいて配置情報を生成する。配置情報は、例えば、オブジェクトが画像である場合、画像の形状（円形、多角形、楕円形など）を示す形状情報およびその図形を代表する座標を示す代表座標情報（円の中心座標、多角形の頂点の座標など）を含む。また、オブジェクトがテキストであれば、配置情報は、テキストボックスの形状情報および座標情報を含む。テキストボックスとは、テキストのオブジェクトが配置される位置を示す図形である。図１０（ａ）は、図６に示される初期レイアウトの配置情報を視覚化した図である。図１０（ａ）の例では、テキストがレイアウトされている領域の形状は矩形である。
ステップＳ３１０において、ＣＰＵ６０は、選択されたオブジェクトの領域情報を取得する。
【００５５】
＜１．２．１．２．重なり情報生成処理＞
図１１は、ステップＳ２０２における重なり情報生成処理の詳細を示すフローチャートである。ステップＳ４００において、ＣＰＵ６０は、配置情報生成処理において生成された配置情報を取得する。ステップＳ４０２において、ＣＰＵ６０は、レイアウト領域において重なっているオブジェクトが存在するか判定する。レイアウト領域において重なっているオブジェクトが存在すると判定された場合（ステップＳ４０２：Ｙｅｓ）、ＣＰＵ６０は、処理をステップＳ４０４に移行する。レイアウト領域において重なっているオブジェクトが存在しないと判定された場合（ステップＳ４０２：Ｎｏ）、ＣＰＵ６０は、処理をステップＳ４０８に移行する。
【００５６】
ステップＳ４０４において、ＣＰＵ６０は、配置情報に基づいて、他のオブジェクトと重なっているオブジェクトの数を算出する。ステップＳ４０６において、ＣＰＵ６０は、重なり合ったオブジェクトの重なり領域を示す座標を算出する。ステップＳ４０８において、ＣＰＵ６０は、重なり個数および重なり座標に基づいて、重なり情報を生成する。図１０（ｂ）は、生成された重なり情報を視覚化した図である。なお、レイアウト領域内に重なっているオブジェクトが存在しない場合、ＣＰＵ６０は、重なりがないことを示す重なり情報を生成する。なお、ＣＰＵ６０は、グループ化されたオブジェクトであって、同一のグループに属するオブジェクトについては、重なり情報を生成しない。
【００５７】
＜１．２．１．３．余白領域情報生成処置＞
図１２は、ステップＳ２０４における余白領域情報生成処理の詳細を示すフローチャートである。ステップＳ５００において、ＣＰＵ６０は、配置情報生成処理において生成された配置情報を取得する。ステップＳ５０２において、ＣＰＵ６０は、レイアウト領域の情報を取得する。ここで、レイアウト領域の情報とは、レイアウト領域が単数ページの情報であれば単数ページ領域の範囲情報であり、レイアウト領域が複数ページの情報であれば複数ページ領域の範囲情報であり、レイアウト領域が単数セクションの情報であれば単数セクションの領域の範囲情報であり、レイアウト領域が複数セクションの情報であれば複数セクションの領域の範囲情報である。範囲情報とは、印刷用紙や表示装置などの出力媒体に置ける物理的な範囲すなわち領域を特定する情報である。
【００５８】
ステップＳ５０４において、ＣＰＵ６０は、配置情報および範囲情報に基づいて、余白領域を示す座標を算出する。ステップＳ５０６において、ＣＰＵ６０は、余白領域の座標に基づいて、余白領域情報を生成する。本実施形態において、余白領域情報は、余白領域を多角形もしくは楕円形またはこれらの組み合わせで近似することにより生成されてもよい。図１０（ｃ）は、余白領域を視覚化した図である。余白領域と配置情報により示される領域（図１０（ａ））とは、排他的な関係にある。図１０（ｆ）は、多角形（矩形）で近似された余白領域を視覚化した図である。図１０（ｇ）は、楕円形で近似された余白領域を視覚化した図である。なお、余白領域と配置情報により示される領域とは、必ずしも排他的な関係になくてもよい。例えば、ある領域が余白領域と配置情報により示される領域の双方に属してもよい。あるいは、余白領域と配置情報により示される領域のどちらにも属さない領域が存在してもよい。
【００５９】
＜１．２．１．４．重要度分布情報生成処理＞
図１３は、ステップＳ２０６における重要度分布情報生成処理の詳細を示すフローチャートである。ステップＳ６００において、ＣＰＵ６０は、配置情報生成処理において生成された配置情報を取得する。ステップＳ６０２において、ＣＰＵ６０は、レイアウトテンプレートにおけるレイアウト領域に対応する重要度情報を取得する。前述のように、レイアウトテンプレートは、各領域に対する重要度を示す重要度情報を含んでいる。
【００６０】
ステップＳ６０４において、ＣＰＵ６０は、配置情報および重要度情報に基づいて、重要度分布情報を生成する。ここで、重要度分布情報とは、レイアウト領域におけるオブジェクトの重要度の分布を示す情報である。重要度分布情報は、各オブジェクトの重要度およびそのオブジェクトの配置情報を含む。ｎ個のオブジェクトが配置される場合、重要度分布情報は、オブジェクトの重要度およびそのオブジェクトの配置情報からなるデータセットをｎ個含む。本実施形態において、重要度は、高いほうから順に「Ｈｉｇｈ」、「Ｍｉｄｄｌｅ」および「Ｌｏｗ」の３段階で表される。なお、重要度の表現方法はこれに限定されるものではない。また、本実施例では、予め各オブジェクトに設定された重要度をそのまま重要度分布情報として利用しているが、これに限らず各オブジェクトの重要度からあらかじめ決められたアルゴリズムにより重要度分布情報を算出してもよい。これにより、よりレイアウト領域全体の重要度を正確に計算できる。図１０（ｄ）は、重要度分布情報を視覚化した図である。図１０（ｄ）において、より濃いハッチングで示されるオブジェクトは、より高い重要度を有している。最も濃いハッチングで示されるオブジェクトは重要度「Ｈｉｇｈ」を有し、最も薄いハッチングで示されるオブジェクトは重要度「Ｌｏｗ」を有し、中間濃度のハッチングで示されるオブジェクトは重要度「Ｍｉｄｄｌｅ」を有する。
【００６１】
＜１．２．１．５．色分布情報生成処理＞
図１４は、ステップＳ２０８における色分布情報生成処理の詳細を示すフローチャートである。ステップＳ７００において、ＣＰＵ６０は、配置情報生成処理において生成された配置情報を取得する。ステップＳ７０２において、ＣＰＵ６０は、各オブジェクトの色情報に基づいて、各オブジェクトの代表色を決定する。
【００６２】
ステップＳ７０４において、ＣＰＵ６０は、配置情報および代表色に基づいて、色分布情報を生成する。色分布情報とは、オブジェクトの代表色と、そのオブジェクトの配置情報とを含む。図１０（ｅ）は、色分布情報を視覚化した図である。図１０（ｅ）において、各オブジェクトは、全体がその代表色一色で塗られている。
【００６３】
＜１．２．２．レイアウト調整処理＞
図１５は、ステップＳ１１４におけるレイアウト調整処理の詳細を示すフローチャートである。ステップＳ８００において、ＣＰＵ６０は、初期レイアウトされた文書に対して重なり除去処理を実行する。ステップＳ８０２において、ＣＰＵ６０は、重なり除去処理された文書に基づいて文書属性情報を再生成する。さらに、ＣＰＵ６０は、再生成された文書属性情報を用いて、文書属性情報記憶部１４に記憶された文書属性情報を更新する。ここで、重なり除去処理とは、初期レイアウト時のレイアウト領域において重なり合っているオブジェクトのいずれか一方または双方を、重なりがなくなるように移動またはサイズ変更する処理をいう。重なり除去処理は、配置情報、重なり情報、余白領域情報および重要度分布情報などの文書属性情報の少なくとも１つに基づいて行われる。
【００６４】
ステップＳ８０４において、ＣＰＵ６０は、文書に対してグリッド調整処理を行う。グリッド調整処理とは、複数のオブジェクトの位置関係を、あらかじめ決められたルールに従って調整する処理をいう。グリッド調整は、例えば、以下のように行われる。ＣＰＵ６０は、レイアウト領域にグリッド線を引く。グリッド線の位置は、あらかじめ決められていてもよい。あるいは、グリッド線の位置は、特定のオブジェクトとの位置関係に応じて決められてもよい。ＣＰＵ６０は、各オブジェクトの代表位置と、グリッド線との位置関係があらかじめ決められた条件を満たすように、オブジェクトの位置を変更する。オブジェクトの代表位置としては、例えば、左上端の頂点の座標あるいは中心点の座標などが用いられる。グリッド線と代表位置との関係としては、例えば、代表位置がグリッド線上に位置するという条件が用いられる。このとき、グリッド線の位置は、余白領域情報に基づいて設定されてもよい。例えば、ＣＰＵ６０は、余白領域の大きさ（あるいはレイアウト領域における余白領域の比率）があらかじめ決められた範囲に収まるように、グリッド線の位置を設定してもよい。
【００６５】
ステップＳ８０６において、ＣＰＵ６０は、グリッド調整された文書に基づいて文書属性情報を再生成する。さらに、ＣＰＵ６０は、再生成された文書属性情報を用いて、文書属性情報記憶部１４に記憶された文書属性情報を更新する。
【００６６】
ステップＳ８０８において、ＣＰＵ６０は、文書に対し画像サイズ調整処理を行う。画像サイズ調整処理とは、ある条件を満たす複数の画像のサイズ（大きさ）を、あらかじめ決められたルールに従って変更する処理をいう。例えば、対象となる複数の画像の条件としては、同一カテゴリに属し、かつ、これらの画像サイズの比があらかじめ決められた範囲内（例えば±１０％以内）にあるという条件が採用される。なお、この条件は任意に設計されることができる。また、画像のサイズを変更するルールとしては、例えば、これらの画像を同一のサイズに変更するというルールが採用される。この処理によって、同一カテゴリに属する画像同士のサイズが揃っていないため見栄えが悪くなること防ぐことができる。
【００６７】
ステップＳ８１０において、ＣＰＵ６０は、画像サイズ調整処理された文書に基づいて文書属性情報を再生成する。さらに、ＣＰＵ６０は、再生成された文書属性情報を用いて、文書属性情報記憶部１４に記憶された文書属性情報を更新する。
【００６８】
ステップＳ８１２において、ＣＰＵ６０は、文書に対しフォントサイズ調整処理を行う。フォントサイズ調整処理とは、ある条件を満たすテキストに対し、あらかじめ決められたルールに従ってフォントサイズを変更する処理をいう。処理対象の例としては、例えば、同一カテゴリに属する複数のテキストがある。これらのフォントサイズが異なる場合、ＣＰＵ６０は、フォントサイズを同一の値に変更する。処理対象の別の例として、例えば、フォントサイズが大きすぎてテキストボックスの外枠に収まらないテキストがある。この場合、ＣＰＵ６０は、テキストがテキストボックスの外枠に収まるようにフォントサイズを小さくする。処理対象のさらに別の例として、例えば、テキストボックスに対して文字の占める領域の面積があるしきい値より小さい、すなわち、テキストボックスに対してフォントサイズが小さすぎるテキストがある。この場合、ＣＰＵ６０は、テキストボックスの外枠に収まる範囲でフォントサイズを大きくする。フォントサイズ調整処理によれば、文書のレイアウトに統一感を持たせることができる。
【００６９】
ステップＳ８１４において、ＣＰＵ６０は、フォントサイズ調整処理された文書に基づいて文書属性情報を再生成する。さらに、ＣＰＵ６０は、再生成された文書属性情報を用いて、文書属性情報記憶部１４に記憶された文書属性情報を更新する。
【００７０】
ステップＳ８１６において、ＣＰＵ６０は、文書に対しフォント種別調整処理を行う。フォント種別調整処理とは、ある条件を満たすテキストに対し、あらかじめ決められたルールに従ってフォント（の種別）を変更する処理をいう。処理対象の例としては、例えば、同一カテゴリに属する複数のテキストがある。これらのフォントが異なる場合、ＣＰＵ６０は、これらのテキストのフォントを同一のフォントに変更する。ＣＰＵ６０は、例えば、変更前のフォントのいずれか１つを変更後のフォントとして選択する。あるいは、ＣＰＵ６０は、あらかじめ決められたフォントを変更後のフォントとしてもよい。フォント種別調整処理によれば、文書のレイアウトに統一感を持たせることができる。
【００７１】
ステップＳ８１８において、ＣＰＵ６０は、フォント種別調整処理された文書に基づいて文書属性情報を再生成する。さらに、ＣＰＵ６０は、再生成された文書属性情報を用いて、文書属性情報記憶部１４に記憶された文書属性情報を更新する。
【００７２】
ステップＳ８２０において、ＣＰＵ６０は、文書に対して色調整処理を行う。色調整処理とは、ある条件を満たす複数のオブジェクトに対し、あらかじめ決められたルールに従ってその色を変更する処理をいう。処理対象となるオブジェクトとしては、例えば、その代表色の色差があらかじめ決められた範囲外にある複数のオブジェクトがある。この場合、ＣＰＵ６０は、これらのオブジェクトの代表色の色差があらかじめ決められた範囲内に収まるように、オブジェクトの色を変更する。色調整処理によれば、文書のレイアウトに統一感を持たせることができる。なお、テンプレートに配色ルールが規定されている場合、ＣＰＵ６０は、この配色ルールに従って色を調整してもよい。
【００７３】
ステップＳ８２２において、ＣＰＵ６０は、色調整処理された文書に基づいて文書属性情報を再生成する。さらに、ＣＰＵ６０は、再生成された文書属性情報を用いて、文書属性情報記憶部１４に記憶された文書属性情報を更新する。
【００７４】
＜１．２．２．１．重なり除去処理＞
図１６は、ステップＳ８００における重なり除去処理の詳細を示すフローチャートである。ステップＳ９００において、ＣＰＵ６０は、重要度分布情報および余白領域情報に基づいて、レイアウト領域にレイアウトされたオブジェクトのうち、「Ｈｉｇｈ」以外の重要度を有し、かつ、面積が最大の余白領域に最も近いオブジェクトを対象オブジェクトとして特定する。ステップＳ９０２において、ＣＰＵ６０は、対象オブジェクトが他のオブジェクトと重なっているか判定する。対象オブジェクトが他のオブジェクトと重なっていると判定された場合（ステップＳ９０２：Ｙｅｓ）、ＣＰＵ６０は、処理をステップＳ９０４に移行する。対象オブジェクトが他のオブジェクトと重なっていないと判定された場合（ステップＳ９０２：Ｎｏ）、ＣＰＵ６０は、処理をステップＳ９０６に移行する。
【００７５】
ステップＳ９０４において、ＣＰＵ６０は、対象オブジェクトに対して重なり除去処理を行う。ステップＳ９０６において、ＣＰＵ６０は、レイアウト領域における重なりがすべて除去されたか判定する。レイアウト領域における重なりがすべて除去されたと判定された場合（ステップＳ９０６：Ｙｅｓ）、ＣＰＵ６０は、図１６に示される処理を終了する。レイアウト領域における重なりがすべて除去されていないと判定された場合（ステップＳ９０６：Ｎｏ）、ＣＰＵ６０は、処理をステップＳ９０８に移行する。
【００７６】
ステップＳ９０８において、ＣＰＵ６０は、レイアウト領域にレイアウトされたオブジェクトのうち、「Ｈｉｇｈ」以外の重要度を有し、かつ、面積が最大の余白領域に先ほど対象オブジェクトであったオブジェクトの次に近いオブジェクトを対象オブジェクトとして特定する。ステップＳ９１０において、ＣＰＵ６０は、ステップＳ９０８において対象オブジェクトを特定できたか判定する。対象オブジェクトを特定できたと判定された場合（ステップＳ９１０：Ｙｅｓ）、ＣＰＵ６０は、処理を再びステップＳ９０４に移行する。対象オブジェクトを特定できなかったと判定された場合（ステップＳ９１０：Ｎｏ）、ＣＰＵ６０は、処理を再びステップＳ９１２に移行する。
【００７７】
ステップＳ９１２において、ＣＰＵ６０は、レイアウト領域に配置されたオブジェクトのうち、重要度「Ｈｉｇｈ」を有するオブジェクトを対象オブジェクトとして特定する。重要度「Ｈｉｇｈ」を有するオブジェクトが複数ある場合、ＣＰＵ６０は、あらかじめ決められたルールに従って順番に１つずつ対象オブジェクトを特定する。ステップＳ９１４において、ＣＰＵ６０は、重なり情報に基づいて、対象オブジェクトが他のオブジェクトと重なっているか判定する。対象オブジェクトが他のオブジェクトと重なっていると判定された場合（ステップＳ９１４：Ｙｅｓ）、ＣＰＵ６０は、処理をステップＳ９１６に移行する。対象オブジェクトが他のオブジェクトと重なっていないと判定された場合（ステップＳ９１４：Ｎｏ）、ＣＰＵ６０は、図１６に示される処理を終了する。
【００７８】
ステップＳ９１６において、ＣＰＵ６０は、対象オブジェクトに対して重なり除去処理を行う。ステップＳ９１８において、ＣＰＵ６０は、レイアウト領域における重なりがすべて除去されたか判定する。レイアウト領域における重なりがすべて除去されたと判定された場合（ステップＳ９１８：Ｙｅｓ）、ＣＰＵ６０は、図１６に示される処理を終了する。レイアウト領域における重なりがすべて除去されていないと判定された場合（ステップＳ９１８：Ｎｏ）、ＣＰＵ６０は、重なり除去処理が失敗したことを示す情報を生成する。ＣＰＵ６０は、図１６に示される処理を終了する。
【００７９】
図１７は、ステップＳ９０４およびＳ９１６における重なり除去処理の詳細を示すフローチャートである。ステップＳ１０００において、ＣＰＵ６０は、対象オブジェクトが、余白領域のある方向に移動可能であるか判定する。例えば、移動のルールは、あらかじめ決められている。ＣＰＵ６０は、このルールに従って対象オブジェクトを移動することができるか判定する。余白領域のある方向に移動可能であると判定された場合（ステップＳ１０００：Ｙｅｓ）、ＣＰＵ６０は、処理をステップＳ１００２に移行する。余白領域のある方向に移動可能でないと判定された場合（ステップＳ１０００：Ｎｏ）、ＣＰＵ６０は、処理をステップＳ１００６に移行する。
【００８０】
ステップＳ１００６において、ＣＰＵ６０は、対象オブジェクトがサイズ変更可能なものであるか判定する。例えば、オブジェクトまたはレイアウト情報は、そのオブジェクトがサイズ変更可能であるかを示すフラグを含んでいる。ＣＰＵ６０は、このフラグに基づいてサイズ変更可能であるか判断する。あるいは、ＣＰＵ６０は、あらかじめ決められたルールに従って、オブジェクトがサイズ変更可能であるか判断してもよい。対象オブジェクトがサイズ変更可能なものであると判定された場合（ステップＳ１００６：Ｙｅｓ）、ＣＰＵ６０は、処理をステップＳ１００８に移行する。対象オブジェクトがサイズ変更可能なものでないと判定された場合（ステップＳ１００６：Ｎｏ）、ＣＰＵ６０は、図１７に示される処理を終了する。
【００８１】
ステップＳ１００８において、ＣＰＵ６０は、あらかじめ決められたルールに従って対象オブジェクトのサイズを変更する。例えば、ＣＰＵ６０は、あらかじめ決められた変化量で、縮小率を変化させる。具体的には、ＣＰＵ６０は、９０％、８０％、７０％、…と１０ポイントずつ縮小率を減少させる。縮小率には、下限値が設定されていてもよい。あるいは、ＣＰＵ６０は、テキストのオブジェクトに対し、縮小後のフォントサイズがあらかじめ決められた一群のフォントサイズのいずれかと一致するように、そのフォントサイズを変更してもよい。例えば、フォントサイズの取りうる値が、「…、８、９、１０、１０．５、１１、１２、１４、１６、１８、２０、２２、２４、…」と決められている場合、ＣＰＵ６０は、縮小前のフォントサイズよりも１段階小さいフォントサイズに、フォントを縮小する。
【００８２】
ステップＳ１０１０において、ＣＰＵ６０は、対象オブジェクトにおける重なりがすべて除去されたか判定する。対象オブジェクトにおける重なりがすべて除去されたと判定された場合（ステップＳ１０１０：Ｙｅｓ）、ＣＰＵ６０は、図１７に示される処理を終了する。対象オブジェクトにおける重なりがまだすべて除去されていないと判定された場合（ステップＳ１０１０：Ｎｏ）、ＣＰＵ６０は、処理を再びステップＳ１０００に移行する。すなわち、サイズ変更によりオブジェクトを余白方向に移動できる場合には、移動により重なりを除去することが試みられる。移動できない場合には、縮小サイズの下限値まで１段階ずつオブジェクトのサイズは縮小され、移動処理と併せて重なり除去が試みられる。
【００８３】
＜１．３．具体例＞
文書作成装置１００のＣＰＵ６０は、まず、ユーザからの指示に応じて、テンプレートデータベース１１からテンプレートを取得する。さらに、ＣＰＵ６０は、ユーザからの指示に応じて、コンテンツデータベース１２から、テンプレートに配置されるオブジェクトを取得する（ステップＳ１００〜Ｓ１０６）。ここでは、図４に示されるレイアウトテンプレート、および図５に示されるオブジェクトが取得された場合を例に説明する。すなわち、ＣＰＵ６０は、画像１として人物画像を、画像２としてプリンタ画像を、テキスト１として文字列「新しいプリンタの登場」を、テキスト２として「高速印刷と高画質とを両立させた新機能を搭載」を取得する。次に、ＣＰＵ６０は、取得されたレイアウトテンプレートに、取得されたオブジェクトを配置する。（ステップＳ１０８）。
【００８４】
図１８は、初期レイアウトされた文書の一例を示す図である。図１８に示されるように、初期レイアウトされた文書において、画像１の一部と画像２の一部とが重なり合い、かつテキスト２の一部が画像１の下端部に重なっている。
【００８５】
ＣＰＵ６０は、文書から、配置情報、重なり情報、余白領域情報、重要度分布情報及び色分布情報の５つの文書属性情報を生成する（ステップＳ１１０，ステップＳ２００〜Ｓ２０８）。なお、図４に示すレイアウトテンプレートは、単数ページのレイアウト領域を有する。
【００８６】
図１９（ａ）〜（ｃ）は、図１８の文書の文書属性情報を視覚化した図である。図１９（ａ）は、配置情報を視覚化した図である。テキスト１およびテキスト２に対する配置情報は、レイアウト領域にレイアウトされたテキストの行毎にテキストボックスの形状で生成される。画像１および画像２に対する配置情報は、図９に示されるようにオブジェクトごと（ａ〜ｄ）に生成される。図１９（ｂ）は、重なり情報を視覚化した図である。テキストに対してはテキストボックスの形状で配置情報が生成されるので、重なり情報もこれに対応して生成される。図１９（ｃ）は、余白領域情報を視覚化した図である。図１９（ｃ）は、余白領域を多角形で近似した例を示している。この例では、特に、レイアウト領域の下方に大きな余白領域が存在する。
【００８７】
次に、ＣＰＵ６０は、文書属性情報に基づき、レイアウト調整処理を実行する（ステップＳ１１４）。レイアウト調整処理として、まず重なり除去処理が実行される（ステップＳ８００）。重なり除去処理において、ＣＰＵ６０は、レイアウト領域にレイアウトされたオブジェクトのうち、「Ｈｉｇｈ」以外の重要度を有し、かつ、最も余白量の面積の大きい領域に最も近いオブジェクトを対象オブジェクトとして特定する（ステップＳ９００）。図１９（ｃ）に示されるように、最も余白量の大きい領域は、レイアウト領域の下側に存在する。したがって、ＣＰＵ６０は、この領域に最も近く、かつ、重要度「Ｍｉｄｄｌｅ」を有するテキスト２（「高速印刷と高画質とを両立させた新機能を搭載」）を、対象オブジェクトとして特定する。図１９（ｂ）に示されるように、テキスト２は、画像１および画像２との間で重なりを有する。したがって、ＣＰＵ６０は、重なり除去処理を行う（ステップＳ９０４）。
【００８８】
図２０（ａ）〜（ｃ）は、重なり除去処理の一例を示す図である。重なり除去処理において、ＣＰＵ６０は、テキスト２の配置情報および余白領域情報から、テキスト２を、レイアウト領域下側の余白領域に移動可能かを判定する（ステップＳ１０００）。この場合は、十分に広い余白があるので、テキスト２は移動可能であると判断される。ＣＰＵ６０は、テキスト２をレイアウト領域下部の余白領域方向に移動する（ステップＳ１００２）。図２０（ａ）は、テキスト２を移動した後の文書を示す。これにより、テキスト２における重なりは全て除去されたので（ステップＳ１００４：Ｙｅｓ）、ＣＰＵ６０は、レイアウト領域における重なりが全て除去されたか判定する（ステップＳ９０６）。
【００８９】
図２０（ａ）に示されるように、テキスト２を移動した後でも、画像１と画像２とが重なっている（ステップＳ９０６：Ｎｏ）。したがって、ＣＰＵ６０は、レイアウト領域にレイアウトされたオブジェクトのうち、「Ｈｉｇｈ」以外の重要度を有し、かつ、最も面積の大きい領域に前回の対象オブジェクト（テキスト２）の次に近い位置にあるオブジェクトを対象オブジェクトとして特定する（ステップＳ９０８）。この場合、重要度「Ｌｏｗ」を有する画像１が対象オブジェクトとして特定される（ステップＳ９１０：Ｙｅｓ）。ＣＰＵ６０は、画像１に対して重なり除去処理を実行する（ステップＳ９０４）。画像１に対して移動可能な余白領域は無いため（ステップＳ１０００：Ｎｏ）、ＣＰＵ６０は、画像１のサイズ変更が可能であるか否かを判定する。ここで、画像１のフラグはサイズ変更が可能であることを示している（ステップＳ１００６：Ｙｅｓ）。したがって、ＣＰＵ６０は、画像１のサイズを１段階縮小する（ステップＳ１００８）。図２０（ｂ）は、画像１のサイズ変更後の文書を示す。図２０（ｂ）に示されるように、サイズ変更後においても、画像１における重なりは解消していない（ステップＳ１０１０：Ｎｏ）。したがって、ＣＰＵ６０は、画像１を余白領域に移動することが可能か再び判定する。ここで、移動は不可能であるので（ステップＳ１０００：Ｎｏ）、ＣＰＵ６０は、更なるサイズ変更が可能か判定する。ここで、画像１のフラグは更なるサイズ変更が不可能であることを示している（ステップＳ１００６：Ｎｏ）。したがって、ＣＰＵ６０は、画像１に対する重なり除去処理を終了する。「Ｈｉｇｈ」以外の重要度を有するオブジェクトで、対象オブジェクトとなる条件を満たすオブジェクトは他に存在しないので（ステップＳ９１０：Ｎｏ）、ＣＰＵ６０は、重要度「Ｈｉｇｈ」を有するオブジェクトを対象オブジェクトとして特定する。重要度「Ｈｉｇｈ」を有するオブジェクトとして、テキスト１および画像２の２つが存在する。このうち、他のオブジェクトと重なっているのは画像２であるので、ＣＰＵ６０は、画像２を対象オブジェクトとして特定する。ＣＰＵ６０は、画像２に対して重なり除去処理を実行する（ステップＳ９１６）。画像２は、余白領域に移動することができないため（ステップＳ１０００：Ｎｏ）、ＣＰＵ６０は、画像２のサイズ変更が可能であるか判定する。ここで、画像２のフラグはサイズ変更が可能であることを示しているので（ステップＳ１００６：Ｙｅｓ）、ＣＰＵ６０は、画像２のサイズを１段階縮小する（ステップＳ１００８）。図２０（ｃ）は、画像２のサイズ変更後の文書を示す。図２０（ｃ）に示されるように、画像２のサイズを縮小したことにより、画像２における重なりが除去される（ステップＳ１０１０：Ｙｅｓ）。ＣＰＵ６０は、画像２のオブジェクトに対する重なり除去処理を終了する。
【００９０】
以上の処理によりレイアウト領域における重なりは全て除去されたので（ステップＳ９０６：Ｙｅｓ）、ＣＰＵ６０は、重なり除去処理を終了する。重なり除去処理が完了すると、ＣＰＵ６０は、その時点の文書から文書属性情報を生成する。ＣＰＵ６０は、生成した文書属性情報を用いて、文書属性情報記憶部１４の内容を更新する（ステップＳ８０２）。
【００９１】
ＣＰＵ６０は、さらに、レイアウト調整処理として、グリッド調整処理、画像サイズ調整処理、フォントサイズ調整処理、フォント種別調整処理、および色調整処理を行う。また、ＣＰＵ６０は、各調整処理後に文書属性情報を更新する（ステップＳ８０４〜Ｓ８２２）。
【００９２】
図２１（ａ）は、本発明に係るレイアウト調整処理後の文書の一例を示す図である。図２１（ａ）に示されるように、以上で説明したレイアウト調整処理が施された文書において、各オブジェクトの重なりが除去されている。また、テキスト２が、初期レイアウト時のレイアウト領域に存在した余白領域に移動され、各オブジェクト間の配置バランスが向上している。
【００９３】
図２１（ｂ）は、従来技術に係るレイアウト調整処理後の文書の一例を示す図である。従来技術においては、余白領域のバランスは考慮されず、重要度の低い順に重なりが除去される。したがって、図２１（ｂ）に示されるように、レイアウト領域下部に大きな余白が残る。各オブジェクト間の配置バランスは本発明によるものと比較して悪い。
【００９４】
レイアウト調整処理が完了すると（ステップＳ１１６：Ｙｅｓ）、ＣＰＵ６０は、デザイン知識情報記憶部１８に記憶されたデザイン知識情報に基づいて、文書に対しデザイン処理を行う（ステップＳ１１８）。
【００９５】
図２２は、デザイン知識情報の一例を示す図である。本実施形態において、デザイン知識情報は、図２２に示される２つのルールを含んでいる。ルールは、適用条件および対応する処理を含む。ＣＰＵ６０は、文書が、デザイン知識情報の適用条件を満たしているか判定する。具体的には、ＣＰＵ６０は、ルール１およびルール２のそれぞれについて、文書が適用条件を満たしているか判定する。ＣＰＵ６０は、適用条件が満たされたルールを、文書に適用する。
【００９６】
図２２において、ＴＨ１はタイトルの彩度に対するしきい値を示す。ＴＨ２は、タイトルとその周辺のオブジェクトとの最大色差に対するしきい値を示す。ＴＨ３は、重要度「Ｈｉｇｈ」を有する複数のオブジェクトの色差に対するしきい値を示す。ＴＨ４は、重要度「Ｈｉｇｈ」を有する複数のオブジェクトの距離に対するしきい値を示す。
【００９７】
図２２に示される例において、ルール１は、（１）タイトルの配置領域にレイアウトされるオブジェクトの彩度がしきい値ＴＨ１よりも小さいという条件、（２）タイトルの配置領域にレイアウトされるオブジェクトと、その周辺のオブジェクトとの最大色差がしきい値ＴＨ２よりも小さいという条件、および（３）タイトルが重要度「Ｈｉｇｈ」を有するという条件を含む。これらの条件が満たされると、ＣＰＵ６０は、タイトル（この例では「新しいプリンタの登場」）に対し、その彩度を、赤を基準に上げる処理を施す。
【００９８】
また、ルール２は、（１）重要度「Ｈｉｇｈ」を有する複数のオブジェクトの色差がしきい値ＴＨ３よりも小さいという条件、および（２）重要度「Ｈｉｇｈ」を有する２つのオブジェクトの距離がしきい値ＴＨ４よりも小さいという条件を含む。これらの条件が満たされると、ＣＰＵ６０は、重要度「Ｈｉｇｈ」を有する複数のオブジェクト（この例では文字列「プリンタ画像」および文字列「高速印刷と高画質とを両立させた新機能を搭載」）の色差を上げるデザイン処理を施す。
【００９９】
具体的には、ＣＰＵ６０は、まず、文書がルール１の適用条件を満たすか判定する。適用条件が満たされると、ＣＰＵ６０は、タイトルの彩度を赤を基準に上げる（例えば、タイトルのテキストを赤色にする）。次に、ＣＰＵ６０は、文書がルール２の適用条件を満たすか判定する。ルール１が適用された場合は、ルール１を適用した後の文書が適用条件を満たしているか判定される。例えば、ルール１の適用後にルール２の適用条件を満たさなくなった文書に対して、ルール２は適用されない。例えば、タイトルのテキストの色が変更されたことにより、重要度「Ｈｉｇｈ」を有するプリンタ画像との色差が大きくなった場合、ルール２は適用されない。
【０１００】
図２３（ａ）は、デザイン処理後の文書の一例を示す図である。図２３（ｂ）は、デザイン処理後に更新された色分布情報を視覚化した図である。タイトル（文字列「新しいプリンタ」）の文字が赤色に変更されたので、タイトルに対応する色分布情報（代表色）も赤色に更新される（ステップＳ１２０）。なお、彩度を上げる処理、色差を上げる処理については、周知の技術を利用することによって容易に実現できるので、ここでは、詳細な説明を省く。
【０１０１】
デザイン処理を完了すると（ステップＳ１２２：Ｙｅｓ）、ＣＰＵ６０は、文書を出力装置７２から出力する（ステップＳ１２４）。文書は、例えば、液晶ディスプレイやＣＲＴディスプレイ等に表示される。あるいは、文書は、プリンタ装置から印刷される。
【０１０２】
本実施形態によれば、文書のレイアウトは、文書属性情報に基づいて調整される。さらに、文書は、デザイン知識情報に基づいてデザイン処理される。したがって、視認性がよく、かつ、デザイン性の高い文書を簡単に作成することが可能である。
【０１０３】
また、文書は出力装置７２を介してユーザに提示される。したがって、ユーザは、どのようなオブジェクトがレイアウトされているのか、各オブジェクトはどんな関係にあるのかなどを視覚的に判断することができる。ユーザは、これを手がかりとしてレイアウト内容を修正することができる。このように文書作成装置１００は、ユーザのデザインの課程を支援することができる。
【０１０４】
＜１．４．変形例＞
図２４は、デザイン知識情報の変形例を示す図である。デザイン知識情報は、図２２に示されるものに限定されない。デザイン知識情報として、別のルールが用いられてもよい。図２４は、別のデザイン知識情報の適用例として、適用例１〜４の４つの例を示している。図２４（ａ）は、ルール１が適用された例を示している。
【０１０５】
適用例１（図２４（ｂ））は、重要度によって画像ジャンプ率（画像の拡大率または拡大率の増加率）が変更されるルールが適用された例を示している。このルールによれば、より重要度が高い画像はより大きく、より重要度が低い画像がより小さくなる。したがって、このルールによれば、より重要度の高い画像を目立たせることができる。
【０１０６】
適用例２（図２４（ｃ））は、重要度がより高いものが前方に、重要度がより低いものが後方になるように、２つの画像を重ねるルールが適用された例を示している。重ね合わせの量は、ルールにより定められる。このルールによれば、重要度が高いものを前面に表示しつつ、画像の統一感を向上させることができる。
【０１０７】
適用例３（図２４（ｄ））は、重要度が最も高いオブジェクト（ここではタイトル）に対して、その背景に図形（例えば惰円形）を挿入するルールが適用された例を示している。図形の形状および色はルールにより定められる。このルールによれば、重要度が最も高いオブジェクトの視認性を向上させることができる。
【０１０８】
適用例４（図２４（ｅ））は、レイアウト領域全体に、あらかじめ決められた背景（例えば、グラデーション画像）を挿入するルールが適用された例を示している。背景として挿入される画像はルールにより定められる。ルールは、例えば、タイトルの色に応じてグラデーションの色を決定するものを含んでもよい。このルールによれば、背景画像によりレイアウト領域全体の印象を決定することができ、かつ、タイトルの視認性を向上させることができる。なお、グラデーションを図示することは困難であるため、図２４（ｅ）においてグラデーションは図示していない。
【０１０９】
図２５（ａ）〜（ｅ）は、レイアウト領域の変形例を示す図である。上述の実施形態においては、レイアウト領域が単数ページに相当する例を説明したが、レイアウト領域はこれに限定されない。図２５（ａ）は、連続する２ページに相当するレイアウト領域を、図２５（ｂ）は、連続する３ページに相当するレイアウト領域を、図２５（ｃ）は、連続する４ページに相当するレイアウト領域を示す。また、レイアウト領域の単位はページに限られない。ページにとらわれないレイアウト領域の単位として「セクション」という概念が導入される。図２５（ｄ）は、単数ページが１つのセクションが存在する例および単数ページに２つのセクションが存在する例を示している。図２５（ｅ）は、見開き２ページの上半分と下半分がそれぞれ別のセクションになっている例を示している。各セクションは、それぞれ固有のレイアウト情報を有する。ある文書は、複数のセクションすなわち複数のレイアウト情報を含んでもよい。文書作成装置１００は、これらのセクションから、単数又は複数のセクションを選択してレイアウト領域とすることができる。このように、レイアウト領域が設定できることによって、ぞれぞれのレイアウト領域全体での文書属性情報を生成できる。例えば、見開き２ページあるいは３つ折り３ページなどに適した高いデザイン性も有する文書を作成できる。
【０１１０】
また、上述の実施形態においては、文書作成装置１００が単一の装置である例について説明した。しかし、複数の装置を含むシステムが全体として図１に示される機能構成を有してもよい。このシステムは、複数の装置、端末その他の機器を通信可能に接続したネットワークシステムであってもよい。この場合、各機能構成部は、それぞれ通信可能に接続されていれば、複数の機器等のうちいずれに属していてもよい。また、上述の実施形態においては、各機能構成要素がソフトウェアモジュールとして実現される例を説明したが、各機能構成要素は、専用の電子回路など、ハードウェア構成として実現されてもよい。
【０１１１】
また、上述の実施形態においては、ＣＰＵ６０は、デザイン知識情報に含まれるすべてのルールについて、ひとつずつ順番にその適用条件が満たされているか判断した。しかし、デザイン知識情報の適用方法はこれに限られない。デザイン知識情報の適用時に、ニューラルネットワーク等の学習機能を利用してもよい。あるいは、ＣＰＵ６０は、適用条件を満たしているか判定せずに、順番に全てのルールを適用してもよい。さらにあるいは、ＣＰＵ６０は、適用条件を満たしているか判定せずに、デザイン知識情報に含まれるルールからランダムに選択されたルールを適用してもよい。
【０１１２】
また、上述の実施形態においては、ＣＰＵ６０は、テンプレートデータベース１１からユーザの指示に応じてレイアウトテンプレートを取得した。しかし、レイアウトテンプレートの取得方法はこれに限定されない。例えば、ユーザは、レイアウトテンプレートに含まれる情報を、文書を作成するたびに入力してもよい。あるいは、文書作成装置１００があらかじめ決められたアルゴリズムに従ってレイアウトテンプレートを自動的に選択あるいは生成してもよい。
【０１１３】
また、上述の実施形態においては、ＣＰＵ６０は、まずレイアウトテンプレートを取得し、次に、そのレイアウトテンプレートに対応する数および種類のオブジェクトを取得した。しかし、レイアウトテンプレートおよびオブジェクトの取得方法はこれに限定されない。ＣＰＵ６０は、まずオブジェクトを取得（決定）し、取得したオブジェクトの数と種類に適合するレイアウトテンプレートを取得してもよい。あるいは、ＣＰＵ６０は、まずオブジェクトを取得（決定）し、次にレイアウトテンプレートを取得し、最後に、最初に取得したオブジェクトの中から、レイアウトテンプレートに対応する数および種類のオブジェクトを選択してもよい。また、文書作成装置１００は、テンプレートを取得せずに、既に完成した文書（オブジェクトとレイアウト情報を含むデータ）を取得してもよい。
【０１１４】
また、上述の実施形態においては、文書属性情報は、配置情報、重なり情報、余白領域情報、重要度分布情報および色分布情報の５つの属性情報を含む例について説明した。しかし、文書属性情報は、これらの５つの属性情報をすべて含んでいなくてもよい。また、文書属性情報は、これら５つの属性情報以外の属性情報を含んでもよい。属性情報は、レイアウトの調整（修正・編集）やデザイン処理に必要な情報であり、かつ、レイアウト領域単位で生成された情報であれば、どのような情報でもよい。
【０１１５】
また、上述の実施形態においては、重なり情報、余白領域情報および重要度分布情報に基づいて、重なり除去処理が行われる例を説明した。しかし、ＣＰＵ６０は、色分布情報も用いて重なり除去処理を行ってもよい。具体的には、ＣＰＵ６０は、色分布が重ならないように各オブジェクトを移動させるようにしてもよい。
【０１１６】
また、上述の実施形態においては、余白領域情報が、重なり除去に有効なオブジェクトを選定する際に用いられる例を説明した。しかし、余白領域情報は、オブジェクトの移動方向を決定する際に用いられてもよい。あるいは、余白領域情報は、オブジェクトのサイズ変更時の最小サイズを決定する際に用いられてもよい。さらに、これ以外の用途に用いられてもよい。これにより、より全体の余白量を考慮した綺麗なレイアウトを有する文書を作成することができる。
【０１１７】
また、上述の実施形態においては、図３、図７、図８、図１１〜図１７などのフローチャートに示される処理は、ＣＰＵ６０がＲＯＭ６４に記憶されている制御プログラムを実行することにより実現された。しかし、ＣＰＵ６０は、これらの手順を示したプログラムが記憶された記憶媒体から、そのプログラムをＲＡＭ６２に読み込んで実行してもよい。ここで、記憶媒体とは、コンピュータで読み取り可能なあらゆる記憶媒体を含む。例えば、記憶媒体は、ＲＡＭ、ＲＯＭ等の半導体記憶媒体、ＦＤ、ＨＤ等の磁気記憶型記憶媒体、ＣＤ、ＣＤＶ、ＬＤ、ＤＶＤ等の光学的読取方式記憶媒体、ＭＯ等の磁気記憶型／光学的読取方式記憶媒体であってもよい。
【０１１８】
＜２．第２実施形態＞
＜２．１．構成＞
続いて、本発明の第２実施形態について説明する。以下おいて、第１実施形態と共通する事項についてはその説明を省略し、第１実施形態との相違点を中心に説明する。また、第１実施形態と共通する要素に対しては、共通の参照符号を用いて説明する。
【０１１９】
図２６は、第２実施形態に係る文書作成装置１００ａの機能構成を示すブロック図である。レイアウト結果取得部１は、文書を取得する。文書は、例えば、ネットワークを介して、ＣＤ−ＲＯＭ等の記憶媒体を介して、入力装置７４を介したユーザの操作入力により、または、文書作成装置１００ａにより自動生成されることにより、取得される。文書は、少なくとも１のオブジェクトと、あるレイアウト領域におけるオブジェクトの配置を示す配置情報とを含む。重要度分布情報生成部２は、オブジェクト毎の重要度情報に基づいて、レイアウト領域における各オブジェクトの重要度の分布を示す重要度分布情報を生成する。レイアウト内容加工部３は、文書における各オブジェクトのレイアウトを加工する。なお、文書作成装置１００ａのハードウェア構成は、図２に示されるものと同一であるので説明を省略する。ＣＰＵ６０が、ＲＯＭ６４に記憶されているプログラムを実行することにより、文書作成装置１００ａは図２６に示される機能構成を具備する。
【０１２０】
＜２．１．１．重要度分布情報の生成＞
図２７は、文書のデータ構造を模式的に示す図である。図２７に示される例において、文書は、テキスト１および２、並びに画像１および２の計４つのオブジェクトを含む。テキスト１はレイアウト領域の上方に、また、テキスト２はレイアウト領域の下方に配置されている。画像１および２は、テキスト１および２の間に横に並ぶように配置されている。テキスト１および２は、オブジェクトのカテゴリを示すカテゴリ情報として「テキスト」を有する。画像１および２は、カテゴリ情報「画像」を有する。各オブジェクトに対応するレイアウト情報は、レイアウト領域における位置を示す配置情報（例えば、ｘｙ座標系におけるｘ座標およびｙ座標）を含む。重要度分布情報生成部２は、以下で説明するいずれかの処理を行う機能を有する。
【０１２１】
＜２．１．１．１．処理１＞
この例において、ＣＰＵ６０は、コンテンツ重要度情報に基づいて区分領域ごとに重要度を算出する。さらに、ＣＰＵ６０は、算出された重要度に基づいて重要度分布情報を生成する。
【０１２２】
図２８は、重要度分布情報を視覚化した図である。各オブジェクトに対応するレイアウト情報は、重要度情報を含む。本実施形態において、重要度情報は、「Ｈｉｇｈ」（＝３）、「Ｍｉｄｄｌｅ」（＝２）および「Ｌｏｗ」（＝１）の３段階で表される。以下の説明において、重要度「Ｈｉｇｈ」、「Ｍｉｄｄｌｅ」および「Ｌｏｗ」をそれぞれ「３」、「２」および「１」と表す。図２８に示される例において、テキスト１および画像２は重要度情報「３」を、テキスト２は重要度情報「２」を、画像１は重要度情報「１」を有する。
【０１２３】
図２９は、重要度分布情報生成処理の詳細を示すフローチャートである。まず、ＣＰＵ６０は、文書を、複数の区分領域に区分する。次に、ＣＰＵ６０は、レイアウト領域において左上端の区分領域を、処理の対象となる対象区分領域として特定する。
図３０は、区分領域に区分された文書を例示する図である。区分領域は、例えば、１０ピクセル×１０ピクセルの大きさを有する。
【０１２４】
再び図２９を参照して、ステップＳ１０において、ＣＰＵ６０は、対象区分領域およびその周辺区分領域のコンテンツ重要度情報を取得する。ここで、周辺区分領域とは、対象区分領域とあらかじめ決められた位置関係にある区分領域をいう。ここでは対象区分領域に隣接する８つの区分領域が周辺区分領域である。なお、対象区分領域が端部に位置する場合は周辺区分領域の数は８よりも小さくなる。図３０に示される例では、対象区分領域の下および右下の区分領域には、テキスト１が配置されている。したがって、ＣＰＵ６０は、これらの周辺区分領域のコンテンツ重要度情報として「３」を取得する。また、対象区分領域の右の区分領域は余白領域である。したがって、ＣＰＵ６０は、この周辺区分領域のコンテンツ重要度情報として「０」を取得する。
【０１２５】
ステップＳ１２において、ＣＰＵ６０は、取得されたコンテンツ重要度情報に基づいて、次式（１）により対象区分領域の重要度Ｙを算出する。式（１）において、ｎは注目区分領域および周辺区分領域に属する個々の区分領域を区別する領域番号（ｎ＝１〜９）を示す。ｘｎは、領域番号ｎの区分領域におけるコンテンツ重要度を示す。
【数１】
2007172573.tif 000003
【０１２６】
例えば、図３０において、レイアウト領域の左上端の区分領域が対象区分領域である場合、対象区分領域の重要度Ｙは、Ｙ＝３＋３＝６である。この場合、対象区分画素の左上、上、右上、左および左下の区分領域は存在しない。したがって、これらの区分領域におけるコンテンツ重要度情報として「０」を式（１）に適用する。また、ある区分領域に複数のオブジェクトが重なっている場合は、その重要度の合計値がその区分領域の重要度となる。例えば、テキスト２と画像１とが重なり合っている区分領域の重要度は、３＋３＝６となる。
【０１２７】
ステップＳ１４において、ＣＰＵ６０は、すべての区分領域について処理が完了したか判定する。すべての区分領域について処理が完了したと判定された場合（ステップＳ１４：Ｙｅｓ）、ＣＰＵ６０は、図２９に示される処理を終了する。すべての区分領域について処理が完了していないと判定された場合（ステップＳ１４：Ｎｏ）、ステップＳ１６において、ＣＰＵ６０は、対象区分領域を更新する。具体的には、ＣＰＵ６０は、現在の対象区分領域の右隣の区分領域を、新たな対象区分領域と決定する。ＣＰＵ６０は、更新された対象区分領域に対してステップＳ１０〜Ｓ１４の処理を繰り返し実行する。
【０１２８】
図３１は、レイアウト領域の左上部周辺の複数の区分領域について算出された重要度を示す図である。各区分領域における重要度は、その周辺の区分領域の重要度を反映したものになっている。なお、以上の例では、対象区分領域を中心とする、３×３のマトリクスに基づいて対象区分領域の重要度を算出した。しかし、対象区分領域の重要度の算出に用いられる周辺区分領域は、これに限定されるものではない。
【０１２９】
図３２（ａ）〜（ｃ）は、周辺区分領域の変形例を示す図である。図３２（ａ）は、４×４の区分領域からなる正方形の領域を計算マトリクスとする例を示している。図３２（ｂ）は、４×３の区分領域からなる長方形の領域を計算マトリクスとする例を示している。図３２（ｃ）は、擬似円の領域を計算マトリクスとする例を示している。なお、上述の例においては、区分領域は１０ピクセル×１０ピクセルの大きさを有したが、区分領域の大きさはこれに限定されない。例えば、２０ピクセル×２０ピクセルなど任意の大きさの領域を区分領域としてもよい。また、区分領域の形状は正方形に限らず、長方形など他の形状であってもよい。
【０１３０】
また、重要度Ｙを算出する式は、式（１）で示されるものに限定されない。例えば、各区分領域のコンテンツ重要度に、係数を乗じてもよい。次式（２）は、重要度Ｉの算出式の変形例を示す。ここで、αｎは、領域番号ｎの区分領域に対応する係数である。αｎの値は、対象区分領域との間の距離が離れるに従って小さくなる。
【数２】
2007172573.tif 000004
【０１３１】
図３３は、係数αを例示する図である。この例では、係数αは、対象区分領域との距離に応じて定められる値であって、０≦α≦１の範囲において定められる。このような係数を用いることによって、ＣＰＵ６０は、区分領域の位置に応じた重要度を算出することができる。
【０１３２】
上述の例では、対象区分領域および周辺区分領域に対応するオブジェクトのコンテンツ重要度情報に基づいて対象区分領域の重要度が算出された。しかし、ＣＰＵ６０は、周辺区分領域を考慮せず、注目区分領域に対応するオブジェクトのコンテンツ重要度情報に基づいて対象区分領域の重要度を算出してもよい。
【０１３３】
＜２．１．１．２．処理２＞
この例において、ＣＰＵ６０は、コンテンツ重要度情報およびオブジェクトのカテゴリに基づいて重要度分布情報を生成する。例えば、ＣＰＵ６０は、オブジェクトのカテゴリに応じて、コンテンツ重要度情報にあらかじめ決められた係数を乗算する。具体的には、ＣＰＵ６０は、テキストについては係数「１」を、画像については係数「２」を、コンテンツ重要度情報に乗算する。
【０１３４】
図２７に示される例において、テキスト１のコンテンツ重要度情報は「Ｈｉｇｈ」であるので、配置後重要度は、３×１＝３となる。配置後重要度とは、オブジェクトをレイアウト領域に配置した後の重要度をいう。画像１のコンテンツ重要度情報は「Ｌｏｗ」であるので、配置後重要度は、１×２＝２である。画像２のコンテンツ重要度情報は「Ｈｉｇｈ」であるので、配置後重要度は、３×２＝６である。テキスト２のコンテンツ重要度情報は「Ｍｉｄｄｌｅ」であるので、配置後重要度は、２×１＝２である。
【０１３５】
図３４は、以上のように算出された重要度分布情報を視覚化した図である。重要度分布情報は、レイアウト領域上の点を示す座標およびその点の配置後重要度を含んでもよいし、領域情報およびその領域の配置後重要度を含んでもよい。
【０１３６】
＜２．１．１．３．処理３＞
この例では、ＣＰＵ６０は、オブジェクトの面積に応じてコンテンツ重要度情報を生成する。ＣＰＵ６０は、まず、オブジェクトの面積を算出する。例えば、テキスト１、画像１、画像２およびテキスト２の面積が、「１００」、「２００」、「１５０」および「１００」である場合を例に説明する。ＣＰＵ６０は、次式（３）により、配置後重要度を算出する。
配置後重要度＝コンテンツ重要度情報＋コンテンツ重要度情報×（対象オブジェクトの面積−最小面積）／（最大面積−最小面積）  …（３）
【０１３７】
式（３）によれば、テキスト１、画像１、画像２およびテキスト２の配置後重要度は、「３」、「２」、「４．５」および「２」となる。
【０１３８】
＜２．１．１．４．処理４＞
上記の各処理において、配置後重要度は、レイアウト領域におけるオブジェクトの配置を考慮せずに算出された。しかし、この例において、ＣＰＵ６０は、レイアウト領域におけるオブジェクトの配置に基づいて重要度分布情報を生成する。例えば、視線を左から右へと誘導したいという意図がある場合、レイアウト領域の左側の配置後重要度を高くすることにより、意図したとおりに視線を誘導できる。
【０１３９】
例えば、式（２）における係数αを、レイアウト領域の左側においてはより高く、右側においてはより低くすることにより、ＣＰＵ６０は、オブジェクトの配置に応じた重要度分布情報を生成することができる。
【０１４０】
＜２．１．１．５．処理５＞
上記の各処理において、各オブジェクトが、対応するコンテンツ重要度情報を有する例を示した。しかし、この例では、ＣＰＵ６０は、コンテンツ重要度情報によらない重要度分布情報を生成する。例えば、ＣＰＵ６０は、オブジェクトのカテゴリに応じて重要度分布情報を生成する。具体的には、ＣＰＵ６０は、テキストに対しては配置後重要度「１」を、画像に対しては配置後重要度「２」を割り当てる。各カテゴリに割り当てられる配置後重要度はあらかじめ決められている。あるいは、ＣＰＵ６０は、（ｄ）で説明したように、レイアウト領域における配置に基づいて配置後重要度を決定してもよい。
【０１４１】
＜２．１．１．６．処理６＞
この例では、ＣＰＵ６０は、オブジェクトの彩度に基づいて重要度分布情報を生成する。すなわち、ＣＰＵ６０は、色分布情報、特に、彩度に基づいて重要度分布情報を生成する。例えば、ＣＰＵ６０は、色分布情報によって求められた色の彩度を「０」から「１」の範囲に正規化する。ＣＰＵ６０は、正規化された彩度を、各オブジェクトのコンテンツ重要度情報に乗算する。この処理によれば、オブジェクトの色（例えば代表色）に応じて、配置後重要度を決定することができる。
【０１４２】
＜２．１．１．７．処理７＞
この例では、ＣＰＵ６０は、オブジェクトのコントラストに基づいて重要度分布情報を生成する。上述の例において、ＣＰＵ６０は、色分布情報に基づいて重要度分布情報を算出した。同様に、ＣＰＵ６０は、色分布情報に含まれるコントラストに基づいて重要度分布情報を算出してもよい。例えば、オブジェクトＸおよびＹが存在し、コントラストがっＸ１、Ｙ１の場合、ＣＰＵ６０は、上述の処理で算出された配置後重要度に対して、コントラストに応じた重み付け係数ｇ（Ｘ１）およびｇ（Ｙ１）を乗算する。この処理によれば、オブジェクトのコントラストに応じて、配置後重要度を決定することができる。
【０１４３】
＜２．１．１．８．その他の処理＞
重要度分布情報は、オブジェクトの重心と、そのコンテンツ重要度情報との関係を含む情報であってもよい。これにより、例えば、配置後重要度が高いオブジェクト同士の物理的な距離が明確になる。例えば、ＣＰＵ６０は、配置後重要度が高いオブジェクト間の距離を縮めることができる。あるいは、ＣＰＵ６０は、配置後重要度が高いオブジェクト間の距離を伸ばすこともできる。
【０１４４】
また、ＣＰＵ６０は、オブジェクトに対応するコンテンツ重要度情報と、そのオブジェクトの周辺に配置されているオブジェクトやオブジェクトのカテゴリ、長さ、大きさなどを用いて配置後重要度を算出してもよい。
【０１４５】
＜２．１．２．レイアウト内容加工＞
次に、レイアウト内容加工部３の機能を説明する。レイアウト内容加工部３は、以下で説明するいずれかの機能を有する。
＜２．１．２．１．余白を生成＞
この例において、ＣＰＵ６０は、主題を明確化させるため、配置後重要度に基づいてオブジェクト間に余白を生成する。主題とは、文書において最も強調したいオブジェクトをいう。具体的には、最も高い配置後重要度を有するオブジェクトをいう。主題を明確化させる、すなわち、配置後重要度が高いオブジェクトが目立つようにすることは、レイアウトにおいて重要な処理である。
【０１４６】
例えば、ＣＰＵ６０は、配置後重要度があるしきい値よりも高いオブジェクトに対して、オブジェクト間の距離（レイアウト間の余白量）を算出する。ＣＰＵ６０は、算出された距離があるしきい値よりも低い場合、オブジェクト間の余白量を下式（４）により算出する。下式（４）において、Ｉは、配置後重要度である。また、ａおよびｂは定数である。
Ｆ（Ｉ）＝ａＩ＋ｂ    …（４）
【０１４７】
ＣＰＵ６０は、オブジェクト間の余白量と、式（４）で算出された余白量との差があらかじめ決められた範囲に収まるように、オブジェクトを移動またはサイズ変更する。なお、ＣＰＵ６０は、配置後重要度の差に反比例した余白量を与えてもよい。また、ＣＰＵ６０は、配置後重要度の差が大きければ、特に余白を設けなくてもよい。
【０１４８】
＜２．１．２．２．サイズを変更＞
この例において、ＣＰＵ６０は、主題を明確化させるため、配置後重要度に基づいてオブジェクトのサイズを変更する。例えば、ＣＰＵ６０は、配置後重要度が高いオブジェクトＸと、配置後重要度が低いオブジェクトＹとの面積比と配置後重要度の比とがあらかじめ決められた範囲内に収まるように、オブジェクトのサイズを変更する。
【０１４９】
この処理によれば、オブジェクトのサイズ比は配置後重要度に基づいて決定されるので、レイアウト領域における視認性が向上する。そのため、重要度分布情報に基づいて、よりデザイン性の高いレイアウトが提供される。なお、面積比の決定方法は、配置後重要度比と同一にする方法に限定されない。例えば、ＣＰＵ６０は、配置後重要度のべき乗の比に基づいて面積比を決定してもよい。あるいは、ＣＰＵ６０は、その他の関数に基づいて面積比を決定してもよい。
【０１５０】
＜２．１．２．３．色処理＞
この例において、ＣＰＵ６０は、配置後重要度に基づいてオブジェクトの色を変更する。ＣＰＵ６０は、特に彩度を変更する。例えば、配置後重要度の比率がｋであるオブジェクトＸおよびＹ（ＩＸ＝ｋＩＹ。ＩＸおよびＩＹはオブジェクトＸおよびＹの配置後重要度を示す）がある場合、ＣＰＵ６０は、オブジェクトＸおよびＹの彩度の比がｋ倍になるように、オブジェクトＸおよびＹの彩度の少なくともいずれか一方を変更する。例えば、ＣＰＵ６０は、オブジェクトＸの彩度を変更する。オブジェクトＸの彩度を変更しても彩度の比がｋ倍以上にならない場合、ＣＰＵ６０は、オブジェクトＹの彩度を落とす。この処理によれば、より高い配置後重要度を有するオブジェクトが、より高い彩度を有するように変更される。したがって、より高い配置後重要度を有するオブジェクトの視認性を向上させることができる。なお、彩度比の決定方法は、配置後重要度比と同一にする方法に限定されない。例えば、ＣＰＵ６０は、配置後重要度のべき乗の比に基づいて彩度比を決定してもよい。あるいは、ＣＰＵ６０は、その他の関数に基づいて面積比を決定してもよい。
【０１５１】
＜２．１．２．４．テキストのフォントを変更＞
この例において、ＣＰＵ６０は、テキストに対し、配置後重要度に基づいてフォントを変更する。例えば、文書作成装置１００ａは、外部記憶装置７０に、フォント種別と配置後重要度との関係を表すテーブルをあらかじめ記憶している。ＣＰＵ６０は、このテーブルに基づいて、対象となるテキストのフォントを変更する。このテーブルは、例えば、より高い配置後重要度に、より視認性の高いフォントを対応させるものである。
【０１５２】
＜２．１．２．５．画像枠を変更＞
この例において、ＣＰＵ６０は、画像に対し、配置後重要度に基づいて画像の枠線を付加または変更する。例えば、文書作成装置１００ａは、外部記憶装置７０に、枠線の識別子と配置後重要度との関係を表すテーブルをあらかじめ記憶している。ＣＰＵ６０は、このテーブルに基づいて、対象となる画像の枠線を付加または変更する。このテーブルは、例えば、より高い配置後重要度に、より視認性の高い枠線を対応させるものである。
【０１５３】
＜２．１．２．６．配置後重要度が低いオブジェクトを加工＞
この例において、ＣＰＵ６０は、配置後重要度が低いオブジェクトを相対的に目立たなくさせる。
＜２．１．２．６．１．オブジェクトを除外する＞
この例において、ＣＰＵ６０は、ある条件を満たすオブジェクトをレイアウト領域から除外する。例えば、対象オブジェクトの配置後重要度がしきい値ＴＨ５より低く、かつ、全オブジェクト数がしきい値ＴＨ６より低い場合、ＣＰＵ６０は、レイアウト領域から対象オブジェクトを除外する。配置後重要度が低いオブジェクトが除外されるので、相対的に配置後重要度が高いオブジェクトの視認性を向上させることができる。
【０１５４】
＜２．１．２．６．２．オブジェクトを背景化する＞
この例において、ＣＰＵ６０は、ある条件を満たすオブジェクトを背景化する。例えば、対象オブジェクトの配置後重要度があるしきい値より低く、かつ、全オブジェクト数があるしきい値より低い場合、ＣＰＵ６０は、対象オブジェクトを背景化する。配置後重要度が低いオブジェクトは、背景と一体化されたオブジェクトとなるため、相対的に配置後重要度が高いオブジェクトの視認性を向上させることができる。背景化は、例えば、画像の透過率を高めることによって行う。あるいは、背景化は、画像に、ある規定色（例えば、薄い青色など）のマスクを施すことにより行われてもよい。さらに、背景化は、ぼかしフィルタによってぼかし処理を施すことにより行われてもよい。さらにあるいは、背景化は、画像の色をよりグレーに近付けることにより行われてもよい。
【０１５５】
＜２．１．２．６．３．テキストを要約する＞
この例において、ＣＰＵ６０は、あるしきい値よりも低い配置後重要度を有するテキストを要約する。配置後重要度が低いテキストの面積を減らすことにより、配置後重要度が高いオブジェクト周辺部の余白を増やすことができる。これにより、配置後重要度が高いオブジェクトの視認性を向上させることができる。
【０１５６】
＜２．１．２．６．４．画像の解像度を落とす＞
この例において、ＣＰＵ６０は、あるしきい値よりも低い配置後重要度を有する画像の解像度を、より低解像度に変換する。画像の解像度を落とすことによって、文書のデータサイズを小さくすることができる。
【０１５７】
＜２．２．動作＞
次に、文書作成装置１００ａの動作を説明する。ここでは、第１実施形態の動作と異なる点について説明する。
【０１５８】
ステップＳ２０８において、ＣＰＵ６０は、上述の重要度分布情報生成処理のうち少なくともいずれか１つの処理を行う。こうして生成された重要度分布情報は、オブジェクトの配置後重要度と、そのオブジェクトの配置情報とを含む。
【０１５９】
次に、ステップＳ１１８のデザイン処理について説明する。
図３５は、デザイン知識情報の一例を示す図である。本実施形態において、デザイン知識情報は、図３５に示される２つのルールを含む。これらのルールは、適用条件およびデザイン処理を含んでいる。ＣＰＵ６０は、各ルールについて、文書が適用条件を満たしているか判断する。適用条件を満たしていると判断された場合、ＣＰＵ６０は、そのデザイン処理を適用する。
【０１６０】
図３５において、しきい値ＴＨ５およびＴＨ６は、オブジェクトの余白量に対するしきい値である。しきい値ＴＨ７およびＴＨ８は、２つのオブジェクト間の距離のしきい値である。この例では、ＴＨ５、ＴＨ６、ＴＨ７およびＴＨ８は、ＴＨ５＞ＴＨ６およびＴＨ７＞ＴＨ８を満たす。
【０１６１】
ルール１の適用条件は、最も高い配置後重要度を有するオブジェクトと、最も低い配置後重要度を有するオブジェクトとの間の余白量が、しきい値ＴＨ５よりも小さいという条件である。これに対応するデザイン処理は、最も高い配置後重要度を有するオブジェクトと、最も低い配置後重要度を有するオブジェクトとの距離を、しきい値ＴＨ７以上に広げる処理である。さらに、対応するデザイン処理は、これらのオブジェクトを移動することができない場合、または、移動しても距離をしきい値ＴＨ７以上に広げることができない場合、オブジェクトを縮小する処理を含む。縮小は、最も低い配置後重要度を有するオブジェクト、最も高い配置後重要度を有するオブジェクトの順に行われる。
【０１６２】
ルール２の適用条件は、最も高い配置後重要度を有するオブジェクトと、それ以外のオブジェクトとの間の余白量が、しきい値ＴＨ６よりも小さいという条件である。さらに、適用条件は、ルール１が適用されていないという条件を含む。これに対応するデザイン処理は、最も高い配置後重要度を有するオブジェクトと、それ以外のオブジェクトとの距離をしきい値ＴＨ８以上に広げる処理である。さらに、対応するデザイン処理は、これらのオブジェクトを移動することができない場合、または、移動しても距離をしきい値ＴＨ７以上に広げることができない場合、オブジェクトを縮小する処理を含む。縮小は、それ以外のオブジェクト、最も高い配置後重要度を有するオブジェクトの順に行われる。それ以外のオブジェクトが複数存在する場合、配置後重要度の高い順にデザイン処理が適用される。
【０１６３】
図３６は、デザイン処理の詳細を示すフローチャートである。ステップＳ１１００において、ＣＰＵ６０は、文書において、未処理のオブジェクトのうち、最も高い重要度を有するオブジェクトを特定する。ステップＳ１１０２において、ＣＰＵ６０は、すべてのオブジェクトについて処理が完了したか判定する。すべてのオブジェクトについて処理が完了したと判定された場合（ステップＳ１１０２：Ｙｅｓ）、ＣＰＵ６０は、図３６に示される処理を終了する。すべてのオブジェクトについてまだ処理が完了していないと判定された場合（ステップＳ１１０２：Ｎｏ）、ＣＰＵ６０は、処理をステップＳ１１０４に移行する。
【０１６４】
ステップＳ１１０４において、ＣＰＵ６０は、処理対象となる対象オブジェクトを特定する。ステップＳ１１０６において、ＣＰＵ６０は、対象オブジェクトが、各ルールの適用条件を満たすか判定する。適用条件が満たされたと判定された場合（ステップＳ１１０６：Ｙｅｓ）、ステップＳ１１０８において、ＣＰＵ６０は、余白を生成する余白生成処理を行う。適用条件が満たされていないと判定された場合（ステップＳ１１０６：Ｎｏ）、ＣＰＵ６０は、処理を再びステップＳ１１００に移行する。
【０１６５】
図３７は、ルール１に対応する余白生成処理を示すフローチャートである。ステップＳ１２００において、ＣＰＵ６０は、より低い配置後重要度を有するオブジェクトを、余白が生成される方向、すなわち、より高い配置後重要度を有するオブジェクトから遠ざかる方向に移動させる。ステップＳ１２０２において、ＣＰＵ６０は、２つのオブジェクト間にＴＨ７以上の余白が生成されたか判定する。ＴＨ７以上の余白が生成されたと判定された場合（ステップＳ１２０２：Ｙｅｓ）、ＣＰＵ６０は、図３７の処理を終了させる。ＴＨ７以上の余白が生成されていないと判定された場合（ステップＳ１２０２：Ｎｏ）、ＣＰＵ６０は、処理をステップＳ１２０４に移行する。
【０１６６】
ステップＳ１２０４において、ＣＰＵ６０は、より高い配置後重要度を有するオブジェクトを、余白が生成される方向に移動させる。ステップＳ１２０６において、ＣＰＵ６０は、２つのオブジェクト間にＴＨ７以上の余白が生成されたか判定する。ＴＨ７以上の余白が生成されたと判定された場合（ステップＳ１２０６：Ｙｅｓ）、ＣＰＵ６０は、図３７の処理を終了させる。ＴＨ７以上の余白が生成されていないと判定された場合（ステップＳ１２０６：Ｎｏ）、ＣＰＵ６０は、処理をステップＳ１２０８に移行する。
【０１６７】
ステップＳ１２０８において、ＣＰＵ６０は、より低い配置後重要度を有するオブジェクトを、あらかじめ決められた倍率、例えば、０．９倍して縮小する。ステップＳ１２１０において、ＣＰＵ６０は、より低い配置後重要度を有するオブジェクトを、余白が生成される方向に移動させる。ステップＳ１２１２において、ＣＰＵ６０は、２つのオブジェクト間にＴＨ７以上の余白が生成されたか判定する。ＴＨ７以上の余白が生成されたと判定された場合（ステップＳ１２１２：Ｙｅｓ）、ＣＰＵ６０は、図３７の処理を終了させる。ＴＨ７以上の余白が生成されていないと判定された場合（ステップＳ１２１２：Ｎｏ）、ＣＰＵ６０は、処理をステップＳ１２１４に移行する。
【０１６８】
ステップＳ１２１４において、ＣＰＵ６０は、より高い配置後重要度を有するオブジェクトを、余白が生成される方向に移動させる。ステップＳ１２１６において、ＣＰＵ６０は、２つのオブジェクト間にＴＨ７以上の余白が生成されたか判定する。ＴＨ７以上の余白が生成されたと判定された場合（ステップＳ１２１６：Ｙｅｓ）、ＣＰＵ６０は、図３７の処理を終了させる。ＴＨ７以上の余白が生成されていないと判定された場合（ステップＳ１２１６：Ｎｏ）、ＣＰＵ６０は、処理をステップＳ１２１８に移行する。
【０１６９】
ステップＳ１２１８において、ＣＰＵ６０は、より高い配置後重要度を有するオブジェクトを、あらかじめ決められた倍率、例えば、０．９倍して縮小する。ＣＰＵ６０は、処理を再びステップＳ１２００に移行する。
【０１７０】
図３８（ａ）は、本実施形態により生成された重要度分布情報を視覚化した図である。図３８（ｂ）は、対比例を示す図である。対比例は、コンテンツ重要度情報のみに基づいて生成された重要度分布情報を有する。図３８の例において、テキスト１、テキスト２、画像１および画像２のコンテンツ重要度情報は、「Ｈｉｇｈ」、「Ｍｉｄｄｌｅ」、「Ｌｏｗ」および「Ｈｉｇｈ」である。対比例においては、テキスト１および画像２の配置後重要度が最も高く、テキスト２の配置後重要度が次に高く、画像１の配置後重要度が最も低い。
【０１７１】
これに対し、本実施形態によれば、重要度分布情報は、コンテンツ重要度情報、配置情報および色分布情報のうち２つ以上の情報を用いて生成される。図３８（ａ）の例では、画像２の配置後重要度が最も高く、テキスト１の配置後重要度が次に高く、画像１およびテキスト２の配置後重要度が最も低い。
【０１７２】
図３９（ａ）および（ｂ）は、図３８（ａ）および（ｂ）の例に対して、本実施形態に係るデザイン処理を施した例を示す。以下、これらのデザイン処理の詳細を説明する。
【０１７３】
（１）対比例の場合
（ａ）ルール１の適用
１．ＣＰＵ６０は、配置後重要度が最も高いオブジェクトを特定する。この場合、画像２およびテキスト１が特定される。ＣＰＵ６０は、まず、画像２に対して以下の処理を適用する。
２．ＣＰＵ６０は、最も低い配置後重要度を有するオブジェクトとの余白量を求める。いま、画像１との余白量を求める。画像１および画像２は横に並んでいる。この場合、余白量は、画像１および画像２の横方向の余白量となる。画像１および画像２は接しているため、余白量は「０」と算出される。
３．余白量がＴＨ５より小さいので、ＣＰＵ６０は以下の余白生成処理を行う。
４−１．ＣＰＵ６０は、より低い配置後重要度を有するオブジェクトを、余白が生成される方向に移動できるか判定する。この場合、より低い配置後重要度を有するオブジェクトは画像１である。余白が生成される方向は左方向である。しかし、画像１の左方向に余白が存在しないため、移動は行われない。
４−２．ＣＰＵ６０は、より高い配置後重要度を有するオブジェクトを余白が生成される方向に移動できるか判定する。より低い配置後重要度を有するオブジェクトは画像２である。余白が生成される方向は右方向である。しかし、画像２の右方向に余白が存在しないため、移動は行われない。
４−３．ＣＰＵ６０は、画像１を縮小する。さらに、ＣＰＵ６０は、縮小された画像１を左方向に移動させる。この結果、ＴＨ７以上の余白量が生成できた。
５．次に、ＣＰＵ６０は、テキスト１を対象として処理を行う。配置後重要度が最も低い画像１との距離を求めると、しきい値ＴＨ５より余白量が低い。したがって、ＣＰＵ６０は余白生成処理を行う。ただし、この場合は、画像１を下方向に移動させれば余白が生成できる。したがってＣＰＵ６０は、画像１を下方向に移動させる。
【０１７４】
（ｂ）ルール２の適用
１．ＣＰＵ６０は、配置後重要度が最も高いオブジェクトを特定する。この場合、ルール１と同様にテキスト１および画像２が特定される。テキスト１と他オブジェクトとの余白量は、ルール１の適用により、すべてＴＨ６より大きい。そのため、ここではデザイン処理は行われない。また、画像２とテキスト２との余白量は、ちょうどＴＨ６であったため、デザイン処理は行われない。
この結果、図３９（ａ）のような文書が得られる。
【０１７５】
（２）本実施の形態により生成した重要度分布情報を用いる場合
（ａ）ルール１の適用
１．ＣＰＵ６０は、最も高い配置後重要度を有するオブジェクトを特定する。いま、画像２が特定される。
２．ＣＰＵ６０は、最も低い配置後重要度を有するオブジェクトとの余白量を求める。いま、画像１とテキスト２との余白量を求める。
３．２．のどちらの余白量もＴＨｌより小さいので余白生成処理を行う。画像１、２間の余白生成処理は、上記同様の処理内容となる。また、画像２とテキスト２との余白生成処理は、テキスト２が下に移動できるため、下に移動して終了となる。
【０１７６】
（ｂ）ルール２の適用
１．ＣＰＵ６０は、配置後重要度が最も高いオブジェクトを特定する。この場合、画像２が特定される。
２．ＣＰＵ６０は、他のオブジェクトとの余白量を算出する。この場合、他のオブジェクトは、テキスト１、画像１およびテキスト２の３つのオブジェクトがある。ＣＰＵ６０は、このうち、配置後重要度が最も高いテキスト１から順に処理を行う。
３．テキスト１と画像１との間の余白量は、しきい値ＴＨ６より小さい。したがって、ＣＰＵ６０は、テキスト１を上に移動させて余白を生成する。
４．テキスト１以外の画像１およびテキスト２は、すでにルール１で処理されているため、ルール２は適用されない。
【０１７７】
この結果、図３９（ｂ）のような文書が得られる。図３９（ａ）のレイアウト結果と比較すると、図３９（ｂ）では、重要である画像２の周辺の余白量が大きい。図３９（ａ）に比べて図３９（ｂ）の方が重要な画像に対してのバランスが良いデザインとなっている。
【０１７８】
このようにして、本実施形態によれば、レイアウト領域にレイアウトされたオブジェクトの文書属性情報に基づいて、文書のレイアウトが調整される。また、文書に対して、デザイン知識情報に基づいてデザイン処理が施される。
【図面の簡単な説明】
【０１７９】
【図１】第１実施形態に係るオブジェクト作成装置の機能構成を示す。
【図２】オブジェクト作成装置１００のハードウェア構成を示す図である。
【図３】第１実施形態に係るオブジェクト作成処理を示す。
【図４】レイアウトテンプレートの一例を示す図である。
【図５】オブジェクトの一例を示す図である。
【図６】初期レイアウトされたオブジェクトの一例を示す図である。
【図７】文書属性情報生成処理の詳細を示すフローチャートである。
【図８】配置情報生成処理の詳細を示す図である。
【図９】グループ化されたオブジェクトを例示する図である。
【図１０】文書属性情報を視覚化した図である。
【図１１】重なり情報生成処理の詳細を示すフローチャートである。
【図１２】余白領域情報生成処理の詳細を示すフローチャートである。
【図１３】重要度分布情報生成処理の詳細を示すフローチャートである。
【図１４】色分布情報生成処理の詳細を示すフローチャートである。
【図１５】レイアウト調整処理の詳細を示すフローチャートである。
【図１６】重なり除去処理の詳細を示すフローチャートである。
【図１７】重なり除去処理の詳細を示すフローチャートである。
【図１８】初期レイアウトされた文書の一例を示す図である。
【図１９】文書属性情報を視覚化した図である。
【図２０】重なり除去処理の一例を示す図である。
【図２１】レイアウト調整処理後の文書の一例を示す図である。
【図２２】デザイン知識情報の一例を示す図である。
【図２３】デザイン処理後の文書の一例を示す図である。
【図２４】デザイン知識情報の変形例を示す図である。
【図２５】レイアウト領域の変形例を示す図である。
【図２６】第２実施形態に係るオブジェクト作成装置の機能構成を示す。
【図２７】文書のデータ構造を模式的に示す図である。
【図２８】重要度分布情報を視覚化した図である。
【図２９】重要度分布情報生成処理の詳細を示すフローチャートである。
【図３０】区分領域に区分された文書を例示する図である。
【図３１】算出された重要度を示す図である。
【図３２】周辺区分領域の変形例を示す図である。
【図３３】係数αを例示する図である。
【図３４】重要度分布情報を視覚化した図である。
【図３５】デザイン知識情報の一例を示す図である。
【図３６】デザイン処理の詳細を示すフローチャートである。
【図３７】ルール１に対応する余白生成処理を示すフローチャートである。
【図３８】第２実施形態により生成された重要度分布情報を視覚化した図である。
【図３９】第２実施形態に係るデザイン処理が施された文書を示す。
【符号の説明】
【０１８０】
１…レイアウト結果取得部、２…重要度分布情報生成部、３…レイアウト内容加工部、１０…自動レイアウト部、１１…テンプレートデータベース、１２…コンテンツデータベース、１３…文書属性情報生成部、１４…文書属性情報記憶部、１５…レイアウト調整部、１６…文書属性情報更新部、１７…デザイン部、１８…デザイン知識情報記憶部、１９…文書出力部、６０…ＣＰＵ、６２…ＲＡＭ、６４…ＲＯＭ、６６…Ｉ／Ｆ、６８…内外バス、７０…外部記憶装置、７２…出力装置、７４…入力装置、１００・１００ａ…オブジェクト作成装置
【図１】
2007172573.tif 000005
【図２】
2007172573.tif 000006
【図３】
2007172573.tif 000007
【図４】
2007172573.tif 000008
【図５】
2007172573.tif 000009
【図６】
2007172573.tif 000010
【図７】
2007172573.tif 000011
【図８】
2007172573.tif 000012
【図９】
2007172573.tif 000013
【図１０】
2007172573.tif 000014
【図１１】
2007172573.tif 000015
【図１２】
2007172573.tif 000016
【図１３】
2007172573.tif 000017
【図１４】
2007172573.tif 000018
【図１５】
2007172573.tif 000019
【図１６】
2007172573.tif 000020
【図１７】
2007172573.tif 000021
【図１８】
2007172573.tif 000022
【図１９】
2007172573.tif 000023
【図２０】
2007172573.tif 000024
【図２１】
2007172573.tif 000025
【図２２】
2007172573.tif 000026
【図２３】
2007172573.tif 000027
【図２４】
2007172573.tif 000028
【図２５】
2007172573.tif 000029
【図２６】
2007172573.tif 000030
【図２７】
2007172573.tif 000031
【図２８】
2007172573.tif 000032
【図２９】
2007172573.tif 000033
【図３０】
2007172573.tif 000034
【図３１】
2007172573.tif 000035
【図３２】
2007172573.tif 000036
【図３３】
2007172573.tif 000037
【図３４】
2007172573.tif 000038
【図３５】
2007172573.tif 000039
【図３６】
2007172573.tif 000040
【図３７】
2007172573.tif 000041
【図３８】
2007172573.tif 000042
【図３９】
2007172573.tif 000043