【実施例1】
【0013】
実施例1は、二つの画素値生成部を用いて補間画素の候補画素値を生成し、補間画素に画素値を挿入すると共に、補間画素の画素値と補間画素の周辺に存在する画素の画素値を所定の基準に基づいて変更する実施例である。
【0014】
図1は、本発明の実施例1の画像処理装置の構成を示す。
図1において、101は補間画素を含む所定の大きさの画像領域において、画素値の変動に周期性があるか否かを判定する周期性判定部、102は補間画素が周期領域と非周期領域との境界近傍に存在するか判断し、境界近傍に存在する際にそのどちらの領域に属しているかを判別する境界判定部、103は周期性判定部101と境界判定部102の判定結果に基づいて第一画素値生成部106と第二画素値生成部107のいずれを用いて候補画素値を生成するかを判断する制御部、104は第一画素値生成部106と第二画素値生成部107のいずれかで生成された補間画素の候補画素値を補間画素の位置に挿入する補間画素値挿入部、105は補間画素と近傍画素とを含む局所領域の画素値を所定の基準に基づいて更新する局所画素値更新部、106は第1の補間方法を用いて補間画素の候補画素値を生成する第一画素値生成部、107は第2の補間方法を用いて補間画素の候補画素値を生成する第二画素値生成部である。
【0015】
図2は、本発明の実施例1の処理フローチャートを示す。
【0016】
(1)補間画素を設定する(S201)。
制御部103は、処理対象画像から画素値を挿入する対象である補間画素を設定する。補間画素は孤立した点、または点が連続する線として与える。補間画素の位置を決定する方法の例としては、事前にユーザーによって指定させる、本装置によって事前に検出しておく、補間画素を設定する際に逐次検出するなどがある。また、補間画素を検出する方法の例としては、予め指定された明るさや色の画素を見つけ出す方法、既知の画像を読み取った際の正解値からのズレ量の大きさを評価する方法、水平または鉛直方向の周期性が不連続となる位置を検出する方法などがある。
【0017】
(2)補間画素を含む領域の周期性を判定する(S202)。
周期性判定部101は、処理対象画像の補間画素を含む所定のサイズの領域(判定領域)内で、画素値の変動に周期性があるか否かを判定する。
図3(a)は、ステップ202の詳細なフローチャートを示す。まず、代表周期の推定を行い(S301)、続いて領域全体の周期性の判定を行う(S302)。その後、領域を補間画素の左側と右側に分割し、左側の部分領域で周期性の判定を行った後(S303)、右側の部分領域で周期性の判定を行う(S304)。尚、左右の部分領域は必ずしも判定領域を分割したものでなくてもよい。
【0018】
1)領域サイズの決定方法
判定領域は、補間画素を含む高さ1画素の領域(画像の1ライン)であってもよいし、補間画素を含む、ある高さを持った矩形領域であっても良い。領域のサイズは事前にユーザーによって与えられてもよいし、本装置によって動的に決定しても良い。尚、判定領域は補間画素を中心として上下および左右称な形状で与えられることが望ましい。
【0019】
2)周期性の判定方法
図3(b)は、ステップ302〜304の詳細なフローチャートを示す。画素値の変動に周期性があるか否かを判定する方法の例としては、判定領域内における画素値の変動周期を求め(S401)、その周期の信頼度を算出し(S402)、得られた信頼度を閾値処理して判断する(S403)方法がある。
【0020】
尚、代表周期を推定するステップ(S301)と全体の周期性を判定するステップ(S302)において、画素値の周期を推定するステップ(S401)とを共用させてもよい。また、周期性を判定するステップ(S302からS304)の順序は問わないし、共通化できるステップがあれば適宜まとめてもよい。例えば、まず左右の周期性を判定し、その結果を用いて全体の周期性を判定する流れも考えられる。
【0021】
a)代表周期を求める方法
一例としては、判定領域内において画素値が極大となる位置(ピーク位置)を記録し、あるピーク位置から次のピーク位置までの距離のヒストグラムを判定領域全体に渡って作成した上で、最頻値となる距離を代表周期として採用する方法が挙げられる。尚、極大となる位置ではなく、極小となる位置を用いても良い。但し、画素値を直接用いるこれらの方法はノイズ耐性が低いため、自己相関を用いる方法が推奨される。
【0022】
自己相関とは、ある信号とその信号に所定の位相ズレを与えた信号との相関のことである。判定領域内において自己相関を求めていき、画素値の代わりに自己相関の値を用いて先述のヒストグラムを作成し、最頻値を代表周期として採用する。自己相関の値としては、相関係数を用いても良いし、より計算を簡便にするために共分散の値で代替しても良い。
【0023】
b)信頼度を求める方法
一例としては、代表周期にその距離のヒストグラムの度数を乗算し、判定領域の画素数で割る方法がある。換言すれば、代表周期と同じピーク位置間の距離が判定領域全体のどの程度の割合を占めているかを信頼度として定義する。尚、代表周期にある程度の誤差を許容する観点から、代表周期±1の距離の度数を合計して利用しても良い。
【0024】
c)信頼度の閾値処理
信頼度が閾値よりも高ければ周期性があると判断し、そうでなければ周期性がないと判断する。信頼度の閾値は、予めユーザーによって与えられても良いし、本装置で動的に決定しても良い。
【0025】
(3)補間画素を含む領域の境界性を判定する(S203)
境界判定部102は、補間画素が周期領域と非周期領域との境界近傍に存在するか判断し、境界近傍に存在する際にそのどちらに属しているかを判別する。
【0026】
1)境界の判定方法
境界近傍に存在するか否かを判断する方法の例としては、補間画素から所定の距離だけ左右に離れた位置に所定の大きさの参照領域を設定し、左右の参照領域で個別に画素値の分散を求め、左右の分散で一方だけが閾値以上であれば、補間画素が境界近傍に存在すると判断する方法がある。
【0027】
また、補間画素が周期領域と非周期領域のどちらに属しているかを判別する方法の例としては、補間画素の左右に参照領域を設定し、左右の参照領域で個別に画素値の分散を求め、左右両方とも分散が閾値以上であれば周期性のある領域側に、そうでなければ周期性のない領域側に存在すると判定する方法がある。
【0028】
2)参照領域サイズの決定方法
参照領域は、補間画素を含む高さ1画素の領域(画像の1ライン)であってもよいし、補間画素を含む、ある高さを持った矩形領域であっても良い。領域のサイズは事前にユーザーによって与えられてもよいし、本装置によって動的に決定しても良い。また、分散は参照領域に属する画素の最大輝度値と最小輝度値との差で代替しても良い。
【0029】
(4)画素補間に用いる補間手法を決定する(S204)
制御部103は、周期性判定部101と境界判定部102の結果に基づいて、第一画素値生成部106と第二画素値生成部107のいずれを用いて補間画素の候補画素値を生成するかを判断する。補間手法の決定方法の一例としては、周期性判定部101において周期性があると判断された場合に第一画素値生成部106を選択し、そうでない場合に第二画素値生成部107を選択する、という方法が挙げられる。
【0030】
仮に周期性判定部101において補間画素を含む領域に周期性があると判断された場合であっても、境界判定部102において補間画素が非周期領域に存在すると判断された際には第二画素値生成部107を選択する方法もある。ここで、第一画素値生成部106が選択された場合にはS205に進み、第二画素値生成部107が選択された場合にはS206に進む。
【0031】
(5)第一画素値生成部106を用いて候補画素値を生成する(S205)
第一画素値生成部106は、補間画素の候補画素値を生成する。ここで用いる補間手法の一例として、パターンマッチング法が挙げられる。パターンマッチング法の具体例としては、テンプレートマッチングが挙げられる。テンプレートマッチングで用いるパターン間の一致度を測る尺度としては、SADやSSDなどの相違度、相関係数や共分散などの類似度が考えられる。テンプレートマッチングを用いて画素値を生成する手順の一例は以下の通りである。
図3(c)は、ステップ205の詳細な処理フローチャートを示す。
【0032】
1)テンプレートのサイズを決定する(S501)
テンプレートの幅は代表周期を基準として設定する。テンプレートの幅を代表周期と一致させても良いし、代表周期よりもやや大きめ又は小さめに設定しても良い。テンプレートの高さも代表周期と一致させても良いし、別の値であっても良い。
【0033】
補間画素が網点領域に属する場合には、一辺が概ね代表周期である正方形の領域として設定することが望ましい。これにより、類似パターンを探索する際に網点一つ分の情報のみを用いることができ、補間画素を含む網点に最適な類似パターンを取得することができる。また、代表周期が非常に小さい場合(3画素など)には、テンプレートのサイズを少し大きめ(5画素など)にしても良い。これは代表周期が非常に小さいと一致度の評価に用いる画素数が少なくなってしまい、類似パターン検出の安定性が低下してしまうためである。
【0034】
2)テンプレート(基準パターン)を作成する(S502)
補間画素を含む1)で決定されたテンプレートのサイズの領域を処理対象画像から切り出し、テンプレートに設定する。尚、テンプレートは補間画素を中心とする左右および上下対称となる形状で設定されることが望ましい。これにより、補間画素を含むパターンの方向性に依存せずに探索を行うことが可能となる。
【0035】
3)探索範囲を決定する(S503)
処理対象画像において、類似パターンを探索する範囲である探索範囲を設定する。探索範囲の幅や高さはS203において推定された代表周期に基づいて設定しても良いし、別の値であっても良い。探索範囲の幅と高さは同じ値であることが望ましい。これにより、探索範囲のパターンの方向性に依存せずに探索を行うことが可能となる。ただし、画像をバッファするメモリの制約などから高さを低く抑える場合には、その分幅を広く取ることが望ましい。
【0036】
尚、周期性判定部101によって左側に周期性がないと判断された場合には、補間画素よりも左側を探索範囲から除くことが望ましい。同様に、右側に周期性がないと判断された場合には、補間画素よりも右側を探索範囲から除くことが望ましい。このように探索範囲を狭めることによって、類似パターンが検出されるべきでない領域からの誤検出を防ぐことができる。
【0037】
4)類似パターンを探索する(S504)
3)で決定された探索範囲内の各位置において2)で作成したテンプレートとの一致度を求め、最も一致度の高い(相違度が低い、又は類似度が高い)位置を類似パターンとして選択する。一致度の評価に際しては、補間画素の画素値が一致度に影響を与えないように補間画素を一致度の計算から除外するか、比較対象のパターンにおいて同じ位置にある画素値を用いて仮の画素値を設定しておくことが望ましい。尚、類似パターンは一致度の高い順に複数選択しても良い。
【0038】
5)候補画素値を取得する(S505)
類似パターンにおいて、テンプレートにおける補間画素の位置に対応する位置の画素(対応画素)の画素値を処理対象画像から取得し、補間画素の候補画素値とする。類似パターンが複数ある場合には、前記基準によって複数の候補画素値を得て、その画素値を合成する。合成方法としては、一様な重みにより平均する方法や、類似パターンの一致度が高いほど大きな重みとなるように制御した上で加重平均しても良い。
【0039】
(6)第二画素値生成部を用いて候補画素値を生成する(S206)
第二画素値生成部107は補間画素の候補画素値を生成する。ここで用いる補間手法の一例として、内挿法が挙げられる。内挿法とは、ある画素の画素値を導出する際に周辺の画素値を用いる手法である。内挿法の例としては、最近傍補間(0次補間)、線形補間(1次補間)、放物線補間(2次補間)、キュービック補間(3次補間)、多項式補間、スプライン補間、ラグランジュ補間、などが挙げられる。また、前述の線形補間やキュービック補間を二次元に拡張したバイリニア補間やバイキュービック補間などを用いても良い。
【0040】
(7)補間画素に候補画素値を挿入する(S207)
補間画素値挿入部104は、前ステップにおいて生成された補間画素の候補画素値を補間画素の位置に挿入する。これにより補間画素一つ分の補間処理が完了する。
【0041】
(8)補間画素と近傍画素の画素値を更新する(S208)
局所画素値更新部105は、前記補間画素とその近傍に位置する近傍画素とを含む局所領域の画素値を所定の基準に基づいて更新する。画素値を更新する方法の例としては、次のようなものが挙げられる。
【0042】
a)近傍画素の画素値を更新する(補間画素値は不変)
局所領域の平均画素値が、局所領域の周辺に存在する同じ大きさの領域(周辺領域)の平均画素値に近づくように、近傍画素の画素値にオフセットを与える方法である。
【0043】
周辺領域の選択方法は、
・局所領域から上下ないし左右に代表周期の整数倍だけ離れた位置を採用する方法
・局所領域をテンプレートに設定し、テンプレートマッチングにより所定の範囲内から局所領域に類似するパターンを検出して採用する方法
などが挙げられる。尚、周辺領域は複数選択しても良く、また局所領域から見て左右ないし上下で1つずつ選択しても良い。
【0044】
また、オフセット量の設定方法は、
・近傍画素全てに対して等しく設定する方法
・補間画素から離れるほど小さくなるよう設定する方法
・補間画素の隣接画素は相対的に小さく、その後は相対的に大きく、ある程度離れると再度小さくなるように制御する方法
などが挙げられる。尚、オフセットは局所領域の平均画素値が周辺領域の平均画素値に近づくように設定するため、これらは必ずしも一致する必要はない。オフセット量を決定する際には、前者を後者にどの程度近づけるかは予め与えられた重み量を用いればよい。更に、画素値を更新する範囲は予め与えられた範囲を用いればよい。
【0045】
b)補間画素と近傍画素の画素値を更新する(補間画素値も変化)
局所領域の平均画素値が、局所領域の周辺に存在する同じ大きさの領域(周辺領域)の平均画素値に近づくように、補間画素と近傍画素の両方の画素値にオフセットを与える方法である。周辺領域の選択方法やオフセット量の設定方法は、前述の(a)に記載の方法を用いればよい。
【0046】
オフセット量の設定方法に関して、前述の(a)と異なる方法の例としては次のようなものが挙げられる。まず、周辺領域において局所領域の補間画素の位置に対応する画素(対応画素)の画素値と補間画素値との差を取る。補間画素値にはこの差をオフセット量として与え、対応画素の画素値と一致させる。次に前述の差の符号を逆転した値を求め、これを近傍画素に分配することにより近傍画素のオフセット量を求める。分配の方法は前述の(a)のオフセット量の設定方法と同様の方法を用いればよく、全近傍画素のオフセット量の総和が、前述の差の符号を逆転した値と等しくなる。
【0047】
c)補間画素と近傍画素の画素値に移動平均をかけて更新する
局所領域に存在する画素の画素値に対して移動平均をかけることにより、画素値の変動を滑らかにする方法である。局所領域の平均画素値は変化しないが勾配が緩やかになる。
【0048】
d)補間画素と近傍画素の画素値を周辺領域の画素値と合成して更新する
局所領域の画素値と周辺領域の画素値との加重平均を求め、この値で局所領域の画素値を更新する方法である。周辺領域の選択方法は前述の(a)に記載の方法を用いればよい。また、局所領域の画素値と周辺領域の画素値との加重平均に用いる重みは、前述の(a)のオフセット量の設定方法を参考に近傍画素ごとに変化させればよい。
【0049】
センサチップの組み付け誤差に伴い、センサチップ間のギャップの幅は増減する。ギャップ幅の設計値が1画素±0.5画素であったとすれば、ギャップ幅は最小で0.5画素、最大で1.5画素となる。ギャップ幅を予め計測しておき、それに応じて左右のセンサチップで読み取られた画像領域の位置合わせをしたうえで、これらの画像領域を並べることにより画像を作成することが望ましい。しかし、ギャップ幅を計測する工程が必要となるうえ、画像領域を位置合わせする処理の手間がかかるだけでなく、位置合わせ方法によっては画像の高周波成分が鈍ってしまう恐れもある。このような事情から前述の位置合わせを行わず、誤差を無視して画像領域を並べることが一般的である。しかし、この対応に伴って問題も生じうる。
【0050】
図4を用いて概念的に説明する。
図4では、実線の曲線で表した信号を、直線で表した位置でサンプリングしている。ここで、実線の直線で表した直線が理想的なサンプリング位置であり、中央をギャップとすればギャップ幅が1画素であるケースである。尚、ギャップに相当する中央のサンプリング位置では信号を検出できないが、ここでは説明を簡単にするため信号が検出されたか、適切に補間されたものとする。また同様に説明を簡単にするために、組み付け誤差はギャップ位置を中心として左右対称に配分されるものとする。
【0051】
ギャップ幅が1画素より広い場合、
図4(a)に一点鎖線で示すようにサンプリング位置は理想的な位置よりもギャップ位置を中心に離れることになる。このようにして観測された信号を、ギャップ幅が1画素であると仮定して再現すると
図4(b)に一点鎖線で示すように、実際の信号と比較して再現された信号は幅が狭まる。逆にギャップ幅が1画素より狭い場合、
図4(a)に点線で示すようにサンプリング位置は理想的な位置よりもギャップ位置を中心に近づくことになる。
【0052】
このようにして観測された信号を、ギャップ幅が1画素であると仮定して再現すると
図4(b)に点線で示すように、実際の信号と比較して再現された信号は幅が広がる。ギャップ位置の信号の値が真の値を取ったと仮定すると、信号の幅が狭まれば局所的な平均値は減少し、逆に信号の幅が広がれば局所的な平均値は増加する。一方、ギャップ位置の信号の値が真の値からずれることにより局所的な平均値が周辺と一致した場合であっても、信号の幅の変動は局所的な周波数の変動として知覚されやすい。
【0053】
このような背景から、「a)近傍画素の画素値を更新する」は、補間画素の画素値は真の値であるという仮定のもとで変えずに近傍画素の画素値を更新することによって再現される信号を実際の信号に近づけようというものである。また、「b)補間画素と近傍画素の画素値を更新する」は、補間画素の画素値は真の値から外れているという仮定のもとで、補間画素の画素値から近傍画素へ画素値を分散させようというものである。「c)補間画素と近傍画素の画素値に移動平均をかけて更新する」は後者に近い方法であり、特定の画素の画素値が大きくなりすぎているか逆に小さくなりすぎているケースに適し、この誤差を周囲に伝搬することにより抑えるものである。「d)補間画素と近傍画素の画素値を周辺領域の画素値と合成して更新する」は前者と後者の中間的な方法である。
【0054】
図5を用いて「b)補間画素と近傍画素の画素値を更新する」のケースについて更に説明する。
図5(a)は信号の幅が狭まってしまっているものの平均値を維持しながら広げるケースであり、補間画素の画素値を減少させつつ、減少分に相当する量を近傍画素に配分して画素値を増加させることによって信号の形状を実際のものに近づけることができる。
図5(b)は信号の幅が広がってしまっているものの平均値を維持しながら狭めるケースであり、補間画素の画素値を増加させつつ、増加分に相当する量を近傍画素の画素値に配分して画素値を減少させることによって信号の形状を実際のものに近づけることができる。尚、「a)近傍画素の画素値を更新する」では補間画素の画素値を変更せずに、近傍画素に同様の処理を施すものと考えることもできる。
【0055】
(9)S202からS208までを全ての補間画素に対して実行する(S209)。補間画素が複数ある場合には、S202からS208までの処理を補間画素数だけ繰り返す。
【実施例2】
【0056】
実施例2は、実施例1のオフセット量(補正量)をテンプレートと類似パターンに基づいて算出する実施例である。実施例2の構成、処理フローチャートは実施例1と同様である。実施例1と相違する点は、ステップ205の処理である。
図6は、実施例2のステップ205の詳細な処理フローチャートである。
(1)補間画素を設定する(S201)
(2)補間画素を含む領域の周期性を判定する(S202)
(3)補間画素を含む領域の境界性を判定する(S203)
(4)画素補間に用いる補間手法を決定する(S204)
(5)第一画素値生成部を用いて候補画素値を生成する(S205)
第一画素値生成部106は補間画素の候補画素値を生成する。ここで用いる補間手法の一例として、パターンマッチング法が挙げられる。パターンマッチング法の具体例としては、テンプレートマッチングが挙げられる。テンプレートマッチングで用いるパターン間の一致度を測る尺度としては、SADやSSDなどの相違度、相関係数や共分散などの類似度が考えられる。テンプレートマッチングを用いて画素値を生成する手順の一例は以下の通りである。
【0057】
1)テンプレートのサイズを決定する(S601)
テンプレートの幅は代表周期を基準として設定する。テンプレートの幅を代表周期と一致させても良いし、代表周期よりもやや大きめ又は小さめに設定しても良い。テンプレートの高さも代表周期と一致させても良いし、別の値であっても良い。
【0058】
補間画素が網点領域に属する場合には、一辺が概ね代表周期である正方形の領域として設定することが望ましい。これにより、類似パターンを探索する際に網点一つ分の情報のみを用いることができ、補間画素を含む網点に最適な類似パターンを取得することができる。また、代表周期が非常に小さい場合(3画素など)には、テンプレートのサイズを少し大きめ(5画素など)にしても良い。これは代表周期が非常に小さいと一致度の評価に用いる画素数が少なくなってしまい、類似パターン検出の安定性が低下してしまうためである。
【0059】
2)テンプレート(基準パターン)を作成する(S602)
補間画素を含む1)で決定されたテンプレートのサイズの領域を処理対象画像から切り出し、テンプレートに設定する。尚、テンプレートは補間画素を中心とする左右および上下対称となる形状で設定されることが望ましい。これにより、補間画素を含むパターンの方向性に依存せずに探索を行うことが可能となる。
【0060】
3)探索範囲を決定する(S603)
処理対象画像において、類似パターンを探索する範囲である探索範囲を設定する。探索範囲の幅や高さはS203において推定された代表周期に基づいて設定しても良いし、別の値であっても良い。探索範囲の幅と高さは同じ値であることが望ましい。これにより、探索範囲のパターンの方向性に依存せずに探索を行うことが可能となる。ただし、画像をバッファするメモリの制約などから高さを低く抑える場合には、その分幅を広く取ることが望ましい。
【0061】
尚、周期性判定部101によって左側に周期性がないと判断された場合には、補間画素よりも左側を探索範囲から除くことが望ましい。同様に、右側に周期性がないと判断された場合には、補間画素よりも右側を探索範囲から除くことが望ましい。このように探索範囲を狭めることによって、類似パターンが検出されるべきでない領域からの誤検出を防ぐことができる。
【0062】
4)類似パターンを探索する(S604)
3)で決定された探索範囲内の各位置において2)で作成したテンプレートとの一致度を求め、最も一致度の高い(相違度が低い、又は類似度が高い)位置を類似パターンとして選択する。一致度の評価に際しては、補間画素の画素値が一致度に影響を与えないように補間画素を一致度の計算から除外するか、比較対象のパターンにおいて同じ位置にある画素値を用いて仮の画素値を設定しておくことが望ましい。尚、類似パターンは一致度の高い順に複数選択しても良い。
【0063】
5)候補画素値を取得する(S605)
類似パターンにおいて、テンプレートにおける補間画素の位置に対応する位置の画素(対応画素)の画素値を処理対象画像から取得し補間画素の候補画素値とする。類似パターンが複数ある場合には、前記基準によって複数の候補画素値を得て、その画素値を合成する。合成方法としては、一様な重みにより平均する方法や、類似パターンの一致度が高いほど大きな重みとなるように制御した上で加重平均しても良い。
【0064】
6)候補画素値の補正量を算出する(S606)
テンプレートと類似パターンとを用いて、候補画素値に与える補正量を計算する。補正量の例としては次のようなものが挙げられる。
【0065】
a)テンプレートの平均画素値と類似パターンの平均画素値との差を用いる
b)テンプレートの最大画素値と最小画素値の平均値と、類似パターンの最大画素値と最小画素値の平均値との差を用いる
c)補間画素の左右の画素の画素値の平均値と、対応画素の左右の画素の画素値の平均値との差を用いる
類似パターンが複数ある場合には、それぞれの類似パターンから得られた補正量を合成すればよい。合成方法は複数の候補画素値を合成する際に用いたものと同様である。
【0066】
(6)第二画素値生成部を用いて候補画素値を生成する(S206)
(7)補間画素に候補画素値を挿入する(S207)
(8)補間画素と近傍画素の画素値を更新する(S208)
局所画素値更新部105は、前記補間画素とその近傍に位置する近傍画素とを含む局所領域の画素値を、補正量を用いて所定の基準に基づいて更新する。画素値を更新する方法の例としては、次のようなものが挙げられる。
【0067】
a)補間画素の画素値に補正量を与える
補間画素の画素値が真の値から外れているという仮定の元で、補正量によりこれを改善する方法である。
【0068】
b)補間画素と近傍画素の画素値に補正量を与える
a)の方式では補間画素の画素値と近傍画素の画素値とが不連続となる可能性があるため、補正量を局所領域に分散して与える方法である。補正量を分散して与える際の重みの設定方法は、実施例1に記載したものを用いればよい。
【0069】
補正量を与える理由は、テンプレートと完全に一致する類似パターンが見つからないケースが存在するためである。例えば、白い壁にかかった白いパネルの影のように局所的に暗い領域があり周辺は相対的に明るい領域であるような画像で、補間画素が影領域に存在している場合が想定される。仮にパターンマッチングにより相対的に明るい領域から類似パターンが見つかったとして、補間画素の候補画素値をそのまま補間画素に挿入すると近傍画素の画素値と不連続になる恐れがある。このため挿入後の補間画素の画素値を補正することにより、近傍画素の画素値との連続性を確保する必要がある。また、補間画素の画素値だけ補正すると、近傍画素の画素値との連続性が十分に確保できないケースも想定されるため、近傍画素の画素値を併せて補正することが望ましい。
【0070】
(9)S202からS208までを全ての補間画素に対して実行する(S209)。
【0071】
以上説明したように、本発明では、補間画素から所定の範囲内に存在する画素(近傍画素)の画素値を、その更に外側の画素(周辺画素)から補間画素までの画素値が連続的に変化するように変更するため(短い距離で変動が生じると変化が知覚されやすいが、ある程度長い距離に渡って徐々に変動していくと変化が知覚されにくくなるため、不連続さを広い範囲に分散させる)、補間画素と周辺画素との画素値の不連続さが緩和され、補間画素が目立たなくなる。
【0072】
本発明は、前述した実施例の機能を実現するソフトウエアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(CPUやMPU)が記憶媒体に格納されたプログラムコードを読出し実行することによっても達成される。この場合、記憶媒体から読出されたプログラムコード自体が前述した実施例の機能を実現することになる。プログラムコードを供給するための記憶媒体としては、例えば、ハードディスク、光ディスク、光磁気ディスク、不揮発性のメモリカード、ROMなどを用いることができる。また、コンピュータが読出したプログラムコードを実行することにより、前述した実施例の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)などが実際の処理の一部または全部を行い、その処理によって前述した実施例の機能が実現される場合も含まれる。さらに、記憶媒体から読出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施例の機能が実現される場合も含まれる。また、本発明の実施例の機能等を実現するためのプログラムは、ネットワークを介した通信によってサーバから提供されるものでも良い。