(57)【要約】【課題】拡大画像に高い周波数の信号を付加することによって、エッジ部分のように特徴が明確ではない領域に対しても、より自然な拡大画像を生成することができる画像処理システムを提供する。【解決手段】画像処理システムの画素対応手段は、対象画素の周囲に位置する周囲画素の画素値を該対象画素を分割した部分画素に対応付け、画素値設定手段は、前記画素対応手段によって対応付けられた部分画素の画素値及び拡大処理の倍率に応じて、拡大処理後である対象画素の画素値を設定し、画素値変換手段は、前記画素値設定手段によって設定された画素値を、拡大処理後の周囲画素の画素値に応じて変換する。【選択図】図１
2008263465.tif 000002
【特許請求の範囲】
【請求項１】
対象画素の周囲に位置する周囲画素の画素値を該対象画素内に対応させる画素対応手段と、
前記画素対応手段によって、対象画素内に対応させた周囲画素の画素値を用いて拡大する拡大手段
を具備することを特徴とする画像処理システム。
【請求項２】
対象画素の周囲に位置する周囲画素の画素値を該対象画素を分割した部分画素に対応付ける画素対応手段と、
前記画素対応手段によって対応付けられた部分画素の画素値及び拡大処理の倍率に応じて、拡大処理後である対象画素の画素値を設定する画素値設定手段と、
前記画素値設定手段によって設定された画素値を、拡大処理後の周囲画素の画素値に応じて変換する画素値変換手段
を具備することを特徴とする画像処理システム。
【請求項３】
前記画素値変換手段は、対象画素の画素値と拡大処理後の該対象画素に対応する画素の画素値の平均値とが等しくなるように変換する
ことを特徴とする請求項２に記載の画像処理システム。
【請求項４】
前記画素値変換手段は、前記画素値設定手段によって設定された画素値に対して一定値を乗数として乗ずる
ことを特徴とする請求項２に記載の画像処理システム。
【請求項５】
前記画素値変換手段は、補間処理によって求めた値に応じて、前記乗数を定める
ことを特徴とする請求項４に記載の画像処理システム。
【請求項６】
前記画素対応手段は、周囲画素の一部と前記部分画素を関係付け、該関係付けられた画素の面積を重み係数として、画素値を部分画素に対応付ける
ことを特徴とする請求項２に記載の画像処理システム。
【請求項７】
対象画素の拡大処理による画素値を周囲画素の画素値に応じて算出する拡大画素値算出手段と、
前記拡大画素値算出手段によって算出された画素値の平均値を算出する平均値算出手段と、
前記対象画素の補間処理を行う補間手段と、
前記補間手段によって行われた補間処理の結果及び前記平均値算出手段によって算出された平均値を用いて、前記拡大画素値算出手段によって算出された画素値に乗ずる乗数を求める乗数算出手段と、
前記拡大画素値算出手段によって算出された画素値、前記平均値算出手段によって算出された平均値及び前記乗数算出手段によって算出された乗数に応じて、前記対象画素の拡大処理を行う拡大処理手段
を具備することを特徴とする画像処理システム。
【請求項８】
対象画素の周囲に位置する周囲画素の画素値についての関数近似を行い、画素値を該対象画素内の位置に対応付ける画素対応手段と、
前記画素対応手段によって対応付けられ画素値及び拡大処理の倍率に応じて、拡大処理後である対象画素の画素値を設定する画素値設定手段と、
前記画素値設定手段によって設定された画素値を、拡大処理後の周囲画素の画素値に応じて変換する画素値変換手段
を具備することを特徴とする画像処理システム。
【請求項９】
前記画素値設定手段は、拡大処理後の画素値の平均値を対象画素の画素値にし、乗数を乗ずることによって、拡大処理後である対象画素の画素値を設定する
ことを特徴とする請求項８に記載の画像処理システム。
【請求項１０】
コンピュータを、
対象画素の周囲に位置する周囲画素の画素値を該対象画素内に対応させる画素対応手段と、
前記画素対応手段によって、対象画素内に対応させた周囲画素の画素値を用いて拡大する拡大手段
として機能させることを特徴とする画像処理プログラム。
【請求項１１】
コンピュータを、
対象画素の周囲に位置する周囲画素の画素値を該対象画素を分割した部分画素に対応付ける画素対応手段と、
前記画素対応手段によって対応付けられた部分画素の画素値及び拡大処理の倍率に応じて、拡大処理後である対象画素の画素値を設定する画素値設定手段と、
前記画素値設定手段によって設定された画素値を、拡大処理後の周囲画素の画素値に応じて変換する画素値変換手段
として機能させることを特徴とする画像処理プログラム。
【請求項１２】
前記画素値変換手段は、対象画素の画素値と拡大処理後の該対象画素に対応する画素の画素値の平均値とが等しくなるように変換する
ことを特徴とする請求項１１に記載の画像処理プログラム。
【請求項１３】
前記画素値変換手段は、前記画素値設定手段によって設定された画素値に対して一定値を乗数として乗ずる
ことを特徴とする請求項１１に記載の画像処理プログラム。
【請求項１４】
前記画素値変換手段は、補間処理によって求めた値に応じて、前記乗数を定める
ことを特徴とする請求項１３に記載の画像処理プログラム。
【請求項１５】
前記画素対応手段は、周囲画素の一部と前記部分画素を関係付け、該関係付けられた画素の面積を重み係数として、画素値を部分画素に対応付ける
ことを特徴とする請求項１１に記載の画像処理プログラム。
【請求項１６】
コンピュータを、
対象画素の拡大処理による画素値を周囲画素の画素値に応じて算出する拡大画素値算出手段と、
前記拡大画素値算出手段によって算出された画素値の平均値を算出する平均値算出手段と、
前記対象画素の補間処理を行う補間手段と、
前記補間手段によって行われた補間処理の結果及び前記平均値算出手段によって算出された平均値を用いて、前記拡大画素値算出手段によって算出された画素値に乗ずる乗数を求める乗数算出手段と、
前記拡大画素値算出手段によって算出された画素値、前記平均値算出手段によって算出された平均値及び前記乗数算出手段によって算出された乗数に応じて、前記対象画素の拡大処理を行う拡大処理手段
として機能させることを特徴とする画像処理プログラム。
【請求項１７】
コンピュータを、
対象画素の周囲に位置する周囲画素の画素値についての関数近似を行い、画素値を該対象画素内の位置に対応付ける画素対応手段と、
前記画素対応手段によって対応付けられ画素値及び拡大処理の倍率に応じて、拡大処理後である対象画素の画素値を設定する画素値設定手段と、
前記画素値設定手段によって設定された画素値を、拡大処理後の周囲画素の画素値に応じて変換する画素値変換手段
として機能させることを特徴とする画像処理プログラム。
【請求項１８】
前記画素値設定手段は、拡大処理後の画素値の平均値を対象画素の画素値にし、乗数を乗ずることによって、拡大処理後である対象画素の画素値を設定する
ことを特徴とする請求項１７に記載の画像処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理システム及び画像処理プログラムに関する。
【背景技術】
【０００２】
画像の拡大処理は、画像の編集やファイリング、表示、印刷などを行うシステムにとって基本的な処理の一つである。また近年、インターネットのホームページ上の画像やデジタルビデオなどのディスプレイ解像度での表示を主目的とした画像データなどの普及により、これらの低解像度画像を高解像度のプリンタなどで印刷することも頻繁に行われている。このプリンタによる印刷の際に、高画質の出力結果を得ることが望まれており、高画質の拡大処理に対する重要度が高まっている。
なお、ここでの画像の拡大処理には、画像の高精細化処理も含まれる。
【０００３】
カラーを含む多階調で表現された画像（以下、多値画像と称する）を拡大処理する既存の代表的な手法としては、最近傍法や線形補間法、キュービック・コンボリューション法などがある。
最近傍法は、拡大後の各画素値として、その画素を原画像上に逆写像した際に最も距離が近い画素の画素値を使うという方法である。この方法は、演算量が少ないため高速に処理することができる。
しかし、原画像の１画素がそのまま矩形形状に拡大されるため、隣り合う画素の画素値の差が小さい場合は画質劣化の程度は小さくほとんど影響はないが、逆に大きい場合などは、斜線部やエッジ部のジャギーが目立ったり、倍率が大きい場合には画像がモザイク状になるなど、画質劣化の程度は大きい。
【０００４】
線形補間法は、画素間の画素値が直線的に変化していると仮定し、拡大後の画素を逆写像した点の近傍４画素の画素値を線形に補間して画素値を求めるという方法である。この方法では、最近傍法よりも処理は重いものの演算量は比較的少なく、ジャギーなども発生しにくい。その一方で、直線的に変化しているという仮定に当てはまらないエッジ部分を中心に、画像全体がボケ気味になるという欠点がある。
【０００５】
キュービック・コンボリューション法は、標本化定理に基づいてｓｉｎｃ関数（ｓｉｎ（ｘ）／ｘ）が近似した補間関数を定義し、拡大後の画素を逆写像した点の近傍１６画素（Ｘ、Ｙ方向それぞれ４画素）と前記の近似補間関数との畳み込み演算により、拡大後の画素値を求める方法である。この方法は、前記２つの手法に比べて画質は比較的よいが、高域が強調気味となる特性を持つため、エッジ部分で軽いジャギーが発生したりノイズ成分が強調されてしまうなどの欠点がある。
【０００６】
これらの問題を解決する試みとして、例えば特許文献１〜特許文献６などに記載されている技術が提案されている。
特許文献１に記載されている技術では、まず原画像を２値化し、その２値画像から原画像に含まれる斜め成分の方向を予め用意した２次元パターン（行列データ）と一致判定することにより求め、求められた斜め方向に沿って補間処理をする。またそれ以外の部分は線形補間処理を行っている。しかし、原画像を予め定められた閾値により２値化してから斜め成分の方向判定を行っているので、濃度差の大きいエッジに対しては有効であるが、濃度差の小さいエッジの再現には問題がある。
【０００７】
特許文献２に記載されている技術では、パターンファイルに１対１に対応した整数倍率毎のドット配置ファイル（拡大パターンファイル）と画素ブロックのどの位置の画素値で配置ファイルの画素値を決定するかという画素参照情報により拡大画像ブロックを生成する。さらに、一致パターンがないときは単純に原画像ブロックの注目画素で拡大画像ブロックを生成する。
しかし、特許文献２では、パターンマッチングのみで一意に拡大ブロックを生成しているため、パターンファイル及びドット配置ファイルの数により拡大画像の画質が決まる。つまり画質向上には予め多くのパターンファイルが必要であり、多くのパターンファイルを予め用意しておくのは現実的ではない。
【０００８】
特許文献３に記載されている技術では、原画像の変化度合いの検出法として、エッジ検出フィルタによるエッジ検出を行い、そのエッジ検出結果に基づいてエッジ画素を定義する。そして、エッジ画素と判断された場合には、キュービック・コンボリューション法の３次関数形状を調整したＭ−キュービック法で拡大を行い、そうでない場合は最近傍法で拡大する。
しかし、変化度合いの大きいエッジ部分をＭ−キュービック法で行うので、キュービック・コンボリューション法の画質特徴を踏襲し、ジャギーの発生やノイズ成分が強調されるという欠点がある。
【０００９】
特許文献４に記載されている技術では、画像の性質を予めブロック毎の濃度ヒストグラムで測り、その結果に基づいて第１補間処理（パターンマッチング法又はニアレストネイバー法（ＮＮ法））と第２補間処理（キュービック・コンボリューション法あるいはＭ−キュービック法）の結果を重畳する。第１補間処理の１つであるパターンマッチング法では、予め定めた角度パターンに原画像ブロックから生成したパターン（２値化パターン）が一致した場合、原画像ブロックを含む参照ブロックを用いて所定のルールで注目画素に対する補間画素ブロックを生成する。しかし特許文献４においても、Ｍ−キュービック法との重畳であるのでジャギーの発生やノイズ成分が強調される問題がある。
【００１０】
このような従来の拡大手法に対し、高画質な拡大手法として例えば特許文献５に記載されている技術がある。この手法は、正確なエッジ方向を検出し、そのエッジ方向に応じた画素値から拡大画像を生成するものであり、入力された画像に対してボケやジャギーなどの画質欠陥をなるべく生じさせること無く拡大処理を行うことができる。
【００１１】
特許文献６に記載されている技術では、注目画素を含む所定の大きさの画像領域の特徴量を領域特徴量算出手段で算出し、算出された特徴量に従って拡大画像領域生成手段に設けられた複数の拡大手法を切り替えて画像領域に対応する拡大画像領域を生成し、得られた拡大画像領域を画像配置手段で配置して出力画像を生成する手法を示している。
【特許文献１】特開２０００−２２８７２３号公報
【特許文献２】特開２００１−１８８９００号公報
【特許文献３】特開２０００−１８８６８１号公報
【特許文献４】特開２００２−１６５０８９号公報
【特許文献５】特開２００３−２７４１５７号公報
【特許文献６】特開２００４−１８０１７１号公報
【発明の開示】
【発明が解決しようとする課題】
【００１２】
上述したような従来技術では、画像内のエッジの部分などのように、特徴が明らかな領域に対しては、良好な拡大画像を生成することができる。しかし、エッジ部分以外の領域の場合には、従来技術の最近傍法、線形補間法、あるいはキュービックコンボリューション法などと同等の画質に留まるという問題点があった。
これらの従来技術（最近傍法、線形補間法、あるいはキュービックコンボリューション法など）は、入力画像の持つ周波数よりも高い周波数の情報を推測して生成することは無いため、ボケた画像になるという問題点がある。
本発明は、上述した従来技術の問題点を考慮してなされたものであり、拡大画像に高い周波数の信号を付加することによって、エッジ部分のように特徴が明確ではない領域に対しても、より自然な拡大画像を生成することができる画像処理システム及び画像処理プログラムを提供することを目的としている。
【課題を解決するための手段】
【００１３】
かかる目的を達成するための本発明の要旨とするところは、次の各項の発明に存する。
［１］  対象画素の周囲に位置する周囲画素の画素値を該対象画素内に対応させる画素対応手段と、
前記画素対応手段によって、対象画素内に対応させた周囲画素の画素値を用いて拡大する拡大手段
を具備することを特徴とする画像処理システム。
【００１４】
［２］  対象画素の周囲に位置する周囲画素の画素値を該対象画素を分割した部分画素に対応付ける画素対応手段と、
前記画素対応手段によって対応付けられた部分画素の画素値及び拡大処理の倍率に応じて、拡大処理後である対象画素の画素値を設定する画素値設定手段と、
前記画素値設定手段によって設定された画素値を、拡大処理後の周囲画素の画素値に応じて変換する画素値変換手段
を具備することを特徴とする画像処理システム。
【００１５】
［３］  前記画素値変換手段は、対象画素の画素値と拡大処理後の該対象画素に対応する画素の画素値の平均値とが等しくなるように変換する
ことを特徴とする［２］に記載の画像処理システム。
【００１６】
［４］  前記画素値変換手段は、前記画素値設定手段によって設定された画素値に対して一定値を乗数として乗ずる
ことを特徴とする［２］に記載の画像処理システム。
【００１７】
［５］  前記画素値変換手段は、補間処理によって求めた値に応じて、前記乗数を定める
ことを特徴とする［４］に記載の画像処理システム。
【００１８】
［６］  前記画素対応手段は、周囲画素の一部と前記部分画素を関係付け、該関係付けられた画素の面積を重み係数として、画素値を部分画素に対応付ける
ことを特徴とする［２］に記載の画像処理システム。
【００１９】
［７］  対象画素の拡大処理による画素値を周囲画素の画素値に応じて算出する拡大画素値算出手段と、
前記拡大画素値算出手段によって算出された画素値の平均値を算出する平均値算出手段と、
前記対象画素の補間処理を行う補間手段と、
前記補間手段によって行われた補間処理の結果及び前記平均値算出手段によって算出された平均値を用いて、前記拡大画素値算出手段によって算出された画素値に乗ずる乗数を求める乗数算出手段と、
前記拡大画素値算出手段によって算出された画素値、前記平均値算出手段によって算出された平均値及び前記乗数算出手段によって算出された乗数に応じて、前記対象画素の拡大処理を行う拡大処理手段
を具備することを特徴とする画像処理システム。
【００２０】
［８］  対象画素の周囲に位置する周囲画素の画素値についての関数近似を行い、画素値を該対象画素内の位置に対応付ける画素対応手段と、
前記画素対応手段によって対応付けられ画素値及び拡大処理の倍率に応じて、拡大処理後である対象画素の画素値を設定する画素値設定手段と、
前記画素値設定手段によって設定された画素値を、拡大処理後の周囲画素の画素値に応じて変換する画素値変換手段
を具備することを特徴とする画像処理システム。
【００２１】
［９］  前記画素値設定手段は、拡大処理後の画素値の平均値を対象画素の画素値にし、乗数を乗ずることによって、拡大処理後である対象画素の画素値を設定する
ことを特徴とする［８］に記載の画像処理システム。
【００２２】
［１０］  コンピュータを、
対象画素の周囲に位置する周囲画素の画素値を該対象画素内に対応させる画素対応手段と、
前記画素対応手段によって、対象画素内に対応させた周囲画素の画素値を用いて拡大する拡大手段
として機能させることを特徴とする画像処理プログラム。
【００２３】
［１１］  コンピュータを、
対象画素の周囲に位置する周囲画素の画素値を該対象画素を分割した部分画素に対応付ける画素対応手段と、
前記画素対応手段によって対応付けられた部分画素の画素値及び拡大処理の倍率に応じて、拡大処理後である対象画素の画素値を設定する画素値設定手段と、
前記画素値設定手段によって設定された画素値を、拡大処理後の周囲画素の画素値に応じて変換する画素値変換手段
として機能させることを特徴とする画像処理プログラム。
【００２４】
［１２］  前記画素値変換手段は、対象画素の画素値と拡大処理後の該対象画素に対応する画素の画素値の平均値とが等しくなるように変換する
ことを特徴とする［１１］に記載の画像処理プログラム。
【００２５】
［１３］  前記画素値変換手段は、前記画素値設定手段によって設定された画素値に対して一定値を乗数として乗ずる
ことを特徴とする［１１］に記載の画像処理プログラム。
【００２６】
［１４］  前記画素値変換手段は、補間処理によって求めた値に応じて、前記乗数を定める
ことを特徴とする［１３］に記載の画像処理プログラム。
【００２７】
［１５］  前記画素対応手段は、周囲画素の一部と前記部分画素を関係付け、該関係付けられた画素の面積を重み係数として、画素値を部分画素に対応付ける
ことを特徴とする［１１］に記載の画像処理プログラム。
【００２８】
［１６］  コンピュータを、
対象画素の拡大処理による画素値を周囲画素の画素値に応じて算出する拡大画素値算出手段と、
前記拡大画素値算出手段によって算出された画素値の平均値を算出する平均値算出手段と、
前記対象画素の補間処理を行う補間手段と、
前記補間手段によって行われた補間処理の結果及び前記平均値算出手段によって算出された平均値を用いて、前記拡大画素値算出手段によって算出された画素値に乗ずる乗数を求める乗数算出手段と、
前記拡大画素値算出手段によって算出された画素値、前記平均値算出手段によって算出された平均値及び前記乗数算出手段によって算出された乗数に応じて、前記対象画素の拡大処理を行う拡大処理手段
として機能させることを特徴とする画像処理プログラム。
【００２９】
［１７］  コンピュータを、
対象画素の周囲に位置する周囲画素の画素値についての関数近似を行い、画素値を該対象画素内の位置に対応付ける画素対応手段と、
前記画素対応手段によって対応付けられ画素値及び拡大処理の倍率に応じて、拡大処理後である対象画素の画素値を設定する画素値設定手段と、
前記画素値設定手段によって設定された画素値を、拡大処理後の周囲画素の画素値に応じて変換する画素値変換手段
として機能させることを特徴とする画像処理プログラム。
【００３０】
［１８］  前記画素値設定手段は、拡大処理後の画素値の平均値を対象画素の画素値にし、乗数を乗ずることによって、拡大処理後である対象画素の画素値を設定する
ことを特徴とする［１７］に記載の画像処理プログラム。
【発明の効果】
【００３１】
本発明にかかる画像処理システム及び画像処理プログラムによれば、本構成を有していない場合に比較して、拡大画像に高い周波数の信号を付加することによって、エッジ部分のように特徴が明確ではない領域に対しても、より自然な拡大画像を生成することができる。
【発明を実施するための最良の形態】
【００３２】
＜１．概要＞
本実施の形態は、画像の拡大処理を行う画像処理技術に関するものである。
以下、図面に基づき本発明を実現するにあたっての好適な各種の実施の形態を説明する。
まず、本実施の形態の概念を説明する。なお、この説明は、請求項記載の発明を直接説明するものではなく、あくまでも本実施の形態の概念の説明に限定したものである。
【００３３】
本実施の形態は、画像のフラクタル性を利用した高周波数信号生成を行うものである。本実施の形態では、一つの画素を矩形の面積をもつ領域として捉える。入力画像の１画素を図１（Ａ）に示すように一つの矩形（画素１１）として考える。
拡大時には、前記の１つの画素が複数（１以上）の画素に分割されると考える。例えば、縦横に２倍拡大する場合には、１つの画素が、縦２画素、横２画素の４つの画素に分割されると考えればよい。図１（Ｂ）は、拡大前の１画素（画素１２）の境界を太線で表し、拡大後の４画素（画素１２１、１２２、１２３、１２４）の境界を細線で表したものである。
このように拡大を行うときには、１つの画素が複数の画素に分割される。
拡大前には、１つの画素の中は、あくまでも１つの画素であるので、全て同じ画素値に塗りつぶされていたと考えることができる。拡大後は、複数の画素となるため、複数の画素値で塗りつぶすことになる。
【００３４】
このとき、拡大後の個々の画素をどのような画素値で塗りつぶすかが問題となる。
背景技術では、明確なエッジ方向等の情報が無い場合には、周囲画素の値を利用して、基本的には標本化定理に基づいた画素値決定を行う。
前記のように、拡大を、「画素領域の分割」として考える場合、標本化定理に基づいて画素値を決定すると、拡大前と、拡大後の画像の持つ周波数情報に違いが生じることは無い。
さらに、前記のように分割した画素を、入力画像の画素サイズに戻すことによって、実際の拡大が行われる。図１（Ｂ）を拡大した画素を図１（Ｃ）に示す。つまり、図１（Ｂ）に示す画素１２を拡大して図１（Ｃ）に示す画素１３にすることとは、画素１２を分割している４画素（画素１２１、１２２、１２３、１２４）を、拡大して画素１２と同じ大きさにした４画素（画素１３１、１３２、１３３、１３４）にすることである。
【００３５】
前記のように画素の拡大を行う前は、「拡大前と、拡大後の画像の持つ周波数情報に違いが生じることは無い。」のであるから、拡大を行うことによって、最終的な拡大画像の持つ周波数情報には、高周波数の情報が欠落することになる。２倍の拡大であれば、最終的な拡大画像は、上位半分の周波数情報は全く持たないことになる。
前記の理由により、「ボケ」や、「テクスチャの欠落」といった現象が発生することになる。
【００３６】
本実施の形態では、次の処理を行うことによって、「ボケ」や、「テクスチャの欠落」といった現象を抑圧する。
拡大前の１画素内を一つの画素値で塗りつぶすことによって、前記の問題点が生じている。そこで、拡大前の１画素を複数の画素値で塗ればよいことになる。
この複数の画素値は、拡大前の１画素の周囲画素ブロックを用いて発生させる。
なお、フラクタルを利用した拡大のように、似ている周囲画素ブロックを探すことは行わない。周囲画素ブロックは、入力画像を処理し終えるまでは固定とする。対象となる領域が１画素のみであるため、対象となる領域の特徴量を決定することが不可能であるためである。また、似ている周囲画素ブロックを探索する負荷をなくすためである。
また、単純に周囲画素ブロックの画素値で置換してしまうと、画素値の連続性が失われてしまう。そのため、ある程度の連続性を保つために補正を行う。
【００３７】
以下、１次元信号を例に採って、前記考え方を説明する。ただし、画像の拡大処理であるので、実際は２次元に対する処理を必要とするが、ここでは、理解を容易にするために説明を簡略化して１次元での処理を例示する。
まず、図２（Ａ）に示すように、１次元に５画素（画素２１〜画素２５）が並んでいるとする。ここでは、中心の画素（画素２３）を５倍拡大するとする。
背景技術、例えば線形補間手法で拡大を行う場合、対象画素の拡大結果は、図２（Ｂ）となる。つまり、５倍拡大するので、画素２３は画素２３０１〜画素２３０５の５つの画素に分割され、線形補間を行っているので、画素２３０１、画素２３０２は、画素２２の画素値に影響され、画素２３０４、画素２３０５は、画素２４の画素値に影響されている。したがって、図２（Ｂ）に示されるように、拡大後の画像は比較的滑らかな画像となる。
しかし、拡大前の画像は図２（Ａ）に示されるように、凸凹の多い画像である。そこで、本実施の形態は、このような凸凹をできるだけ再現しながら拡大を行うものである
【００３８】
そのために、本実施の形態では、拡大前の周囲５画素を、対象画素内に縮小してはめ込む。なお、例えばこの例では周囲５画素であるが、周囲画素領域は限定していない。
図３（Ａ）は、図２（Ａ）と同様に、拡大前の５つの画素の画素値を示しており、対象画素を画素２３とする。
図３（Ｂ）は、対象画素（画素２３）の周囲５画素（画素２１、２２、２３、２４、２５）を１画素幅に縮小したことを示している。つまり、画素２１１の画素値は画素２１の画素値であり、画素２２１の画素値は画素２２の画素値であり、画素２３１の画素値は画素２３の画素値であり、画素２４１の画素値は画素２４の画素値であり、画素２５１の画素値は画素２５の画素値である。
図３（Ｃ）は、図３（Ｂ）の画素を図３（Ａ）の対象画素である画素２３の位置にはめ込んだものである。ただし、このままでは、はめ込んだ画素の画素値と、対象画素（画素２３）の周囲画素（例えば、画素２２、２４）の画素値との連続性が保たれず、劣化した画像になる。
【００３９】
連続性を確保するために、まず、はめ込んだ画素（画素２１２〜画素２５２）の画素値の平均値と、対象画素（画素２３）の画素値をあわせる。つまり、対象画素（画素２３）の画素値と拡大処理後の対象画素に対応する画素（画素２１２〜画素２５２）の画素値とが等しくなるように変換する。図４（Ｄ）は、この様子を示したものであり、画素２１３〜画素２５３の画素値の平均値が、画素２３の画素値と等しい状態である。
【００４０】
次に、はめ込んだ画素の画素値を、画素値の平均値が変化しないように、対象画素の画素値を中心として、ａ倍する。つまり、５画素個々に、対象画素の画素値との差分をａ倍する。図４（Ｅ）は、この処理の様子を示したものであり、画素２１４〜画素２５４の画素値の平均値が、画素２３の画素値と等しい状態であり、かつ、画素２１４〜画素２５４の画素値をａ倍する処理を示している。図４（Ｆ）は、実際に、個々の５画素に対して、ａ倍した後の状態を示している。
倍率ａは、連続性の高い補間手法（例えば、線形補間）で作成した画素値と、ａ倍した後の画素値との２乗誤差が最小となるように定める。
このようにすることによって、凸凹を保存し、さらに、連続性の高い拡大画像を得ることができる（図４（Ｆ）参照）。この凸凹が、拡大画像の質感を向上させる要因となる。
【００４１】
＜２．第１の実施の形態＞
図５は、第１の実施の形態の概念的なモジュール構成図を示している。
なお、モジュールとは、一般的に論理的に分離可能なソフトウェア、ハードウェア等の部品を指す。したがって、本実施の形態におけるモジュールはプログラムにおけるモジュールのことだけでなく、ハードウェア構成におけるモジュールも指す。それゆえ、本実施の形態は、プログラム、システム及び方法の説明をも兼ねている。また、モジュールは機能にほぼ一対一に対応しているが、実装においては、１モジュールを１プログラムで構成してもよいし、複数モジュールを１プログラムで構成してもよく、逆に１モジュールを複数プログラムで構成してもよい。また、複数モジュールは１コンピュータによって実行されてもよいし、分散又は並列環境におけるコンピュータによって１モジュールが複数コンピュータで実行されてもよい。なお、１つのモジュールに他のモジュールが含まれていてもよい。また、以下、「接続」とは物理的な接続の他、論理的な接続（データの授受、指示等）を含まれむ。
また、システムとは、複数のコンピュータ、ハードウェア、装置等がネットワーク等の通信手段で接続されて構成されるほか、１つのコンピュータ、ハードウェア、装置等によって実現される場合も含まれる。
【００４２】
第１の実施の形態は、図５に示すように、画素置換モジュール５１、画素値投影モジュール５２、連続化処理モジュール５３を有している。画素置換モジュール５１は画素値投影モジュール５２と接続されており、画素値投影モジュール５２は画素置換モジュール５１、連続化処理モジュール５３と接続されており、連続化処理モジュール５３は画素値投影モジュール５２と接続されている。入力画像は、画素置換モジュール５１で処理され、最終的な出力画像である拡大画像は、連続化処理モジュール５３から出力される。
【００４３】
入力された画像をラスタスキャン順に処理する。そして、入力された画像内の画素を拡大処理する（拡大処理する画素はラスタスキャン順に次々変わる）。
図６（Ａ）に示すように、対象画素（対象画素６０）の周囲に周囲画素領域（周囲画素６１、６２、６３、６４、６５、６６、６７、６８、６０）を設定する。周囲画素領域と対象画素との相対位置は固定とする。つまり、対象画素に応じて、周囲画素を変更することはしない。
周囲画素領域内には複数の画素が含まれているため、高い周波数成分を持った画像領域であることが予想できる。また、対象画素と周囲画素領域の距離が近ければ、周囲画素領域の画像形状と、拡大後の対象画素の画像形状が似ていることが期待される。そこで、周囲画素領域の画素値で対象画素内の画素値を置換する。
周囲画素領域のサイズを３×３として以下例示する。
【００４４】
画素置換モジュール５１では、対象画素の周囲に位置する周囲画素の画素値をその対象画素を分割した区画に対応付ける。つまり、対象画素の１画素を３×３画素の９区画に周囲画素の画素値で塗りつぶすことを行う。このときの画素値は周囲画素領域の画素値をそのまま使う。図６（Ｂ）は、図６（Ａ）に示す対象画素６０に対して、画素置換モジュール５１による処理を施したものである。つまり、図６（Ｂ）に示す対象画素６０１は９つの区画に分かれており、それぞれの値は、図６（Ａ）に示す周囲画素６１、６２、６３、６４、６０、６５、６６、６７、６８の画素値である。
【００４５】
画素値投影モジュール５２では、画素置換モジュール５１によって対応付けられた区画の画素値及び拡大処理の倍率に応じて、拡大処理後である対象画素の画素値を設定する。つまり、最終的な画素値分割となるように画素値の投影処理を行う。例えば、最終的に縦横２倍拡大を行う場合には、対象画素を縦横２×２の画素値に分割することになる。図７に示すような破線の縦線７１、横線７２による分割を行って、対象画素（対象画素６０１）を２×２の画素に分割することになる。拡大処理後の、各画素の画素値は、破線の中の画素値の面積に応じて、投影法で定めればよい。
【００４６】
連続化処理モジュール５３では、画素置換モジュール５１によって設定された画素値を、拡大処理後の周囲画素の画素値に応じて変換する。つまり、投影後の画素値が、拡大後の周囲の画素値と連続性を持つように、画素値の変換を行う。ここでは、以下の条件を満たすような拡大画素値を採用する。
・対象画像の画素値と、拡大処理後の画素値の平均値が等しい。
・線形補間法を用いて、拡大画像を作成した場合の拡大画像と、投影後の拡大画像との２乗誤差が小さい。
【００４７】
図５に示した実施の形態について、より具体的に数値計算を用いた説明を行う。
周囲画素領域の画素値をＳ１〜Ｓｎとする。周囲画素領域内の画素に１〜ｎの番号を付与する。対象画素の画素値をＳ０とする。
最終的な拡大画像の画素値をＸ１〜Ｘｍとする。最終的な拡大画像の画素に１〜ｍの番号を付与する。
周囲画素領域に、Ｓ１〜Ｓｎの画素の全体が含まれていなくてもよい。例えば、周囲画素領域８１を、図８に示すように３×３の画素領域の一部としてもよい。つまり、周囲画素領域８１は、周囲画素６１〜周囲画素６８の一部分と対象画素６０を有している。
【００４８】
次に、画素値Ｘ１〜Ｘｍの算出方法を示す。
Ｘ１〜Ｘｍは、Ｓ０〜Ｓｎを投影して作成する。
Ｘｉの中に、Ｓｊの面積割合Ｗｉｊ（重み係数）が入っているとする。Ｘｉは、Ｓｊを（１）式の投影式で変換して作成する。
【数１】
2008263465.tif 000003
なお、（１）式内のａとｂは、各対象画素毎に決定される定数である。
【００４９】
ここで、（２）式とすることによって、（１）式を（３）式のように単純に記載することができる。
【数２】
2008263465.tif 000004
【数３】
2008263465.tif 000005
【００５０】
次に、ａとｂを決定するため、次の制約をおく。
まず、対象画素の画素値と、Ｘ１〜Ｘｍの平均値が一致しているという条件（（４）式）を与える。
【数４】
2008263465.tif 000006
（４）式より、（５）式のようになる。
【数５】
2008263465.tif 000007
ここで、（６）式とすると、ｂは（７）式のようになる。
【数６】
2008263465.tif 000008
【数７】
2008263465.tif 000009
したがって、（３）式は、（８）式のようになる。つまり、最終的に求める拡大画像の画素値Ｘｉは、（８）式で求められることになる。
【数８】
2008263465.tif 000010
【００５１】
次にａを算出する。
まず、補間処理の一種である線形補間法（あるいはキュービックコンボリューション法など）を用いて、Ｘ１〜Ｘｍと同じ位置にある画素の画素値を算出する。この画素値を、Ｙ１〜Ｙｍとする。
本実施の形態では、ＸｉとＹｉの画素値の差ができるだけ小さくなるような定数ａを設定する。すなわち、（９）式のようになる。
【数９】
2008263465.tif 000011
このようなａは、（１０）式で与えることができる。
【数１０】
2008263465.tif 000012
まとめると、（２）式でＰｉを求め、（６）式でμを求め、別途Ｙｉを求めておき、さらに、（１０）式でａを求め、最終的に、（８）式でＸｉを求めればよい。
これに即したブロック構成は図９のようになる。図９に示すものは、Ｐｉ算出モジュール９１、μ算出モジュール９２、ａ算出モジュール９３、Ｘｉ算出モジュール９４、Ｙｉ算出モジュール９５を有しており、Ｐｉ算出モジュール９１は、μ算出モジュール９２と接続されている。μ算出モジュール９２は、Ｐｉ算出モジュール９１、ａ算出モジュール９３と接続されている。ａ算出モジュール９３は、μ算出モジュール９２、Ｘｉ算出モジュール９４、Ｙｉ算出モジュール９５と接続されており、Ｘｉ算出モジュール９４はａ算出モジュール９３と接続されており、Ｙｉ算出モジュール９５はａ算出モジュール９３と接続されている。入力画像は、Ｐｉ算出モジュール９１、Ｙｉ算出モジュール９５で処理され、最終的な出力画像である拡大画像は、Ｘｉ算出モジュール９４から出力される。
すなわち、Ｐｉ算出モジュール９１は、（２）式でＰｉを求めることによって、対象画素の拡大処理による画素値を周囲画素の画素値に応じて算出する。μ算出モジュール９２は、（６）式でμを求めることによって、Ｐｉ算出モジュール９１によって算出された画素値の平均値を算出する。Ｙｉ算出モジュール９５は、補間処理によってＹｉを求める。ａ算出モジュール９３は、（１０）式でａを求めることによって、Ｙｉ算出モジュール９５によって行われた補間処理の結果及びμ算出モジュール９２によって算出された平均値を用いて、Ｐｉ算出モジュール９１によって算出された画素値に乗ずる乗数を求める。Ｘｉ算出モジュール９４は、（８）式でＸｉを求めることによって、Ｐｉ算出モジュール９１によって算出された画素値、μ算出モジュール９２によって算出された平均値及びａ算出モジュール９３によって算出された乗数に応じて、対象画素の拡大処理を行う。
【００５２】
以上のような算出経路になるが、実際には、Ｓｊの値から、直接Ｐｉ−μの値を算出できるように、Ｐｉ−μとＳｊとの関係を予め計算しておけばよい。これらの関係は１次式の関係となる。
例えば、図１０に示すように、Ｐｉ−μを直接算出してもよい。図１０に示すものは、Ｐｉ−μ算出モジュール１０１は、ａ算出モジュール９３と接続されており、ａ算出モジュール９３は、Ｐｉ−μ算出モジュール１０１、Ｘｉ算出モジュール９４、Ｙｉ算出モジュール９５と接続されており、Ｘｉ算出モジュール９４はａ算出モジュール９３と接続されており、Ｙｉ算出モジュール９５はａ算出モジュール９３と接続されている。入力画像は、Ｐｉ−μ算出モジュール１０１、Ｙｉ算出モジュール９５で処理され、最終的な出力画像である拡大画像は、Ｘｉ算出モジュール９４から出力される。なお、同種のモジュールには同一符号を付し重複した説明を省略する。
あるいは、図１１に示すようにすることも可能である。図１１に示すものは、（５４）式算出モジュール１１１、（５５）式算出モジュール１１２、（１０）式算出モジュール１１３、Ｘｉ算出モジュール１１４を有している。（５４）式算出モジュール１１１は、（１０）式算出モジュール１１３と接続されており、（５５）式算出モジュール１１２は（１０）式算出モジュール１１３と接続されており、（１０）式算出モジュール１１３は（５４）式算出モジュール１１１、（５５）式算出モジュール１１２、Ｘｉ算出モジュール１１４と接続されており、Ｘｉ算出モジュール１１４は（１０）式算出モジュール１１３と接続されている。入力画像は、（５４）式算出モジュール１１１、（５５）式算出モジュール１１２で処理され、最終的な出力画像である拡大画像は、Ｘｉ算出モジュール１１４から出力される。
つまり、（１０）式の右辺の分子である（５４）式、（１０）式の右辺の分母である（５５）式は、Ｓｊの２次式として、予め計算式を算出しておけばよいので、（５４）式算出モジュール１１１、（５５）式算出モジュール１１２のモジュールを用いればよい。
【数５４】
2008263465.tif 000013
【数５５】
2008263465.tif 000014
【００５３】
ここで、具体的な数値例を示す。
周囲画素領域を３×３として、対象画素を２倍拡大するとする。Ｙｉは線形補間で作成するとする。３×３の画素値を図１２に示すようにする。
出力拡大画像の画素値を図１３に示すようにする。すなわち、図１２で示した対象画素であるＳ０が、Ｘ１〜Ｘ４の画素に拡大される場合である。
この場合にＸ１〜Ｘ４を、Ｓ０〜Ｓ８で表すようにする。
まず、（１１）式を求め、（１２）式であり、（１３）式を求める。
【数１１】
2008263465.tif 000015
【数１２】
2008263465.tif 000016
【数１３】
2008263465.tif 000017
（１１）〜（１３）式より、（１４）〜（１７）式のようになる。
【数１４】
2008263465.tif 000018
【数１５】
2008263465.tif 000019
【数１６】
2008263465.tif 000020
【数１７】
2008263465.tif 000021
（１５）式に示すように、Ｐｉ−μを直接Ｓｊから算出することが可能である。
また、前記の式を（１０）式に代入すれば、（１０）式の右辺の分子（（５４）式）、分母（（５５）式）はそれぞれ、Ｓ０〜Ｓ８の２次式として表すことができる。
【００５４】
別の数値計算例を示す。
周囲画素領域を３×３の画素ブロックの一部とすることも可能である。図１４の太線を周囲画素領域とする。つまり、対象画素をＳ０とし、周囲画素領域には、Ｓ０の全部、Ｓ１〜Ｓ４の１／２、Ｓ５〜Ｓ８の１／４が含まれている。
このとき、（１８）式のようになる。
【数１８】
2008263465.tif 000022
さらに、（１９）〜（２１）式のようになる。
【数１９】
2008263465.tif 000023
【数２０】
2008263465.tif 000024
【数２１】
2008263465.tif 000025
他の値は、前述の数値計算例と同じである。
【００５５】
＜３．第２の実施の形態＞
第１の実施の形態では、周囲画素領域の画素値をそのまま対象画素内に入れたが、第２の実施の形態では、周囲画素領域を、一旦関数近似する。
関数近似を行うことによって、周囲画素領域の画素数が、拡大後の画素数と比較して少ない場合でも、良好に補間された拡大画像を生成することができる。
また、周囲画素領域の凸凹が大きいときは、関数近似時にその凸凹を緩和することができる。
さらに、関数を適切に定めることによって、演算量を削減できる。
【００５６】
第２の実施の形態は、図１５に示すように、関数近似モジュール１５１、関数縮小モジュール１５２、拡大画素値作成モジュール１５３を有している。関数近似モジュール１５１は関数縮小モジュール１５２と接続されており、関数縮小モジュール１５２は関数近似モジュール１５１、拡大画素値作成モジュール１５３と接続されており、拡大画素値作成モジュール１５３は関数縮小モジュール１５２と接続されている。入力画像は、関数近似モジュール１５１で処理され、最終的な出力画像である拡大画像は、拡大画素値作成モジュール１５３から出力される。
【００５７】
まず、関数近似モジュール１５１では、対象画素の周囲に位置する周囲画素の画素値についての関数近似を行い、画素値をその対象画素内の位置に対応付ける。つまり、対象画素の周囲に位置する周囲画素領域内の画素の画素値から、周囲画素領域を関数近似する。例えば、２次曲面で近似する。
次に、関数縮小モジュール１５２では、関数近似モジュール１５１によって対応付けられた画素値及び拡大処理の倍率に応じて、拡大処理後である対象画素の画素値を設定する。つまり、関数を縮小して、対象画素内にはまるようにする。また、関数の出力値をα倍し、かつＣでシフトして、第１の実施の形態と同様に、拡大後の画素値の平均値が対象画素と同じで、かつ、周囲画素とできるだけ連続的に接続するようにする。
また、関数縮小モジュール１５２は、拡大処理後の画素値の平均値を対象画素の画素値にし、乗数を乗ずることによって、拡大処理後である対象画素の画素値を設定するようにしてもよい。
最終的に、拡大画素値作成モジュール１５３では、関数縮小モジュール１５２によって設定された画素値を、拡大処理後の周囲画素の画素値に応じて変換する。つまり、関数に拡大画素位置を入力して、拡大画素値を生成する。
【００５８】
実際の計算時には、第１の実施の形態と同様に、入力画素値Ｓｊから、出力画素値Ｔｉを直接計算できるように、ＴｉとＳｊの関係を予め求めておいてもよい。なお、第１の実施の形態では、拡大後の画素値をＹ１〜Ｙ４としたが、第２の実施の形態では、Ｔ０〜Ｔ３とする。
【００５９】
以下、具体的な数値計算の例を示す。
ここでは、以下に関してのものである。
・ブロックＢを３×３画素とする。
・ブロックＸを、ブロックＢの中心画素とする。
・近似関数を２次曲面とする。
・拡大率を縦横同じとする。さらに拡大率を２とする。
【００６０】
＜３．１  準備＞
各画素のサイズを、１×１の矩形と規定する。このとき、３×３ブロックの中心位置を原点（ｘ，ｙ）＝（０，０）として画素を配置する。画素値、及び、ｘ，ｙ座標の関係は図１６に示すようになる。つまり、画素値Ｓ０〜Ｓ８の中心の座標は、（５６）式のようになる。
【数５６】
2008263465.tif 000026
【００６１】
さらに、ここでは、画素Ｓ０を２倍拡大することを目的としている。画素Ｓ０を図１７に示すような画素Ｔ０〜Ｔ３に拡大する。画素Ｔ０〜Ｔ３の中心の座標は、（５７）式のようになる。
【数５７】
2008263465.tif 000027
【００６２】
＜３．２  ２次曲面近似＞
２次曲面を（２２）式とする。
【数２２】
2008263465.tif 000028
また、２次曲面係数ベクトルをａとすると、ベクトルａは（２３）式のようになる。
【数２３】
2008263465.tif 000029
このとき、（２４）式のようになる。
【数２４】
2008263465.tif 000030
いま、（２５）式とする。
【数２５】
2008263465.tif 000031
【００６３】
複数の点（ｉ＝０，１，２．．．８）で（２４）式を求めることができるので、（２６）式とできる。
【数２６】
2008263465.tif 000032
（２６）式は、２次曲面係数ベクトルａに関する連立方程式であり、（２７）式で解くことができる。
【数２７】
2008263465.tif 000033
ただし、２次曲面近似の範囲は−１≦ｘ≦１、−１≦ｙ≦１、であり、重み行列Ｗは（２８）式とする。
【数２８】
2008263465.tif 000034
具体的なＳｉの座標を入力して、（５８）式を計算すると（２９）式となる。
【数５８】
2008263465.tif 000035
【数２９】
2008263465.tif 000036
【００６４】
＜３．３  処理の説明＞
（１）まず、３×３のブロックの領域の一部（−１≦ｘ≦１、−１≦ｙ≦１）を２次関数近似する。この関数をｇ（ｘ，ｙ）とする。ただし、このときの定数項は形状をあらわしておらず、意味がないためｇ（ｘ，ｙ）には定数項は含まれないとする。
（２）次に、３×３のブロックの領域の一部を、中心の１×１ブロック（−０．５≦ｘ≦０．５、−０．５≦ｙ≦０．５）に相似変換する。ｘ方向、ｙ方向に相似変換（つまり１／２倍）する。このような関数は、ｇ（２ｘ，２ｙ）と表すことができる。
（３）さらに、中心画素を縦横２倍に拡大する。このような関数は、（５９）式として表すことができる。
【数５９】
2008263465.tif 000037
（４）さらに、拡大後の画素値の平均値を、元の中心画素の画素値に合わせ（平均値シフト）、かつ、周囲画素値との差分が最小となるように振幅変換を行う。
【００６５】
平均値シフトと振幅変換に関して、以下さらに詳細に説明する。
以上のように拡大した関数に対して振幅変換係数αを乗じる。さらに定数項Ｃを加えて平均値をシフトさせて作成した関数をｈ（ｘ，ｙ）とする。つまり、（３０）式のようになる。
【数３０】
2008263465.tif 000038
ここで、Ｃは、Ｔ０〜Ｔ３の平均値がＳ０となるように設定する。
まず、準備として、（３１）式とする。
【数３１】
2008263465.tif 000039
さらに、表記の簡略化のために、（３２）式とする。
【数３２】
2008263465.tif 000040
これを用いてＣを求める。
【００６６】
（３３）式のように、Ｓ０を表すことができる。
【数３３】
2008263465.tif 000041
さらに、（３４）式であるから、（３５）式のようになる。
【数３４】
2008263465.tif 000042
【数３５】
2008263465.tif 000043
よって、Ｃは（３６）式のようにαで表すことができる。
【数３６】
2008263465.tif 000044
したがって、２次曲面ｇ（ｘ，ｙ）を（３７）式のようにすると、ｈ（ｘ，ｙ）は（３８）式となる。
【数３７】
2008263465.tif 000045
【数３８】
2008263465.tif 000046
なお、αは、拡大後の画像ができるだけ滑らかに接続されるように設定する。
【００６７】
さらに準備として、ＨｉをＳｉで表す。（３２）式より、（３９）式が求まる。
【数３９】
2008263465.tif 000047
（４０）式を用いて、ＴｉをＳｉで表す。
【数４０】
2008263465.tif 000048
さらに、（２７）式を代入すると、（４１）式のようになる。
【数４１】
2008263465.tif 000049
【００６８】
さらに、ここでは、滑らかな画像を作成するため、線形補間で作成した拡大画像の画素値との２乗誤差が最小となるようにαを設定する。一例として、ここでは、（６０）式における線形補間画素値との２乗誤差を最小にするようにαを設定する。
【数６０】
2008263465.tif 000050
各画素位置ｉ＝０〜３における誤差をＺｉとする。各誤差量は（４２）式のようになる。
【数４２】
2008263465.tif 000051
αは、（４３）式に示す評価関数Ｉ（α）を最小化するように設定すればよい。
【数４３】
2008263465.tif 000052
（４４）式、（４５）式とすると、（４６）式のようになる。
【数４４】
2008263465.tif 000053
【数４５】
2008263465.tif 000054
【数４６】
2008263465.tif 000055
これを最小化するαは、（４７）式のようになる。
【数４７】
2008263465.tif 000056
ちなみに、（４８）式である。
【数４８】
2008263465.tif 000057
このようにして求めたαと（４１）式を用いて、Ｔ０〜Ｔ１を算出することにより、拡大後の画素値を求めることができる。
【００６９】
＜３．４  実際の画像への適用方法＞
以上をふまえて、画像に対する具体的なフィルタリング方法を説明する。以下、Ｎ＝２として計算を行う。
（１）拡大したい画像をラスタスキャンする。いま、拡大したい画素の画素値をＳ０とする。上下左右の画素の画素値を図１８に示すように定義する。
（２）中央の画素（画素値Ｓ０）を縦横２倍に拡大する。拡大後の画素値を図１９に示すように定義する。
（３）（４７）式を用いて、αを求める。
（４）（４１）式を用いて、Ｔ０〜Ｔ３の画素値を求める。
（５）結果のＴｉを丸めて０〜２５５の画素値とする。
【００７０】
第２の実施の形態を別の観点でみたブロック構成を図２０に示す。図２０に示すものは、周囲画素領域の関数近似モジュール２０１、近似関数のスケーリングモジュール２０２、出力画素値作成モジュール２０３を有しており、周囲画素領域の関数近似モジュール２０１は近似関数のスケーリングモジュール２０２と接続されており、近似関数のスケーリングモジュール２０２は周囲画素領域の関数近似モジュール２０１、出力画素値作成モジュール２０３と接続されており、出力画素値作成モジュール２０３は近似関数のスケーリングモジュール２０２と接続されている。入力画像は、周囲画素領域の関数近似モジュール２０１で処理され、最終的な出力画像である拡大画像は、出力画素値作成モジュール２０３から出力される。周囲画素領域の関数近似モジュール２０１は関数近似モジュール１５１と、出力画素値作成モジュール２０３は拡大画素値作成モジュール１５３とそれぞれ同様である。
【００７１】
近似関数のスケーリングモジュール２０２での近似関数のスケーリングは、下記のように行う。
まず、近似関数をｇ（ｘ，ｙ）とする。
周囲画素領域を中心の１×１ブロックに縮小相似変換するときの倍率をｐ、拡大倍率をＮとすると、まず、周囲画素領域を中心の１×１領域に押し込めるように縮小して、さらにＮ倍拡大するため、関数を、（４９）式のようにスケーリングする。
【数４９】
2008263465.tif 000058
さらに、この関数の振幅をα倍し、定数項Ｃを加えて、シフトする。
結局、この近似関数のスケーリングでは、αとＣを算出し、さらに、（５０）式を計算することになる。
【数５０】
2008263465.tif 000059
ここで、（５０）式は（３０）式を一般化したものである。
また、（３１）式の一般化は（５１）式のようになる。
【数５１】
2008263465.tif 000060
出力画素値作成モジュール２０３では、出力画素の存在する位置（ｘ，ｙ）を（５１）式の関数に代入して、出力値を作成する。
【００７２】
第２の実施の形態を別の観点でみたブロック構成を図２１に示す。図２１に示すものは、α算出モジュール２９１、Ｃ算出モジュール２９２、出力画素値作成モジュール２９３を有しており、α算出モジュール２９１はＣ算出モジュール２９２と接続されており、Ｃ算出モジュール２９２はα算出モジュール２９１、出力画素値作成モジュール２９３と接続されており、出力画素値作成モジュール２９３はＣ算出モジュール２９２と接続されている。入力画像は、α算出モジュール２９１で処理され、最終的な出力画像である拡大画像は、出力画素値作成モジュール２９３から出力される。出力画素値作成モジュール２９３は出力画素値作成モジュール２０３と同様である。
α算出モジュール２９１では、αは、（４７）式で算出する。
Ｃ算出モジュール２９２では、Ｃは、（３６）式で算出する。
なお、αの算出時、（４５）式に示すように、行列Ａ、行列Ｂを定義する。これにより、周囲画素領域や拡大率が固定されている場合は、固定的に予め算出しておくことができる。つまり、（４５）式内の行列Ａ又は行列Ｂ（（４７）式）を予め算出して記憶しておくことによって、その記憶している値を用いて算出処理の速度向上を図ることができる。
さらに、行列Ａ、行列Ｂが固定であれば、（５２）式、（５３）式も予め算出しておくことができる。つまり、（５２）式又は（５３）式を予め算出して記憶しておくことによって、その記憶している値を用いて算出処理の速度向上を図ることができる。
【数５２】
2008263465.tif 000061
【数５３】
2008263465.tif 000062
【００７３】
前述の実施の形態によって、拡大前の１画素を拡大したときに、サンプリング定理以上の周波数情報を付与することができるため、拡大画像のボケの抑圧、あるいは、テクスチャの付与が可能となる。
【００７４】
図２２を参照して、前述の実施の形態のハードウェア構成例について説明する。図２２に示す構成は、例えばパーソナルコンピュータ（ＰＣ）などによって構成されるものであり、スキャナ等のデータ読み取り部２２１７と、プリンタなどのデータ出力部２２１８を備えたハードウェア構成例を示している。
【００７５】
ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）２２０１は、前述の実施の形態において説明した各種のモジュール、すなわち、画素置換モジュール５１、画素値投影モジュール５２、連続化処理モジュール５３、Ｐｉ算出モジュール９１、μ算出モジュール９２、Ｐｉ−μ算出モジュール１０１、（５４）式算出モジュール１１１、関数近似モジュール１５１等の各モジュールの実行シーケンスを記述したコンピュータ・プログラムにしたがった処理を実行する制御部である。
【００７６】
ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）２２０２は、ＣＰＵ２２０１が使用するプログラムや演算パラメータ等を格納する。ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）２２０３は、ＣＰＵ２２０１の実行において使用するプログラムや、その実行において適宜変化するパラメータ等を格納する。これらはＣＰＵバスなどから構成されるホストバス２２０４により相互に接続されている。
【００７７】
ホストバス２２０４は、ブリッジ２２０５を介して、ＰＣＩ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ／Ｉｎｔｅｒｆａｃｅ）バスなどの外部バス２２０６に接続されている。
【００７８】
キーボード２２０８、マウス等のポインティングデバイス２２０９は、操作者により操作される入力デバイスである。ディスプレイ２２１０は、液晶表示装置又はＣＲＴ（Ｃａｔｈｏｄｅ  Ｒａｙ  Ｔｕｂｅ）などから成り、各種情報をテキストやイメージ情報として表示する。
【００７９】
ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）２２１１は、ハードディスクを内蔵し、ハードディスクを駆動し、ＣＰＵ２２０１によって実行するプログラムや情報を記録又は再生させる。ハードディスクは、入力画像や出力画像である拡大画像などが格納される。さらに、その他の各種のデータ処理プログラム等、各種コンピュータ・プログラムが格納される。
【００８０】
ドライブ２２１２は、装着されている磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリ等のリムーバブル記録媒体２２１３に記録されているデータ又はプログラムを読み出して、そのデータ又はプログラムを、インタフェース２２０７、外部バス２２０６、ブリッジ２２０５、及びホストバス２２０４を介して接続されているＲＡＭ２２０３に供給する。リムーバブル記録媒体２２１３も、ハードディスクと同様のデータ記録領域として利用可能である。
【００８１】
接続ポート２２１４は、外部接続機器２２１５を接続するポートであり、ＵＳＢ、ＩＥＥＥ１３９４等の接続部を持つ。接続ポート２２１４は、インタフェース２２０７、及び外部バス２２０６、ブリッジ２２０５、ホストバス２２０４等を介してＣＰＵ２２０１等に接続されている。通信部２２１６は、ネットワークに接続され、外部とのデータ通信処理を実行する。データ読み取り部２２１７は、例えばスキャナであり、ドキュメントの読み取り処理を実行する。データ出力部２２１８は、例えばプリンタであり、ドキュメントデータの出力処理を実行する。
【００８２】
なお、図２２に示すハードウェア構成は、１つの構成例を示すものであり、本実施の形態は、図２２に示す構成に限らず、前述の実施の形態において説明したモジュールを実行可能な構成であればよい。例えば、一部のモジュールを専用のハードウェア（例えば特定用途向け集積回路（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ：ＡＳＩＣ）等）で構成してもよく、一部のモジュールは外部のシステム内にあり通信回線で接続しているような形態でもよく、さらに図２２に示すシステムが複数互いに通信回線によって接続されていて互いに協調動作するようにしてもよい。また、複写機、ファックス、スキャナ、プリンタ、複合機（多機能複写機とも呼ばれ、スキャナ、プリンタ、複写機、ファックス等の機能を有している）などに組み込まれていてもよい。
【００８３】
なお、前述の実施の形態では、数式を用いて説明したが、数式には、その数式と同等のものが含まれてもよい。同等のものとは、その数式そのものの他に、最終的な結果に影響を及ぼさない程度の数式の変形、又は数式をアルゴリズミックな解法で解くこと等が含まれる。
【００８４】
なお、説明したプログラムについては、記録媒体に格納して提供してもよく、また、そのプログラムを通信手段によって提供してもよい。その場合、例えば、前記説明したプログラムについて、「プログラムを記録したコンピュータ読み取り可能な記録媒体」の発明として捉えてもよい。
「プログラムを記録したコンピュータ読み取り可能な記録媒体」とは、プログラムのインストール、実行、プログラムの流通などのために用いられる、プログラムが記録されたコンピュータで読み取り可能な記録媒体をいう。
なお、記録媒体としては、例えば、デジタル・バーサタイル・ディスク（ＤＶＤ）であって、ＤＶＤフォーラムで策定された規格である「ＤＶＤ−Ｒ、ＤＶＤ−ＲＷ、ＤＶＤ−ＲＡＭ等」、ＤＶＤ＋ＲＷで策定された規格である「ＤＶＤ＋Ｒ、ＤＶＤ＋ＲＷ等」、コンパクトディスク（ＣＤ）であって、読出し専用メモリ（ＣＤ−ＲＯＭ）、ＣＤレコーダブル（ＣＤ−Ｒ）、ＣＤリライタブル（ＣＤ−ＲＷ）等、光磁気ディスク（ＭＯ）、フレキシブルディスク（ＦＤ）、磁気テープ、ハードディスク、読出し専用メモリ（ＲＯＭ）、電気的消去及び書換可能な読出し専用メモリ（ＥＥＰＲＯＭ）、フラッシュ・メモリ、ランダム・アクセス・メモリ（ＲＡＭ）等が含まれる。
そして、前記のプログラム又はその一部は、前記記録媒体に記録して保存や流通等させてもよい。また、通信によって、例えば、ローカル・エリア・ネットワーク（ＬＡＮ）、メトロポリタン・エリア・ネットワーク（ＭＡＮ）、ワイド・エリア・ネットワーク（ＷＡＮ）、インターネット、イントラネット、エクストラネット等に用いられる有線ネットワーク、あるいは無線通信ネットワーク、さらにこれらの組合せ等の伝送媒体を用いて伝送させてもよく、また、搬送波に乗せて搬送させてもよい。
さらに、前記のプログラムは、他のプログラムの一部分であってもよく、あるいは別個のプログラムと共に記録媒体に記録されていてもよい。また、複数の記録媒体に分割して
記録されていてもよい。また、圧縮や暗号化など、復元可能であればどのような態様で記録されていてもよい。
【００８５】
本実施の形態は、次のような特徴がある画像処理システム、画像処理プログラム、画像処理方法でもある。
（ａ）対象画素の周囲に位置する周囲画素の画素値を該対象画素内に対応させる画素対応手段と、
前記画素対応手段によって、対象画素内に対応させた周囲画素の画素値を用いて拡大する拡大手段
を具備することを特徴とする。
（ｂ）さらに、前記（ａ）項は、前記対象画素と前記周囲画素との位置関係を固定とする
ことを特徴とする。
（ｃ）対象画素の拡大処理による画素値を周囲画素の画素値に応じて算出し、該算出された画素値の平均値を減じた値を算出する拡大画素値算出手段と、
前記対象画素の補間処理を行う補間手段と、
前記補間手段によって行われた補間処理の結果及び前記平均値算出手段によって算出された平均値を用いて、前記拡大画素値算出手段によって算出された画素値に乗ずる乗数を求める乗数算出手段と、
前記拡大画素値算出手段によって算出された画素値、前記平均値算出手段によって算出された平均値及び前記乗数算出手段によって算出された乗数に応じて、前記対象画素の拡大処理を行う拡大処理手段
を具備することを特徴とする。
（ｄ）画像内の画素を用いて、（５４）式を適用して値を算出する第１の算出手段と、
画像内の画素を用いて、（５５）式を適用して値を算出する第２の算出手段と、
前記第１の算出手段及び前記第２の算出手段によって算出された値を用いて、（１０）式を適用して値を算出する第３の算出手段と、
前記第３の算出手段によって算出された値を用いて、拡大された画素の値を算出する第４の算出手段
を具備することを特徴とする。
（ｅ）対象画素の周囲に位置する周囲画素の画素値についての関数近似を行い、画素値を該対象画素内の位置に対応付ける画素対応手段と、
前記画素対応手段によって対応付けられ画素値及び拡大処理の倍率に応じて、（４９）式を用いて画素値を設定する画素値設定手段と、
前記画素値設定手段によって設定された画素値を、拡大処理後の周囲画素の画素値に応じて変換する画素値変換手段
を具備することを特徴とする。
（ｆ）画像内の画素を用いて、（４７）式を適用して値を算出する第１の算出手段と、
前記第１の算出手段によって算出された値を用いて、（３６）式を適用して値を算出する第２の算出手段と、
前記第２の算出手段によって算出された値を用いて、拡大された画素の値を算出する第３の算出手段
を具備することを特徴とする。
（ｇ）さらに、前記（ｆ）項の第１の算出手段は、前記（４７）式内の行列Ａ又は行列Ｂの値を記憶しており、該記憶している値を用いて、算出する
ことを特徴とする。
（ｈ）さらに、前記（ｆ）項の第１の算出手段は、前記（４７）式内の（５２）式又は（５３）式の値を記憶しており、該記憶している値を用いて、算出する
ことを特徴とする。
【図面の簡単な説明】
【００８６】
【図１】拡大処理前の画素と拡大処理後の画素の関係を示した概念的な説明図である。
【図２】線形補間手法で拡大処理を行った場合の概念的な説明図である。
【図３】本実施の形態で拡大処理を行った場合の概念的な説明図である。
【図４】本実施の形態で拡大処理を行った場合の概念的な説明図である。
【図５】第１の実施の形態の構成例についての概念的なモジュール構成図である。
【図６】対象画素と周囲画素との関係及び画素値の対応付けを示した概念的な説明図である。
【図７】画素値投影モジュールの処理を示す概念的な説明図である。
【図８】周囲画素の別の例を示した説明図である。
【図９】第１の実施の形態の別の構成例についての概念的なモジュール構成図である。
【図１０】第１の実施の形態の別の構成例についての概念的なモジュール構成図である。
【図１１】第１の実施の形態の別の構成例についての概念的なモジュール構成図である。
【図１２】３×３の画素値を示す説明図である。
【図１３】拡大画素の画素値を示す説明図である。
【図１４】周囲画素領域を３×３のブロックの一部とした場合を示す説明図である。
【図１５】第２の実施の形態の構成例についての概念的なモジュール構成図である。
【図１６】画素値及びＸ、Ｙ座標との関係を示す説明図である。
【図１７】拡大画素の画素値及びＸ、Ｙ座標との関係を示す説明図である。
【図１８】拡大処理の対象である画素の画素値を示す説明図である。
【図１９】拡大処理後の画素値を示す説明図である。
【図２０】第２の実施の形態の別の構成例についての概念的なモジュール構成図である。
【図２１】第２の実施の形態の別の構成例についての概念的なモジュール構成図である。
【図２２】本実施の形態を実現するコンピュータのハードウェア構成例を示すブロック図である。
【符号の説明】
【００８７】
５１…画素置換モジュール
５２…画素値投影モジュール
５３…連続化処理モジュール
９１…Ｐｉ算出モジュール
９２…μ算出モジュール
９３…ａ算出モジュール
９４…Ｘｉ算出モジュール
９５…Ｙｉ算出モジュール
１０１…Ｐｉ−μ算出モジュール
１１１…（５４）式算出モジュール
１１２…（５５）式算出モジュール
１１３…（１０）式算出モジュール
１１４…Ｘｉ算出モジュール
１５１…関数近似モジュール
１５２…関数縮小モジュール
１５３…拡大画素値作成モジュール
２０１…周囲画素領域の関数近似モジュール
２０２…近似関数のスケーリングモジュール
２０３…出力画素値作成モジュール
２９１…α算出モジュール
２９２…Ｃ算出モジュール
２９３…出力画素値作成モジュール
【図１】
2008263465.tif 000063
【図２】
2008263465.tif 000064
【図３】
2008263465.tif 000065
【図４】
2008263465.tif 000066
【図５】
2008263465.tif 000067
【図６】
2008263465.tif 000068
【図７】
2008263465.tif 000069
【図８】
2008263465.tif 000070
【図９】
2008263465.tif 000071
【図１０】
2008263465.tif 000072
【図１１】
2008263465.tif 000073
【図１２】
2008263465.tif 000074
【図１３】
2008263465.tif 000075
【図１４】
2008263465.tif 000076
【図１５】
2008263465.tif 000077
【図１６】
2008263465.tif 000078
【図１７】
2008263465.tif 000079
【図１８】
2008263465.tif 000080
【図１９】
2008263465.tif 000081
【図２０】
2008263465.tif 000082
【図２１】
2008263465.tif 000083
【図２２】
2008263465.tif 000084