本発明の画像処理装置は、画像を読み取るスキャナ装置とケーブルで直接、またはネットワークを介して接続される。スキャナ装置は、これに限られるものではないが、ここではCISを採用したスキャナ装置とされる。このスキャナ装置により読み取られた画像には、センサ間のギャップにより欠落した画素値や不正な画素値を有する画素が含まれることから、本発明の画像処理装置は、その画素の画素値を生成し、その生成した画素値でその画素を補間する処理を行う。
ここで、画素値は、1画素を8ビットで表すグレースケール画像では、黒が0で、白が255の値をとり、1画素をRGBの各色8ビットで表すカラー画像では、赤、緑、青の各色につき0〜255の値をとり、すべてが0のとき黒で、すべてが255のとき白を表すものである。
画像処理装置は、画素を補間する処理を実行するために、PC、ワークステーション、サーバ、MFP等の、この処理を実行するためのプログラムが記録された記憶装置と、このプログラムを読み出し実行するプロセッサと、スキャナ装置やネットワークと接続するためのインタフェースとを含んで構成される。
具体的には、図1に示すように、例えば、プロセッサとしてマイクロプロセッサユニット(MPU)11を備え、記憶装置として、BIOS(Basic Input Output System)やファームウェアを格納する不揮発性メモリであるROM(Read Only Memory)12と、MPU11によるプログラム処理を可能とする実行記憶空間を提供するRAM(Random Access Memory)13とを備える構成とすることができる。
MPU11は、内部バスを介してインタフェースの1つである記憶制御用インタフェース14に接続され、その記憶制御用インタフェース14に接続される記憶装置の1つであるハードディスク15へアクセスし、各種アプリケーションやデータの読み出し、実行し、書き込みを行う。この記憶制御用インタフェース14としては、IDE(Integrated Device Electronics)、ATA(AT Attachment)、シリアルATA、UltraATA等の規格により、ハードディスク15の入出力を管理するインタフェースを使用することができる。MPU11は、内部バスを介してUSB(Universal Serial Bus)、IEEE1394等のシリアルまたはパラレル・インタフェース16を制御し、キーボード、マウス、プリンタといった入出力装置17と通信し、ユーザからの入力を受け付けることができる。
また、この画像処理装置10は、MPU11からの指令に応答して、ビデオ信号を処理し、表示装置18へと表示させるVRAM(Video RAM)19、グラフィックチップ20と、ネットワークを介して他の機器と通信するために該ネットワークと接続されるネットワークI/F21とを含んで構成することができる。VRAM19は、表示装置18に対するビデオ表示のための記憶装置として使用されるRAMであり、グラフィックチップ20は、画像データ処理を行う集積回路である。
画像処理装置10は、ROM12やハードディスク15、その他の図示しないNV−RAMやSDカード等の記憶装置に格納されたプログラムをMPU11が読み出し、RAM13のメモリ領域に展開することにより、適切なOS(Operating System)の下、後述する各処理を実現し、そのMPU11を、各処理を実現するための各部として構成することができる。OSとしては、Windows(登録商標)、UNIX(登録商標)、LINUX(登録商標)等を採用することができる。なお、画像処理装置10は、上述したPC等に限られるものではなく、特定の用途向けに複数機能の回路を1つにまとめたASIC(Application Specific Integrated Circuit)として構成することも可能である。
図2は、本発明の画像処理装置の第1実施形態を示した機能ブロック図である。画像処理装置10は、上述したように、ROM12やハードディスク15等の記憶装置に記憶されているプログラムを、プロセッサであるMPU11が読み出し実行することにより各機能を実現することができる。すなわち、画像処理装置10は、周期性判定部30と、第一画素値生成部31と、第二画素値生成部32と、制御部33と、画素値挿入部34とを含む構成とされる。図2には図示していないが、補間画素を設定する画素設定部をさらに備えることができる。
画像処理装置10は、まず、上記の画素設定部により、画素値を挿入し補間する対象の補間画素を、処理対象となる画像内で検出する。補間画素は、予めユーザが位置を検出しておくこともできるし、装置が逐次その位置を検出することも可能である。位置は、例えば、向かって左下隅の座標を基準座標(0,0)として主走査方向と同じ右方向への画素数aと、上方向への画素数bとを用い、座標(a,b)として表すことができる。
画像処理装置10が補間画素を検出する場合の検出方法としては、例えば、予め指定された明るさや色の画素であるかどうかを、1画素ずつ画素値を調べて補間画素を検出する方法や、既知の画像を読み取った際の正解値からのずれ量の大きさを評価することにより補間画素を検出する方法や、水平または鉛直方向の周期性が不連続となる位置を検出し、その位置にある画素を補間画素として検出する方法を挙げることができる。この補間画素は、孤立した点であってもよいし、点が連続した線分であってもよい。この線分であってもよいとしているのは、ギャップは、撮像素子が移動する方向である副走査方向へ連続して形成され、点が連続した線分として構成されることもあるからである。
補間画素を含む画像としては、図3に示す黒色のほぼ同じ大きさの点がほぼ規則正しく配列する網点画像の中に、縦すじが発生したものが挙げられる。この縦すじは、その画像の中央部を横断するように、点が欠落している部分と点が周囲より大きくなっている部分とから構成されている。このような画像の場合、点は一定の間隔で配列していることから周期性を有し、その縦すじの部分において周期性が不連続となる。このため、水平方向の周期性が不連続となる位置を検出することで、補間画素を検出することができる。
周期性判定部30は、補間画素を含むように所定の大きさの判定領域を定め、その判定領域内で画素値の変動に周期性があるか否かを判定する。判定領域は、補間画素を含む高さ1画素の領域、すなわち画像の1ラインとすることもできるし、補間画素を含む任意の高さをもった矩形領域とすることもできる。
判定領域のサイズは、予めユーザによって設定することもできるし、装置が動的に決定することも可能である。装置が動的に決定する場合、予め指定された領域サイズで一度補間処理を行い、それより小さいサイズでも十分に補間処理を行うことができるようであれば、一定サイズで小さくしていくことができ、反対に補間処理を行うことができない場合には、一定サイズで大きくしていくことができる。
画像の1ラインを抜き出し、判定領域としたものを図4に例示する。図4(a)では、黒色で示される網点を表す画素と、白色で示される背景を表す画素とが一定間隔で配置されていて、その間にグラデーションを与えるように画素値が異なるグレーの画素が配置されている。また、この図4(a)には、上記のギャップによって欠落した画素40が示されている。
この判定領域における水平方向の画素の位置と、画素値との関係を例示した図を、図4(b)に示す。画素値はその画素において一定であることから、とびとびの値を示すが、これを滑らかにつなぐと、一定の周期で画素値が増減する波形で表すことができる。このため、この判定領域では画素値の変動に周期性があることを検出することができる。
このような周期性がある判定領域を例示すると、図5(a)に示す網点や斜線で表される網点領域を挙げることができる。一方、周期性のない判定領域を例示すると、図5(b)に示す文字や規則的に配列していない点から構成される不連続領域、図5(c)に示す1色やグラデーションで表される背景等の平坦領域を挙げることができる。
なお、網点で表される網点画像は、実際には点が任意のスクリーン角をもって直線状に配置されることから、点が水平方向に一定の間隔で配列したものとはなっておらず、斜めに一定の間隔で配列したものとなっている。このため、図4(b)に示すような同じ振幅の波形にはならないものの、振幅が異なる一定間隔でピークを有する波形になることから、周期性があることを判定することができる。
図3や図4のように図に示すことで、周期性の有無を容易に判断することができるが、実際には図を作成し、それを参照して判断することはできないことから、例えば、補間画素を含む所定のサイズの領域である判定領域を設定し、その判定領域内において変動周期を計算し、計算された変動周期を用いて判定領域の周期性の有無を判定することにより、周期性を判定することができる。このため、周期性判定部30は、変動周期を計算するための周期計算部30aを含んで構成される。
周期性を判定するために変動周期を求める必要があるが、判定領域内の画素値の変動周期が常に一定とは限らない。そこで、周期性を判定するために用いる変動周期として代表周期を採用する。この代表周期を求める一例として、判定領域内において画素値が極大となる位置(ピーク位置)、具体的には図4(b)に示す波形の正方向のピークを示す画素の位置を記録していき、あるピーク位置から次のピーク位置までの距離のヒストグラムを判定領域全体にわたって作成した上で、度数の最も多い階級に対する値である最頻値となる距離を代表周期として採用することができる。この代表周期は、画素数で表すことができ、図4に示す実施形態では、ほぼ6画素ごとにピークとなり、ピーク間距離が6画素となることが最も多いことから、代表周期は6画素とされる。なお、代表周期にある程度の誤差を許容する観点から、代表周期±1の距離を用いることも可能である。
このとき、極大となる位置ではなく、極小となる位置(図4(b)に示す波形の負方向のピークを示す画素の位置)を用いて求めることも可能である。代表周期を求める際に画素値の変動の周期性を利用するとノイズ耐性が低いため、画素値の自己相関を求め、その変動の周期性を利用すればノイズ耐性が上昇する。このため、これらの極大となる位置および極小となる位置を用いて求める場合、自己相関を用いることが望ましい。ここで、ノイズ耐性が上昇する理由は、ノイズが多くの場合に画素値に乗るため、画素値を直接利用する場合よりも、複数の画素値を用いて導出された自己相関という形で利用した場合のほうが、ノイズによる影響を低く抑えることができるからである。
自己相関とは、ある信号とその信号に所定の位相ずれを与えた信号との相関のことである。この場合、判定領域内において自己相関を求めていき、画素値に代えて自己相関の値を用いてヒストグラムを作成し、最頻値を代表周期として採用することができる。この自己相関の値としては、相関係数を用いることもできるし、共分散を用い、より計算を簡便にすることも可能である。
ここで、共分散Sは、2つの画素値の共変動の大きさを示す指標で、比較するパターンの一方のi番目の画素値をxiとし、他方のパターンのi番目の画素値をyiとし、一方のパターンの画素値の平均値をxmとし、他方のパターンの画素値の平均値をymとし、パターンの画素数をnとすると、以下の式1により求めることができる。
相関係数Rは、2つの確率変数の間の類似性の度合いを示す指標で、一方のパターンの標準偏差をσxとし、他方のパターンの標準偏差をσyとすると、以下の式2により求めることができる。
信頼度Cvは、例えば、以下の式3を用いて求めることができる。式3中、Tは、上記で求めた代表周期で、Frは、上記ヒストグラムにおける代表周期Tに対応する距離の度数で、Nは、判定領域の画素数である。なお、Frは、代表周期Tの度数だけでなく、代表周期を推定する際の誤差を許容するためにT±1の度数の合計を用いてもよい。この式3は、代表周期と同じピーク位置間の距離を有するものが、判定領域全体のどの程度の割合を占めているかを信頼度として定義することを意味している。
この信頼度が閾値よりも高い場合に周期性があると判断し、閾値以下である場合には周期性なしと判断するが、この閾値は、予めユーザによって設定することができ、また、動的に決定することも可能である。予めユーザによって設定する場合、シミュレーションや実験を行い、周期性の有無を判断するのに好適な信頼度を求めることにより閾値を決定し、その閾値を設定することができる。動的に決定する場合は、例えば、実際に周期性を有する網点領域と周期性を有しない不連続領域または平坦領域について信頼度を求め、その中間値を閾値として決定することができる。
第一画素値生成部31は、補間方法として、パターンマッチング法を用いて、補間画像の画素値を生成する。パターンマッチング法の具体例として、テンプレートマッチングを用いることができる。テンプレートマッチングは、画像の中から指定した部分の画像であるテンプレートを用い、そのテンプレートと似ている位置を探すもので、テンプレートと画像の中のパターン間の一致度を求めることにより行うことができる。
本発明は、このテンプレートを用いて最も類似するパターンを探索するが、テンプレートとして複数のパターンを用いて探索する。これら複数のパターンは、テンプレートのサイズを基準パターンのサイズとして決定し、基準パターンのサイズの領域を切り出し、これを基本パターンとして設定し、この基本パターンの中心を支点として1以上の異なる角度で回転させて1以上の回転パターンを生成することにより、1つの基本パターンと1以上の回転パターンとして生成される。このように複数のパターンを用いて探索することにより、画素値が急激に変化する画像についても、画像のコンテンツに起因する網点の濃度変化による影響を受けることなく、高精度な画素補間を実現することができる。
ここで、これらの複数のパターンを用いて探索することで、高精度で探索することができる理由について簡単に説明する。主走査方向に並ぶ画素の位置と画素値との関係を示す図6を参照して説明する。例えば、主走査方向に連続して並ぶ4つの画素50〜53からなるパターンAを用いて、類似するパターンをこの図6の中から探そうとしても、連続して並ぶ4つの画素の画素値すべてが、パターンAを構成する画素の対応する画素値すべてに近似したものはないため、このパターンAだけでは、この中から適切なパターンを見つけることはできない。
しかしながら、このパターンAを180度回転させた回転パターンを用いると、回転パターンは、画素53、画素52、画素51、画素50の順に配列することになり、画素53の画素値と近似した画素値を有する画素54、次の画素52の画素値と近似した画素値を有する画素55、さらに次の画素51の画素値と近似した画素値を有する画素56、最後の画素50の画素値と近似した画素値を有する画素57という連続して並ぶ4つの画素54〜57から構成されるパターンBを検出することができる。このため、回転パターンを用いることにより類似パターンの検出確率が上昇し、その結果、探索領域を狭く設定しても、従来と同等もしくはそれ以上の検出性能を確保することができ、高精度での画素補間を実現することができる。
この機能を実現するために第一画素値生成部31は、最初に、基準パターンのサイズを決定する。基準パターンの幅は、上記のようにして求めた代表周期を基準として設定する。基準パターンの幅は、代表周期の幅と一致させることができるが、これに限られるものではなく、代表周期の幅の画素数より左右に1画素ずつ大きめにしたり、左右に1画素ずつ小さめとする等、やや大きめまたはやや小さめにすることができる。次に、テンプレートの高さを設定するが、幅と同様に、代表周期の高さと一致させることができる。この高さも、これに限られるものではなく、やや大きめあるいは小さめとすることができる。上記では1画素ずつ大きめあるいは小さめと例示したが、2画素以上であってもよい。
補間画素が網点領域に属する場合には、一辺が概ね代表周期である正方形の領域として設定することが望ましい。これは、代表周期を示す画像を、例えば幅6画素で、高さ1画素の図7(a)に示すようなものとすると、幅6画素、高さ6画素の正方形の領域とすることで、図7(b)に示すように網点1つ分を表現することができるからである。このように網点1つ分の領域としてテンプレートのサイズを決定することで、類似するパターンを探索する際に、網点1つ分のみの情報を用い、補間画素を含む網点に最適な類似するパターンを取得することができる。
また、代表周期が非常に小さい場合、例えば3画素のような場合には、テンプレートのサイズを少し大きめ、例えば、その3画素の左右に1画素ずつ追加した5画素にすることができる。これは、代表周期が非常に小さい場合、一致度の評価に用いる画素数が少なくなってしまい、類似するパターンの検出の安定性が低下してしまうからである。
第一画素値生成部31は、上記のようにして決定した基準パターンのサイズに基づき、基準パターンを作成する。補間画素を含む、その基準パターンのサイズの領域を画像中から切り出し、これを基本パターンとして設定する。このとき、基本パターンは、補間画素を中心としてその左右、上下が対称となる形状として切り出し、設定することが好ましい。このように切り出し、設定することで、補間画素を含むパターンの方向性に依存することなく、類似するパターンの探索を行うことができる。
第一画素生成部31は、次に、基本パターンの中心、補間画素が中心である場合には補間画素を支点として、所定の角度ずつ回転させ、各角度で回転させたときのパターンを各回転パターンとして設定する。例えば、90度ずつ回転させるとき、90度、180度、270度回転させたときの3つのパターンが回転パターンとして設定される。また、180度ずつ回転させる場合は、180度回転させたときの1つのパターンが回転パターンとして設定される。これらの回転角度は、任意に設定することができ、その設定に応じて1以上の回転パターンが生成され、それが設定される。なお、回転角度0度のパターンは、基本パターンと同一であるため、採用する必要はない。
この回転角度は、補間画素が属するパターンの特徴に合わせて決定することもできる。例えば、円形の網点であれば、90度ずつ回転させてパターンを生成することが望ましく、ハッチングのような線であれば、180度ずつ回転させてパターンを生成することが望ましい。
この回転パターンは、基本パターンの中心を支点として所定角度ずつ回転させて得られるパターンから構成されるが、これに限られるものではなく、基本パターンを上下あるいは左右に反転させて作成することも可能である。この場合、回転させるか、反転させるかの判断が必要となるが、例えば、補間画素が属するパターンが線対称であるか、点対称であるかに基づいて判断することができる。具体的には、網点は、回転であっても反転であってもよいが、ハッチングのような線のパターンについては回転が適していることから、ハッチングのような線については回転、網点については反転と判断することができる。
第一画素値生成部31は、テンプレートとしての複数のパターンを生成後、そのテンプレートを用いて類似するパターンを探索するにあたって、所定の探索領域を設定する。この探索領域は、代表周期に基づき設定することができる。探索領域は、例えば、代表周期が上記の幅6画素、高さ1画素とされるとき、その代表周期を中心として左右に6画素ずつ追加した幅18画素で、幅と同じ高さ18画素の正方形の領域とすることができる。このように、幅と高さを同じ画素数とすることで、探索範囲のパターンの方向性に依存せずに探索を行うことができる。上記の幅18画素、高さ18画素の領域は、あくまで1つの例であるので、これに限られるものではなく、これより広い、幅30画素、高さ30画素という領域等を探索領域とすることができる。
探索領域は、上記の正方形の領域に限られるものではないが、画像をバッファするメモリの制約等からその範囲の高さを低く抑える必要がある場合は、その分、幅を広くとることが望ましい。高さを低く抑えると、類似するパターンを探索する対象が少なくなり、画素補間の精度が低下するからである。また、周期性判定部30により補間画素に向かって左側に設定された領域が周期性なしと判断された場合、補間画素に向かって左側に設定された領域を探索領域から除外することが望ましい。右側についても同様である。このように探索領域を狭めることにより、類似するパターンが検出されるべきでない領域からの誤検出を防止することができる。
第一画素値生成部31は、探索領域を上記のようにして設定した後、作成したテンプレートを用い、その探索領域内にある、そのテンプレートに類似する類似パターンを探索する。具体的には、探索領域内の各位置においてテンプレートとの一致度を求め、最も一致度が高い位置を類似パターンとして選択する。一致度として、SAD(Sum of Absolute Difference)やSSD(Sum of Squared Difference)等の相違度、相関係数や共分散等の類似度を用いることができる。
SADは、テンプレートと比較するパターンを切り出し、テンプレートとパターンの同じ位置にある画素の輝度値の差をそれぞれ求め、その差の絶対値を合計したものであり、この合計値が小さいほど類似し、大きいほど相違することを示すものである。また、SSDは、その輝度値の差を二乗し、その合計を用いるもので、これも、この合計値が小さいほど類似し、大きいほど相違することを示すものである。相関係数および共分散については上記式1、2により求めることができる。相関係数は、−1から1までの値をとり、その値が1に近づくほど強い正の相関があり、0に近いほど相関が弱く、−1に近づくほど負の相関がある。これは、1に近づくほど類似するパターンであることを意味し、−1に近づくほど反転したパターンに類似したものとなる。このことから、値が大きいほど類似度が高いと判断することができる。共分散は、相関係数に対応することから、その値が大きいほど類似度が高いと判断することができる。
一致度の評価に際して、補間画素の画素値が一致度に影響を与えないように補間画素を一致度の計算から除外するか、比較対象のパターンにおいて同じ位置にある画素の画素値を用いて仮の画素値を設定しておくことが望ましい。なお、類似するパターンは一致度が高い順に複数選択することも可能である。
また、補間画素が画像全体で複数存在する場合、一致度の計算において、今挿入しようとしている補間画素だけでなく、他の補間画素も計算から除外するか、比較対象のパターンの同じ位置にある画素の画素値を用いて仮の画素値を設定しておくことが望ましい。これは、基準パターンや比較対象のパターンに今挿入しようとしている補間画素だけではなく、他の補間画素が含まれている場合があり、補間画素は基本的に画素値が欠落しているか、不正な値を保持しているため、一致度の計算に使用されることは好ましくないからである。なお、既に挿入済みの補間画素の画素値は一致度の計算に使用することができる。また、比較対象パターンに他の補間画素が存在する場合、その補間画素が一致度の計算に用いられないように計算から除外するか、基準パターンの同じ位置にある画素の画素値を用いて仮の画素値を設定しておくことが望ましい。
このようにして探索した最も類似するパターンにおいて、テンプレートにおける補間画素の位置に対応する位置にある画素の画素値を取得する。最も類似するパターンのみを用いる場合には、このようにして取得した画素値を補間画素の画素値とすることができる。また、一致度が高い順に選択した複数の類似するパターンを用いる場合には、それら複数のパターンから取得した画素値を合成し、補間画素の画素値を求めることができる。画素値を合成する方法としては、一様な重みにより平均する方法、類似するパターンの一致度が高いほど大きな重みとなるように制御した上で加重平均を行う方法を挙げることができる。
テンプレートは、基本パターンと1以上の回転パターンとから構成されるため、探索領域内で類似パターンを探索する際、以下の2つの順序でその探索を行うことができる。1つの順序としては、まず、基本パターンを用いて探索領域全体にわたって類似パターンを探索し、その後、回転パターンを用いて探索領域全体にわたって類似パターンを探索する。もう1つの順序としては、探索領域内の探索位置を固定し、まず、基本パターンを用いて一致度を評価し、次に、回転パターンを用いて一致度を評価して、その位置におけるパターンを評価した後、次の位置へ移動し、同様に基本パターンと回転パターンによる評価を行う。なお、探索領域が複数存在する場合は、その数だけ上記のいずれかの順序での探索を繰り返す。
最も一致度が高い位置を類似パターンとして決定することができるが、その位置が複数存在する場合、所定の基準に基づいてどの位置を採用するかを決定する。この場合、最初に見つかった位置を採用する、最後に見つかった位置を採用する、補間画素に近い位置を採用する等を基準として採用することができる。
基本パターンと回転パターンといった複数のパターンを用いて類似パターンの探索を行った結果、複数のパターンで最も一致度が高い位置が得られる場合があるが、どのパターンを使用して探索した結果を採用するかを決定する必要がある。そこで、所定の基準に基づいて、どのパターンの結果を採用するかを決定することができる。例えば、基本パターンの結果を採用する、比較順序の早いパターンの結果を採用する、パターンの優劣はつけず、見つかった位置のみで判断する等を基準として採用することができる。また、これらを適宜組み合わせ、この組み合わせた基準を採用することも可能である。
第一画素値生成部31は、最後に、このようにして決定された基本パターンまたは回転パターンと類似パターンとを比較し、基本パターンまたは回転パターンにおける補間画素の位置に対応する位置にある類似パターン内の画素の画素値を取得する。類似パターンが1つであれば、このようにして1つの画素値を取得することができるが、複数存在する場合には、上記の基準によって複数の画素値を取得し、その画素値を合成して1つの画素値を得ることができる。このときの合成方法としては、一様な重みにより平均する方法、類似パターンの一致度が高いほど大きな重みとなるように制御した上で加重平均を求める方法を挙げることができる。
ここで、テンプレートマッチングには、二次元テンプレートマッチング、一次元テンプレートマッチングがある。二次元テンプレートマッチングでは、画像内の補間画素近辺、すなわち補間画素の左右や上下、斜め方向にある任意の領域をパターンとして切り出し、そのパターンとテンプレートとの一致度を求めることにより、最も類似するパターンを探索する。この実施形態において、第一画素値生成部31が採用するテンプレートマッチングは二次元テンプレートマッチングである。これに対し、一次元テンプレートマッチングでは、補間画素が存在する1ライン内からパターンを切り出し、一致度を求め、最も類似するパターンを探索する。この二次元テンプレートマッチングと一次元テンプレートマッチングは、異なる補間方法であるため、後述する第二画素値生成部32や、第三画素値生成部等において採用することができる。
第二画素値生成部32は、第一画素値生成部31とは異なる補間方法を用いて、補間画素の画素値を生成する。異なる補間方法として、上記の一次元テンプレートマッチングを用いることもできるが、内挿法を用いることもできる。この内挿法には、最近傍補間(0次補間)、線形補間(一次補間)、放物線補間(二次補間)、キュービック補間(三次補間)、多項式補間、スプライン補間、ラグランジュ補間等があり、線形補間やキュービック補間を二次元に拡張したバイリニア補間やバイキュービック補間等を用いることも可能である。
1ライン上に順に配列する画素A〜Fがあり、画素Cの画素値が欠落している場合、これを、画素の位置と画素値との関係を示すグラフに表すと、図8(a)に示すようなものとなる。画素Cの実際の画素値は、白丸で示す値である。この場合、画素の位置が1つ移動するにつれて画素値が一定の値ほど増加しているので、画素の位置と画素値との関係を一次関数で表すことができ、得られた一次関数を用いて補間すべき画素Cの画素値を求めることができる(線形補間)。
また、図8(b)に示すような曲線で表される場合は、その曲線に最も適合する補間方法を選択することにより行うことができる。二次関数により表すことができる場合は、放物線補間を、三次関数により表すことができる場合は、キュービック補間を、多項式により表すことができる場合は、多項式補間あるいはラグランジュ補間を、個別の多項式を用いて表現できる場合は、スプライン補間を選択することができる。
ここでは第一画素値生成部31がパターンマッチング法を採用し、第二画素値生成部32が内挿法を採用する構成としたが、第一画素値生成部31が内挿法を採用し、第二画素値生成部32がパターンマッチング法を採用する構成としてもよい。また、同じ内挿法であるが、線形補間とスプライン補間等の異なる補間法を採用する構成とすることも可能である。
制御部33は、処理対象の画像を受け付け、それを周期性判定部30へ送り、周期性判定部30が判定した結果を受け取り、それに基づき、第一画素値生成部31と第二画素値生成部32のいずれを用いて画素値を生成するかを判断する。制御部33は、例えば、周期性判定部30において周期性があると判定された場合に、パターンマッチング法を用いる第一画素値生成部31を採用し、そうでない場合に内挿法を用いる第二画素値生成部32を採用することができる。そして、決定した第一画素値生成部31または第二画素値生成部32へ画像のデータを送り、そのいずれかが生成した画素値を受け付け、画素値挿入部34へ画像のデータと設定した画素の位置情報ともに、その画素値を送る。
画素値挿入部34は、制御部33により判定された第一画素値生成部31または第二画素値生成部32を採用して生成された画素値を、先に設定された補間画素に挿入する。画素値挿入部34は、補間画素に対し、第一画素値生成部31または第二画素値生成部32が生成した画素値を設定し、または置き換えることにより挿入する。これにより、補間画素1つ分の補間処理が完了する。補間画素が複数存在する場合には、上記の各部における処理を補間画素の数だけ繰り返す。
これらの各部が各処理を行い、補間画素の画素値を生成し、その画素値により補間画素を補間する処理について、図9に示すフローチャートを参照して説明する。ステップ900からこの処理を開始し、まず、ステップ905において、画素設定部が、画素値を挿入する対象の補間画素を検出し、補間処理すべき補間画素を設定する。この検出は、上述した方法を用いて行うことができる。補間画素が複数存在する場合は、例えばその画素が配置されている座標位置に基づいて順に並べ、順に1つを選択し、その1つを設定することができる。
ステップ910において、周期性判定部30が、補間画素を含む領域を指定し、その領域内で、画素値の変動に周期性を有するか否かを判定する。上述した領域サイズの決定方法、周期性の判定方法を用いて、判定領域を指定し、周期性の有無を判定する。
次にステップ915で、補間画素に用いる補間方法を決定する。これは、制御部33が、ステップ910において判定された結果に基づき、第一画素値生成部31と第二画素値生成部32のいずれを採用し、補間画素の画素値を生成するかを判断する。上述したように、周期性判定部30が周期性ありと判定した場合は、パターンマッチング法と決定し、周期性なしと判定した場合は、内挿法と決定する。
ステップ920で、第一画素値生成部31が採用されるか否かが判断される。ステップ915で決定された補間方法が、パターンマッチング法であれば、その方法を用いて補間処理を行う第一画素値生成部31が採用されると判断され、それ以外であれば、第一画素値生成部31は採用されないと判断される。
ステップ920で第一画素値生成部31が採用されると判断された場合、ステップ925へ進み、第一画素値生成部31が用いる補間方法、ここではパターンマッチング法により類似パターンを探索し、その探索した類似パターンに基づき補間画素の画素値を生成する。一方、ステップ920で第一画素値生成部31が採用されないと判断された場合、ステップ930へ進み、第二画素値生成部32が用いる補間方法、ここでは内挿法により補間画素の画素値を生成する。
次にステップ935で、ステップ925またはステップ930で生成された補間画素の画素値を、ステップ905において設定した補間画素へ挿入する。この補間画素は、画素値を有しないか、有するにしても不正な値であるため、この補間画素への生成した画素値を挿入することにより、補間画素に画素値を設定する。そして、ステップ940へ進み、すべての補間画素の補間を終えたかを判断する。ステップ905において検出した補間画素が複数存在する場合は、そのすべてに生成された画素値が挿入されたかを判定する。
ステップ940においてすべての補間画素の補間を終えたと判断された場合はステップ945へ進み、この処理を終了する。一方、まだ終えていないと判断された場合、ステップ905へ戻り、次の補間画素を設定し、画素値の生成を行い、画素値を挿入する処理を行う。
ここで、ステップ910では、補間画素を含む領域の周期性を判定するために、図10に示すような処理を実行する。まず、ステップ1000で、周期性の判定を行うステップを開始すると、ステップ1005で、判定領域内の各画素の画素値を用い、代表周期を計算する。すなわち、信頼度を計算し、テンプレートのサイズや探索領域を決定する上で必要となる代表周期を算出する。そして、ステップ1010で、その代表周期を用い、判定領域全体の周期性を判定する。
それに続いて、ステップ1015で、判定領域を、補間画素を中心として左右の領域に分け、左側の領域と右側の領域とを設定する。ここでは、周期性判定部30が、さらに部分領域周期性判定部を備えており、この部分領域周期性判定部が左右の領域に分け、それらを部分領域として設定し、各部分領域に周期性があるか否かを判定する。
したがって、ステップ1020において、補間画素に向かって左側の領域に対し、その領域における代表周期を求め、それを用いて周期性を判定し、ステップ1025で、補間画素に向かって右側の領域に対し、その領域における代表周期を求め、それを用いて周期性を判定する。これらの判定が終了したところで、ステップ1030において周期性の判定を終了する。
これらのステップ1015〜1025では、図11(a)に示すように、補間画素60が中心にくるようにして判定領域61を設定すると、図11(b)に示すように、補間画素60の左右で判定領域を分割し、補間画素60の左側の領域を、左側の周期性を判定する部分領域62として、また、補間画素60の右側の領域を、右側の周期性を判定する部分領域63として設定し、各部分領域62、63につき周期性を判定することができる。
周期性の有無を適切に判定することができれば、図11(b)に示すような補間画素60の高さ方向である真上および真下の領域を除く、補間画素60の左右に隣接する判定領域61といった大きい部分領域62、63とする必要はなく、これよりも小さい、図11(c)に示すような範囲の部分領域64、65とすることも可能である。また、部分領域は、判定領域61内でなければならないということはなく、一部が判定領域61外にはみ出すように設定することも可能である。
図11では、判定領域61を、3画素以上の所定の幅および高さとして二次元の領域として設定しているが、補間画素60と同じ高さ、すなわち高さ1画素で、所定の画素数からなる幅の一次元の領域を判定領域61とすることも可能である。
このように、補間画素の左右の領域の周期性、補間画素を含む判定領域全体の周期性を判定することで、その補間画素を含む領域の周期性を判定することができる。すなわち、左右、全体の領域に周期性があれば、補間画素を含む領域に周期性があると言え、補間画素を含む領域は周期性がある領域と判定することができる。
ステップ1010、ステップ1020および1025において行われる判定では、各周期性の有無を判定するために、図12に示すような処理を実行する。まず、ステップ1200で、各ステップ(ステップ1010、ステップ1020、ステップ1025)の実行を開始すると、その処理を開始し、ステップ1205で、上記のようにして判定領域内において画素値が極大となるピーク間の距離の最頻値を求め、その最頻値を画素値の代表周期として算出する。なお、判定領域全体の代表周期は、ステップ1010において算出していることから、ここでは省略し、それを採用することができる。
次に、ステップ1210で、先のステップで求めた代表周期を用いて信頼度を計算する。信頼度は、上述した相違度や類似度を計算することにより求めることができる。ステップ1215で、その求めた信頼度が閾値を超えるかどうかを判断することにより周期性の有無を判定し、ステップ1220においてこの処理を終了する。信頼度が閾値を超える場合は周期性ありと判定し、閾値以下である場合は周期性なしと判定する。
図10に示す処理の流れでは、代表周期を推定した後、判定領域全体の周期性を判定し、続いて左側の部分領域の周期性を判定し、それに続いて右側の部分領域の周期性を判定することにより、補間画素を含む領域の周期性を判定しているが、本発明ではこれに限られるものではなく、まず、左右の部分領域の周期性を判定した後に、判定領域全体の周期性を判定することも可能である。また、左右の周期性を判定し、その判定において周期性があれば、それを代表周期として採用するとともに全体が周期性ありと判定し、左右のいずれも周期性がないと判定されれば、全体も周期性なしと判定することも可能である。
したがって、左右の部分領域の少なくとも一方に周期性があると判断されれば、周期性ありと判定し、両方になければ、周期性なしと判定することができる。これは、少なくとも一方に周期性が認められれば、その補間画素を含む領域は、周期性を有する可能性が高く、周期性を有する際に使用する補間方法を採用して補間処理を行うほうが、高い精度で補間することができるからである。
図9に示すステップ925で第一画素値生成部31がテンプレートマッチングにより補間画素の画素値を生成する際、この第一画素値生成部31は、図13に示す処理を実行する。まず、ステップ1300でこの処理を開始し、ステップ1305でテンプレートとしての基準パターンのサイズを決定する。このサイズの決定は、上記のように代表周期を基準として行うことができる。
次に、ステップ1310において、決定した基準パターンのサイズに基づき、補間画素を含むそのサイズの領域を切り出し、これを基本パターンとして生成する。続いて、ステップ1315において、基本パターンの中心、中心が補間画素である場合には補間画素を支点として、所定の角度ずつ回転させて1以上の回転パターンを生成する。
ステップ1320で、代表周期に基づき、類似パターンを探索する領域を設定する。この探索領域は、上記のようにして決定し、その領域を設定することができる。そして、ステップ1325で、生成した基本パターンおよび1以上の回転パターンをテンプレートとして用い、設定した探索領域内を、類似パターンを求めて探索する。類似パターンの探索は、基本パターンおよび回転パターンとの一致度を求め、最も一致度が高いパターンを選択することにより行うことができる。
ステップ1330において、探索した類似パターンと、その類似パターンを探索するために使用した基本パターンまたは回転パターンとを比較し、基本パターンまたは回転パターンに含まれる補間画素の位置に対応する位置にある類似パターン内の画素の画素値を、補間画素へ挿入すべき画素値として取得する。この取得により、ステップ1335へ進み、この処理を終了する。
図14は、画像処理装置の第2実施形態を示した機能ブロック図である。この実施形態では、図2に示す第1実施形態と同様の、周期性判定部70、第一画素値生成部71、第二画素値生成部72、制御部73、画素値挿入部74を備えるほか、さらに、境界判定部75を含んで構成されている。なお、周期性判定部70は、図2に示す周期性判定部30と同様に、周期計算部30aを含んで構成されるが、部分領域周期性判定部については備えていても、備えていなくてもよい。
周期性判定部70、第一画素値生成部71、第二画素値生成部72、制御部73、画素値挿入部74が行う処理については、上述した第1実施形態と同様であるので、ここでは説明を省略し、境界判定部75について説明する。境界判定部75は、周期性判定部30により補間画素を含む画像領域が周期性のある領域(周期領域)であると判定された場合に、その補間画素が本当に周期領域に属しているか否かを判定する。
補間画素は、周期領域内または非周期領域内のいずれかに存在し、補間画素の画素値は、同じ領域内のその補間画素の近傍に存在する画素の画素値から推定することが可能である。これは、補間画素を中心とした数個の連続する画素から構成されるパターンが、その近傍に存在するパターンに類似することから、その近傍に存在するパターンから推定可能だからである。
しかしながら、補間画素が周期領域と非周期領域との境界付近に存在する場合、補間画素は周期領域内に存在するのに、その近傍に存在するパターンは非周期領域のものを採用すると、正しく補間することができなくなる。このため、正しい周期領域内のパターンを採用して推定することができるように、境界判定部75が本当にどちらの領域に属するかを判定する。
その一例として、補間画素を中心として、この補間画素から所定の距離だけ左右に離れた位置に参照領域を設定し、補間画素の左右に設定した参照領域において画像特徴の1つである画素値の分散を個別に求め、左右両方とも分散が閾値以上であれば周期領域に、閾値未満である場合には非周期領域に存在すると判定することができる。
上記所定の距離は、例えば3画素とすることができる。これは、網点が6画素ごとに配置される場合、後述するパターンマッチングに、補間画素を中心としてこの補間画素の左右3画素分をテンプレートとして用いることから、このテンプレートの外側で最も近い位置である、補間画素の左右3画素分離れた位置に参照領域を設定するものである。最も近い位置としているのは、テンプレートにパターンが近似しているものは、テンプレートの近傍に存在していることが多いためである。なお、この距離は3画素に限られるものではなく、適切に判断することができるのであれば、いかなる距離であってもよい。
参照領域は、例えば、補間画素を含む高さ1画素の領域、すなわち画像の1ラインとすることができる。また、参照領域は、上記の判定領域と同様、補間画素を含む任意の高さを有する矩形領域とすることもできる。この領域も、予めユーザによって設定することもできるし、上記判定領域の場合と同様にして、装置が動的に決定することも可能である。この参照領域は、補間画素の左右に限られるものではなく、上下や上下左右等に設定することができ、1以上の領域を設定することができる。
分散は、以下の式4により求めることができる。式4中、xiは、参照領域内のi番目にある画素の画素値で、xmは、参照領域内にある画素の画素値の平均値であり、nは、参照領域内にある画素の画素数である。なお、この分散は、参照領域内の画素の最大輝度値と最小輝度値との差や、カラー画像の場合には最大の緑成分の値(G成分値)と最小のG成分値との差等で代替することも可能である。
制御部73は、周期性判定部70による周期性の判定に加えて、境界判定部75による判定の結果に基づき、補間方法を決定し、第一画素値生成部71と第二画素値生成部72のいずれを採用するかを決定し、決定した画素値生成部に補間画素に挿入すべき画素値を生成させるが、予め第一画素値生成部71と第二画素値生成部72の両方で補間画素の画素値を生成しておき、制御部73がいずれかを選択するという並列処理で実現することも可能である。
図14に示す画像処理装置を用いて、補間画素の画素値を補正する処理について、図15に示すフローチャートを参照して説明する。ステップ1500からこの処理を開始し、まず、ステップ1505において、画素設定部が、画素値を挿入する対象の補間画素を検出し、補間処理すべき補間画素を設定する。この検出は、上述した方法を用いて行うことができる。補間画素が複数存在する場合は、例えばその画素が配置されている座標位置に基づいて順に並べ、順に1つを選択し、その1つを設定することができる。
ステップ1510において、周期性判定部70が、補間画素を含む領域を指定し、その領域内で、画素値の変動に周期性を有するか否かを判定する。上述した領域サイズの決定方法、周期性の判定方法を用いて、領域を指定し、周期性を判定する。次にステップ1515で、補間画素が本当に周期領域と非周期領域のいずれに存在するかを判定する。
次にステップ1520で、補間画素に用いる補間方法を決定する。これは、制御部73が、ステップ1510およびステップ1515において判定された結果に基づき、第一画素値生成部71が採用する補間方法と第二画素値生成部72が採用する補間方法のいずれを用い、補間画素の画素値を生成するかを判断する。上述したように、周期性判定部70が周期性ありと判定した場合は、パターンマッチング法と決定し、周期性なしと判定した場合は、内挿法と決定する。
ステップ1525で、第一画素値生成部71が採用されるか否かが判断される。ステップ1520で決定された補間方法が、パターンマッチング法であれば、その方法を用いて補間処理を行う第一画素値生成部71が採用されると判断され、それ以外であれば、第一画素値生成部71は採用されないと判断される。
ステップ1525で第一画素値生成部71が採用されると判断された場合、ステップ1530へ進み、第一画素値生成部71が用いる補間方法、ここではパターンマッチング法により類似するパターンを探索し、その探索した類似するパターンに基づき補間画素の画素値を生成する。一方、ステップ1525で第一画素値生成部71が採用されないと判断された場合、ステップ1535へ進み、第二画素値生成部72が用いる補間方法、ここでは内挿法により補間画素の画素値を生成する。
次にステップ1540で、ステップ1530またはステップ1535で生成された補間画素の画素値を、ステップ1505において設定した補間画素へ挿入する。この補間画素は、画素値を有しないか、有するにしても不正な値であるため、この補間画素への生成した画素値を挿入することにより、補間画素に画素値を設定する。そして、ステップ1545へ進み、すべての補間画素の補間を終えたかを判断する。ステップ1505において検出した補間画素が複数存在する場合は、そのすべてに生成された画素値が挿入されたかを判定する。
ステップ1545においてすべての補間画素の補間を終えたと判断された場合はステップ1550へ進み、この処理を終了する。一方、まだ終えていないと判断された場合、ステップ1505へ戻り、次の補間画素を設定し、画素値の生成を行い、画素値を挿入する処理を行う。なお、ステップ1510および1530においては、図10、図12、図13に示す処理と同様の処理を実行することができる。
図16は、画像処理装置の第3実施形態を示した機能ブロック図である。この実施形態では、図2に示す第1実施形態と同様の、周期性判定部80、第一画素値生成部81、第二画素値生成部82、制御部83、画素値挿入部84を備えるほか、さらに、第一画素値生成部81または第二画素値生成部82により生成された補間画素の画素値の妥当性を検証する妥当性検証部85を備える。このため、制御部83は、第一画素値生成部81が採用された際に生成された画素値が妥当であるか否かを妥当性検証部85によって検証し、妥当性がないと判定された場合、第二画素値生成部82により補間画素の画素値を生成する。
周期性判定部80、第一画素値生成部81、第二画素値生成部82、制御部83、画素値挿入部84が行う処理については、上述した第1実施形態と同様であるので、ここでは説明を省略し、妥当性検証部85について説明する。妥当性検証部85は、例えば、第一画素値生成部81により生成された画素値が妥当であるか否かを判定する。
妥当性の検証は、第一画素値生成部81が画素値を生成する際に得られる関連情報を用いて行うことができる。関連情報としては、第一画素値生成部81が補間方法としてパターンマッチング法を用いる場合、テンプレートと比較する対象のパターンとの相違度または類似度を挙げることができる。相違度または類似度は、上述したSAD、SSD、相関係数、共分散等を用いることができる。
妥当性検証部85は、第一画素値生成部81が類似パターンの探索に使用した基本パターンまたは回転パターンと、その補間画素を含む基本パターンまたは回転パターンとの相違度または類似度を求め、その相違度が閾値未満またはその類似度が閾値以上であるかを判断することにより、妥当であるかを判断することができる。相違度が閾値未満なら妥当であり、類似度が閾値以上であれば妥当である。
このため、妥当性検証部85において、相違度または類似度を閾値処理し、相違度が閾値未満または類似度が閾値以上であることを妥当と判断するための条件とすることができる。この閾値も、上述した閾値等と同様に、予めユーザによって設定することもできるし、装置が動的に決定することも可能である。
制御部83は、これに伴い、第一画素値生成部81が採用された際に生成された画素値が妥当であるか否かを妥当性検証部85によって検証し、妥当性がないと判定された場合、第二画素値生成部82により補間画素の画素値を生成するが、これに限られるものではなく、予め第一画素値生成部81と第二画素値生成部82の両方で補間画素の画素値を生成しておき、妥当性検証部85による検証結果に基づき、いずれかを選択するという並列処理で実現することも可能である。
この図16に示す画像処理装置を用いて、補間画素の画素値を補正する処理について、図17に示すフローチャートを参照して説明する。ステップ1700からこの処理を開始し、まず、ステップ1705において、図16に図示しない画素設定部が、画素値を挿入する対象である補間画素を検出し、補間画素を設定する。この検出は、上述した方法を用いて行うことができる。複数の補間画素が存在する場合は、上記と同様にして、その1つを設定する。
ステップ1710において、周期性判定部80が、補間画素を含む領域内で、画素値の変動に周期性を有するか否かを判定する。上述した領域サイズの決定方法、周期性の判定方法を用いて、周期性を判定する。続いて、ステップ1715において、補間画素に用いる補間方法を決定する。これは、制御部83が、ステップ1710において判定された結果に基づき、第一画素値生成部81が採用する補間方法と第二画素値生成部82が採用する補間方法のいずれを用いて、補間画素の画素値を生成するかを判断する。ステップ1720で、判断された補間方法に基づき、第一画素値生成部81が採用されるか否かを判定する。
ステップ1720で第一画素値生成部81が採用されると判定された場合、ステップ1725へ進み、第一画素値生成部81が用いる補間方法、ここではパターンマッチング法により補間画素の画素値を生成する。続いて、ステップ1730において、妥当性検証部85が第一画素値生成部81により生成された画素値が妥当であるか否かを検証し、ステップ1735において、その画素値が妥当かを判定する。妥当であるか否かは、画素値を生成する際に得られる関連情報、具体的には相違度または類似度を用い、その相違度が閾値未満か、または類似度が閾値以上かを判断することにより行うことができる。
ステップ1720で第一画素値生成部81が採用されないと判断された場合、ステップ1740へ進み、第二画素値生成部82が用いる補間方法、ここでは内挿法により補間画素の画素値を生成する。また、ステップ1735で妥当でないと判定された場合も、ステップ1740へ進み、第二画素値生成部82が用いる補間方法により補間画素の画素値を生成する。
ステップ1735で、画素値が妥当と判定された場合、またはステップ1740で、第二画素値生成部82により補間画素の画素値が生成された後、ステップ1745へ進み、その画素値を、ステップ1705において検出した補間画素へ挿入する。これにより、その画素値を補間画素の画素値として設定する。そして、ステップ1750へ進み、すべての補間画素の補間を終えたかを判断する。ステップ1705において設定した補間画素が複数存在する場合は、そのすべてに生成された画素値が挿入されたかを判定する。
ステップ1750においてすべての補間画素の補間を終えたと判断された場合はステップ1755へ進み、この処理を終了する。一方、まだ終えていないと判断された場合、ステップ1705へ戻り、次の補間画素を設定し、画素値の生成を行い、挿入する処理を行う。
図18は、画像処理装置の第4実施形態を示した機能ブロック図である。この実施形態では、図16に示す第3実施形態と同様の、周期性判定部90、第一画素値生成部91、第二画素値生成部92、制御部93、画素値挿入部94、妥当性検証部95を備えており、これらに加えて、第一画素値生成部91および第二画素値生成部92が採用する補間方法とは異なる手法を用いて補間画素の画素値を生成する第三画素値生成部96を備えている。このため、制御部93は、第一画素値生成部91が採用された際に生成された画素値が妥当であるか否かを妥当性検証部95によって検証し、妥当性がないと判定された場合、第三画素値生成部96により補間画素の画素値を生成し、その画素値が妥当性検証部95によって検証され、これも妥当性がないと判定された場合に、第二画素値生成部92により補間画素の画素値を生成するように構成されている。
この第4実施形態では、図16に示す第3実施形態の構成に、第三画素値生成部96のみが追加された構成とされているが、これに限られるものではなく、第四画素値生成部や第五画素値生成部等をさらに追加し、4つ以上の画素値生成部から構成することも可能である。この場合、制御部93が、各画素値生成部が生成した画素値が妥当であるかを判定し、妥当でないと判定された場合に別の画素値生成部により画素値を生成することができる。
この第4実施形態における周期性判定部90、第一画素値生成部91、第二画素値生成部92、制御部93、画素値挿入部94、妥当性検証部95が行う処理については、上述した第3実施形態と同様であり、第三画素値生成部96も、補間方法が異なるのみで、第一画素値生成部91や第二画素値生成部92と同様、補間画素の画素値を生成するものであるので、これらについての説明は省略する。
なお、制御部93は、第一画素値生成部91が採用された際に生成された画素値が妥当であるか否かを妥当性検証部95によって検証し、妥当性がないと判定された場合、第三画素値生成部96により補間画素の画素値を生成し、生成された画素値が妥当であるか否かを妥当性検証部95によって検証し、妥当性がないと判定された場合、第二画素値生成部92により補間画素の画素値を生成するが、これに限られるものではなく、予め第一画素値生成部91と第二画素値生成部92と第三画素値生成部96のすべてにおいて補間画素の画素値を生成しておき、妥当性検証部95による検証結果に基づき、いずれかを選択するという並列処理で実現することも可能である。
第三画素値生成部96は、第一画素値生成部91および第二画素値生成部92とは異なる補間方法を用いるが、第一画素値生成部91が二次元のテンプレートマッチングを用い、第二画素値生成部92が線形補間を採用するとき、第三画素値生成部96は、それら以外の一次元のテンプレートマッチング、放物線補間、キュービック補間、多項式補間、スプライン補間等を採用することができる。
この図18に示す画像処理装置を用いて、補間画素の画素値を補正する処理について、図19に示すフローチャートを参照して説明する。ステップ1900からこの処理を開始し、まず、ステップ1905において、図18に図示しない画素設定部が、画素値を挿入する対象である補間画素を検出し、補間画素を設定する。この検出は、上述した方法を用いて行うことができる。この場合も同様にして、補間画素が複数存在するときはその1つを設定する。
ステップ1910において、補間画素を含む領域内で、画素値の変動に周期性を有するか否かを判定する。上述した領域サイズの決定方法、周期性の判定方法を用いて、周期性を判定する。続いて、ステップ1915において、補間画素に用いる補間方法を決定する。これは、制御部93が、ステップ1910において判定された結果に基づき、第一画素値生成部91が採用する補間方法、第二画素値生成部92が採用する補間方法、第三画素値生成部96が採用する補間方法のいずれを用い、補間画素の画素値を生成するかを判断する。次にステップ1920で、決定された補間方法に基づき、第一画素値生成部91が採用されるかを判定する。
ステップ1920で第一画素値生成部91が採用されると判定された場合、ステップ1925へ進み、第一画素値生成部91が用いる補間方法により補間画素の画素値を生成する。続いて、ステップ1930において、妥当性検証部95が第一画素値生成部91により生成された画素値が妥当であるか否かを検証し、ステップ1935において、その画素値が妥当かを判定する。
妥当性の判断は、第一画素値生成部91が画素値を生成する際に得られる関連情報を用いて行われる。第一画素値生成部91は、テンプレートと、画素値生成に使用した最適なパターンとの相違度または類似度を関連情報として用い、相違度が閾値未満または類似度が閾値以上であれば妥当と判断することができる。このとき、テンプレートとしては、補間画素を除いたものを用いることもできるし、生成した画素値を挿入した後のものを用いることも可能である。
ステップ1935で、妥当でないと判定された場合、ステップ1940へ進み、第三画素値生成部96が用いる補間方法により補間画素の画素値を生成する。続いて、ステップ1945において、妥当性検証部95が第三画素値生成部96により生成された画素値が妥当であるか否かを検証し、ステップ1950において、その画素値が妥当かを判定する。
ステップ1920で第一画素値生成部91が採用されないと判断された場合、またはステップ1950で妥当でないと判定された場合、ステップ1955へ進み、第二画素値生成部92が用いる補間方法により補間画素の画素値を生成する。
ステップ1935で、画素値が妥当と判定された場合、もしくはステップ1950で、画素値が妥当と判定された場合、またはステップ1955で画素値が生成された後、ステップ1960へ進み、その画素値を、ステップ1905において検出した補間画素へ挿入する。そして、ステップ1965へ進み、すべての補間画素の補間を終えたかを判断する。ステップ1905において検出した補間画素が複数存在する場合は、そのすべてに生成された画素値が挿入されたかを判定する。
ステップ1965においてすべての補間画素の補間を終えたと判断された場合はステップ1970へ進み、この処理を終了する。一方、まだ終えていないと判断された場合、ステップ1905へ戻り、次の補間画素を設定し、画素値の生成を行い、挿入する処理を行う。
図20は、画像処理装置の第5実施形態を示した機能ブロック図である。この第5実施形態では、図18に示す第4実施形態と同様の、周期性判定部100、第一画素値生成部101、第二画素値生成部102、制御部103、画素値挿入部104、妥当性検証部105、第三画素値生成部106を備え、上記第2実施形態において採用した境界判定部107を備える構成とされている。このため、制御部103は、周期性判定部100の判定結果に加えて、境界判定部107の判定結果に基づき、第一画素値生成部101、第二画素値生成部102、第三画素値生成部106を切り替えるように構成されている。
補間方法の決定方法の一例として、補間画素を含む領域に周期性があり、補間画素が周期領域内であれば、第一画素値生成部101を採用し、補間画素を含む領域に周期性があり、補間画素が非周期領域内であれば第二画素値生成部102を採用し、補間画素を含む領域に周期性がない場合、第三画素値生成部106を採用することができる。
その他の例としては、補間画素を含む領域の周期が短く、補間画素が周期領域内であれば、第一画素値生成部101を採用し、補間画素を含む領域の周期が短く、補間画素が非周期領域内であれば、第二画素値生成部102を採用し、それ以外であれば、第三画素値生成部106を採用することができる。
この実施形態では、第一画素値生成部101が採用された場合、その際に生成された画素値が妥当であるか否かを妥当性検証部105によって検証し、第一画素値生成部91が採用されない場合、第三画素値生成部106が採用されたかを判定し、採用された場合は、第三画素値生成部106により補間画素の画素値を生成し、生成された画素値が妥当であるか否かを妥当性検証部105によって検証し、第三画素値生成部106が採用されない場合、第二画素値生成部102により補間画素の画素値を生成するが、これに限られるものではなく、予め第一画素値生成部101と第二画素値生成部102と第三画素値生成部106のすべてにおいて補間画素の画素値を生成しておき、妥当性検証部105による検証結果に基づき、いずれかを選択するという並列処理で実現することも可能である。
この図20に示す画像処理装置を用いて、補間画素の画素値を補正する処理について、図21に示すフローチャートを参照して説明する。ステップ2100からこの処理を開始し、まず、ステップ2105において、画素値を挿入する対象である補間画素を検出し、その補間画素を設定する。この検出は、上述した方法を用いて行うことができる。この場合も同様にして、補間画素が複数存在するときはその1つを設定する。
ステップ2110において、周期性判定部100が、補間画素を含む領域内で、画素値の変動に周期性を有するか否かを判定する。上述した領域サイズの決定方法、周期性の判定方法を用いて、周期性を判定する。続いて、ステップ2115において、境界判定部107が、補間画素が本当に周期領域と非周期領域のどちらの領域に存在するかを判定する。この判定には、上記の境界の判定方法、参照領域のサイズ決定方法を採用し、左右の参照領域で個別に画素値の分散を求め、求めた分散が左右の参照領域でいずれも閾値以上であるかを判断することにより行う。閾値以上であれば、補間画素は周期領域に存在すると判定される。
そして、ステップ2120で、補間画素に用いる補間方法を決定する。これは、制御部103が、ステップ2110およびステップ2115において判定された結果に基づき、第一画素値生成部101が採用する補間方法、第二画素値生成部102が採用する補間方法、第三画素値生成部106が採用する補間方法のいずれを用い、補間画素の画素値を生成するかを判断する。次のステップ2125では、決定された補間方法に基づき、第一画素値生成部101が採用されるかを判定する。
ステップ2125で第一画素値生成部101が採用されると判定された場合、ステップ2130へ進み、第一画素値生成部101が用いる補間方法により補間画素の画素値を生成する。続いて、ステップ2135において、妥当性検証部105が第一画素値生成部101により生成された画素値が妥当であるか否かを検証し、ステップ2140において、その画素値が妥当かを判定する。
ステップ2125で第一画素値生成部101が採用されないと判定された場合、ステップ2145へ進み、第三画素値生成部106が採用されるかを判定する。第三画素値生成部106が採用されると判定された場合、また、ステップ2140で妥当でないと判定された場合は、ステップ2150へ進み、第三画素値生成部106が用いる補間方法により補間画素の画素値を生成する。続いて、ステップ2155において、妥当性検証部105が第三画素値生成部106により生成された画素値が妥当であるか否かを検証し、ステップ2160において、その画素値が妥当かを判定する。
ステップ2145で第三画素値生成部106が採用されないと判定された場合、ステップ2165へ進み、第二画素値生成部102が用いる補間方法により補間画素の画素値を生成する。また、ステップ2160で妥当でないと判定された場合、ステップ2165へ進み、第二画素値生成部102が用いる補間方法により補間画素の画素値を生成する。
ステップ2140で妥当と判定された場合、ステップ2160で妥当と判定された場合、ステップ2165で画素値が生成された後、ステップ2170へ進み、その画素値を、ステップ2105において設定した補間画素へ挿入する。そして、ステップ2175へ進み、すべての補間画素の補間を終えたかを判断する。ステップ2105において設定した補間画素が複数存在する場合は、そのすべてに生成された画素値が挿入されたかを判定する。
ステップ2175においてすべての補間画素の補間を終えたと判断された場合はステップ2180へ進み、この処理を終了する。一方、まだ終えていないと判断された場合、ステップ2105へ戻り、再び補間画素を設定し、画素値の生成を行い、挿入する処理を行う。
本発明では、上述した画像処理装置や、その画像処理装置により実行される画像検査方法のほか、その方法を実現するためのコンピュータ可読なプログラムも提供することが可能である。なお、このプログラムは、FD、CD、DVD、SDカード、USBメモリ等の記録媒体に格納し、そのプログラムが記録された記録媒体として提供することも可能である。
これまで本発明を、画像処理装置および画像検査方法として上述した実施の形態をもって説明してきたが、本発明は上述した実施の形態に限定されるものではなく、他の実施の形態、追加、変更、削除など、当業者が想到することができる範囲内で変更することができ、いずれの態様においても本発明の作用・効果を奏する限り、本発明の範囲に含まれるものである。
したがって、上記第2実施形態の構成に妥当性検証部を備えるか、または第3実施形態の構成に境界判定部を備える構成、すなわち周期性判定部、境界判定部、第一画素値生成部、第二画素値生成部、制御部、画素値挿入部、妥当性検証部から構成される装置とすることも可能である。また、第4実施形態の構成の妥当性検証部に代えて境界判定部を備える構成、すなわち、周期性判定部、境界判定部、第一画素値生成部、第二画素値生成部、第三画素値生成部、制御部、画素値挿入部から構成される装置とすることも可能である。