画像処理装置、画像処理方法、コンピュータプログラム
【課題】 入力画像に対して複数種類の画像処理を行う場合、それぞれの画像処理に適した画像を生成するのが望ましい。しかしながら、それらの画像を同時に保持しようとすると、多くのメモリが必要になってしまう。
【解決手段】 本発明では、入力画像に対して複数種類の画像処理(領域解析処理、文字部ベクトル化処理、図画部ベクトル化処理など)を行う場合、各画像処理を実行する前にそれぞれの画像処理に適した画像を生成する。そして、画像処理の処理結果は領域情報に格納するとともに、各画像処理で使用したワークメモリを開放してから、次の画像処理を行う。
【解決手段】 本発明では、入力画像に対して複数種類の画像処理(領域解析処理、文字部ベクトル化処理、図画部ベクトル化処理など)を行う場合、各画像処理を実行する前にそれぞれの画像処理に適した画像を生成する。そして、画像処理の処理結果は領域情報に格納するとともに、各画像処理で使用したワークメモリを開放してから、次の画像処理を行う。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、入力された画像に対して領域解析処理とベクトル化処理を行って、電子ファイルを生成する画像処理装置、画像処理方法に関する。
【背景技術】
【0002】
近年、情報の電子化が進み、紙文書をそのまま保存するのではなく、スキャナ等によりスキャンして電子化して保存したり、その電子データを他装置に送信したりするシステムが普及してきている。電子データを送信する際のデータ量を削減するため、電子化された文書に対して高い圧縮性が要求されている。また一方、電子データの高画質性も要求されている。
【0003】
そこで、特許文献1では、まず、スキャン画像に対して領域解析処理(領域識別処理)を行うことにより、文字領域や線画領域、写真領域等を抽出する。そして、当該抽出された文字領域や線画領域をベクトルデータに変換し、それ以外のベクトル化に適していない領域(写真領域(自然画)等)をJPEGで圧縮する。そして、各領域の圧縮結果(ベクトルデータ、JPEG圧縮データ等)を1つのファイルに合成して出力することにより、生成されるファイルの高圧縮性、再利用性、高画質性を向上させる手法が提案されている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2007−272601号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
文字領域と図画領域(出現する色数が限られたイラストなどの領域や、線画領域など)との両方をベクトル化処理(ベクトル変換処理)する場合が考えられるが、文字領域と図画領域とでは、ベクトル化処理に適した画像の解像度は異なる。すなわち、文字は図画領域に比べ、複雑かつ小さいことが多いので、文字領域のベクトル処理を行う際の画像には高解像度の画像が必要である。一方、図画領域の場合は、解像度よりも色の情報が重要になることが多い。よって、図画領域のベクトル化処理を行う際は、文字領域をベクトル化処理するときよりも低い解像度の画像(例えば、中解像度の画像)でもよいが、カラー画像が必要である。また、ベクトル化処理の前に行う領域解析処理は、高速に処理することが望まれるため、N値に減色された多値の中解像度以下の画像を用いればよい。
【0006】
しかしながら、領域解析処理と、文字領域のベクトル化処理と、図画領域のベクトル化処理とのそれぞれの画像処理に適した3種類の画像を同時に保持しようとすると、多くのメモリが必要になってしまう。
【0007】
具体例をあげる。例えば、600dpiの多値画像を入力した場合、解析処理用に300dpiでYCbCrの画像、文字領域のベクトル化処理用に600dpiのグレースケールの画像、図画ベクトルおよび背景用に300dpiで画素数の比がY:Cb:Cr=4:1:1の画像にそれぞれ変換して保持すると仮定する。この場合、元画像の2倍以上のメモリを確保しなければ、全ての画像を保持することができない。
【0008】
更に、ページ中のそれぞれの領域に適したベクトル化処理や穴埋め処理を行う場合、それぞれの処理に必要なワークメモリもそれぞれ確保しなければならない。また、最終出力物である電子ファイルの生成まで、個々の変換処理の結果もメモリに保持する必要がある。
【0009】
これらのワークメモリや各種データを保持するためのメモリを個別に保持しようとすると、多くのメモリ量が必要となってしまう。
【0010】
本発明では、領域解析処理、文字部のベクトル化処理、図画部のベクトル化処理それぞれの画像処理に適した画像を生成して各処理を実行して、電子ファイルを生成する際に、より少ないメモリ容量で実行可能とする。
【課題を解決するための手段】
【0011】
上記課題を解決するために、本発明の画像処理装置は、入力画像を保存するメモリと、前記入力画像から領域解析処理に適した領域解析用画像を生成し、当該生成した領域解析用画像を、前記メモリ上に確保した第1のメモリ領域に格納する領域解析用画像生成手段と、前記メモリ上に領域解析処理用ワークメモリを確保する領域解析処理用ワークメモリ確保手段と、前記確保した領域解析処理用ワークメモリを用いて、前記第1のメモリ領域に格納されている領域解析用画像に領域解析処理を実行し、前記メモリ上に確保された処理結果保持用の処理結果保持用メモリ領域に、当該実行した領域解析処理の結果を格納する領域解析手段と、前記領域解析手段による処理の終了時に、前記メモリ上に確保されている前記第1のメモリ領域と前記領域解析処理用ワークメモリとを開放する第1のメモリ開放手段と、前記入力画像から文字部のベクトル化処理に適した文字部ベクトル化処理用画像を生成し、当該生成した文字部ベクトル化処理用画像を、前記第1のメモリ開放手段で開放した後のメモリ上に確保した第2のメモリ領域に格納する文字部ベクトル化処理用画像生成手段と、前記第1のメモリ開放手段で開放した後のメモリ上に文字部ベクトル化処理用ワークメモリを確保する文字部ベクトル化処理用ワークメモリ確保手段と、前記確保した文字部ベクトル化処理用ワークメモリを用いて、前記処理結果保持用メモリに保持されている前記領域解析処理の結果に基づき前記第2のメモリ領域に格納されている文字部ベクトル化処理用画像に文字部ベクトル化処理を実行し、当該実行した文字部ベクトル化処理の結果を前記処理結果保持用メモリに格納する文字部ベクトル化処理手段と、前記文字部ベクトル化処理手段による処理の終了時に、前記メモリ上に確保されている前記第2のメモリ領域と前記文字部ベクトル化処理用ワークメモリとを開放する第2のメモリ開放手段と、前記入力画像から図画部のベクトル化処理に適した図画部ベクトル化処理用画像を生成し、当該生成した図画部ベクトル化処理用画像を、前記第2のメモリ開放手段で開放した後のメモリ上に確保した第3のメモリ領域に格納する図画部ベクトル化処理用画像生成手段と、前記第2のメモリ開放手段で開放した後のメモリ上に文字部穴埋め処理用ワークメモリを確保する文字部穴埋め処理用ワークメモリ確保手段と、前記確保した文字部穴埋め処理用ワークメモリを用いて、前記処理結果保持用メモリに保持されている前記領域解析処理の結果に基づき前記第3のメモリ領域に格納されている図画部ベクトル化処理用画像に文字部穴埋め処理を実行する文字部穴埋め処理手段と、前記文字部穴埋め処理手段による処理の終了時に、前記メモリ上に確保されている前記文字部穴埋め処理用ワークメモリを開放する第3のメモリ開放手段と、前記第3のメモリ開放手段で開放した後のメモリ上に図画部ベクトル化および穴埋め処理用ワークメモリを確保する図画部ベクトル化処理用ワークメモリ確保手段と、前記確保した図画部ベクトル化および穴埋め処理用ワークメモリを用いて、前記処理結果保持用メモリに保持されている前記領域解析処理の結果に基づき前記第3のメモリ領域に格納されている図画部ベクトル化処理用画像に図画部ベクトル化処理を実行し、当該実行した図画部ベクトル化処理の結果を前記処理結果保持用メモリに格納する図画部ベクトル化手段と、前記確保した図画部ベクトル化および穴埋め処理用ワークメモリを用いて、前記第3のメモリ領域に格納されている前記文字部穴埋め処理を実行した後の図画部ベクトル化処理用画像に対して、図画部穴埋め処理を実行する図画部穴埋め処理手段と、前記図画部穴埋め処理手段による処理の終了時に、前記メモリ上に確保されている前記図画部ベクトル化および穴埋め処理用ワークメモリを開放する第4のメモリ開放手段と、前記第4のメモリ開放手段で開放した後のメモリを用いて、前記処理結果保持用メモリに保持されている文字部ベクトル化処理の結果と図画部ベクトル化処理の結果と、前記第3のメモリ領域に保持されている文字部と図画部とが穴埋め処理された後の図画部ベクトル化処理用画像とを含む電子ファイルを生成する電子ファイル生成手段と、を有する。
【0012】
上記課題を解決するために、本発明の画像処理装置は、入力画像を保存するメモリと、前記入力画像から画像処理に適した画像を生成し、前記生成された画像を前記メモリ上に確保したメモリ領域に格納する画像生成手段と、前記メモリ上に前記画像処理用のワークメモリを確保するワークメモリ確保手段と、前記確保したワークメモリを用いて、前記メモリ領域に格納されている画像処理に適した画像に対して画像処理を実行し、前記メモリ上に確保された処理結果保持用のメモリ領域に、当該実行した画像処理の結果を格納する画像処理手段と、前記画像処理手段の画像処理の終了時に、前記メモリ上に確保されている前記メモリ領域と前記画像処理用のワークメモリとを開放するメモリ開放手段と、を備える画像処理装置であって、複数種類の画像処理それぞれに対して、前記画像生成手段と前記ワークメモリ確保手段と前記画像処理手段と前記メモリ開放手段とによる処理を実行し、前記処理結果保持用のメモリ領域から前記複数種類の画像処理それぞれの処理結果を含む電子ファイルを生成する電子ファイル生成手段を更に備える。
【発明の効果】
【0013】
本発明によれば、複数の処理をより少ないメモリで実行して、電子ファイルを生成することができる。
【図面の簡単な説明】
【0014】
【図1】システム構成例
【図2】処理構成を説明するためのブロック図
【図3】(A)領域解析処理のフローチャート、(B)属性判定のフローチャート
【図4】輪郭線の角を検出する場合の説明図
【図5】外輪郭と内輪郭から、1つの輪郭線を生成する場合の説明図
【図6】図画部ベクトル化処理のフローチャート
【図7】クリップアート領域のベクトル化処理を説明するためのブロック図
【図8】クリップアート穴埋め処理のフローチャート
【図9】ページ描画情報の例
【図10】電子ファイルの例
【図11】各処理部の処理手順と、そのときのメモリの内部状態を示す図
【図12】クリップアート領域を含む文書画像の例
【発明を実施するための形態】
【0015】
(実施例1)
図1は本実施形態1を用いたシステム構成を示す図の一例である。
【0016】
画像処理装置100は本発明を実現するための装置の構成例であり、スキャナ101、CPU102、メモリ103、ハードディスク104、ネットワークI/F105を備える。スキャナ101では、文書の紙面情報を読み取って画像データに変換する。CPU102では、コンピュータプログラムを実行することにより、画像データに本発明に係る画像処理を施す装置として機能する。メモリ103は、該プログラムを実行する際のワークメモリやデータの一時保存などに利用される。ハードディスク104は、該プログラムやデータを格納する。ネットワークI/F105は、外部装置とデータの入出力を行う。
【0017】
パーソナルコンピュータ(PC)120は、LAN110などのネットワークを介して画像処理装置100に接続され、画像処理装置100から送信されたデータを受信する。
【0018】
図2は本実施形態1で実行される処理の構成を説明するブロック図である。図2において、各処理を実行する処理部をS10〜S100で示し、処理対象となるデータや処理結果のデータを201〜211で示している。なお、本実施形態では、CPU102でコンピュータプログラムを実行して、コンピュータを図2の各処理部(処理ユニット)S10〜S100として機能させるものとするが、処理部S10〜S100の一部又は全部を電気回路で構成するようにしても構わない。なお、コンピュータプログラムはコンピュータ読み取り可能な記憶媒体に記憶されているものとする。また、データ201〜211を保持するのに必要なワークメモリと、各処理部S10〜S100の実行に必要なワークメモリは、メモリ103に確保される。本発明では、各処理部で行われる各画像処理の実行順序ならびに画像処理それぞれにおけるメモリの確保と開放のタイミングに特徴があるが、その詳細は後述する。
【0019】
まず、図2の各処理部で実行される処理の詳細を説明する。
【0020】
領域解析用画像生成部S10、文字部ベクトル化処理用画像生成部S20、図画部ベクトル化処理用画像生成部S30は、スキャナから入力された入力画像201の解像度や色空間変換を行い、後段の各処理に適した各画像202,203,204を生成する。なお、解像度変換および色空間変換の処理は公知の方法を用いる。
【0021】
領域解析用画像生成部S10では、入力画像201を、後段の領域解析部S40における処理に適した画像(領域解析用画像202)へ変換する。領域解析部S40の処理には、多値の中解像度の画像が適している。そのため、領域解析用画像生成部S10では、入力画像201(例えば、色空間RGB、解像度600dpi)を、色空間YCbCr・解像度300dpiの画像に変換し、領域解析用画像202を生成する。
【0022】
文字部ベクトル化処理用画像生成部S20では、入力画像201を、後段の文字部ベクトル化処理部S50の処理に適した画像(文字部ベクトル化処理用画像203)へ変換する。一般的にページの大きさに比べて文字のサイズは小さいので、文字ベクトル化処理部S50の処理には高解像度画像が適している。そこで、文字部ベクトル化処理用画像生成部S20では、入力画像201から輝度情報Yのみを取り出したグレースケールで解像度600dpiの画像に変換し、文字ベクトル化処理用画像203を生成する。
【0023】
図画部ベクトル化処理用画像生成部S30では、入力画像201を、後段の図画部ベクトル化処理部S70の処理に適した画像(図画部ベクトル化処理用画像204)へ変換する。色数の少ないイラストなどのクリップアート画像や、線画などのラインアート画像をベクトル化する場合、色毎の領域に分けてベクトル化するため、色の情報が重要であるので、図画部ベクトル化処理部S70の処理にはカラーで中解像度の画像が適している。そこで、図画部ベクトル化処理用画像生成部S30では、入力画像201を画素数の比がY:Cb:Cr=4:1:1の形式で解像度300dpiの画像に変換し、図画部ベクトル化処理用画像204を生成する。すなわち、色差情報Cb,Crの解像度を、輝度情報Yの解像度の半分にした画像(輝度情報と色差情報の解像度が異なる画像)を生成する。
【0024】
領域解析処理部S40は、領域解析用画像202を解析して、文字部、図画部等の領域を判別し、それぞれの領域に分割する。ここでは公知のカラー画像を領域分割する技術を用いることが可能である。本実施例では、特許文献WO2006/066325号公報に記載の技術を用いることとする。図3(A)は領域解析処理部S40が実行する領域解析処理のフローチャートである。
【0025】
ステップS401では、処理対象の領域解析用画像202を色量子化し、類似する色を持つ領域を統合する。
【0026】
ステップS402では、色量子化で求めた各領域の属性を判定する。本実施例では、文字、線画、写真、表、枠、ページ背景等の属性判定を行う。図3(B)はステップS402の属性判定の詳細を示すフローである。
【0027】
ステップS4021では、色量子化で求めた各領域について、色毎の画素連結成分(カラー連結成分)に変換し、各連結成分の統計値を求める。画素連結成分とは、同じと判断された色(類似色)を有する画素で且つ連結している(接触している)画素群ごとに作成されるグループである。統計値には、各連結成分の外接矩形の位置とサイズ、連結成分の画素数、境界線の長さ、平均色などを用いる。
【0028】
ステップS4022では、カラー連結成分をそれぞれの統計値を基に分類し、属性判定を行う。
【0029】
ステップS4023では、カラー連結成分の位置情報に基づいて、包含関係を調べて木構造を作成し、当該木構造に基づいてグループ化する。例えば、文字属性のカラー連結成分で、近傍に同様の文字属性の連結成分がある場合は、文字列や段落を形成すると判断して、1つの文字領域にグループ化する。グループ化した場合は、木構造を更新する。
【0030】
ステップS4024では、グループ化後のカラー連結成分に関する情報を生成して、領域情報205を保持するメモリを確保し、当該領域情報205の一部として該カラー連結成分に関する情報を格納する。領域情報205に格納されるカラー連結成分に関する情報は、文字、線画、写真、表、枠、ページ背景などの属性情報と各連結成分の位置情報とが含まれ、更に、連結成分同士の関係は木構造で表される。ベクトル化処理などの以降に行う各領域の処理結果は、領域情報205内に記録される。
【0031】
文字部ベクトル化処理部S50では、文字部ベクトル化処理用画像203を用いて文字用のベクトル化処理を行うことにより、文字部(本文内の文字画像や、表内の文字画像)をベクトル変換する。以下に、文字部のベクトル化処理について詳細を説明する。
【0032】
領域情報205に含まれる文字属性を有するカラー連結成分に基づいて、文字領域の位置情報を取得し、文字部ベクトル化処理用画像203において、対応する領域内のグレースケールの連結成分を解析し、高解像度の文字の連結成分を得る。そして、各文字の連結成分の輪郭をベクトルデータに変換する。なお、文字領域ごとに、グレースケールの文字部ベクトル化処理用画像203を2値化した後に、文字の連結成分を抽出し、当該連結成分の輪郭をベクトルデータにするようにしてもよい。
【0033】
文字の連結成分の輪郭をベクトルデータに変換する方法は、例えば次のような手法を用いることが可能である。文字の連結成分の輪郭を、直線および/または曲線の組み合わせとして表現するために、輪郭線を複数の区間(画素列)に区切る基準位置となる「角」を検出する。角とは曲率が極大となる点であり、例えば、図4の輪郭線上の画素Piが角か否かの判断は以下のように行う。すなわち、Piを起点とし、輪郭線に沿ってPiから両方向に所定画素数(ここではk個とする)離れた画素Pi−k、Pi+kを線分Lで結ぶ。画素Pi−k、Pi+k間の距離をd1、線分Lと画素Piとの距離をd2、画素Pi−k、Pi+k間の弧の長さをAとする。d2が極大となるとき、あるいは比(d1/A)が閾値以下となるときに画素Piを角と判断する。そして、輪郭の画素列を当該判断された角の位置で分割し、当該分割された各画素列を、直線あるいは曲線で近似する。直線への近似は最小二乗法等により実行し、曲線への近似は3次スプライン関数などを用いる。画素列を分割する角の画素は近似直線あるいは近似直線における、始端または終端となる。さらにベクトル化された輪郭内に、当該輪郭を構成する画素と異なる輝度の画素塊の輪郭(内輪郭)が存在するか否かを判断し、内輪郭が存在するときはその輪郭をベクトル化する。更に、内輪郭の内輪郭というように、再帰的に反転画素の内輪郭をベクトル化していく。このように、連結成分の輪郭の区分線近似を用いれば、文字部のアウトラインをベクトル化することができる。
【0034】
なお、図5に示すように、ある注目区間で外輪郭PRjと、内輪郭PRj+1あるいは別の外輪郭が一定間隔で近接している場合、2個あるいは複数の輪郭線をひとまとめにし、太さを持った線のベクトルデータとして表現するようにしてもよい。例えば、輪郭PRj+1の各画素Piから輪郭PRj上で最短距離となる画素Qiまでの距離PQiを算出する。そして、注目区間(例えばPi−1からPi+2の間)についての距離PQi−1〜距離PQi+2のばらつきがわずかである場合には、画素Pi、Qiの中点Miの点列に沿った直線または曲線で近似し、太さを有する線として表現し得る。なお、近似直線、近似曲線の太さは、例えば注目区間における距離PQiの平均値とする。
【0035】
このようにして、文字部ベクトル化処理部S50は、文字連結成分の輪郭からベクトルデータを生成し、カラー連結成分の色情報と合わせて、文字ベクトル206を生成して領域情報205内に記録する。
【0036】
文字部穴埋め処理部S60では、図画部ベクトル化処理用画像204における文字領域について穴埋め処理(文字の画素を背景色で塗りつぶす処理)を行う。本実施例では、文字画素部分を当該文字画素の周囲画素の平均色で塗る方法を用いる。
【0037】
まず、領域情報205から文字属性を有するカラー連結成分の情報を取得し、文字穴埋めワークメモリ内に画像として展開する。この文字穴埋めワークメモリに展開された画像の画素位置と、図画部ベクトル化処理用画像204を重ね合わせて、図画部ベクトル化処理用画像204における文字画素部分を特定する。次に、図画部ベクトル化処理用画像204において、それぞれの文字画素部分の周辺画素の平均色(すなわち各文字の背景の平均色)を算出する。最後に、図画部ベクトル化処理用画像204の文字画素部分を当該算出した平均色で塗りつぶす。これにより、文字ベクトル化された領域が、背景色で塗りつぶされた、文字画像部分が消された図画部ベクトル化処理用画像が生成されることになる。
【0038】
図画部ベクトル化処理部S70では、文字部の穴埋め処理が為された後の図画部ベクトル化処理用画像を用いて、図画部をベクトル変換する。図6を用いて、図画部ベクトル化処理部S70が実行する図画部ベクトル化処理を説明する。
【0039】
ステップS701では、図画領域(線画、色数の少ないイラストなどのクリップアート、表罫線、写真)の領域情報を基に、該当する領域の図画ベクトル化画像がベクトル処理可能かを判定する。処理可能であると判断すればステップS702へ遷移し、そうでなければステップS703へ遷移する。例えば、領域情報の属性を参照し、線画、色数の少ないイラストなどのクリップアート、表であれば、ベクトル化処理可能と判断し、写真などの自然画はベクトル化処理に不適と判断する。また、処理対象の領域内の色量子化結果が過分割と判断される場合(カラー連結成分の数が過剰である場合)や、領域情報の面積が一定値以上である場合も、計算量と処理速度を考慮して、ベクトル化処理に適さない領域と判断してもよい。
【0040】
ステップS702では、図画部のベクトル化処理を実行し、図画ベクトル207を生成する。なお、線画や表罫線のベクトル化を行う際も文字部と同様に輪郭線を近似してベクトル化処理することが可能であり、特に、線や線の集合体である表罫線は、太さを有する線の集合として表現することにより、効率よくベクトル表現することができる。また、線画(ラインアート)をベクトル化する手法としては、特開2007−293829号公報に開示される手法を用いることもできる。また、イラストなどのクリップアート領域をベクトル化する手法としては、特開2006−344069号公報に開示される方法を用いることもできる。
【0041】
図7を用いて、本実施形態におけるクリップアート領域のベクトル化処理の詳細を説明する。図7のS7021〜S7024は、ベクトル化処理S702を実行する図画部ベクトル化処理部S70を構成する詳細な処理部である。また、データ212〜215は、図画部ベクトル化および穴埋め用ワークメモリとして確保されたメモリ103上に記録される。
【0042】
高解像度化処理部S7021は、複数の色成分のうちの少なくとも1つ以上の色成分の解像度が粗いYCbCr画像を、最も高い解像度の色成分の解像度に合わせたRGB画像に変換する。本実施例では、図画部ベクトル化処理用画像204がY:Cb:Cr=4:1:1の画像(Cb,Crの色成分の解像度がY成分より低い画像)であるので、これをRGB画像212に変換することで、Yの色成分の解像度と等しい解像度に戻す。
【0043】
クリップアート領域分割部S7022では、領域情報205に格納されているカラー連結成分の位置情報に基づいて、RGB画像212において矩形のクリップアート領域を抽出し、当該クリップアート領域にある各画素を色特徴に基づき色毎の領域に分割する。
【0044】
クリップアート領域内背景同定部S7023は、前記クリップアート領域分割部S7022の領域分割結果に基づき、当該クリップアート領域における背景領域情報214とクリップアート内の背景色213とを同定する。例えば、クリップアート領域分割部の領域分割結果のうち、クリップアート領域の外接矩形の境界に接する画素数が多い領域をクリップアート領域内の背景領域として同定する。同定された背景領域情報214とクリップアート内背景色213は、中間情報215として保持される。なお、中間情報215には、その他の図示しないクリップアートベクトル化処理途中で生成される各種の情報が保持されている。
【0045】
クリップアートベクトル化部S7024は、背景領域同定部7023の同定結果に基づき、クリップアート領域分割部S7022の領域分割結果のうち、背景領域以外の各領域部分をベクトル化し、クリップアート領域の図画部ベクトル207を生成する。
【0046】
なお、中間情報215として保持される背景領域情報214およびクリップアート内背景色213は、後述する図画部穴うめ処理部S80においても使用される。
【0047】
図6の説明に戻る。ステップS703では、ベクトル化に適さない写真などの領域について、ラスター画像の切り出し処理をする。ここでは、文字部の穴埋めを行った後の図画部ベクトル化処理用画像204から、該当する領域を切り出し、矩形写真画像を生成する。
【0048】
ステップS702で生成された図画ベクトル207や、ステップS703で生成された矩形写真画像208は、領域情報205内に記録される。
【0049】
図画部穴埋め処理部S80では、図画領域それぞれに対する穴埋め処理を行い、下地画像209を生成する。図画部穴埋め処理部S80は、前段の図画部ベクトル化処理部S70における出力結果において、図画部ベクトルが生成されたか、矩形写真画像が生成されたかに応じて、領域ごとに穴埋め処理の手法を切り替える。
【0050】
矩形写真画像が生成された図画領域の場合、当該領域の周辺画素の平均色を計算し、当該計算された平均色で、図画部ベクトル化処理用画像204内の対応する図画領域を埋める。
【0051】
以下、図画領域がクリップアート領域であった場合についての穴埋め処理について詳細を説明する。図12(a)は、クリップアート領域を含んでいる文書画像の例を表している。図12(b)は、ベクトル化対象としてのクリップアート領域を抽出し、その外接矩形であるオブジェクト外接矩形81を表している。また、中間情報215に保持されているクリップアート領域における背景領域情報214には、クリップアート領域の外接矩形の境界に接する画素数が多い領域がクリップアート領域内の背景領域82として同定されている。図12(b)のクリップアート領域から背景領域83をベクトル化対象から外し、背景以外の領域(ベクトル化対象オブジェクト87)のみを表現した図が、図12(c)である。図12(c)において、境界85は、オブジェクト領域(背景以外の領域)と下地84との境界部(以降、『境界部1』と称する)を示している。また、境界86はオブジェクト領域(背景以外の領域)とクリップアート領域内の背景との境界部(以降、『境界部2』とも称する)を示している。次に、このクリップアート穴埋め処理について、図8のフローチャートを用いて詳細説明する。
【0052】
ステップS1101では、処理対象であるクリップアート領域内の背景領域に基づき、背景領域を判別するための情報を、高解像度化され且つ1画素1ビットで生成された2値のビットマップ画像(背景識別用画像)として生成する。背景領域とオブジェクト領域とを画素値がそれぞれ1か0かで判別できる形式に生成しながらワークメモリに保持する。その際に、当該クリップアート領域に対応する画像データのラスター走査順での処理の準備として、一連の初期化処理を行う。そして、一連の初期化処理が終了すると、ラスター走査順にクリップアート領域に対応する部分の穴埋め処理を開始する。
【0053】
ステップS1102では、図画部ベクトル化処理用画像204における当該クリップアート領域に対応する部分の画像データのCrデータ(Cbデータでも良い)をラスター走査する。この時点でのラスター走査順の注目位置における画素が上述した境界部1でもなく、かつ境界部2でもない背景領域内にある画素か否かを判定する。具体的には、この時点でのラスター走査順の注目位置における画素が上述のビットマップ画像(背景識別用画像)上での対応部分(2×2画素の領域が対応する)の2×2画素の4画素のうち、全てが背景領域の画素であるか否かを調べる。そして、4画素全てが背景画素であれば境界以外の背景領域であると判定する。
【0054】
判定した結果、注目画素が境界以外の背景領域の画素である場合、ステップS1107へ進み、境界以外の背景領域の画素でない場合、ステップS1103へ進む。
【0055】
ステップS1103では、ステップS1102と同様に、注目画素が境界部2に相当する画素(即ち、背景領域とオブジェクト領域(クリップアート領域内における背景以外の領域)との境界)であるか否かを判定する。つまり、その時点でのラスター走査順の注目位置における画素が上述のビットマップ画像(背景識別用画像)上での対応部分の2×2画素の4画素のうち、何れかの画素が背景領域の画素で且つ4画素中の残る画素が全てオブジェクト領域の画素であるか否かを調べる。この条件を満たす場合、注目画素は境界部2に相当する画素(即ち、背景領域とオブジェクト領域との境界)であると判定する。
【0056】
判定した結果、注目画素が背景領域とオブジェクト領域との境界に相当する場合、ステップS1108へ進み、背景領域とオブジェクト領域との境界に相当しない場合には、ステップS1104へ進む。
【0057】
ステップS1104では、上述した判定処理と同様に、注目画素が境界部1に相当する画素(即ち、下地領域とオブジェクト領域との境界)であるか否かを判定する。つまり、注目画素が上述のビットマップ画像(背景識別用画像)上での対応部分(2×2画素の領域が対応する)の2×2画素の4画素のうち、何れかの画素がオブジェクト領域の画素で、かつ4画素中の残る画素の何れかが下地領域の画素であるか否かを調べる。この条件を満たす場合、注目画素は境界部1に相当する画素(即ち、下地領域とオブジェクト領域との境界)であると判定する。
【0058】
判定した結果、注目画素が下地領域とオブジェクト領域との境界に相当する場合、ステップS1109へ進み、下地領域とオブジェクト領域との境界に相当しない場合には、ステップS1105へ進む。ステップS1105では、注目画素が、オブジェクト領域(前景となるオブジェクト本体)の画素の場合となっているので、背景色(Y,Cb,Cr)で穴埋めを行う。即ち、低解像度化されてRAM30上に保持されている画像データ上で、その時点でのラスター走査順の注目位置における画素のCbデータ、Crデータ、Yデータを背景色データから得られる各値に置き換える。ここでクリップアート領域内の背景色データは、RGBデータで保持しているので、これをYCbCrに変換して得られる。
【0059】
次に、ステップS1106では、当該クリップアート領域に対応する画像データのラスター走査順での処理が当該領域の最終画素まで進んだか否かを判断する。判断した結果、最終画素まで終了したのであれば、この一連の処理を終えて終了し、終了していない場合には、ステップS1107へ進む。ステップS1107では、注目する位置の画素(注目画素)を次の位置の画素に進め、ステップS1102に戻る。
【0060】
一方、ステップS1108では、注目画素は境界部2に相当する画素(即ち、背景領域とオブジェクト領域との境界)であるので、注目画素のCbとCrのみを、背景色データから得られる各値に置き換える。即ち、境界部2が背景色データで穴埋め処理される。ここで背景色データは、RGBデータで保持しているので、これをYCbCrに変換して得られる。そして、ステップS1108の処理を終えると、上述したステップS1106へ進む。
【0061】
一方、ステップS1109では、注目画素は境界部1に相当する画素(即ち、下地領域とオブジェクト領域との境界)であるので、注目画素のY,Cb,Crはそのままの値として残し、背景色のデータに置き換えない。即ち、境界部1は、下地領域の色で穴埋め処理される。そして、ステップS1109の処理を終えると、上述したステップS1106へ進む。
【0062】
このように構成することにより、カラー文書のページ内の図形のベクトル化対象オブジェクトと、これを含む外接矩形領域外の背景とが異なる解像度のデータで構成されている場合でも、境界部分に偽色が発生しない。境界部分は、ベクトル化対象オブジェクトとその外接矩形領域外との矩形境界部分や、ベクトル化対象オブジェクトとその外接矩形内におけるベクトル化対象オブジェクト以外の背景領域との境界部分である。
【0063】
ページ描画情報生成処理部S90では、各処理部で生成されたデータおよび領域情報を一つにまとめる。ページ描画情報生成処理で生成されたデータの一例を図9に示す。2100は、ページ描画情報生成処理部S90で生成されたページ描画情報210の全体構成例である。テキストオブジェクト2101には、領域解析部S40が文字と判断した領域のベクトル変換結果(文字ベクトル206)と、画像中における位置情報とを保持する。同様に、写真オブジェクト2102には矩形写真画像208とその位置情報が保持され、図画オブジェクト2103には、クリップアートや線画(ラインアート)のベクトル変換結果(図画ベクトル207)とその位置情報が保持される。また、背景オブジェクト2104には、穴埋め処理後の画像(下地画像209)とその位置情報が保持される。また、プロパティ2105には、入力データの書誌情報(例えば、ページ数、ページサイズ、入力機器情報、タイムスタンプなど)が保持される。
【0064】
電子ファイル生成部S100では、ページ描画情報210を電子ファイル211に変換する。本実施例では、PC120で再生や編集等が可能な電子ファイルへ変換する。
【0065】
図10の電子ドキュメント2100は、本実施例の説明のために作られた仮想的なXMLフォーマットに従って作られた電子ファイル211の例である。図10において、2111は、図9の背景オブジェクト2104の下地画像データを1ページ全体に描画する記述の例である。また、2112は、写真オブジェクト2102内の写真画像を位置情報により指定された位置に描画する記述である。また、2113は図画オブジェクト2103内の図画ベクトルをページ内の指定位置に描画する記述である。2114は、文字オブジェクト2101内の文字ベクトルをページ内の指定位置に描画する記述である。図10の電子ドキュメントを受信したPCでは、2111〜2114に記述された情報を順に描画することで、背景、写真、図画ベクトル、文字ベクトルを重ねあわせて元の文書と同等の外観を有すページ画像を再生可能である。また、2111〜2114の記述それぞれをオブジェクトとして編集用途に供することも可能である。なお、図10はあくまで一例であって、他のフォーマットを用いて記述してもよい。例えば、PDF、XPS、SVGなどのグラフィックページ記述、Office Open XML、Open Document Format などのページ編集データ記述などを用いてもよい。変換されるフォーマットの種類は、予めユーザに指定させておいてもよいし、変換処理の途中でユーザに問い合わせて指定させることも可能である。
【0066】
本発明における各処理の実行順序ならびに各処理におけるメモリの確保と開放のタイミングについての詳細を説明する。図11は、図2の各処理部の処理手順と、その処理順ごとにメモリ103の内部状態をどのように変更しているかの模式図である。すなわち、図11(A)は本発明における各処理部の処理順であり、図11(B)は各処理を行っているときのメモリ103の内部挙動(メモリ103の使用状況)を示す。
【0067】
図11(B)において、縦軸は処理順にしたがった時間軸を示し、横軸はメモリアドレス(メモリの使用状況)を示している。図11(B)の各矩形は、各種データやワークメモリとして使用されるメモリ領域が、メモリ103に確保されるタイミングとメモリアドレスとを示すものである。その矩形の上端と下端は、メモリの確保と開放のタイミングを示し、このタイミングは矩形上端、下端の水平線上にある図11(A)の各処理ステップでの処理タイミングと適合するように記載している。具体例を挙げると、入力画像201が格納されるメモリ領域は、メモリ103に確保された状態で図11(A)の処理が開始され、ページ描画情報生成部S90の処理の終了時に開放される。
【0068】
以下では、図11の詳細を説明する。開始時の初期状態は、スキャナやネットワークを介して入力された入力画像201が103メモリ上に確保された入力画像保持用メモリ領域に保存されている。
【0069】
まず、図11(A)に示すように、領域解析用画像生成部S10による領域解析用画像の生成処理が行われる。この処理が実行されると、メモリ103上に領域解析処理用ワークメモリ216が確保されるとともに、解析処理用画像202を格納するためのメモリ領域が確保され、入力画像201から生成された解析用画像202が該メモリ領域に保存される。
【0070】
次に、領域解析部S40は、前記確保されている解析処理用ワークメモリ(解析処理用メモリ領域)216を用い、領域解析用画像202を処理対象画像として領域解析処理を実行する。ここでは、領域情報205のメモリ領域(処理結果保持用のメモリ領域)を確保し、領域解析結果であるカラー連結成分212に関する情報(各カラー連結成分の属性情報と位置情報を含む)を領域情報205(処理結果保持用メモリ領域)内に保存する。領域解析部S40の解析処理の終了時には、領域解析用画像202が保持されていたメモリ領域および解析処理用ワークメモリ216を解放する(メモリ開放)。
【0071】
次に、文字部ベクトル化処理用画像生成部S20による文字部ベクトル化処理用画像の生成処理が行われる。この処理が実行されると、メモリ103上に文字部ベクトル化処理用ワークメモリ217が確保されるとともに、文字部ベクトル化処理用画像203を格納するためのメモリ領域が確保される。そして、入力画像201から生成された文字部ベクトル化処理用画像203が画像保持用に当該確保されたメモリ領域に保存される。なお、これらのメモリ領域は、図11(B)に示すように、領域解析処理部S40の処理後に開放されたメモリ領域に確保されることになる。
【0072】
次に、文字部ベクトル化処理部S50は、前記確保されている文字部ベクトル化処理用ワークメモリを用いて、文字部ベクトル化処理用画像203を処理対象画像として文字部のベクトル化処理を実行する。この文字部ベクトル化処理は、領域情報205に保持されている領域解析結果の文字領域に対応する位置の文字部ベクトル化処理用画像に対して実行される。処理の詳細は前述した通りである。文字部のベクトル化処理結果である各文字領域の文字ベクトル206は、領域情報205内に記録される。文字部ベクトル化処理部S50のベクトル化処理の終了時には、文字部ベクトル化処理用画像203が保持されていたメモリ領域および文字部ベクトル化処理用ワークメモリ217を解放する。
【0073】
次に、図画部ベクトル化処理用画像生成部S30による図画部ベクトル化処理用画像の生成処理が行われる。この処理が実行されると、メモリ103上に、図画部ベクトル化処理用画像204を格納するためのメモリ領域が確保され、入力画像201から生成された図画部ベクトル化処理用画像204が該メモリ領域に保存される。なお、このメモリ領域は、図11(B)に示すように、文字部ベクトル化処理部S50の処理後に開放されたメモリ領域に確保されることになる。
【0074】
次に、文字部穴埋め処理部S60は、メモリ103に文字部穴埋め処理用ワークメモリ218を確保し、文字部の穴埋め処理を実行する。ここでは、上述したように、領域情報205から文字領域の画素連結成分(文字属性のカラー連結成分)に関する情報を取り出し、文字穴埋めワークメモリ218に画像として展開する。そして、文字穴埋めワークメモリ218に展開した文字画像と図画部ベクトル化処理用画像204とを重ね合わせて、図画部ベクトル化処理用画像204における文字画素部分を特定する。次に図画部ベクトル化処理用画像204の文字画素部分の周辺画素の平均色を算出し、図画部ベクトル化処理用画像204の文字画素部分を当該算出した平均色で塗りつぶす。以上のようにして、文字部穴埋め処理部S60の処理が終了すると、図画部ベクトル化処理用画像204は文字領域が穴埋めされ、図画部領域とページ背景からなる画像となっている。すなわち、前記図画部ベクトル化処理用画像を格納するためのメモリ領域に、文字部が穴埋めされた後の図画部ベクトル化処理用画像204が格納されることになる。前記文字部穴埋め処理部S60の処理終了時には、文字穴埋めワークメモリ218を開放する。
【0075】
次に、図画部ベクトル化処理部S70は、メモリ103に図画部ベクトル化および穴埋め処理用のワークメモリ219を確保し、図画部のベクトル化処理を実行する。この図画部ベクトル化処理は、領域情報205に保持されている領域解析結果の図画領域に対応する位置の図画部ベクトル化処理用画像に対して実行される。処理の詳細は前述した通りである。図画部のベクトル化処理結果として得られる図画部ベクトル207および矩形写真画像208は、領域情報205内に記録される。また、図画部ベクトル化処理用のワークメモリ219には、図7で示したデータ212〜215が記録される。
【0076】
次に、図画部穴埋め処理部S80において、図画部の穴埋め処理を実行する。ここでは、図7〜図8を用いて説明したように、文字部穴埋め処理後の図画部ベクトル処理用画像204に対して図画部穴埋め処理が実行される。よって、図画部穴埋め処理部S80の処理が終了すると、図画部ベクトル処理用画像204はページ背景のみで構成される画像となり、図2の下地画像209として以降の処理に用いられる。また、図画部穴埋め処理部S80の処理終了時には、メモリ103上の図画部ベクトル化および穴埋め用ワークメモリ219を解放する。
【0077】
次に、ページ描画情報生成部S90は、メモリ103にページ描画情報210を格納するメモリ領域を確保し、ページ描画情報を生成して該メモリ領域に保存する。ここでは、領域情報205に保存されている文字ベクトル206と図画ベクトル207と矩形写真画像208を取得し、下地画像209を文字部と図画部とが穴埋めされた図画部ベクトル化処理用画像204から取得し、入力データの書誌情報をプロパティとしてページ描画情報を生成する。ページ描画情報生成部S90の処理終了時には、メモリ103上の図画部ベクトル処理用画像204のメモリ領域、領域情報205のメモリ領域、入力画像201のメモリ領域を解放する。
【0078】
次に、電子ファイル生成部S100では、電子ファイル211を格納するメモリ領域を確保し、前述したように、ページ描画情報210を変換して予め指定されたフォーマットの電子ファイル211を生成する。電子ファイル211を格納するメモリ領域は、ページ描画情報生成部S90の処理終了時に開放されたメモリ領域に確保される。電子ファイル生成部S100の処理終了時には、メモリ103上のページ描画情報210が保持されていたメモリ領域を解放する。
【0079】
以上述べたように、本実施形態では、領域解析処理に適した画像と、文字部ベクトル化処理に適した画像と、図画部ベクトル化処理に適した画像とを、複数種類の画像処理それぞれの直前に生成する。そして、各処理結果を別途確保した領域情報205内に記録することにより、処理が終了した時点で不要となった各処理用画像および処理用ワークメモリを開放する用に構成した。これにより、より少ないメモリ容量で、電子ファイルの生成が実現できるようになる。
【0080】
(その他の実施例)
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。
【技術分野】
【0001】
本発明は、入力された画像に対して領域解析処理とベクトル化処理を行って、電子ファイルを生成する画像処理装置、画像処理方法に関する。
【背景技術】
【0002】
近年、情報の電子化が進み、紙文書をそのまま保存するのではなく、スキャナ等によりスキャンして電子化して保存したり、その電子データを他装置に送信したりするシステムが普及してきている。電子データを送信する際のデータ量を削減するため、電子化された文書に対して高い圧縮性が要求されている。また一方、電子データの高画質性も要求されている。
【0003】
そこで、特許文献1では、まず、スキャン画像に対して領域解析処理(領域識別処理)を行うことにより、文字領域や線画領域、写真領域等を抽出する。そして、当該抽出された文字領域や線画領域をベクトルデータに変換し、それ以外のベクトル化に適していない領域(写真領域(自然画)等)をJPEGで圧縮する。そして、各領域の圧縮結果(ベクトルデータ、JPEG圧縮データ等)を1つのファイルに合成して出力することにより、生成されるファイルの高圧縮性、再利用性、高画質性を向上させる手法が提案されている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2007−272601号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
文字領域と図画領域(出現する色数が限られたイラストなどの領域や、線画領域など)との両方をベクトル化処理(ベクトル変換処理)する場合が考えられるが、文字領域と図画領域とでは、ベクトル化処理に適した画像の解像度は異なる。すなわち、文字は図画領域に比べ、複雑かつ小さいことが多いので、文字領域のベクトル処理を行う際の画像には高解像度の画像が必要である。一方、図画領域の場合は、解像度よりも色の情報が重要になることが多い。よって、図画領域のベクトル化処理を行う際は、文字領域をベクトル化処理するときよりも低い解像度の画像(例えば、中解像度の画像)でもよいが、カラー画像が必要である。また、ベクトル化処理の前に行う領域解析処理は、高速に処理することが望まれるため、N値に減色された多値の中解像度以下の画像を用いればよい。
【0006】
しかしながら、領域解析処理と、文字領域のベクトル化処理と、図画領域のベクトル化処理とのそれぞれの画像処理に適した3種類の画像を同時に保持しようとすると、多くのメモリが必要になってしまう。
【0007】
具体例をあげる。例えば、600dpiの多値画像を入力した場合、解析処理用に300dpiでYCbCrの画像、文字領域のベクトル化処理用に600dpiのグレースケールの画像、図画ベクトルおよび背景用に300dpiで画素数の比がY:Cb:Cr=4:1:1の画像にそれぞれ変換して保持すると仮定する。この場合、元画像の2倍以上のメモリを確保しなければ、全ての画像を保持することができない。
【0008】
更に、ページ中のそれぞれの領域に適したベクトル化処理や穴埋め処理を行う場合、それぞれの処理に必要なワークメモリもそれぞれ確保しなければならない。また、最終出力物である電子ファイルの生成まで、個々の変換処理の結果もメモリに保持する必要がある。
【0009】
これらのワークメモリや各種データを保持するためのメモリを個別に保持しようとすると、多くのメモリ量が必要となってしまう。
【0010】
本発明では、領域解析処理、文字部のベクトル化処理、図画部のベクトル化処理それぞれの画像処理に適した画像を生成して各処理を実行して、電子ファイルを生成する際に、より少ないメモリ容量で実行可能とする。
【課題を解決するための手段】
【0011】
上記課題を解決するために、本発明の画像処理装置は、入力画像を保存するメモリと、前記入力画像から領域解析処理に適した領域解析用画像を生成し、当該生成した領域解析用画像を、前記メモリ上に確保した第1のメモリ領域に格納する領域解析用画像生成手段と、前記メモリ上に領域解析処理用ワークメモリを確保する領域解析処理用ワークメモリ確保手段と、前記確保した領域解析処理用ワークメモリを用いて、前記第1のメモリ領域に格納されている領域解析用画像に領域解析処理を実行し、前記メモリ上に確保された処理結果保持用の処理結果保持用メモリ領域に、当該実行した領域解析処理の結果を格納する領域解析手段と、前記領域解析手段による処理の終了時に、前記メモリ上に確保されている前記第1のメモリ領域と前記領域解析処理用ワークメモリとを開放する第1のメモリ開放手段と、前記入力画像から文字部のベクトル化処理に適した文字部ベクトル化処理用画像を生成し、当該生成した文字部ベクトル化処理用画像を、前記第1のメモリ開放手段で開放した後のメモリ上に確保した第2のメモリ領域に格納する文字部ベクトル化処理用画像生成手段と、前記第1のメモリ開放手段で開放した後のメモリ上に文字部ベクトル化処理用ワークメモリを確保する文字部ベクトル化処理用ワークメモリ確保手段と、前記確保した文字部ベクトル化処理用ワークメモリを用いて、前記処理結果保持用メモリに保持されている前記領域解析処理の結果に基づき前記第2のメモリ領域に格納されている文字部ベクトル化処理用画像に文字部ベクトル化処理を実行し、当該実行した文字部ベクトル化処理の結果を前記処理結果保持用メモリに格納する文字部ベクトル化処理手段と、前記文字部ベクトル化処理手段による処理の終了時に、前記メモリ上に確保されている前記第2のメモリ領域と前記文字部ベクトル化処理用ワークメモリとを開放する第2のメモリ開放手段と、前記入力画像から図画部のベクトル化処理に適した図画部ベクトル化処理用画像を生成し、当該生成した図画部ベクトル化処理用画像を、前記第2のメモリ開放手段で開放した後のメモリ上に確保した第3のメモリ領域に格納する図画部ベクトル化処理用画像生成手段と、前記第2のメモリ開放手段で開放した後のメモリ上に文字部穴埋め処理用ワークメモリを確保する文字部穴埋め処理用ワークメモリ確保手段と、前記確保した文字部穴埋め処理用ワークメモリを用いて、前記処理結果保持用メモリに保持されている前記領域解析処理の結果に基づき前記第3のメモリ領域に格納されている図画部ベクトル化処理用画像に文字部穴埋め処理を実行する文字部穴埋め処理手段と、前記文字部穴埋め処理手段による処理の終了時に、前記メモリ上に確保されている前記文字部穴埋め処理用ワークメモリを開放する第3のメモリ開放手段と、前記第3のメモリ開放手段で開放した後のメモリ上に図画部ベクトル化および穴埋め処理用ワークメモリを確保する図画部ベクトル化処理用ワークメモリ確保手段と、前記確保した図画部ベクトル化および穴埋め処理用ワークメモリを用いて、前記処理結果保持用メモリに保持されている前記領域解析処理の結果に基づき前記第3のメモリ領域に格納されている図画部ベクトル化処理用画像に図画部ベクトル化処理を実行し、当該実行した図画部ベクトル化処理の結果を前記処理結果保持用メモリに格納する図画部ベクトル化手段と、前記確保した図画部ベクトル化および穴埋め処理用ワークメモリを用いて、前記第3のメモリ領域に格納されている前記文字部穴埋め処理を実行した後の図画部ベクトル化処理用画像に対して、図画部穴埋め処理を実行する図画部穴埋め処理手段と、前記図画部穴埋め処理手段による処理の終了時に、前記メモリ上に確保されている前記図画部ベクトル化および穴埋め処理用ワークメモリを開放する第4のメモリ開放手段と、前記第4のメモリ開放手段で開放した後のメモリを用いて、前記処理結果保持用メモリに保持されている文字部ベクトル化処理の結果と図画部ベクトル化処理の結果と、前記第3のメモリ領域に保持されている文字部と図画部とが穴埋め処理された後の図画部ベクトル化処理用画像とを含む電子ファイルを生成する電子ファイル生成手段と、を有する。
【0012】
上記課題を解決するために、本発明の画像処理装置は、入力画像を保存するメモリと、前記入力画像から画像処理に適した画像を生成し、前記生成された画像を前記メモリ上に確保したメモリ領域に格納する画像生成手段と、前記メモリ上に前記画像処理用のワークメモリを確保するワークメモリ確保手段と、前記確保したワークメモリを用いて、前記メモリ領域に格納されている画像処理に適した画像に対して画像処理を実行し、前記メモリ上に確保された処理結果保持用のメモリ領域に、当該実行した画像処理の結果を格納する画像処理手段と、前記画像処理手段の画像処理の終了時に、前記メモリ上に確保されている前記メモリ領域と前記画像処理用のワークメモリとを開放するメモリ開放手段と、を備える画像処理装置であって、複数種類の画像処理それぞれに対して、前記画像生成手段と前記ワークメモリ確保手段と前記画像処理手段と前記メモリ開放手段とによる処理を実行し、前記処理結果保持用のメモリ領域から前記複数種類の画像処理それぞれの処理結果を含む電子ファイルを生成する電子ファイル生成手段を更に備える。
【発明の効果】
【0013】
本発明によれば、複数の処理をより少ないメモリで実行して、電子ファイルを生成することができる。
【図面の簡単な説明】
【0014】
【図1】システム構成例
【図2】処理構成を説明するためのブロック図
【図3】(A)領域解析処理のフローチャート、(B)属性判定のフローチャート
【図4】輪郭線の角を検出する場合の説明図
【図5】外輪郭と内輪郭から、1つの輪郭線を生成する場合の説明図
【図6】図画部ベクトル化処理のフローチャート
【図7】クリップアート領域のベクトル化処理を説明するためのブロック図
【図8】クリップアート穴埋め処理のフローチャート
【図9】ページ描画情報の例
【図10】電子ファイルの例
【図11】各処理部の処理手順と、そのときのメモリの内部状態を示す図
【図12】クリップアート領域を含む文書画像の例
【発明を実施するための形態】
【0015】
(実施例1)
図1は本実施形態1を用いたシステム構成を示す図の一例である。
【0016】
画像処理装置100は本発明を実現するための装置の構成例であり、スキャナ101、CPU102、メモリ103、ハードディスク104、ネットワークI/F105を備える。スキャナ101では、文書の紙面情報を読み取って画像データに変換する。CPU102では、コンピュータプログラムを実行することにより、画像データに本発明に係る画像処理を施す装置として機能する。メモリ103は、該プログラムを実行する際のワークメモリやデータの一時保存などに利用される。ハードディスク104は、該プログラムやデータを格納する。ネットワークI/F105は、外部装置とデータの入出力を行う。
【0017】
パーソナルコンピュータ(PC)120は、LAN110などのネットワークを介して画像処理装置100に接続され、画像処理装置100から送信されたデータを受信する。
【0018】
図2は本実施形態1で実行される処理の構成を説明するブロック図である。図2において、各処理を実行する処理部をS10〜S100で示し、処理対象となるデータや処理結果のデータを201〜211で示している。なお、本実施形態では、CPU102でコンピュータプログラムを実行して、コンピュータを図2の各処理部(処理ユニット)S10〜S100として機能させるものとするが、処理部S10〜S100の一部又は全部を電気回路で構成するようにしても構わない。なお、コンピュータプログラムはコンピュータ読み取り可能な記憶媒体に記憶されているものとする。また、データ201〜211を保持するのに必要なワークメモリと、各処理部S10〜S100の実行に必要なワークメモリは、メモリ103に確保される。本発明では、各処理部で行われる各画像処理の実行順序ならびに画像処理それぞれにおけるメモリの確保と開放のタイミングに特徴があるが、その詳細は後述する。
【0019】
まず、図2の各処理部で実行される処理の詳細を説明する。
【0020】
領域解析用画像生成部S10、文字部ベクトル化処理用画像生成部S20、図画部ベクトル化処理用画像生成部S30は、スキャナから入力された入力画像201の解像度や色空間変換を行い、後段の各処理に適した各画像202,203,204を生成する。なお、解像度変換および色空間変換の処理は公知の方法を用いる。
【0021】
領域解析用画像生成部S10では、入力画像201を、後段の領域解析部S40における処理に適した画像(領域解析用画像202)へ変換する。領域解析部S40の処理には、多値の中解像度の画像が適している。そのため、領域解析用画像生成部S10では、入力画像201(例えば、色空間RGB、解像度600dpi)を、色空間YCbCr・解像度300dpiの画像に変換し、領域解析用画像202を生成する。
【0022】
文字部ベクトル化処理用画像生成部S20では、入力画像201を、後段の文字部ベクトル化処理部S50の処理に適した画像(文字部ベクトル化処理用画像203)へ変換する。一般的にページの大きさに比べて文字のサイズは小さいので、文字ベクトル化処理部S50の処理には高解像度画像が適している。そこで、文字部ベクトル化処理用画像生成部S20では、入力画像201から輝度情報Yのみを取り出したグレースケールで解像度600dpiの画像に変換し、文字ベクトル化処理用画像203を生成する。
【0023】
図画部ベクトル化処理用画像生成部S30では、入力画像201を、後段の図画部ベクトル化処理部S70の処理に適した画像(図画部ベクトル化処理用画像204)へ変換する。色数の少ないイラストなどのクリップアート画像や、線画などのラインアート画像をベクトル化する場合、色毎の領域に分けてベクトル化するため、色の情報が重要であるので、図画部ベクトル化処理部S70の処理にはカラーで中解像度の画像が適している。そこで、図画部ベクトル化処理用画像生成部S30では、入力画像201を画素数の比がY:Cb:Cr=4:1:1の形式で解像度300dpiの画像に変換し、図画部ベクトル化処理用画像204を生成する。すなわち、色差情報Cb,Crの解像度を、輝度情報Yの解像度の半分にした画像(輝度情報と色差情報の解像度が異なる画像)を生成する。
【0024】
領域解析処理部S40は、領域解析用画像202を解析して、文字部、図画部等の領域を判別し、それぞれの領域に分割する。ここでは公知のカラー画像を領域分割する技術を用いることが可能である。本実施例では、特許文献WO2006/066325号公報に記載の技術を用いることとする。図3(A)は領域解析処理部S40が実行する領域解析処理のフローチャートである。
【0025】
ステップS401では、処理対象の領域解析用画像202を色量子化し、類似する色を持つ領域を統合する。
【0026】
ステップS402では、色量子化で求めた各領域の属性を判定する。本実施例では、文字、線画、写真、表、枠、ページ背景等の属性判定を行う。図3(B)はステップS402の属性判定の詳細を示すフローである。
【0027】
ステップS4021では、色量子化で求めた各領域について、色毎の画素連結成分(カラー連結成分)に変換し、各連結成分の統計値を求める。画素連結成分とは、同じと判断された色(類似色)を有する画素で且つ連結している(接触している)画素群ごとに作成されるグループである。統計値には、各連結成分の外接矩形の位置とサイズ、連結成分の画素数、境界線の長さ、平均色などを用いる。
【0028】
ステップS4022では、カラー連結成分をそれぞれの統計値を基に分類し、属性判定を行う。
【0029】
ステップS4023では、カラー連結成分の位置情報に基づいて、包含関係を調べて木構造を作成し、当該木構造に基づいてグループ化する。例えば、文字属性のカラー連結成分で、近傍に同様の文字属性の連結成分がある場合は、文字列や段落を形成すると判断して、1つの文字領域にグループ化する。グループ化した場合は、木構造を更新する。
【0030】
ステップS4024では、グループ化後のカラー連結成分に関する情報を生成して、領域情報205を保持するメモリを確保し、当該領域情報205の一部として該カラー連結成分に関する情報を格納する。領域情報205に格納されるカラー連結成分に関する情報は、文字、線画、写真、表、枠、ページ背景などの属性情報と各連結成分の位置情報とが含まれ、更に、連結成分同士の関係は木構造で表される。ベクトル化処理などの以降に行う各領域の処理結果は、領域情報205内に記録される。
【0031】
文字部ベクトル化処理部S50では、文字部ベクトル化処理用画像203を用いて文字用のベクトル化処理を行うことにより、文字部(本文内の文字画像や、表内の文字画像)をベクトル変換する。以下に、文字部のベクトル化処理について詳細を説明する。
【0032】
領域情報205に含まれる文字属性を有するカラー連結成分に基づいて、文字領域の位置情報を取得し、文字部ベクトル化処理用画像203において、対応する領域内のグレースケールの連結成分を解析し、高解像度の文字の連結成分を得る。そして、各文字の連結成分の輪郭をベクトルデータに変換する。なお、文字領域ごとに、グレースケールの文字部ベクトル化処理用画像203を2値化した後に、文字の連結成分を抽出し、当該連結成分の輪郭をベクトルデータにするようにしてもよい。
【0033】
文字の連結成分の輪郭をベクトルデータに変換する方法は、例えば次のような手法を用いることが可能である。文字の連結成分の輪郭を、直線および/または曲線の組み合わせとして表現するために、輪郭線を複数の区間(画素列)に区切る基準位置となる「角」を検出する。角とは曲率が極大となる点であり、例えば、図4の輪郭線上の画素Piが角か否かの判断は以下のように行う。すなわち、Piを起点とし、輪郭線に沿ってPiから両方向に所定画素数(ここではk個とする)離れた画素Pi−k、Pi+kを線分Lで結ぶ。画素Pi−k、Pi+k間の距離をd1、線分Lと画素Piとの距離をd2、画素Pi−k、Pi+k間の弧の長さをAとする。d2が極大となるとき、あるいは比(d1/A)が閾値以下となるときに画素Piを角と判断する。そして、輪郭の画素列を当該判断された角の位置で分割し、当該分割された各画素列を、直線あるいは曲線で近似する。直線への近似は最小二乗法等により実行し、曲線への近似は3次スプライン関数などを用いる。画素列を分割する角の画素は近似直線あるいは近似直線における、始端または終端となる。さらにベクトル化された輪郭内に、当該輪郭を構成する画素と異なる輝度の画素塊の輪郭(内輪郭)が存在するか否かを判断し、内輪郭が存在するときはその輪郭をベクトル化する。更に、内輪郭の内輪郭というように、再帰的に反転画素の内輪郭をベクトル化していく。このように、連結成分の輪郭の区分線近似を用いれば、文字部のアウトラインをベクトル化することができる。
【0034】
なお、図5に示すように、ある注目区間で外輪郭PRjと、内輪郭PRj+1あるいは別の外輪郭が一定間隔で近接している場合、2個あるいは複数の輪郭線をひとまとめにし、太さを持った線のベクトルデータとして表現するようにしてもよい。例えば、輪郭PRj+1の各画素Piから輪郭PRj上で最短距離となる画素Qiまでの距離PQiを算出する。そして、注目区間(例えばPi−1からPi+2の間)についての距離PQi−1〜距離PQi+2のばらつきがわずかである場合には、画素Pi、Qiの中点Miの点列に沿った直線または曲線で近似し、太さを有する線として表現し得る。なお、近似直線、近似曲線の太さは、例えば注目区間における距離PQiの平均値とする。
【0035】
このようにして、文字部ベクトル化処理部S50は、文字連結成分の輪郭からベクトルデータを生成し、カラー連結成分の色情報と合わせて、文字ベクトル206を生成して領域情報205内に記録する。
【0036】
文字部穴埋め処理部S60では、図画部ベクトル化処理用画像204における文字領域について穴埋め処理(文字の画素を背景色で塗りつぶす処理)を行う。本実施例では、文字画素部分を当該文字画素の周囲画素の平均色で塗る方法を用いる。
【0037】
まず、領域情報205から文字属性を有するカラー連結成分の情報を取得し、文字穴埋めワークメモリ内に画像として展開する。この文字穴埋めワークメモリに展開された画像の画素位置と、図画部ベクトル化処理用画像204を重ね合わせて、図画部ベクトル化処理用画像204における文字画素部分を特定する。次に、図画部ベクトル化処理用画像204において、それぞれの文字画素部分の周辺画素の平均色(すなわち各文字の背景の平均色)を算出する。最後に、図画部ベクトル化処理用画像204の文字画素部分を当該算出した平均色で塗りつぶす。これにより、文字ベクトル化された領域が、背景色で塗りつぶされた、文字画像部分が消された図画部ベクトル化処理用画像が生成されることになる。
【0038】
図画部ベクトル化処理部S70では、文字部の穴埋め処理が為された後の図画部ベクトル化処理用画像を用いて、図画部をベクトル変換する。図6を用いて、図画部ベクトル化処理部S70が実行する図画部ベクトル化処理を説明する。
【0039】
ステップS701では、図画領域(線画、色数の少ないイラストなどのクリップアート、表罫線、写真)の領域情報を基に、該当する領域の図画ベクトル化画像がベクトル処理可能かを判定する。処理可能であると判断すればステップS702へ遷移し、そうでなければステップS703へ遷移する。例えば、領域情報の属性を参照し、線画、色数の少ないイラストなどのクリップアート、表であれば、ベクトル化処理可能と判断し、写真などの自然画はベクトル化処理に不適と判断する。また、処理対象の領域内の色量子化結果が過分割と判断される場合(カラー連結成分の数が過剰である場合)や、領域情報の面積が一定値以上である場合も、計算量と処理速度を考慮して、ベクトル化処理に適さない領域と判断してもよい。
【0040】
ステップS702では、図画部のベクトル化処理を実行し、図画ベクトル207を生成する。なお、線画や表罫線のベクトル化を行う際も文字部と同様に輪郭線を近似してベクトル化処理することが可能であり、特に、線や線の集合体である表罫線は、太さを有する線の集合として表現することにより、効率よくベクトル表現することができる。また、線画(ラインアート)をベクトル化する手法としては、特開2007−293829号公報に開示される手法を用いることもできる。また、イラストなどのクリップアート領域をベクトル化する手法としては、特開2006−344069号公報に開示される方法を用いることもできる。
【0041】
図7を用いて、本実施形態におけるクリップアート領域のベクトル化処理の詳細を説明する。図7のS7021〜S7024は、ベクトル化処理S702を実行する図画部ベクトル化処理部S70を構成する詳細な処理部である。また、データ212〜215は、図画部ベクトル化および穴埋め用ワークメモリとして確保されたメモリ103上に記録される。
【0042】
高解像度化処理部S7021は、複数の色成分のうちの少なくとも1つ以上の色成分の解像度が粗いYCbCr画像を、最も高い解像度の色成分の解像度に合わせたRGB画像に変換する。本実施例では、図画部ベクトル化処理用画像204がY:Cb:Cr=4:1:1の画像(Cb,Crの色成分の解像度がY成分より低い画像)であるので、これをRGB画像212に変換することで、Yの色成分の解像度と等しい解像度に戻す。
【0043】
クリップアート領域分割部S7022では、領域情報205に格納されているカラー連結成分の位置情報に基づいて、RGB画像212において矩形のクリップアート領域を抽出し、当該クリップアート領域にある各画素を色特徴に基づき色毎の領域に分割する。
【0044】
クリップアート領域内背景同定部S7023は、前記クリップアート領域分割部S7022の領域分割結果に基づき、当該クリップアート領域における背景領域情報214とクリップアート内の背景色213とを同定する。例えば、クリップアート領域分割部の領域分割結果のうち、クリップアート領域の外接矩形の境界に接する画素数が多い領域をクリップアート領域内の背景領域として同定する。同定された背景領域情報214とクリップアート内背景色213は、中間情報215として保持される。なお、中間情報215には、その他の図示しないクリップアートベクトル化処理途中で生成される各種の情報が保持されている。
【0045】
クリップアートベクトル化部S7024は、背景領域同定部7023の同定結果に基づき、クリップアート領域分割部S7022の領域分割結果のうち、背景領域以外の各領域部分をベクトル化し、クリップアート領域の図画部ベクトル207を生成する。
【0046】
なお、中間情報215として保持される背景領域情報214およびクリップアート内背景色213は、後述する図画部穴うめ処理部S80においても使用される。
【0047】
図6の説明に戻る。ステップS703では、ベクトル化に適さない写真などの領域について、ラスター画像の切り出し処理をする。ここでは、文字部の穴埋めを行った後の図画部ベクトル化処理用画像204から、該当する領域を切り出し、矩形写真画像を生成する。
【0048】
ステップS702で生成された図画ベクトル207や、ステップS703で生成された矩形写真画像208は、領域情報205内に記録される。
【0049】
図画部穴埋め処理部S80では、図画領域それぞれに対する穴埋め処理を行い、下地画像209を生成する。図画部穴埋め処理部S80は、前段の図画部ベクトル化処理部S70における出力結果において、図画部ベクトルが生成されたか、矩形写真画像が生成されたかに応じて、領域ごとに穴埋め処理の手法を切り替える。
【0050】
矩形写真画像が生成された図画領域の場合、当該領域の周辺画素の平均色を計算し、当該計算された平均色で、図画部ベクトル化処理用画像204内の対応する図画領域を埋める。
【0051】
以下、図画領域がクリップアート領域であった場合についての穴埋め処理について詳細を説明する。図12(a)は、クリップアート領域を含んでいる文書画像の例を表している。図12(b)は、ベクトル化対象としてのクリップアート領域を抽出し、その外接矩形であるオブジェクト外接矩形81を表している。また、中間情報215に保持されているクリップアート領域における背景領域情報214には、クリップアート領域の外接矩形の境界に接する画素数が多い領域がクリップアート領域内の背景領域82として同定されている。図12(b)のクリップアート領域から背景領域83をベクトル化対象から外し、背景以外の領域(ベクトル化対象オブジェクト87)のみを表現した図が、図12(c)である。図12(c)において、境界85は、オブジェクト領域(背景以外の領域)と下地84との境界部(以降、『境界部1』と称する)を示している。また、境界86はオブジェクト領域(背景以外の領域)とクリップアート領域内の背景との境界部(以降、『境界部2』とも称する)を示している。次に、このクリップアート穴埋め処理について、図8のフローチャートを用いて詳細説明する。
【0052】
ステップS1101では、処理対象であるクリップアート領域内の背景領域に基づき、背景領域を判別するための情報を、高解像度化され且つ1画素1ビットで生成された2値のビットマップ画像(背景識別用画像)として生成する。背景領域とオブジェクト領域とを画素値がそれぞれ1か0かで判別できる形式に生成しながらワークメモリに保持する。その際に、当該クリップアート領域に対応する画像データのラスター走査順での処理の準備として、一連の初期化処理を行う。そして、一連の初期化処理が終了すると、ラスター走査順にクリップアート領域に対応する部分の穴埋め処理を開始する。
【0053】
ステップS1102では、図画部ベクトル化処理用画像204における当該クリップアート領域に対応する部分の画像データのCrデータ(Cbデータでも良い)をラスター走査する。この時点でのラスター走査順の注目位置における画素が上述した境界部1でもなく、かつ境界部2でもない背景領域内にある画素か否かを判定する。具体的には、この時点でのラスター走査順の注目位置における画素が上述のビットマップ画像(背景識別用画像)上での対応部分(2×2画素の領域が対応する)の2×2画素の4画素のうち、全てが背景領域の画素であるか否かを調べる。そして、4画素全てが背景画素であれば境界以外の背景領域であると判定する。
【0054】
判定した結果、注目画素が境界以外の背景領域の画素である場合、ステップS1107へ進み、境界以外の背景領域の画素でない場合、ステップS1103へ進む。
【0055】
ステップS1103では、ステップS1102と同様に、注目画素が境界部2に相当する画素(即ち、背景領域とオブジェクト領域(クリップアート領域内における背景以外の領域)との境界)であるか否かを判定する。つまり、その時点でのラスター走査順の注目位置における画素が上述のビットマップ画像(背景識別用画像)上での対応部分の2×2画素の4画素のうち、何れかの画素が背景領域の画素で且つ4画素中の残る画素が全てオブジェクト領域の画素であるか否かを調べる。この条件を満たす場合、注目画素は境界部2に相当する画素(即ち、背景領域とオブジェクト領域との境界)であると判定する。
【0056】
判定した結果、注目画素が背景領域とオブジェクト領域との境界に相当する場合、ステップS1108へ進み、背景領域とオブジェクト領域との境界に相当しない場合には、ステップS1104へ進む。
【0057】
ステップS1104では、上述した判定処理と同様に、注目画素が境界部1に相当する画素(即ち、下地領域とオブジェクト領域との境界)であるか否かを判定する。つまり、注目画素が上述のビットマップ画像(背景識別用画像)上での対応部分(2×2画素の領域が対応する)の2×2画素の4画素のうち、何れかの画素がオブジェクト領域の画素で、かつ4画素中の残る画素の何れかが下地領域の画素であるか否かを調べる。この条件を満たす場合、注目画素は境界部1に相当する画素(即ち、下地領域とオブジェクト領域との境界)であると判定する。
【0058】
判定した結果、注目画素が下地領域とオブジェクト領域との境界に相当する場合、ステップS1109へ進み、下地領域とオブジェクト領域との境界に相当しない場合には、ステップS1105へ進む。ステップS1105では、注目画素が、オブジェクト領域(前景となるオブジェクト本体)の画素の場合となっているので、背景色(Y,Cb,Cr)で穴埋めを行う。即ち、低解像度化されてRAM30上に保持されている画像データ上で、その時点でのラスター走査順の注目位置における画素のCbデータ、Crデータ、Yデータを背景色データから得られる各値に置き換える。ここでクリップアート領域内の背景色データは、RGBデータで保持しているので、これをYCbCrに変換して得られる。
【0059】
次に、ステップS1106では、当該クリップアート領域に対応する画像データのラスター走査順での処理が当該領域の最終画素まで進んだか否かを判断する。判断した結果、最終画素まで終了したのであれば、この一連の処理を終えて終了し、終了していない場合には、ステップS1107へ進む。ステップS1107では、注目する位置の画素(注目画素)を次の位置の画素に進め、ステップS1102に戻る。
【0060】
一方、ステップS1108では、注目画素は境界部2に相当する画素(即ち、背景領域とオブジェクト領域との境界)であるので、注目画素のCbとCrのみを、背景色データから得られる各値に置き換える。即ち、境界部2が背景色データで穴埋め処理される。ここで背景色データは、RGBデータで保持しているので、これをYCbCrに変換して得られる。そして、ステップS1108の処理を終えると、上述したステップS1106へ進む。
【0061】
一方、ステップS1109では、注目画素は境界部1に相当する画素(即ち、下地領域とオブジェクト領域との境界)であるので、注目画素のY,Cb,Crはそのままの値として残し、背景色のデータに置き換えない。即ち、境界部1は、下地領域の色で穴埋め処理される。そして、ステップS1109の処理を終えると、上述したステップS1106へ進む。
【0062】
このように構成することにより、カラー文書のページ内の図形のベクトル化対象オブジェクトと、これを含む外接矩形領域外の背景とが異なる解像度のデータで構成されている場合でも、境界部分に偽色が発生しない。境界部分は、ベクトル化対象オブジェクトとその外接矩形領域外との矩形境界部分や、ベクトル化対象オブジェクトとその外接矩形内におけるベクトル化対象オブジェクト以外の背景領域との境界部分である。
【0063】
ページ描画情報生成処理部S90では、各処理部で生成されたデータおよび領域情報を一つにまとめる。ページ描画情報生成処理で生成されたデータの一例を図9に示す。2100は、ページ描画情報生成処理部S90で生成されたページ描画情報210の全体構成例である。テキストオブジェクト2101には、領域解析部S40が文字と判断した領域のベクトル変換結果(文字ベクトル206)と、画像中における位置情報とを保持する。同様に、写真オブジェクト2102には矩形写真画像208とその位置情報が保持され、図画オブジェクト2103には、クリップアートや線画(ラインアート)のベクトル変換結果(図画ベクトル207)とその位置情報が保持される。また、背景オブジェクト2104には、穴埋め処理後の画像(下地画像209)とその位置情報が保持される。また、プロパティ2105には、入力データの書誌情報(例えば、ページ数、ページサイズ、入力機器情報、タイムスタンプなど)が保持される。
【0064】
電子ファイル生成部S100では、ページ描画情報210を電子ファイル211に変換する。本実施例では、PC120で再生や編集等が可能な電子ファイルへ変換する。
【0065】
図10の電子ドキュメント2100は、本実施例の説明のために作られた仮想的なXMLフォーマットに従って作られた電子ファイル211の例である。図10において、2111は、図9の背景オブジェクト2104の下地画像データを1ページ全体に描画する記述の例である。また、2112は、写真オブジェクト2102内の写真画像を位置情報により指定された位置に描画する記述である。また、2113は図画オブジェクト2103内の図画ベクトルをページ内の指定位置に描画する記述である。2114は、文字オブジェクト2101内の文字ベクトルをページ内の指定位置に描画する記述である。図10の電子ドキュメントを受信したPCでは、2111〜2114に記述された情報を順に描画することで、背景、写真、図画ベクトル、文字ベクトルを重ねあわせて元の文書と同等の外観を有すページ画像を再生可能である。また、2111〜2114の記述それぞれをオブジェクトとして編集用途に供することも可能である。なお、図10はあくまで一例であって、他のフォーマットを用いて記述してもよい。例えば、PDF、XPS、SVGなどのグラフィックページ記述、Office Open XML、Open Document Format などのページ編集データ記述などを用いてもよい。変換されるフォーマットの種類は、予めユーザに指定させておいてもよいし、変換処理の途中でユーザに問い合わせて指定させることも可能である。
【0066】
本発明における各処理の実行順序ならびに各処理におけるメモリの確保と開放のタイミングについての詳細を説明する。図11は、図2の各処理部の処理手順と、その処理順ごとにメモリ103の内部状態をどのように変更しているかの模式図である。すなわち、図11(A)は本発明における各処理部の処理順であり、図11(B)は各処理を行っているときのメモリ103の内部挙動(メモリ103の使用状況)を示す。
【0067】
図11(B)において、縦軸は処理順にしたがった時間軸を示し、横軸はメモリアドレス(メモリの使用状況)を示している。図11(B)の各矩形は、各種データやワークメモリとして使用されるメモリ領域が、メモリ103に確保されるタイミングとメモリアドレスとを示すものである。その矩形の上端と下端は、メモリの確保と開放のタイミングを示し、このタイミングは矩形上端、下端の水平線上にある図11(A)の各処理ステップでの処理タイミングと適合するように記載している。具体例を挙げると、入力画像201が格納されるメモリ領域は、メモリ103に確保された状態で図11(A)の処理が開始され、ページ描画情報生成部S90の処理の終了時に開放される。
【0068】
以下では、図11の詳細を説明する。開始時の初期状態は、スキャナやネットワークを介して入力された入力画像201が103メモリ上に確保された入力画像保持用メモリ領域に保存されている。
【0069】
まず、図11(A)に示すように、領域解析用画像生成部S10による領域解析用画像の生成処理が行われる。この処理が実行されると、メモリ103上に領域解析処理用ワークメモリ216が確保されるとともに、解析処理用画像202を格納するためのメモリ領域が確保され、入力画像201から生成された解析用画像202が該メモリ領域に保存される。
【0070】
次に、領域解析部S40は、前記確保されている解析処理用ワークメモリ(解析処理用メモリ領域)216を用い、領域解析用画像202を処理対象画像として領域解析処理を実行する。ここでは、領域情報205のメモリ領域(処理結果保持用のメモリ領域)を確保し、領域解析結果であるカラー連結成分212に関する情報(各カラー連結成分の属性情報と位置情報を含む)を領域情報205(処理結果保持用メモリ領域)内に保存する。領域解析部S40の解析処理の終了時には、領域解析用画像202が保持されていたメモリ領域および解析処理用ワークメモリ216を解放する(メモリ開放)。
【0071】
次に、文字部ベクトル化処理用画像生成部S20による文字部ベクトル化処理用画像の生成処理が行われる。この処理が実行されると、メモリ103上に文字部ベクトル化処理用ワークメモリ217が確保されるとともに、文字部ベクトル化処理用画像203を格納するためのメモリ領域が確保される。そして、入力画像201から生成された文字部ベクトル化処理用画像203が画像保持用に当該確保されたメモリ領域に保存される。なお、これらのメモリ領域は、図11(B)に示すように、領域解析処理部S40の処理後に開放されたメモリ領域に確保されることになる。
【0072】
次に、文字部ベクトル化処理部S50は、前記確保されている文字部ベクトル化処理用ワークメモリを用いて、文字部ベクトル化処理用画像203を処理対象画像として文字部のベクトル化処理を実行する。この文字部ベクトル化処理は、領域情報205に保持されている領域解析結果の文字領域に対応する位置の文字部ベクトル化処理用画像に対して実行される。処理の詳細は前述した通りである。文字部のベクトル化処理結果である各文字領域の文字ベクトル206は、領域情報205内に記録される。文字部ベクトル化処理部S50のベクトル化処理の終了時には、文字部ベクトル化処理用画像203が保持されていたメモリ領域および文字部ベクトル化処理用ワークメモリ217を解放する。
【0073】
次に、図画部ベクトル化処理用画像生成部S30による図画部ベクトル化処理用画像の生成処理が行われる。この処理が実行されると、メモリ103上に、図画部ベクトル化処理用画像204を格納するためのメモリ領域が確保され、入力画像201から生成された図画部ベクトル化処理用画像204が該メモリ領域に保存される。なお、このメモリ領域は、図11(B)に示すように、文字部ベクトル化処理部S50の処理後に開放されたメモリ領域に確保されることになる。
【0074】
次に、文字部穴埋め処理部S60は、メモリ103に文字部穴埋め処理用ワークメモリ218を確保し、文字部の穴埋め処理を実行する。ここでは、上述したように、領域情報205から文字領域の画素連結成分(文字属性のカラー連結成分)に関する情報を取り出し、文字穴埋めワークメモリ218に画像として展開する。そして、文字穴埋めワークメモリ218に展開した文字画像と図画部ベクトル化処理用画像204とを重ね合わせて、図画部ベクトル化処理用画像204における文字画素部分を特定する。次に図画部ベクトル化処理用画像204の文字画素部分の周辺画素の平均色を算出し、図画部ベクトル化処理用画像204の文字画素部分を当該算出した平均色で塗りつぶす。以上のようにして、文字部穴埋め処理部S60の処理が終了すると、図画部ベクトル化処理用画像204は文字領域が穴埋めされ、図画部領域とページ背景からなる画像となっている。すなわち、前記図画部ベクトル化処理用画像を格納するためのメモリ領域に、文字部が穴埋めされた後の図画部ベクトル化処理用画像204が格納されることになる。前記文字部穴埋め処理部S60の処理終了時には、文字穴埋めワークメモリ218を開放する。
【0075】
次に、図画部ベクトル化処理部S70は、メモリ103に図画部ベクトル化および穴埋め処理用のワークメモリ219を確保し、図画部のベクトル化処理を実行する。この図画部ベクトル化処理は、領域情報205に保持されている領域解析結果の図画領域に対応する位置の図画部ベクトル化処理用画像に対して実行される。処理の詳細は前述した通りである。図画部のベクトル化処理結果として得られる図画部ベクトル207および矩形写真画像208は、領域情報205内に記録される。また、図画部ベクトル化処理用のワークメモリ219には、図7で示したデータ212〜215が記録される。
【0076】
次に、図画部穴埋め処理部S80において、図画部の穴埋め処理を実行する。ここでは、図7〜図8を用いて説明したように、文字部穴埋め処理後の図画部ベクトル処理用画像204に対して図画部穴埋め処理が実行される。よって、図画部穴埋め処理部S80の処理が終了すると、図画部ベクトル処理用画像204はページ背景のみで構成される画像となり、図2の下地画像209として以降の処理に用いられる。また、図画部穴埋め処理部S80の処理終了時には、メモリ103上の図画部ベクトル化および穴埋め用ワークメモリ219を解放する。
【0077】
次に、ページ描画情報生成部S90は、メモリ103にページ描画情報210を格納するメモリ領域を確保し、ページ描画情報を生成して該メモリ領域に保存する。ここでは、領域情報205に保存されている文字ベクトル206と図画ベクトル207と矩形写真画像208を取得し、下地画像209を文字部と図画部とが穴埋めされた図画部ベクトル化処理用画像204から取得し、入力データの書誌情報をプロパティとしてページ描画情報を生成する。ページ描画情報生成部S90の処理終了時には、メモリ103上の図画部ベクトル処理用画像204のメモリ領域、領域情報205のメモリ領域、入力画像201のメモリ領域を解放する。
【0078】
次に、電子ファイル生成部S100では、電子ファイル211を格納するメモリ領域を確保し、前述したように、ページ描画情報210を変換して予め指定されたフォーマットの電子ファイル211を生成する。電子ファイル211を格納するメモリ領域は、ページ描画情報生成部S90の処理終了時に開放されたメモリ領域に確保される。電子ファイル生成部S100の処理終了時には、メモリ103上のページ描画情報210が保持されていたメモリ領域を解放する。
【0079】
以上述べたように、本実施形態では、領域解析処理に適した画像と、文字部ベクトル化処理に適した画像と、図画部ベクトル化処理に適した画像とを、複数種類の画像処理それぞれの直前に生成する。そして、各処理結果を別途確保した領域情報205内に記録することにより、処理が終了した時点で不要となった各処理用画像および処理用ワークメモリを開放する用に構成した。これにより、より少ないメモリ容量で、電子ファイルの生成が実現できるようになる。
【0080】
(その他の実施例)
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。
【特許請求の範囲】
【請求項1】
入力画像を保存するメモリと、
前記入力画像から領域解析処理に適した領域解析用画像を生成し、当該生成した領域解析用画像を、前記メモリ上に確保した第1のメモリ領域に格納する領域解析用画像生成手段と、
前記メモリ上に領域解析処理用ワークメモリを確保する領域解析処理用ワークメモリ確保手段と、
前記確保した領域解析処理用ワークメモリを用いて、前記第1のメモリ領域に格納されている領域解析用画像に領域解析処理を実行し、前記メモリ上に確保された処理結果保持用の処理結果保持用メモリ領域に、当該実行した領域解析処理の結果を格納する領域解析手段と、
前記領域解析手段による処理の終了時に、前記メモリ上に確保されている前記第1のメモリ領域と前記領域解析処理用ワークメモリとを開放する第1のメモリ開放手段と、
前記入力画像から文字部のベクトル化処理に適した文字部ベクトル化処理用画像を生成し、当該生成した文字部ベクトル化処理用画像を、前記第1のメモリ開放手段で開放した後のメモリ上に確保した第2のメモリ領域に格納する文字部ベクトル化処理用画像生成手段と、
前記第1のメモリ開放手段で開放した後のメモリ上に文字部ベクトル化処理用ワークメモリを確保する文字部ベクトル化処理用ワークメモリ確保手段と、
前記確保した文字部ベクトル化処理用ワークメモリを用いて、前記処理結果保持用メモリに保持されている前記領域解析処理の結果に基づき前記第2のメモリ領域に格納されている文字部ベクトル化処理用画像に文字部ベクトル化処理を実行し、当該実行した文字部ベクトル化処理の結果を前記処理結果保持用メモリに格納する文字部ベクトル化処理手段と、
前記文字部ベクトル化処理手段による処理の終了時に、前記メモリ上に確保されている前記第2のメモリ領域と前記文字部ベクトル化処理用ワークメモリとを開放する第2のメモリ開放手段と、
前記入力画像から図画部のベクトル化処理に適した図画部ベクトル化処理用画像を生成し、当該生成した図画部ベクトル化処理用画像を、前記第2のメモリ開放手段で開放した後のメモリ上に確保した第3のメモリ領域に格納する図画部ベクトル化処理用画像生成手段と、
前記第2のメモリ開放手段で開放した後のメモリ上に文字部穴埋め処理用ワークメモリを確保する文字部穴埋め処理用ワークメモリ確保手段と、
前記確保した文字部穴埋め処理用ワークメモリを用いて、前記処理結果保持用メモリに保持されている前記領域解析処理の結果に基づき前記第3のメモリ領域に格納されている図画部ベクトル化処理用画像に文字部穴埋め処理を実行する文字部穴埋め処理手段と、
前記文字部穴埋め処理手段による処理の終了時に、前記メモリ上に確保されている前記文字部穴埋め処理用ワークメモリを開放する第3のメモリ開放手段と、
前記第3のメモリ開放手段で開放した後のメモリ上に図画部ベクトル化および穴埋め処理用ワークメモリを確保する図画部ベクトル化処理用ワークメモリ確保手段と、
前記確保した図画部ベクトル化および穴埋め処理用ワークメモリを用いて、前記処理結果保持用メモリに保持されている前記領域解析処理の結果に基づき前記第3のメモリ領域に格納されている図画部ベクトル化処理用画像に図画部ベクトル化処理を実行し、当該実行した図画部ベクトル化処理の結果を前記処理結果保持用メモリに格納する図画部ベクトル化手段と、
前記確保した図画部ベクトル化および穴埋め処理用ワークメモリを用いて、前記第3のメモリ領域に格納されている前記文字部穴埋め処理を実行した後の図画部ベクトル化処理用画像に対して、図画部穴埋め処理を実行する図画部穴埋め処理手段と、
前記図画部穴埋め処理手段による処理の終了時に、前記メモリ上に確保されている前記図画部ベクトル化および穴埋め処理用ワークメモリを開放する第4のメモリ開放手段と、
前記第4のメモリ開放手段で開放した後のメモリを用いて、前記処理結果保持用メモリに保持されている文字部ベクトル化処理の結果と図画部ベクトル化処理の結果と、前記第3のメモリ領域に保持されている文字部と図画部とが穴埋め処理された後の図画部ベクトル化処理用画像とを含む電子ファイルを生成する電子ファイル生成手段と、
を有する画像処理装置。
【請求項2】
前記電子ファイル生成手段は、前記第4のメモリ開放手段で開放した後のメモリを用いて、前記処理結果保持用メモリに保持されている文字部ベクトル化処理の結果と図画部ベクトル化処理の結果と、前記第3のメモリ領域に保持されている文字部と図画部とが穴埋め処理された後の図画部ベクトル化処理用画像とを含むページ描画情報を生成し、更に、当該ページ描画情報の生成が終了したときに前記第3のメモリ領域および前記処理結果保持用メモリとを開放し、当該開放した後のメモリを用いて、前記ページ描画情報から前記電子ファイルを生成することを特徴とする請求項1に記載の画像処理装置。
【請求項3】
前記図画部ベクトル化手段は、前記処理結果保持用メモリに保持されている前記領域解析処理の結果に基づき、各図画領域がベクトル化処理可能か否か判定し、ベクトル化処理可能と判定した図画領域に対してはベクトル化処理を実行して図画ベクトルを生成し、ベクトル化処理可能でないと判定した図画領域に対しては前記図画部ベクトル化処理用画像からラスター画像として切り出し、当該生成された図画ベクトルと当該切り出されたラスター画像とを前記図画部ベクトル化処理の結果として前記処理結果保持用メモリに格納することを特徴とする請求項1または2のいずれかに記載の画像処理装置。
【請求項4】
前記領域解析手段で実行された領域解析処理の結果には、画素の連結成分についての属性情報と位置情報とが含まれることを特徴とする請求項1乃至3のいずれかに記載の画像処理装置。
【請求項5】
前記文字部ベクトル化処理用画像の解像度は、前記領域解析用画像の解像度より高いことを特徴とする請求項1に記載の画像処理装置。
【請求項6】
前記図画部ベクトル化処理用画像生成手段で生成される図画部ベクトル化処理用画像は、輝度情報の解像度よりも色差情報の解像度が低いことを特徴とする請求項1乃至5のいずれかに記載の画像処理装置。
【請求項7】
前記図画部ベクトル化手段は、前記ベクトル化処理用画像から矩形のクリップアート領域を抽出し、当該クリップアート領域内の背景領域を同定し、当該クリップアート領域において同定された背景領域以外のオブジェクト領域をベクトル化して図画部ベクトルを生成し、前記図画部ベクトル化処理の結果として前記処理結果保持用メモリに格納し、
前記図画部穴埋め処理手段は、前記図画部ベクトル化処理用画像に対して、前記オブジェクト領域に対応する部分の穴埋め処理を行うものであって、前記オブジェクト領域と前記クリップアート領域の外との境界と、前記オブジェクト領域と前記背景領域との境界とでそれぞれ異なる穴埋め処理を行う
ことを特徴とする請求項6に記載の画像処理装置。
【請求項8】
入力画像を保存するメモリを備える画像処理装置が実行する画像処理方法であって、
領域解析用画像生成手段が、前記入力画像から領域解析処理に適した領域解析用画像を生成し、当該生成した領域解析用画像を、前記メモリ上に確保した第1のメモリ領域に格納する領域解析用画像生成工程と、
領域解析処理用ワークメモリ確保手段が、前記メモリ上に領域解析処理用ワークメモリを確保する領域解析処理用ワークメモリ確保工程と、
領域解析手段が、前記確保した領域解析処理用ワークメモリを用いて、前記第1のメモリ領域に格納されている領域解析用画像に領域解析処理を実行し、前記メモリ上に確保された処理結果保持用の処理結果保持用メモリ領域に、当該実行した領域解析処理の結果を格納する領域解析工程と、
第1のメモリ開放手段が、前記領域解析工程での処理の終了時に、前記メモリ上に確保されている前記第1のメモリ領域と前記領域解析処理用ワークメモリとを開放する第1のメモリ開放工程と、
文字部ベクトル化処理用画像生成手段が、前記入力画像から文字部のベクトル化処理に適した文字部ベクトル化処理用画像を生成し、当該生成した文字部ベクトル化処理用画像を、前記第1のメモリ開放工程で開放した後のメモリ上に確保した第2のメモリ領域に格納する文字部ベクトル化処理用画像生成工程と、
文字部ベクトル化処理用ワークメモリ確保手段が、前記第1のメモリ開放工程で開放した後のメモリ上に文字部ベクトル化処理用ワークメモリを確保する文字部ベクトル化処理用ワークメモリ確保工程と、
文字部ベクトル化処理手段が、前記確保した文字部ベクトル化処理用ワークメモリを用いて、前記処理結果保持用メモリに保持されている前記領域解析処理の結果に基づき前記第2のメモリ領域に格納されている文字部ベクトル化処理用画像に文字部ベクトル化処理を実行し、当該実行した文字部ベクトル化処理の結果を前記処理結果保持用メモリに格納する文字部ベクトル化処理工程と、
第2のメモリ開放手段が、前記文字部ベクトル化処理工程による処理の終了時に、前記メモリ上に確保されている前記第2のメモリ領域と前記文字部ベクトル化処理用ワークメモリとを開放する第2のメモリ開放工程と、
図画部ベクトル化処理用画像生成手段が、前記入力画像から図画部のベクトル化処理に適した図画部ベクトル化処理用画像を生成し、当該生成した図画部ベクトル化処理用画像を、前記第2のメモリ開放手段で開放した後のメモリ上に確保した第3のメモリ領域に格納する図画部ベクトル化処理用画像生成工程と、
文字部穴埋め処理用ワークメモリ確保手段が、前記第2のメモリ開放手段で開放した後のメモリ上に文字部穴埋め処理用ワークメモリを確保する文字部穴埋め処理用ワークメモリ確保工程と、
文字部穴埋め処理手段が、前記確保した文字部穴埋め処理用ワークメモリを用いて、前記処理結果保持用メモリに保持されている前記領域解析処理の結果に基づき前記第3のメモリ領域に格納されている図画部ベクトル化処理用画像に文字部穴埋め処理を実行する文字部穴埋め処理工程と、
第3のメモリ開放手段が、前記文字部穴埋め処理工程による処理の終了時に、前記メモリ上に確保されている前記文字部穴埋め処理用ワークメモリを開放する第3のメモリ開放工程と、
図画部ベクトル化処理用ワークメモリ確保手段が、前記第3のメモリ開放工程で開放した後のメモリ上に図画部ベクトル化および穴埋め処理用ワークメモリを確保する図画部ベクトル化処理用ワークメモリ確保工程と、
図画部ベクトル化手段が、前記確保した図画部ベクトル化および穴埋め処理用ワークメモリを用いて、前記処理結果保持用メモリに保持されている前記領域解析処理の結果に基づき前記第3のメモリ領域に格納されている図画部ベクトル化処理用画像に図画部ベクトル化処理を実行し、当該実行した図画部ベクトル化処理の結果を前記処理結果保持用メモリに格納する図画部ベクトル化工程と、
図画部穴埋め処理手段が、前記確保した図画部ベクトル化および穴埋め処理用ワークメモリを用いて、前記第3のメモリ領域に格納されている前記文字部穴埋め処理を実行した後の図画部ベクトル化処理用画像に対して、図画部穴埋め処理を実行する図画部穴埋め処理工程と、
第4のメモリ開放手段が、前記図画部穴埋め処理工程による処理の終了時に、前記メモリ上に確保されている前記図画部ベクトル化および穴埋め処理用ワークメモリを開放する第4のメモリ開放工程と、
電子ファイル生成手段が、前記第4のメモリ開放工程で開放した後のメモリを用いて、前記処理結果保持用メモリに保持されている文字部ベクトル化処理の結果と図画部ベクトル化処理の結果と、前記第3のメモリ領域に保持されている文字部と図画部とが穴埋め処理された後の図画部ベクトル化処理用画像とを含む電子ファイルを生成する電子ファイル生成工程と、
を有する画像処理方法。
【請求項9】
コンピュータを、
メモリに保存された入力画像から領域解析処理に適した領域解析用画像を生成し、当該生成した領域解析用画像を、前記メモリ上に確保した第1のメモリ領域に格納する領域解析用画像生成手段、
前記メモリ上に領域解析処理用ワークメモリを確保する領域解析処理用ワークメモリ確保手段、
前記確保した領域解析処理用ワークメモリを用いて、前記第1のメモリ領域に格納されている領域解析用画像に領域解析処理を実行し、前記メモリ上に確保された処理結果保持用の処理結果保持用メモリ領域に、当該実行した領域解析処理の結果を格納する領域解析手段、
前記領域解析手段による処理の終了時に、前記メモリ上に確保されている前記第1のメモリ領域と前記領域解析処理用ワークメモリとを開放する第1のメモリ開放手段、
前記入力画像から文字部のベクトル化処理に適した文字部ベクトル化処理用画像を生成し、当該生成した文字部ベクトル化処理用画像を、前記第1のメモリ開放手段で開放した後のメモリ上に確保した第2のメモリ領域に格納する文字部ベクトル化処理用画像生成手段、
前記第1のメモリ開放手段で開放した後のメモリ上に文字部ベクトル化処理用ワークメモリを確保する文字部ベクトル化処理用ワークメモリ確保手段、
前記確保した文字部ベクトル化処理用ワークメモリを用いて、前記処理結果保持用メモリに保持されている前記領域解析処理の結果に基づき前記第2のメモリ領域に格納されている文字部ベクトル化処理用画像に文字部ベクトル化処理を実行し、当該実行した文字部ベクトル化処理の結果を前記処理結果保持用メモリに格納する文字部ベクトル化処理手段、
前記文字部ベクトル化処理手段による処理の終了時に、前記メモリ上に確保されている前記第2のメモリ領域と前記文字部ベクトル化処理用ワークメモリとを開放する第2のメモリ開放手段、
前記入力画像から図画部のベクトル化処理に適した図画部ベクトル化処理用画像を生成し、当該生成した図画部ベクトル化処理用画像を、前記第2のメモリ開放手段で開放した後のメモリ上に確保した第3のメモリ領域に格納する図画部ベクトル化処理用画像生成手段、
前記第2のメモリ開放手段で開放した後のメモリ上に文字部穴埋め処理用ワークメモリを確保する文字部穴埋め処理用ワークメモリ確保手段、
前記確保した文字部穴埋め処理用ワークメモリを用いて、前記処理結果保持用メモリに保持されている前記領域解析処理の結果に基づき前記第3のメモリ領域に格納されている図画部ベクトル化処理用画像に文字部穴埋め処理を実行する文字部穴埋め処理手段、
前記文字部穴埋め処理手段による処理の終了時に、前記メモリ上に確保されている前記文字部穴埋め処理用ワークメモリを開放する第3のメモリ開放手段、
前記第3のメモリ開放手段で開放した後のメモリ上に図画部ベクトル化および穴埋め処理用ワークメモリを確保する図画部ベクトル化処理用ワークメモリ確保手段、
前記確保した図画部ベクトル化および穴埋め処理用ワークメモリを用いて、前記処理結果保持用メモリに保持されている前記領域解析処理の結果に基づき前記第3のメモリ領域に格納されている図画部ベクトル化処理用画像に図画部ベクトル化処理を実行し、当該実行した図画部ベクトル化処理の結果を前記処理結果保持用メモリに格納する図画部ベクトル化手段、
前記確保した図画部ベクトル化および穴埋め処理用ワークメモリを用いて、前記第3のメモリ領域に格納されている前記文字部穴埋め処理を実行した後の図画部ベクトル化処理用画像に対して、図画部穴埋め処理を実行する図画部穴埋め処理手段、
前記図画部穴埋め処理手段による処理の終了時に、前記メモリ上に確保されている前記図画部ベクトル化および穴埋め処理用ワークメモリを開放する第4のメモリ開放手段、
前記第4のメモリ開放手段で開放した後のメモリを用いて、前記処理結果保持用メモリに保持されている文字部ベクトル化処理の結果と図画部ベクトル化処理の結果と、前記第3のメモリ領域に保持されている文字部と図画部とが穴埋め処理された後の図画部ベクトル化処理用画像とを含む電子ファイルを生成する電子ファイル生成手段、
として機能させるためのコンピュータプログラム。
【請求項10】
請求項9に記載のコンピュータプログラムを格納した、コンピュータ読み取り可能な記憶媒体。
【請求項11】
入力画像を保存するメモリと、
前記入力画像から画像処理に適した画像を生成し、前記生成された画像を前記メモリ上に確保したメモリ領域に格納する画像生成手段と、
前記メモリ上に前記画像処理のワークメモリを確保するワークメモリ確保手段と、
前記確保したワークメモリを用いて、前記メモリ領域に格納されている画像処理に適した画像に対して画像処理を実行し、前記メモリ上に確保された処理結果保持用のメモリ領域に、当該実行した画像処理の結果を格納する画像処理手段と、
前記画像処理手段の画像処理の終了時に、前記メモリ上に確保されている前記メモリ領域と前記画像処理用のワークメモリとを開放するメモリ開放手段と、を備える画像処理装置であって、
複数種類の画像処理それぞれに対して、前記画像生成手段と前記ワークメモリ確保手段と前記画像処理手段と前記メモリ開放手段とによる処理を実行し、前記処理結果保持用のメモリ領域から前記複数種類の画像処理それぞれの処理結果を含む電子ファイルを生成する電子ファイル生成手段を更に備えることを特徴とする画像処理装置。
【請求項1】
入力画像を保存するメモリと、
前記入力画像から領域解析処理に適した領域解析用画像を生成し、当該生成した領域解析用画像を、前記メモリ上に確保した第1のメモリ領域に格納する領域解析用画像生成手段と、
前記メモリ上に領域解析処理用ワークメモリを確保する領域解析処理用ワークメモリ確保手段と、
前記確保した領域解析処理用ワークメモリを用いて、前記第1のメモリ領域に格納されている領域解析用画像に領域解析処理を実行し、前記メモリ上に確保された処理結果保持用の処理結果保持用メモリ領域に、当該実行した領域解析処理の結果を格納する領域解析手段と、
前記領域解析手段による処理の終了時に、前記メモリ上に確保されている前記第1のメモリ領域と前記領域解析処理用ワークメモリとを開放する第1のメモリ開放手段と、
前記入力画像から文字部のベクトル化処理に適した文字部ベクトル化処理用画像を生成し、当該生成した文字部ベクトル化処理用画像を、前記第1のメモリ開放手段で開放した後のメモリ上に確保した第2のメモリ領域に格納する文字部ベクトル化処理用画像生成手段と、
前記第1のメモリ開放手段で開放した後のメモリ上に文字部ベクトル化処理用ワークメモリを確保する文字部ベクトル化処理用ワークメモリ確保手段と、
前記確保した文字部ベクトル化処理用ワークメモリを用いて、前記処理結果保持用メモリに保持されている前記領域解析処理の結果に基づき前記第2のメモリ領域に格納されている文字部ベクトル化処理用画像に文字部ベクトル化処理を実行し、当該実行した文字部ベクトル化処理の結果を前記処理結果保持用メモリに格納する文字部ベクトル化処理手段と、
前記文字部ベクトル化処理手段による処理の終了時に、前記メモリ上に確保されている前記第2のメモリ領域と前記文字部ベクトル化処理用ワークメモリとを開放する第2のメモリ開放手段と、
前記入力画像から図画部のベクトル化処理に適した図画部ベクトル化処理用画像を生成し、当該生成した図画部ベクトル化処理用画像を、前記第2のメモリ開放手段で開放した後のメモリ上に確保した第3のメモリ領域に格納する図画部ベクトル化処理用画像生成手段と、
前記第2のメモリ開放手段で開放した後のメモリ上に文字部穴埋め処理用ワークメモリを確保する文字部穴埋め処理用ワークメモリ確保手段と、
前記確保した文字部穴埋め処理用ワークメモリを用いて、前記処理結果保持用メモリに保持されている前記領域解析処理の結果に基づき前記第3のメモリ領域に格納されている図画部ベクトル化処理用画像に文字部穴埋め処理を実行する文字部穴埋め処理手段と、
前記文字部穴埋め処理手段による処理の終了時に、前記メモリ上に確保されている前記文字部穴埋め処理用ワークメモリを開放する第3のメモリ開放手段と、
前記第3のメモリ開放手段で開放した後のメモリ上に図画部ベクトル化および穴埋め処理用ワークメモリを確保する図画部ベクトル化処理用ワークメモリ確保手段と、
前記確保した図画部ベクトル化および穴埋め処理用ワークメモリを用いて、前記処理結果保持用メモリに保持されている前記領域解析処理の結果に基づき前記第3のメモリ領域に格納されている図画部ベクトル化処理用画像に図画部ベクトル化処理を実行し、当該実行した図画部ベクトル化処理の結果を前記処理結果保持用メモリに格納する図画部ベクトル化手段と、
前記確保した図画部ベクトル化および穴埋め処理用ワークメモリを用いて、前記第3のメモリ領域に格納されている前記文字部穴埋め処理を実行した後の図画部ベクトル化処理用画像に対して、図画部穴埋め処理を実行する図画部穴埋め処理手段と、
前記図画部穴埋め処理手段による処理の終了時に、前記メモリ上に確保されている前記図画部ベクトル化および穴埋め処理用ワークメモリを開放する第4のメモリ開放手段と、
前記第4のメモリ開放手段で開放した後のメモリを用いて、前記処理結果保持用メモリに保持されている文字部ベクトル化処理の結果と図画部ベクトル化処理の結果と、前記第3のメモリ領域に保持されている文字部と図画部とが穴埋め処理された後の図画部ベクトル化処理用画像とを含む電子ファイルを生成する電子ファイル生成手段と、
を有する画像処理装置。
【請求項2】
前記電子ファイル生成手段は、前記第4のメモリ開放手段で開放した後のメモリを用いて、前記処理結果保持用メモリに保持されている文字部ベクトル化処理の結果と図画部ベクトル化処理の結果と、前記第3のメモリ領域に保持されている文字部と図画部とが穴埋め処理された後の図画部ベクトル化処理用画像とを含むページ描画情報を生成し、更に、当該ページ描画情報の生成が終了したときに前記第3のメモリ領域および前記処理結果保持用メモリとを開放し、当該開放した後のメモリを用いて、前記ページ描画情報から前記電子ファイルを生成することを特徴とする請求項1に記載の画像処理装置。
【請求項3】
前記図画部ベクトル化手段は、前記処理結果保持用メモリに保持されている前記領域解析処理の結果に基づき、各図画領域がベクトル化処理可能か否か判定し、ベクトル化処理可能と判定した図画領域に対してはベクトル化処理を実行して図画ベクトルを生成し、ベクトル化処理可能でないと判定した図画領域に対しては前記図画部ベクトル化処理用画像からラスター画像として切り出し、当該生成された図画ベクトルと当該切り出されたラスター画像とを前記図画部ベクトル化処理の結果として前記処理結果保持用メモリに格納することを特徴とする請求項1または2のいずれかに記載の画像処理装置。
【請求項4】
前記領域解析手段で実行された領域解析処理の結果には、画素の連結成分についての属性情報と位置情報とが含まれることを特徴とする請求項1乃至3のいずれかに記載の画像処理装置。
【請求項5】
前記文字部ベクトル化処理用画像の解像度は、前記領域解析用画像の解像度より高いことを特徴とする請求項1に記載の画像処理装置。
【請求項6】
前記図画部ベクトル化処理用画像生成手段で生成される図画部ベクトル化処理用画像は、輝度情報の解像度よりも色差情報の解像度が低いことを特徴とする請求項1乃至5のいずれかに記載の画像処理装置。
【請求項7】
前記図画部ベクトル化手段は、前記ベクトル化処理用画像から矩形のクリップアート領域を抽出し、当該クリップアート領域内の背景領域を同定し、当該クリップアート領域において同定された背景領域以外のオブジェクト領域をベクトル化して図画部ベクトルを生成し、前記図画部ベクトル化処理の結果として前記処理結果保持用メモリに格納し、
前記図画部穴埋め処理手段は、前記図画部ベクトル化処理用画像に対して、前記オブジェクト領域に対応する部分の穴埋め処理を行うものであって、前記オブジェクト領域と前記クリップアート領域の外との境界と、前記オブジェクト領域と前記背景領域との境界とでそれぞれ異なる穴埋め処理を行う
ことを特徴とする請求項6に記載の画像処理装置。
【請求項8】
入力画像を保存するメモリを備える画像処理装置が実行する画像処理方法であって、
領域解析用画像生成手段が、前記入力画像から領域解析処理に適した領域解析用画像を生成し、当該生成した領域解析用画像を、前記メモリ上に確保した第1のメモリ領域に格納する領域解析用画像生成工程と、
領域解析処理用ワークメモリ確保手段が、前記メモリ上に領域解析処理用ワークメモリを確保する領域解析処理用ワークメモリ確保工程と、
領域解析手段が、前記確保した領域解析処理用ワークメモリを用いて、前記第1のメモリ領域に格納されている領域解析用画像に領域解析処理を実行し、前記メモリ上に確保された処理結果保持用の処理結果保持用メモリ領域に、当該実行した領域解析処理の結果を格納する領域解析工程と、
第1のメモリ開放手段が、前記領域解析工程での処理の終了時に、前記メモリ上に確保されている前記第1のメモリ領域と前記領域解析処理用ワークメモリとを開放する第1のメモリ開放工程と、
文字部ベクトル化処理用画像生成手段が、前記入力画像から文字部のベクトル化処理に適した文字部ベクトル化処理用画像を生成し、当該生成した文字部ベクトル化処理用画像を、前記第1のメモリ開放工程で開放した後のメモリ上に確保した第2のメモリ領域に格納する文字部ベクトル化処理用画像生成工程と、
文字部ベクトル化処理用ワークメモリ確保手段が、前記第1のメモリ開放工程で開放した後のメモリ上に文字部ベクトル化処理用ワークメモリを確保する文字部ベクトル化処理用ワークメモリ確保工程と、
文字部ベクトル化処理手段が、前記確保した文字部ベクトル化処理用ワークメモリを用いて、前記処理結果保持用メモリに保持されている前記領域解析処理の結果に基づき前記第2のメモリ領域に格納されている文字部ベクトル化処理用画像に文字部ベクトル化処理を実行し、当該実行した文字部ベクトル化処理の結果を前記処理結果保持用メモリに格納する文字部ベクトル化処理工程と、
第2のメモリ開放手段が、前記文字部ベクトル化処理工程による処理の終了時に、前記メモリ上に確保されている前記第2のメモリ領域と前記文字部ベクトル化処理用ワークメモリとを開放する第2のメモリ開放工程と、
図画部ベクトル化処理用画像生成手段が、前記入力画像から図画部のベクトル化処理に適した図画部ベクトル化処理用画像を生成し、当該生成した図画部ベクトル化処理用画像を、前記第2のメモリ開放手段で開放した後のメモリ上に確保した第3のメモリ領域に格納する図画部ベクトル化処理用画像生成工程と、
文字部穴埋め処理用ワークメモリ確保手段が、前記第2のメモリ開放手段で開放した後のメモリ上に文字部穴埋め処理用ワークメモリを確保する文字部穴埋め処理用ワークメモリ確保工程と、
文字部穴埋め処理手段が、前記確保した文字部穴埋め処理用ワークメモリを用いて、前記処理結果保持用メモリに保持されている前記領域解析処理の結果に基づき前記第3のメモリ領域に格納されている図画部ベクトル化処理用画像に文字部穴埋め処理を実行する文字部穴埋め処理工程と、
第3のメモリ開放手段が、前記文字部穴埋め処理工程による処理の終了時に、前記メモリ上に確保されている前記文字部穴埋め処理用ワークメモリを開放する第3のメモリ開放工程と、
図画部ベクトル化処理用ワークメモリ確保手段が、前記第3のメモリ開放工程で開放した後のメモリ上に図画部ベクトル化および穴埋め処理用ワークメモリを確保する図画部ベクトル化処理用ワークメモリ確保工程と、
図画部ベクトル化手段が、前記確保した図画部ベクトル化および穴埋め処理用ワークメモリを用いて、前記処理結果保持用メモリに保持されている前記領域解析処理の結果に基づき前記第3のメモリ領域に格納されている図画部ベクトル化処理用画像に図画部ベクトル化処理を実行し、当該実行した図画部ベクトル化処理の結果を前記処理結果保持用メモリに格納する図画部ベクトル化工程と、
図画部穴埋め処理手段が、前記確保した図画部ベクトル化および穴埋め処理用ワークメモリを用いて、前記第3のメモリ領域に格納されている前記文字部穴埋め処理を実行した後の図画部ベクトル化処理用画像に対して、図画部穴埋め処理を実行する図画部穴埋め処理工程と、
第4のメモリ開放手段が、前記図画部穴埋め処理工程による処理の終了時に、前記メモリ上に確保されている前記図画部ベクトル化および穴埋め処理用ワークメモリを開放する第4のメモリ開放工程と、
電子ファイル生成手段が、前記第4のメモリ開放工程で開放した後のメモリを用いて、前記処理結果保持用メモリに保持されている文字部ベクトル化処理の結果と図画部ベクトル化処理の結果と、前記第3のメモリ領域に保持されている文字部と図画部とが穴埋め処理された後の図画部ベクトル化処理用画像とを含む電子ファイルを生成する電子ファイル生成工程と、
を有する画像処理方法。
【請求項9】
コンピュータを、
メモリに保存された入力画像から領域解析処理に適した領域解析用画像を生成し、当該生成した領域解析用画像を、前記メモリ上に確保した第1のメモリ領域に格納する領域解析用画像生成手段、
前記メモリ上に領域解析処理用ワークメモリを確保する領域解析処理用ワークメモリ確保手段、
前記確保した領域解析処理用ワークメモリを用いて、前記第1のメモリ領域に格納されている領域解析用画像に領域解析処理を実行し、前記メモリ上に確保された処理結果保持用の処理結果保持用メモリ領域に、当該実行した領域解析処理の結果を格納する領域解析手段、
前記領域解析手段による処理の終了時に、前記メモリ上に確保されている前記第1のメモリ領域と前記領域解析処理用ワークメモリとを開放する第1のメモリ開放手段、
前記入力画像から文字部のベクトル化処理に適した文字部ベクトル化処理用画像を生成し、当該生成した文字部ベクトル化処理用画像を、前記第1のメモリ開放手段で開放した後のメモリ上に確保した第2のメモリ領域に格納する文字部ベクトル化処理用画像生成手段、
前記第1のメモリ開放手段で開放した後のメモリ上に文字部ベクトル化処理用ワークメモリを確保する文字部ベクトル化処理用ワークメモリ確保手段、
前記確保した文字部ベクトル化処理用ワークメモリを用いて、前記処理結果保持用メモリに保持されている前記領域解析処理の結果に基づき前記第2のメモリ領域に格納されている文字部ベクトル化処理用画像に文字部ベクトル化処理を実行し、当該実行した文字部ベクトル化処理の結果を前記処理結果保持用メモリに格納する文字部ベクトル化処理手段、
前記文字部ベクトル化処理手段による処理の終了時に、前記メモリ上に確保されている前記第2のメモリ領域と前記文字部ベクトル化処理用ワークメモリとを開放する第2のメモリ開放手段、
前記入力画像から図画部のベクトル化処理に適した図画部ベクトル化処理用画像を生成し、当該生成した図画部ベクトル化処理用画像を、前記第2のメモリ開放手段で開放した後のメモリ上に確保した第3のメモリ領域に格納する図画部ベクトル化処理用画像生成手段、
前記第2のメモリ開放手段で開放した後のメモリ上に文字部穴埋め処理用ワークメモリを確保する文字部穴埋め処理用ワークメモリ確保手段、
前記確保した文字部穴埋め処理用ワークメモリを用いて、前記処理結果保持用メモリに保持されている前記領域解析処理の結果に基づき前記第3のメモリ領域に格納されている図画部ベクトル化処理用画像に文字部穴埋め処理を実行する文字部穴埋め処理手段、
前記文字部穴埋め処理手段による処理の終了時に、前記メモリ上に確保されている前記文字部穴埋め処理用ワークメモリを開放する第3のメモリ開放手段、
前記第3のメモリ開放手段で開放した後のメモリ上に図画部ベクトル化および穴埋め処理用ワークメモリを確保する図画部ベクトル化処理用ワークメモリ確保手段、
前記確保した図画部ベクトル化および穴埋め処理用ワークメモリを用いて、前記処理結果保持用メモリに保持されている前記領域解析処理の結果に基づき前記第3のメモリ領域に格納されている図画部ベクトル化処理用画像に図画部ベクトル化処理を実行し、当該実行した図画部ベクトル化処理の結果を前記処理結果保持用メモリに格納する図画部ベクトル化手段、
前記確保した図画部ベクトル化および穴埋め処理用ワークメモリを用いて、前記第3のメモリ領域に格納されている前記文字部穴埋め処理を実行した後の図画部ベクトル化処理用画像に対して、図画部穴埋め処理を実行する図画部穴埋め処理手段、
前記図画部穴埋め処理手段による処理の終了時に、前記メモリ上に確保されている前記図画部ベクトル化および穴埋め処理用ワークメモリを開放する第4のメモリ開放手段、
前記第4のメモリ開放手段で開放した後のメモリを用いて、前記処理結果保持用メモリに保持されている文字部ベクトル化処理の結果と図画部ベクトル化処理の結果と、前記第3のメモリ領域に保持されている文字部と図画部とが穴埋め処理された後の図画部ベクトル化処理用画像とを含む電子ファイルを生成する電子ファイル生成手段、
として機能させるためのコンピュータプログラム。
【請求項10】
請求項9に記載のコンピュータプログラムを格納した、コンピュータ読み取り可能な記憶媒体。
【請求項11】
入力画像を保存するメモリと、
前記入力画像から画像処理に適した画像を生成し、前記生成された画像を前記メモリ上に確保したメモリ領域に格納する画像生成手段と、
前記メモリ上に前記画像処理のワークメモリを確保するワークメモリ確保手段と、
前記確保したワークメモリを用いて、前記メモリ領域に格納されている画像処理に適した画像に対して画像処理を実行し、前記メモリ上に確保された処理結果保持用のメモリ領域に、当該実行した画像処理の結果を格納する画像処理手段と、
前記画像処理手段の画像処理の終了時に、前記メモリ上に確保されている前記メモリ領域と前記画像処理用のワークメモリとを開放するメモリ開放手段と、を備える画像処理装置であって、
複数種類の画像処理それぞれに対して、前記画像生成手段と前記ワークメモリ確保手段と前記画像処理手段と前記メモリ開放手段とによる処理を実行し、前記処理結果保持用のメモリ領域から前記複数種類の画像処理それぞれの処理結果を含む電子ファイルを生成する電子ファイル生成手段を更に備えることを特徴とする画像処理装置。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【公開番号】特開2011−54123(P2011−54123A)
【公開日】平成23年3月17日(2011.3.17)
【国際特許分類】
【出願番号】特願2009−205030(P2009−205030)
【出願日】平成21年9月4日(2009.9.4)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
【公開日】平成23年3月17日(2011.3.17)
【国際特許分類】
【出願日】平成21年9月4日(2009.9.4)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
[ Back to top ]