JP2011100252A - 画像処理装置及び画像処理プログラム - Google Patents

画像処理装置及び画像処理プログラム Download PDF

Info

Publication number
JP2011100252A
JP2011100252A JP2009253858A JP2009253858A JP2011100252A JP 2011100252 A JP2011100252 A JP 2011100252A JP 2009253858 A JP2009253858 A JP 2009253858A JP 2009253858 A JP2009253858 A JP 2009253858A JP 2011100252 A JP2011100252 A JP 2011100252A
Authority
JP
Japan
Prior art keywords
rectangle
paragraph
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.)
Pending
Application number
JP2009253858A
Other languages
English (en)
Inventor
Satoshi Kubota
聡 久保田
Shunichi Kimura
俊一 木村
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
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 filed Critical Fuji Xerox Co Ltd
Priority to JP2009253858A priority Critical patent/JP2011100252A/ja
Publication of JP2011100252A publication Critical patent/JP2011100252A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Document Processing Apparatus (AREA)

Abstract

【課題】電子文書内の画素塊を囲む矩形の大きさが不揃いとなることを防止するようにした画像処理装置を提供する。
【解決手段】画像処理装置の矩形情報変更手段は、第1の電子文書内の画素塊を囲む第1の矩形に関する情報内の該第1の矩形の大きさに関する情報を予め定められた値に変更し、矩形生成手段は、前記矩形情報変更手段によって変更された第1の矩形に関する情報を用いて、該第1の矩形を囲む第2の矩形を生成する。
【選択図】図1

Description

