JP2010097564A - 情報処理装置及びレイアウト処理方法 - Google Patents

情報処理装置及びレイアウト処理方法 Download PDF

Info

Publication number
JP2010097564A
JP2010097564A JP2008270074A JP2008270074A JP2010097564A JP 2010097564 A JP2010097564 A JP 2010097564A JP 2008270074 A JP2008270074 A JP 2008270074A JP 2008270074 A JP2008270074 A JP 2008270074A JP 2010097564 A JP2010097564 A JP 2010097564A
Authority
JP
Japan
Prior art keywords
layout
document
result
unit
template
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2008270074A
Other languages
English (en)
Inventor
Taisuke Ishiguro
泰輔 石黒
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2008270074A priority Critical patent/JP2010097564A/ja
Priority to US12/577,360 priority patent/US8533590B2/en
Publication of JP2010097564A publication Critical patent/JP2010097564A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/131Fragmentation of text files, e.g. creating reusable text-blocks; Linking to fragments, e.g. using XInclude; Namespaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/103Formatting, i.e. changing of presentation of documents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/14Tree-structured documents
    • G06F40/143Markup, e.g. Standard Generalized Markup Language [SGML] or Document Type Definition [DTD]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • G06F40/174Form filling; Merging
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • G06F40/186Templates

Abstract

【課題】装置に処理負荷をかけず、ユーザが所望するレイアウト結果を速やかに提供することを目的とする。
【解決手段】文書を構成する要素である文書構成要素と、文書構成要素のレイアウトに係るレイアウトテンプレートと、に基づいて、レイアウト結果を例示する簡易レイアウトを生成する簡易レイアウト生成手段と、簡易レイアウト生成手段で生成された簡易レイアウトを提示する提示手段と、提示手段で提示された簡易レイアウトからユーザ操作に基づいて簡易レイアウトを選択する選択手段と、選択手段で選択された簡易レイアウトに基づき、レイアウトを実行し、レイアウト結果を生成するレイアウト結果生成手段と、を有することによって課題を解決する。
【選択図】図1

Description

