(57)【特許請求の範囲】
【請求項１】
一定間隔で配設される複数の画像読取手段を有する画像読取装置の該画像読取手段の取り付け位置のずれにより生じる画像の歪みを補正する画像補正システムであって、
前記複数の画像読取手段の１つで読み取られた画像領域である処理カラムの変位させる程度を示す変位量を、指定された画像領域に対する前記処理カラムの位置ずれ量から該処理カラムの主走査方向および副走査方向の少なくとも一方について決定する変位量決定部と、
前記変位量、前記処理カラムの変位方向および設定された補間方法に応じて、前記処理カラムの主走査方向および副走査方向の少なくとも一方に、前記補間方法で使用するための少なくとも１つの、画素値を有する画素を仮想的に追加する画素追加部と、
前記処理カラムを前記変位量だけ前記変位方向へ変位させた場合の該処理カラム内の各画素の画素値を、追加した前記画素値を有する画素および前記補間方法を用いて生成し、生成した前記各画素の画素値により前記処理カラム内の各画素について設定されている画素値を更新する画素値更新部とを含む、画像補正システム。
【請求項２】
指定された設定方法に従って、前記処理カラムを設定する処理カラム設定部をさらに含み、前記変位量決定部は、前記処理カラム設定部が設定した前記処理カラムの前記変位量を決定する、請求項１に記載の画像補正システム。
【請求項３】
指定された設定方法に従って、前記指定された画像領域である基準カラムを設定する基準カラム設定部をさらに含み、前記処理カラム設定部は、前記基準カラムとは異なる画像領域を前記処理カラムとして設定する、請求項２に記載の画像補正システム。
【請求項４】
前記変位量決定部は、前記基準カラムと前記処理カラムとに跨って存在する直線または周期的なパターンから前記主走査方向および前記副走査方向の位置ずれ量を算出する、請求項３に記載の画像補正システム。
【請求項５】
前記変位量決定部は、前記位置ずれ量が画素の幅または高さの整数倍となるように前記変位量を決定する、請求項１〜４のいずれか１項に記載の画像補正システム。
【請求項６】
前記処理カラム内の各画素の画素値が更新された後、該処理カラムと該処理カラムと隣り合う画像領域との間に存在する画素の画素値を、設定された補間方法を用いて生成し、生成した前記画素値により前記画素を補間する画素補間部をさらに含む、請求項１〜５のいずれか１項に記載の画像補正システム。
【請求項７】
前記画素補間部は、
前記画素を含む画像領域が周期的な画素値の変動を伴う周期領域であるかを判定する周期性判定部と、
第１補間方法を用いて前記画素の画素値および指定された範囲内に存在する当該画素を除く近傍画素の画素値を生成する第１画素値生成部と、
前記第１補間方法とは異なる第２補間方法を用いて前記画素の画素値および前記近傍画素の画素値を生成する第２画素値生成部と、
前記周期性判定部により得られた判定結果から、前記第１画素値生成部と前記第２画素値生成部のいずれを用いて前記画素の画素値および前記近傍画素の画素値を生成するかを判断する制御部と、
前記制御部により決定された前記第１画素値生成部または前記第２画素値生成部が生成した前記画素の画素値を、前記画像内の当該画素へ挿入する画素値挿入部と、
前記制御部により決定された前記第１画素値生成部または前記第２画素値生成部が生成した前記近傍画素の画素値を用いて、前記画像内の当該近傍画素の画素値を更新する第２画素値更新部とを含む、請求項６に記載の画像補正システム。
【請求項８】
前記周期性判定部により前記周期領域と判定された場合に、前記画素に近隣して１以上の参照領域を設定し、前記１以上の参照領域の画像特徴に基づき、前記画素が前記周期領域と非周期領域とのいずれに存在するかを判定する境界判定部をさらに含む、請求項７に記載の画像補正システム。
【請求項９】
一定間隔で配設される複数の画像読取手段を有する画像読取装置の該画像読取手段の取り付け位置のずれにより生じる画像の歪みを補正するための方法であって、該方法は、画像補正システムにより実行され、
前記複数の画像読取手段の１つで読み取られた画像領域である処理カラムの変位させる程度を示す変位量を、指定された画像領域に対する前記処理カラムの位置ずれ量から該処理カラムの主走査方向および副走査方向の少なくとも一方について決定するステップと、
前記変位量、前記処理カラムの変位方向および設定された補間方法に応じて、前記処理カラムの主走査方向および副走査方向の少なくとも一方に、前記補間方法で使用するための少なくとも１つの、画素値を有する画素を仮想的に追加するステップと、
前記処理カラムを前記変位量だけ前記変位方向へ変位させた場合の該処理カラム内の各画素の画素値を、追加した前記画素値を有する画素および前記補間方法を用いて生成し、生成した前記各画素の画素値により前記処理カラム内の各画素について設定されている画素値を更新するステップとを含む、画像補正方法。
【請求項１０】
請求項９に記載の画像補正方法を実行するためのコンピュータ可読なプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像中の画素値が欠落した画素や不正な画素値を有する画素を補間して当該画像の補正を行う画像補正システム、画像補正方法およびその方法を実行するためのコンピュータ可読なプログラムに関する。
【背景技術】
【０００２】
スキャナ装置として、本体の厚さが薄く、価格も安いことに加えて、読み取った画像に出やすいノイズを低減する技術が向上してきていることから、近年、ＣＩＳ(Contact Image Sensor)を採用したスキャナ装置が広く使用されるようになってきている。
【０００３】
ここで、ＣＩＳは、光源にＲＧＢの発光ダイオード(LED)を用い、ＲＧＢの光をそれぞれ高速に切り換えて、原稿からの光を、レンズを通して撮像素子(CMOSイメージセンサ)へ入力し、ＣＭＯＳイメージセンサで、その入力された原稿からの光を１画素ずつ電圧値へ変換し、出力するものである。
【０００４】
このＣＩＳを採用したスキャナ装置は、原稿をローラでセンサに密着させて１ラインずつ読み取る密着イメージセンサ方式を採用する。ＣＩＳは、１本の長いセンサを作製することが難しいことから、短いセンサ（センサチップ）を、その長さ方向へ複数並べるように配置して読み取り部を構成する。このため、センサチップ間に一定の隙間（ギャップ）が生じ、このギャップにおいては画像信号を取得することができない。その結果、画像信号の欠落が生じる。
【０００５】
また、画像信号を読み取るセンサチップの不具合や、原稿がセットされるコンタクトガラスの汚れ等の光路の途中に遮蔽物が存在することによって、画像信号が欠落したり、読み取られた画像信号が不正な値を示したりすることがある。
【０００６】
こういった欠落した画素の存在や、不正な画素値を有する画素の存在は、画質の低下という問題を発生させる。そこで、これらの画素値を、その画素の周囲にある画素の画素値を用いて推定し、その推定した値に置き換えて補間する技術が知られている。
【０００７】
例えば、対象画素の周囲にある画素の画素値を用いて線形補間する方法や、２次以上の関数を用いて多項式補間あるいはスプライン補間する方法等がある（例えば、特許文献１〜３参照）。線形補間による補間方法は、濃度変化の少ない部分の補間には適しているが、網点領域のように濃度変化の激しい部分の補間には適していない。
【０００８】
多項式補間やスプライン補間による内挿法は、デジタル写真等の、画像を標本化する際のサンプリング周期が画像のパターンの変動周期に対して十分に短いものに対し、高い精度で画素値を推定することができる（例えば、特許文献４参照）。しかしながら、網点画像については、網点の線数に比較して画像の解像度が十分でないことから、サンプリング周期が画像の変動周期に対して十分ではなく、この内挿法では、元のパターンを正しく再現することができない場合が多い。
【０００９】
そこで、内挿法の問題点を解決するべく、パターンマッチングを用いる手法が提案されている（例えば、特許文献５参照）。この手法では、内挿法では再現することができない高い周波数成分を、補間画素の近隣した位置にある類似パターンを用いて再現することができる。
【００１０】
この特許文献５に記載の手法では、補間画素の画素値を正確に推定するため、補間画素の位置が網点領域内であればパターンマッチングを用いて補間画素を含むパターンと類似パターンを画像中から探索し、最も類似するパターン内で補間画素に対応する画素の画素値を、補間画素の画素値として決定している。
【発明の概要】
【発明が解決しようとする課題】
【００１１】
密着イメージセンサ方式を採用するＣＩＳでは、組み付け誤差（センサチップを組み付ける際に生じる組み付け位置の誤差）からセンサチップ間のギャップ幅が画素の幅の整数倍にならない場合があるが、このような場合であっても整数倍であると仮定し、各センサチップから得られた画素値を採用することが多い。実際に、センサチップ間のギャップは、１つのセンサチップにおける右端の光電変換素子の中心から、その右隣にある左端の光電変換素子の中心まで、または１つのセンサチップにおける左端の光電変換素子の中心から、その左隣にある右端の光電変換素子の中心までの距離である。
【００１２】
しかしながら、整数倍にならない場合は、あるセンサチップにより読み取られた画像領域と、別のセンサチップにより読み取られた画像領域との間で、得られる画像信号にずれが生じるため、画像に歪みとして現れてしまう。
【００１３】
例えば、副走査方向に対し斜め方向へ延びるように１本の直線が描かれた原稿を読み取ると、読み取られたデジタル画像上で画像領域ごとに直線が上下左右に平行移動したように構成されてしまう。この例では、直線のみであるため、画質に深刻な影響を与えることは少ない。これは、１本のセンサにおけるセンサチップ間のギャップ数がそれほど多くなく、これによって生じる歪みも見つかりにくいからである。
【００１４】
その一方で、網点画像の場合は画質に深刻な影響を与えることとなる。網点画像では、網点が主走査方向である水平方向に対し、ある角度（スクリーン角）をもって直線状に、所定の周期（スクリーン線数）で配置されるが、スクリーン線数が１インチあたり４０線から２００線まであり、特に高線数の画像では網点の間隔が０．１ｍｍ程度と極めて密に配置されるため、センサチップの組み付け誤差が画質に無視できない影響を与える場合があるからである。
【００１５】
また、センサチップ間のギャップが網点にかかる場合は、組み付け誤差によって網点の形状が歪む上、ギャップによって欠落する画素の画素値を推定することが困難となる。また、その画素の左側の画像領域を基準にして補間すべき画素値を推定した場合と、右側の画像領域を基準にして画素値を推定した場合とで結果が異なってしまい、欠落した画素を補間するための画素値に正解がなくなってしまう。仮に、左右の画像領域から得られた画素値の平均を取るといった対策を講じたとしても、これでは、画像の歪みに起因する欠落した画素を跨いだ画素値の不連続さが目立ってしまう。
【００１６】
図１を参照して、上記のことについて詳細に説明する。図１（ａ）は、実線の直線でサンプリング点１、破線で仮想サンプリング点２、実線の曲線で実際の画像信号３、サンプリング点１により得られた値４をそれぞれ示している。図１（ｂ）は、センサチップ間のギャップが０と仮定した場合のサンプリング点１、サンプリング点１により得られた値４、その値４をなめらかにつないで得られた曲線で表される画像信号５をそれぞれ示している。
【００１７】
図１（ａ）、（ｂ）のｋ−１番目のサンプリング点までが第１センサチップにより読み取られた画像領域に属しており、ｋ番目以降の仮想サンプリング点は、センサチップ間にギャップがなく第２センサチップが組み付けられているとした場合に得られるサンプリング点を示し、ｋ’番目以降のサンプリング点は、第１センサチップの隣にある第２センサチップにより読み取られた画像領域に属するものとなっている。
【００１８】
等間隔である隣り合うサンプリング点間の間隔は、画素の幅または高さといった画素サイズと同じであるから、ｋ−２番目とｋ−１番目、ｋ−１番目とｋ番目、ｋ番目とｋ＋１番目のそれぞれの間隔は１画素である。ｋ番目の仮想サンプリング点とｋ’番目のサンプリング点が一致していればギャップ０であるが、一致しておらず、ｋ’番目のサンプリング点が、隣のｋ＋１番目の仮想サンプリング点よりｋ番目の仮想サンプリング点側に存在しているので、ギャップが１画素未満となっている。
【００１９】
図１（ａ）に示すように、実際の画像信号３は、実線の曲線で示されるものであるが、従来の補間方法のように、ギャップ０として各サンプリング点１で観測された値４をなめらかにつなぎ、それを画像信号５とすると、図１（ｂ）の破線の曲線で示されるように、実際の画像信号３とは異なった画像信号になってしまう。このことは、ギャップを画素サイズの整数倍と仮定した場合も同様である。これでは、従来の補間方法を適用してみたところで、センサチップ間の組み付け誤差に伴い生じる画像の歪みに起因する画質の劣化に対処することはできない。
【００２０】
そこで、センサチップ間の組み付け誤差に伴い生じる画素の歪みに起因する画質の劣化に対処可能なシステムや方法の提供が望まれていた。
【課題を解決するための手段】
【００２１】
本発明は、上記課題に鑑み、一定間隔で配設される複数の画像読取手段を有する画像読取装置の該画像読取手段の取り付け位置のずれにより生じる画像の歪みを補正する画像補正システムであって、
前記複数の画像読取手段の１つで読み取られた画像領域である処理カラムの変位させる程度を示す変位量を、指定された画像領域に対する前記処理カラムの位置ずれ量から該処理カラムの主走査方向および副走査方向の少なくとも一方について決定する変位量決定部と、
前記変位量、前記処理カラムを変位させる方向（変位方向）および設定された補間方法に応じて、前記処理カラムの主走査方向および副走査方向の少なくとも一方に、前記補間方法で使用するための少なくとも１つの、画素値を有する画素を仮想的に追加する画素追加部と、
前記処理カラムを前記変位量だけ前記変位方向へ変位させた場合の該処理カラム内の各画素の画素値を、追加した前記画素値を有する画素および前記補間方法を用いて生成し、生成した前記各画素の画素値により前記処理カラム内の各画素について設定されている画素値を更新する画素値更新部とを含む、画像補正システムが提供される。
【図面の簡単な説明】
【００２２】
【図１】ＣＩＳで読み取った画像信号を例示した図。
【図２】画像補正システムとして用いられる画像補正装置のハードウェア構成を例示した図。
【図３】画像補正装置の構成を例示した機能ブロック図。
【図４】画像が直線を含む場合の当該画像を示した図。
【図５】画像が周期的なパターンである場合の画像信号を示した図。
【図６】処理カラムの画像信号を示した図。
【図７】画像補正装置が行う画像補正処理の流れを示したフローチャート図。
【図８】画素補間部の構成の一例を示した機能ブロック図。
【図９】画素補間部が行う画素補間処理の一例を示したフローチャート図。
【発明を実施するための形態】
【００２３】
本発明の画像補正システムは、原稿等の画像を読み取る画像読取装置内に実装されていてもよいし、画像読取装置とは別個の装置として構成し、画像読取装置とケーブルで直接、またはネットワークを介して接続されていてもよい。ここでは、画像読取装置はＣＩＳを採用したスキャナ装置とされる。
【００２４】
ＣＩＳは、一定間隔で配設された複数の画像読取手段としてのセンサチップを有することから、センサチップ間にはギャップが存在する。このため、ＣＩＳにより読み取られた画像には、センサチップ間のギャップにより欠落した画素値や不正な画素値を有する画素、すなわち補間すべき画素（補間画素）が含まれる。
【００２５】
画像補正システムは、この補間画素に対し、正しい画素値を求め、その画素値を設定する補間処理を行うことができる。センサチップは、１つずつ組み付けられるが、すべてが正確な組み付け位置に組み付けられるわけではないので、組み付け誤差が生じる。しかしながら、組み付け誤差が生じたとしても、センサチップ間のギャップが画素サイズの整数倍となる場合は、上記の補間処理のみで、スキャナ装置により読み取られた画像を補正することができる。
【００２６】
ところが、現実にはセンサチップ間のギャップが画素サイズの整数倍にならない場合がある。そこで、この画像補正システムは、補間処理に先立ち、ギャップが画素サイズの整数倍になるように補正を行う。このようにギャップを画素サイズの整数倍となるように補正し、その後、上記の補間処理を行うことで、画像の歪みのない高精度な補間結果を得ることができる。
【００２７】
ここで、補間処理の一例としては、画像データの入力を受け付け、その画像データから生成される画像の中の補間画素を特定し、設定された補間方法を採用により補間画素に挿入すべき画素値を求め、補間画素の画素値を更新する処理を挙げることができる。
【００２８】
画素値は、１画素を８ビットで表すグレースケール画像では、黒が０で、白が２５５の値をとり、１画素をＲＧＢの各色８ビットで表すカラー画像では、赤、緑、青の各色につき０〜２５５の値をとり、すべてが０のとき黒で、すべてが２５５のとき白を表すものである。
【００２９】
以下、画像補正システムを別個の装置である画像補正装置として構成するものとして、装置構成およびその装置が行う処理について詳細に説明する。画像補正装置は、ＰＣ、ワークステーション、サーバ、ＭＦＰ等の、ギャップが整数倍となるように補正を行う処理および補間処理を実行可能なプログラムが記録された記憶装置と、このプログラムを読み出し実行するプロセッサと、スキャナ装置やネットワークと接続するためのインタフェースとを含んで構成される装置を挙げることができる。
【００３０】
画像補正装置１０は、ハードウェア構成として、図２に示すようなプロセッサとしてマイクロプロセッサユニット(MPU）１１を備え、記憶装置として、ＢＩＯＳ(Basic Input Output System)やファームウェアを格納する不揮発性メモリであるＲＯＭ(Read Only Memory)１２と、ＭＰＵ１１によるプログラム処理を可能とする実行記憶空間を提供するＲＡＭ(Random Access Memory)１３とを備える構成とすることができる。
【００３１】
ＭＰＵ１１は、内部バスを介してインタフェースの１つである記憶制御用インタフェース１４に接続され、その記憶制御用インタフェース１４に接続される記憶装置の１つであるハードディスク１５へアクセスし、各種アプリケーションやデータの読み出し、実行し、書き込みを行う。この記憶制御用インタフェース１４としては、ＩＤＥ(Integrated Device Electronics)、ＡＴＡ(AT Attachment)、シリアルＡＴＡ、ＵｌｔｒａＡＴＡ等の規格により、ハードディスク１５の入出力を管理するインタフェースを使用することができる。ＭＰＵ１１は、内部バスを介してＵＳＢ(Universal Serial Bus)、ＩＥＥＥ１３９４等のシリアルまたはパラレル・インタフェース１６を制御し、キーボード、マウス、プリンタといった入出力装置１７と通信し、ユーザからの入力を受け付けることができる。
【００３２】
画像補正装置１０は、ＭＰＵ１１からの指令に応答して、ビデオ信号を処理し、表示装置１８へと表示させるＶＲＡＭ(Video RAM)１９、グラフィックチップ２０と、ネットワークを介して他の機器と通信するために該ネットワークと接続されるネットワークＩ／Ｆ２１とを含んで構成することができる。ＶＲＡＭ１９は、表示装置１８に対するビデオ表示のための記憶装置として使用されるＲＡＭであり、グラフィックチップ２０は、画像データ処理を行う集積回路である。
【００３３】
また、この画像補正装置１０は、ＲＯＭ１２やハードディスク１５、その他の図示しないＮＶ−ＲＡＭやＳＤカード等の記憶装置に格納されたプログラムをＭＰＵ１１が読み出し、ＲＡＭ１３のメモリ領域に展開することにより、適切なＯＳ(Operating System)の下、後述する各処理を実現し、そのＭＰＵ１１を、各処理を実現するための各部として構成することができる。ＯＳとしては、Ｗｉｎｄｏｗｓ（登録商標）、ＵＮＩＸ（登録商標）、ＬＩＮＵＸ（登録商標）等を採用することができる。なお、この画像補正装置１０は、上述したＰＣ等に限られるものではなく、特定の用途向けに複数機能の回路を１つにまとめたＡＳＩＣ(Application Specific Integrated Circuit)として構成することも可能である。
【００３４】
図３は、図２に示した画像補正装置の機能ブロック図である。画像補正装置１０は、上述したように、ＲＯＭ１２やハードディスク１５等の記憶装置に記憶されているプログラムを、プロセッサであるＭＰＵ１１が読み出し実行することにより各機能を実現することができる。したがって、画像補正装置１０は、センサチップ間のギャップが画素サイズの整数倍となるように補正するため、変位量決定部３０、画素追加部３１、画素値更新部３２を備える構成とされる。また、画像補正装置１０は、補間画素に対し、正しい画素値を求め、その画素値を設定する補間処理を行う画素補間部３３を備えることができる。
【００３５】
画像補正装置１０は、さらに、図示しない画像読取装置で読み取られた画像において、指定された設定方法に従って、ある１つのセンサチップで読み取られた画像領域を基準カラムとして設定する基準カラム設定部３４、指定された設定方法に従って、そのセンサチップとは異なるセンサチップにより読み取られた異なる画像領域を処理カラムとして設定する処理カラム設定部３５を備えている。
【００３６】
画像読取装置で読み取られた処理対象の画像は、この画像補正装置１０へ送られ、画像補正装置１０の基準カラム設定部３４がその画像を画像データとして受け付ける。処理対象の画像は、各センサチップで読み取られた複数の画像領域から構成され、各画像領域が各カラムを構成する。センサチップ間にはギャップが存在するため、そのギャップに対応する部分の画素が補間画素となる。上述したように、ギャップが画素サイズの整数倍であれば、直接補間処理を行うことができる。しかしながら、整数倍にならない場合、そのまま補間処理のみを行ったのでは、画像に歪みを生じてしまう。これでは、画質に大きな影響を及ぼすことになる。そこで、ギャップが画素サイズの整数倍となるように補正し、その上で補間処理を行う。
【００３７】
そのために、補間処理を行う画素補間部３３へ画像を送る前に、上記基準カラム設定部３４、処理カラム設定部３５、変位量決定部３０、画素追加部３１、画素値更新部３２を使用して、ギャップが整数倍になるように補正を行う。
【００３８】
基準カラム設定部３４は、例えば、画素値を更新しないカラムを基準カラムとして設定し、あるいは既に画素値が更新済みのカラムを基準カラムとして設定する。処理カラム設定部３５は、その基準カラムの隣のカラムを処理カラムとして設定する。画像中に２ｎ＋１個（ｎは０以上の整数）のカラムが存在する場合、以下の設定方法に従って、基準カラムおよび処理カラムを設定することができる。
【００３９】
１つの方法として、左端から順に基準カラムとして設定する方法がある。これは、画像中の左端から１番目にあるカラムを基準カラムとして設定し、その右隣の左端から２番目にあるカラムを処理カラムとして設定するものである。すなわち、向かって左端にあるセンサチップにより読み取った画像領域を基準カラムとして設定し、その右隣にあるセンサチップにより読み取った画像領域を処理カラムとして設定するものである。
【００４０】
ギャップは、１つのセンサチップ間のみに存在するものではなく、すべてのセンサチップ間に存在するため、上記処理カラムの処理が終了した後は、その処理済みの左端から２番目にあるカラムを基準カラムとして設定し、そのカラムの右隣の左端から３番目にあるカラムを新たな処理カラムとして設定し、ギャップが画素サイズの整数倍になるように補正を行う処理を実行する。これを２ｎ＋１番目のカラムまで繰り返すことにより、すべてのカラムについて行う。
【００４１】
２つ目の方法として、左端ではなく、右端から順に基準カラムとして設定する方法がある。これは、左端から２ｎ＋１番目となる右端から１番目のカラムを基準カラムとして設定し、その左隣の左端から２ｎ番目にあるカラムを処理カラムとして設定するものである。これも同様にして、処理済みのカラムを基準カラムとして設定し、その左隣にあるカラムを新たな処理カラムとして設定し、補正処理を行う。これを左端から１番目のカラムまで繰り返し、すべてのカラムについて補正処理を行う。
【００４２】
３つ目の方法として、中央にある左端からｎ＋１番目のカラムを基準カラムとして設定する方法がある。これは、左端からｎ＋１番目のカラムを基準カラムとして設定し、その左隣の左端からｎ番目のカラムおよびその右隣の左端からｎ＋２番目のカラムの２つを処理カラムとして設定するものである。この場合、それら処理カラムについて補正処理が終了した後、処理済みのｎ番目のカラムおよびｎ＋２番目のカラムを基準カラムとして設定し、ｎ番目のカラムの左隣のｎ−１番目のカラム、ｎ＋２番目のカラムの右隣のｎ＋３番目のカラムを処理カラムとして設定し、上記補正処理を行う。このようにして、左端から１番目のカラムおよび２ｎ＋１番目のカラムまで繰り返し、すべてのカラムについて補正処理を行う。
【００４３】
３つの設定方法を説明してきたが、これらの方法に限られるものではなく、１つのカラムを基準カラムとして固定し、他のカラムを逐次処理カラムとして設定して補正処理を行うことも可能である。
【００４４】
変位量決定部３０は、補正処理において処理カラムの画素値を更新する際、処理カラム内の画像信号をどの程度変位させるかを決定する。変位させる程度を示す変位量は、処理カラムの主走査方向および副走査方向のそれぞれに与えることができるが、一方向のみに限定することも可能である。ここでは、変位量は１画素未満として説明を行う。
【００４５】
例えば、センサチップ間のギャップが１．２画素である場合、画素サイズの整数倍にするには、０．２画素分基準カラム側へ処理カラムを変位させる必要がある。そうすれば、ギャップが１画素となり、画素サイズの整数倍となる。したがって、変位量決定部３０は、変位量を０．２画素と決定し、変位方向を基準カラム側に近づける方向と決定する。
【００４６】
センサチップ間のギャップが０．７画素である場合、画素サイズの整数倍にするには、０．３画素分基準カラムから遠ざける方向に処理カラムを変位させる必要がある。そうすれば、ギャップが１画素となり、画素サイズの整数倍となる。したがって、変位量決定部３０は、変位量を０．３画素と決定し、変位方向を基準カラムから遠ざける方向と決定する。
【００４７】
上記例では、いずれもギャップが１画素となるように変位量および変位方向を決定したが、ギャップが０画素や２画素となるように変位量および変位方向を決定することも可能である。また、変位量は、上記の０．２画素や０．３画素といった１画素未満のものに限られるものではなく、１画素を超えるものであってもよい。
【００４８】
変位量決定部３０は、チップセンサ間のギャップが画素の幅または高さの整数倍であった場合に得られるであろう画像信号を、実際に得られた画像信号を基に推測するために変位を与えるため、これに適合するように変位量を決定する。このギャップは、ユーザによって予め与えられてもよいし、動的に決定することも可能である。
【００４９】
図４および図５を参照して、センサチップ間のギャップを動的に決定する方法について詳細に説明する。図４は、画像が直線を含む場合の当該画像を示し、図５は、画像が周期的なパターンである場合の画像信号を示している。
【００５０】
１つの方法として、直線のずれからギャップを検出する方法がある。図４に示すように、まず、隣り合う２つの基準カラム４０と処理カラム４１に跨って存在する直線４２、４３を検出する。次に、基準カラム４０と処理カラム４１の境界で、この直線４２、４３がどれだけずれているかを基に、２つのカラムの位置ずれ量を推定する。
【００５１】
直線の検出は、デジタル画像処理で用いられる特徴抽出法の１つであるハフ変換等を用いて行うことができる。各カラム内でそれぞれ直線を検出した後は、境界部分で近接する傾きが等しいものをペアとし、上記の位置ずれ量を推定する。例えば、水平線の鉛直方向の位置ずれ量を用いれば、基準カラムと処理カラムとの副走査方向の位置ずれを検出することができる。しかしながら、１本の直線のみでは、主走査方向および副走査方向それぞれの位置ずれを同時に求めることはできないので、２本以上の直線を用いる必要がある。
【００５２】
具体的に説明すると、例えば、処理対象の画像中に直線１と直線２が存在しているものとする。これらの直線を検出し、基準カラム内の直線１が式１、直線２が式２、処理カラム内の直線１が式３、直線２が式４で表されたとする。
【００５３】
【数１】
0005786547.tif 000002
【００５４】
【数２】
0005786547.tif 000003
【００５５】
【数３】
0005786547.tif 000004
【００５６】
【数４】
0005786547.tif 000005
【００５７】
上記式１〜式４を用いると、主走査方向の位置ずれΔｘ、副走査方向の位置ずれΔｙは、次の式５、式６で表すことができる。
【００５８】
【数５】
0005786547.tif 000006
【００５９】
【数６】
0005786547.tif 000007
【００６０】
なお、画像内から直線を検出し、その直線のずれから位置ずれ量を推定する以外に、位置ずれを検出するための基準となるパターンを原稿の読み取り範囲外に設置し、このパターンを用いてセンサチップ間の位置ずれ量を推定することも可能である。
【００６１】
別の方法として、周期的なパターンの位相ずれからギャップを検出する方法がある。この方法は、隣り合う２つの基準カラムと処理カラムに跨って存在する周期的なパターンを検出し、基準カラムと処理カラムとでこのパターンの位相がどれだけずれているかを基に、２つのカラムの位置ずれ量を推定する。
【００６２】
周期的なパターンを検出する方法としては、これまでに知られた方法を用いることができ、例えば、画素値の変動の周期性を用いる方法、自己相関の変動の周期性を用いる方法、周期性を分析するために用いられる離散フーリエ変換による方法等を挙げることができる。なお、周期性の検出と同時に、パターンの周期を推定することが望ましい。
【００６３】
例えば、画素値の変動の周期性を用いる方法では、まず、所定の大きさの判定領域を定め、その判定領域内で画素値の変動に周期性があるか否かを判定する。判定領域は、高さ１画素の領域、すなわち画像の１ラインとすることもできるし、任意の高さをもった矩形領域とすることもできる。
【００６４】
判定領域のサイズは、予めユーザによって設定することもできるし、装置が動的に決定することも可能である。装置が動的に決定する場合、予め指定された領域サイズで一度周期性の有無の判断を行い、それより小さいサイズでも十分に判断を行うことができるようであれば、一定サイズで小さくしていくことができ、反対に判断を行うことができない場合には、一定サイズで大きくしていくことができる。
【００６５】
この判定領域における水平方向の画素の位置と画素値との関係は、画素値がその画素において一定の値を示すことから、実際にはとびとびの値となるが、周期性がある場合、隣り合う位置の画素値を滑らかにつなぎ合わせると、一定の周期で画素値が増減する波形で表すことができる。このため、この判定領域では画素値の変動に周期性があることを検出することができる。また、この波形から周期を推定することもできる。
【００６６】
このような周期性がある判定領域としては、網点や斜線で表される網点領域が挙げられる。一方、周期性のない判定領域としては、文字や規則的に配列していない点から構成される不連続領域、１色やグラデーションで表される背景等の平坦領域が挙げられる。
【００６７】
例えば、自己相関の変動の周期性を用いる方法では、所定のサイズの領域である判定領域を設定し、その判定領域内において変動周期を計算し、計算された変動周期を用いて判定領域の周期性の有無を判定することにより、周期性を判定する。
【００６８】
周期性を判定するために変動周期を求める必要があるが、判定領域内の画素値の変動周期が常に一定とは限らない。そこで、周期性を判定するために用いる変動周期として代表周期を採用する。この代表周期を求める一例として、判定領域内において画素値が極大となる位置（ピーク位置）、具体的には波形の正方向のピークを示す画素の位置を記録していき、あるピーク位置から次のピーク位置までの距離のヒストグラムを判定領域全体にわたって作成した上で、度数の最も多い階級に対する値である最頻値となる距離を代表周期として採用する。この代表周期は、画素数で表すことができる。なお、代表周期にある程度の誤差を許容する観点から、代表周期±１の距離を用いることも可能である。
【００６９】
このとき、極大となる位置ではなく、極小となる位置（波形の負方向のピークを示す画素の位置）を用いて求めることも可能である。代表周期を求める際に画素値の変動の周期性を利用するとノイズ耐性が低いため、画素値の自己相関を求め、その変動の周期性を利用すればノイズ耐性が上昇する。このため、これらの極大となる位置および極小となる位置を用いて求める場合、自己相関を用いる。ここで、ノイズ耐性が上昇する理由は、ノイズが多くの場合に画素値に乗るため、画素値を直接利用する場合よりも、複数の画素値を用いて導出された自己相関という形で利用した場合のほうが、ノイズによる影響を低く抑えることができるからである。
【００７０】
自己相関とは、ある信号とその信号に所定の位相ずれを与えた信号との相関のことである。この場合、判定領域内において自己相関を求めていき、画素値に代えて自己相関の値を用いてヒストグラムを作成し、最頻値を代表周期として採用する。この自己相関の値としては、相関係数を用いることもできるし、共分散を用い、より計算を簡便にすることも可能である。
【００７１】
ここで、共分散Ｓは、２つの画素値の共変動の大きさを示す指標で、比較するパターンの一方のｉ番目の画素値をｘｉとし、他方のパターンのｉ番目の画素値をｙｉとし、一方のパターンの画素値の平均値をｘｍとし、他方のパターンの画素値の平均値をｙｍとし、パターンの画素数をｎとすると、次の式７により求めることができる。
【００７２】
【数７】
0005786547.tif 000008
【００７３】
相関係数Ｒは、２つの確率変数の間の類似性の度合いを示す指標で、一方のパターンの標準偏差をσｘとし、他方のパターンの標準偏差をσｙとすると、次の式８により求めることができる。
【数８】
0005786547.tif 000009
【００７４】
信頼度Ｃｖは、例えば、次の式９を用いて求めることができる。式９中、Ｔは、上記で求めた代表周期で、Ｆｒは、上記ヒストグラムにおける代表周期Ｔに対応する距離の度数で、Ｎは、判定領域の画素数である。なお、Ｆｒは、代表周期Ｔの度数だけでなく、代表周期を推定する際の誤差を許容するためにＴ±１の度数の合計を用いてもよい。この式９は、代表周期と同じピーク位置間の距離を有するものが、判定領域全体のどの程度の割合を占めているかを信頼度として定義することを意味している。
【００７５】
【数９】
0005786547.tif 000010
【００７６】
この信頼度が閾値よりも高い場合に周期性があると判断し、閾値以下である場合には周期性なしと判断するが、この閾値は、予めユーザによって設定することができ、また、動的に決定することも可能である。予めユーザによって設定する場合、シミュレーションや実験を行い、周期性の有無を判断するのに好適な信頼度を求めることにより閾値を決定し、その閾値を設定することができる。動的に決定する場合は、例えば、実際に周期性を有する網点領域と周期性を有しない不連続領域または平坦領域について信頼度を求め、その中間値を閾値として決定することができる。
【００７７】
変位量決定部３０は、このようにして周期的なパターンを検出した後、その周期的なパターンにおいて基準カラム内の領域と処理カラム内の領域との位相ずれを検出する。この位相ずれを検出する方法としては、例えば、周期的なパターンの極大間の距離を用いる方法、周期的なパターンの極小間の距離を用いる方法、周期的なパターンの変位を用いる方法等が挙げられる。
【００７８】
１つ目の周期的なパターンの極大間の距離を用いる方法では、周期性を有すると判定された判定領域を周期的なパターンとし、そのパターンにおける画素値や自己相関の極大と極小との距離が、カラム内と、基準カラムと処理カラムの境界部とで、どの程度異なっているかを用い、位相ずれを検出する。詳細については、後述する。なお、極大間の距離は、パターンの周期で代替可能である。
【００７９】
２つ目の周期的なパターンの極小間の距離を用いる方法では、周期的なパターンにおける画素値や自己相関の極大と極小との距離が、カラム内と、基準カラムと処理カラムの境界部とで、どの程度異なっているかを用い、位相ずれを検出する。この場合も、極小間の距離は、パターンの周期で代替可能である。
【００８０】
３つ目の周期的なパターンの変位を用いる方法では、基準カラム側の領域と処理カラム側の領域との変位を検出し、その変位が期待値からどの程度ずれているかを用い、位相ずれを検出する。例えば、基準カラム側の領域と処理カラム側の領域とが１周期分離れている位置で変位が検出されれば、変位の期待値は０であり、検出された変位が位相ずれとなる。この変位の検出には、これまでに知られたいかなる方法でも用いることができ、例えば、テンプレートマッチング法や位相限定相関法等が挙げられる。
【００８１】
テンプレートマッチング法は、画像の中から指定した部分、大きさの画像領域である基準パターンとしてのテンプレートを用い、そのテンプレートと似ている位置を探す方法で、テンプレートと画像の中のパターン間の一致度を求めることにより行われる。位相限定相関法は、２つの画像を高速フーリエ変換（ＦＦＴ）し、それらの積を求める際、周波数成分を振幅値で除した後にその積を求め、その後、逆ＦＦＴして、平行移動による位置ずれ量を求める方法である。
【００８２】
図５を参照して、さらに詳しく説明すると、図５（ａ）には、複数のセンサチップにより読み取った画像の画像信号５０が曲線で示され、主走査方向の各位置にある画素値がサンプリング点５１として示され、サンプリング点５１が等間隔であれば得られたであろう仮想サンプリング点５２も示されている。図５（ａ）中、ｋ−１番目のサンプリング点５１より向かって左側にあるｋ−２番目等のサンプリング点が基準カラムにおける画素の画素値を示し、ｋ番目のサンプリング点５１より向かって右側にあるｋ＋１番目等のサンプリング点が処理カラムにおける画素の画素値を示している。
【００８３】
図５（ｂ）は、実際に得られた画素値を基に推定される画像信号を示した図である。実際の画素値は、その画素の位置において一定の値として得られる。このため、上述したように隣り合う画素の画素値は、とびとびの値を示す。得られた画素値を滑らかにつなぐと、図５（ｂ）に示すような曲線で表される画像信号５３が得られる。ちなみに、図５（ａ）におけるサンプリング点５１は、図５（ｂ）におけるサンプリング点５４に対応し、図５（ａ）における仮想サンプリング点５２は、図５（ｂ）における仮想サンプリング点５５に対応するものである。
【００８４】
図５（ａ）と図５（ｂ）を比較してみると、センサチップ間に位置ずれが存在すると、各カラム内では極大点間の距離ｄｓで一定であるが、カラムを跨ぐ極大点間の距離ｄｇは、位置ずれが存在するために、距離ｄｓとは異なってくる。このため、距離ｄｓと距離ｄｇとの差を求めることにより、位置ずれ量を推定することができる。これは、極小間も同様である。
【００８５】
図５（ａ）および図５（ｂ）では、説明を容易にするために、画像信号を一次元で示しているが、実際には二次元の信号であるため、この推定を鉛直と水平の両方について行う必要がある。ただし、現実には網点やハッチング等の角度を持った周期的なパターンを用いて推定を行った場合、その距離の差が水平方向の位置ずれに起因するものか、鉛直方向の位置ずれに起因するものかの区別が困難である。
【００８６】
網点であれば、スクリーン角に沿って画像信号の位置ずれを推定することにより、スクリーン角を用いて水平方向と鉛直方向とに分解することができる。スクリーン角θに沿ってずれ量ｄが検出された場合、位置ずれΔｘ、Δｙを次の式１０および式１１により求めることができる。なお、このスクリーン角θは、水平から反時計回りに計測された角度とする。
【００８７】
【数１０】
0005786547.tif 000011
【００８８】
【数１１】
0005786547.tif 000012
【００８９】
網点のような周期性を有する解析には、一般的に、離散フーリエ変換等が用いられる。このため、網点のスクリーン角が未知である場合は、離散フーリエ変換等を用いて推定することができる。
【００９０】
再び図３を参照して、画素追加部３１は、変位量決定部３０にて決定された変位量、処理カラムを変位させる方向、その変位量だけその変位方向へ変位させた処理カラム内の各画素の画素値を計算するために用いられる、予め設定された補間方法に応じて、処理カラムの主走査方向および副走査方向の少なくとも一方に、上記の補間方法で使用するための少なくとも１つの画素を追加する。この画素は、画素値を有する仮想的な画素である。
【００９１】
この補間方法としては、これまでに知られた方法を用いることができ、例えば、最近傍補間（０次補間）、線形補間（一次補間）、放物線補間（二次補間）、キュービック補間（三次補間）、多項式補間、スプライン補間、ラグランジュ補間、線形補間やキュービック補間を二次元に拡張したバイリニア補間やバイキュービック補間、テンプレートマッチングといった方法を用いることができる。
【００９２】
例えば、変位させた処理カラム内の各画素の画素値を計算するためにバイリニア補間を用いる場合は、バイリニア補間が、画素値を求めるべき画素につき、その画素の上下左右の４画素の平均値を採用して補間を行うことから、処理カラムの端にある画素については、上下左右のいずれか１つの画素が不足することになる。ここでいう左右とは、主走査方向であり、上下とは、副走査方向である。そこで、この画素追加部３１が、計算に必要とされる画素を追加しておき、画素値を計算することができるようにする。ちなみに、画素追加部３１は、バイリニア補間の場合、処理カラムに隣接して上下左右に１画素ずつ追加し、バイキュービック補間の場合は、処理カラムに隣接して上下左右に２画素ずつ追加する。
【００９３】
上記のように、処理カラムの周囲に１画素ずつ、あるいは２画素ずつ追加することができるが、追加する方向を決定し、その方向にのみ追加することも可能である。追加する方向は、変位量や補間方法に応じて決定することができる。例えば、変位量が主走査方向と副走査方向の両方に存在する場合や、補間方法が主走査方向と副走査方向の両方に幅をもつ領域の画素を参照する場合は、処理カラムの上下左右に仮想的な画素を追加する。変位量が主走査方向と副走査方向の一方のみに存在し、かつ補間方法が変位と同じ方向のみの画素を参照する場合は、その方向のみに仮想的な画素を追加する。
【００９４】
画素値更新部３２は、処理カラムを変位方向に変位量だけ変位させた場合のその処理カラム内の各画素の画素値を、追加した画素の画素値および補間方法を用いて生成し、生成した各画素の画素値で処理カラム内の各画素の画素値を置換することにより更新する。具体的に説明すると、例えば、元の画像信号をＦ（ｘ，ｙ）、変位量を（ε１，ε２）とすると、変位させた画像信号Ｆ’（ｘ，ｙ）は、次の式１２で表すことができる。
【００９５】
【数１２】
0005786547.tif 000013
【００９６】
画素値更新部３２は、変位させた画像信号Ｆ’（ｘ，ｙ）から各画素の画素値を求め、処理カラム内の各画素の画素値を、この求めた画素値で置換することにより更新する。この画素値更新部３２による処理の詳細を、図６を参照して以下に詳細に説明する。
【００９７】
図６（ａ）は、処理カラムの変位前の元の画像信号を示した図であり、実線の曲線が元の画像信号６０で、実線の直線がサンプリング点６１を示し、丸がサンプリングされた値６２を示す。ちなみに、サンプリング点６１は、画素に相当し、値６２は、画素値に相当する。
【００９８】
図６（ｂ）は、処理カラムを変位させた後の画像信号を示した図である。図６（ｂ）に示す画像信号６３は、図６（ａ）に示す画像信号６０を１／３画素ほど向かって左側に変位させたものである。この図６（ｂ）には、実線の直線で表される仮想サンプリング点６４、丸で表されるサンプリングされた値６５が示されている。値６５は、値６２と同じものである。
【００９９】
処理カラム内の各画素の画素値を更新するために、以下の処理が画素値更新部３２によって実行される。まず最初に、処理カラムの変位前の元の画像信号を仮想的に変位量だけ変位方向に変位させる。実際に画像信号を変位させるのではなく、座標変換により仮想的に変位させることにより行うことができる。
【０１００】
仮想的に変位させた画像信号に対し、各画素に対応する位置に仮想サンプリング点６４を設け、その仮想サンプリング点６４における値を読み、画素値を推定する。そして、その推定した値を、変位後の画素の画素値として用い、元の処理カラム内の各画素の画素値をその推定した値に置換して、処理カラム内の各画素の画素値を更新する。
【０１０１】
仮想サンプリング点６４における値を推定する方法としては、これまでに知られたいかなる方法でも用いることができ、上述した線形補間やテンプレートマッチング等を用いることができる。なお、網点やハッチング等の周期的なパターンを有する画像の場合、線形補間といった内挿法よりパターンマッチングを用いるほうが適切に補間を行うことができるので好ましい。特に、高線数の網点等の周期が短いパターンは、内挿法を用いると画像信号のピークがつぶれ、画像信号が鈍ってしまうので、これらの問題が生じないテンプレートマッチングが好ましい。
【０１０２】
再び図３を参照して、画素補間部３３は、画素値更新部３２により処理カラム内の各画素の画素値が更新され、基準カラムと処理カラムとの間のギャップが画素サイズの整数倍になったところで、基準カラムと処理カラムとの間に存在する補間画素を補間する処理を行う。例えば、画素補間部３３は、基準カラムと処理カラムとの間に１画素以上の補間画素が存在する場合、この補間画素を補間する。補間方法は、上述した補間方法を用いることができ、その一例として、以下に説明する方法を採用することができる。ただし、この方法に限定されるものではなく、これ以外のこれまでに知られたいかなる方法でも用いることができる。
【０１０３】
その前に、図７に示すフローチャートを参照して、画像補正装置１０が行う画像補正処理の流れについて説明する。画像読取装置により原稿等が読み取られ、画像データが画像補正装置１０へ送られてくると、画像補正装置１０は、ステップ７００から処理を開始する。
【０１０４】
まず最初に、補正処理を行うために、画像データは、基準カラム設定部３４へ送られ、ステップ７１０で、基準カラム設定部３４が上記のいずれかの方法により基準カラムを設定する。そして、基準カラム設定部３４が基準カラムを設定した旨の通知と、設定した基準カラムに関する情報を処理カラム設定部３５へ送り、その基準カラムに関する情報を基に処理カラムを設定する。基準カラムに関する情報としては、基準カラムを識別するための基準カラム識別情報を含む。基準カラムを特定する情報がなければ、処理カラムを特定し、設定することはできないからである。
【０１０５】
ステップ７２０では、変位量決定部３０は、処理カラム設定部３５から処理カラムを設定した旨の通知、基準カラムおよび処理カラムに関する情報を受けて、設定された基準カラムに対して、設定された処理カラムの変位量を、処理カラムの主走査方向および副走査方向に少なくとも一方について決定する。処理カラムに関する情報は、基準カラムと同様、処理カラムを識別するための処理カラム識別情報を含む。
【０１０６】
次に、ステップ７３０において、画素追加部３１は、変位量決定部３０から変位量を決定した旨の通知、その変位量および変位方向に関する情報を受けて、処理カラムの主走査方向および副走査方向の少なくとも一方に、設定された補間方法で使用するための少なくとも１つの画素を仮想的に追加する。この追加した画素は、後に変位させた際、処理カラム内の各画素の画素値を生成する処理を行うのに使用するからである。その画素値を生成する際、上述した様々な補間方法を採用することができるが、変位量、変位方向、その補間方法に応じて、追加する画素数や方向を決定することができる。
【０１０７】
ステップ７４０では、画素値更新部３２が、画素追加部３１から画素の追加が終了した旨の通知を受けて、処理カラムを、ステップ７２０で決定した変位方向に変位量だけ変位させた場合のその処理カラム内の各画素の画素値を、追加した画素の画素値および設定された補間方法を用いて生成し、生成した各画素の画素値により処理カラム内の各画素の画素値を置換することにより更新する。これにより、基準カラムと処理カラムとの間のギャップが画素サイズの整数倍となる。
【０１０８】
画素値更新部３２が処理カラム内の各画素の画素値を更新した旨を画素補間部３３へ通知すると、ステップ７５０へ進み、画素補間部３３が、基準カラムと処理カラムとの間に存在する補間画素を、上述したいずれかの補間方法を用いて補間する。上述したように、網点やハッチング等の周期性を有するパターンについては、パターンマッチング法を用い、そうでない場合は内挿法を用いて補間を行うことができる。この処理が終了したところで、１つの処理カラムについての補間処理が終了する。
【０１０９】
その後、ステップ７６０へ進み、すべてのカラムについて更新を終え、補間を終えたかを判断する。まだ更新すべきカラムが存在する場合は、ステップ７１０へ戻り、そのカラムについて同様にして処理を行う。一方、すべてのカラムについて更新を終え、補間を終えた場合は、ステップ７７０へ進み、画像補正を終了する。
【０１１０】
画像補間部３３は、補間画素を補間する処理を行うために、上述した内挿法やパターンマッチング法を使用して補間することができる。補間画素が、網点やハッチング等の周期性を有するパターン内に存在する場合は、画質を低下させないように適切に補間を行うためにパターンマッチング法を採用することが望ましく、それ以外の場合においては、内挿法でも十分である。このように周期性を有するパターン内に補間画素が存在するか否かに応じて、これらの補間方法を選択することができることが望ましい。
【０１１１】
上記の補間方法を選択することができる構成の一例として、画素補間部３３は、図８に示すように、例えば、図示しない画素設定部、周期性判定部７０、境界判定部７１、第１画素値生成部７２、第２画素値生成部７３、制御部７４、画素値挿入部７５、図示しない第２画素値更新部を含む構成とすることができる。この構成は、あくまで一例であるので、これに限定されるものではない。
【０１１２】
図示しない画素設定部は、画素値を挿入し補間する対象の補間画素を、処理対象となる画像内で検出する。補間画素は、予めユーザが位置を検出しておくこともできるし、装置が逐次その位置を検出することも可能である。位置は、例えば、向かって左下隅の座標を基準座標（０，０）として主走査方向と同じ右方向への画素数ｘと、上方向への画素数ｙとを用い、座標（ｘ，ｙ）として表すことができる。
【０１１３】
補間画素を検出する場合の検出方法としては、例えば、予め指定された明るさや色の画素であるかどうかを、１画素ずつ画素値を調べて補間画素を検出する方法や、既知の画像を読み取った際の正解値からのずれ量の大きさを評価することにより補間画素を検出する方法や、水平または鉛直方向の周期性が不連続となる位置を検出し、その位置にある画素を補間画素として検出する方法を挙げることができる。
【０１１４】
周期性判定部７０は、上述した周期的なパターンを検出する方法と同様の方法を用い、所定の大きさの判定領域を定め、その判定領域内で画素値の変動に周期性があるか否かを判定する。このときの判定領域は、補間画素を含むように定められる。
【０１１５】
境界判定部７１は、周期性判定部７０により補間画素を含む領域が周期性のある領域（周期領域）であると判定された場合に、その補間画素が本当に周期領域に属しているか否かを判定する。補間画素が周期領域と非周期領域との境界付近に存在する場合、補間画素は周期領域内に存在するのに、その近傍に存在するパターンは非周期領域のものを採用すると、正しく補間することができなくなってしまう。このため、正しい周期領域内のパターンを採用して推定することができるように、境界判定部７１が本当にどちらの領域に属するかを判定する。
【０１１６】
その一例として、補間画素を中心として、この補間画素から所定の距離だけ左右に離れた位置に参照領域を設定し、補間画素の左右に設定した参照領域において画像特徴の１つである画素値の分散を個別に求め、左右両方とも分散が閾値以上であれば周期領域に、閾値未満である場合には非周期領域に存在すると判定することができる。
【０１１７】
上記所定の距離は、例えば３画素とすることができる。これは、網点が６画素ごとに配置される場合、後述するパターンマッチングに、補間画素を中心としてこの補間画素の左右３画素分をテンプレートとして用いることから、このテンプレートの外側で最も近い位置である、補間画素の左右３画素分離れた位置に参照領域を設定するものである。最も近い位置としているのは、テンプレートにパターンが近似しているものは、テンプレートの近傍に存在していることが多いためである。
【０１１８】
参照領域は、例えば、補間画素を含む高さ１画素の領域、すなわち画像の１ラインとすることができ、補間画素を含む任意の高さを有する矩形領域とすることもできる。この領域も、予めユーザによって設定することもできるし、上記判定領域の場合と同様にして、装置が動的に決定することも可能である。この参照領域は、補間画素の左右に限られるものではなく、上下や上下左右等に設定することができ、１以上の領域を設定することができる。
【０１１９】
分散は、下記式１３により求めることができる。式１３中、ｘｉは、参照領域内のｉ番目にある画素の画素値で、ｘｍは、参照領域内にある画素の画素値の平均値であり、ｎは、参照領域内にある画素の画素数である。なお、この分散は、参照領域内の画素の最大輝度値と最小輝度値との差や、カラー画像の場合には最大の緑成分の値（Ｇ成分値）と最小のＧ成分値との差等で代替することも可能である。
【０１２０】
【数１３】
0005786547.tif 000014
【０１２１】
第１画素値生成部７２は、補間方法として、パターンマッチング法を用いて、補間画像の画素値を生成する。パターンマッチング法の具体例として、テンプレートマッチングを用いることができる。
【０１２２】
この機能を実現するために第１画素値生成部７２は、最初に、テンプレートのサイズを決定する。テンプレートの幅は、上記のようにして求めた代表周期を基準として設定する。このテンプレートの幅は、代表周期の幅と一致させることができるが、これに限られるものではなく、代表周期の幅の画素数より左右に１画素ずつ大きめにしたり、左右に１画素ずつ小さめとする等、やや大きめまたはやや小さめにすることができる。
【０１２３】
第１画素値生成部７２は、次にテンプレートの高さを設定するが、幅と同様に、代表周期の高さと一致させることができる。補間画素が網点領域に属する場合には、一辺が概ね代表周期である正方形の領域として設定することが望ましい。正方形の領域とすれば、網点１つ分を表現することができるからである。
【０１２４】
第１画素値生成部７２は、上記のようにして決定したテンプレートのサイズに基づき、補間画素を含む領域を画像の中から切り出し、これをテンプレートに設定する。このとき、テンプレートは、補間画素を中心としてその左右、上下が対称となる形状として切り出し、設定することが好ましい。このように切り出し、設定することで、補間画素を含むパターンの方向性に依存することなく、類似パターンの探索を行うことができる。
【０１２５】
第１画素生成部７２は、さらに次に、そのテンプレートを用いて当該テンプレートに類似する類似パターンを探索するにあたって、所定の探索領域を設定する。この探索領域は、代表周期に基づき設定することができる。探索領域は、例えば、代表周期が幅６画素、高さ１画素とされるとき、その代表周期を中心として左右に６画素ずつ追加した幅１８画素で、幅と同じ高さ１８画素の正方形の領域とすることができる。このように、幅と高さを同じ画素数とすることで、探索範囲のパターンの方向性に依存せずに探索を行うことができる。
【０１２６】
探索領域は、上記の正方形の領域に限られるものではないが、画像をバッファするメモリの制約等からその範囲の高さを低く抑える必要がある場合は、その分、幅を広くとることが望ましい。高さを低く抑えると、類似パターンを探索する対象が少なくなり、画素補間の精度が低下するからである。また、周期性判定部７０により補間画素に向かって左側に設定された領域が周期性なしと判断された場合、補間画素に向かって左側に設定された領域を探索領域から除外することが望ましい。右側についても同様である。このように探索領域を狭めることにより、類似パターンが検出されるべきでない領域からの誤検出を防止することができる。
【０１２７】
第１画素値生成部７２は、探索領域を上記のようにして設定した後、生成したテンプレートを用い、その探索領域内にある類似パターンを探索する。具体的には、探索領域内の各位置においてテンプレートとの一致度を求め、最も一致度が高い位置を類似パターンとして選択する。一致度として、ＳＡＤ(Sum of Absolute Difference)やＳＳＤ(Sum of Squared Difference)等の相違度、相関係数や共分散等の類似度を用いることができる。
【０１２８】
ＳＡＤは、テンプレートと比較するパターンを切り出し、テンプレートとパターンの同じ位置にある画素の輝度値の差をそれぞれ求め、その差の絶対値を合計したものであり、この合計値が小さいほど類似し、大きいほど相違することを示すものである。また、ＳＳＤは、その輝度値の差を二乗し、その合計を用いるもので、これも、この合計値が小さいほど類似し、大きいほど相違することを示すものである。相関係数および共分散については上記式７および式８により求めることができる。
【０１２９】
相関係数は、−１から１までの値をとり、その値が１に近づくほど強い正の相関があり、０に近いほど相関が弱く、−１に近づくほど負の相関がある。これは、１に近づくほど類似するパターンであることを意味し、−１に近づくほど反転したパターンに類似したものとなる。このことから、値が大きいほど類似度が高いと判断することができる。共分散は、相関係数に対応することから、その値が大きいほど類似度が高いと判断することができる。
【０１３０】
一致度の評価に際して、補間画素の画素値が一致度に影響を与えないように補間画素を一致度の計算から除外するか、比較対象のパターンにおいて同じ位置にある画素の画素値を用いて仮の画素値を設定しておくことが望ましい。なお、類似するパターンは一致度が高い順に複数選択することも可能である。
【０１３１】
また、補間画素が画像全体で複数存在する場合、一致度の計算において、今挿入しようとしている補間画素だけでなく、他の補間画素も計算から除外するか、比較対象のパターンの同じ位置にある画素の画素値を用いて仮の画素値を設定しておくことが望ましい。これは、テンプレートとして用いられる基準パターンや比較対象のパターンに今挿入しようとしている補間画素だけではなく、他の補間画素が含まれている場合があり、補間画素は基本的に画素値が欠落しているか、不正な値を保持しているため、一致度の計算に使用されることは好ましくないからである。なお、既に挿入済みの補間画素の画素値は一致度の計算に使用することができる。また、比較対象パターンに他の補間画素が存在する場合、その補間画素が一致度の計算に用いられないように計算から除外するか、基準パターンの同じ位置にある画素の画素値を用いて仮の画素値を設定しておくことが望ましい。
【０１３２】
このようにして探索した最も類似するパターンにおいて、テンプレートにおける補間画素の位置に対応する位置にある画素の画素値を取得する。最も類似するパターンのみを用いる場合には、このようにして取得した画素値を補間画素の画素値とすることができる。また、一致度が高い順に選択した複数のパターンを用いる場合には、それら複数のパターンから取得した画素値を合成し、補間画素の画素値を求めることができる。画素値を合成する方法としては、一様な重みにより平均する方法、類似パターンの一致度が高いほど大きな重みとなるように制御した上で加重平均を行う方法を挙げることができる。
【０１３３】
ここで、テンプレートマッチングには、二次元テンプレートマッチング、一次元テンプレートマッチングがある。二次元テンプレートマッチングでは、画像内の補間画素近辺、すなわち補間画素の左右や上下、斜め方向にある任意の領域をパターンとして切り出し、そのパターンとテンプレートとの一致度を求めることにより、最も類似するパターンを探索する。この実施形態において、第１画素値生成部７２が採用するテンプレートマッチングは二次元テンプレートマッチングである。これに対し、一次元テンプレートマッチングでは、補間画素が存在する１ライン内からパターンを切り出し、一致度を求め、最も類似するパターンを探索する。この二次元テンプレートマッチングと一次元テンプレートマッチングは、異なる補間方法であるため、後述する第２画素値生成部７３において採用することができる。
【０１３４】
第１画素値生成部７２は、テンプレートにおける補間画素の位置に対応する位置の画素の画素値を、探索して得られた最も類似するパターンから取得するが、そのとき、そのパターン内の補間画素の位置に対応する位置の画素以外の画素を近傍画素とし、その近傍画素の画素値も取得する。
【０１３５】
第２画素値生成部７３は、第１画素値生成部７２とは異なる補間方法を用いて、補間画素の画素値を生成する。異なる補間方法として、内挿法を用いることができる。この内挿法には、最近傍補間（０次補間）、線形補間（一次補間）、放物線補間（二次補間）、キュービック補間（三次補間）、多項式補間、スプライン補間、ラグランジュ補間等があり、線形補間やキュービック補間を二次元に拡張したバイリニア補間やバイキュービック補間等を用いることも可能である。
【０１３６】
補間画素の画素値の生成に内挿法を用いる場合には、近傍画素の画素値を更新しないことが望ましい。これは、近傍画素の画素値を変更してしまうと、補間画素の画素値が内挿した値でなくなってしまうからである。このため、第２画素値更新部へは、近傍画素の画素値として現在設定されている値を送るか、近傍画素の画素値を変更しないように制御する必要がある。
【０１３７】
ここでは、第１画素値生成部７２がパターンマッチング法を採用し、第２画素値生成部７３が内挿法を採用する構成としているが、第１画素値生成部７２が内挿法を採用し、第２画素値生成部７３がパターンマッチング法を採用する構成としてもよい。また、同じパターンマッチング法ではあるが、二次元テンプレートマッチングと一次元テンプレートマッチングや、同じ内挿法ではあるが、線形補間とスプライン補間といった異なる補間法を採用することも可能である。
【０１３８】
制御部７４は、画像データを受け付けるとそれを周期性判定部７０および境界判定部７１へ送り、周期性判定部７０および境界判定部７１が判定した結果を受け取り、それに基づき、第１画素値生成部７２と第２画素値生成部７３のいずれを用いて画素値を生成するかを判断する。具体的には、制御部７４は、周期性判定部７０において周期性があると判定され、境界判定部７１において補間画素が周期領域に存在すると判定された場合に、パターンマッチング法を用いる第１画素値生成部７２を採用し、そうでない場合に内挿法を用いる第２画素値生成部７３を採用して画素値を生成すると判断することができる。そして、決定した第１画素値生成部７２または第２画素値生成部７３へ画像のデータを送り、そのいずれかが生成した画素値を受け付け、その画素値を画素値挿入部７５へ送る。
【０１３９】
画素値挿入部７５は、制御部７４から送られてきた画素値を、先に画素設定部が設定した補間画素に挿入する。画素値挿入部７５は、補間画素にその画素値を設定し、また、既に設定されている場合にはその画素値へ置き換えることにより補間画素へ画素値を挿入する。これにより、補間画素１つ分の補間処理が完了する。
【０１４０】
第２画素値更新部は、第１画素値生成部７２が生成した近傍画素の画素値を用いて、画像内の対応する近傍画素の画素値（元の画素値）を更新する。画素値を更新する方法としては、生成された近傍画素の画素値で元の画素値を単に置き換える方法のほか、生成された近傍画素の画素値と元の画素値とを加重平均し、導出された画素値で置き換える方法を挙げることができる。加重平均をとる場合、補間画素の距離に応じて重みを変えることができ、例えば、補間画素から距離が遠くなるほど元の画素値の比重が大きくなるように重みを変化させる方法を採用することができる。
【０１４１】
画素値を更新する範囲としては、補間画素を中心として左右対称に数画素程度の範囲とすることができる。例えば、上記のようにテンプレートと同じサイズの補間画素を含む範囲等とすることができる。この範囲は、予め固定された値とすることもできるし、周期性判定部７０により推定された周期、すなわちテンプレートサイズを決定したのと同様に代表周期を用いて決定することも可能である。なお、境界判定部７１において補間画素が周期領域と非周期領域の境界付近に存在すると判定された場合には、近傍画素の画素値を更新しないか、更新する範囲を狭めることが望ましい。非周期領域では一定の画素値が連続している場合があり、その画素値を変更してしまうと、反対にその画素が目立ってしまうことになるからである。
【０１４２】
画素設定部が補間画素を複数検出した場合は、上記の各部における処理を補間画素の数だけ繰り返し、補間画素への画素値の挿入および近傍画素の画素値の更新が行われる。
【０１４３】
画素補間部３３が行う補間処理を、図９に示すフローチャートを参照して簡単に説明する。ステップ９００からこの処理を開始し、まず、ステップ９０５において、画素設定部が、画素値を挿入する対象の補間画素を検出し、補間処理すべき補間画素を設定する。補間画素が複数存在する場合は、例えばその画素が配置されている座標位置に基づいて順に並べ、順に１つを選択し、その１つを設定することができる。
【０１４４】
ステップ９１０において、周期性判定部７０が、画素設定部が補間画素を設定したことを受けて、補間画素を含む領域を指定し、その領域内で、画素値の変動に周期性を有するか否かを判定する。続いて、ステップ９１５において、補間画素が周期領域と非周期領域のどちらに存在するかを判定する。
【０１４５】
ステップ９２０で、境界判定部７１が判定した結果を基に、制御部７４が補間画素に用いる補間方法を決定する。制御部７４は、第１画素値生成部７２と第２画素値生成部７３のいずれを採用し、補間画素の画素値を生成するかを判断する。例えば、周期性判定部７０が周期性ありと判定した場合は、パターンマッチング法と決定し、周期性なしと判定した場合は、内挿法と決定する。
【０１４６】
ステップ９２５で、第１画素値生成部７２が採用されたか否かが判断される。ステップ９２０で決定された補間方法が、パターンマッチング法であれば、その方法を用いて補間処理を行う第１画素値生成部７２が採用されたと判断され、それ以外であれば、第１画素値生成部７２は採用されないと判断される。
【０１４７】
ステップ９２５で第１画素値生成部７２が採用されたと判断された場合、ステップ９３０へ進み、第１画素値生成部７２が用いるパターンマッチング法により類似パターンを探索し、その探索した類似パターンに基づき補間画素へ挿入すべき画素値を生成する。一方、ステップ９２５で第１画素値生成部７２が採用されないと判断された場合、ステップ９３５へ進み、第２画素値生成部７３が用いる内挿法により補間画素の画素値を生成する。これらのステップ９３０および９３５では、補間画素の画素値のほか、近傍画素の画素値も生成する。
【０１４８】
ステップ９４０では、第１画素値生成部７２または第２画素値生成部７３が補間画素の画素値を生成したことを受けて、画素値挿入部７５が、補間画素の位置に、生成された補間画素の画素値を挿入する。これにより、補間画素１つ分の補間処理を完了する。ステップ９４５で、第２画素値更新部が、生成された近傍画素の画素値を用いて画像の近傍画素の画素値を更新する。
【０１４９】
ステップ９５０で、制御部７４がすべての補間画素の補間を終えたかを判定する。すべての補間画素の補間を終えていない場合は、ステップ９０５へ戻り、制御部７４が画素設定部に指示し、次の補間画素を設定する。終えている場合は、ステップ９５５へ進み、この処理を終了する。
【０１５０】
画素補間部３３は、２つの画素値生成部を備えるものに限定されるものではなく、第３画素値生成部や第４画素値生成部等を備え、最も適切な補間方法を採用し、その方法により補間処理を行う画素値生成部を選択することができるように構成することが可能である。周期性判定部７０により周期性の有無を判定できれば、境界判定部７１は設けなくてもよい。この実施形態では、画質をより向上させるために近傍画素の画素値も更新するようにしているが、近傍画素については画素値を更新しなくてもよい。
【０１５１】
本発明では、上述した画像補正システム、その画像補正システムにより実行される画像補正方法、その方法を実現するためのコンピュータ可読なプログラムのほか、このプログラムを、ＦＤ、ＣＤ、ＤＶＤ、ＳＤカード、ＵＳＢメモリ等の記録媒体に格納し、そのプログラムが記録された記録媒体として提供することも可能である。
【０１５２】
これまで本発明を、画像補正システム、画像補正方法およびプログラムとして上述した実施の形態をもって説明してきたが、本発明は上述した実施の形態に限定されるものではなく、他の実施の形態、追加、変更、削除など、当業者が想到することができる範囲内で変更することができ、いずれの態様においても本発明の作用・効果を奏する限り、本発明の範囲に含まれるものである。
【０１５３】
そして、これらのシステム、方法、プログラムを提供することにより、センサチップの組み付け誤差に伴う画像の歪みを補正することができる。また、センサチップ間にギャップが存在することにより発生する欠落した画素や、不正な画素値を有する画素を補間することもでき、歪みや欠落した画素のない充分に復元した、充分な画質の画像を提供することができる。
【符号の説明】
【０１５４】
１…サンプリング点、２…仮想サンプリング点、３…画像信号、４…値、５…画像信号、１０…画像補正装置、１１…ＭＰＵ、１２…ＲＯＭ、１３…ＲＡＭ、１４…記憶制御用インタフェース、１５…ハードディスク、１６…インタフェース、１７…入出力装置、１８…表示装置、１９…ＶＲＡＭ、２０…グラフィックチップ、２１…ネットワークＩ／Ｆ、３０…変位量決定部、３１…画素追加部、３２…画素値更新部、３３…画素補間部、３４…基準カラム設定部、３５…処理カラム設定部、４０…基準カラム、４１…処理カラム、４２、４３…直線、５０、５３、６０、６３…画像信号、５１、５４、６１…サンプリング点、５２、５５、６４…仮想サンプリング点、６２、６５…値、７０…周期性判定部、７１…境界判定部、７２…第１画素値生成部、７３…第２画素値生成部、７４…制御部、７５…画素値挿入部
【先行技術文献】
【特許文献】
【０１５５】
【特許文献１】特開平１０−１０８０３３号公報
【特許文献２】特開２０００−１９６８３５号公報
【特許文献３】特開２００４−３５６６６６号公報
【特許文献４】特開２００３−１０１７２４号公報
【特許文献５】特許第４３３０１６４号公報
【図１】
0005786547.tif 000015
【図２】
0005786547.tif 000016
【図３】
0005786547.tif 000017
【図４】
0005786547.tif 000018
【図５】
0005786547.tif 000019
【図６】
0005786547.tif 000020
【図７】
0005786547.tif 000021
【図８】
0005786547.tif 000022
【図９】
0005786547.tif 000023