本発明は、画像処理装置及び画像処理プログラムに関する。
電子ドキュメントを記述できる電子ドキュメントフォーマットが存在する。例えば、PDF(Portable Document Format)(登録商標)といわれるものがある。
このような電子ドキュメントでは、PC(Personal Computer)上で、その電子ドキュメントを表示、編集することが行われる。
例えば、その電子ドキュメントに記述されているテキスト情報を、操作者の操作に応じてPC上で選択し、他の電子ドキュメントへ複写するコピー&ペースト等の処理が行われたり、テキスト編集(PDFではテキストタッチアップと呼ばれている)でシステムフォントに置き換える処理がある。テキスト情報をPC上で選択する(例えば、電子ドキュメントを表示しているディスプレイ上に表示されているテキスト位置でマウスを左クリックしながらテキスト位置を右に移動させる等の動作でテキスト情報を選択することができる)場合、選択したテキスト位置が反転して、どのテキストを選択しているかを示すようなビューワが存在している。
一方、画像を文字認識して、電子ドキュメントを生成することも行われている。
これに関連する技術として、例えば、特許文献1には、入力画像より文字もしくは文字の要素に外接する矩形を抽出する矩形抽出手段、該矩形抽出手段により抽出された矩形内の画像に対し、指定可能な複数のモード中より指定されたモードにしたがった変倍処理を施す変倍処理手段、前記矩形抽出手段により抽出された矩形の座標を、指定可能な複数のモード中より指定されたモードにしたがって変換する座標変換手段、及び、前記変換後の矩形内画像を前記座標変換手段により変換後の座標にしたがって印字位置を制御し印刷する出力手段を具備する文字列整形装置が開示されている。
また、例えば、特許文献2には、認識された文字を、記載されているテキストと文字の大きさや位置等を等しく、アウトフォントで描くことができることを実現することを目的とし、テキストコード情報と文字のレイアウト情報を有する認識文字に関する情報を得る認識手段と、文字のアウトフォントデータを保持するアウトフォントテーブルと、これを参照して、得られた認識文字に外接する矩形を、アウトラインフォントの文字ボックスと描かれる文字部領域との比で拡大し、拡大された外接矩形を文字ボックスデータとして用いて情報を修正する文字ボックス拡大手段と、認識された文字列中の区切りを判定する手段と、当該区切りの間の文字数で文字ボックスの幅を均等に割り付けて得られた幅で拡大された外接矩形からなる文字ボックスデータを修正する手段と、を有し、情報に基づいてアウトフォントにより文字を描いた時に小さくなることを回避し、また、区切られた文字列をまとめて取り扱うことを可能としていることが開示されている。
特開平04−167188号公報 特開平06−176188号公報
本発明は、電子文書内の画素塊を囲む矩形の大きさが不揃いとなることを防止するようにした画像処理装置及び画像処理プログラムを提供することを目的としている。
かかる目的を達成するための本発明の要旨とするところは、次の各項の発明に存する。
請求項1の発明は、第1の電子文書内の画素塊を囲む第1の矩形に関する情報内の該第1の矩形の大きさに関する情報を予め定められた値に変更する矩形情報変更手段と、前記矩形情報変更手段によって変更された第1の矩形に関する情報を用いて、該第1の矩形を囲む第2の矩形を生成する矩形生成手段を具備することを特徴とする画像処理装置である。
請求項2の発明は、前記矩形情報変更手段は、前記矩形生成手段が生成する第2の矩形を用いる第2の電子文書の解像度を用いて、前記第1の矩形の大きさに関する情報を変更することを特徴とする請求項1に記載の画像処理装置である。
請求項3の発明は、前記第1の矩形に関する情報に基づいて、前記第1の電子文書内の行又は列であるラインを抽出するライン抽出手段をさらに具備し、前記矩形情報変更手段は、前記ライン抽出手段によって抽出されたラインである行の高さ又は列の幅を変更の対象とすることを特徴とする請求項1又は2に記載の画像処理装置である。
請求項4の発明は、前記ライン抽出手段によって抽出されたラインに応じて、前記第1の電子文書内の段落を抽出する段落抽出手段をさらに具備し、前記矩形情報変更手段は、前記段落抽出手段によって抽出された段落内のラインである行の高さ又は列の幅の代表値を変更の対象とすることを特徴とする請求項3に記載の画像処理装置である。
請求項5の発明は、前記段落抽出手段によって抽出された段落を統合する段落統合手段をさらに具備し、前記矩形情報変更手段は、前記段落統合手段によって統合された段落内のラインである行の高さ又は列の幅の代表値を変更の対象とすることを特徴とする請求項4に記載の画像処理装置である。
請求項6の発明は、コンピュータを、第1の電子文書内の画素塊を囲む第1の矩形に関する情報内の該第1の矩形の大きさに関する情報を予め定められた値に変更する矩形情報変更手段と、前記矩形情報変更手段によって変更された第1の矩形に関する情報を用いて、該第1の矩形を囲む第2の矩形を生成する矩形生成手段として機能させることを特徴とする画像処理プログラムである。
請求項1の画像処理装置によれば、電子文書内の画素塊を囲む矩形の大きさが不揃いとなることを防止することができる。
請求項2の画像処理装置によれば、第2の電子文書の解像度に合わせて画素塊を囲む矩形の大きさを揃えることができる。
請求項3の画像処理装置によれば、ライン内の画素塊を囲む矩形の大きさが不揃いとなることを防止することができる。
請求項4の画像処理装置によれば、段落内の画素塊を囲む矩形の大きさが不揃いとなることを防止することができる。
請求項5の画像処理装置によれば、統合された段落内の画素塊を囲む矩形の大きさが不揃いとなることを防止することができる。
請求項6の画像処理プログラムによれば、電子文書内の画素塊を囲む矩形の大きさが不揃いとなることを防止することができる。
第1の実施の形態の構成例についての概念的なモジュール構成図である。 文字矩形生成モジュールによる補正文字矩形情報の生成処理例を示す説明図である。 第1の実施の形態の変形例の構成例についての概念的なモジュール構成図である。 第2の実施の形態の構成例についての概念的なモジュール構成図である。 ライン認識処理モジュールによるラインの抽出処理例を示す説明図である。 ライン認識処理モジュールによるラインの抽出処理例を示す説明図である。 ライン認識処理モジュールによるライン特徴の抽出処理例を示す説明図である。 文字矩形生成モジュールによる補正文字矩形情報の生成処理例を示す説明図である。 第3の実施の形態の構成例についての概念的なモジュール構成図である。 第3の実施の形態による段落の認識処理例を示すフローチャートである。 段落情報の更新に関する処理例を示す説明図である。 第3の実施の形態による段落登録の可否処理例を示すフローチャートである。 左右のずれによって段落登録が行われない場合の例を示す説明図である。 文字サイズによって段落登録が行われない場合の例を示す説明図である。 同じ行に複数行がある状態例を示す説明図である。 第4の実施の形態の構成例についての概念的なモジュール構成図である。 段落統合処理モジュールによる段落の統合処理例を示すフローチャートである。 第1〜4の実施の形態を実現するコンピュータのハードウェア構成例を示すブロック図である。 電子ドキュメントのテキストが表示されている例を示す説明図である。 テキストを選択した状態の電子ドキュメントの表示例を示す説明図である。 別のアプリケーションにテキストを複写した場合の別の電子ドキュメントの表示例を示す説明図である。 画像処理後のフォントを埋め込んだ電子ドキュメントにおいて、テキストを選択した状態の表示例を示す説明図である。 別のアプリケーションにテキストを複写した場合の別の電子ドキュメントの表示例を示す説明図である。
まず、本実施の形態が対象とする電子ドキュメントについて説明する。
例えば、図19に示す例のように「美しい日本」という文字列が表示されている電子ドキュメント1900の「美しい日本」のテキストをPC上で選択すると、図20に示す例のように「美しい日本」の部分が反転して(図20の例に示す選択テキスト2001)、「美しい日本」が選択されたことをユーザに示すことができる。
あるいは、前述のようにテキストを選択した状態で、PC上でコピー&ペーストを行うと、別の電子ドキュメント上に「美しい日本」というテキスト情報をコピーすることが可能となる。図21に示す例のように、ワードプロセッサ(文書作成ソフトウェア)等のような別のアプリケーションが扱う電子ドキュメント(図21の例に示す電子ドキュメント2100)上に、テキスト情報をペーストすることができる。もちろん文字のサイズも、コピー元の電子ドキュメントからコピー先である別のアプリケーションの電子ドキュメント上で保持される。
次に、このような電子ドキュメント内の文字形状を指定するため、PDFなどのように、フォント情報を電子ドキュメント内に包含させることができるものがある。電子ドキュメントを表示又はプリントする場合に、電子ドキュメントを作成するユーザの意図通りの文字形状を復元するため、電子ドキュメント内にフォント情報(文字形状情報)を埋め込んでしまう。このように電子ドキュメント内にフォント情報を埋め込んでしまうことによって、同じフォント情報を持っていない電子ドキュメントの受け手(プリンタ、PC等)が、電子ドキュメントの作成者と全く同じ文字形状を復元することができるようになる。
前述したように、電子ドキュメント内の文字形状を指定するためにフォント情報(文字形状情報)を埋め込む際に、電子ドキュメントの受け手(プリンタ、PC等)のデバイス情報に合わせて文字部分の解像度を上げたり、編集や再利用が可能なようにアウトライン化するなどの処理が行われる。ここで文字のアウトライン化とは、文字の輪郭形状をベジエのような曲線で近似して表す方法である。
このように、文字形状を指定するためのフォント情報の文字部分に前述したような画像処理が施された場合に、文字部分の画像処理に応じた適切なフォント情報の更新が行われないと、電子ドキュメントをビューワで閲覧した場合のテキスト情報選択動作の挙動がオリジナルの電子ドキュメントと異なることがある。
例えば図22に示す例のように、「美しい日本」のテキストを選択したことを示す反転矩形形状(図22の例に示す選択テキスト2201から2205)が、図20で示した例のように整った長方形の反転矩形形状にはならず、各文字で矩形が独立し、さらにはその大きさも異なる矩形形状となり、反転矩形形状の品質が低下する。
また、このような状態でワードプロセッサ等の別のアプリケーションの電子ドキュメント上に、テキスト情報をコピー&ペーストするなどのテキスト編集を行うと、コピー先でどのような文字サイズで編集が行われるかは、そのアプリケーション次第であり、コピー元がそのアプリケーション自体を制御することはできない。例えば、どれくらいのピクセルサイズの文字が何ポイントの文字に変換されるのかは、コピー先のアプリケーションに依存することであるので、図20に示すように「美しい日本」の各文字の文字サイズが保持できず電子ドキュメントの再利用性が低下する(元の文字と同じ大きさ等を再現できない等)。より具体的には、例えば、図23に示すように、コピー先の電子ドキュメント2300上に「美しい日本」の各文字の文字サイズがばらばらとなる。
これは、コピー元の電子ドキュメントを生成する際の文字部分に対する画像処理により、オリジナルのフォント情報内に存在した矩形情報が失われているか、コピー先のアプリケーションで扱える文字サイズ情報に合わせる変更処理が行われていないことに起因する。
次に、本実施の形態の概要について説明する。
本実施の形態は、電子ドキュメントに埋め込まれるフォント情報内の矩形情報内の矩形サイズを、出力先のアプリケーションで扱える文字サイズを表すポイント数に基づいて、予め定められた値に量子化して揃えるものである。ここで、「量子化」とは、離散値である予め定められた値(出力先のアプリケーションで扱える文字サイズ)に変更することをいう。
具体例として、以下((1)から(4))のように行う。
(1) 電子ドキュメント内の各文字の矩形高さ又は横幅を、電子ドキュメントの解像度情報に基づいて算出された文字ポイント数の換算値で量子化する。以下、矩形高さを例示して示す。
(2) 量子化は、 換算値 > 矩形高さ を満たす最小の換算値となるように量子化する。
(3) 換算値は都度計算してもよいし、解像度毎のデータとして予め保持していてもよい。
(4) 量子化した値で矩形情報(具体例として外接矩形のサイズ)を変更する。そして、補正文字矩形情報(電子ドキュメント内における絶対座標値、文字矩形と量子化された外接矩形の相対位置情報、矩形サイズなど)を生成する。
前述の説明では各文字の矩形高さを量子化する例であったが、また別の例では、以下に説明するように電子ドキュメント内の段落等を用いて、矩形情報の修正に必要な高さを算出して、その算出値を量子化するようにしてもよい。
具体例として、横書きの電子ドキュメントの場合は以下((A1)から(A7))のようにする。
(A1) 電子ドキュメント内の各文字の外接矩形情報(その電子ドキュメント内の座標値(絶対座標値又は相対座標値のいずれであってもよい)、矩形サイズ(例えば、その矩形の高さ、幅の組)等)から行を抽出する。なお、文字の外接矩形情報とは、電子ドキュメント内の文字を囲む最小の矩形(外接矩形)に関する情報である。
(A2) 行中の文字の外接矩形が収まるような最小値を行高さとして算出する。また、行に関する特徴情報として、行高さの他に、行矩形サイズ、行座標値等を算出するようにしてもよい。
(A3) 複数の行からなる段落を行に関する特徴情報(特に、行矩形サイズ、行座標値等)に基づいて抽出(段落を認識)し、その段落に関する特徴を算出する。
(A4) その算出された段落に関する特徴に基づいて、複数の段落を統合する。ここで、段落を統合するとは、複数の段落を1つの段落とすることである。
(A5) 統合された段落に含まれる各行の行に関する特徴情報から、その統合された段落内に含まれる文字の矩形高さ及び矩形幅を算出する。
(A6) 算出された矩形高さを量子化する。
(A7) 量子化された矩形高さ、(A5)で算出された矩形幅に基づいて、文字矩形情報を生成する。
また、具体例として、縦書きの電子ドキュメントの場合は以下(B1からB7)のようにする。
(B1) 電子ドキュメント内の各文字の外接矩形情報(その電子ドキュメント内の座標値(絶対座標値又は相対座標値のいずれであってもよい)、矩形サイズ(例えば、その矩形の高さ、幅の組)等)から列を抽出する。なお、文字の外接矩形情報とは、電子ドキュメント内の文字を囲む最小の矩形(外接矩形)に関する情報である。
(B2) 列中の文字の外接矩形が収まるような最小値を列幅として算出する。また、列に関する特徴情報として、列矩形サイズ、列座標値等を算出するようにしてもよい。
(B3) 複数の列からなる段落を列に関する特徴情報(特に、列矩形サイズ、列座標値等)に基づいて抽出(段落を認識)し、その段落に関する特徴を算出する。
(B4) その算出された段落に関する特徴に基づいて、複数の段落を統合する。ここで、段落を統合するとは、複数の段落を1つの段落とすることである。
(B5) 統合された段落に含まれる各列の列に関する特徴情報から、その統合された段落内に含まれる文字の矩形高さ及び矩形幅を決定する。
(B6) 算出された矩形高さを量子化する。
(B7) 量子化された矩形高さ、(B5)で算出された矩形幅に基づいて、文字矩形情報を生成する。
以下、図面に基づき本発明を実現するにあたっての好適な各種の実施の形態の例を説明する。
<第1の実施の形態>
図1は、第1の実施の形態の構成例についての概念的なモジュール構成図を示している。
なお、モジュールとは、一般的に論理的に分離可能なソフトウェア(コンピュータ・プログラム)、ハードウェア等の部品を指す。したがって、本実施の形態におけるモジュールはコンピュータ・プログラムにおけるモジュールのことだけでなく、ハードウェア構成におけるモジュールも指す。それゆえ、本実施の形態は、コンピュータ・プログラム、システム及び方法の説明をも兼ねている。ただし、説明の都合上、「記憶する」、「記憶させる」、これらと同等の文言を用いるが、これらの文言は、実施の形態がコンピュータ・プログラムの場合は、記憶装置に記憶させる、又は記憶装置に記憶させるように制御するの意である。また、モジュールは機能に一対一に対応していてもよいが、実装においては、1モジュールを1プログラムで構成してもよいし、複数モジュールを1プログラムで構成してもよく、逆に1モジュールを複数プログラムで構成してもよい。また、複数モジュールは1コンピュータによって実行されてもよいし、分散又は並列環境におけるコンピュータによって1モジュールが複数コンピュータで実行されてもよい。なお、1つのモジュールに他のモジュールが含まれていてもよい。また、以下、「接続」とは物理的な接続の他、論理的な接続(データの授受、指示、データ間の参照関係等)の場合にも用いる。
また、システム又は装置とは、複数のコンピュータ、ハードウェア、装置等がネットワーク(一対一対応の通信接続を含む)等の通信手段で接続されて構成されるほか、1つのコンピュータ、ハードウェア、装置等によって実現される場合も含まれる。「装置」と「システム」とは、互いに同義の用語として用いる。もちろんのことながら、「システム」には、人為的な取り決めである社会的な「仕組み」(社会システム)にすぎないものは含まない。「予め定められた」とは、対象としている処理の前に定まっていることをいい、本実施の形態による処理が始まる前はもちろんのこと、本実施の形態による処理が始まった後であっても、対象としている処理の前であれば、そのときの状況・状態に応じて、又はそれまでの状況・状態に応じて定まることの意を含めて用いる。
以下、行又は列をラインと称する。また、各種の実施の形態の例では、横書きの電子ドキュメントを対象とした場合を主に説明する。したがって、横書きの場合の行の高さ又は縦書きの場合の列の幅として、行の高さを主に例示して説明する。また、各種の実施の形態が処理の対象とする電子ドキュメントを電子ドキュメントAと称し、出力先の電子ドキュメントを電子ドキュメントBと称する。
また、画素塊とは、4連結又は8連結で連続する画素領域を少なくとも含み、これらの画素領域の集合をも含む。これらの画素領域の集合とは、4連結等で連続した画素領域が複数あり、その複数の画素領域は近傍にあるものをいう。ここで、近傍にあるものとは、例えば、互いの画素領域が距離的に近いもの、文章としての1行から1文字ずつ切り出すように縦又は横方向に射影し、空白地点で切り出した画像領域、又は予め定められた間隔で切り出した画像領域等がある。例えば、文字認識処理を行って、1文字として認識された画像を1つの画素塊としてもよい。
なお、1つの画素塊として、1文字の画像となる場合が多い。本説明では、画素塊のことを文字又は文字画像ともいう。
第1の実施の形態である画像処理装置は、図1の例に示すように、矩形サイズ量子化モジュール180、文字矩形生成モジュール190を有している。
矩形サイズ量子化モジュール180は文字矩形生成モジュール190と接続されており、文字情報データ102、解像度情報104を受け付け、電子ドキュメントA内の文字画像を囲む最小の矩形である外接矩形に関する情報内の外接矩形の大きさに関する情報を予め定められた値に変更する。文字情報データ102は、外接矩形に関する情報を少なくとも含み、外接矩形に関する情報として、その外接矩形の大きさを少なくとも含む。より具体的には、例えば、文字情報データ102は、電子ドキュメントAの文字認識装置による文字認識結果であって、電子ドキュメントA中における文字画像の絶対座標、文字画像の大きさを表す外接矩形サイズ(外接矩形幅、高さ)、文字認識順序、縦書き文字なのか横書き文字なのかを表す情報、認識結果などである。さらに、矩形サイズ量子化モジュール180は、解像度情報104として、電子ドキュメントAの解像度情報(スキャナで読み込んだ場合の解像度など)を受け付ける。
具体的に矩形サイズ量子化モジュール180が行う処理例について説明する。
矩形サイズ量子化モジュール180は、受け付けた文字情報データ102内の外接矩形高さを、解像度情報104に基づいて算出された矩形量子化サイズで量子化して揃える。以下に解像度情報104が300dpiの場合を例にとり、矩形サイズ量子化モジュール180の動作について具体的な例を示す。
まず、矩形サイズ量子化モジュール180は受け付けた文字情報データ102内の外接矩形高さをポイント数に変換する。外接矩形高さhとすると、以下の式で外接矩形高さh[pixel]をポイント数h[pt]に変換する。
h[pt] = (h[pixel] * 72) / 300 ・・・・・ 式(1)
さらに矩形サイズ量子化モジュール180は、式(1)によりポイント数に変換されたh[pt]の値を、以下に示す値の中でh[pt]より大きくて、最も近い値で量子化する。
[8, 9, 10, 10.5, 11, 12, 14, 16, 18, 20, 22, 24, 26, 28, 36, 48, 72]
例えば、外接矩形高さh = 40[pixel]の場合は、ポイント数変換によりh[pt] = 9.6 となり、この値より大きくて最も近い値として、10[pt]に量子化する。
次に、この量子化されたポイント数をピクセル数に以下の式(2)を用いて再度変換する。
h[pixel] = (h[pt] * 300) / 72 ・・・・・ 式(2)
つまり前述の例でみると、量子化ポイント数10[pt]は約42[pixel]となり、矩形サイズ量子化モジュール180は、h = 40[pixel]をh = 42[pixel]に量子化し、この量子化したサイズを文字矩形生成モジュール190に出力する。
文字矩形生成モジュール190は矩形サイズ量子化モジュール180と接続されており、矩形サイズ量子化モジュール180によって変更された外接矩形に関する情報を用いて、その外接矩形を囲む補正文字矩形情報192を生成する。文字矩形生成モジュール190が生成する補正文字矩形情報192は、電子ドキュメントBを構成する要素である文字の大きさを含む。この場合、矩形サイズ量子化モジュール180は、文字矩形生成モジュール190が生成する補正文字矩形情報192を用いる電子ドキュメントBの解像度を用いて、文字情報データ102内の外接矩形の大きさに関する情報を変更する。なお、ここで電子ドキュメントBは、例えば、前述のPDF文書、ワードプロセッサによって生成され得る電子ドキュメント等が該当する。
具体的に文字矩形生成モジュール190が行う処理例について説明する。
文字矩形生成モジュール190は、矩形サイズ量子化モジュール180で算出された量子化された矩形高さhに基づいて、文字情報データ102の新たな矩形を生成する。図2に、文字矩形生成モジュール190による補正文字矩形情報192の生成処理の具体的な一例を示す。なお、左上を原点(0,0)として、x座標は右方向へ、y座標は下方向へ向かうと数値が増える座標系である。以下の説明においても、同様の座標系とする。
文字矩形生成モジュール190は、前文字外接矩形210、現文字外接矩形220、次文字外接矩形230の量子化処理された文字情報データ102を矩形サイズ量子化モジュール180から受け取る。なお、ここで前文字外接矩形210等の外接矩形とあるのは、量子化された後の矩形のことである。これらは、前文字外接矩形210、現文字外接矩形220、次文字外接矩形230の順序で並んでおり、現文字外接矩形220を処理対象とする。
まず、新たな矩形高さHとして、矩形サイズ量子化モジュール180で算出された量子化された矩形高さhを設定する。矩形幅Wは、左右隣り合った文字外接矩形間の中心から中心までの距離とする。具体的には、前文字外接矩形210と現文字外接矩形220の間の中心から現文字外接矩形220と次文字外接矩形230の間の中心までの距離である。図2の例に示すように、前文字外接矩形210の右側x座標をx0、現文字外接矩形220の左側x座標をx1、現文字外接矩形220の右側x座標をx2、次文字外接矩形230の左側x座標をx3とすると、以下の式(3)で算出する。
W = (x2 + x3 − x0 − x1) / 2 ・・・・・ 式(3)
生成する補正文字矩形240の左上頂点の座標値(new_x,new_y)は、以下の式(4)で算出する。
new_x = (x0 + x1) / 2
new_y = y1 − (H − h) / 2 ・・・・・ 式(4)
ここでy1は現文字外接矩形220の左上y座標値、Hは生成する矩形高さ、hは現文字外接矩形220の外接矩形高さである。
補正文字矩形240から現文字外接矩形220への相対移動量(オフセット量)であるshiftx、shiftyは、以下の式(5)で算出する。
shiftx = x1 − new_x
shifty = y1 − new_y ・・・・・ 式(5)
ここでy1は現文字外接矩形220の左上y座標値である。
そして、文字矩形生成モジュール190は、補正文字矩形情報192として、new_x、new_y、shiftx、shifty、H、W、h、w(現文字外接矩形220の幅)等を出力する。これらは、電子ドキュメントBを構成する文字に関する情報として利用される。例えば、PDF文書を構成する文字情報となる。
なお前述した具体例では、解像度情報にしたがって式(1)、式(2)を用いて量子化サイズを逐次算出していたが、図3に示した変形例のように予め用意された解像度毎の量子化データを参照して量子化サイズを決定してもよい。図3は、第1の実施の形態の変形例の構成例についての概念的なモジュール構成図である。この変形例は、矩形サイズ量子化モジュール380、文字矩形生成モジュール190、量子化データ選択モジュール385を有している。なお、第1の実施の形態と同種のモジュール、部位には同一符号を付し重複した説明を省略する。以下、第2、第3、第4の実施の形態においても同様である。
量子化データ選択モジュール385は、矩形サイズ量子化モジュール380と接続されており、量子化データを記憶している。例えば、量子化データは以下のように解像度毎に量子化値(pixel値)が記載されているデータである。
[200dpi][23, 25, 28, 30, 31, 34, 39, 45, 50, 56, 62, 67, 73, 78, 109, 135, 200]
[300dpi][34, 38, 42, 44, 46, 50, 59, 67, 75, 84, 92, 100, 109, 117, 150, 200, 300]
[400dpi][45, 50, 56, 59, 62, 67, 78, 89, 100, 112, 123, 134, 145, 156, 200, 267, 400]
量子化データ選択モジュール385は、解像度情報104を受け付け、その解像度情報104にしたがって量子化データからその解像度における量子化データを選択して矩形サイズ量子化モジュール380へ渡す。
矩形サイズ量子化モジュール380は、文字矩形生成モジュール190、量子化データ選択モジュール385と接続されている。矩形サイズ量子化モジュール380は量子化データ選択モジュール385から渡された量子化データを参照して、受け付けた文字情報データ102の外接矩形の高さを量子化する。前述と同様に、解像度情報が300dpi、外接矩形高さh = 40[pixel]の場合を例に説明すると、量子化データ中の300dpiのデータが量子化データ選択モジュール385から渡され、その渡された量子化データ中からh = 40より大きくて最も近い値として42を量子化サイズとして決定する。このように量子化したサイズを文字矩形生成モジュール190に出力する。
<第2の実施の形態>
第2の実施の形態では、ラインである行又は列を抽出して、その行の高さ又は列の幅を量子化する。
図4は、第2の実施の形態の構成例についての概念的なモジュール構成図である。第2の実施の形態である画像処理装置は、図4の例に示すように、ライン認識処理モジュール450、矩形サイズ量子化モジュール480、文字矩形生成モジュール490を有している。
ライン認識処理モジュール450は、矩形サイズ量子化モジュール480、文字矩形生成モジュール490と接続されており、文字情報データ102を受け付け、その文字情報データ102に基づいて、電子ドキュメントA内の行又は列であるラインを抽出する。そして、ラインである行の高さ又は列の幅を矩形サイズ量子化モジュール480に渡し、抽出したラインに関する情報、文字情報データ102を文字矩形生成モジュール490に渡す。ここで、図5、図6に行抽出の処理例を示す。
ライン認識処理モジュール450は、図5(a)の例に示すように、注目文字情報データの外接矩形(注目外接矩形512)の左上y座標(upper_y)が、その1つ前の文字情報データの外接矩形(注目外接矩形511)の左下y座標(lower_y)より小さいときは(upper_y<lower_y)、その注目文字情報データの外接矩形(注目外接矩形512)は、注目外接矩形511と同じ行であると認識する。
また、図5(b)の例に示すように、注目文字情報データの外接矩形(注目外接矩形522)の左上y座標(upper_y)が、その1つ前の文字情報データの外接矩形(注目外接矩形521)の左下y座標(lower_y)より大きいときは(lower_y<upper_y)、異なる行であると認識する。
なお、受け付けた文字情報データ102は、文字画像の外接矩形の出現順序(例えば、横書きの場合は、左上から右へ走査し、次の行ではまた左から右へ走査した順番に並んでいる)となっているので、1つ前の文字情報データの外接矩形とは、出現順序で1つ前である。また、外接矩形の左上の座標を用いてソートしてもよい。
図6は、ライン認識処理モジュール450によるラインの抽出処理例を示す説明図である。つまり、ライン認識処理モジュール450が外接矩形間の距離に基づいて行を認識する手法の例を示している。
ライン認識処理モジュール450は、図6(a)の例に示すように、注目文字情報データの外接矩形(注目外接矩形603)と、その1つ前の文字情報データの外接矩形(外接矩形602)との外接矩形間距離611(以下、現外接矩形間距離ともいう)が、現在処理している行において、既に同一行であると認識された各外接矩形間の距離の平均値(以下、平均外接矩形間距離ともいう)をα倍した値以下である場合は(つまり、現外接矩形間距離 ≦ 平均外接矩形間距離 × α を満たす場合)、注目外接矩形603は外接矩形602と同じ行であると認識する。なお、αは、ライン認識パラメータであり、予め定められた値である。例えば、文字情報データ102に応じて定められる。
また、図6(b)の例に示すように、注目文字情報データの外接矩形(注目外接矩形623)と、その1つ前の文字情報データの外接矩形(外接矩形622)との外接矩形間距離631が、現在処理している行における平均外接矩形間距離をα倍した値より大である場合は(つまり、現外接矩形間距離 > 平均外接矩形間距離 × α を満たす場合)、注目外接矩形623は外接矩形622とは異なる行であると認識する。
ライン認識処理モジュール450は、同じラインと認識された文字情報データに基づいて、そのラインに関する特徴を算出し、その算出したラインに関する情報を矩形サイズ量子化モジュール480、文字矩形生成モジュール490へ渡す。より具体的には、例えば、同じ行と認識された文字情報データ列から行高さ、行幅、行外接矩形座標、平均文字外接矩形間距離などのラインに関する特徴を算出する。
つまり、ライン認識処理モジュール450は、同じ行に属する文字情報データの外接矩形を含む矩形を求める。図7の例に示すように、同一行内の外接矩形701から外接矩形719を囲む矩形である行外接矩形750を求める。そして、行外接矩形座標として、図7で示すように行外接矩形の左上(min_x, min_y)、右下(max_x, max_y)を求める。
また、ライン認識処理モジュール450は、行高さ(h)を先に求めた行外接矩形座標を用いて、h = max_y − min_y として求める。同様に、行幅(w)を行外接矩形座標を用いて、w = max_x − min_x として求める。これらの行高さ、行幅は、各外接矩形のサイズ(高さ、幅)又はその座標を用いて求める。
また、ライン認識処理モジュール450は、平均文字外接矩形間距離を、同じ行に属する隣接する文字情報データの外接矩形間距離g0, g1, ……, gnの平均値として求める。また、最大外接矩形間距離max_gを、g0, g1, ……, gnのうちの最大値として求める。なお、リストデータとしてg0, g1, …… , gnのそれぞれの値も保持するようにしてもよい。
矩形サイズ量子化モジュール480は、ライン認識処理モジュール450、文字矩形生成モジュール490と接続されており、ライン認識処理モジュール450で算出された行高さhを、受け付けた解像度情報104に基づいて算出された矩形量子化サイズで量子化し、その量子化した行高さhを文字矩形生成モジュール490に渡す。つまり、矩形サイズ量子化モジュール480は、ライン認識処理モジュール450によって抽出された行の高さ又は列の幅を変更の対象とする。第1の実施の形態における矩形サイズ量子化モジュール180と同様の処理(具体例として、文字の外接矩形の高さを量子化の対象とするのではなく、行の外接矩形の高さを量子化の対象とする処理)を行う。
文字矩形生成モジュール490は、ライン認識処理モジュール450、矩形サイズ量子化モジュール480と接続されており、矩形サイズ量子化モジュール480によって量子化された行の外接矩形高さ、ライン認識処理モジュール450によって抽出されたラインに関する情報を用いて、文字情報データ102内の外接矩形を囲む補正文字矩形情報192を生成する。つまり、各ライン毎に、そのラインに属する文字情報データ102を補正して補正文字矩形情報192を生成する。したがって、そのラインに属する文字画像のポイント数は同じとなる。
図8に、文字矩形生成モジュール490における補正文字矩形情報192の生成処理の具体的な一例を示す。
文字矩形生成モジュール490では、図8の例に示す各補正値を以下のように算出する。
まず、新たな矩形高さHとして、補正対象の文字情報データが属する行の、矩形サイズ量子化モジュール480で量子化された矩形高さhを設定する。
補正矩形幅Wは、左右隣り合った外接矩形間の中心から中心までの距離とする。つまり、注目外接矩形(図8内の現文字外接矩形820)の左端と左隣の外接矩形(注目外接矩形よりも順序で1つ前の外接矩形、図8内の前文字外接矩形810)の右端との中心から注目外接矩形(図8内の現文字外接矩形820)の右端と右隣の外接矩形(注目外接矩形よりも順序で1つ後の外接矩形、図8内の次文字外接矩形840)の左端との中心までの距離を、補正矩形幅Wとする。
図8の例に示すように、前文字外接矩形810の右端のx座標をx0、現文字外接矩形820の左端のx座標をx1、現文字外接矩形820の右端のx座標をx2、次文字外接矩形840の左端のx座標をx3とすると、補正矩形幅Wは以下の式(6)で算出し得る。
W = (x2 + x3 − x0 − x1) / 2 ・・・・・ 式(6)
生成する矩形830の左上頂点の座標値(new_x,new_y)は、以下の式(7)で算出する。
new_x = (x0 + x1) / 2
new_y = min_y − (H − h) / 2 ・・・・・ 式(7)
ここでmin_yは補正対象の文字情報データが属する行のy座標の最小値、Hは補正矩形高さ、hは補正前の行の外接矩形高さである。
補正矩形830から現文字外接矩形820への相対移動量(オフセット量)であるshiftx、shiftyは、以下の式(8)で算出する。
shiftx = x1 − new_x
shifty = y1 − new_y ・・・・・ 式(8)
ここでy1は、現文字外接矩形820の上端のy座標値である。
前述したように文字矩形生成モジュール490では、文字情報データ102の外接矩形情報から補正矩形を生成し、文字同士の矩形高さが揃い、また矩形同士の隙間が空かないような補正を行う。
また文字矩形生成モジュール490は、前述した補正に加えて、電子ドキュメント内の文字の言語に基づいて、補正後の文字矩形の大きさを算出するようにしてもよい。例えば、対象とする電子ドキュメントが日本語の場合には、補正後の文字矩形が正方形となるように、補正矩形幅Wを補正矩形高さHと等しくなるよう設定するようにしてもよい。なお、対象とする電子ドキュメント内の文字の言語の判断は、その電子ドキュメント内に含まれている言語に関するヘッダ、文字コード、画像である場合は文字認識処理の結果等を用いて行う。
<第3の実施の形態>
第3の実施の形態では、ラインである行又は列を抽出し、そのラインを用いて段落を抽出して、その段落内の行の高さ又は列の幅の代表値を量子化する。
図9は、第3の実施の形態の構成例についての概念的なモジュール構成図である。第3の実施の形態である画像処理装置は、図9の例に示すように、ライン認識処理モジュール950、段落認識処理モジュール960、矩形サイズ量子化モジュール980、文字矩形生成モジュール990を有している。
ライン認識処理モジュール950は、段落認識処理モジュール960と接続されており、第2の実施の形態におけるライン認識処理モジュール450と同等の処理を行い、抽出したラインに関する情報、文字情報データ102を段落認識処理モジュール960へ渡す。
段落認識処理モジュール960は、ライン認識処理モジュール950、矩形サイズ量子化モジュール980、文字矩形生成モジュール990と接続されており、ライン認識処理モジュール950によって抽出されたラインに応じて、電子ドキュメントA内の段落を抽出する。そして、段落内の行高さの代表値を矩形サイズ量子化モジュール980へ渡し、抽出した段落に関する情報、文字情報データ102を文字矩形生成モジュール990へ渡す。
図10は、第3の実施の形態による段落の認識処理例を示すフローチャートである。つまり、段落認識処理モジュール960が行う処理例を示すものである。
ステップS1002では、まず初めにライン認識処理モジュール950で認識された行に関して、行外接矩形のy座標値であるmin_y値で昇順にソートする。
ステップS1004では、ステップS1002でソートされた行を全て探索(ステップS1006からステップS1014までの処理)したかどうかを判定する。全て探索されていればステップS1016に処理を移し、探索が終了していなければステップS1006に処理を移す。
ステップS1006では、注目する行(以降は、現探索行ともいう)をソート順に選択する。
ステップS1008では、現探索行に関して段落に登録されているかどうかを判定する。現探索行が段落に登録されているならば処理をステップS1004に処理を戻し、登録されていなければステップS1010に処理を移す。
ステップS1010では、現探索行が現段落における最初の登録行かどうかを判定する。現探索行が現段落における最初の登録行であれば処理をステップS1014に処理を移し、最初の登録行でなければステップS1012に処理を移す。
ステップS1012では、現段落に対して現探索行が登録できるかどうかを判定する。現探索行が現段落に登録可能ならば処理をステップS1014に処理を移し、登録できないならば処理をステップS1004に処理を戻す。なお、ステップS1012における現探索行の登録可否処理の詳細は、図12を用いて後で詳しく説明する。
ステップS1014では、現段落に対して、最初の登録行であるか、又は登録可能な行であると、それぞれステップS1010又はステップS1012で判定されている現探索行を現段落に登録し、段落情報を算出又は更新する。その後、処理をステップS1004に処理を移す。
ここで、図11に段落情報の具体的な例を示す。段落情報として、例えば、その段落の位置情報(例えば、左上座標及び右下座標)、段落順序値(その段落を読む際の順序)を含む。段落認識処理モジュール960は、図11の例に示すように、段落に登録されている行情報(登録行情報)を用いて、段落に登録された全ての行の行外接矩形(登録行0−1100から登録行8−1108)を含む矩形を段落外接矩形1110として、その左上座標(min_x, min_y)及び右下座標(max_x, max_y)を算出する。また図11には図示していないが、同一段落に登録された各行のうち、最も行高さが大きい値max_hを算出し、段落内の行高さの代表値とする。同一段落に登録された文字情報データ中で最も小さい文字認識順序の値min_orderを算出し、段落順序値とする。
次に、段落情報の更新について説明する。段落認識処理モジュール960は、本ステップにおいて、現段落に新たな行を登録する場合は、前述の段落外接矩形座標及び段落順序値を更新する。図11に示す具体例では、新たに処理対象とする行を登録行8−1108とすると、その登録行8−1108の行外接矩形の幅は、現段落外接矩形座標の幅(min_x, max_x)内に収まっているので、min_x及びmax_xは更新せず、max_yだけ更新する(図11では、更新前max_yから更新後max_yへ更新する)。さらに、現段落の段落代表値と新たに登録される登録行8−1108の行高さを比較して、現段落の段落代表値より登録行8−1108の行高さが大きい場合には段落代表値max_hも更新する。つまり、登録行8−1108の行高さを段落代表値max_hとし、段落代表値max_hをその段落内で最も大きい行高さとする。さらに、現段落順序値と新たに登録される登録行8−1108中の全ての文字情報データの文字認識順序値を比較して、現段落順序値よりも小さい値がある場合には、段落順序値min_orderをその小さい値(文字認識順序値)に更新する。
ステップS1016では、ステップS1004でソート順に行の探索を終了しているので、現段落に登録すべき行は全て登録しているとして現段落の抽出処理を終了する。
ステップS1018では、全ての行が段落登録されたかを判定する。全ての行がいずれかの段落に登録されていれば段落抽出処理を終了する(ステップS1099)。いずれの段落にも登録されていない行がある場合には、処理をステップS1004に処理を戻し、次の段落抽出処理を行う。
次に、図10の例に示したフローチャートのステップS1012において、段落認識処理モジュール960が処理する現探索行の登録可否処理例の詳細について、図12の例に示すフローチャートを用いて説明する。
ステップS1202において、現探索行が現段落の段落外接矩形に対して、右又は左にずれているかを判定する。つまり、現探索行の左端が現段落の右端より右にあるか否か、又は現探索行の右端が現段落の左端より左にあるか否かを判定する。例えば、図13(a)の例に示すように、現探索行1312が現段落1310より右にずれているかどうか、又は図13(b)の例に示すように、現探索行1332が現段落1330よりも左にずれているかどうかを判定する。現探索行が図13の例のように右又は左にずれている場合には、現探索行は現段落に登録せず、図10の例に示したステップS1004に処理を戻す。それ以外の場合は、処理をステップS1204に処理を移す。
ステップS1204において、現探索行と現段落に登録された行の文字サイズ(行高さを含む)に基づいて、その現探索行を登録すべきか否かを判定する。つまり、現探索行が現段落内の登録行より文字サイズが大きいか小さいかを判定する。例えば、ステップS1204における文字サイズの判定は、図14の例に示すように行高さを用いて行う。つまり、現段落1420,1450に既に登録された各行(現段落1420内の行1400から行1408、現段落1450内の行1430から行1438)の平均行高さと現探索行1410,1440の行高さを比較して、図14(a)の例に示すように、現探索行1410の行高さが平均行高さより予め定められた量だけ大きい場合、又は図14(b)の例に示すように、現探索行1440の行高さが平均行高さより予め定められた量だけ小さい場合は、現探索行1410,1440は現段落1420,1450に登録せず、図10の例に示したステップS1004に処理を戻す。それ以外の場合は、処理をステップS1206に移す。
ステップS1206において、現探索行が現段落の段落外接矩形に対して、下にずれたかどうかを判定する。つまり、図11の例に示した現段落の段落外接矩形1110のmax_y(図11では更新後max_y)と図7の例に示した現探索行の行外接矩形750のmin_yとを比較して、max_y ≦ min_yなら処理をステップS1208に処理を移し、max_y > min_yなら図10の例に示したステップS1014に処理を移して、現探索行を現段落に登録し、段落情報を更新する。
ステップS1208において、ステップS1204と同様に現段落に登録された各行の平均行高さと現探索行の行高さを比較して、現探索行の行高さが平均行高さより予め定められた量だけ大きい場合、又は現探索行の行高さが平均行高さより予め定められた量だけ小さい場合は、現探索行は現段落に登録せず、図10の例に示したステップS1004に処理を戻す。それ以外の場合は、処理をステップS1210に移す。
ステップS1210において、現探索行と現段落の行間と現段落に既に登録された各行の行間とを比較する。つまり、現段落に既に登録された各行の行間の平均値と現探索行と現段落の段落外接矩形との距離(min_y − max_y)を比較して、その差分が予め定められた量より大きい場合は行間が広がったと判定して現探索行は現段落に登録せず、図10の例に示したステップS1004に処理を戻す。前記差分が予め定められた量より小さい場合は、行間は一定であると判定して、ステップS1212に処理を移す。
ステップS1212において、現探索行の1つ前の同一行に登録行が複数あるかどうかを判定し、同一行に複数登録行がある場合は、行外接矩形のx座標値であるmin_x値で昇順にソートする。ここで、同一行とは、行外接矩形のy座標が現探索行のそれと予め定められた範囲内にある行であって、ライン認識処理モジュール950では別々の行であると認識されたが、段落認識処理モジュール960による現段落の生成過程において、現探索行よりも前に登録された行(複数の場合もあり得る)のことをいう。ここで、y座標が予め定められた範囲内にあるとは、その段落において1行が存在するy座標の範囲内にあることをいう。同一行に複数登録行がない場合はそのまま図10の例に示したステップS1014に処理を移して、現探索行を現段落に登録し、段落情報を更新する。図15の例は、同一行上に3つの登録行(登録行1510、登録行1511、登録行1512)がある場合を表しており、この図15の例では前記3つの登録行の行外接矩形の各x座標値である、「min_x」:登録行1510、「min_x」:登録行1511、「min_x」:登録行1512を用いて昇順でソートを行う。ソート処理終了後、図10の例に示したステップS1014に処理を移して、現探索行を現段落に登録し、段落情報を更新する。
矩形サイズ量子化モジュール980は、段落認識処理モジュール960、文字矩形生成モジュール990と接続されており、段落認識処理モジュール960で算出された段落内の行高さの代表値max_hを、受け付けた解像度情報104に基づいて算出された矩形量子化サイズで量子化し、その量子化した行高さの代表値max_hを文字矩形生成モジュール990に渡す。つまり、矩形サイズ量子化モジュール980は、段落認識処理モジュール960によって抽出された段落内のラインである行の高さ又は列の幅の代表値を変更の対象とする。第1の実施の形態における矩形サイズ量子化モジュール180と同様の処理(具体例として、文字の外接矩形の高さを量子化の対象とするのではなく、段落内の行の外接矩形の高さの代表値を量子化の対象とする処理)を行う。
文字矩形生成モジュール990は、段落認識処理モジュール960、矩形サイズ量子化モジュール980と接続されており、矩形サイズ量子化モジュール980によって量子化された段落内の行高さの代表値、段落認識処理モジュール960によって抽出された段落に関する情報を用いて、第2の実施の形態における文字矩形生成モジュール490と同様に文字情報データ102内の外接矩形を囲む補正文字矩形情報192を生成する。つまり、各段落毎に、その段落に属する文字情報データ102を補正して補正文字矩形情報192を生成する。したがって、その段落に属する文字画像のポイント数は同じとなる。
<第4の実施の形態>
第4の実施の形態では、ラインである行又は列を抽出し、そのラインを用いて段落を抽出し、さらにその段落を統合して、その統合した段落内の行の高さ又は列の幅の代表値を量子化する。
図16は、第4の実施の形態の構成例についての概念的なモジュール構成図である。第4の実施の形態である画像処理装置は、図16の例に示すように、ライン認識処理モジュール1650、段落認識処理モジュール1660、段落統合処理モジュール1670、矩形サイズ量子化モジュール1680、文字矩形生成モジュール1690を有している。
ライン認識処理モジュール1650は、段落認識処理モジュール1660と接続されており、第3の実施の形態におけるライン認識処理モジュール950と同等の処理を行い、抽出したラインに関する情報、文字情報データ102を段落認識処理モジュール1660へ渡す。
段落認識処理モジュール1660は、ライン認識処理モジュール1650、段落統合処理モジュール1670と接続されており、第3の実施の形態における段落認識処理モジュール960と同等の処理を行い、抽出した段落に関する情報、文字情報データ102を段落統合処理モジュール1670へ渡す。
段落統合処理モジュール1670は、段落認識処理モジュール1660、矩形サイズ量子化モジュール1680、文字矩形生成モジュール1690と接続されており、段落認識処理モジュール1660によって抽出された段落を統合する。そして、統合段落内の行高さの代表値を矩形サイズ量子化モジュール1680へ渡し、統合した段落に関する情報、文字情報データ102を文字矩形生成モジュール1690へ渡す。段落の統合は、各段落の段落代表値max_hを用いて行う。
図17は、段落統合処理モジュール1670が行う段落の統合処理例を示すフローチャートである。
ステップS1702において、段落認識処理モジュール1660で認識された全ての段落の段落代表値max_hの差分値を算出し、その差分値が最小となる2つの段落を抽出する(このときの差分値を以下では「差分最小値」ともいう)。
ステップS1704において、ステップS1702で算出された差分最小値を予め定めた閾値と比較する。前記差分最小値が予め定めた閾値より大きい場合(ステップS1704でNO)は、これ以上統合すべき段落はないと判断して、段落統合処理モジュール1670における段落統合処理を終了する(ステップS1799)。前記差分最小値がある所定の閾値より小さい場合(ステップS1704でYES)は、ステップS1706に処理を移す。
ステップS1706において、ステップS1702で差分最小値であるとして抽出された2つの段落を統合する。ここでいう段落の統合とは、段落代表値が近い段落同士であることを示すために、例えば2つの段落の段落情報に同じ識別番号などを付与又は追加するという意味である。
ステップS1708において、ステップS1706において統合された段落の段落代表値max_hを、統合元の2つの段落の段落代表値の大きい方で設定し、ステップS1702に処理を戻す。つまり、統合後の段落の段落代表値max_hを、元の段落の段落代表値max_hのうち大きい値とする。
このように段落統合処理モジュール1670は、前述したように、ステップS1702で算出する差分最小値がステップS1704において予め定めた閾値より大きくなるまでステップS1702からステップS1708の統合処理を繰り返して段落を統合する。
矩形サイズ量子化モジュール1680は、段落統合処理モジュール1670、文字矩形生成モジュール1690と接続されており、段落統合処理モジュール1670で算出された統合段落内の行高さの代表値max_hを、受け付けた解像度情報104に基づいて算出された矩形量子化サイズで量子化し、その量子化した行高さの代表値max_hを文字矩形生成モジュール1690に渡す。つまり、矩形サイズ量子化モジュール1680は、段落統合処理モジュール1670によって統合された段落内のラインである行の高さ又は列の幅の代表値を変更の対象とする。第1の実施の形態における矩形サイズ量子化モジュール180と同様の処理(具体例として、文字の外接矩形の高さを量子化の対象とするのではなく、統合段落内の行の外接矩形の高さの代表値を量子化の対象とする処理)を行う。
文字矩形生成モジュール1690は、段落統合処理モジュール1670、矩形サイズ量子化モジュール1680と接続されており、矩形サイズ量子化モジュール1680によって量子化された統合段落内の行高さの代表値、段落統合処理モジュール1670によって抽出された統合段落に関する情報を用いて、第2の実施の形態における文字矩形生成モジュール490と同様に文字情報データ102内の外接矩形を囲む補正文字矩形情報192を生成する。つまり、各統合段落毎に、その統合段落に属する文字情報データ102を補正して補正文字矩形情報192を生成する。したがって、その統合段落に属する文字画像のポイント数は同じとなる。
図18を参照して、前述の実施の形態の画像処理装置のハードウェア構成例について説明する。図18に示す構成は、例えばパーソナルコンピュータ(PC)などによって構成されるものであり、スキャナ等のデータ読み取り部1817と、プリンタなどのデータ出力部1818を備えたハードウェア構成例を示している。
CPU(Central Processing Unit)1801は、前述の実施の形態において説明した各種のモジュール、すなわち、矩形サイズ量子化モジュール180、文字矩形生成モジュール190、ライン認識処理モジュール450、段落認識処理モジュール960、段落統合処理モジュール1670等の各モジュールの実行シーケンスを記述したコンピュータ・プログラムにしたがった処理を実行する制御部である。
ROM(Read Only Memory)1802は、CPU1801が使用するプログラムや演算パラメータ等を格納する。RAM(Random Access Memory)1803は、CPU1801の実行において使用するプログラムや、その実行において適宜変化するパラメータ等を格納する。これらはCPUバスなどから構成されるホストバス1804により相互に接続されている。
ホストバス1804は、ブリッジ1805を介して、PCI(Peripheral Component Interconnect/Interface)バスなどの外部バス1806に接続されている。
キーボード1808、マウス等のポインティングデバイス1809は、操作者により操作される入力デバイスである。ディスプレイ1810は、液晶表示装置又はCRT(Cathode Ray Tube)などがあり、各種情報をテキストやイメージ情報として表示する。
HDD(Hard Disk Drive)1811は、ハードディスクを内蔵し、ハードディスクを駆動し、CPU1801によって実行するプログラムや情報を記録又は再生させる。ハードディスクには、文字情報データ102、解像度情報104、補正文字矩形情報192、量子化データなどが格納される。さらに、その他の各種のデータ処理プログラム等、各種コンピュータ・プログラムが格納される。
ドライブ1812は、装着されている磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリ等のリムーバブル記録媒体1813に記録されているデータ又はプログラムを読み出して、そのデータ又はプログラムを、インタフェース1807、外部バス1806、ブリッジ1805、及びホストバス1804を介して接続されているRAM1803に供給する。リムーバブル記録媒体1813も、ハードディスクと同様のデータ記録領域として利用可能である。
接続ポート1814は、外部接続機器1815を接続するポートであり、USB、IEEE1394等の接続部を持つ。接続ポート1814は、インタフェース1807、及び外部バス1806、ブリッジ1805、ホストバス1804等を介してCPU1801等に接続されている。通信部1816は、ネットワークに接続され、外部とのデータ通信処理を実行する。データ読み取り部1817は、例えばスキャナであり、ドキュメントの読み取り処理を実行する。データ出力部1818は、例えばプリンタであり、ドキュメントデータの出力処理を実行する。
なお、図18に示す画像処理装置のハードウェア構成は、1つの構成例を示すものであり、本実施の形態は、図18に示す構成に限らず、本実施の形態において説明したモジュールを実行可能な構成であればよい。例えば、一部のモジュールを専用のハードウェア(例えば特定用途向け集積回路(Application Specific Integrated Circuit:ASIC)等)で構成してもよく、一部のモジュールは外部のシステム内にあり通信回線で接続しているような形態でもよく、さらに図18に示すシステムが複数互いに通信回線によって接続されていて互いに協調動作するようにしてもよい。また、複写機、ファックス、スキャナ、プリンタ、複合機(スキャナ、プリンタ、複写機、ファックス等のいずれか2つ以上の機能を有している画像処理装置)などに組み込まれていてもよい。
前述の実施の形態においては、主に横書き電子ドキュメントの場合の、外接矩形の高さ、行の高さを用いることを示したが、縦書きの場合は外接矩形の幅、列の幅を同様に用いる。また、外接矩形の高さを量子化の対象としたが、外接矩形の幅であってもよいし、両方を量子化の対象としてもよい。なお、両方を量子化の対象とする場合は、量子化後のポイント数を大きい方に合わせるように量子化する。
また、第2、第3、第4の実施の形態においても、第1の実施の形態と同様の変形例(図3参照)としてもよい。つまり、第2の実施の形態における矩形サイズ量子化モジュール480、第3の実施の形態における矩形サイズ量子化モジュール980、第4の実施の形態における矩形サイズ量子化モジュール1680を、図3の例に示した矩形サイズ量子化モジュール380、量子化データ選択モジュール385の組み合わせとしてもよい。
なお、数式を用いて説明したが、数式には、その数式と同等のものを含めてもよい。同等のものとは、その数式そのものの他に、最終的な結果に影響を及ぼさない程度の数式の変形、又は数式をアルゴリズミックな解法で解くこと等が含まれる。
なお、説明したプログラムについては、記録媒体に格納して提供してもよく、また、そのプログラムを通信手段によって提供してもよい。その場合、例えば、前記説明したプログラムについて、「プログラムを記録したコンピュータ読み取り可能な記録媒体」の発明として捉えてもよい。
「プログラムを記録したコンピュータ読み取り可能な記録媒体」とは、プログラムのインストール、実行、プログラムの流通などのために用いられる、プログラムが記録されたコンピュータで読み取り可能な記録媒体をいう。
なお、記録媒体としては、例えば、デジタル・バーサタイル・ディスク(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)、インターネット、イントラネット、エクストラネット等に用いられる有線ネットワーク、あるいは無線通信ネットワーク、さらにこれらの組み合わせ等の伝送媒体を用いて伝送させてもよく、また、搬送波に乗せて搬送させてもよい。
さらに、前記のプログラムは、他のプログラムの一部分であってもよく、あるいは別個のプログラムと共に記録媒体に記録されていてもよい。また、複数の記録媒体に分割して
記録されていてもよい。また、圧縮や暗号化など、復元可能であればどのような態様で記録されていてもよい。
102…文字情報データ
104…解像度情報
180…矩形サイズ量子化モジュール
190…文字矩形生成モジュール
192…補正文字矩形情報
210…前文字外接矩形
220…現文字外接矩形
230…次文字外接矩形
240…補正文字矩形
380…矩形サイズ量子化モジュール
385…量子化データ選択モジュール
450…ライン認識処理モジュール
480…矩形サイズ量子化モジュール
490…文字矩形生成モジュール
950…ライン認識処理モジュール
960…段落認識処理モジュール
980…矩形サイズ量子化モジュール
990…文字矩形生成モジュール
1650…ライン認識処理モジュール
1660…段落認識処理モジュール
1670…段落統合処理モジュール
1680…矩形サイズ量子化モジュール
1690…文字矩形生成モジュール

