(57)【要約】【課題】等幅線と面、または面同士の境界に隙間が生じることのない、等幅線と面とが混在した画像のベクトル化を実現する。【解決手段】色領域毎に等幅線・面の分離処理を行う。分離後、等幅線が位置していた画素位置を隣接する面の色情報で穴埋めする。等幅線を穴埋めして得られるデータに対して境界共有型のベクトル化処理を行う。また、等幅線・面の分離処理で得られた等幅線に基づいて、芯線と線幅とで表されるベクトルデータを生成する。色毎に抽出した等幅線のベクトル化結果と、等幅線領域を穴埋めした後のデータから生成された面の境界線ベクトル化結果とを出力する。【選択図】図４
2011198246.tif 000002
【特許請求の範囲】
【請求項１】
１以上の色領域を含む画像を入力する画像入力手段と、
前記入力された画像を色毎の領域に分割する色領域分割手段と、
前記分割された色領域の各々を、等幅線領域と面領域とに分離する等幅線面分離手段と、
前記等幅線面分離手段により分離された各色領域の面領域の和集合を求め、当該求めた和集合の画像において前記分離された等幅線領域が存在していた領域を当該領域に隣接する面領域の色で穴埋めする等幅線領域穴埋め手段と、
前記等幅線面分離手段により分離された等幅線領域に基づいて等幅線のベクトルデータを生成し、更に、前記等幅線領域穴埋め手段で穴埋めされた後の画像から抽出された面領域の輪郭に基づいて面領域のベクトルデータを生成するベクトル化手段と
を備えたことを特徴とする画像処理装置。
【請求項２】
前記等幅線領域穴埋め手段は、前記隣接する面領域の色情報を用いて１画素幅ずつ順に穴埋めする処理を繰り返し実行することにより、前記等幅線領域が存在していた領域を穴埋めすることを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記色領域分割手段は、前記入力された画像を色毎のクラスタに分割し、ノイズのクラスタを除去することで、前記色毎の領域に分割することを特徴とする請求項１または２に記載の画像処理装置。
【請求項４】
前記ベクトル化手段は、前記等幅線領域のベクトルデータの表示される順序が前記面領域のベクトルデータよりも前になるようデータを生成することを特徴とする請求項１ないし３のいずれかに記載の画像処理装置。
【請求項５】
前記ベクトル化手段は、前記等幅線面分離手段により分離された等幅線領域に基づいて関数近似された芯線と線幅とで表される等幅線のベクトルデータを生成し、更に、前記等幅線領域穴埋め手段で穴埋めされた後の画像から抽出された面領域の輪郭に基づいて関数近似された当該面領域の輪郭で表される面領域のベクトルデータを生成することを特徴とする請求項１ないし４のいずれかに記載の画像処理装置。
【請求項６】
前記ベクトル化手段で生成される前記面領域のベクトルデータは、前記等幅線領域穴埋め手段で穴埋めされた後の画像から抽出された面領域の境界線の輪郭座標を交点ごとに分離し、交点間の輪郭座標を関数近似して生成した交点間のベクトルデータを繋ぎ合わせることにより生成される、各色の面領域のベクトルデータであることを特徴とする請求項１ないし５のいずれかに記載の画像処理装置。
【請求項７】
画像入力手段が、１以上の色領域を含む画像を入力する画像入力ステップと、
色領域分割手段が、前記入力された画像を色毎の領域に分割する色領域分割ステップと、
等幅線面分離手段が、前記分割された色領域の各々を、等幅線領域と面領域とに分離する等幅線面分離ステップと、
等幅線領域穴埋め手段が、前記等幅線面分離ステップで分離された各色領域の面領域の和集合を求め、当該求めた和集合の画像において前記分離された等幅線領域が存在していた領域を当該領域に隣接する面領域の色で穴埋めする等幅線領域穴埋めステップと、
ベクトル化手段が、前記等幅線面分離ステップで分離された等幅線領域に基づいて等幅線のベクトルデータを生成し、更に、前記等幅線領域穴埋めステップで穴埋めされた後の画像から抽出された面領域の輪郭に基づいて面領域のベクトルデータを生成するベクトル化ステップと
を備えたことを特徴とする画像処理方法。
【請求項８】
コンピュータ装置に実行させるプログラムであって、前記プログラムを実行するコンピュータ装置を、請求項１ないし６のいずれかに記載の画像処理装置として動作させることを特徴とするプログラム。
【請求項９】
コンピュータ装置に実行させるプログラムを記憶した記憶媒体であって、前記プログラムを実行するコンピュータ装置を、請求項１ないし６のいずれかに記載の画像処理装置として動作させるプログラムを記憶したことを特徴とするコンピュータ読取可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は画像処理方法、画像処理装置、プログラム及びプログラム記憶媒体に関するものであり、特にイラストや線画等の画像入力を等幅線と面に分離し、それぞれに適したベクトル化処理を適用して高画質と再利用性の両立を図る技術に関する。分離した情報のうち、等幅線は中心線座標をベクトル化して線幅情報を付加、面は輪郭座標をベクトル化する。等幅線が位置する領域を穴埋めした上で等幅線が表示順序で上に来るようベクトルデータを出力し、レンダリング画像にベクトル化による隙間が発生しないようにする。
【背景技術】
【０００２】
近年、情報の電子化が進み、紙文書をそのまま保存するのではなく、スキャナ等により電子化して保存したり、その電子データを他装置に送信したりするシステムが普及してきている。このようなシステムでは、送信コストを削減する等のため、電子化された文書に対して高度の圧縮が要求されている。一方、電子データの圧縮は一般に画像情報の劣化を伴うため、電子化データを部分的に編集出来る再利用性と、拡大や縮小を行っても高画質の維持が要求されている。この２つの要求を満たすため、様々な圧縮法が提案されているが、圧縮と画質とが両立しない場合もある。例えば、文書データに文字領域や写真領域が混在する場合、文字領域に適した圧縮を行うと画質は維持されるが圧縮率が低くなり、写真領域に適した圧縮を行うと圧縮率は高くすることができるが文字領域の画質が劣化してしまうという問題がある。
【０００３】
そこで文書データを文字領域や写真領域に分離して、各々適した処理を施すことで、文書画像の高圧縮、再利用、高画質を実現する手法が提案されている（特許文献１を参照）。具体的には再利用性と高画質が重視される文字領域はベクトルデータに変換し、それ以外の簡易にベクトル化で再現できない写真領域等はJPEGで圧縮される。
【０００４】
また、文字画像だけでなく、数色の均等色で構成され、輪郭が明瞭であることを特徴とする図形画像 (イラストやクリップアート、線画と一般的に呼ばれる)をベクトル化処理の対象とする手法も提案されている（特許文献２を参照）。ここで提案されている方式は、入力された画像を色の類似度を使って入力画像の色数を減らした後、各色領域の輪郭座標を抽出して関数近似を行うものである。
【０００５】
抽出した輪郭座標を関数近似する手法は、特許文献３に開示されている。ここでは輪郭座標を、以下の条件
第1の角点：隣接する点列を結ぶベクトルの変化が鋭角となる点
第2の角点：連続する点と点との距離がある閾値より大きい場合の両端の点
変曲点：連続するベクトルの外積の符号が変化する点
を満たす点で分割を行い、分割区間に対してベジェ曲線を当てはめることで近似を行う。
【０００６】
特許文献４では、色領域間で共通する境界線を抽出し、境界線毎に関数近似を行い、近似結果を色領域毎に元の並びとなるようつなぎ合わせて出力する境界共有型のベクトル化手法が開示されている。色領域間に共通の近似結果が用いられるため、原理的に隙間が生じることはない。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００４−２６５３８４号公報
【特許文献２】特開２００６−３４４０６９号公報
【特許文献３】特開２００５−３１００７０号公報
【特許文献４】特開２００８−１４６４９６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、ベクトル化を行うと、ベクトル化の結果得られたデータをレンダリングした画像の色領域間に隙間が生じる場合がある。これは、色領域から抽出した輪郭を領域毎に個別に関数近似を行う際と、入力を等幅線と面に分けてベクトル化した際とに生じる。後者の原因でレンダリング結果に隙間が生じる例を図３に示す。図３(a)に示す入力画像を色ごとに分けると、図３(b)に示すように3つの色領域に分けられる。図３(c)は各色領域を等幅線と面に分離した結果を示している。左の２つの色領域には、等幅線の領域が無いと判断されたものとする。一番右側に記載した色領域には等幅線の部分が含まれると判断され、面と等幅線とに分離される。図３（ｃ）の上段に記載した画像が面、下段に記載した画像が等幅線を表している。図３(c)に示す等幅線の中心線座標と、面の輪郭座標とを取得し、関数近似してベクトルデータとして出力すると、図３(d)となる。図３（ｄ）の右側に、そのベクトルデータをレンダリングしたときの画像の一部を拡大表示したものである。この出力ベクトルデータでは等幅線と面、または面同士の間に隙間が生じていることが確認できる。
【０００９】
色領域の輪郭ではなく、色領域の境界線をベクトル化して後でつなぎ合わせることで隙間の発生を防止することができる。しかしながら、等幅線に関しては、中心線と当該等幅線の線幅の情報とによってベクトルデータを表現することが望まれることが多い。したがって、入力の一部領域でも等幅線の中心線座標をベクトル化する場合は、色領域の境界線をベクトル化する手法のみを適用することはできない。線を線幅付きでレンダリングした場合の境界位置は、レンダラの精度や実装に依存して変化するのが常であり、正確な値を事前に求めることはできない。仮に正確な境界位置が求められたとしても、隙間が生じないように関数近似を行うことは非常に困難である。
【課題を解決するための手段】
【００１０】
上記課題を解決するために、本発明に係る画像処理装置は、１以上の色領域を含む画像を入力する画像入力手段と、前記入力された画像を色毎の領域に分割する色領域分割手段と、前記分割された色領域の各々を、等幅線領域と面領域とに分離する等幅線面分離手段と、前記等幅線面分離手段により分離された各色領域の面領域の和集合を求め、当該求めた和集合の画像において前記分離された等幅線領域が存在していた領域を当該領域に隣接する面領域の色で穴埋めする等幅線領域穴埋め手段と、前記等幅線面分離手段により分離された等幅線領域に基づいて等幅線のベクトルデータを生成し、更に、前記等幅線領域穴埋め手段で穴埋めされた後の画像から抽出された面領域の輪郭に基づいて面領域のベクトルデータを生成するベクトル化手段とを備えたことを特徴とする。
【発明の効果】
【００１１】
本発明によれば、等幅線と面、または面同士の境界に隙間が生じることのない、等幅線と面とが混在した画像のベクトル化が実現できる。
【図面の簡単な説明】
【００１２】
【図１】本発明の一実施形態における情報処理装置のメイン処理ブロック図である。
【図２】本発明の一実施形態における情報処理装置のブロック図である。
【図３】色毎にベクトル化を行った際に隙間が生じる例である。
【図４】本発明の一実施形態におけるフローチャート図である
【図５】本発明の一実施形態における処理過程で得られる処理結果を図示したものである。
【図６】等幅線領域穴埋め処理のフローチャート図である。
【図７】等幅線領域穴埋め処理の過程で得られる処理結果を図示したものである。
【発明を実施するための形態】
【００１３】
以下、添付の図面を参照して本発明の実施の形態を説明する。ただし、この実施の形態に記載されている構成要素はあくまで例示であり、本発明の技術的範囲は、特許請求の範囲によって確定されるのであって、以下の個別の実施形態によって限定されるわけではない。
【００１４】
［実施例１］
本実施例の画像処理装置の構成例について、図２のブロック図を参照して説明する。図２において、Central Processing Unit（ＣＰＵ）７は装置全体を制御する。Read Only Memory（ＲＯＭ）６は、変更を必要としないプログラムやパラメータを格納する。Random Access Memory（ＲＡＭ）５は、外部装置等から供給されるプログラムやデータを一時記憶する。スキャナ１は、文書等を光電走査して電子的な画像データを取得し、画像入出力Ｉ／Ｏ３を介して画像データはシステムバス１１を経由しＣＰＵ７等に送られる。画像メモリ２は、スキャナ１で読み取られた画像データ等を保持する。外部記憶装置１２は、固定して設置されたハードディスクやメモリカード、あるいは着脱可能なフレキシブルディスク（ＦＤ）やCompact Disk（ＣＤ）等の光ディスク、磁気や光カード、ＩＣカード、メモリカード等を含む。これら外部記憶装置１２は、Ｉ／Ｏ１３およびバス１６を介してＣＰＵ等とデータの送受信を行う。Ｉ／Ｏ１５は、ユーザの操作を受け、データを入力するマウス等のポインティングデバイス１０やキーボード９等の入力デバイスからのデータを受信する。映像Ｉ／Ｏ１４は、画像処理装置の保持するデータや供給されたデータを表示するためのディスプレイモニタ８にデータを送る。通信Ｉ／Ｆ４は、インターネット等のネットワーク回線に接続するためのものである。システムバス１１は、本実施例の画像処理装置の各ユニットを通信可能に接続する。
【００１５】
以下に詳述する本実施例の処理は、以下のような手法を基本的に使用して実行する。まず入力画像を等幅線と面に分離し、それぞれに適したベクトル化を施す。入力画像の特定色を2値画像とみなして2値画像処理の細線化と距離変換を組み合わせて、等幅線の中心線座標と線幅情報とを生成し、中心線を関数近似した上で線幅情報と合わせて出力する。また、これらの情報を元に入力画像から等幅線を除いた領域を分離して面として扱い、面の輪郭座標を抽出して関数近似を行う。等幅線と面を分けて処理することにより、図面等、等幅線が多く含まれる画像に対してより少ないデータサイズで、等幅線に歪みが生じないベクトルデータを得ることができる。
【００１６】
次により具体的に、ＣＰＵ７上で実行されるプログラムにより本願発明を実現する処理手順を、図1のブロック図および図４のフローチャートを参照して説明する。ステップＳ４０１で処理を開始すると、処理対象となる画像データを入力する。画像入力に関しては、スキャナ１にて読み取られた画像データを画像入出力Ｉ／Ｏ ３を介して装置に取り込まれる。また、通信Ｉ／Ｆ４を介して、装置外部より処理対象画像データを入力してもよく、あるいは外部記憶装置１２に予め記憶される画像データをＩ／Ｏ １３を介して読み込んでもよい。入力された処理対象画像データは、画像メモリ２に保持される。
【００１７】
次に、保持された画像データに対してステップＳ４０２で色毎の領域に分割する色領域分割処理を行う。ここでは特許文献２で開示されている入力画像中の画素から色毎のクラスタを構成し、色が類似するクラスタやノイズと思われるクラスタを隣接するクラスタに統合することでスキャンノイズを除去する手法を適用することができる。ノイズが除去された後の各色のクラスタを各色領域として分割することができる。以上の処理は図１における画像入力部１００として実装される。
【００１８】
ステップＳ４０３では色領域分割した結果に基づいて、処理対象の色領域を選択する。図５を例にとると、図５(a)に示す入力画像の場合、図５(b)に示すように３つの色別画像が得られる。ここではこのうち未処理の領域を選択する。この処理は図１における処理領域選択部２００に実装される。
【００１９】
ステップＳ４０４では、上述したように選択した色領域を単色画像として扱い、等幅線と面との分離処理を行う。すなわち、入力を2値画像とみなし、距離変換と細線化処理を行う。細線化した結果得られた各画素に対して、自身の画素に対応する距離変換値と、隣接画素の距離変換値とを加算することで、細線化により得られた画素ごとに元の線幅値を推定する。次に解放端・交点単位で細線化結果を区切って芯線情報を生成し、画素毎に求めた線幅値の分散を見積もることで等幅線領域を判定する。また等幅線と判定された芯線情報を元に、入力画像から面を分離する。図５(b)に示す色別画像を処理した場合、図５(c)に示す分離結果が得られる。図５（ｃ）の上段に示すのが面領域、下段に示すのが等幅線領域である。したがって、図５（ａ）に示す画像は、黒領域のみ等幅線領域と面領域とに分かれ、それ以外の領域は全て面領域で構成されていることが理解できる。上述の手法を適用すると、（１）等幅線の芯線座標と線幅情報、（２）等幅線領域を表す画素情報、（３）面領域を表す画素情報を得ることができる。
【００２０】
ステップＳ４０５では全ての色領域を処理したか否かを確認し、未処理の色領域が存在する場合はステップＳ４０３に戻り、新たな色領域を選択する。以上の処理は図１における等幅線面分離部３００に実装される。
【００２１】
全ての色領域を処理し終えた後、ステップＳ４０６で等幅線領域の穴埋め処理を行う。ステップＳ４０６におけるフローの詳細を、以下図６と図７を参照して説明する。まずステップＳ６１０において、ステップＳ４０１ないしＳ４０５の処理で得られた各色の面領域を表す画素情報の和集合を求める。例えば図５(c)に示す3つの色領域から得られた和集合は図５(d)となる。面領域を表す画素情報の和集合を求めた結果、どの面領域にも含まれない画素があった場合、その画素は等幅線領域が存在していた位置を表す画素とみなす。次に、得られた和集合に対して順次ラスタスキャンを行い、等幅線領域が存在していた位置の画素を検出し、穴埋領域として周囲の隣接する面領域の色情報を用いて穴埋めする。具体的には例えば、隣接する面領域の色を使って穴埋め処理を行うことができる。
【００２２】
ステップＳ６２０で未処理の等幅線画素を選択し、ステップＳ６３０で隣接画素を参照して穴埋め色を選択する。穴埋め色は、面領域の和集合の画像における等幅線画素の上下左右の画素を参照して存在する面領域の色を選択して穴埋めしていくが、同一ラスタスキャン中に色が置き換わった画素と、着目している等幅線画素とが元々保持していた色は選択対象から除くようにする。これにより、1回のラスタスキャンで穴埋めされる等幅線領域を1画素幅に制限することができ、穴埋め処理のラスタスキャンを繰り返し行うことで、太い線の両側に異なる色を持つ面領域が位置していた場合でも両側の色で均等に穴埋めすることができる。
【００２３】
ステップＳ６３１からステップＳ６３４では、それぞれ左、上、右、下に位置する画素を参照し、先に述べた条件を満たす画素が見つかるか確認する。見つかった場合、以降の画素位置の参照処理は省略してステップＳ６３５に移り、直前に参照した画素位置の色を穴埋め色に設定する。ステップＳ６４０で穴埋め色が選択されたかを確認し、穴埋め色が選択された場合はステップＳ６５０で穴埋め処理を行う。穴埋め色が選択されなかった場合は、ステップＳ６４０から直接ステップＳ６６０に移り全ての等幅線画素を穴埋めし終えたかどうかを確認する。未処理の等幅線画素が存在する場合、ラスタスキャン中の場合はステップＳ６２０に戻った際にラスタスキャン順で次の画素を選択する。
【００２４】
ラスタスキャン順で最後の未処理画素を処理していた場合は、画像の先頭に戻って処理を続ける。繰り返し以上の処理を行うことで図７に示す画像を例にとると、2回のラスタスキャンで等幅線画素の穴埋めを行うことができる。この結果、図５を参照すると、図５(d)に示す和集合を処理した場合、図５(e)に示す穴埋め結果が得られることとなる。以上の処理は図１における等幅線領域穴埋め部４００に実装される。
【００２５】
等幅線領域の穴埋めが終わった後の画像は、面領域だけで構成された画像になっているので、ステップＳ４０７において、穴埋めされた面領域の画像データに対して境界共有型のベクトル化処理を行う。境界共有型のベクトル化は特許文献４の手法を適用することができる。まず、穴埋め後の画像から色領域を検出し、当該検出した色領域間の境界線を、境界線の交点ごとに分離して、当該分離された境界線の交点間ごとに、隣接する色領域間で共通する輪郭座標を求めることができる。
【００２６】
以上の処理で、ステップＳ４０４で等幅線領域の芯線座標とその線幅の情報とを取得し、また、ステップＳ４０７において、穴埋め後の面領域に対する輪郭座標を求めることができたため、ステップＳ４０８でベクトルデータ生成処理を行う。等幅線領域に対しては、当該取得した芯線の座標情報を関数近似し、関数近似された芯線のデータに線幅情報を付与してベクトルデータを生成する。また、面領域に対しては、まず、穴埋め後の面領域の境界線を交点ごとに分離して得られた境界線の交点間輪郭座標情報を関数近似して交点間のベクトルデータを生成する。そして、各色領域を囲む境界線に応じて当該関数近似して生成した交点間のベクトルデータを繋ぎ合わせることにより、各色の面領域のベクトルデータを生成する。関数近似は特許文献４の手法を適用することができる。
【００２７】
ベクトルデータを出力する際に、等幅線領域のベクトルデータが面領域のベクトルデータよりも表示される順序が前に来るように出力する。多くのベクトルフォーマットでは後に来るデータほど表示順序が前になるようになっているので、この場合は面領域のデータを出力した後に等幅線領域のデータを出力すればよい。例えば、面領域のベクトルデータを記述した後に等幅線領域のベクトルデータを記述したＰＤＦファイルを生成して出力すればよい。以上の結果、図５(a)に示した入力画像を処理すると最終的に図５(f)に示す等幅線領域と面領域との間、または面領域同士の間の境界に隙間が生じないベクトルデータが得られる。以上の処理は図１におけるベクトル化部５００に実装される。
【００２８】
［実施例２］
上述の実施例１では等幅線・面分離処理の結果得られる各色の面領域の和集合を求め、等幅線領域が位置する画素を隣接する面領域の色で逐次置き換えて穴埋めを行った。しかし本発明の範囲はこれに限らず、等幅線領域を他のやり方で穴埋めしてもよい。例えば単一色で置き換えるやり方であれば穴埋め処理に要する画像の走査回数も減り、処理速度が速くなる。穴埋め色の選択は等幅線領域が隣接する面領域から1つを選択してもよいし、隣接する色領域の平均色を用いてもよい。
【００２９】
以上本発明にかかる実施形態を説明したが、実施形態の処理の多くは、情報処理装置上で実行されるコンピュータプログラムによるものであるので、当然、本発明はかかるコンピュータプログラムをもその範疇とする。すなわち、本発明はかかるコンピュータプログラムをコンピュータ上で実行すると、そのコンピュータは本発明の情報処理装置として動作することとなる。通常、コンピュータプログラムは５のＲＡＭや６のＲＯＭ、またはＣＤ−ＲＯＭ等のコンピュータ読取可能な記憶媒体に格納されていて、それをコンピュータにセットし、システムにコピーもしくはインストールすることで実行可能になる。従って、かかるコンピュータ読取可能な記憶媒体も当然に本発明の範疇に入る。
【図１】
2011198246.tif 000003
【図２】
2011198246.tif 000004
【図３】
2011198246.tif 000005
【図４】
2011198246.tif 000006
【図５】
2011198246.tif 000007
【図６】
2011198246.tif 000008
【図７】
2011198246.tif 000009