(57)【要約】【課題】単一のサンプル文書からレイアウト処理を行うためのテンプレートを作成できるようにする。【解決手段】ユーザによりサンプル文書を指定するための指示ボタンが選択されると、まず、入力部３０１は、予め生成されたサンプル文書のデータを入力し、前記入力されたサンプル文書の論理情報を取得する。そして、前記取得したサンプル文書の論理情報と、編集中文書の論理情報とを比較し、レイアウトテンプレートを生成する必要があるサンプル文書内の領域を特定する。そして、その特定された領域の部分テンプレートを生成して、編集中文書のテンプレートに合成し、所望のレイアウトテンプレートを生成する。【選択図】図３
2011204176.tif 000002
【特許請求の範囲】
【請求項１】
ユーザからの文書を編集する指示を入力する指示手段と、
予め生成されたサンプル文書のデータを入力する入力手段と、
前記入力手段により入力されたサンプル文書の論理情報を取得する取得手段と、
前記取得手段によって取得されたサンプル文書の論理情報と、前記指示手段により編集を指示された文書の論理情報とを比較する比較手段と、
前記比較手段による比較結果に基づいて、前記サンプル文書においてテンプレートに用いるべき領域を特定する特定手段と、
前記特定手段により特定された領域の情報に基づいてテンプレートを生成する生成手段とを備えることを特徴とする文書作成装置。
【請求項２】
前記生成手段は、コンテンツの配置する方向を示す予め定義されたレイアウトパターンに基づいて、前記特定手段により特定された領域のレイアウトを解析してテンプレートを生成することを特徴とする請求項１に記載の文書作成装置。
【請求項３】
前記比較手段は、それぞれの論理情報に含まれる要素を比較するとともに、前記要素の子要素の数をも比較し、
前記比較手段による比較の結果、一致したと判断された要素の子要素の数が異なる場合に、前記生成手段は、前記子要素に基づきテンプレートの領域の属性を変更することを特徴とする請求項１に記載の文書作成装置。
【請求項４】
前記比較手段は、それぞれの論理情報に含まれる要素を比較した結果、一致する要素が存在しない場合は、前記サンプル文書のメタデータと、前記編集を指示された文書のメタデータとを取得し、前記取得したそれぞれのメタデータを比較することを特徴とする請求項１または２に記載の文書作成装置。
【請求項５】
前記生成手段は、前記レイアウトパターンを用いて前記レイアウトを解析できない場合に、前記サンプル文書を構成するコンテンツの重心を用いてレイアウトパターンを生成することによりテンプレートを生成することを特徴とする請求項２に記載の文書作成装置。
【請求項６】
前記生成手段は、前記レイアウトパターンを用いて前記レイアウトを解析できない場合に、予め定義した複数のテンプレートと前記サンプル文書のコンテンツとを用いて複数のレイアウト結果を生成し、前記複数のレイアウト結果のうち、最も品質の高いレイアウトパターンを生成することによりテンプレートを生成することを特徴とする請求項２に記載の文書作成装置。
【請求項７】
ユーザからの文書を編集する指示を入力する指示工程と、
予め生成されたサンプル文書のデータを入力する入力工程と、
前記入力工程において入力されたサンプル文書の論理情報を取得する取得工程と、
前記取得工程において取得されたサンプル文書の論理情報と、前記指示工程において編集を指示された文書の論理情報とを比較する比較工程と、
前記比較工程における比較結果に基づいて、前記サンプル文書においてテンプレートに用いるべき領域を特定する特定工程と、
前記特定工程において特定された領域の情報に基づいてテンプレートを生成する生成工程とを備えることを特徴とする文書作成方法。
【請求項８】
ユーザからの文書を編集する指示を入力する指示工程と、
予め生成されたサンプル文書のデータを入力する入力工程と、
前記入力工程において入力されたサンプル文書の論理情報を取得する取得工程と、
前記取得工程において取得されたサンプル文書の論理情報と、前記指示工程において編集を指示された文書の論理情報とを比較する比較工程と、
前記比較工程における比較結果に基づいて、前記サンプル文書においてテンプレートに用いるべき領域を特定する特定工程と、
前記特定工程において特定された領域の情報に基づいてテンプレートを生成する生成工程とをコンピュータに実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は文書作成装置、文書作成方法、及びプログラムに関し、特に、テンプレートを作成するために用いて好適な技術に関する。
【背景技術】
【０００２】
写真や文字列などの指示されたコンテンツを自動的にレイアウトする技術として、テンプレートを予め作成しておき、当該テンプレートに設定された情報に基づいてコンテンツを配置することによりレイアウト処理を自動化する方法が研究されている。しかしながら、当該方法を用いる場合、前述のようにテンプレートを予め用意しておく必要がある。テンプレートの作成は、従来、人手により行われており、非常に煩雑な作業が必要である。さらに、テンプレートによってデザインなどレイアウトの処理結果が左右されるため、デザインスキルなども必要になる。
【０００３】
そこで、テンプレートを自動的に作成する技術として、複数の既存文書をレイアウトのサンプルとして用い、当該サンプルからテンプレートとなる情報を抽出する技術が知られている。例えば、特許文献１に記載の方法によれば、２つの文書内に存在するオブジェクト領域の重なり状態を判定し、その判定の結果に基づいてテンプレートを作成するものとしている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００７−１１５７４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１で提案されている方法では、最低でも２つの文書を入力する必要がある。すなわち、単一の文書からテンプレートを作成することができないという問題点がある。
【０００６】
本発明は前述の問題点に鑑み、単一のサンプル文書からレイアウト処理を行うためのテンプレートを作成できるようにすることを目的としている。
【課題を解決するための手段】
【０００７】
本発明の文書作成装置は、ユーザからの文書を編集する指示を入力する指示手段と、予め生成されたサンプル文書のデータを入力する入力手段と、前記入力手段により入力されたサンプル文書の論理情報を取得する取得手段と、前記取得手段によって取得されたサンプル文書の論理情報と、前記指示手段により編集を指示された文書の論理情報とを比較する比較手段と、前記比較手段による比較結果に基づいて、前記サンプル文書においてテンプレートに用いるべき領域を特定する特定手段と、前記特定手段により特定された領域の情報に基づいてテンプレートを生成する生成手段とを備えることを特徴とする。
【発明の効果】
【０００８】
本発明によれば、複数の文書を用いないように単一の文書からレイアウト処理用のテンプレートを作成することができる。
【図面の簡単な説明】
【０００９】
【図１】本発明の実施形態の処理全体の概要を示す概念図である。
【図２】文書編集支援処理の一例を示す概念図である。
【図３】文書作成支援システムの機能構成例を示すブロック図である。
【図４】文書作成支援システム全体の処理手順の一例を示すフローチャートである。
【図５】文書選択画面の一例を示す図である。
【図６】文書テンプレートの一例を示す図である。
【図７】論理情報の一例を示す図である。
【図８】文書を検索・編集するための表示画面の一例を示す図である。
【図９】自動レイアウト処理の手順の一例を示すフローチャートである。
【図１０】レイアウトテンプレートの一例を示す図である。
【図１１】ｆｌｏｗ属性の値の違いによるレイアウト結果の違いを示す図である。
【図１２】自動レイアウト処理の概要を示す図である。
【図１３】レイアウトテンプレート生成処理の一例を示すフローチャートである。
【図１４】論理情報を比較する処理手順の一例を示すフローチャートである。
【図１５】編集中文書とサンプル文書との比較結果の一例を示す図である。
【図１６】部分テンプレートを合成する概要を示す図である。
【図１７】部分テンプレートの生成処理手順の一例を示すフローチャートである。
【図１８】配置方向が折れ線状になる場合のレイアウトの状態を示す図である。
【図１９】第２の実施形態の概要を示す概念図である。
【図２０】レイアウトテンプレート生成処理の一例を示すフローチャートである。
【発明を実施するための形態】
【００１０】
（第１の実施形態）
まず、第１の実施形態の概要について説明する。
図１は、本実施形態の処理全体の概要を示す概念図である。本実施形態では、文書作成支援システム１０２を利用して文書作成を行う。ユーザは、パーソナルコンピュータ（ＰＣ）１０１を操作して、文書作成支援システム１０２に対して指示することにより文書の作成を進めていく。文書作成支援システム１０２では、以下の処理を支援することにより文書を作成する作業を簡略化している。
【００１１】
作成文書の種別・イメージ選択支援処理１０３では、ユーザが作成したい文書の種別及び当該文書の構成やスタイルなどを指定する。例えば、作成文書の種別として選択指定されるものとして企画書などがある。情報検索・収集支援処理１０４は、作成したい文書に使用するもしくは参考にする情報（以降、コンテンツと記載する）を検索・収集する処理を支援するために、検索機能をユーザに提供する。文書編集支援処理１０５は、検索したコンテンツを用いて自動レイアウト処理などを行い、ユーザの編集作業を簡略化する。文書１０６は、文書作成支援システム１０２による支援を受けながらユーザの操作により作成した文書である。
【００１２】
図２は、図１における文書編集支援処理の一例を示した概念図である。２０１は、ユーザが編集を行っている編集中文書である。２０２は、ユーザがレイアウトを参考にしたいと所望する既存文書である。以下、当該既存文書をサンプル文書と記載する。本実施形態における文書作成支援システム１０２では、編集支援を行う時においてサンプル文書が指定されると、サンプル文書のレイアウトを解析する。そして、当該解析結果に基づいて、レイアウト変更を行う領域を特定し、特定された領域に対応するレイアウトを自動的に変更する。２０３が実際にサンプル文書２０２のレイアウトを用いて編集中文書２０１のレイアウトを変更した結果（レイアウト変更例）である。具体的には、編集中文書２０１内の領域２０４のレイアウトがサンプル文書２０２内の領域２０５のレイアウトに変更されることを示している。なお、レイアウト変更例２０３における領域２０６が変更部分である。本実施形態では、単一のサンプル文書から自動レイアウト処理用のテンプレート（以降、レイアウトテンプレートと記載する）を自動的に生成することにより、当該処理を実現している。
【００１３】
以降、図３から図１８を参照しながら本実施形態の詳細について説明する。
図３は、本実施形態に係る文書作成支援システム１０２の機能構成例を示すブロック図である。
図３において、入力部３０１は、ユーザの指示を受け付けるものである。また、出力部３１１は、検索結果、文書の作成結果などの情報をユーザのＰＣの表示装置（図示せず）等に出力するためのものである。情報検索部３０２は、文書の作成に必要な情報を検索するものである。レイアウト部３０３は、ユーザにより指定されたコンテンツもしくはサンプル文書に基づいてレイアウト処理を行うものである。また、レイアウト部３０３は、自動レイアウト処理部３０４及びレイアウトテンプレート生成部３０５から構成されている。
【００１４】
自動レイアウト処理部３０４は、レイアウトテンプレートに従って指定されたコンテンツを自動レイアウトする。レイアウトテンプレートパスは、後述する文書テンプレート情報３０７の一部としてデータベース３０６に保持されており、後に図７を参照しながら詳細を説明する。レイアウトテンプレート生成部３０５は、指定されたサンプル文書からレイアウトテンプレートを生成する。当該レイアウトテンプレートを生成する処理の詳細は、図１３を参照しながら後述する。
【００１５】
データベース３０６は、文書テンプレート情報３０７、ユーザ情報３０８、検索用インデックス３０９、及びレイアウトパターンＤＢ３１０を保持している。文書テンプレート情報３０７は、作成文書の種別や論理情報、レイアウトテンプレートのパスを保持した文書テンプレート群を保持しており、詳細は図６を参照しながら後述する。ユーザ情報３０８は、ユーザに関するアカウント情報やユーザ毎の担当業務情報を保持している。検索用インデックス３０９は、情報検索部３０２が参照するインデックスである。レイアウトパターンＤＢ３１０は、レイアウトテンプレート生成部３０５が参照する情報であり、詳細については図１７を参照しながら後述する。
【００１６】
図４は、本実施形態における文書作成支援システム１０２全体の処理手順の一例を示すフローチャートである。
まず、ステップＳ４００において、情報検索部３０２により文書作成支援システム１０２に対するユーザのログイン処理を行う。ログイン処理の時には、図３におけるユーザ情報３０８を参照し、ユーザのログイン情報を検証する。次に、ステップＳ４０１において、入力部３０１は、ユーザが作成したい文書種別の選択結果を入力する。なお、選択肢の情報は、ユーザ情報３０８に保持されている担当業務情報を用いて作成すべき文書一覧として出力部３１１から出力される。例えば、ユーザＡの担当業務として企画書作成、報告書作成が存在する場合は、選択肢として「企画書」、「報告書」がＰＣ１０１の表示装置に表示される。
【００１７】
図５は、文書選択画面の一例を示す図である。図５に示す例では、「企画書」、「報告書」が提示されている。ユーザは、選択肢５０１の中から今回の作業において作成を行いたい文書種別を指定することになる。また、文書種別は、図３における文書テンプレート情報３０７と関連付けられており、以降のステップでは、選択された文書種別に対応する文書テンプレートに記載される情報に基づいて各種の支援操作が行われる。例えば、詳細については後述するが、当該情報には論理情報が含まれており、作成文書の論理情報を検索処理に利用することにより、検索処理支援を可能にする。具体的には、論理情報が特定されることにより、検索結果から必要のない情報を自動的に排除するなどの処理が可能となる。
【００１８】
ステップＳ４０２の処理を説明する前に、文書テンプレートに関して詳細に説明する。
図６は、文書テンプレートの一例を示す図である。図６に示す文書テンプレートは、情報ルートを示すルート要素６０１を有し、さらにルート要素６０１は、子要素として、文書種別名６０２、論理情報パス６０３、及びレイアウトテンプレートパス６０４を有している。文書種別名６０２は、当該文書テンプレートと関連付けられている文書種別を示している。なお、図６に示す例では、文書種別が企画書であることを示している。論理情報パス６０３は、文書の論理情報を示す情報へのデータパスを保持している。当該データパスが示すデータを参照することにより論理情報へアクセスすることができる。
【００１９】
図７は、論理情報の一例を示した図である。論理情報は、ルート要素７０１とルート要素７０１の子要素７０２とで構成されている。子要素７０２は、文書の論理的な情報を示している。図７に示す例では、行程表の要素７０３は子要素として図要素７０４、７０５と説明文要素７０６、７０７とを保持していることがわかる。このように、文書の論理的な構造を示すものが論理情報である。また、子要素を持たない要素は、ｒｅｆ属性７０８によりレイアウトテンプレートと関連付けられている。図７に示す例では、図要素７０４は、「ｉｄ１」で示されるレイアウトテンプレートの情報に関連付けられていることがわかる。
【００２０】
図６の説明に戻り、レイアウトテンプレートパス６０４は、自動レイアウト処理用のテンプレート（レイアウトテンプレート）へのデータパスを保持している。当該データパスが示すデータを参照することにより、レイアウトテンプレートへアクセスすることができる。レイアウトテンプレートに関しては、後に自動レイアウト処理と合わせて詳細を説明する。
【００２１】
図４の説明に戻り、次のステップＳ４０２においては、情報検索部３０２は、ステップＳ４０１で選択された文書に用いるコンテンツをデータベース３０６または外部から検索し、収集する。ここで、コンテンツの検索・収集作業は、論理情報の最小単位で実行することになる。なお、最小単位とは、子要素を持たない要素を示す。図７に示す例の場合、図要素７０４や説明文要素７０６は子要素を持たないため、論理情報の最小単位となる。
【００２２】
図８（ａ）は、ＰＣ１０１の表示装置に表示される情報検索・収集画面の一例を示す図である。情報検索・収集画面は、編集中文書の論理情報を示す論理情報表示部８０１と、検索指示部８０２と、検索結果提示部８０３と、収集情報提示部８０４とから構成されている。論理情報表示部８０１には、ステップＳ４０１で選択された文書の論理情報が示されている。ユーザは、当該論理情報から情報収集を行いたい最小単位を選択し、検索処理を指示することになる。例えば、論理情報における「図」に関する情報を検索・収集したい場合、論理情報表示部８０１において「図」を選択することにより、図として使用したい情報の検索処理を実施することができる。
【００２３】
検索指示部８０２は、検索クエリの入力を受け付けるものである。また、検索結果提示部８０３には、検索指示部８０２で入力された検索クエリに基づいて検索処理された結果が提示される。ユーザにより、検索結果から所望の情報が選択されると、情報検索部３０２は、文書編集に使用したいコンテンツを収集する。そして、収集結果が出力部３１１から出力され、収集情報提示部８０４に表示される。すなわち、論理情報表示部８０１において指定した論理情報のコンテンツとして使用したいコンテンツが、収集情報提示部８０４に表示される。
【００２４】
なお、情報検索部３０２によって行われる検索処理は、既存の検索技術を用いて行われる。例えば、キーワードに基づく検索処理を行ってもよく、自然文の入力を受け付ける概念検索技術を用いてもよい。また、本実施形態では検索クエリの入力を必要とするシステムとしたが、ユーザ情報や文書種別に応じて検索クエリを推定し、ユーザからの明示的な検索クエリの入力を必要としないシステムとしてもよい。また、本実施形態では、検索の単位を論理情報の最小単位としたが、最小単位で検索処理を行わなくてもよい。例えば、「行程表」という要素の子要素として「図」という要素と説明文という要素とがあった場合、「行程表」という単位で検索処理を実行してもよい。
【００２５】
図４の説明に戻り、ステップＳ４０３においては、レイアウト部３０３は、ステップＳ４０２で収集したコンテンツを用いて、文書の編集作業を行う。文書の編集作業においては、使用したいコンテンツがユーザにより選択されると自動レイアウト処理が行われる。
【００２６】
図８（ｂ）は、ＰＣ１０１の表示装置に表示される文書編集の操作画面の一例を示す図である。文書編集画面は、論理情報表示部８０５と、コンテンツ表示部８０６と、編集結果表示部８０７と、サンプル文書指定部８０８とから構成されている。ユーザは、編集したい論理情報を論理情報表示部８０５から選択する。例えば、論理情報のうち、「図」について編集処理を行いたい場合、論理情報表示部８０５において図要素を選択する。
【００２７】
コンテンツ表示部８０６には、ステップＳ４０２において検索・収集したコンテンツ群が表示される。ユーザは、文書に使いたいコンテンツをコンテンツ表示部８０６から選択する。ユーザにより選択されたコンテンツを用いてレイアウト処理が行われ、レイアウト結果が編集結果表示部８０７に表示される。サンプル文書指定部８０８は、レイアウトを流用したいサンプル文書を指定するための指示ボタンである。当該指示ボタンからユーザにより指示されると、不図示のサンプル文書指示画面が表示され、ユーザによるサンプル文書の選択の指示を受け付ける。
【００２８】
図８（ｃ）は、ユーザによりコンテンツが選択され、自動レイアウト処理が行われた結果、もしくは、コンテンツが指定された後、サンプル文書が指定され、自動レイアウト処理が行われた結果が表示された画面の一例を示す図である。図８（ｃ）に示す例では、編集結果提示部８０９に自動レイアウト処理によるレイアウト結果が表示されている。なお、自動レイアウト処理によるレイアウト結果は、既存のワープロソフトと同様にユーザの手動操作によりコンテンツのサイズや位置を変更することができる。
【００２９】
続いて、図９を参照しながら、自動レイアウト処理の詳細な手順を説明する。図９は、自動レイアウト処理部３０４による自動レイアウト処理手順の一例を示すフローチャートである。
図９において処理を開始すると、まず、ステップＳ９００において、レイアウトテンプレートを取得する。レイアウトテンプレートは、前述した文書テンプレート内に保持されるレイアウトテンプレートパスが示すデータパスを用いてデータベース３０６もしくは外部から取得する。なお、レイアウトテンプレートパスは、ファイルシステム固有のパス形式で表現される。本実施形態では、ファイルシステム固有のパス形式で表現するが、ＵＲＬやＵＲＩで示してもよい。
【００３０】
次に、ステップＳ９０１において、レイアウトすべきコンテンツを取得し、当該コンテンツをレイアウトテンプレートのどの領域に割り当てるかを決定する。コンテンツの割り当て処理では、ユーザにより指定されたコンテンツが対応付けられている論理情報の要素を特定する。その後、特定された論理情報の要素におけるｒｅｆ属性の「ｉｄ」が示す領域にコンテンツを割り当てることにより実現する。例えば、図７に示す例では、図要素７０４に対応付けられているコンテンツは、「ｉｄ１」で示されるレイアウトテンプレート内の領域に割り当てられる。
【００３１】
ここで、レイアウトテンプレートについて詳細に説明する。
図１０は、レイアウトテンプレートの一例を示す図である。
図１０に示すように、レイアウトテンプレートは、テンプレートのルートを示すルート要素１００１を有しており、さらに、ルート要素１００１は、子要素としてページ要素１００２を有している。ページ要素１００２は、レイアウトテンプレートのレイアウト対象となるページに関する情報を保持しており、具体的には、ページサイズを保持している。
【００３２】
また、ページ要素１００２は、子要素として結合要素１００３を有している。結合要素１００３は、結合要素１００３の子要素である領域要素１００４間の結合関係を示している。結合関係を持つ領域間は、自動レイアウト処理により領域間でサイズ・位置の調整が行われる。領域要素１００４は、コンテンツが配置される領域に関する情報を示している。具体的には、領域を一意に特定するｉｄ属性１００５、領域位置を示すｘ属性１００６、ｙ属性１００７、領域の幅を示すｗ属性１００８、及び領域の高さを示すｈ属性１００９を保持している。さらに、レイアウトパターンを示すｆｌｏｗ属性１０１０、及びスタイルを示すｓｔｙｌｅ属性１０１１を保持している。
【００３３】
ここで、ｆｌｏｗ属性１０１０は、領域内に複数のコンテンツが割り当てられた場合、領域内でどのようにコンテンツを配置していくかを示している。具体的には、領域内でコンテンツを上から下方向へ配置していく、左から右方向に配置していくなどの情報を保持している。図１１は、ｆｌｏｗ属性の値の違いによるレイアウト結果の違いを示す図である。図１１（ａ）は、ｆｌｏｗ属性が上から下の場合を示し、図１１（ｂ）は、ｆｌｏｗ属性が左から右の場合を示している。また、ｓｔｙｌｅ属性１０１１は、当該領域に配置されるコンテンツがテキストの場合のときのみ有効な属性であり、アライメントやフォント名、色などが設定される。本実施形態では、レイアウトテンプレートの属性として以上のように定義したが、他の情報を加えてもよい。例えば、コンテンツの配置間隔を指定する間隔属性などを指定することも可能である。
【００３４】
図９の説明に戻り、ステップＳ９０２においては、ステップＳ９００及びＳ９０１の処理結果に基づき自動レイアウト処理を実施する。自動レイアウト処理では、上記の情報に基づいてコンテンツの配置位置が決定される。図１０に示す例では、「ｉｄ＝１」で示される領域（第１の領域）と「ｉｄ＝２」で示される領域（第２の領域）とが関連付けられている。自動レイアウト処理では、各々の領域に割り当てられたコンテンツのサイズ及び数とレイアウトテンプレートに設定されている情報とに基づき、第１の領域と第２の領域との間でサイズ及び位置の調整が行われることになる。
【００３５】
次に、自動レイアウト処理の具体例を示す。
図１２（ａ）は、図１０に示したレイアウトテンプレートの一部を可視化したものである。
図１２（ａ）に示すページ領域１２０１は、図１０のページ要素１００２と対応している。また、領域１２０２が「ｉｄ＝１」で示される第１の領域を示し、領域１２０３が「ｉｄ＝２」で示される第２の領域を示している。また、図１２（ｂ）は、図１０に示したレイアウトテンプレートに対し、領域１２０２にコンテンツを２つ対応付けし、領域１２０３にコンテンツを３つ対応付けた状態を示している。さらに、図１２（ｃ）は、図１２（ｂ）に示すように対応付けられたコンテンツを自動レイアウト処理した結果を示している。
【００３６】
図９の説明に戻り、ステップＳ９０３においては、ステップＳ９０２において生成されたレイアウト処理の結果を最適化する。ここで、最適化処理は、既存のレイアウト最適化処理を用いて行う。具体的には、レイアウトの品質を規定の指標に基づいて評価し、当該評価結果を良くするようにレイアウトに対して微修正を加える。レイアウトの品質を評価する指標には、余白率やコンテンツのばらつき、対象度などが存在する。既存の自動レイアウト技術の多くは、指定されたコンテンツとレイアウトテンプレートとの相性によっては、レイアウトの品質に問題が生じる場合がある。当該処理の目的は、レイアウト品質が低くなってしまう問題を回避することである。本実施形態では、レイアウト品質を良くするためにレイアウト最適化の処理を行ったが、レイアウト最適化処理を必ずしも実施しなくてもよい。この場合も、レイアウト品質が低くなってしまう場合もあるが、自動レイアウト処理は実施されることになるため、本実施形態における目的を達成することはできる。
【００３７】
次に、サンプル文書が指定された場合にレイアウトテンプレートを生成する処理について詳細を説明する。
図１３は、レイアウトテンプレートを生成する処理手順の一例を示すフローチャートである。
図８（ｂ）に示したサンプル文書指定部８０８がユーザの操作により指示されると、処理を開始する。そして、ステップＳ１３００において、入力部３０１は、サンプル文書を入力する。ここで、サンプル文書のデータは、例えば、ユーザのＰＣ１０１に保持されているものを入力してもよく、着脱可能な記録媒体等に保持されているものを入力してもよい。次に、ステップＳ１３０１において、情報検索部３０２は、ステップＳ１３００で入力されたサンプル文書から論理情報を取得する。論理情報の取得処理は、既存の論理情報取得処理を用いてもよいし、サンプル文書に関連付けられている論理情報が存在する場合は、当該論理情報を取得することとしてもよい。なお、既存の論理情報取得処理については、図１７の説明において後述する。
【００３８】
次に、ステップＳ１３０２において、レイアウトテンプレート生成部３０５は、ステップＳ１３０１で取得した論理情報と編集中文書に指定されている論理情報とを比較する。ここで、編集中文書に指定されている論理情報は、編集中文書と対応付けられる文書テンプレートを参照して取得する。論理情報の比較処理については、図１４を用いて後に詳細な説明を行う。そして、ステップＳ１３０３において、ステップＳ１３０２における比較結果に基づき、レイアウトテンプレートを生成する必要があるサンプル文書内の領域を特定する。
【００３９】
ここで、ステップＳ１３０２及びＳ１３０３における処理について、具体例を参照しながら説明する。例えば、編集中文書内に「行程表」という論理情報が存在し、サンプル文書にも「行程表」という論理情報が存在する場合は、「行程表」が一致するものと判断する。そして、論理情報が一致する部分が示す領域、すなわち行程表としてレイアウトされている領域がレイアウトテンプレート化される対象となる。以上の処理により、サンプル文書からレイアウトテンプレートとして流用可能な領域を自動的に特定することが可能なるため、ユーザによりテンプレート化すべき領域を指定する必要がなくなる。
【００４０】
次に、ステップＳ１３０４において、レイアウトテンプレート生成部３０５は、ステップＳ１３０３で特定された領域から部分的なレイアウトテンプレート（以下、部分テンプレート）を生成する。部分テンプレートを生成する処理については、図１７を参照しながら後に詳細な説明を行う。そして、ステップＳ１３０５において、レイアウトテンプレート生成部３０５は、ステップＳ１３０４で生成された部分テンプレートを編集中文書のレイアウトテンプレートに合成する。このレイアウトテンプレートを合成する処理では、編集中文書のレイアウトテンプレート内のｉｄとステップＳ１３０４で生成された部分テンプレート内のｉｄとが等しい個所を入れ替える。
【００４１】
図１６（ａ）は、編集中文書のレイアウトテンプレートを可視化したものを示す図である。
図１６（ａ）に示すように、当該レイアウトテンプレートは、７つの領域から構成されている。すなわち、領域（ｉｄ１）１６０１、領域（ｉｄ２）１６０２、領域（ｉｄ３）１６０３、領域（ｉｄ４）１６０４、領域（ｉｄ５）１６０５、領域（ｉｄ６）１６０６、及び領域（ｉｄ７）１６０７から構成されている。
【００４２】
図１６（ｂ）は、ステップＳ１３０４で生成された部分テンプレートを可視化したものを示す図である。当該部分テンプレートは、４つの領域から構成されており、各領域はレイアウトテンプレートとの対応付けを示すｉｄを保持している。具体的には、領域（ｉｄ４）１６０８は、レイアウトテンプレート上の領域（ｉｄ４）１６０４と対応していることを示している。ステップＳ１３０５における合成処理では、部分テンプレート内のｉｄとレイアウトテンプレート内のｉｄとが一致した部分が置き換えられる。図１６に示す例では、領域（ｉｄ４）１６０８、領域（ｉｄ５）１６０９、領域（ｉｄ６）１６１０、及び領域（ｉｄ７）１６１１がそれぞれ一致しているため、図１６（ｃ）に示すような結果となる。
【００４３】
次に、図１３のステップＳ１３０２における論理情報を比較する処理について詳細に説明する。
図１４は、レイアウトテンプレート生成部３０５による論理情報を比較する処理手順の一例を示すフローチャートである。
まず、ステップＳ１４００において、一致要素リストを生成する。一致要素リストの生成処理では、論理情報の各要素名が一致するか否かを判定し、一致したものをリストとして保持する。図１５（ａ）は、編集中文書の論理情報１５０１とサンプル文書の論理情報１５０２とを比較した結果の一致要素リスト１５０３を示す図である。図１５（ａ）に示す例では、行程表要素及び図要素が一致しているため、一致要素リスト１５０３には行程表要素及び図要素が存在する。
【００４４】
次に、ステップＳ１４０１において、一致要素リスト内の要素数を判定する。この判定の結果、要素数が０の場合は、ステップＳ１４０２へ移行する。一方、要素数が１つのみである場合は、処理を終了する。さらに、要素数が複数存在する場合は、ステップＳ１４０３へ移行する。
【００４５】
ステップＳ１４０２においては、編集中文書におけるコンテンツのメタデータとサンプル文書におけるコンテンツのメタデータとを比較する。この比較処理では、既存のメタデータ比較処理を用いる。比較対象となるメタデータは、人手の入力により予め付与されていることとする。ただし、メタデータが付与されていない場合は、既存のメタデータ抽出技術を用いてメタデータを取得してもよい。比較処理では、メタデータが一致もしくは類似するコンテンツを特定し、特定されたコンテンツと対応する要素を一致要素リストとして生成する。
【００４６】
例えば、編集中文書内に被写体がパンダであることを示すメタデータを保持しているコンテンツが、図要素と対応付けられて存在する場合を考える。サンプル文書内にも被写体がパンダであることを示すメタデータを保持するコンテンツが存在する場合は、比較処理の結果は一致と判断する。そして、一致するメタデータを保持するコンテンツ（パンダ）と対応する要素は図要素であるため、一致要素リストに図要素が追加されることになる。このようにメタデータが完全一致するコンテンツが存在しない場合は、メタデータの類似性を判定する。類似性の判定には既存の技術を用い、規定の閾値以上の類似度を持つコンテンツがある場合は一致したと判断し、完全一致の場合と同様にコンテンツと対応付けられる要素を一致要素リストへ追加する。
【００４７】
ここで、メタデータが類似するコンテンツは、必ず最低１つは決定されることとする。メタデータが一致するもしくは閾値以上の類似度を持つコンテンツが存在しない場合、類似度が一番高いものを一致したとみなす。一方、一致するコンテンツが存在しない場合に、部分テンプレートを生成する処理を中断し、指定されたサンプル文書からはレイアウトテンプレートが作成できない旨をユーザに提示することとしてもよい。一致要素リストを作成した後は、ステップＳ１４０１へ移行し、再度、要素数を判定する。
【００４８】
ステップＳ１４０３においては、要素集約処理を行う。当該要素集約処理では、一致要素リスト内の各要素の親（上位）要素を参照し、親（上位）要素が一致要素リストに含まれている場合は、その子（下位）要素を一致要素リストから削除する。図１５（ａ）に示す例では、図要素の親要素である行程表要素も一致要素リストに含まれているため、図１５（ｂ）に示すように図要素を一致要素リストから削除する。当該処理により、一致する要素群を判定することができる。
【００４９】
次に、ステップＳ１４０４において、ステップＳ１４０３において更新された一致要素リストに、子要素が存在する要素が含まれているか否かを判定する。この判定の結果、子要素が存在する要素が含まれている場合は、ステップＳ１４０５へ移行する。一方、ステップＳ１４０４の判定の結果、子要素が存在する要素が含まれていない場合は、処理を終了する。
【００５０】
ステップＳ１４０５においては、編集中文書とサンプル文書とにおける各子要素を含めた比較処理を行う。該比較処理では、子要素を含めた全要素が一致するパターン（完全一致パターン）と、編集中文書の子要素の論理情報が多いパターン（部分一致第１パターン）と、サンプル文書の子要素の論理情報が多いパターン（部分一致第２パターン）との３つに分類する。次に、ステップＳ１４０６において、ステップＳ１４０５における比較処理の結果に基づいて、部分テンプレートの拡張情報を生成する。この拡張情報を生成する処理では、ステップＳ１４０５における比較処理による分類結果が完全一致パターンの場合は、拡張情報を生成しない。
【００５１】
一方、部分一致第１パターンの場合は、拡張情報として領域追加数を示す情報を生成する。この場合は、編集中文書における要素が多いことを示しているため、サンプル文書には情報が不足している。したがって、レイアウトテンプレートを作成する時に、多い分の要素（コンテンツ）を配置するための領域を生成する必要がある。例えば、編集中文書の論理情報の一部として行程表要素があり、行程表要素の子要素として図要素、説明文要素、及び見どころ要素が存在するとする。一方、サンプル文書の論理情報として、行程表要素の子要素に図要素及び説明文要素のみが存在するものとする。この場合、編集中文書では見どころ要素が存在する分、要素が多いことになる。また、サンプル文書を元に部分テンプレートを生成しようとしても、見どころ要素がサンプル文書の要素には配置されていないため、見どころ要素を配置するためのテンプレートを生成することができない。そこで本実施形態では、部分テンプレートを生成する処理において、見どころ要素を配置するための領域が必要である旨の拡張情報を生成するようにしている。
【００５２】
また、ステップＳ１４０５における比較結果が部分一致第２パターンの場合は、空領域を示す拡張情報を生成する。この場合は、部分テンプレートを生成する処理において、コンテンツが配置されない領域がテンプレートとして生成されることになる。本実施形態における自動レイアウト処理では、コンテンツが配置されない場合にも適切なレイアウト処理を実施することが可能なため、コンテンツが配置されない領域が生成されることは問題にならない。
【００５３】
続いて、図１３のステップＳ１３０４における部分テンプレートを生成する処理について詳細に説明する。図１７は、レイアウトテンプレート生成部３０５による部分テンプレートを生成する処理手順の一例を示すフローチャートである。
まず、ステップＳ１７００において、領域作成処理を行う。領域作成処理は、部分テンプレートを生成する対象となる領域において、対象となる論理情報の最小単位で領域を作成する。具体的には、最小単位の各論理情報を取得し、当該論理情報が示すコンテンツが配置されている領域の各外接矩形を取得する。
【００５４】
コンテンツを配置する領域は、前述の図１３のステップＳ１３０１における論理情報取得処理により特定されており、その情報が論理情報と共に保持されている。既存の論理情報取得処理によりコンテンツを配置する領域を特定する例について簡単に説明する。論理情報取得処理では、文書のコンテンツを解析して文章や表、図などのコンテンツの領域を特定する。その後、当該特定された領域に対して文字認識処理等の認識処理や要素の順番・親子関係を特定することにより、論理情報を取得している。したがって、論理情報取得処理にはコンテンツの領域を特定する処理が含まれていることになり、本実施形態においても論理情報を取得することによりコンテンツを配置する領域が特定されることになる。
【００５５】
そして、各コンテンツを配置する領域の外接矩形を取得した後に、当該外接矩形を部分テンプレートの領域として生成する。すなわち、当該外接矩形のサイズを持つ領域要素を生成する。そして、生成された領域要素に対して配置されるコンテンツを特定するため、編集中文書の論理情報を参照して、編集中文書におけるレイアウトテンプレート内の領域ｉｄを特定し、部分テンプレートとして作成した領域ｉｄに設定する。例えば、編集中文書において図要素が領域ｉｄ１に配置される設定がされていた場合、部分テンプレートにおいても図要素が配置されていた領域を領域ｉｄ１として生成する。
【００５６】
ここで、編集中文書とサンプル文書とにおいて対応する論理情報が一致しない場合、テンプレートの拡張情報に基づき領域ｉｄを決定する。前述したように、テンプレートの拡張情報は、図１４のステップＳ１４０６の処理によって生成されている。このとき、前述した部分一致第２パターンに該当し、テンプレートの拡張情報が空情報を示す場合、領域ｉｄを０として領域を生成する。
【００５７】
一方、前述した部分一致第１パターンに該当し、テンプレートの拡張情報が、不足している要素分の領域追加を示す場合、編集中文書において当該不足している要素のコンテンツが配置されていた領域ｉｄを取得し、生成した領域に当該領域ｉｄを設定する。不足している領域を生成する処理は、編集中文書の領域間の関係に基づいて行われる。すなわち、まず、不足要素が配置されていた領域と他領域との関係を取得する。具体的には、レイアウトテンプレートにおける結合要素を解析することにより行う。そして、取得された他領域との関係と合致するように部分テンプレート内の領域を生成する。
【００５８】
例えば、編集中文書には見どころ要素があるがサンプル文書には見どころ要素が存在しない場合を考える。サンプル文書の論理情報から領域を単純に生成しても見どころ要素を配置するための領域は生成されない。そこで、編集中文書における見どころ要素が配置されていた領域と他要素（例えば、図要素）が配置されていた領域との結合関係を見て、結合関係が等しくなるように領域を生成する。具体的には、編集中文書において、見どころ要素に該当する領域が図要素に該当する領域の右側に配置されていた場合、部分テンプレート生成処理においても図要素に該当する領域の右側に配置されるように領域を生成する。
【００５９】
次に、ステップＳ１７０１において、論理情報における最小単位の要素毎にコンテンツの種別を判定する。この判定の結果、サンプル文書に配置されているコンテンツがテキストである場合は、ステップＳ１７０２に移行する。一方、ステップＳ１７０１の判定の結果、コンテンツがイメージ（写真）やイラストである場合はステップＳ１７０４に移行する。
【００６０】
ステップＳ１７０２においては、テキストレイアウトのスタイルを取得する。テキストスタイルとは、図１０で説明したレイアウトテンプレートにおけるｓｔｙｌｅ属性１０１１と同様のものである。具体的には、フォント名、色、アライメント（右揃え、均等配置など）の情報である。テキストスタイルの取得処理は、既存技術を用いることにより実現される。そして、ステップＳ１７０３において、ステップＳ１７０２で取得したテキストスタイルを部分テンプレートのテキストスタイル属性として設定し、処理を終了する。
【００６１】
一方、ステップＳ１７０４においては、コンテンツのレイアウトパターンを判定する。レイアウトパターンの判定処理は、図３において説明したレイアウトパターンＤＢ３１０に基づいて判定処理を行う。この判定の結果、レイアウトパターンＤＢ３１０が保持するレイアウトパターンと一致する場合は、ステップＳ１７０５へ移行する。一方、ステップＳ１７０４の判定の結果、一致しない場合は、ステップＳ１７０６へ移行する。
【００６２】
ここで、レイアウトパターンについて簡単に説明する。レイアウトパターンは、図１０において説明したｆｌｏｗ属性１０１０が示す情報と同義である。すなわち、コンテンツが複数存在する場合、コンテンツを領域の上から下方向へ配置していく、などの情報を規定したものである。レイアウトパターンを判定する場合には、まず、各コンテンツの重心を算出する。そして、各重心を結んだ直線を定義する。この直線の状態とレイアウトパターンＤＢ３１０に格納されている情報とが一致するか否かを判定する。
【００６３】
ステップＳ１７０５においては、ステップＳ１７０４で一致したと判定されたレイアウトパターンをレイアウトテンプレートのｆｌｏｗ属性として設定し、処理を終了する。一方、ステップＳ１７０６においては、コンテンツ数を判定する。この判定の結果、コンテンツ数が１つの場合は、ステップＳ１７０７へ移行する。一方、コンテンツ数が２つ以上の場合は、ステップＳ１７０８へ移行する。
【００６４】
ステップＳ１７０７においては、不図示のデフォルトパターンＤＢからデフォルトパターンを取得して、レイアウトテンプレートのｆｌｏｗ属性に設定し、処理を終了する。例えば、デフォルトパターンが左から右方向であった場合、ｆｌｏｗ属性には当該パターンが設定される。ステップＳ１７０８においては、レイアウトパターンを生成する。レイアウトパターンを生成する処理では、各コンテンツの重心を算出し、算出された重心間を結ぶ直線をレイアウトパターンとする。そして、生成されたレイアウトパターンをレイアウトテンプレートのｆｌｏｗ属性に設定して、処理を終了する。
【００６５】
レイアウトパターンを生成する場合、図１８（ａ）及び図１８（ｂ）に示すように、レイアウトの状態によっては、配置方向が折れ線状になる場合もある。この場合も既存の自動レイアウト技術によってレイアウト処理を行うことができる。具体的には、任意のパスに沿ってコンテンツをレイアウトする技術を用いる。
【００６６】
また、本実施形態では、コンテンツの重心情報を用いて、レイアウトパターンを生成したが、異なる方法を用いてもよい。例えば、複数のレイアウトテンプレートを予め用意しておき、当該レイアウトテンプレートを用いてレイアウト処理を行い、複数のレイアウト結果を生成する。生成された複数のレイアウト結果に対して、レイアウトの評価技術を用いてレイアウトの品質を評価する。そして、評価結果の一番高いレイアウトのもとになったレイアウトテンプレートに設定されているレイアウトパターンを取得するという方法でもよい。
【００６７】
以上、詳細に説明したように本実施形態によれば、論理情報を用いることにより、単一の文書サンプルからレイアウト処理用のレイアウトテンプレートを生成することができる。
【００６８】
（第２の実施形態）
第１の実施形態では、文書作成支援システムにおいて、サンプル文書が指定された場合に動的にレイアウトテンプレートを生成する例を説明した。これに対して本実施形態では、複数のレイアウトテンプレートを保持しておきたい場合などに有効であり、文書テンプレートとサンプル文書とを入力してレイアウトテンプレートを生成する。以下、本実施形態に係る文書作成支援システムについて説明する。
【００６９】
図１９は、本実施形態の概要を示す概念図である。本実施形態では、作成したい文書の文書テンプレート１９０１とレイアウトを流用したいサンプル文書１９０２とをデータベース３０６または外部から入力する。レイアウトテンプレート生成部１９０３は、入力された情報をもとに、レイアウトテンプレート１９０４を生成する。なお、本実施形態に係る文書作成支援システムの機能構成については第１の実施形態と同様であるため、説明は省略する。本実施形態では、第１の実施形態と異なる点についてのみ説明する。
【００７０】
図２０は、本実施形態におけるレイアウトテンプレートを生成する処理手順の一例を示すフローチャートである。
ユーザの操作によりレイアウトテンプレートの作成が指示されると、処理を開始する。そして、ステップＳ２０００において、情報検索部３０２は、文書テンプレート情報３０７または外部から文書テンプレートを入力する。文書テンプレートは、第１の実施形態にて図６で説明したものと同一のものである。すなわち、当該文書テンプレートは、文書種別名６０２、論理情報パス６０３、及びレイアウトテンプレートパス６０４を保持している。
【００７１】
次のステップＳ２００１〜Ｓ２００６はそれぞれ、図１３のステップＳ１３００〜Ｓ１３０５とほぼ同様であるため、詳細な説明は省略する。但し、ステップＳ２００３では、編集中文書ではなく、文書テンプレートに示される論理情報とを比較する。そして、ステップＳ２００６では、ステップＳ２００５で生成された部分テンプレートを、ステップＳ２０００で入力された文書テンプレートに示されるレイアウトテンプレートに合成する。
【００７２】
以上の処理を複数のサンプル文書に対して行うことにより、簡単に複数のレイアウトテンプレートを生成することができる。複数のレイアウトテンプレートを保持しておき、ユーザの操作によりコンテンツが入力されることに応じて複数のレイアウトを生成するシステムでは、レイアウトテンプレートの数が重要になる。特にこのようにレイアウトテンプレートを多数必要とするシステムにおいては、レイアウトテンプレートの生成処理を軽減することができる。
【００７３】
（その他の実施形態）
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【符号の説明】
【００７４】
３０１  入力部、３０２  情報検索部、３０３  レイアウト部
【図１】
2011204176.tif 000003
【図２】
2011204176.tif 000004
【図３】
2011204176.tif 000005
【図４】
2011204176.tif 000006
【図５】
2011204176.tif 000007
【図６】
2011204176.tif 000008
【図７】
2011204176.tif 000009
【図８】
2011204176.tif 000010
【図９】
2011204176.tif 000011
【図１０】
2011204176.tif 000012
【図１１】
2011204176.tif 000013
【図１２】
2011204176.tif 000014
【図１３】
2011204176.tif 000015
【図１４】
2011204176.tif 000016
【図１５】
2011204176.tif 000017
【図１６】
2011204176.tif 000018
【図１７】
2011204176.tif 000019
【図１８】
2011204176.tif 000020
【図１９】
2011204176.tif 000021
【図２０】
2011204176.tif 000022