Claims (6)

  1. 第1の電子文書内の画素塊を囲む第1の矩形に関する情報内の該第1の矩形の大きさに関する情報を予め定められた値に変更する矩形情報変更手段と、
    前記矩形情報変更手段によって変更された第1の矩形に関する情報を用いて、該第1の矩形を囲む第2の矩形を生成する矩形生成手段
    を具備することを特徴とする画像処理装置。
  2. 前記矩形情報変更手段は、前記矩形生成手段が生成する第2の矩形を用いる第2の電子文書の解像度を用いて、前記第1の矩形の大きさに関する情報を変更する
    ことを特徴とする請求項1に記載の画像処理装置。
  3. 前記第1の矩形に関する情報に基づいて、前記第1の電子文書内の行又は列であるラインを抽出するライン抽出手段
    をさらに具備し、
    前記矩形情報変更手段は、前記ライン抽出手段によって抽出されたラインである行の高さ又は列の幅を変更の対象とする
    ことを特徴とする請求項1又は2に記載の画像処理装置。
  4. 前記ライン抽出手段によって抽出されたラインに応じて、前記第1の電子文書内の段落を抽出する段落抽出手段
    をさらに具備し、
    前記矩形情報変更手段は、前記段落抽出手段によって抽出された段落内のラインである行の高さ又は列の幅の代表値を変更の対象とする
    ことを特徴とする請求項3に記載の画像処理装置。
  5. 前記段落抽出手段によって抽出された段落を統合する段落統合手段
    をさらに具備し、
    前記矩形情報変更手段は、前記段落統合手段によって統合された段落内のラインである行の高さ又は列の幅の代表値を変更の対象とする
    ことを特徴とする請求項4に記載の画像処理装置。
  6. コンピュータを、
    第1の電子文書内の画素塊を囲む第1の矩形に関する情報内の該第1の矩形の大きさに関する情報を予め定められた値に変更する矩形情報変更手段と、
    前記矩形情報変更手段によって変更された第1の矩形に関する情報を用いて、該第1の矩形を囲む第2の矩形を生成する矩形生成手段
    として機能させることを特徴とする画像処理プログラム。
