(57)【要約】【課題】少ないメモリ量で高画質なベクトル画像を高速に生成することが可能な画像処理装置を提供する。【解決手段】本発明は、圧縮された高解像度の画像に対して解像度変換を行うことにより、低解像度の画像を生成し、前記低解像度の画像に対してオブジェクト分割を行うことにより、低解像度の文字オブジェクトの情報を得る。そして、前記圧縮された高解像度の画像を解凍し、前記オブジェクト分割で得た低解像度の文字オブジェクトの情報と前記解凍した高解像度の画像とを用いて、高解像度の文字輪郭を示す画像を生成する。また、前記解凍を行う際、文字オブジェクトの情報に基づいて、前記圧縮された高解像度の画像を部分的に解凍してもよい。【選択図】図４
2010074540.tif 000002
【特許請求の範囲】
【請求項１】
圧縮された高解像度の画像に対して解像度変換を行うことにより、低解像度の画像を生成する解像度変換手段と、
前記低解像度の画像に対してオブジェクト分割を行うことにより、低解像度の文字オブジェクトの情報を得るオブジェクト分割手段と、
前記圧縮された高解像度の画像を解凍する解凍手段と、
前記オブジェクト分割手段で得た低解像度の文字オブジェクトの情報と前記解凍手段で解凍した高解像度の画像とを用いて、高解像度の文字輪郭を示す画像を生成する文字輪郭生成手段と、
を備えることを特徴とする画像処理装置。
【請求項２】
前記オブジェクト分割手段で得られる前記低解像度の文字オブジェクトの情報は、文字画像を含むと判断された文字オブジェクト領域に含まれる文字の画素と背景の画素とを２値で示した低解像度の２値画像であり、
前記文字輪郭生成手段は、前記低解像度の２値画像を用いて文字の画素が存在しうる画素を特定し、当該特定された各画素と前記解凍した高解像度の画像とを用いて前記高解像度の文字輪郭を示す画像を生成することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記文字輪郭生成手段は、前記特定された各画素と前記解凍した高解像度の画像とを用いて、前記特定された各画素の近傍における閾値を決定し、前記解凍した高解像度の画像の前記特定された各画素に対応する部分を当該決定された閾値を用いて２値化することにより、前記高解像度の文字輪郭を示す画像を生成することを特徴とする請求項２に記載の画像処理装置。
【請求項４】
前記文字輪郭生成手段で生成された前記高解像度の文字輪郭を示す画像に基づいて、文字輪郭を関数近似する関数近似手段と、
前記関数近似した結果をフォーマット化するフォーマット化手段と、
を更に備えることを特徴とする請求項１乃至３のいずれかに記載の画像処理装置。
【請求項５】
入力された高解像度の画像を圧縮することにより、前記圧縮された高解像度の画像を生成する圧縮手段と、
前記圧縮された高解像度の画像をスプールするスプール手段と、を更に備え、
前記解凍手段は、前記スプール手段にスプールされている前記圧縮された高解像度の画像を解凍することを特徴とする請求項１乃至４のいずれかに記載の画像処理装置。
【請求項６】
前記文字輪郭生成手段は、前記高解像度の画像がカラー画像である場合、前記解凍手段で解凍した高解像度の画像を高解像度の輝度画像に変換し、前記オブジェクト分割手段で得た低解像度の文字オブジェクトの情報と前記高解像度の輝度画像とを用いて、高解像度の文字輪郭を示す画像を生成することを特徴とする請求項１乃至５のいずれかに記載の画像処理装置。
【請求項７】
前記解凍手段は、前記文字オブジェクトの情報に基づいて、前記圧縮された高解像度の画像を部分的に解凍することを特徴とする請求項１乃至６のいずれかに記載の画像処理装置。
【請求項８】
前記解凍手段は、前記圧縮された高解像度の画像のうち、複数の文字を含む文字オブジェクト領域に対応する部分を解凍することを特徴とする請求項７に記載の画像処理装置。
【請求項９】
前記解凍手段は、前記圧縮された高解像度の画像のうち、１つの文字に対応する部分を解凍することを特徴とする請求項７に記載の画像処理装置。
【請求項１０】
前記解凍手段は、
前記文字オブジェクトの情報に基づいて、文字オブジェクト領域を処理するのに必要なメモリ量が予め設定したメモリ量よりも少ないか否か判定し、
少ないと判定した場合は、前記圧縮された高解像度の画像のうち、当該文字オブジェクト領域に対応する部分を解凍し、
少なくないと判定した場合は、前記圧縮された高解像度の画像のうち、１つの文字に対応する部分を解凍することを特徴とする請求項７に記載の画像処理装置。
【請求項１１】
前記解凍手段は、
前記文字オブジェクトの情報に基づいて、文字オブジェクト領域を処理するのに必要なメモリ量が予め設定したメモリ量よりも少ないか否か判定し、
少ないと判定した場合は、前記圧縮された高解像度の画像のうち、当該文字オブジェクト領域に対応する部分を解凍し、
少なくないと判定した場合は、前記文字オブジェクト領域を処理可能な大きさの領域に分割し、前記圧縮された高解像度の画像のうち、当該分割された領域に対応する部分を解凍することを特徴とする請求項７に記載の画像処理装置。
【請求項１２】
解像度変換手段が、圧縮された高解像度の画像に対して解像度変換を行うことにより、低解像度の画像を生成する解像度変換ステップと、
オブジェクト分割手段が、前記低解像度の画像に対してオブジェクト分割を行うことにより、低解像度の文字オブジェクトの情報を得るオブジェクト分割ステップと、
解凍手段が、前記圧縮された高解像度の画像を解凍する解凍ステップと、
文字輪郭生成手段が、前記オブジェクト分割ステップで得た低解像度の文字オブジェクトの情報と前記解凍ステップで解凍した高解像度の画像とを用いて、高解像度の文字輪郭を示す画像を生成する文字輪郭生成ステップと、
を備えることを特徴とする画像処理方法。
【請求項１３】
コンピュータに、
圧縮された高解像度の画像に対して解像度変換を行うことにより、低解像度の画像を生成する解像度変換ステップと、
前記低解像度の画像に対してオブジェクト分割を行うことにより、低解像度の文字オブジェクトの情報を得るオブジェクト分割ステップと、
前記圧縮された高解像度の画像を解凍する解凍ステップと、
前記オブジェクト分割ステップで得た低解像度の文字オブジェクトの情報と前記解凍ステップで解凍した高解像度の画像とを用いて、高解像度の文字輪郭を示す画像を生成する文字輪郭生成ステップと、
を実行させるための、コンピュータプログラム。
【請求項１４】
前記オブジェクト分割ステップで得られる前記低解像度の文字オブジェクトの情報は、文字画像を含むと判断された文字オブジェクト領域に含まれる文字の画素と背景の画素とを２値で示した低解像度の２値画像であり、
前記文字輪郭生成ステップでは、前記低解像度の２値画像を用いて文字の画素が存在しうる画素を特定し、当該特定された各画素と前記解凍した高解像度の画像とを用いて前記高解像度の文字輪郭を示す画像を生成することを特徴とする請求項１３に記載のコンピュータプログラム。
【請求項１５】
前記文字輪郭生成ステップでは、前記特定された各画素と前記解凍した高解像度の画像とを用いて、前記特定された各画素の近傍における閾値を決定し、前記解凍した高解像度の画像の前記特定された各画素に対応する部分を当該決定された閾値を用いて２値化することにより、前記高解像度の文字輪郭を示す画像を生成することを特徴とする請求項１４に記載のコンピュータプログラム。
【請求項１６】
前記文字輪郭生成ステップで生成された前記高解像度の文字輪郭を示す画像に基づいて、文字輪郭を関数近似する関数近似ステップと、
前記関数近似した結果をフォーマット化するフォーマット化ステップと、
を前記コンピュータに更に実行させることを特徴とする請求項１３乃至１５のいずれかに記載のコンピュータプログラム。
【請求項１７】
入力された高解像度の画像を圧縮することにより、前記圧縮された高解像度の画像を生成する圧縮ステップと、
前記圧縮された高解像度の画像をスプールするスプールステップと、を前記コンピュータに更に実行させ、
前記解凍ステップでは、前記スプールステップでスプールされている前記圧縮された高解像度の画像を解凍することを特徴とする請求項１３乃至１６のいずれかに記載のコンピュータプログラム。
【請求項１８】
前記文字輪郭生成ステップでは、前記高解像度の画像がカラー画像である場合、前記解凍ステップで解凍した高解像度の画像を高解像度の輝度画像に変換し、前記オブジェクト分割ステップで得た低解像度の文字オブジェクトの情報と前記高解像度の輝度画像とを用いて、高解像度の文字輪郭を示す画像を生成することを特徴とする請求項１３乃至１７のいずれかに記載のコンピュータプログラム。
【請求項１９】
前記解凍ステップでは、前記文字オブジェクトの情報に基づいて、前記圧縮された高解像度の画像を部分的に解凍することを特徴とする請求項１３乃至１８のいずれかに記載のコンピュータプログラム。
【請求項２０】
請求項１３乃至１９のいずれか１項に記載のコンピュータプログラムを記録した、コンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は入力画像からベクトル化データを生成する場合に、オブジェクト認識処理により認識した文字オブジェクトに対して文字ベクトル化処理を行う画像処理装置に関する。
【背景技術】
【０００２】
例えば特許文献１には、カラー文書画像を高品質化することが可能な画像処理装置として、以下の構成を有する画像処理装置が開示されている。
【０００３】
入力画像を低解像度の画像に変換する。変換した低解像度の画像を用いて減色画像を生成し、減色画像から同じ代表色に割り当てられた隣接画素を統合してＦＣＲ（Ｆｌａｔ  Ｃｏｌｏｒ  Ｒｅｇｉｏｎ）候補領域を抽出し、減色画像よりも高解像度の画像を用いて領域候補を再判定する。次に、ＦＣＲの境界を検出して最終的なＦＣＲを決定し、決定したＦＣＲの代表色の選定を行い、純色に近い色は純色に置き換える特色処理を行う。最後にＦＣＲを入力画像に上書き描画（合成）することにより画像再生成を行う。
【０００４】
【特許文献１】特開２００２−１４２１２８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
従来から文書の電子化が行われているが、文書を高画質で、かつ、再利用可能な状態で電子化するためには、必要なメモリ量が大きくなり、また、文書を電子化するには膨大な計算量を要するため電子化処理に時間がかかる。特に、限られた処理リソースにおいては、小さなメモリ量で文書の電子化を実現しなければならない。そのためには処理するデータ量を出来る限り抑える必要があるが、処理するデータ量を少なくすると良好な画質が得られなくなる。限られた処理リソースで文書を電子化する場合、データを圧縮化することで必要なメモリ量を抑えることが行われているが、データを圧縮するだけでは、必要なメモリ量を小さくできても、良好な画質が得られないという課題がある。
【課題を解決するための手段】
【０００６】
本発明の画像処理装置は、圧縮された高解像度の画像に対して解像度変換を行うことにより、低解像度の画像を生成する解像度変換手段と、前記低解像度の画像に対してオブジェクト分割を行うことにより、低解像度の文字オブジェクトの情報を得るオブジェクト分割手段と、前記圧縮された高解像度の画像を解凍する解凍手段と、前記オブジェクト分割手段で得た低解像度の文字オブジェクトの情報と前記解凍手段で解凍した高解像度の画像とを用いて、高解像度の文字輪郭を示す画像を生成する文字輪郭生成手段と、を備えることを特徴とする。
【発明の効果】
【０００７】
本発明によれば、少ないメモリ量で高画質なベクトル画像を高速に生成することが可能になる。
【発明を実施するための最良の形態】
【０００８】
以下、本発明の実施形態を、図面を用いて説明する。
【０００９】
（実施形態１）
[画像処理システム] 
図１は、本発明の実施形態に係る画像処理システムの構成を示すブロック図である。
【００１０】
画像処理システムは、各種機器を備えたオフィス１０とオフィス２０とから構成される。オフィス１０とオフィス２０内には、ＬＡＮ１０７、１０８が構築され、更に、両オフィスはインターネット１０４を介して接続される。
【００１１】
オフィス１０は、複合機（Multifunction Peripheral、以下、「ＭＦＰ」と称す。）１００と、ＭＦＰ１００を制御するマネージメントＰＣ１０１と、ローカルＰＣ１０２と、プロキシサーバ１０３と、データベース１０５と、文書管理サーバ１０６とを備える。これらの機器は、ＬＡＮ１０７により接続される。
【００１２】
オフィス２０は、ローカルＰＣ１０２と、データベース１０５と、文書管理サーバ１０６と、プロキシサーバ１０３とを備える。これらの機器は、ＬＡＮ１０８により接続される。
【００１３】
ＬＡＮ１０７、１０８にはプロキシサーバ１０３が各々接続され、ＬＡＮ１０７、１０８はそれぞれのプロキシサーバ１０３を介してインターネット１０４に接続される。
【００１４】
ＭＦＰ１００は、原稿から読み取った入力画像に対する画像処理の一部を実行し、画像処理した画像データを、ＬＡＮ１０９を介してマネージメントＰＣ１０１に送信する。また、ＭＦＰ１００は、ＬＡＮ１０７を介してローカルＰＣ１０２又は汎用ＰＣ（不図示）から受け取ったＰＤＬ（Page Description Language）言語を解釈して、印刷出力する。さらに、ＭＦＰ１００は、原稿から読み取った画像データを、ＬＡＮ１０７を介してローカルＰＣ１０２又は汎用ＰＣに送信する。
【００１５】
マネージメントＰＣ１０１は、画像記憶部、画像処理部、表示部、入力部等（不図示）を含むコンピュータである。マネージメントＰＣ１０１は、ＭＦＰ１００と協働して、画像処理を実行する。なお、本実施形態では、マネージメントＰＣ１０１がデータベース１０５に対して以下に述べる登録処理等を実行するが、ＭＦＰ１００自身が登録処理等を実行する構成にしてもよい。
【００１６】
[ＭＦＰ] 
図２は、ＭＦＰ１００の構成を示すブロック図である。
【００１７】
ＭＦＰ１００は、画像読み取り部１１０と、記憶部（ボックス）１１１と、印刷部１１２と、入力部１１３と、ネットワークＩ／Ｆ部１１４、１１７と、データ処理部１１５とを備える。
【００１８】
画像読み取り部１１０は、原稿自動送り機能（Auto  Document  Feeder）を有するスキャナで構成される。画像読み取り部１１０は、束状の或いは１枚の原稿の画像に光を照射し、反射された光をレンズで固体撮像素子上に結像させる。固体撮像素子は、所定解像度（例えば６００ｄｐｉ）および所定輝度レベル（例えば８ビット）の画像信号を生成する。この画像信号は、ラスターデータよりなる画像データからなる。
【００１９】
データ処理部１１５は、通常の複写を実行する際には、画像読み取り部１１０から受け取った画像データに対して複写用の画像処理を実行して印刷データに変換し、印刷部１１２に出力する。複数枚を複写する場合には、データ処理部１１５は、１頁分の印刷データを一旦記憶部１１１に保存した後、印刷部１１２に順次出力する。印刷部１１２は、印刷データに基づき、記録紙上に画像等を印刷する。また、データ処理部１１５は、ネットワークＩ／Ｆ１１４を介してローカルＰＣ１０２又は他の汎用ＰＣ（不図示）から受け取ったＰＤＬ言語を解釈、処理することによって印刷データを生成し、印刷部１１２に出力する。
【００２０】
記憶部１１１は、画像読み取り部１１０から受け取った画像データやローカルＰＣ１０２から受け取ったＰＤＬデータをレンダリングしたデータを保存する機能を有する。また、記憶部１１１は、ネットワークＩ／Ｆ１１７とＬＡＮ１０９とを介して、マネージメントＰＣ１０１から直接制御され得る。
【００２１】
入力部１１３は、タッチパネルやキーボード等の操作用インタフェースを備え、ユーザからの操作用入力を受け付ける。また、ＭＦＰ１００は、マネージメントＰＣ１０１が有するキーボードやポインティングデバイス等を操作することによっても動作可能である。
【００２２】
表示部１１６は、ＭＦＰ１００のステータスや画像データ等を表示する。
【００２３】
図３は、実施形態１に係るベクトル化処理の流れを示すフローチャートである。
【００２４】
ステップＳ３０１において、ＭＦＰ１００は画像読み取り部を用いて画像を入力する。
【００２５】
ステップＳ３０２において、ＭＦＰ１００は、入力した画像に対して、当該画像に応じた画像処理を行う。画像処理とは、例えば、色変換やフィルタ処理等の周知の処理である。
【００２６】
ステップＳ３０３において、ＭＦＰ１００は、画像処理された画像データに対して圧縮処理を実行し、圧縮画像データを生成する。圧縮方式としては、例えば、ＪＰＥＧがある。
【００２７】
ステップＳ３０４において、ＭＦＰ１００は、圧縮画像データを記憶部１１１にスプールする。記憶部１１１は、例えば、メモリやハードディスクである。
【００２８】
ステップＳ３０５において、ＭＦＰ１００は、スプールされた圧縮画像データに対して解凍処理を実行する。例えば、ステップＳ３０３において画像がＪＰＥＧで圧縮されていた場合には、ＪＰＥＧで解凍する処理が行われる。すなわち、ステップＳ３０５においては、ステップＳ３０３で用いられた圧縮方式に対応する解凍方式が用いられる。
【００２９】
ステップＳ３０６において、ＭＦＰ１００は、解凍された画像データの解像度を下げる解像度変換処理を実行する。例えば、解像度が６００ｄｐｉの画像データは、３００ｄｐｉの画像データに解像度変換される。
【００３０】
ステップＳ３０７において、ＭＦＰ１００は、解像度変換後の画像データに対して、オブジェクト分割処理（領域分割処理）を実行する。オブジェクト種としては、文字オブジェクト、写真オブジェクト、グラフィック（図面、線画、表）オブジェクト、背景オブジェクトがある。
【００３１】
ステップＳ３１２において、ＭＦＰ１００は、ステップＳ３０３で圧縮された画像データを解凍する。
【００３２】
ステップＳ３０８において、ＭＦＰ１００は、文字オブジェクトに対して、文字輪郭生成処理を実行する。ここでは、ＭＦＰ１００は、文字オブジェクトに対応する部分の高解像度画像データを参照し文字の輪郭を生成する。すなわち、Ｓ３０７で分割された文字オブジェクトと、ステップＳ３１２で解凍された画像データとに基づいて文字の輪郭を生成する。つまり、ＭＦＰ１００は、低解像度の画像データから分割された文字オブジェクトと、解凍後の高解像度の画像データとを用いて文字の輪郭を生成する。この文字輪郭生成処理の詳細は後述する。
【００３３】
ステップＳ３０９において、ＭＦＰ１００は、ステップＳ３０８で生成された文字輪郭に対して関数近似処理を実行し、パス化されたデータに変換する。
【００３４】
ステップＳ３１０において、ＭＦＰ１００は、パス化されたデータを汎用のフォーマットにフォーマット化する。汎用のフォーマットとは、例えば、ＰＤＦやＸＰＳやＳＶＧやＸＭＬなどである。なお、ＭＦＰ１００は、フォーマット化されたデータを記憶部１１１に保存してもよく、また、ネットワークを介してＰＣなどの外部の機器に送信してもよい。
【００３５】
次に、図４を用いて、上述の処理をより具体的に説明する。
【００３６】
図４は、上述のベクトル化処理を模式的に表した図である。
【００３７】
ＭＦＰ１００は、原稿をスキャンし（４１１）、スキャンされた画像に対して画像処理を行い（４１２）、画像処理された画像データに対して画像圧縮を行う（４１３）。本例では、圧縮方式はＪＰＥＧとする。
【００３８】
ＭＦＰ１００は、圧縮画像データを記憶部１１１にスプールし（４１４）、スプールした圧縮画像を読み出して解凍を行い（４１５）、解像度６００ｄｐｉ／階調数２４ｂｉｔの画像データを生成する。
【００３９】
ＭＦＰ１００は、生成された解像度６００ｄｐｉ／階調数２４ｂｉｔの画像データ（４０２）を低解像度画像に変換する解像度変換を行い（４０１）、解像度３００ｄｐｉ／階調数２４ｂｉｔの画像データを生成する。なお、これらの解像度や階調数は例示であり、これらの値に限定されない。
【００４０】
ＭＦＰ１００は、解像度３００ｄｐｉ／階調数２４ｂｉｔの画像データ（４０３）に対してオブジェクト分割を行い（４０４）、その結果として、オブジェクト分割領域情報と文字情報を求める（４０５、４０６）。オブジェクト分割領域情報（４０５）とは、画像中のどの領域に何のオブジェクト（文字オブジェクト等のオブジェクト種）が存在するかを示す情報である。すなわち、オブジェクト分割領域情報（４０５）は、矩形領域の位置情報と当該矩形領域に含まれるオブジェクトの属性（オブジェクト種）とを示す情報であり、公知の技術を用いて判定することができる。文字情報（４０６）とは、文字オブジェクトが存在する領域の中で文字オブジェクトを示す情報である。すなわち、文字情報（４０６）は、文字属性の領域を２値画像データ（すなわち３００ｄｐｉ／１ｂｉｔの画像）で示した情報であり、例えば、文字属性の領域を２値化することにより得られる。このとき、例えば処理対象の画像が白地に黒文字の画像である場合、文字情報は、文字を構成する画素が１、文字でない背景の画素が０として表される、文字領域の低解像度２値画像になる。
【００４１】
ＭＦＰ１００は、オブジェクト分割領域情報と、文字情報と、解像度変換前（解凍後）の高解像度画像である解像度６００ｄｐｉ／階調数２４ｂｉｔの画像データと、を用いて後述する文字輪郭生成処理を行う（４０７）。文字輪郭生成処理４０７を行うことにより、解像度６００ｄｐｉ／階調数１ｂｉｔの文字輪郭画像データを得ることができる（４０８）。
【００４２】
ＭＦＰ１００は、文字輪郭画像データ４０８に対して関数近似処理を行うことでパス化を行い（４０９）、パス化されたデータ（すなわちベクトルデータ）をフォーマット化する（４１０）。
【００４３】
次に、文字輪郭生成処理の詳細を説明する。
【００４４】
図５は、文字輪郭生成処理（４０７）を模式的に表した図である。
【００４５】
５０１は、オブジェクト分割領域情報と文字情報とを含む低解像度画像を示す。解像度は、３００ｄｐｉとする。５０２は、解像度６００ｄｐｉ／階調数２４ｂｉｔの高解像度画像から生成した解像度６００ｄｐｉ／階調数８ｂｉｔの輝度画像を示す。輝度画像の生成は、周知の方法で実現できる。例えば、２４ｂｉｔのカラー画像（ＲＧＢ画像）を所定の変換式を用いて８ｂｉｔの輝度画像に変換する処理が行われることになる。
【００４６】
５０４は、解像度３００ｄｐｉの画像５０１内の一領域を示す。ここでは、領域情報４０５に基づいて文字属性の領域の位置を特定し、当該特定された文字の領域の位置に対応する領域の部分を文字情報４０６から取り出した３００ｄｐｉ／１ｂｉｔの画像５０４である。画像５０４は２値画像であり、５０３で示すように黒塗の画素は、画像５０４において文字を形成する画素である。５０４で示す画像の一つの升目は、低解像度の画像における１画素を表す。
【００４７】
５０５は、５０４の領域に対応する解像度６００ｄｐｉ／階調数８ｂｉｔの高解像画像５０２内の領域を示す。５０５で示す画像の一つの升目は、高解像度の画像における１画素を表す。なお、画像５０５は輝度画像（多値画像）であり、文字を構成する画素と背景の画素との境界には、グレーの画素が存在することが多い。
【００４８】
５０６は、低解像度画像５０４と高解像度画像５０５を用いて生成された解像度６００ｄｐｉ／１ｂｉｔの文字画像を示す。すなわち、画像５０６は、高解像度の２値画像である。
【００４９】
文字画像５０６の生成方法は以下の通りである。
【００５０】
解像度３００ｄｐｉの低解像度画像５０４をラスタ順序に走査を行う。低解像度画像５０４の走査を行う際に、走査される画素毎に、その画素の周囲８近傍（周囲の８画素）に文字オブジェクトを構成する画素が存在するかどうかを確認する。存在しない場合は、当該１つの画素を２×２画素（４画素）に分割することによって解像度６００ｄｐｉに変換し、それらの画素の画素値を白（０）とする。これに対して、走査される画素の周囲８近傍に文字オブジェクトを構成する画素（黒画素）が存在する場合には、まず、解像度６００ｄｐｉ／階調数８ｂｉｔデータ（高解像度の多値画像）を用いて、当該画素の部分における閾値算出処理を行う。そして、当該算出した閾値を用いて、解像度６００ｄｐｉ／階調数８ｂｉｔデータを０／１に２値化する。例えば、周囲８近傍に存在する文字オブジェクトを構成する画素の画素値と、そうでない画素の画素値の平均値を解像度６００ｄｐｉ／階調数８ｂｉｔ画像から求める。次いで、それぞれの平均値を足し算してそれを２で割ることで閾値を求める。画素値がこの閾値を上回るか下回るかを解像度６００ｄｐｉ／階調数８ｂｉｔ画像において比較し、画素値が閾値を上回る画素は黒（１）とし、下回る画素は白（０）とする。これによって、解像度６００ｄｐｉ／階調数１ｂｉｔ文字画像（すなわち高解像度の２値画像）を生成できる。このように、画像５０４において３００ｄｐｉの画像で文字が存在すると判定された画素の近傍画素について、解像度６００ｄｐｉ／階調数８ｂｉｔの画像を用いて適応的に閾値を決めて２値化処理を行う。すなわち、文字画素が存在する可能性が高い部分のみを２値化処理対象にするので、効率よく高解像度の文字輪郭を示す２値画像を生成することができる。例えば、画像５０４における矩形５０７で囲んだ部分の白画素と黒画素は、高解像度の輝度画像５０５の対応する画素はグレーの画素を含んでいるので、それぞれの画素において算出した閾値を用いて２値化すると、画像５０６のようになる。なお、文字には白抜き文字のように周囲の画素が色を持っていて、文字は白という場合も存在する。この場合は、周囲の色と文字の色から白抜き文字であるか否かの判定を行い、その判定によって、前述した解像度６００ｄｐｉ／階調数１ｂｉｔ文字画像の生成を行う。なお、白抜き文字の判定方法に関しては周知の方法を使うことが可能である。例えば、解像度６００ｄｐｉ／階調数１ｂｉｔの画像を生成したときに、黒画素の総数と白画素の総数とを比較し、多い方の画素を背景画素と判断する。このときに、黒画素が背景画素と判断された場合は、当該領域の白黒反転を行い、白画素が背景画素となるようにすればよい。
【００５１】
このように、文字領域を特定する際は、解像度を落とした画像を用いて領域分割を行い、その文字領域に関して低解像度の画像で文字が存在する画素を特定し、その特定した画素について高解像度の画像を用いて文字輪郭を生成する。したがって、少ないメモリで且つ高速に文字の画素を特定して、且つ高精度に文字輪郭を抽出することができる。例えば、３００ｄｐｉの画像のみを用いて文字輪郭を抽出してベクトル化処理を行った場合は、生成されたベクトルデータをレンダリングすると図１９（１）のような画像になる。一方、３００ｄｐｉの画像で文字画素を特定しながら、６００ｄｐｉの輝度画像を用いて文字輪郭を抽出してベクトル化処理を行った場合は、当該生成されたベクトルデータをレンダリングすると図１９（２）のように、精度の高い滑らかな画像が得られる。
【００５２】
〔ビットマップ画像データの作成〕
ＭＦＰ１００の画像読み取り部１１０を使用した場合には、図１３に示すステップＳ１３０１において、画像を読み込む。読み込まれた画像は、既にビットマップ画像データである。そのビットマップ画像データをステップＳ１３０２において、スキャナに依存する画像処理を行う。スキャナに依存する画像処理とは、例えば、色処理やフィルタ処理である。一方ＰＣ１０２上のアプリケーションソフトを使用して作成したアプリケーションデータは、ＰＣ１０２上にあるプリントドライバによってＰＤＬに変換され、ＭＦＰ１００に送信される。ここで、ＰＤＬとは、例えば、ＬＩＰＳ、Ｐｏｓｔｓｃｒｉｐｔである。ＰＤＬを受け取ったＭＦＰ１００は、内蔵するインタープリタを用いて、ＰＤＬに基づいてディスプレイリストを生成する。次いで、ＭＦＰ１００は、ディスプレイリストをレンダリングすることにより、ビットマップ画像データを生成する。
【００５３】
ＭＦＰ１００は、上記２つの方法のいずれかにより生成されたビットマップ画像データを処理対象として、ステップＳ３０３（図３）以降の処理（図４の４１３以降の処理）を行う。
【００５４】
[登録の詳細設定]
図１８は、図３に示すステップＳ３０９における関数近似処理でベクトル化されたデータのフォーマットの一例を示す図である。本実施形態では、ＳＶＧ（Scalable Vector Graphic)形式で表記しているが、これに限定されるものではない。
【００５５】
図１８では説明のため、オブジェクトの表記を枠で囲っている。枠１８０１内にはイメージ属性が示され、イメージオブジェクトの領域の示すオブジェクト分割領域情報とビットマップ情報が示されている。枠１８０２内にはテキストオブジェクトの情報が示されている。枠１８０３内には、枠１８０２内で示した内容がベクターオブジェクトとして示されている。枠１８０４には、表オブジェクトなどのラインアートが示されている。
【００５６】
[オブジェクト分割ステップ] 
図１４は、オブジェクト分割処理（図３のステップＳ３０７、図４の４０４）により得られたオブジェクト分割領域情報（図４の４０５）を示す図である。
【００５７】
ステップＳ３０７において、ＭＦＰ１００は、画像１４０２に示すように、入力画像１４０１を属性ごとに矩形ブロックに分割する。前述のように、矩形ブロックの属性としては、文字、写真、グラフィック（図面、線画、表など）がある。
【００５８】
ステップＳ３０７のオブジェクト分割においては、まず、ＲＡＭ（不図示）に格納された画像データ（４０３）を白黒に２値化し、黒画素からなる輪郭で囲まれる黒画素塊（連結黒画素）を抽出する。さらに、抽出された黒画素塊の大きさを算出し、その黒画素塊の大きさが所定値以上の場合、黒画素塊の内部にある白画素塊を抽出し、その輪郭を求める。さらに、白画素塊の大きさの算出、白画素塊の内部にある黒画素塊の抽出及びその輪郭を求めるというように、内部の画素塊の大きさが所定値以上である限り、繰り返し、画素塊を抽出し、その輪郭を求める。画素塊の大きさとは、例えば画素塊の面積である。このようにして得られた画素塊に外接する矩形ブロックを求め、矩形ブロックの大きさ、形状に基づき矩形ブロックの属性が判定される。例えば、縦横比が１に近く、大きさが一定の範囲（文字と判断する大きさの範囲）の矩形ブロックは文字オブジェクト領域矩形ブロックの可能性が高い文字相当ブロックと判定する。また、近接する文字相当ブロックが規則正しく整列しているときに、これら文字相当ブロックを纏めた新たな矩形ブロックを生成し、新たな矩形ブロックを文字オブジェクト領域矩形ブロックと判定する。すなわち、近くにある文字相当のブロックをまとめていくので、文字オブジェクト領域矩形ブロックは、文字行や文字段落単位の領域になる。また縦長や横長の扁平な黒画素塊をセパレータなどの線画領域矩形ブロックと判定し、黒画素塊が一定以上の大きさ以上でかつ内部に四角形の白画素塊を整列よく内包する場合は表領域矩形ブロックと判定し、これらをグラフィック領域矩形ブロックとして扱う。また、それ以外の不定形の黒画素塊を写真領域矩形ブロックと判定する。なお、本実施形態では、文字、写真、グラフィックとして属性を分類することとしたが、属性の種類はこれらに限るものではなく、更に細かく属性分類しても構わない。
【００５９】
ステップＳ３０７において、このようにして判定された矩形ブロックのそれぞれについて、図１５に示すような、属性等のブロック情報および入力ファイル情報を生成する。図１５において、ブロック情報には、各ブロックの属性、座標Ｘ、座標Ｙ、幅Ｗ、高さＨ、ＯＣＲ情報が含まれる。属性には１〜３の数値が割り当てられ、１は文字オブジェクト領域矩形ブロックを示し、２は写真領域矩形ブロックを示し、３はグラフィック領域矩形ブロックを示す。座標Ｘ、座標Ｙは、画像内における各矩形ブロックの始点のＸ、Ｙ座標（左上角の座標）を示す。幅Ｗ、高さＨは、矩形ブロックのＸ座標方向の幅、Ｙ座標方向の高さを示す。ＯＣＲ情報は、入力画像におけるポインタ情報の有無を示す。また、入力ファイル情報には、矩形ブロックの個数を示すブロック総数Ｎ（画像１４０２の場合、Ｎ＝６）が含まれる。
【００６０】
矩形ブロックごとのブロック情報は、特定領域でのベクトル化に利用される。なお、本実施形態では文字領域をベクトル化処理の対象とするので、特定領域とは文字領域のことである。すなわち、この文字オブジェクト領域を抽出して後段の文字輪郭生成処理４０７に利用する。またブロック情報によって、特定領域とその他の領域を合成する際の相対的位置関係を特定でき、入力画像のレイアウトを損なわずにベクトル化領域とラスターデータ領域を合成することが可能となる。
【００６１】
図１６は、文書構造ツリー生成処理の対象となる文書の模式図である。
【００６２】
図１６において、文書の最上部には、矩形ブロックＴ１、Ｔ２が横に並んで存在する。矩形ブロックＴ１、Ｔ２の下には横方向セパレータＳ１が存在し、横方向セパレータＳ１の下には矩形ブロックＴ３、Ｔ４、Ｔ５、Ｔ６、Ｔ７が存在する。矩形ブロックＴ３、Ｔ４、Ｔ５は、横方向セパレータＳ１の下側の領域の左半分に上から下に縦方向に配列され、矩形ブロックＴ６、Ｔ７は、横方向セパレータＳ１の下側の領域の右半部に上下に配列されている。
【００６３】
図１７は、以上の処理結果を文書構造ツリーで表現した図である。
【００６４】
図１７において、入力画像Ｖ０は、最上位階層に、グループＨ１、Ｈ２、セパレータＳ１を有し、グループＨ１には、第２階層の矩形ブロックＴ１、Ｔ２が属する。グループＨ２には、第２階層のグループＶ１、Ｖ２が属し、グループＶ１には、第３階層の矩形ブロックＴ３、Ｔ４、Ｔ５が属し、グループＶ２には、第３階層の矩形ブロックＴ６、Ｔ７が属する。
【００６５】
（実施形態２）
実施形態２は、文字輪郭生成処理の前段の処理である入力画像の解凍処理が実施形態１とは異なり、装置構成、他の処理は実施形態１と共通する。したがって、実施形態１とは異なる解凍処理について主に説明する。
【００６６】
図６は、実施形態２に係る処理の流れを示すフローチャートである。図６のＳ６０１〜Ｓ６１０の処理は、それぞれ図３のＳ３０１〜Ｓ３１０の処理と似た処理を行うので、下記では、ステップＳ６１２の処理の詳細を説明する。
【００６７】
ステップＳ６１２において、ＭＦＰ１００は、ステップＳ６０７でのオブジェクト分割処理により得られたオブジェクト分割領域情報を用いて、ページ内にいくつかある文字オブジェクト領域の１つ１つを部分的に解凍する部分解凍処理を実行する。そして、部分解凍した画像を得るごとにステップＳ６０８とＳ６０９の処理を順次行う。オブジェクト単位に解凍を行うことで小さなメモリ量での解凍処理とベクトル化処理が可能になる。
【００６８】
図７は、実施形態２に係る、オブジェクト分割領域情報を用いた文字ベクトル化処理の流れを示すフローチャートである。図７で行われる処理は、図６のステップＳ６１２，Ｓ６０８，Ｓ６０９に相当する処理である。
【００６９】
ステップＳ７０２において、ＭＦＰ１００は、オブジェクト分割領域情報を取得し、取得したオブジェクト分割領域情報から１つの文字オブジェクト領域を取得する。
【００７０】
ステップＳ７０３において、ＭＦＰ１００は、この１つの文字オブジェクト領域に対応する入力画像を部分的に解凍する。オブジェクト分割領域情報が解像度３００ｄｐｉの情報であった場合に、それが解像度６００ｄｐｉになった場合の座標を計算する。また、圧縮の最小単位は、例えば、ＪＰＥＧの場合には、８画素×８画素であるので、取得した文字オブジェクト領域に対応する圧縮画像の領域を解凍できるようにする。部分解凍の方法に関しては、圧縮方法が何であるかによってその方法は異なる。しかし、周知の圧縮技術及び周知の部分解凍方法を用いることで実現が可能である。このようにして、１つの文字オブジェクト領域に対応する解像度６００ｄｐｉの高解像度画像を得ることが可能となる。
【００７１】
ステップＳ７０４において、ＭＦＰ１００は、文字輪郭生成処理を行う。文字輪郭生成処理は、実施形態１で説明した処理と同じである。
【００７２】
ステップＳ７０５において、ＭＦＰ１００は、ステップＳ７０４で生成された文字輪郭に対して関数近似処理を実行し、パス化されたベクトルデータを生成する。
【００７３】
ステップＳ７０６において、ＭＦＰ１００は、全ての文字オブジェクト領域に対して上記の処理を実行したかどうかを判定し、全ての文字オブジェクト領域に対して上記処理が終了するとベクトル化処理は完了する。
【００７４】
図８は、解像度３００ｄｐｉのオブジェクト分割領域情報を解像度６００ｄｐｉの画像における対応する位置の座標に変換し、部分解凍処理（ステップＳ８１２）をする場合を説明するための図である。
【００７５】
図８（ａ）は、６００ｄｐｉの圧縮画像８０１を示す図である。図８（ｂ）は、オブジェクト分割領域情報を画像８０２として示す図である。画像８０２内の８０８〜８１２のＴＥＸＴは、各々、文字オブジェクト領域を表す。画像８０２内の文字オブジェクト領域(ＴＥＸＴ)８０８を部分的に解凍する場合には、文字オブジェクト領域８０８の座標に対応する圧縮画像８０１の座標を求め、その座標を含む圧縮画像の領域を特定し、当該領域の圧縮画像を解凍する。図８（ｃ）の８１３〜８１７は、図８（ｂ）の８０８〜８１２に示すオブジェクト分割領域情報８０２を用いて、圧縮画像８０１内の対応する位置にある８０３〜８０７の各領域に対して部分解凍処理を行った結果を示す。例えば、図８（ｃ）の８１３（ＡＢＣＤ）は、図８（ｂ）の文字オブジェクト領域８０８に対応する圧縮画像（６００ｄｐｉ）の領域８０３に対して部分解凍処理を行った結果を示す。
【００７６】
以上説明したように、オブジェクト分割領域情報を用いて、部分的に必要な圧縮画像の領域のみを解凍して処理することで、文字輪郭生成を行う際のメモリ量を抑えながらベクトル化処理を行うことが可能となる。
【００７７】
（実施形態３）
実施形態３は、文字輪郭生成処理の前段の処理である入力画像の解凍処理が前述の実施形態とは異なり、装置構成、他の処理は前述の実施形態と共通する。実施形態２では、文字領域（文字行や段落）ごとに部分解凍したが、実施形態３では、文字領域内の１文字ごとに部分解凍する。したがって、前述の実施形態とは異なる解凍処理について以下に説明する。
【００７８】
実施形態２は、１つの文字オブジェクト領域に対して部分的に解凍処理するものである。実施形態２では、１つの文字オブジェクト領域（段落や文字行）が大きいと処理に必要なメモリ量が不足する場合があるが、実施形態３は、そのような場合にも対処可能である。
【００７９】
図９は、実施形態３に係る、オブジェクト分割領域情報を用いた文字ベクトル化処理の流れを示すフローチャートである。
【００８０】
ステップＳ９０２において、ＭＦＰ１００は、オブジェクト分割領域情報と、１つの文字オブジェクト領域から一文字を切りだすための一文字情報とを取得する。１つの文字オブジェクト領域から一文字を切り出すための情報、すなわち、当該１文字の座標は、オブジェクト分割領域情報から得られる。
【００８１】
ステップＳ９０３において、ＭＦＰ１００は、この座標に相当する入力画像を部分的に解凍する。例えば、オブジェクト分割領域情報が解像度３００ｄｐｉの情報であった場合に、それが解像度６００ｄｐｉになった場合の座標を計算する。また、圧縮の最小単位は、例えば、ＪＰＥＧの場合には、８画素×８画素であるので、算出した文字オブジェクト領域が含まれる圧縮画像の領域を解凍できるようにする。部分解凍の方法に関しては、圧縮方法が何であるかによってその方法は異なるものである。しかし、周知の圧縮技術及び周知の部分解凍方法を用いることで実現が可能である。このようにして、一文字に該当する解像度６００ｄｐｉの画像を得ることが可能となる。オブジェクト分割からの文字要素画素と６００ｄｐｉ画像を得ることができる。
【００８２】
ステップＳ９０４において、ＭＦＰ１００は、文字輪郭生成処理を行う。文字輪郭生成処理は、実施形態１で説明した処理と同じである。
【００８３】
ステップＳ９０５において、ＭＦＰ１００は、ステップＳ９０４で生成された文字輪郭に対して関数近似処理を実行し、パス化されたベクトルデータを生成する。
【００８４】
ステップＳ９０６において、ＭＦＰ１００は、全ての文字オブジェクトに対して上記の処理を実行したかどうかを判定する。
【００８５】
図１０は、一文字ごとに部分的に解凍処理（一文字解凍）を行うことの有用性を説明するための図である。
【００８６】
１００１は、８×８画素の圧縮単位でＪＰＥＧ圧縮された画像を示す。１００２は、ＪＰＥＧ圧縮の圧縮単位を示す。画像１００１において各文字を囲む枠は文字切り情報１００３を示す。文字切り情報１００３は、オブジェクト分割処理において一文字と判断された文字を示す。解凍はＪＰＥＧの圧縮単位で行われるため、“あ”の文字を解凍したい場合に、１００４に示すように右隣の文字の“い”の一部も解凍されてしまう。また、“い”の文字を解凍したい場合に、同様に、１００５に示すように左隣の文字の“あ”の一部も解凍されてしまう。したがって、ＪＰＥＧの部分解凍された画像をそのままベクトル化処理（文字輪郭生成処理・関数近似処理）を行うと、隣の文字の一部も処理を行ってしまうことになる。そこで、本実施形態では、当該部分解凍された画像のうち、文字切り情報１００３によって特定される１文字の領域のみに対して、ベクトル化処理を行うこととする。なお、ステップＳ９０４〜Ｓ９０５の処理は、１文字の領域を対象として、図５で示したように、高解像度の画像データとオブジェクト分割から得られる文字を構成する要素を使って文字輪郭生成を行うことになる。
【００８７】
（実施形態４）
実施形態４は、文字輪郭生成処理の前段の処理である入力画像の解凍処理が前述の実施形態とは異なり、装置構成、他の処理は前述の実施形態と共通する。したがって、前述の実施形態とは異なる解凍処理について以下に説明する。
【００８８】
実施形態３は、１つの文字に対して部分的に解凍処理するものである。実施形態３では、文字数が多いと処理時間が長くなる場合があるが、実施形態４は、このような場合に対処するものである。
【００８９】
図１１は、実施形態４に係る、オブジェクト分割領域情報を用いた文字ベクトル化処理の流れを示すフローチャートである。
【００９０】
ステップＳ１１０２において、ＭＦＰ１００は、オブジェクト分割領域情報と、１つの文字オブジェクト領域（文字行や段落の領域）から一文字を切りだすための情報を取得する。さらに、ＭＦＰ１００は、オブジェクト分割領域情報から文字オブジェクト領域の大きさを計算し、領域処理に必要なメモリ量を算出する（メモリ量算出）。
【００９１】
ステップＳ１１０３において、ＭＦＰ１００は、予め設定されている利用可能なメモリ量と、ステップＳ１１０２で算出した領域処理に必要なメモリ量とを比較する。比較した結果、領域処理に必要なメモリ量が所定の利用可能なメモリ量よりも少ない場合には、領域処理可能と判断し、ステップＳ１１０４に進む一方、そうでない場合には、ステップＳ１１０７に進む。
【００９２】
領域処理に必要なメモリ量が所定の利用可能なメモリ量よりも少ないと判定した場合、ステップＳ１１０４において、ＭＦＰ１００は、１つの文字オブジェクト領域（文字行や段落の領域）の解凍処理を行う。
【００９３】
ステップＳ１１０５において、ＭＦＰ１００は、文字輪郭生成処理（第１の文字輪郭生成処理）を行う。
【００９４】
一方、領域処理に必要なメモリ量が所定の利用可能なメモリ量以上であると判定した場合、ステップＳ１１０７において、ＭＦＰ１００は、文字オブジェクト領域の中の文字を一文字ごとに解凍処理（一文字解凍）する。一文字解凍に関しては前述した通りである。
【００９５】
ステップＳ１１０８において、ＭＦＰ１００は、文字輪郭生成処理（第２の文字輪郭生成処理）を行う。
【００９６】
ステップＳ１１０６において、ＭＦＰ１００は、ステップＳ１１０５で生成された文字輪郭又はステップＳ１１０８で生成された文字輪郭に対して関数近似処理を実行し、パス化されたベクトルデータを生成する。
【００９７】
ステップＳ１１０９において、ＭＦＰ１００は、全ての文字オブジェクトに対して上記の処理を実行したかどうかを判定する。
【００９８】
（実施形態５）
実施形態５は、文字輪郭生成処理の前段の処理である入力画像の解凍処理が前述の実施形態とは異なり、装置構成、他の処理は前述の実施形態と共通する。したがって、前述の実施形態と異なる解凍処理について以下に説明する。
【００９９】
実施形態４は、１つの文字に対して部分的に解凍処理するものである。実施形態４では、１つの文字オブジェクト領域の大きさ（すなわち、必要となるメモリ量）に応じて、文字オブジェクト領域のまま解凍処理を行うか、文字オブジェクト領域内の一文字ごとに解凍処理を行うかどうかを切り替える。しかし、実施形態４でも、文字オブジェクト領域が大きいときは１文字ごとの解凍処理を行うので、１領域内の文字数が多い場合には処理時間がかかってしまう場合がある。実施形態５は、このような場合にも対処可能である。
【０１００】
図１２は、実施形態５に係る、オブジェクト分割領域情報を用いた文字ベクトル化処理の流れを示すフローチャートである。
【０１０１】
ステップＳ１２０２において、ＭＦＰ１００は、オブジェクト分割領域情報と、１つの文字オブジェクト領域から一文字を切りだすための情報を取得する。次いで、ＭＦＰ１００は、オブジェクト分割領域情報から文字オブジェクト領域の大きさを計算し、領域処理に必要なメモリ量を算出する（メモリ量算出）。
【０１０２】
ステップＳ１２０３において、ＭＦＰ１００は、予め設定されている利用可能なメモリ量と、ステップＳ１２０２で算出した処理に必要なメモリ量とを比較する。比較した結果、領域処理に必要なメモリ量が所定の利用可能なメモリ量よりも少ない場合には、領域処理可能と判断し、ステップＳ１２０４に進む一方、そうでない場合には、ステップＳ１２０７に進む。
【０１０３】
領域処理に必要なメモリ量が利用可能なメモリ量よりも少ない場合、ステップＳ１２０４において、ＭＦＰ１００は、１つの文字オブジェクト領域の解凍処理を行う。
【０１０４】
ステップＳ１２０５において、ＭＦＰ１００は、文字輪郭生成処理（第１の文字輪郭生成処理）を行う。
【０１０５】
ステップＳ１２０６において、ＭＦＰ１００は、ステップＳ１２０５で生成された文字輪郭に対して関数近似処理を実行し、パス化されたベクトルデータを生成する。
【０１０６】
一方、領域処理に必要なメモリ量が利用可能なメモリ量よりも多い場合、ステップＳ１２０７において、ＭＦＰ１００は、１つの文字オブジェクト領域を領域処理可能な領域に分割する。領域の分割は、所定の利用可能なメモリ量から領域処理可能な領域の大きさを算出し、その算出した領域の大きさに基づいて行われる。このとき、複数の文字が含まれるように分割していくようにする。
【０１０７】
ステップＳ１２０８において、ＭＦＰ１００は、ステップＳ１２０７で分割された領域を部分的に解凍する。
【０１０８】
ステップＳ１２０９において、ＭＦＰ１００は、文字輪郭生成処理（第２の文字輪郭生成処理）を行う。
【０１０９】
ステップＳ１２１０において、ＭＦＰ１００は、ステップＳ１２０９で生成された文字輪郭に対して関数近似処理を実行し、パス化されたベクトルデータを生成する。
【０１１０】
ステップＳ１２１１において、ＭＦＰ１００は、分割された全ての領域に対して上記の処理を実行したかどうかを判定する。
【０１１１】
ステップＳ１２１２において、ＭＦＰ１００は、文字オブジェクト領域に対して上記の処理を実行したかどうかを判定する。
【０１１２】
画質の向上に関しては図１９に例を示した。
【０１１３】
（他の実施形態）
本発明の実施形態には、記録媒体又はネットワークを介して、前述した本発明の機能を実現するコンピュータプログラムをシステム又は装置に供給し、そのシステム又は装置が備えるコンピュータがそのプログラムを実行することが含まれる。記録媒体はコンピュータ読み取り可能な記録媒体である。よって、実施例には、本発明の機能を実現するコンピュータプログラム自体も含まれる。コンピュータプログラムは、オブジェクトコード、インタープリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等を含む。記録媒体は、フロッピー（登録商標）ディスク、ハードディスク、光ディスク、光磁気ディスク、ＭＯ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＤＶＤ等である。プログラムの供給方法としては、例えば、クライアントコンピュータのブラウザを用いてインターネットからハードディスク等の記録媒体にダウンロードする方法がある。この方法では、インターネットからコンピュータプログラムのファイル、又は、圧縮され自動インストール機能を含むファイルをダウンロードする。また、実施形態には、コンピュータプログラムを構成するプログラムコードを複数のファイルに分割し、各ファイルを異なるサーバからダウンロードすることが含まれる。また、実施形態には、コンピュータプログラムのファイルを複数のユーザに対してダウンロードさせるサーバも含まれる。
【０１１４】
コンピュータが、コンピュータプログラムを実行することによって、前述した実施形態の機能が実現され得る。また、そのコンピュータプログラムの指示に基づき、コンピュータ上で稼動しているＯＳなどが、実際の処理の一部または全部を行うことによっても、前述した実施形態の機能が実現され得る。
【０１１５】
記録媒体から読み出されたコンピュータプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後においても前述した実施形態の機能が実現され得る。すなわち、コンピュータプログラムの指示に基づき、機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行うことによっても前述した実施形態の機能が実現され得る。
【図面の簡単な説明】
【０１１６】
【図１】本発明の実施形態に係る画像処理システムの構成を示すブロック図である。
【図２】ＭＦＰの構成を示すブロック図である。
【図３】実施形態１に係る処理の流れを示すフローチャートである。
【図４】実施形態１に係る処理を模式的に表した図である。
【図５】実施形態１に係る文字輪郭生成処理を模式的に表した図である。
【図６】実施形態２に係る処理の流れを示すフローチャートである。
【図７】実施形態２に係る部分解凍処理の流れを示すフローチャートである。
【図８】実施形態２に係る部分解凍処理を説明するための図である。
【図９】実施形態３に係る一文字解凍処理の流れを示すフローチャートである。
【図１０】実施形態３に係る一文字解凍処理を説明するための図である。
【図１１】実施形態４に係る解凍処理の流れを示すフローチャートである。
【図１２】実施形態５に係る解凍処理の流れを示すフローチャートである。
【図１３】スキャナからの画像読み込みを示すフローチャートである。
【図１４】オブジェクト分割領域情報を示す図である。
【図１５】属性のブロック情報および入力ファイル情報を示す図である。
【図１６】文書構造ツリー生成処理の対象となる文書の模式図である。
【図１７】文書構造ツリー生成処理によって生成される文書構造ツリーを示す図である。
【図１８】関数近似処理でベクトル化されたデータのフォーマットの一例を示す図である。
【図１９】本実施形態を適用した効果を示す図である。
【符号の説明】
【０１１７】
４１１  スキャン
４１２  入力画像処理
４１３  圧縮
４１４  スプール
４１５  解凍
４１６  解像度変換
４０４  オブジェクト分割
４０５  領域情報
４０６  文字情報
４０７  文字輪郭生成
４０９  関数近似
４１０  フォーマット化
【図１】
2010074540.tif 000003
【図２】
2010074540.tif 000004
【図３】
2010074540.tif 000005
【図４】
2010074540.tif 000006
【図５】
2010074540.tif 000007
【図６】
2010074540.tif 000008
【図７】
2010074540.tif 000009
【図８】
2010074540.tif 000010
【図９】
2010074540.tif 000011
【図１０】
2010074540.tif 000012
【図１１】
2010074540.tif 000013
【図１２】
2010074540.tif 000014
【図１３】
2010074540.tif 000015
【図１４】
2010074540.tif 000016
【図１５】
2010074540.tif 000017
【図１６】
2010074540.tif 000018
【図１７】
2010074540.tif 000019
【図１８】
2010074540.tif 000020
【図１９】
2010074540.tif 000021