(57)【要約】【課題】白色基準板に付着するゴミの影響により正確なシェーディング補正データが生成できない。【解決手段】原稿読取装置は、原稿を読み取るセンサと、前記センサから出力された画素データに対して、該画素データの主走査位置に対応したシェーディング補正データを用いてシェーディング補正を行うシェーディング補正手段と、前記センサから出力された基準部材の着目画素データが特異点であるか否かを判定する判定手段と、主走査位置ごとに、前記特異点でないと判定された着目画素データの数をカウントするカウンタと、主走査位置ごとに、前記特異点でないと判定された着目画素データを累積加算する加算手段と、前記特異点でないと判定された着目画素データの主走査位置に対応するカウント値が所定の数より小さい場合、前記加算手段を用いて当該着目画素データを累積加算させ、前記所定の数の前記特異点でないと判定された着目画素データが累積加算された結果を用いて、前記主走査位置ごとにシェーディング補正データを算出する算出手段とを有する。【選択図】  図５
2017046346.tif 000002
【特許請求の範囲】
【請求項１】
原稿を読み取るセンサと、
前記センサから出力された画素データに対して、該画素データの主走査位置に対応したシェーディング補正データを用いてシェーディング補正を行うシェーディング補正手段と、
前記センサから出力された基準部材の着目画素データが特異点であるか否かを判定する判定手段と、
主走査位置ごとに、前記特異点でないと判定された着目画素データの数をカウントするカウンタと、
主走査位置ごとに、前記特異点でないと判定された着目画素データを累積加算する加算手段と、
前記特異点でないと判定された着目画素データの主走査位置に対応するカウント値が所定の数より小さい場合、前記加算手段を用いて当該着目画素データを累積加算させ、前記所定の数の前記特異点でないと判定された着目画素データが累積加算された結果を用いて、前記主走査位置ごとにシェーディング補正データを算出する算出手段と
を有することを特徴とする原稿読取装置。
【請求項２】
前記基準部材に対する基準データを保持する保持手段を更に有し、
前記算出手段は、前記判定手段により特異点であると判定された着目画素データを、当該特異点であると判定された着目画素データの位置に対応する前記基準データに置き換えて、前記加算手段に累積加算させることを特徴とする請求項１に記載の原稿読取装置。
【請求項３】
前記基準部材に対する基準データを保持する保持手段を更に有し、
前記算出手段は、
特異点であると判定された着目画素データの周囲の画素データに対応する、前記基準データおよび前記センサにて読み取った前記基準部材の画像データとを用いてオフセット値を算出し、
当該特異点であると判定された着目画素データの位置に対応する前記基準データの値を前記オフセット値にて補正した値を、当該特異点であると判定された着目画素データに置き換えて、前記加算手段に累積加算させることを特徴とする請求項１に記載の原稿読取装置。
【請求項４】
前記判定手段および前記算出手段が、規定数のラインを処理した時点で、主走査方向におけるライン上の各主走査位置のうち、特異点であると判定された画素データ以外の画素データのカウント値が前記所定の数よりも少ない主走査位置が存在する場合、前記シェーディング補正データの算出が失敗したとしてエラーを通知する通知手段を更に有することを特徴とする請求項１乃至３のいずれか一項に記載の原稿読取装置。
【請求項５】
前記算出手段は、主走査方向におけるライン上の各主走査位置にある前記特異点であると判定された画素データ以外の画素データの平均値を用いて、各主走査位置に対する前記シェーディング補正データを算出することを特徴とする請求項１乃至４のいずれか一項に記載の原稿読取装置。
【請求項６】
前記判定手段は、前記基準部材の画像データを構成する画素データのうち、予め定義された範囲に含まれない輝度値を有する画素データを前記特異点であると判定することを特徴とする請求項１乃至５のいずれか一項に記載の原稿読取装置。
【請求項７】
前記範囲は、固定値にて定義されることを特徴とする請求項６に記載の原稿読取装置。
【請求項８】
前記範囲は、主走査方向におけるライン上の主走査位置ごとに基準となる値が定義され、当該基準となる値からの所定の範囲として定義されることを特徴とする請求項６に記載の原稿読取装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、原稿読取装置に関し、特に、白色基準部材への付着ゴミの影響を低減してシェーディング補正係数を生成するためのデータをサンプリングする方法に関する。
【背景技術】
【０００２】
画像読取装置では、読取センサの読取素子の画素毎の読取特性ばらつきや、原稿を照射する光源の光量分布の不均一性などの影響で、画像の本来の輝度と読取信号との間で変換特性の不整合が生じる。このような読取画像の不整合を補正する方法として、シェーディング補正が提案されている。シェーディング補正では、画像読取開始前に、白色基準板を読み取り、その読取の結果からシェーディング補正係数を生成する。
【０００３】
白色基準板はシェーディング補正時の基準となる。よって、白色基準板にゴミが付着した場合、シェーディング補正の精度を悪化させる原因となる。そこで、付着するゴミが最小限になるよう、その設置工程では細心の注意を持って取り付けられる。しかしながら、ゴミの付着を完全に除去することは困難である。そこで、白色基準板には少数のゴミが付着していることを前提として、シェーディング補正係数を生成している。白色基準板のゴミの影響を低減する方法として、数々の方法が提案されている。例えば、特許文献１では、画像読み取り前に白色基準板を読み取ってシェーディング補正係数を作成し、シェーディング補正を行う。更に、副走査方向に変位した別の場所で白色基準板を読み取り、その結果から白色基準板を読み取った箇所における特異点を検出する。特異点が認められた場合は、副走査方向にさらに変位し、特異点の認められない箇所を探してシェーディング補正係数を作成する。
【０００４】
特許文献２では、第１の読み取り位置にて白色基準板を読み取ったデータに基づいてシェーディング補正係数を生成し、生成したシェーディング補正係数を用いて第２の読み取り位置にてシェーディング補正を行う。そして、画素毎に判定基準と比較して異常である画素を検知し、その画素のシェーディング補正後のデータ値が既定の基準値になる様な修正係数を求める。更に、該当画素に対応するシェーディング補正係数に修正係数をかけた値をシェーディング補正係数として用いて原稿を読み取る。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特許第２７３６５３６号公報
【特許文献２】特開２００３−３２４５２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
特許文献１では、画像読み取り前に特異点の存在しない場所を探す処理を毎回行うため、画像読み取りに長い時間を要する。更には、特異点が存在しない場所が無い場合には特異点の影響が画像に現れる等の課題が存在する。
【０００７】
また、特許文献２では、第１の読み取り位置における白色基準板のデータに基づいて第２の読み取り位置において特異点となる箇所を判定し、特異点と判定された箇所については修正係数を求める必要がある。この場合、修正係数を求めるためには、特異点ごとに演算処理を実施する必要があり、演算処理を実現するための回路規模が大きくなる。更には、この演算をＣＰＵにて実施する場合には処理に比較的長い時間を要し、原稿の読み取りまでに時間がかかってしまう。
【０００８】
本発明は、上記のような課題に鑑み、シェーディング補正データを容易かつ迅速に生成することを目的とする。
【課題を解決するための手段】
【０００９】
上記課題を解決する本発明に係る原稿読取装置は、以下を構成要件とする。すなわち、原稿読取装置であって、原稿を読み取るセンサと、前記センサから出力された画素データに対して、該画素データの主走査位置に対応したシェーディング補正データを用いてシェーディング補正を行うシェーディング補正手段と、前記センサから出力された基準部材の着目画素データが特異点であるか否かを判定する判定手段と、主走査位置ごとに、前記特異点でないと判定された着目画素データの数をカウントするカウンタと、主走査位置ごとに、前記特異点でないと判定された着目画素データを累積加算する加算手段と、前記特異点でないと判定された着目画素データの主走査位置に対応するカウント値が所定の数より小さい場合、前記加算手段を用いて当該着目画素データを累積加算させ、前記所定の数の前記特異点でないと判定された着目画素データが累積加算された結果を用いて、前記主走査位置ごとにシェーディング補正データを算出する算出手段とを有する。
【発明の効果】
【００１０】
本発明によると、シェーディング補正データを簡易かつ迅速に生成できる。
【図面の簡単な説明】
【００１１】
【図１】画像読取装置の断面図。
【図２】読取制御基板及び信号処理基板の構成例を示す図。
【図３】シェーディング補正処理部のブロック図。
【図４】従来のシェーディング補正処理のフローチャート。
【図５】白色基準板上のゴミを除去したデータサンプリングの処理手順を示すフローチャート。
【図６】特異点判定に係るゴミの影響および判定閾値を説明するための図。
【図７】本発明に係る動作フローを説明するための図。
【図８】本発明に係るデータサンプリングの概念を説明するための図。
【発明を実施するための形態】
【００１２】
以下に、本発明に係るシェーディング補正係数の算出方法に関して、図面を参照しながら説明する。
【００１３】
＜第一の実施形態＞
［画像読取装置の構成］
図１は、原稿読取装置としての画像読取装置の断面図である。なお、ここに示す画像読取装置の構成は一例であり、本願発明を適用可能な画像読取装置はこの構成に限定するものではない。本実施形態に係る画像読取装置は、原稿を読み取るリーダーユニット１０１、および原稿を搬送する自動原稿搬送装置（以下、ＡＤＦ）１０２を備える。原稿トレイ１０４は原稿束１０３が載置される部位である。原稿束１０３の端部に幅規制板１０５が当接することにより原稿の斜行搬送が抑制される。原稿束１０３は、ピックアップローラー１０６により、分離パッド１０７および分離ローラー１０８を備える分離部へ配送される。分離部では、分離パッド１０７と分離ローラー１０８により、原稿束１０３の最も上に積載された用紙から順に１枚ずつ分離を行う。
【００１４】
分離された１枚の原稿は、第１レジストローラー１０９により、原稿の斜め搬送を修正し、第２レジストローラー１１０、第１搬送ローラー１１１、第２搬送ローラー１１２、第３搬送ローラー１１３の順に搬送される。第２搬送ローラー１１２、第３搬送ローラー１１３を通過する際に、原稿は第一読取位置上を通過し、画像読取装置は原稿の表面の画像情報を得る。第３搬送ローラー１１３を通過後、原稿は第４搬送ローラー１１４、第５搬送ローラー１１５によって搬送される。この際、原稿が第二読取位置上を通過する際に、画像読取装置は原稿の裏面の画像情報を読み取る。その後、原稿は第６搬送ローラー１１６、排紙ローラー１１７によって搬送され、原稿排紙トレイ１１８に排紙される。
【００１５】
次に、原稿の表面の読取動作について説明する。第一読取位置に存在する白色対向部材１１９と読取ガラス１２０の間を原稿が通過中、光源１２１、１２２により原稿を照射し、その反射光を反射ミラー１２３、１２４、１２５により結像レンズ１２６へ導く。結像レンズ１２６で収束された光はＣＣＤ（Ｃｈａｒｇｅ  Ｃｏｕｐｌｅｄ  Ｄｅｖｉｃｅ）などの撮像素子をライン上に配置したラインセンサ１２７に結像される。結像された光信号は、ラインセンサ１２７により電気信号に変換され、信号処理基板１２８によってディジタル信号に変換された後、そのディジタル信号は画像処理に用いられる。
【００１６】
続いて、原稿の裏面読取動作について説明する。第二読取位置に存在する白色対向部材１２９と裏面読取ガラス１３０の間を原稿が通過中、光源１３１、１３２により原稿を照射し、その反射光を反射ミラー１３３、１３４、１３５により結像レンズ１３６へ導く。結像レンズ１３６で収束された光は、表面同様、ＣＣＤなどの撮像素子をライン上に配置したラインセンサ１３７に結像される。結像された光信号は、ラインセンサ１３７により電気信号に変換され、信号処理基板１３８によってディジタル信号に変換された後、そのディジタル信号は画像処理に用いられる。
【００１７】
原稿を搬送しながら画像を読み取る流し読み動作で原稿の表面を読み取る場合と、原稿を読取ガラス１２０の上に載置して読み取る圧板読み動作の場合とで共通の読取ユニットを用いる構成が一般的である。本実施形態では、圧板読みの際には、光源１２１、１２２と反射ミラー１２３を図１における左から右方向に移動させることで、読取ガラス１２０上に載置された原稿を読み取ることができる構成である。一方、流し読みで原稿の裏面を読み取るユニットは、移動する必要がないことから、ＡＤＦの筐体に固定して取り付けられている。
【００１８】
なお、本実施形態において、流し読み動作を行う場合は、原稿が搬送される方向に対応する方向を副走査方向とし、この副走査方向と直交する方向を主走査方向とする。圧板読み動作を行う場合は、読取ユニットが移動する方向を副走査方向とし、この副走査方向と直交する方向を主走査方向とする。
【００１９】
［画像読取装置の制御部の構成］
図２は、本実施形態に係る画像読取装置の読取制御基板２００及び信号処理基板１２８の構成例を示す。なお、ここに示す制御部の構成は一例であり、これに限定するものではない。
【００２０】
信号処理基板１２８には、ラインセンサ１２７、アナログ処理回路２０８、およびＡＤコンバータ２０９などが搭載される。光源が原稿を照射して生じる反射散乱光が、図１に示した光学系を通してラインセンサ１２７で光電変換される。そして、光電変換されたＲＧＢの各色に対応するアナログ信号に対して、アナログ処理回路２０８でオフセットやゲインの調整がされる。その後段のＡＤコンバータ２０９ではアナログ処理回路で調整されたアナログ信号をディジタル信号へと変換し、その変換されたディジタル画像信号はＡＳＩＣ２０２へと入力される。
【００２１】
読取制御基板２００には、ＣＰＵ２０１、ＡＳＩＣ２０２、モータドライバ２０３、ＳＤＲＡＭ２０４、およびフラッシュメモリ２０５が搭載される。図１では図示していない画像読取装置内の各種センサ２０７の入力信号、及び、各種モータ２０６の制御出力信号が、ＡＳＩＣ２０２、あるいは、ＣＰＵ２０１にて制御される。
【００２２】
ＣＰＵ２０１は、ＡＳＩＣ２０２の各種動作設定などを実施する。ＣＰＵ２０１からの設定を受けたＡＳＩＣ２０２は、ＡＤコンバータ２０９から入力されたディジタル画像信号に対して、各種の画像処理を実施する。その画像処理の際には、ＡＳＩＣ２０２は、画像信号の一時保管などを実施するためにＳＤＲＡＭ２０４とも各種制御信号や画像信号の受け渡しを実施する。また、ＡＳＩＣ２０２の各種設定値や画像処理パラメータの一部は、フラッシュメモリ２０５へと格納され、必要に応じて格納されたデータやパラメータを読み出して使用される。
【００２３】
ＡＳＩＣ２０２は、ＣＰＵ２０１からの指令、あるいはセンサ信号の入力をトリガにして、画像処理を開始したり、モータドライバ２０３へ各種モータの制御パルス出力を行ったりしたりすることで、一連の画像読取動作を実施する。なお、ＡＳＩＣ２０２により各種画像処理が行われた後の画像データは、さらに後段のメイン制御基板（不図示）へと受け渡される。
【００２４】
［シェーディング補正部の構成］
図３は、ＡＳＩＣ２０２に含まれる画像処理部３００のうち、シェーディング補正処理およびシェーディング補正データの算出を実施する回路の概要を示す図である。
【００２５】
画像処理部３００は、オフセット演算回路３０１、ゲイン演算回路３０２、および特異点判定回路３０３を有する。オフセット演算回路３０１は、ラインセンサ１２７の画素毎の暗時出力のばらつきを補正する。ゲイン演算回路３０２は、光源１２１の主走査方向の配光分布や結像レンズ１２６に起因する画像の周辺部の光量低下などが重畳されたラインセンサ１２７の画素ごとの明時出力のばらつきを補正する。特異点判定回路３０３は、読取画像に対して所定の判定閾値との比較を行い、閾値を越えるあるいは下回る画素を特異点画素として判定する。なお、本明細書において、特異点を検出するための基準部材である白色基準板に付着したゴミや汚れに起因する画素値を有する画素を「特異点画素」と称する。この判定の詳細については、フローチャートと併せて後述する。
【００２６】
動作制御部３０５は、画像処理部３００内の各演算回路に対し、各種演算動作のＯＮ／ＯＦＦや各種パラメータの設定、ＳＲＡＭ制御部３０６への動作設定などを実施する。ＳＲＡＭ制御部３０６は、動作制御部３０５からの指令に基づきＡＳＩＣ２０２内部に存在するＳＲＡＭ３０７へのデータライト実行、データリード実行、及び演算処理を行う。画像処理部３００内の各種演算回路は、ＳＲＡＭ制御部３０６とも接続される。各種演算回路は、ＳＲＡＭ３０７に格納された画素毎のオフセット係数やゲイン係数、ゴミ判定閾値などを必要に応じてＳＲＡＭ３０７から読み出し、読み出した値と入力画像信号から必要な演算を実施する。
【００２７】
オフセット演算回路３０１は、下記の式（１）に基づき入力画像信号からオフセット値を減算する。ここでのオフセット値は、主走査方向の位置ごとに、ＳＲＡＭ３０７内に保持されているものとする。なお、以下に示す各算出式において、同じ要素は同じものを意味する。また、本明細書において、画素値（画素データ）をサンプリングし、順次加算していくことを以下、「サンプリング加算」と記載する。
Ｏ＿ＤＡＴＡ［ｘ］＝Ｉ＿ＤＡＴＡ［ｘ］−ＢＷ＿ＲＡＭ＿ＤＡＴＡ［ｘ］  …（１）
ｘ：主走査位置
Ｏ＿ＤＡＴＡ［ｘ］：オフセット演算回路３０１から出力される出力データのうち、主走査位置ｘにおける値
Ｉ＿ＤＡＴＡ［ｘ］：オフセット演算回路３０１へ入力される入力データのうち、主走査位置ｘにおける値
ＢＷ＿ＲＡＭ＿ＤＡＴＡ［ｘ］：ＳＲＡＭ３０７に保持されているオフセット値のうち、主走査位置ｘにおける値
【００２８】
ＢＷ＿ＲＡＭ＿ＤＡＴＡ［ｘ］は、主走査位置ごとに複数ラインに亘ってサンプリングして加算し、その結果を、取得したライン数で割ることで平均化したデータから、ラインセンサ１２７のＡＤ変換後の暗時出力データを減算することで求められる。
【００２９】
ＢＷ＿ＲＡＭ＿ＤＡＴＡは、下記の式（２）で求めることが出来る。
ＢＷ＿ＲＡＭ＿ＤＡＴＡ［ｘ］＝（サンプリング加算データの平均値［ｘ］）−ＢＷ＿ＴＡＲＧＥＴ  …（２）
サンプリング加算データの平均値［ｘ］：主走査位置ｘにおけるサンプリング加算データの平均値
ＢＷ＿ＴＡＲＧＥＴ：暗時出力データのターゲット値
【００３０】
ゲイン演算回路３０２は、下記の式（３）に基づき、ゲイン演算回路３０２への入力画像信号にゲイン値を乗算する。ここでのゲイン値は、主走査方向の位置ごとにＳＲＡＭ３０７内に保持されているものとする。ここで、図３に示すように、オフセット演算回路３０１からの出力される出力データ（式（１）のＯ＿ＤＡＴＡ［ｘ］）が、ゲイン演算回路３０２へ入力される入力データ（式（３）のＩ＿ＤＡＴＡ［ｘ］）に対応する。
Ｏ＿ＤＡＴＡ［ｘ］＝Ｉ＿ＤＡＴＡ［ｘ］×ＷＨ＿ＲＡＭ＿ＤＡＴＡ［ｘ］  …（３）
ｘ：主走査位置
Ｏ＿ＤＡＴＡ［ｘ］：ゲイン演算回路３０２から出力される出力データのうち、主走査位置ｘにおける値
Ｉ＿ＤＡＴＡ［ｘ］：ゲイン演算回路３０２へ入力される入力データのうち、主走査位置ｘにおける値
ＷＨ＿ＲＡＭ＿ＤＡＴＡ［ｘ］：ＳＲＡＭ３０７に保持されているゲイン値のうち、主走査位置ｘにおける値
【００３１】
ＷＨ＿ＲＡＭ＿ＤＡＴＡ［ｘ］は、主走査位置ごとに複数ラインに亘ってサンプリングして加算し、その結果を、取得したライン数で割ることで平均化したデータにより、ラインセンサ１２７のＡＤ変換後の明時出力データを割ることで求められる。ＷＨ＿ＲＡＭ＿ＤＡＴＡ［ｘ］は、下記の式（４）で求めることが出来る。
ＷＨ＿ＲＡＭ＿ＤＡＴＡ［ｘ］＝ＳＨＤ＿ＴＡＲＧＥＴ÷（サンプリング加算データの平均値［ｘ］）  …（４）
ＳＨＤ＿ＴＡＲＧＥＴ：シェーディング補正のターゲット値
【００３２】
特異点判定回路３０３においては、下記の式（５）及び式（６）に基づき、この回路への入力画像信号に対して閾値との比較演算を各主走査位置に対して行う。そして、比較演算結果（判定結果）をＳＲＡＭ制御部３０６に出力するとともに、特異点判定回路３０３に入力された入力画像信号をそのまま出力する。ここで、図３に示すように、ゲイン演算回路３０２からの出力される出力データ（式（３）のＯ＿ＤＡＴＡ［ｘ］）が、特異点判定回路３０３へ入力される入力データ（式（５）および式（６）の  Ｉ＿ＤＡＴＡ［ｘ］）に対応する。
ＯＶＥＲ＿ＦＬＡＧ
＝１  ＠Ｉ＿ＤＡＴＡ［ｘ］＞ＯＶＥＲ＿ＴＨ［ｘ］
＝０  ＠Ｉ＿ＤＡＴＡ［ｘ］≦ＯＶＥＲ＿ＴＨ［ｘ］  …（５）
ＵＮＤＥＲ＿ＦＬＡＧ
＝１  ＠Ｉ＿ＤＡＴＡ［ｘ］＜ＵＮＤＥＲ＿ＴＨ［ｘ］
＝０  ＠Ｉ＿ＤＡＴＡ［ｘ］≧ＵＮＤＥＲ＿ＴＨ［ｘ］  …（６）
ｘ：主走査位置
Ｏ＿ＤＡＴＡ［ｘ］：特異点判定回路３０３から出力される出力データのうち、主走査位置ｘにおける値
Ｉ＿ＤＡＴＡ［ｘ］：特異点判定回路３０３へ入力される入力データのうち、主走査位置ｘにおける値
ＯＶＥＲ＿ＴＨ：特異点判定閾値（上限）
ＵＮＤＥＲ＿ＴＨ：特異点判定閾値（下限）
【００３３】
式（５）および式（６）において、ＯＶＥＲ＿ＴＨよりも入力データが大きい場合にはＯＶＥＲ＿ＦＬＡＧ＝１となる。一方、ＵＮＤＥＲ＿ＴＨよりも入力データが小さい場合には、ＵＮＤＥＲ＿ＦＬＡＧ＝１となる。つまり、記号＠以降が出力値に対する条件を示す。以下に示す算出式でも同様とする。
【００３４】
なお、特異点判定閾値は、全画素で一律の閾値を用いてもよいが、主走査位置毎に特異点判定閾値を変更することで、画素ばらつきに対応したより精度の高い判定をすることができる。主走査位置毎に特異点判定閾値を変更する方法としては、特異点判定閾値の前提となる主走査位置毎のデータをＳＲＡＭ３０７に格納しておき、このデータに対して、所定の輝度差を特異点判定閾値とする。例えば、主走査位置ｘ＝１０、１１の前提となるデータがそれぞれ１８０、１８５の場合、上限閾値をそれぞれ１９０、１９５とし、下限閾値をそれぞれ１７０、１７５とする。ここでは、輝度差を上限下限それぞれ“１０”としたが、これに限定するものではない。また上限と下限において異なる輝度差を用いてもよい。本処理により、入力画像データの特異点を判定する。
【００３５】
［シェーディング補正データを算出する処理］
本実施形態の前提として、シェーディング補正データを算出する処理について図４を用いて説明する。
【００３６】
Ｓ４０１にて、画像読取装置は、図１の第１の読取手段用の光源１２１、１２２、あるいは、第２の読取手段用の光源１３１、１３２を消灯する。
【００３７】
Ｓ４０２にて、動作制御部３０５は、図３に示す各演算回路に対して、黒シェーディング補正用の設定を行う。具体的には、オフセット演算回路３０１、ゲイン演算回路３０２、特異点判定回路３０３のいずれにおいても処理も行わない設定（すなわち、処理スルー設定）を行う。
【００３８】
Ｓ４０３にて、画像読取装置は、黒シェーディング補正係数を生成するためのデータのサンプリングを行う。具体的には、画像読取装置は、Ｓ４０２での設定に基づき、特異点判定回路３０３の出力データをＳＲＡＭ３０７に格納する。
【００３９】
Ｓ４０４にて、ＳＲＡＭ制御部３０６は、ＳＲＡＭ３０７に格納された画像データからサンプリング加算データの平均値を求め、式（２）に基づき黒シェーディング補正係数（ＢＷ＿ＲＡＭ＿ＤＡＴＡ）を算出する。そして、ＳＲＡＭ制御部３０６は、算出された黒シェーディング補正係数（ＢＷ＿ＲＡＭ＿ＤＡＴＡ）をＳＲＡＭ３０７に格納する。
【００４０】
Ｓ４０５にて、画像読取装置は、Ｓ４０１で消灯した光源を、点灯する。
【００４１】
Ｓ４０６にて、画像読取装置は、白シェーディング補正用の設定を行う。具体的には、画像読取装置は、オフセット演算回路３０１に対して黒シェーディング補正係数（ＢＷ＿ＲＡＭ＿ＤＡＴＡ）を設定し、特異点判定回路３０３に対して判定処理の実行を設定する。その一方、画像読取装置は、ゲイン演算回路３０２においては処理を行わない設定（すなわち、処理スルー設定）を行う。
【００４２】
Ｓ４０７にて、画像読取装置は、白シェーディング補正係数を生成するために、白色基準板の画像データのサンプリングを行う。具体的には、画像読取装置は、Ｓ４０６での設定に基づき、特異点判定回路３０３から出力される画像データをＳＲＡＭ３０７に格納する。さらに、画像読取装置は、特異点判定回路３０３の判定結果をＳＲＡＭ３０７に格納する。ここで、ラインセンサ１２７から出力される画像データに対するシェーディング補正データを算出する場合は、白色基準板として白色対向部材１１９を使用して、画像データのサンプリングを行う。また、ラインセンサ１３７から出力される画像データに対するシェーディング補正データを算出する場合は、白色基準板として白色対向部材１２９を使用して、画像データのサンプリングを行う。
【００４３】
Ｓ４０８にて、ＳＲＡＭ制御部３０６は、ＳＲＡＭ３０７に格納された画像データと判定結果とに基づきサンプリング加算データの平均値を算出し、そして、式（４）に基づきサンプリング加算データの平均値から白シェーディング補正係数（ＷＨ＿ＲＡＭ＿ＤＡＴＡ）を算出する。そして、ＳＲＡＭ制御部３０６は、白シェーディング補正係数（ＷＨ＿ＲＡＭ＿ＤＡＴＡ）をＳＲＡＭ３０７に格納する。
【００４４】
［本実施形態に係るシェーディング補正データ算出（Ｓ４０７、Ｓ４０８）のアルゴリズムの概要説明］
図３に示したＡＳＩＣ２０２の各種演算回路により、シェーディング補正用データの取得を実施する。処理手順において以下の２つのポイントがある。
（１）着目画素が特異点か否かを判定する
（２）特異点でない場合：着目画素（着目画素データ）をデータサンプリングする
特異点である場合：着目画素（着目画素データ）をデータサンプリングしない
【００４５】
まず、（１）の特定点判定は、着目画素が（２）のデータサンプリングの取得対象となるか否かを判定するために行う。
【００４６】
図６に示すのはゴミ判定閾値を算出する際にサンプリングした白色基準板の画像データであって、主走査方向の一部を抜粋したものである。図６では、横軸に画素の主走査方向のライン上の画素位置、縦軸に読み取った輝度値を示している。また、輝度値に対して設定されている上限閾値及び下限閾値は、各画素を特異点として判定するための基準である。図６（ａ）では、輝度値に対する範囲として、１４０〜１７０が示され、この範囲外の輝度値を有する画素は特異点と判定される。図６（ａ）において、２７５０画素目付近で、輝度値が１１８程度まで低下している箇所があり、この部分は下限閾値を下回っているため、特異点として判定される。
【００４７】
このような特異点の影響を低減するために、（２）のデータサンプリングでは、（１）の判定閾値を上回る、あるいは、下回ると判定された箇所の読取データ（画素）は、サンプリングの対象とはしない。つまり、特異点以外のデータのみをサンプリングすることで、特異点の影響を除いた状態を保ちつつ、画素毎に読取特性のばらつきをより正確に反映した状態のデータを取得する。
【００４８】
このように作成した特異点判定を基にしてデータをサンプリングすることで、白色基準板のゴミ起因の影響を低減した状態で、シェーディング補正に適したデータを取得することができる。
【００４９】
図５は、本実施形態に係るシェーディング補正データの取得手順を示すフローチャートである。
【００５０】
Ｓ５０１にて、動作制御部３０５は、特異点判定閾値を設定する。Ｓ５０１の処理は、図４のＳ４０６の処理の一部である。特定の輝度値の範囲を指定する方法としては、例えば、以下の２通りが考えられる。
【００５１】
（ａ）全ての画素に対して固定値として輝度値の上限と下限を指定する
この設定方法の場合、図６（ａ）に示すように、各画素が固定値で示された輝度値の範囲内に対象画素の輝度値が存在するか否かにより特異点か否かを判定する。
【００５２】
（ｂ）主走査方向における画素位置ごとに相対的な輝度値の範囲を指定する
この設定方法の場合、図６（ｂ）に示すように、主走査方向における画素位置ごとに特異点判定基準となる輝度値を設け、その特異点判定基準から所定の範囲（上限および下限）を指定する。なお、ここでは、特異点判定基準からの所定の範囲（上限および下限）は固定値として指定されている。そして、その範囲内に対象画素の輝度値が存在するか否かにより特異点か否かを判定する。この場合、各画素で特異点を判定するための基準となるデータが必要になる。この基準データとしては、シェーディング補正用のデータサンプリングに先立って、白色基準板を複数ラインに亘ってサンプリングしたものを用いることができる。もしくは、読取動作開始前に予め白色基準板を複数ラインに亘ってサンプリングし、その平均値を求めたものを用いてもよい。さらに、工場出荷時の白色基準板の読み取りデータをＦｌａｓｈＲＯＭなどの不揮発メモリに格納しておき、装置の電源投入時に不揮発メモリから読み出して用いてもよい。
【００５３】
仮のシェーディング補正係数としては、特異点判定のための基準データと同様に、予め白色基準板を複数ラインに亘ってサンプリングし、その平均値を求めた後にシェーディング補正係数を暫定で算出した値を用いてもよい。もしくは、工場出荷時の白色基準板の読み取りデータから生成したシェーディング補正係数を用いてもよい。
【００５４】
Ｓ５０２にて、ＳＲＡＭ制御部３０６は、着目ラインに含まれるある画素を着目画素とし、この着目画素の主走査位置に対応する画素カウンタの値が所定の値よりも小さいか否かを判定する。ＳＲＡＭ制御部３０６は、主走査位置それぞれに対応した画素カウンタを有している。例えば、主走査方向に１０の画素が配置されている場合、それぞれの画素の位置（主走査位置）に対応した計１０の画素カウンタが設けられる。ここでの所定の値は、後述するサンプリング加算ライン数に対応し、例えば、“６４”として設定することができる。着目画素の主走査位置に対応する画素カウンタの値が所定の値よりも小さい場合（Ｓ５０２にてＹＥＳ）Ｓ５０３へ進む。一方、着目画素の主走査位置に対応する画素カウンタの値が所定の値以上である場合（Ｓ５０２にてＮＯ）、Ｓ５０３〜Ｓ５０５の処理を実行せずに、Ｓ５０６へ進む。
【００５５】
本処理フローにおいて、Ｓ５０３〜Ｓ５０５により、特異点以外の画素の値（画素データ）を累積加算する処理を行う。この場合において、Ｓ５０２の判定結果により、着目画素の主走査位置に対応する画素カウンタが所定の値（サンプリング加算ライン数）に到達している場合は、その主走査位置に対しては加算処理を実行しないように制御している。サンプリング加算ライン数とは、特異点として判定されていない画素をサンプリング対象として選択してその値を順次加算するサンプリングにて必要とするライン数を示す。したがって、ある主走査位置に対応する画素カウンタの値が、サンプリング加算ライン数に到達するまでは、Ｓ５０３〜Ｓ５０５の処理により、その主走査位置に位置する特異点以外の画素の値は、累積加算される。つまり、サンプリング加算ライン数の分だけサンプリングができれば、適切にシェーディング補正係数を算出することができることを前提としている。サンプリング加算ライン数（上記の所定の値）については、処理負荷や精度に応じて、任意に設定できるようにしてもよい。
【００５６】
Ｓ５０３にて、特異点判定回路３０３は、Ｓ５０１で設定された特異点判定閾値を用いて、着目画素が特異点画素か否かを判定する。そして、特異点判定回路３０３は、各画素の判定結果および入力画像データをＳＲＡＭ３０７に格納する。更に、ＳＲＡＭ制御部３０６は、ＳＲＡＭ３０７から画像データおよび判定結果を順次読みだす。判定結果が特異点の画素を示す場合は、この着目画素に対しては、以降のＳ５０４〜Ｓ５０５は実行されない。着目画素が特異点であると判定された場合は（Ｓ５０３にてＹＥＳ）Ｓ５０６へ進み、特異点でないと判定された場合は（Ｓ５０３にてＮＯ）Ｓ５０４へ進む。
【００５７】
Ｓ５０４にて、ＳＲＡＭ制御部３０６は、Ｓ５０３で特異点と判定されなかった着目画素について、この着目画素の主走査位置に対応する画素カウンタをカウントアップする。
【００５８】
Ｓ５０５にて、画像読取装置は、Ｓ５０３で特異点と判定されなかった着目画素について画像データの累積加算を実行する。
【００５９】
Ｓ５０６にて、ＳＲＡＭ制御部３０６は、読み出した画像データの主走査位置が１ラインの最終位置に到達したか否かを判定する。つまり、着目画素が着目ラインの最終の主走査位置の画素か否かを判定する。最終位置に到達している場合（Ｓ５０６にてＹＥＳ）、Ｓ５０７へ遷移し、到達していない場合は（Ｓ５０６にてＮＯ）Ｓ５０２へ戻り、特異点判定を同じ着目ラインのうちの新たな着目画素に対して継続する。
【００６０】
Ｓ５０７にて、ＳＲＡＭ制御部３０６は、各主走査位置に対応する画素カウンタの値のうちの最小値を確認する。例えば、画素カウンタの値のうちの最大値がサンプリング加算ライン数に達したにもかかわらず、この最小値が上記のサンプリング加算ライン数よりも小さい場合は、白色基準板上にゴミや汚れが存在し、その影響でサンプリングが行われていない画素があることを意味する。
【００６１】
Ｓ５０８にて、ＳＲＡＭ制御部３０６は、Ｓ５０７で確認した画素カウンタの最小値が所定の値（サンプリング加算ライン数）に到達しているか否かを判定する。所定の値に到達している場合（Ｓ５０８にてＹＥＳ）、全主走査位置についてサンプリングが完了しているため、サンプリング動作を終えてＳ５１１へ遷移する。所定値に到達していない場合（Ｓ５０８にてＮＯ）、Ｓ５０９へ遷移する。
【００６２】
Ｓ５０９にて、ＳＲＡＭ制御部３０６は、着目ラインがサンプリング範囲の最終ラインに到達しているか否かを判定する。最終ラインに到達している場合（Ｓ５０９にてＹＥＳ）、Ｓ５１０へ遷移する。この場合は、白色基準板の存在する所望の範囲（規定数のライン）でサンプリングが完了しなかった場合である。なお、通常、サンプリング対象の範囲は、サンプリング加算ライン数よりも大きい範囲で設定される。最終ラインに到達していない場合（Ｓ５０９にてＮＯ）、Ｓ５０２へ戻り、新たなラインを着目ラインとして、そのラインの各画素に対して処理を継続する。
【００６３】
Ｓ５１０にて、ＳＲＡＭ制御部３０６は、所定の画素数分サンプリングができず、失敗した旨をＣＰＵ２０１へエラー通知する。その後、ＳＲＡＭ制御部３０６は、サンプリング処理を終了する。このエラー通知を受けたＣＰＵ２０１は、必要に応じて操作部（不図示）にエラーメッセージを発行するようにしてもよい。
【００６４】
Ｓ５１１にて、ＳＲＡＭ制御部３０６は、主走査位置それぞれに対してサンプリング加算された結果を、各主走査位置のカウント値（サンプリング加算ライン数）で除算し、サンプリング加算データの平均値を算出する。そして、式（４）に基づきサンプリング加算データの平均値から白シェーディング補正係数（ＷＨ＿ＲＡＭ＿ＤＡＴＡ）を算出し、ＳＲＡＭ３０７に格納する。その後、本処理フローを終了する。
【００６５】
［動作説明］
図７は、本発明に係るデータの取得タイミング等を示すタイミングチャートである。図７において、同期信号ｈｓｙｎｃｘは主走査方向の画像の開始位置を示し、イネーブル信号ｈｅｎｂｘは主走査方向の画像有効範囲を示す。また、同期信号ｖｓｙｎｃｘは副走査方向（主走査方向と直行する方向）の画像の開始位置を示し、イネーブル信号ｖｅｎｂｘは、副走査方向の画像有効範囲を示す。これらの信号は、ＡＳＩＣ２０２内部で生成され、画像処理部３００が受け取ることで、画像の先端及び有効範囲を検知することが出来る。
【００６６】
画像読取装置において、シェーディング補正ためのデータを取得するのに用いる白色基準板の画像先端はｖｓｙｎｃｘで検知する。そして、動作制御部３０５内部のラインカウンタＶｃｎｔが動作し始めることで、副走査方向のデータ取得タイミングが生成される。
【００６７】
基準データサンプリング開始位置７０１は、図５のフローチャートＳ５０１で設定する特異点判定のための基準データ、あるいは、仮のシェーディング補正係数の算出用データのサンプリング開始タイミングを示す。基準データサンプリングライン幅７０２は、基準データサンプリング開始位置７０１からのデータサンプリングライン数を示す。Ｖｃｎｔのカウントに基づいて、基準データのサンプリング開始及び終了のタイミングを検知することができる。なお、基準データサンプリングライン幅７０２でサンプリング加算を行った後には、加算データの平均化による基準データ生成、あるいは、仮シェーディング補正係数を算出するために、副走査方向における数ライン分の時間が消費される。
【００６８】
図５のＳ５０２のデータサンプリング開始タイミングは、図７のデータサンプリング開始位置７０３までＶｃｎｔがカウントアップすることで検知することができる。データサンプリング領域７０４は、図５の一連のデータサンプリング処理を実施する領域を示している。Ｖｃｎｔのカウント値に基づいて、データサンプリング終了位置７０５を検知することができる。このラインに到達するまでにサンプリングが完了できない場合には図５のＳ５１０で示したようにサンプリングエラーとして処理される。
【００６９】
図８は、本発明に係るデータサンプリングの概念を説明するための図であり、図７の動作フローにおけるデータサンプリング領域７０４で、特定のラインにおけるカウンタ値の状態を主走査方向の各主走査位置に対するグラフとして示す。
【００７０】
ラインＡの時点では、ゴミが存在する位置の画素のみサンプリングができず、カウント値も上がらない。なお、この時点で、ラインＡ上のゴミが存在する位置の画素以外において、カウント値にバラつきが生じている。これは、ここまでの処理においてゴミや汚れが存在する画素（特異点画素）が発生した場合を想定しているためである。つまり、ゴミや汚れが存在した位置については、カウントされないため、処理中にはカウント値のバラつきが生じうる。このようなカウント値の状態判定は、図５のＳ５０７で説明したように毎ラインに実施される。
【００７１】
ラインＢの時点では、ゴミが存在する位置の画素以外は全て所定のカウント値（６４ライン）まで到達している状態を示している。このような状態で図７のデータサンプリング終了位置７０５に到達すると、全ての主走査位置におけるサンプリングができていないため、サンプリングエラーとなる。一方、ラインＢ時のような状態において、着目ラインがデータサンプリング領域７０４の範囲内であるとする。この場合、次ラインの処理では、ラインＢのカウント値が所定の値（ここでは、６４カウント）まで到達していない主走査位置のみ、カウント及びサンプリングの対象として処理が継続される。
【００７２】
データサンプリング終了位置７０５に到達する前に全ての主走査位置においてサンプリングができた場合は（ここでは、各画素位置に対して６４カウント分）、その時点でサンプリング動作は終了する。
【００７３】
図７では、基準データのサンプリング及びシェーディング補正用データのサンプリングを一連のフローの中で実施する例を示した。しかし、上記の通り、基準データのサンプリングは、読取動作開始前に予め白色基準板を複数ラインに亘ってサンプリングしたものをＳＲＡＭ３０７に格納しておいてもよい。もしくは、工場出荷時の白色基準板の読み取りデータをＦｌａｓｈＲＯＭなどの不揮発メモリに格納しておき、装置の電源投入時に不揮発メモリから読み出して使用してもよい。この場合、基準データ用のサンプリング動作を省略することができる。
【００７４】
以上により、従来では特異点と判定された箇所に対して修正係数を求めるために必要な除算や乗算などの演算回路が、本願発明では不要となる。また、ＣＰＵにて特異点の修正を実施する場合には、その処理時間を短縮することができる。したがって、白色基準板に付着するゴミがあったとしても、その影響を除去しつつ、シェーディング補正用データを簡易に、かつ、迅速に取得することができる。
【００７５】
＜第二の実施形態＞
本実施形態では、図７のデータサンプリング領域７０４において、副走査方向に連続するスジ状のゴミが付着している場合を考える。この場合、サンプリングエラーとしてＣＰＵへ通知し、白色基準板の清掃をユーザーに促して、清掃後に再度データサンプリングを実施することでデータサンプリングが成功する可能性がある。ただし、このような操作はユーザーにとっては手間となるため、ユーザーの手を煩わせないように、できるだけ画像読取装置内で処理が完結することが望まれる。
【００７６】
そこで、所定のライン数分のサンプリングができなかった主走査位置のデータに対し、以下のような処理を追加することが考えられる。
（１）サンプリングができた範囲内でデータを生成する
（２）特異点画素に対応する画素の値を基準データで置き換える
【００７７】
方法（１）では、主走査方向の画素位置（主走査位置）＝Ｘ画素目が特異点の影響でデータサンプリングが完了しなかった場合に、Ｘ画素目においてサンプリングが完了したライン数＝Ｌとすると、Ｘ画素目のデータのみ、平均化の段階での除数を変更する。なお、第一の実施形態と同様に、通常は６４ライン分のサンプリングが必要であるとする。
平均値
＝サンプリング加算値／Ｌ  ＠Ｘ画素目
＝サンプリング加算値／６４  ＠Ｘ画素目以外
【００７８】
このように特異点画素とそれ以外で一部だけ処理を変えることで、特異点画素が存在する画素位置のみ若干補正精度が落ちる可能性があるが、実用上は影響が出ない画質レベルにて、処理を完結することができる。
【００７９】
ただし、Ｌが非常に小さい値となる場合には、特異点画素に対応する画素位置のみスジとして現れる可能性がある。また、読み取りセンサ自体のノイズによる読み取り誤差や、光源の短期的な経時変動の影響などを受けるため、その影響を低減する意味でも、所定の数以上のラインのサンプリングが必要となる。
【００８０】
したがって、主走査方向の画素位置Ｘにおいてサンプリングできたライン数Ｌが所定の値よりも小さい場合には、そのサンプリングデータを使うのではなく、方法（２）を採用することが望ましい。なお、ここでのライン数Ｌに対する所定の値は、予め定義されるものとし、解像度や画像のサイズ等に応じて決定してもよい。
【００８１】
方法（２）において、特異点画素である画素位置Ｘに対応する基準データをＤＡＴＡ＿Ｋ（Ｘ）、サンプリングデータをＤＡＴＡ＿Ｓ（Ｘ）とすると、
ＤＡＴＡ＿Ｓ（Ｘ）→ＤＡＴＡ＿Ｋ（Ｘ）
と置き換える。ただし、単純に置き換えた際に、置き換えた画素位置Ｘの値のみが、周囲画素（画素位置Ｘ−１、Ｘ＋１）におけるサンプリングデータＤＡＴＡ＿Ｓ（Ｘ−１）、ＤＡＴＡ＿Ｓ（Ｘ＋１）と大きく異なる値の場合には、結果的にスジとして現れる可能性がある。
【００８２】
そこで、画素位置Ｘの周囲画素における基準データＤＡＴＡ＿Ｋ（Ｘ−１）及びＤＡＴＡ＿Ｋ（Ｘ＋１）の平均値と、ＤＡＴＡ＿Ｓ（Ｘ−１）及びＤＡＴＡ＿Ｓ（Ｘ＋１）の平均値とが一致するようにオフセット係数ＯＦＳＴを求める。そして、オフセット係数ＯＦＳＴをＤＡＴＡ＿Ｋ（Ｘ）に加算することで、大幅なレベル変動によるスジの影響を低減することができる。なお、オフセット係数ＯＦＳＴは負の値も取りうる。以下に変換式を示す。
2017046346.tif 000003
ここで、ＤＡＴＡ＿Ｓ’（Ｘ）は、画素位置Ｘの置き換え後のデータである。
【００８３】
以上の処理を追加してシェーディング補正用のデータをサンプリングすることで、所定の領域においてデータサンプリングができなかった特異点である画素においても良好なシェーディング補正係数を求めることができる。
【００８４】
＜その他の実施形態＞
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００８５】
１０１・・・リーダーユニット、１０２・・・オートドキュメントフィーダー、１０３・・・原稿束、１０４・・・原稿載置台、１０５・・・幅規制版、１０６・・・ピックアップローラー、１０７・・・分離パッド、１０８・・・分離ローラー、１０９、１１０・・・第１、第２レジローラー、１１１〜１１６・・・第１〜第６搬送ローラー、１１７・・・排紙ローラー、１１８・・・原稿排紙トレイ、１１９、１２９・・・白色対向部材、１２０、１３０・・・読取ガラス、１２１、１２２、１３１、１３２・・・光源、１２３〜１２５、１３３〜１３５・・・反射ミラー、１２６、１３６・・・結像レンズ、１２７、１３７・・・ラインセンサ、１２８、１３８・・・信号処理基板
【図１】
2017046346.tif 000004
【図２】
2017046346.tif 000005
【図３】
2017046346.tif 000006
【図４】
2017046346.tif 000007
【図５】
2017046346.tif 000008
【図６】
2017046346.tif 000009
【図７】
2017046346.tif 000010
【図８】
2017046346.tif 000011