本発明は、情報処理装置及びレイアウト処理方法に関する。
文書レイアウト処理の一例として、予め定められたレイアウト規則に従い、文書を構成する要素(以下、文書構成要素という)(例えば、文章(文字列)や図・表、イメージ等)を自動的にレイアウトする技術が知られている。但し、自動レイアウトの結果が所望のものであるか否かはレイアウト処理を行った後にしかわからない。そのため、所望のレイアウト結果でない場合には、レイアウト結果の大幅な変更や自動レイアウト処理の再実行が必要となる場合があった。このような問題点の改善として、複数のレイアウト規則を用いてレイアウト処理を行い、複数のレイアウト結果を生成する。そして、生成された複数のレイアウト結果からユーザ所望のレイアウト結果若しくは所望するイメージに近いレイアウト結果の選択を可能とする技術も知られている。
特開平5−204899号公報
しかしながら、複数のレイアウト結果を提示する場合、個々のレイアウト結果作成の度にレイアウト処理が必要となるため、処理負荷が大きくなるという問題があった。
本発明はこのような問題点に鑑みなされたもので、装置に処理負荷をかけず、ユーザが所望するレイアウト結果を速やかに提供することを目的とする。
そこで、本発明は、文書を構成する要素である文書構成要素と、文書構成要素のレイアウトに係るレイアウトテンプレートと、に基づいて、レイアウト結果を例示する簡易レイアウトを生成する簡易レイアウト生成手段と、前記簡易レイアウト生成手段で生成された簡易レイアウトを提示する提示手段と、前記提示手段で提示された簡易レイアウトからユーザ操作に基づいて簡易レイアウトを選択する選択手段と、前記選択手段で選択された簡易レイアウトに基づき、レイアウトを実行し、レイアウト結果を生成するレイアウト結果生成手段と、を有することを特徴とする。
また、本発明は、レイアウト処理方法、プログラム及び記憶媒体としてもよい。
本発明によれば、装置に処理負荷をかけず、ユーザが所望するレイアウト結果を速やかに提供することができる。
以下、本発明の実施形態について図面に基づいて説明する。
図1は、複数の情報処理装置101より構成されるネットワークシステムの一例を示す図である。ネットワークシステムには、各種データの伝送媒体となるネットワーク102上に複数の情報処理装置101が接続されている。
図2は、情報処理装置のハードウェア構成の一例を示す図である。CPU(Central Processing Unit)201は、各処理のための演算、論理判断等を行い、バス209を介してそれらのバスに接続された各構成要素を制御する。
ROM(Read Only Memory)202は、読み出し専用の固定メモリであり、CPU201によって実行される処理プログラム等の制御プログラムコードを記憶する。
RAM(Random Access Memory)203は、各構成要素からの各種データの一時記憶に用いられる。
入力装置204は、情報(データ)の入力に用いられる。
表示装置205は、陰極線管CRT(Cathod−Ray Tube)や液晶パネル等であり、表示装置206におけるドット構成の表示パターン及びカーソルの表示を表示装置コントローラ206が制御する。
外部記憶装置207は、種々の情報が格納される。また、これらのデータ及びプログラムを格納する記憶媒体としては、ROM、フロッピーディスク(登録商標)、CD−ROM、DVD−ROM、メモリカード、光磁気ディスク等を用いることができる。
通信装置208は、情報処理装置101をEthernet(登録商標)等のネットワークに接続し、ネットワークシステムにおいて複数の情報処理装置同士を接続する役割を担う。
係る各構成要素からなる情報処理装置101においては、入力装置204からの各種の入力及び通信装置208から提供されるネットワーク経由の各種入力に応じて作動するものである。入力装置204からの入力及び通信装置208からの入力が供給されると、まず、インタラプト信号がCPU201に送られ、CPU201が外部記憶装置207内に記憶してある各種の制御信号(又はプログラム)を読み出し、それらの制御信号に従って、各種の制御が行われる。
<実施形態1>
本実施形態では、図3から図14を用いて情報処理装置101が、第一のレイアウト処理で大まかなレイアウトを決定(レイアウト結果を例示する簡易レイアウトを生成)する。そして、その後、情報処理装置101が、第二のレイアウト処理で精密なレイアウト処理を行う(簡易レイアウトに基づき、レイアウトを実行し、レイアウト結果を生成する)処理の一例について説明を行う。
図3は、本実施形態の概要を示す図である。本実施形態では、情報処理装置101は、紙媒体の文書をスキャンし、スキャンした文書のレイアウトを変更するために、第一のレイアウト処理により変更可能なレイアウトを示す。そして、情報処理装置101は、変更可能なレイアウトから選択されたレイアウトに対して第二のレイアウト処理を行うことで出力する。なお、本実施形態では、情報処理装置101が紙媒体の文書をスキャンするものとして説明を行う。しかしながら、スキャナ又はスキャン機能を有するMFP等からスキャンデータ(文書)を取得したPC等が、第一のレイアウト処理及び第二のレイアウト処理を実行するようにしてもよい。
情報処理装置101は、紙媒体の文書301をスキャナ302(例えば情報処理装置101の入力装置204等)にて読み込み、文書画像化する。次に、情報処理装置101は、文書画像化から文書画像解析処理により文書構成要素303を抽出する。次に、情報処理装置101は、文書構成要素303を用いてレイアウト処理を行い複数の簡易レイアウト結果304を作成する。この複数の簡易レイアウト結果はレイアウトのイメージを示すものであって、文書構成要素間での大きさの調整等、精密なレイアウト処理は行われていない。次に、情報処理装置101は、ユーザの選択操作(ユーザ操作)等に基づいて、複数の簡易レイアウト結果304からレイアウトを選択する。この選択されたレイアウトは、例えば、ユーザの所望するレイアウトイメージに近いレイアウトである。情報処理装置101は、選択されたレイアウトに対して精密なレイアウト処理を行い最終的なレイアウト結果305を得る。情報処理装置101は、精密なレイアウトとして、文書構成要素間での大きさ調整を行い、拡縮・変形等の処理を行う。また、文書構成要素が文字列であれば、情報処理装置101は、精密なレイアウトとして、文字列の並び替え処理等によりレイアウトバランスを整える。
情報処理装置101は、このように複数のレイアウトを生成する段階では、処理負荷の大きい精密なレイアウト処理を行うのではなく、レイアウトイメージが把握可能な簡易レイアウト処理を行う。そして、情報処理装置101は、ユーザが所望するレイアウトイメージにのみ処理負荷の大きな精密なレイアウト処理を行い、全体の処理負荷を軽減させる。なお、より詳細な処理に関しては、後述するフローチャートを用いて説明する。
図4は、情報処理装置101の機能構成の一例を示す図である。図4に示すように、情報処理装置101は、機能構成として、入力部401、文書画像解析部402、文書構成要素格納部403、第一レイアウト部404、第二レイアウト部405、出力部406、テンプレート格納部407を含む。
入力部401は、操作者による入力及び文書画像を受け付ける。
文書画像解析部402は、入力部401から入力された文書画像を解析し、文書構成要素(文字列や画像等)を抽出する。抽出した文書構成要素情報は文書構成要素格納部403を介してRAM203又は外部記憶装置207等に格納する。文書構成要素情報に関しては後述する図8を用いて説明する。
文書構成要素格納部403は、文書画像解析部402により抽出された文書構成要素の情報をRAM203又は外部記憶装置207等に格納し、管理する。
第一レイアウト部404は、文書構成要素格納部403を介してRAM203又は外部記憶装置207等に格納されている文書構成要素と、テンプレート格納部407を介してRAM203又は外部記憶装置207等に格納されているレイアウトテンプレートと、に基づきレイアウト処理を行う。レイアウトテンプレートはテンプレート格納部407によって、文書構成要素数に関連付けられて保持されている。第一レイアウト部404は、文書構成要素格納部403によって管理されている処理対象の文書の文書構成要素の数(文書構成要素数)と関連付けられるレイアウトテンプレート全てに対してレイアウト処理を行う。第一レイアウト部404における処理の詳細は、後述する図9を用いて説明を行う。
第二レイアウト部405は、第一レイアウト部404によるレイアウト結果に基づき、精密なレイアウト処理を行う。前述したが、精密なレイアウトとは文書構成要素に対する変形処理等を含む処理を指す。第二レイアウト部405における処理の詳細は、後述する図13を用いて説明を行う。
出力部406は、第一レイアウト部404及び第二レイアウト部405によるレイアウト結果を出力(又は提示)する(レイアウト結果提示)。
テンプレート格納部407は、レイアウトに関する情報を定めたテンプレートをRAM203又は外部記憶装置207等に記憶し、管理している。後述する図10に示すようにテンプレート格納部407は、テンプレートID1001と文書構成要素数1000とを関連付けたテーブルをRAM203又は外部記憶装置207等に保持し、管理している。例えば、テンプレート格納部407は、文書構成要素数からテンプレートIDを特定し、テンプレートIDを用いて実際のテンプレートデータにアクセスする。例えば、文書構成要素数が2の場合、テンプレートIDが010、011・・・のテンプレートが関連付けられていることがわかる。テンプレートデータは後述する図11のようなXML(Extensible Markup Language)形式で保持されており、例えばテンプレート格納部407は、テンプレートIDを用いてテンプレートデータを参照することができる。テンプレートテーブル及びテンプレートデータの詳細は、後述する図10、図11を用いて説明する。
図5は、本実施形態の処理の概要を示すフローチャートである。
ステップS5000において、文書画像解析部402は、文書画像解析処理を行う。文書解析処理は、文書画像を解析し、文書構成要素の抽出を行う。文書画像解析処理の詳細に関しては、後述する。
ステップS5010において、第一レイアウト部404は、第一レイアウト処理を行う。第一レイアウト部404は、ステップS5000で抽出された文書構成要素に基づき、複数のレイアウトテンプレートを取得し、取得したテンプレートを用いて複数のレイアウトを作成する(簡易レイアウト生成)。第一レイアウト処理の詳細は、後述する図9を用いて説明する。
ステップS5020において、出力部406は、ステップS5010における第一レイアウト処理の結果(簡易レイアウト)を表示装置205等に表示し、ユーザに提示する。図6は、簡易レイアウトの一例を示す図である。
ステップS5030において、入力部410又は第二レイアウト部405は、ユーザの選択操作等に基づいて、ステップS5020で表示された複数のレイアウト(簡易レイアウト)からレイアウト(簡易レイアウト)を選択する。
ステップS5040において、第二レイアウト部405は、ステップS5030で選択された簡易レイアウトに基づいて、第二レイアウト処理を行う。第二レイアウト部405は、ステップS5030で選択された簡易レイアウトに対して、再度レイアウト処理を行う(レイアウト結果生成)。第二レイアウト処理の詳細は、後述する図13を用いて説明する。出力部406は、第二レイアウト処理の結果(レイアウト結果)を表示装置205等に表示し、ユーザに提示する。
次に、図5のステップS5000の文書画像解析処理についてより詳細に説明する。文書画像解析処理とは、画像から意味のあるブロックをかたまりとして認識して、ブロック各々の属性を判定し、異なる属性を持つブロックに分割する処理である。図7は、文書画像解析処理の概念を示す図である。例えば、図7(a)のラスタ画像に対して文書画像解析部402が文書画像解析処理を行なうと、図7(b)のように文字、画像等のブロックとして分割する。
以下、文書画像解析処理の一例を示す。
文書画像解析部402は、入力画像を受け取ると、白黒画像に二値化する。そして、文書画像解析部402は、輪郭線追跡を行い黒画素輪郭で囲まれる画素のかたまりを抽出する。文書画像解析部402は、一定面積以上の黒画素の場合、内部にある白画素に対しても輪郭線追跡を行い白画素のかたまりを抽出する。文書画像解析部402は、抽出した白画素のかたまりが一定面積以上であれば、更に黒画素のかたまりを抽出する。文書画像解析部402は、この抽出処理を、抽出されたかたまりが一定面積以上であれば、再帰的に実行する。
文書画像解析部402は、上記の処理で得られた黒画素のかたまりを大きさ及び形状により様々な属性を持つブロックとして分類する。例えば、文書画像解析部402は、縦横比が1に近いブロックは文字相当の画素のかたまりとし、隣接する文字相当の画素のかたまりが整列されていてグループ化可能な場合は文字列ブロックとする。また、文書画像解析部402は、不定形の画素のかたまりが散在する場合、写真ブロック、それ以外は図形ブロック等に分類する。
文書画像解析部402は、分類したブロックの位置情報や属性等を文書構成要素情報としてRAM203若しくは外部記憶装置207に記憶する。
図8は、文書構成要素の一例を示す図である。
図8に示すように文書構成要素情報は、各構成要素を一意に決定するためのID801、構成要素の属性802(1:文字列、2:図面、3:写真)、構成要素の位置座標803、804(X、Y)、構成要素の外接矩形の幅W805及び高さH806を含む。
構成要素の位置座標803は、原稿画像の左上を原点(0、0)とした場合の位置座標である。構成要素の幅W804及び高さH805は、画素数で表現される。
続いて、図5のステップS5010の第一レイアウト処理について説明する。図9は、第一レイアウト処理の一例を示すフローチャートである。
ステップS9000において、第一レイアウト部404は、レイアウト対象となる文書構成要素数を取得する。文書構成要素は既述したように、文書構成要素格納部403により管理されており、図8に示すような形式で保持、管理されている。
ステップS9010において、第一レイアウト部404は、テンプレート取得を行う。テンプレート取得処理では、第一レイアウト部404は、文書構成要素数からレイアウト可能なテンプレートを特定するテンプレートIDを決定し、テンプレートIDから実際のテンプレートデータへアクセスする。より具体的に説明すると、第一レイアウト部404は、図10に示すテンプレートテーブルを参照し、ステップS9000において取得した文書構成要素の数と対応づけられているテンプレートIDを特定する。例えば、文書構成要素数が5の場合、第一レイアウト部404は、テンプレートIDを050、051、・・・と特定する。そして、第一レイアウト部404は、テンプレートIDを特定した後、図11に示すXMLで記述されたテンプレートデータから該当するテンプレートIDの要素へアクセスすることによりテンプレートデータを取得する。文書構成要素数が5の場合の例では、図11に示すデータ中のID=050、ID=051、・・・である要素が実際のテンプレートデータになる。
ステップS9020において、第一レイアウト部404は、文書構成要素の配置処理を行う。より具体的に説明すると、第一レイアウト部404は、ステップS9010において取得したテンプレートデータに基づき、ステップS9000で取得した文書構成要素を配置する。文書構成要素配置処理の詳細は、後述する図12を用いて説明する。
次に、テンプレートデータ保持方法に関して図10及び図11を用いて説明を行う。
図10は、テンプレートデータと文書構成要素数を関連付けるテンプレートテーブルであり、文書構成要素数1001とテンプレートID1002とから構成される。
文書構成要素数1001は、関連付けられているテンプレートが許容する文書構成要素の数を示している。例えば、文書構成要素数が3に関連付けられているテンプレート(ID=020、021、・・・)は、文書構成要素を3つ配置できることを示している。
テンプレートID1002は、テンプレートデータを一意に特定するための番号であり、テンプレートデータ毎に異なる番号がふられている。例えば、文書構成要素数が3の場合、図10より、テンプレートIDは020、021であることがわかる。
図11は、レイアウト規則が記述されたテンプレートのデータを記載したXMLデータの一例を示す図である。テンプレートデータは、テンプレートデータのルートを示すルート要素1101、テンプレートデータの実体を示すテンプレート要素1102、テンプレートのページに関する情報を示すページ要素1103を含む。また、テンプレートデータは、文書構成要素を配置する場所に関する情報を示すコンテナ要素1104を含む。
ルート要素1101は、複数のテンプレート要素をまとめるためのルート要素であり、XMLデータのルートとなる要素である。言い換えると、テンプレートデータを記載したXMLデータ中にただ一つだけ存在する要素である。ルート要素は、テンプレートデータの実体の総数を示す属性(templates_number)1105を持っている。
テンプレート要素1102はテンプレートデータの実体を示す要素であり、テンプレートを特定するためのテンプレートID(id)1106及びテンプレートで配置可能な文書構成要素数(contents_number)1107を属性として持っている。例えば、テンプレートIDが035のテンプレートは、図11より4つの文書構成要素を配置可能なことがわかる。
ページ要素1103は、テンプレートのページ情報として、レイアウトする領域の幅1108及び高さ1109を持っている。例えば、テンプレートIDが036で示されるテンプレートにおけるページの大きさは高さwww、幅hhhとなる。
コンテナ要素1104は、文書構成要素を配置する位置及び領域の大きさに関する情報を属性として持っている。より具体的に説明すると、コンテナ要素1104は、配置位置として、ページ領域の左上を原点とした配置領域の左上頂点のx座標を示すx属性1110と、y座標を示すy属性1111と、を持つ。また、コンテナ要素1104は、領域の大きさを示す属性として領域の最大サイズ及び最小サイズを持っている。より具体的に説明するとコンテナ要素1104は領域の最小幅を示すmin_width属性1112、最大幅を示すmax_width属性1113、最小高さを示すmin_height属性1114、最大高さを示すmax_height属性1115を持つ。領域サイズの大きさは、ここで定められる範囲で変更可能であり文書構成要素の大きさや各文書構成要素間の関係により調整される。この調整処理は、本実施形態における第二レイアウト処理において行われる処理と同様である。
以上、テンプレートデータの説明を行った。ここでは、テンプレートとして1ページのデータしか例示していないが、ページ数が複数であることを許容してもよい。また、コンテナ要素としては領域の位置と変更可能なサイズ範囲のみを例示したが、領域に複数の文書構成要素を配置することを許すことを示す属性を追加してもよい。複数の文書構成要素配置を許容することに伴い、領域内の文書構成要素の並べ方(例えば、横方向に並べる、縦方向に並べる等)を属性として追加することができる。
続いて、図9ステップS9020の文書構成要素配置処理について説明する。図12は文書構成要素配置処理の一例を示すフローチャートである。
ステップS13000において、第一レイアウト部404は、配置位置取得処理を行う。より具体的に説明すると、第一レイアウト部404は、テンプレートデータ中のコンテナ要素から文書構成要素を配置可能な領域の位置を取得する。領域が複数ある場合(文書構成要素が複数ある場合)は、第一レイアウト部404は、全ての領域に対して取得処理を行う。
ステップS13010において、第一レイアウト部404は、組合せ算出処理を行う。より具体的に説明すると、第一レイアウト部404は、文書構成要素の並び順を考慮した場合の組合せを算出する(順列とも言う)。第一レイアウト部404は、算出結果を、不図示の組合せテーブルに格納する。
組合せ算出処理について一例を用いて説明する。文書構成要素数が3の場合、並び順を考慮した組合せの数は6通りある。文書構成要素がそれぞれ要素1、要素2、要素3である場合を考えると、並び順を考慮した組合せ(6通り)は次のようになる。
(1)要素1、要素2、要素3。(2)要素1、要素3、要素2。(3)要素2、要素1、要素3。(4)要素2、要素3、要素1。(5)要素3、要素1、要素2。(6)要素3、要素2、要素1。
ここでは、各文書構成要素間に並び順の制約がないこととして組合せを算出したが、並び順に制約を設けてもよい。例えば、文書構成要素Aは必ず文書構成要素Bの後に来なければいけないという関係があれば、第一レイアウト部404は、この制約を守る組合せのみを算出してもよい。文書画像解析処理において、文書構成要素間の関係まで抽出できる場合は、このような制約を設けるのが効果的である。このようにすることにより、文字列として抽出された文書構成要素の順番や図とその説明文等の関係を保持したレイアウトのみを作成することができる。
ステップS13020において、第一レイアウト部404は、配置処理を行う。より具体的に説明すると、第一レイアウト部404は、ステップS13000において取得した配置位置に対して、文書構成要素を配置していく。第一レイアウト部404は、文書構成要素の配置順を、組合せテーブルから取得する。第一レイアウト部404は、配置を行った組合せを、組合せテーブルから削除する。
ステップS13030において、第一レイアウト部404は、組合せが残っているか否かを判定する。第一レイアウト部404は、組合せテーブルを参照して、配置処理の終了していない組合せが存在するか否かを判定する。判定の結果、未配置の組合せが存在する場合、第一レイアウト部404は、ステップS13020へ戻る。未配置の組合せが存在しない場合、第一レイアウト部404は、図12に示す処理を終了する。
以上、第一レイアウト処理及び第一レイアウト処理に関連する処理について詳細に説明した。次に、図5のステップS5040の第二レイアウト処理について詳細に説明する。
図13は、第二レイアウト処理の一例を示すフローチャートである。
ステップS12000において、第二レイアウト部405は、テンプレート取得を行う。より具体的に説明すると、第二レイアウト部405は、第一レイアウト処理の結果のうち、ユーザ等によって選択されたレイアウトデータ(簡易レイアウト)に基づき、テンプレートデータを取得する。テンプレートデータは、図11を用いて説明したXML形式のデータである。
ステップS12010において、第二レイアウト部405は、文書構成要素のサイズを取得する。より具体的に説明すると、第二レイアウト部405は、選択された第一のレイアウト処理の結果(簡易レイアウト)にレイアウトされている文書構成要素全てに対してサイズ取得を行う。各文書構成要素のサイズは、図8で示すテーブルに保持されており、このテーブルを参照することにより第二レイアウト部405は、各文書構成要素のサイズを取得する。例えば、各文書構成要素のサイズ図8におけるデータID001のサイズとして、幅W1、高さH1を取得することができる。
ステップS12020において、第二レイアウト部405は、領域レイアウト処理を行う。より具体的に説明すると、第二レイアウト部405は、ステップS12000で取得したテンプレートデータとステップS12010で取得した文書構成要素のサイズとに基づき、実際に各文書構成要素を配置する領域のサイズを算出する。前述したように、テンプレート中には文書構成要素を配置する領域の最大値及び最小値が定められている。第二レイアウト部405は、この最大値、最小値を満たし、文書構成要素のサイズがなるべく変化しないように配置領域のサイズを決定する。この領域レイアウト処理は、既存のレイアウト技術により実現される。
ステップS12030において、第二レイアウト部405は、文書構成要素の配置処理を行う。より具体的に説明すると、第二レイアウト部405は、ステップS12020で算出された領域に対して文書構成要素を配置する。文書構成要素配置処理の詳細は、以下、図14を用いて説明する。
図14は、図13のステップS12030の文書構成要素配置処理の一例を示すフローチャートである。
ステップS14000において、第二レイアウト部405は、文書構成要素の種別判定を行う。より具体的に説明すると、第二レイアウト部405は、文書構成要素が文字列であるか否かの判定を行う。図8の説明において先に述べたように、文書構成要素は属性を持っている。第二レイアウト部405は、この属性に基づき文字列か否かの判定処理を行う。判定の結果、文字列である場合、第二レイアウト部405は、ステップS14010へ移行する。文字列でない場合、第二レイアウト部405は、ステップS14030へ移行する。
ステップS14010において、第二レイアウト部405は、文字列である文書構成要素を個々の文字画像へ分割する。より具体的に説明すると、第二レイアウト部405は、OCR等の処理で従来から知られている文字画像切り出し処理を用いて行う。例えば、文書構成要素が"二段階のレイアウト処理"という文字列を示す画像データである場合、第二レイアウト部405は、"二"、"段"、"階"、"の"、"レ"、"イ"、"ア"、"ウ"、"ト"、"処"、"理"という文字画像に分割する。
ステップS14020において、第二レイアウト部405は、文字画像のレイアウトを行う。より具体的に説明すると、第二レイアウト部405は、ステップS14010において分割された文字画像を配置領域にレイアウトする。例えば、第二レイアウト部405は、文字画像を領域に対して順番に配置していくことによりレイアウトを実現することができる。領域内に収まらない場合、第二レイアウト部405は、全ての文字画像を同じ割合で縮小し、領域に収まるようにすればよい。また、領域が余る場合、第二レイアウト部405は、全ての文字画像を同じ割合で拡大し、領域の余白を最小化することもできる。
なお、第二レイアウト部405は、文字画像に対して文字認識処理を行い、レイアウト時に組版規則を適用することも可能である。この場合、第二レイアウト部405は、別途組版規則を保持しておき文字画像配置時に制約として適用することとなる。組版規則の適用により、例えば行頭に"。"等の句読点が配置されるということを防ぐことができる。
また、第二レイアウト部405は、文字画像を画像のままレイアウトせず、OCRによる文字認識の結果に基づき、コンピュータで管理されるフォントデータを用いてレイアウト処理を行うようにしてもよい。本実施形態において文字認識処理を用いなかったのは、一般に文字認識処理では誤認識があるためである。本実施形態では、誤認識の影響を最小限にするために文字画像のままレイアウト処理を行っている。
ステップS14030において、第二レイアウト部405は、文書構成要素のアスペクト変更が必要か否かを判定する。より具体的に説明すると、第二レイアウト部405は、文字列以外の文書構成要素のアスペクト比と配置領域のアスペクト比とを比べることにより、アスペクト比を変更しなくても配置領域に収まるか否かを判定する。例えば、文書構成要素のアスペクト比が4:3であり、配置領域のアスペクト比が3:4であれば、アスペクト比が異なるため、第二レイアウト部405は、文書構成要素のアスペクト比を維持したまま配置することができないと判定する。
判定の結果、アスペクト比の変更が不要な場合、第二レイアウト部405は、ステップS14040へ移行する。変更が必要な場合、第二レイアウト部405は、ステップS14050へ移行する。
ステップS14040において、第二レイアウト部405は、文書構成要素を拡縮して配置領域へ配置する。より具体的に説明すると、第二レイアウト部405は、配置領域のサイズまで文書構成要素を拡大若しくは縮小することにより行う。例えば、配置領域の幅が100で高さが150で、文書構成要素の幅が300、高さが450であれば、第二レイアウト部405は、文書構成要素の幅を100、高さを150へ縮小する。
ステップS14050において、第二レイアウト部405は、文書構成要素からオブジェクト検出を行う。オブジェクト検出処理によってもオブジェクトが検出されなかった場合、第二レイアウト部405は、文書構成要素の中心をオブジェクトとして設定する。
なお、第二レイアウト部405は、既存の技術を用いてオブジェクトを検出する。既存の技術としては、例えば、人物が写った写真から顔領域を検出する技術等がある。複数のオブジェクト検出技術を用いる場合、例えば、第二レイアウト部405は、個々のオブジェクト検出技術(オブジェクト検出方法)に優先度を設けておく。そして、第二レイアウト部405は、優先度の高い方法順でオブジェクト検出処理を行い、オブジェクトが検出された場合は処理を終了するようにしてもよい。
ステップS14060において、第二レイアウト部405は、ステップS14050にて検出されたオブジェクトを中心として配置領域のサイズに文書構成要素をクリッピングし、クリッピングされた文書構成要素を配置する。例えば、文書構成要素(画像)から顔が検出されていた場合、第二レイアウト部405は、顔を中心にしてクリッピング処理し、顔が中心にクリッピングされた画像を配置する。ステップS14050においてオブジェクトが検出されていなかった場合、第二レイアウト部405は、文書構成要素の中心がオブジェクトとして設定されているので文書構成要素の中心をクリッピング領域の中心とする。
このようにオブジェクト検出に基づくクリッピングを行うことで、ある程度意味を持つクリッピングが可能となる。例えば、画像を領域へ配置する場合、画像と領域の形状及びサイズが異なれば、画像に対して拡縮若しくはクリッピングを行う必要がある。アスペクト比の変更を伴う拡縮は、画像の印象を大きく変えてしまうため好ましくない。そこで、クリッピングを行うことになるが、クリッピングする位置を単純に決めておく場合、画像中のオブジェクトを分断する形でクリッピングされてしまう。画像の中心をクリッピングの中心として単純な処理を行った場合、人物の顔部分が半分に分断されてしまう等の現象が生じてしまう。第二レイアウト部405が、オブジェクトを検出し、検出結果に基づきクリッピングすることで、オブジェクトの分断等を防ぐことができる。
以上、図14を用いて第二レイアウト処理における文書構成要素の配置について詳細に説明した。ここでは、文書構成要素の種別により配置方法を変更することで文書構成要素の特性を活用したレイアウトを可能にしている。例えば、文字列は画像に比べ柔軟なレイアウトが可能である。文字列は改行位置を変更するだけでさまざまな形状の領域に配置することができる。より具体的に説明すると、改行位置を変えることで縦長の領域にも横長の領域にも対応可能である。一方、画像等の場合は領域形状に対する柔軟性が低い。縦長の画像を横長の領域に配置する場合は、アスペクト比を変更して拡縮するか、クリッピング処理を行わなくてはならない。
また、オブジェクト検出を用いたクリッピングにより、クリッピングの必要性が生じた場合もオブジェクトを中心としてクリッピングを行うことが可能である。クリッピングにおいてオブジェクトの分断を削減する効果がある。
以上、図3から図14までの図を用いて処理負荷を削減したレイアウト方法の説明を行った。第一レイアウト部404は、処理負荷の比較的少ない処理のみを実施し、レイアウトイメージを確認できる程度の簡易なレイアウトを生成した。そして、ユーザは、簡易レイアウトから所望のイメージに近いレイアウトを選択する。第二レイアウト部405は、選択されたレイアウトに対して処理負荷の大きな処理を行うことで、レイアウト処理全体の処理負荷を削減することができる。
本実施形態では、2つのレイアウト処理を用いて、全体の処理負荷を削減したが、任意数のレイアウト処理を用いても処理負荷を削減することができる。
<その他の実施形態>
また、本発明の目的は、以下のようにすることによって達成される。即ち、上述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体(又は記録媒体)を、システム或いは装置に供給する。そして、そのシステム或いは装置の中央演算処理手段(CPUやMPU)が記憶媒体に格納されたプログラムコードを読み出し実行する。この場合、記憶媒体から読み出されたプログラムコード自体が上述した実施形態の機能を実現することになり、そのプログラムコードを記録した記憶媒体は本発明を構成することになる。
また、システム或いは装置の前記中央演算処理手段が読み出したプログラムコードを実行することにより、そのプログラムコードの指示に基づき、システム或いは装置上で稼働しているオペレーティングシステム(OS)等が実際の処理の一部又は全部を行う。その処理によって上述した実施形態の機能が実現される場合も含まれる。
更に、記憶媒体から読み出されたプログラムコードが、前記システム或いは装置に挿入された機能拡張カードや、接続された機能拡張ユニットに備わるメモリに書込まれたとする。その後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるCPU等が実際の処理の一部又は全部を行い、その処理によって上述した実施形態の機能が実現される場合も含まれる。
本発明を前記記憶媒体に適用する場合、その記憶媒体(コンピュータ読み取り可能な記憶媒体)には、先に説明したフローチャートに対応するプログラムコードが格納されることになる。
以上、上述した各実施形態によれば、装置に処理負荷をかけず、ユーザが所望するレイアウト結果を速やかに提供することができる。
以上、本発明の好ましい実施形態について詳述したが、本発明は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
複数の情報処理装置101より構成されるネットワークシステムの一例を示す図である。 情報処理装置101のハードウェア構成の一例を示す図である。 本実施形態の概要を示す図である。 情報処理装置101の機能構成の一例を示す図である。 本実施形態の処理の概要を示すフローチャートである。 簡易レイアウトの一例を示す図である。 文書画像解析処理の概念を示す図である。 文書構成要素の一例を示す図である。 第一レイアウト処理の一例を示すフローチャートである。 テンプレートデータと文書構成要素数を関連付けるテンプレートテーブルの一例を示す図である。 レイアウト規則が記述されたテンプレートのデータを記載したXMLデータの一例を示す図である。 文書構成要素配置処理の一例を示すフローチャートである。 第二レイアウト処理の一例を示すフローチャートである。 図13のステップS12030の文書構成要素配置処理の一例を示すフローチャートである。
符号の説明
101 情報処理装置

