(57)【要約】【課題】  複数のセンサユニットによって原稿画像を読み取る際に、原稿配置の傾きや片寄りがあっても、各センサユニットの取付誤差および原稿の傾きを補正した良好な画像データを得る。【解決手段】  メモリ209は、原稿の領域を副走査方向に沿って分割した各領域の画像を読み取る複数のセンサユニット102a-102dの取付位置情報を格納する。接合補正部204は、各センサユニットの取付位置情報に基づき、各センサユニットが出力する画像データに当該センサユニットの取付誤差を補正する取付誤差補正を施し、取付誤差補正を施した画像データを接合処理して、原稿の画像データを生成する。傾き補正部206は、原稿の配置情報に基づき、接合処理された画像データに原稿の傾きを補正する傾き補正を施す。【選択図】  図3
2015073263.tif 000002
【特許請求の範囲】
【請求項１】
原稿の領域を副走査方向に沿って分割した各領域の画像を読み取る複数のセンサユニットの取付位置情報を格納する格納手段と、
各センサユニットの前記取付位置情報に基づき、各センサユニットが出力する画像データに当該センサユニットの取付誤差を補正する取付誤差補正を施し、前記取付誤差補正を施した画像データを接合処理して、原稿の画像データを生成する接合補正手段と、
前記原稿の配置情報に基づき、前記接合処理された画像データに前記原稿の傾きを補正する傾き補正を施す傾き補正手段とを有する画像処理装置。
【請求項２】
前記接合補正手段は、
前記取付位置情報が示す各センサユニットの取付角度と取付位置をパラメータとする座標変換により、前記複数のセンサユニットが取り付けられた読取手段を基準とする処理対象画素の第一の座標値を各センサユニットを基準とする第二の座標値に変換し、
前記第二の座標値に基づき、前記複数のセンサユニットから前記処理対象画素を読み取り可能なセンサユニットを判定することで、前記接合処理を行う請求項1に記載された画像処理装置。
【請求項３】
前記接合補正手段は、前記処理対象画素を読み取り可能なセンサユニットが出力する、前記第二の座標値に対応する画素値を前記第一の座標値に対応付けてメモリに格納する請求項2に記載された画像処理装置。
【請求項４】
前記処理対象画素を読み取り可能なセンサユニットがない場合、前記接合補正手段は、所定の背景色に相当する画素値を前記第一の座標値に対応付けてメモリに格納する請求項2または請求項3に記載された画像処理装置。
【請求項５】
前記傾き補正手段は、
前記配置情報が示す原稿のずれ位置と傾き角をパラメータとする座標変換により、前記原稿を基準とする処理対象画素の第三の座標値を前記読取手段を基準とする第四の座標値に変換し、
前記メモリに格納された前記第四の座標値に対応する画素値を前記処理対象画素の画素値として取得する請求項3または請求項4に記載された画像処理装置。
【請求項６】
さらに、前記傾き補正が施された画像データに画像処理を施す画像加工手段を有し、
前記傾き補正手段は、前記画像加工手段の要求に従い前記処理対象画素を決定する請求項5に記載された画像処理装置。
【請求項７】
原稿の領域を副走査方向に沿って分割した各領域の画像を読み取る複数のセンサユニットの取付位置情報を格納する格納手段と、
原稿の配置情報に基づく傾き補正、および、前記取付位置情報に基づく取付誤差補正を前記複数のセンサユニットが出力する画像データに施し、前記補正後の画像データを接合処理して、前記原稿の画像データを生成する幾何補正手段とを有し、
前記傾き補正は前記画像データにおける前記原稿の傾きを補正する処理であり、前記取付誤差補正は各センサユニットが出力する画像データにおける当該センサユニットの取付誤差を補正する処理である画像処理装置。
【請求項８】
前記幾何補正手段は、
前記配置情報が示す原稿のずれ位置と傾き角をパラメータとする座標変換により、前記原稿を基準とする処理対象画素の第一の座標値を前記複数のセンサユニットが取り付けられた読取手段を基準とする第二の座標値に変換し、
前記第二の座標値に基づき、前記複数のセンサユニットから前記処理対象画素を読み取り可能なセンサユニットを判定することで、前記接合処理を行う請求項7に記載された画像処理装置。
【請求項９】
前記幾何補正手段は、
前記処理対象画素を読み取り可能なセンサユニットの前記取付位置情報が示す取付角度と取付位置、および、前記配置情報が示す原稿のずれ位置と傾き角をパラメータとする座標変換により、前記第一の座標値を前記センサユニットを基準とする第三の座標値に変換し、
前記センサユニットが出力する、前記第三の座標値に対応する画素値を前記処理対象画素の画素値として取得する請求項8に記載された画像処理装置。
【請求項１０】
前記処理対象画素を読み取り可能なセンサユニットが複数ある場合、前記幾何補正手段は、それらセンサユニットが出力する、前記第三の座標値に対応する画素値の重み付け処理により、前記処理対象画素の画素値を取得する請求項9に記載された画像処理装置。
【請求項１１】
前記処理対象画素を読み取り可能なセンサユニットがない場合、前記幾何補正手段は、所定の背景色に相当する画素値を前記処理対象画素の画素値とする請求項8から請求項10の何れか一項に記載された画像処理装置。
【請求項１２】
さらに、前記取付誤差補正、前記傾き補正、前記接合処理が施された画像データに画像処理を施す画像加工手段を有し、
前記幾何補正手段は、前記画像加工手段の要求に従い前記処理対象画素を決定する請求項7から請求項11の何れか一項に記載された画像処理装置。
【請求項１３】
複数のセンサユニットが読み取った、原稿の領域を副走査方向に沿って分割した各領域の画像データを入力する入力手段と、
前記副走査方向のカラム単位に前記画像データの画素値をシェーディング補正する第一の補正手段と、
前記複数のセンサユニットの間隙を示す情報に基づき、前記画像データの前記間隙に対応する位置に欠落画素を挿入する挿入手段と、
前記原稿の配置情報に基づき、前記欠落画素が挿入された画像データに前記原稿の傾きを補正する傾き補正を施す第二の補正手段と、
前記傾き補正後の画像データの欠落画素の画素値を補正する第三の補正手段とを有する画像処理装置。
【請求項１４】
前記第一の補正手段は、前記カラムごとに前記シェーディング補正用の補正値を設定する請求項13に記載された画像処理装置。
【請求項１５】
前記挿入手段は、少なくとも一つのカラム分の画素値を記憶するメモリを有し、前記間隙に対応するカラムの直前のカラムの画素値に前記欠落画素を示す属性情報を付加し、前記属性情報を付加した画素値を前記間隙に対応する前記画像データの位置に挿入することで前記欠落画素の挿入を行う請求項13または請求項14に記載された画像処理装置。
【請求項１６】
前記挿入手段は、少なくとも一つのカラム分の画素値を記憶するメモリを有し、前記間隙に対応するカラムの直前のカラムの画素値の下位ビットを使用して前記欠落画素を示し、前記欠落画素を示す画素値を前記間隙に対応する前記画像データの位置に挿入することで前記欠落画素の挿入を行う請求項13または請求項14に記載された画像処理装置。
【請求項１７】
前記第三の補正手段は、前記欠落画素と隣接する非欠落画素の画素値によって前記欠落画素の画素値を補正する請求項13から請求項16の何れか一項に記載された画像処理装置。
【請求項１８】
原稿の領域を副走査方向に沿って分割した各領域の画像を読み取る複数のセンサユニットと、
請求項1から請求項17の何れか一項に記載された画像処理装置とを有する画像読取装置。
【請求項１９】
原稿の領域を副走査方向に沿って分割した各領域の画像を読み取る複数のセンサユニットの取付位置情報を格納する格納手段を有する画像処理装置の画像処理方法であって、
各センサユニットの前記取付位置情報に基づき、各センサユニットが出力する画像データに当該センサユニットの取付誤差を補正する取付誤差補正を施し、
前記取付誤差補正を施した画像データを接合処理して、原稿の画像データを生成し、
前記原稿の配置情報に基づき、前記接合処理された画像データに前記原稿の傾きを補正する傾き補正を施す画像処理方法。
【請求項２０】
原稿の領域を副走査方向に沿って分割した各領域の画像を読み取る複数のセンサユニットの取付位置情報を格納する格納手段を有する画像処理装置の画像処理方法であって、
原稿の配置情報に基づく傾き補正、および、前記取付位置情報に基づく取付誤差補正を前記複数のセンサユニットが出力する画像データに施し、
前記補正後の画像データを接合処理して、前記原稿の画像データを生成し、
前記傾き補正は前記画像データにおける前記原稿の傾きを補正する処理であり、前記取付誤差補正は各センサユニットが出力する画像データにおける当該センサユニットの取付誤差を補正する処理である画像処理方法。
【請求項２１】
複数のセンサユニットが読み取った、原稿の領域を副走査方向に沿って分割した各領域の画像データを入力し、
前記副走査方向のカラム単位に前記画像データの画素値をシェーディング補正し、
前記複数のセンサユニットの間隙を示す情報に基づき、前記画像データの前記間隙に対応する位置に欠落画素を挿入し、
前記原稿の配置情報に基づき、前記欠落画素が挿入された画像データに前記原稿の傾きを補正する傾き補正を施し、
前記傾き補正後の画像データの欠落画素の画素値を補正する画像処理方法。
【請求項２２】
コンピュータを請求項1から請求項17の何れか一項に記載された画像処理装置の各手段として機能させるためのプログラム。
【請求項２３】
請求項22に記載されたプログラムが記録されたコンピュータが読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のセンサユニットによって原稿画像を読み取る際の画像処理に関する。
【背景技術】
【０００２】
A0サイズやA1サイズのような大判原稿の画像を、複数のセンサユニットを用いて複数の領域に分割して読み取る装置が提案されている。そして、複数のセンサユニットによって取得された画像データを接合する際、位置的な整合性を確保するための補正、および、階調、色調の不連続性を解消するための補正を行う技術が提案されている（特許文献1）。
【０００３】
また、読取装置が想定する走査方向に対して原稿が傾いて配置された場合に傾きを補正する技術が提案されている。例えば、特許文献2の技術は、原稿の傾き角度を検知し、検知した傾き角度に応じた傾き補正処理を行う。
【０００４】
単一のセンサユニットの場合、センサユニットの取り付けに誤差があるとしても、読み取った画像データを利用して取付誤差を補正することが可能である。しかし、複数のセンサユニットの場合、原稿配置の傾きや片寄りまで考慮すると、画像データだけでは、どの画素がどのセンサユニットによって読み取られたかを特定するのが困難である。そのため、センサユニットごとに異なる取付誤差を補正することができない。また、原稿配置の傾きや片寄りにより、読み取りごとに原稿画像上の接合位置が変化し、画像データの接合処理が困難になる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平07-221943号公報
【特許文献２】特開2003-319160号公報
【特許文献３】特開2012-023564号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
本発明は、複数のセンサユニットによって原稿画像を読み取る際に、原稿配置の傾きや片寄りがあっても、各センサユニットの取付誤差および原稿の傾きを補正した良好な画像データを得ることを目的とする。
【課題を解決するための手段】
【０００７】
本発明は、前記の目的を達成する一手段として、以下の構成を備える。
【０００８】
本発明にかかる画像処理装置は、原稿の領域を副走査方向に沿って分割した各領域の画像を読み取る複数のセンサユニットの取付位置情報を格納する格納手段と、各センサユニットの前記取付位置情報に基づき、各センサユニットが出力する画像データに当該センサユニットの取付誤差を補正する取付誤差補正を施し、前記取付誤差補正を施した画像データを接合処理して、原稿の画像データを生成する接合補正手段と、前記原稿の配置情報に基づき、前記接合処理された画像データに前記原稿の傾きを補正する傾き補正を施す傾き補正手段とを有する。
【発明の効果】
【０００９】
本発明によれば、複数のセンサユニットによって原稿画像を読み取る際に、原稿配置の傾きや片寄りがあっても、各センサユニットの取付誤差および原稿の傾きを補正した良好な画像データを得ることができる。
【図面の簡単な説明】
【００１０】
【図１】読取装置のセンサと原稿の位置関係を説明する図。
【図２】センサの構成例を説明する図。
【図３】実施例1の読取装置における画像処理部の構成例を説明する図。
【図４】センサユニットごとに異なる第三の座標系について説明する図。
【図５】実施例2の読取装置における画像処理部の構成例を説明する図。
【図６】幾何補正部の処理を説明するフローチャート。
【図７】隣接するセンサユニットに対応する画素値の合成を説明する図。
【図８】実施例3の読取装置における画像処理部の構成例を説明するブロック図。
【図９】画像読取部による画像の読み取りを説明する図。
【図１０】メモリコントローラがメモリから読み出した画素値を転送する際のデータフォーマットを説明する図。
【図１１】バンド単位の画素値の読み出しを説明する図。
【図１２】シェーディング補正部の処理を説明するフローチャート。
【図１３】傾き補正画像の一例を示す図。
【図１４】欠落画素挿入部の構成例を説明するブロック図。
【図１５】欠落画素挿入部の動作例を説明するフローチャート。
【図１６】画素コマンドの一例を示す図。
【図１７】実施例4のメモリコントローラが画素コマンドを転送する際のフォーマットを説明する図。
【発明を実施するための形態】
【００１１】
以下、本発明にかかる実施例の画像処理装置およびその方法、並びに、画像読取装置を図面を参照して詳細に説明する。
【実施例１】
【００１２】
［センサユニットと原稿］
図1により読取装置のセンサ101と原稿104の位置関係を説明する。原稿104は、図示しない搬送機構によって図1に矢印で示す方向（原稿搬送方向）に搬送される。読取装置に固定されたセンサ101は、搬送される原稿104の画像を読み取る。なお、原稿台に載置された原稿104の画像を、移動するセンサ101が読み取る構成にも、本発明を適用可能である。つまり、原稿104とセンサ101の間の副走査方向Yの相対位置を変化させることで、原稿104の画像が読み取られる。
【００１３】
図1において、原稿104一頂点を基準（原点）とする第一の座標系xyと、読取装置の例えばセンサ101の端部を基準（原点）とする第二の座標系XYが示されている。
【００１４】
理想的には、原稿104の配置は、辺の何れかが副走査方向Yに沿うことが望ましい。しかし、現実には、原稿の位置ずれ(x0, y0)や原稿の傾き角θのように、理想と異なる位置および角度で原稿104が配置される場合がある。そのため、第一の座標系と第二の座標系は一般に一致しない。座標系が一致しない場合、傾き角θが微小であっても、原稿の先端と末端では大きなずれになる場合がある。このずれは、とくに大判原稿で顕著である。
【００１５】
図2によりセンサ101の構成例を説明する。図2(a)に示すように、センサ101は、複数のセンサユニット102a-102dを略直線状に配置して構成される。また、原稿センサ103a-103cは、原稿配置情報を取得するためのセンサである。
【００１６】
センサユニット102a-102dは、理想的には、第二の座標系XYを基準に主走査方向Xに平行に、副走査方向Yに所定のオフセットをもって配置される。図2(b)には、センサユニット102a-102dの理想的な配置を破線で示すが、現実には実線で示すように、各センサユニットの配置は取付位置の誤差と、取付角度の誤差を伴う。
【００１７】
なお、図2にはXY平面だけを示すが、例えば、センサユニットの取付時の浮きや、読取装置の筐体が理想的な剛体ではないための撓みなどに起因して、図2におけるZ軸方向の取付位置や取付角度の誤差が存在する場合もある。
【００１８】
また、原稿センサ103a-103cは、原稿104の端を検出するセンサであり、各原稿センサが原稿端を検出したタイミングの時間差から原稿104の傾き角度θを計算して原稿配置情報を求めることが可能である。なお、原稿センサ103a-103cの取付位置の誤差は、別途測定するなどの方法により、必要に応じて取付位置の誤差が更正されるものとする。また、原稿台に原稿104を載置する方式であれば、原稿画像の読み取りに先行してプレスキャンを行うことで、原稿104の位置や大きさが検出可能である。
【００１９】
また、センサユニット102a-102dは、取付位置の多少のずれや、取付角度の多少のずれが存在しても、主走査方向Xに隙間がない画像データが得られるように配置されている。つまり、センサユニット102a-102dは、主走査方向Xに関して隣接するセンサユニット同士を一部重畳させ、副走査方向Yのオフセットを変えた配置を有する。
【００２０】
センサユニット102a-102dによって、原稿104の領域を副走査方向に沿って分割した四つの分割画像データが得られる。そして、四つの分割画像データから、センサユニットの重畳部分を考慮した、後述する接合補正部204による接合処理により、原稿104に対応する単一の画像データが得られる。
【００２１】
ここで、各センサユニットごとの座標系として、第一および第二の座標系とは別に、第三の座標系を設定する。第三の座標系は、当該センサユニットの受光素子の配列方向、つまり、取付角度の方向を第一軸、副走査方向Yを第二軸とし、各センサユニットの取付位置のずれと配置のオフセットを含む位置を原点とする。
【００２２】
各センサユニットの取付位置情報は、所定の調整用パターンを読み取るか、別途測定器で直接測定する方法により取得してメモリに記憶し、必要に応じて、各センサユニットの取付位置情報をメモリから取得すればよい。
【００２３】
あるいは、原稿104から読み取った画像データのうち、複数のセンサユニットで読取可能な部分について相関をとることにより、読み取りごとに、基準のセンサユニットに対する相対的な位置を特定することも可能である。基準のセンサユニットに合わせて後述する接合補正部204で画像データを補正した上、画像データを接合すれば、たとえ取付角度に誤差があったとしても、単一のセンサユニットで読み取った場合と同様に、後に歪みを補正することが可能になる。
【００２４】
［画像処理部］
図3により実施例1の読取装置における画像処理部201の構成例を説明する。画像処理部201は、原稿基準の第一の座標系xyの各画素位置における画素値を求めて原稿基準の第一の座標系xyの画像データを生成する。そして、生成した画像データに画像処理を施す。
【００２５】
センサ特性補正部202は、センサユニット102a-102dが出力する画像データに、例えばシェーディング補正のような、各センサユニットおよびセンサユニットの各受光素子によって異なる特性を補正して画像データを正規化する。センサユニットの特性により、補正係数などが異なる場合を想定して、センサ特性補正部202はセンサユニットごとに設けられている。
【００２６】
また、センサ特性補正部202は、後述する接合補正部204より前に配置されるが、それは、接合補正部204より後だと、取付誤差補正が施された後の各画素値と当該画素値を読み取ったセンサユニットの対応が不明になるためである。
【００２７】
読取データバッファ203は、センサ特性補正部202が出力する画像データを一時格納する。読取データバッファ203は、センサ特性補正部202と同様に、センサユニットごとに設けられている。また、各センサユニットが出力する画素値の順序と、接合補正部204が読み出す画素値の順序が異なる場合があり、読取データバッファ203はランダムアクセス可能な構成である。
【００２８】
接合補正部204は、不揮発性のメモリ209からセンサユニットの取付位置情報（誤差を含む取付位置と取付角度）を取得する。そして、取付位置情報に応じて複数のセンサユニット102a-102dが出力した画像データそれぞれに取付誤差補正を施した画素値（以下、取付誤差補正画素値）を出力する。つまり、接合補正部204は、画像データを、各センサユニット基準の第三の座標系から、読取装置基準の第二の座標系に座標変換する。また、接合補正部204は、複数のセンサユニットにより重複して読取可能な領域について、何れかのセンサユニットを優先的に選択して、画像データを接合処理する。
【００２９】
中間データバッファ205は、接合補正部204によって接合された、取付誤差補正画素値からなる画像データを傾き補正のために一時格納する。接合補正部204によって得られる取付誤差補正画素値の順序と、傾き補正部206が取付誤差補正画素値を読み出す順序が異なるため、中間データバッファ205はランダムアクセス可能な構成である。
【００３０】
傾き補正部206は、原稿センサ103a-103cの信号から原稿配置情報を算出し、中間データバッファ205から読み出した画像データを原稿配置情報に応じて補正して、原稿画像の傾きを補正する。つまり、傾き補正部206は、画像データを、読取装置基準の第二の座標系から、原稿基準の第一の座標系に座標変換する。
【００３１】
このようにして、傾き補正部206により、第一の座標系における各画素位置に対応する画像データが得られる。傾き補正部206の動作の詳細は後述するが、画像加工部207との間のバッファを削減するため、画像加工部207における処理順と同一の順序で動作するように構成される。
【００３２】
画像加工部207は、傾き補正部206によって得られた画像データに、濃度補正、コントラスト補正、ノイズ除去といった画像処理またはデータ圧縮処理、あるいは、画像処理とデータ圧縮処理の両方を施す。なお、画像処理とデータ圧縮処理の何れも必要としない場合、画像加工部207は省略可能である。
【００３３】
とくに、画像加工部207の画像処理がエッジ強調などの空間フィルタ処理を含む場合、少ない内部記憶容量で処理を行うために、所定の幅と高さを有する矩形ブロック順に、画像データを処理することが望ましい。また、JPEGのように所定サイズのブロック単位の直交変換を伴う画像データ圧縮を適用する場合も、ブロック単位の処理が好適である。
【００３４】
出力データバッファ208は、画像加工部207によって画像処理された画像データ、あるいは、画像加工部207を省略した場合は傾き補正部206によって得られる傾きが補正された画像データを一時格納する。
【００３５】
なお、センサ特性補正部202、接合補正部204、傾き補正部206、画像加工部207は、それらの機能を実現するプログラムを記録媒体を介してコンピュータ機器の単一または複数のCPUに供給することでも実現可能である。また、読取データバッファ203、中間データバッファ205、出力データバッファ208は、CPUのワークメモリであるRAMに割り当ててもよい。
【００３６】
［座標変換］
図4によりセンサユニットごとに異なる第三の座標系について説明する。例えば、センサユニット102aおよび102bはそれぞれ、所定時間内に、分割領域301aおよび301bを読取可能である。つまり、センサユニット102aの第三の座標系はXaYa座標、センサユニット102aの第三の座標系はXbYb座標である。
【００３７】
第三の座標系はセンサユニット基準の座標系であり、当該センサユニットが読み取った画像データの基準座標系である。センサユニットの取付角度の誤差を考慮すると、例えば、座標系XbYbは直交座標系にならない。というのも、Xb軸はセンサユニット102bの取付角度の誤差を含むが、Yb軸は原稿搬送方向によって決まる副走査方向と一致するため取付角度の誤差の影響を受けないためである。
【００３８】
下式は、第一および第二の座標系の間の変換式を示す。
┌  ┐ ┌                  ┐┌ ┐
│Xn│ │cosθn -sinθn -xn││X│
│Yn│=│  0       1    -yn││Y│      …(1)
│1 │ │  0       0     1 ││1│
└  ┘ └                  ┘└ ┘
┌ ┐ ┌               ┐┌ ┐
│X│ │cosθ -sinθ x0││x│
│Y│=│sinθ  cosθ y0││y│          …(2)
│1│ │  0     0    1 ││1│
└ ┘ └               ┘└ ┘
【００３９】
本実施例では上記の二種類の座標変換を使用する。式(1)に示す第一の座標変換式を用いて、読取装置基準の第二の座標系の座標値(X, Y)を、センサユニット基準の第三の座標系の座標値(Xn, Yn)に変換する。第一の座標変換式のパラメータは、あるセンサユニット102nの取付方向が第二の座標系のX軸となす取付角度θnと、センサユニット102nの第二の座標系における取付位置(xn, yn)である。
【００４０】
なお、センサユニットごとに取付角度と取付位置が異なるため、第一の座標変換式のパラメータθnと(xn, yn)はセンサユニットごとに異なる。また、式(2)に示す第二の座標変換式を用いて、原稿基準の第一の座標系の座標値(x, y)を、読取装置基準の第二の座標系の座標値(X, Y)に変換する。第二の座標変換式のパラメータは、原稿ずれ位置(x0, y0)と原稿傾き角θである。
【００４１】
［接合補正部］
接合補正部204は、読取装置基準の第二の座標系の座標値(X, Y)に対応する各画素ついて、所定の画素順に取付誤差補正画素値を取得する。例えば、中間データバッファ205への書き込みアドレスが連続するような画素順が効率的である。
【００４２】
言い換えれば、接合補正部204は、複数のセンサユニット102a-102dが出力する画像データについて、各センサユニットの取付位置情報に応じた補正を行う。つまり、センサユニット基準の第三の座標系による画像データから、読取装置基準の第二の座標系の画像データを求め、必要に応じて、隣接するセンサユニットの画像データと接合する。
【００４３】
まず、接合補正部204は、処理対象画素の第二の座標系の座標値(X, Y)を、式(1)に示す第一の座標変換式により、第三の座標系の座標値(Xn, Yn)に変換する。座標値(Xn, Yn)は、図4に示す(Xa, Ya)や(Xb, Yb)のような、各センサユニット基準の第三の座標系の座標値に相当する。
【００４４】
次に、接合補正部204は、座標値(Xn, Yn)が、各センサユニットの読取可能な範囲（例えば図4に示す分割領域301aや301b）にあるか否かを判定する。例えば、Xnとセンサユニット102aの有効幅を比較し、Ynと原稿送り量を比較して、座標値(Xn, Yn)の画素がセンサユニット102aによって読取可能か否かを判定することができる。
【００４５】
上記座標変換と判定は、処理対象画素ごとに、各センサユニットについて所定の順序で逐次行われ、例えば、読取可能な範囲にあると最初に判定されたセンサユニットが優先して選択される。
【００４６】
つまり、接合補正部204は、座標値(Xn, Yn)が読取可能な範囲にあるセンサユニットを選択する。そして、当該センサユニットに対応する読取データバッファ203の座標値(Xn, Yn)に対応するアドレスの画素値を第二の座標系の座標値(X, Y)の取付誤差補正画素値として読み出す。また、座標値(Xn, Yn)が読取可能な範囲にあるセンサユニットがない場合、接合補正部204は、座標値(X, Y)の取付誤差補正画素値として所定の背景色に相当する画素値を割り当てる。
【００４７】
このようにして得られる取付誤差補正画素値は、中間データバッファ205の座標値(X, Y)に対応するアドレスに格納される。つまり、接合補正部204は、座標値(X, Y)に対応付けて取付誤差補正画素値を中間データバッファ205に格納する。
【００４８】
ただし、読取データバッファ203は、所定のサンプリング間隔で取得される画素値を格納する一方、第一の座標変換で得られる座標値(Xn, Yn)は整数値になるとは限らない。取付誤差補正画素値を得るための単純な方法は最近傍法であり、座標値(Xn, Yn)を近傍の整数に丸めて得られる整数値の座標値に対応するサンプル点の画素値を取付誤差補正画素値とすればよい。つまり、接合補正部204は、選択したセンサユニットに対応する読取データバッファ203の、座標値(Xn, Yn)を整数値に丸めた座標値に対応するアドレスの画素値を取付誤差補正画素値として読み出す。
【００４９】
あるいは、補間処理によって取付誤差補正画素値を取得してもよい。補間処理は、近傍の複数のサンプル点を参照して、座標値(Xn, Yn)と各サンプル点の座標値の差分に応じた重み付け演算により、取付誤差補正画素値を算出するもので、双直線補間や双三次補間が広く利用される。
【００５０】
また、各センサユニットの読取可能な範囲を第二の座標系の主走査軸Xへ予め射影しておくと、センサユニットの選択を簡単に行うことが可能である。つまり、接合補正部204は、処理対象画素の座標値(X, Y)が上記射影の範囲にあるか否かを判定すればよい。
【００５１】
［傾き補正部］
傾き補正部206は、原稿基準の第一の座標系の座標値(x, y)に対応する各画素について、傾き補正済みの画素値（以下、傾き補正画素値）を取得する。その際、傾き補正部206は、画素の処理順を画像加工部207の要求に合わせるため、画像加工部207から受信した第一の座標系xyの画素位置情報が付加された処理要求に基づき動作する。あるいは、傾き補正部206と画像加工部207の間で共通に設定された所定の処理順序に従い、傾き補正部206と画像加工部207がそれぞれ動作する構成も可能である。
【００５２】
傾き補正部206は、処理対象画素の第一の座標系の座標値(x, y)を、式(2)に示す第二の座標変換式により、読取装置基準の第二の座標系の座標値(X, Y)に変換する。そして、中間データバッファ205の座標値(X, Y)に対応するアドレスの取付誤差補正画素値を第一の座標系の座標値(x, y)の傾き補正画素値として読み出して画像加工部207に供給する。
【００５３】
以上により、各センサユニットの取付位置の補正、センサユニット別に得られた画像データの接合、および、原稿の傾きを補正した傾き補正画素値からなる画像データが得られる。なお、座標値(X, Y)の丸めまたは補間処理に関しては、接合補正部204について説明した処理と同様である。
【００５４】
また、傾き補正部206は、中間データバッファ205から取付誤差補正画素値を読み出す際、必要に応じて、接合補正部204と同様の補間処理を行ってもよい。補間処理により一画素分の画素値を取得する場合、複数画素の参照や同一画素の複数回参照が発生する点を考慮して、読取データバッファ203や中間データバッファ205は、必要に応じて、キャッシュ機能を有する構成にすることが望ましい。
【００５５】
このように、接合補正部204は取付位置情報に応じた補正を伴う画像データの接合を行い、傾き補正部206は原稿配置情報に応じた画像データの傾き補正を行う。そして、ランダムアクセス可能な中間データバッファ205を用いることにより、傾き補正部206は、接合補正部204とは独立に、任意の画素順で傾き補正画素値を取得することが可能になる。なお、画像の拡大処理や縮小処理は、傾き補正部206における第二の座標変換において、拡大率または縮小率に応じた係数を設定することで実現可能である。
【００５６】
また、センサユニットがZ軸方向の取付角度誤差を有する場合、当該誤差がない場合に比べて、センサ有効長のXY平面に対する射影が短くなる。つまり、センサユニットは、理想の場合よりも短い区間を読み取ることになり、当該誤差がない場合と比べて、拡大された画像データを出力する。従って、接合補正部204における第一の座標変換時に、センサユニットの取付方向について画像データを縮小する補正を行えばよい。
【００５７】
このように、複数のセンサユニットによって大判原稿の画像を読み取る画像読取装置において、原稿配置の傾きや片寄りがあっても、各センサユニットの取付誤差および原稿の傾きを補正した良好な画像データを得ることができる。
【実施例２】
【００５８】
以下、本発明にかかる実施例2の画像処理装置およびその方法、並びに、画像読取装置を説明する。なお、実施例2において、実施例1と略同様の構成については、同一符号を付して、その詳細説明を省略する。
【００５９】
図5により実施例2の読取装置における画像処理部201の構成例を説明する。実施例2の画像処理部201は、中間データバッファ205を不要とするために、接合補正部204と傾き補正部206の両方の機能を実現する幾何補正部210を備える。
【００６０】
幾何補正部210は、上述した第二の座標変換、並びに、上述した第一および第二の座標変換の合成である第三の座標変換を使用する。下式は、式(1)と(2)を合成した第三の座標変換式を示す。
┌  ┐ ┌                  ┐┌               ┐┌ ┐
│Xn│ │cosθn -sinθn -xn││cosθ -sinθ x0││x│
│Yn│=│  0       1    -yn││sinθ  cosθ y0││y│      …(3)
│1 │ │  0       0     1 ││  0     0    1 ││1│
└  ┘ └                  ┘└               ┘└ ┘
【００６１】
つまり、センサユニット別の第三の座標変換式により、原稿基準の第一の座標系の座標値(x, y)を、センサユニット基準の第三の座標系の座標値(Xn, Yn)に変換することができる。
【００６２】
図6のフローチャートにより幾何補正部210の処理を説明する。なお、図6は一画素分の処理を示す。幾何補正部210は、画像加工部207の要求に従い処理対象画素の第一の座標系の座標値(x, y)を決定する(S)。言い換えれば、画像加工部207が次に必要とする画素を処理対象画素にする。あるいは、幾何補正部210と画像加工部207の間で共通に設定された所定の処理順序に従い、処理対象画素を決定してもよい。
【００６３】
次に、幾何補正部210は、第二の座標変換式により、原稿基準の第一の座標系の座標値(x, y)を、読取装置基準の第二の座標系の座標値(X, Y)に変換する(S502)。このとき、図1に示すように、原稿搬送方向に垂直な軸Xをとれば、後述するステップS503におけるセンサユニットの選択において、当該軸だけを考慮すればよいので、他の軸Yの計算は省略可能である。
【００６４】
次に、幾何補正部210は、第二の座標系の座標値(X, Y)に基づき、処理対象画素を読み取り可能なセンサユニットを判定する(S503)。原稿搬送方向に垂直な軸Xを考えれば、各センサユニットが読み取りを担当すべき座標値Xの範囲を予め求めておくことが可能である。つまり、ステップS502で求めた座標値Xが、どのセンサユニットの座標値Xの範囲にあるかを判定することで、選択するセンサユニットとその数を判定することができる。
【００６５】
センサユニットが重複して配置された領域は、何れか一方のセンサユニットを優先して選択してもよいし、各センサユニットに対応する画素値を合成してもよい。図7により隣接するセンサユニットに対応する画素値の合成を説明する。つまり、次のように重み係数を設定して、取付誤差補正画素値を計算する。
if (X ≦ x1) {
w1 = 1；
w2 = 0；
}
if (x1 ＜ X ＜ x2) {
w1 = (x2-X)/(x2-x1)；
w2 = (X-x1)/(x2-x1)；
}
if (x2 ≦ X) {
w1 = 0；
w2 = 1；
}
P1 = w1・Pa + w2・Pb；      …(4)
ここで、x1、x2は座標値の閾値（図7参照）、
w1はセンサユニットaに対応する画素値Paの重み、
w2はセンサユニットbに対応する画素値Pbの重み、
P1は取付誤差補正画素値。
【００６６】
また、センサユニットが切り替わる境界を目立たなくするために、閾値x1とx2を固定せずに所定の範囲で変動させることも可能である。閾値x1とx2の差によって合成重みが変わる場合は、ステップS503において、センサユニットの判定に同期して合成重みを求めるとよい。
【００６７】
幾何補正部210は、センサユニットの判定に応じて処理を分岐する(S504)。座標値Xが全センサユニットの読取可能な範囲外で、座標値Xの読み取りが可能なセンサユニットがない場合、幾何補正部210は、所定の背景色を傾き補正画素値に設定する(S505)。
【００６８】
選択したセンサユニットが一つの場合、幾何補正部210は、式(3)に示す第三の座標変換式を用いて、原稿基準の第一の座標系の座標値(x, y)を、センサユニット基準の第三の座標系の座標値(Xn, Yn)に変換する(S506)。例えば、ステップS503においてセンサユニット102aが選択された場合、当該センサユニットの取付位置(xa, ya)と取付角度θaをパラメータとする第三の座標変換式により座標値(Xa, Ya)が取得される。そして、座標値(Xn, Yn)に対応する画素値を傾き補正画素値として取得する(S507)。その際、必要に応じて、実施例1の接合補正部204と同様に補間処理を行ってもよい。
【００６９】
選択したセンサユニットが二つの場合、幾何補正部210は、式(3)に示す第三の座標変換式を用いて、座標値(x, y)を一方のセンサユニット基準の座標値(Xn1, Yn1)に変換する(S508)。そして、座標値(Xn1, Yn1)に対応する画素値Paを取得する(S509)。続いて、式(3)に示す第三の座標変換式を用いて、座標値(x, y)を他方のセンサユニット基準の座標値(Xn2, Yn2)に変換する(S510)。そして、座標値(Xn2, Yn2)に対応する画素値Pbを取得する(S511)。さらに、式(4)と同様の処理により、画素値Paと画素値Pbから傾き補正画素値を合成する重み付け処理を行う(S512)。その後、幾何補正部210は、傾き補正画素値を画像加工部207に出力する(S513)。
【００７０】
なお、図7と式(4)においては重み付き平均値を計算する例を示したが、重み付き平均値を用いるとエッジの劣化を招くことがある。エッジの劣化を防ぐには、重みの変化を直線的にする代わりにS字状の曲線としたり、平均を算出する代わりに重みに応じた確率で一方の画素値を選択してもよい。
【００７１】
また、上記では、ステップS509とS511の二回に分けて、画素値Pa、Pbを取得したが、二次元の座標値に合成重みの軸を加えた三次元の補間処理により、合成後の傾き補正画素値を直接求めることができる。
【００７２】
このように、幾何補正部210は、補正画像データの各画素位置を読み取り可能なセンサユニットを特定するための画素値の読み出しを伴わない第二の座標変換と、傾き補正を含む画素値（傾き補正画素値）を求める第三の座標変換によって構成される。従って、任意の画素順の処理が可能で、かつ、各センサユニットの取付誤差および原稿の傾きを補正した良好な画像データを効率的に求めることができる。
【００７３】
とくに、補間処理により傾き補正画素値を求める場合、一回の補間処理で取付誤差と傾きの補正が可能になり、それぞれを別の補間処理として行う場合に比べて、参照するサンプル点の読出回数、および、データ転送量を半減することができる。
【００７４】
実施例2の、センサユニットを複数配置して、より大判の原稿を読み取り可能な画像読取装置は、センサユニットの取付誤差の補正と原稿の傾き補正を含む幾何補正処理を効率よく実行可能である。
【実施例３】
【００７５】
以下、本発明にかかる実施例3の画像処理装置およびその方法、並びに、画像読取装置を説明する。なお、実施例3において、実施例1、2と略同様の構成については、同一符号を付して、その詳細説明を省略する。
【００７６】
［欠落画素］
実施例1、2においては、複数のセンサユニットに取付位置の多少のずれや、取付角度の多少のずれが存在しても、主走査方向Xに隙間がない画像データが得られるように複数のセンサユニットを配置する例を説明した。つまり、図2(b)に示すように、センサユニット102a-102dは、主走査方向Xに関して隣接するセンサユニット同士を一部重畳させ、副走査方向Yのオフセットを変えた配置を有する。
【００７７】
しかし、センサユニットの取付作業の容易性、取付位置や取付角度のずれの低減を考慮すると、複数のセンサユニットを主走査方向Xに一列に並べ、副走査方向Yのオフセットを積極的に変えない取り付けが考えられる。そのような取付によれば、分割画像データを接合処理した場合、主走査方向Xのセンサユニット間の隙間により、当該間隙に対応する画像データが欠落した画像データが得られる。なお、画像データの欠落部分に対応する画素を「欠落画素」と呼ぶことにする。
【００７８】
この画像データの欠落を改善する技術として、特許文献3は、欠落画素の位置を検出し、欠落画素の左右に位置する画素（以下、左右画素）の値の平均値を欠落画素の値とする手法を提案する。この手法によれば、原稿に傾きがある場合は、傾き角θに応じた斜め左方向、斜め右方向の画素の値によって欠落画素を補間処理する必要がある。
【００７９】
例えば、CAD図面に記載された罫線上に欠落画素がある場合、斜め方向の左右画素の値によって補間処理を行うことになり、傾き角θによっては罫線の太さが不均一になる場合がある。とくに、副走査方向Yに延伸する罫線がセンサユニット間の隙間の近くに位置する場合、補正後の縦線にぎざぎざが目立つ。また、欠落画素の補正における原稿の傾きの影響を防ぐために欠落画素の補正前に傾き補正を行えば、画素位置が変化するため、欠落画素の特定が難しくなる。
【００８０】
また、上述したように、センサ特性補正部202は、センサユニット102a-102dが出力する画像データにシェーディング補正を施す。その際、処理の高速化のためにシェーディング補正に使用する補正値をメモリに格納しておく。当該メモリは、センサユニット102a-102dの各受光素子の特性の違い、言い替えれば、主走査方向Xの特性のずれを補正するために、センサユニット102a-102dの受光素子分の補正値を格納することができる記憶容量を有すればよい。しかし、実装するセンサユニットの数を増して主走査方向Xの画素数を増大させる場合、当該メモリの記憶容量も増大する。
【００８１】
実施例3では、複数のセンサユニットを主走査方向Xに一列に並べた画像読取装置において、シェーディング補正用のメモリの記憶容量の削減と傾き補正による高画質化を両立させる画像処理を説明する。実施例3の画像処理は、とくに、副走査方向に延伸する線が、センサユニットの間隙の近くに位置し、原稿の傾きによって複数のセンサユニットによって読み取られる場合に有効に作用する。
【００８２】
［画像処理部］
図8のブロック図により実施例3の読取装置における画像処理部500の構成例を説明する。画像読取部は、複数のセンサユニットを用いて原稿画像を読み取る。上述したように、傾きがある原稿の画像が読み取られる可能性がある。説明を簡単にするために、画像読取部は二つのセンサユニット402aと402bを有し、それらセンサユニットの間に間隙があるとする。
【００８３】
図9により画像読取部による画像の読み取りを説明する。図9(a)は原稿404の画像例を示し、原稿404には白地に二画素幅の直交する二本の黒線が描かれている。図9(b)に示すように、画像読取部502は、傾いた状態の原稿404から画像を読み取る。また、図9(b)に示すように、センサユニット402aと402bはそれぞれ1ライン当り11画素の画像データを生成し、センサユニット402aと402bの間には一画素分の間隙があり、画像の各ラインにおいて一画素の欠落画素が発生すると仮定する。
【００８４】
メモリコントローラ(MEMC)502は、画像読取部が出力する画像データをメモリ503に書き込み、その書込量が所定量に達すると、メモリ503から副走査方向Yに画素値を読み出す。副走査方向Yに画素値を読み出す理由は、後述するシェーディング補正部504のメモリ量を削減するためである。
【００８５】
●画素コマンド
図10によりMEMC502がメモリ503から読み出した画素値を転送する際のデータフォーマットを説明する。図10(a)に示すように、画像値は、ヘッダ領域が付加された画素コマンドとして転送される。ヘッダ領域は、バンド単位における画素の端部位置を示すバンド情報を含む。バンド情報は、少なくとも、バンドスタート(BS)ビット、バンドエンド(BE)ビット、カラムスタート(CS)ビット、カラムエンド(CE)ビットを含む。BS、BE、CS、CEの‘1’は該当を示し、‘0’は非該当を示す。
【００８６】
また、MEMC502がメモリ503から読み出した時点では付加されていないが、ヘッダ領域は、画素が欠落画素か否かを示す1ビットの属性情報を含むことができる。属性情報の‘1’は欠落画素を示し、‘0’は非欠落画素を示す。
【００８７】
例えば、図10(b)に示す画素A0の画素コマンドは、BSとCSが‘1’、BEとCEが‘0’、属性情報が‘0’である。つまり、画素A0は、バンド単位の転送におけるバンドおよびカラムの開始点に位置し、欠落画素ではないことが画素コマンドによって示される。
【００８８】
なお、ヘッダ領域には、上記以外の情報、例えば、画素コマンドのフォーマットを識別するための情報なども格納されているが、本実施例に直接関係しないため、その説明を割愛する。このような画素コマンドとして画素値を転送することで、後段の画像処理部が容易に画素位置を算出することができるようになる。
【００８９】
●処理単位
図11によりバンド単位の画素値の読み出しを説明する。実線の円は画像読取部502が読み取った画素（以下、有効画素）を表す。説明を容易にするために、主走査方向Xにはカラム番号を付し、副走査方向Yにはライン番号を付す。例えば、画素A0はライン番号A、カラム番号0の位置の画素に相当する。カラム番号0-10およびカラム番号12-22に位置する画素は有効画素である。
【００９０】
画像読取部502が画像を読み取った時点ではカラム番号11に相当するカラムは存在しないが、理解を容易にするために、図11にはカラム番号11に相当するカラムを記載する。カラム番号11のカラムに位置する破線の円は欠落画素に相当する。また、図11には図9(a)に示す原稿404の二本の線を仮想的に示すが、実際に二本の線が存在するわけではない。
【００９１】
また、図11に示す矢印は、画素値の読出順（出力順）を表す。また、図11において、円内にハッチングを施した画素はカラムスタート(CS)またはカラムエンド(CE)の画素に相当し、円内にクロスハッチングを施した画素はバンドスタート(BS)またはバンドエンド(BE)の画素に相当する。BSの画素からBEの画素までがバンド処理の一単位、CSの画素からCEの画素までがバンド内におけるカラム処理の一単位である。
【００９２】
●シェーディング補正
シェーディング補正部504は、MEMC502がメモリ503から読み出した画素コマンドに含まれる画素値に、主走査方向Xの輝度むらなどを補正するシェーディング補正を施す。シェーディング補正の補正値はセンサユニット402a、402bの受光素子ごとに異なる。言い替えれ、シェーディング補正の補正値はカラムごとに異なり、カラムごとに存在する。
【００９３】
図12のフローチャートによりシェーディング補正部504の処理を説明する。なお、図12はバンドごとに実行されるシェーディング補正処理を示している。画像の読み取りが開始されると、シェーディング補正部504は、カラム0の補正値をメモリに設定する(S601)。そして、画素コマンドを読み込み(S602)、メモリに設定した補正値を用いて画素コマンドに含まれる画素値をシェーディング補正し(S603)、シェーディング補正後の画素コマンドを出力する(S604)。
【００９４】
次に、シェーディング補正部504は、画素コマンドのバンド情報のBEを判定し(S605)、BE=‘1’の場合はバンド処理を終了し、BE=‘0’の場合はバンド情報のCEを判定する(S606)。CE=‘1’の場合、シェーディング補正部504は、カラム単位の処理の最後の画素と認識する。そして、補正値を次のカラムの補正値に置き換えるために次のカラムの補正値をメモリに設定し(S607)、次の画素コマンドを処理するために処理をステップS602に戻す。一方、CE=‘0’の場合、シェーディング補正部504は、カラム単位の処理の途中の画素と認識して、次の画素コマンドを処理するために処理をステップS602に戻す。
【００９５】
このように、MEMC502によって副走査方向Yに読み出された画素値が入力されるため、シェーディング補正部504は、センサユニット402a、402bの全受光素子の補正値を設定するためのメモリ量を必要としない。言い替えれば、少なくとも1カラム（一つの受光素子）分の補正値を設定可能な記憶容量のメモリをシェーディング補正部504に備え、カラム処理の単位ごとに補正値を置き換えればよい。
【００９６】
●欠落画素の挿入
欠落画素挿入部505は、シェーディング補正後の画素コマンドを入力し、後述する欠落画素情報に基づき、画素コマンドの集合である画像データの、センサユニット402aと402bの間隙に対応する位置に欠落画素の画素コマンドを挿入する。そして、欠落画素情報に基づき属性情報を生成し、挿入した画素コマンドのヘッダ領域に属性情報を付加する。
【００９７】
欠落画素挿入部505は、欠落画素を挿入するだけで欠落画素の画素値の補正を行わない。欠落画素の画素値の補正は、後述する欠落画素補正部509において行われる。つまり、欠落画素を挿入し、欠落画素の画素値を補正する処理（以下、欠落画素補正）は、欠落画素挿入部505と欠落画素補正部509に分けて実行される。欠落画素補正をこのように分けることにより、傾き補正後の画像データに欠落画素補正を施すことが可能になる。
【００９８】
●傾き補正（斜行補正）
MEMC502と同様の構成を有するMEMC506は、欠落画素挿入部505が出力する画素コマンドを斜行補正部508と共有するメモリ507に書き込む。そして、その書込量が所定量に達すると、メモリ507に書き込んだ順にメモリ507から画素コマンドを読み出す。
【００９９】
斜行補正部508は、MEMC506がメモリ507から読み出した画素コマンドを入力し、画素コマンドのヘッダ領域のバンド情報と、前述した原稿配置情報から取得した原稿の傾き角度θに基づき、メモリ507のアドレスを算出する。そして、算出したアドレスに従い、メモリ507に格納された画素コマンドを読み出すことで、角度-θ分の回転を与えた位置に相当する画素コマンドを読み出す。
【０１００】
斜行補正部508は、メモリ507から読み出した画素コマンドの属性情報と画素値を、近傍の画素コマンドの属性情報と画素値を参照して補間して、傾き補正後の画像（以下、傾き補正画像）を生成する。なお、補間には例えばニアレストネイバ法やバイリニア法などの方法を用いればよい。
【０１０１】
図13により傾き補正画像の一例を示す。図13に示す破線の円は、図11と同様に、属性情報が‘1’の欠落画素に相当する。図11と同様、図13にも原稿404の二本の線を仮想的に示すが、実際に二本の線が存在するわけではない。なお、傾き補正を行っても、図13に示すようなきれいな線が得られない場合がある。そのような場合は、傾き補正画像にエッジ強調処理や太らせ処理などのフィルタ処理を施して画質の向上を図る。
【０１０２】
斜行補正部508は、図13に矢印で示すように、傾き補正画像の画素コマンドを副走査方向Yに出力する。その際、斜行補正部508は、出力する画素コマンドのバンド情報を図13に示す転送順に合わせて再設定する。このようにして出力される傾き補正画像の画素コマンドは、画素値だけでなく、付加された属性情報にも傾き補正が施されている。従って、後段の欠落画素補正部509において、傾き補正画像の属性情報を参照することで、注目画素が欠落画素か否かを判定することが可能になる。
【０１０３】
●欠落画素の補正
欠落画素補正部509は、傾き補正画像の画素コマンドを入力し、属性情報を参照して欠落画素を判定し、欠落画素の画素値を補正する。例えば、欠落画素と主走査方向に隣接する非欠落画素（以下、左右の有効画素）の値の平均値を欠落画素の値として算出すればよい。また、左右の各二つの有効画素の値の加重平均値や、左右の有効画素の値、斜め上の有効画素の値、斜め下の有効画素の値の平均値や加重平均値を欠落画素の値として算出してもよい。
【０１０４】
そして、欠落画素補正部509は、算出した値を欠落画素の画素コマンドの画素値に設定し、これにより欠落画素補正が完了する。なお、欠落画素補正が完了した時点で欠落画素の画素コマンドの画素値に有意な値が設定されるが、欠落画素補正が完了する前の欠落画素の画素コマンドの画素値は任意である。
【０１０５】
画像加工部510は、欠落画素補正部509から欠落画素補正が施された画像データを入力し、必要な画像処理を画像データに施す。画像加工部510が実行する画像処理には、例えば、色変換処理、変倍処理、フィルタ処理などが含まれる。
【０１０６】
MEMC502と同様の構成を有するMEMC511は、画像加工部510が出力する画像データをメモリ512に書き込み、画像処理部500の後段に接続された処理部の要求に従い、メモリ512に格納した画像データを出力する。画像処理部500の後段の処理部としては、例えば印刷処理を実行する印刷部や、クライアント装置に画像データを送信する通信部などがある。
【０１０７】
［欠落画素挿入部］
図14のブロック図と図15のフローチャートにより欠落画素挿入部505の構成例および動作例を説明する。なお、図15は1バンド分の処理を示す。また、図16により画素コマンドの一例を示す。
【０１０８】
欠落画素挿入部505は、予め取得済みの欠落画素情報を入力する(S701)。欠落画素情報は、複数のセンサユニットの間隙の位置に相当する欠落画素位置と、間隙の幅に相当する欠落画素幅を示す。欠落画素情報は、例えば、センサユニット402a、402bの取付時の仕様を示す前述した取付位置情報から取得したり、プレスキャンによって取得したりすることが可能である。図9(b)に示す例の場合、欠落画素情報は、欠落画素位置「11」と欠落画素幅「1」を示す。
【０１０９】
次に、欠落画素挿入部505は、カラムカウンタ706のカウント値を0に初期化する(S702)。カラムカウンタ706は、欠落画素挿入部505の内部カウンタであり、カラム位置を検出するためのものである。
【０１１０】
次に、欠落画素挿入部505は、比較部701により、カラムカウンタ706のカウント値Ccntと欠落画素情報が示す欠落画素位置Cmを比較する(S703)。Ccnt≠Cmの場合は有効画素のカラム位置と判定することができ、一方、Ccnt=Cmの場合は欠落画素のカラム位置と判定することができる。つまり、Ccnt≠Cmの場合、欠落画素挿入部505は、画素コマンド生成部703と属性情報付加部705によって有効画素の画素コマンドを生成する(S704-S709)。一方、Ccnt=Cmの場合、欠落画素挿入部505は、画素コマンド生成部703と属性情報付加部705によって欠落画素の画素コマンドを生成する(S710-S715)。
【０１１１】
まず、有効画素の画素コマンドの生成について説明する。画素コマンド生成部703は、シェーディング補正後の画素コマンドを入力し(S704)、入力した画素コマンドをカラムメモリ704に格納する(S705)。カラムメモリ704は、欠落画素挿入部505の内部メモリであり、少なくとも1カラム分の画素コマンドを格納可能である。なお、カラムメモリ704に格納された画素コマンドは後述する欠落画素の画素コマンドの生成に使用される。
【０１１２】
次に、属性情報付加部705は、画素コマンド生成部703から入力した画素コマンドに属性情報‘0’を付加した有効画素の画素コマンドを出力する(S706)。例えば、図11に示す画素A10に対して、図16(a)に示す属性情報が‘0’の画素コマンドが出力される。
【０１１３】
次に、欠落画素挿入部505は、画素コマンドのバンド情報のCEを判定し(S707)、CE=‘1’の場合はカラムカウンタ706のカウント値をインクリメントする(S708)。そして、画素コマンドのバンド情報のBEを判定し(S709)、BE=‘1’の場合はバンド単位の処理を終了し、BE=‘0’の場合はバンド単位の処理が未了と判定して、処理をステップS703に戻す。
【０１１４】
次に、欠落画素の画素コマンドの生成について説明する。欠落画素挿入部505は、ラインカウンタ707のカウント値Lcntを0に初期化する(S710)。ラインカウンタ707は、欠落画素挿入部505の内部カウンタであり、ラインをカウントしてカラムメモリ704のアドレスを生成するためのものである。
【０１１５】
次に、画素コマンド生成部703は、ラインカウンタ707のカウント値Lcntに対応するカラムメモリ704のアドレスから画素コマンドを読み出す(S711)。属性情報付加部705は、画素コマンド生成部703から入力した画素コマンドに属性情報‘1’を付加した欠落画素の画素コマンドを出力する(S712)。
【０１１６】
つまり、間隙の直前の、有効画素からなるカラムの画素コマンドがカラムメモリ704から読み出され、当該画素コマンドの属性情報が‘1’に変更される。例えば、図11に示す画素A11の画素コマンドとして図16(a)に示す画素A10の画素コマンドがコピーされ、その属性情報が‘1’に変更された画素コマンドが図16(b)に示す画素コマンドである。
【０１１７】
なお、欠落画素挿入部505が出力する欠落画素の画素コマンドには、直前の有効画素からなるカラムの画素コマンドの画素値が付加されているが、当該画素値は有意ではない。従って、画素コマンド生成部703または属性情報付加部705は、欠落画素の画素コマンドを出力する際に画素値を、8ビットの場合は0やFF、あるいは、所定値に書き換えてもよい。
【０１１８】
次に、欠落画素挿入部505は、ラインカウンタ707のカウント値Lcntをインクリメントし(S713)、生成した画素コマンドのバンド情報のCEを判定する(S714)。CE=‘0’の場合は次のラインの欠落画素の画素コマンドを生成するために処理をステップS711に戻す。一方、CE=‘1’の場合、欠落画素挿入部505は、比較部702により、カラムカウンタ706のカウント値Ccntと欠落画素情報の欠落画素位置Cmと欠落画素幅Wmの和(Cm+Wm)を比較する(S715)。
【０１１９】
Ccnt＜(Cm+Wm)の場合は次のカラムも欠落画素のカラムと判定することができ、一方、Ccnt=(Cm+Wm)の場合は次のカラムは有効画素のカラムと判定することができる。つまり、Ccnt＜(Cm+Wm)の場合、欠落画素挿入部505は、次のカラムの欠落画素の画素コマンドを生成するために処理をステップS710に戻す。一方、Ccnt=(Cm+Wm)の場合、欠落画素挿入部505は、次のカラムの有効画素の画素コマンドを生成するために処理をステップS704に戻す。
【０１２０】
上記では、MEMC506が傾き補正前の画像をメモリ507に書き込んだ後、斜行補正部508が原稿の傾き角度θを補正するために角度-θ分の回転を与えた画像をメモリ507から読み出す方法を説明した。代わりの方法として、斜行補正部508が傾き補正した画像をメモリ507に書き込み、MEMC506がメモリ507から傾き補正画像を読み出す方法が考えられる。ただし、その場合、斜行補正部508がメモリ507をランダムアクセスして書き込みを行うため、MEMC506がメモリ507から傾き補正画像を読み出すタイミングの制御が難しくなる。
【０１２１】
このように、複数のセンサユニットを主走査方向Xに一列に並べた画像読取装置において、シェーディング補正用のメモリの記憶容量の削減と傾き補正による高画質化を両立させることができる。とくに、副走査方向に延伸する線が、センサユニットの間隙の近くに位置し、原稿の傾きによって複数のセンサユニットによって読み取られる場合に有効に作用する。
【０１２２】
なお、シェーディング補正用のメモリの記憶容量の削減は、実施例1、2のように、主走査方向Xに関して隣接するセンサユニット同士を一部重畳させ、副走査方向Yのオフセットを変えた配置を有する画像読取装置にも有効である。
【実施例４】
【０１２３】
以下、本発明にかかる実施例4の画像処理装置およびその方法、並びに、画像読取装置を説明する。なお、実施例4において、実施例1-3と略同様の構成については、同一符号を付して、その詳細説明を省略する。
【０１２４】
実施例3は、図10(a)に示す画素コマンドのフォーマットのように、ヘッダ領域に1ビットの属性情報の割り当てが可能であることを前提とする。しかし、例えば、画素コマンドの転送帯域を削減したい場合や、過去に開発されたハードウェアやソフトウェアなどのリソースの利用する場合、ヘッダ領域に属性情報を割り当てることができない場合も考えられる。実施例4ではこの点を考慮した構成を説明する。
【０１２５】
図17により実施例4のMEMC502が画素コマンドを転送する際のフォーマットを説明する。図17(a)に示す実施例4の画素コマンドのフォーマットは、図10(a)に示すフォーマットと異なり、ヘッダ領域に属性情報が割り当てられていない。後述するが、属性情報は、データ領域の下位ビットを使用して表現される。
【０１２６】
欠落画素挿入部505は、実施例3と同様の方法により欠落画素を挿入する。ただし、ヘッダ領域に属性情報が割り当てられていないため、有効画素の場合は、画素値の第0ビットを第1ビットと同値にする。図17(b)は有効画素の画素コマンドを示し、画素値の第1ビットが‘1’の場合は第0ビットが‘1’にされ、第一ビットが‘0’の場合は第0ビットが‘0’にされる。
【０１２７】
欠落画素挿入部505は、欠落画素の場合は、画素値の第0ビットを第1ビットと異なる値にする。図17(c)は欠落画素の画素コマンドを示し、画素値の第1ビットが‘1’場合は第0ビットが‘0’にされ、第1ビットが‘0’の場合は第0ビットが‘1’にされる。
【０１２８】
つまり、画素値の下位2ビットが、有効画素か欠落画素かを判定するための属性情報として使用される。属性情報を下位2ビットで表現する理由は、画素値の変動を最小限にするためである。属性情報を付加する前後の有効画素の画素値の下位2ビットを下に示す。
付加前  付加後
‘00’→‘00’
‘01’→‘00’
‘10’→‘11’
‘11’→‘11’
【０１２９】
有効画素の画素値に変動が生じるのはビット操作前の画素値が‘01’と‘10’の場合であり、何れも1レベルの最小の変動に留まり、視覚的な影響はほとんどない。なお、補正前の欠落画素の画素値は、下位2ビットが欠落画素を示すことを除き、前述したように有意な値ではなく、画素値が変動したとしても何ら影響はない。また、画素値の下位1ビットが‘0’の場合が有効画素で‘1’の場合が欠落画素としてもよいし、‘0’の場合が欠落画素で‘1’の場合が有効画素としてもよい。つまり、画素値の下位ビットを操作して、有効画素と欠落画素を示せばよい。
【０１３０】
斜行補正部508は、実施例3と同様の傾き補正を行う。その際の画素値の補間において、属性情報を維持するために、画素値の下位ビットを維持する。つまり、注目画素の補間前の下位ビットが有効画素を示す場合は、補間後の下位ビットも有効画素を示すように、必要があれば第0ビットの値を変更する。同様に、補間前の下位ビットが欠落画素を示す場合は、補間後の下位ビットも欠落画素を示すように、必要があれば第0ビットの値を変更する。
【０１３１】
欠落画素補正部509は、斜行補正部508から出力される傾き補正画像の各画素コマンドの下位2ビットを参照して欠落画素を判定し、実施例3と同様に、欠落画素の画素値を補正する。
【０１３２】
このように、画素コマンドの画素値の下位ビットを使用して属性情報を表現することで、画素コマンドのヘッダ領域に属性情報を割り当てることができない場合にも欠落画素補正が可能になる。
【０１３３】
実施例3、4においては、説明を簡単にするために、センサユニットを二つ用いる画像読取装置の例を説明した。しかし、実施例1や2のように四つのセンサユニットを用いる画像読取装置や、四つを超えるセンサユニットを用いる画像読取装置に、実施例3、4の画像処理装置を適用することができる。つまり、上記の各実施例において、二つ以上のセンサユニットを用いる画像読取装置であれば、センサユニットの数に制限はない。
【０１３４】
［その他の実施例］
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記録媒体を介してシステム或いは装置に供給し、そのシステムあるいは装置のコンピュータ（又はCPUやMPU等）がプログラムを読み出して実行する処理である。
【図１】
2015073263.tif 000003
【図２】
2015073263.tif 000004
【図３】
2015073263.tif 000005
【図４】
2015073263.tif 000006
【図５】
2015073263.tif 000007
【図６】
2015073263.tif 000008
【図７】
2015073263.tif 000009
【図８】
2015073263.tif 000010
【図９】
2015073263.tif 000011
【図１０】
2015073263.tif 000012
【図１１】
2015073263.tif 000013
【図１２】
2015073263.tif 000014
【図１３】
2015073263.tif 000015
【図１４】
2015073263.tif 000016
【図１５】
2015073263.tif 000017
【図１６】
2015073263.tif 000018
【図１７】
2015073263.tif 000019