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