JP2004355315A - 画像処理方法 - Google Patents
画像処理方法 Download PDFInfo
- Publication number
- JP2004355315A JP2004355315A JP2003152050A JP2003152050A JP2004355315A JP 2004355315 A JP2004355315 A JP 2004355315A JP 2003152050 A JP2003152050 A JP 2003152050A JP 2003152050 A JP2003152050 A JP 2003152050A JP 2004355315 A JP2004355315 A JP 2004355315A
- Authority
- JP
- Japan
- Prior art keywords
- data
- processing
- image
- file
- 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
Links
Images
Landscapes
- Processing Or Creating Images (AREA)
- Image Processing (AREA)
Abstract
【課題】ベクトル化のための処理時間をユーザに意識させない。
【解決手段】操作画面に、「ベクトル処理を行いますか?」の問い合わせのメッセージ、および「今すぐ」、「後で」、「いいえ」のボタンを表示し、ユーザに対し、ベクトル化処理を行うか否か問い合わせる。「後で」のボタンを押すと、以後のMFP100の負荷が軽いとき等、ユーザがベクトル化処理の待ち時間を意識しないタイミングで、一括ベクトル化処理によりベクトル化処理を実行する。「後で」ボタンの選択は、ベクトル処理テーブルに記録される。
【選択図】 図5
【解決手段】操作画面に、「ベクトル処理を行いますか?」の問い合わせのメッセージ、および「今すぐ」、「後で」、「いいえ」のボタンを表示し、ユーザに対し、ベクトル化処理を行うか否か問い合わせる。「後で」のボタンを押すと、以後のMFP100の負荷が軽いとき等、ユーザがベクトル化処理の待ち時間を意識しないタイミングで、一括ベクトル化処理によりベクトル化処理を実行する。「後で」ボタンの選択は、ベクトル処理テーブルに記録される。
【選択図】 図5
Description
【0001】
【発明が属する技術分野】
本発明は画像処理方法に関する。
【0002】
【従来の技術】
近年、環境問題が叫ばれる中、オフィスでのペーパーレス化が急速に進んでいる。
【0003】
[第1従来例]
ペーパーレス化の方法には、例えば、バインダ等で蓄積された紙文書をスキャナ等で読み取り、ラスターデータのイメージとして、ポータブルドキュメントフォーマット(PDFフォーマット)等のコンパクトなファイルに変換して、画像記憶手段に格納するものがある(例えば特許文献1)。
【0004】
[第2従来例]
ペーパーレス化の方法の第2は、機能が拡張された記録装置、MFP(マルチファンクション複合機)を用い、画像記憶装置に文字や画像のオリジナルデータファイルを格納しておき、オリジナルデータファイルを印刷して紙文書に記録する際に、オリジナルデータファイルが存在する画像記憶装置内のポインタ情報を、紙文書の表紙や印刷情報中に付加情報として記録するものがある(例えば特許文献2)。これによって、ポインタ情報から直ちにオリジナルデータファイルにアクセスし、オリジナルデータファイルの編集、印刷等の再利用が可能であり、紙文書保有量を削減し得る。
【0005】
【特許文献1】
特開2001−358863号公報
【特許文献2】
特開平10−285378号公報
【0006】
【発明が解決しようとする課題】
第1従来例は、スキャナで読み取った画像をコンパクトな情報量のPDFファイルとして保存可能であるが、プリントされた文書から保存されているファイルを検索することができず、保存されている文書を再利用することは難しかった。
また、PDFファイルへ変換する間、他の処理を行えないという問題点がある。
【0007】
第2従来例は、オリジナルデータファイルへのポインタ情報を持たない文書ファイルの場合は、オリジナルデータファイルを検索することができない。
【0008】
また、本出願人は、イメージデータをベクトル化し、ベクトルデータを原稿に記載された情報として扱うことで、如何なる原稿でも再利用可能な電子ファイルとして扱うことができ、また、入力画像から電子ファイルを検索できるシステムを考えている。
【0009】
しかし、ベクトル化の際には、高い計算処理能力を要し、ベクトル化処理に時間がかかってしまい、その間、他の処理を行えないことがあるという問題点がある。
【0010】
本発明はこのような問題点を解消すべく創案されたもので、ベクトル化のための処理時間をユーザに意識させないことを目的とする。
【0011】
【課題を解決するための手段】
本発明に係る画像処理方法は、入力画像に対応するオリジナルデータファイルを検索する検索ステップと、ユーザの指示に基づいて、前記入力画像を直ちにベクトルデータ化するのか、後でベクトルデータ化するのか判断する判断ステップと、前記オリジナルデータファイルが検索できなかった入力画像をベクトルデータ化するベクトルデータ化ステップとを有する画像処理方法であって、前記判断ステップで直ちにベクトルデータ化すると判断された場合、前記ベクトルデータ化ステップで前記入力画像を直ちにベクトルデータ化し、前記判断ステップで後でベクトルデータ化すると判断された場合、前記ベクトルデータ化ステップでは所定の条件を満たしたときに前記入力画像をベクトルデータ化することを特徴とする。これによって、ベクトル化のための処理時間をユーザに意識させない処理が可能である。
【0012】
【発明の実施の形態】
次に本発明に係る画像処理方法の第1実施形態を図面に基づいて説明する。
【0013】
図1は、本発明に係る画像処理方法の第1実施形態を実施する画像処理システムを示すブロック図、図2は、図1におけるMFPを示すブロック図、図3は、本発明に係る画像処理方法の第1実施形態を示すフローチャ−ト、図4は、図3の処理の後に実行される一括ベクトル化処理を示すフローチャート、図5は、図3のステップS307で操作画面に表示される画面を示す図、図6は、図3の処理で生成されるベクトル処理テーブルを示す表、図7は、図3の画像処理方法で処理される画像および処理結果の画像を示す図、図8は、ブロックセレクション処理で得られるブロック情報および入力ファイル情報を示す表、図9は、図3のポインタ情報抽出の処理を示すフローチャート、図10は、ポインタ情報を含む原稿の画像を示す図、図11は、図3のポインタ情報に基づくファイル検索処理を示すフローチャート、図12は、図3のファイル検索の処理を示すフローチャート、図13は、図3の文字領域に対するベクトル化の処理を示すフローチャート、図14は、図15のベクトル化の処理における角抽出の処理を示す図、図15は、図15のベクトル化の処理における輪郭線まとめの処理を示す図、図16は、図15のベクトル化で生成されたベクトルデータのグループ化の処理を示すフローチャート、図17は、図16の処理でグループ化されたベクトルデータに対する図形要素検出の処理を示すフローチャート、図18は、ベクトル化処理結果のデータを示すマップ、図19は、図3のアプリデータ変換の処理を示すフローチャート、図20は、図19の文書構造ツリー生成の処理を示すフローチャート、図21は、文書構造ツリー生成処理の対象となる文書を示す図、図22は、図19の処理によって生成される文書構造ツリーを示す図、図23は、図3のポインタ情報付加の処理を示すフローチャートである。
【0014】
[第1実施形態]
【0015】
[画像処理システム]
図1において、本発明に係る画像処理方法の第1実施形態を実施する画像処理システムは、オフィス10とオフィス20とをインターネット104で接続した環境において使用される。
【0016】
オフィス10内に構築されたLAN107には、記録装置としてのMFP(マルチファンクション複合機)100、MFP100を制御するマネージメントPC101、クライアントPC(外部記憶手段)102、文書管理サーバ106、文書管理サーバ106のためのデータベース105が接続されている。
【0017】
オフィス20内にはLAN108が構築され、LAN108には文書管理サーバ106、および文書管理サーバ106のためのデータベース105が接続されている。
【0018】
LAN107、108にはプロキシサーバ103が接続され、LAN107、108はプロキシサーバ103を介してインターネットに接続される。
【0019】
MFP100は紙文書から読み取った入力画像に対する画像処理の一部を担当し、処理結果としてのイメージデータはLAN109を通じてマネージメントPC101に入力される。マネージメントPC101は、画像記憶手段、画像処理手段、表示手段、入力手段等を含む通常のパーソナルコンピュータであり、機能的にはこれら構成要素の一部がMFP100と一体化して、画像処理システムの構成要素となっている。なお、本実施形態では、マネージメントPCにおいて、下記に記載の検索処理などが実行されるものとするが、マネージメントPCで行われる処理をMFPで実行するようにしても構わない。
【0020】
さらにMFP100は、LAN109によってマネージメントPC101に直接接続されている。
【0021】
[MFP]
図2において、MFP100は、図示しないオートドキュメントフィーダ(ADF)を有する画像読み取り部110を備え、画像読み取り部110は束状の或いは1枚の原稿の画像を光源で照射し、反射画像をレンズで固体撮像素子上に結像する。固体撮像素子は所定解像度(例えば600dpi)および所定濃度レベル(例えば8ビット)の画像読み取り信号を生成し、画像読み取り信号からラスターデータよりなるイメージデータが構成される。
【0022】
MFP100は、記憶装置111および記録装置112を有し、通常の複写機能を実行する際には、イメージデータをデータ処理装置115によって画像処理して記録信号に変換する。複数枚複写の場合には、1頁分の記録信号を一旦記憶装置111に記憶保持した後、記録装置112に順次出力して、複写紙上に記録画像を形成する。
【0023】
MFP100は、LAN107との接続のためのネットワークIF114を有し、クライアントPC102が出力したイメージデータを、記録装置112によって記録し得る。クライアントPC102から出力されたイメージデータはLAN107からネットワークIF114を経てデータ処理装置115で記録可能な記録信号に変換された後、MFP100において、記録紙上に記録画像として記録される。
【0024】
MFP100は、MFP100に設けられたキー操作部(入力装置113)、あるいはマネージメントPC101の入力装置(キーボード、ポインティングデバイス等)を通じて操作される。これらの操作のために、データ処理装置115は内部の制御部(図示せず。)によって所定の制御を実行する。
【0025】
MFP100は表示装置116を有し、操作入力の状態と、処理すべきイメージデータとを、表示装置116によって表示し得る。
【0026】
記憶装置111はネットワークIF117を介して、マネージメントPC101から直接制御し得る。LAN109は、MFP100とマネージメントPC101との間のデータの授受、制御信号授受に用いられる。
【0027】
[画像処理方法の全体の流れ]
本発明に係る画像処理方法の第1実施形態は図3の各ステップにより実行される。
【0028】
ステップS301:MFP100の画像読み取り部110を動作させて、1枚の原稿をラスター状に走査し、所定解像度および所定濃度レベルの、画像読み取り信号を取得する。画像読み取り信号はデータ処理部115によって前処理され、入力画像の1頁分のイメージデータとして、記憶装置111に保存される。次にステップS302に進む。
【0029】
ステップS302(ブロックセレクションステップ):マネージメントPC101によって、記憶装置111に格納されたイメージデータの領域を、文字あるいは線画を含む文字・線画領域と、ハーフトーンの写真領域、不定形の図面領域その他に分ける。さらに文字・線画領域について、主に文字を含む文字領域と、主に表、図形等を含む線画領域とを分離し、線画領域は表領域と図形領域に分離する。なお、本実施形態では連結画素を検知し、該連結画素の外接矩形領域の形状・サイズ・画素密度等を用いて、属性毎の領域に分割するものとするが、その他の領域分割手法を用いても構わない。
【0030】
文字領域については、文字段落ごとの纏まった塊をブロックとして矩形ブロック(文字領域矩形ブロック)にセグメント化し、線画領域では、表、図形等の個々のオブジェクト(表領域矩形ブロック、線画領域矩形ブロック)ごとに矩形ブロックにセグメント化する。
【0031】
ハーフトーンで表現される写真領域は、画像領域矩形ブロック、背景領域矩形ブロック等のオブジェクトごとに、矩形ブロックにセグメント化する。
【0032】
これらの矩形ブロックの情報を「領域分割情報」という。
【0033】
ステップS303:入力画像にオリジナルデータファイルのポインタ情報が埋め込まれているか否かの判定を行うため、OCR、OMR処理を行う。
【0034】
原稿画像中に付加情報として記録された2次元バーコード、あるいはURLに該当するオブジェクトを検出し、OCRによってURLを文字認識し、OMRによって2次元バーコードを解読して入力画像のオリジナルデータファイルが格納されている記憶装置内のポインタ情報を検出する。
【0035】
ポインタ情報を付加する手段は2次元バーコードに限定されるものではなく、隣接文字列間隔の変化として情報を埋め込む方法、ハーフトーンの画像に埋め込む方法等、直接視認されない、いわゆる電子透かしによる方法等がある。
【0036】
ステップS304(ポインタ情報抽出ステップ):ステップS305におけるOCR、OMR、もしくは電子透かしの情報から、ポインタ情報を抽出する。
【0037】
ステップS305:ステップS304でポインタ情報が取得されたか否か判断する。ポインタ情報が取得されたときは、オリジナルデータファイルに直接アクセスすべく、ステップS306に分岐する。
【0038】
ステップS304でポインタ情報が抽出されなかったときはステップS307に進む。
【0039】
ステップS306:ポインタ情報が抽出されたときは、そのポインタ情報を用いてオリジナルデータファイル(電子ファイル)を検索する。オリジナルデータファイルは、電子ファイルの形態で、図1のクライアントPC102のハードディスク内、文書管理サーバ106内のデータベース105内、MFP100に設けられた記憶装置111等に格納されており、ステップS306で得られたアドレス情報(ポインタ情報)に従ってこれらの記憶装置内を検索する。検索結果としてオリジナルデータファイルがみつからなかったとき、あるいは抽出されたオリジナルデータファイルがラスターデータファイルあるいは、BMP、tiffに代表される、ラスターデータを符号化したイメージデータファイルであったときは、スップS307に分岐する。オリジナルデータファイルを抽出できたときは、ステップS316にジャンプする。
【0040】
ステップS307、S308:操作画面116において図5の画面を表示し、ユーザに対し、ベクトル化処理を行うか否か問い合わせる。図5の画面には、「ベクトル処理を行いますか?」の問い合わせのメッセージ、および「今すぐ」のボタン501、「後で」のボタン502、「いいえ」のボタン503が表示される。「今すぐ」のボタン501が押された場合、今すぐベクトル化処理を行うべく、処理はステップS308を経て、ステップS309に進む。「後で」のボタン502が押された場合、ベクトル化処理テーブルにステータスを「LATER」にして仮の格納アドレスとともに登録し、その後、MFP100の負荷が軽いとき(全く作業を行っていない状況を含む)等、所定の条件に適合したときにベクトル化を実行し、ユーザがベクトル化処理の待ち時間を意識しないタイミングで、図4の一括ベクトル化処理により、ベクトル化を実行する。また、「いいえ」のボタン503が押された場合、ステータスを「NO」にして終了する。
【0041】
ボタン501〜S503の選択は図6のベクトル処理テーブルに記録される。ベクトル処理テーブルの詳細については後述する。
【0042】
ステップS309:文書検索ルーチンを実行する。ステップS303のOCR処理で抽出された単語により、データベース105における全文検索を実行し、あるいは矩形ブロックのレイアウトとオブジェクトの属性に基づき、レイアウト検索を行う。
【0043】
ステップS310:ステップS309の検索で、類似度の高いオリジナルデータファイルの候補が複数抽出されたときは、操作画面116においてサムネイル等により表示し、ユーザに選択を促す。なお、オリジナルデータファイルの候補が1個のときはステップS311からS316に自動的にジャンプし、抽出されたオリジナルデータファイルのアドレスをMFP100に通知するようにしてもよい。
【0044】
ステップS311:ステップS309あるいはステップS310で1個のデータファイルが特定されたか否か判断する。1個のデータファイルが特定されたときはステップS316にジャンプし、データファイルが抽出されなかったとき、あるいは抽出されたデータファイルがイメージデータファイルのときはステップS312に進む。
【0045】
ステップS312(ベクトル化ステップ):ポインタ情報が抽出されなかった場合、ベクトル化処理に移り、ベクトル化処理により領域分割処理で分割された各領域内のイメージデータをベクトルデータに変換する。
【0046】
ベクトル化の方法は、以下(a)〜(f)等が存在する。
(a)領域が文字領域のとき、さらにOCRによる文字画像のコード変換を行ったり、あるいは文字のサイズ、スタイル、字体を認識し、原稿を走査して得られた文字に可視的に忠実なフォントデータに変換する。
(b)領域が文字領域であり、かつOCRによる認識が不可能であったとき、文字の輪郭を追跡し、輪郭情報(アウトライン)を線分のつながりとして表現する形式に変換する。
(c)領域が図形領域のとき、図形オブジェクトの輪郭を追跡し、輪郭情報を線分のつながりとして表現する形式に変換する。
(d)b、cの線分形式のアウトライン情報をベジエ関数などでフィッティングして、関数情報に変換する。
(e)cの図形オブジェクトの輪郭情報から、図形の形状を認識し、円、矩形、多角形、等の図形定義情報に変換する。
(f)領域が図形領域であって、特定領域の表形式のオブジェクトの場合、罫線や枠線を認識し、所定のフォーマットの帳票フォーマット情報に変換する。
【0047】
以上の方法以外に、ラスターデータを所定のコマンドやコード情報に置きかえる種々のベクトル化処理が考えられる。なお、イメージ領域は例えばJPEGなどで扱われる。
【0048】
ステップS313:ステップS310のベクトルデータをそのまま使用して、アプリケーションデータ形式に変換し、出力する。通常、データ形式は使用するアプリケーションに依存し、目的に応じたファイル形式に変換する必要がある。
【0049】
編集等再利用可能なアプリケーションデータ形式とは、ワードプロセッサ、表計算ソフトウエア等のアプリケーションソフトウエアであり、例えば、マイクロソフト・コーポレーションのワードプロセッサWORD(登録商標)や表計算アプリケーションソフトウエアEXCEL(登録商標)などがある。これらのアプリケーションはそれぞれ使用する目的が異なっており、目的に応じたファイル形式が定義され、その形式でファイル(データ)を保存する。
【0050】
より汎用的なファイル形式としては、マイクロソフト・コーポレーションのRTF(リッチ・テキスト・ファイル)形式、近年使用されるようになったSVG(Scalable Vector Graphics)形式、あるいは単純にテキストデータのみを扱うプレーンテキスト形式、などが知られており、これらは対応するアプリケーションにおいて共通に使用可能である。
【0051】
ステップS314:ステップS313で生成されたデータを電子ファイルとして記憶装置111に格納する。
【0052】
ステップS315:データベース105、記憶装置111に格納される電子ファイルに関しては検索用のインデックス情報がインデックスファイルに格納される。したがって、S314で新たに格納された電子ファイルに関して、S303で得た文字認識結果のテキスト情報や、レイアウト情報などをインデックス情報として、インデックスファイルに登録される。
【0053】
これによって、スキャンして登録された画像に関しても、アプリケーションソフトウエアで作成された文書ファイル等と同等の検索性能が得られ、ポインタ情報を使用できないような状況でも検索が可能となる。
【0054】
ステップS316:データの格納場所を示すアドレスを出力する。ステップS314でデータを記憶装置111に格納したときは、当該記憶されたアドレスが出力され、ステップS306またはS311でオリジナルデータファイルが抽出されたときはオリジナルデータファイルのアドレスを通知する。
【0055】
ステップS317:検出あるいは生成された電子ファイルの内容について印刷等の記録を行うか否かユーザに確認し、記録するときはステップS318に進み、記録しないときはステップS319にジャンプする。
【0056】
ステップS318:電子ファイル等にポインタ情報を付加する。ポインタ情報付加は、2次元バーコードにより出力画像に付加する方法、文字列中やハーフトーン画像中に電子透かしを埋め込む方法等、種々の公知方法により実行可能である。
【0057】
これによって印刷された画像が読み込まれたとき、直ちにポインタ情報を取得でき、オリジナルデータファイルにアクセスし得る。
【0058】
ステップS319:以上の処理により得られた電子ファイルを用いて、文書の加工、蓄積、伝送、記録等の種々の処理を行う。生成され、あるいは取得された電子ファイルは、イメージデータファイルに比較してデータサイズがコンパクトであり、蓄積効率向上、伝送時間短縮、表示・記録品質向上の効果が得られる。
【0059】
図6はベクトル化処理テーブルであり、ファイルIDには、処理対象の入力画像を示す「1001」、「1002」等のID番号1010が登録される。各ファイルIDのステータス1011には、「NO」、「LATER」、「PROCESSING」、「SEARCHING」、「DONE」、「SIMILAR」あるいは「LINK」が登録される。ステップS307で「後で」(502ボタン)を選択したときはステータスには「LATER」が登録される。「いいえ」(503ボタン)を選択したときはステータスには「NO」が書き込まれる。
【0060】
MFP100負荷が軽い(負荷がないときを含む)等、所定の条件に適合することが検出されると、図4の各ステップにより、一括ベクトル化処理が実行される。
【0061】
ステップS401:ステータス1011を「PROCESSING」に書き換えて、図3のステップS302と同様のブロックセレクションステップを実行する。
【0062】
ステップS402:次に図3のステップS303と同様のOCR、OMR処理を実行する。
【0063】
ステップS403:次に図3のステップS312と同様のベクトル化処理を実行する。
【0064】
ステップS404:次に図3のステップS313と同様のアプリデータ変換の処理を実行する。
【0065】
ステップS405:次に作成された電子ファイルを格納する処理を実行する。
【0066】
ステップS406:次に図3のステップS315と同様のインデックス生成の処理を実行する。以上のステップS401〜S406の処理の実行中は「PROCESSING」のステータスが保持される。
【0067】
ステップS407:ステータスを「SEARCHING」に書き換え、図3のステップS309と同様、前記ベクトル化された入力画像に基づいてファイル検索の処理を実行する。当該ベクトル化された入力画像以外の電子ファイルが抽出できなかったときは、ステータス1011を「DONE」に書き換えて、S405で格納されているベクトルデータのアドレス情報をポインタ情報1013に書き込む。
【0068】
ステップS408:ステップS407で当該ベクトル化された入力画像以外の電子ファイルが抽出されたときは、ステータスを「SIMILAR」に書き換えて、電子ファイルのポインタ情報をポインタ情報1013に書き込む。
【0069】
ステップS409:全ての未処理入力画像の処理が終了したか否かを判断し、終了したときは、そのまま処理を終了する。未処理の入力画像が存在するときは、ステップS401に戻る。
【0070】
次に図3の主要なステップについて詳細に説明する。
【0071】
[ブロックセレクションステップ]
ステップS302(ブロックセレクションステップ)においては、図7右半部の画像42に示すように、入力画像を属性ごとに矩形ブロックに分割する。前述のように、矩形ブロックの属性としては、文字(TEXT)/図面(PICTURE)/線画(Line)/表(Table)/写真(PHOTO)等がある。
【0072】
ブロックセレクションステップにおいては、まず入力画像を白黒に2値化し、黒画素輪郭で囲まれる画素塊を抽出する。
【0073】
さらに、このように抽出された黒画素塊の大きさを評価し、大きさが所定値以上の黒画素塊の内部にある白画素塊に対する輪郭追跡を行う。白画素塊に対する大きさ評価、内部黒画素塊の追跡というように、内部の画素塊が所定値以上である限り、再帰的に内部画素塊の抽出、輪郭追跡を行う。
【0074】
画素塊の大きさは、例えば画素塊の面積によって評価される。
【0075】
このようにして得られた画素塊に外接する矩形ブロックを生成し、矩形ブロックの大きさ、形状に基づき属性を判定する。
【0076】
例えば、縦横比が1に近く、大きさが一定の範囲の矩形ブロックは文字領域矩形ブロックの可能性がある文字相当ブロックとし、近接する文字相当ブロックが規則正しく整列しているときに、これら文字相当ブロックを纏めた新たな矩形ブロックを生成し、新たな矩形ブロックを文字領域矩形ブロックとする。
【0077】
また扁平な画素塊を線画領域矩形ブロック、一定大きさ以上でかつ四角形の白画素塊を整列よく内包する黒画素塊を表領域矩形ブロック、不定形の画素塊が散在している領域を写真領域矩形ブロック、それ以外の不定形の画素塊を画像領域矩形ブロックとする。
【0078】
ブロックセレクションステップでは、このようにして生成された矩形ブロックのそれぞれについて、図8に示す、属性等のブロック情報および入力ファイル情報を生成する。
【0079】
図8において、ブロック情報には各ブロックの属性、位置の座標X、座標Y、幅W、高さH、OCR情報が含まれる。属性は1〜5の数値で与えられ、1は文字領域矩形ブロック、2は図面領域矩形ブロック、3は表領域矩形ブロック、4は線画領域矩形ブロック、5は写真領域矩形ブロックを示す。座標X、座標Yは入力画像における各矩形ブロックの始点のX、Y座標(左上角の座標)である。幅W、高さHは矩形ブロックのX座標方向の幅、Y座標方向の高さである。OCR情報は入力画像におけるポインタ情報の有無を示す。
【0080】
さらに入力ファイル情報として矩形ブロックの個数を示すブロック総数Nが含まれる。
【0081】
これらの矩形ブロックごとのブロック情報は、特定領域でのベクトル化に利用される。またブロック情報によって、特定領域とその他の領域を合成する際の相対位置関係を特定でき、入力画像のレイアウトを損なわずにベクトル化領域とラスターデータ領域を合成することが可能となる。
【0082】
[ポインタ情報抽出ステップ]
ステップS304(ポインタ情報抽出ステップ)は図9の各ステップによって実行される。図10は、ポインタ情報抽出ステップの処理対象となる原稿310を示し、原稿310はデータ処理装置115内のページメモリ(図示せず。)に格納される。原稿310には、文字領域矩形ブロック312、313、写真領域矩形ブロック314、2次元バーコード(QRコード)のシンボル311が記録されている。
【0083】
ステップS701:まず、記憶装置111のページメモリに格納された原稿310の入力画像をCPU(図示せず。)で走査して、ブロックセレクションステップの処理結果から、2次元バーコードシンボル311の位置を検出する。
【0084】
QRコードシンボルは、4隅のうちの3隅に、特定の位置検出要素パターンが設けられ、位置検出要素パターンを検出することにより、QRコードシンボルを検出し得る。
【0085】
ステップS702:次に、位置検出パターンに隣接する形式情報を復元し、シンボルに適用されている誤り訂正レベルおよびマスクパターンを得る。
【0086】
ステップS703:次にシンボルの型番(モデル)を決定する。
【0087】
ステップS704:ステップS702の形式情報から得られたマスクパターンを使って、QRコードのシンボルの符号化領域ビットパターンをXOR演算し、QRコードのシンボルのマスク処理を解除する。
【0088】
ステップS705:ステップS703で得られたモデルに基づいて配置規則を取得し、この配置規則に基づいて、シンボルキャラクタを読取り、メッセージのデータ及び誤り訂正コード語を復元する。
【0089】
ステップS706:復元されたメッセージについて、誤り訂正コード語に基づいて、誤りがあるかどうかの検出を行う。誤りが検出されたときは、訂正のためにステップS707に分岐する。
【0090】
ステップS707:復元されたメッセージを訂正する。
【0091】
ステップS708:誤り訂正されたデータより、モード指示子および文字数指示子に基づいて、データコード語をセグメントに分割し、データコード語を復元する。
【0092】
ステップS709:検出された仕様モードに基づいてデータコード文字を復号し、結果を出力する。
【0093】
2次元バーコードに組み込まれたデータは、オリジナルデータファイルのポインタ情報を表しており、例えばファイルサーバー名およびファイル名からなるパス情報で構成される。あるいは、対応するファイルへのURL等や、ファイルが格納されたデータベース105内あるいは記憶装置111内でのファイルID等で構成される。
【0094】
本実施形態ではポインタ情報を2次元バーコードの形で付与した原稿310について説明したが、種々のポインタ情報の記録形態を採用し得る。
【0095】
例えば、所定のルールに従った文字列によってポインタ情報を直接文字列で記録し、ブロックセレクションステップによって文字列の矩形ブロックを検出してもよい。検出された文字列を認識することによりポインタ情報を取得し得る。
【0096】
あるいは文字領域矩形ブロック312や文字領域矩形ブロック313において、隣接文字列の間隔に視認し難い程度の変調を加え、該文字列間隔変調の情報によってポインタ情報を表現し得る。このような透かし情報は、後述する文字認識処理を行う際に各文字の間隔を検出することによって検出でき、ポインタ情報を取得し得る。また写真領域矩形ブロック314の中に電子透かしとしてポインタ情報を付加する事も可能である。
【0097】
[ポインタ情報による電子ファイル検索]
図3のステップ308、S311における、ポインタ情報による電子ファイル検索は図11の各ステップにより実行される。
【0098】
ステップS2301:ポインタ情報に含まれるアドレスに基づいて、ファイルサーバを特定する。クライアントPC102、データベース105、文書管理サーバ106、記憶装置111を内蔵するMFP100のうちの少なくともいずれかがファイルサーバとして使用される。アドレスは、URLや、サーバ名およびファイル名よりなるパス情報である。
【0099】
ステップS2302:ステップS2301によって特定されたファイルサーバに対して、アドレスを転送する。
【0100】
ステップS2303:ステップS901で特定されたファイルサーバは、ステップS2302で転送されたアドレスを受信し、このアドレスに基づいてオリジナルデータファイルを検索する。
【0101】
ステップS2304:ステップS2303のファイル検索によってオリジナルデータファイルを抽出できたか否か判断する。ファイルを抽出できたときはステップS2305に進み、ファイルを抽出できなかったときはステップS2306に進む。
【0102】
ステップS2305:図3に関連して説明したように、ファイルのアドレスをMFP100に通知し、ユーザがオリジナルファイルデータの取得を希望するときはオリジナルデータファイルをMFP100に転送する。これによって処理を終了する。
【0103】
ステップS2306:ステップS2303でファイルを抽出できなかったときはその旨をMFP100に通知し、処理を終了する。
【0104】
[ファイル検索処理]
図3のステップS309のファイル検索処理は、入力画像にポインタ情報が含まれていなかった場合、またはポインタ情報から電子ファイルを抽出できなかった場合に行われる。ファイル検索処理は、キーワード検索処理、全文検索処理、レイアウト検索処理、条件絞り込み検索処理等、複数の検索方法の組み合わせにより実行される。
【0105】
キーワード検索処理は、検索対象のイメージデータの検索キーを用いて、データベース内の各電子ファイルに関連したキーワードがあらかじめ登録されているインデックスファイルを検索(一致検索あるいは曖昧一致検索)する処理である。
【0106】
なお、検索キーには、ステップS303のOCR処理で入力画像から抽出した文字中の単語、電子透かしに埋め込まれた単語等が用いられる。
【0107】
全文検索処理は、キーワード検索処理の検索キーによって、オリジナルデータファイルのテキスト情報全文に対し検索を行う処理であり、抽出された検索キーの個数が多いほど類似度が高いと判定される。
【0108】
レイアウト検索処理については、図12を参照しつつ詳細に説明する。
【0109】
[レイアウト検索処理]
レイアウト検索処理は、図12の各ステップによって実行される。
【0110】
ここでは、ステップS302の結果、抽出された各矩形ブロック及び入力画像データが、図6に示すブロック情報および入力ファイル情報を備えるものとする。
【0111】
ブロック情報では、例えば、矩形ブロックは座標Xの小さい順に配列され、ブロック1、ブロック2、ブロック3、ブロック4、ブロック5,ブロック6の座標Xは、X1<=X2<=X3<=X4<=X5<=X6の大小関係になっている。これらの情報を使用して、データベース内から、入力画像に類似したファイルのレイアウト検索の処理は、図12の各ステップによって実行される。ここで、データベースファイルは、図5と同様の情報を備えることを前提とする。フローチャートの流れは、ブロック情報および入力ファイル情報と、データベース中のファイルとを順次比較するものである。
【0112】
ステップS1101:後述する類似率などの初期化を行う。
【0113】
ステップS1102:次に、入力画像ブロック総数Nとの差が所定値以内、すなわちデータベース内のデータファイルにおいて、N−ΔN<n<N+ΔNなるn個のブロック総数を持つデータファイルであるか判断する。条件に合致するデータファイルが検索抽出されたときにはステップS1103に移行して当該検索抽出されたデータファイル内の矩形ブロックの情報と入力画像内のブロックとを順次比較していく。一方、ブロック総数の差が大きいときはステップS1114にジャンプする。矩形ブロックの情報比較においては、ステップS1103〜S1109によって、属性類似率、サイズ類似率、OCR類似率をそれぞれ算出し、これら類似率に基づいてステップS1111において、該比較対象のデータファイルの総合類似率を算出する。
【0114】
ステップS1103:入力画像のブロック属性と、ステップS1102で抽出されたデータベースファイルのブロック属性を比較する。ブロック属性が一致したときはステップS1104に進み、ブロック属性が一致しなかったときは、ステップS1110に進み、入力画像の全ブロックについての比較が終了したか判断する。
【0115】
ステップS1104:ステップS1103で比較された、ブロック情報の属性について属性類似率を更新する。属性類似率の算出方法は、任意の方法を用いることが可能であるが、例えば、{(属性一致ブロック数)/(総ブロック数)}に基づいて算出するものとする。
【0116】
ステップS1105:入力画像のブロック情報のサイズ(幅W、高さH)と、ステップS1102で抽出されたデータベースファイルのサイズ(幅w、高さh)を比較する。サイズの差が所定範囲、すなわちW−ΔW<w<W+ΔWでありかつH−ΔH<h<H+ΔHであるか否か判断する。所定範囲内のときはステップS1106に進み、所定範囲内でなかったときはステップS1110に進み、入力画像の全ブロックについての比較が終了したか判断する。
【0117】
ステップS1106:ステップS1105で比較されたブロック情報のサイズについてサイズ類似率を更新する。サイズ類似率の算出方法は、任意の方法を用いることが可能であるが、例えば、{1−(サイズ差)/(入力イメージデータの該ブロックサイズ)}で各ブロックのサイズ類似率を求めて、更に、該データファイルについてサイズ類似度の平均値を求めることにより算出するものとする。
【0118】
ステップS1107:入力画像のブロック情報、およびステップS1102で抽出されたデータファイルのブロック情報にOCR情報が「有」か否かを判断する。両者がOCR情報「有」であったときはステップS1108に進み、OCR情報「無」のときはステップS1110に進み、入力画像の全ブロックについての比較が終了したか判断する。
【0119】
ステップS1108:入力画像のブロック情報のOCR情報と、ステップS1102で抽出されたデータファイルのOCR情報を比較する。
【0120】
ステップS1109:ステップS1108で比較されたOCR情報についてOCR情報類似率を算出する。OCR情報類似率の算出方法は、任意の方法を用いることが可能であるが、例えば、各ブロックの認識結果文字同士を比較し、認識結果の一致率を求めるなどして求めることとする。
【0121】
ステップS1110:入力画像に含まれる全てのブロックについて、当該データファイルの各ブロックとの比較処理が終了したか否かを判断する。全ての矩形ブロックの処理が終了したときはステップS1111に進み、未処理の矩形ブロックが残っているときはステップS1115を経て、次のブロックの比較処理を行うためにステップS1103に戻る。
【0122】
ステップS1111:属性類似率、サイズ類似率、OCR類似率に基づいて総合類似率を算出する。総合類似率の算出方法は、例えば、各類似率に所定の重み付けを行って、和をとることにより算出される。
【0123】
ステップS1112:総合類似率が予め設定された閾値Thより高いか否か判断する。総合類似率が閾値Thより高ければステップS1113に進み、総合類似率が閾値Thより高くないときはステップS1114に進む。
【0124】
ステップS1113:ステップS1112で総合類似率が閾値より高いと判断されたデータベースのデータファイルを類似候補として保存する。
【0125】
ステップS1114:データベースの全てのデータファイルについて処理が終了したか否か判断する。全てのデータベースファイルの処理が終了したときはそのまま処理を終了し、未処理のデータベースファイルが残っているときはステップS1116を経てステップS1101に戻る。
【0126】
ステップS1115:データファイルの個々のブロック情報と、入力画像のブロック情報の全てを比較するように、比較対象のブロックを次のブロックに進める。
【0127】
ステップS1116:データベースの各データファイルが順次比較されるように、次のデータファイルを比較対象にする。
【0128】
図12において、N、W、Hは、入力画像のブロック総数、各ブロック幅、各ブロック高さであり、ΔN、ΔW、ΔHは、入力画像のブロック情報を基準とした許容範囲示す。n、w、hは、データベースファイルのブロック総数、各ブロック幅、各ブロック高さである。
【0129】
なお、不図示ではあるが、ステップS1105にてサイズ比較時に、座標X、座標Yの位置情報の比較などを行ってもよい。
【0130】
以上の複数の検索方式による検索結果は、各々類似度スコアとして数値化され、最終的な検索結果は各スコアに重み付けした合計値を、総合検索類似度として評価する。
【0131】
総合検索類似度は所定の閾値と比較され、閾値よりも高いスコアの電子ファイルが検索対象候補とされる。複数候補が抽出されたときは、ステップS310において候補選択の処理を行う。
【0132】
[ベクトル化ステップ]
ステップS312(ベクトル化ステップ)では、ファイルサーバにオリジナルデータファイルが存在しないときに、図7のイメージデータ41を、各矩形ブロックごとにベクトル化する。矩形ブロックが文字領域矩形ブロックであるときには、ベクトル化された各文字について文字認識処理を実行する。
【0133】
ベクトル化処理は図13の各ステップにより実行される。
【0134】
ステップS901:特定領域が文字領域矩形ブロックであるか否か判断し、文字領域矩形ブロックであればステップS902以下のステップに進み、パターンマッチングの一手法を用いて認識を行い、対応する文字コードを得る。特定領域が文字領域矩形ブロックでないときは、ステップS912に移行する。
【0135】
ステップS902:特定領域に対し横書き、縦書きの判定(組み方向判定)をおこなうために、特定領域内で画素値に対する水平・垂直の射影を取る。
【0136】
ステップS903:ステップS902の射影の分散を評価する。水平射影の分散が大きい場合は横書き、垂直射影の分散が大きい場合は縦書きと判断する。
【0137】
ステップS904:ステップS903の評価結果に基づき、組み方向を判定し、行の切り出しを行い、その後文字を切り出して文字画像を得る。
【0138】
文字列および文字への分解は、横書きならば水平方向の射影を利用して行を切り出し、切り出された行に対する垂直方向の射影から、文字を切り出す。縦書きの文字領域に対しては、水平と垂直について逆の処理を行う。行、文字切り出しに際して、文字のサイズも検出し得る。
【0139】
ステップS905:ステップS904で切り出された各文字について、文字画像から得られる特徴を数十次元の数値列に変換した観測特徴ベクトルを生成する。特徴ベクトルの抽出には種々の公知手法があり、例えば、文字をメッシュ状に分割し、各メッシュ内の文字線を方向別に線素としてカウントしたメッシュ数次元ベクトルを特徴ベクトルとする方法がある。
【0140】
ステップS906:ステップS905で得られた観測特徴ベクトルと、あらかじめ字種ごとに求められている辞書特徴ベクトルとを比較し、観測特徴ベクトルと辞書特徴ベクトルとの距離を算出する。
【0141】
ステップS907:ステップS906で算出された距離を評価し、最も距離の近い字種を認識結果とする。
【0142】
ステップS908:ステップS907における距離評価において、最短距離が所定値よりも大きいか否か判断する。距離が所定値以上の場合は、辞書特徴ベクトルにおいて、形状が類似する他の文字に誤認識している可能性が高い。そこで距離が所定値以上の場合は、ステップS907の認識結果を採用せず、ステップS911の処置に進む。距離が所定値より小のときは、ステップS907の認識結果を採用し、ステップ909に進む。
【0143】
ステップS909(フォント認識ステップ):文字認識の際に用いる、字種数ぶんの辞書特徴ベクトルを、文字形状種すなわちフォント種に対して複数用意しておき、パターンマッチングの際に、文字コードとともにフォント種を出力することで、文字フォントを認識し得る。
【0144】
ステップS910:文字認識およびフォント認識によって得られた文字コードおよびフォント情報を用いて、各々あらかじめ用意されたアウトラインデータを用いて、各文字をベクトルデータに変換する。なお、入力画像がカラーの場合は、カラー画像から各文字の色を抽出してベクトルデータとともに記録する。
【0145】
ステップS911:文字を一般的な線画と同様に扱い、該文字をアウトライン化する。すなわち誤認識を起こす可能性の高い文字については、可視的にイメージデータに忠実なアウトラインのベクトルデータを生成する。
【0146】
ステップS912:特定領域が文字領域矩形ブロックでないときは、画像の輪郭に基づいてベクトル化の処理を実行する。
【0147】
以上の処理により、文字領域矩形ブロックに属するイメージ情報をほぼ形状、大きさ、色が忠実なベクトルデータに変換出来る。
【0148】
[文字領域以外の領域のベクトル化]
ステップS912の文字領域矩形ブロック以外の領域、すなわち図面領域矩形ブロック、線画領域矩形ブロック、表領域矩形ブロック等と判断されたときは、特定領域内で抽出された黒画素塊の輪郭をベクトルデータに変換する。
【0149】
文字領域以外の領域のベクトル化においては、まず線画等を直線および/または曲線の組み合わせとして表現するために、曲線を複数の区間(画素列)に区切る「角」を検出する。角とは曲率が極大となる点であり、図14の曲線上の画素Piが角か否かの判断は以下のように行う。
【0150】
すなわち、Piを起点とし、曲線に沿ってPiから両方向に所定画素(k個とする。)ずつ離れた画素Pi−k、Pi+kを線分Lで結ぶ。画素Pi−k、Pi+k間の距離をd1、線分Lと画素Piとの距離をd2、曲線の画素Pi−k、Pi+k間の弧の長さをAとするとき、d2が極大となるとき、あるいは比(d1/A)が閾値以下となるときに画素Piを角と判断する。
【0151】
角によって分割された画素列を、直線あるいは曲線で近似する。直線への近似は最小二乗法等により実行し、曲線への近似は3次スプライン関数などを用いる。画素列を分割する角の画素は近似直線あるいは近似直線における、始端または終端となる。
【0152】
さらにベクトル化された輪郭内に白画素塊の内輪郭が存在するか否かを判断し、内輪郭が存在するときはその輪郭をベクトル化し、内輪郭の内輪郭というように、再帰的に反転画素の内輪郭をベクトル化する。
【0153】
以上のように、輪郭の区分線近似を用いれば、任意形状の図形のアウトラインをベクトル化することができる。元原稿がカラーの場合は、カラー画像から図形の色を抽出してベクトルデータとともに記録する。
【0154】
図15に示すように、ある注目区間で外輪郭PRjと、内輪郭PRj+1あるいは別の外輪郭が近接している場合、2個あるいは複数の輪郭線をひとまとめにし、太さを持った線として表現することができる。例えば、輪郭Pj+1の各画素Piから輪郭PRj上で最短距離となる画素Qiまでの距離PiQiを算出し、PQiのばらつきがわずかである場合には、注目区間を画素Pi、Qiの中点Miの点列に沿った直線または曲線で近似し得る。近似直線、近似曲線の太さは、例えば距離PiQiの平均値とする。
【0155】
線や線の集合体である表罫線は、太さを持つ線の集合とすることにより、効率よくベクトル表現することができる。
【0156】
輪郭まとめの処理の後、全体の処理を終了する。
【0157】
なお写真領域矩形ブロックについては、ベクトル化せず、イメージデータのままとする。
【0158】
[図形認識]
以上の線図形等のアウトラインをベクトル化した後、ベクトル化された区分線を図形オブジェクトごとにグループ化する。
【0159】
図16の各ステップは、ベクトルデータを図形オブジェクトごとにグループ化する処理を示す。
【0160】
ステップS1401:まず各ベクトルデータの始点、終点を算出する。
【0161】
ステップS1402(図形要素検出):ステップS1401で求められた始点、終点情報を用いて、図形要素を検出する。図形要素とは、区分線が構成している閉図形であり、検出に際しては、始点、終端近傍において連結ベクトルの端点を捜す。すなわち、閉形状を構成する各ベクトルはその両端にそれぞれ連結するベクトルを有しているという原理を応用する。
【0162】
ステップS1403:次に図形要素内に存在する他の図形要素、もしくは区分線をグループ化し、一つの図形オブジェクトとする。また、図形要素内に他の図形要素、区分線が存在しない場合は図形要素を図形オブジェクトとする。
【0163】
[図形要素の検出]
ステップS1402(図形要素検出)の処理は、図17の各ステップによって実行される。
【0164】
ステップS1501:まず、ベクトルデータより両端に連結していない不要なベクトルを除去し、閉図形を構成するベクトルを抽出する。
【0165】
ステップS1502:次に閉図形を構成するベクトルについて、いずれかのベクトルの端点(始点または終点)を開始点とし、一定方向、例えば時計回りに、順にベクトルを探索する。すなわち、他端点において他のベクトルの端点を探索し、所定距離内の最近接端点を連結ベクトルの端点とする。閉図形を構成するベクトルを1まわりして開始点に戻ったとき、通過したベクトルを全て一つの図形要素を構成する閉図形としてグループ化する。また、閉図形内部にある閉図形構成ベクトルも全てグループ化する。さらにまだグループ化されていないベクトルの始点を開始点とし、同様の処理を繰り返す。
【0166】
ステップS1503:最後に、ステップS1501で除去された不要ベクトルのうち、ステップS1502で閉図形としてグループ化されたベクトルに端点が近接しているベクトルを検出し、一つの図形要素としてグループ化する。
【0167】
以上の処理によって図形ブロックを、再利用可能な個別の図形オブジェクトとして扱う事が可能になる。
【0168】
[アプリデータへの変換処理]
図3のブロックセレクションステップ(ステップS302)の後、ベクトル化(ステップS312)した結果のデータを用いて、ステップS313のアプリデータへの変換処理を実行する。ステップS312のベクトル化処理結果は図18に示す中間データの形式、いわゆるドキュメント・アナリシス・アウトプット・フォーマット(DAOF)と呼ばれる形式で保存されている。
【0169】
図18において、DAOFは、ヘッダ1701、レイアウト記述データ部1702、文字認識記述データ部1703、表記述データ部1704、画像記述データ部1705よりなる。
【0170】
ヘッダ1701には、処理対象の入力画像に関する情報が保持される。
【0171】
レイアウト記述データ部1702には、入力画像中の矩形ブロックの属性TEX(文字)、TITLE(タイトル)、
CAPTION(キャプション)、LINE(線画)、PICTURE(画像)、FRAME(枠)、TABLE(表)、PHOTO(写真)等の情報と、これら属性が認識された各矩形ブロックの位置情報が保持される。
【0172】
文字認識記述データ部1703には、TEXT、TITLE、CAPTION等の文字領域矩形ブロックを文字認識して得られる文字認識結果が保持される。
【0173】
表記述データ部1704には、表領域矩形ブロックTABLEの表構造の詳細が格納される。
【0174】
画像記述データ部1705には、図面領域矩形ブロックPICTUREや線画領域矩形ブロックLINE等のブロックにおけるイメージデータが、入力画像データから切り出して保持される。
【0175】
このようなDAOFは中間データとしてのみならず、それ自体ファイル化され保存されることもあり、このファイル状態では、一般的な文書作成アプリケーションソフトウエアのオブジェクトにおける再利用は不可能である。そこで、DAOFをアプリケーションデータに変換する。
【0176】
アプリデータへの変換処理は図19の各ステップにより実行される。
【0177】
ステップS1701:DAOF形式のデータを入力する。
【0178】
ステップS1702:アプリデータの元となる文書構造ツリー生成を行う。
【0179】
ステップS1703:文書構造ツリーを元に、DAOF内の実データを取得し、実際のアプリデータを生成する。
【0180】
ステップS1703の文書構造ツリー生成処理は図20の各ステップにより実行される。図20の処理における全体制御の基本ルールとして、処理の流れはミクロブロック(単一矩形ブロック)からマクロブロック(矩形ブロックの集合体)へ移行する。以後「矩形ブロック」は、ミクロブロックおよびマクロブロック両者を意味するものとする。
【0181】
ステップS1801:矩形ブロック単位で、縦方向の関連性に基づいて、矩形ブロックを再グループ化する。図20の処理は繰り返し実行されることがあるが、処理開始直後はミクロブロック単位での判定となる。
【0182】
ここで、関連性とは、距離が近い、ブロック幅(横方向の場合は高さ)がほぼ同一であることなどの特徴によって定義される。また、距離、幅、高さなどの情報はDAOFを参照し、抽出する。
【0183】
図21の入力画像では、最上部で、矩形ブロックT1、T2が横方向に並列されている。矩形ブロックT1、T2の下には横方向セパレータS1が存在し、横方向セパレータS1の下に矩形ブロックT3、T4、T5、T6、T7が存在する。
【0184】
矩形ブロックT3、T4、T5は、横方向セパレータS1下側の領域における左半部において上から下に、縦方向に配列され、矩形ブロックT6、T7は、横方向セパレータS1下側の領域における右半部において上下に配列されている。
【0185】
ステップS1801の縦方向の関連性に基づくグルーピングの処理を実行する。これによって、矩形ブロックT3、T4、T5が1個のグループ(矩形ブロック)V1にまとめられ、矩形ブロックT6、T7が1個のグループ(矩形ブロック)V2にまとめられる。グループV1、V2は同一階層となる。
【0186】
ステップS1802:縦方向のセパレータの有無をチェックする。セパレータは、DAOF中でライン属性を持つオブジェクトであり、アプリケーションソフトウエア中で明示的にブロックを分割する機能をもつ。セパレータを検出すると、処理対象の階層において、入力画像の領域を、セパレータを境界として左右に分割する。図21では縦方向のセパレータは存在しない。
【0187】
ステップS1803:縦方向のグループ高さの合計が入力画像の高さに等しくなったか否か判断する。すなわち縦方向(例えば上から下へ。)に処理対象の領域を移動しながら、横方向のグルーピングを行うとき、入力画像全体の処理が終了したときには、グループ高さ合計が入力画像高さになることを利用し、処理の終了判断を行う。グルーピングが終了したときはそのまま処理終了し、グルーピングが終了していなかったときはステップS1804に進む。
【0188】
ステップS1804:横方向の関連位に基づくグルーピングの処理を実行する。これによって、矩形ブロックT1、T2が1個のグループ(矩形ブロック)H1にまとめられ、矩形ブロックV1、V2が1個のグループ(矩形ブロック)H2にまとめられる。グループH1、H2は同一階層となる。ここでも、処理開始直後はミクロブロック単位での判定となる。
【0189】
ステップS1805:横方向のセパレータの有無をチェックする。セパレータを検出すると、処理対象の階層において、入力画像の領域を、セパレータを境界として上下に分割する。図21では横方向のセパレータS1が存在する。
【0190】
以上の処理結果は図22のツリーとして登録される。
【0191】
図22において、入力画像V0は、最上位階層にグループH1、H2、セパレータS1を有し、グループH1には第2階層の矩形ブロックT1、T2が属する。
【0192】
グループH2には、第2階層のグループV1、V2が属し、グループV1には、第3階層の矩形ブロックT3、T4、T5が属し、グループV2には、第3階層の矩形ブロックT6、T7が属する。
【0193】
ステップS1806:横方向のグループ長合計が入力画像の幅に等しくなったか否か判断する。これによって横方向のグルーピングに関する終了判断を行う。
横方向のグループ長がページ幅となっている場合は、文書構造ツリー生成の処理を終了する。横方向のグループ長がページ幅となっていないときは、ステップS1801に戻り、再びもう一段上の階層で、縦方向の関連性チェックから繰り返す。
【0194】
図21、図22のツリー構造の段階で、横方向の分割幅がページ幅になっているので、そのまま処理を終了し、最後にページ全体を表す最上位階層のV0を文書構造ツリーに付加する。
【0195】
文書構造ツリーが完成した後、その情報を元にステップS1703においてアプリデータの生成を行う。
【0196】
図21、図22に基づくアプリデータによる、アプリケーションソフトウエアの処理の例は以下のとおりである。
【0197】
まず、グループH1が横方向に2個の矩形ブロックT1、T2を有するので、2カラムとし、T1のDAOFを参照し、その内部情報(文字認識結果の文章、画像等)を出力する。その後、カラムを変え、T2の内部情報を出力し、続いてセパレータS1を出力する。
【0198】
次グループH2の処理に移る。グループH2は横方向に2個の矩形ブロックV1、V2を有するので、2カラムとして出力する。グループV1については、矩形ブロックT3、T4、T5の順にその内部情報を出力し、その後カラムを変え、グループV2の矩形ブロックT6、T7の内部情報を出力する。
【0199】
以上によりアプリデータへの変換処理が実行される。
【0200】
[ポインタ情報の付加]
ステップS318のポインタ情報付加の処理は、抽出されあるいは生成されたファイルを記録する際に、記録紙にポインタ情報を付加する処理である。ポインタ情報を参照することによって、電子ファイルを容易に抽出し得る。
【0201】
図23のフローチャートにおいて、ポインタ情報を2次元バーコード(JISX0510に基づくQRコードシンボル等)を付加する処理を説明する。
【0202】
図9に関連して説明したように、2次元バーコードは、対応する電子ファイルを取得し得る場所を示す情報よりなる。
【0203】
ステップS2201:QRコードシンボルに変換すべきポインタ情報を示す文字を識別し、ポインタ情報を分析するとともに、誤り検出及び誤り訂正レベルを設定し、ポインタ情報を収容し得る最小型番を選択する。
【0204】
ステップS2202:ステップS2201で分析したポインタ情報を所定ビット列に変換し、必要に応じて、ポインタ情報のモード(数字、英数字、8ビットバイト、漢字等)を示す指示子、および終端パターンを付加する。さらに、このように得られたデータをビットコード語に変換する。
【0205】
ステップS2203:ステップS2202で生成したビットコード語列を、型番および誤り訂正レベルに応じて、所定数のブロックに分割し、各ブロックごとに誤り訂正コード語を生成する。さらに誤り訂正コード語をビットコード語列の後付加する。
【0206】
ステップS2204:ステップS2203で生成した各ブロックのビットコード語を接続し、各ブロックに誤り訂正コード語を付加する。さらに必要に応じて、各ブロックの訂正コードの後に剰余コード語を付加する。以上によりコード語モジュールが生成される。
【0207】
ステップS2205:所定のマトリクスに、位置検出パターン、分離パターン、タイミングパターン、位置合わせパターン、およびコード語モジュールを配列する。
【0208】
ステップS2206:ステップS2205で生成されたマトリクスにおけるシンボル符号化領域に対して、最適なマスクパターンを選択し、マトリクスとマスクパターンのXOR演算によってモジュールを生成する。
【0209】
ステップS2207:ステップS2206で生成されたモジュールに対して、形式情報、型番情報を生成し、QRコードシンボルを完成する。
【0210】
このようなアドレス情報が組み込まれたQRコードシンボルは、クライアントPC102からの要求により、電子ファイルをMFP112で印刷する際に、データ処理装置115内で記録可能なラスタデータに変換され、印刷画像における所定位置に画像形成される。
【0211】
ステップS304に関連して説明したように、画像形成された印刷画像を画像読み取り装置110で読み取ることにより、ポインタ情報が取得でき、電子ファイルの格納場所を検出し得る。
【0212】
[第2実施形態]
次に、本発明に係る画像処理方法の第2実施形態を図面に基づいて説明する。図24は第2実施形態を示すフローチャ−トである。
【0213】
第1実施形態では、ベクトル化処理に関してステップS307で「後で」(ボタン502)が選択された入力画像は、その後MFP100の負荷状況を見てベクトル化処理したが、ポインタ情報を付加した印刷出力をMFP100に読み込むことによって一括ベクトル化処理を実行することも可能である。
【0214】
ベクトル処理テーブル(図6)に「LATER」のステータス1011が記載された入力画像を記録(ステップS317、ステップS319)すると、ポインタ情報には仮のポインタ情報が記録される。
【0215】
この仮のポインタ情報が記録された印刷出力をMFP100に再読み込みすると、MFP100は各入力画像のステータスを参照し、ステータス1011に応じて図24の各ステップを実行する。
【0216】
ステップS2601:印刷出力を再読み込みし、ステータス1011を参照する。
【0217】
ステップS2602:ステップS2601で参照したステータス1011が「DONE」であったときはステップS2603に分岐し、ステータス1011が「SIMILAR」であったときはステップS2605に分岐し、ステータス1011が「LATER」であったときはステップS2608に分岐する。
【0218】
ステップS2603:仮ポインタ情報を新たなベクトル化処理結果へのポインタに書き換え、ステップS2604に進む。
【0219】
ステップS2604:新たなポインタ情報を付加した印刷出力を生成する。
【0220】
ステップS2605:図3のステップS310と同様の電子ファイルの候補表示/選択の処理を実行する。
【0221】
ステップS2606:選択された電子ファイルのポインタ情報をベクトル処理テーブルに登録し、ステップS2607に進む。
【0222】
ステップS2607:ステータス1011を「LINK」に書き換え、ステップS2604に進む。
【0223】
ステップS2608:図4のステップS401〜S408と同様の処理を実行し、ステップS2604に進む。
【0224】
なお以上の実施形態においては、画像読み取り装置110等から入力された入力画像の処理について説明したが、記憶媒体に格納されたラスターデータあるいはその符号化データよりなるイメージデータ、通信手段によって供給されたイメージデータ等、入力画像以外のイメージデータについても、本発明は有効である。
【0225】
本発明に係る画像処理方法を実施する手段は図1、図2に記載した画像処理システムに限定されるものではなく、専用の画像処理装置、汎用コンピュータ等種々の手段を採用し得る。
【0226】
汎用コンピュータにおいて実行する際には、画像処理方法の各ステップを汎用コンピュータに実行させるためプログラムコードを含むコンピュータ実行可能なプログラムを、汎用コンピュータに読み込ませる。
【0227】
汎用コンピュータが画像処理を実行するためのプログラムは、汎用コンピュータに内蔵されたROMや、汎用コンピュータが読み取り得る記憶媒体から読み込まれ、あるいはネットワークを通じてサーバ等から読み込まれる。
【0228】
また本発明の趣旨と範囲は、本発明の特定の説明と図に限定されるものではなく、本願特許請求の範囲に述べられた内容の様々な修正および変更に及ぶことは当業者にとって理解されるであろう。
【0229】
本発明の実施態様の例を以下に示す。
【0230】
[実施態様1] 入力画像に対応するオリジナルデータファイルを検索する検索ステップと、ユーザの指示に基づいて、前記入力画像を直ちにベクトルデータ化するのか、後でベクトルデータ化するのか判断する判断ステップと、前記オリジナルデータファイルが検索できなかった入力画像をベクトルデータ化するベクトルデータ化ステップとを有する画像処理方法であって、前記判断ステップで直ちにベクトルデータ化すると判断された場合、前記ベクトルデータ化ステップで前記入力画像を直ちにベクトルデータ化し、前記判断ステップで後でベクトルデータ化すると判断された場合、前記ベクトルデータ化ステップでは所定の条件を満たしたときに前記入力画像をベクトルデータ化することを特徴とする画像処理方法。
【0231】
[実施態様2] 前記所定の条件は、画像処理手段の負荷が軽いことである実施態様1記載の画像処理方法。
【0232】
[実施態様3] 前記判断ステップでは、ユーザの指示に基づくステータスを当該入力画像と関連付けてベクトル化処理テーブルに登録することを特徴とする実施態様1に記載の画像処理方法。
【0233】
[実施態様4] 前記ベクトルデータ化された入力画像をデータベースに格納する格納ステップを更に有することを特徴とする実施態様1に記載の画像処理方法。
【0234】
[実施態様5] 入力画像に対応するオリジナルデータファイルを検索する検索手段と、ユーザの指示に基づいて、前記入力画像を直ちにベクトルデータ化するのか、後でベクトルデータ化するのか判断する判断手段と、前記オリジナルデータファイルが検索できなかった入力画像をベクトルデータ化するベクトルデータ化手段とを有する画像処理システムであって、前記判断手段で直ちにベクトルデータ化すると判断された場合、前記ベクトルデータ化手段で前記入力画像を直ちにベクトルデータ化し、前記判断手段で後でベクトルデータ化すると判断された場合、前記ベクトルデータ化手段では所定の条件を満たしたときに前記入力画像をベクトルデータ化することを特徴とする画像処理システム。
【0235】
[実施態様6] 入力画像に対応するオリジナルデータファイルを検索する検索ステップと、ユーザの指示に基づいて、前記入力画像を直ちにベクトルデータ化するのか、後でベクトルデータ化するのか判断する判断ステップと、前記オリジナルデータファイルが検索できなかった入力画像をベクトルデータ化するベクトルデータ化ステップとを、コンピュータに実行させるためのコンピュータプログラムであって、前記判断ステップで直ちにベクトルデータ化すると判断された場合、前記ベクトルデータ化ステップで前記入力画像を直ちにベクトルデータ化し、前記判断ステップで後でベクトルデータ化すると判断された場合、前記ベクトルデータ化ステップでは所定の条件を満たしたときに前記入力画像をベクトルデータ化することを特徴とするコンピュータプログラム。
【0236】
[実施態様7] 入力画像に対応するオリジナルデータファイルを検索する検索ステップと、ユーザの指示に基づいて、前記入力画像を直ちにベクトルデータ化するのか、後でベクトルデータ化するのか判断する判断ステップと、前記オリジナルデータファイルが検索できなかった入力画像をベクトルデータ化するベクトルデータ化ステップとを、コンピュータに実行させるためのコンピュータプログラムを格納した記憶媒体であって、前記判断ステップで直ちにベクトルデータ化すると判断された場合、前記ベクトルデータ化ステップで前記入力画像を直ちにベクトルデータ化し、前記判断ステップで後でベクトルデータ化すると判断された場合、前記ベクトルデータ化ステップでは所定の条件を満たしたときに前記入力画像をベクトルデータ化することを特徴とするコンピュータプログラムを格納した記憶媒体。
【0237】
【発明の効果】
本発明によれば、ベクトル化のための処理時間をユーザに意識させない。
【図面の簡単な説明】
【図1】本発明に係る画像処理方法の第1実施形態を実施する画像処理システムを示すブロック図である。
【図2】図1におけるMFPを示すブロック図である。
【図3】本発明に係る画像処理方法の第1実施形態を示すフローチャ−トである。
【図4】図3の処理の後に実行される一括ベクトル化処理を示すフローチャートである。
【図5】図3のステップS307で操作画面に表示される画面を示す図である。
【図6】図3の処理で生成されるベクトル処理テーブルを示す表である。
【図7】図3の画像処理方法で処理される画像および処理結果の画像を示す図である。
【図8】ブロックセレクション処理で得られるブロック情報および入力ファイル情報を示す表である。
【図9】図3のポインタ情報抽出の処理を示すフローチャートである。
【図10】ポインタ情報を含む原稿の画像を示す図である。
【図11】図3のポインタ情報に基づくファイル検索処理を示すフローチャートである。
【図12】図3のファイル検索の処理を示すフローチャートである。
【図13】図3の文字領域に対するベクトル化の処理を示すフローチャートである。
【図14】図15のベクトル化の処理における角抽出の処理を示す図である。
【図15】図15のベクトル化の処理における輪郭線まとめの処理を示す図である。
【図16】図15のベクトル化で生成されたベクトルデータのグループ化の処理を示すフローチャートである。
【図17】図16の処理でグループ化されたベクトルデータに対する図形要素検出の処理を示すフローチャートである。
【図18】ベクトル化処理結果のデータを示すマップである。
【図19】図3のアプリデータ変換の処理を示すフローチャートである。
【図20】図19の文書構造ツリー生成の処理を示すフローチャートである。
【図21】文書構造ツリー生成処理の対象となる文書を示す図である。
【図22】図19の処理によって生成される文書構造ツリーを示す図である。
【図23】図3のポインタ情報付加の処理を示すフローチャートである。
【図24】本発明に係る画像処理方法の第2実施形態を示すフローチャ−トである。
【符号の説明】
100 MFP
105 データベース
106 文書管理サーバ
110 画像読み取り装置
111 記憶装置
112 記憶装置
115 データ処理装置
【発明が属する技術分野】
本発明は画像処理方法に関する。
【0002】
【従来の技術】
近年、環境問題が叫ばれる中、オフィスでのペーパーレス化が急速に進んでいる。
【0003】
[第1従来例]
ペーパーレス化の方法には、例えば、バインダ等で蓄積された紙文書をスキャナ等で読み取り、ラスターデータのイメージとして、ポータブルドキュメントフォーマット(PDFフォーマット)等のコンパクトなファイルに変換して、画像記憶手段に格納するものがある(例えば特許文献1)。
【0004】
[第2従来例]
ペーパーレス化の方法の第2は、機能が拡張された記録装置、MFP(マルチファンクション複合機)を用い、画像記憶装置に文字や画像のオリジナルデータファイルを格納しておき、オリジナルデータファイルを印刷して紙文書に記録する際に、オリジナルデータファイルが存在する画像記憶装置内のポインタ情報を、紙文書の表紙や印刷情報中に付加情報として記録するものがある(例えば特許文献2)。これによって、ポインタ情報から直ちにオリジナルデータファイルにアクセスし、オリジナルデータファイルの編集、印刷等の再利用が可能であり、紙文書保有量を削減し得る。
【0005】
【特許文献1】
特開2001−358863号公報
【特許文献2】
特開平10−285378号公報
【0006】
【発明が解決しようとする課題】
第1従来例は、スキャナで読み取った画像をコンパクトな情報量のPDFファイルとして保存可能であるが、プリントされた文書から保存されているファイルを検索することができず、保存されている文書を再利用することは難しかった。
また、PDFファイルへ変換する間、他の処理を行えないという問題点がある。
【0007】
第2従来例は、オリジナルデータファイルへのポインタ情報を持たない文書ファイルの場合は、オリジナルデータファイルを検索することができない。
【0008】
また、本出願人は、イメージデータをベクトル化し、ベクトルデータを原稿に記載された情報として扱うことで、如何なる原稿でも再利用可能な電子ファイルとして扱うことができ、また、入力画像から電子ファイルを検索できるシステムを考えている。
【0009】
しかし、ベクトル化の際には、高い計算処理能力を要し、ベクトル化処理に時間がかかってしまい、その間、他の処理を行えないことがあるという問題点がある。
【0010】
本発明はこのような問題点を解消すべく創案されたもので、ベクトル化のための処理時間をユーザに意識させないことを目的とする。
【0011】
【課題を解決するための手段】
本発明に係る画像処理方法は、入力画像に対応するオリジナルデータファイルを検索する検索ステップと、ユーザの指示に基づいて、前記入力画像を直ちにベクトルデータ化するのか、後でベクトルデータ化するのか判断する判断ステップと、前記オリジナルデータファイルが検索できなかった入力画像をベクトルデータ化するベクトルデータ化ステップとを有する画像処理方法であって、前記判断ステップで直ちにベクトルデータ化すると判断された場合、前記ベクトルデータ化ステップで前記入力画像を直ちにベクトルデータ化し、前記判断ステップで後でベクトルデータ化すると判断された場合、前記ベクトルデータ化ステップでは所定の条件を満たしたときに前記入力画像をベクトルデータ化することを特徴とする。これによって、ベクトル化のための処理時間をユーザに意識させない処理が可能である。
【0012】
【発明の実施の形態】
次に本発明に係る画像処理方法の第1実施形態を図面に基づいて説明する。
【0013】
図1は、本発明に係る画像処理方法の第1実施形態を実施する画像処理システムを示すブロック図、図2は、図1におけるMFPを示すブロック図、図3は、本発明に係る画像処理方法の第1実施形態を示すフローチャ−ト、図4は、図3の処理の後に実行される一括ベクトル化処理を示すフローチャート、図5は、図3のステップS307で操作画面に表示される画面を示す図、図6は、図3の処理で生成されるベクトル処理テーブルを示す表、図7は、図3の画像処理方法で処理される画像および処理結果の画像を示す図、図8は、ブロックセレクション処理で得られるブロック情報および入力ファイル情報を示す表、図9は、図3のポインタ情報抽出の処理を示すフローチャート、図10は、ポインタ情報を含む原稿の画像を示す図、図11は、図3のポインタ情報に基づくファイル検索処理を示すフローチャート、図12は、図3のファイル検索の処理を示すフローチャート、図13は、図3の文字領域に対するベクトル化の処理を示すフローチャート、図14は、図15のベクトル化の処理における角抽出の処理を示す図、図15は、図15のベクトル化の処理における輪郭線まとめの処理を示す図、図16は、図15のベクトル化で生成されたベクトルデータのグループ化の処理を示すフローチャート、図17は、図16の処理でグループ化されたベクトルデータに対する図形要素検出の処理を示すフローチャート、図18は、ベクトル化処理結果のデータを示すマップ、図19は、図3のアプリデータ変換の処理を示すフローチャート、図20は、図19の文書構造ツリー生成の処理を示すフローチャート、図21は、文書構造ツリー生成処理の対象となる文書を示す図、図22は、図19の処理によって生成される文書構造ツリーを示す図、図23は、図3のポインタ情報付加の処理を示すフローチャートである。
【0014】
[第1実施形態]
【0015】
[画像処理システム]
図1において、本発明に係る画像処理方法の第1実施形態を実施する画像処理システムは、オフィス10とオフィス20とをインターネット104で接続した環境において使用される。
【0016】
オフィス10内に構築されたLAN107には、記録装置としてのMFP(マルチファンクション複合機)100、MFP100を制御するマネージメントPC101、クライアントPC(外部記憶手段)102、文書管理サーバ106、文書管理サーバ106のためのデータベース105が接続されている。
【0017】
オフィス20内にはLAN108が構築され、LAN108には文書管理サーバ106、および文書管理サーバ106のためのデータベース105が接続されている。
【0018】
LAN107、108にはプロキシサーバ103が接続され、LAN107、108はプロキシサーバ103を介してインターネットに接続される。
【0019】
MFP100は紙文書から読み取った入力画像に対する画像処理の一部を担当し、処理結果としてのイメージデータはLAN109を通じてマネージメントPC101に入力される。マネージメントPC101は、画像記憶手段、画像処理手段、表示手段、入力手段等を含む通常のパーソナルコンピュータであり、機能的にはこれら構成要素の一部がMFP100と一体化して、画像処理システムの構成要素となっている。なお、本実施形態では、マネージメントPCにおいて、下記に記載の検索処理などが実行されるものとするが、マネージメントPCで行われる処理をMFPで実行するようにしても構わない。
【0020】
さらにMFP100は、LAN109によってマネージメントPC101に直接接続されている。
【0021】
[MFP]
図2において、MFP100は、図示しないオートドキュメントフィーダ(ADF)を有する画像読み取り部110を備え、画像読み取り部110は束状の或いは1枚の原稿の画像を光源で照射し、反射画像をレンズで固体撮像素子上に結像する。固体撮像素子は所定解像度(例えば600dpi)および所定濃度レベル(例えば8ビット)の画像読み取り信号を生成し、画像読み取り信号からラスターデータよりなるイメージデータが構成される。
【0022】
MFP100は、記憶装置111および記録装置112を有し、通常の複写機能を実行する際には、イメージデータをデータ処理装置115によって画像処理して記録信号に変換する。複数枚複写の場合には、1頁分の記録信号を一旦記憶装置111に記憶保持した後、記録装置112に順次出力して、複写紙上に記録画像を形成する。
【0023】
MFP100は、LAN107との接続のためのネットワークIF114を有し、クライアントPC102が出力したイメージデータを、記録装置112によって記録し得る。クライアントPC102から出力されたイメージデータはLAN107からネットワークIF114を経てデータ処理装置115で記録可能な記録信号に変換された後、MFP100において、記録紙上に記録画像として記録される。
【0024】
MFP100は、MFP100に設けられたキー操作部(入力装置113)、あるいはマネージメントPC101の入力装置(キーボード、ポインティングデバイス等)を通じて操作される。これらの操作のために、データ処理装置115は内部の制御部(図示せず。)によって所定の制御を実行する。
【0025】
MFP100は表示装置116を有し、操作入力の状態と、処理すべきイメージデータとを、表示装置116によって表示し得る。
【0026】
記憶装置111はネットワークIF117を介して、マネージメントPC101から直接制御し得る。LAN109は、MFP100とマネージメントPC101との間のデータの授受、制御信号授受に用いられる。
【0027】
[画像処理方法の全体の流れ]
本発明に係る画像処理方法の第1実施形態は図3の各ステップにより実行される。
【0028】
ステップS301:MFP100の画像読み取り部110を動作させて、1枚の原稿をラスター状に走査し、所定解像度および所定濃度レベルの、画像読み取り信号を取得する。画像読み取り信号はデータ処理部115によって前処理され、入力画像の1頁分のイメージデータとして、記憶装置111に保存される。次にステップS302に進む。
【0029】
ステップS302(ブロックセレクションステップ):マネージメントPC101によって、記憶装置111に格納されたイメージデータの領域を、文字あるいは線画を含む文字・線画領域と、ハーフトーンの写真領域、不定形の図面領域その他に分ける。さらに文字・線画領域について、主に文字を含む文字領域と、主に表、図形等を含む線画領域とを分離し、線画領域は表領域と図形領域に分離する。なお、本実施形態では連結画素を検知し、該連結画素の外接矩形領域の形状・サイズ・画素密度等を用いて、属性毎の領域に分割するものとするが、その他の領域分割手法を用いても構わない。
【0030】
文字領域については、文字段落ごとの纏まった塊をブロックとして矩形ブロック(文字領域矩形ブロック)にセグメント化し、線画領域では、表、図形等の個々のオブジェクト(表領域矩形ブロック、線画領域矩形ブロック)ごとに矩形ブロックにセグメント化する。
【0031】
ハーフトーンで表現される写真領域は、画像領域矩形ブロック、背景領域矩形ブロック等のオブジェクトごとに、矩形ブロックにセグメント化する。
【0032】
これらの矩形ブロックの情報を「領域分割情報」という。
【0033】
ステップS303:入力画像にオリジナルデータファイルのポインタ情報が埋め込まれているか否かの判定を行うため、OCR、OMR処理を行う。
【0034】
原稿画像中に付加情報として記録された2次元バーコード、あるいはURLに該当するオブジェクトを検出し、OCRによってURLを文字認識し、OMRによって2次元バーコードを解読して入力画像のオリジナルデータファイルが格納されている記憶装置内のポインタ情報を検出する。
【0035】
ポインタ情報を付加する手段は2次元バーコードに限定されるものではなく、隣接文字列間隔の変化として情報を埋め込む方法、ハーフトーンの画像に埋め込む方法等、直接視認されない、いわゆる電子透かしによる方法等がある。
【0036】
ステップS304(ポインタ情報抽出ステップ):ステップS305におけるOCR、OMR、もしくは電子透かしの情報から、ポインタ情報を抽出する。
【0037】
ステップS305:ステップS304でポインタ情報が取得されたか否か判断する。ポインタ情報が取得されたときは、オリジナルデータファイルに直接アクセスすべく、ステップS306に分岐する。
【0038】
ステップS304でポインタ情報が抽出されなかったときはステップS307に進む。
【0039】
ステップS306:ポインタ情報が抽出されたときは、そのポインタ情報を用いてオリジナルデータファイル(電子ファイル)を検索する。オリジナルデータファイルは、電子ファイルの形態で、図1のクライアントPC102のハードディスク内、文書管理サーバ106内のデータベース105内、MFP100に設けられた記憶装置111等に格納されており、ステップS306で得られたアドレス情報(ポインタ情報)に従ってこれらの記憶装置内を検索する。検索結果としてオリジナルデータファイルがみつからなかったとき、あるいは抽出されたオリジナルデータファイルがラスターデータファイルあるいは、BMP、tiffに代表される、ラスターデータを符号化したイメージデータファイルであったときは、スップS307に分岐する。オリジナルデータファイルを抽出できたときは、ステップS316にジャンプする。
【0040】
ステップS307、S308:操作画面116において図5の画面を表示し、ユーザに対し、ベクトル化処理を行うか否か問い合わせる。図5の画面には、「ベクトル処理を行いますか?」の問い合わせのメッセージ、および「今すぐ」のボタン501、「後で」のボタン502、「いいえ」のボタン503が表示される。「今すぐ」のボタン501が押された場合、今すぐベクトル化処理を行うべく、処理はステップS308を経て、ステップS309に進む。「後で」のボタン502が押された場合、ベクトル化処理テーブルにステータスを「LATER」にして仮の格納アドレスとともに登録し、その後、MFP100の負荷が軽いとき(全く作業を行っていない状況を含む)等、所定の条件に適合したときにベクトル化を実行し、ユーザがベクトル化処理の待ち時間を意識しないタイミングで、図4の一括ベクトル化処理により、ベクトル化を実行する。また、「いいえ」のボタン503が押された場合、ステータスを「NO」にして終了する。
【0041】
ボタン501〜S503の選択は図6のベクトル処理テーブルに記録される。ベクトル処理テーブルの詳細については後述する。
【0042】
ステップS309:文書検索ルーチンを実行する。ステップS303のOCR処理で抽出された単語により、データベース105における全文検索を実行し、あるいは矩形ブロックのレイアウトとオブジェクトの属性に基づき、レイアウト検索を行う。
【0043】
ステップS310:ステップS309の検索で、類似度の高いオリジナルデータファイルの候補が複数抽出されたときは、操作画面116においてサムネイル等により表示し、ユーザに選択を促す。なお、オリジナルデータファイルの候補が1個のときはステップS311からS316に自動的にジャンプし、抽出されたオリジナルデータファイルのアドレスをMFP100に通知するようにしてもよい。
【0044】
ステップS311:ステップS309あるいはステップS310で1個のデータファイルが特定されたか否か判断する。1個のデータファイルが特定されたときはステップS316にジャンプし、データファイルが抽出されなかったとき、あるいは抽出されたデータファイルがイメージデータファイルのときはステップS312に進む。
【0045】
ステップS312(ベクトル化ステップ):ポインタ情報が抽出されなかった場合、ベクトル化処理に移り、ベクトル化処理により領域分割処理で分割された各領域内のイメージデータをベクトルデータに変換する。
【0046】
ベクトル化の方法は、以下(a)〜(f)等が存在する。
(a)領域が文字領域のとき、さらにOCRによる文字画像のコード変換を行ったり、あるいは文字のサイズ、スタイル、字体を認識し、原稿を走査して得られた文字に可視的に忠実なフォントデータに変換する。
(b)領域が文字領域であり、かつOCRによる認識が不可能であったとき、文字の輪郭を追跡し、輪郭情報(アウトライン)を線分のつながりとして表現する形式に変換する。
(c)領域が図形領域のとき、図形オブジェクトの輪郭を追跡し、輪郭情報を線分のつながりとして表現する形式に変換する。
(d)b、cの線分形式のアウトライン情報をベジエ関数などでフィッティングして、関数情報に変換する。
(e)cの図形オブジェクトの輪郭情報から、図形の形状を認識し、円、矩形、多角形、等の図形定義情報に変換する。
(f)領域が図形領域であって、特定領域の表形式のオブジェクトの場合、罫線や枠線を認識し、所定のフォーマットの帳票フォーマット情報に変換する。
【0047】
以上の方法以外に、ラスターデータを所定のコマンドやコード情報に置きかえる種々のベクトル化処理が考えられる。なお、イメージ領域は例えばJPEGなどで扱われる。
【0048】
ステップS313:ステップS310のベクトルデータをそのまま使用して、アプリケーションデータ形式に変換し、出力する。通常、データ形式は使用するアプリケーションに依存し、目的に応じたファイル形式に変換する必要がある。
【0049】
編集等再利用可能なアプリケーションデータ形式とは、ワードプロセッサ、表計算ソフトウエア等のアプリケーションソフトウエアであり、例えば、マイクロソフト・コーポレーションのワードプロセッサWORD(登録商標)や表計算アプリケーションソフトウエアEXCEL(登録商標)などがある。これらのアプリケーションはそれぞれ使用する目的が異なっており、目的に応じたファイル形式が定義され、その形式でファイル(データ)を保存する。
【0050】
より汎用的なファイル形式としては、マイクロソフト・コーポレーションのRTF(リッチ・テキスト・ファイル)形式、近年使用されるようになったSVG(Scalable Vector Graphics)形式、あるいは単純にテキストデータのみを扱うプレーンテキスト形式、などが知られており、これらは対応するアプリケーションにおいて共通に使用可能である。
【0051】
ステップS314:ステップS313で生成されたデータを電子ファイルとして記憶装置111に格納する。
【0052】
ステップS315:データベース105、記憶装置111に格納される電子ファイルに関しては検索用のインデックス情報がインデックスファイルに格納される。したがって、S314で新たに格納された電子ファイルに関して、S303で得た文字認識結果のテキスト情報や、レイアウト情報などをインデックス情報として、インデックスファイルに登録される。
【0053】
これによって、スキャンして登録された画像に関しても、アプリケーションソフトウエアで作成された文書ファイル等と同等の検索性能が得られ、ポインタ情報を使用できないような状況でも検索が可能となる。
【0054】
ステップS316:データの格納場所を示すアドレスを出力する。ステップS314でデータを記憶装置111に格納したときは、当該記憶されたアドレスが出力され、ステップS306またはS311でオリジナルデータファイルが抽出されたときはオリジナルデータファイルのアドレスを通知する。
【0055】
ステップS317:検出あるいは生成された電子ファイルの内容について印刷等の記録を行うか否かユーザに確認し、記録するときはステップS318に進み、記録しないときはステップS319にジャンプする。
【0056】
ステップS318:電子ファイル等にポインタ情報を付加する。ポインタ情報付加は、2次元バーコードにより出力画像に付加する方法、文字列中やハーフトーン画像中に電子透かしを埋め込む方法等、種々の公知方法により実行可能である。
【0057】
これによって印刷された画像が読み込まれたとき、直ちにポインタ情報を取得でき、オリジナルデータファイルにアクセスし得る。
【0058】
ステップS319:以上の処理により得られた電子ファイルを用いて、文書の加工、蓄積、伝送、記録等の種々の処理を行う。生成され、あるいは取得された電子ファイルは、イメージデータファイルに比較してデータサイズがコンパクトであり、蓄積効率向上、伝送時間短縮、表示・記録品質向上の効果が得られる。
【0059】
図6はベクトル化処理テーブルであり、ファイルIDには、処理対象の入力画像を示す「1001」、「1002」等のID番号1010が登録される。各ファイルIDのステータス1011には、「NO」、「LATER」、「PROCESSING」、「SEARCHING」、「DONE」、「SIMILAR」あるいは「LINK」が登録される。ステップS307で「後で」(502ボタン)を選択したときはステータスには「LATER」が登録される。「いいえ」(503ボタン)を選択したときはステータスには「NO」が書き込まれる。
【0060】
MFP100負荷が軽い(負荷がないときを含む)等、所定の条件に適合することが検出されると、図4の各ステップにより、一括ベクトル化処理が実行される。
【0061】
ステップS401:ステータス1011を「PROCESSING」に書き換えて、図3のステップS302と同様のブロックセレクションステップを実行する。
【0062】
ステップS402:次に図3のステップS303と同様のOCR、OMR処理を実行する。
【0063】
ステップS403:次に図3のステップS312と同様のベクトル化処理を実行する。
【0064】
ステップS404:次に図3のステップS313と同様のアプリデータ変換の処理を実行する。
【0065】
ステップS405:次に作成された電子ファイルを格納する処理を実行する。
【0066】
ステップS406:次に図3のステップS315と同様のインデックス生成の処理を実行する。以上のステップS401〜S406の処理の実行中は「PROCESSING」のステータスが保持される。
【0067】
ステップS407:ステータスを「SEARCHING」に書き換え、図3のステップS309と同様、前記ベクトル化された入力画像に基づいてファイル検索の処理を実行する。当該ベクトル化された入力画像以外の電子ファイルが抽出できなかったときは、ステータス1011を「DONE」に書き換えて、S405で格納されているベクトルデータのアドレス情報をポインタ情報1013に書き込む。
【0068】
ステップS408:ステップS407で当該ベクトル化された入力画像以外の電子ファイルが抽出されたときは、ステータスを「SIMILAR」に書き換えて、電子ファイルのポインタ情報をポインタ情報1013に書き込む。
【0069】
ステップS409:全ての未処理入力画像の処理が終了したか否かを判断し、終了したときは、そのまま処理を終了する。未処理の入力画像が存在するときは、ステップS401に戻る。
【0070】
次に図3の主要なステップについて詳細に説明する。
【0071】
[ブロックセレクションステップ]
ステップS302(ブロックセレクションステップ)においては、図7右半部の画像42に示すように、入力画像を属性ごとに矩形ブロックに分割する。前述のように、矩形ブロックの属性としては、文字(TEXT)/図面(PICTURE)/線画(Line)/表(Table)/写真(PHOTO)等がある。
【0072】
ブロックセレクションステップにおいては、まず入力画像を白黒に2値化し、黒画素輪郭で囲まれる画素塊を抽出する。
【0073】
さらに、このように抽出された黒画素塊の大きさを評価し、大きさが所定値以上の黒画素塊の内部にある白画素塊に対する輪郭追跡を行う。白画素塊に対する大きさ評価、内部黒画素塊の追跡というように、内部の画素塊が所定値以上である限り、再帰的に内部画素塊の抽出、輪郭追跡を行う。
【0074】
画素塊の大きさは、例えば画素塊の面積によって評価される。
【0075】
このようにして得られた画素塊に外接する矩形ブロックを生成し、矩形ブロックの大きさ、形状に基づき属性を判定する。
【0076】
例えば、縦横比が1に近く、大きさが一定の範囲の矩形ブロックは文字領域矩形ブロックの可能性がある文字相当ブロックとし、近接する文字相当ブロックが規則正しく整列しているときに、これら文字相当ブロックを纏めた新たな矩形ブロックを生成し、新たな矩形ブロックを文字領域矩形ブロックとする。
【0077】
また扁平な画素塊を線画領域矩形ブロック、一定大きさ以上でかつ四角形の白画素塊を整列よく内包する黒画素塊を表領域矩形ブロック、不定形の画素塊が散在している領域を写真領域矩形ブロック、それ以外の不定形の画素塊を画像領域矩形ブロックとする。
【0078】
ブロックセレクションステップでは、このようにして生成された矩形ブロックのそれぞれについて、図8に示す、属性等のブロック情報および入力ファイル情報を生成する。
【0079】
図8において、ブロック情報には各ブロックの属性、位置の座標X、座標Y、幅W、高さH、OCR情報が含まれる。属性は1〜5の数値で与えられ、1は文字領域矩形ブロック、2は図面領域矩形ブロック、3は表領域矩形ブロック、4は線画領域矩形ブロック、5は写真領域矩形ブロックを示す。座標X、座標Yは入力画像における各矩形ブロックの始点のX、Y座標(左上角の座標)である。幅W、高さHは矩形ブロックのX座標方向の幅、Y座標方向の高さである。OCR情報は入力画像におけるポインタ情報の有無を示す。
【0080】
さらに入力ファイル情報として矩形ブロックの個数を示すブロック総数Nが含まれる。
【0081】
これらの矩形ブロックごとのブロック情報は、特定領域でのベクトル化に利用される。またブロック情報によって、特定領域とその他の領域を合成する際の相対位置関係を特定でき、入力画像のレイアウトを損なわずにベクトル化領域とラスターデータ領域を合成することが可能となる。
【0082】
[ポインタ情報抽出ステップ]
ステップS304(ポインタ情報抽出ステップ)は図9の各ステップによって実行される。図10は、ポインタ情報抽出ステップの処理対象となる原稿310を示し、原稿310はデータ処理装置115内のページメモリ(図示せず。)に格納される。原稿310には、文字領域矩形ブロック312、313、写真領域矩形ブロック314、2次元バーコード(QRコード)のシンボル311が記録されている。
【0083】
ステップS701:まず、記憶装置111のページメモリに格納された原稿310の入力画像をCPU(図示せず。)で走査して、ブロックセレクションステップの処理結果から、2次元バーコードシンボル311の位置を検出する。
【0084】
QRコードシンボルは、4隅のうちの3隅に、特定の位置検出要素パターンが設けられ、位置検出要素パターンを検出することにより、QRコードシンボルを検出し得る。
【0085】
ステップS702:次に、位置検出パターンに隣接する形式情報を復元し、シンボルに適用されている誤り訂正レベルおよびマスクパターンを得る。
【0086】
ステップS703:次にシンボルの型番(モデル)を決定する。
【0087】
ステップS704:ステップS702の形式情報から得られたマスクパターンを使って、QRコードのシンボルの符号化領域ビットパターンをXOR演算し、QRコードのシンボルのマスク処理を解除する。
【0088】
ステップS705:ステップS703で得られたモデルに基づいて配置規則を取得し、この配置規則に基づいて、シンボルキャラクタを読取り、メッセージのデータ及び誤り訂正コード語を復元する。
【0089】
ステップS706:復元されたメッセージについて、誤り訂正コード語に基づいて、誤りがあるかどうかの検出を行う。誤りが検出されたときは、訂正のためにステップS707に分岐する。
【0090】
ステップS707:復元されたメッセージを訂正する。
【0091】
ステップS708:誤り訂正されたデータより、モード指示子および文字数指示子に基づいて、データコード語をセグメントに分割し、データコード語を復元する。
【0092】
ステップS709:検出された仕様モードに基づいてデータコード文字を復号し、結果を出力する。
【0093】
2次元バーコードに組み込まれたデータは、オリジナルデータファイルのポインタ情報を表しており、例えばファイルサーバー名およびファイル名からなるパス情報で構成される。あるいは、対応するファイルへのURL等や、ファイルが格納されたデータベース105内あるいは記憶装置111内でのファイルID等で構成される。
【0094】
本実施形態ではポインタ情報を2次元バーコードの形で付与した原稿310について説明したが、種々のポインタ情報の記録形態を採用し得る。
【0095】
例えば、所定のルールに従った文字列によってポインタ情報を直接文字列で記録し、ブロックセレクションステップによって文字列の矩形ブロックを検出してもよい。検出された文字列を認識することによりポインタ情報を取得し得る。
【0096】
あるいは文字領域矩形ブロック312や文字領域矩形ブロック313において、隣接文字列の間隔に視認し難い程度の変調を加え、該文字列間隔変調の情報によってポインタ情報を表現し得る。このような透かし情報は、後述する文字認識処理を行う際に各文字の間隔を検出することによって検出でき、ポインタ情報を取得し得る。また写真領域矩形ブロック314の中に電子透かしとしてポインタ情報を付加する事も可能である。
【0097】
[ポインタ情報による電子ファイル検索]
図3のステップ308、S311における、ポインタ情報による電子ファイル検索は図11の各ステップにより実行される。
【0098】
ステップS2301:ポインタ情報に含まれるアドレスに基づいて、ファイルサーバを特定する。クライアントPC102、データベース105、文書管理サーバ106、記憶装置111を内蔵するMFP100のうちの少なくともいずれかがファイルサーバとして使用される。アドレスは、URLや、サーバ名およびファイル名よりなるパス情報である。
【0099】
ステップS2302:ステップS2301によって特定されたファイルサーバに対して、アドレスを転送する。
【0100】
ステップS2303:ステップS901で特定されたファイルサーバは、ステップS2302で転送されたアドレスを受信し、このアドレスに基づいてオリジナルデータファイルを検索する。
【0101】
ステップS2304:ステップS2303のファイル検索によってオリジナルデータファイルを抽出できたか否か判断する。ファイルを抽出できたときはステップS2305に進み、ファイルを抽出できなかったときはステップS2306に進む。
【0102】
ステップS2305:図3に関連して説明したように、ファイルのアドレスをMFP100に通知し、ユーザがオリジナルファイルデータの取得を希望するときはオリジナルデータファイルをMFP100に転送する。これによって処理を終了する。
【0103】
ステップS2306:ステップS2303でファイルを抽出できなかったときはその旨をMFP100に通知し、処理を終了する。
【0104】
[ファイル検索処理]
図3のステップS309のファイル検索処理は、入力画像にポインタ情報が含まれていなかった場合、またはポインタ情報から電子ファイルを抽出できなかった場合に行われる。ファイル検索処理は、キーワード検索処理、全文検索処理、レイアウト検索処理、条件絞り込み検索処理等、複数の検索方法の組み合わせにより実行される。
【0105】
キーワード検索処理は、検索対象のイメージデータの検索キーを用いて、データベース内の各電子ファイルに関連したキーワードがあらかじめ登録されているインデックスファイルを検索(一致検索あるいは曖昧一致検索)する処理である。
【0106】
なお、検索キーには、ステップS303のOCR処理で入力画像から抽出した文字中の単語、電子透かしに埋め込まれた単語等が用いられる。
【0107】
全文検索処理は、キーワード検索処理の検索キーによって、オリジナルデータファイルのテキスト情報全文に対し検索を行う処理であり、抽出された検索キーの個数が多いほど類似度が高いと判定される。
【0108】
レイアウト検索処理については、図12を参照しつつ詳細に説明する。
【0109】
[レイアウト検索処理]
レイアウト検索処理は、図12の各ステップによって実行される。
【0110】
ここでは、ステップS302の結果、抽出された各矩形ブロック及び入力画像データが、図6に示すブロック情報および入力ファイル情報を備えるものとする。
【0111】
ブロック情報では、例えば、矩形ブロックは座標Xの小さい順に配列され、ブロック1、ブロック2、ブロック3、ブロック4、ブロック5,ブロック6の座標Xは、X1<=X2<=X3<=X4<=X5<=X6の大小関係になっている。これらの情報を使用して、データベース内から、入力画像に類似したファイルのレイアウト検索の処理は、図12の各ステップによって実行される。ここで、データベースファイルは、図5と同様の情報を備えることを前提とする。フローチャートの流れは、ブロック情報および入力ファイル情報と、データベース中のファイルとを順次比較するものである。
【0112】
ステップS1101:後述する類似率などの初期化を行う。
【0113】
ステップS1102:次に、入力画像ブロック総数Nとの差が所定値以内、すなわちデータベース内のデータファイルにおいて、N−ΔN<n<N+ΔNなるn個のブロック総数を持つデータファイルであるか判断する。条件に合致するデータファイルが検索抽出されたときにはステップS1103に移行して当該検索抽出されたデータファイル内の矩形ブロックの情報と入力画像内のブロックとを順次比較していく。一方、ブロック総数の差が大きいときはステップS1114にジャンプする。矩形ブロックの情報比較においては、ステップS1103〜S1109によって、属性類似率、サイズ類似率、OCR類似率をそれぞれ算出し、これら類似率に基づいてステップS1111において、該比較対象のデータファイルの総合類似率を算出する。
【0114】
ステップS1103:入力画像のブロック属性と、ステップS1102で抽出されたデータベースファイルのブロック属性を比較する。ブロック属性が一致したときはステップS1104に進み、ブロック属性が一致しなかったときは、ステップS1110に進み、入力画像の全ブロックについての比較が終了したか判断する。
【0115】
ステップS1104:ステップS1103で比較された、ブロック情報の属性について属性類似率を更新する。属性類似率の算出方法は、任意の方法を用いることが可能であるが、例えば、{(属性一致ブロック数)/(総ブロック数)}に基づいて算出するものとする。
【0116】
ステップS1105:入力画像のブロック情報のサイズ(幅W、高さH)と、ステップS1102で抽出されたデータベースファイルのサイズ(幅w、高さh)を比較する。サイズの差が所定範囲、すなわちW−ΔW<w<W+ΔWでありかつH−ΔH<h<H+ΔHであるか否か判断する。所定範囲内のときはステップS1106に進み、所定範囲内でなかったときはステップS1110に進み、入力画像の全ブロックについての比較が終了したか判断する。
【0117】
ステップS1106:ステップS1105で比較されたブロック情報のサイズについてサイズ類似率を更新する。サイズ類似率の算出方法は、任意の方法を用いることが可能であるが、例えば、{1−(サイズ差)/(入力イメージデータの該ブロックサイズ)}で各ブロックのサイズ類似率を求めて、更に、該データファイルについてサイズ類似度の平均値を求めることにより算出するものとする。
【0118】
ステップS1107:入力画像のブロック情報、およびステップS1102で抽出されたデータファイルのブロック情報にOCR情報が「有」か否かを判断する。両者がOCR情報「有」であったときはステップS1108に進み、OCR情報「無」のときはステップS1110に進み、入力画像の全ブロックについての比較が終了したか判断する。
【0119】
ステップS1108:入力画像のブロック情報のOCR情報と、ステップS1102で抽出されたデータファイルのOCR情報を比較する。
【0120】
ステップS1109:ステップS1108で比較されたOCR情報についてOCR情報類似率を算出する。OCR情報類似率の算出方法は、任意の方法を用いることが可能であるが、例えば、各ブロックの認識結果文字同士を比較し、認識結果の一致率を求めるなどして求めることとする。
【0121】
ステップS1110:入力画像に含まれる全てのブロックについて、当該データファイルの各ブロックとの比較処理が終了したか否かを判断する。全ての矩形ブロックの処理が終了したときはステップS1111に進み、未処理の矩形ブロックが残っているときはステップS1115を経て、次のブロックの比較処理を行うためにステップS1103に戻る。
【0122】
ステップS1111:属性類似率、サイズ類似率、OCR類似率に基づいて総合類似率を算出する。総合類似率の算出方法は、例えば、各類似率に所定の重み付けを行って、和をとることにより算出される。
【0123】
ステップS1112:総合類似率が予め設定された閾値Thより高いか否か判断する。総合類似率が閾値Thより高ければステップS1113に進み、総合類似率が閾値Thより高くないときはステップS1114に進む。
【0124】
ステップS1113:ステップS1112で総合類似率が閾値より高いと判断されたデータベースのデータファイルを類似候補として保存する。
【0125】
ステップS1114:データベースの全てのデータファイルについて処理が終了したか否か判断する。全てのデータベースファイルの処理が終了したときはそのまま処理を終了し、未処理のデータベースファイルが残っているときはステップS1116を経てステップS1101に戻る。
【0126】
ステップS1115:データファイルの個々のブロック情報と、入力画像のブロック情報の全てを比較するように、比較対象のブロックを次のブロックに進める。
【0127】
ステップS1116:データベースの各データファイルが順次比較されるように、次のデータファイルを比較対象にする。
【0128】
図12において、N、W、Hは、入力画像のブロック総数、各ブロック幅、各ブロック高さであり、ΔN、ΔW、ΔHは、入力画像のブロック情報を基準とした許容範囲示す。n、w、hは、データベースファイルのブロック総数、各ブロック幅、各ブロック高さである。
【0129】
なお、不図示ではあるが、ステップS1105にてサイズ比較時に、座標X、座標Yの位置情報の比較などを行ってもよい。
【0130】
以上の複数の検索方式による検索結果は、各々類似度スコアとして数値化され、最終的な検索結果は各スコアに重み付けした合計値を、総合検索類似度として評価する。
【0131】
総合検索類似度は所定の閾値と比較され、閾値よりも高いスコアの電子ファイルが検索対象候補とされる。複数候補が抽出されたときは、ステップS310において候補選択の処理を行う。
【0132】
[ベクトル化ステップ]
ステップS312(ベクトル化ステップ)では、ファイルサーバにオリジナルデータファイルが存在しないときに、図7のイメージデータ41を、各矩形ブロックごとにベクトル化する。矩形ブロックが文字領域矩形ブロックであるときには、ベクトル化された各文字について文字認識処理を実行する。
【0133】
ベクトル化処理は図13の各ステップにより実行される。
【0134】
ステップS901:特定領域が文字領域矩形ブロックであるか否か判断し、文字領域矩形ブロックであればステップS902以下のステップに進み、パターンマッチングの一手法を用いて認識を行い、対応する文字コードを得る。特定領域が文字領域矩形ブロックでないときは、ステップS912に移行する。
【0135】
ステップS902:特定領域に対し横書き、縦書きの判定(組み方向判定)をおこなうために、特定領域内で画素値に対する水平・垂直の射影を取る。
【0136】
ステップS903:ステップS902の射影の分散を評価する。水平射影の分散が大きい場合は横書き、垂直射影の分散が大きい場合は縦書きと判断する。
【0137】
ステップS904:ステップS903の評価結果に基づき、組み方向を判定し、行の切り出しを行い、その後文字を切り出して文字画像を得る。
【0138】
文字列および文字への分解は、横書きならば水平方向の射影を利用して行を切り出し、切り出された行に対する垂直方向の射影から、文字を切り出す。縦書きの文字領域に対しては、水平と垂直について逆の処理を行う。行、文字切り出しに際して、文字のサイズも検出し得る。
【0139】
ステップS905:ステップS904で切り出された各文字について、文字画像から得られる特徴を数十次元の数値列に変換した観測特徴ベクトルを生成する。特徴ベクトルの抽出には種々の公知手法があり、例えば、文字をメッシュ状に分割し、各メッシュ内の文字線を方向別に線素としてカウントしたメッシュ数次元ベクトルを特徴ベクトルとする方法がある。
【0140】
ステップS906:ステップS905で得られた観測特徴ベクトルと、あらかじめ字種ごとに求められている辞書特徴ベクトルとを比較し、観測特徴ベクトルと辞書特徴ベクトルとの距離を算出する。
【0141】
ステップS907:ステップS906で算出された距離を評価し、最も距離の近い字種を認識結果とする。
【0142】
ステップS908:ステップS907における距離評価において、最短距離が所定値よりも大きいか否か判断する。距離が所定値以上の場合は、辞書特徴ベクトルにおいて、形状が類似する他の文字に誤認識している可能性が高い。そこで距離が所定値以上の場合は、ステップS907の認識結果を採用せず、ステップS911の処置に進む。距離が所定値より小のときは、ステップS907の認識結果を採用し、ステップ909に進む。
【0143】
ステップS909(フォント認識ステップ):文字認識の際に用いる、字種数ぶんの辞書特徴ベクトルを、文字形状種すなわちフォント種に対して複数用意しておき、パターンマッチングの際に、文字コードとともにフォント種を出力することで、文字フォントを認識し得る。
【0144】
ステップS910:文字認識およびフォント認識によって得られた文字コードおよびフォント情報を用いて、各々あらかじめ用意されたアウトラインデータを用いて、各文字をベクトルデータに変換する。なお、入力画像がカラーの場合は、カラー画像から各文字の色を抽出してベクトルデータとともに記録する。
【0145】
ステップS911:文字を一般的な線画と同様に扱い、該文字をアウトライン化する。すなわち誤認識を起こす可能性の高い文字については、可視的にイメージデータに忠実なアウトラインのベクトルデータを生成する。
【0146】
ステップS912:特定領域が文字領域矩形ブロックでないときは、画像の輪郭に基づいてベクトル化の処理を実行する。
【0147】
以上の処理により、文字領域矩形ブロックに属するイメージ情報をほぼ形状、大きさ、色が忠実なベクトルデータに変換出来る。
【0148】
[文字領域以外の領域のベクトル化]
ステップS912の文字領域矩形ブロック以外の領域、すなわち図面領域矩形ブロック、線画領域矩形ブロック、表領域矩形ブロック等と判断されたときは、特定領域内で抽出された黒画素塊の輪郭をベクトルデータに変換する。
【0149】
文字領域以外の領域のベクトル化においては、まず線画等を直線および/または曲線の組み合わせとして表現するために、曲線を複数の区間(画素列)に区切る「角」を検出する。角とは曲率が極大となる点であり、図14の曲線上の画素Piが角か否かの判断は以下のように行う。
【0150】
すなわち、Piを起点とし、曲線に沿ってPiから両方向に所定画素(k個とする。)ずつ離れた画素Pi−k、Pi+kを線分Lで結ぶ。画素Pi−k、Pi+k間の距離をd1、線分Lと画素Piとの距離をd2、曲線の画素Pi−k、Pi+k間の弧の長さをAとするとき、d2が極大となるとき、あるいは比(d1/A)が閾値以下となるときに画素Piを角と判断する。
【0151】
角によって分割された画素列を、直線あるいは曲線で近似する。直線への近似は最小二乗法等により実行し、曲線への近似は3次スプライン関数などを用いる。画素列を分割する角の画素は近似直線あるいは近似直線における、始端または終端となる。
【0152】
さらにベクトル化された輪郭内に白画素塊の内輪郭が存在するか否かを判断し、内輪郭が存在するときはその輪郭をベクトル化し、内輪郭の内輪郭というように、再帰的に反転画素の内輪郭をベクトル化する。
【0153】
以上のように、輪郭の区分線近似を用いれば、任意形状の図形のアウトラインをベクトル化することができる。元原稿がカラーの場合は、カラー画像から図形の色を抽出してベクトルデータとともに記録する。
【0154】
図15に示すように、ある注目区間で外輪郭PRjと、内輪郭PRj+1あるいは別の外輪郭が近接している場合、2個あるいは複数の輪郭線をひとまとめにし、太さを持った線として表現することができる。例えば、輪郭Pj+1の各画素Piから輪郭PRj上で最短距離となる画素Qiまでの距離PiQiを算出し、PQiのばらつきがわずかである場合には、注目区間を画素Pi、Qiの中点Miの点列に沿った直線または曲線で近似し得る。近似直線、近似曲線の太さは、例えば距離PiQiの平均値とする。
【0155】
線や線の集合体である表罫線は、太さを持つ線の集合とすることにより、効率よくベクトル表現することができる。
【0156】
輪郭まとめの処理の後、全体の処理を終了する。
【0157】
なお写真領域矩形ブロックについては、ベクトル化せず、イメージデータのままとする。
【0158】
[図形認識]
以上の線図形等のアウトラインをベクトル化した後、ベクトル化された区分線を図形オブジェクトごとにグループ化する。
【0159】
図16の各ステップは、ベクトルデータを図形オブジェクトごとにグループ化する処理を示す。
【0160】
ステップS1401:まず各ベクトルデータの始点、終点を算出する。
【0161】
ステップS1402(図形要素検出):ステップS1401で求められた始点、終点情報を用いて、図形要素を検出する。図形要素とは、区分線が構成している閉図形であり、検出に際しては、始点、終端近傍において連結ベクトルの端点を捜す。すなわち、閉形状を構成する各ベクトルはその両端にそれぞれ連結するベクトルを有しているという原理を応用する。
【0162】
ステップS1403:次に図形要素内に存在する他の図形要素、もしくは区分線をグループ化し、一つの図形オブジェクトとする。また、図形要素内に他の図形要素、区分線が存在しない場合は図形要素を図形オブジェクトとする。
【0163】
[図形要素の検出]
ステップS1402(図形要素検出)の処理は、図17の各ステップによって実行される。
【0164】
ステップS1501:まず、ベクトルデータより両端に連結していない不要なベクトルを除去し、閉図形を構成するベクトルを抽出する。
【0165】
ステップS1502:次に閉図形を構成するベクトルについて、いずれかのベクトルの端点(始点または終点)を開始点とし、一定方向、例えば時計回りに、順にベクトルを探索する。すなわち、他端点において他のベクトルの端点を探索し、所定距離内の最近接端点を連結ベクトルの端点とする。閉図形を構成するベクトルを1まわりして開始点に戻ったとき、通過したベクトルを全て一つの図形要素を構成する閉図形としてグループ化する。また、閉図形内部にある閉図形構成ベクトルも全てグループ化する。さらにまだグループ化されていないベクトルの始点を開始点とし、同様の処理を繰り返す。
【0166】
ステップS1503:最後に、ステップS1501で除去された不要ベクトルのうち、ステップS1502で閉図形としてグループ化されたベクトルに端点が近接しているベクトルを検出し、一つの図形要素としてグループ化する。
【0167】
以上の処理によって図形ブロックを、再利用可能な個別の図形オブジェクトとして扱う事が可能になる。
【0168】
[アプリデータへの変換処理]
図3のブロックセレクションステップ(ステップS302)の後、ベクトル化(ステップS312)した結果のデータを用いて、ステップS313のアプリデータへの変換処理を実行する。ステップS312のベクトル化処理結果は図18に示す中間データの形式、いわゆるドキュメント・アナリシス・アウトプット・フォーマット(DAOF)と呼ばれる形式で保存されている。
【0169】
図18において、DAOFは、ヘッダ1701、レイアウト記述データ部1702、文字認識記述データ部1703、表記述データ部1704、画像記述データ部1705よりなる。
【0170】
ヘッダ1701には、処理対象の入力画像に関する情報が保持される。
【0171】
レイアウト記述データ部1702には、入力画像中の矩形ブロックの属性TEX(文字)、TITLE(タイトル)、
CAPTION(キャプション)、LINE(線画)、PICTURE(画像)、FRAME(枠)、TABLE(表)、PHOTO(写真)等の情報と、これら属性が認識された各矩形ブロックの位置情報が保持される。
【0172】
文字認識記述データ部1703には、TEXT、TITLE、CAPTION等の文字領域矩形ブロックを文字認識して得られる文字認識結果が保持される。
【0173】
表記述データ部1704には、表領域矩形ブロックTABLEの表構造の詳細が格納される。
【0174】
画像記述データ部1705には、図面領域矩形ブロックPICTUREや線画領域矩形ブロックLINE等のブロックにおけるイメージデータが、入力画像データから切り出して保持される。
【0175】
このようなDAOFは中間データとしてのみならず、それ自体ファイル化され保存されることもあり、このファイル状態では、一般的な文書作成アプリケーションソフトウエアのオブジェクトにおける再利用は不可能である。そこで、DAOFをアプリケーションデータに変換する。
【0176】
アプリデータへの変換処理は図19の各ステップにより実行される。
【0177】
ステップS1701:DAOF形式のデータを入力する。
【0178】
ステップS1702:アプリデータの元となる文書構造ツリー生成を行う。
【0179】
ステップS1703:文書構造ツリーを元に、DAOF内の実データを取得し、実際のアプリデータを生成する。
【0180】
ステップS1703の文書構造ツリー生成処理は図20の各ステップにより実行される。図20の処理における全体制御の基本ルールとして、処理の流れはミクロブロック(単一矩形ブロック)からマクロブロック(矩形ブロックの集合体)へ移行する。以後「矩形ブロック」は、ミクロブロックおよびマクロブロック両者を意味するものとする。
【0181】
ステップS1801:矩形ブロック単位で、縦方向の関連性に基づいて、矩形ブロックを再グループ化する。図20の処理は繰り返し実行されることがあるが、処理開始直後はミクロブロック単位での判定となる。
【0182】
ここで、関連性とは、距離が近い、ブロック幅(横方向の場合は高さ)がほぼ同一であることなどの特徴によって定義される。また、距離、幅、高さなどの情報はDAOFを参照し、抽出する。
【0183】
図21の入力画像では、最上部で、矩形ブロックT1、T2が横方向に並列されている。矩形ブロックT1、T2の下には横方向セパレータS1が存在し、横方向セパレータS1の下に矩形ブロックT3、T4、T5、T6、T7が存在する。
【0184】
矩形ブロックT3、T4、T5は、横方向セパレータS1下側の領域における左半部において上から下に、縦方向に配列され、矩形ブロックT6、T7は、横方向セパレータS1下側の領域における右半部において上下に配列されている。
【0185】
ステップS1801の縦方向の関連性に基づくグルーピングの処理を実行する。これによって、矩形ブロックT3、T4、T5が1個のグループ(矩形ブロック)V1にまとめられ、矩形ブロックT6、T7が1個のグループ(矩形ブロック)V2にまとめられる。グループV1、V2は同一階層となる。
【0186】
ステップS1802:縦方向のセパレータの有無をチェックする。セパレータは、DAOF中でライン属性を持つオブジェクトであり、アプリケーションソフトウエア中で明示的にブロックを分割する機能をもつ。セパレータを検出すると、処理対象の階層において、入力画像の領域を、セパレータを境界として左右に分割する。図21では縦方向のセパレータは存在しない。
【0187】
ステップS1803:縦方向のグループ高さの合計が入力画像の高さに等しくなったか否か判断する。すなわち縦方向(例えば上から下へ。)に処理対象の領域を移動しながら、横方向のグルーピングを行うとき、入力画像全体の処理が終了したときには、グループ高さ合計が入力画像高さになることを利用し、処理の終了判断を行う。グルーピングが終了したときはそのまま処理終了し、グルーピングが終了していなかったときはステップS1804に進む。
【0188】
ステップS1804:横方向の関連位に基づくグルーピングの処理を実行する。これによって、矩形ブロックT1、T2が1個のグループ(矩形ブロック)H1にまとめられ、矩形ブロックV1、V2が1個のグループ(矩形ブロック)H2にまとめられる。グループH1、H2は同一階層となる。ここでも、処理開始直後はミクロブロック単位での判定となる。
【0189】
ステップS1805:横方向のセパレータの有無をチェックする。セパレータを検出すると、処理対象の階層において、入力画像の領域を、セパレータを境界として上下に分割する。図21では横方向のセパレータS1が存在する。
【0190】
以上の処理結果は図22のツリーとして登録される。
【0191】
図22において、入力画像V0は、最上位階層にグループH1、H2、セパレータS1を有し、グループH1には第2階層の矩形ブロックT1、T2が属する。
【0192】
グループH2には、第2階層のグループV1、V2が属し、グループV1には、第3階層の矩形ブロックT3、T4、T5が属し、グループV2には、第3階層の矩形ブロックT6、T7が属する。
【0193】
ステップS1806:横方向のグループ長合計が入力画像の幅に等しくなったか否か判断する。これによって横方向のグルーピングに関する終了判断を行う。
横方向のグループ長がページ幅となっている場合は、文書構造ツリー生成の処理を終了する。横方向のグループ長がページ幅となっていないときは、ステップS1801に戻り、再びもう一段上の階層で、縦方向の関連性チェックから繰り返す。
【0194】
図21、図22のツリー構造の段階で、横方向の分割幅がページ幅になっているので、そのまま処理を終了し、最後にページ全体を表す最上位階層のV0を文書構造ツリーに付加する。
【0195】
文書構造ツリーが完成した後、その情報を元にステップS1703においてアプリデータの生成を行う。
【0196】
図21、図22に基づくアプリデータによる、アプリケーションソフトウエアの処理の例は以下のとおりである。
【0197】
まず、グループH1が横方向に2個の矩形ブロックT1、T2を有するので、2カラムとし、T1のDAOFを参照し、その内部情報(文字認識結果の文章、画像等)を出力する。その後、カラムを変え、T2の内部情報を出力し、続いてセパレータS1を出力する。
【0198】
次グループH2の処理に移る。グループH2は横方向に2個の矩形ブロックV1、V2を有するので、2カラムとして出力する。グループV1については、矩形ブロックT3、T4、T5の順にその内部情報を出力し、その後カラムを変え、グループV2の矩形ブロックT6、T7の内部情報を出力する。
【0199】
以上によりアプリデータへの変換処理が実行される。
【0200】
[ポインタ情報の付加]
ステップS318のポインタ情報付加の処理は、抽出されあるいは生成されたファイルを記録する際に、記録紙にポインタ情報を付加する処理である。ポインタ情報を参照することによって、電子ファイルを容易に抽出し得る。
【0201】
図23のフローチャートにおいて、ポインタ情報を2次元バーコード(JISX0510に基づくQRコードシンボル等)を付加する処理を説明する。
【0202】
図9に関連して説明したように、2次元バーコードは、対応する電子ファイルを取得し得る場所を示す情報よりなる。
【0203】
ステップS2201:QRコードシンボルに変換すべきポインタ情報を示す文字を識別し、ポインタ情報を分析するとともに、誤り検出及び誤り訂正レベルを設定し、ポインタ情報を収容し得る最小型番を選択する。
【0204】
ステップS2202:ステップS2201で分析したポインタ情報を所定ビット列に変換し、必要に応じて、ポインタ情報のモード(数字、英数字、8ビットバイト、漢字等)を示す指示子、および終端パターンを付加する。さらに、このように得られたデータをビットコード語に変換する。
【0205】
ステップS2203:ステップS2202で生成したビットコード語列を、型番および誤り訂正レベルに応じて、所定数のブロックに分割し、各ブロックごとに誤り訂正コード語を生成する。さらに誤り訂正コード語をビットコード語列の後付加する。
【0206】
ステップS2204:ステップS2203で生成した各ブロックのビットコード語を接続し、各ブロックに誤り訂正コード語を付加する。さらに必要に応じて、各ブロックの訂正コードの後に剰余コード語を付加する。以上によりコード語モジュールが生成される。
【0207】
ステップS2205:所定のマトリクスに、位置検出パターン、分離パターン、タイミングパターン、位置合わせパターン、およびコード語モジュールを配列する。
【0208】
ステップS2206:ステップS2205で生成されたマトリクスにおけるシンボル符号化領域に対して、最適なマスクパターンを選択し、マトリクスとマスクパターンのXOR演算によってモジュールを生成する。
【0209】
ステップS2207:ステップS2206で生成されたモジュールに対して、形式情報、型番情報を生成し、QRコードシンボルを完成する。
【0210】
このようなアドレス情報が組み込まれたQRコードシンボルは、クライアントPC102からの要求により、電子ファイルをMFP112で印刷する際に、データ処理装置115内で記録可能なラスタデータに変換され、印刷画像における所定位置に画像形成される。
【0211】
ステップS304に関連して説明したように、画像形成された印刷画像を画像読み取り装置110で読み取ることにより、ポインタ情報が取得でき、電子ファイルの格納場所を検出し得る。
【0212】
[第2実施形態]
次に、本発明に係る画像処理方法の第2実施形態を図面に基づいて説明する。図24は第2実施形態を示すフローチャ−トである。
【0213】
第1実施形態では、ベクトル化処理に関してステップS307で「後で」(ボタン502)が選択された入力画像は、その後MFP100の負荷状況を見てベクトル化処理したが、ポインタ情報を付加した印刷出力をMFP100に読み込むことによって一括ベクトル化処理を実行することも可能である。
【0214】
ベクトル処理テーブル(図6)に「LATER」のステータス1011が記載された入力画像を記録(ステップS317、ステップS319)すると、ポインタ情報には仮のポインタ情報が記録される。
【0215】
この仮のポインタ情報が記録された印刷出力をMFP100に再読み込みすると、MFP100は各入力画像のステータスを参照し、ステータス1011に応じて図24の各ステップを実行する。
【0216】
ステップS2601:印刷出力を再読み込みし、ステータス1011を参照する。
【0217】
ステップS2602:ステップS2601で参照したステータス1011が「DONE」であったときはステップS2603に分岐し、ステータス1011が「SIMILAR」であったときはステップS2605に分岐し、ステータス1011が「LATER」であったときはステップS2608に分岐する。
【0218】
ステップS2603:仮ポインタ情報を新たなベクトル化処理結果へのポインタに書き換え、ステップS2604に進む。
【0219】
ステップS2604:新たなポインタ情報を付加した印刷出力を生成する。
【0220】
ステップS2605:図3のステップS310と同様の電子ファイルの候補表示/選択の処理を実行する。
【0221】
ステップS2606:選択された電子ファイルのポインタ情報をベクトル処理テーブルに登録し、ステップS2607に進む。
【0222】
ステップS2607:ステータス1011を「LINK」に書き換え、ステップS2604に進む。
【0223】
ステップS2608:図4のステップS401〜S408と同様の処理を実行し、ステップS2604に進む。
【0224】
なお以上の実施形態においては、画像読み取り装置110等から入力された入力画像の処理について説明したが、記憶媒体に格納されたラスターデータあるいはその符号化データよりなるイメージデータ、通信手段によって供給されたイメージデータ等、入力画像以外のイメージデータについても、本発明は有効である。
【0225】
本発明に係る画像処理方法を実施する手段は図1、図2に記載した画像処理システムに限定されるものではなく、専用の画像処理装置、汎用コンピュータ等種々の手段を採用し得る。
【0226】
汎用コンピュータにおいて実行する際には、画像処理方法の各ステップを汎用コンピュータに実行させるためプログラムコードを含むコンピュータ実行可能なプログラムを、汎用コンピュータに読み込ませる。
【0227】
汎用コンピュータが画像処理を実行するためのプログラムは、汎用コンピュータに内蔵されたROMや、汎用コンピュータが読み取り得る記憶媒体から読み込まれ、あるいはネットワークを通じてサーバ等から読み込まれる。
【0228】
また本発明の趣旨と範囲は、本発明の特定の説明と図に限定されるものではなく、本願特許請求の範囲に述べられた内容の様々な修正および変更に及ぶことは当業者にとって理解されるであろう。
【0229】
本発明の実施態様の例を以下に示す。
【0230】
[実施態様1] 入力画像に対応するオリジナルデータファイルを検索する検索ステップと、ユーザの指示に基づいて、前記入力画像を直ちにベクトルデータ化するのか、後でベクトルデータ化するのか判断する判断ステップと、前記オリジナルデータファイルが検索できなかった入力画像をベクトルデータ化するベクトルデータ化ステップとを有する画像処理方法であって、前記判断ステップで直ちにベクトルデータ化すると判断された場合、前記ベクトルデータ化ステップで前記入力画像を直ちにベクトルデータ化し、前記判断ステップで後でベクトルデータ化すると判断された場合、前記ベクトルデータ化ステップでは所定の条件を満たしたときに前記入力画像をベクトルデータ化することを特徴とする画像処理方法。
【0231】
[実施態様2] 前記所定の条件は、画像処理手段の負荷が軽いことである実施態様1記載の画像処理方法。
【0232】
[実施態様3] 前記判断ステップでは、ユーザの指示に基づくステータスを当該入力画像と関連付けてベクトル化処理テーブルに登録することを特徴とする実施態様1に記載の画像処理方法。
【0233】
[実施態様4] 前記ベクトルデータ化された入力画像をデータベースに格納する格納ステップを更に有することを特徴とする実施態様1に記載の画像処理方法。
【0234】
[実施態様5] 入力画像に対応するオリジナルデータファイルを検索する検索手段と、ユーザの指示に基づいて、前記入力画像を直ちにベクトルデータ化するのか、後でベクトルデータ化するのか判断する判断手段と、前記オリジナルデータファイルが検索できなかった入力画像をベクトルデータ化するベクトルデータ化手段とを有する画像処理システムであって、前記判断手段で直ちにベクトルデータ化すると判断された場合、前記ベクトルデータ化手段で前記入力画像を直ちにベクトルデータ化し、前記判断手段で後でベクトルデータ化すると判断された場合、前記ベクトルデータ化手段では所定の条件を満たしたときに前記入力画像をベクトルデータ化することを特徴とする画像処理システム。
【0235】
[実施態様6] 入力画像に対応するオリジナルデータファイルを検索する検索ステップと、ユーザの指示に基づいて、前記入力画像を直ちにベクトルデータ化するのか、後でベクトルデータ化するのか判断する判断ステップと、前記オリジナルデータファイルが検索できなかった入力画像をベクトルデータ化するベクトルデータ化ステップとを、コンピュータに実行させるためのコンピュータプログラムであって、前記判断ステップで直ちにベクトルデータ化すると判断された場合、前記ベクトルデータ化ステップで前記入力画像を直ちにベクトルデータ化し、前記判断ステップで後でベクトルデータ化すると判断された場合、前記ベクトルデータ化ステップでは所定の条件を満たしたときに前記入力画像をベクトルデータ化することを特徴とするコンピュータプログラム。
【0236】
[実施態様7] 入力画像に対応するオリジナルデータファイルを検索する検索ステップと、ユーザの指示に基づいて、前記入力画像を直ちにベクトルデータ化するのか、後でベクトルデータ化するのか判断する判断ステップと、前記オリジナルデータファイルが検索できなかった入力画像をベクトルデータ化するベクトルデータ化ステップとを、コンピュータに実行させるためのコンピュータプログラムを格納した記憶媒体であって、前記判断ステップで直ちにベクトルデータ化すると判断された場合、前記ベクトルデータ化ステップで前記入力画像を直ちにベクトルデータ化し、前記判断ステップで後でベクトルデータ化すると判断された場合、前記ベクトルデータ化ステップでは所定の条件を満たしたときに前記入力画像をベクトルデータ化することを特徴とするコンピュータプログラムを格納した記憶媒体。
【0237】
【発明の効果】
本発明によれば、ベクトル化のための処理時間をユーザに意識させない。
【図面の簡単な説明】
【図1】本発明に係る画像処理方法の第1実施形態を実施する画像処理システムを示すブロック図である。
【図2】図1におけるMFPを示すブロック図である。
【図3】本発明に係る画像処理方法の第1実施形態を示すフローチャ−トである。
【図4】図3の処理の後に実行される一括ベクトル化処理を示すフローチャートである。
【図5】図3のステップS307で操作画面に表示される画面を示す図である。
【図6】図3の処理で生成されるベクトル処理テーブルを示す表である。
【図7】図3の画像処理方法で処理される画像および処理結果の画像を示す図である。
【図8】ブロックセレクション処理で得られるブロック情報および入力ファイル情報を示す表である。
【図9】図3のポインタ情報抽出の処理を示すフローチャートである。
【図10】ポインタ情報を含む原稿の画像を示す図である。
【図11】図3のポインタ情報に基づくファイル検索処理を示すフローチャートである。
【図12】図3のファイル検索の処理を示すフローチャートである。
【図13】図3の文字領域に対するベクトル化の処理を示すフローチャートである。
【図14】図15のベクトル化の処理における角抽出の処理を示す図である。
【図15】図15のベクトル化の処理における輪郭線まとめの処理を示す図である。
【図16】図15のベクトル化で生成されたベクトルデータのグループ化の処理を示すフローチャートである。
【図17】図16の処理でグループ化されたベクトルデータに対する図形要素検出の処理を示すフローチャートである。
【図18】ベクトル化処理結果のデータを示すマップである。
【図19】図3のアプリデータ変換の処理を示すフローチャートである。
【図20】図19の文書構造ツリー生成の処理を示すフローチャートである。
【図21】文書構造ツリー生成処理の対象となる文書を示す図である。
【図22】図19の処理によって生成される文書構造ツリーを示す図である。
【図23】図3のポインタ情報付加の処理を示すフローチャートである。
【図24】本発明に係る画像処理方法の第2実施形態を示すフローチャ−トである。
【符号の説明】
100 MFP
105 データベース
106 文書管理サーバ
110 画像読み取り装置
111 記憶装置
112 記憶装置
115 データ処理装置
Claims (1)
- 入力画像に対応するオリジナルデータファイルを検索する検索ステップと、
ユーザの指示に基づいて、前記入力画像を直ちにベクトルデータ化するのか、後でベクトルデータ化するのか判断する判断ステップと、
前記オリジナルデータファイルが検索できなかった入力画像をベクトルデータ化するベクトルデータ化ステップとを有する画像処理方法であって、
前記判断ステップで直ちにベクトルデータ化すると判断された場合、前記ベクトルデータ化ステップで前記入力画像を直ちにベクトルデータ化し、前記判断ステップで後でベクトルデータ化すると判断された場合、前記ベクトルデータ化ステップでは所定の条件を満たしたときに前記入力画像をベクトルデータ化することを特徴とする画像処理方法。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003152050A JP2004355315A (ja) | 2003-05-29 | 2003-05-29 | 画像処理方法 |
US10/775,177 US7391917B2 (en) | 2003-02-13 | 2004-02-11 | Image processing method |
EP04250777A EP1447767A3 (en) | 2003-02-13 | 2004-02-13 | Image document administration method |
CNB2004100959058A CN100419782C (zh) | 2003-02-13 | 2004-02-13 | 图象处理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003152050A JP2004355315A (ja) | 2003-05-29 | 2003-05-29 | 画像処理方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004355315A true JP2004355315A (ja) | 2004-12-16 |
Family
ID=34047358
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003152050A Pending JP2004355315A (ja) | 2003-02-13 | 2003-05-29 | 画像処理方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2004355315A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2020503559A (ja) * | 2016-12-31 | 2020-01-30 | 江蘇友迪激光科技有限公司Jiangsu Gis Laser Technologies Inc. | 直接描画式スクリーン製版装置及びその使用方法 |
-
2003
- 2003-05-29 JP JP2003152050A patent/JP2004355315A/ja active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2020503559A (ja) * | 2016-12-31 | 2020-01-30 | 江蘇友迪激光科技有限公司Jiangsu Gis Laser Technologies Inc. | 直接描画式スクリーン製版装置及びその使用方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4181892B2 (ja) | 画像処理方法 | |
JP4546291B2 (ja) | 画像処理装置およびその制御方法 | |
JP2004326491A (ja) | 画像処理方法 | |
US7681121B2 (en) | Image processing apparatus, control method therefor, and program | |
JP4510535B2 (ja) | 画像処理装置及びその制御方法、プログラム | |
JP4502385B2 (ja) | 画像処理装置およびその制御方法 | |
JP3862694B2 (ja) | 画像処理装置及びその制御方法、プログラム | |
JP2004348706A (ja) | 情報処理装置及び情報処理方法ならびに記憶媒体、プログラム | |
US20120250048A1 (en) | Image processing apparatus and image processing method | |
JP4227432B2 (ja) | 画像処理方法 | |
JP4338189B2 (ja) | 画像処理システム及び画像処理方法 | |
JP2004363786A (ja) | 画像処理装置 | |
JP2008028716A (ja) | 画像処理方法及び装置 | |
JP4323856B2 (ja) | 画像処理方法 | |
JP4185858B2 (ja) | 画像処理装置及びその制御方法、プログラム | |
JP2004334340A (ja) | 画像処理方法及び装置 | |
JP2005149210A (ja) | 画像処理装置及びその制御方法、プログラム | |
JP2006134042A (ja) | 画像処理システム | |
JP2004355315A (ja) | 画像処理方法 | |
JP4310176B2 (ja) | 画像処理装置、画像処理方法およびプログラム | |
JP2007074140A (ja) | 画像処理装置及びその制御方法、画像処理システム | |
JP2006146486A (ja) | 画像処理装置 | |
JP2005208872A (ja) | 画像処理システム | |
JP2008084127A (ja) | 画像形成装置 | |
JP2006165783A (ja) | 画像処理システム |