(57)【特許請求の範囲】
【請求項１】
静止画像を構成する各画素より第１のレベルと該第1のレベルより大きな第２のレベルとの間のレベルを持つエッジ位置の画素を検出するエッジ検出部と、
上記エッジ検出部で検出された各エッジ位置の画素にそれぞれ対応して該エッジ位置の画素および該エッジ位置の画素の周辺に位置する画素を切り出す画素切り出し部と、
上記エッジ検出部で検出される各エッジ位置の画素のそれぞれに対応して、上記画素切り出し部で切り出された画素のデータ値に基づき、画素内における上記第１のレベルの領域と上記第２のレベルの領域との境界を示す境界線を生成する境界線生成部と、
上記エッジ検出部で検出された各エッジ位置の画素のそれぞれに対応して上記境界線生成部で生成された境界線を連結して、上記静止画像における上記第１のレベルの領域と上記第２のレベルの領域との境界を示すアウトラインを求める連結処理部とを備え、
上記境界線生成部は、
上記エッジ位置の画素のデータ値と上記周辺に位置する画素のデータ値との差に基づいて上記境界線の角度を検出する境界線角度検出部と、
上記エッジ位置の画素のデータ値に対応した上記第１のレベルおよび上記第２のレベルの混入率に基づいて、上記境界線角度検出部で検出された角度の境界線の切片を検出する境界線切片検出部とからなり、
上記画素切り出し部は、
上記エッジ位置の画素に対して水平方向の左右にそれぞれ隣接する画素ｄ２，ｄ１と、上記エッジ位置の画素に対して垂直方向の上下にそれぞれ隣接する画素ｄ３，ｄ４とを切り出し、
上記境界線角度検出部は、
水平方向成分ｄ２−ｄ１および垂直方向成分ｄ４−ｄ３からなる差ベクトルの方向に９０度だけ加算した角度を境界線の角度とする
ことを特徴とするアウトライン作成装置。
【請求項２】
上記連結処理部は、
上記境界線生成部で生成される上記各エッジ位置の画素に対応した境界線の方向をそれぞれ左側または右側にデータ値の高い画素が存在するように設定し、
第１の境界線に連結する第２の境界線を、該第１の境界線の終点に最も近い始点を持つ境界線とする
ことを特徴とする請求項１に記載のアウトライン作成装置。
【請求項３】
静止画像を構成する各画素より第１のレベルと該第１のレベルより大きな第２のレベルとの間のレベルを持つエッジ位置の画素を検出するエッジ検出ステップと、
上記エッジ検出ステップで検出された各エッジ位置の画素にそれぞれ対応して該エッジ位置の画素および該エッジ位置の画素の周辺に位置する画素を切り出す画素切り出しステップと、
上記エッジ検出ステップで検出される各エッジ位置の画素のそれぞれに対応して、上記画素切り出しステップで切り出された画素のデータ値に基づき、画素内における上記第１のレベルの領域と上記第２のレベルの領域との境界を示す境界線を生成する境界線生成ステップと、
上記エッジ検出ステップで検出された各エッジ位置の画素のそれぞれに対応して、上記境界線生成部で生成された境界線を連結して上記静止画像における上記第１のレベルの領域と上記第２のレベルの領域との境界を示すアウトラインを求める連結処理ステップとを備え、
上記境界線生成ステップは、
上記エッジ位置の画素のデータ値と上記周辺に位置する画素のデータ値との差に基づいて上記境界線の角度を検出する境界線角度検出ステップと、
上記エッジ位置の画素のデータ値に対応した上記第１のレベルおよび上記第２のレベルの混入率に基づいて、上記境界線角度検出ステップで検出された角度の境界線の切片を検出する境界線切片検出ステップとからなり、
上記画素切り出しステップでは、
上記エッジ位置の画素に対して水平方向の左右にそれぞれ隣接する画素ｄ２，ｄ１と、上記エッジ位置の画素に対して垂直方向の上下にそれぞれ隣接する画素ｄ３，ｄ４とを切り出し、
上記境界線角度検出ステップでは、
水平方向成分ｄ２−ｄ１および垂直方向成分ｄ４−ｄ３からなる差ベクトルの方向に９０度だけ加算した角度を境界線の角度とする
ことを特徴とするアウトライン作成方法。
【請求項４】
複数の画素データより構成される静止画像データを入力するデータ入力部と、
上記データ入力部に入力された静止画像データに基づいて、上記静止画像における第１のレベルの領域と該第１のレベルより大きな第２のレベルの領域との境界を示すアウトラインを作成するアウトライン作成部と、
上記アウトライン作成部で作成されたアウトラインに基づいて、拡大対象の画像領域の画素数を増加して拡大画像用の静止画像データを生成するデータ生成部を有し、
上記アウトライン作成部は、
上記静止画像を構成する各画素より上記第１のレベルと上記第２のレベルとの間のレベルを持つエッジ位置の画素を検出するエッジ検出部と、
上記エッジ検出部で検出された各エッジ位置の画素にそれぞれ対応して該エッジ位置の画素および該エッジ位置の画素の周辺に位置する画素を切り出す画素切り出し部と、
上記エッジ検出部で検出される各エッジ位置の画素のそれぞれに対応して、上記画素切り出し部で切り出された画素のデータ値に基づき、画素内における上記第１のレベルの領域と上記第２のレベルの領域との境界を示す境界線を生成する境界線生成部と、
上記エッジ検出部で検出された各エッジ位置の画素のそれぞれに対応して上記境界線生成部で生成された境界線を連結して、上記静止画像における上記第１のレベルの領域と上記第２のレベルの領域との境界を示すアウトラインを求める連結処理部とを備え、
上記境界線生成部は、
上記エッジ位置の画素のデータ値と上記周辺に位置する画素のデータ値との差に基づいて上記境界線の角度を検出する境界線角度検出部と、
上記エッジ位置の画素のデータ値に対応した上記第１のレベルおよび上記第２のレベルの混入率に基づいて、上記境界線角度検出部で検出された角度の境界線の切片を検出する境界線切片検出部とからなり、
上記画素切り出し部は、
上記エッジ位置の画素に対して水平方向の左右にそれぞれ隣接する画素ｄ２，ｄ１と、上記エッジ位置の画素に対して垂直方向の上下にそれぞれ隣接する画素ｄ３，ｄ４とを切り出し、
上記境界線角度検出部は、
水平方向成分ｄ２−ｄ１および垂直方向成分ｄ４−ｄ３からなる差ベクトルの方向に９０度だけ加算した角度を境界線の角度とする
ことを特徴とする画像処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、静止画像の第１、第２のレベルの領域の境界を示すアウトラインを作成するアウトライン作成装置、アウトライン作成方法および画像処理装置に関する。詳しくは、この発明は、第１、第２のレベル間のレベルを持つ各エッジ位置の画素に対応して、エッジ位置およびその周辺の画素のデータ値に基づき、画素内における第１、第２のレベル領域の境界を示す境界線を生成し、それら生成された各境界線を連結してアウトラインを求めることによって、画素単位ではなく実数精度でアウトラインを作成可能としたアウトライン作成装置等に係るものである。
【背景技術】
【０００２】
従来、画像処理の分野では、種々の目的のために、静止画像のエッジ位置を検出することが行われている。例えば、特許文献１には、画像データを高い圧縮率で符号化する方法として、画像データそのものを符号化するのではなく、画像データのエッジを連続的に検出して連続的なエッジデータを符号化することが記載されている。また例えば、特許文献２には、製造途中で重ね合わせマークを用いて回路パターンの重ね合わせ状態の検査をする際に、ＣＣＤカメラの撮像画像からエッジ位置（マーク位置）を検出することが行われている。このエッジ位置の検出は、例えば画素のデータ値が急激に変化する部分を検出することで行われる。
【特許文献１】特開平８−３６６４１号公報
【特許文献２】特開２００４−７９９７０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
上述の特許文献１、特許文献２に記載されるエッジ位置の検出では、エッジの位置を画素単位で検出するものである。しかし、このエッジ位置が例えば黒レベル領域および白レベル領域の境界を示すアウトラインである場合、例えば画素数の増加による画像の拡大処理を考えると、画素単位より細かな単位でのエッジ位置検出が望まれる。
【０００４】
この発明の目的は、画素単位ではなく実数精度でアウトラインを作成可能とすることにある。
【課題を解決するための手段】
【０００５】
この発明の概念は、
静止画像を構成する各画素より第１のレベルと該第1のレベルより大きな第２のレベルとの間のレベルを持つエッジ位置の画素を検出するエッジ検出部と、
上記エッジ検出部で検出された各エッジ位置の画素にそれぞれ対応して該エッジ位置の画素および該エッジ位置の画素の周辺に位置する画素を切り出す画素切り出し部と、
上記エッジ検出部で検出される各エッジ位置の画素のそれぞれに対応して、上記画素切り出し部で切り出された画素のデータ値に基づき、画素内における上記第１のレベルの領域と上記第２のレベルの領域との境界を示す境界線を生成する境界線生成部と、
上記エッジ検出部で検出された各エッジ位置の画素のそれぞれに対応して上記境界線生成部で生成された境界線を連結して、上記静止画像における上記第１のレベルの領域と上記第２のレベルの領域との境界を示すアウトラインを求める連結処理部とを備え、
上記境界線生成部は、
上記エッジ位置の画素のデータ値と上記周辺に位置する画素のデータ値との差に基づいて上記境界線の角度を検出する境界線角度検出部と、
上記エッジ位置の画素のデータ値に対応した上記第１のレベルおよび上記第２のレベルの混入率に基づいて、上記境界線角度検出部で検出された角度の境界線の切片を検出する境界線切片検出部とからなり、
上記画素切り出し部は、
上記エッジ位置の画素に対して水平方向の左右にそれぞれ隣接する画素ｄ２，ｄ１と、上記エッジ位置の画素に対して垂直方向の上下にそれぞれ隣接する画素ｄ３，ｄ４とを切り出し、
上記境界線角度検出部は、
水平方向成分ｄ２−ｄ１および垂直方向成分ｄ４−ｄ３からなる差ベクトルの方向に９０度だけ加算した角度を境界線の角度とする
ことを特徴とするアウトライン作成装置。
【０００６】
この発明においては、静止画像を構成する各画素のデータより第１のレベル（例えば黒レベル）と第２のレベル（例えば白レベル）との間のレベルを持つエッジ位置の画素が検出される。このエッジ位置の検出は画素単位で行われるものである。この発明では、さらに各エッジ位置の画素を用いて、第１のレベルの領域と第２のレベルの領域との境界を示すアウトラインが実数精度で作成される。ここで、第１、第２のレベルは、それぞれ、ある一つのレベル、あるいは所定の幅を持ったレベルを意味している。
【０００７】
すなわち、各エッジ位置の画素にそれぞれ対応して、このエッジ位置の画素およびその周辺に位置する画素が切り出され、それらの画素のデータ値に基づき、画素内における第１のレベルの領域と第２のレベルの領域との境界を示す境界線が生成される。
【０００８】
この場合、例えば、このエッジ位置の画素のデータ値とその周辺に位置する画素のデータ値との差に基づいて、境界線の角度が検出される。さらに、エッジ位置の画素のデータ値に対応した第１のレベルおよび第２のレベルの混入率に基づいて、上述の角度検出された境界線の切片が検出される。ここで、切片とは境界線の画素枠との交点の座標をいう。この切片によって、境界線の画素上の位置が特定される。
【０００９】
各エッジ位置の画素のそれぞれに対応して生成された境界線が連結されて、静止画像における第１のレベルの領域と第２のレベルの領域との境界を示すアウトラインが求められる。例えば、各エッジ位置の画素に対応した境界線の方向はそれぞれ左側または右側にデータ値の高い画素が存在するように設定され、第１の境界線に連結される第２の境界線はこの第１の境界線の終点に最も近い始点を持つ境界線とされる。
【００１０】
このように、第１、第２のレベル間のレベルを持つ各エッジ位置の画素に対応して、エッジ位置およびその周辺の画素のデータ値に基づき、画素内における第１、第２のレベル領域の境界を示す境界線が生成され、その後に各境界線が連結されてアウトラインが求められるものであり、画素単位ではなく実数精度でアウトラインが作成される。
【００１１】
例えば、このように作成されたアウトラインに基づいて、画素数を増加した静止画像のデータが生成される。この場合、作成されたアウトラインにより静止画像における第１のレベルの領域と第２のレベルの領域との境界が実数精度で示されるため、画素数の増加時におけるアウトライン部分でそのレベルが第１のレベルおよび第２のレベルの中間値となる画素の個数を少なくでき、アウトライン部分が明瞭な拡大画像が得られる。
【発明の効果】
【００１２】
この発明によれば、第１、第２のレベル間のレベルを持つ各エッジ位置の画素に対応して、エッジ位置およびその周辺の画素のデータ値に基づき、画素内における第１、第２のレベル領域の境界を示す境界線を生成し、それら生成された各境界線を連結してアウトラインを求めるものであり、画素単位ではなく実数精度でアウトラインを作成できる。
【発明を実施するための最良の形態】
【００１３】
以下、図面を参照しながら、この発明の実施の形態について説明する。図１は、実施の形態としての画像処理装置１００の構成を示している。この画像処理装置１００は、ＣＰＵ(Central Processing Unit)１０１と、ＲＯＭ(Disk ReadOnly Memory)１０２と、ＲＡＭ(Random Access Memory)１０３と、画像メモリ１０４と、マウスあるいはキーボードなどのユーザ操作部１０５と、スキャナ１０６と、カメラ１０７と、ディスプレイ１０８と、プリンタ１０９とが、バス１１０に接続されて構成されている。
【００１４】
ＣＰＵ１０１は、装置全体の動作を制御する。ＲＯＭ１０２は、ＣＰＵ１０１の動作に必要なプログラムおよびデータを格納している。ＲＡＭ１０３は、ＣＰＵ１０１の作業領域等を構成している。スキャナ１０６およびカメラ１０７は静止画像データの入力部を構成している。また、ディスプレイ１０８およびプリンタ１０９は、静止画像データの出力部を構成している。ここで、静止画像データは複数の画素データからなる白黒の画像データであって、各画素データはそれぞれ例えば０〜２５５の値をとる８ビットデータである。
【００１５】
図１に示す画像処理装置１００においては、スキャナ１０６あるいはカメラ１０７で得られる静止画像データは、ユーザ操作部１０５のよるユーザ操作に対応して、ＣＰＵ１０１により処理される。そして、処理後の静止画像データがディスプレイ１０８あるいはプリンタ１０９に供給され、画像表示あるいは印画される。
【００１６】
ここで、静止画像データに対するＣＰＵ１０１の処理として、画像を拡大する処理が行われる。この画像拡大処理では、ユーザ操作で指定された拡大率に対応して、拡大対象の画像領域に対応した画素数が拡大率に応じて増加される。例えば、拡大率が２であるときは、１／２の画像領域が拡大対象とされ、その画像領域に対応した画素数が２倍に増加される。
【００１７】
ＣＰＵ１０１は、この画像拡大処理を行うために、アウトライン作成部と、データ生成部とを構成している。アウトライン作成部は、画像メモリ１０４に蓄積されている処理前の静止画像データに基づいて、第１のレベルとしての黒レベルの領域と、第２のレベルとしての白レベルの領域との境界を求める。また、データ作成部は、アウトライン作成部で作成されたアウトラインに基づいて、拡大対象の画像領域の画素数を増加して拡大画像用の静止画像データを生成する。
【００１８】
図２は、アウトライン作成部２００の機能ブロックを示している。このアウトライン作成部２００は、エッジ検出部２０１と、画素切り出し部２０２と、境界線角度検出部２０３と、境界線切片検出部２０４と、連結処理部２０５とを有している。境界線角度検出部２０３および境界線切片検出部２０４は、境界線生成部を構成している。
【００１９】
エッジ検出部２０１は、静止画像を構成する各画素より、黒レベルと白レベルとの間のレベルを持つエッジ位置の画素を検出する。ここでは、黒レベルのデータ値を「０」、白レベルのデータ値を「２５５」とし、「１」〜「２５４」のデータ値を持つ画素はエッジ位置の画素として検出される。なお、黒レベルは「０〜１０」、白レベルは「２４５〜２５５」のように、黒レベルおよび白レベルに所定の幅を持たせるようにしてもよい。
【００２０】
画像切り出し部２０２は、エッジ検出部２０１で検出された各エッジ位置にそれぞれ対応して、このエッジ位置の画素およびその周辺に位置する画素を切り出す。図３は、静止画像の画素構造を示しており、水平方向がＮ画素、垂直方向がＭ画素となるように、マトリクス状に画素は配置されている。
【００２１】
図４Ａは、切り出される画素の一例を示している。この場合、エッジ位置の画素ｄ０と、この画素ｄ０に対して垂直方向の上下にそれぞれ隣接する画素ｄ３，ｄ４と、この画素ｄ０に対して水平方向の左右にそれぞれ隣接する画素ｄ２，ｄ１が切り出される。
【００２２】
境界線角度検出部２０３は、各エッジ位置の画素に対応して、エッジ位置の画素のデータ値と、その周辺に位置する画素のデータ値との差に基づいて、画素内における黒レベルの領域と白レベルの領域との境界を示す境界線の角度を検出する。この場合、図４Ｂに示すように、水平方向成分ｄ２−ｄ１（＝ｄ２−ｄ０＋ｄ０−ｄ１）および垂直方向成分ｄ４−ｄ３（＝ｄ４−ｄ０＋ｄ０−ｄ３）からなる、差ベクトルＶＣの方向に９０度だけ加算した角度（波線矢印で図示）が境界線の角度となる。
【００２３】
境界線切片検出部２０４は、各エッジ位置の画素に対応して、エッジ位置の画素のデータ値に対応した黒レベルおよび白レベルの混入率に基づいて、図４Ｃに示すように、境界線角度検出部２０３で検出された角度にある境界線の切片、つまり境界線の画素枠との交点の座標（ｘｓ，ｙｓ），（ｘｅ，ｙｅ）を検出する。この場合、境界線で仕切られる正方形画素の黒レベル領域Ｓｂと白レベル領域Ｓｗとの面積比が、上述した黒レベルおよび白レベルの混入率に対応した値となるようにする。
【００２４】
これにより、各エッジ位置の画素のそれぞれに対応して、画素内における黒レベル領域と白レベル領域との境界を示す境界線ＢＬが生成される。この境界線ＢＬは、エッジ位置の画素内における黒レベルの領域と白レベルの領域との境界を示すものとなる。なお、この境界線ＢＬの方向は、左側または右側、この実施の形態では右側にデータ値の高い画素が存在するように設定される。このとき、図４Ｃに示すように、座標（ｘｓ，ｙｓ）は境界線ＢＬの始点となり、座標（ｘｅ，ｙｅ）は境界線ＢＬの終点となる。
【００２５】
連結処理部２０５は、上述した境界線生成部（境界線角度検出部２０３および境界線切片部２０４）で生成された各エッジ位置の画素の境界線を連結して、静止画像における黒レベルの領域と白レベルの領域との境界を示すアウトラインを求める。この場合、図５Ａに示すように、第１の境界線ＢＬに連結する第２の境界線ＢＬを、この第１の境界線の終点に最も近い始点を持つ境界線とする。
【００２６】
なお、図５Ａでは、第１の境界線ＢＬの終点と第２の境界線ＢＬの始点とが接続されている。しかし、これら終点および始点の座標は一致しないことが多い。したがって、この連結処理の段階では、図５Ｂに示すように、連結すべき２つの境界線ＢＬの中点同士が直線ＢＬ′で接続されていく。この場合、この直線ＢＬ′がアウトラインを構成することになる。
【００２７】
図２に示すアウトライン作成部２００の動作を、図６〜図８のフローチャートに沿って説明する。
【００２８】
図６は、アウトライン作成処理の処理手順を示している、ステップＳＴ１で、処理を開始し、ステップＳＴ２で、各エッジ位置の画素に対応した境界線ＢＬを生成する。次に、ステップＳＴ３で、ステップＳＴ２で生成された各境界線ＢＬを連結してアウトラインを求め、その後にステップＳＴ４で、処理を終了する。
【００２９】
図７は、図６のステップＳＴ２における境界線生成処理の処理手順の詳細を示している。ステップＳＴ１１で、処理を開始し、ステップＳＴ１２で、画面上の左上の画素ｄ(0,0)を注目画素に設定する（図３参照）。そして、ステップＳＴ１３で、注目画素がエッジ位置の画素か否かを判定する。この場合、注目画素のデータ値が、黒レベルのデータ値「０」および白レベルのデータ値「２５５」の間のデータ値であるときは、エッジ位置の画素と判定する。
【００３０】
ここで、図９に示すような文字画像を静止画像の一例として説明する。図１０は、図９の一部（矢印Ｐで図示）を拡大して示したものであり、付された数値は各画素のデータ値を示している。この例の場合、「６５」、「２３３」、「２９」、「２０１」、「２」、「１３８」、「６３」、「２２５」、「１２」「１４４」のデータ値の画素は、エッジ位置の画素となる。
【００３１】
注目画素がエッジ位置の画素であるときは、ステップＳＴ１４で、境界線角度および境界線切片を検出して、注目画素の境界線を生成する。まず、注目画素（エッジ位置の画素）のデータ値と、その周辺に位置する画素のデータ値との差に基づいて、境界線の角度を検出する（図４Ａ，Ｂ参照）。例えば、図１０に矢印Ｑで示している、データ値が「１３８」である画素が注目画素であるとき、ｄ０＝１３８、ｄ１＝０、ｄ２＝２５５、ｄ３＝２、ｄ４＝２５５であり、差ベクトルＶＣの水平方向成分ｄ２−ｄ１＝２５５、差ベクトルの垂直方向成分ｄ４−ｄ３＝２５３であって、境界線の角度は図１１に矢印Ｒで示すように、ほぼ右下４５度の角度となる。
【００３２】
次に、注目画素（エッジ位置の画素）のデータ値に対応した黒レベルおよび白レベルの混入率に基づいて、境界線の切片を検出する（図４Ｃ参照）。例えば、データ値が「１３８」である画素が注目画素であるとき、黒レベル「０」が４６％混入し、白レベル「２５５」が５４％混入したものである。そのため、正方形画素の黒レベル領域Ｓｂと白レベル領域Ｓｗとの面積比が４６：５４となるように切片を検出する。
【００３３】
このステップＳＴ１４の処理の後にステップＳＴ１５に進む。ステップＳＴ１３で、注目画素がエッジ位置の画素でないときは、直ちにステップＳＴ１５に進む。このステップＳＴ１５では、ラスター順で、次の画素が存在するか否かを判定する。ここで、ラスター順とは、図３に示す画素構造で、ｄ(0,0)→ｄ(0,1)→・・・→ｄ(0,N-1)→ｄ(1,0)→ｄ(1,1)→・・・→ｄ(1,N-1)→・・・→ｄ(M-2,0)→ｄ(M-2,1)→・・・→ｄ(M-2,N-1)→ｄ(M-1,0)→ｄ(M-1,1)→・・・→ｄ(M-1,N-1)の順である。
【００３４】
次の画素が存在するときは、ステップＳＴ１６で、次の画素を注目画素に設定し、その後にステップＳＴ１３に戻り、上述したと同様の処理をする。一方、次の画素が存在しないときは、ステップＳＴ１７で、処理を終了する。
【００３５】
図７のフローチャートに沿って境界線生成処理を行うことで、図１２に示すように、各エッジ位置の画素に対応した境界線ＢＬを生成できる。
【００３６】
図８は、図６のステップＳＴ３における境界線連結処理の処理手順の詳細を示している。ステップＳＴ２１で、処理を開始し、ステップＳＴ２２で、画面上の左上の画素ｄ(0,0)を注目画素に設定する（図３参照）。そして、ステップＳＴ２３で、注目画素に境界線が存在するか否かを判定する。境界線が存在するときは、ステップＳＴ２４で、その境界線は連結処理で使用済みか否かを判定する。使用済みでないときは、ステップＳＴ２５で、注目画素を連結処理画素に設定する。
【００３７】
次に、ステップＳＴ２６で、連結処理画素の近傍、例えば隣接する画素に連結可能な境界線があるか否かを判定する。連結可能な境界線があるときは、ステップＳＴ２７で、連結処理画素の境界線を、その終点に最も近い始点を持つ境界線と連結する。そして、ステップＳＴ２８で、連結した境界線に使用済みフラグをたて、その境界線を持つ画素を連結処理画素に設定して、その後にステップＳＴ２６に戻って、上述したと同様の処理をする。
【００３８】
ステップＳＴ２６で、連結可能な境界線がないときは、ステップＳＴ２９で、一連の連結結果を形状として記憶し、その後にテップＳＴ３０に進む。ステップＳＴ２３で注目画素に境界線が存在しないとき、およびステップＳＴ２４で境界線が使用済みであるとき、直ちに、ステップＳＴ３０に進む。
【００３９】
このステップＳＴ３０では、ラスター順で次の画素が存在するか否かを判定する。次の画素が存在するときは、ステップＳＴ３１で、次の画素を注目画素に設定し、その後にステップＳＴ２３に戻り、上述したと同様の処理をする。一方、次の画素が存在しないときは、ステップＳＴ３２で、処理を終了する。
【００４０】
図８のフローチャートに沿って境界線連結処理を行うことで、各エッジ位置の画素の境界線の連結を行うことができ、静止画像における黒レベルと白レベルとの境界を示すアウトラインを実数精度で作成できる。図１３は、図９の静止画像に対応したアウトラインの作成結果を示している。
【００４１】
次に、上述したアウトライン作成部で作成されたアウトラインを用いて拡大画像用の静止画像データを生成するデータ作成部について説明する。このデータ作成部では、拡大率をＥＲとするとき、１／ＥＲの画像領域を拡大対象とする。例えば、ＥＲ＝２であるときは、１／２の画像領域が拡大対象とされる。そして、このデータ作成部では、拡大対象の画像領域の画素数をＥＲ倍に増加して、拡大画像用の静止画像データを生成する。この拡大率は水平方向および垂直方向がそれぞれ独立して設定可能とされている。
【００４２】
図１４は、データ生成部３００の機能ブロックを示している。このデータ生成部３００は、画素数増加部３０１と、データ値決定部３０２とを有している。画素数増加部３０１は、拡大対象の画像領域の水平方向および垂直方向の画素数を、それぞれ、拡大率に応じて増加する。
【００４３】
データ値決定部３０２は、画素数増加後の各画素のデータ値を、アウトライン作成部で作成されたアウトラインの位置に応じて決定する。つまり、アウトラインが存在しない画素のデータ値を、その画素が黒レベル領域にあるときは「０」とし、その画素が白レベル領域にあるときは「２５５」に決定する。また、アウトラインが存在する画素のデータ値は、当該画素における黒レベル領域と白レベル領域との面積比に応じて決定する。この場合、白レベル領域の割合が高くなる程データ値は大きくなる。
【００４４】
図１５を参照して、データ作成部の処理動作を説明する。図１５Ａは、画素数を増加する前の画素例を示しており、上述のアウトライン作成部では、データ値が「１２３」、「１８５」の画素はエッジ位置画素とされ、図１５Ｂに示すように、黒レベル「０」の領域と白レベル「２５５」の領域との境界を示すアウトラインが作成される。データ生成部では、まず、図１５Ｃに示すように、設定された拡大率に応じて水平方向および垂直方向の画素数が増加される。そして、図１５Ｄに示すように、アウトラインの位置に応じて、各画素のデータ値が決定される。
【００４５】
図１に示す画像処理装置１００によれば、ＣＰＵ１０１で構成されるアウトライン作成部２００（図２参照）は、黒レベルと白レベルとの間のレベルを持つ各エッジ位置の画素に対応して、エッジ位置およびその周辺の画素のデータ値に基づき、画素内における黒レベル領域と白レベル領域との境界を示す境界線ＢＬを生成し（図４参照）、それら生成された各境界線を連結してアウトラインを求めるものであり（図５参照）、画素単位ではなく実数精度でアウトラインを作成できる。
【００４６】
また、図１に示す画像処理装置１００によれば、ＣＰＵ１０１で構成されるデータ生成部３００（図１４参照）は、設定された拡大率で拡大対象の画像領域の画素数を増加したのち、アウトライン作成部２００で作成されたアウトラインに基づいて各画素のデータ値を決定するものであり（図１５参照）、当該アウトラインは静止画像における黒レベル領域と白レベル領域との境界を実数精度で示しているため、画素数の増加時におけるアウトライン部分でそのレベルが黒レベルおよび白レベルの中間値となる画素の個数を少なくでき、アウトライン部分が明瞭な拡大画像を得ることができる。
【００４７】
例えば、図１６Ｂは、図１５Ｂに示すようなアウトラインを作成せずに、図１６Ａに示す画素（図１５Ａに示す画素と同じ）のみを用いて画素数を増加した場合の各画素のデータ値を示しているが、アウトライン部分における「０」と「２５５」の間のデータ値となる画素の個数は、図１５Ｄに示すものに比べて多くなっている。
【００４８】
図１７Ｂは、図１７Ａの画像（図１５Ａ、図１６Ａに対応）に対応した拡大画像であって、アウトラインを作成した後にそれを用いて生成された拡大画像用の静止画像データによるものであり、アウトライン部分が明瞭な拡大画像となっている。これに対して、図１８Ｂは、図１８Ａの画像（図１５Ａ、図１６Ａに対応）に対応した拡大画像であって、アウトラインを作成せずに生成された拡大画像用の静止画像データによるものであり、アウトライン部分が不明瞭でぼけた拡大画像となっている。
【００４９】
なお、上述実施の形態においては、静止画像における黒レベルと白レベルとの境界を示すアウトラインを求めるものを示したが、この発明は、一般的に第１のレベルとこの第１のレベルより大きな第２のレベルとの境界を示すアウトラインを、同様にして求めることができる。
【００５０】
また、上述実施の形態においては、画像拡大処理においてアウトラインを作成して用いるものを示したが、このように作成されたアウトラインは、スキャナ技術などのその他の用途にも用いることができることは勿論である。
【産業上の利用可能性】
【００５１】
この発明は、画素単位ではなく実数精度でアウトラインを作成できるものであり、画像の拡大処理を行う画像処理装置等に適用できる。
【図面の簡単な説明】
【００５２】
【図１】実施の形態としての画像処理装置の構成を示すブロック図である。
【図２】アウトライン作成部の機能ブロックを示すブロック図である。
【図３】画素構造を示す図である。
【図４】境界線角度および境界線切片の検出処理を説明するための図である。
【図５】境界線の連結処理を説明するための図である。
【図６】境界線作成処理の処理手順を示すフローチャートである。
【図７】境界線生成処理の処理手順を示すフローチャートである。
【図８】境界線連結処理の処理手順を示すフローチャートである。
【図９】静止画像の一例を示す図である。
【図１０】静止画像の一部を拡大し、エッジ位置の画素を示した図である。
【図１１】差ベクトルと境界線角度との関係を示す図である。
【図１２】各エッジ位置画素で生成された境界線を示した図である。
【図１３】アウトラインの作成結果を示す図である。
【図１４】データ生成部の機能ブロックを示すブロック図である。
【図１５】データ作成部の処理を説明するための図である。
【図１６】アウトラインを作成せずに画素数の増加を行った場合における各画素のデータ値を示す図である。
【図１７】アウトライン作成による拡大画像の一例を示す図である。
【図１８】アウトライン不作成による拡大画像の一例を示す図である。
【符号の説明】
【００５３】
１００・・・画像処理装置、１０１・・・ＣＰＵ、１０２・・・ＲＯＭ、１０３・・・ＲＡＭ、１０４・・・画像メモリ、１０５・・・ユーザ操作部、１０６・・・スキャナ、１０７・・・カメラ、１０８・・・ディスプレイ、１０９・・・プリンタ、１１０・・・バス、２００・・・アウトライン作成部、２０１・・・エッジ検出部、２０２・・・画素切り出し部、２０３・・・境界線角度検出部、２０４・・・境界線切片検出部、２０５・・・連結処理部、３００・・・データ生成部、３０１・・・画素数増加部、３０２・・・データ値決定部
【図１】
0004770590.tif 000002
【図２】
0004770590.tif 000003
【図３】
0004770590.tif 000004
【図４】
0004770590.tif 000005
【図５】
0004770590.tif 000006
【図６】
0004770590.tif 000007
【図７】
0004770590.tif 000008
【図８】
0004770590.tif 000009
【図１３】
0004770590.tif 000010
【図１４】
0004770590.tif 000011
【図１７】
0004770590.tif 000012
【図９】
0004770590.tif 000013
【図１０】
0004770590.tif 000014
【図１１】
0004770590.tif 000015
【図１２】
0004770590.tif 000016
【図１５】
0004770590.tif 000017
【図１６】
0004770590.tif 000018
【図１８】
0004770590.tif 000019