(57)【要約】【課題】ベクトル化のための処理時間をユーザに意識させない。【解決手段】操作画面に、「ベクトル処理を行いますか？」の問い合わせのメッセージ、および「今すぐ」、「後で」、「いいえ」のボタンを表示し、ユーザに対し、ベクトル化処理を行うか否か問い合わせる。「後で」のボタンを押すと、以後のＭＦＰ１００の負荷が軽いとき等、ユーザがベクトル化処理の待ち時間を意識しないタイミングで、一括ベクトル化処理によりベクトル化処理を実行する。「後で」ボタンの選択は、ベクトル処理テーブルに記録される。【選択図】      図５
2004355315.tif 000002
【特許請求の範囲】
【請求項１】
入力画像に対応するオリジナルデータファイルを検索する検索ステップと、
ユーザの指示に基づいて、前記入力画像を直ちにベクトルデータ化するのか、後でベクトルデータ化するのか判断する判断ステップと、
前記オリジナルデータファイルが検索できなかった入力画像をベクトルデータ化するベクトルデータ化ステップとを有する画像処理方法であって、
前記判断ステップで直ちにベクトルデータ化すると判断された場合、前記ベクトルデータ化ステップで前記入力画像を直ちにベクトルデータ化し、前記判断ステップで後でベクトルデータ化すると判断された場合、前記ベクトルデータ化ステップでは所定の条件を満たしたときに前記入力画像をベクトルデータ化することを特徴とする画像処理方法。
【発明の詳細な説明】
【０００１】
【発明が属する技術分野】
本発明は画像処理方法に関する。
【０００２】
【従来の技術】
近年、環境問題が叫ばれる中、オフィスでのペーパーレス化が急速に進んでいる。
【０００３】
［第１従来例］
ペーパーレス化の方法には、例えば、バインダ等で蓄積された紙文書をスキャナ等で読み取り、ラスターデータのイメージとして、ポータブルドキュメントフォーマット（ＰＤＦフォーマット）等のコンパクトなファイルに変換して、画像記憶手段に格納するものがある（例えば特許文献１）。
【０００４】
［第２従来例］
ペーパーレス化の方法の第２は、機能が拡張された記録装置、ＭＦＰ（マルチファンクション複合機）を用い、画像記憶装置に文字や画像のオリジナルデータファイルを格納しておき、オリジナルデータファイルを印刷して紙文書に記録する際に、オリジナルデータファイルが存在する画像記憶装置内のポインタ情報を、紙文書の表紙や印刷情報中に付加情報として記録するものがある（例えば特許文献２）。これによって、ポインタ情報から直ちにオリジナルデータファイルにアクセスし、オリジナルデータファイルの編集、印刷等の再利用が可能であり、紙文書保有量を削減し得る。
【０００５】
【特許文献１】
特開２００１−３５８８６３号公報
【特許文献２】
特開平１０−２８５３７８号公報
【０００６】
【発明が解決しようとする課題】
第１従来例は、スキャナで読み取った画像をコンパクトな情報量のＰＤＦファイルとして保存可能であるが、プリントされた文書から保存されているファイルを検索することができず、保存されている文書を再利用することは難しかった。
また、ＰＤＦファイルへ変換する間、他の処理を行えないという問題点がある。
【０００７】
第２従来例は、オリジナルデータファイルへのポインタ情報を持たない文書ファイルの場合は、オリジナルデータファイルを検索することができない。
【０００８】
また、本出願人は、イメージデータをベクトル化し、ベクトルデータを原稿に記載された情報として扱うことで、如何なる原稿でも再利用可能な電子ファイルとして扱うことができ、また、入力画像から電子ファイルを検索できるシステムを考えている。
【０００９】
しかし、ベクトル化の際には、高い計算処理能力を要し、ベクトル化処理に時間がかかってしまい、その間、他の処理を行えないことがあるという問題点がある。
【００１０】
本発明はこのような問題点を解消すべく創案されたもので、ベクトル化のための処理時間をユーザに意識させないことを目的とする。
【００１１】
【課題を解決するための手段】
本発明に係る画像処理方法は、入力画像に対応するオリジナルデータファイルを検索する検索ステップと、ユーザの指示に基づいて、前記入力画像を直ちにベクトルデータ化するのか、後でベクトルデータ化するのか判断する判断ステップと、前記オリジナルデータファイルが検索できなかった入力画像をベクトルデータ化するベクトルデータ化ステップとを有する画像処理方法であって、前記判断ステップで直ちにベクトルデータ化すると判断された場合、前記ベクトルデータ化ステップで前記入力画像を直ちにベクトルデータ化し、前記判断ステップで後でベクトルデータ化すると判断された場合、前記ベクトルデータ化ステップでは所定の条件を満たしたときに前記入力画像をベクトルデータ化することを特徴とする。これによって、ベクトル化のための処理時間をユーザに意識させない処理が可能である。
【００１２】
【発明の実施の形態】
次に本発明に係る画像処理方法の第１実施形態を図面に基づいて説明する。
【００１３】
図１は、本発明に係る画像処理方法の第１実施形態を実施する画像処理システムを示すブロック図、図２は、図１におけるＭＦＰを示すブロック図、図３は、本発明に係る画像処理方法の第１実施形態を示すフローチャ−ト、図４は、図３の処理の後に実行される一括ベクトル化処理を示すフローチャート、図５は、図３のステップＳ３０７で操作画面に表示される画面を示す図、図６は、図３の処理で生成されるベクトル処理テーブルを示す表、図７は、図３の画像処理方法で処理される画像および処理結果の画像を示す図、図８は、ブロックセレクション処理で得られるブロック情報および入力ファイル情報を示す表、図９は、図３のポインタ情報抽出の処理を示すフローチャート、図１０は、ポインタ情報を含む原稿の画像を示す図、図１１は、図３のポインタ情報に基づくファイル検索処理を示すフローチャート、図１２は、図３のファイル検索の処理を示すフローチャート、図１３は、図３の文字領域に対するベクトル化の処理を示すフローチャート、図１４は、図１５のベクトル化の処理における角抽出の処理を示す図、図１５は、図１５のベクトル化の処理における輪郭線まとめの処理を示す図、図１６は、図１５のベクトル化で生成されたベクトルデータのグループ化の処理を示すフローチャート、図１７は、図１６の処理でグループ化されたベクトルデータに対する図形要素検出の処理を示すフローチャート、図１８は、ベクトル化処理結果のデータを示すマップ、図１９は、図３のアプリデータ変換の処理を示すフローチャート、図２０は、図１９の文書構造ツリー生成の処理を示すフローチャート、図２１は、文書構造ツリー生成処理の対象となる文書を示す図、図２２は、図１９の処理によって生成される文書構造ツリーを示す図、図２３は、図３のポインタ情報付加の処理を示すフローチャートである。
【００１４】
［第１実施形態］
【００１５】
［画像処理システム］
図１において、本発明に係る画像処理方法の第１実施形態を実施する画像処理システムは、オフィス１０とオフィス２０とをインターネット１０４で接続した環境において使用される。
【００１６】
オフィス１０内に構築されたＬＡＮ１０７には、記録装置としてのＭＦＰ（マルチファンクション複合機）１００、ＭＦＰ１００を制御するマネージメントＰＣ１０１、クライアントＰＣ（外部記憶手段）１０２、文書管理サーバ１０６、文書管理サーバ１０６のためのデータベース１０５が接続されている。
【００１７】
オフィス２０内にはＬＡＮ１０８が構築され、ＬＡＮ１０８には文書管理サーバ１０６、および文書管理サーバ１０６のためのデータベース１０５が接続されている。
【００１８】
ＬＡＮ１０７、１０８にはプロキシサーバ１０３が接続され、ＬＡＮ１０７、１０８はプロキシサーバ１０３を介してインターネットに接続される。
【００１９】
ＭＦＰ１００は紙文書から読み取った入力画像に対する画像処理の一部を担当し、処理結果としてのイメージデータはＬＡＮ１０９を通じてマネージメントＰＣ１０１に入力される。マネージメントＰＣ１０１は、画像記憶手段、画像処理手段、表示手段、入力手段等を含む通常のパーソナルコンピュータであり、機能的にはこれら構成要素の一部がＭＦＰ１００と一体化して、画像処理システムの構成要素となっている。なお、本実施形態では、マネージメントＰＣにおいて、下記に記載の検索処理などが実行されるものとするが、マネージメントＰＣで行われる処理をＭＦＰで実行するようにしても構わない。
【００２０】
さらにＭＦＰ１００は、ＬＡＮ１０９によってマネージメントＰＣ１０１に直接接続されている。
【００２１】
［ＭＦＰ］
図２において、ＭＦＰ１００は、図示しないオートドキュメントフィーダ（ＡＤＦ）を有する画像読み取り部１１０を備え、画像読み取り部１１０は束状の或いは１枚の原稿の画像を光源で照射し、反射画像をレンズで固体撮像素子上に結像する。固体撮像素子は所定解像度（例えば６００ｄｐｉ）および所定濃度レベル（例えば８ビット）の画像読み取り信号を生成し、画像読み取り信号からラスターデータよりなるイメージデータが構成される。
【００２２】
ＭＦＰ１００は、記憶装置１１１および記録装置１１２を有し、通常の複写機能を実行する際には、イメージデータをデータ処理装置１１５によって画像処理して記録信号に変換する。複数枚複写の場合には、１頁分の記録信号を一旦記憶装置１１１に記憶保持した後、記録装置１１２に順次出力して、複写紙上に記録画像を形成する。
【００２３】
ＭＦＰ１００は、ＬＡＮ１０７との接続のためのネットワークＩＦ１１４を有し、クライアントＰＣ１０２が出力したイメージデータを、記録装置１１２によって記録し得る。クライアントＰＣ１０２から出力されたイメージデータはＬＡＮ１０７からネットワークＩＦ１１４を経てデータ処理装置１１５で記録可能な記録信号に変換された後、ＭＦＰ１００において、記録紙上に記録画像として記録される。
【００２４】
ＭＦＰ１００は、ＭＦＰ１００に設けられたキー操作部（入力装置１１３）、あるいはマネージメントＰＣ１０１の入力装置（キーボード、ポインティングデバイス等）を通じて操作される。これらの操作のために、データ処理装置１１５は内部の制御部（図示せず。）によって所定の制御を実行する。
【００２５】
ＭＦＰ１００は表示装置１１６を有し、操作入力の状態と、処理すべきイメージデータとを、表示装置１１６によって表示し得る。
【００２６】
記憶装置１１１はネットワークＩＦ１１７を介して、マネージメントＰＣ１０１から直接制御し得る。ＬＡＮ１０９は、ＭＦＰ１００とマネージメントＰＣ１０１との間のデータの授受、制御信号授受に用いられる。
【００２７】
［画像処理方法の全体の流れ］
本発明に係る画像処理方法の第１実施形態は図３の各ステップにより実行される。
【００２８】
ステップＳ３０１：ＭＦＰ１００の画像読み取り部１１０を動作させて、１枚の原稿をラスター状に走査し、所定解像度および所定濃度レベルの、画像読み取り信号を取得する。画像読み取り信号はデータ処理部１１５によって前処理され、入力画像の１頁分のイメージデータとして、記憶装置１１１に保存される。次にステップＳ３０２に進む。
【００２９】
ステップＳ３０２（ブロックセレクションステップ）：マネージメントＰＣ１０１によって、記憶装置１１１に格納されたイメージデータの領域を、文字あるいは線画を含む文字・線画領域と、ハーフトーンの写真領域、不定形の図面領域その他に分ける。さらに文字・線画領域について、主に文字を含む文字領域と、主に表、図形等を含む線画領域とを分離し、線画領域は表領域と図形領域に分離する。なお、本実施形態では連結画素を検知し、該連結画素の外接矩形領域の形状・サイズ・画素密度等を用いて、属性毎の領域に分割するものとするが、その他の領域分割手法を用いても構わない。
【００３０】
文字領域については、文字段落ごとの纏まった塊をブロックとして矩形ブロック（文字領域矩形ブロック）にセグメント化し、線画領域では、表、図形等の個々のオブジェクト（表領域矩形ブロック、線画領域矩形ブロック）ごとに矩形ブロックにセグメント化する。
【００３１】
ハーフトーンで表現される写真領域は、画像領域矩形ブロック、背景領域矩形ブロック等のオブジェクトごとに、矩形ブロックにセグメント化する。
【００３２】
これらの矩形ブロックの情報を「領域分割情報」という。
【００３３】
ステップＳ３０３：入力画像にオリジナルデータファイルのポインタ情報が埋め込まれているか否かの判定を行うため、ＯＣＲ、ＯＭＲ処理を行う。
【００３４】
原稿画像中に付加情報として記録された２次元バーコード、あるいはＵＲＬに該当するオブジェクトを検出し、ＯＣＲによってＵＲＬを文字認識し、ＯＭＲによって２次元バーコードを解読して入力画像のオリジナルデータファイルが格納されている記憶装置内のポインタ情報を検出する。
【００３５】
ポインタ情報を付加する手段は２次元バーコードに限定されるものではなく、隣接文字列間隔の変化として情報を埋め込む方法、ハーフトーンの画像に埋め込む方法等、直接視認されない、いわゆる電子透かしによる方法等がある。
【００３６】
ステップＳ３０４（ポインタ情報抽出ステップ）：ステップＳ３０５におけるＯＣＲ、ＯＭＲ、もしくは電子透かしの情報から、ポインタ情報を抽出する。
【００３７】
ステップＳ３０５：ステップＳ３０４でポインタ情報が取得されたか否か判断する。ポインタ情報が取得されたときは、オリジナルデータファイルに直接アクセスすべく、ステップＳ３０６に分岐する。
【００３８】
ステップＳ３０４でポインタ情報が抽出されなかったときはステップＳ３０７に進む。
【００３９】
ステップＳ３０６：ポインタ情報が抽出されたときは、そのポインタ情報を用いてオリジナルデータファイル（電子ファイル）を検索する。オリジナルデータファイルは、電子ファイルの形態で、図１のクライアントＰＣ１０２のハードディスク内、文書管理サーバ１０６内のデータベース１０５内、ＭＦＰ１００に設けられた記憶装置１１１等に格納されており、ステップＳ３０６で得られたアドレス情報（ポインタ情報）に従ってこれらの記憶装置内を検索する。検索結果としてオリジナルデータファイルがみつからなかったとき、あるいは抽出されたオリジナルデータファイルがラスターデータファイルあるいは、ＢＭＰ、ｔｉｆｆに代表される、ラスターデータを符号化したイメージデータファイルであったときは、スップＳ３０７に分岐する。オリジナルデータファイルを抽出できたときは、ステップＳ３１６にジャンプする。
【００４０】
ステップＳ３０７、Ｓ３０８：操作画面１１６において図５の画面を表示し、ユーザに対し、ベクトル化処理を行うか否か問い合わせる。図５の画面には、「ベクトル処理を行いますか？」の問い合わせのメッセージ、および「今すぐ」のボタン５０１、「後で」のボタン５０２、「いいえ」のボタン５０３が表示される。「今すぐ」のボタン５０１が押された場合、今すぐベクトル化処理を行うべく、処理はステップＳ３０８を経て、ステップＳ３０９に進む。「後で」のボタン５０２が押された場合、ベクトル化処理テーブルにステータスを「ＬＡＴＥＲ」にして仮の格納アドレスとともに登録し、その後、ＭＦＰ１００の負荷が軽いとき（全く作業を行っていない状況を含む）等、所定の条件に適合したときにベクトル化を実行し、ユーザがベクトル化処理の待ち時間を意識しないタイミングで、図４の一括ベクトル化処理により、ベクトル化を実行する。また、「いいえ」のボタン５０３が押された場合、ステータスを「ＮＯ」にして終了する。
【００４１】
ボタン５０１〜Ｓ５０３の選択は図６のベクトル処理テーブルに記録される。ベクトル処理テーブルの詳細については後述する。
【００４２】
ステップＳ３０９：文書検索ルーチンを実行する。ステップＳ３０３のＯＣＲ処理で抽出された単語により、データベース１０５における全文検索を実行し、あるいは矩形ブロックのレイアウトとオブジェクトの属性に基づき、レイアウト検索を行う。
【００４３】
ステップＳ３１０：ステップＳ３０９の検索で、類似度の高いオリジナルデータファイルの候補が複数抽出されたときは、操作画面１１６においてサムネイル等により表示し、ユーザに選択を促す。なお、オリジナルデータファイルの候補が１個のときはステップＳ３１１からＳ３１６に自動的にジャンプし、抽出されたオリジナルデータファイルのアドレスをＭＦＰ１００に通知するようにしてもよい。
【００４４】
ステップＳ３１１：ステップＳ３０９あるいはステップＳ３１０で１個のデータファイルが特定されたか否か判断する。１個のデータファイルが特定されたときはステップＳ３１６にジャンプし、データファイルが抽出されなかったとき、あるいは抽出されたデータファイルがイメージデータファイルのときはステップＳ３１２に進む。
【００４５】
ステップＳ３１２（ベクトル化ステップ）：ポインタ情報が抽出されなかった場合、ベクトル化処理に移り、ベクトル化処理により領域分割処理で分割された各領域内のイメージデータをベクトルデータに変換する。
【００４６】
ベクトル化の方法は、以下（ａ）〜（ｆ）等が存在する。
（ａ）領域が文字領域のとき、さらにＯＣＲによる文字画像のコード変換を行ったり、あるいは文字のサイズ、スタイル、字体を認識し、原稿を走査して得られた文字に可視的に忠実なフォントデータに変換する。
（ｂ）領域が文字領域であり、かつＯＣＲによる認識が不可能であったとき、文字の輪郭を追跡し、輪郭情報（アウトライン）を線分のつながりとして表現する形式に変換する。
（ｃ）領域が図形領域のとき、図形オブジェクトの輪郭を追跡し、輪郭情報を線分のつながりとして表現する形式に変換する。
（ｄ）ｂ、ｃの線分形式のアウトライン情報をベジエ関数などでフィッティングして、関数情報に変換する。
（ｅ）ｃの図形オブジェクトの輪郭情報から、図形の形状を認識し、円、矩形、多角形、等の図形定義情報に変換する。
（ｆ）領域が図形領域であって、特定領域の表形式のオブジェクトの場合、罫線や枠線を認識し、所定のフォーマットの帳票フォーマット情報に変換する。
【００４７】
以上の方法以外に、ラスターデータを所定のコマンドやコード情報に置きかえる種々のベクトル化処理が考えられる。なお、イメージ領域は例えばＪＰＥＧなどで扱われる。
【００４８】
ステップＳ３１３：ステップＳ３１０のベクトルデータをそのまま使用して、アプリケーションデータ形式に変換し、出力する。通常、データ形式は使用するアプリケーションに依存し、目的に応じたファイル形式に変換する必要がある。
【００４９】
編集等再利用可能なアプリケーションデータ形式とは、ワードプロセッサ、表計算ソフトウエア等のアプリケーションソフトウエアであり、例えば、マイクロソフト・コーポレーションのワードプロセッサＷＯＲＤ（登録商標）や表計算アプリケーションソフトウエアＥＸＣＥＬ（登録商標）などがある。これらのアプリケーションはそれぞれ使用する目的が異なっており、目的に応じたファイル形式が定義され、その形式でファイル（データ）を保存する。
【００５０】
より汎用的なファイル形式としては、マイクロソフト・コーポレーションのＲＴＦ（リッチ・テキスト・ファイル）形式、近年使用されるようになったＳＶＧ（Ｓｃａｌａｂｌｅ  Ｖｅｃｔｏｒ  Ｇｒａｐｈｉｃｓ）形式、あるいは単純にテキストデータのみを扱うプレーンテキスト形式、などが知られており、これらは対応するアプリケーションにおいて共通に使用可能である。
【００５１】
ステップＳ３１４：ステップＳ３１３で生成されたデータを電子ファイルとして記憶装置１１１に格納する。
【００５２】
ステップＳ３１５：データベース１０５、記憶装置１１１に格納される電子ファイルに関しては検索用のインデックス情報がインデックスファイルに格納される。したがって、Ｓ３１４で新たに格納された電子ファイルに関して、Ｓ３０３で得た文字認識結果のテキスト情報や、レイアウト情報などをインデックス情報として、インデックスファイルに登録される。
【００５３】
これによって、スキャンして登録された画像に関しても、アプリケーションソフトウエアで作成された文書ファイル等と同等の検索性能が得られ、ポインタ情報を使用できないような状況でも検索が可能となる。
【００５４】
ステップＳ３１６：データの格納場所を示すアドレスを出力する。ステップＳ３１４でデータを記憶装置１１１に格納したときは、当該記憶されたアドレスが出力され、ステップＳ３０６またはＳ３１１でオリジナルデータファイルが抽出されたときはオリジナルデータファイルのアドレスを通知する。
【００５５】
ステップＳ３１７：検出あるいは生成された電子ファイルの内容について印刷等の記録を行うか否かユーザに確認し、記録するときはステップＳ３１８に進み、記録しないときはステップＳ３１９にジャンプする。
【００５６】
ステップＳ３１８：電子ファイル等にポインタ情報を付加する。ポインタ情報付加は、２次元バーコードにより出力画像に付加する方法、文字列中やハーフトーン画像中に電子透かしを埋め込む方法等、種々の公知方法により実行可能である。
【００５７】
これによって印刷された画像が読み込まれたとき、直ちにポインタ情報を取得でき、オリジナルデータファイルにアクセスし得る。
【００５８】
ステップＳ３１９：以上の処理により得られた電子ファイルを用いて、文書の加工、蓄積、伝送、記録等の種々の処理を行う。生成され、あるいは取得された電子ファイルは、イメージデータファイルに比較してデータサイズがコンパクトであり、蓄積効率向上、伝送時間短縮、表示・記録品質向上の効果が得られる。
【００５９】
図６はベクトル化処理テーブルであり、ファイルＩＤには、処理対象の入力画像を示す「１００１」、「１００２」等のＩＤ番号１０１０が登録される。各ファイルＩＤのステータス１０１１には、「ＮＯ」、「ＬＡＴＥＲ」、「ＰＲＯＣＥＳＳＩＮＧ」、「ＳＥＡＲＣＨＩＮＧ」、「ＤＯＮＥ」、「ＳＩＭＩＬＡＲ」あるいは「ＬＩＮＫ」が登録される。ステップＳ３０７で「後で」（５０２ボタン）を選択したときはステータスには「ＬＡＴＥＲ」が登録される。「いいえ」（５０３ボタン）を選択したときはステータスには「ＮＯ」が書き込まれる。
【００６０】
ＭＦＰ１００負荷が軽い（負荷がないときを含む）等、所定の条件に適合することが検出されると、図４の各ステップにより、一括ベクトル化処理が実行される。
【００６１】
ステップＳ４０１：ステータス１０１１を「ＰＲＯＣＥＳＳＩＮＧ」に書き換えて、図３のステップＳ３０２と同様のブロックセレクションステップを実行する。
【００６２】
ステップＳ４０２：次に図３のステップＳ３０３と同様のＯＣＲ、ＯＭＲ処理を実行する。
【００６３】
ステップＳ４０３：次に図３のステップＳ３１２と同様のベクトル化処理を実行する。
【００６４】
ステップＳ４０４：次に図３のステップＳ３１３と同様のアプリデータ変換の処理を実行する。
【００６５】
ステップＳ４０５：次に作成された電子ファイルを格納する処理を実行する。
【００６６】
ステップＳ４０６：次に図３のステップＳ３１５と同様のインデックス生成の処理を実行する。以上のステップＳ４０１〜Ｓ４０６の処理の実行中は「ＰＲＯＣＥＳＳＩＮＧ」のステータスが保持される。
【００６７】
ステップＳ４０７：ステータスを「ＳＥＡＲＣＨＩＮＧ」に書き換え、図３のステップＳ３０９と同様、前記ベクトル化された入力画像に基づいてファイル検索の処理を実行する。当該ベクトル化された入力画像以外の電子ファイルが抽出できなかったときは、ステータス１０１１を「ＤＯＮＥ」に書き換えて、Ｓ４０５で格納されているベクトルデータのアドレス情報をポインタ情報１０１３に書き込む。
【００６８】
ステップＳ４０８：ステップＳ４０７で当該ベクトル化された入力画像以外の電子ファイルが抽出されたときは、ステータスを「ＳＩＭＩＬＡＲ」に書き換えて、電子ファイルのポインタ情報をポインタ情報１０１３に書き込む。
【００６９】
ステップＳ４０９：全ての未処理入力画像の処理が終了したか否かを判断し、終了したときは、そのまま処理を終了する。未処理の入力画像が存在するときは、ステップＳ４０１に戻る。
【００７０】
次に図３の主要なステップについて詳細に説明する。
【００７１】
［ブロックセレクションステップ］
ステップＳ３０２（ブロックセレクションステップ）においては、図７右半部の画像４２に示すように、入力画像を属性ごとに矩形ブロックに分割する。前述のように、矩形ブロックの属性としては、文字（ＴＥＸＴ）／図面（ＰＩＣＴＵＲＥ）／線画（Ｌｉｎｅ）／表（Ｔａｂｌｅ）／写真（ＰＨＯＴＯ）等がある。
【００７２】
ブロックセレクションステップにおいては、まず入力画像を白黒に２値化し、黒画素輪郭で囲まれる画素塊を抽出する。
【００７３】
さらに、このように抽出された黒画素塊の大きさを評価し、大きさが所定値以上の黒画素塊の内部にある白画素塊に対する輪郭追跡を行う。白画素塊に対する大きさ評価、内部黒画素塊の追跡というように、内部の画素塊が所定値以上である限り、再帰的に内部画素塊の抽出、輪郭追跡を行う。
【００７４】
画素塊の大きさは、例えば画素塊の面積によって評価される。
【００７５】
このようにして得られた画素塊に外接する矩形ブロックを生成し、矩形ブロックの大きさ、形状に基づき属性を判定する。
【００７６】
例えば、縦横比が１に近く、大きさが一定の範囲の矩形ブロックは文字領域矩形ブロックの可能性がある文字相当ブロックとし、近接する文字相当ブロックが規則正しく整列しているときに、これら文字相当ブロックを纏めた新たな矩形ブロックを生成し、新たな矩形ブロックを文字領域矩形ブロックとする。
【００７７】
また扁平な画素塊を線画領域矩形ブロック、一定大きさ以上でかつ四角形の白画素塊を整列よく内包する黒画素塊を表領域矩形ブロック、不定形の画素塊が散在している領域を写真領域矩形ブロック、それ以外の不定形の画素塊を画像領域矩形ブロックとする。
【００７８】
ブロックセレクションステップでは、このようにして生成された矩形ブロックのそれぞれについて、図８に示す、属性等のブロック情報および入力ファイル情報を生成する。
【００７９】
図８において、ブロック情報には各ブロックの属性、位置の座標Ｘ、座標Ｙ、幅Ｗ、高さＨ、ＯＣＲ情報が含まれる。属性は１〜５の数値で与えられ、１は文字領域矩形ブロック、２は図面領域矩形ブロック、３は表領域矩形ブロック、４は線画領域矩形ブロック、５は写真領域矩形ブロックを示す。座標Ｘ、座標Ｙは入力画像における各矩形ブロックの始点のＸ、Ｙ座標（左上角の座標）である。幅Ｗ、高さＨは矩形ブロックのＸ座標方向の幅、Ｙ座標方向の高さである。ＯＣＲ情報は入力画像におけるポインタ情報の有無を示す。
【００８０】
さらに入力ファイル情報として矩形ブロックの個数を示すブロック総数Ｎが含まれる。
【００８１】
これらの矩形ブロックごとのブロック情報は、特定領域でのベクトル化に利用される。またブロック情報によって、特定領域とその他の領域を合成する際の相対位置関係を特定でき、入力画像のレイアウトを損なわずにベクトル化領域とラスターデータ領域を合成することが可能となる。
【００８２】
［ポインタ情報抽出ステップ］
ステップＳ３０４（ポインタ情報抽出ステップ）は図９の各ステップによって実行される。図１０は、ポインタ情報抽出ステップの処理対象となる原稿３１０を示し、原稿３１０はデータ処理装置１１５内のページメモリ（図示せず。）に格納される。原稿３１０には、文字領域矩形ブロック３１２、３１３、写真領域矩形ブロック３１４、２次元バーコード（ＱＲコード）のシンボル３１１が記録されている。
【００８３】
ステップＳ７０１：まず、記憶装置１１１のページメモリに格納された原稿３１０の入力画像をＣＰＵ（図示せず。）で走査して、ブロックセレクションステップの処理結果から、２次元バーコードシンボル３１１の位置を検出する。
【００８４】
ＱＲコードシンボルは、４隅のうちの３隅に、特定の位置検出要素パターンが設けられ、位置検出要素パターンを検出することにより、ＱＲコードシンボルを検出し得る。
【００８５】
ステップＳ７０２：次に、位置検出パターンに隣接する形式情報を復元し、シンボルに適用されている誤り訂正レベルおよびマスクパターンを得る。
【００８６】
ステップＳ７０３：次にシンボルの型番（モデル）を決定する。
【００８７】
ステップＳ７０４：ステップＳ７０２の形式情報から得られたマスクパターンを使って、ＱＲコードのシンボルの符号化領域ビットパターンをＸＯＲ演算し、ＱＲコードのシンボルのマスク処理を解除する。
【００８８】
ステップＳ７０５：ステップＳ７０３で得られたモデルに基づいて配置規則を取得し、この配置規則に基づいて、シンボルキャラクタを読取り、メッセージのデータ及び誤り訂正コード語を復元する。
【００８９】
ステップＳ７０６：復元されたメッセージについて、誤り訂正コード語に基づいて、誤りがあるかどうかの検出を行う。誤りが検出されたときは、訂正のためにステップＳ７０７に分岐する。
【００９０】
ステップＳ７０７：復元されたメッセージを訂正する。
【００９１】
ステップＳ７０８：誤り訂正されたデータより、モード指示子および文字数指示子に基づいて、データコード語をセグメントに分割し、データコード語を復元する。
【００９２】
ステップＳ７０９：検出された仕様モードに基づいてデータコード文字を復号し、結果を出力する。
【００９３】
２次元バーコードに組み込まれたデータは、オリジナルデータファイルのポインタ情報を表しており、例えばファイルサーバー名およびファイル名からなるパス情報で構成される。あるいは、対応するファイルへのＵＲＬ等や、ファイルが格納されたデータベース１０５内あるいは記憶装置１１１内でのファイルＩＤ等で構成される。
【００９４】
本実施形態ではポインタ情報を２次元バーコードの形で付与した原稿３１０について説明したが、種々のポインタ情報の記録形態を採用し得る。
【００９５】
例えば、所定のルールに従った文字列によってポインタ情報を直接文字列で記録し、ブロックセレクションステップによって文字列の矩形ブロックを検出してもよい。検出された文字列を認識することによりポインタ情報を取得し得る。
【００９６】
あるいは文字領域矩形ブロック３１２や文字領域矩形ブロック３１３において、隣接文字列の間隔に視認し難い程度の変調を加え、該文字列間隔変調の情報によってポインタ情報を表現し得る。このような透かし情報は、後述する文字認識処理を行う際に各文字の間隔を検出することによって検出でき、ポインタ情報を取得し得る。また写真領域矩形ブロック３１４の中に電子透かしとしてポインタ情報を付加する事も可能である。
【００９７】
［ポインタ情報による電子ファイル検索］
図３のステップ３０８、Ｓ３１１における、ポインタ情報による電子ファイル検索は図１１の各ステップにより実行される。
【００９８】
ステップＳ２３０１：ポインタ情報に含まれるアドレスに基づいて、ファイルサーバを特定する。クライアントＰＣ１０２、データベース１０５、文書管理サーバ１０６、記憶装置１１１を内蔵するＭＦＰ１００のうちの少なくともいずれかがファイルサーバとして使用される。アドレスは、ＵＲＬや、サーバ名およびファイル名よりなるパス情報である。
【００９９】
ステップＳ２３０２：ステップＳ２３０１によって特定されたファイルサーバに対して、アドレスを転送する。
【０１００】
ステップＳ２３０３：ステップＳ９０１で特定されたファイルサーバは、ステップＳ２３０２で転送されたアドレスを受信し、このアドレスに基づいてオリジナルデータファイルを検索する。
【０１０１】
ステップＳ２３０４：ステップＳ２３０３のファイル検索によってオリジナルデータファイルを抽出できたか否か判断する。ファイルを抽出できたときはステップＳ２３０５に進み、ファイルを抽出できなかったときはステップＳ２３０６に進む。
【０１０２】
ステップＳ２３０５：図３に関連して説明したように、ファイルのアドレスをＭＦＰ１００に通知し、ユーザがオリジナルファイルデータの取得を希望するときはオリジナルデータファイルをＭＦＰ１００に転送する。これによって処理を終了する。
【０１０３】
ステップＳ２３０６：ステップＳ２３０３でファイルを抽出できなかったときはその旨をＭＦＰ１００に通知し、処理を終了する。
【０１０４】
［ファイル検索処理］
図３のステップＳ３０９のファイル検索処理は、入力画像にポインタ情報が含まれていなかった場合、またはポインタ情報から電子ファイルを抽出できなかった場合に行われる。ファイル検索処理は、キーワード検索処理、全文検索処理、レイアウト検索処理、条件絞り込み検索処理等、複数の検索方法の組み合わせにより実行される。
【０１０５】
キーワード検索処理は、検索対象のイメージデータの検索キーを用いて、データベース内の各電子ファイルに関連したキーワードがあらかじめ登録されているインデックスファイルを検索（一致検索あるいは曖昧一致検索）する処理である。
【０１０６】
なお、検索キーには、ステップＳ３０３のＯＣＲ処理で入力画像から抽出した文字中の単語、電子透かしに埋め込まれた単語等が用いられる。
【０１０７】
全文検索処理は、キーワード検索処理の検索キーによって、オリジナルデータファイルのテキスト情報全文に対し検索を行う処理であり、抽出された検索キーの個数が多いほど類似度が高いと判定される。
【０１０８】
レイアウト検索処理については、図１２を参照しつつ詳細に説明する。
【０１０９】
［レイアウト検索処理］
レイアウト検索処理は、図１２の各ステップによって実行される。
【０１１０】
ここでは、ステップＳ３０２の結果、抽出された各矩形ブロック及び入力画像データが、図６に示すブロック情報および入力ファイル情報を備えるものとする。
【０１１１】
ブロック情報では、例えば、矩形ブロックは座標Ｘの小さい順に配列され、ブロック１、ブロック２、ブロック３、ブロック４、ブロック５，ブロック６の座標Ｘは、Ｘ１＜＝Ｘ２＜＝Ｘ３＜＝Ｘ４＜＝Ｘ５＜＝Ｘ６の大小関係になっている。これらの情報を使用して、データベース内から、入力画像に類似したファイルのレイアウト検索の処理は、図１２の各ステップによって実行される。ここで、データベースファイルは、図５と同様の情報を備えることを前提とする。フローチャートの流れは、ブロック情報および入力ファイル情報と、データベース中のファイルとを順次比較するものである。
【０１１２】
ステップＳ１１０１：後述する類似率などの初期化を行う。
【０１１３】
ステップＳ１１０２：次に、入力画像ブロック総数Ｎとの差が所定値以内、すなわちデータベース内のデータファイルにおいて、Ｎ−ΔＮ＜ｎ＜Ｎ＋ΔＮなるｎ個のブロック総数を持つデータファイルであるか判断する。条件に合致するデータファイルが検索抽出されたときにはステップＳ１１０３に移行して当該検索抽出されたデータファイル内の矩形ブロックの情報と入力画像内のブロックとを順次比較していく。一方、ブロック総数の差が大きいときはステップＳ１１１４にジャンプする。矩形ブロックの情報比較においては、ステップＳ１１０３〜Ｓ１１０９によって、属性類似率、サイズ類似率、ＯＣＲ類似率をそれぞれ算出し、これら類似率に基づいてステップＳ１１１１において、該比較対象のデータファイルの総合類似率を算出する。
【０１１４】
ステップＳ１１０３：入力画像のブロック属性と、ステップＳ１１０２で抽出されたデータベースファイルのブロック属性を比較する。ブロック属性が一致したときはステップＳ１１０４に進み、ブロック属性が一致しなかったときは、ステップＳ１１１０に進み、入力画像の全ブロックについての比較が終了したか判断する。
【０１１５】
ステップＳ１１０４：ステップＳ１１０３で比較された、ブロック情報の属性について属性類似率を更新する。属性類似率の算出方法は、任意の方法を用いることが可能であるが、例えば、｛（属性一致ブロック数）／（総ブロック数）｝に基づいて算出するものとする。
【０１１６】
ステップＳ１１０５：入力画像のブロック情報のサイズ（幅Ｗ、高さＨ）と、ステップＳ１１０２で抽出されたデータベースファイルのサイズ（幅ｗ、高さｈ）を比較する。サイズの差が所定範囲、すなわちＷ−ΔＷ＜ｗ＜Ｗ＋ΔＷでありかつＨ−ΔＨ＜ｈ＜Ｈ＋ΔＨであるか否か判断する。所定範囲内のときはステップＳ１１０６に進み、所定範囲内でなかったときはステップＳ１１１０に進み、入力画像の全ブロックについての比較が終了したか判断する。
【０１１７】
ステップＳ１１０６：ステップＳ１１０５で比較されたブロック情報のサイズについてサイズ類似率を更新する。サイズ類似率の算出方法は、任意の方法を用いることが可能であるが、例えば、｛１−（サイズ差）／（入力イメージデータの該ブロックサイズ）｝で各ブロックのサイズ類似率を求めて、更に、該データファイルについてサイズ類似度の平均値を求めることにより算出するものとする。
【０１１８】
ステップＳ１１０７：入力画像のブロック情報、およびステップＳ１１０２で抽出されたデータファイルのブロック情報にＯＣＲ情報が「有」か否かを判断する。両者がＯＣＲ情報「有」であったときはステップＳ１１０８に進み、ＯＣＲ情報「無」のときはステップＳ１１１０に進み、入力画像の全ブロックについての比較が終了したか判断する。
【０１１９】
ステップＳ１１０８：入力画像のブロック情報のＯＣＲ情報と、ステップＳ１１０２で抽出されたデータファイルのＯＣＲ情報を比較する。
【０１２０】
ステップＳ１１０９：ステップＳ１１０８で比較されたＯＣＲ情報についてＯＣＲ情報類似率を算出する。ＯＣＲ情報類似率の算出方法は、任意の方法を用いることが可能であるが、例えば、各ブロックの認識結果文字同士を比較し、認識結果の一致率を求めるなどして求めることとする。
【０１２１】
ステップＳ１１１０：入力画像に含まれる全てのブロックについて、当該データファイルの各ブロックとの比較処理が終了したか否かを判断する。全ての矩形ブロックの処理が終了したときはステップＳ１１１１に進み、未処理の矩形ブロックが残っているときはステップＳ１１１５を経て、次のブロックの比較処理を行うためにステップＳ１１０３に戻る。
【０１２２】
ステップＳ１１１１：属性類似率、サイズ類似率、ＯＣＲ類似率に基づいて総合類似率を算出する。総合類似率の算出方法は、例えば、各類似率に所定の重み付けを行って、和をとることにより算出される。
【０１２３】
ステップＳ１１１２：総合類似率が予め設定された閾値Ｔｈより高いか否か判断する。総合類似率が閾値Ｔｈより高ければステップＳ１１１３に進み、総合類似率が閾値Ｔｈより高くないときはステップＳ１１１４に進む。
【０１２４】
ステップＳ１１１３：ステップＳ１１１２で総合類似率が閾値より高いと判断されたデータベースのデータファイルを類似候補として保存する。
【０１２５】
ステップＳ１１１４：データベースの全てのデータファイルについて処理が終了したか否か判断する。全てのデータベースファイルの処理が終了したときはそのまま処理を終了し、未処理のデータベースファイルが残っているときはステップＳ１１１６を経てステップＳ１１０１に戻る。
【０１２６】
ステップＳ１１１５：データファイルの個々のブロック情報と、入力画像のブロック情報の全てを比較するように、比較対象のブロックを次のブロックに進める。
【０１２７】
ステップＳ１１１６：データベースの各データファイルが順次比較されるように、次のデータファイルを比較対象にする。
【０１２８】
図１２において、Ｎ、Ｗ、Ｈは、入力画像のブロック総数、各ブロック幅、各ブロック高さであり、ΔＮ、ΔＷ、ΔＨは、入力画像のブロック情報を基準とした許容範囲示す。ｎ、ｗ、ｈは、データベースファイルのブロック総数、各ブロック幅、各ブロック高さである。
【０１２９】
なお、不図示ではあるが、ステップＳ１１０５にてサイズ比較時に、座標Ｘ、座標Ｙの位置情報の比較などを行ってもよい。
【０１３０】
以上の複数の検索方式による検索結果は、各々類似度スコアとして数値化され、最終的な検索結果は各スコアに重み付けした合計値を、総合検索類似度として評価する。
【０１３１】
総合検索類似度は所定の閾値と比較され、閾値よりも高いスコアの電子ファイルが検索対象候補とされる。複数候補が抽出されたときは、ステップＳ３１０において候補選択の処理を行う。
【０１３２】
［ベクトル化ステップ］
ステップＳ３１２（ベクトル化ステップ）では、ファイルサーバにオリジナルデータファイルが存在しないときに、図７のイメージデータ４１を、各矩形ブロックごとにベクトル化する。矩形ブロックが文字領域矩形ブロックであるときには、ベクトル化された各文字について文字認識処理を実行する。
【０１３３】
ベクトル化処理は図１３の各ステップにより実行される。
【０１３４】
ステップＳ９０１：特定領域が文字領域矩形ブロックであるか否か判断し、文字領域矩形ブロックであればステップＳ９０２以下のステップに進み、パターンマッチングの一手法を用いて認識を行い、対応する文字コードを得る。特定領域が文字領域矩形ブロックでないときは、ステップＳ９１２に移行する。
【０１３５】
ステップＳ９０２：特定領域に対し横書き、縦書きの判定（組み方向判定）をおこなうために、特定領域内で画素値に対する水平・垂直の射影を取る。
【０１３６】
ステップＳ９０３：ステップＳ９０２の射影の分散を評価する。水平射影の分散が大きい場合は横書き、垂直射影の分散が大きい場合は縦書きと判断する。
【０１３７】
ステップＳ９０４：ステップＳ９０３の評価結果に基づき、組み方向を判定し、行の切り出しを行い、その後文字を切り出して文字画像を得る。
【０１３８】
文字列および文字への分解は、横書きならば水平方向の射影を利用して行を切り出し、切り出された行に対する垂直方向の射影から、文字を切り出す。縦書きの文字領域に対しては、水平と垂直について逆の処理を行う。行、文字切り出しに際して、文字のサイズも検出し得る。
【０１３９】
ステップＳ９０５：ステップＳ９０４で切り出された各文字について、文字画像から得られる特徴を数十次元の数値列に変換した観測特徴ベクトルを生成する。特徴ベクトルの抽出には種々の公知手法があり、例えば、文字をメッシュ状に分割し、各メッシュ内の文字線を方向別に線素としてカウントしたメッシュ数次元ベクトルを特徴ベクトルとする方法がある。
【０１４０】
ステップＳ９０６：ステップＳ９０５で得られた観測特徴ベクトルと、あらかじめ字種ごとに求められている辞書特徴ベクトルとを比較し、観測特徴ベクトルと辞書特徴ベクトルとの距離を算出する。
【０１４１】
ステップＳ９０７：ステップＳ９０６で算出された距離を評価し、最も距離の近い字種を認識結果とする。
【０１４２】
ステップＳ９０８：ステップＳ９０７における距離評価において、最短距離が所定値よりも大きいか否か判断する。距離が所定値以上の場合は、辞書特徴ベクトルにおいて、形状が類似する他の文字に誤認識している可能性が高い。そこで距離が所定値以上の場合は、ステップＳ９０７の認識結果を採用せず、ステップＳ９１１の処置に進む。距離が所定値より小のときは、ステップＳ９０７の認識結果を採用し、ステップ９０９に進む。
【０１４３】
ステップＳ９０９（フォント認識ステップ）：文字認識の際に用いる、字種数ぶんの辞書特徴ベクトルを、文字形状種すなわちフォント種に対して複数用意しておき、パターンマッチングの際に、文字コードとともにフォント種を出力することで、文字フォントを認識し得る。
【０１４４】
ステップＳ９１０：文字認識およびフォント認識によって得られた文字コードおよびフォント情報を用いて、各々あらかじめ用意されたアウトラインデータを用いて、各文字をベクトルデータに変換する。なお、入力画像がカラーの場合は、カラー画像から各文字の色を抽出してベクトルデータとともに記録する。
【０１４５】
ステップＳ９１１：文字を一般的な線画と同様に扱い、該文字をアウトライン化する。すなわち誤認識を起こす可能性の高い文字については、可視的にイメージデータに忠実なアウトラインのベクトルデータを生成する。
【０１４６】
ステップＳ９１２：特定領域が文字領域矩形ブロックでないときは、画像の輪郭に基づいてベクトル化の処理を実行する。
【０１４７】
以上の処理により、文字領域矩形ブロックに属するイメージ情報をほぼ形状、大きさ、色が忠実なベクトルデータに変換出来る。
【０１４８】
［文字領域以外の領域のベクトル化］
ステップＳ９１２の文字領域矩形ブロック以外の領域、すなわち図面領域矩形ブロック、線画領域矩形ブロック、表領域矩形ブロック等と判断されたときは、特定領域内で抽出された黒画素塊の輪郭をベクトルデータに変換する。
【０１４９】
文字領域以外の領域のベクトル化においては、まず線画等を直線および／または曲線の組み合わせとして表現するために、曲線を複数の区間（画素列）に区切る「角」を検出する。角とは曲率が極大となる点であり、図１４の曲線上の画素Ｐｉが角か否かの判断は以下のように行う。
【０１５０】
すなわち、Ｐｉを起点とし、曲線に沿ってＰｉから両方向に所定画素（ｋ個とする。）ずつ離れた画素Ｐｉ−ｋ、Ｐｉ＋ｋを線分Ｌで結ぶ。画素Ｐｉ−ｋ、Ｐｉ＋ｋ間の距離をｄ１、線分Ｌと画素Ｐｉとの距離をｄ２、曲線の画素Ｐｉ−ｋ、Ｐｉ＋ｋ間の弧の長さをＡとするとき、ｄ２が極大となるとき、あるいは比（ｄ１／Ａ）が閾値以下となるときに画素Ｐｉを角と判断する。
【０１５１】
角によって分割された画素列を、直線あるいは曲線で近似する。直線への近似は最小二乗法等により実行し、曲線への近似は３次スプライン関数などを用いる。画素列を分割する角の画素は近似直線あるいは近似直線における、始端または終端となる。
【０１５２】
さらにベクトル化された輪郭内に白画素塊の内輪郭が存在するか否かを判断し、内輪郭が存在するときはその輪郭をベクトル化し、内輪郭の内輪郭というように、再帰的に反転画素の内輪郭をベクトル化する。
【０１５３】
以上のように、輪郭の区分線近似を用いれば、任意形状の図形のアウトラインをベクトル化することができる。元原稿がカラーの場合は、カラー画像から図形の色を抽出してベクトルデータとともに記録する。
【０１５４】
図１５に示すように、ある注目区間で外輪郭ＰＲｊと、内輪郭ＰＲｊ＋１あるいは別の外輪郭が近接している場合、２個あるいは複数の輪郭線をひとまとめにし、太さを持った線として表現することができる。例えば、輪郭Ｐｊ＋１の各画素Ｐｉから輪郭ＰＲｊ上で最短距離となる画素Ｑｉまでの距離ＰｉＱｉを算出し、ＰＱｉのばらつきがわずかである場合には、注目区間を画素Ｐｉ、Ｑｉの中点Ｍｉの点列に沿った直線または曲線で近似し得る。近似直線、近似曲線の太さは、例えば距離ＰｉＱｉの平均値とする。
【０１５５】
線や線の集合体である表罫線は、太さを持つ線の集合とすることにより、効率よくベクトル表現することができる。
【０１５６】
輪郭まとめの処理の後、全体の処理を終了する。
【０１５７】
なお写真領域矩形ブロックについては、ベクトル化せず、イメージデータのままとする。
【０１５８】
［図形認識］
以上の線図形等のアウトラインをベクトル化した後、ベクトル化された区分線を図形オブジェクトごとにグループ化する。
【０１５９】
図１６の各ステップは、ベクトルデータを図形オブジェクトごとにグループ化する処理を示す。
【０１６０】
ステップＳ１４０１：まず各ベクトルデータの始点、終点を算出する。
【０１６１】
ステップＳ１４０２（図形要素検出）：ステップＳ１４０１で求められた始点、終点情報を用いて、図形要素を検出する。図形要素とは、区分線が構成している閉図形であり、検出に際しては、始点、終端近傍において連結ベクトルの端点を捜す。すなわち、閉形状を構成する各ベクトルはその両端にそれぞれ連結するベクトルを有しているという原理を応用する。
【０１６２】
ステップＳ１４０３：次に図形要素内に存在する他の図形要素、もしくは区分線をグループ化し、一つの図形オブジェクトとする。また、図形要素内に他の図形要素、区分線が存在しない場合は図形要素を図形オブジェクトとする。
【０１６３】
［図形要素の検出］
ステップＳ１４０２（図形要素検出）の処理は、図１７の各ステップによって実行される。
【０１６４】
ステップＳ１５０１：まず、ベクトルデータより両端に連結していない不要なベクトルを除去し、閉図形を構成するベクトルを抽出する。
【０１６５】
ステップＳ１５０２：次に閉図形を構成するベクトルについて、いずれかのベクトルの端点（始点または終点）を開始点とし、一定方向、例えば時計回りに、順にベクトルを探索する。すなわち、他端点において他のベクトルの端点を探索し、所定距離内の最近接端点を連結ベクトルの端点とする。閉図形を構成するベクトルを１まわりして開始点に戻ったとき、通過したベクトルを全て一つの図形要素を構成する閉図形としてグループ化する。また、閉図形内部にある閉図形構成ベクトルも全てグループ化する。さらにまだグループ化されていないベクトルの始点を開始点とし、同様の処理を繰り返す。
【０１６６】
ステップＳ１５０３：最後に、ステップＳ１５０１で除去された不要ベクトルのうち、ステップＳ１５０２で閉図形としてグループ化されたベクトルに端点が近接しているベクトルを検出し、一つの図形要素としてグループ化する。
【０１６７】
以上の処理によって図形ブロックを、再利用可能な個別の図形オブジェクトとして扱う事が可能になる。
【０１６８】
［アプリデータへの変換処理］
図３のブロックセレクションステップ（ステップＳ３０２）の後、ベクトル化（ステップＳ３１２）した結果のデータを用いて、ステップＳ３１３のアプリデータへの変換処理を実行する。ステップＳ３１２のベクトル化処理結果は図１８に示す中間データの形式、いわゆるドキュメント・アナリシス・アウトプット・フォーマット（ＤＡＯＦ）と呼ばれる形式で保存されている。
【０１６９】
図１８において、ＤＡＯＦは、ヘッダ１７０１、レイアウト記述データ部１７０２、文字認識記述データ部１７０３、表記述データ部１７０４、画像記述データ部１７０５よりなる。
【０１７０】
ヘッダ１７０１には、処理対象の入力画像に関する情報が保持される。
【０１７１】
レイアウト記述データ部１７０２には、入力画像中の矩形ブロックの属性ＴＥＸ（文字）、ＴＩＴＬＥ（タイトル）、
ＣＡＰＴＩＯＮ（キャプション）、ＬＩＮＥ（線画）、ＰＩＣＴＵＲＥ（画像）、ＦＲＡＭＥ（枠）、ＴＡＢＬＥ（表）、ＰＨＯＴＯ（写真）等の情報と、これら属性が認識された各矩形ブロックの位置情報が保持される。
【０１７２】
文字認識記述データ部１７０３には、ＴＥＸＴ、ＴＩＴＬＥ、ＣＡＰＴＩＯＮ等の文字領域矩形ブロックを文字認識して得られる文字認識結果が保持される。
【０１７３】
表記述データ部１７０４には、表領域矩形ブロックＴＡＢＬＥの表構造の詳細が格納される。
【０１７４】
画像記述データ部１７０５には、図面領域矩形ブロックＰＩＣＴＵＲＥや線画領域矩形ブロックＬＩＮＥ等のブロックにおけるイメージデータが、入力画像データから切り出して保持される。
【０１７５】
このようなＤＡＯＦは中間データとしてのみならず、それ自体ファイル化され保存されることもあり、このファイル状態では、一般的な文書作成アプリケーションソフトウエアのオブジェクトにおける再利用は不可能である。そこで、ＤＡＯＦをアプリケーションデータに変換する。
【０１７６】
アプリデータへの変換処理は図１９の各ステップにより実行される。
【０１７７】
ステップＳ１７０１：ＤＡＯＦ形式のデータを入力する。
【０１７８】
ステップＳ１７０２：アプリデータの元となる文書構造ツリー生成を行う。
【０１７９】
ステップＳ１７０３：文書構造ツリーを元に、ＤＡＯＦ内の実データを取得し、実際のアプリデータを生成する。
【０１８０】
ステップＳ１７０３の文書構造ツリー生成処理は図２０の各ステップにより実行される。図２０の処理における全体制御の基本ルールとして、処理の流れはミクロブロック（単一矩形ブロック）からマクロブロック（矩形ブロックの集合体）へ移行する。以後「矩形ブロック」は、ミクロブロックおよびマクロブロック両者を意味するものとする。
【０１８１】
ステップＳ１８０１：矩形ブロック単位で、縦方向の関連性に基づいて、矩形ブロックを再グループ化する。図２０の処理は繰り返し実行されることがあるが、処理開始直後はミクロブロック単位での判定となる。
【０１８２】
ここで、関連性とは、距離が近い、ブロック幅（横方向の場合は高さ）がほぼ同一であることなどの特徴によって定義される。また、距離、幅、高さなどの情報はＤＡＯＦを参照し、抽出する。
【０１８３】
図２１の入力画像では、最上部で、矩形ブロックＴ１、Ｔ２が横方向に並列されている。矩形ブロックＴ１、Ｔ２の下には横方向セパレータＳ１が存在し、横方向セパレータＳ１の下に矩形ブロックＴ３、Ｔ４、Ｔ５、Ｔ６、Ｔ７が存在する。
【０１８４】
矩形ブロックＴ３、Ｔ４、Ｔ５は、横方向セパレータＳ１下側の領域における左半部において上から下に、縦方向に配列され、矩形ブロックＴ６、Ｔ７は、横方向セパレータＳ１下側の領域における右半部において上下に配列されている。
【０１８５】
ステップＳ１８０１の縦方向の関連性に基づくグルーピングの処理を実行する。これによって、矩形ブロックＴ３、Ｔ４、Ｔ５が１個のグループ（矩形ブロック）Ｖ１にまとめられ、矩形ブロックＴ６、Ｔ７が１個のグループ（矩形ブロック）Ｖ２にまとめられる。グループＶ１、Ｖ２は同一階層となる。
【０１８６】
ステップＳ１８０２：縦方向のセパレータの有無をチェックする。セパレータは、ＤＡＯＦ中でライン属性を持つオブジェクトであり、アプリケーションソフトウエア中で明示的にブロックを分割する機能をもつ。セパレータを検出すると、処理対象の階層において、入力画像の領域を、セパレータを境界として左右に分割する。図２１では縦方向のセパレータは存在しない。
【０１８７】
ステップＳ１８０３：縦方向のグループ高さの合計が入力画像の高さに等しくなったか否か判断する。すなわち縦方向（例えば上から下へ。）に処理対象の領域を移動しながら、横方向のグルーピングを行うとき、入力画像全体の処理が終了したときには、グループ高さ合計が入力画像高さになることを利用し、処理の終了判断を行う。グルーピングが終了したときはそのまま処理終了し、グルーピングが終了していなかったときはステップＳ１８０４に進む。
【０１８８】
ステップＳ１８０４：横方向の関連位に基づくグルーピングの処理を実行する。これによって、矩形ブロックＴ１、Ｔ２が１個のグループ（矩形ブロック）Ｈ１にまとめられ、矩形ブロックＶ１、Ｖ２が１個のグループ（矩形ブロック）Ｈ２にまとめられる。グループＨ１、Ｈ２は同一階層となる。ここでも、処理開始直後はミクロブロック単位での判定となる。
【０１８９】
ステップＳ１８０５：横方向のセパレータの有無をチェックする。セパレータを検出すると、処理対象の階層において、入力画像の領域を、セパレータを境界として上下に分割する。図２１では横方向のセパレータＳ１が存在する。
【０１９０】
以上の処理結果は図２２のツリーとして登録される。
【０１９１】
図２２において、入力画像Ｖ０は、最上位階層にグループＨ１、Ｈ２、セパレータＳ１を有し、グループＨ１には第２階層の矩形ブロックＴ１、Ｔ２が属する。
【０１９２】
グループＨ２には、第２階層のグループＶ１、Ｖ２が属し、グループＶ１には、第３階層の矩形ブロックＴ３、Ｔ４、Ｔ５が属し、グループＶ２には、第３階層の矩形ブロックＴ６、Ｔ７が属する。
【０１９３】
ステップＳ１８０６：横方向のグループ長合計が入力画像の幅に等しくなったか否か判断する。これによって横方向のグルーピングに関する終了判断を行う。
横方向のグループ長がページ幅となっている場合は、文書構造ツリー生成の処理を終了する。横方向のグループ長がページ幅となっていないときは、ステップＳ１８０１に戻り、再びもう一段上の階層で、縦方向の関連性チェックから繰り返す。
【０１９４】
図２１、図２２のツリー構造の段階で、横方向の分割幅がページ幅になっているので、そのまま処理を終了し、最後にページ全体を表す最上位階層のＶ０を文書構造ツリーに付加する。
【０１９５】
文書構造ツリーが完成した後、その情報を元にステップＳ１７０３においてアプリデータの生成を行う。
【０１９６】
図２１、図２２に基づくアプリデータによる、アプリケーションソフトウエアの処理の例は以下のとおりである。
【０１９７】
まず、グループＨ１が横方向に２個の矩形ブロックＴ１、Ｔ２を有するので、２カラムとし、Ｔ１のＤＡＯＦを参照し、その内部情報（文字認識結果の文章、画像等）を出力する。その後、カラムを変え、Ｔ２の内部情報を出力し、続いてセパレータＳ１を出力する。
【０１９８】
次グループＨ２の処理に移る。グループＨ２は横方向に２個の矩形ブロックＶ１、Ｖ２を有するので、２カラムとして出力する。グループＶ１については、矩形ブロックＴ３、Ｔ４、Ｔ５の順にその内部情報を出力し、その後カラムを変え、グループＶ２の矩形ブロックＴ６、Ｔ７の内部情報を出力する。
【０１９９】
以上によりアプリデータへの変換処理が実行される。
【０２００】
［ポインタ情報の付加］
ステップＳ３１８のポインタ情報付加の処理は、抽出されあるいは生成されたファイルを記録する際に、記録紙にポインタ情報を付加する処理である。ポインタ情報を参照することによって、電子ファイルを容易に抽出し得る。
【０２０１】
図２３のフローチャートにおいて、ポインタ情報を２次元バーコード（ＪＩＳＸ０５１０に基づくＱＲコードシンボル等）を付加する処理を説明する。
【０２０２】
図９に関連して説明したように、２次元バーコードは、対応する電子ファイルを取得し得る場所を示す情報よりなる。
【０２０３】
ステップＳ２２０１：ＱＲコードシンボルに変換すべきポインタ情報を示す文字を識別し、ポインタ情報を分析するとともに、誤り検出及び誤り訂正レベルを設定し、ポインタ情報を収容し得る最小型番を選択する。
【０２０４】
ステップＳ２２０２：ステップＳ２２０１で分析したポインタ情報を所定ビット列に変換し、必要に応じて、ポインタ情報のモード（数字、英数字、８ビットバイト、漢字等）を示す指示子、および終端パターンを付加する。さらに、このように得られたデータをビットコード語に変換する。
【０２０５】
ステップＳ２２０３：ステップＳ２２０２で生成したビットコード語列を、型番および誤り訂正レベルに応じて、所定数のブロックに分割し、各ブロックごとに誤り訂正コード語を生成する。さらに誤り訂正コード語をビットコード語列の後付加する。
【０２０６】
ステップＳ２２０４：ステップＳ２２０３で生成した各ブロックのビットコード語を接続し、各ブロックに誤り訂正コード語を付加する。さらに必要に応じて、各ブロックの訂正コードの後に剰余コード語を付加する。以上によりコード語モジュールが生成される。
【０２０７】
ステップＳ２２０５：所定のマトリクスに、位置検出パターン、分離パターン、タイミングパターン、位置合わせパターン、およびコード語モジュールを配列する。
【０２０８】
ステップＳ２２０６：ステップＳ２２０５で生成されたマトリクスにおけるシンボル符号化領域に対して、最適なマスクパターンを選択し、マトリクスとマスクパターンのＸＯＲ演算によってモジュールを生成する。
【０２０９】
ステップＳ２２０７：ステップＳ２２０６で生成されたモジュールに対して、形式情報、型番情報を生成し、ＱＲコードシンボルを完成する。
【０２１０】
このようなアドレス情報が組み込まれたＱＲコードシンボルは、クライアントＰＣ１０２からの要求により、電子ファイルをＭＦＰ１１２で印刷する際に、データ処理装置１１５内で記録可能なラスタデータに変換され、印刷画像における所定位置に画像形成される。
【０２１１】
ステップＳ３０４に関連して説明したように、画像形成された印刷画像を画像読み取り装置１１０で読み取ることにより、ポインタ情報が取得でき、電子ファイルの格納場所を検出し得る。
【０２１２】
［第２実施形態］
次に、本発明に係る画像処理方法の第２実施形態を図面に基づいて説明する。図２４は第２実施形態を示すフローチャ−トである。
【０２１３】
第１実施形態では、ベクトル化処理に関してステップＳ３０７で「後で」（ボタン５０２）が選択された入力画像は、その後ＭＦＰ１００の負荷状況を見てベクトル化処理したが、ポインタ情報を付加した印刷出力をＭＦＰ１００に読み込むことによって一括ベクトル化処理を実行することも可能である。
【０２１４】
ベクトル処理テーブル（図６）に「ＬＡＴＥＲ」のステータス１０１１が記載された入力画像を記録（ステップＳ３１７、ステップＳ３１９）すると、ポインタ情報には仮のポインタ情報が記録される。
【０２１５】
この仮のポインタ情報が記録された印刷出力をＭＦＰ１００に再読み込みすると、ＭＦＰ１００は各入力画像のステータスを参照し、ステータス１０１１に応じて図２４の各ステップを実行する。
【０２１６】
ステップＳ２６０１：印刷出力を再読み込みし、ステータス１０１１を参照する。
【０２１７】
ステップＳ２６０２：ステップＳ２６０１で参照したステータス１０１１が「ＤＯＮＥ」であったときはステップＳ２６０３に分岐し、ステータス１０１１が「ＳＩＭＩＬＡＲ」であったときはステップＳ２６０５に分岐し、ステータス１０１１が「ＬＡＴＥＲ」であったときはステップＳ２６０８に分岐する。
【０２１８】
ステップＳ２６０３：仮ポインタ情報を新たなベクトル化処理結果へのポインタに書き換え、ステップＳ２６０４に進む。
【０２１９】
ステップＳ２６０４：新たなポインタ情報を付加した印刷出力を生成する。
【０２２０】
ステップＳ２６０５：図３のステップＳ３１０と同様の電子ファイルの候補表示／選択の処理を実行する。
【０２２１】
ステップＳ２６０６：選択された電子ファイルのポインタ情報をベクトル処理テーブルに登録し、ステップＳ２６０７に進む。
【０２２２】
ステップＳ２６０７：ステータス１０１１を「ＬＩＮＫ」に書き換え、ステップＳ２６０４に進む。
【０２２３】
ステップＳ２６０８：図４のステップＳ４０１〜Ｓ４０８と同様の処理を実行し、ステップＳ２６０４に進む。
【０２２４】
なお以上の実施形態においては、画像読み取り装置１１０等から入力された入力画像の処理について説明したが、記憶媒体に格納されたラスターデータあるいはその符号化データよりなるイメージデータ、通信手段によって供給されたイメージデータ等、入力画像以外のイメージデータについても、本発明は有効である。
【０２２５】
本発明に係る画像処理方法を実施する手段は図１、図２に記載した画像処理システムに限定されるものではなく、専用の画像処理装置、汎用コンピュータ等種々の手段を採用し得る。
【０２２６】
汎用コンピュータにおいて実行する際には、画像処理方法の各ステップを汎用コンピュータに実行させるためプログラムコードを含むコンピュータ実行可能なプログラムを、汎用コンピュータに読み込ませる。
【０２２７】
汎用コンピュータが画像処理を実行するためのプログラムは、汎用コンピュータに内蔵されたＲＯＭや、汎用コンピュータが読み取り得る記憶媒体から読み込まれ、あるいはネットワークを通じてサーバ等から読み込まれる。
【０２２８】
また本発明の趣旨と範囲は、本発明の特定の説明と図に限定されるものではなく、本願特許請求の範囲に述べられた内容の様々な修正および変更に及ぶことは当業者にとって理解されるであろう。
【０２２９】
本発明の実施態様の例を以下に示す。
【０２３０】
［実施態様１］  入力画像に対応するオリジナルデータファイルを検索する検索ステップと、ユーザの指示に基づいて、前記入力画像を直ちにベクトルデータ化するのか、後でベクトルデータ化するのか判断する判断ステップと、前記オリジナルデータファイルが検索できなかった入力画像をベクトルデータ化するベクトルデータ化ステップとを有する画像処理方法であって、前記判断ステップで直ちにベクトルデータ化すると判断された場合、前記ベクトルデータ化ステップで前記入力画像を直ちにベクトルデータ化し、前記判断ステップで後でベクトルデータ化すると判断された場合、前記ベクトルデータ化ステップでは所定の条件を満たしたときに前記入力画像をベクトルデータ化することを特徴とする画像処理方法。
【０２３１】
［実施態様２］  前記所定の条件は、画像処理手段の負荷が軽いことである実施態様１記載の画像処理方法。
【０２３２】
［実施態様３］  前記判断ステップでは、ユーザの指示に基づくステータスを当該入力画像と関連付けてベクトル化処理テーブルに登録することを特徴とする実施態様１に記載の画像処理方法。
【０２３３】
［実施態様４］  前記ベクトルデータ化された入力画像をデータベースに格納する格納ステップを更に有することを特徴とする実施態様１に記載の画像処理方法。
【０２３４】
［実施態様５］  入力画像に対応するオリジナルデータファイルを検索する検索手段と、ユーザの指示に基づいて、前記入力画像を直ちにベクトルデータ化するのか、後でベクトルデータ化するのか判断する判断手段と、前記オリジナルデータファイルが検索できなかった入力画像をベクトルデータ化するベクトルデータ化手段とを有する画像処理システムであって、前記判断手段で直ちにベクトルデータ化すると判断された場合、前記ベクトルデータ化手段で前記入力画像を直ちにベクトルデータ化し、前記判断手段で後でベクトルデータ化すると判断された場合、前記ベクトルデータ化手段では所定の条件を満たしたときに前記入力画像をベクトルデータ化することを特徴とする画像処理システム。
【０２３５】
［実施態様６］  入力画像に対応するオリジナルデータファイルを検索する検索ステップと、ユーザの指示に基づいて、前記入力画像を直ちにベクトルデータ化するのか、後でベクトルデータ化するのか判断する判断ステップと、前記オリジナルデータファイルが検索できなかった入力画像をベクトルデータ化するベクトルデータ化ステップとを、コンピュータに実行させるためのコンピュータプログラムであって、前記判断ステップで直ちにベクトルデータ化すると判断された場合、前記ベクトルデータ化ステップで前記入力画像を直ちにベクトルデータ化し、前記判断ステップで後でベクトルデータ化すると判断された場合、前記ベクトルデータ化ステップでは所定の条件を満たしたときに前記入力画像をベクトルデータ化することを特徴とするコンピュータプログラム。
【０２３６】
［実施態様７］  入力画像に対応するオリジナルデータファイルを検索する検索ステップと、ユーザの指示に基づいて、前記入力画像を直ちにベクトルデータ化するのか、後でベクトルデータ化するのか判断する判断ステップと、前記オリジナルデータファイルが検索できなかった入力画像をベクトルデータ化するベクトルデータ化ステップとを、コンピュータに実行させるためのコンピュータプログラムを格納した記憶媒体であって、前記判断ステップで直ちにベクトルデータ化すると判断された場合、前記ベクトルデータ化ステップで前記入力画像を直ちにベクトルデータ化し、前記判断ステップで後でベクトルデータ化すると判断された場合、前記ベクトルデータ化ステップでは所定の条件を満たしたときに前記入力画像をベクトルデータ化することを特徴とするコンピュータプログラムを格納した記憶媒体。
【０２３７】
【発明の効果】
本発明によれば、ベクトル化のための処理時間をユーザに意識させない。
【図面の簡単な説明】
【図１】本発明に係る画像処理方法の第１実施形態を実施する画像処理システムを示すブロック図である。
【図２】図１におけるＭＦＰを示すブロック図である。
【図３】本発明に係る画像処理方法の第１実施形態を示すフローチャ−トである。
【図４】図３の処理の後に実行される一括ベクトル化処理を示すフローチャートである。
【図５】図３のステップＳ３０７で操作画面に表示される画面を示す図である。
【図６】図３の処理で生成されるベクトル処理テーブルを示す表である。
【図７】図３の画像処理方法で処理される画像および処理結果の画像を示す図である。
【図８】ブロックセレクション処理で得られるブロック情報および入力ファイル情報を示す表である。
【図９】図３のポインタ情報抽出の処理を示すフローチャートである。
【図１０】ポインタ情報を含む原稿の画像を示す図である。
【図１１】図３のポインタ情報に基づくファイル検索処理を示すフローチャートである。
【図１２】図３のファイル検索の処理を示すフローチャートである。
【図１３】図３の文字領域に対するベクトル化の処理を示すフローチャートである。
【図１４】図１５のベクトル化の処理における角抽出の処理を示す図である。
【図１５】図１５のベクトル化の処理における輪郭線まとめの処理を示す図である。
【図１６】図１５のベクトル化で生成されたベクトルデータのグループ化の処理を示すフローチャートである。
【図１７】図１６の処理でグループ化されたベクトルデータに対する図形要素検出の処理を示すフローチャートである。
【図１８】ベクトル化処理結果のデータを示すマップである。
【図１９】図３のアプリデータ変換の処理を示すフローチャートである。
【図２０】図１９の文書構造ツリー生成の処理を示すフローチャートである。
【図２１】文書構造ツリー生成処理の対象となる文書を示す図である。
【図２２】図１９の処理によって生成される文書構造ツリーを示す図である。
【図２３】図３のポインタ情報付加の処理を示すフローチャートである。
【図２４】本発明に係る画像処理方法の第２実施形態を示すフローチャ−トである。
【符号の説明】
１００  ＭＦＰ
１０５  データベース
１０６  文書管理サーバ
１１０  画像読み取り装置
１１１  記憶装置
１１２  記憶装置
１１５  データ処理装置
【図１】
2004355315.tif 000003
【図２】
2004355315.tif 000004
【図３】
2004355315.tif 000005
【図４】
2004355315.tif 000006
【図５】
2004355315.tif 000007
【図６】
2004355315.tif 000008
【図７】
2004355315.tif 000009
【図８】
2004355315.tif 000010
【図９】
2004355315.tif 000011
【図１０】
2004355315.tif 000012
【図１１】
2004355315.tif 000013
【図１２】
2004355315.tif 000014
【図１３】
2004355315.tif 000015
【図１４】
2004355315.tif 000016
【図１５】
2004355315.tif 000017
【図１６】
2004355315.tif 000018
【図１７】
2004355315.tif 000019
【図１８】
2004355315.tif 000020
【図１９】
2004355315.tif 000021
【図２０】
2004355315.tif 000022
【図２１】
2004355315.tif 000023
【図２２】
2004355315.tif 000024
【図２３】
2004355315.tif 000025
【図２４】
2004355315.tif 000026