JP2009253858A 2009-11-05 2009-11-05 画像処理装置及び画像処理プログラム Pending JP2011100252A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009253858A JP2011100252A (ja) 2009-11-05 2009-11-05 画像処理装置及び画像処理プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009253858A JP2011100252A (ja) 2009-11-05 2009-11-05 画像処理装置及び画像処理プログラム

Publications (1)

Publication Number Publication Date
JP2011100252A true JP2011100252A (ja) 2011-05-19

Family

ID=44191383

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009253858A Pending JP2011100252A (ja) 2009-11-05 2009-11-05 画像処理装置及び画像処理プログラム

Country Status (1)

Country Link
JP (1) JP2011100252A (ja)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08123801A (ja) * 1994-10-28 1996-05-17 Toshiba Corp 文書作成装置及び枠編集方法
JPH1055364A (ja) * 1996-08-09 1998-02-24 Matsushita Electric Ind Co Ltd 文字図形編集装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08123801A (ja) * 1994-10-28 1996-05-17 Toshiba Corp 文書作成装置及び枠編集方法
JPH1055364A (ja) * 1996-08-09 1998-02-24 Matsushita Electric Ind Co Ltd 文字図形編集装置

Similar Documents

Publication Publication Date Title
JP5321109B2 (ja) 情報処理装置及び情報処理プログラム
US8824798B2 (en) Information processing device, computer readable medium storing information processing program, and information processing method
JP4310288B2 (ja) 画像処理装置及びその方法、プログラム並びに記憶媒体
JP4623169B2 (ja) 画像処理装置及び画像処理プログラム
JP4539756B2 (ja) 画像処理装置及び画像処理プログラム
JP4194462B2 (ja) 電子透かし埋め込み方法、電子透かし埋め込み装置、及びそれらを実現するプログラム並びにコンピュータ可読記憶媒体
JP2007134987A (ja) 透かし情報埋め込み装置,透かし情報埋め込み方法,およびコンピュータプログラム
AU2008221525B2 (en) Information processor, information processing method, and information processing program
JP2009251872A (ja) 情報処理装置及び情報処理プログラム
JP5742283B2 (ja) 画像処理装置及び画像処理プログラム
JP4179977B2 (ja) スタンプ処理装置、電子承認システム、プログラム、及び記録媒体
JP5062076B2 (ja) 情報処理装置及び情報処理プログラム
JP2002232679A (ja) 画像処理方法及び装置及びコンピュータプログラム及び記憶媒体
JP2011100252A (ja) 画像処理装置及び画像処理プログラム
JP4164458B2 (ja) 情報処理装置及び方法、並びに、コンピュータプログラム及びコンピュータ可読記憶媒体
JP5194851B2 (ja) 情報処理装置及び情報処理プログラム
JP4900271B2 (ja) 情報処理装置及び情報処理プログラム
JP2000353233A (ja) 地図データ印刷システムと方法およびその処理プログラムを記録した記録媒体
JP6682827B2 (ja) 情報処理装置及び情報処理プログラム
JP5434273B2 (ja) 画像処理装置及び画像処理プログラム
JP6606885B2 (ja) 画像処理装置及び画像処理プログラム
JP5173690B2 (ja) 情報処理装置及び情報処理方法、並びに、コンピュータプログラム及びコンピュータ可読記録媒体
JP2005190439A (ja) 情報処理装置、情報処理方法、プログラム及び記録媒体
JP5434272B2 (ja) 情報処理装置及び情報処理プログラム
JP5531661B2 (ja) 画像処理装置及び画像処理プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20121023

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130507

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130704

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20131203

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140130

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20140218