(57)【要約】【課題】不純物が発生した白基準板から、シェーディング補正の基準となるデータを取得する画像読取装置を提供する。【解決手段】画像読取装置は、搬送経路の所定の位置を読取位置とし、原稿の搬送方向に直交する方向を主走査方向として、読取位置を通過する原稿から複数色で画像を読み取る読取ユニット１０６と、搬送経路を挟んで、読取位置よりも読取ユニット１０６から遠い位置に配置される白基準板と、読取位置に配置可能な均一な濃度の基準部材と、ＣＰＵ４０１と、を備える。ＣＰＵ４０１は、読取ユニット１０６による、基準部材の第１の読取結果と白基準板の第２の読取結果とにより、補正可能な不純物の位置を検知し、第１の読取結果と第２の読取結果とに応じたデータから、補正可能な不純物の位置のデータを補正して、シェーディング補正に用いる相関データを生成する。【選択図】図２
2019057883.tif 000002
【特許請求の範囲】
【請求項１】
搬送経路に原稿を１枚ずつ搬送させる搬送手段と、
前記搬送経路の所定の位置を読取位置とし、前記読取位置を通過する前記原稿から画像を読み取る読取手段と、
前記搬送経路を挟んで、前記読取位置よりも前記読取手段から遠い位置に配置される白基準板と、
前記読取位置に配置可能な均一な濃度の基準部材と、
前記読取手段による、前記基準部材の第１の読取結果と前記白基準板の第２の読取結果とにより、補正可能な不純物の位置を検知する検知手段と、
前記第１の読取結果と前記第２の読取結果とに応じたデータから、前記補正可能な不純物の位置のデータを補正して相関データを生成し、所定の格納手段に格納する相関データ生成手段と、
前記原稿を読取位置に通過させる前に、前記読取手段による前記白基準板の第３の読取結果と前記格納手段に格納される前記相関データとに応じてシェーディング係数を生成する生成手段と、
前記読取手段による前記原稿の読取結果を前記シェーディング係数に応じて補正する補正手段と、を備えることを特徴とする、
画像読取装置。
【請求項２】
前記読取手段は、前記原稿の搬送方向に直交する方向を主走査方向として前記原稿から画像を読み取り、
前記検知手段は、前記主走査方向に隣接する画素の前記第１の読取結果の第１の比と所定の閾値との比較により、前記基準部材の不純物の位置を検知し、前記主走査方向に隣接する画素の前記第２の読取結果の第２の比と前記所定の閾値との比較により、前記白基準板の不純物の位置を検知することを特徴とする、
請求項１記載の画像読取装置。
【請求項３】
前記検知手段は、前記第１の比と前記所定の閾値との比較により前記基準部材の不純物の大きさを検知し、前記第２の比と前記所定の閾値との比較により前記白基準板の不純物の大きさを検知し、
前記相関データ生成手段は、前記検知手段で検知した不純物の大きさが補正できない大きさであれば、前記相関データを生成しないことを特徴とする、
請求項２記載の画像読取装置。
【請求項４】
前記相関データ生成手段は、前記基準部材の不純物の位置と前記白基準板の不純物の位置とが所定の距離以内に近接又は重複している場合に、前記相関データを生成しないことを特徴とする、
請求項２又は３記載の画像読取装置。
【請求項５】
前記相関データ生成手段は、前記第２の読取結果を前記白基準板の不純物の位置に応じて補正した補正読取データを生成し、前記第１の読取結果と前記補正読取データとの比率に応じて前記相関データを生成することを特徴とする、
請求項２〜４のいずれか１項記載の画像読取装置。
【請求項６】
前記相関データ生成手段は、前記主走査方向に隣接する画素の前記補正読取データの第３の比と所定の第２の閾値との比較により、不純物の位置を検知し、検知した不純物の位置に応じて前記第１の読取結果と前記補正読取データとの前記比率を補正することで前記相関データを生成することを特徴とする、
請求項５記載の画像読取装置。
【請求項７】
前記第１の読取結果は、前記基準部材の照明輝度分布データであり、
前記第２の読取結果は、前記白基準板の照明輝度分布データであり、
前記第３の読取結果は、前記白基準板の照明輝度分布データであることを特徴とする、
請求項１〜６のいずれか１項記載の画像読取装置。
【請求項８】
搬送経路に原稿を１枚ずつ搬送させる搬送手段と、
前記搬送経路の所定の位置を読取位置とし、前記読取位置を通過する前記原稿から画像を読み取る読取手段と、
前記搬送経路を挟んで、前記読取位置よりも前記読取手段から遠い位置に配置される白基準板と、
前記読取位置に配置可能な均一な濃度の基準部材と、を備える画像読取装置により実行される方法であって、
前記読取手段による、前記基準部材の第１の読取結果と前記白基準板の第２の読取結果とにより、補正可能な不純物の位置を検知し、
前記第１の読取結果と前記第２の読取結果とに応じたデータから、前記補正可能な不純物の位置のデータを補正して相関データを生成し、生成した前記相関データを所定の格納手段に格納しておき、
前記原稿を読取位置に通過させる前に、前記読取手段による前記白基準板の第３の読取結果と前記格納手段に格納した前記相関データとに応じてシェーディング係数を生成し、
前記読取手段による前記原稿の読取結果を前記シェーディング係数に応じて補正することを特徴とする、
画像読取方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、原稿に形成された画像（以下、「原稿画像」という。）を読み取る画像読取装置に関する。
【背景技術】
【０００２】
複写機やマルチファンクションプリンタ等の画像形成装置は、原稿から画像を読み取るための画像読取装置を備える。原稿画像の読み取りのスループットを速くするため、また、原稿の搬送経路を複雑にせずに、搬送による原稿のダメージ低減や破損防止のために、原稿の表裏両面を一度に読み取る画像読取装置が提案されている。特許文献１の画像読取装置は、原稿の一方の面（表面）を読み取る第１読取部と他方の面（裏面）を読み取る第２読取部とを備え、原稿の表裏両面を一度に読み取ることができる。第１読取部と第２読取部とは流し読みガラスを挟んで対向する位置に配置される。流し読みガラスを挟んで第２読取部に対向し、且つ第１読取部の光路を阻害しない位置に、第２読取部のシェーディング補正を行うための白基準板が設けられる。この白基準板は、流し読みガラスを挟んで設けられるために、原稿と接触することがない。そのために、コンパクトでありながらも白基準板が汚れにくい構成が実現される。
【０００３】
第２読取部は、画像読取装置に固定されている。そのために、流し読みガラスにゴミ等の不純物が発生すると、第２読取部が読み取った画像にスジが発生する。特許文献２の画像読取装置は、予め不純物が発生していない状態の白基準板の読取値をバックアップしておく。この画像読取装置は、バックアップした読取値を基準として、原稿の読み取り前に取得した白基準板の読取値と比較することで、不純物の発生を検知する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００２−３３５３８０号公報
【特許文献２】特開２０１３−７０１６２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
バックアップした読取値を基準としてシェーディング補正を行う場合、バックアップ時に白基準板に不純物が発生していないことが前提となる。しかしながら、白基準板の読取値のバックアップを行う時点で、既に白基準板に不純物が生じている可能性がある。この場合、不純物が発生した状態で基準となる読取値のバックアップが行われる。そのために、シェーディング補正が正常に行われず、読み取った原稿画像に画像不良が発生する可能性がある。不純物が小さい場合には、白基準板の交換のような作業を行わずに、読取値を補正してバックアップする方が効率的である。
【０００６】
本発明は、上記課題に鑑みてなされたものであり、不純物が発生した白基準板から、シェーディング補正の基準となるデータを取得する画像読取装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明の画像読取装置は、搬送経路に原稿を１枚ずつ搬送させる搬送手段と、前記搬送経路の所定の位置を読取位置とし、前記読取位置を通過する前記原稿から画像を読み取る読取手段と、前記搬送経路を挟んで、前記読取位置よりも前記読取手段から遠い位置に配置される白基準板と、前記読取位置に配置可能な均一な濃度の基準部材と、前記読取手段による、前記基準部材の第１の読取結果と前記白基準板の第２の読取結果とにより、補正可能な不純物の位置を検知する検知手段と、前記第１の読取結果と前記第２の読取結果とに応じたデータから、前記補正可能な不純物の位置のデータを補正して相関データを生成し、所定の格納手段に格納する相関データ生成手段と、前記原稿を読取位置に通過させる前に、前記読取手段による前記白基準板の第３の読取結果と前記格納手段に格納される前記相関データとに応じてシェーディング係数を生成する生成手段と、前記読取手段による前記原稿の読取結果を前記シェーディング係数に応じて補正する補正手段と、を備えることを特徴とする。
【発明の効果】
【０００８】
本発明によれば、白基準板に不純物が発生した場合であっても、シェーディング補正の基準として使用可能な相関データを取得することができる。
【図面の簡単な説明】
【０００９】
【図１】画像読取装置の構成図。
【図２】制御系統の構成図。
【図３】（ａ）、（ｂ）は読取状態の説明図。
【図４】（ａ）、（ｂ）は照明輝度分布データの説明図。
【図５】相関データ生成方法を表すフローチャート。
【図６】ゴミフラグＧ（ｎ）の補正処理を表すフローチャート。
【図７】ゴミフラグの置換の説明図。
【図８】１１〜２０画素幅のゴミがあるときのゴミフラグの説明図。
【図９】汚れによる輝度低下の片エッジだけがゴミフラグと判定される場合の例示図。
【図１０】ゴミフラグＪ（ｎ）の補正処理を表すフローチャート。
【図１１】ゴミフラグＧ（ｎ）、Ｊ（ｎ）の比較チェックの説明図。
【図１２】読取データＹ（ｎ）とゴミフラグＪ（ｎ）との位置の例示図。
【図１３】補正読取データＳ（ｎ）の説明図。
【図１４】ゴミフラグＭ（ｎ）の補正処理を表すフローチャート。
【図１５】線形補間の説明図。
【図１６】相関データの説明図。
【図１７】原稿画像の読取処理を表すフローチャート。
【図１８】（ａ）〜（ｄ）は原稿画像の読取処理においてＣＰＵが処理するデータの説明図。
【発明を実施するための形態】
【００１０】
以下、実施の形態を図面を参照しつつ詳細に説明する。
【００１１】
（全体構成）
図１は、自動原稿搬送機構を搭載した画像読取装置の構成図である。画像読取装置１２０は、読み取り前の原稿１０２が載置される原稿トレイ１０１、読み取り後の原稿１０２が排出される排紙トレイ１０８、及び原稿１０２から原稿画像を読み取る読取ユニット１０６を備える。原稿１０２は、原稿トレイ１０１から読取ユニット１０６による読取位置１０７を介して排紙トレイ１０８まで搬送経路を搬送される。画像読取装置１２０は、読取位置１０７に搬送された原稿１０２の原稿画像を読取ユニット１０６により読み取る。
【００１２】
搬送経路には、原稿ピックアップローラ１２１、原稿分離ローラ１２２、原稿搬送ローラ１２３、及び原稿オフセットローラ１２４が設けられる。原稿ピックアップローラ１２１は、原稿トレイ１０１に積載された原稿１０２を画像読取装置１２０内に取り込む。原稿分離ローラ１２２は、原稿ピックアップローラ１２１により取り込まれた原稿１０２を１枚ずつ分離して、搬送経路を搬送させる。原稿搬送ローラ１２３は、原稿分離ローラ１２２により搬送された原稿１０２を読取位置１０７まで搬送する。原稿オフセットローラ１２４は、原稿１０２を読取位置１０７から搬送して、排紙トレイ１０８へ排出する。原稿搬送ローラ１２３の搬送方向上流側には原稿センサ１２が設けられる。原稿センサ１２は、搬送される原稿１０２を検知する。
【００１３】
読取ユニット１０６による読取位置１０７は、搬送経路途中の所定の位置に、原稿読取ガラス１１９と原稿台ガラス１２６との間に設けられる。原稿１０２は、原稿読取ガラス１１９と原稿台ガラス１２６との間を搬送される。原稿台ガラス１２６を挟んで読取位置１０７に対向する位置に、シェーディング補正に用いるシェーディング係数を算出するための白基準板１２５が設けられる。「シェーディング係数」は、読取ユニット１０６で白基準板１２５を読み取ったときの読取値に基づいて生成される。
【００１４】
読取ユニット１０６は、本実施形態ではＣＩＳ（Contact Image Sensor）により構成される１ラインのイメージセンサである。読取ユニット１０６は、読取位置１０７に搬送された原稿１０２に対して不図示の光源から光を照射する導光体２０２、ラインセンサ２０３、及びラインセンサ２０３に原稿１０２による反射光を集光させるレンズ２０４を備える。光源は、Ｒ（赤）、Ｇ（緑）、Ｂ（青）のＬＥＤ（Light Emitting Diode ）等の発光素子が、原稿１０２の搬送方向に直交する方向に直線状に複数列べられて構成される発光部である。ラインセンサ２０３は、ＣＭＯＳ（Complementary Metal Oxide Semiconductor）イメージセンサ等の受光素子が、光源と同様に、原稿１０２の搬送方向に直交する方向に直線状に複数列べられて構成される受光部である。
読取ユニット１０６は、ラインセンサ２０３で受光した原稿１０２の反射光を光電変換し、受光した反射光量に応じたアナログの電気信号であるアナログ画像信号を出力する。このアナログ画像信号は、原稿画像の濃度に応じて値が変化する輝度値を表す。発光素子及び受光素子が直線状に列べられる方向（原稿１０２の搬送方向に直交する方向）が、読取ユニット１０６が原稿１０２から原稿画像を読み取る際の主走査方向になる。
【００１５】
（コントローラ）
図２は、画像読取装置１２０の動作を制御するためのコントローラの構成図である。コントローラは、画像読取装置１２０に内蔵される。コントローラは、ＣＰＵ（Central Processing Unit）４０１により画像読取装置１２０の動作制御を実行する。ＣＰＵ４０１には、読取ユニット１０６、駆動部１５１、バックアップ用メモリ４０２、ＲＡＭ（Random Access Memory）４０５、及びシェーディング補正部４０４が接続される。駆動部１５１には原稿搬送モータ１０５が接続される。コントローラは、この他にＡ／Ｄ変換部４０３を備える。
【００１６】
ＣＰＵ４０１は、駆動部１５１により原稿搬送モータ１０５の駆動制御を行う。原稿搬送モータ１０５は、搬送経路に設けられる原稿ピックアップローラ１２１、原稿分離ローラ１２２、原稿搬送ローラ１２３、及び原稿オフセットローラ１２４を回転駆動する。ＣＰＵ４０１は、駆動部１５１により各ローラの動作を制御することで、搬送経路に原稿１０２を搬送させる。
【００１７】
ＣＰＵ４０１は、読取ユニット１０６の光源２０１の発光制御を行うことで、ラインセンサ２０３にアナログ画像信号を出力させる。ラインセンサ２０３は、アナログ画像信号をＡ／Ｄ変換部４０３に入力する。Ａ／Ｄ変換部４０３は、ラインセンサ２０３から入力されたアナログ画像信号をデジタル画像信号に変換する。Ａ／Ｄ変換部４０３は、デジタル画像信号をシェーディング補正部４０４に入力する。シェーディング補正部４０４は、光源２０１の光量の不均一性の影響やラインセンサ２０３の受光素子の感度のバラツキの影響を抑制するためのシェーディング補正を行う。
【００１８】
バックアップ用メモリ４０２は、不揮発性メモリであり、シェーディング補正の際に必要な各種データを格納する。バックアップ用メモリ４０２は、ＣＰＵ４０１によりデータの書き込み／読み出しが行われる。ＣＰＵ４０１は、シェーディング補正時に、バックアップ用メモリ４０２とシェーディング補正部４０４との間のデータの送受信を行うことになる。ＲＡＭ４０５は、ＣＰＵ４０１が処理を行う際の一時記憶領域を提供する。本実施形態では、ＲＡＭ４０５は、シェーディング補正の際のデータの一時記憶に用いられる。
【００１９】
（シェーディング補正）
シェーディング補正部４０４によるシェーディング補正について説明する。ラインセンサ２０３から出力されるアナログ画像信号は、主走査方向の画素毎の輝度値を含む。Ａ／Ｄ変換部４０３でアナログ画像信号から変換されたデジタル画像信号は、主走査方向の画素毎の輝度値のデジタル値を含む。シェーディング補正部４０４は、主走査方向の画素毎の輝度値のデジタル値を原稿読取値としてシェーディング補正を行い、シェーディング補正出力値を導出する。シェーディング補正部４０４は、例えば以下の式によりシェーディング補正出力値を算出する。
【００２０】
シェーディング補正出力値（ｎ）＝原稿読取値（ｎ）／シェーディング係数（ｎ）＊読取目標値    …（式１）
ｎ：主走査方向の画素の位置
シェーディング係数：白基準板１２５を読み取ったときの読取値に基づく値
読取目標値：白基準板１２５を読み取ったときの読取値の目標値
【００２１】
シェーディング係数は、後述する相関データに基づいてＣＰＵ４０１により生成される。相関データ及び読取目標値は、バックアップ用メモリ４０２に保存される。シェーディング補正部４０４は、ＣＰＵ４０１からシェーディング係数を取得し、ＣＰＵ４０１を介してバックアップ用メモリ４０２から読取目標値を取得する。なお、シェーディング補正部４０４は、シェーディング係数を用いずに、原稿読取値（ｎ）をそのままシェーディング補正出力値（ｎ）として出力してもよい。即ち、シェーディング補正出力値（ｎ）＝原稿読取値（ｎ）である。この処理は、「シェーディング補正オフ」という。
【００２２】
図３は、読取ユニット１０６による読取状態の説明図である。図３（ａ）は白基準板１２５を読み取る状態を表す。図３（ｂ）は、読取位置１０７に配置可能な、主走査方向に均一な濃度を持つ基準部材５００を読み取る状態を表す。基準部材５００は、後述のバックアップデータの生成時に、作業者の手により読取位置１０７に載置される。基準部材５００は、主走査方向の濃度が一定であれば、色や明るさに限定はない。本実施形態では、白色の基準部材５００を用いる場合について説明する。
【００２３】
バックアップ用メモリ４０２には、白基準板１２５を読み取った結果得られる主走査方向の照明輝度分布データと、基準部材５００を読み取った結果得られる主走査方向の照明輝度分布データとの相関を表す相関データが保存される。
【００２４】
図４は、照明輝度分布データの説明図である。図４（ａ）は、点光源により光を照射して読み取った結果得られる読取データである照明輝度分布データを表す。図４（ｂ）は、線光源により光を照射して読み取った結果得られる読取データである照明輝度分布データを表す。点線は白基準板１２５の読取結果（読取データ）を表し、実線は基準部材５００の読取結果（読取データ）を表す。
【００２５】
白基準板１２５の読取結果は、以下のような特徴を有する。白基準板１２５は、図３（ａ）に示すように、読取位置１０７よりも原稿台ガラス１２６の厚さ分、読取ユニット１０６から遠い位置に配置される。そのために白基準板１２５に照射される光の絶対輝度が読取位置１０７よりも低くなる。また、読取ユニット１０６から白基準板１２５までの光路長が、読取ユニット１０６から読取位置１０７までの光路長よりも長くなる。そのために、読取ユニット１０６から照射される光が主走査方向に拡散されて、白基準板１２５を読み取って得られた照明輝度分布データが主走査方向にブロードなデータとなる（図４（ｂ））。線光源は、点光源がアレイ状に構成されたものである。そのために図４（ｂ）の線光源による照明輝度分布データは、図４（ａ）の点光源による照明輝度分布データを連続させたものとなる。よって線光源を用いて読み取った白基準板１２５の照明輝度分布データは、主走査方向の中央部に対して、端部のデータが低い値となる（図４（ｂ）の点線）。
【００２６】
基準部材５００の読取結果は、以下のような特徴を有する。基準部材５００は、図３（ｂ）に示すように、読取位置１０７に位置する。そのために基準部材５００に照射される光の絶対輝度は白基準板１２５に照射される光よりも高くなる。また、読取ユニット１０６から基準部材５００までの光路長が、読取ユニット１０６から白基準板１２５までの光路長よりも短くなる。そのために、読取ユニット１０６から照射される光の主走査方向への拡散量が白基準板１２５の場合よりも小さく、基準部材５００を読み取って得られた照明輝度分布データが主走査方向にピークを持つデータとなる（図４（ｂ））。さらに、基準部材５００を線光源で読み取った結果の照明輝度分布データは（図４（ｂ）の実線）、主走査方向の中央部及び端部のデータがほぼフラットになる。
【００２７】
（相関データ格納処理）
図５は、バックアップ用メモリ４０２への相関データ生成方法を表すフローチャートである。画像読取装置は、読取ユニット１０６による白基準板１２５及び基準部材５００の読取結果に応じて、白基準板１２５及び基準部材５００に発生するゴミ等の不純物の位置を検知する。画像読取装置は、白基準板１２５及び基準部材５００の読取結果から不純物の位置の補正を行って相関データを生成する。以下に、相関データの生成方法を詳細に説明する。
【００２８】
ＣＰＵ４０１は、図３（ｂ）に示すように読取ユニット１０６の読取位置１０７に基準部材５００が載置された状態で読取設定を行う（Ｓ１４０１）。ＣＰＵ４０１は、図示しない操作部から入力される読取開始信号に応じて読取設定を行う。ＣＰＵ４０１は、読取設定により、例えば光源２０１を点灯させ、ラインセンサ２０３による読取制御を行い、シェーディング補正をオフに設定する。
【００２９】
ＣＰＵ４０１は、読取ユニット１０６による基準部材５００の読取結果を表すデータをサンプリングする（Ｓ１４０２）。ＣＰＵ４０１は、サンプリングした基準部材５００の読取結果である読取データＸ（ｎ）をＲＡＭ４０５に格納する。ここで、ｎは主走査方向の位置（画素）を表す。読取データＸ（ｎ）は、例えば図４（ｂ）の実線で表す照明輝度分布データである。
【００３０】
ＣＰＵ４０１は、ＲＡＭ４０５に格納した読取データＸ（ｎ）に基づいて以下の演算を行い、隣接する画素同士の読取データの比（隣接画素比）を算出する（Ｓ１４０３）。演算は、Ｒ、Ｇ、Ｂの色毎に、読取データＸ（ｎ）に対して行われる。Ｒの演算結果は隣接画素比Ｘｒ’（ｎ）、Ｇの演算結果は隣接画素比Ｘｇ’（ｎ）、Ｂの演算結果は隣接画素比Ｘｂ’（ｎ）と表される。
Ｘ’（ｎ）＝Ｘ（ｎ＋１）／Ｘ（ｎ）
ただし、１≦ｎ≦５１８３である。
【００３１】
ＣＰＵ４０１は、算出した隣接画素比Ｘ’（ｎ）と、所定の閾値αとの閾値判定を、画素データ毎に行う（Ｓ１４０４）。ＣＰＵ４０１は、１画素ずつ隣接画素比Ｘ’（ｎ）（ｎ＝１〜５１８３）と閾値αとの比較を行い、ゴミの存在する位置（画素）を表すゴミフラグＧ（ｎ）を生成する。ゴミフラグＧ（ｎ）は、０〜４の５種の値で表される。ゴミフラグＧ（ｎ）に含まれるゴミフラグ値０〜２（Ｇ（ｎ）＝０〜２）は、以下の条件で決定される。ゴミフラグ値３、４（Ｇ（ｎ）＝３、４）については後述する。
・１−α＜Ｘ’（ｎ）＜１＋αのとき    Ｇ（ｎ）＝０（ゴミなし：Ｘ’（ｎ）が所定の範囲内）
・Ｘ’（ｎ）≦１−αのとき    Ｇ（ｎ）＝１（輝度値が小さくなるような変化が生じた：Ｘ’（ｎ）が所定の範囲以下）
・Ｘ’（ｎ）≧１＋αのとき    Ｇ（ｎ）＝２（輝度値が大きくなるような変化が生じた：Ｘ’（ｎ）が所定の範囲以上）
つまりゴミフラグＧ（ｎ）は、隣接画素比Ｘ’（ｎ）が所定の範囲内であれば「０」、所定の範囲外であれば「１」又は「２」となる。
【００３２】
ＣＰＵ４０１は、生成したゴミフラグＧ（ｎ）の補正を行う（Ｓ１４０５）。ゴミフラグＧ（ｎ）の補正処理は、ゴミフラグＧ（ｎ）を加工する処理である。図６は、ゴミフラグＧ（ｎ）の補正処理を表すフローチャートである。
【００３３】
ＣＰＵ４０１は、ゴミフラグＧ（ｎ）を画素位置ｎ＝１から順に参照する（Ｓ６０１）。ＣＰＵ４０１は、参照するゴミフラグＧ（ｎ）が「０」であるか否かを判定する（Ｓ６０２）。ゴミフラグＧ（ｎ）が「０」である場合（Ｓ６０２：Y）、ＣＰＵ４０１は、画素位置ｎを１インクリメントする（Ｓ６１３）。ＣＰＵ４０１は、インクリメントした画素位置が最後の画素でなければ（Ｓ６１４：N）、インクリメント後の画素位置ｎのゴミフラグＧ（ｎ）に対する補正処理をＳ６０１から行うことになる。ＣＰＵ４０１は、インクリメントした画素位置が最後の画素であれば（Ｓ６１４：Y）、ゴミフラグＧ（ｎ）の補正処理を終了する。
【００３４】
ゴミフラグＧ（ｎ）が「０」ではない場合（Ｓ６０２：N）、ＣＰＵ４０１は、参照するゴミフラグＧ（ｎ）が１０画素幅以下のゴミを表すか否かを判定する（Ｓ６０３）。この処理は、ゴミフラグＧ（ｎ）が「０」以外、即ち「１」又は「２」のときに行われる。ＣＰＵ４０１は、ゴミフラグＧ（ｎ＋１）〜Ｇ（ｎ＋１０）を参照する。ＣＰＵ４０１は、ゴミフラグＧ（ｎ）が「１」の場合に、ゴミフラグＧ（ｎ＋１）〜Ｇ（ｎ＋１０）に「２」があるか否かを判定する。ＣＰＵ４０１は、ゴミフラグＧ（ｎ）が「２」の場合に、ゴミフラグＧ（ｎ＋１）〜Ｇ（ｎ＋１０）に「１」があるか否かを判定する。これにより、ゴミフラグＧ（ｎ）が１０画素幅以下のゴミを表すか否かが判定される。
【００３５】
ＣＰＵ４０１は、ゴミフラグＧ（ｎ＋１）〜Ｇ（ｎ＋１０）で値が変化することで、１０画素先までの読取データＸ（ｎ）に輝度値の逆方向への変化があったと判定する。この場合、ＣＰＵ４０１は、１０画素幅以下のゴミがあると判定して（Ｓ６０３：Y）、ゴミフラグの置換を行う（Ｓ６０４）。図７は、ゴミフラグの置換の説明図である。図７は、画素位置ｎ＝４でゴミフラグＧ（４）＝１、画素位置ｎ＝８でゴミフラグＧ（８）＝２となる場合を表す。
【００３６】
ＣＰＵ４０１は、ゴミフラグＧ（ｎ）の置換を以下の３つの手順により行う。１つ目の手順では、ＣＰＵ４０１は、ゴミフラグＧ（４）＝１の画素位置を１画素ずらして、ゴミフラグＧ（４）＝Ｇ（５）＝１とする。ゴミフラグＧ（４）＝１であるが、輝度低下が発生した画素位置ｎは「５」であり、１画素ずれている。１つ目の手順は、これを正すための処理である。なお、輝度変動が終了する位置とそれに対応するゴミフラグＧ（ｎ）の位置は一致する。
【００３７】
２つ目の手順では、ＣＰＵ４０１は、ゴミフラグＧ（５）＝１及びゴミフラグＧ（８）＝２で挟まれたゴミフラグＧ（６）、Ｇ（７）を「３」に置き換える。「３」のゴミフラグは、「１」、「２」のゴミフラグで挟まれた画素の「０」のゴミフラグを、ゴミのエッジ間に挟まれたゴミそのものであると認識するためのフラグである。エッジとは、輝度が大きく変化するゴミの両端部のことである。図７の例では、ゴミ起因で４画素幅の輝度低下が生じている。このときゴミフラグの出現順は１→２である。白ゴミの場合（輝度上昇が生じた場合）は、ゴミフラグＧ（４）＝２、ゴミフラグＧ（８）＝１となり、ゴミフラグの出現順は２→１となる。ゴミフラグが２→１に変化する画素で挟まれている場合も、その間の画素のゴミフラグが「３」に置換される。
【００３８】
３つ目の手順では、ＣＰＵ４０１は、ゴミフラグＧ（５）〜Ｇ（８）の両外側の２画素のゴミフラグを「４」に変更する（２画素太らせ処理）。すなわちゴミフラグＧ（３）、Ｇ（４）、Ｇ（９）、Ｇ（１０）＝４に変更する。ゴミフラグが「４」に変更された画素は、そもそも隣接画素比Ｘ’（ｎ）に対する閾値判定ではゴミに判定されないが、ゴミの影響を受けていていると考えられる。２画素太らせ処理は、ゴミの候補点を幅広く検知するための処置である。
【００３９】
置換後に「１」〜「４」のいずれかの値となったゴミフラグは、後続の処理ですべてゴミと判定される。Ｓ６０４の処理により、１０画素以下のゴミが主走査方向に４画素（２画素＋２画素）太らされる。
【００４０】
ゴミフラグの置換後にＣＰＵ４０１は、次の補正対象となる画素位置を更新する（Ｓ６０５）。ゴミフラグの置換が終了した時点で次の画素位置のゴミフラグの補正を開始すると、不要な処理が行われることになる。例えば図７の場合、画素位置ｎ＝８でゴミフラグＧ（８）に対する処理が行われる。しかし、ゴミフラグＧ（８）への処理は、ゴミフラグＧ（４）への処理の際に終了しているために、それ以上の処理が不要である。そのためにＣＰＵ４０１は、画素位置ｎを所定画素数分ジャンプする。例えば、ＣＰＵ４０１は、Ｓ６０３の処理で参照した１０画素のゴミフラグの中でゴミフラグＧが「１」又は「２」の画素位置に、更に２画素太らせた画素位置を、次の補正対象となる画素位置とする。図７の例では、ＣＰＵ４０１は、Ｓ６０３の処理時の画素位置ｎ＝４を、画素位置ｎ＝８＋２＝１０に更新する。
【００４１】
ＣＰＵ４０１は、更新後の画素位置ｎを更に１インクリメントする（Ｓ６１３）。ＣＰＵ４０１は、インクリメントした画素位置が最後の画素でなければ（Ｓ６１４：N）、インクリメント後の画素位置ｎのゴミフラグＧ（ｎ）に対する補正処理をＳ６０１から行うことになる。ＣＰＵ４０１は、インクリメントした画素位置が最後の画素であれば（Ｓ６１４：Y）、ゴミフラグＧ（ｎ）の補正処理を終了する。
【００４２】
ゴミフラグＧ（ｎ）が１０画素幅以下のゴミを表さない場合（Ｓ６０３：N）、ＣＰＵ４０１は、ゴミフラグＧ（ｎ）が１１〜２０画素幅のゴミを表すか否かを判定する（Ｓ６０６）。この処理は、ゴミフラグＧ（ｎ）が「０」以外、即ち「１」又は「２」のときに行われる。ＣＰＵ４０１は、ゴミフラグＧ（ｎ＋１１）〜Ｇ（ｎ＋２０）の１０画素分を参照する。ＣＰＵ４０１は、ゴミフラグＧ（ｎ）が「１」の場合に、ゴミフラグＧ（ｎ＋１１）〜Ｇ（ｎ＋２０）に「２」があるか否かを判定する。ＣＰＵ４０１は、ゴミフラグＧ（ｎ）が「２」の場合に、ゴミフラグＧ（ｎ＋１１）〜Ｇ（ｎ＋２０）に「１」があるか否かを判定する。図８は、１１〜２０画素幅のゴミがあるときのゴミフラグの説明図である。ゴミフラグＧ（４）が「１」である。ゴミフラグＧ（５）〜Ｇ（１４）は、「０」であり、Ｓ６０３の処理で参照される。ゴミフラグＧ（１５）〜Ｇ（２４）は、ゴミフラグＧ（１７）が「２」であり、Ｓ６０６の処理で参照される。
【００４３】
ゴミフラグＧ（ｎ）が１１〜２０画素幅のゴミを表す場合（Ｓ６０６：Y）、ＣＰＵ４０１は、清掃フラグの値を１インクリメントする（Ｓ６０７）。清掃フラグの初期値は「０」である。最終画素のゴミフラグ補正を行った後に、清掃フラグの値に基づいて処理が終了する。清掃フラグの値を１インクリメントしたＣＰＵ４０１は、Ｓ６０５の処理と同様の処理により画素位置の更新を行う（Ｓ６０８）。図８の例では、Ｓ６０５の処理時に画素位置ｎ＝４であったが、Ｓ６０８の処理により画素位置ｎ＝１７となる。
【００４４】
ＣＰＵ４０１は、更新後の画素位置ｎを更に１インクリメントする（Ｓ６１３）。ＣＰＵ４０１は、インクリメントした画素位置が最後の画素でなければ（Ｓ６１４：N）、インクリメント後の画素位置ｎのゴミフラグＧ（ｎ）に対する補正処理を行うことになる。ＣＰＵ４０１は、インクリメントした画素位置が最後の画素であれば（Ｓ６１４：Y）、ゴミフラグＧ（ｎ）の補正処理を終了する。
【００４５】
ゴミフラグＧ（ｎ）が１１〜２０画素幅のゴミを表さない場合（Ｓ６０６：N）、ＣＰＵ４０１は、「０」ではないゴミフラグＧ（ｎ）がセンサチップのつなぎ目位置で発生したものかどうかを判定する（Ｓ６０９）。ゴミフラグＧ（ｎ）が１１〜２０画素幅のゴミを表さない場合は、２種類ある。汚れによる輝度低下の片エッジだけが「１」又は「２」のゴミフラグと判定される場合と、隣接センサの感度違いによる輝度段差が「１」又は「２」のゴミフラグと判定される場合である。図９は、汚れによる輝度低下の片エッジだけが「１」又は「２」のゴミフラグと判定される場合の例示図である。隣接センサの感度違いによる輝度段差が、ゴミフラグＧ（ｎ）が１１〜２０画素幅のゴミを表さない理由である場合、「１」又は「２」のゴミフラグをゴミとして扱ってはならない。
【００４６】
隣接センサの感度違いによる輝度段差は、ラインセンサ２０３を構成するセンサチップのつなぎ目でしか発生しない。つまり決まった画素位置でしか隣接センサの感度違いによる輝度段差は発生しない。そのために、センサチップのつなぎ目でゴミフラグが「１」又は「２」となった場合、ＣＰＵ４０１は、該位置のゴミフラグを「０」に変更する。センサチップのつなぎ目はラインセンサ２０３に固有の位置であり、読取ユニット１０６がＣＩＳの場合には４３２＊ｋ（ｋ＝１〜１１）の１１カ所の画素位置である。
【００４７】
ＣＰＵ４０１は、処理中のゴミフラグＧ（ｎ）の画素位置がチップのつなぎ目の画素位置である場合（Ｓ６０９：Y）、ゴミフラグＧ（ｎ）の値を「０」に更新する（Ｓ６１０）。ＣＰＵ４０１は、更新後の画素位置ｎを更に１インクリメントする（Ｓ６１３）。ＣＰＵ４０１は、インクリメントした画素位置が最後の画素でなければ（Ｓ６１４：N）、インクリメント後の画素位置ｎのゴミフラグＧ（ｎ）に対する補正処理をＳ６０１から行うことになる。ＣＰＵ４０１は、インクリメントした画素位置が最後の画素であれば（Ｓ６１４：Y）、ゴミフラグＧ（ｎ）の補正処理を終了する。
【００４８】
処理中のゴミフラグＧ（ｎ）の画素位置がチップのつなぎ目の画素位置ではない場合（Ｓ６０９：N）、ＣＰＵ４０１は、汚れによる輝度低下の片エッジだけがゴミフラグと判定されたと判断する。つまり、一端は急峻で他端が緩やかに輝度変化するようなゴミが検出されたことになる。この場合、ＣＰＵ４０１は１画素幅のゴミが検出されたとして扱い、ゴミフラグ置換処理を行う（Ｓ６１１）。ＣＰＵ４０１は、図９に示すように、Ｓ６０４の処理の１つめの手順と３つめの手順とによりゴミフラグの置換を行う。つまりＣＰＵ４０１は、ゴミフラグＧ（ｎ）の画素位置を１画素ずらし、「１」と「２」のゴミフラグの画素位置の外側の２画素のゴミフラグを「４」に変更する（２画素太らせ処理）。
【００４９】
ゴミフラグの置換処理後にＣＰＵ４０１は、Ｓ６０５の処理と同様に画素位置を更新する（Ｓ６１２）。ＣＰＵ４０１は、更新後の画素位置ｎを更に１インクリメントする（Ｓ６１３）。ＣＰＵ４０１は、インクリメントした画素位置が最後の画素でなければ（Ｓ６１４：N）、インクリメント後の画素位置ｎのゴミフラグＧ（ｎ）に対する補正処理を行うことになる。ＣＰＵ４０１は、インクリメントした画素位置が最後の画素であれば（Ｓ６１４：Y）、ゴミフラグＧ（ｎ）の補正処理を終了する。
【００５０】
ゴミフラグＧ（ｎ）の補正が終了すると、ＣＰＵ４０１は、清掃フラグの値が「０」であるか否かを確認する（Ｓ１４０６）。清掃フラグの値が「０」より大きい場合（Ｓ１４０６：N）、ＣＰＵ４０１は、１１画素〜２０画素幅の大きなゴミがあると判定する。このように所定のサイズよりも大きいゴミ（ここでは１１画素〜２０画素幅のゴミ）は、後述の補正処理では対応できない。そのためにＣＰＵ４０１は、処理を終了する。
【００５１】
清掃フラグの値が「０」である場合（Ｓ１４０６：Y）、ＣＰＵ４０１は、補正処理で対応できない大きさのゴミがないと判定する。この場合、ＣＰＵ４０１は、作業者に対して、読取位置１０７に載置される基準部材５００を取り除くように指示する（Ｓ１４０７）。
【００５２】
基準部材５００が取り除かれると、ＣＰＵ４０１は、図示しない操作部から入力される読取開始信号に応じて白基準板１２５の読み取りを開始する。ＣＰＵ４０１は、読取ユニット１０６による白基準板１２５の読取結果を表すデータをサンプリングする（Ｓ１４０８）。ＣＰＵ４０１は、サンプリングした白基準板１２５の読取結果である読取データＹ（ｎ）をＲＡＭ４０５の読取データＸ（ｎ）が格納される領域とは別の領域に格納する。読取データＹ（ｎ）は、例えば図４（ｂ）の点線で表す照明輝度分布データである。
【００５３】
ＣＰＵ４０１は、ＲＡＭ４０５に格納した読取データＹ（ｎ）に基づいて以下の演算を行い、隣接する画素同士の読取データの比（隣接画素比）を算出する（Ｓ１４０９）。演算は、Ｒ、Ｇ、Ｂの色毎に、読取データＹ（ｎ）に対して行われる。Ｒの演算結果は隣接画素比Ｙｒ’（ｎ）、Ｇの演算結果は隣接画素比Ｙｇ’（ｎ）、Ｂの演算結果は隣接画素比Ｙｂ’（ｎ）と表される。
Ｙ’（ｎ）＝Ｙ（ｎ＋１）／Ｙ（ｎ）
ただし、１≦ｎ≦５１８３である。
【００５４】
ＣＰＵ４０１は、算出した隣接画素比Ｘ’（ｎ）と、所定の閾値αとの閾値判定を、画素データ毎に行う（Ｓ１４１０）。ＣＰＵ４０１は、１画素ずつ隣接画素比Ｘ’（ｎ）（ｎ＝１〜５１８３）と閾値αとの比較を行い、ゴミの存在する位置（画素）を表すゴミフラグＪ（ｎ）を生成する。ゴミフラグＪ（ｎ）は、０〜４の５種の値で表される。ゴミフラグＪ（ｎ）の値の定義は、ゴミフラグＧ（ｎ）と同じである。
・１−α＜Ｙ’（ｎ）＜１＋αのとき    Ｊ（ｎ）＝０（ゴミなし：Ｙ’（ｎ）が所定の範囲内）
・Ｙ’（ｎ）≦１−αのとき    Ｊ（ｎ）＝１（輝度値が小さくなるような変化が生じた：Ｙ’（ｎ）が所定の範囲以下）
・Ｙ’（ｎ）≧１＋αのとき    Ｊ（ｎ）＝２（輝度値が大きくなるような変化が生じた：Ｙ’（ｎ）が所定の範囲以上）
つまりゴミフラグＪ（ｎ）は、隣接画素比Ｙ’（ｎ）が所定の範囲内であれば「０」、所定の範囲外であれば「１」又は「２」となる。
【００５５】
ＣＰＵ４０１は、生成したゴミフラグＪ（ｎ）の補正を行う（Ｓ１４１１）。ゴミフラグＪ（ｎ）の補正処理は、ゴミフラグＪ（ｎ）を加工する処理である。図１０は、ゴミフラグＪ（ｎ）の補正処理を表すフローチャートである。Ｓ１４０５の処理（図６）とは、サーチ参照画素数が異なるのみで、処理の内容は同じである。すなわち、ＣＰＵ４０１は、Ｓ６０１〜Ｓ６１４と同様の処理を行う（Ｓ１００１〜Ｓ１０１４）。ただし、Ｓ１００３の処理では、ＣＰＵ４０１は、参照するゴミフラグＪ（ｎ）が４画素幅以下のゴミを表すか否かを判定する。また、Ｓ１００６の処理では、ＣＰＵ４０１は、ゴミフラグＪ（ｎ）が５〜２０画素幅のゴミを表すか否かを判定する。
【００５６】
ゴミフラグＪ（ｎ）の補正が終了すると、ＣＰＵ４０１は、清掃フラグの値が「０」であるか否かを確認する（Ｓ１４１２）。清掃フラグの値が「０」より大きい場合（Ｓ１４１２：N）、ＣＰＵ４０１は、５〜２０画素幅の大きなゴミがあると判定して、後述の補正処理では対応できないために処理を終了する。
【００５７】
清掃フラグの値が「０」である場合（Ｓ１４１２：Y）、ＣＰＵ４０１は、補正処理で対応できない大きさのゴミがないと判定する。この場合、ＣＰＵ４０１は、基準部材５００の読取結果から生成したゴミフラグＧ（ｎ）と、白基準板１２５の読取結果から生成したゴミフラグＪ（ｎ）とを画素毎に比較する（Ｓ１４１３）。ＣＰＵ４０１は、ゴミフラグＧ（ｎ）とゴミフラグＪ（ｎ）とを比較して、互いの「０」以外のゴミフラグの位置（画素）が所定の距離以内に近接又は重複していないかを確認する。ゴミフラグの位置（画素）が所定の距離以内に近接又は重複している場合、ＣＰＵ４０１は、許容できないゴミが白基準板１２５に付着していると判定する。
【００５８】
図１１は、ゴミフラグＧ（ｎ）、Ｊ（ｎ）の比較チェックの説明図である。ＣＰＵ４０１は、ゴミフラグＪ（ｎ）をｎ＝１から順に参照し、ゴミフラグＪ（ｎ）の値が「０」から「４」に変化する画素位置及び「４」から「０」に変化する画素位置を探索する。図１１では、ゴミフラグＪ（ｎ）の斜線の画素位置の最初（開始位置）と最後（終了位置）が索出される。ＣＰＵ４０１は、索出したゴミフラグＪ（ｎ）の開始位置及び終了位置を両側に所定画素数、ここでは５画素拡大し、その範囲をゴミフラグＧ（ｎ）との比較範囲に設定する。
比較範囲内の位置（画素）でゴミフラグＧ（ｎ）が「０」ではない場合（何らかゴミフラグが立っている場合）、ＣＰＵ４０１は、清掃フラグの値を１インクリメントする。なお、清掃フラグは、Ｓ１４１３の処理の開始前に「０」に初期化される。
【００５９】
図１１では、比較範囲内の略全域で、ゴミフラグＧ（ｎ）が「０」ではない。一つでも「０」ではないゴミフラグＧ（ｎ）があれば、清掃フラグはインクリメントされる。図１１の状態は、基準部材５００を読み取ったときと、白基準板１２５を読み取ったときとで、同じ位置（画素）にゴミが生じていることを示す。このような場合、後述の補正処理では対応できないために処理を終了する。比較範囲内のゴミフラグＧ（ｎ）がすべて「０」である場合、ＣＰＵ４０１は、ゴミフラグＪ（ｎ）の値が「０」から「４」に変化する画素位置及び「４」から「０」に変化する画素位置の探索を、主走査方向のすべての画素が終了するまで繰り返し行う。
【００６０】
ＣＰＵ４０１は、ゴミフラグＧ（ｎ）とゴミフラグＪ（ｎ）との比較結果を、清掃フラグにより確認する（Ｓ１４１４）。清掃フラグの値が「０」より大きい場合（Ｓ１４１４：N）、ＣＰＵ４０１は、基準部材５００を読み取ったときと、白基準板１２５を読み取ったときとで、同じ位置（画素）にゴミが生じていると判定する。この場合、ＣＰＵ４０１は、後述の補正処理では対応できないために処理を終了する。
【００６１】
清掃フラグの値が「０」である場合（Ｓ１４１４：Y）、ＣＰＵ４０１は、基準部材５００を読み取ったときと、白基準板１２５を読み取ったときとで、同じ位置（画素）にゴミが生じていないと判定する。この場合、ＣＰＵ４０１は、Ｓ１４１１の処理で補正したゴミフラグＪ（ｎ）に基づいて、白基準板１２５の読取結果である読取データＹ（ｎ）に対するゴミ補正を行い、補正読取データＳ（ｎ）を生成する（Ｓ１４１５）。
【００６２】
ゴミ補正を行う場合、ＣＰＵ４０１は、まず、ゴミフラグＪ（ｎ）により、主走査方向のゴミの位置を全範囲サーチする。図１２は、読取データＹ（ｎ）とゴミフラグＪ（ｎ）との位置の例示図である。図１２に示すように、ゴミフラグＪ（ｎ）は、隣接画素比Ｙ’（ｎ）から導出されるために、データ数が１つ少ない。そのために例えば、ゴミフラグＪ（９８）＝４であれば、白基準板１２５の読取データＹ（９９）（９９画素目）がゴミの発生した位置のデータとなる。
【００６３】
次いでＣＰＵ４０１は、ゴミ補正係数を算出する。ＣＰＵ４０１は、ゴミフラグＪ（ｎ）を画素位置ｎ＝１からサーチし、ゴミ補正係数Ｐを生成する。ゴミフラグＪ（ｎ）＝０以外である場合、ゴミ補正係数Ｐは基準部材５００を読み取った読取データＸ（ｎ）により、以下の式で算出される。
Ｐ（ｎ＋１）＝Ｘ（ｎ＋１）／Ｘ（ｎ）
ゴミフラグＪ（ｎ）＝０である場合、ゴミ補正係数Ｐは、「１」である。
【００６４】
図１２の場合、ゴミフラグＪ（９８）〜Ｊ（１０５）が「０」以外であるために、ゴミがある画素が９９画素目からになり、ゴミ補正係数Ｐが以下のようになる。
Ｐ（９９）＝Ｘ（９９）／Ｘ（９８）
…
Ｐ（１０６）＝Ｘ（１０６）／Ｘ（１０５）
【００６５】
Ｓ１４１３、Ｓ１４１４の処理により、白基準板１２５の読取データＹ（ｎ）にゴミのデータが含まれると判定された場合であっても、同一位置で読み取った基準部材５００の読取データＸ（ｎ）にゴミのデータが含まれないことが判定されている。そのために、ゴミ補正係数Ｐ（ｎ）は、異常値にならない。
【００６６】
ゴミ補正係数を生成したＣＰＵ４０１は、白基準板１２５の読取データＹ（ｎ）を補正する。読取データＹ（ｎ）の補正は、主操作方向の画素位置ｎ＝１〜５１８４のすべてに対して行われる。ＣＰＵ４０１は、以下の式により読取データＹ（ｎ）を補正して補正読取データＳ（ｎ）を生成する。
Ｓ（ｎ）＝Ｙ（ｎ）＊Ｐ（ｎ）
【００６７】
図１３は、補正読取データＳ（ｎ）の説明図である。ＣＰＵ４０１は、白基準板１２５の読取データＹ（ｎ）でゴミを示す画素に対してのみ、基準部材５００の読取データＸ（ｎ）の隣接画素比であるゴミ補正係数Ｐ（ｎ）を乗算する。これによりゴミの影響のない白基準板１２５の補正読取データＳ（ｎ）が生成される。
【００６８】
補正読取データＳ（ｎ）を生成したＣＰＵ４０１は、原稿面比Ｌ（ｎ）を算出する（Ｓ１４１６）。ＣＰＵ４０１は、以下の式により原稿面比Ｌ（ｎ）を算出する。原稿面比Ｌ（ｎ）は、基準部材５００の読取結果とゴミ補正後の白基準板１２５の読取結果との比率を表す。
Ｌ（ｎ）＝Ｘ（ｎ）／Ｓ（ｎ）
（ｎ＝１〜５１８４）
【００６９】
ＣＰＵ４０１は、以下の式により原稿面比Ｌ（ｎ）の隣接画素比Ｑ（ｎ）を算出する（Ｓ１４１７）。
Ｑ（ｎ）＝Ｌ（ｎ＋１）／Ｌ（ｎ）
（ｎ＝１〜５１８３）
【００７０】
ＣＰＵ４０１は、算出した隣接画素比Ｑ（ｎ）と所定の閾値βとの比較による閾値判定を、画素データ毎に行う（Ｓ１４１８）。ＣＰＵ４０１は、１画素ずつ隣接画素比Ｑ（ｎ）（ｎ＝１〜５１８３）と閾値βとの比較を行うことで、ゴミフラグＭ（ｎ）を生成する。ゴミフラグＭ（ｎ）は、０〜４の５種の値で表される。ゴミフラグＭ（ｎ）の値の定義は、ゴミフラグＧ（ｎ）、Ｊ（ｎ）と同じである。
・１−β＜Ｑ（ｎ）＜１＋βのとき    Ｍ（ｎ）＝０（ゴミなし：Ｑ（ｎ）が所定の範囲内）
・Ｑ（ｎ）≦１−βのとき    Ｍ（ｎ）＝１（輝度値が小さくなるような変化が生じた：Ｑ（ｎ）が所定の範囲以下）
・Ｑ（ｎ）≧１＋βのとき    Ｍ（ｎ）＝２（輝度値が大きくなるような変化が生じた：Ｑ（ｎ）が所定の範囲以上）
つまりゴミフラグＭ（ｎ）は、隣接画素比Ｑ（ｎ）が所定の範囲内であれば「０」、所定の範囲外であれば「１」又は「２」となる。
【００７１】
上記の通り、原稿面比Ｌ（ｎ）は、シェーディング補正オフで取得した読取データＹ（ｎ）と補正読取データＳ（ｎ）との比である。原稿面比Ｌ（ｎ）は、センサチップのつなぎ目を含めた光学的なムラが除去されたデータである。そのために、ＣＰＵ４０１は、Ｓ１４０４、Ｓ１４１０の処理の閾値αとは異なる閾値βに基づいた閾値判定を行う。閾値βで区別されるゴミは、基準部材５００の読取データＸ（ｎ）をサンプリングしたときに、基準部材５００に付着している補正可能且つ清掃不要な１０画素幅以下のゴミである。
【００７２】
ゴミフラグＭ（ｎ）を生成したＣＰＵ４０１は、ゴミフラグＭ（ｎ）の補正を行う（Ｓ１４１９）。図１４は、ゴミフラグＭ（ｎ）の補正処理を表すフローチャートである。Ｓ１４０５の処理（図６）とは、以下の点で相違する。
図６のＳ１４０４の処理により、１１画素〜２０画素の幅の補正不可能なゴミは、清掃されて取り除かれている。そのために、Ｓ１３０２の処理では、１０画素幅以下のゴミ、及び汚れによる輝度低下の片エッジが、ゴミフラグＭ（ｎ）が「０」以外の値になると判定される。また、原稿面比Ｌ（ｎ）は、光学的なムラを含まないために、センサチップのつなぎ目であるか否かを判定する必要がない。そのためにＣＰＵ４０１は、Ｓ６０１〜Ｓ６０５と同様のＳ１３０１〜Ｓ１３０５の処理、及びＳ６１１〜Ｓ６１４と同様のＳ１３０６〜Ｓ１３０９の処理を、ゴミフラグＭ（ｎ）に対して行う。
【００７３】
ゴミフラグＭ（ｎ）の補正後にＣＰＵ４０１は、原稿面比Ｌ（ｎ）のゴミ補正を行う（Ｓ１４２０）。ＣＰＵ４０１は、画素位置ｎ＝１から順に補正後のゴミフラグＭ（ｎ）を検索して、ゴミを表す画素を索出する。ＣＰＵ４０１は、ゴミを表す画素を両隣に１画素太らせ、太らせた画素間の原稿面比Ｌ（ｎ）を線形補間する。ＣＰＵ４０１は、原稿面比Ｌ（ｎ）を線形補間することで原稿面比Ｌ’（ｎ）を生成する。
図１５は、線形補間の説明図である。図１５では、ゴミフラグＭ（１１０）〜Ｍ（１１７）がゴミを表す画素となる。そのために補正される画素は、１１１画素〜１１８画素となる。線形補間の開始位置の画素は１１０画素目であり、線形補間の終了位置の画素は１１９画素目となる。ＣＰＵ４０１は、以下のように線形補間を行う。ＣＰＵ４０１は、このような線形補間を、主走査方向のすべての画素が終了するまで繰り返し行う。
Ｌ’（１１１）＝Ｌ（１１０）−（Ｌ（１１０）−Ｌ（１１９））／９）
…
Ｌ’（１１８）＝Ｌ（１１０）−（Ｌ（１１０）−Ｌ（１１９））＊８／９）
【００７４】
ＣＰＵ４０１は、補正により取得した原稿面比Ｌ’（ｎ）を相関データとしてバックアップ用メモリ４０２にバックアップして、この処理を終了する（Ｓ１４２１）。このようにＣＰＵ４０１は、読取データＸ（ｎ）、Ｙ（ｎ）によりゴミ等の不純物の主走査方向の位置を検知し、検知した位置の原稿面比Ｌ（ｎ）を線形補間により補正して、相関データである原稿面比Ｌ’（ｎ）を生成する。生成された原稿面比Ｌ’（ｎ）は、バックアップ用メモリ４０２に保管され、シェーディング補正に用いられる。
【００７５】
以上により、必要最低限の工数で、ゴミのような不純物の影響を抑制した相関データをバックアップすることが可能となる。バックアップ用メモリ４０２への相関データの格納は、画像読取装置１２０の工場出荷時や読取ユニット１０６の交換時、バックアップ用メモリ４０２が搭載された制御基板の故障、交換時等のタイミングで行われる。
【００７６】
図１６は、相関データである原稿面比Ｌ’（ｎ）の説明図である。図１６は、主走査方向の各位置（画素）の原稿面比Ｌ’（ｎ）の波形形状を表す。ゴミ補正前の原稿面比Ｌ（ｎ）がＬ（ｎ）＝Ｘ（ｎ）／Ｓ（ｎ）であるために、補正後の原稿面比Ｌ’（ｎ）は、主走査方向の端部で大きくなる。また、原稿面比Ｌ’（ｎ）は、主走査方向の中央部でほぼフラットであるが、値にムラがある。本実施形態では、基準部材５００を白色部材として説明しているが、ハーフトーン等の中間調であっても、相関データである原稿面比Ｌ’（ｎ）の主走査方向の波形形状は変化しない。
【００７７】
（読取処理）
図１７は、相関データとして原稿面比Ｌ’（ｎ）をバックアップ用メモリ４０２に格納した画像読取装置１２０による原稿画像の読取処理を表すフローチャートである。原稿画像の読取処理の際には、基準部材５００は、読取位置１０７から取り除かれている。
【００７８】
ＣＰＵ４０１は、操作部から入力される読取開始信号に応じて、読取設定を行う（Ｓ１５０１）。ＣＰＵ４０１は、読取設定により、例えば光源２０１を点灯させ、ラインセンサ２０３による読取制御を行い、シェーディング補正をオンに設定する。
【００７９】
ＣＰＵ４０１は、読取ユニット１０６による白基準板１２５の読取結果を表すデータをサンプリングする（Ｓ１５０２）。ＣＰＵ４０１は、サンプリングした白基準板１２５の読取結果である読取データＹ”（ｎ）をＲＡＭ４０５に格納する。調整モード時の白基準板１２５の読取結果とはサンプリングする時系列が異なるため、ここでは読取データＹ”（ｎ）とする。このときシェーディング補正部４０４は、シェーディング補正がオンに設定されているが、シェーディング係数が設定されていないために、白基準板１２５の読取結果（読取データＹ”（ｎ））をそのままＣＰＵ４０１に入力する。
【００８０】
ＣＰＵ４０１は、読取位置１０７におけるデータ演算を行う（Ｓ１５０３）。ＣＰＵ４０１は、例えばＲＡＭ４０５に格納した白基準板１２５の読取データＹ”（ｎ）と、バックアップ用メモリ４０２に予め格納される相関データである原稿面比Ｌ’（ｎ）とを乗算して演算結果Ｚ（ｎ）を算出する（Ｚ（ｎ）＝Ｌ’（ｎ）＊Ｙ”（ｎ））。ＣＰＵ４０１は、算出した演算結果Ｚ（ｎ）をＲＡＭ４０５に格納する。
【００８１】
ＣＰＵ４０１は、シェーディング係数を算出する（Ｓ１５０４）。ＣＰＵ４０１は、演算結果Ｚ（ｎ）に基づいてシェーディング係数Ｒ（ｎ）を算出し、ＲＡＭ４０５に格納する。ＣＰＵ４０１は、シェーディング係数Ｒ（ｎ）をシェーディング補正部４０４に設定する（Ｓ１５０５）。シェーディング係数Ｒ（ｎ）は、例えば演算結果Ｚ（ｎ）の逆数で表され、演算結果Ｚ（ｎ）を主走査方向にフラットにするような係数である。
【００８２】
ＣＰＵ４０１は、シェーディング係数Ｒ（ｎ）の設定後に、原稿画像の読取処理を行う（Ｓ１５０６）。ＣＰＵ４０１は、光源２０１を点灯させ、ラインセンサ２０３の読取処理を行い、原稿搬送モータ１０５を駆動させて、原稿１０２を、読取位置１０７を通過するように搬送する。これにより原稿１０２の原稿画像が読取ユニット１０６により読み取られる。ラインセンサ２０３は、読み取った原稿画像のアナログ画像信号をＡ／Ｄ変換部４０３に入力する。Ａ／Ｄ変換部４０３はアナログ画像信号をデジタル画像信号に変換してシェーディング補正部４０４に入力する。シェーディング補正部４０４は、デジタル画像信号に含まれる主走査方向の画素毎の輝度値のデジタル値を原稿読取値として、Ｓ１５０５の処理で設定されたシェーディング係数Ｒ（ｎ）を用いてシェーディング補正を行う。これによりシェーディング補正部４０４は、シェーディング補正出力値を導出する。シェーディング補正部４０４は、例えば上記の（式１）によりシェーディング補正出力値を算出する。
【００８３】
図１８は、図１７の原稿画像の読取処理においてＣＰＵ４０１が処理するデータの説明図である。図１８は、ＣＰＵ４０１が処理するデータの主走査方向の輝度分布を表す。
【００８４】
図１８（ａ）は、ＣＰＵ４０１がＳ１５０２の処理で取得する白基準板１２５の読取結果である読取データＹ”（ｎ）の輝度分布を表す。読取データＹ”（ｎ）は、シェーディング補正が行われないために、照明輝度分布そのものをサンプリングしたものとなっている。
【００８５】
図１８（ｂ）は、Ｓ１５０３の処理による演算結果Ｚ（ｎ）の輝度分布を表す。演算結果Ｚ（ｎ）は、読取位置１０７において基準部材５００を読み取ったことに相当するデータである。演算結果Ｚ（ｎ）＝Ｌ’（ｎ）＊Ｙ”（ｎ）であるために、読取データＹ”（ｎ）と比較すると、演算結果Ｚ（ｎ）は、主走査方向の端部が大きくなるように補正され、中央部がムラを持つ輝度分布となる。
【００８６】
図１８（ｃ）は、Ｓ１５０４の処理で算出されるシェーディング係数Ｒ（ｎ）の波形形状を表す。シェーディング係数Ｒ（ｎ）は、演算結果Ｚ（ｎ）の主走査方向の輝度分布をフラットに補正するための係数であるために、演算結果Ｚ（ｎ）の逆数となる。
【００８７】
図１８（ｄ）は、Ｓ１５０６の処理で読み取った原稿画像にシェーディング補正を行って算出されるシェーディング補正出力値の輝度分布を表す。画像読取装置１２０は、原稿１０２の画像の読み取った結果に対してシェーディング係数Ｒ（ｎ）を主走査方向の画素毎に乗算することで、主走査方向にフラットな画像が読み取ることができる。このように、白基準板１２５の読取結果に起因するシェーディング補正による画像不良の発生を抑制することができる。
【図１】
2019057883.tif 000003
【図２】
2019057883.tif 000004
【図３】
2019057883.tif 000005
【図４】
2019057883.tif 000006
【図５】
2019057883.tif 000007
【図６】
2019057883.tif 000008
【図７】
2019057883.tif 000009
【図８】
2019057883.tif 000010
【図９】
2019057883.tif 000011
【図１０】
2019057883.tif 000012
【図１１】
2019057883.tif 000013
【図１２】
2019057883.tif 000014
【図１３】
2019057883.tif 000015
【図１４】
2019057883.tif 000016
【図１５】
2019057883.tif 000017
【図１６】
2019057883.tif 000018
【図１７】
2019057883.tif 000019
【図１８】
2019057883.tif 000020