本発明の画像処理装置は、画像を読み取るスキャナ装置とケーブルで直接、またはネットワークを介して接続される。スキャナ装置は、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(Univeral 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と、各部分領域で周期性を判定するための部分領域周期性判定部30bとを備えることができる。
なお、周期推定部30aにより代表周期が計算できれば、周期性を判断でき、また、その代表周期を用いてテンプレートのサイズや探索領域を求めることができるので、周期性判定部30は、この周期推定部30aのみを備えていてもよい。また、部分領域周期性判定部30bにより左右の各部分領域の周期性を判断できれば、判定領域における周期性の有無を判断することができ、各部分領域から代表周期を求め、その代表周期を用いてテンプレートのサイズや探索領域を求めることができるので、周期性判定部30は、部分領域周期性判定部30bのみを備えていてもよい。このことから、周期性判定部30は、周期推定部30aと部分領域周期性判定部30bの少なくとも1つを含んで構成することができる。
領域全体の周期性の判定および各部分領域での周期性の判定では、それぞれにおいて判定領域内における画素値の変動周期を求めることもできるが、先に行う領域全体の周期性の判定において求めた画素値の変動周期を、後の各部分領域で周期性を判定する際に利用することができる。これらの判定では、求めた変動周期を用い、この周期の信頼度を算出し、その信頼度が閾値以上であるかを判定する。
この周期性の判定は、上記のように、領域全体の周期性を判定し、その後に分割し、左右の領域で周期性を判定することができるが、この順序に限られるものではなく、左右の領域で周期性を判定した後に領域全体の周期性を判定することも可能である。
代表周期を求める一例として、判定領域内において画素値が極大となる位置(ピーク位置)、具体的には図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画素ずつ大きめあるいは小さめと例示したが、2画素以上であってもよい。
補間画素が網点領域に属する場合には、一辺が概ね代表周期である正方形の領域として設定することが望ましい。これは、代表周期を示す画像を、例えば幅14画素で、高さ1画素の図6(a)に示すようなものとすると、幅14画素、高さ14画素の正方形の領域とすることで、図6(b)に示すように網点1つ分を表現することができるからである。このように網点1つ分の領域としてテンプレートのサイズを決定することで、類似するパターンを探索する際に、網点1つ分のみの情報を用い、補間画素を含む網点に最適な類似するパターンを取得することができる。
また、代表周期が非常に小さい場合、例えば3画素のような場合には、テンプレートのサイズを少し大きめ、例えば、その3画素の左右に1画素ずつ追加した5画素にすることができる。これは、代表周期が非常に小さい場合、一致度の評価に用いる画素数が少なくなってしまい、類似するパターンの検出の安定性が低下してしまうからである。
第一画素値生成部31は、上記のようにして決定したテンプレートのサイズに基づき、テンプレートを作成する。補間画素を含む、そのテンプレートのサイズの領域を画像中から切り出し、テンプレート画像として設定する。このとき、テンプレート画像は、補間画素を中心としてその左右、上下が対称となる形状として切り出し、設定することが好ましい。このように切り出し、設定することで、補間画素を含むパターンの方向性に依存することなく、類似するパターンの探索を行うことができる。
第一画素生成部31は、テンプレートを作成した後、そのテンプレートを用いて類似するパターンを探索するにあたって、所定の探索領域を設定する。この探索領域は、代表周期に基づき設定することができる。探索領域は、例えば、代表周期が上記の幅14画素、高さ1画素とされるとき、その代表周期を中心として左右に14画素ずつ追加した幅42画素で、幅と同じ高さ42画素の正方形の領域とすることができる。このように、幅と高さを同じ画素数とすることで、探索範囲のパターンの方向性に依存せずに探索を行うことができる。上記の幅42画素、高さ42画素の領域は、あくまで1つの例であるので、これに限られるものではなく、これより広い、幅70画素、高さ70画素という領域等を探索領域とすることができる。
探索領域は、上記の正方形の領域に限られるものではないが、画像をバッファするメモリの制約等からその範囲の高さを低く抑える必要がある場合は、その分、幅を広くとることが望ましい。高さを低く抑えると、類似するパターンを探索する対象が少なくなり、画素補間の精度が低下するからである。また、周期性判定部30により補間画素に向かって左側に設定された領域が周期性なしと判断された場合、補間画素に向かって左側に設定された領域を探索領域から除外することが望ましい。右側についても同様である。このように探索領域を狭めることにより、類似するパターンが検出されるべきでない領域からの誤検出を防止することができる。
第一画素値生成部31は、探索領域を上記のようにして設定した後、作成したテンプレートを用い、その探索領域内にある、そのテンプレートに類似するパターンを探索する。具体的には、探索領域内の各位置においてテンプレートとの一致度を求め、最も一致度が高い位置を類似するパターンとして選択する。一致度として、SAD(Sum of Absolute Difference)やSSD(Sum of Squared Difference)等の相違度、相関係数や共分散等の類似度を用いることができる。
SADは、テンプレートと比較するパターンを切り出し、テンプレートとパターンの同じ位置にある画素の輝度値の差をそれぞれ求め、その差の絶対値を合計したものであり、この合計値が小さいほど類似し、大きいほど相違することを示すものである。また、SSDは、その輝度値の差を二乗し、その合計を用いるもので、これも、この合計値が小さいほど類似し、大きいほど相違することを示すものである。相関係数および共分散については上記式1、2により求めることができる。相関係数は、−1から1までの値をとり、その値が1に近づくほど強い正の相関があり、0に近いほど相関が弱く、−1に近づくほど負の相関がある。これは、1に近づくほど類似するパターンであることを意味し、−1に近づくほど反転したパターンに類似したものとなる。このことから、値が大きいほど類似度が高いと判断することができる。共分散は、相関係数に対応することから、その値が大きいほど類似度が高いと判断することができる。
一致度の評価に際して、補間画素の画素値が一致度に影響を与えないように補間画素を一致度の計算から除外するか、比較対象のパターンにおいて同じ位置にある画素の画素値を用いて仮の画素値を設定しておくことが望ましい。なお、類似するパターンは一致度が高い順に複数選択することも可能である。
また、補間画素が画像全体で複数存在する場合、一致度の計算において、今挿入しようとしている補間画素だけでなく、他の補間画素も計算から除外するか、比較対象のパターンの同じ位置にある画素の画素値を用いて仮の画素値を設定しておくことが望ましい。これは、基準パターンや比較対象のパターンに今挿入しようとしている補間画素だけではなく、他の補間画素が含まれている場合があり、補間画素は基本的に画素値が欠落しているか、不正な値を保持しているため、一致度の計算に使用されることは好ましくないからである。なお、既に挿入済みの補間画素の画素値は一致度の計算に使用することができる。また、比較対象パターンに他の補間画素が存在する場合、その補間画素が一致度の計算に用いられないように計算から除外するか、基準パターンの同じ位置にある画素の画素値を用いて仮の画素値を設定しておくことが望ましい。
このようにして探索した最も類似するパターンにおいて、テンプレートにおける補間画素の位置に対応する位置にある画素の画素値を取得する。最も類似するパターンのみを用いる場合には、このようにして取得した画素値を補間画素の画素値とすることができる。また、一致度が高い順に選択した複数の類似するパターンを用いる場合には、それら複数のパターンから取得した画素値を合成し、補間画素の画素値を求めることができる。画素値を合成する方法としては、一様な重みにより平均する方法、類似するパターンの一致度が高いほど大きな重みとなるように制御した上で加重平均を行う方法を挙げることができる。
なお、テンプレートマッチングには、二次元テンプレートマッチング、一次元テンプレートマッチングがある。二次元テンプレートマッチングでは、画像内の補間画素近辺、すなわち補間画素の左右や上下、斜め方向にある任意の領域をパターンとして切り出し、そのパターンとテンプレートとの一致度を求めることにより、最も類似するパターンを探索する。これまでに説明してきたテンプレートマッチングは、二次元テンプレートマッチングである。これに対し、一次元テンプレートマッチングでは、補間画素が存在する1ライン内からパターンを切り出し、一致度を求め、最も類似するパターンを探索する。
第二画素値生成部32は、第一画素値生成部31とは異なる補間方法を用いて、補間画素の画素値を生成する。異なる補間方法として、内挿法を用いることができる。この内挿法には、最近傍補間(0次補間)、線形補間(一次補間)、放物線補間(二次補間)、キュービック補間(三次補間)、多項式補間、スプライン補間、ラグランジュ補間等があり、線形補間やキュービック補間を二次元に拡張したバイリニア補間やバイキュービック補間等を用いることも可能である。
1ライン上に順に配列する画素A〜Fがあり、画素Cの画素値が欠落している場合、これを、画素の位置と画素値との関係を示すグラフに表すと、図7(a)に示すようなものとなる。画素Cの実際の画素値は、白丸で示す値である。この場合、画素の位置が1つ移動するにつれて画素値が一定の値ほど増加しているので、画素の位置と画素値との関係を一次関数で表すことができ、得られた一次関数を用いて補間すべき画素Cの画素値を求めることができる(線形補間)。
また、図7(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つ分の補間処理が完了する。補間画素が複数存在する場合には、上記の各部における処理を補間画素の数だけ繰り返す。
これらの各部が各処理を行い、補間画素の画素値を生成し、その画素値により補間画素を補間する処理について、図8に示すフローチャートを参照して説明する。ステップ800からこの処理を開始し、まず、ステップ805において、画素設定部が、画素値を挿入する対象の補間画素を検出し、補間処理すべき補間画素を設定する。この検出は、上述した方法を用いて行うことができる。補間画素が複数存在する場合は、例えばその画素が配置されている座標位置に基づいて順に並べ、順に1つを選択し、その1つを設定することができる。
ステップ810において、周期性判定部30が、補間画素を含む領域を指定し、その領域内で、画素値の変動に周期性を有するか否かを判定する。上述した領域サイズの決定方法、周期性の判定方法を用いて、領域を指定し、周期性の有無を判定する。
次にステップ815で、補間画素に用いる補間方法を決定する。これは、制御部33が、ステップ810において判定された結果に基づき、第一画素値生成部31と第二画素値生成部32のいずれを採用し、補間画素の画素値を生成するかを判断する。上述したように、周期性判定部30が周期性ありと判定した場合は、パターンマッチング法と決定し、周期性なしと判定した場合は、内挿法と決定する。
ステップ820で、第一画素値生成部31が採用されるか否かが判断される。ステップ815で決定された補間方法が、パターンマッチング法であれば、その方法を用いて補間処理を行う第一画素値生成部31が採用されると判断され、それ以外であれば、第一画素値生成部31は採用されないと判断される。
ステップ820で第一画素値生成部31が採用されると判断された場合、ステップ825へ進み、第一画素値生成部31が用いる補間方法、ここではパターンマッチング法により類似するパターンを探索し、その探索した類似するパターンに基づき補間画素の画素値を生成する。一方、ステップ820で第一画素値生成部31が採用されないと判断された場合、ステップ830へ進み、第二画素値生成部32が用いる補間方法、ここでは内挿法により補間画素の画素値を生成する。
次にステップ835で、ステップ825またはステップ830で生成された補間画素の画素値を、ステップ805において設定した補間画素へ挿入する。この補間画素は、画素値を有しないか、有するにしても不正な値であるため、この補間画素への生成した画素値を挿入することにより、補間画素に画素値を設定する。そして、ステップ840へ進み、すべての補間画素の補間を終えたかを判断する。ステップ805において検出した補間画素が複数存在する場合は、そのすべてに生成された画素値が挿入されたかを判定する。
ステップ840においてすべての補間画素の補間を終えたと判断された場合はステップ845へ進み、この処理を終了する。一方、まだ終えていないと判断された場合、ステップ805へ戻り、次の補間画素を設定し、画素値の生成を行い、画素値を挿入する処理を行う。
ここで、ステップ810では、補間画素を含む領域の周期性を判定するために、図9に示すような処理を実行する。まず、ステップ900で、周期性の判定を行うステップを開始すると、ステップ905で、代表周期を推定する。すなわち、信頼度、テンプレートのサイズ、探索領域を算出する上で必要となる代表周期を算出する。そして、ステップ910で、その代表周期を用い、判定領域全体の周期性を判定する。
それに続いて、ステップ915で、判定領域を、補間画素を中心として左右の領域に分け、左側の領域と右側の領域とを設定する。ステップ920では、まず、補間画素に向かって左側の領域に対し、その領域における代表周期を求め、それを用いて周期性を判定し、次に、ステップ925で、補間画素に向かって右側の領域に対し、その領域における代表周期を求め、それを用いて周期性を判定する。これらの判定が終了したところで、ステップ930において周期性の判定を終了する。
これらのステップ915〜925では、図10(a)に示すように、補間画素50が中心にくるようにして判定領域51を設定すると、図10(b)に示すように、補間画素50の左右で判定領域を分割し、補間画素50の左側の領域を、左側の周期性を判定する部分領域52として、また、補間画素50の右側の領域を、右側の周期性を判定する部分領域53として設定し、各部分領域52、53につき周期性を判定することができる。
周期性の有無を適切に判定することができれば、図10(b)に示すような補間画素50の高さ方向である真上および真下の領域を除く、補間画素50の左右に隣接する判定領域51といった大きい部分領域52、53とする必要はなく、これよりも小さい、図10(c)に示すような範囲の部分領域54、55とすることも可能である。また、部分領域は、判定領域51内でなければならないということはなく、一部が判定領域51外にはみ出すように設定することも可能である。
図10では、判定領域51を、3画素以上の所定の幅および高さとして二次元の領域として設定しているが、補間画素50と同じ高さ、すなわち高さ1画素で、所定の画素数からなる幅の一次元の領域を判定領域51とすることも可能である。
このように、補間画素の左右の領域の周期性、補間画素を含む判定領域全体の周期性を判定することで、その補間画素を含む領域の周期性を判定することができる。すなわち、左右、全体の領域に周期性があれば、補間画素を含む領域に周期性があると言え、補間画素を含む領域は周期性がある領域と判定することができる。
ステップ910、ステップ920および925において行われる判定では、各周期性の有無を判定するために、図11に示すような処理を実行する。まず、ステップ1100で、各ステップ(ステップ910、ステップ920、ステップ925)の実行を開始すると、その処理を開始し、ステップ1105で、上記のようにして判定領域内において画素値が極大となるピーク間の距離の最頻値を求め、その最頻値を画素値の代表周期として算出する。なお、判定領域全体の代表周期は、ステップ910において算出していることから、ここでは省略し、それを採用することができる。
次に、ステップ1110で、先のステップで求めた代表周期を用いて信頼度を計算する。信頼度は、上述した相違度や類似度を計算することにより求めることができる。ステップ1115で、その求めた信頼度が閾値を超えるかどうかを判断することにより周期性の有無を判定し、ステップ1120においてこの処理を終了する。信頼度が閾値を超える場合は周期性ありと判定し、閾値以下である場合は周期性なしと判定する。
図9に示す処理の流れでは、代表周期を推定した後、判定領域全体の周期性を判定し、続いて左側の部分領域の周期性を判定し、それに続いて右側の部分領域の周期性を判定することにより、補間画素を含む領域の周期性を判定しているが、本発明ではこれに限られるものではなく、まず、左右の部分領域の周期性を判定した後に、判定領域全体の周期性を判定することも可能である。また、左右の周期性を判定し、その判定において周期性があれば、それを代表周期として採用するとともに全体が周期性ありと判定し、左右のいずれも周期性がないと判定されれば、全体も周期性なしと判定することも可能である。この場合の処理を、図12を参照して説明する。
ステップ1200からこの処理を開始する。ステップ1205において、まず、左側の部分領域の周期性を判定する。これは、図11に示す処理と同じ、上記式1〜3を用いて計算を行い、信頼度が閾値を超えるか否かにより行うことができる。次に、ステップ1210において、右側の部分領域の周期性を、同様の方法により判定する。
これらの判定が終了した後、ステップ1215において、左側の部分領域に周期性が存在するかを判断する。存在する場合には、ステップ1220へ進み、右側の部分領域に周期性が存在するかを判断する。存在しない場合は、ステップ1225へ進み、右側の部分領域に周期性が存在するかを判断する。これらの判断は、ステップ1205およびステップ1210で判定した判定結果から判断することができる。
ステップ1220で右側の部分領域に周期性が存在すると判断された場合、判定領域全体において周期性を有すると考えられるが、ステップ1230へ進み、その判定領域全体の周期性を判定し、確認する。そして、ステップ1235へ進み、代表周期として、ここでは左側の部分領域において得られた周期を設定する。一方、ステップ1220で右側の部分領域に周期性が存在しないと判定された場合、ステップ1240へ進み、周期性が存在すると判定された左側の部分領域において得られた周期を代表周期として設定する。
また、ステップ1225で左側の部分領域には周期性が存在しないが、右側の部分領域には周期性が存在すると判定された場合、ステップ1245へ進み、この場合は右側の部分領域において得られた周期を代表周期として設定する。このようにして代表周期が設定されたとき、ステップ1250へ進み、これらについては周期性ありと判定する。すなわち、ステップ1235、1240、1245で代表周期が設定された場合である。
その一方、ステップ1225で左側の部分領域にも、右側の部分領域にも周期性が存在しないと判定された場合、ステップ1255へ進み、周期性なしと判定する。これらの判定が終了したところで、ステップ1260へ進み、この処理を終了する。
このことから、左右の部分領域の少なくとも一方に周期性があると判断されれば、周期性ありと判定し、両方になければ、周期性なしと判定する。これは、少なくとも一方に周期性が認められれば、その補間画素を含む領域は、周期性を有する可能性が高く、周期性を有する際に使用する補間方法を採用して補間処理を行うほうが、高い精度で補間することができるからである。
図8に示すステップ825で第一画素値生成部31がテンプレートマッチングにより補間画素の画素値を生成する際、この第一画素値生成部31は、図13に示す処理を実行する。まず、ステップ1300でこの処理を開始し、ステップ1305でテンプレートのサイズを決定する。このサイズの決定は、上記のように代表周期を基準として行うことができる。
次に、ステップ1310において、決定したテンプレートのサイズに基づき、補間画素を含むそのサイズの領域を切り出し、テンプレート画像として設定することにより、基準パターンであるテンプレートを作成する。続いて、ステップ1315において、このテンプレートを用いて類似するパターンを探索する探索領域を決定する。この探索領域の決定も、代表周期を基準として行うことができる。
ステップ1320において、決定した探索領域を、テンプレートを用いて探索し、最も一致度が高いパターンを特定し、ステップ1325で、そのパターンとテンプレートとを比較し、補間画素の位置に対応する位置にある画素の画素値を、補間画素へ挿入すべき画素値として取得する。この取得により、ステップ1330へ進み、この処理を終了する。
図14は、画像処理装置の第2実施形態を示した機能ブロック図である。この実施形態では、図2に示す第1実施形態と同様の、周期性判定部60、第一画素値生成部61、第二画素値生成部62、制御部63、画素値挿入部64を備えるほか、さらに、境界判定部65を含んで構成されている。なお、周期性判定部60は、図2に示す周期性判定部30と同様に、周期推定部、部分領域周期性判定部の少なくとも一方を備えるものである。
周期性判定部60、第一画素値生成部61、第二画素値生成部62、制御部63、画素値挿入部64が行う処理については、上述した第1実施形態と同様であるので、ここでは説明を省略し、境界判定部65について説明する。境界判定部65は、周期性判定部60により補間画素を含む画像領域が周期性のある領域(周期領域)であると判定された場合に、その補間画素が本当に周期領域に属しているか否かを判定する。
補間画素は、周期領域内または非周期領域内のいずれかに存在し、補間画素の画素値は、同じ領域内のその補間画素の近傍に存在する画素の画素値から推定することが可能である。これは、補間画素を中心とした数個の連続する画素から構成されるパターンが、その近傍に存在するパターンに類似することから、その近傍に存在するパターンから推定可能だからである。
しかしながら、補間画素が周期領域と非周期領域との境界付近に存在する場合、補間画素は周期領域内に存在するのに、その近傍に存在するパターンは非周期領域のものを採用すると、正しく補間することができなくなる。このため、正しい周期領域内のパターンを採用して推定することができるように、境界判定部65が本当にどちらの領域に属するかを判定する。
その一例として、補間画素を中心として、この補間画素から所定の距離だけ左右に離れた位置に参照領域を設定し、補間画素の左右に設定した参照領域において画像特徴の1つである画素値の分散を個別に求め、左右両方とも分散が閾値以上であれば周期領域に、閾値未満である場合には非周期領域に存在すると判定することができる。
上記所定の距離は、例えば3画素とすることができる。これは、網点が6画素ごとに配置される場合、後述するパターンマッチングに、補間画素を中心としてこの補間画素の左右3画素分をテンプレートとして用いることから、このテンプレートの外側で最も近い位置である、補間画素の左右3画素分離れた位置に参照領域を設定するものである。最も近い位置としているのは、テンプレートにパターンが近似しているものは、テンプレートの近傍に存在していることが多いためである。なお、この距離は3画素に限られるものではなく、適切に判断することができるのであれば、いかなる距離であってもよい。
参照領域は、例えば、補間画素を含む高さ1画素の領域、すなわち画像の1ラインとすることができる。また、参照領域は、上記の判定領域と同様、補間画素を含む任意の高さを有する矩形領域とすることもできる。この領域も、予めユーザによって設定することもできるし、上記判定領域の場合と同様にして、装置が動的に決定することも可能である。この参照領域は、補間画素の左右に限られるものではなく、上下や上下左右等に設定することができ、1以上の領域を設定することができる。
分散は、以下の式4により求めることができる。式4中、xiは、参照領域内のi番目にある画素の画素値で、xmは、参照領域内にある画素の画素値の平均値であり、nは、参照領域内にある画素の画素数である。なお、この分散は、参照領域内の画素の最大輝度値と最小輝度値との差や、カラー画像の場合には最大の緑成分の値(G成分値)と最小のG成分値との差等で代替することも可能である。
制御部63は、周期性判定部60による周期性の判定に加えて、境界判定部65による判定の結果に基づき、補間方法を決定し、第一画素値生成部61と第二画素値生成部62のいずれを採用するかを決定し、決定した画素値生成部に補間画素に挿入すべき画素値を生成させるが、予め第一画素値生成部61と第二画素値生成部62の両方で補間画素の画素値を生成しておき、制御部63がいずれかを選択するという並列処理で実現することも可能である。
図14に示す画像処理装置を用いて、補間画素の画素値を補正する処理について、図15に示すフローチャートを参照して説明する。ステップ1500からこの処理を開始し、まず、ステップ1505において、画素設定部が、画素値を挿入する対象の補間画素を検出し、補間処理すべき補間画素を設定する。この検出は、上述した方法を用いて行うことができる。補間画素が複数存在する場合は、例えばその画素が配置されている座標位置に基づいて順に並べ、順に1つを選択し、その1つを設定することができる。
ステップ1510において、周期性判定部60が、補間画素を含む領域を指定し、その領域内で、画素値の変動に周期性を有するか否かを判定する。上述した領域サイズの決定方法、周期性の判定方法を用いて、領域を指定し、周期性を判定する。次にステップ1515で、補間画素が本当に周期領域と非周期領域のいずれに存在するかを判定する。
次にステップ1520で、補間画素に用いる補間方法を決定する。これは、制御部63が、ステップ1510およびステップ1515において判定された結果に基づき、第一画素値生成部61が採用する補間方法と第二画素値生成部62が採用する補間方法のいずれを用い、補間画素の画素値を生成するかを判断する。上述したように、周期性判定部60が周期性ありと判定した場合は、パターンマッチング法と決定し、周期性なしと判定した場合は、内挿法と決定する。
ステップ1525で、第一画素値生成部61が採用されるか否かが判断される。ステップ1520で決定された補間方法が、パターンマッチング法であれば、その方法を用いて補間処理を行う第一画素値生成部61が採用されると判断され、それ以外であれば、第一画素値生成部61は採用されないと判断される。
ステップ1525で第一画素値生成部61が採用されると判断された場合、ステップ1530へ進み、第一画素値生成部61が用いる補間方法、ここではパターンマッチング法により類似するパターンを探索し、その探索した類似するパターンに基づき補間画素の画素値を生成する。一方、ステップ1525で第一画素値生成部61が採用されないと判断された場合、ステップ1535へ進み、第二画素値生成部62が用いる補間方法、ここでは内挿法により補間画素の画素値を生成する。
次にステップ1540で、ステップ1530またはステップ1535で生成された補間画素の画素値を、ステップ1505において設定した補間画素へ挿入する。この補間画素は、画素値を有しないか、有するにしても不正な値であるため、この補間画素への生成した画素値を挿入することにより、補間画素に画素値を設定する。そして、ステップ1545へ進み、すべての補間画素の補間を終えたかを判断する。ステップ1505において検出した補間画素が複数存在する場合は、そのすべてに生成された画素値が挿入されたかを判定する。
ステップ1545においてすべての補間画素の補間を終えたと判断された場合はステップ1550へ進み、この処理を終了する。一方、まだ終えていないと判断された場合、ステップ1505へ戻り、次の補間画素を設定し、画素値の生成を行い、画素値を挿入する処理を行う。なお、ステップ1510および1530においては、図9、図11、図12、図13に示す処理と同様の処理を実行することができる。
図16は、画像処理装置の第3実施形態を示した機能ブロック図である。この実施形態では、図2に示す第1実施形態と同様の、周期性判定部70、第一画素値生成部71、第二画素値生成部72、制御部73、画素値挿入部74を備えるほか、さらに、第一画素値生成部71または第二画素値生成部72により生成された補間画素の画素値の妥当性を検証する妥当性検証部75を備える。このため、制御部73は、第一画素値生成部71が採用された際に生成された画素値が妥当であるか否かを妥当性検証部75によって検証し、妥当性がないと判定された場合、第二画素値生成部72により補間画素の画素値を生成する。
周期性判定部70、第一画素値生成部71、第二画素値生成部72、制御部73、画素値挿入部74が行う処理については、上述した第1実施形態と同様であるので、ここでは説明を省略し、妥当性検証部75について説明する。妥当性検証部75は、例えば、第一画素値生成部71により生成された画素値が妥当であるか否かを判定する。
妥当性の検証は、第一画素値生成部71が画素値を生成する際に得られる関連情報を用いて行うことができる。関連情報としては、第一画素値生成部71が補間方法としてパターンマッチング法を用いる場合、テンプレートと比較する対象のパターンとの相違度または類似度を挙げることができる。相違度または類似度は、上述したSAD、SSD、相関係数、共分散等を用いることができる。
妥当性検証部75は、第一画素値生成部71が第一補間方法としてパターンマッチング法を用いて画素値を生成する際に採用した画像内の所定の領域である最適なパターンと、補間画素を含む基準パターンとの相違度または類似度を求め、その相違度が閾値未満またはその類似度が閾値以上であるかを判断することにより、妥当であるかを判断することができる。相違度が閾値未満なら妥当であり、類似度が閾値以上であれば妥当である。
このため、妥当性検証部75において、相違度または類似度を閾値処理し、相違度が閾値未満または類似度が閾値以上であることを妥当と判断するための条件とすることができる。この閾値も、上述した閾値等と同様に、予めユーザによって設定することもできるし、装置が動的に決定することも可能である。
制御部73は、これに伴い、第一画素値生成部71が採用された際に生成された画素値が妥当であるか否かを妥当性検証部75によって検証し、妥当性がないと判定された場合、第二画素値生成部72により補間画素の画素値を生成するが、これに限られるものではなく、予め第一画素値生成部71と第二画素値生成部72の両方で補間画素の画素値を生成しておき、妥当性検証部75による検証結果に基づき、いずれかを選択するという並列処理で実現することも可能である。
この図16に示す画像処理装置を用いて、補間画素の画素値を補正する処理について、図17に示すフローチャートを参照して説明する。ステップ1700からこの処理を開始し、まず、ステップ1705において、図16に図示しない画素設定部が、画素値を挿入する対象である補間画素を検出し、補間画素を設定する。この検出は、上述した方法を用いて行うことができる。複数の補間画素が存在する場合は、上記と同様にして、その1つを設定する。
ステップ1710において、周期性判定部70が、補間画素を含む領域内で、画素値の変動に周期性を有するか否かを判定する。上述した領域サイズの決定方法、周期性の判定方法を用いて、周期性を判定する。続いて、ステップ1715において、補間画素に用いる補間方法を決定する。これは、制御部73が、ステップ1710において判定された結果に基づき、第一画素値生成部71が採用する補間方法と第二画素値生成部72が採用する補間方法のいずれを用いて、補間画素の画素値を生成するかを判断する。ステップ1720で、判断された補間方法に基づき、第一画素値生成部71が採用されるか否かを判定する。
ステップ1720で第一画素値生成部71が採用されると判定された場合、ステップ1725へ進み、第一画素値生成部71が用いる補間方法、ここではパターンマッチング法により補間画素の画素値を生成する。続いて、ステップ1730において、妥当性検証部75が第一画素値生成部71により生成された画素値が妥当であるか否かを検証し、ステップ1735において、その画素値が妥当かを判定する。妥当であるか否かは、画素値を生成する際に得られる関連情報、具体的には相違度または類似度を用い、その相違度が閾値未満か、または類似度が閾値以上かを判断することにより行うことができる。
ステップ1720で第一画素値生成部71が採用されないと判断された場合、ステップ1740へ進み、第二画素値生成部72が用いる補間方法、ここでは内挿法により補間画素の画素値を生成する。また、ステップ1735で妥当でないと判定された場合も、ステップ1740へ進み、第二画素値生成部72が用いる補間方法により補間画素の画素値を生成する。
ステップ1735で、画素値が妥当と判定された場合、またはステップ1740で、第二画素値生成部72により補間画素の画素値が生成された後、ステップ1745へ進み、その画素値を、ステップ1705において検出した補間画素へ挿入する。これにより、その画素値を補間画素の画素値として設定する。そして、ステップ1750へ進み、すべての補間画素の補間を終えたかを判断する。ステップ1705において設定した補間画素が複数存在する場合は、そのすべてに生成された画素値が挿入されたかを判定する。
ステップ1750においてすべての補間画素の補間を終えたと判断された場合はステップ1755へ進み、この処理を終了する。一方、まだ終えていないと判断された場合、ステップ1705へ戻り、次の補間画素を設定し、画素値の生成を行い、挿入する処理を行う。
図18は、画像処理装置の第4実施形態を示した機能ブロック図である。この実施形態では、図16に示す第3実施形態と同様の、周期性判定部80、第一画素値生成部81、第二画素値生成部82、制御部83、画素値挿入部84、妥当性検証部85を備えており、これらに加えて、第一画素値生成部81および第二画素値生成部82が採用する補間方法とは異なる手法を用いて補間画素の画素値を生成する第三画素値生成部86を備えている。このため、制御部83は、第一画素値生成部81が採用された際に生成された画素値が妥当であるか否かを妥当性検証部85によって検証し、妥当性がないと判定された場合、第三画素値生成部86により補間画素の画素値を生成し、その画素値が妥当性検証部85によって検証され、これも妥当性がないと判定された場合に、第二画素値生成部82により補間画素の画素値を生成するように構成されている。
この第4実施形態では、図16に示す第3実施形態の構成に、第三画素値生成部86のみが追加された構成とされているが、これに限られるものではなく、第四画素値生成部や第五画素値生成部等をさらに追加し、4つ以上の画素値生成部から構成することも可能である。この場合、制御部83が、各画素値生成部が生成した画素値が妥当であるかを判定し、妥当でないと判定された場合に別の画素値生成部により画素値を生成することができる。
この第4実施形態における周期性判定部80、第一画素値生成部81、第二画素値生成部82、制御部83、画素値挿入部84、妥当性検証部85が行う処理については、上述した第3実施形態と同様であり、第三画素値生成部86も、補間方法が異なるのみで、第一画素値生成部81や第二画素値生成部82と同様、補間画素の画素値を生成するものであるので、これらについての説明は省略する。
なお、制御部83は、第一画素値生成部81が採用された際に生成された画素値が妥当であるか否かを妥当性検証部85によって検証し、妥当性がないと判定された場合、第三画素値生成部86により補間画素の画素値を生成し、生成された画素値が妥当であるか否かを妥当性検証部85によって検証し、妥当性がないと判定された場合、第二画素値生成部82により補間画素の画素値を生成するが、これに限られるものではなく、予め第一画素値生成部81と第二画素値生成部82と第三画素値生成部86のすべてにおいて補間画素の画素値を生成しておき、妥当性検証部85による検証結果に基づき、いずれかを選択するという並列処理で実現することも可能である。
第三画素値生成部86は、第一画素値生成部81および第二画素値生成部82とは異なる補間方法を用いるが、例えば、第一画素値生成部81が二次元のテンプレートマッチングを用い、第二画素値生成部82が線形補間を採用するとき、第三画素値生成部86は、それら以外の一次元のテンプレートマッチング、放物線補間、キュービック補間、多項式補間、スプライン補間等を採用することができる。
この図18に示す画像処理装置を用いて、補間画素の画素値を補正する処理について、図19に示すフローチャートを参照して説明する。ステップ1900からこの処理を開始し、まず、ステップ1905において、図18に図示しない画素設定部が、画素値を挿入する対象である補間画素を検出し、補間画素を設定する。この検出は、上述した方法を用いて行うことができる。この場合も同様にして、補間画素が複数存在するときはその1つを設定する。
ステップ1910において、補間画素を含む領域内で、画素値の変動に周期性を有するか否かを判定する。上述した領域サイズの決定方法、周期性の判定方法を用いて、周期性を判定する。続いて、ステップ1915において、補間画素に用いる補間方法を決定する。これは、制御部83が、ステップ1910において判定された結果に基づき、第一画素値生成部81が採用する補間方法、第二画素値生成部82が採用する補間方法、第三画素値生成部86が採用する補間方法のいずれを用い、補間画素の画素値を生成するかを判断する。次にステップ1920で、決定された補間方法に基づき、第一画素値生成部81が採用されるかを判定する。
ステップ1920で第一画素値生成部81が採用されると判定された場合、ステップ1925へ進み、第一画素値生成部81が用いる補間方法により補間画素の画素値を生成する。続いて、ステップ1930において、妥当性検証部85が第一画素値生成部81により生成された画素値が妥当であるか否かを検証し、ステップ1935において、その画素値が妥当かを判定する。
妥当性の判断は、第一画素値生成部81が画素値を生成する際に得られる関連情報を用いて行われる。第一画素値生成部81において採用される補間方法が、パターンマッチング法である場合、テンプレートと、画素値生成に使用した最適なパターンとの相違度または類似度を関連情報として用い、相違度が閾値未満または類似度が閾値以上であれば妥当と判断することができる。このとき、テンプレートとしては、補間画素を除いたものを用いることもできるし、生成した画素値を挿入した後のものを用いることも可能である。
ステップ1935で、妥当でないと判定された場合、ステップ1940へ進み、第三画素値生成部86が用いる補間方法により補間画素の画素値を生成する。続いて、ステップ1945において、妥当性検証部85が第三画素値生成部86により生成された画素値が妥当であるか否かを検証し、ステップ1950において、その画素値が妥当かを判定する。
ステップ1920で第一画素値生成部81が採用されないと判断された場合、またはステップ1950で妥当でないと判定された場合、ステップ1955へ進み、第二画素値生成部82が用いる補間方法により補間画素の画素値を生成する。
ステップ1935で、画素値が妥当と判定された場合、もしくはステップ1950で、画素値が妥当と判定された場合、またはステップ1955で画素値が生成された後、ステップ1960へ進み、その画素値を、ステップ1905において検出した補間画素へ挿入する。そして、ステップ1965へ進み、すべての補間画素の補間を終えたかを判断する。ステップ1905において検出した補間画素が複数存在する場合は、そのすべてに生成された画素値が挿入されたかを判定する。
ステップ1965においてすべての補間画素の補間を終えたと判断された場合はステップ1970へ進み、この処理を終了する。一方、まだ終えていないと判断された場合、ステップ1905へ戻り、次の補間画素を設定し、画素値の生成を行い、挿入する処理を行う。
図20は、画像処理装置の第5実施形態を示した機能ブロック図である。この第5実施形態では、図18に示す第4実施形態と同様の、周期性判定部90、第一画素値生成部91、第二画素値生成部92、制御部93、画素値挿入部94、妥当性検証部95、第三画素値生成部96を備え、上記第2実施形態において採用した境界判定部97を備える構成とされている。このため、制御部93は、周期性判定部90の判定結果に加えて、境界判定部97の判定結果に基づき、第一画素値生成部91、第二画素値生成部92、第三画素値生成部96を切り替えるように構成されている。
補間方法の決定方法の一例として、補間画素を含む領域に周期性があり、補間画素が周期領域内であれば、第一画素値生成部91を採用し、補間画素を含む領域に周期性があり、補間画素が非周期領域内であれば第二画素値生成部92を採用し、補間画素を含む領域に周期性がない場合、第三画素値生成部96を採用することができる。
その他の例としては、補間画素を含む領域の周期が短く、補間画素が周期領域内であれば、第一画素値生成部91を採用し、補間画素を含む領域の周期が短く、補間画素が非周期領域内であれば、第二画素値生成部92を採用し、それ以外であれば、第三画素値生成部96を採用することができる。
この実施形態では、第一画素値生成部91が採用された場合、その際に生成された画素値が妥当であるか否かを妥当性検証部95によって検証し、第一画素値生成部91が採用されない場合、第三画素値生成部96が採用されたかを判定し、採用された場合は、第三画素値生成部96により補間画素の画素値を生成し、生成された画素値が妥当であるか否かを妥当性検証部95によって検証し、第三画素値生成部96が採用されない場合、第二画素値生成部92により補間画素の画素値を生成するが、これに限られるものではなく、予め第一画素値生成部91と第二画素値生成部92と第三画素値生成部96のすべてにおいて補間画素の画素値を生成しておき、妥当性検証部95による検証結果に基づき、いずれかを選択するという並列処理で実現することも可能である。
この図20に示す画像処理装置を用いて、補間画素の画素値を補正する処理について、図21に示すフローチャートを参照して説明する。ステップ2100からこの処理を開始し、まず、ステップ2105において、画素値を挿入する対象である補間画素を検出し、その補間画素を設定する。この検出は、上述した方法を用いて行うことができる。この場合も同様にして、補間画素が複数存在するときはその1つを設定する。
ステップ2110において、周期性判定部90が、補間画素を含む領域内で、画素値の変動に周期性を有するか否かを判定する。上述した領域サイズの決定方法、周期性の判定方法を用いて、周期性を判定する。続いて、ステップ2115において、境界判定部97が、補間画素が本当にどちらの領域に存在するかを判定する。この判定には、上記の境界の判定方法、参照領域のサイズ決定方法を採用し、左右の参照領域で個別に画素値の分散を求め、求めた分散が左右の参照領域でいずれも閾値以上であるかを判断することにより行う。閾値以上であれば、補間画素は周期領域に存在すると判定される。
そして、ステップ2120で、補間画素に用いる補間方法を決定する。これは、制御部93が、ステップ2110およびステップ2115において判定された結果に基づき、第一画素値生成部91が採用する補間方法、第二画素値生成部92が採用する補間方法、第三画素値生成部96が採用する補間方法のいずれを用い、補間画素の画素値を生成するかを判断する。次のステップ2125では、決定された補間方法に基づき、第一画素値生成部91が採用されるかを判定する。
ステップ2125で第一画素値生成部91が採用されると判定された場合、ステップ2130へ進み、第一画素値生成部91が用いる補間方法により補間画素の画素値を生成する。続いて、ステップ2135において、妥当性検証部95が第一画素値生成部91により生成された画素値が妥当であるか否かを検証し、ステップ2140において、その画素値が妥当かを判定する。
ステップ2125で第一画素値生成部91が採用されないと判定された場合、ステップ2145へ進み、第三画素値生成部96が採用されるかを判定する。第三画素値生成部96が採用されると判定された場合、また、ステップ2140で妥当でないと判定された場合は、ステップ2150へ進み、第三画素値生成部96が用いる補間方法により補間画素の画素値を生成する。続いて、ステップ2155において、妥当性検証部95が第三画素値生成部96により生成された画素値が妥当であるか否かを検証し、ステップ2160において、その画素値が妥当かを判定する。
ステップ2145で第三画素値生成部96が採用されないと判定された場合、ステップ2165へ進み、第二画素値生成部92が用いる補間方法により補間画素の画素値を生成する。また、ステップ2160で妥当でないと判定された場合、ステップ2165へ進み、第二画素値生成部92が用いる補間方法により補間画素の画素値を生成する。
ステップ2140で妥当と判定された場合、ステップ2160で妥当と判定された場合、ステップ2165で画素値が生成された後、ステップ2170へ進み、その画素値を、ステップ2105において設定した補間画素へ挿入する。そして、ステップ2175へ進み、すべての補間画素の補間を終えたかを判断する。ステップ2105において設定した補間画素が複数存在する場合は、そのすべてに生成された画素値が挿入されたかを判定する。
ステップ2175においてすべての補間画素の補間を終えたと判断された場合はステップ2180へ進み、この処理を終了する。一方、まだ終えていないと判断された場合、ステップ2105へ戻り、再び補間画素を設定し、画素値の生成を行い、挿入する処理を行う。
本発明では、上述した画像処理装置や、その画像処理装置により実行される画像検査方法のほか、その方法を実現するためのコンピュータ可読なプログラムも提供することが可能である。なお、このプログラムは、FD、CD、DVD、SDカード、USBメモリ等の記録媒体に格納し、そのプログラムが記録された記録媒体として提供することも可能である。
これまで本発明を、画像処理装置および画像検査方法として上述した実施の形態をもって説明してきたが、本発明は上述した実施の形態に限定されるものではなく、他の実施の形態、追加、変更、削除など、当業者が想到することができる範囲内で変更することができ、いずれの態様においても本発明の作用・効果を奏する限り、本発明の範囲に含まれるものである。
したがって、上記第2実施形態の構成に妥当性検証部を備えるか、または第3実施形態の構成に境界判定部を備える構成、すなわち周期性判定部、境界判定部、第一画素値生成部、第二画素値生成部、制御部、画素値挿入部、妥当性検証部から構成される装置とすることも可能である。また、第4実施形態の構成の妥当性検証部に代えて境界判定部を備える構成、すなわち、周期性判定部、境界判定部、第一画素値生成部、第二画素値生成部、第三画素値生成部、制御部、画素値挿入部から構成される装置とすることも可能である。