Claims (8)

  1. 文書を構成する要素である文書構成要素と、文書構成要素のレイアウトに係るレイアウトテンプレートと、に基づいて、レイアウト結果を例示する簡易レイアウトを生成する簡易レイアウト生成手段と、
    前記簡易レイアウト生成手段で生成された簡易レイアウトを提示する提示手段と、
    前記提示手段で提示された簡易レイアウトからユーザ操作に基づいて簡易レイアウトを選択する選択手段と、
    前記選択手段で選択された簡易レイアウトに基づき、レイアウトを実行し、レイアウト結果を生成するレイアウト結果生成手段と、
    を有することを特徴とする情報処理装置。
  2. 前記簡易レイアウト生成手段は、文書を構成する要素である文書構成要素と、文書構成要素のレイアウトに係るレイアウトテンプレートと、に基づいて、レイアウト結果を例示する複数の簡易レイアウトを生成することを特徴とする請求項1に記載の情報処理装置。
  3. 前記提示手段は、更に、前記レイアウト結果生成手段で生成されたレイアウト結果を提示することを特徴とする請求項1又は2に記載の情報処理装置。
  4. 情報処理装置におけるレイアウト処理方法であって、
    文書を構成する要素である文書構成要素と、文書構成要素のレイアウトに係るレイアウトテンプレートと、に基づいて、レイアウト結果を例示する簡易レイアウトを生成する簡易レイアウト生成ステップと、
    前記簡易レイアウト生成ステップで生成された簡易レイアウトを提示する提示ステップと、
    前記提示ステップで提示された簡易レイアウトからユーザ操作に基づいて簡易レイアウトを選択する選択ステップと、
    前記選択ステップで選択された簡易レイアウトに基づき、レイアウトを実行し、レイアウト結果を生成するレイアウト結果生成ステップと、
    を有することを特徴とするレイアウト処理方法。
  5. 前記簡易レイアウト生成ステップでは、文書を構成する要素である文書構成要素と、文書構成要素のレイアウトに係るレイアウトテンプレートと、に基づいて、レイアウト結果を例示する複数の簡易レイアウトを生成することを特徴とする請求項4に記載のレイアウト処理方法。
  6. 前記レイアウト結果生成ステップで生成されたレイアウト結果を提示するレイアウト結果提示ステップを更に有することを特徴とする請求項4又は5に記載のレイアウト処理方法。
  7. コンピュータを、
    文書を構成する要素である文書構成要素と、文書構成要素のレイアウトに係るレイアウトテンプレートと、に基づいて、レイアウト結果を例示する簡易レイアウトを生成する簡易レイアウト生成手段と、
    前記簡易レイアウト生成手段で生成された簡易レイアウトを提示する提示手段と、
    前記提示手段で提示された簡易レイアウトからユーザ操作に基づいて簡易レイアウトを選択する選択手段と、
    前記選択手段で選択された簡易レイアウトに基づき、レイアウトを実行し、レイアウト結果を生成するレイアウト結果生成手段と、
    して機能させることを特徴とするプログラム。
  8. 請求項7に記載のプログラムを記憶したコンピュータにより読み取り可能な記憶媒体。
