JP5663866B2 - 情報処理装置及び情報処理プログラム - Google Patents

情報処理装置及び情報処理プログラム Download PDF

Info

Publication number
JP5663866B2
JP5663866B2 JP2009275746A JP2009275746A JP5663866B2 JP 5663866 B2 JP5663866 B2 JP 5663866B2 JP 2009275746 A JP2009275746 A JP 2009275746A JP 2009275746 A JP2009275746 A JP 2009275746A JP 5663866 B2 JP5663866 B2 JP 5663866B2
Authority
JP
Japan
Prior art keywords
page
heading
paragraph
character
document
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.)
Active
Application number
JP2009275746A
Other languages
English (en)
Other versions
JP2011065621A (ja
Inventor
木村 俊一
俊一 木村
久保田 聡
聡 久保田
宋 一憲
一憲 宋
関野 雅則
雅則 関野
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.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox Co Ltd
Fujifilm Business Innovation Corp
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 Fuji Xerox Co Ltd, Fujifilm Business Innovation Corp filed Critical Fuji Xerox Co Ltd
Priority to JP2009275746A priority Critical patent/JP5663866B2/ja
Priority to US12/716,829 priority patent/US8824798B2/en
Publication of JP2011065621A publication Critical patent/JP2011065621A/ja
Application granted granted Critical
Publication of JP5663866B2 publication Critical patent/JP5663866B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/40Document-oriented image-based pattern recognition
    • G06V30/41Analysis of document content
    • G06V30/414Extracting the geometrical structure, e.g. layout tree; Block segmentation, e.g. bounding boxes for graphics or text

Description

本発明は、情報処理装置及び情報処理プログラムに関する。
複数の文書から対象とする文書を検索するために、文書にタイトル等を付与する技術がある。
これに関連する技術として、例えば、特許文献1には、入力されたイメージ文書データから、文章のタイトル領域を自動的に抽出する手段を提供することを目的とし、イメージ文書上の指定された矩形領域について、イメージ・データについての例えば水平方向への射影をとり、当該射影値が所定のしきい値範囲内にある横行が所定個数連続するところを、タイトル領域として抽出することが開示されている。
また、例えば、特許文献2には、文書の画像を入力し、そのタイトルや著者名などの書誌事項からなる論理構造を認識する場合に、論理構造を簡易な処理で的確に認識することを目的とし、文書画像を画像分割手段により複数の要素に分割し、領域検出手段により特定の要素を書誌事項が位置する書誌領域として検出し、構造認識手段により書誌領域から書誌事項を抽出して論理構造を認識し、文書画像の書誌領域のみを論理構造の認識対象とすることで、論理構造を簡易な処理で的確に認識することが開示されている。
また、例えば、特許文献3には、文書を画像データに変換して得られる文書画像から容易にタイトル部分を抽出することを課題とし、タイトル抽出装置は、文書画像内の黒画素を走査し、それらが連結している領域に外接する矩形領域を文字矩形として抽出し、さらに、隣接する複数の文字矩形を統合して、それらの文字矩形に外接する矩形領域を文字列矩形として抽出し、次に、各文字列矩形の下線属性、枠付き属性、罫線属性等の属性と、文書画像内の文字列矩形の位置や相互の位置関係とに基づいて、タイトルらしさのポイント計算を行い、高ポイントを獲得した文字列矩形をタイトル矩形として抽出し、また、表形式の文書の場合、表内からタイトル矩形を抽出することもでき、抽出されたタイトル矩形内の文字は、認識処理後に文書画像のキーワードとして用いられることが開示されている。
また、例えば、特許文献4には、特定の文書形式に依存せずにタイトル固有の特徴をポイントとして用いることにより、ポイント数の多い文字列領域をタイトルとして自動抽出し、タイトル抽出の的確性及び文書検索時の利便性を向上させることを課題とし、領域識別部で切り出された文字列矩形に対し、該文字列矩形内の文字認識を行う文字認識部と、上記文字列矩形に対し、該文字列矩形内の各文字毎のフォント識別を行うフォント識別部と、文字認識部の認識結果で得られる文字コードに基づいて自然言語的タイトルらしさを解析する自然言語解析部と、上記文字列矩形に対し、センタリング・下線・文字矩形の大きさ等を用いてタイトルらしさのポイント付けを行うポイント付部と、を備えた文書画像からのタイトル領域抽出装置が開示されている。
特開平05−274471号公報 特開平08−287189号公報 特開平09−134406号公報 特開2000−148788号公報
本発明は、ページ内における文書構成要素の位置が固定された文書を対象として、その文書のアウトラインを生成するようにした情報処理装置及び情報処理プログラムを提供することを目的としている。
かかる目的を達成するための本発明の要旨とするところは、次の各項の発明に存する。
請求項1の発明は、ページ内における文書構成要素の位置が固定されており、文字画像を含む文書を受け付ける文書受付手段と、前記文書受付手段によって受け付けられた文書をページ毎に分割するページ分割手段と、前記文書内の文字画像を文字認識する文字認識手段と、前記ページ分割手段によって分割されたページ内から該ページの見出しを決定するページ見出し決定手段と、前記ページ見出し決定手段によって決定された見出しを前記ページ分割手段によって分割されたページの第1レベルのアウトライン情報として該ページに付与する処理を行う処理手段を具備し、前記ページ見出し決定手段は、1ページ毎に前記文字認識手段による認識結果内の文字列を、ページ見出し候補として登録し、該ページにおける該登録処理における2回目以降においては、登録済みの第1のページ見出し候補と、今回抽出した第2のページ見出し候補のいずれかをページ見出しとして登録し、
前記第1のページ見出し候補と第2のページ見出し候補のいずれかをページ見出しとして登録するかは、次のいずれか又はこれらの組み合わせによって行う
(1)前記第2のページ見出し候補の文字の大きさが、前記第1のページ見出し候補の文字の大きさに予め定められた閾値を乗算した結果よりも大きい場合は、該第2のページ見出し候補をページ見出しとして登録すること、
(2)前記第2のページ見出し候補において、文字認識が失敗したときに出現しやすい記号の割合が予め定められた閾値よりも大きい場合は、該第2のページ見出し候補をページ見出しとして登録しないこと、
(3)前記第2のページ見出し候補の文字の位置が予め定められた位置の範囲内にある場合に、該第2のページ見出し候補をページ見出しとして登録すること、
(4)前記第2のページ見出し候補の文字の色が予め定められた色の範囲内にある場合に、該第2のページ見出し候補をページ見出しとして登録すること
を特徴とする情報処理装置である。
請求項の発明は、前記分割手段によって分割されたページを段落に分割する段落分割手段と、前記段落分割手段によって分割された段落内から該段落の見出しを決定する段落見出し決定手段をさらに具備し、前記処理手段は、前記段落見出し決定手段によって決定された見出しを前記ページ分割手段によって分割されたページの第2レベルのアウトライン情報として該ページに付与することを特徴とする請求項1に記載の情報処理装置である。
請求項の発明は、前記段落見出し決定手段は、前記文字認識手段による認識結果、前記文字画像の位置、色、大きさのいずれか一つ以上を用いて、前記ページ又は前記段落の見出しを決定することを特徴とする請求項2に記載の情報処理装置である。
請求項の発明は、前記ページ分割手段によって分割されたページのページ番号を生成するページ番号生成手段をさらに具備し、前記ページ見出し決定手段は、前記ページ番号生成手段によって生成されたページ番号を付加して前記ページの見出しを決定することを特徴とする請求項1からのいずれか一項に記載の情報処理装置である。
請求項の発明は、前記段落分割手段によって分割された段落の段落番号を生成する段落番号生成手段をさらに具備し、前記段落見出し決定手段は、前記段落番号生成手段によって生成された段落番号を付加して前記段落の見出しを決定することを特徴とする請求項2、請求項3、又は請求項2若しくは請求項3に従属する請求項4のいずれか一項に記載の情報処理装置である。
請求項の発明は、前記文書受付手段は、複数のページを有する文書を受け付け、前記処理手段は、前記ページ見出し決定手段によって決定されたページの見出しの属性又は前記段落見出し決定手段によって決定された段落の見出しの属性を抽出する属性抽出手段と、前記属性抽出手段によって抽出されたページの見出しの属性又は段落の見出しの属性に基づいて、複数ページ間における階層構造を決定する階層構造決定手段を具備することを特徴とする請求項2、請求項3、請求項5、又は請求項2若しくは請求項3に従属する請求項4のいずれか一項に記載の情報処理装である。
請求項の発明は、前記階層構造決定手段は、ページ毎に順次階層構造を決定していくことを特徴とする請求項に記載の情報処理装置である。
請求項の発明は、コンピュータを、ページ内における文書構成要素の位置が固定されており、文字画像を含む文書を受け付ける文書受付手段と、前記文書受付手段によって受け付けられた文書をページ毎に分割するページ分割手段と、前記文書内の文字画像を文字認識する文字認識手段と、前記ページ分割手段によって分割されたページ内から該ページの見出しを決定するページ見出し決定手段と、前記ページ見出し決定手段によって決定された見出しを前記ページ分割手段によって分割されたページの第1レベルのアウトライン情報として該ページに付与する処理を行う処理手段として機能させ、前記ページ見出し決定手段は、1ページ毎に前記文字認識手段による認識結果内の文字列を、ページ見出し候補として登録し、該ページにおける該登録処理における2回目以降においては、登録済みの第1のページ見出し候補と、今回抽出した第2のページ見出し候補のいずれかをページ見出しとして登録し、
前記第1のページ見出し候補と第2のページ見出し候補のいずれかをページ見出しとして登録するかは、次のいずれか又はこれらの組み合わせによって行う
(1)前記第2のページ見出し候補の文字の大きさが、前記第1のページ見出し候補の文字の大きさに予め定められた閾値を乗算した結果よりも大きい場合は、該第2のページ見出し候補をページ見出しとして登録すること、
(2)前記第2のページ見出し候補において、文字認識が失敗したときに出現しやすい記号の割合が予め定められた閾値よりも大きい場合は、該第2のページ見出し候補をページ見出しとして登録しないこと、
(3)前記第2のページ見出し候補の文字の位置が予め定められた位置の範囲内にある場合に、該第2のページ見出し候補をページ見出しとして登録すること、
(4)前記第2のページ見出し候補の文字の色が予め定められた色の範囲内にある場合に、該第2のページ見出し候補をページ見出しとして登録すること
を特徴とする情報処理プログラムである。
請求項1の情報処理装置によれば、ページ内における文書構成要素の位置が固定された文書を対象として、その文書のアウトラインを生成できる。また、文書の構成要素として大きな単位であるページを識別するためのページ見出しにおいて、文字認識が失敗した可能性の高い文字認識結果をページ見出しとして採用してしまうことを抑制することができる。
請求項の情報処理装置によれば、ページの見出しの他に段落の見出しを含めた文書のアウトラインを生成できる。
請求項の情報処理装置によれば、文書が文字画像を含む場合であっても、その文書のアウトラインを生成できる。
請求項の情報処理装置によれば、文書のアウトラインにおいてページの見出しがないという状態を抑制することができる。
請求項の情報処理装置によれば、文書のアウトラインにおいて段落の見出しがないという状態を抑制することができる。
請求項の情報処理装置によれば、複数のページを有する文書を対象とする場合にあって、複数ページ間における階層構造を決定することができる。
請求項の情報処理装置によれば、複数ページ間における階層構造を順次決定することができる。
請求項の情報処理プログラムによれば、ページ内における文書構成要素の位置が固定された文書を対象として、その文書のアウトラインを生成できる。また、文書の構成要素として大きな単位であるページを識別するためのページ見出しにおいて、文字認識が失敗した可能性の高い文字認識結果をページ見出しとして採用してしまうことを抑制することができる。
第1の実施の形態の構成例についての概念的なモジュール構成図である。 第1の実施の形態による処理例を示すフローチャートである。 第1の実施の形態のページ処理モジュールによって処理が行われた文書と文書フォーマット処理モジュールによる出力文書のフォーマットの例を示す説明図である。 第1の実施の形態による出力文書の表示例を示す説明図である。 第2の実施の形態による処理例を示すフローチャートである。 第3の実施の形態の構成例についての概念的なモジュール構成図である。 第3の実施の形態による処理例を示すフローチャートである。 第3の実施の形態による出力文書のフォーマットの例を示す説明図である。 第3の実施の形態による出力文書の表示例を示す説明図である。 第3の実施の形態の段落分割処理モジュールの構成例についての概念的なモジュール構成図である。 ライン認識処理モジュールによるラインの抽出処理例を示す説明図である。 ライン認識処理モジュールによるラインの抽出処理例を示す説明図である。 ライン特徴算出モジュールによるライン特徴の抽出処理例を示す説明図である。 第3の実施の形態による段落の認識処理例を示すフローチャートである。 段落情報の更新に関する処理例を示す説明図である。 第3の実施の形態による段落登録の可否処理例を示すフローチャートである。 左右のずれによって段落登録が行われない場合の例を示す説明図である。 文字サイズによって段落登録が行われない場合の例を示す説明図である。 同じ行に複数行がある状態例を示す説明図である。 段落統合処理モジュールによる段落の統合処理例を示すフローチャートである。 文字情報の補正の処理例を示す説明図である。 第4の実施の形態の文書フォーマット処理モジュールの構成例についての概念的なモジュール構成図である。 第3の実施の形態による出力文書の例を示す説明図である。 タイトル・階層テーブルのデータ構造例を示す説明図である。 タイトル・属性値テーブルのデータ構造例を示す説明図である。 第4の実施の形態の階層処理モジュールによる処理例を示すフローチャートである。 タイトル・階層テーブルのデータ構造例を示す説明図である。 第4の実施の形態によるアウトラインビューア表示領域の例を示す説明図である。 第5の実施の形態による処理例を示すフローチャートである。 階層・属性テーブルのデータ構造例を示す説明図である。 階層・属性テーブルのデータ構造例を示す説明図である。 第1〜5の実施の形態を実現するコンピュータのハードウェア構成例を示すブロック図である。
以下、図面に基づき本発明を実現するにあたっての好適な各種の実施の形態の例を説明する。
<第1の実施の形態>
図1は、第1の実施の形態の構成例についての概念的なモジュール構成図を示している。
なお、モジュールとは、一般的に論理的に分離可能なソフトウエア(コンピュータ・プログラム)、ハードウェア等の部品を指す。したがって、本実施の形態におけるモジュールはコンピュータ・プログラムにおけるモジュールのことだけでなく、ハードウェア構成におけるモジュールも指す。それゆえ、本実施の形態は、コンピュータ・プログラム、システム及び方法の説明をも兼ねている。ただし、説明の都合上、「記憶する」、「記憶させる」、これらと同等の文言を用いるが、これらの文言は、実施の形態がコンピュータ・プログラムの場合は、記憶装置に記憶させる、又は記憶装置に記憶させるように制御するの意である。また、モジュールは機能に一対一に対応していてもよいが、実装においては、1モジュールを1プログラムで構成してもよいし、複数モジュールを1プログラムで構成してもよく、逆に1モジュールを複数プログラムで構成してもよい。また、複数モジュールは1コンピュータによって実行されてもよいし、分散又は並列環境におけるコンピュータによって1モジュールが複数コンピュータで実行されてもよい。なお、一つのモジュールに他のモジュールが含まれていてもよい。また、以下、「接続」とは物理的な接続の他、論理的な接続(データの授受、指示、データ間の参照関係等)の場合にも用いる。
また、システム又は装置とは、複数のコンピュータ、ハードウェア、装置等がネットワーク(一対一対応の通信接続を含む)等の通信手段で接続されて構成されるほか、一つのコンピュータ、ハードウェア、装置等によって実現される場合も含まれる。「装置」と「システム」とは、互いに同義の用語として用いる。「予め定められた」とは、対象としている処理の前に定まっていることをいい、本実施の形態による処理が始まる前はもちろんのこと、本実施の形態による処理が始まった後であっても、対象としている処理の前であれば、そのときの状況・状態に応じて、又はそれまでの状況・状態に応じて定まることの意を含めて用いる。
本実施の形態である情報処理装置は、ページ内における文書構成要素の位置が固定された文書を受け付けて、その文書のアウトラインを生成するものであって、図1の例に示すように、ページ処理モジュール110、ページタイトル決定処理モジュール120、文書フォーマット処理モジュール130を有している。
ここで、アウトラインについて説明する。
背景技術で説明した技術は、複数の文書の中から対象とする文書を検索するものである。
一方、ワードプロセッサや、PDF(Portable Document Format)(登録商標)などの文書を表示するソフトウエアにはアウトライン、又は、しおりと呼ばれる機能(以下、アウトライン機能と呼ぶ)がある。アウトライン機能は複数の文書の中から文書を検索するための機能ではなく、一つの文書の中にある1あるいは複数のページの中から、所望の場所を検索するための機能である。
このアウトライン機能は、木構造を持った章立てを表示するものである(以下、木構造を持った章立てのことをアウトラインと呼ぶ)。アウトラインは、文書をページや段落(部、章、節、項等を含む)単位の“かたまり”として管理するための書式であり、文書の表示、その文書内における検索等に用いられるものである。ソフトウエアにも依存するが、一般にアウトライン上の段落のテキストはハイパーテキストとなっている。そのため、アウトライン上の段落のテキスト(例えば、段落の見出し)をクリックすると、それに対応する段落の本文を表示するようになっている。このようなアウトライン機能は、主に、文書を閲覧する場合に用いられる。木構造としては部、章、節、項等は一例であって、最も上のレベルが部ではなく、章や節であってもよい。
なお、文書とは、テキストデータ、場合によっては画像、動画、音声等の電子データ、又はこれらの組み合わせであり、記憶、編集及び検索等の対象となり、システム又は利用者間で個別の単位として交換できるものをいい、これらに類似するものを含む。
次に、「ページ内における文書構成要素の位置が固定された文書」について説明する。
一般にワードプロセッサなどでは、編集中においては、対象としてテキストコード列(さらに、各種の編集情報を含む場合もある)があるのみであり、紙に印刷されたような固定したページの概念がない。そして、編集が終了し、最終的に各ページにテキストや図が割り当てられることになる。例えば、ワードプロセッサにおいて、テキストを入力した後で、出来上がりの紙サイズを変更すると、ページの内容が変化する。つまり、このような文書は、「ページ内における文書構成要素の位置が変化してしまう文書」である。
これに対して、ポストスクリプトやPDF等の文書では、ページ毎に独立に内容を記述するため、ページの内容が変化しない。つまり、「ページ内における文書構成要素の位置が固定された文書」である。より具体的には、あるページに記載されている文書構成要素が、文書編集(特に文字列を追加する編集等)によって別のページに移ってしまうことがない文書である。ポストスクリプトやPDFの他に、1あるいは複数の画像データから構成される文書の場合もページの内容が変化しない。画像データとは、TIFF(Tagged Image File Format)、JPEG(Joint Photographic Experts Group)、GIF(Graphic Interchange Format)等のフォーマットからなるラスタ画像データのことを指す。1枚の画像を1ページとすることができる。さらに、マルチページTIFFなどのように、一つのファイル内に複数枚数のラスタ画像データを包含するフォーマットも、ページの内容が変化しない文書である。
ページ処理モジュール110は、ページタイトル決定処理モジュール120、文書フォーマット処理モジュール130と接続されており、ページ内における文書構成要素の位置が固定された文書を受け付ける。「ページ内における文書構成要素の位置が変化してしまう文書」を受け付けた場合は、「ページ内における文書構成要素の位置が固定された文書」に変換する。もちろん、「ページ内における文書構成要素の位置が固定された文書」を受け付けた場合は、変換は不要であるが、受け付けた文書のフォーマットとは異なる「ページ内における文書構成要素の位置が固定された文書」のフォーマットに変換するようにしてもよい。以下、受け付ける文書としてマルチページTIFFを例示して説明する。
ページ処理モジュール110は、受け付けた文書をページ毎に分割する。例えば、受け付けたマルチページTIFFを1又は複数のラスタ画像に分割する。そして、分割されたページのページ番号を生成する。例えば、画像の順番にページ番号を振ってもよいし、画像内のページ番号を文字認識するようにしてもよい。ページ処理モジュール110からページタイトル決定処理モジュール120、文書フォーマット処理モジュール130への出力は、ページ番号とそのページ番号に対応するページ情報(例えば、1ページ分の画像)である。例えば、図3(A)に示すように、ページ番号が付与された1ページ目の画像300−1、2ページ目の画像300−2・・・Nページ目の画像300−Nを出力する。
ページタイトル決定処理モジュール120は、ページ処理モジュール110、文書フォーマット処理モジュール130と接続されている。ページ処理モジュール110によって分割されたページ内からそのページのタイトルを決定する。例えば、具体的には、1ページの画像を受け取って、その画像のタイトル(ページタイトル)を決定する。ページタイトルの決定方法は、背景技術で説明した特許文献1から4に示されている方法を用いてもよい。
文書フォーマット処理モジュール130は、ページ処理モジュール110、ページタイトル決定処理モジュール120と接続されている。ページタイトル決定処理モジュール120によって決定されたページのタイトルをページ処理モジュール110によって分割されたページの第1レベルのアウトライン情報とし、ページ処理モジュール110によって生成されたページ番号を該ページに付与する処理を行う。例えば、ページのタイトルを木構造の第1レベル(前述の例では「部」)とし、ページ番号にしたがって、PDFフォーマットの文書に変換する。
より具体的には、例えば、ページ番号とページタイトルをそれぞれページ処理モジュール110、ページタイトル決定処理モジュール120から受け取り、これを用いてページタイトルを第1レベルのアウトラインとするメタ情報を文書フォーマットに付与する。それとともに、ページ情報(1ページ分の画像)をページ処理モジュール110から受け取り、その画像を出力用の文書フォーマットに変換する処理を行う。
一例として、ここではPDFフォーマットを出力文書フォーマットとする。PDFでは、複数ページの文書を作成することが可能である。そして、各ページの内容をJPEG画像フォーマットで格納することができる。さらに、アウトライン機能として、アウトライン情報を画像情報とは別に持つことができる。このようなPDFを出力文書フォーマットとした場合の例を図3(B)に示す。出力文書フォーマットとして、図3(B)に例示するように、その文書全体(Nページからなる文書)のPDF制御情報を先頭にし、その後にページ毎に1ページ目からNページ目までの画像情報(例えば、JPEG)311、その他のPDF制御情報312(ページ毎のPDF制御情報)の組を付与し、その後に各ページのタイトルを格納した第1レベルアウトライン321とアウトラインに関するその他のPDF制御情報322の組を付与する。
図2は、第1の実施の形態による処理例を示すフローチャートである。
ステップS202では、ページ処理モジュール110が、文書を受け付ける。
ステップS204では、ページ処理モジュール110が、ページ毎の画像に分割する。
ステップS206では、ページ処理モジュール110が、ページ毎にページ番号を付与する。
ステップS208では、ページタイトル決定処理モジュール120が、ページ毎にページタイトルを決定する。
ステップS210では、ページタイトル決定処理モジュール120が、最終ページまで終了したか否かを判断する。最終ページまで終了した場合はステップS212へ進み、それ以外の場合はステップS208へ戻る。
ステップS212では、最終ページまでページタイトルが決定された後に、文書フォーマット処理モジュール130が、文書フォーマット処理を行い、その文書を出力する。
このように作成された文書は、そのフォーマットに適した文書ビューアを用いて、図4に例示するような表示が行われる。
文書ビューアは文書ビューア表示領域400内に、アウトラインビューア表示領域410、ページ画像表示領域420を表示する。この文書ビューアにおいては、ページ画像表示領域420に各ページの画像を表示する。さらに、文書ビューアのオプションとしてアウトラインビューアを持っている。アウトラインビューアを開くと、各ページのタイトルをアウトラインビューア表示領域410に表示する。このアウトラインビューア表示領域410内のテキスト(ページのタイトル)が利用者の操作(クリック等)によって選択されると、ページ画像表示領域420に表示されているページを選択されたページに変更する。つまり、ページのタイトルを第1レベルのアウトラインとすることにより、このような処理が行えるようになる。
<第2の実施の形態>
前述の第1の実施の形態では、ページのタイトルを求めるのに背景技術で説明した特許文献に記載の技術を用いた。しかし、それらの技術は文書のタイトルを取得する手法であるため、ページタイトルを取得するには必ずしも適さない場合がある。
そこで、本実施の形態では、ページのタイトル取得に適した手法を示す。
図5は、第2の実施の形態のページタイトル決定処理モジュール120による処理例を示すフローチャートである。なお、ページ処理モジュール110が受け付ける文書は、主として画像であり、ページタイトルも文字画像である場合を例示している。そして、ページタイトル決定処理モジュール120は、文字認識モジュールを含んでいる。文字認識モジュールは、文書内の文字画像を文字認識する。
この処理を行う前に、文字認識モジュールが文書内の文字画像を認識する。また、この処理は1ページ毎に行う。複数ページある場合は、そのページ数の回数だけ、この処理を行うこととなる。文字認識結果は、文字認識結果である文字コードが順番に並んでおり、ステップS504でその順番に取り出される。順番として、例えば、横書きの場合は左から右へ、縦書きの場合は上から下へである。なお、文書画像解析によって、横書き、縦書きを判定する。
ステップS502では、ページタイトルの文字列長の変数を0とする。
ステップS504では、その文字認識処理結果から次の1文字分の文字コード(つまり、対象とする文字コード)を取り出す。文字列長を計数するために、文字列長の変数に1を加える。
ステップS506では、文字認識処理結果の文字列が終了したか否かを判断する。文字列が終了した場合はステップS508へ進み、それ以外の場合はステップS504へ戻る。
文字列が終了したか否かを判断する方法としては、以下のようなものがある。
(A)認識結果の文字コード
(A1)改行コード(「CR(Carriage Return)」、「LF(Line Feed)」など)を検出した段階で文字列が終了したとする。
(A2)句読点(「、」、「。」等)を検出した段階で文字列が終了したとする。
(B)文字画像の位置(ここでの文字画像とは、文字認識による一つの認識結果に対応する文字画像をいい、いわゆる1文字分の文字画像である)
次の文字との相対位置が予め定めておいた閾値より大であるときに文字列が終了したとする。ここで、「相対位置が大」とは、横方向又は縦方向の文字位置の差分とする。又は、「相対位置が大」とは、横方向かつ縦方向の文字位置の差分とする。ページタイトルが他の文字とは異なる位置で表現されている場合(例えば、他の文字よりも左方向に寄っている等)に対応するものである。なお、この場合、文字認識モジュールは、文字認識結果として、文字コードの他に、文字位置も出力する。
(C)文字画像の色
次の文字との色の差が予め定めておいた閾値よりも大であるときに文字列が終了したとする。ページタイトルが他の文字とは異なる色で表現されている場合に対応するものである。ここで、「色の差」とは、RGB3次元空間のユークリッド距離、YCbCr空間のユークリッド距離、その他の色差計算手法による距離を用いてもよい。なお、この場合、文字認識モジュールは、文字認識結果として、文字コードの他に、その文字の色も出力する。
(D)文字画像の大きさ
次の文字との大きさの相対的な差が予め定めておいた閾値よりも大であるときに文字列が終了したとする。ページタイトルが他の文字とは異なる大きさで表現されている場合に対応するものである。なお、この場合、文字認識モジュールは、文字認識結果として、文字コードの他に、その文字のサイズ(縦と横の画素数、ポイント数等)も出力する。
ステップS508では、文字列長が十分か否かを判断する。文字列長が十分の場合はステップS510へ進み、それ以外の場合はステップS512へ進む。文字列長が十分か否かの判断とは、文字列長の変数が予め定められた閾値以上であるか否かを判断することである。
ステップS510では、ページタイトル候補登録処理を行う。
一度も登録されていない場合(そのページおいて、ステップS510が最初に処理される場合)は、無条件に登録する。既に登録されている場合は、既登録済みの候補と、今回抽出した新候補のどちらがページタイトルとしてふさわしいかを判断して、ページタイトルとしてふさわしい方を登録する。
例えば、以下のような方法がある。
新候補の文字の大きさが既登録済み候補よりも、α倍以上大きいときに限り、新候補をページタイトル候補として登録する。ここでαは予め定めておいた閾値である。例えば、α=1.5等の数値を用いる。
又は、文字認識が失敗したときに出現しやすい記号(例えば、カンマ記号)などを登録しておいて、そのような記号の割合が閾値よりも大である場合、その文字列は登録しない処理を行ってもよい。
又は、新候補の文字の位置が予め定められた位置の範囲内(例えば、横書きの場合は予め定められた位置よりも上方向にあること、縦書きの場合は予め定められた位置よりも右方向にあること等)にある場合に登録するようにしてもよい。
又は、新候補の文字の色が予め定められた色の範囲内(例えば、黒以外の色、予め定められた色等)にある場合に登録するようにしてもよい。
なお、これらの方法を組み合わせて判断してもよい。例えば、新候補の文字の大きさと位置で判断するようにしてもよい。
ステップS512では、全文字(そのページにおける文字認識結果)が入力済みか否かを判断する。入力済みの場合はステップS514へ進み、それ以外の場合はステップS502へ戻る。
ステップS514では、ステップS510で登録されているページタイトルを出力する。ここでページタイトルが未登録の場合には、例えば空白文字列を出力すればよい。
<第3の実施の形態>
前述の実施の形態では第1レベルのアウトライン情報を付与していたが、第3の実施の形態は、ページ内をさらに段落に分割して、第2レベルのアウトライン情報を抽出、付与してもよい。第2レベルのアウトライン情報としては、例えば、前述した「章」のレベルのものを指している。第3の実施の形態においては、段落のタイトルが該当する。
図6は、第3の実施の形態の構成例についての概念的なモジュール構成図である。図1に例示した第1、第2の実施の形態のモジュールと同等のものは、その旨を示し、重複した説明を省略する。
第3の実施の形態は、図6の例に示すように、ページ処理モジュール610、ページタイトル決定処理モジュール620、段落分割処理モジュール630、段落タイトル決定処理モジュール640、文書フォーマット処理モジュール650を有している。
ページ処理モジュール610は、ページタイトル決定処理モジュール620、段落分割処理モジュール630、文書フォーマット処理モジュール650と接続されている。図1に例示したページ処理モジュール110と同等である。ただし、ページ情報をページタイトル決定処理モジュール620、文書フォーマット処理モジュール650の他に段落分割処理モジュール630へも渡す。
ページタイトル決定処理モジュール620は、ページ処理モジュール610、文書フォーマット処理モジュール650と接続されている。図1に例示したページタイトル決定処理モジュール120と同等である。
段落分割処理モジュール630は、ページ処理モジュール610、段落タイトル決定処理モジュール640、文書フォーマット処理モジュール650と接続されている。ページ処理モジュール610からページ情報を受け取り、そのページを段落に分割して、その分割された段落の段落番号を生成する。そして、段落番号を段落タイトル決定処理モジュール640、文書フォーマット処理モジュール650へ渡し、段落情報(例えば、1ページ内の分割された段落の画像)を段落タイトル決定処理モジュール640へ渡す。
段落分割処理モジュール630内のモジュール構成、その処理内容について、図10から図21を用いて説明する。
図10は、第3の実施の形態の段落分割処理モジュール630の構成例についての概念的なモジュール構成図である。
以下、行又は列をラインと称する。また、横書きの文書を対象とした場合を主に説明する。したがって、横書きの場合の行の高さ又は縦書きの場合の列の幅として、行の高さを主に例示して説明する。
また、画素塊とは、4連結又は8連結で連続する画素領域を少なくとも含み、これらの画素領域の集合をも含む。これらの画素領域の集合とは、4連結等で連続した画素領域が複数あり、その複数の画素領域は近傍にあるものをいう。ここで、近傍にあるものとは、例えば、互いの画素領域が距離的に近いもの、文章としての1行から1文字ずつ切り出すように縦又は横方向に射影し、空白地点で切り出した画像領域、又は予め定められた間隔で切り出した画像領域等がある。例えば、文字認識処理を行って、1文字として認識された画像を一つの画素塊としてもよい。
なお、一つの画素塊として、1文字の画像となる場合が多い。本実施の形態では、画素塊のことを文字又は文字画像ともいう。
本実施の形態は、図10に例示するように、ライン認識処理モジュール1010、ライン特徴算出モジュール1020、段落認識処理モジュール1030、段落統合処理モジュール1040、文字情報補正処理モジュール1050を有している。
ライン認識処理モジュール1010は、ライン特徴算出モジュール1020と接続されており、文字情報データを用いて、その文書内の行又は列であるラインを抽出し、その抽出したラインに関する情報をライン特徴算出モジュール1020へ渡す。
ライン認識処理モジュール1010について、より詳細に説明する。
ライン認識処理モジュール1010は、文字情報データを受け付ける。ここでいう文字情報データとは、ページ処理モジュール610から受け取ったページ情報を用いて段落分割処理モジュール630が生成するものであり、文書内の画素塊の矩形に関する情報を少なくとも含む。矩形に関する情報としては、例えば、文字外接矩形情報(その文書内の座標値(絶対座標値又は相対座標値のいずれであってもよい))、フォント情報(文字形状情報)であってもよい。また、画素塊に対応している文字の認識順序に関する情報(文字認識モジュールによって認識順に順序付けられた番号)が含まれていてもよい。例えば、文書中における文字の座標(例えば、文字を囲む外接矩形の左上座標)、文字の大きさを表す外接矩形サイズ(外接矩形幅、高さ)、文字形状、文字コード、文字の順序情報、縦書き文字なのか横書き文字なのかを表す情報などである。本実施の形態では、これらの文字情報データを文字認識モジュールから受け取った場合について説明する。ただし、文字認識モジュールに限る必要はなく、文字の外接矩形を受け取って、同等の文字情報データを生成するようにしてもよい。
次にライン認識処理モジュール1010は、受け付けた文字情報データに基づいて、文書内のラインを抽出する。例えば、横書きの場合、外接矩形の高さ方向の位置(y座標)を用いて、その外接矩形を含むラインである各行の高さを抽出する。縦書きの場合、外接矩形の幅方向の位置(x座標)を用いて、その外接矩形を含むラインである各列の幅を抽出する。より詳細な例について、図11、図12に行抽出の手法例を示す。
図11は、ライン認識処理モジュール1010が外接矩形の座標値に基づいて行を認識する手法の例を示している。
ライン認識処理モジュール1010は、図11(a)の例に示すように、注目文字情報データの外接矩形(注目外接矩形1112)の左上y座標(upper_y)が、その一つ前の文字情報データの外接矩形(注目外接矩形1111)の左下y座標(lower_y)より小さいときは(upper_y<lower_y)、その注目文字情報データの外接矩形(注目外接矩形1112)は、注目外接矩形1111と同じ行であると認識する。なお、左上を原点(0,0)として、x座標は右方向へ、y座標は下方向へ向かうと数値が増える座標系である。
また、図11(b)の例に示すように、注目文字情報データの外接矩形(注目外接矩形1122)の左上y座標(upper_y)が、その一つ前の文字情報データの外接矩形(注目外接矩形1121)の左下y座標(lower_y)より大きいときは(lower_y<upper_y)、異なる行であると認識する。
そして、同じライン内にあると認識された文字情報データの列をライン特徴算出モジュール1020へ渡す。
なお、受け付けた文字情報データは、文字画像の外接矩形の出現順序(例えば、横書きの場合は、左上から右へ走査し、次の行ではまた左から右へ走査した順番に並んでいる)となっているので、一つ前の文字情報データの外接矩形とは、出現順序で一つ前である。また、外接矩形の左上の座標を用いてソートしてもよい。
図12は、ライン認識処理モジュール1010が外接矩形間の距離に基づいて行を認識する手法の例を示している。
ライン認識処理モジュール1010は、図12(a)の例に示すように、注目文字情報データの外接矩形(注目外接矩形1203)と、その一つ前の文字情報データの外接矩形(外接矩形1202)との外接矩形間距離1211(以下、現外接矩形間距離ともいう)が、現在処理している行において、既に同一行であると認識された各外接矩形間の距離の平均値(以下、平均外接矩形間距離ともいう)をα倍した値以下である場合は(つまり、現外接矩形間距離≦平均外接矩形間距離×αを満たす場合)、注目外接矩形1203は外接矩形1202と同じ行であると認識する。なお、αは、ライン認識パラメータであり、予め定められた値である。例えば、文字情報データに応じて定められる。
また、図12(b)の例に示すように、注目文字情報データの外接矩形(注目外接矩形1223)と、その一つ前の文字情報データの外接矩形(外接矩形1222)との外接矩形間距離1231が、現在処理している行における平均外接矩形間距離をα倍した値より大である場合は(現外接矩形間距離>平均外接矩形間距離×α)、注目外接矩形1223は外接矩形1222とは異なる行であると認識する。
ライン特徴算出モジュール1020は、ライン認識処理モジュール1010、段落認識処理モジュール1030と接続されており、行高列幅算出モジュール1021、矩形間距離算出モジュール1022を有している。ライン認識処理モジュール1010により同じラインと認識された文字情報データを受け取り、そのラインに関する特徴を算出し、その算出したラインに関する情報を段落認識処理モジュール1030へ渡す。行高列幅算出モジュール1021は行の高さを算出し、矩形間距離算出モジュール1022は矩形間の距離を算出する。
つまり、ライン認識処理モジュール1010によって同じ行と認識された文字情報データ列から行高さ、行幅、行外接矩形座標、平均外接矩形間距離などのラインに関する特徴を算出する。
ライン特徴算出モジュール1020は、同じ行に属する文字情報データの外接矩形を含む矩形を求める。例えば、図13の例に示すように、同一行内の外接矩形1301から外接矩形1319を囲む矩形である行外接矩形1350を求める。そして、行外接矩形座標として、図13の例に示すように行外接矩形の左上(min_x, min_y)、右下(max_x, max_y)を求める。
また、行高列幅算出モジュール1021は、行高さ(h)を先に求めた行外接矩形座標を用いて、h = max_y − min_y として求める。同様に、行幅(w)を行外接矩形座標を用いて、w = max_x − min_x として求める。これらの行高さ、行幅は、各外接矩形のサイズ(高さ、幅)又はその座標を用いて求める。
また、矩形間距離算出モジュール1022は、平均文字外接矩形間距離を、同じ行に属する隣接する文字情報データの外接矩形間距離g0, g1, ……, gnの平均値として求める。また、最大外接矩形間距離max_gを、g0, g1, ……, gnのうちの最大値として求める。なお、リストデータとしてg0, g1, …… , gnのそれぞれの値も保持するようにしてもよい。
段落認識処理モジュール1030は、ライン特徴算出モジュール1020、段落統合処理モジュール1040と接続されており、ライン認識処理モジュール1010で認識された各行、それら各行についてライン特徴算出モジュール1020で算出されたライン特徴量から、文書内の段落を抽出し、その段落に関する情報を算出する。また、横書きの場合、段落の抽出は、ライン認識処理モジュール1010によって抽出された各行の高さ及びそのラインの座標(高さ方向の位置(y座標))を用いて行うようにしてもよい。縦書きの場合、段落の抽出は、ライン認識処理モジュール1010によって抽出された各列の幅及びそのラインの座標(幅方向の位置(x座標))を用いて行うようにしてもよい。また、ライン認識処理モジュール1010によって抽出されたラインと、処理対象としている段落との位置関係に基づいて段落を抽出するようにしてもよい。また、その抽出した段落に関する情報として、その段落を囲む外接矩形の位置に関する情報を算出してもよく、又はその段落の順序に関する情報をその段落に含まれる文字の出現順序に関する情報から算出するようにしてもよい。また、横書きの場合、同一行に属するラインが複数存在する場合には、そのラインを順序付けするようにしてもよい。縦書きの場合、同一列に属するラインが複数存在する場合には、そのラインを順序付けするようにしてもよい。段落を囲む外接矩形の位置に関する情報として、例えば、段落外接矩形の左上角の座標値、段落外接矩形の幅、高さ等がある。また、段落認識処理モジュール1030は、それが認識した段落に関する情報として、その段落に含まれるラインの高さ又は幅(横書きの場合は各行の高さ、縦書きの場合は各列の幅)を用いて、その段落の代表値を算出するようにしてもよい。段落の代表値として、より具体的には、横書きの場合、同一段落として認識された段落内に含まれている行のうち、最も行高さが大きい値をいう。縦書きの場合、同一段落として認識された段落内に含まれている列のうち、最も列幅が大きい値をいう。
図14は、第3の実施の形態による段落の認識処理例を示すフローチャートである。つまり、段落認識処理モジュール1030が行う処理例を示すものである。
ステップS1402では、まず初めにライン認識処理モジュール1010で認識された行に関して、行外接矩形のy座標値であるmin_y値で昇順にソートする。
ステップS1404では、ステップS1402でソートされた行を全て探索(ステップS1406からステップS1414までの処理)したか否かを判定する。全て探索されていればステップS1416に、探索が終了していなければステップS1406に処理を移す。
ステップS1406では、注目する行(以降は、現探索行ともいう)をソート順に選択する。
ステップS1408では、現探索行に関して段落に登録されているか否かを判定する。現探索行が段落に登録されているならば処理をステップS1404に戻し、登録されていなければステップS1410に処理を移す。
ステップS1410では、現探索行が現段落における最初の登録行か否かを判定する。現探索行が現段落における最初の登録行であれば処理をステップS1414に移し、最初の登録行でなければステップS1412に処理を移す。
ステップS1412では、現段落に対して現探索行が登録できるか否かを判定する。現探索行が現段落に登録可能ならば処理をステップS1414に移し、登録できないならば処理をステップS1404に戻す。なお、ステップS1412における現探索行の登録可否処理の詳細は、図16を用いて後で詳しく説明する。
ステップS1414では、現段落に対して、最初の登録行であるか、又は登録可能な行であると、それぞれステップS1410又はステップS1412で判定されている現探索行を現段落に登録し、段落に関する情報を算出又は更新する。その後、処理をステップS1404に移す。
ここで、図15に段落に関する情報の具体的な例を示す。段落に関する情報として、例えば、その段落の位置情報(例えば、左上座標及び右下座標)、段落順序値(その段落を読む際の順序)を含む。段落認識処理モジュール1030は、図15の例に示すように、段落に登録されている行情報(登録行情報)を用いて、段落に登録された全ての行の行外接矩形(登録行0 1500から登録行8 1508)を含む矩形を段落外接矩形1510として、その左上座標(min_x, min_y)及び右下座標(max_x, max_y)を算出する。また図15には図示していないが、同一段落に登録された各行のうち、最も行高さが大きい値max_hを算出し、段落代表値とする。同一段落に登録された文字情報データ中で最も小さい文字認識順序の値min_orderを算出し、段落順序値とする。
次に、段落に関する情報の更新について説明する。段落認識処理モジュール1030は、本ステップにおいて、現段落に新たな行を登録する場合は、先述の段落外接矩形座標及び段落順序値を更新する。図15に示す具体例では、新たに処理対象とする行を登録行8 1508とすると、その登録行8 1508の行外接矩形の幅は、現段落外接矩形座標の幅(min_x, max_x)内に収まっているので、min_x及びmax_xは更新せず、max_yだけ更新する(図15では、更新前max_yから更新後max_yへ更新する)。さらに、現段落の段落代表値と新たに登録される登録行8 1508の行高さを比較して、現段落の段落代表値より登録行8 1508の行高さが大きい場合には段落代表値max_hも更新する。つまり、登録行8 1508の行高さを段落代表値max_hとし、段落代表値max_hをその段落内で最も大きい行高さとする。さらに、現段落順序値と新たに登録される登録行8 1508中の全ての文字情報データの文字認識順序値を比較して、現段落順序値よりも小さい値がある場合には、段落順序値min_orderをその小さい値(文字認識順序値)に更新する。
ステップS1416では、ステップS1404でソート順に行の探索を終了しているので、現段落に登録すべき行は全て登録しているとして現段落の抽出処理を終了する。
ステップS1418では、全ての行が段落登録されたかを判定する。全ての行がいずれかの段落に登録されていれば段落抽出処理を終了する(ステップS1499)。いずれの段落にも登録されていない行がある場合には、ステップS1404に処理を戻し、次の段落抽出処理を行う。
次に、図14の例に示したフローチャートのステップS1412において、段落認識処理モジュール1030が処理する現探索行の登録可否処理例の詳細について、図16の例に示すフローチャートを用いて説明する。
ステップS1602において、現探索行が現段落の段落外接矩形に対して、右又は左にずれているかを判定する。つまり、現探索行の左端が現段落の右端より右にあるか否か、又は現探索行の右端が現段落の左端より左にあるか否かを判定する。例えば、図17(a)の例に示すように、現探索行1712が現段落1710より右にずれているか否か、又は図17(b)の例に示すように、現探索行1732が現段落1730よりも左にずれているか否かを判定する。現探索行が図17の例のように右あるいは左にずれている場合には、現探索行は現段落に登録せず、図14の例に示したステップS1404に処理を戻す。それ以外の場合は、ステップS1604に処理を移す。
ステップS1604において、現探索行と現段落に登録された行の文字サイズ(行高さを含む)に基づいて、その現探索行を登録すべきか否かを判定する。つまり、現探索行が現段落内の登録行より文字サイズが大きいか小さいかを判定する。例えば、ステップS1604における文字サイズの判定は、図18の例に示すように行高さを用いて行う。つまり、現段落1820,1850に既に登録された各行(行1800から行1808、行1830から行1838)の平均行高さと現探索行1810,1840の行高さを比較して、図18(a)の例に示すように、現探索行1810の行高さが平均行高さより予め定められた量より大きい場合、又は図18(b)の例に示すように、現探索行1840の行高さが平均行高さより予め定められた量より小さい場合は、現探索行1810,1840は現段落1820,1850に登録せず、図14の例に示したステップS1404に処理を戻す。それ以外の場合は、ステップS1606に処理を移す。
ステップS1606において、現探索行が現段落の段落外接矩形に対して、下にずれたか否かを判定する。つまり、図15の例に示した現段落の段落外接矩形1510のmax_y(図15では更新後max_y)と図13の例に示した現探索行の行外接矩形1350のmin_yとを比較して、max_y ≦ min_yなら処理をステップS1608に移し、max_y > min_yなら図14の例に示したステップS1414に処理を移して、現探索行を現段落に登録し、段落に関する情報を更新する。
ステップS1608において、ステップS1604と同様に現段落に登録された各行の平均行高さと現探索行の行高さを比較して、現探索行の行高さが平均行高さより予め定められた量より大きい場合、又は現探索行の行高さが平均行高さより予め定められた量より小さい場合は、現探索行は現段落に登録せず、図14の例に示したステップS1404に処理を戻す。それ以外の場合は、ステップS1610に処理を移す。
ステップS1610において、現探索行と現段落の行間と現段落に既に登録された各行の行間とを比較する。つまり、現段落に既に登録された各行の行間の平均値と現探索行と現段落の段落外接矩形との距離(min_y − max_y)を比較して、その差分が予め定められた量より大きい場合は行間が広がったと判定して現探索行は現段落に登録せず、図14の例に示したステップS1404に処理を戻す。前記差分が予め定められた量より小さい場合は、行間は一定であると判定して、ステップS1612に処理を移す。
ステップS1612において、現探索行の一つ前の同一行に登録行が複数あるか否かを判定し、同一行に複数登録行がある場合は、行外接矩形のx座標値であるmin_x値で昇順にソートする。ここで、同一行とは、行外接矩形のy座標が現探索行のそれと予め定められた範囲内にある行であって、ライン認識処理モジュール1010では別々の行であると認識されたが、段落認識処理モジュール1030による現段落の生成過程において、現探索行よりも前に登録された行(複数の場合もあり得る)のことをいう。ここで、y座標が予め定められた範囲内にあるとは、その段落において1行が存在するy座標の範囲内にあることをいう。同一行に複数登録行がない場合はそのまま図14の例に示したステップS1414に処理を移して、現探索行を現段落に登録し、段落に関する情報を更新する。図19の例は、同一行上に3つの登録行(登録行1910、登録行1911、登録行1912)がある場合を表しており、この図19の例では前記3つの登録行の行外接矩形の各x座標値である、「min_x」:登録行1910、「min_x」:登録行1911、「min_x」:登録行1912を用いて昇順でソートを行う。ソート処理終了後、図14の例に示したステップS1414に処理を移して、現探索行を現段落に登録し、段落に関する情報を更新する。
段落統合処理モジュール1040は、段落認識処理モジュール1030、文字情報補正処理モジュール1050と接続されており、段落認識処理モジュール1030によって抽出された段落を統合して、その段落に関する情報を算出する。そして、その算出した段落に関する情報を文字情報補正処理モジュール1050に渡す。
より具体的に説明すると、段落統合処理モジュール1040は、段落認識処理モジュール1030で認識された段落を、各段落の段落代表値(max_h)を用いて統合する。
図20は、段落統合処理モジュール1040が行う段落の統合処理例を示すフローチャートである。
ステップS2002において、段落認識処理モジュール1030で認識された全ての段落の段落代表値max_hの差分値を算出し、その差分値が最小となる2つの段落を抽出する(このときの差分値を以下では「差分最小値」ともいう)。
ステップS2004において、ステップS2002で算出された差分最小値を予め定めた閾値と比較する。前記差分最小値が予め定めた閾値より大きい場合(ステップS2004でNO)は、これ以上統合すべき段落はないと判断して、段落統合処理モジュール1040における段落統合処理を終了する(ステップS2099)。前記差分最小値がある所定の閾値より小さい場合(ステップS2004でYES)は、ステップS2006に処理を移す。
ステップS2006において、ステップS2002で差分最小値であるとして抽出された2つの段落を統合する。ここでいう段落の統合とは、段落代表値が近い段落同士であることを示すために、例えば2つの段落の段落に関する情報に同じ識別番号などを付与あるいは追加するという意味である。
ステップS2008において、ステップS2006において統合された段落の段落代表値max_hを、統合元の2つの段落の段落代表値の大きい方で設定し、処理をステップS2002に戻す。つまり、統合後の段落の段落代表値max_hを、元の段落の段落代表値max_hのうち大きい値とする。
このように段落統合処理モジュール1040は、前述したように、ステップS2002で算出する差分最小値がステップS2004において予め定めた閾値より大きくなるまでステップS2002からステップS2008の統合処理を繰り返して段落を統合する。
文字情報補正処理モジュール1050は、段落統合処理モジュール1040と接続されており、段落統合処理モジュール1040で統合された段落中のラインである行の高さ及びラインを構成する画素塊間の間隔に基づいて、その統合された段落内の画素塊を囲む矩形の位置及び大きさを算出して、ライン認識処理モジュール1010が受け付けた文字情報データを補正する。例えば、段落統合処理モジュール1040によって統合された段落内で、ラインである行の高さ又は列の幅を統一し、文字間に隙間が生じないように、その統合された段落内の画素塊を囲む矩形の位置及び大きさを算出するようにしてもよい。また、文書内に同等の形状(つまり、文字画像として同等である場合又は外接矩形として同等である場合をいう。文字画像として同等であるとは、その文字画像の特徴を抽出し、特徴空間内で予め定めた閾値内の距離にあることをいう。外接矩形として同等であるとは、外接矩形の高さ及び幅が、他の外接矩形の幅及び高さと予め定めた閾値以下である場合をいう)の文字がある場合には、その文字を囲む矩形の位置及び大きさを同等の値とするようにしてもよい。また、文書内の文字の言語に基づいて、外接矩形の大きさを算出するようにしてもよい。
文字情報補正処理モジュール1050は、段落統合処理モジュール1040で統合された段落の段落代表値max_h及びライン特徴算出モジュール1020で算出された最大外接矩形間距離max_gに基づいて、矩形補正値を算出して、各行毎に分類された文字情報データを補正する。図21は文字情報補正処理モジュール1050における文字情報の補正の具体的な一例を示すものである。
文字情報補正処理モジュール1050では、図21の例に示す各補正値を以下のように算出する。
補正矩形高さHには、補正対象の文字情報データが属する統合段落の段落代表値max_hを設定する。
補正矩形幅Wは、補正対象の文字情報データが属する行の最大外接矩形間距離max_gを用いて、以下の式(1)で算出する。
W = max_g + w ・・・・・ 式(1)
ここでwは、補正前(ライン認識処理モジュール1010が受け付けた元の文字情報データのもの)の外接矩形幅である。
補正矩形2120の左上x座標値(new_x,new_y)は、以下の式(2)で算出する。
new_x = x − max_g/2
new_y = min_y − (H − h)/2 ・・・・・ 式(2)
ここでxは補正前の外接矩形2110の左上x座標値、max_gは補正対象の文字情報データが属する行の最大外接矩形間距離の代表値、min_yは補正対象の文字情報データが属する行のy座標の最小値、Hは補正矩形2120の高さ、hは補正前の外接矩形高さである。
補正矩形2120から外接矩形2110への相対移動量shiftx、shiftyは、以下の式(3)で算出する。
shiftx = max_g/2
shifty = y − new_y ・・・・・ 式(3)
ここでyは補正前の外接矩形2110の左上y座標値である。
前述したように文字情報補正処理モジュール1050では、入力された文字情報データの外接矩形情報から補正文字矩形を生成し、文字同士の矩形高さが揃い、また矩形同士の隙間が空かないような補正を行う。
また文字情報補正処理モジュール1050は、文書内に同等の形状の文字がある場合(文字画像として同等である場合又は外接矩形として同等である場合)には、補正文字矩形の位置及び大きさを同等の値とするようにしてもよい。そして、それら補正文字矩形のデータを補正文字情報データ内で共有することによって、文書全体のデータ量を削減するようにしてもよい。
また文字情報補正処理モジュール1050は、前述した補正に加えて、文書内の文字の言語に基づいて、補正後の文字矩形の大きさを算出するようにしてもよい。例えば、対象とする文書が日本語の場合には、補正後の文字矩形が正方形となるように、補正矩形幅Wを補正矩形高さHと等しくなるよう設定するようにしてもよい。なお、対象とする文書内の文字の言語の判断は、その文書内に含まれている言語に関するヘッダ、文字コード、画像である場合は文字認識処理の結果等を用いて行う。
また、同等の文字情報データの場合には補正後のデータも同等として設定し、それら補正データを文字情報データに対応付けて共有することで文書全体のデータ量を削減するようにしてもよい。つまり、ライン認識処理モジュール1010が受け付けた文字情報データ内で同じものを抽出し、その抽出した同等の文字情報データに対して、本実施の形態によるその文字情報データの処理結果である補正後のデータを一つ対応付けるようにしてもよい。
段落分割処理モジュール630は、文字情報補正処理モジュール1050の出力(段落認識処理モジュール1030、段落統合処理モジュール1040の出力であってもよい)に基づいて、段落番号を生成し、段落情報を抽出する。つまり、段落に関する情報内のその段落の順序に関する情報から段落番号を生成し、段落に関する情報内のその段落を囲む外接矩形の位置に関する情報から段落の画像を抽出する。また、段落の順序に関する情報(段落順序値)を段落番号として段落タイトル決定処理モジュール640と文書フォーマット処理モジュール650へ渡し、段落に関する情報を段落情報として段落タイトル決定処理モジュール640へ渡してもよい。
なお、段落分割処理モジュール630が行う処理は、前述のものに限らず、ページを複数の部分に分割する方法であればよい。
例えば、句点の文字コードを段落の区切りとして用いるようにしてもよい。具体的には、例えば、段落分割処理モジュール630が文字認識モジュールを含んでおり、その文字認識モジュールの文字認識結果として、文字コードを順番に受け取り、このとき、句点コード(又はピリオドコード等)を受け取った時点で、段落の区切りと判断する。
又は、文字認識モジュールの文字認識結果として、文字コードと文字の位置を順番に受け取る。ここで、文字の位置として、例えば、文字の外接矩形の左上の位置XY座標とする。そのXY座標は、画像の左上端をX=0、Y=0として、右に行くにつれてXが増加し、下に行くにつれてYが増加するような座標とする。なお、文字の位置としては、外接矩形の左上の位置以外であってもよい。そして、順番に受け取った文字位置のX座標の差分と、Y座標の差分を計算する。このXとYの差分がどちらも予め定められた閾値よりも大であるときに、段落の区切りとするようにしてもよい。
又は、ページ内の段落区切りを固定としてもよい。例えば、ページを真ん中で縦に2分割、横に2分割すると、ページを4つの領域に分割し、これらを4つの段落としてもよい。
又は、特開2000−90194号公報に示された手法、又は、その公報に従来技術として示された手法で、画像を分割して、各分割領域を段落としてもよい。具体的には、例えば、文書に含まれる文章が縦書きであるか又は横書きであるかを算定し、その算定した結果を参照して前記文書を分割する境界を設定し、その設定した境界において前記文書を分割する。また、前記文書を横書き文章方向に膨張処理した画像と、前記文書を縦書き文章方向に膨張処理した画像との論理積を求め、この論理積画像を新たな文書として受け付ける。境界の設定に際しては、前記文書を構成する画素の横書き文章方向及び縦書き文章方向における投影分布を算出し、この算出した投影分布を用いて前記境界を設定する。前記算定の結果において、前記文書に含まれる文章が縦書き主体である場合には、縦書き文章方向に境界を設定する確率を高め、横書き主体である場合には、横書き文章方向に境界を設定する確率を高める。前記文書に含まれる文章が縦書き主体であるか又は横書き主体であるかを、前記文書の連結成分の中で文字画像の配置情報から算出する。
またその他の手法であってもよい。
段落タイトル決定処理モジュール640は、段落分割処理モジュール630、文書フォーマット処理モジュール650と接続されている。段落分割処理モジュール630によって分割された段落内からその段落のタイトルを決定する。例えば、具体的には、段落の画像を受け取って、その画像のタイトル(段落タイトル)を決定する。段落タイトルの決定方法は、段落の最初のP文字を段落タイトルとして抽出するようにしてもよい。Pは予め定めておいた段落タイトルの文字数である。又は、前述した第1又は第2の実施の形態におけるページタイトル決定処理モジュール120によるページタイトルの決定方法を段落タイトル決定方法としてもよい。
文書フォーマット処理モジュール650は、ページ処理モジュール610、ページタイトル決定処理モジュール620、段落分割処理モジュール630、段落タイトル決定処理モジュール640と接続されている。図1に例示した文書フォーマット処理モジュール130と同等の処理を行い、さらに、段落に関する処理を行う。つまり、さらに、段落タイトル決定処理モジュール640によって決定された見出しをページ処理モジュール610によって分割されたページの第2レベルのアウトライン情報とする。アウトライン情報内の階層(具体的には、段落がどのページに属しているかについての情報)は、ページ処理モジュール610から受け取ったページ番号との対応によって決定する。
より具体的には、文書フォーマット処理モジュール130と同等の処理、例えば、ページ番号とページタイトルをそれぞれページ処理モジュール110、ページタイトル決定処理モジュール120から受け取り、これを用いてページタイトルを第1レベルのアウトラインとするメタ情報を文書フォーマットに付与し、さらに、段落分割処理モジュール630から段落番号を受け取り、それに対応する段落のタイトルを段落タイトル決定処理モジュール640から受け取り、そのページに対応する第2レベルのアウトラインとするメタ情報を文書フォーマットに付与する。それとともに、ページ情報(1ページ分の画像)をページ処理モジュール110から受け取り、その画像を出力用の文書フォーマットに変換する処理を行う。
一例として、PDFを出力文書フォーマットとした場合の例を図8に示す。図8に例示の出力文書フォーマットは、図3(B)に例示した出力文書フォーマットのその他のPDF制御情報322−1と第1レベルアウトライン(2ページ目の画像のタイトル)321−2の間に、1ページ目の第2レベルのアウトライン情報を追加したものである。1ページ目のタイトルを格納した第1レベルアウトライン(1ページ目の画像のタイトル)321−1と第1レベルのアウトラインに関するその他のPDF制御情報322−1の組を付与した後に、その1ページ目内の一つ目の段落のタイトルを格納した第2レベルアウトライン(1ページ目の画像の1段落目のタイトル)831−1とその段落の第2レベルのアウトラインに関するその他のPDF制御情報832−1の組を付与し、以後、2つ目以降の段落についての組(第2レベルアウトライン(1ページ目の画像のM段落目のタイトル)841−1、その他のPDF制御情報842−1等)を順に付与したものである。2ページ目以降についても、第1ページ目と同等の第1レベル、第2レベルのアウトライン情報を付与する。
図7は、第3の実施の形態による処理例を示すフローチャートである。
ステップS702では、ページ処理モジュール610が、文書を受け付ける。
ステップS704では、ページ処理モジュール610が、ページ毎の画像に分割する。
ステップS706では、ページ処理モジュール610が、ページ毎にページ番号を付与する。
ステップS708では、ページタイトル決定処理モジュール620が、ページ毎にページタイトルを決定する。
ステップS710では、段落分割処理モジュール630が、ページ毎に段落に分割する。
ステップS712では、段落タイトル決定処理モジュール640が、段落毎に段落タイトルを決定する。
ステップS714では、段落タイトル決定処理モジュール640が、そのページ内の最終段落まで終了したか否かを判断する。最終段落まで終了した場合はステップS716へ進み、それ以外の場合はステップS712へ戻る。
ステップS716では、ページタイトル決定処理モジュール620が、最終ページまで終了したか否かを判断する。最終ページまで終了した場合はステップS718へ進み、それ以外の場合はステップS708へ戻る。
ステップS718では、最終ページまでページタイトル、段落タイトルが決定された後に、文書フォーマット処理モジュール650が、文書フォーマット処理を行い、その文書を出力する。
このように作成された文書は、そのフォーマットに適した文書ビューアを用いて、図9に例示するような表示が行われる。
文書ビューアは文書ビューア表示領域900内に、アウトラインビューア表示領域910、ページ画像表示領域920を表示する。この文書ビューアにおいては、ページ画像表示領域920に各ページの画像を表示する。さらに、文書ビューアのオプションとしてアウトラインビューアを持っている。アウトラインビューアを開くと、各ページのタイトルとそのページ内に含まれている段落のタイトルを階層的にアウトラインビューア表示領域910に表示する。このアウトラインビューア表示領域910内のページのタイトルが利用者の操作によって選択されると、ページ画像表示領域920に表示されているページを選択されたページに変更し、アウトラインビューア表示領域910内の段落のタイトルが利用者の操作によって選択されると、ページ画像表示領域920に表示されている段落を選択表示に変更する。つまり、ページのタイトルを第1レベルのアウトラインとし、段落のタイトルを第2レベルのアウトラインにすることにより、このような処理が行えるようになる。
<第4の実施の形態>
前述の実施の形態では各ページ内における第1レベルのアウトライン情報、第2レベルのアウトライン情報を抽出している。つまり階層構造(第1レベル、第2レベル)として、各ページ独立のものである。第4の実施の形態では、ページ間の関連を用いて、ページ独立に設定されたタイトルの階層構造を変更するものである。
第4の実施の形態は、前述の第3の実施の形態の文書フォーマット処理モジュール650に機能を追加するものである。したがって、他のモジュールの構成、働き等は同等のものである。したがって、第3の実施の形態と同種のモジュールには同一符号を付し重複した説明を省略する。
第4の実施の形態は複数ページの文書を対象としているので、ページ処理モジュール610は複数のページを有する文書を受け付ける。
複数ページの文書を対象とした場合、第3の実施の形態における出力文書は、図23に例示するような出力文書2300となる。
つまり、各ページ毎にページタイトルが付与されている。各ページは複数の段落から構成されている場合がある。例えば出力文書2300では、ページ1は3つの段落を有している。そして、各段落は複数のサブ段落から構成されている場合がある。例えば出力文書2300では、ページ2は段落1の下にサブ段落1がある。なお、段落は、ページよりも1段階下がった階層に属する。サブ段落は、段落よりも1段階下がった階層に属する。
図23に例示した出力文書2300は、第3の実施の形態を用いて取得したタイトルであるので、ページ毎に独立に階層構造を有している。この場合、ページタイトルの階層は最上位階層となっている。また、ページ内の段落の階層はページタイトルの1段下の階層となっている。サブ段落は段落のさらに1段下の階層となっている。
実際の文書において、ページ1ページタイトルとページ2ページタイトルが同一階層であるとは限らないということがある。例えば、ページ1ページタイトルは、文書のタイトルであって、ページ2ページタイトルは、章のタイトルであるかもしれない。そのような場合には、ページ1ページタイトルより下位の階層としてページ2ページタイトルとして抽出すべきである。
そこで、以下、第4の実施の形態では、ページ間の階層構造の関係を抽出し、ページにまたがる階層に変更する。
図22は、第4の実施の形態の文書フォーマット処理モジュール650の構成例についての概念的なモジュール構成図である。文書フォーマット処理モジュール650は、属性値処理モジュール2210、階層処理モジュール2220を有している。
属性値処理モジュール2210は、ページタイトル決定処理モジュール620によって決定されたページの見出しの属性又は段落タイトル決定処理モジュール640によって決定された段落の見出しの属性を抽出する。
階層処理モジュール2220は、属性値処理モジュール2210によって抽出されたページの見出しの属性又は段落の見出しの属性に基づいて、複数ページ間における階層構造を決定する。
第3の実施の形態における文書フォーマット処理モジュール650の処理が終了した後に、属性値処理モジュール2210、階層処理モジュール2220が処理を行う。
ここで、階層番号を定義する。階層番号は階層の上位下位を示す番号であり、階層番号:1が最上位、階層番号:2がその下位、階層番号:3がさらにその下位であるとする。この階層番号を用いて、図23に例示した出力文書2300の階層構造を、図24に例示するタイトル・階層テーブル2400のように記述することができる。タイトル・階層テーブル2400はタイトル欄2410と階層番号欄2420を有しており、タイトル欄2410は各階層におけるタイトルを記憶し、階層番号欄2420はその階層番号を記憶する。例えば、各ページのページタイトルは階層番号:1である。そして、段落タイトルは階層番号:2であり、サブ段落タイトルは階層番号:3である。タイトル・階層テーブル2400は、文書フォーマット処理モジュール650内に記憶されており、各値は文書フォーマット処理モジュール650によって記憶される。この段階では、ページタイトルであるならば階層番号:1であり、段落タイトルであるならば階層番号:2であり、サブ段落タイトルであるならば階層番号:3であるというように対応している。
属性値処理モジュール2210は、各タイトルの属性値を取得する。属性値は、そのタイトルが上位の階層であれば大きな値、下位の階層であれば小さな値となるような評価値を示すものである。
属性値としては、例えば、各タイトルの文字の大きさ、文字を構成する線の太さ、文字の色、最初の文字の位置、前後の行(又は列、以下同様)との距離等がある。又は、複数の属性値(文字の太さ、文字の大きさ、前後の行との距離など)の重み付け線形和を用いてもよい。
文字の大きさとしては、タイトルが横書きであれば、タイトルの文字列の外接矩形の高さ等を取得すればよい。タイトルが縦書きであれば、タイトルの文字列の外接矩形の幅等を取得すればよい。
文字の太さは、タイトルの文字列の外接矩形の濃度等を取得すればよい。また、文字を構成する線のうち、予め定められた値以上の長さの線を対象とし、その太さを計測するようにしてもよい。
文字の色は、タイトルの文字の画素値を取得すればよい。
最初の文字の位置の場合、横書きの場合はタイトル内の左端にある文字からページの左端までの距離、縦書きの場合はタイトル内の上端にある文字からページの上端までの距離を計測して取得すればよい。
前後の行との距離の場合、横書きであれば、上下の行との距離を計測し、縦書きであれば、左右の列との距離を計測して取得すればよい。
文字が大きければ大きいほど、上位の階層である可能性が高くなる。文字が太ければ太いほど、上位の階層である可能性が高くなる。また、文字の色の場合、文字の色と属性値との対応テーブルを予め用意しておき、その対応テーブルを用いて、属性値が大きいほど上位の階層である可能性が高くなるように設定しておけばよい。最初の文字の位置の逆数が大きければ大きいほど、上位の階層である可能性が高くなる。前後の行(又は列、以下同様)との距離が大きければ大きいほど、上位の階層である可能性が高くなる。
本実施の形態では、ページ内の階層構造として、上位階層のタイトルは、下位階層のタイトルよりも本属性値の値が大きくなるようにする。
このようにして取得した属性値を各タイトルにリンクさせたのが図25に例示するタイトル・属性値テーブル2500である。タイトル・属性値テーブル2500は、タイトル欄2510と属性値欄2520を有している。タイトル欄2510は各階層におけるタイトルを記憶し、属性値欄2520はその階層の属性値を記憶する。例えば、属性値欄2520は属性値として文字の大きさをポイント数で記憶している。ページ1のページタイトルは属性値:20であり、ページ1の段落タイトルは属性値:12であり、ページ2のページタイトルは属性値:12であり、ページ2の段落タイトルは属性値:12であり、サブ段落タイトルは属性値:10である。タイトル・属性値テーブル2500は、文書フォーマット処理モジュール650内に記憶されており、各値は属性値処理モジュール2210によって記憶される。
属性値処理モジュール2210がタイトル・属性値テーブル2500を生成した後、階層処理モジュール2220が、階層番号を変更する。以下、図26に例示したフローチャートを用いて説明する。
ステップS2602では、タイトル・属性値テーブル2500から各タイトルの属性値を取得する。
ステップS2604では、属性値のクラスタリングを行う。クラスタリングとしては、一般的なクラスタリングアルゴリズムを用いればよい。例えば、具体的には、K−means法、クラスター分析法等を用いればよい。より単純には、同じ値のものを一つのクラスにする。例えば、図25に例示したタイトル・属性値テーブル2500の場合、属性値が、10、12、18、20の4つのクラスに分割することができる。又は、ある属性値から予め定められた範囲内にあれば(つまり、微小なずれは無視するとすれば)、属性値が、10、20の2つのクラスに分割するようにしてもよい。
このように属性値をクラスタリングして、クラス分けする。ここでは属性値が、10、12、18、20の4つのクラスに分ける。
ステップS2606では、属性値のクラスのソートを行う。ソートはクラスの代表値を用いる。前述の例では、20、18、12、10の順にソート(降順)できる。
ステップS2608では、クラスに階層番号を付与する。つまり、クラスの属性値が大きな順に小さな階層番号を与える。前述の例では、クラス20に対して、階層番号1を与える。クラス18に対して、階層番号2を与える。クラス12に対して、階層番号3を与える。クラス10に対して、階層番号4を与える。
ステップS2610では、最終的に、タイトルに階層番号を付与する。結果として、前述の例では、図27に例示するタイトル・階層テーブル2700の階層番号を得ることができる。タイトル・階層テーブル2700はタイトル・階層テーブル2400を書き換えたものである。つまり、階層番号はタイトル・階層テーブル2400の状態では3であったが、階層処理モジュール2220の処理によって階層番号は4に増えている。そして、階層番号:1はページ1のページタイトルだけであり、階層番号:2はページ3のページタイトルとなり、ページ2のページタイトルはページ1内の段落タイトルと同じ階層番号:3となる。
そして、文書フォーマット処理モジュール650は、この処理結果を含めた文書を生成して出力する。
このように作成された文書は、そのフォーマットに適した文書ビューアを用いて、図28に例示するような表示が行われる。これは、図9に例示したアウトラインビューア表示領域910に対応するものである。アウトラインビューア表示領域2800内では、右に行くほど下位の階層であるような表示の仕方をしている。つまり、アウトラインビューア表示領域2800では、文書内のページタイトル、段落タイトル、サブ段落タイトルを階層的に表示しており、ページ1のページタイトルは最上位の階層にあり、ページ3のページタイトルは次の階層にあり、ページ2のページタイトルは段落のタイトルと同じ第3階層にあり、サブ段落タイトルはページ2の段落1タイトルの下の階層に位置していることが示されている。
<第5の実施の形態>
第4の実施の形態では、複数のページ(例示したものは全てのページ)を対象として、階層構造を決定した。第5の実施の形態は、これをページ毎の逐次的処理としたものである。第5の実施の形態のモジュール構成は、第4の実施の形態と同等のものである。ただし、文書フォーマット処理モジュール650は、以下に示す処理を行う。
図29は、第5の実施の形態の文書フォーマット処理モジュール650による処理例を示すフローチャートである。文書フォーマット処理モジュール650内の階層処理モジュール2220は、最初のページからページ毎に順次、ページ間にまたがる階層構造を決定していく。このフローチャートによる処理を行う前に、文書フォーマット処理モジュール650は第3の実施の形態で説明した処理を行っているものとする。なお、各ページ内は、ページ、段落、サブ段落、…などのように既に階層構造になっているとする。ただし、複数ページ間における既階層はないとする。
ステップS2902では、第1ページを取得する。ここでは、複数ページ間における既階層はない。
ステップS2904では、対象とする文書内のページが終了したか否かを判断する。ページが終了した場合(次のページがない場合)は処理を終了(ステップS2999)し、それ以外の場合はステップS2906へ進む。
ステップS2906では、そのページにおける第1クラスを取得する。
ステップS2908では、既階層にマッピング可か否かを判断する。マッピング可の場合はステップS2912へ進み、それ以外の場合はステップS2910へ進む。この判断は、既階層がなればマッピング不可と判断し、既階層があってもその既階層の属性と対象としているクラスの属性値が対応していない場合もマッピング不可と判断し、既階層があり、その既階層の属性と対象としているクラスの属性値が対応している場合はマッピング可と判断する。
ステップS2910では、新階層を登録し、その新階層にマッピングする。
ステップS2912では、既階層にマッピングする。
ステップS2914では、そのページ内における次のクラスを取得する。
ステップS2916では、そのページ内におけるクラスが終了したか否かを判断する。クラスが終了した場合(そのページ内に次のクラスがない場合)はステップS2918へ進み、それ以外の場合はステップS2908へ戻る。
ステップS2918では、次のページを取得する。
ここで、図25に例示したタイトル・属性値テーブル2500を対象とした場合の処理の説明を行う。
ページ1は、ページタイトル、段落タイトルの2層構造であるため、2クラス構成となる。
ページ1の最上位の階層(ページタイトル)を第1クラスとする(ステップS2906)。
そして、1ページ目の場合、既階層はないので、既階層にマッピング不可であり、ステップS2908ではステップS2910へ進むことになる。
1ページ目の第1クラスの場合、新階層1を登録して、さらに、第1クラスをその新階層1にマッピングする(ステップS2910)。
ページ1の第2クラスは、段落階層である。このクラスに対しても既階層はないため、既階層にマッピング不可であり、2巡目のステップS2908でもステップS2910へ進むことになる。そして、新階層2を登録して、さらに、ページ1の第2クラスをその新階層2にマッピングする(ステップS2910)。
これで、ページ1のクラスは終了した(ステップS2916でY)ので、ページ2を取得する(ステップS2918)。
ページ2は、ページタイトル、段落タイトル、サブ段落タイトルの3層構造であるため、3クラス構成となる。
まずページ2のクラス1は、ページ2のページタイトルである。この属性値は12である。なお、属性値は、属性値処理モジュール2210が予め抽出してタイトル・属性値テーブル2500を生成していてもよいし、必要となる毎に抽出してもよい。属性値:12の既階層は階層2であるため、ページ2のページタイトルは階層2にマッピングする(ステップS2912)。つまり、対象とするタイトルの属性値に対応する、既に階層にマッピングされたタイトルの属性値をタイトル・属性値テーブル2500から検索し、その検索された属性値を有するタイトルの階層を対象とするタイトルに付与するものである。
次のクラスであるページ2の段落の属性値は12であるため、ページ2の段落も階層2にマッピングする(ステップS2912)。
次のクラスであるページ2のサブ段落の属性値は10である。これに対応する既階層はない(ステップS2908でN)ため、新階層を設定する。属性値10は、既階層のどれよりも小さな値であるため、新階層3を登録する。ページ2のサブ段落は、その新階層3にマッピングする(ステップS2910)。
次にページ3を取得する(ステップS2918)。
ページ3のページタイトルの属性値は18である。これに対応する既階層はない(ステップS2908でN)ため、新階層を設定する(ステップS2910)。
これまで登録された階層は、図30に例示する階層・属性テーブル3000のようになっている。階層・属性テーブル3000は、階層番号欄3010、属性値欄3020を有している。階層番号欄3010はページ間にまたがる階層構造を記憶し、属性値欄3020はその階層構造のタイトルが有する属性値を記憶する。つまり、階層1は属性値:20を有するものであり、階層2は属性値:12を有するものであり、階層3は属性値:10を有するものである。
属性値:18は、階層1と階層2の間であるため、その間に新階層を作る。階層2以降の番号は1ずつずらす(階層番号を増加させる)。つまり、図31に例示する階層・属性テーブル3100のようになる。階層3の属性値として18を登録し、階層4として階層・属性テーブル3000の階層3を登録する。なお、階層・属性テーブル3000(階層・属性テーブル3100)は、文書フォーマット処理モジュール650内に記憶されており、各値は階層処理モジュール2220によって記憶される。
そして、ページ3のページタイトルは、階層2にマッピングする(ステップS2910)。
ページ3のクラス2である段落は、属性値12であるため、階層3にマッピングする(ステップS2912)。
前述の例では、属性値に一致する既階層があれば、その階層に登録し、なければ、新階層を作成して、その新階層に登録する例を述べた。
しかし、既階層に一致しない場合でも、ある程度の誤差を許容してもよい。例えば、既階層との差分が予め定めた閾値以下であれば、その階層に登録してもよい。閾値以内の既階層が複数ある場合には、比較した場合に属性値が近い既階層に登録すればよい。閾値以内の既階層がない場合に限り、新階層を登録する。
図32を参照して、前述の実施の形態の情報処理装置のハードウェア構成例について説明する。図32に示す構成は、例えばパーソナルコンピュータ(PC)などによって構成されるものであり、スキャナ等のデータ読み取り部3217と、プリンタなどのデータ出力部3218を備えたハードウェア構成例を示している。
CPU(Central Processing Unit)3201は、前述の実施の形態において説明した各種のモジュール、すなわち、ページ処理モジュール110、ページタイトル決定処理モジュール120、文書フォーマット処理モジュール130、段落分割処理モジュール630、段落タイトル決定処理モジュール640、ライン認識処理モジュール1010、ライン特徴算出モジュール1020、段落認識処理モジュール1030、段落統合処理モジュール1040、文字情報補正処理モジュール1050、属性値処理モジュール2210、階層処理モジュール2220等の各モジュールの実行シーケンスを記述したコンピュータ・プログラムにしたがった処理を実行する制御部である。
ROM(Read Only Memory)3202は、CPU3201が使用するプログラムや演算パラメータ等を格納する。RAM(Random Access Memory)3203は、CPU3201の実行において使用するプログラムや、その実行において適宜変化するパラメータ等を格納する。これらはCPUバスなどから構成されるホストバス3204により相互に接続されている。
ホストバス3204は、ブリッジ3205を介して、PCI(Peripheral Component Interconnect/Interface)バスなどの外部バス3206に接続されている。
キーボード3208、マウス等のポインティングデバイス3209は、操作者により操作される入力デバイスである。ディスプレイ3210は、液晶表示装置又はCRT(Cathode Ray Tube)などがあり、各種情報をテキストやイメージ情報として表示する。
HDD(Hard Disk Drive)3211は、ハードディスクを内蔵し、ハードディスクを駆動し、CPU3201によって実行するプログラムや情報を記録又は再生させる。ハードディスクには、受け付けた文書、出力文書などが格納される。さらに、その他の各種のデータ処理プログラム等、各種コンピュータ・プログラムが格納される。
ドライブ3212は、装着されている磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリ等のリムーバブル記録媒体3213に記録されているデータ又はプログラムを読み出して、そのデータ又はプログラムを、インタフェース3207、外部バス3206、ブリッジ3205、及びホストバス3204を介して接続されているRAM3203に供給する。リムーバブル記録媒体3213も、ハードディスクと同様のデータ記録領域として利用可能である。
接続ポート3214は、外部接続機器3215を接続するポートであり、USB、IEEE1394等の接続部を持つ。接続ポート3214は、インタフェース3207、及び外部バス3206、ブリッジ3205、ホストバス3204等を介してCPU3201等に接続されている。通信部3216は、ネットワークに接続され、外部とのデータ通信処理を実行する。データ読み取り部3217は、例えばスキャナであり、ドキュメントの読み取り処理を実行する。データ出力部3218は、例えばプリンタであり、ドキュメントデータの出力処理を実行する。
なお、図32に示す情報処理装置のハードウェア構成は、一つの構成例を示すものであり、前述の実施の形態は、図32に示す構成に限らず、前述の実施の形態において説明したモジュールを実行可能な構成であればよい。例えば、一部のモジュールを専用のハードウェア(例えば特定用途向け集積回路(Application Specific Integrated Circuit:ASIC)等)で構成してもよく、一部のモジュールは外部のシステム内にあり通信回線で接続しているような形態でもよく、さらに図32に示すシステムが複数互いに通信回線によって接続されていて互いに協調動作するようにしてもよい。また、複写機、ファックス、スキャナ、プリンタ、複合機(スキャナ、プリンタ、複写機、ファックス等のいずれか2つ以上の機能を有している画像処理装置)などに組み込まれていてもよい。
前述の実施の形態のページ処理モジュール110、ページ処理モジュール610が受け付ける文書は、マルチページTIFFを例示したが、他の形態でもよい。例えば、複数の画像ファイルであってもよい。画像ファイルとしては、TIFF、GIF、PNG、PBM、JPEG等でもよい。この場合、その複数の画像ファイルにページ番号を付与する。
又は、前述の実施の形態のページ処理モジュール110、ページ処理モジュール610が受け付ける文書は、PDF等の電子化文書としてもよい。PDF等の各ページにはテキストコードが付与されていたり、画像が貼り付けられていたりする。これらのテキストコードをそのまま(前述の文字認識結果として)用いてもよい。又は、貼り付けられている画像を文字認識処理してもよい。
又は、前述の実施の形態のページ処理モジュール110、ページ処理モジュール610が受け付ける文書は、ワードプロセッサのファイルとしてもよい。その場合、ページ処理モジュール110、ページ処理モジュール610は、ワードプロセッサのファイル形式をページを固定するように処理する。例えば、プリント処理を行うことによって、プリント画像を生成してページを固定してもよい。又は、一旦PDFやPS等に変換することでページを固定してもよい。ページを固定した結果、テキストコードが付与されていたり、画像が貼り付けられていたりする。これらのテキストコードをそのまま(前述の文字認識結果として)用いてもよい。又は、貼り付けられている画像を文字認識処理してもよい。
前述のページ処理モジュール110、ページ処理モジュール610では、ページ番号を生成、出力しているが、これを行わなくてもよい。また、その場合、文書フォーマット処理モジュール130、文書フォーマット処理モジュール650は、ページにページ番号を付与しなくてもよい。同様に、段落分割処理モジュール630は、段落番号を生成、出力しているが、これを行わなくてもよい。また、その場合、文書フォーマット処理モジュール650は、段落に段落番号を付与しなくてもよい。なお、各モジュール間で、同じページ又は段落に対する処理を行う場合は、ページ又は段落を一意に特定できる符号を用いてもよい。
前述の実施の形態の文書フォーマット処理モジュール130、文書フォーマット処理モジュール650が出力する文書フォーマットとして、PDFのみならず、アウトライン情報を付与することができる形式であればよい。
前述の実施の形態では、ページ情報として、ページの画像情報を例示したが、ページ情報としては画像情報ではなくてもよい。ページ処理モジュール110、ページ処理モジュール610においてページ全体に文字認識処理を行い、ページ情報として文字認識結果と画像情報を渡すようにしてもよい。その場合、文書フォーマット処理モジュール130、文書フォーマット処理モジュール650が行う文書フォーマット処理において、文字認識結果を出力文書内に付与してもよい。
前述の実施の形態においては、ページ又は段落のタイトル候補が空白となってしまう場合がある。このような場合に、アウトライン表示が空白になってしまうのを避けるため、ページ番号をページタイトルに与えてもよい。つまり、ページタイトル決定処理モジュール120、ページタイトル決定処理モジュール620は、ページ処理モジュール110、ページ処理モジュール610によって生成されたページ番号を用いてページのタイトルを決定するようにしてもよい。そして、段落タイトル決定処理モジュール640は、段落分割処理モジュール630によって生成された段落番号を用いて段落のタイトルを決定するようにしてもよい。なお、ページ又は段落のタイトル候補が空白となってしまう場合に限られず、タイトルの先頭又は後尾にページ番号又は段落番号を付加してもよい。
例えば、文書フォーマット処理モジュール130、文書フォーマット処理モジュール650が出力する文書フォーマット内のページタイトルとして、
<Page#>ページタイトル
のような記述を与える。なお、この記述内の「#」はページ番号を示す。また、「ページタイトル」は、ページタイトル決定処理モジュール120、ページタイトル決定処理モジュール620で決定したページタイトル(ページ番号)を示す。
また、例えば、段落タイトルとして、
<Para#>段落タイトル
のような記述を与える。なお、この記述内の「#」は段落番号を示す。また、「段落タイトル」は、段落分割処理モジュール630で決定した段落タイトル(段落番号)を示す。
前述の実施の形態では、アウトラインレベルを、1のみ、又は2までの例を示した。段落をさらに小段落、文、行等に分割して、アウトラインレベルを3としてもよい。又は、その小段落を文、行等に分割して、アウトラインレベルを4としてもよい。
アウトラインレベルを増加させたときの処理は、アウトラインレベルを1から2へ増加させたときの処理と同等である。つまり、段落分割処理モジュール630が出力する段落情報を受け取って、小段落、文、行等に分割して、そのタイトルを決定するモジュールを付加させればよい。
段落分割処理モジュール630等の説明においては、主に横書き文書の場合の行の高さを用いることを示したが、縦書きの場合は列の幅を同様に用いる。
なお、数式を用いて説明したが、数式には、その数式と同等のものを含めてもよい。同等のものとは、その数式そのものの他に、最終的な結果に影響を及ぼさない程度の数式の変形、又は数式をアルゴリズミックな解法で解くこと等が含まれる。
なお、前述の各種の実施の形態を組み合わせてもよく(例えば、ある実施の形態内のモジュールを他の実施の形態内に適用する、入れ替えする等も含む)、各モジュールの処理内容として背景技術で説明した技術を採用してもよい。
また、前述の実施の形態の説明において、予め定められた値との比較において、「以上」、「以下」、「より大きい」、「より小さい(未満)」等としたものは、その組み合わせに矛盾が生じない限り、それぞれ「より大きい」、「より小さい(未満)」、「以上」、「以下」等としてもよい。
なお、説明したプログラムについては、記録媒体に格納して提供してもよく、また、そのプログラムを通信手段によって提供してもよい。その場合、例えば、前記説明したプログラムについて、「プログラムを記録したコンピュータ読み取り可能な記録媒体」の発明として捉えてもよい。
「プログラムを記録したコンピュータ読み取り可能な記録媒体」とは、プログラムのインストール、実行、プログラムの流通などのために用いられる、プログラムが記録されたコンピュータで読み取り可能な記録媒体をいう。
なお、記録媒体としては、例えば、デジタル・バーサタイル・ディスク(DVD)であって、DVDフォーラムで策定された規格である「DVD−R、DVD−RW、DVD−RAM等」、DVD+RWで策定された規格である「DVD+R、DVD+RW等」、コンパクトディスク(CD)であって、読出し専用メモリ(CD−ROM)、CDレコーダブル(CD−R)、CDリライタブル(CD−RW)等、ブルーレイ・ディスク(Blu−ray Disc(登録商標))、光磁気ディスク(MO)、フレキシブルディスク(FD)、磁気テープ、ハードディスク、読出し専用メモリ(ROM)、電気的消去及び書換可能な読出し専用メモリ(EEPROM)、フラッシュ・メモリ、ランダム・アクセス・メモリ(RAM)等が含まれる。
そして、前記のプログラム又はその一部は、前記記録媒体に記録して保存や流通等させてもよい。また、通信によって、例えば、ローカル・エリア・ネットワーク(LAN)、メトロポリタン・エリア・ネットワーク(MAN)、ワイド・エリア・ネットワーク(WAN)、インターネット、イントラネット、エクストラネット等に用いられる有線ネットワーク、あるいは無線通信ネットワーク、さらにこれらの組み合わせ等の伝送媒体を用いて伝送させてもよく、また、搬送波に乗せて搬送させてもよい。
さらに、前記のプログラムは、他のプログラムの一部分であってもよく、あるいは別個のプログラムと共に記録媒体に記録されていてもよい。また、複数の記録媒体に分割して
記録されていてもよい。また、圧縮や暗号化など、復元可能であればどのような態様で記録されていてもよい。
110…ページ処理モジュール
120…ページタイトル決定処理モジュール
130…文書フォーマット処理モジュール
610…ページ処理モジュール
620…ページタイトル決定処理モジュール
630…段落分割処理モジュール
640…段落タイトル決定処理モジュール
650…文書フォーマット処理モジュール
1010…ライン認識処理モジュール
1020…ライン特徴算出モジュール
1021…行高列幅算出モジュール
1022…矩形間距離算出モジュール
1030…段落認識処理モジュール
1040…段落統合処理モジュール
1050…文字情報補正処理モジュール
2210…属性値処理モジュール
2220…階層処理モジュール

Claims (8)

  1. ページ内における文書構成要素の位置が固定されており、文字画像を含む文書を受け付ける文書受付手段と、
    前記文書受付手段によって受け付けられた文書をページ毎に分割するページ分割手段と、
    前記文書内の文字画像を文字認識する文字認識手段と、
    前記ページ分割手段によって分割されたページ内から該ページの見出しを決定するページ見出し決定手段と、
    前記ページ見出し決定手段によって決定された見出しを前記ページ分割手段によって分割されたページの第1レベルのアウトライン情報として該ページに付与する処理を行う処理手段
    を具備し、
    前記ページ見出し決定手段は、1ページ毎に前記文字認識手段による認識結果内の文字列を、ページ見出し候補として登録し、該ページにおける該登録処理における2回目以降においては、登録済みの第1のページ見出し候補と、今回抽出した第2のページ見出し候補のいずれかをページ見出しとして登録し、
    前記第1のページ見出し候補と第2のページ見出し候補のいずれかをページ見出しとして登録するかは、次のいずれか又はこれらの組み合わせによって行う
    (1)前記第2のページ見出し候補の文字の大きさが、前記第1のページ見出し候補の文字の大きさに予め定められた閾値を乗算した結果よりも大きい場合は、該第2のページ見出し候補をページ見出しとして登録すること、
    (2)前記第2のページ見出し候補において、文字認識が失敗したときに出現しやすい記号の割合が予め定められた閾値よりも大きい場合は、該第2のページ見出し候補をページ見出しとして登録しないこと、
    (3)前記第2のページ見出し候補の文字の位置が予め定められた位置の範囲内にある場合に、該第2のページ見出し候補をページ見出しとして登録すること、
    (4)前記第2のページ見出し候補の文字の色が予め定められた色の範囲内にある場合に、該第2のページ見出し候補をページ見出しとして登録すること
    を特徴とする情報処理装置。
  2. 前記分割手段によって分割されたページを段落に分割する段落分割手段と、
    前記段落分割手段によって分割された段落内から該段落の見出しを決定する段落見出し決定手段
    をさらに具備し、
    前記処理手段は、前記段落見出し決定手段によって決定された見出しを前記ページ分割手段によって分割されたページの第2レベルのアウトライン情報として該ページに付与する
    ことを特徴とする請求項1に記載の情報処理装置。
  3. 前記段落見出し決定手段は、前記文字認識手段による認識結果、前記文字画像の位置、色、大きさのいずれか一つ以上を用いて、前記ページ又は前記段落の見出しを決定する
    ことを特徴とする請求項2に記載の情報処理装置。
  4. 前記ページ分割手段によって分割されたページのページ番号を生成するページ番号生成手段
    をさらに具備し、
    前記ページ見出し決定手段は、前記ページ番号生成手段によって生成されたページ番号を付加して前記ページの見出しを決定する
    ことを特徴とする請求項1からのいずれか一項に記載の情報処理装置。
  5. 前記段落分割手段によって分割された段落の段落番号を生成する段落番号生成手段
    をさらに具備し、
    前記段落見出し決定手段は、前記段落番号生成手段によって生成された段落番号を付加して前記段落の見出しを決定する
    ことを特徴とする請求項2、請求項3、又は請求項2若しくは請求項3に従属する請求項4のいずれか一項に記載の情報処理装置。
  6. 前記文書受付手段は、複数のページを有する文書を受け付け、
    前記処理手段は、
    前記ページ見出し決定手段によって決定されたページの見出しの属性又は前記段落見出し決定手段によって決定された段落の見出しの属性を抽出する属性抽出手段と、
    前記属性抽出手段によって抽出されたページの見出しの属性又は段落の見出しの属性に基づいて、複数ページ間における階層構造を決定する階層構造決定手段
    を具備することを特徴とする請求項2、請求項3、請求項5、又は請求項2若しくは請求項3に従属する請求項4のいずれか一項に記載の情報処理装置。
  7. 前記階層構造決定手段は、ページ毎に順次階層構造を決定していく
    ことを特徴とする請求項に記載の情報処理装置。
  8. コンピュータを、
    ページ内における文書構成要素の位置が固定されており、文字画像を含む文書を受け付ける文書受付手段と、
    前記文書受付手段によって受け付けられた文書をページ毎に分割するページ分割手段と、
    前記文書内の文字画像を文字認識する文字認識手段と、
    前記ページ分割手段によって分割されたページ内から該ページの見出しを決定するページ見出し決定手段と、
    前記ページ見出し決定手段によって決定された見出しを前記ページ分割手段によって分割されたページの第1レベルのアウトライン情報として該ページに付与する処理を行う処理手段
    として機能させ、
    前記ページ見出し決定手段は、1ページ毎に前記文字認識手段による認識結果内の文字列を、ページ見出し候補として登録し、該ページにおける該登録処理における2回目以降においては、登録済みの第1のページ見出し候補と、今回抽出した第2のページ見出し候補のいずれかをページ見出しとして登録し、
    前記第1のページ見出し候補と第2のページ見出し候補のいずれかをページ見出しとして登録するかは、次のいずれか又はこれらの組み合わせによって行う
    (1)前記第2のページ見出し候補の文字の大きさが、前記第1のページ見出し候補の文字の大きさに予め定められた閾値を乗算した結果よりも大きい場合は、該第2のページ見出し候補をページ見出しとして登録すること、
    (2)前記第2のページ見出し候補において、文字認識が失敗したときに出現しやすい記号の割合が予め定められた閾値よりも大きい場合は、該第2のページ見出し候補をページ見出しとして登録しないこと、
    (3)前記第2のページ見出し候補の文字の位置が予め定められた位置の範囲内にある場合に、該第2のページ見出し候補をページ見出しとして登録すること、
    (4)前記第2のページ見出し候補の文字の色が予め定められた色の範囲内にある場合に、該第2のページ見出し候補をページ見出しとして登録すること
    を特徴とする情報処理プログラム。
JP2009275746A 2009-08-20 2009-12-03 情報処理装置及び情報処理プログラム Active JP5663866B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2009275746A JP5663866B2 (ja) 2009-08-20 2009-12-03 情報処理装置及び情報処理プログラム
US12/716,829 US8824798B2 (en) 2009-08-20 2010-03-03 Information processing device, computer readable medium storing information processing program, and information processing method

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2009190890 2009-08-20
JP2009190890 2009-08-20
JP2009275746A JP5663866B2 (ja) 2009-08-20 2009-12-03 情報処理装置及び情報処理プログラム

Publications (2)

Publication Number Publication Date
JP2011065621A JP2011065621A (ja) 2011-03-31
JP5663866B2 true JP5663866B2 (ja) 2015-02-04

Family

ID=43605427

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009275746A Active JP5663866B2 (ja) 2009-08-20 2009-12-03 情報処理装置及び情報処理プログラム

Country Status (2)

Country Link
US (1) US8824798B2 (ja)
JP (1) JP5663866B2 (ja)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5794677B2 (ja) * 2011-06-14 2015-10-14 キヤノン株式会社 情報処理装置、情報処理装置の制御方法およびコンピュータプログラム
US9734132B1 (en) * 2011-12-20 2017-08-15 Amazon Technologies, Inc. Alignment and reflow of displayed character images
CN105283902B (zh) * 2013-06-17 2018-10-30 富士通株式会社 图像处理装置、图像处理方法、以及图像处理程序的存储介质
US9588971B2 (en) 2014-02-03 2017-03-07 Bluebeam Software, Inc. Generating unique document page identifiers from content within a selected page region
JP6686957B2 (ja) * 2017-03-31 2020-04-22 京セラドキュメントソリューションズ株式会社 画像形成装置
US10346702B2 (en) 2017-07-24 2019-07-09 Bank Of America Corporation Image data capture and conversion
US10192127B1 (en) * 2017-07-24 2019-01-29 Bank Of America Corporation System for dynamic optical character recognition tuning
JP6731011B2 (ja) * 2018-02-23 2020-07-29 シナノケンシ株式会社 電子図書の表示用データの作成装置
JP6977661B2 (ja) * 2018-05-14 2021-12-08 コニカミノルタ株式会社 印刷制御装置、印刷制御プログラム及び印刷制御方法
US11468346B2 (en) * 2019-03-29 2022-10-11 Konica Minolta Business Solutions U.S.A., Inc. Identifying sequence headings in a document
US11494555B2 (en) * 2019-03-29 2022-11-08 Konica Minolta Business Solutions U.S.A., Inc. Identifying section headings in a document
CN109934210B (zh) * 2019-05-17 2019-08-09 上海肇观电子科技有限公司 版面分析方法、阅读辅助设备、电路和介质
US10956731B1 (en) * 2019-10-09 2021-03-23 Adobe Inc. Heading identification and classification for a digital document
US10949604B1 (en) 2019-10-25 2021-03-16 Adobe Inc. Identifying artifacts in digital documents
JP7457903B2 (ja) * 2020-03-24 2024-03-29 京セラドキュメントソリューションズ株式会社 画像処理装置
CN111753832B (zh) * 2020-07-02 2023-12-08 杭州睿琪软件有限公司 图像处理方法、图像处理装置、电子设备和存储介质

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02165262A (ja) * 1988-12-19 1990-06-26 Canon Inc 文字処理装置
JPH05274471A (ja) 1992-03-30 1993-10-22 Nippon Telegr & Teleph Corp <Ntt> イメージ文書のタイトル領域抽出処理方法
JP3313519B2 (ja) * 1994-09-19 2002-08-12 シャープ株式会社 画像処理装置
US5987171A (en) * 1994-11-10 1999-11-16 Canon Kabushiki Kaisha Page analysis system
JP3373068B2 (ja) * 1994-12-05 2003-02-04 沖電気工業株式会社 光学式文字認識装置
JP3487523B2 (ja) 1995-04-18 2004-01-19 株式会社リコー 文書処理装置
JP3425834B2 (ja) 1995-09-06 2003-07-14 富士通株式会社 文書画像からのタイトル抽出装置および方法
US5784487A (en) * 1996-05-23 1998-07-21 Xerox Corporation System for document layout analysis
JP2000148788A (ja) 1998-11-05 2000-05-30 Ricoh Co Ltd 文書画像からのタイトル領域抽出装置およびタイトル領域抽出方法,並びに文書検索方法
US7099507B2 (en) * 1998-11-05 2006-08-29 Ricoh Company, Ltd Method and system for extracting title from document image
EP1252603A1 (en) * 2000-02-01 2002-10-30 Scansoft, Inc. Automatic conversion of static documents into dynamic documents
US7305612B2 (en) * 2003-03-31 2007-12-04 Siemens Corporate Research, Inc. Systems and methods for automatic form segmentation for raster-based passive electronic documents
US7756871B2 (en) * 2004-10-13 2010-07-13 Hewlett-Packard Development Company, L.P. Article extraction
JP4789516B2 (ja) * 2005-06-14 2011-10-12 キヤノン株式会社 文書変換装置、文書変換方法並びに記憶媒体
GB2428114A (en) * 2005-07-08 2007-01-17 William Alan Hollingsworth Data Format Conversion System
JP2007124489A (ja) * 2005-10-31 2007-05-17 Kyocera Mita Corp 画像形成装置
KR100664311B1 (ko) * 2005-11-18 2007-01-04 삼성전자주식회사 자동 인덱스 생성이 가능한 화상형성장치 및 그 자동인덱스 생성방법
US7810026B1 (en) * 2006-09-29 2010-10-05 Amazon Technologies, Inc. Optimizing typographical content for transmission and display
JP5125238B2 (ja) * 2007-06-06 2013-01-23 コニカミノルタビジネステクノロジーズ株式会社 文書処理装置、文書処理方法および文書処理プログラム
US8260049B2 (en) * 2007-09-28 2012-09-04 Abbyy Software Ltd. Model-based method of document logical structure recognition in OCR systems
US8392816B2 (en) * 2007-12-03 2013-03-05 Microsoft Corporation Page classifier engine

Also Published As

Publication number Publication date
JP2011065621A (ja) 2011-03-31
US8824798B2 (en) 2014-09-02
US20110044539A1 (en) 2011-02-24

Similar Documents

Publication Publication Date Title
JP5663866B2 (ja) 情報処理装置及び情報処理プログラム
KR101363808B1 (ko) 문서 콘텐츠의 순서화
JP4343213B2 (ja) 文書処理装置および文書処理方法
JP4682284B2 (ja) 文書差分検出装置
US20070136660A1 (en) Creation of semantic objects for providing logical structure to markup language representations of documents
JP4785655B2 (ja) 文書処理装置及び文書処理方法
EP2159736A2 (en) Image processing apparatus, image processing method and image processing program
JPS61267177A (ja) 文書画像追加情報の蓄積方法
JPH11250041A (ja) 文書処理装置および文書処理方法
JP5321109B2 (ja) 情報処理装置及び情報処理プログラム
JP4623169B2 (ja) 画像処理装置及び画像処理プログラム
JP2007304864A (ja) 文字認識処理システムおよび文字認識処理プログラム
US8804139B1 (en) Method and system for repurposing a presentation document to save paper and ink
JP6003705B2 (ja) 情報処理装置及び情報処理プログラム
JP2003288334A (ja) 文書処理装置及び文書処理方法
CN114359943A (zh) Ofd版式文档段落识别方法及装置
JPH11184894A (ja) 論理要素抽出方法および記録媒体
JP5446877B2 (ja) 目次構造特定装置
JP2006221569A (ja) 文書処理システム、文書処理方法、プログラムおよび記憶媒体
US9049400B2 (en) Image processing apparatus, and image processing method and program
JP2008129793A (ja) 文書処理システムおよび装置および方法、およびプログラムを記録した記録媒体
JP2009251872A (ja) 情報処理装置及び情報処理プログラム
JP2015005100A (ja) 情報処理装置、テンプレート生成方法、およびプログラム
KR20090098650A (ko) 정보 처리 장치, 정보 처리 방법 및 컴퓨터 판독 가능한 기억 매체
JP2007310501A (ja) 情報処理装置、その制御方法、及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20121115

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20131003

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20131015

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20131202

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140527

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140711

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20141111

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20141124

R150 Certificate of patent or registration of utility model

Ref document number: 5663866

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350