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