JP2008270074A 2008-10-20 2008-10-20 情報処理装置及びレイアウト処理方法 Pending JP2010097564A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2008270074A JP2010097564A (ja) 2008-10-20 2008-10-20 情報処理装置及びレイアウト処理方法
US12/577,360 US8533590B2 (en) 2008-10-20 2009-10-12 Information processing apparatus and layout processing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008270074A JP2010097564A (ja) 2008-10-20 2008-10-20 情報処理装置及びレイアウト処理方法

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2013240251A Division JP2014053040A (ja) 2013-11-20 2013-11-20 情報処理装置、情報処理方法及びプログラム

Publications (1)

Publication Number Publication Date
JP2010097564A true JP2010097564A (ja) 2010-04-30

Family

ID=42109598

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008270074A Pending JP2010097564A (ja) 2008-10-20 2008-10-20 情報処理装置及びレイアウト処理方法

Country Status (2)

Country Link
US (1) US8533590B2 (ja)
JP (1) JP2010097564A (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5219928B2 (ja) * 2009-06-03 2013-06-26 キヤノン株式会社 編集装置及び編集方法、プログラム
US9349130B2 (en) * 2010-11-17 2016-05-24 Eloqua, Inc. Generating relative and absolute positioned resources using a single editor having a single syntax
JP5269050B2 (ja) * 2010-12-07 2013-08-21 シャープ株式会社 表示処理装置及び表示処理方法
US10296933B2 (en) * 2013-04-12 2019-05-21 Facebook, Inc. Identifying content in electronic images

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005128925A (ja) * 2003-10-27 2005-05-19 Seiko Epson Corp 文書編集システム、文書編集プログラム及び文書編集方法

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05204899A (ja) 1990-12-28 1993-08-13 Mitsubishi Electric Corp 文書レイアウト装置
US5381523A (en) * 1992-04-06 1995-01-10 Fuji Xerox Co., Ltd. Document processing device using partial layout templates
JP4154976B2 (ja) * 2002-09-24 2008-09-24 セイコーエプソン株式会社 レイアウトシステム、プログラム
JP4089655B2 (ja) * 2003-09-16 2008-05-28 セイコーエプソン株式会社 レイアウトシステムおよびレイアウトプログラム、並びにレイアウト方法
JP4111519B2 (ja) * 2004-08-31 2008-07-02 キヤノン株式会社 レイアウト処理方法、情報処理装置及びコンピュータプログラム
JP4332480B2 (ja) * 2004-08-31 2009-09-16 キヤノン株式会社 レイアウト調整方法及び装置並びにプログラム
JP4250577B2 (ja) * 2004-08-31 2009-04-08 キヤノン株式会社 情報処理装置、情報処理方法、ならびにプログラム
JP4298642B2 (ja) * 2004-12-14 2009-07-22 キヤノン株式会社 レイアウト処理方法およびレイアウト処理装置およびレイアウト処理プログラム
JP4510653B2 (ja) * 2005-01-31 2010-07-28 キヤノン株式会社 レイアウト決定方法及び装置並びにプログラム
JP4095617B2 (ja) * 2005-02-28 2008-06-04 キヤノン株式会社 文書処理装置及び文書処理方法及びコンピュータプログラム
JP4241647B2 (ja) * 2005-03-04 2009-03-18 キヤノン株式会社 レイアウト制御装置、レイアウト制御方法及びレイアウト制御プログラム
JP4208858B2 (ja) * 2005-05-11 2009-01-14 キヤノン株式会社 レイアウト処理方法およびレイアウト処理装置およびレイアウト処理プログラム
US20070079236A1 (en) * 2005-10-04 2007-04-05 Microsoft Corporation Multi-form design with harmonic composition for dynamically aggregated documents
JP2007334510A (ja) * 2006-06-13 2007-12-27 Canon Inc 自動レイアウトシステム及び方法
US8862986B2 (en) * 2007-10-01 2014-10-14 Hewlett-Packard Development Company, L.P. Arranging graphic objects on a page with relative position based control

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005128925A (ja) * 2003-10-27 2005-05-19 Seiko Epson Corp 文書編集システム、文書編集プログラム及び文書編集方法

Also Published As

Publication number Publication date
US8533590B2 (en) 2013-09-10
US20100100811A1 (en) 2010-04-22

Similar Documents

Publication Publication Date Title
US8780117B2 (en) Display control apparatus and display control method capable of rearranging changed objects
US7844896B2 (en) Layout-rule generation system, layout system, layout-rule generation program, layout program, storage medium, method of generating layout rule, and method of layout
US8718364B2 (en) Apparatus and method for digitizing documents with extracted region data
US8819545B2 (en) Digital comic editor, method and non-transitory computer-readable medium
US8952989B2 (en) Viewer unit, server unit, display control method, digital comic editing method and non-transitory computer-readable medium
US20070003139A1 (en) Data processing apparatus, data processing method, and computer program
JPH11272871A (ja) 文書画像処理装置、文書画像処理方法、及び記録媒体
JP2012203458A (ja) 画像処理装置及びプログラム
US20130326341A1 (en) Digital comic editor, method and non-transitorycomputer-readable medium
US20030202716A1 (en) Image processing apparatus, method, and system
US8269791B2 (en) Information processing apparatus and method for processing a vector image composed of a plurality of objects described by structured document data
US9189459B2 (en) Document image layout apparatus
JP2017151916A (ja) 情報処理装置、情報処理方法、及びプログラム
US8533590B2 (en) Information processing apparatus and layout processing method
JP2008234147A (ja) 文書画像表示装置、文書画像表示方法及び文書画像表示プログラム
JP2021157645A (ja) 情報処理装置、画像読取装置、及びプログラム
JP2014053040A (ja) 情報処理装置、情報処理方法及びプログラム
JP6322086B2 (ja) 表示制御装置、表示装置、プログラム、記録媒体
JPH0612540B2 (ja) 文書作成支援装置
JP5612975B2 (ja) セリフデータ生成装置、セリフデータ生成方法、及びプログラム
JP5528410B2 (ja) ビューワ装置、サーバ装置、表示制御方法、電子コミック編集方法及びプログラム
JP5612974B2 (ja) セリフチェック装置、セリフチェック方法、及びプログラム
KR20200045447A (ko) 문자 인식을 위한 영상 전처리 장치 및 방법
JP2001255867A (ja) 任意のデータ構造のフォントデータを用いた文字列の描画を可能にする文字列描画装置及び文字列描画方法
JP5361315B2 (ja) 情報処理装置及び情報処理方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20111020

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130314

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130326

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130501

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20130820