(57)【要約】【課題】蓄積するオブジェクトのデータ量を削減することができる画像処理装置及び方法、並びにプログラム及び記憶媒体を提供する。【解決手段】文書画像データのページ内に含まれる文字及び図形オブジェクトが有する描画位置情報を、ページ内でのバウンディングボックス位置情報とバウンディングボックス内でのオブジェクト描画情報に切り分けた形式の描画位置情報に変換する。そして、正規化したオブジェクトの描画情報を文書画像データと独立に管理する。また、蓄積している全ての文書画像データをオブジェクト共有対象の文書画像データとして扱って、文書画像データの各ページ内における異なる位置から正規化したオブジェクトを共有して参照する。これらの制御は、データ処理装置１０１によってなされる。【選択図】図３
2007334437.tif 000002
【特許請求の範囲】
【請求項１】
文書画像データを読み込む画像入力手段、前記画像入力手段から読み込んだ文書画像データをベクトル化するベクトル化手段、前記ベクトル化手段によってベクトル化された文書画像データを機器内に蓄積する画像蓄積手段を備える画像処理装置において、
前記ベクトル化手段は、
入力された画像ブロックからテキストブロックを判定するテキストブロック判定手段と、
テキストブロックである場合、文字矩形から文字コードを読み取る文字コード読み取り手段と、
読み取った前記文字コードをフォントに変換するフォント変換手段と、
テキストブロックでない場合、文字以外のベクトル化処理を行う第２のベクトル化手段と、
を備え、
前記画像蓄積手段は、文書画像データのページ内に含まれる文字及び図形オブジェクトが有する描画位置情報を、ページ内でのバウンディングボックス位置情報とバウンディングボックス内でのオブジェクト描画情報に切り分けた形式の描画位置情報に変換するオブジェクト正規化手段と、
正規化したオブジェクトの描画情報を文書画像データと独立に管理し、蓄積している全ての文書画像データをオブジェクト共有対象の文書画像データとして扱って、文書画像データの各ページ内における異なる位置から正規化したオブジェクトを共有して参照するオブジェクト管理手段と、
を備えることを特徴とする画像処理装置。
【請求項２】
前記画像蓄積手段の前記オブジェクト管理手段は、ユーザが指定した単一又は複数の文書画像データをオブジェクト共有対象の文書画像データとして扱って、文書画像データの各ページ内における異なる位置から正規化したオブジェクトを共有して参照することを特徴とする請求項１記載の画像処理装置。
【請求項３】
前記オブジェクト正規化手段は、文字及び図形オブジェクトの大きさ情報を更に正規化し、前記オブジェクト管理手段は、文字及び図形オブジェクトの大きさの属性値を更に独立に管理することを特徴とする請求項１又は請求項２記載の画像処理装置。
【請求項４】
前記オブジェクト正規化手段は、文字及び図形オブジェクトの色情報を更に正規化し、前記オブジェクト管理手段は、文字及び図形オブジェクトの色の属性値を更に独立に管理することを特徴とする請求項１乃至請求項３の何れかに記載の画像処理装置。
【請求項５】
文書画像データを読み込む画像入力ステップ、前記画像入力ステップから読み込んだ文書画像データをベクトル化するベクトル化ステップ、前記ベクトル化ステップによってベクトル化された文書画像データを機器内に蓄積する画像蓄積ステップを備える画像処理方法において、
前記ベクトル化ステップは、
入力された画像ブロックからテキストブロックを判定するテキストブロック判定ステップと、
テキストブロックである場合、文字矩形から文字コードを読み取る文字コード読み取りステップと、
読み取った前記文字コードをフォントに変換するフォント変換ステップと、
テキストブロックでない場合、文字以外のベクトル化処理を行う第２のベクトル化ステップと、
を備え、
前記画像蓄積ステップは、文書画像データのページ内に含まれる文字及び図形オブジェクトが有する描画位置情報を、ページ内でのバウンディングボックス位置情報とバウンディングボックス内でのオブジェクト描画情報に切り分けた形式の描画位置情報に変換するオブジェクト正規化ステップと、
正規化したオブジェクトの描画情報を文書画像データと独立に管理し、蓄積している全ての文書画像データをオブジェクト共有対象の文書画像データとして扱って、文書画像データの各ページ内における異なる位置から正規化したオブジェクトを共有して参照するオブジェクト管理ステップと、
を備えることを特徴とする画像処理方法。
【請求項６】
前記画像蓄積ステップの前記オブジェクト管理ステップは、ユーザが指定した単一又は複数の文書画像データをオブジェクト共有対象の文書画像データとして扱って、文書画像データの各ページ内における異なる位置から正規化したオブジェクトを共有して参照することを特徴とする請求項５記載の画像処理方法。
【請求項７】
前記オブジェクト正規化ステップは、文字及び図形オブジェクトの大きさ情報を更に正規化し、前記オブジェクト管理ステップは、文字及び図形オブジェクトの大きさの属性値を更に独立に管理することを特徴とする請求項５又は請求項６記載の画像処理方法。
【請求項８】
前記オブジェクト正規化ステップは、文字及び図形オブジェクトの色情報を更に正規化し、前記オブジェクト管理ステップは、文字及び図形オブジェクトの色の属性値を更に独立に管理することを特徴とする請求項５乃至請求項７の何れかに記載の画像処理方法。
【請求項９】
文書画像データを読み込む画像入力モジュール、前記画像入力モジュールから読み込んだ文書画像データをベクトル化するベクトル化モジュール、前記ベクトル化モジュールによってベクトル化された文書画像データを機器内に蓄積する画像蓄積モジュールをコンピュータに実行させる画像処理プログラムにおいて、
前記ベクトル化モジュールは、
入力された画像ブロックからテキストブロックを判定するテキストブロック判定モジュールと、
テキストブロックである場合、文字矩形から文字コードを読み取る文字コード読み取りモジュールと、
読み取った前記文字コードをフォントに変換するフォント変換モジュールと、
テキストブロックでない場合、文字以外のベクトル化処理を行う第２のベクトル化モジュールと、
をコンピュータに実行させ、
前記画像蓄積モジュールは、文書画像データのページ内に含まれる文字及び図形オブジェクトが有する描画位置情報を、ページ内でのバウンディングボックス位置情報とバウンディングボックス内でのオブジェクト描画情報に切り分けた形式の描画位置情報に変換するオブジェクト正規化モジュールと、
正規化したオブジェクトの描画情報を文書画像データと独立に管理し、蓄積している全ての文書画像データをオブジェクト共有対象の文書画像データとして扱って、文書画像データの各ページ内における異なる位置から正規化したオブジェクトを共有して参照するオブジェクト管理モジュールと、
をコンピュータに実行させることを特徴とする画像処理プログラム。
【請求項１０】
請求項９記載の画像処理プログラムを格納するコンピュータ読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置及び方法、並びにプログラム及び記憶媒体に関する。
【背景技術】
【０００２】
書面としての文書（原紙；オリジナル）を画像データとして取り込んで、その画像をハードコピーとして、複写機やプリンタで出力し、あるいは、画像ファイルとしてファイリング装置やデータベースに保存する技術がある。
【０００３】
このような従来の画像処理のための装置においては、画像をハードコピーとして複写し、あるいは画像ファイルとして保存する場合、文書書類が定型サイズのものであれば、文書原紙の頁一枚（一葉）を１つの単位として扱うのが一般的であった。
【０００４】
その後、文書書類のレイアウトを認識するために、文書画像をラスタ画像ブロックに分割する方法がとられてきた。即ち、文書書類を構成している紙面内容としては、タイトルや文章（テキスト）、挿絵や図表、写真等のさまざまなものが含まれ、これらが紙面にレイアウトされるようになった。
【０００５】
更に、文書書類を構成している紙面内容の解像度の自由化を実現し、かつ、検索性・再利用性を持たせるために、文書画像のラスタ画像ブロックをベクトル画像ブロックに変換する方法がとられてきた。即ち、文書書類を構成している紙面内容としては、タイトルや文章（テキスト）、挿絵や図表、写真等のさまざまなものがアウトライン化されて属性値を持ったオブジェクトに変換されて、これらが紙面にレイアウトされるようになった（例えば、特許文献１）。
【０００６】
一方で、ユーザの利便性を向上させるために、機器内に格納した複数の文書書類をまとめて管理する形態の１つとして、あるドキュメントに対するバージョン違いの複数のドキュメントを管理できる機能が提案されている（例えば、特許文献２）。
【０００７】
これは、仮にドキュメント間で紙面内容の差分が少ないとしても、最新バージョンのドキュメントだけでなく履歴として各バージョンのドキュメントをそれぞれ管理しておきたい要求に応えたものである。
【特許文献１】特開２００５−１４９０９７号公報
【特許文献２】特開平０８−１０１８２７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
以上述べたように、従来の画像処理装置においては、文書書類を構成する、タイトルや文章（テキスト）、挿絵や図表、写真等の様々なオブジェクトのレイアウトをベクトルデータとして蓄積しておく必要がある。
【０００９】
しかし、各オブジェクトは、スプライン曲線やベジェ曲線で表現されるアウトライン情報に加えて線幅、端点形状、塗りつぶし属性等の属性情報を有するため、機器内に蓄積するデータ量が膨大になってしまっている。
【００１０】
単一のドキュメント内、あるいはバージョン違いの複数のドキュメントにおいて、タイトルや文章（テキスト）、挿絵や図表、写真等の様々なオブジェクトを繰り返し用いている場合が多い。その場合も、レイアウトの位置、大きさ、色が異なるオブジェクトをすべて別々のオブジェクトとして管理していたため、機器内に蓄積するデータ量が膨大になってしまっている。
【００１１】
本発明の目的は、蓄積するオブジェクトのデータ量を削減することができる画像処理装置及び方法、並びにプログラム及び記憶媒体を提供することにある。
【課題を解決するための手段】
【００１２】
上記目的を達成するために、請求項１記載の画像処理装置は、文書画像データを読み込む画像入力手段、前記画像入力手段から読み込んだ文書画像データをベクトル化するベクトル化手段、前記ベクトル化手段によってベクトル化された文書画像データを機器内に蓄積する画像蓄積手段を備える画像処理装置において、前記ベクトル化手段は、入力された画像ブロックからテキストブロックを判定するテキストブロック判定手段と、テキストブロックである場合、文字矩形から文字コードを読み取る文字コード読み取り手段と、読み取った前記文字コードをフォントに変換するフォント変換手段と、テキストブロックでない場合、文字以外のベクトル化処理を行う第２のベクトル化手段とを備え、前記画像蓄積手段は、文書画像データのページ内に含まれる文字及び図形オブジェクトが有する描画位置情報を、ページ内でのバウンディングボックス位置情報とバウンディングボックス内でのオブジェクト描画情報に切り分けた形式の描画位置情報に変換するオブジェクト正規化手段と、正規化したオブジェクトの描画情報を文書画像データと独立に管理し、蓄積している全ての文書画像データをオブジェクト共有対象の文書画像データとして扱って、文書画像データの各ページ内における異なる位置から正規化したオブジェクトを共有して参照するオブジェクト管理手段とを備えることを特徴とする。
【００１３】
請求項５記載の画像処理方法は、文書画像データを読み込む画像入力ステップ、前記画像入力ステップから読み込んだ文書画像データをベクトル化するベクトル化ステップ、前記ベクトル化ステップによってベクトル化された文書画像データを機器内に蓄積する画像蓄積ステップを備える画像処理方法において、前記ベクトル化ステップは、入力された画像ブロックからテキストブロックを判定するテキストブロック判定ステップと、テキストブロックである場合、文字矩形から文字コードを読み取る文字コード読み取りステップと、読み取った前記文字コードをフォントに変換するフォント変換ステップと、テキストブロックでない場合、文字以外のベクトル化処理を行う第２のベクトル化ステップとを備え、前記画像蓄積ステップは、文書画像データのページ内に含まれる文字及び図形オブジェクトが有する描画位置情報を、ページ内でのバウンディングボックス位置情報とバウンディングボックス内でのオブジェクト描画情報に切り分けた形式の描画位置情報に変換するオブジェクト正規化ステップと、正規化したオブジェクトの描画情報を文書画像データと独立に管理し、蓄積している全ての文書画像データをオブジェクト共有対象の文書画像データとして扱って、文書画像データの各ページ内における異なる位置から正規化したオブジェクトを共有して参照するオブジェクト管理ステップとを備えることを特徴とする。
【００１４】
請求項９記載の画像処理プログラムは、文書画像データを読み込む画像入力モジュール、前記画像入力モジュールから読み込んだ文書画像データをベクトル化するベクトル化モジュール、前記ベクトル化モジュールによってベクトル化された文書画像データを機器内に蓄積する画像蓄積モジュールをコンピュータに実行させる画像処理プログラムにおいて、前記ベクトル化モジュールは、入力された画像ブロックからテキストブロックを判定するテキストブロック判定モジュールと、テキストブロックである場合、文字矩形から文字コードを読み取る文字コード読み取りモジュールと、読み取った前記文字コードをフォントに変換するフォント変換モジュールと、テキストブロックでない場合、文字以外のベクトル化処理を行う第２のベクトル化モジュールとをコンピュータに実行させ、前記画像蓄積モジュールは、文書画像データのページ内に含まれる文字及び図形オブジェクトが有する描画位置情報を、ページ内でのバウンディングボックス位置情報とバウンディングボックス内でのオブジェクト描画情報に切り分けた形式の描画位置情報に変換するオブジェクト正規化モジュールと、正規化したオブジェクトの描画情報を文書画像データと独立に管理し、蓄積している全ての文書画像データをオブジェクト共有対象の文書画像データとして扱って、文書画像データの各ページ内における異なる位置から正規化したオブジェクトを共有して参照するオブジェクト管理モジュールとをコンピュータに実行させることを特徴とする。
【００１５】
請求項１０記載のコンピュータ読み取り可能な記憶媒体請求項９記載の画像処理プログラムを格納する。
【発明の効果】
【００１６】
本発明によれば、文書画像データのページ内に含まれる文字及び図形オブジェクトが有する描画位置情報を、ページ内でのバウンディングボックス位置情報とバウンディングボックス内でのオブジェクト描画情報に切り分けた形式の描画位置情報に変換する。そして、正規化したオブジェクトの描画情報を文書画像データと独立に管理する。また、蓄積している全ての文書画像データをオブジェクト共有対象の文書画像データとして扱って、文書画像データの各ページ内における異なる位置から正規化したオブジェクトを共有して参照する。このように、正規化したオブジェクトを共有して参照するので、蓄積するオブジェクトのデータ量を削減することができる。
【発明を実施するための最良の形態】
【００１７】
以下、本発明の実施の形態を図面を参照しながら詳細に説明する。
【００１８】
図１は、本発明の実施の形態に係る画像処理装置としての複合機のブロック構成を概略的に示す図である。
【００１９】
図１において、複合機は、データ処理装置１０１を中心に、画像読み取り装置１０２、記憶装置１０３、画像出力装置１０４、表示装置１０５、入力装置１０６、ネットワークインターフェース１０７、１０８を備える。
【００２０】
オートドキュメントフィーダ（ＡＤＦ）を含む画像読み取り装置１０２は、束状あるいは１枚の原稿画像を内部に備える光源で照射し、原稿反射像をレンズで固体撮像素子上に結像する。そして、固体撮像素子からラスタ状の画像読み取り信号を例えば６００ｄｐｉの密度の画像情報として得る。
【００２１】
通常の複写機能を用いる場合は、データ処理装置１０１は、この画像信号を画像処理して記録データを得る。複数毎複写の場合は、記憶装置１０３に一旦１ページ分の記録データを保持した後、この記録データを画像出力装置１０４に順次出力して紙上に画像を形成する。
【００２２】
複合機への操作者の指示は、操作キーを有する入力装置１０６、あるいはネットワークインターフェース１０７を経たマネージメントＰＣのキーボードやマウス等からなる入力装置から行われる。一方、操作入力の状態表示及び処理中の画像データの表示は、表示装置１０５又はネットワークインターフェース１０８を経たクライアントＰＣのモニタ等で行われる。
【００２３】
図２は、図１の複合機によって実行される画像処理の手順を示すフローチャートである。
【００２４】
図２において、まず、画像読み取り装置１０２を動作させて１枚の原稿をラスタ走査し、例えば、６００ｄｐｉ、８ビットの画像信号を得る（ステップＳ１０１）（画像入力手段）。尚、当該画像信号は、データ処理装置１０１で前処理を施して記憶装置１０３に１ページ分の画像データとして保存する。
【００２５】
次に、マネージメントＰＣのＣＰＵにより、記憶装置１０３に保存された画像データの領域を、まず文字／線画部分とハーフトーンの画像部分とに分離する。そして、文字／線画部分は、更に段落で塊として纏まっているブロック毎に、あるいは、線で構成された表、図形に分離し各々セグメント化する。一方、ハーフトーンで表現される画像部分は、矩形に分離されたブロックの画像部分、背景部等のいわゆるブロック毎に独立したオブジェクトに分割する（ステップＳ１０２）。
【００２６】
このとき、原稿画像中に付加情報として記録された２次元バーコード、あるいはＵＲＬに該当するオブジェクトを検出して、ＵＲＬはＯＣＲ処理（光学的文字認識処理）で文字認識し、２次元バーコード又は当該オブジェクトを解読する（ステップＳ１０３）。
【００２７】
次いで、原稿のオリジナル電子ファイルが格納されている記憶装置１０３内のポインタ情報を検出する（ステップＳ１０４）。尚、ポインタ情報を付加する手段としては、他に文字と文字の間隔に情報を埋め込む手段や、ハーフトーンの画像に埋め込む手段等の直接可視化されない電子透かしによる手段を用いてもよい。このように付加情報が電子透かしとして埋め込まれている場合は、ステップＳ１０３では透かし情報を検出して解読することとなる。
【００２８】
そして、ポインタ情報が検出されたか否かを判定し（ステップＳ１０５）、ポインタ情報が検出された場合（ＹＥＳ）は、ポインタで示されたアドレスから原稿に対応する電子ファイルを検索する（ステップＳ１０６）。電子ファイルは、クライアントＰＣのハードディスク内、あるいは複合機自体が有する記憶装置１０３のいずれかに格納されている。そして、ステップＳ１０４で得られたポインタ情報（アドレス情報）に従って、これらの記憶装置内から検索される。
【００２９】
その結果、電子ファイルが見つからなかった場合（ステップＳ１０６でＮＯ）、又は、見つかったがＰＤＦやｔｉｆｆに代表されるような、既存の文書作成ソフトウェア等では再利用・再編集ができない画像ファイルであった場合は、ステップＳ１０７に分岐する。また、ステップＳ１０５で、ポインタ情報自体が存在しなかった場合（ＮＯ）も、ステップＳ１０７に分岐する。
【００３０】
ステップＳ１０７は、いわゆるファイル検索処理ルーチンである。まず、ステップＳ１０２で各テキストブロックに対して行ったＯＣＲの結果から単語を抽出して、全文検索あるいは各オブジェクトの配列と各オブジェクトの属性からいわゆるレイアウト検索を行う。
【００３１】
検索の結果、類似度の高い電子ファイルが見つかった場合はそのサムネイル等を表示する（ステップＳ１０８）。また、検索された電子ファイルが複数存在する場合等の操作者の選択が必要な場合は、操作者の入力操作よってファイルの特定を行う（ステップＳ１０９）。尚、候補の電子ファイルが１つしかない場合、自動的にステップＳ１０９からステップＳ１１４に分岐して、格納アドレスを通知する。
【００３２】
また、ステップＳ１０７のファイル検索処理で電子ファイルが見つからなかった場合、あるいは、見つかったがＰＤＦやｔｉｆｆに代表される画像ファイルであった場合はステップＳ１１０に分岐してベクトル化処理を行う。
【００３３】
ステップＳ１１０のベクトル化処理（ベクトル化手段）は、本発明の主要部をなすところである。ここでは、ラスタ画像データからベクトルデータへの変換処理を行って、オリジナルの電子ファイルに近い、編集容易で容量の小さい電子ファイルに変換する。詳細については、図３を用いて説明する。
【００３４】
図３は、図２のステップＳ１１０で実行されるベクトル化処理の手順を示すフローチャートである。
【００３５】
図３において、まず、図２のステップＳ１０２で分割されたブロックのうち、先頭（画像の左上原点）に位置するブロックを入力する（ステップＳ２０１）。次いで、入力されたブロックがテキストブロックか否かを判定する（ステップＳ２０２）（テキストブロック判定手段）。その結果、当該ブロックがテキストブロックの場合（ステップＳ２０２でＹＥＳ）、図２のステップＳ１０３で既に処理された当該ブロックのＯＣＲデータをすべて読み出す（ステップＳ２０３）。そして、先頭（左上原点）に位置する文字矩形に制御を移す（ステップＳ２０４）。
【００３６】
次に、該当する文字矩形が存在するか否かを確認し（ステップＳ２０５）、文字矩形が存在する場合（ＹＥＳ）は、当該文字矩形に対応する文字コードを読み取る（ステップＳ２０６）（文字コード読み取り手段）。そして、その読み出し結果から、該当する文字矩形内の文字コードが既に変換済か否かを判定する（ステップＳ２０７）。
【００３７】
その結果、文字コードが既に変換済である場合（ステップＳ２０７でＹＥＳ）は、次の文字矩形に制御を移行し（ステップＳ２０８）、ステップＳ２０５以降の処理を次の文字矩形に対して行う。尚、ここでは文字コードが同一かどうかを判定するものであり、文字の色や文字サイズは異なっていても構わない。
【００３８】
一方、ステップＳ２０７で文字コードが変換済みでない場合（ＮＯ）、即ち過去に現れていない文字コードである場合は、フォント認識／変換を行って、フォントデータの登録を行う（ステップＳ２０９）（フォント変換手段）。そして、次の文字矩形に制御を移行し（ステップＳ２０８）、ステップＳ２０５以降の処理を次の文字矩形に対して行う。
【００３９】
ステップＳ２０５では、文字矩形がもはや存在しないと判定された場合（ＮＯ）、即ち当該テキストブロック内の文字矩形全てに対して上記処理が終了した場合は、次のブロックに制御を移行する（ステップＳ２１０）。そして、移行した次のブロックが存在するか否かを判定する（ステップＳ２１１）。
【００４０】
次のブロックがまだ存在する場合（ステップＳ２１１でＹＥＳ）は、再び当該ブロックがテキストブロックか否かを判定する（ステップＳ２０２）。テキストブロックではないと判定された場合は（ステップＳ２０２でＮＯ）、所定のベクトル化処理を行い（ステップＳ２１２）（第２のベクトル化手段）、次のブロックに制御を移行する（ステップＳ２１０）。
【００４１】
また、ステップＳ２０２でテキストブロックであると判定された場合（ＹＥＳ）は、上述した処理が行われる。尚、ステップＳ２１１でブロックが存在しない場合（ＮＯ）は、すべてのブロックの処理を終了したと判定し、本ベクトル化処理を終了する。
【００４２】
このような処理を行うことにより、文字矩形毎に必要であった処理の重いフォント認識／変換による負荷を最小限に抑え、効率よくベクトル化処理を行うことが可能となる。即ち、負荷の大きいフォント変換や認識処理を毎回１文字単位で行う必要がなくなり、大幅な処理速度の向上が期待できる。ベクトル化処理によって得たベクトルデータは文字コード、文字の色、文字サイズ等の情報とそれぞれ関連付けられて記憶される。
【００４３】
図３のベクトル化処理を各ブロックに対して行った後、本実施の形態に係る画像処理装置では、更に文書のレイアウト情報を活用して、例えば、ｒｔｆに変換する等のアプリデータへの変換処理を行う（ステップＳ１１１）。そして、変換後のファイルを電子ファイルとして記憶装置１１１に格納する（ステップＳ１１２）。
【００４４】
ベクトル化された原稿画像は、以降同様の処理を行う際に直接電子ファイルとして検索することができるように、検索のためのインデックス情報を生成して検索用インデックスファイルに追加する（ステップＳ１１３）。そして、格納アドレスを操作者に通知する（ステップＳ１１４）。
【００４５】
更に、操作者が行おうしている処理が記録であるか否かが判定され（ステップＳ１１５）、記録の場合（ＹＥＳ）はステップＳ１１６に分岐して、ポインタ情報を画像データとしてファイルに付加する。
【００４６】
ステップＳ１０９の検索処理で電子ファイルが特定できた場合（ＹＥＳ）も、同様に直接電子ファイルを特定するためにステップＳ１１４に分岐する。そして、格納アドレスを操作者に通知して、紙に記録する場合（ステップＳ１１５でＹＥＳの場合）は、同様にポインタ情報を電子ファイルに付加する（ステップＳ１１６）。
【００４７】
尚、ポインタ情報から電子ファイルが特定できた場合、検索処理で電子ファイルが特定できた場合も電子ファイルの格納アドレスを操作者に通知する（ステップＳ１１４）。最後に、このようにして得られた電子ファイル自体を用いて、例えば文書の加工、蓄積、伝送、記録を行い（ステップＳ１１７）、本画像処理を終了する。
【００４８】
上述したような処理によって、電子ファイル自体を用いる場合、画像データを用いる場合に比べて、再利用・再編集等の効率が向上する。また、情報量を削減することにより蓄積効率が高まり、伝送時間が短縮され、記録表示する際には高品位なデータとして優位となるという効果が得られる。
【００４９】
以下各処理ブロックに対して詳細に説明する。
【００５０】
まず、ステップＳ１０２で示すブロックセレクション（ＢＳ）処理について説明する。
【００５１】
図４は、図２のステップＳ１０２で実行されるブロックセレクション処理によって読み取った１枚の画像データから属性を判定し、画像データを複数のブロックに分割する様子を示す図である。
【００５２】
図４において、ブロックセレクション処理は、まず、符号４１に示すステップＳ１０１で読み取った一頁の画像データを、符号４２に示すようにオブジェクト毎の塊として認識する。そして、それぞれのブロックを文字（Ｔｅｘｔ）、写真（Ｐｈｏｔｏ）、線（Ｌｉｎｅ）、表（Ｔａｂｌｅ）等の属性に判定し、異なる属性を持つ領域（ブロック）に分割する。
【００５３】
ブロックセレクション処理の一実施例を以下に説明する。
【００５４】
まず、入力画像を白黒に２値化して、輪郭線追跡を行って黒画素輪郭で囲まれる画素の塊を抽出する。そして、面積の大きい黒画素の塊については、内部にある白画素に対して同様に輪郭線追跡を行って白画素の塊を抽出する。更に、一定面積以上を占める白画素の塊の内部からも再帰的に黒画素の塊を抽出する。
【００５５】
尚、上記処理は、白地に黒字等で記載されている原稿の場合の処理であって、それ以外の場合は、背景に相当する色を「白」、オブジェクトに相当する色を「黒」とすることにより同様に処理することができる。
【００５６】
このようにして得られた黒画素の塊を、大きさ及び形状等で分類し、異なる属性を持つ領域へ分類する。例えば、縦横比が１に近く、大きさが一定の範囲のものを文字相当の画素塊とし、更に近接する文字が整列良くグループ化可能な部分を文字領域とする。
【００５７】
また、扁平な画素塊を線領域、一定の大きさ以上でかつ四角系の白画素塊を整列よく内包する黒画素塊の占める範囲を表領域、不定形の画素塊が散在している領域を写真領域、それ以外の任意形状の画素塊を図画領域等とする。
【００５８】
図５は、図２のステップＳ１０２で実行されるブロックセレクション処理で得られた各ブロックに対するブロック情報の一例を示す図である。
【００５９】
図５に示されるブロック毎の情報は、後述するベクトル化、検索処理のための情報として用いられる。
【００６０】
次に、フォント認識／変換、文字以外のベクトル化処理について述べる。
【００６１】
図２のステップＳ１１０で示されるベクトル化の処理手順については、図３を用いて既に説明したが、ここでは、図３のフォント変換処理（ステップＳ２０８）及び文字以外のベクトル化処理（ステップＳ２１２）について詳細に説明する。
【００６２】
まず、フォント認識について述べる。
【００６３】
文字認識の際に用いられる字種数分の辞書特徴ベクトルを、文字形状種、即ちフォント種に対して複数用意し、マッチングの際に文字コードとともにフォント種を出力することで、文字のフォントを認識することができる。
【００６４】
次に、フォント変換について述べる。
【００６５】
前述した文字認識処理によって得られた文字コード及びフォント情報と、各々あらかじめ用意されたアウトラインデータを用いて、文字部分の情報をベクトルデータに変換する。尚、入力された原稿画像がカラーの場合は、カラー画像から各文字の色を抽出してベクトルデータとともに記録する。
【００６６】
以上の処理により、文字ブロックに属する画像情報をほぼ形状、大きさ、色が忠実なベクトルデータに変換することができる。
【００６７】
次に、文字以外の部分のベクトル化について述べる。
【００６８】
図２のステップＳ１０２のブロックセレクション処理で、図画あるいは線、表領域とされた領域を対象として、それぞれ抽出された画素塊の輪郭をベクトルデータに変換する。具体的には、輪郭を成す画素の点列を角とみなされる点で区切って、各区間を部分的な直線あるいは曲線で近似する。ここで、「角」とは、曲率が極大となる点である。
【００６９】
図６は、図３のステップＳ２１２で実行されるベクトル化処理において、曲率が極大となる点を説明するための図である。
【００７０】
図６において、任意点Ｐｉに対して左右ｋ個の離れた点Ｐｉ−ｋ〜Ｐｉ＋ｋの間に弦を引いたとき、この弦とＰｉの距離が極大となる点として求められる。更に、Ｐｉ−ｋ〜Ｐｉ＋ｋ間の弦の長さ／弧の長さをＲとし、Ｒの値が閾値以下である点を角とみなすことができる。角によって分割された後の各区間は、直線は点列に対する最小二乗法等を用いて、曲線は３次スプライン関数等を用いてベクトル化することができる。
【００７１】
また、対象が内輪郭を持つ場合、ブロックセレクション処理で抽出した白画素輪郭の点列を用いて、同様に部分的直線あるいは曲線で近似する。
【００７２】
以上のように、輪郭の区分線近似を用いることによって、任意形状の図形のアウトラインをベクトル化することができる。尚、入力される原稿がカラーの場合は、カラー画像から図形の色を抽出してベクトルデータとともに記録する。
【００７３】
図７は、図３のステップＳ２１２で実行されるベクトル化処理において、外輪郭が内輪郭又は別の外輪郭と近接している場合に太さを持った線として表現する例について説明するための図である。
【００７４】
図７において、ある区間で外輪郭が、内輪郭又は別の外輪郭が近接している場合、２つの輪郭線を一まとめにし、太さを持った線として表現することができる。具体的には、ある輪郭の各点Ｐｉから別輪郭上で最短距離となる点Ｑｉまで線を引き、各距離ＰＱｉが平均的に一定長以下の場合、注目区間はＰＱｉ中点を点列として直線又は曲線で近似し、その太さはＰＱｉの平均値とする。線や線の集合体である表罫線は、前記したような太さを持つ線の集合として、効率よくベクトル表現することができる。
【００７５】
尚、文字ブロックに対する文字認識処理を用いたベクトル化については前述したように、当該文字認識処理の結果、辞書からの距離が最も近い文字を認識結果として用いる。ここで、この距離が所定値以上の場合は、必ずしも本来の文字に一致するとは限らず、形状が類似する文字に誤認識するような場合が多い。
【００７６】
従って、本実施の形態では、このような文字に対しては上記したように、一般的な線画と同様に扱って当該文字をアウトライン化する。即ち、従来は文字認識処理で誤認識を起こしていたような文字でも、誤った文字にベクトル化されることなく、可視的に画像データに忠実なアウトライン化によるベクトル化を行うことができる。また、写真と判定されたブロックに対しては、本実施の形態ではベクトル化せずに、画像データのままとする。
【００７７】
次に、図形認識について述べる。
【００７８】
ここでは、上述したように任意形状の図形のアウトラインをベクトル化した後、これらのベクトル化された区分線を図形オブジェクト毎にグループ化する処理について説明する。
【００７９】
図８は、図３のステップＳ２１２で実行されるベクトル化処理で得られるベクトルデータを図形オブジェクト毎にグループ化するまでの処理手順を示すフローチャートである。
【００８０】
まず、各ベクトルデータの始点、終点を算出する（ステップＳ３０１）。次に、各ベクトルの始点、終点情報を用いて、図形要素を検出する（ステップＳ３０２）。ここで、図形要素の検出とは、区分線が構成している閉図形を検出することである。検出に際しては、閉形状を構成する各ベクトルはその両端にそれぞれ連結するベクトルを有しているという原理を応用して検出を行う。
【００８１】
次に、図形要素内に存在する他の図形要素又は区分線をグループ化し、一つの図形オブジェクトとして（ステップＳ３０３）、このグループ化処理を終了する。尚、図形要素内に他の図形要素又は区分線が存在しない場合は、図形要素を図形オブジェクトとする。
【００８２】
図９は、図８のステップＳ３０２で実行される図形要素検出処理の手順を示すフローチャートである。
【００８３】
図９において、まず、ベクトルデータから両端に連結していない不要なベクトルを除去し、閉図形構成ベクトルを抽出する（ステップＳ４０１）。次に、閉図形構成ベクトルの中から当該ベクトルの始点を開始点とし、時計回りに順にベクトルを追っていく。そして、開始点に戻るまで追跡を行い、通過したベクトルを全て一つの図形要素を構成する閉図形としてグループ化する（ステップＳ４０２）。
【００８４】
尚、この際に、閉図形内部にある閉図形構成ベクトルも全てグループ化する。更に、まだグループ化されていないベクトルの始点を開始点とし、同様の処理を繰り返す。最後に、ステップＳ４０１で除去された不要ベクトルのうち、ステップＳ４０２で閉図形としてグループ化されたベクトルに接合しているものを検出し、一つの図形要素としてグループ化する（ステップＳ４０３）。
【００８５】
以上の処理によって、図形ブロックを個別に再利用可能な個別の図形オブジェクトとして扱うことが可能になる。
【００８６】
次に、本発明の主要部であるオブジェクトの管理方法について図１０を用いて詳細に説明する。
【００８７】
図１０は、図３のステップＳ２０８及びＳ２１２において取り出した個別の図形オブジェクトを格納する処理手順を示すフローチャートである。
【００８８】
図１０において、まず、オブジェクトの描画位置情報を、オブジェクトのバウンディングボックス位置情報とバウンディングボックス内の描画情報に切り分けた形式に変換する。そして、位置情報に依存しない部品のオブジェクトとして切り出すことで正規化する（ステップＳ５０１）（オブジェクト正規化手段）。
【００８９】
次に、当該オブジェクトが文字、図形、表、画像のうちどのオブジェクトとして認識されたかという情報をもとに、データメモリの共有オブジェクト領域に格納されている正規化されたオブジェクトを検索する（ステップＳ５０２）。ここで、更にオブジェクトの特徴量を比較する（ステップＳ５０３）。
【００９０】
ここで、当該オブジェクトと同一の正規化されたオブジェクトが存在しないならば（ステップＳ５０３でＮＯ）、当該オブジェクトを新規オブジェクトとして追加する（ステップＳ５０４）。
【００９１】
そして、当該オブジェクトと正規化されたオブジェクトとの関連付けを行い、正規化したオブジェクトの描画情報を文書画像データと独立に管理する。また、蓄積している全ての文書画像データをオブジェクト共有対象の文書画像データとして扱って、文書画像データの各ページ内における異なる位置から正規化したオブジェクトを共有して参照して（ステップＳ５０５）（オブジェクト管理手段）、図形オブジェクト格納処理を終了する。
【００９２】
当該オブジェクトと同一の正規化されたオブジェクトが既に存在すると判定したならば（ステップＳ５０３でＹＥＳ）（文字であればＯＣＲ判定結果が一致、図形であれば制御点座標値の差が閾値未満など）、当該オブジェクトと正規化したオブジェクトとの関連付けのみを行い、正規化したオブジェクトの描画情報を文書画像データと独立に管理する。また、蓄積している全ての文書画像データをオブジェクト共有対象の文書画像データとして扱って、文書画像データの各ページ内における異なる位置から正規化したオブジェクトを共有して参照して（ステップＳ５０５）、図形オブジェクト格納処理を終了する。
【００９３】
上記説明の内容を、図１１及び図１２を用いて具体的に説明する。
【００９４】
図１１は、本発明との比較の上で示す、文書画像データを格納して管理する場合の概念図である。図１２は、図１の複合機において、文書画像データを格納して管理する場合の概念図である。
【００９５】
図１１のように、文書画像データ２００と文書画像データ２０１を格納して管理する場合、ブロックセレクション処理とベクトル化処理によってベクトルデータに変換されたオブジェクトデータ３０１からオブジェクトデータ３１０が順にメモリ上に格納される。ここで、注目すべき点として、文書画像データ２０１は文書画像データ２００をレイアウト変更し、修正及び加筆した原稿となっている。
【００９６】
ここで、例えばオブジェクトデータ３０６とオブジェクトデータ３１０のように同一のオブジェクトデータが複数存在する場合にも、オブジェクトデータ３０６の制御点情報とオブジェクトデータ３１０の制御点情報は異なる。そのために、ページ内の異なる位置情報を持つオブジェクトデータは別々のオブジェクトデータとして扱われてしまう。
【００９７】
尚、オブジェクトデータ３０６の制御点情報は（（１００，２１５），（１２０，２００），・・・）で示され、オブジェクトデータ３１０の制御点情報は（（１００，３１５），（１２０， ３００）， ・・・）で示される。
【００９８】
以上より、従来例では、位置情報の異なる同一オブジェクトを冗長に保持しなければならないため、メモリ使用効率が悪くなってしまう場合がある。
【００９９】
図１２のように、本発明において、機器内に文書画像データ４００と文書画像データ４０１を格納して管理する場合、文書画像データは、ブロックセレクション処理とベクトル化処理によってベクトルデータに変換される。そしてその上で正規化したオブジェクトデータ５０１からオブジェクトデータ５１２が順にメモリ上に格納される。
【０１００】
ここで、注目すべき点として、文書画像データ４０１は文書画像データ４００をレイアウト変更し、修正及び加筆した原稿となっている。従って、例えば正規化したオブジェクトデータ５０６と同一のオブジェクトデータが複数存在した場合にも、以下の処理によりページ内の異なる位置から同一のオブジェクトを共有して参照することができる。
【０１０１】
即ち、オブジェクトデータ５０６の正規化した制御点座標からなる描画情報（（０，１５），（２０，０），・・・）を文書画像データ毎のオブジェクトデータ５０６のバウンディングボックス位置情報（１００，２００）及び（１００，３００）から切り離して管理しておくことで、上記の参照が可能になる。
【０１０２】
以上より、本発明では、位置情報の異なる同一オブジェクトを冗長に保持する必要がなくなるため、メモリ使用効率を向上させることができる。
【０１０３】
以上、本実施の形態においては、オブジェクト共有対象とする文書画像データについて特に言及せずに扱ってきたが、オブジェクト共有対象とする文書画像データをユーザが操作部上で指定できるようなインタフェースを備えることも考えられる。この場合、複数の同一オブジェクトを有する文書画像データをオブジェクト共有対象の文書画像データとしてグループ化することができるため、更に効率良く機器内のメモリ使用効率を向上させることができる。
【０１０４】
本発明の画像処理装置は、オブジェクトのレイアウトをベクトルデータとして蓄積しておく際に、三次スプライン関数等で表現されるアウトライン及び線幅、端点形状、塗りつぶし属性等のオブジェクトデータが共有可能かどうかを判定する。そして、共有可能ならば共有して管理する。その結果、機器内に蓄積するデータ量を削減することができる。
【０１０５】
更に、本発明の画像処理装置は、様々なオブジェクトを繰り返して用いている場合に、スプライン曲線やベジェ曲線で表現されるアウトライン情報と線幅、端点形状、塗りつぶし属性等のオブジェクトデータが共有可能かどうかを判定する。そして、共有可能ならば共有して管理する。その結果、機器内に蓄積するデータ量を大幅に削減することができる。
【０１０６】
また、本実施の形態においては、オブジェクト共有の対象として、レイアウトの異なるオブジェクト位置情報についてのみ考えて正規化したが、同時にオブジェクトの大きさ情報について正規化してもよい。即ち、あるオブジェクトの制御点情報をバウンディングボックス固定（例えば、１０００ｘ１０００）の枠内に収まるように変倍した上で正規化することになる。
【０１０７】
この場合、上述のような複数の同一オブジェクトを有する文書画像において、位置情報に加えて大きさ情報が異なるオブジェクトも共有対象として扱うことができるため、更に効率良く機器内のメモリ使用効率を向上させることができる。
【０１０８】
また、本実施の形態においては、オブジェクト共有の対象として、レイアウトの異なるオブジェクト位置情報についてのみ考えて正規化したが、同時にオブジェクトの色情報について正規化してもよい。即ち、あるオブジェクトの描画情報のうち、アウトライン情報と色情報を切り離した形式で正規化することになる。
【０１０９】
この場合、上述のような複数の同一オブジェクトを有する文書画像において、位置情報に加えて色情報が異なるオブジェクトも共有対象として扱うことができるため、更に効率良く機器内のメモリ使用効率を向上させることができる。
【０１１０】
また、本発明の目的は、実施の形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システム又は装置に供給し、そのシステム又は装置のコンピュータ（又はＣＰＵやＭＰＵ等）が記憶媒体に格納されたプログラムコードを読み出して実行することによっても達成される。
【０１１１】
この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施の形態の機能を実現することになり、そのプログラムコード及び該プログラムコードを記憶した記憶媒体は本発明を構成することになる。
【０１１２】
また、プログラムコードを供給するための記憶媒体としては、例えば、フロッピー（登録商標）ディスク、ハードディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、ＤＶＤ−ＲＯＭ、ＤＶＤ−ＲＡＭ、ＤＶＤ−ＲＷ、ＤＶＤ＋ＲＷ、磁気テープ、不揮発性のメモリカード、ＲＯＭ等を用いることができる。又は、プログラムコードをネットワークを介してダウンロードしてもよい。
【０１１３】
また、コンピュータが読み出したプログラムコードを実行することにより、上記実施の形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているＯＳ（オペレーティングシステム）等が実際の処理の一部又は全部を行い、その処理によって前述した実施の形態の機能が実現される場合も含まれる。
【０１１４】
更に、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部又は全部を行い、その処理によって前述した実施の形態の機能が実現される場合も含まれる。
【図面の簡単な説明】
【０１１５】
【図１】本発明の実施の形態に係る画像処理装置としての複合機のブロック構成を概略的に示す図である。
【図２】図１の複合機によって実行される画像処理の手順を示すフローチャートである。
【図３】図２のステップＳ１１０で実行されるベクトル化処理の手順を示すフローチャートである。
【図４】図２のステップＳ１０２で実行されるブロックセレクション処理によって読み取った１枚の画像データから属性を判定し、画像データを複数のブロックに分割する様子を示す図である。
【図５】図２のステップＳ１０２で実行されるブロックセレクション処理で得られた各ブロックに対するブロック情報の一例を示す図である。
【図６】図３のステップＳ２１２で実行されるベクトル化処理において、曲率が極大となる点を説明するための図である。
【図７】図３のステップＳ２１２で実行されるベクトル化処理において、外輪郭が内輪郭又は別の外輪郭と近接している場合に太さを持った線として表現する例について説明するための図である。
【図８】図３のステップＳ２１２で実行されるベクトル化処理で得られるベクトルデータを図形オブジェクト毎にグループ化するまでの処理手順を示すフローチャートである。
【図９】図８のステップＳ３０２で実行される図形要素検出処理の手順を示すフローチャートである。
【図１０】図３のステップＳ２０８及びＳ２１２において取り出した個別の図形オブジェクトを格納する処理手順を示すフローチャートである。
【図１１】本発明との比較の上で示す、文書画像データを格納して管理する場合の概念図である。
【図１２】図１２は、図１の複合機において、文書画像データを格納して管理する場合の概念図である。
【符号の説明】
【０１１６】
１０１  データ処理装置
１０２  画像読み取り装置
１０３  記憶装置
１０４  画像出力装置
１０５  表示装置
１０６  入力装置
１０７、１０８  ネットワークインターフェース
【図１】
2007334437.tif 000003
【図２】
2007334437.tif 000004
【図３】
2007334437.tif 000005
【図４】
2007334437.tif 000006
【図５】
2007334437.tif 000007
【図６】
2007334437.tif 000008
【図７】
2007334437.tif 000009
【図８】
2007334437.tif 000010
【図９】
2007334437.tif 000011
【図１０】
2007334437.tif 000012
【図１１】
2007334437.tif 000013
【図１２】
2007334437.tif 000014