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

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

Info

Publication number
JP5321109B2
JP5321109B2 JP2009031158A JP2009031158A JP5321109B2 JP 5321109 B2 JP5321109 B2 JP 5321109B2 JP 2009031158 A JP2009031158 A JP 2009031158A JP 2009031158 A JP2009031158 A JP 2009031158A JP 5321109 B2 JP5321109 B2 JP 5321109B2
Authority
JP
Japan
Prior art keywords
paragraph
rectangle
line
character
information
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.)
Expired - Fee Related
Application number
JP2009031158A
Other languages
English (en)
Other versions
JP2010186389A (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 JP2009031158A priority Critical patent/JP5321109B2/ja
Priority to US12/510,656 priority patent/US20100211871A1/en
Priority to CN200910167109.3A priority patent/CN101807179B/zh
Publication of JP2010186389A publication Critical patent/JP2010186389A/ja
Application granted granted Critical
Publication of JP5321109B2 publication Critical patent/JP5321109B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • G06F40/109Font handling; Temporal or kinetic typography
    • 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
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Computer Graphics (AREA)
  • Geometry (AREA)
  • Multimedia (AREA)
  • Character Input (AREA)
  • Document Processing Apparatus (AREA)

Description

本発明は、情報処理装置及び情報処理プログラムに関する。
電子ドキュメントを記述できる電子ドキュメントフォーマットが存在する。例えば、PDF(Portable Document Format)(登録商標)といわれるものがある。
このような電子ドキュメントでは、PC上で、その電子ドキュメントを表示することが行われる。
そして、その電子ドキュメントに記述されているテキスト情報を、操作者の操作に応じてPC上で選択し、コピー&ペースト等の処理が行われる。テキスト情報をPC上で選択する(例えば、電子ドキュメントを表示しているディスプレイ上に表示されているテキスト位置でマウスを左クリックしながらテキスト位置を右に移動させる等の動作でテキスト情報を選択することができる)場合、選択したテキスト位置が反転して、どのテキストを選択しているかを示すようなビューワが存在している。
一方、画像を文字認識して、電子ドキュメントを生成することも行われている。
これに関連する技術として、例えば、特許文献1には、入力画像より文字もしくは文字の要素に外接する矩形を抽出する矩形抽出手段、該矩形抽出手段により抽出された矩形内の画像に対し、指定可能な複数のモード中より指定されたモードに従った変倍処理を施す変倍処理手段、前記矩形抽出手段により抽出された矩形の座標を、指定可能な複数のモード中より指定されたモードに従って変換する座標変換手段、及び、前記変換後の矩形内画像を前記座標変換手段により変換後の座標に従って印字位置を制御し印刷する出力手段を具備する文字列整形装置が開示されている。
また、例えば、特許文献2には、認識された文字を、記載されているテキストと文字の大きさや位置等を等しく、アウトフォントで描けるようにすることを目的とし、テキストコード情報と文字のレイアウト情報を有する認識文字に関する情報を得る認識手段と、文字のアウトフォントデータを保持するアウトフォントテーブルと、これを参照して、得られた認識文字に外接する矩形を、アウトラインフォントの文字ボックスと描かれる文字部領域との比で拡大し、拡大された外接矩形を文字ボックスデータとして用いて情報を修正する文字ボックス拡大手段と、認識された文字列中の区切りを判定する手段と、当該区切りの間の文字数で文字ボックスの幅を均等に割り付けて得られた幅で拡大された外接矩形からなる文字ボックスデータを修正する手段を有し、情報に基づいてアウトフォントにより文字を描いた時に小さくなることを回避し、また、区切られた文字列をまとめて取り扱うことを可能としていることが開示されている。
特開平04−167188号公報 特許平06−176188号公報
本発明は、電子文書内の画素塊を囲む矩形の位置及び大きさを揃えて、ラインの形状を整えるようにした情報処理装置及び情報処理プログラムを提供することを目的としている。
かかる目的を達成するための本発明の要旨とするところは、次の各項の発明に存する。
請求項1の発明は、電子文書内の画素塊を囲む矩形に関する情報を用いて、該電子文書内の行又は列であるラインを抽出するライン抽出手段と、前記ライン抽出手段によって抽出されたラインに応じて、前記電子文書内の段落を抽出する段落抽出手段と、前記段落抽出手段によって抽出された段落を統合する段落統合手段と、前記段落統合手段で統合された段落中のラインである行の高さ又は列の幅、及びラインを構成する画素塊の位置に基づいて、該統合された段落内の画素塊を囲む矩形の位置、大きさ及び該矩形と該画素塊との位置関係を算出する矩形算出手段と、前記矩形算出手段によって算出された矩形に関する情報と該矩形内の画素塊を対応付けた文字データを生成する文字データ生成手段を具備し、前記文字データ生成手段は、前記電子文書内に存在する複数の類似している文字の重点を一致させるように位相を移動させて高解像度文字画像を生成し、該高解像度文字画像からフォント・データを生成し、該複数の類似している文字の文字データとして、該フォント・データへのインデックスと、各文字の前記矩形算出手段によって算出された矩形に関する情報との組み合わせを文字データとして生成することを特徴とする情報処理装置である。
請求項の発明は、前記電子文書内の画素塊を囲む矩形に関する情報として、該画素塊を囲む矩形の高さ又は幅方向の位置を含み、前記ライン抽出手段は、前記画素塊の矩形の高さ又は幅方向の位置を用いて、該画素塊を含むラインである各行の高さ又は各列の幅を抽出することを特徴とする請求項1に記載の情報処理装置である。
請求項の発明は、前記段落抽出手段は、前記ライン抽出手段によって抽出されたラインである各行の高さ又は各列の幅、及び該ラインの高さ又は幅方向の位置を用いて段落を抽出することを特徴とする請求項1又は2に記載の情報処理装置である。
請求項の発明は、前記段落抽出手段は、前記ライン抽出手段によって抽出されたラインと、処理対象としている段落との位置関係に基づいて段落を抽出することを特徴とする請求項1からのいずれか一項に記載の情報処理装置である。
請求項の発明は、前記段落抽出手段は、抽出した段落に関する情報として、該段落を囲む外接矩形の位置に関する情報を算出することを特徴とする請求項1からのいずれか一項に記載の情報処理装置である。
請求項の発明は、前記段落抽出手段は、同一行又は同一列に属するラインが複数存在する場合には、該ラインを順序付けすることを特徴とする請求項1からのいずれか一項に記載の情報処理装置である。
請求項の発明は、前記段落抽出手段は、抽出した段落に関する情報として、該段落に含まれるラインである各行の高さ又は各列の幅を用いて、該段落の代表値を算出し、前記段落統合手段は、前記段落抽出手段で抽出された段落の代表値を用いて段落を統合することを特徴とする請求項1からのいずれか一項に記載の情報処理装置である。
請求項の発明は、前記矩形算出手段は、前記段落統合手段によって統合された段落内で、ラインである行の高さ又は列の幅を統一し、画素塊間に隙間が生じないように、該統合された段落内の画素塊を囲む矩形の位置及び大きさを算出することを特徴とする請求項1からのいずれか一項に記載の情報処理装置である。
請求項の発明は、前記矩形算出手段は、前記電子文書内の文字の言語に基づいて、前記画素塊を囲む矩形の大きさを算出することを特徴とする請求項1からのいずれか一項に記載の情報処理装置である。
請求項10の発明は、コンピュータを、電子文書内の画素塊を囲む矩形に関する情報を用いて、該電子文書内の行又は列であるラインを抽出するライン抽出手段と、前記ライン抽出手段によって抽出されたラインに応じて、前記電子文書内の段落を抽出する段落抽出手段と、前記段落抽出手段によって抽出された段落を統合する段落統合手段と、前記段落統合手段で統合された段落中のラインである行の高さ又は列の幅、及びラインを構成する画素塊の位置に基づいて、該統合された段落内の画素塊を囲む矩形の位置、大きさ及び該矩形と該画素塊との位置関係を算出する矩形算出手段と、前記矩形算出手段によって算出された矩形に関する情報と該矩形内の画素塊を対応付けた文字データを生成する文字データ生成手段として機能させ、前記文字データ生成手段は、前記電子文書内に存在する複数の類似している文字の重点を一致させるように位相を移動させて高解像度文字画像を生成し、該高解像度文字画像からフォント・データを生成し、該複数の類似している文字の文字データとして、該フォント・データへのインデックスと、各文字の前記矩形算出手段によって算出された矩形に関する情報との組み合わせを文字データとして生成することを特徴とする情報処理プログラムである。
請求項1の情報処理装置によれば、本構成を有していない場合に比較して、電子文書内の画素塊を囲む矩形の位置及び大きさを揃えて、ラインの形状を整えることができる。また、電子文書を再生するための文字データを生成することができる。そして、本構成を有していない場合に比較して、電子文書内の画素塊を表す情報を削減することができる。
請求項の情報処理装置によれば、予め定めた値ではなく、その電子文書内のラインに合わせて各行の高さ又は各列の幅を抽出することができる。
請求項の情報処理装置によれば、予め定めた値ではなく、その電子文書内のラインに合わせて段落を抽出することができる。
請求項の情報処理装置によれば、本構成を有していない場合に比較して、段落抽出の誤りを低減することができる。
請求項の情報処理装置によれば、本構成を有していない場合に比較して、抽出した段落に関する情報を抽出することができる。
請求項の情報処理装置によれば、本構成を有していない場合に比較して、同一行又は同一列に属するラインが複数存在する場合にも対応することができる。
請求項の情報処理装置によれば、本構成を有していない場合に比較して、予め定めた値ではなく、その電子文書内のラインに合わせて段落を統合することができる。
請求項の情報処理装置によれば、本構成を有していない場合に比較して、その電子文書内の画素塊の大きさ又は画素塊の間隔が一定でない場合であっても、ラインの形状を整えることができる。
請求項の情報処理装置によれば、本構成を有していない場合に比較して、その言語に用いられる文字の特徴に沿った画素塊を囲む矩形の大きさを算出することができる。
請求項10の情報処理プログラムによれば、本構成を有していない場合に比較して、電子文書内の画素塊を囲む矩形の位置及び大きさを揃えて、ラインの形状を整えることができる。また、電子文書を再生するための文字データを生成することができる。そして、本構成を有していない場合に比較して、電子文書内の画素塊を表す情報を削減することができる。
本実施の形態の構成例についての概念的なモジュール構成図である。 ライン認識処理モジュールによるラインの抽出処理例を示す説明図である。 ライン認識処理モジュールによるラインの抽出処理例を示す説明図である。 ライン特徴算出モジュールによるライン特徴の抽出処理例を示す説明図である。 本実施の形態による段落の認識処理例を示すフローチャートである。 段落情報の更新に関する処理例を示す説明図である。 本実施の形態による段落登録の可否処理例を示すフローチャートである。 左右のずれによって段落登録が行われない場合の例を示す説明図である。 文字サイズによって段落登録が行われない場合の例を示す説明図である。 同じ行に複数行がある状態例を示す説明図である。 段落統合処理モジュールによる段落の統合処理例を示すフローチャートである。 補正矩形生成モジュールによる補正矩形の生成処理例を示す説明図である。 より高品位な文字形状データの生成処理例を示す説明図である。 文字位置によりラインに対する相対位置が異なることを示す説明図である。 文字形状データと補正文字データの関係例を示す説明図である。 本実施の形態による補正文字情報データのデータ構造例とフォントファイルのデータ構造例を示す説明図である。 本実施の形態を実現するコンピュータのハードウェア構成例を示すブロック図である。 電子ドキュメントのテキストが表示されている例を示す説明図である。 テキストを選択した状態の電子ドキュメントの表示例を示す説明図である。 別のアプリケーションにテキストを複写した場合の別の電子ドキュメントの表示例を示す説明図である。 画像処理後のフォントを埋め込んだ電子ドキュメントにおいて、テキストを選択した状態の表示例を示す説明図である。 別のアプリケーションにテキストを複写した場合の別の電子ドキュメントの表示例を示す説明図である。
まず、本実施の形態が対象とする電子ドキュメントについて説明する。
例えば、図18に示す例のように「美しい日本」という文字列が表示されている電子ドキュメント1800の「美しい日本」のテキストをPC上で選択すると、図19に示す例のように「美しい日本」の部分が反転して(図19の例に示す選択テキスト1901)、「美しい日本」が選択されたことをユーザに示すことができる。
あるいは、前述のようにテキストを選択した状態で、PC上でコピー&ペーストを行うと、別のファイル上に「美しい日本」というテキスト情報をコピーすることが可能となる。図20に示す例のように、ワードプロセッサ等のような別のアプリケーションファイル(図20の例に示す電子ドキュメント2000)上に、テキスト情報をペーストすることができる。
次に、このような電子ドキュメント内の文字形状を指定するため、PDFなどのように、フォント情報を電子ドキュメント内に包含させることができるものがある。電子ドキュメントを表示あるいはプリントする場合に、電子ドキュメントを作成するユーザの意図通りの文字形状を復元するため、電子ドキュメント内にフォント情報(文字形状情報)を埋め込んでしまう。このように電子ドキュメント内にフォント情報を埋め込んでしまうことによって、同じフォント情報を持っていない電子ドキュメントの受け手(プリンタ、PC等)が、電子ドキュメントの作成者と全く同じ文字形状を復元することができるようになる。
前述したように、電子ドキュメント内の文字形状を指定するためにフォント情報(文字形状情報)を埋め込む際に、電子ドキュメントの受け手(プリンタ、PC等)のデバイス情報に合わせて文字部分の解像度を上げたり、編集や再利用が可能なようにアウトライン化するなどの処理が行われる。ここで文字のアウトライン化とは、文字の輪郭形状をベジエのような曲線で近似して表す方法である。
このように、文字形状を指定するためのフォント情報の文字部分に前述したような画像処理が施された場合に、文字部分の画像処理に応じた適切なフォント情報の更新が行われないと、電子ドキュメントをビューワで閲覧した場合のテキスト情報選択動作の挙動がオリジナルの電子ドキュメントと異なることがある。
例えば図21に示す例のように、「美しい日本」のテキストを選択したことを示す反転矩形形状(図21の例に示す選択テキスト2101から2105)が、図19で示した例のように整った長方形の反転矩形形状にはならず、各文字で矩形が独立し、さらにはその大きさも異なる矩形形状となり、反転矩形形状の品質が低下する。
また、この状態でワードプロセッサ等のような別のアプリケーションファイル(図22の例に示す電子ドキュメント2200)上に、テキスト情報をコピー&ペーストすると、図22に示す例のように「美しい日本」の各文字の文字サイズがばらばらとなり、電子ドキュメントの再利用性(元の文字と同じ大きさ等を再現できない等)が低下する。
これは文字部分の画像処理によりオリジナルのフォント情報に存在した“文字列として選択された場合の形状も考慮した”矩形情報が失われているか、あるいは適切に情報の修正が行われていないことに起因する。
したがって、反転矩形形状を整ったものにするためには、電子ドキュメント内に埋め込む文字矩形情報を適切に修正する必要がある。
本実施の形態によって出力される電子ドキュメントは、フォントファイルとしてフォント情報が埋め込まれており、その文字列を選択した場合における反転矩形形状の品質劣化等が抑制されたものである。
次に、本実施の形態の概要について説明する。
本実施の形態では、電子ドキュメントに埋め込まれるフォント情報内の矩形情報の修正を、文字毎の情報にのみ基づくのではなく、その電子ドキュメント全体から矩形情報の修正に必要な情報を抽出又は算出(段落の抽出、その段落の統合処理等を含む)して、それらに基づいて文字毎の矩形の修正を行うものである。
また、電子ドキュメント内の類似する文字形状データを1つの代表文字形状データで置き換えることを行う場合においても、文字毎の矩形が隣り合う文字同士で揃わない、又は文字位置がずれる等の文書品質劣化を抑制するものである。
具体的には、横書きの電子ドキュメントの場合は以下(A1からA7)のようにする。
(A1)電子ドキュメント内の文字外接矩形情報(その電子ドキュメント内の座標値(絶対座標値又は相対座標値のいずれであってもよい)及び矩形サイズ(例えば、その矩形の高さ、幅の組))から行を抽出する。なお、文字外接矩形情報とは、電子ドキュメント内の文字を囲む矩形(外接矩形)に関する情報である。
(A2)行に関する特徴情報(例えば、行中の全ての文字外接矩形が収まるような最小値、行矩形サイズ、行座標値等)を求める。
(A3)複数の行からなる段落を行に関する特徴情報に基づいて抽出し、その段落に関する特徴を算出する。
(A4)その算出された段落に関する特徴に基づいて、複数の段落を統合する。
(A5)統合された段落に含まれる各行の行に関する特徴情報から矩形高さ及び矩形幅を決定する。
(A6)決定した矩形高さ及び矩形幅に基づいて、文字毎の矩形情報を生成する。また矩形中の文字位置を表す座標値(矩形左上座標からのオフセット値)を算出する。
(A7)さらに文字形状データを参照する索引(文字形状データインデックス)を生成し、矩形情報及び文字位置を表す座標値(オフセット値)と前記文字形状データインデックスをまとめて1つの文字データのセットとする。ここで類似する文字形状データを1つの代表文字形状データで置き換える場合には、前記文字形状データインデックスが代表文字形状データを参照するように文字データを生成する。
また、縦書きの電子ドキュメントの場合は以下(B1からB7)のようにする。
(B1)電子ドキュメント内の文字外接矩形情報(その電子ドキュメント内の座標値(絶対座標値又は相対座標値のいずれであってもよい)及び矩形サイズ(例えば、その矩形の高さ、幅の組))から列を抽出する。なお、文字外接矩形情報とは、電子ドキュメント内の文字を囲む矩形(外接矩形)に関する情報である。
(B2)列に関する特徴情報(例えば、列中の全ての文字外接矩形が収まるような最小値、列矩形サイズ、列座標値等)を求める。
(B3)複数の列からなる段落を列に関する特徴情報に基づいて抽出し、その段落に関する特徴を算出する。
(B4)その算出された段落に関する特徴に基づいて、複数の段落を統合する。
(B5)統合された段落に含まれる各列の列に関する特徴情報から矩形高さ及び矩形幅を決定する。
(B6)決定した矩形高さ及び矩形幅に基づいて、文字毎の矩形情報を生成する。また矩形中の文字位置を表す座標値(矩形左上座標からのオフセット値)を算出する。
(B7)さらに文字形状データを参照する索引(文字形状データインデックス)を生成し、矩形情報及び文字位置を表す座標値(オフセット値)と前記文字形状データインデックスをまとめて1つの文字データのセットとする。ここで類似する文字形状データを1つの代表文字形状データで置き換える場合には、前記文字形状データインデックスが代表文字形状データを参照するように文字データを生成する。
本実施の形態は、電子ドキュメント内の文字外接矩形情報から、行又は列を抽出し、その抽出した行又は列に基づいて、文字列を選択した場合にでも反転矩形形状が揃うように文字矩形情報の幅又は高さの修正を行い、文字列選択時の反転矩形形状の劣化を抑えるようにしたものである。
また、本実施の形態は、文字矩形情報(文字位置を表すオフセット値を含む)と文字形状データを文字形状データへのインデックス参照という形で分離することにより、代表文字形状データを用いる場合でも矩形が揃わない、又は文字位置がずれる等の文書品質劣化を抑えるようにしたものである。
以下、図面に基づき本発明を実現するにあたっての好適な一実施の形態の例を説明する。
図1は、本実施の形態の構成例についての概念的なモジュール構成図を示している。
なお、モジュールとは、一般的に論理的に分離可能なソフトウェア(コンピュータ・プログラム)、ハードウェア等の部品を指す。したがって、本実施の形態におけるモジュールはコンピュータ・プログラムにおけるモジュールのことだけでなく、ハードウェア構成におけるモジュールも指す。それゆえ、本実施の形態は、コンピュータ・プログラム、システム及び方法の説明をも兼ねている。ただし、説明の都合上、「記憶する」、「記憶させる」、これらと同等の文言を用いるが、これらの文言は、実施の形態がコンピュータ・プログラムの場合は、記憶装置に記憶させる、又は記憶装置に記憶させるように制御するの意である。また、モジュールは機能にほぼ一対一に対応しているが、実装においては、1モジュールを1プログラムで構成してもよいし、複数モジュールを1プログラムで構成してもよく、逆に1モジュールを複数プログラムで構成してもよい。また、複数モジュールは1コンピュータによって実行されてもよいし、分散又は並列環境におけるコンピュータによって1モジュールが複数コンピュータで実行されてもよい。なお、1つのモジュールに他のモジュールが含まれていてもよい。また、以下、「接続」とは物理的な接続の他、論理的な接続(データの授受、指示、データ間の参照関係等)の場合にも用いる。
また、システム又は装置とは、複数のコンピュータ、ハードウェア、装置等がネットワーク(一対一対応の通信接続を含む)等の通信手段で接続されて構成されるほか、1つのコンピュータ、ハードウェア、装置等によって実現される場合も含まれる。「装置」と「システム」とは、互いに同義の用語として用いる。「予め定められた」とは、対象としている処理の前であることをいい、本実施の形態による処理が始まる前、本実施の形態による処理が始まった後であっても、そのときの状況・状態に応じて、又はそれまでの状況・状態に応じて定まることの意を含めて用いる。
以下、行又は列をラインと称する。また、横書きの電子ドキュメントを対象とした場合を主に説明する。したがって、横書きの場合の行の高さ又は縦書きの場合の列の幅として、行の高さを主に例示して説明する。
また、画素塊とは、4連結又は8連結で連続する画素領域を少なくとも含み、これらの画素領域の集合をも含む。これらの画素領域の集合とは、4連結等で連続した画素領域が複数あり、その複数の画素領域は近傍にあるものをいう。ここで、近傍にあるものとは、例えば、互いの画素領域が距離的に近いもの、文章としての1行から1文字ずつ切り出すように縦又は横方向に射影し、空白地点で切り出した画像領域、又は予め定められた間隔で切り出した画像領域等がある。例えば、文字認識処理を行って、1文字として認識された画像を1つの画素塊としてもよい。
なお、1つの画素塊として、1文字の画像となる場合が多い。本実施の形態では、画素塊のことを文字又は文字画像ともいう。
本実施の形態は、図1に示すように、ライン認識処理モジュール110、ライン特徴算出モジュール120、段落認識処理モジュール130、段落統合処理モジュール140、補正矩形生成モジュール150、補正文字データ生成モジュール160を有している。
ライン認識処理モジュール110は、ライン特徴算出モジュール120と接続されており、文字情報データ105を用いて、その電子ドキュメント内の行又は列であるラインを抽出し、その抽出したラインに関する情報をライン特徴算出モジュール120へ渡す。
ライン認識処理モジュール110について、より詳細に説明する。
ライン認識処理モジュール110は、文字情報データ105を受け付ける。ここでいう文字情報データ105とは、電子ドキュメント内の画素塊の矩形に関する情報を少なくとも含む。例えば、前述の文字外接矩形情報、フォント情報であってもよい。また、画素塊に対応している文字の認識順序に関する情報(文字認識装置によって認識順に順序付けられた番号)が含まれていてもよい。例えば、電子ドキュメント中における文字の座標(例えば、文字を囲む外接矩形の左上座標)、文字の大きさを表す外接矩形サイズ(外接矩形の幅、高さ)、文字形状、文字コード、文字の順序情報、縦書き文字なのか横書き文字なのかを表す情報などである。本実施の形態では、これらの文字情報データ105を文字認識装置から受け取った場合について説明する。ただし、文字認識装置に限る必要はなく、文字の外接矩形を受け取って、同等の文字情報データ105を生成するようにしてもよい。
次にライン認識処理モジュール110は、受け付けた文字情報データ105に基づいて、電子ドキュメント内のラインを抽出する。例えば、横書きの場合、外接矩形の高さ方向の位置(y座標)を用いて、その外接矩形を含むラインである各行の高さを抽出する。縦書きの場合、外接矩形の幅方向の位置(x座標)を用いて、その外接矩形を含むラインである各列の幅を抽出する。より詳細な例について、図2、図3に行抽出の手法例を示す。
図2は、ライン認識処理モジュール110が外接矩形の座標値に基づいて行を認識する手法の例を示している。
ライン認識処理モジュール110は、図2(a)の例に示すように、注目文字情報データの外接矩形(注目外接矩形212)の左上y座標(upper_y)が、その一つ前の文字情報データの外接矩形(注目外接矩形211)の左下y座標(lower_y)より小さいときは(upper_y<lower_y)、その注目文字情報データの外接矩形(注目外接矩形212)は、注目外接矩形211と同じ行であると認識する。なお、左上を原点(0,0)として、x座標は右方向へ、y座標は下方向へ向かうと数値が増える座標系である。
また、図2(b)の例に示すように、注目文字情報データの外接矩形(注目外接矩形222)の左上y座標(upper_y)が、その一つ前の文字情報データの外接矩形(注目外接矩形221)の左下y座標(lower_y)より大きいときは(lower_y<upper_y)、異なる行であると認識する。
そして、同じライン内にあると認識された文字情報データの列をライン特徴算出モジュール120へ渡す。
なお、受け付けた文字情報データは、文字画像の外接矩形の出現順序(例えば、横書きの場合は、左上から右へ走査し、次の行ではまた左から右へ走査した順番に並んでいる)となっているので、一つ前の文字情報データの外接矩形とは、出現順序で一つ前である。また、外接矩形の左上の座標を用いてソートしてもよい。
図3は、ライン認識処理モジュール110が外接矩形間の距離に基づいて行を認識する手法の例を示している。
ライン認識処理モジュール110は、図3(a)の例に示すように、注目文字情報データの外接矩形(注目外接矩形303)と、その一つ前の文字情報データの外接矩形(外接矩形302)との外接矩形間距離311(以下、現外接矩形間距離ともいう)が、現在処理している行において、既に同一行であると認識された各外接矩形間の距離の平均値(以下、平均外接矩形間距離ともいう)をα倍した値以下である場合は(つまり、現外接矩形間距離≦平均外接矩形間距離×αを満たす場合)、注目外接矩形303は外接矩形302と同じ行であると認識する。なお、αは、ライン認識パラメータであり、予め定められた値である。例えば、文字情報データに応じて定められる。
また、図3(b)の例に示すように、注目文字情報データの外接矩形(注目外接矩形323)と、その一つ前の文字情報データの外接矩形(外接矩形322)との外接矩形間距離331が、現在処理している行における平均外接矩形間距離をα倍した値より大である場合は(現外接矩形間距離>平均外接矩形間距離×α)、注目外接矩形323は外接矩形322とは異なる行であると認識する。
ライン特徴算出モジュール120は、ライン認識処理モジュール110、段落認識処理モジュール130と接続されており、行高列幅算出モジュール121、矩形間距離算出モジュール122を有している。ライン認識処理モジュール110により同じラインと認識された文字情報データを受け取り、そのラインに関する特徴を算出し、その算出したラインに関する情報を段落認識処理モジュール130へ渡す。行高列幅算出モジュール121は行の高さを算出し、矩形間距離算出モジュール122は矩形間の距離を算出する。
つまり、ライン認識処理モジュール110によって同じ行と認識された文字情報データ列から行高さ、行幅、行外接矩形座標、平均外接矩形間距離などのラインに関する特徴を算出する。
ライン特徴算出モジュール120は、同じ行に属する文字情報データの外接矩形を含む矩形を求める。例えば、図4の例に示すように、同一行内の外接矩形401から外接矩形419を囲む矩形である行外接矩形450を求める。そして、行外接矩形座標として、図4で示すように行外接矩形の左上(min_x, min_y)、右下(max_x, max_y)を求める。
また、行高列幅算出モジュール121は、行高さ(h)を先に求めた行外接矩形座標を用いて、h = max_y − min_y として求める。同様に、行幅(w)を行外接矩形座標を用いて、w = max_x − min_x として求める。これらの行高さ、行幅は、各外接矩形のサイズ(高さ、幅)又はその座標を用いて求める。
また、矩形間距離算出モジュール122は、平均文字外接矩形間距離を、同じ行に属する隣接する文字情報データの外接矩形間距離g0, g1, ……, gnの平均値として求める。また、最大外接矩形間距離max_gを、g0, g1, ……, gnのうちの最大値として求める。なお、リストデータとしてg0, g1, …… , gnのそれぞれの値も保持するようにしてもよい。
段落認識処理モジュール130は、ライン特徴算出モジュール120、段落統合処理モジュール140と接続されており、ライン認識処理モジュール110で認識された各行、それら各行についてライン特徴算出モジュール120で算出されたライン特徴量から、電子ドキュメント内の段落を抽出し、その段落情報を算出する。また、横書きの場合、段落の抽出は、ライン認識処理モジュール110によって抽出された各行の高さ及びそのラインの座標(高さ方向の位置(y座標))を用いて行うようにしてもよい。縦書きの場合、段落の抽出は、ライン認識処理モジュール110によって抽出された各列の幅及びそのラインの座標(幅方向の位置(x座標))を用いて行うようにしてもよい。また、ライン認識処理モジュール110によって抽出されたラインと、処理対象としている段落との位置関係に基づいて段落を抽出するようにしてもよい。また、その抽出した段落に関する情報として、その段落を囲む外接矩形の位置に関する情報を算出してもよく、又はその段落の順序に関する情報をその段落に含まれる文字の出現順序に関する情報から算出するようにしてもよい。また、横書きの場合、同一行に属するラインが複数存在する場合には、そのラインを順序付けするようにしてもよい。縦書きの場合、同一列に属するラインが複数存在する場合には、そのラインを順序付けするようにしてもよい。段落を囲む外接矩形の位置に関する情報として、例えば、段落外接矩形の左上角の座標値、段落外接矩形の幅、高さ等がある。また、段落認識処理モジュール130は、それが認識した段落に関する情報として、その段落に含まれるラインの高さ又は幅(横書きの場合は各行の高さ、縦書きの場合は各列の幅)を用いて、その段落の代表値を算出するようにしてもよい。段落の代表値として、より具体的には、横書きの場合、同一段落として認識された段落内に含まれている行のうち、最も行高さが大きい値をいう。縦書きの場合、同一段落として認識された段落内に含まれている列のうち、最も列幅が大きい値をいう。
図5は、本実施の形態による段落の認識処理例を示すフローチャートである。つまり、段落認識処理モジュール130が行う処理例を示すものである。
ステップS502では、まず初めにライン認識処理モジュール110で認識された行に関して、行外接矩形のy座標値であるmin_y値で昇順にソートする。
ステップS504では、ステップS502でソートされた行を全て探索(ステップS506からステップS514までの処理)したかどうかを判定する。全て探索されていればステップS516に、探索が終了していなければステップS506に処理を移す。
ステップS506では、注目する行(以降は、現探索行ともいう)をソート順に選択する。
ステップS508では、現探索行に関して段落に登録されているかどうかを判定する。現探索行が段落に登録されているならば処理をステップS504に戻し、登録されていなければステップS510に処理を移す。
ステップS510では、現探索行が現段落における最初の登録行かどうかを判定する。現探索行が現段落における最初の登録行であれば処理をステップS514に移し、最初の登録行でなければステップS512に処理を移す。
ステップS512では、現段落に対して現探索行が登録できるかどうかを判定する。現探索行が現段落に登録可能ならば処理をステップS514に移し、登録できないならば処理をステップS504に戻す。なお、ステップS512における現探索行の登録可否処理の詳細は、図7を用いて後で詳しく説明する。
ステップS514では、現段落に対して、最初の登録行であるか、又は登録可能な行であると、それぞれステップS510又はステップS512で判定されている現探索行を現段落に登録し、段落情報を算出又は更新する。その後、処理をステップS504に移す。
ここで、図6に段落情報の具体的な例を示す。段落情報として、例えば、その段落の位置情報(例えば、左上座標及び右下座標)、段落順序値(その段落を読む際の順序)を含む。段落認識処理モジュール130は、図6の例に示すように、段落に登録されている行情報(登録行情報)を用いて、段落に登録された全ての行の行外接矩形(登録行0 600から登録行8 608)を含む矩形を段落外接矩形610として、その左上座標(min_x, min_y)及び右下座標(max_x, max_y)を算出する。また図6には図示していないが、同一段落に登録された各行のうち、最も行高さが大きい値max_hを算出し、段落代表値とする。同一段落に登録された文字情報データ中で最も小さい文字認識順序の値min_orderを算出し、段落順序値とする。
次に、段落情報の更新について説明する。段落認識処理モジュール130は、本ステップにおいて、現段落に新たな行を登録する場合は、先述の段落外接矩形座標及び段落順序値を更新する。図6に示す具体例では、新たに処理対象とする行を登録行8 608とすると、その登録行8 608の行外接矩形の幅は、現段落外接矩形座標の幅(min_x, max_x)内に収まっているので、min_x及びmax_xは更新せず、max_yだけ更新する(図6では、更新前max_yから更新後max_yへ更新する)。さらに、現段落の段落代表値と新たに登録される登録行8 608の行高さを比較して、現段落の段落代表値より登録行8 608の行高さが大きい場合には段落代表値max_hも更新する。つまり、登録行8 608の行高さを段落代表値max_hとし、段落代表値max_hをその段落内で最も大きい行高さとする。さらに、現段落順序値と新たに登録される登録行8 608中の全ての文字情報データの文字認識順序値を比較して、現段落順序値よりも小さい値がある場合には、段落順序値min_orderをその小さい値(文字認識順序値)に更新する。
ステップS516では、ステップS504でソート順に行の探索を終了しているので、現段落に登録すべき行は全て登録しているとして現段落の抽出処理を終了する。
ステップS518では、全ての行が段落登録されたかを判定する。全ての行がいずれかの段落に登録されていれば段落抽出処理を終了する(ステップS599)。いずれの段落にも登録されていない行がある場合には、処理をステップS504に戻し、次の段落抽出処理を行う。
次に、図5の例に示したフローチャートのステップS512において、段落認識処理モジュール130が処理する現探索行の登録可否処理例の詳細について、図7の例に示すフローチャートを用いて説明する。
ステップS702において、現探索行が現段落の段落外接矩形に対して、右又は左にずれているかを判定する。つまり、現探索行の左端が現段落の右端より右にあるか否か、又は現探索行の右端が現段落の左端より左にあるか否かを判定する。例えば、図8(a)の例に示すように、現探索行812が現段落810より右にずれているかどうか、又は図8(b)の例に示すように、現探索行832が現段落830よりも左にずれているかどうかを判定する。現探索行が図8の例のように右あるいは左にずれている場合には、現探索行は現段落に登録せず、図5の例に示したステップS504に処理を戻す。それ以外の場合は、処理をステップS704に移す。
ステップS704において、現探索行と現段落に登録された行の文字サイズ(行高さを含む)に基づいて、その現探索行を登録すべきか否かを判定する。つまり、現探索行が現段落内の登録行より文字サイズが大きいか小さいかを判定する。例えば、ステップS704における文字サイズの判定は、図9の例に示すように行高さを用いて行う。つまり、現段落920,950に既に登録された各行(行900から行908、行930から行938)の平均行高さと現探索行910,940の行高さを比較して、図9(a)の例に示すように、現探索行910の行高さが平均行高さより予め定められた量より大きい場合、又は図9(b)の例に示すように、現探索行940の行高さが平均行高さより予め定められた量より小さい場合は、現探索行910,940は現段落920,950に登録せず、図5の例に示したステップS504に処理を戻す。それ以外の場合は、処理をステップS706に移す。
ステップS706において、現探索行が現段落の段落外接矩形に対して、下にずれたかどうかを判定する。つまり、図6の例に示した現段落の段落外接矩形610のmax_y(図6では更新後max_y)と図4の例に示した現探索行の行外接矩形450のmin_yとを比較して、max_y ≦ min_yなら処理をステップS708に移し、max_y > min_yなら図5の例に示したステップS514に処理を移して、現探索行を現段落に登録し、段落情報を更新する。
ステップS708において、ステップS704と同様に現段落に登録された各行の平均行高さと現探索行の行高さを比較して、現探索行の行高さが平均行高さより予め定められた量より大きい場合、又は現探索行の行高さが平均行高さより予め定められた量より小さい場合は、現探索行は現段落に登録せず、図5の例に示したステップS504に処理を戻す。それ以外の場合は、処理をステップS710に移す。
ステップS710において、現探索行と現段落の行間と現段落に既に登録された各行の行間とを比較する。つまり、現段落に既に登録された各行の行間の平均値と現探索行と現段落の段落外接矩形との距離(min_y − max_y)を比較して、その差分が予め定められた量より大きい場合は行間が広がったと判定して現探索行は現段落に登録せず、図5の例に示したステップS504に処理を戻す。前記差分が予め定められた量より小さい場合は、行間は一定であると判定して、ステップS712に処理を移す。
ステップS712において、現探索行の一つ前の同一行に登録行が複数あるかどうかを判定し、同一行に複数登録行がある場合は、行外接矩形のx座標値であるmin_x値で昇順にソートする。ここで、同一行とは、行外接矩形のy座標が現探索行のそれと予め定められた範囲内にある行であって、ライン認識処理モジュール110では別々の行であると認識されたが、段落認識処理モジュール130による現段落の生成過程において、現探索行よりも前に登録された行(複数の場合もあり得る)のことをいう。ここで、y座標が予め定められた範囲内にあるとは、その段落において1行が存在するy座標の範囲内にあることをいう。同一行に複数登録行がない場合はそのまま図5の例に示したステップS514に処理を移して、現探索行を現段落に登録し、段落情報を更新する。図10の例は、同一行上に3つの登録行(登録行1010、登録行1011、登録行1012)がある場合を表しており、この図10の例では前記3つの登録行の行外接矩形の各x座標値である、「min_x」:登録行1010、「min_x」:登録行1011、「min_x」:登録行1012を用いて昇順でソートを行う。ソート処理終了後、図5の例に示したステップS514に処理を移して、現探索行を現段落に登録し、段落情報を更新する。
段落統合処理モジュール140は、段落認識処理モジュール130、補正矩形生成モジュール150と接続されており、段落認識処理モジュール130によって抽出された段落を統合して、その段落に関する情報を算出する。そして、その算出した段落に関する情報を補正矩形生成モジュール150に渡す。
より具体的に説明すると、段落統合処理モジュール140は、段落認識処理モジュール130で認識された段落を、各段落の段落代表値(max_h)を用いて統合する。
図11は、段落統合処理モジュール140が行う段落の統合処理例を示すフローチャートである。
ステップS1102において、段落認識処理モジュール130で認識された全ての段落の段落代表値max_hの差分値を算出し、その差分値が最小となる2つの段落を抽出する(このときの差分値を以下では「差分最小値」ともいう)。
ステップS1104において、ステップS1102で算出された差分最小値を予め定めた閾値と比較する。前記差分最小値が予め定めた閾値より大きい場合(ステップS1104でNO)は、これ以上統合すべき段落はないと判断して、段落認識処理モジュール130における段落統合処理を終了する(ステップS1199)。前記差分最小値がある所定の閾値より小さい場合(ステップS1104でYES)は、ステップS1106に処理を移す。
ステップS1106において、ステップS1102で差分最小値であるとして抽出された2つの段落を統合する。ここでいう段落の統合とは、段落代表値が近い段落同士であることを示すために、例えば2つの段落の段落情報に同じ識別番号などを付与あるいは追加するという意味である。
ステップS1108において、ステップS1106において統合された段落の段落代表値max_hを、統合元の2つの段落の段落代表値の大きい方で設定し、処理をステップS1102に戻す。つまり、統合後の段落の段落代表値max_hを、元の段落の段落代表値max_hのうち大きい値とする。
このように段落統合処理モジュール140は、前述したように、ステップS1102で算出する差分最小値がステップS1104において予め定めた閾値より大きくなるまでステップS1102からステップS1108の統合処理を繰り返して段落を統合する。
補正矩形生成モジュール150は、段落統合処理モジュール140、補正文字データ生成モジュール160と接続されており、段落統合処理モジュール140で統合された段落中のラインである行の高さ又は列の幅、及びラインを構成する画素塊の位置に基づいて、その統合された段落内の画素塊を囲む矩形の位置、大きさ及びその矩形とその画素塊との位置関係を算出する。そして、その算出した矩形に関する情報(画素塊を囲む矩形の位置、大きさ及びその矩形とその画素塊との位置関係が含まれ、この矩形を補正矩形ともいう)を補正文字データ生成モジュール160に渡す。
例えば、補正矩形生成モジュール150は、段落統合処理モジュール140によって統合された段落内で、ラインである行の高さ又は列の幅を統一し、文字間に隙間が生じないように、その統合された段落内の画素塊を囲む矩形の位置及び大きさを算出するようにしてもよい。また、電子ドキュメント内に同等の形状(つまり、文字画像として同等である場合又は外接矩形として同等である場合をいう。文字画像として同等であるとは、その文字画像の特徴を抽出し、特徴空間内で予め定めた閾値内の距離にあることをいう。外接矩形として同等であるとは、外接矩形の高さ及び幅が、他の外接矩形の幅及び高さと予め定めた閾値以下である場合をいう)の文字がある場合には、その文字を囲む矩形の位置及び大きさを同等の値とするようにしてもよい。また、電子ドキュメント内の文字の言語に基づいて、外接矩形の大きさを算出するようにしてもよい。
また、例えば、段落統合処理モジュール140で統合された段落の段落代表値max_hに基づいて、各行毎に分類された文字情報データの補正矩形を生成する。図12は補正矩形生成モジュール150における補正矩形生成処理の具体的な一例を示す。
補正矩形生成モジュール150では、図12の例に示す各補正値を以下のように算出する。
補正矩形高さHには、補正対象の文字情報データが属する統合段落の段落代表値max_hを設定する。
補正矩形幅Wは、左右隣り合った外接矩形間の中心から中心までの距離とする。つまり、注目外接矩形(図12内の現文字外接矩形1220)の左端と左隣の外接矩形(注目外接矩形よりも順序で1つ前の外接矩形、図12内の前文字外接矩形1210)の右端との中心から注目外接矩形(図12内の現文字外接矩形1220)の右端と右隣の外接矩形(注目外接矩形よりも順序で1つ後の外接矩形、図12内の次文字外接矩形1240)の左端との中心までの距離を、補正矩形幅Wとする。
図12の例に示すように、前文字外接矩形1210の右端のx座標をx0、現文字外接矩形1220の左端のx座標をx1、右端のx座標をx2、次文字外接矩形1240の左端のx座標をx3とすると、補正矩形幅Wは以下の式(1)で算出し得る。
W = (x2+x3−x0−x1)/2 ・・・・・ 式(1)
補正矩形1230の左上頂点の座標値(new_x,new_y)は、以下の式(2)で算出する。
new_x = (x0+x1)/2
new_y = min_y−(H−h)/2 ・・・・・ 式(2)
ここでmin_yは、補正対象の文字情報データが属する行のy座標の最小値、Hは補正矩形高さ、hは補正前の外接矩形高さである。
補正矩形1230から現文字外接矩形1220への相対移動量(オフセット量ともいい、画素塊を囲む矩形とその画素塊との位置関係の一例)であるshiftx、shiftyは、以下の式(3)で算出する。
shiftx = x1−new_x
shifty = y1−new_y ・・・・・ 式(3)
ここでy1は、現文字外接矩形1220の上端のy座標値である。
前述したように補正矩形生成モジュール150では、ライン認識処理モジュール110によって受け付けられた文字情報データ105の外接矩形情報から補正矩形を生成し、文字同士の矩形高さが揃い、また矩形同士の隙間が空かないような補正を行う。
また補正矩形生成モジュール150は、前述した補正に加えて、電子ドキュメント内の文字の言語に基づいて、補正後の文字矩形の大きさを算出するようにしてもよい。例えば、対象とする電子ドキュメントが日本語の場合には、補正後の文字矩形が正方形となるように、補正矩形幅Wを補正矩形高さHと等しくなるよう設定するようにしてもよい。なお、対象とする電子ドキュメント内の文字の言語の判断は、その電子ドキュメント内に含まれている言語に関するヘッダ、文字コード、画像である場合は文字認識処理の結果等を用いて行う。
次に、補正文字データ生成モジュール160を説明する。補正文字データ生成モジュール160は、補正矩形生成モジュール150と接続されており、補正矩形生成モジュール150によって算出された矩形に関する情報とその矩形内の画素塊を対応付けた補正文字情報データ165を生成する。また、補正文字データ生成モジュール160は、1つの画素塊を表す情報に対して、1つ又は複数の矩形に関する情報を対応付けて文字データを生成するようにしてもよい。
図13を用いて、より高品位な文字形状データの生成処理例を説明する。つまり、補正文字情報データ165内の文字形状を指定するためのフォント情報を埋め込む際に、電子ドキュメント内に存在する複数の類似している文字形状から、より高品位な一つの文字形状データ(代表文字形状データ)を構成して、それら代表文字形状データをアウトライン化する技術を説明する。
補正文字データ生成モジュール160は、文字情報データ105内の画素塊から、例えば、「2」という文字コードの文字情報データ105を対象とする。そして、同じ文字コードであることから、これらの文字画像は類似していると判定する。また、文字画像間の類似度を算出(例えば、両者の画像の排他的論理和をとり、異なる画素数の割合を算出等)して、その類似度を用いて類似する文字画像を判定するようにしてもよい。
補正文字データ生成モジュール160は、文字情報データ105から、図13の例に示すように、類似文字画像群1310内の文字画像1311、文字画像1312、文字画像1313を取り出す。そして、補正矩形生成モジュール150から受け取った矩形に関する情報から、それぞれの文字サイズ/文字位置データ1350を抽出し、「2」という文字画像の文字コード・データ1340を割り当てる。
補正文字データ生成モジュール160は、文字画像1311、文字画像1312、文字画像1313の重点(中心線1311A等の交差点)を求め、その重点を一致させるように位相を移動して高解像度文字画像1320を生成する。そして、高解像度文字画像1320からフォント・データ1330を生成する。そして、フォント・データ1330、文字コード・データ1340、文字サイズ/文字位置データ1350から補正文字情報データ165を形成する。
図14は、文字位置によりラインに対する相対位置が異なることを示す説明図である。つまり、一つの代表文字形状データで類似する文字形状データを置き換える場合には、代表文字形状データの矩形に関する情報をどのように生成したとしても、それで置き換えられる文字形状データの電子ドキュメント内の行に対する相対位置が異なるため、矩形に関する情報を揃えようとすると文字の相対位置がずれ、相対位置を揃えようとすると隣り合う文字同士の矩形位置がずれることになる。より具体的な例として、図14の例に示すように、代表文字の外接矩形1415、文字矩形1420、相対位置1425を、図14内の文字1と文字2に置き換える場合、文字矩形1420と外接矩形1415との関係を示す相対位置1425は、文字矩形1460と外接矩形1455との関係を示す相対位置1465又は文字矩形1480と外接矩形1475との関係を示す相対位置1485とは異なるため、文字1の相対位置1465、文字2の相対位置1485を相対位置1425にそのまま置き換えてしまうと前述したような品質の劣化が起きてしまう。
補正文字データ生成モジュール160は、図15の例に示すように、補正矩形生成モジュール150で生成された各文字位置における補正矩形に対応する代表文字形状データへのインデックス(参照値)を生成し、補正矩形データ(矩形高さH、矩形幅W、左上座標値(new_x,new_y)、相対移動量shiftx、shifty)と合わせて1つの補正文字データを生成する。
図15に示す具体例では、補正文字データ0 1520は、文字情報データ0の補正矩形データ1522と文字形状データ0 1510(「あ」の形状データ)へのインデックス1524で構成され、補正文字データ1 1540は、文字情報データ1の補正矩形データ1542と文字形状データ1 1530(「2」の形状データ)へのインデックス1544で構成され、補正文字データ2 1550は、文字情報データ2の補正矩形データ1552と文字形状データ1 1530(「2」の形状データ)へのインデックス1554で構成されている。図15の例に示すように、補正文字データ1 1540及び補正文字データ2 1550は、共通の文字形状データ1 1530へのインデックスを持つが、補正矩形データ(文字情報データ1の補正矩形データ1542と文字情報データ2の補正矩形データ1552)は異なる。このように、補正文字データ生成モジュール160は、文字形状データと各文字位置に依存する補正矩形データとを分離して、補正文字情報データ165を生成している。つまり、代表的な文字形状データ(図15の例では「2」の形状データ)で各文字位置における文字形状データを置き換えたとしても、文字位置のずれや隣り合う文字同士の補正矩形のずれは発生しないこととなる。
ここで、一般に電子ドキュメントのフォントファイルには、あるグリフ(「glyph」、ここでは字形という意味で使う)の内部に他のグリフを描画する仕組みを持つ。例えば、PostScriptフォントの場合はsubroutine、TrueTypeフォントの場合にはcompound glyphsと呼ばれる。図16(b)にPostScriptフォントの例を示している。図16(b)に示した例は、電子ドキュメント内には、その文字毎に、文字情報データ1の描画位置とサイズ1650と文字コード(CID)1655、文字情報データ2の描画位置とサイズ1660と文字コード(CID)1665があり、グリフは共通のsubroutine1670を用いていることを示している。
補正文字データ生成モジュール160で生成する補正文字情報データ165は、一般的な(標準化された)フォントファイルの仕組みをもって表現してもよい。その場合、補正文字情報データ165は、図16(a)の例に示すように、文字毎に、文字情報データ1の補正矩形データ1610と文字形状データ1へのインデックス1615、文字情報データ2の補正矩形データ1620と文字形状データ1へのインデックス1625をそれぞれ組み合わせ、グリフは共通の代表文字形状データである文字形状データ1 1630を用いている。これによって、電子ドキュメント内にこれら補正文字情報データ165をフォント情報として埋め込んで、その電子ドキュメントを描画する場合に、特有の描画方法や描画装置を用意する必要がなくなる。
図17を参照して、本実施の形態のハードウェア構成例について説明する。図17に示す構成は、例えばパーソナルコンピュータ(PC)などによって構成されるものであり、スキャナ等のデータ読み取り部1717と、プリンタなどのデータ出力部1718を備えたハードウェア構成例を示している。
CPU(Central Processing Unit)1701は、前述の実施の形態において説明した各種のモジュール、すなわち、ライン認識処理モジュール110、ライン特徴算出モジュール120、段落認識処理モジュール130、段落統合処理モジュール140、補正矩形生成モジュール150、補正文字データ生成モジュール160等の各モジュールの実行シーケンスを記述したコンピュータ・プログラムにしたがった処理を実行する制御部である。
ROM(Read Only Memory)1702は、CPU1701が使用するプログラムや演算パラメータ等を格納する。RAM(Random Access Memory)1703は、CPU1701の実行において使用するプログラムや、その実行において適宜変化するパラメータ等を格納する。これらはCPUバスなどから構成されるホストバス1704により相互に接続されている。
ホストバス1704は、ブリッジ1705を介して、PCI(Peripheral Component Interconnect/Interface)バスなどの外部バス1706に接続されている。
キーボード1708、マウス等のポインティングデバイス1709は、操作者により操作される入力デバイスである。ディスプレイ1710は、液晶表示装置又はCRT(Cathode Ray Tube)などがあり、各種情報をテキストやイメージ情報として表示する。
HDD(Hard Disk Drive)1711は、ハードディスクを内蔵し、ハードディスクを駆動し、CPU1701によって実行するプログラムや情報を記録又は再生させる。ハードディスクには、文字情報データ105や補正文字データ生成モジュール160の処理結果データなどが格納される。さらに、その他の各種のデータ処理プログラム等、各種コンピュータ・プログラムが格納される。
ドライブ1712は、装着されている磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリ等のリムーバブル記録媒体1713に記録されているデータ又はプログラムを読み出して、そのデータ又はプログラムを、インタフェース1707、外部バス1706、ブリッジ1705、及びホストバス1704を介して接続されているRAM1703に供給する。リムーバブル記録媒体1713も、ハードディスクと同様のデータ記録領域として利用可能である。
接続ポート1714は、外部接続機器1715を接続するポートであり、USB、IEEE1394等の接続部を持つ。接続ポート1714は、インタフェース1707、及び外部バス1706、ブリッジ1705、ホストバス1704等を介してCPU1701等に接続されている。通信部1716は、ネットワークに接続され、外部とのデータ通信処理を実行する。データ読み取り部1717は、例えばスキャナであり、ドキュメントの読み取り処理を実行する。データ出力部1718は、例えばプリンタであり、ドキュメントデータの出力処理を実行する。
なお、図17に示すハードウェア構成は、1つの構成例を示すものであり、本実施の形態は、図17に示す構成に限らず、本実施の形態において説明したモジュールを実行可能な構成であればよい。例えば、一部のモジュールを専用のハードウェア(例えば特定用途向け集積回路(Application Specific Integrated Circuit:ASIC)等)で構成してもよく、一部のモジュールは外部のシステム内にあり通信回線で接続しているような形態でもよく、さらに図17に示すシステムが複数互いに通信回線によって接続されていて互いに協調動作するようにしてもよい。また、複写機、ファックス、スキャナ、プリンタ、複合機(スキャナ、プリンタ、複写機、ファックス等のいずれか2つ以上の機能を有している画像処理装置)などに組み込まれていてもよい。
前記実施の形態においては、主に横書き電子ドキュメントの場合の行の高さを用いることを示したが、縦書きの場合は列の幅を同様に用いる。
なお、数式を用いて説明したが、数式には、その数式と同等のものを含めてもよい。同等のものとは、その数式そのものの他に、最終的な結果に影響を及ぼさない程度の数式の変形、又は数式をアルゴリズミックな解法で解くこと等が含まれる。
なお、説明したプログラムについては、記録媒体に格納して提供してもよく、また、そのプログラムを通信手段によって提供してもよい。その場合、例えば、前記説明したプログラムについて、「プログラムを記録したコンピュータ読み取り可能な記録媒体」の発明として捉えてもよい。
「プログラムを記録したコンピュータ読み取り可能な記録媒体」とは、プログラムのインストール、実行、プログラムの流通などのために用いられる、プログラムが記録されたコンピュータで読み取り可能な記録媒体をいう。
なお、記録媒体としては、例えば、デジタル・バーサタイル・ディスク(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)、インターネット、イントラネット、エクストラネット等に用いられる有線ネットワーク、あるいは無線通信ネットワーク、さらにこれらの組み合わせ等の伝送媒体を用いて伝送させてもよく、また、搬送波に乗せて搬送させてもよい。
さらに、前記のプログラムは、他のプログラムの一部分であってもよく、あるいは別個のプログラムと共に記録媒体に記録されていてもよい。また、複数の記録媒体に分割して
記録されていてもよい。また、圧縮や暗号化など、復元可能であればどのような態様で記録されていてもよい。
105…文字情報データ
110…ライン認識処理モジュール
120…ライン特徴算出モジュール
121…行高列幅算出モジュール
122…矩形間距離算出モジュール
130…段落認識処理モジュール
140…段落統合処理モジュール
150…補正矩形生成モジュール
160…補正文字データ生成モジュール
165…補正文字情報データ

Claims (10)

  1. 電子文書内の画素塊を囲む矩形に関する情報を用いて、該電子文書内の行又は列であるラインを抽出するライン抽出手段と、
    前記ライン抽出手段によって抽出されたラインに応じて、前記電子文書内の段落を抽出する段落抽出手段と、
    前記段落抽出手段によって抽出された段落を統合する段落統合手段と、
    前記段落統合手段で統合された段落中のラインである行の高さ又は列の幅、及びラインを構成する画素塊の位置に基づいて、該統合された段落内の画素塊を囲む矩形の位置、大きさ及び該矩形と該画素塊との位置関係を算出する矩形算出手段と、
    前記矩形算出手段によって算出された矩形に関する情報と該矩形内の画素塊を対応付けた文字データを生成する文字データ生成手段
    を具備し、
    前記文字データ生成手段は、前記電子文書内に存在する複数の類似している文字の重点を一致させるように位相を移動させて高解像度文字画像を生成し、該高解像度文字画像からフォント・データを生成し、該複数の類似している文字の文字データとして、該フォント・データへのインデックスと、各文字の前記矩形算出手段によって算出された矩形に関する情報との組み合わせを文字データとして生成する
    ことを特徴とする情報処理装置。
  2. 前記電子文書内の画素塊を囲む矩形に関する情報として、該画素塊を囲む矩形の高さ又は幅方向の位置を含み、
    前記ライン抽出手段は、前記画素塊の矩形の高さ又は幅方向の位置を用いて、該画素塊を含むラインである各行の高さ又は各列の幅を抽出する
    ことを特徴とする請求項1に記載の情報処理装置。
  3. 前記段落抽出手段は、前記ライン抽出手段によって抽出されたラインである各行の高さ又は各列の幅、及び該ラインの高さ又は幅方向の位置を用いて段落を抽出する
    ことを特徴とする請求項1又は2に記載の情報処理装置。
  4. 前記段落抽出手段は、前記ライン抽出手段によって抽出されたラインと、処理対象としている段落との位置関係に基づいて段落を抽出する
    ことを特徴とする請求項1からのいずれか一項に記載の情報処理装置。
  5. 前記段落抽出手段は、抽出した段落に関する情報として、該段落を囲む外接矩形の位置に関する情報を算出する
    ことを特徴とする請求項1からのいずれか一項に記載の情報処理装置。
  6. 前記段落抽出手段は、同一行又は同一列に属するラインが複数存在する場合には、該ラインを順序付けする
    ことを特徴とする請求項1からのいずれか一項に記載の情報処理装置。
  7. 前記段落抽出手段は、抽出した段落に関する情報として、該段落に含まれるラインである各行の高さ又は各列の幅を用いて、該段落の代表値を算出し、
    前記段落統合手段は、前記段落抽出手段で抽出された段落の代表値を用いて段落を統合する
    ことを特徴とする請求項1からのいずれか一項に記載の情報処理装置。
  8. 前記矩形算出手段は、前記段落統合手段によって統合された段落内で、ラインである行の高さ又は列の幅を統一し、画素塊間に隙間が生じないように、該統合された段落内の画素塊を囲む矩形の位置及び大きさを算出する
    ことを特徴とする請求項1からのいずれか一項に記載の情報処理装置。
  9. 前記矩形算出手段は、前記電子文書内の文字の言語に基づいて、前記画素塊を囲む矩形の大きさを算出する
    ことを特徴とする請求項1からのいずれか一項に記載の情報処理装置。
  10. コンピュータを、
    電子文書内の画素塊を囲む矩形に関する情報を用いて、該電子文書内の行又は列であるラインを抽出するライン抽出手段と、
    前記ライン抽出手段によって抽出されたラインに応じて、前記電子文書内の段落を抽出する段落抽出手段と、
    前記段落抽出手段によって抽出された段落を統合する段落統合手段と、
    前記段落統合手段で統合された段落中のラインである行の高さ又は列の幅、及びラインを構成する画素塊の位置に基づいて、該統合された段落内の画素塊を囲む矩形の位置、大きさ及び該矩形と該画素塊との位置関係を算出する矩形算出手段と、
    前記矩形算出手段によって算出された矩形に関する情報と該矩形内の画素塊を対応付けた文字データを生成する文字データ生成手段
    として機能させ
    前記文字データ生成手段は、前記電子文書内に存在する複数の類似している文字の重点を一致させるように位相を移動させて高解像度文字画像を生成し、該高解像度文字画像からフォント・データを生成し、該複数の類似している文字の文字データとして、該フォント・データへのインデックスと、各文字の前記矩形算出手段によって算出された矩形に関する情報との組み合わせを文字データとして生成する
    ことを特徴とする情報処理プログラム。
JP2009031158A 2009-02-13 2009-02-13 情報処理装置及び情報処理プログラム Expired - Fee Related JP5321109B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2009031158A JP5321109B2 (ja) 2009-02-13 2009-02-13 情報処理装置及び情報処理プログラム
US12/510,656 US20100211871A1 (en) 2009-02-13 2009-07-28 Information processor, information processing method, and computer readable medium
CN200910167109.3A CN101807179B (zh) 2009-02-13 2009-08-18 信息处理器以及信息处理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009031158A JP5321109B2 (ja) 2009-02-13 2009-02-13 情報処理装置及び情報処理プログラム

Publications (2)

Publication Number Publication Date
JP2010186389A JP2010186389A (ja) 2010-08-26
JP5321109B2 true JP5321109B2 (ja) 2013-10-23

Family

ID=42560950

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009031158A Expired - Fee Related JP5321109B2 (ja) 2009-02-13 2009-02-13 情報処理装置及び情報処理プログラム

Country Status (3)

Country Link
US (1) US20100211871A1 (ja)
JP (1) JP5321109B2 (ja)
CN (1) CN101807179B (ja)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8887038B2 (en) * 2010-10-08 2014-11-11 Business Objects Software Limited Extrapolating tabular structure in a freeform document
JP5812702B2 (ja) * 2011-06-08 2015-11-17 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation 文字の読み順を決定するための読み順決定装置、方法及びプログラム
US9489121B2 (en) * 2011-11-02 2016-11-08 Microsoft Technology Licensing, Llc Optimal display and zoom of objects and text in a document
JP6614914B2 (ja) * 2015-10-27 2019-12-04 株式会社東芝 画像処理装置、画像処理方法及び画像処理プログラム
CN105373791B (zh) * 2015-11-12 2018-12-14 中国建设银行股份有限公司 信息处理方法及信息处理装置
CN107203784B (zh) * 2017-05-24 2020-06-12 南京秦淮紫云创益企业服务有限公司 一种相似度计算方法、终端及计算机可读存储介质
CN109062871B (zh) * 2018-07-03 2022-05-13 北京明略软件系统有限公司 一种文本标注方法和装置、计算机可读存储介质
CN109934210B (zh) * 2019-05-17 2019-08-09 上海肇观电子科技有限公司 版面分析方法、阅读辅助设备、电路和介质
CN109934209B (zh) * 2019-05-17 2019-07-30 上海肇观电子科技有限公司 版面分析方法、阅读辅助设备、电路及介质
US11367296B2 (en) * 2020-07-13 2022-06-21 NextVPU (Shanghai) Co., Ltd. Layout analysis

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2623844B2 (ja) * 1989-07-31 1997-06-25 日本電気株式会社 文字行抽出装置
DE69132789T2 (de) * 1990-05-14 2002-05-23 Canon Kk Verfahren und Gerät zur Bildverarbeitung
US6212299B1 (en) * 1992-12-11 2001-04-03 Matsushita Electric Industrial Co., Ltd. Method and apparatus for recognizing a character
JPH06214983A (ja) * 1993-01-20 1994-08-05 Kokusai Denshin Denwa Co Ltd <Kdd> 文書画像の論理構造化文書への変換方法および装置
GB2281997B (en) * 1993-09-20 1997-10-15 Ricoh Kk Method and apparatus for improving a text image by using character regeneration
US5577135A (en) * 1994-03-01 1996-11-19 Apple Computer, Inc. Handwriting signal processing front-end for handwriting recognizers
US5999647A (en) * 1995-04-21 1999-12-07 Matsushita Electric Industrial Co., Ltd. Character extraction apparatus for extracting character data from a text image
JP3425834B2 (ja) * 1995-09-06 2003-07-14 富士通株式会社 文書画像からのタイトル抽出装置および方法
US5930813A (en) * 1995-12-21 1999-07-27 Adobe Systems Incorporated Method and system for designating objects
US6188790B1 (en) * 1996-02-29 2001-02-13 Tottori Sanyo Electric Ltd. Method and apparatus for pre-recognition character processing
JP3099797B2 (ja) * 1998-03-19 2000-10-16 日本電気株式会社 文字認識装置
JP4416890B2 (ja) * 1999-12-20 2010-02-17 富士通株式会社 帳票識別装置
US6948119B1 (en) * 2000-09-27 2005-09-20 Adobe Systems Incorporated Automated paragraph layout
US6741745B2 (en) * 2000-12-18 2004-05-25 Xerox Corporation Method and apparatus for formatting OCR text
US6801673B2 (en) * 2001-10-09 2004-10-05 Hewlett-Packard Development Company, L.P. Section extraction tool for PDF documents
JP2003308314A (ja) * 2002-02-15 2003-10-31 Ricoh Co Ltd 文書作成支援装置
US7392472B2 (en) * 2002-04-25 2008-06-24 Microsoft Corporation Layout analysis
US7310769B1 (en) * 2003-03-12 2007-12-18 Adobe Systems Incorporated Text encoding using dummy font
US8913833B2 (en) * 2006-05-08 2014-12-16 Fuji Xerox Co., Ltd. Image processing apparatus, image enlarging apparatus, image coding apparatus, image decoding apparatus, image processing system and medium storing program
JP5041141B2 (ja) * 2006-05-08 2012-10-03 富士ゼロックス株式会社 画像処理装置、画像拡大装置、画像符号化装置、画像復号化装置、画像処理システム及びプログラム
US7646921B2 (en) * 2006-09-11 2010-01-12 Google Inc. High resolution replication of document based on shape clustering
US7650035B2 (en) * 2006-09-11 2010-01-19 Google Inc. Optical character recognition based on shape clustering and multiple optical character recognition processes
JP4123299B1 (ja) * 2007-02-21 2008-07-23 富士ゼロックス株式会社 画像処理装置及び画像処理プログラム
US7870502B2 (en) * 2007-05-29 2011-01-11 Microsoft Corporation Retaining style information when copying content
US8065321B2 (en) * 2007-06-20 2011-11-22 Ricoh Company, Ltd. Apparatus and method of searching document data
JP5123588B2 (ja) * 2007-07-17 2013-01-23 キヤノン株式会社 表示制御装置および表示制御方法
US8539342B1 (en) * 2008-10-16 2013-09-17 Adobe Systems Incorporated Read-order inference via content sorting

Also Published As

Publication number Publication date
CN101807179B (zh) 2015-06-03
CN101807179A (zh) 2010-08-18
JP2010186389A (ja) 2010-08-26
US20100211871A1 (en) 2010-08-19

Similar Documents

Publication Publication Date Title
JP5321109B2 (ja) 情報処理装置及び情報処理プログラム
US8824798B2 (en) Information processing device, computer readable medium storing information processing program, and information processing method
JP4539756B2 (ja) 画像処理装置及び画像処理プログラム
JP4623169B2 (ja) 画像処理装置及び画像処理プログラム
JP2006295606A (ja) 画像処理装置及びその方法、プログラム並びに記憶媒体
JP2009251872A (ja) 情報処理装置及び情報処理プログラム
US10924620B2 (en) Document reading guidance for operator using feature amount acquired from image of partial area of document
JP2009223477A (ja) 情報処理装置及び情報処理プログラム
JP6221220B2 (ja) 画像処理装置及び画像処理プログラム
JP5062076B2 (ja) 情報処理装置及び情報処理プログラム
JP2010176414A (ja) 画像処理装置及び画像処理プログラム
JP5923981B2 (ja) 画像処理装置及び画像処理プログラム
JP2012175220A (ja) 画像処理装置及び画像処理プログラム
JP5476884B2 (ja) 画像処理装置及び画像処理プログラム
JP5723803B2 (ja) 画像処理装置及びプログラム
JP2012098852A (ja) 画像処理装置及び画像処理プログラム
JP6682827B2 (ja) 情報処理装置及び情報処理プログラム
JP5194851B2 (ja) 情報処理装置及び情報処理プログラム
JP2008113145A (ja) 画像処理装置及び画像処理プログラム
JP4900271B2 (ja) 情報処理装置及び情報処理プログラム
JP2011100252A (ja) 画像処理装置及び画像処理プログラム
JP5434273B2 (ja) 画像処理装置及び画像処理プログラム
JP5434272B2 (ja) 情報処理装置及び情報処理プログラム
JP6606885B2 (ja) 画像処理装置及び画像処理プログラム
JP5531661B2 (ja) 画像処理装置及び画像処理プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120123

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130409

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130530

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: 20130618

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130701

R150 Certificate of patent or registration of utility model

Ref document number: 5321109

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

LAPS Cancellation because of no payment of annual fees