(57)【特許請求の範囲】
【請求項１】
光源と１ラインに並んだ多数の受光素子とを有し、前記光源を点灯して読み取る読取部と、
前記読取部を覆う閉状態と前記読取部を開放する開状態とに開閉可能なカバーと、
補正データに基づいて前記読取部が読み取った値を黒補正する補正部と、
準備処理を実行し、前記準備処理を実行した後に実行処理を実行する制御部と、を備え、
前記準備処理は、
前記カバーが閉状態で、前記光源を消灯して前記読取部により読み取ることによって前記複数の受光素子の各受光素子の第１黒データを取得する第１黒データ取得処理を含み、
前記実行処理は、
前記カバーが開状態で、前記光源を消灯して前記読取部により読み取ることによって前記各受光素子の第２黒データを取得する第２黒データ取得処理と、
前記第２黒データに基づいて外光が前記各受光素子に入射したか否かを判断する判断処理と、
外光が入射していないと判断された各受光素子において前記第２黒データと前記第１黒データとに基づいて黒調整データを算出する調整データ算出処理と、
外光が入射したと判断された各受光素子において前記第１黒データと前記黒調整データとに基づいて第３黒データを算出する第３黒データ算出処理と、
前記外光が入射したと判断された各受光素子において前記第３黒データを前記補正データとして決定し、外光が入射していないと判断された各受光素子において前記第２黒データを前記補正データとして決定する補正データ決定処理と、
原稿の画像を読み取らせ、前記補正データに基づいて黒補正させる読取処理と、を含むことを特徴とする画像読取装置。
【請求項２】
前記読取部の前記多数の受光素子が複数のグループに区分けされており、
前記判断処理は、
前記複数のグループの各グループにおいて、外光が入射したグループを外光有りグループと判断し、外光が入射していないグループを外光無しグループと判断する第１判断処理と、
前記外光有りグループの各受光素子において外光が入射した受光素子を外光有り画素として判断する第２判断処理と、を含み、
前記調整データ算出処理は、前記外光無しグループの全ての受光素子において前記第２黒データから前記第１黒データを引算し、前記各受光素子において引算して算出された全ての値を平均して前記黒調整データを算出し、
前記第３黒データ算出処理は、前記第１黒データに前記黒調整データを加算して前記第３黒データを算出することを特徴とする請求項１に記載の画像読取装置。
【請求項３】
前記複数のグループの各グループは同一の出力特性を持つ前記受光素子で構成され、
前記第１判断処理は、前記複数のグループの各グループにおいて複数の受光素子の前記第２黒データのうち最も大きい値から最も小さい値を引算し、引算した値が予め定められた第１閾値を超えていたら、そのグループを前記外光有りグループと判断することを特徴とする請求項２に記載の画像読取装置。
【請求項４】
前記判断処理は、
前記外光有りグループが隣接している全てのグループのグループ群を連続グループ群として決定する連続グループ群決定処理と、
前記連続グループ群について先頭のグループと最終のグループとを詳細グループとして決定する詳細グループ決定処理と、を含み、
前記第２判断処理は、前記詳細グループである前記外光有りグループにおいて前記外光有り画素を判断し、前記詳細グループでない前記外光有りグループにおいて前記外光有り画素を判断しないことを特徴とする請求項２又は請求項３に記載の画像読取装置。
【請求項５】
前記準備処理は、
前記複数のグループの各グループの全ての受光素子の第１黒データを平均してグループ黒平均値を算出する平均処理を含み、
前記実行処理は、
前記グループ黒平均値に前記黒調整データを加算して、加算した値に予め定められた所定値を加算することで第２閾値を算出する第２閾値算出処理を含み、
前記第２判断処理は、前記詳細グループの各受光素子において前記第２黒データが前記第２閾値を超えていたら、その受光素子において外光が入射したと判断することを特徴とする請求項２乃至請求項４のいずれか一項に記載の画像読取装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像読取装置に関する。
【背景技術】
【０００２】
従来から、１列に並べられた受光素子を複数のブロックに分割したラインセンサを用いて原稿の画像を読み取る画像読取装置がある。この画像読取装置は、原稿の画像を読み取る前に、黒補正のための黒データを取得し、取得した黒データを用いて黒補正を実行している。この画像読取装置が、黒データを取得するときに、画像読取装置の外からの光（以下、外光という）が受光素子に入射すると、外光の影響により黒データが変化してしまい、正確な黒補正を実行することができなかった。
【０００３】
特許文献１に記載の画像読取装置は、外光の有無を判断して黒データを更新している。具体的には、この画像読取装置は、黒データの更新処理において、１列に並べられた複数の受光素子のブロック毎に外光の有無を判断し、外光がないブロックについては、黒データを更新し、外光があるブロックについては、黒データを更新しない様に構成されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１３−１５０１７５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、受光素子の温度特性等により、受光素子に対する温度等の経時的条件が変化すると黒データも変化する。そのため、特許文献１のように、取得時点の異なる黒データが存在すると、黒データが変化してしまうという問題が発生する。
【０００６】
そこで本発明は上述した事情に鑑みてなされ、外光のない受光素子について黒データを更新し、外光のある受光素子について黒データを更新しない場合でも、正確な黒データを用いて黒補正することが可能な画像読取装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記目的を達成するために、請求項１に記載の発明態様では、画像読取装置は、光源と１ラインに並んだ多数の受光素子とを有し、前記光源を点灯して読み取る読取部と、前記読取部を覆う閉状態と前記読取部を開放する開状態とに開閉可能なカバーと、補正データに基づいて前記読取部が読み取った値を黒補正する補正部と、準備処理を実行し、前記準備処理を実行した後に実行処理を実行する制御部と、を備え、前記準備処理は、前記カバーが閉状態で、前記光源を消灯して前記読取部により読み取ることによって前記複数の受光素子の各受光素子の第１黒データを取得する第１黒データ取得処理を含み、前記実行処理は、前記カバーが開状態で、前記光源を消灯して前記読取部により読み取ることによって前記各受光素子の第２黒データを取得する第２黒データ取得処理と、前記第２黒データに基づいて外光が前記各受光素子に入射したか否かを判断する判断処理と、外光が入射していないと判断された各受光素子において前記第２黒データと前記第１黒データとに基づいて黒調整データを算出する調整データ算出処理と、外光が入射したと判断された各受光素子において前記第１黒データと前記黒調整データとに基づいて第３黒データを算出する第３黒データ算出処理と、前記外光が入射したと判断された各受光素子において前記第３黒データを前記補正データとして決定し、外光が入射していないと判断された各受光素子において前記第２黒データを前記補正データとして決定する補正データ決定処理と、原稿の画像を読み取らせ、前記補正データに基づいて黒補正させる読取処理と、を含む。
【０００８】
請求項２に記載の具体的態様では、前記読取部の前記多数の受光素子が複数のグループに区分けされており、前記判断処理は、前記複数のグループの各グループにおいて、外光が入射したグループを外光有りグループと判断し、外光が入射していないグループを外光無しグループと判断する第１判断処理と、前記外光有りグループの各受光素子において外光が入射した受光素子を外光有り画素として判断する第２判断処理と、を含み、前記調整データ算出処理は、前記外光無しグループの全ての受光素子において前記第２黒データから前記第１黒データを引算し、前記各受光素子において引算して算出された全ての値を平均して前記黒調整データを算出し、前記第３黒データ算出処理は、前記第１黒データに前記黒調整データを加算して前記第３黒データを算出する。
【０００９】
請求項３に記載の具体的態様では、前記複数のグループの各グループは同一の出力特性を持つ前記受光素子で構成され、前記第１判断処理は、前記複数のグループの各グループにおいて複数の受光素子の前記第２黒データのうち最も大きい値から最も小さい値を引算し、引算した値が予め定められた第１閾値を超えていたら、そのグループを前記外光有りグループと判断する。
【００１０】
請求項４に記載の具体的態様では、前記判断処理は、前記外光有りグループが隣接している全てのグループのグループ群を連続グループ群として決定する連続グループ群決定処理と、  前記連続グループ群について先頭のグループと最終のグループとを詳細グループとして決定する詳細グループ決定処理と、を含み、前記第２判断処理は、前記詳細グループである前記外光有りグループにおいて前記外光有り画素を判断し、前記詳細グループでない前記外光有りグループにおいて前記外光有り画素を判断しない。
【００１１】
請求項５に記載の具体的態様では、前記準備処理は、前記複数のグループの各グループの全ての受光素子の第１黒データを平均してグループ黒平均値を算出する平均処理を含み、前記実行処理は、前記グループ黒平均値に前記黒調整データを加算して、加算した値に予め定められた所定値を加算することで第２閾値を算出する第２閾値算出処理を含み、前記第２判断処理は、前記詳細グループの各受光素子において前記第２黒データが前記第２閾値を超えていたら、その受光素子において外光が入射したと判断する。
【発明の効果】
【００１２】
請求項１に記載の発明態様では、準備処理は、カバーが閉状態で、光源を消灯して読取部により読み取ることによって各受光素子の第１黒データを取得する第１黒データ取得処理を含み、実行処理は、カバーが開状態で、光源を消灯して読取部により読み取ることによって各受光素子の第２黒データを取得する第２黒データ取得処理と、第２黒データに基づいて外光が各受光素子に入射したか否かを判断する判断処理と、外光が入射していないと判断された各受光素子において第２黒データと第１黒データとに基づいて黒調整データを算出する調整データ算出処理と、外光が入射したと判断された各受光素子において第１黒データと黒調整データとに基づいて第３黒データを算出する第３黒データ算出処理と、前記外光が入射したと判断された各受光素子において第３黒データを補正データとして決定し、外光が入射していないと判断された各受光素子において第２黒データを補正データとして決定する補正データ決定処理と、原稿の画像を読み取らせ、補正データに基づいて黒補正させる読取処理と、を含む。よって、第２黒データが第１黒データに対して変化した場合でも、正確な第３黒データを用いて黒補正をすることができる。
【００１３】
請求項２に記載の具体的態様では、判断処理は、複数のグループの各グループにおいて、外光が入射したグループを外光有りグループと判断し、外光が入射していないグループを外光無しグループと判断する第１判断処理と、外光有りグループの各受光素子において外光が入射した受光素子を外光有り画素として判断する第２判断処理と、を含み、調整データ算出処理は、外光無しグループの全ての受光素子において第２黒データから第１黒データを引算し、各受光素子において引算して算出された全ての値を平均して黒調整データを算出し、第３黒データ算出処理は、第１黒データに黒調整データを加算して第３黒データを算出する。よって、全ての受光素子への外光の入射を判断するのに比べて、速く外光の入射を判断することができ、変動しやすい黒データに対しても精度の高い黒調整データを算出することができ、正確な第３黒データを算出することができる。
【００１４】
請求項３に記載の具体的態様では、複数のグループの各グループは同一の出力特性を持つ受光素子で構成され、第１判断処理は、複数のグループの各グループにおいて複数の受光素子の第２黒データのうち最も大きい値から最も小さい値を引算し、引算した値が予め定められた第１閾値を超えていたら、そのグループを外光有りグループと判断する。よって、各グループにおいては黒データの変動が小さくなり、その小さい変動を利用して精度の高い外光の入射を判断することができる。
【００１５】
請求項４に記載の具体的態様では、判断処理は、外光有りグループが隣接している全てのグループのグループ群を連続グループ群として決定する連続グループ群決定処理と、連続グループ群について先頭のグループと最終のグループとを詳細グループとして決定する詳細グループ決定処理と、を含み、第２判断処理は、詳細グループである外光有りグループにおいて外光有り画素を判断し、詳細グループでない外光有りグループにおいて外光有り画素を判断しない。よって、先頭のグループおよび最終のグループのみ外光有り画素を判断するため、より速く外光有り画素を判断することができる。
【００１６】
請求項５に記載の具体的態様では、準備処理は、複数のグループの各グループの全ての受光素子の第1黒データを平均してグループ黒平均値を算出する平均処理を含み、実行処理は、グループ黒平均値に黒調整データを加算して、加算した値に予め定められた所定値を加算することで第２閾値を算出する第２閾値算出処理を含み、第２判断処理は、詳細グループの各受光素子において前記第２黒データが前記第２閾値を超えていたら、その受光素子において外光が入射したと判断する。よって、外光の入射のない第１黒データと第１黒データから第２黒データへの黒データの変化である黒調整データとを用いて第２閾値を算出しているため、精度の高い外光の入射を判断することができる。
【図面の簡単な説明】
【００１７】
【図１Ａ】本発明の実施形態に係る画像読取装置ＳＭの内部構成を示す図面である。
【図１Ｂ】原稿載置台ＤＴの上面図である。
【図２】読取部２０の受光部２２の構成を示すブロック図である。
【図３】画像読取装置ＳＭの電気的構成を示すブロック図である。
【図４】保守メイン処理を示すフローチャートである。
【図５】読取メイン処理を示すフローチャートである。
【図６】第２黒データＢＫ２置換処理Ｒ７を示すフローチャートである。
【図７】置換黒データＲＰＢＫ算出処理ＲＡ７を示すフローチャートである。
【図８】開始詳細チップＳＣＢ、終了詳細チップＥＣＢを説明する図面である。
【図９】開始画素位置ＳＣＰ、終了画素位置ＥＣＰを説明する図面である。
【発明を実施するための形態】
【００１８】
＜画像読取装置ＳＭの構成＞
図１Ａは、画像読取装置ＳＭの正面図を示す。画像読取装置ＳＭは、原稿載置台ＤＴと、カバーＣＶと、を備える。原稿載置台ＤＴは、本体ＭＢと、透明板ＴＰと、を備える。本体ＭＢは、様々な部材（例えば、透明板ＴＰ、読取部２０等）を収容するための筐体である。透明板ＴＰは、本体ＭＢに収容されており、本体ＭＢに固定されている。透明板ＴＰには、読取対象の原稿が載置される。カバーＣＶは、本体ＭＢの上部に配置されており、本体ＭＢに対して開閉可能である。カバーＣＶは、本体ＭＢの奥側（図１Ａの紙面に垂直方向の奥側、図１Ｂの上側）に回転軸を備え、本体ＭＢの前側（図１Ａの紙面に垂直方向の手前側、図１Ｂの下側）から開閉される。
【００１９】
画像読取装置ＳＭは、さらに、透明板ＴＰの下方で本体ＭＢに収容されている読取部２０を備える。読取部２０は、本体ＭＢに対して副走査方向（即ち図１Ａの左右方向）に沿って移動可能である。読取部２０は、透明板ＴＰに載置される原稿の読取を実行する。読取部２０は、ＣＩＳ（Contact Image Sensorの略）で構成され、具体的には、光源２１と、ロッドレンズ２４と、受光部２２と、を備える。光源２１は、赤色、青色、および緑色の発光ダイオードなどで構成され、透明板ＴＰに向けて、光を照射する。ロッドレンズ２４は、光源２１から照射される光の反射光を受光する。
【００２０】
図２において、受光部２２は、主走査方向に直線状に配列される１６個のセンサＩＣチップＣＨ１〜ＣＨ１６を有し、各センサＩＣチップＣＨは、主走査方向に配列される多数の光電変換素子２３を含み、図示しないシフトレジスタ、および増幅器を内蔵する。先頭画素は、センサＩＣチップＣＨ１内のセンサＩＣチップＣＨと隣接していない側の端部にある画素であり、最終画素は、センサＩＣチップＣＨ１６内のセンサＩＣチップＣＨと隣接していない側の端部にある画素である。即ち、先頭画素は、主走査方向の最も上流に位置する画素であり、最終画素は、主走査方向の最も下流側に位置する画素である。本実施形態では、受光部２２は、１６個のセンサＩＣチップＣＨ１〜ＣＨ１６を有していたが、１６個より少ない数のセンサＩＣチップＣＨを有していても良いし、多い数のセンサＩＣチップＣＨを有していても良い。各センサＩＣチップＣＨ１〜ＣＨ１６は、出力特性が異なっているが、同一センサＩＣチップＣＨにおいては、出力特性が同じである。１ラインは、この先頭画素から最終画素までで構成される画素群である。以下、各センサＩＣチップＣＨ１〜ＣＨ１６をチップＣＨ１〜ＣＨ１６という。
【００２１】
図１Ｂは、原稿載置台ＤＴを上から見た上面図を示す。原稿載置台ＤＴの上面は、本体ＭＢの上面、および透明板ＴＰがカバーＣＶ側に露出した面を有する。本体ＭＢの上面は、カバーセンサ２７、および回動軸を有する。透明板ＴＰは、副走査方向に沿って伸びる長辺と、主走査方向に沿って伸びる短辺と、によって構成される矩形形状を有する。以下の説明において、図１Ｂの下方向を主走査方向の下流、図１Ｂの右方向を副走査方向の下流として説明する。透明板ＴＰの露出する面のうち主走査方向の上流側、副走査方向の上流側に基準点ＢＰが設けられている。透明板ＴＰには、基準点ＢＰを基点に原稿が載置される。透明板ＴＰは、基準点ＢＰから主走査方向の下流側および副走査方向の下流側に原稿載置領域ＰＲを有する。原稿載置領域ＰＲは、２点鎖線で囲まれる領域である。回動軸は、カバーＣＶを開閉するときに回動する軸であり、本体ＭＢの主走査方向の上流側に２カ所配置されている。カバーセンサ２７は、回動軸の近傍に配置され、カバーＣＶが開いたときの開状態時にオンし、カバーＣＶが閉じたときの閉状態時にオフする。
【００２２】
画像読取装置ＳＭは、さらに、透明板ＴＰの上面に固定されている基準部材ＢＭを備える。基準部材ＢＭは、透明板ＴＰの副走査方向の上流側（即ち図１Ｂの左側）の端部に設けられ、横線を付した領域に固定されている。基準部材ＢＭは、主走査方向に沿って伸びる白色の部材であり、後述する白データＷＨを取得するときや、光源２１を調整するときに利用される。以下では、副走査方向において、基準部材ＢＭが設けられている位置を、「ホーム位置ＨＰ」と呼ぶ。読取部２０は、ホーム位置ＨＰを基準として、副走査方向に移動可能に構成されている。
【００２３】
＜画像読取装置ＳＭの電気的構成＞
画像読取装置ＳＭの電気的構成について図３を参照して説明する。図３において、画像読取装置ＳＭは、ＣＰＵ３０、ＲＯＭ３１、ＲＡＭ３２、フラッシュＲＯＭ３３、デバイス制御部３４、アナログフロントエンド（以下、ＡＦＥという）３５、画像処理部３６、および駆動回路３７を主な構成要素として備える。これらの構成要素は、バス３８を介して、操作機構ＯＭ、表示機構ＤＭ、およびカバーセンサ２７に接続される。操作機構ＯＭは、開始ボタンおよび決定ボタン等の複数のキーによって構成される。使用者は、操作機構ＯＭを操作することによって、様々な指示を画像読取装置ＳＭに入力することができる。表示機構ＤＭは、様々な情報を表示するためのディスプレイである。
【００２４】
ＲＯＭ３１は、後述する保守メイン処理、読取メイン処理、各メイン処理中のサブルーチンの処理など、画像読取装置ＳＭの各種動作を実行するためのプログラムを記憶する。ＣＰＵ３０は、ＲＯＭ３１から読み出されたプログラムに従って、各部の制御を行う。フラッシュＲＯＭ３３は、読み書き可能な不揮発性メモリであり、ＣＰＵ３０の制御処理により生成された各種のデータ、たとえば保守メイン処理により取得された各種のデータなどを記憶する。ＲＡＭ３２は、ＣＰＵ３０の制御処理により生成された算出結果などを一時的に記憶する。
【００２５】
デバイス制御部３４は、読取部２０に接続され、ＣＰＵ３０からの命令に基づいて、光源２１の点灯または消灯を制御する信号、および光源２１に流れる電流値を制御する信号を読取部２０に送信する。また、デバイス制御部３４は、ＣＰＵ３０からの命令に基づいて、図２に示すように受光部２２のチップＣＨ１〜ＣＨ１６の多数の光電変換素子２３の電気信号を同時にシフトレジスタに転送するためのシリアルイン信号ＳＩおよびシフトレジスタの電気信号を順番に出力させるためのクロック信号ＣＬＫを受光部２２に送信する。読取部２０は、デバイス制御部３４からこれらの信号を受け取ると、光源２１を点灯させるとともに、受光部２２が受光した受光量に応じたアナログ信号をＡＦＥ３５に送信する。
【００２６】
ＡＦＥ３５は、読取部２０に接続され、ＣＰＵ３０からの命令に基づいて、読取部２０から送信されるアナログ信号をデジタルデータに変換する。ＡＦＥ３５は、予め定められた入力レンジおよび分解能を有する。たとえば、分解能は、１０ビットであるならば、「０」から「１０２３」までの階調である。この場合、ＡＦＥ３５は、読取部２０から送信されたアナログ信号をデジタルデータとして１０ビット（０〜１０２３）の階調データに変換する。ＡＦＥ３５によって変換されたデジタルデータは、画像処理部３６に送信される。画像処理部３６は、画像処理用の専用ＩＣであるＡＳＩＣから構成され、デジタルデータに各種の画像処理を施す。画像処理は、シェーディング補正、およびガンマ補正などの各種補正処理などである。画像処理部３６は、各種の画像処理を施さないように設定することもできるし、全ての画像処理を施すように設定することもできる。画像処理部３６は、設定された画像処理をデジタルデータに施し、デジタル画像データを生成する。このデジタル画像データは、バス３８を介してＲＡＭ３２に記憶される。ここで、シェーディング補正は、白補正および黒補正などである。黒補正は、各画素においてデジタルデータから後述する黒データＢＫ１，ＢＫ２を引算する補正である。
【００２７】
駆動回路３７は、搬送モータＭＴに接続され、ＣＰＵ３０から送信される駆動指令に基づいて搬送モータＭＴを駆動する。駆動回路３７は、駆動指令により指令された回転量および回転方向に従って搬送モータＭＴを回転させる。搬送モータＭＴが所定量だけ回転すると、移動機構ＭＭが所定角度回転し、読取部２０が副走査方向に所定距離だけ搬送される。
【００２８】
＜実施形態の動作＞
次に、画像読取装置ＳＭの動作について図面を参照して説明する。画像読取装置ＳＭは、原稿の読み取り前に実行される保守メイン処理と、原稿を読み取る読取メイン処理とを主に実行する。保守メイン処理中のステップＭ１〜Ｍ５の処理、読取メイン処理中のステップＲ１〜Ｒ１１の処理、および各サブルーチンのステップの処理は、ＣＰＵ３０が実行する処理である。
【００２９】
（保守メイン処理）
図４に示す保守メイン処理は、画像読取装置ＳＭが工場から出荷される前に、または出荷後にサービスマンが保守点検するときに、サービスマン等の作業者が画像読取装置ＳＭの操作機構ＯＭを特別な操作方法に従って操作することにより開始される。本実施形態では、読取解像度として６００ＤＰＩが用いられるときについて説明する。
【００３０】
保守メイン処理が開始されると、ＣＰＵ３０は、駆動回路３７により読取部２０をホーム位置ＨＰに移動させ、その後にデバイス制御部３４、ＡＦＥ３５、および画像処理部３６を初期化する（Ｍ１）。具体的には、ＣＰＵ３０は、駆動回路３７に駆動指令を送信し、読取部２０の読取位置がホーム位置ＨＰとなるように、読取部２０を移動させる。さらに、ＣＰＵ３０は、６００ＤＰＩの読取解像度に応じたクロック信号ＣＬＫおよびシリアルイン信号ＳＩの設定をフラッシュＲＯＭ３３から取得し、デバイス制御部３４に設定する。ＣＰＵ３０は、カラーモード時に対応する光源２１への信号の設定をフラッシュＲＯＭ３３から取得し、デバイス制御部３４に設定する。ＣＰＵ３０は、ＡＦＥ３５のオフセット調整値およびゲイン調整値をフラッシュＲＯＭ３３から取得し、ＡＦＥ３５に設定する。ここで、オフセット調整値は、ＡＦＥ３５に入力されるアナログ信号のレベルをシフトする値であり、ゲイン調整値は、ＡＦＥ３５に入力されるアナログ信号の利得を調整する値である。ＣＰＵ３０は、各種画像処理を施さない設定値を画像処理部３６に設定する。
【００３１】
ＣＰＵ３０は、カバーＣＶが閉状態か否かを判断する（Ｍ２）。具体的には、ＣＰＵ３０は、カバーセンサ２７がオフのとき、カバーＣＶが閉状態と判断（Ｍ２：Ｙｅｓ）し、処理Ｍ４へ進む。ＣＰＵ３０は、カバーセンサ２７がオンのとき、カバーＣＶが開状態と判断（Ｍ２：Ｎｏ）し、処理Ｍ３へ進む。処理Ｍ３へ進むと、ＣＰＵ３０は、カバーＣＶが開状態であり、カバーＣＶを閉じて再度実行することを表示機構ＤＭに表示させ（Ｍ３）、保守メイン処理が終了する。
【００３２】
処理Ｍ２において、カバーＣＶが閉状態と判断されると、ＣＰＵ３０は、読取部２０の第１黒データＢＫ１を取得する（Ｍ４）。具体的には、ＣＰＵ３０は、光源２１を消灯させ、基準部材ＢＭを読み取る。そして、ＣＰＵ３０は、読み取った１ライン中の1色の各画素のデジタル画像データを第１黒データＢＫ１として取得する。ＣＰＵ３０は、第１黒データＢＫ１をフラッシュＲＯＭ３３に記憶する。第１黒データＢＫ１は、３色の光源２１を消灯して取得するため、１色となっている。
【００３３】
ＣＰＵ３０は、チップ保守黒ＢＢＫ１を算出する（Ｍ５）。具体的には、ＣＰＵ３０は、第１黒データＢＫ１を各チップＣＨのデータ群に分割し、分割した各データ群の第１黒データＢＫ１を平均することにより１ライン中の各チップＣＨのチップ保守黒ＢＢＫ１を算出する。ＣＰＵ３０は、チップ保守黒ＢＢＫ１をフラッシュＲＯＭ３３に記憶する。処理Ｍ５が終了すると、保守メイン処理が終了する。
【００３４】
（読取メイン処理）
図５に示す読取メイン処理は、ユーザが原稿を原稿載置台ＤＴに載置し、操作機構ＯＭの開始ボタンを押下することにより、開始される。本実施形態の読取メイン処理は、読取解像度として６００ＤＰＩが設定され、カラーモードが設定され、Ａ４サイズの原稿が載置されたときについて説明を行う。
【００３５】
読取メイン処理が開始されると、ＣＰＵ３０は、駆動回路３７により読取部２０をホーム位置ＨＰに移動させ、その後にデバイス制御部３４、ＡＦＥ３５、および画像処理部３６を初期化する（Ｒ１）。具体的には、ＣＰＵ３０は、駆動回路３７に駆動指令を送信し、読取部２０の読取位置がホーム位置ＨＰとなるように、読取部２０を移動させる。さらに、ＣＰＵ３０は、６００ＤＰＩの読取解像度に応じたクロック信号ＣＬＫおよびシリアルイン信号ＳＩの設定をフラッシュＲＯＭ３３から取得し、デバイス制御部３４に設定する。ＣＰＵ３０は、ＡＦＥ３５のオフセット調整値およびゲイン調整値をフラッシュＲＯＭ３３から取得し、ＡＦＥ３５に設定する。ＣＰＵ３０は、各種画像処理を施さない設定値を画像処理部３６に設定する。
【００３６】
ＣＰＵ３０は、読取部２０の黒データＢＫ２を取得する（Ｒ２）。具体的には、ＣＰＵ３０は、光源２１を消灯させ、基準部材ＢＭを読み取る。そして、ＣＰＵ３０は、読み取った１ラインの１色の各画素のデジタル画像データを第２黒データＢＫ２として取得する。
【００３７】
ＣＰＵ３０は、カバーＣＶが閉状態か否かを判断する（Ｒ３）。具体的には、ＣＰＵ３０は、カバーセンサ２７がオフのとき、カバーＣＶが閉状態と判断（Ｒ３：Ｙｅｓ）し、処理Ｒ８へ進む。ＣＰＵ３０は、カバーセンサ２７がオンのとき、カバーＣＶが開状態と判断（Ｒ３：Ｎｏ）し、処理Ｒ４へ進む。
【００３８】
ＣＰＵ３０は、チップバラツキＢＦを算出する（Ｒ４）。具体的には、ＣＰＵ３０は、第２黒データＢＫ２を各チップＣＨのデータ群に分割し、分割した各データ群の第２黒データＢＫ２から最大値および最小値を抽出し、抽出した最大値から抽出した最小値を引算することにより１ライン中の各チップＣＨのチップバラツキＢＦを算出する。ＣＰＵ３０は、チップバラツキＢＦをチップＣＨの位置と関連付けてＲＡＭ３２に記憶する。
【００３９】
ＣＰＵ３０は、外光が入射したチップＣＨの位置である外光チップ位置ＢＮを検出する（Ｒ５）。具体的には、ＣＰＵ３０は、各チップＣＨにおいてチップバラツキＢＦを閾値ＴＨＡと比較する。ＣＰＵ３０は、閾値ＴＨＡよりも大きいチップバラツキＢＦに関連付けられたチップＣＨの位置を外光チップ位置ＢＮとして検出する。ＣＰＵ３０は、外光チップ位置ＢＮをＲＡＭ３２に記憶する。ここで、閾値ＴＨＡは、６０ｍＶに相当する６０である。６０ｍＶは、チップ内の各画素の黒信号のバラツキである黒信号変動量５５ｍＶに所定のマージンを加算した電圧値である。図８に示す本実施形態では、斜線を付したチップＣＨ２、チップＣＨ３、チップＣＨ６、チップＣＨ７、チップＣＨ１１〜チップＣＨ１４が外光チップ位置ＢＮとして検出された。
【００４０】
ＣＰＵ３０は、全てのチップＣＨに外光が入射していないか否かを判断する（Ｒ６）。具体的には、ＣＰＵ３０は、外光チップ位置ＢＮとしてチップＣＨの位置が記憶されていないとき、全てのチップＣＨに外光が入射していないと判断（Ｒ６：Ｙｅｓ）し、処理Ｒ８へ進む。ＣＰＵ３０は、外光チップ位置ＢＮとしてチップＣＨの位置が記憶されているとき、チップＣＨに外光が入射したと判断（Ｒ６：Ｎｏ）し、処理Ｒ７に進む。
【００４１】
ＣＰＵ３０は、第２黒データＢＫ２を置換する（Ｒ７）。詳細は後述するが、ＣＰＵ３０は、外光チップ位置ＢＮとして記憶されたチップＣＨに含まれる画素の第２黒データＢＫ２を置換する。外光の入射したチップＣＨに含まれる画素の第２黒データＢＫ２を置換することで、外光の影響が低減された第２黒データＢＫ２を用いて正確な黒補正をすることができる。
【００４２】
ＣＰＵ３０は、光源２１の光量ＳＴを調整する（Ｒ８）。具体的には、ＣＰＵ３０は、基準部材ＢＭに向けて、読取部２０の光源２１から光を照射させ、その反射光を読み取ったときのアナログ信号がＡＦＥ３５の入力レンジの最大となるように、各色の光量ＳＴを調整する。ここで、各色は、カラーモードで用いられる赤色、青色、および緑色の３色を示す。
【００４３】
ＣＰＵ３０は、読取部２０の白データＷＨを取得する（Ｒ９）。具体的には、ＣＰＵ３０は、光源２１の各色の光量ＳＴで点灯させ、基準部材ＢＭを読み取る。そして、ＣＰＵ３０は、読み取った１ラインの各色の各画素のデジタル画像データを白データＷＨとして取得する。ＣＰＵ３０は、取得した白データＷＨをＲＡＭ３２に記憶する。
【００４４】
ＣＰＵ３０は、読取部２０の白黒差分データＷＢｄｉｆを算出する（Ｒ１０）。具体的には、ＣＰＵ３０は、１ラインの各色の各画素の白データＷＨから第２黒データＢＫ２を引算し、１ラインの各色の各画素の白黒差分データＷＢｄｉｆとしてフラッシュＲＯＭ３３に記憶する。
【００４５】
ＣＰＵ３０は、原稿を読み取る（Ｒ１１）。具体的には、ＣＰＵ３０は、各種画像処理を施す設定値を画像処理部３６に設定し、第２黒データＢＫ２を黒補正データとして設定し、白黒差分ＷＢｄｉｆを白補正データとして設定する。ＣＰＵ３０は、駆動回路３７に指令を出力し、駆動回路３７により読取部２０を移動させ、読取部２０の光源２１を光量ＳＴで照射して原稿を読み取る。この様にして、画像読取装置ＳＭは、処理Ｒ７で置換された黒データＢＫ２を用いて黒補正でき、正確な黒補正をすることができる。
【００４６】
（第２黒データＢＫ２置換処理Ｒ７）
図６に示す第２黒データＢＫ２置換処理（Ｒ７）が開始されると、ＣＰＵ３０は、全てのチップＣＨに外光が入射したか否かを判断する（ＲＡ１）。具体的には、ＣＰＵ３０は、外光チップ位置ＢＮとして全てのチップＣＨの位置が記憶されていないとき、全てのチップＣＨに外光が入射していないと判断（ＲＡ１：Ｎｏ）し、処理ＲＡ３へ進む。ＣＰＵ３０は、外光チップ位置ＢＮとして全てのチップＣＨの位置が記憶されているとき、全てのチップＣＨに外光が入射したと判断（ＲＡ１：Ｙｅｓ）し、処理ＲＡ２へ進む。
【００４７】
処理ＲＡ１においてＹｅｓと判断されると、ＣＰＵ３０は、置換黒データＲＰＢＫ２を記憶する（ＲＡ２）。具体的には、ＣＰＵ３０は、処理Ｍ４で取得した1ライン中の各画素の第１黒データＢＫ１を置換黒データＲＰＢＫとしてＲＡＭ３２に記憶する。処理ＲＡ２が終了すると、処理ＲＡ８へ進む。
【００４８】
処理ＲＡ１においてＮｏと判断されると、ＣＰＵ３０は、ライン黒差分ＬＢＫｄｉｆを算出する（ＲＡ３）。具体的には、ＣＰＵ３０は、外光チップ位置ＢＮとして記憶されていないチップＣＨについてその全てのチップＣＨに含まれる各画素において第２黒データＢＫ２から第1黒データＢＫ１を引算し、各画素において引算して算出された全ての値を平均してライン黒差分ＬＢＫｄｉｆを算出する。
【００４９】
ＣＰＵ３０は、閾値ＴＨＢを算出する（ＲＡ４）。具体的には、ＣＰＵ３０は、処理Ｍ５で算出した１ライン中の各チップＣＨのチップ保守黒ＢＢＫ１にライン黒差分ＬＢＫｄｉｆを加算し、加算した値に１００を加算することにより１ライン中の各チップの閾値ＴＨＢを算出する。ここで、最後に加算した１００は、１００ｍＶに相当する値である。１００ｍＶは、チップ内の各画素の黒信号のバラツキである黒信号変動量５５ｍＶに想定される全てのマージンを加算した電圧値である。図９に示す本実施形態では、チップＣＨ２の閾値ＴＨＢは１３２であり、チップＣＨ３の閾値ＴＨＢは１５２である。閾値ＴＨＢは以下の様に算出される。チップＣＨ２のチップ保守黒ＢＢＫ１は２５であり、ライン黒差分ＬＢＫｄｉｆは７である。よって、チップＣＨ２の閾値ＴＨＢは１３２である。同様に、チップＣＨ３のチップ保守黒ＢＢＫ１は４５であり、ライン黒差分ＬＢＫｄｉｆは７であるため、チップＣＨ３の閾値ＴＨＢは１５２である。
【００５０】
ＣＰＵ３０は、連続チップＬＣＢを検出する（ＲＡ５）。具体的には、ＣＰＵ３０は、外光チップ位置ＢＮとして記憶されている先頭画素側にある最初のチップＣＨを第１連続チップＬＣＢ１として検出する。ＣＰＵ３０は、第1連続チップＬＣＢ１に最終画素側へ隣接するチップＣＨを第1連続チップＬＣＢ１として検出し続け、外光チップ位置ＢＮとして記憶されていないチップＣＨの直前のチップＣＨまでを第1連続チップＬＣＢ１として検出する。図８に示す本実施例では、外光チップ位置ＢＮに記憶されている先頭画素側にある最初のチップＣＨであるチップＣＨ２が第1連続チップＬＣＢ１として検出される。チップＣＨ２の最終画素側へ隣接する次のチップＣＨであるチップＣＨ３が外光チップ位置ＢＮとして記憶されているため、チップＣＨ３が第1連続チップＬＣＢ１として検出される。チップＣＨ３の最終画素側へ隣接する次のチップＣＨであるチップＣＨ４が外光チップ位置ＢＮとして記憶されていないため、チップＣＨ２からチップＣＨ３までが第1連続チップＬＣＢ１として検出される。
【００５１】
ＣＰＵ３０は、外光チップ位置ＢＮとして記憶されているチップＣＨのうち第1連続チップＬＣＢ１として検出されたチップＣＨ以外で先頭画素側にある最初のチップＣＨを第２連続チップＬＣＢ２として検出する。ＣＰＵ３０は、第２連続チップＬＣＢ２に最終画素側へ隣接するチップＣＨを第２連続チップＬＣＢ２として検出し続け、外光チップ位置ＢＮとして記憶されていないチップＣＨの直前のチップＣＨまでを第２連続チップＬＣＢ２として検出する。図８に示す本実施例では、第１連続チップＬＣＢ１と同様に、チップＣＨ６からチップＣＨ７までが第２連続チップＬＣＢ２として検出される。
【００５２】
ＣＰＵ３０は、外光チップ位置ＢＮとして記憶されているチップＣＨのうち第１連続チップＬＣＢ１および第２連続チップＬＣＢ２として検出されたチップＣＨ以外で先頭画素側にある最初のチップＣＨを第３連続チップＬＣＢ３として検出する。ＣＰＵ３０は、第３連続チップＬＣＢ３に最終画素側へ隣接するチップＣＨを第３連続チップとして検出し続け、外光チップ位置ＢＮとして記憶されていないチップＣＨの直前のチップＣＨまでを第３連続チップＬＣＢ３として検出する。図８に示す本実施例では、外光チップ位置ＢＮに記憶されているチップＣＨのうち第１連続チップＬＣＢ１および第２連続チップとして検出されたチップ以外の先頭画素側にある最初のチップＣＨであるチップＣＨ１１が第３連続チップＬＣＢ１として検出される。チップＣＨ１１の最終画素側へ隣接する次のチップＣＨであるチップＣＨ１２が外光チップ位置ＢＮとして記憶されているため、チップＣＨ１２が第３連続チップＬＣＢ３として検出される。同様に、チップＣＨ１３およびチップＣＨ１４が第３連続チップＬＣＢ３として検出される。チップＣＨ１４の最終画素側へ隣接する次のチップＣＨであるチップＣＨ１５が外光チップ位置ＢＮに記憶されていないため、チップＣＨ１１からチップＣＨ１４までが第３連続チップＬＣＢ３として検出される。この様にして、ＣＰＵ３０は、第３連続チップＬＣＢ３よりも最終画素側に外光チップ位置ＢＮとして記憶されているチップＣＨがある場合には第４連続チップＬＣＢ４として順に検出し、最終チップであるチップＣＨ１６までを順に連続チップＬＣＢとして検出する。
【００５３】
ＣＰＵ３０は、開始詳細チップＳＣＢおよび終了詳細チップＥＣＢを決定する（ＲＡ６）。具体的には、ＣＰＵ３０は、各連続チップＬＣＢにおいて先頭画素側にある最初のチップＣＨを開始詳細チップＳＣＢとして決定し、１ラインの最終画素側にある最後のチップＣＨを終了詳細チップＥＣＢとして決定する。図８に示す本実施形態では、第1連続チップＬＣＢ１において先頭画素側にある最初のチップＣＨであるチップＣＨ２が開始詳細チップＳＣＢとして決定され、１ラインの最終画素側にある最後のチップＣＨであるチップＣＨ３が終了詳細チップＥＣＢとして決定される。同様に、第２連続チップＬＣＢ２の開始詳細チップＳＣＢはチップＣＨ６に決定され、終了詳細チップＥＣＢはチップＣＨ７に決定される。第３連続チップＬＣＢ３の開始詳細チップＳＣＢはチップＣＨ１１に決定され、終了詳細チップＥＣＢはチップＣＨ１４に決定される。
【００５４】
ＣＰＵ３０は、置換黒データＲＰＢＫを算出する（ＲＡ７）。詳細は後述するが、ＣＰＵ３０は、各連続チップＬＣＢにおいて外光の入射が開始した画素の位置である開始画素位置ＳＣＰと外光の入射が終了した画素の位置である終了画素位置ＥＣＰとを決定する。ＣＰＵ３０は、各連続チップＬＣＢの開始詳細チップＳＣＢにおいて開始詳細チップＳＣＢの先端画素から開始画素位置ＳＣＰの直前の画素までの第２黒データＢＫ２を平均して開始詳細チップＳＣＢの置換黒データＲＰＢＫを算出する。ＣＰＵ３０は、各連続チップＬＣＢの終了詳細チップＥＣＢにおいて終了画素位置ＥＣＰの直後の画素から末端画素までの第２黒データＢＫ２を平均して終了詳細チップＥＣＢの置換黒データＲＰＢＫを算出する。ＣＰＵ３０は、外光チップ位置ＢＮとして記憶されていない全てのチップＣＨに含まれる全ての画素の第２黒データＢＫ２を平均して開始詳細チップＳＣＢおよび終了詳細チップＥＣＢ以外のチップＣＨの置換黒データＲＰＢＫとして算出する。ここで、先端画素は各チップの先頭画素側にある主走査方向の最上流にある画素であり、末端画素は各チップの最終画素側にある主走査方向の最下流にある画素である。
【００５５】
ＣＰＵ３０は、第２黒データＢＫ２を置き換える（ＲＡ８）。具体的には、ＣＰＵ３０は、処理ＲＡ７において置換黒データＲＰＢＫが算出されたときは、各連続チップＬＣＢにおいて、開始画素位置ＳＣＰから終了画素位置ＥＣＰまでの画素の第２黒データＢＫ２を置換黒データＲＰＢＫに置き換える。言い換えると、ＣＰＵ３０は、各連続チップＬＣＢにおいて開始詳細チップＳＣＢに含まれる開始画素位置ＳＣＰから終了画素位置ＥＣＰまでの画素の第２黒データＢＫ２を処理ＲＢ３で算出した置換黒データＲＰＢＫで置き換え、終了詳細チップＥＣＢに含まれる開始画素位置ＳＣＰから終了画素位置ＥＣＰまでの画素の第２黒データＢＫ２を処理ＲＢ５で算出した置換黒データＲＰＢＫで置き換え、開始詳細チップＳＣＢおよび終了詳細チップＥＣＢ以外のチップＣＨに含まれる開始画素位置ＳＣＰから終了画素位置ＥＣＰまでの画素の第２黒データＢＫ２を処理ＲＢ７で算出した置換黒データＲＰＢＫに置き換える。開始詳細チップＳＣＢと終了詳細チップＥＣＢとが同一のチップＣＨの場合は、ＣＰＵ３０は、開始画素位置ＳＣＰから終了画素位置ＥＣＰまでの画素の第２黒データＢＫ２を処理ＲＢ３で算出した置換黒データＲＰＢＫで置き換える。ＣＰＵ３０は、処理ＲＡ２において置換黒データＲＰＢＫが記憶されたときは、1ライン中の各画素の第２黒データＢＫ２を処理ＲＡ１で記憶された置換黒データＲＰＢＫに置き換える。ＣＰＵ３０は、置き換えた１ライン中の各画素の第２黒データＢＫ２をフラッシュＲＯＭ３３に記憶する。処理ＲＡ８が終了すると、第２黒データＢＫ２置換処理（Ｒ７）は終了する。
【００５６】
（置換黒データＲＰＢＫ算出）
図７に示す置換黒データＲＰＢＫ算出処理（ＲＡ７）が開始されると、ＣＰＵ３０は、対象連続チップＴＬＣＢを設定する（ＲＢ１）。具体的には、ＣＰＵ３０は、対象連続チップＴＬＣＢが設定されていれば、最終画素側にある次の連続チップＬＣＢを対象連続チップＴＬＣＢとして設定し、対象連続チップＴＬＣＢが設定されていなければ、第１連続チップＬＣＢ１を対象連続チップＴＬＣＢとして設定する。
【００５７】
ＣＰＵ３０は、開始画素位置ＳＣＰを決定する（ＲＢ２）。具体的には、ＣＰＵ３０は、対象連続チップＴＬＣＢの開始詳細チップＳＣＢの先端画素から同一チップＣＨの末端画素へ順に第２黒データＢＫ２が閾値ＴＨＢよりも大きいか否かを判断する。ＣＰＵ３０は、第２黒データＢＫ２が閾値ＴＨＢよりも大きいと最初に判断した画素の画素位置を開始画素位置ＳＣＰとして決定する。開始画素位置ＳＣＰは、対象連続チップＴＬＣＢにおいて外光が入射したと推定される先端画素側の最初の画素位置である。図９を用いて本実施形態における第１連続チップＬＣＢ１の開始画素位置ＳＣＰの決定について説明する。第１連続チップＬＣＢ１の開始詳細チップＳＣＢであるチップＣＨ２の閾値ＴＨＢは１３２である。チップＣＨ２の先端画素から末端画素へ順に第２黒データＢＫ２が１３２よりも大きいか否かが判断される。６４７画素目の画素の第２黒データＢＫ２である４２０が閾値ＴＨＢである１３２よりも大きいと最初に判断されるため、６４７画素目の画素の画素位置が開始画素位置ＳＣＰとして決定される。
【００５８】
ＣＰＵ３０は、対象連続チップＴＬＣＢの開始詳細チップＳＣＢの置換黒データＲＰＢＫを算出する（ＲＢ３）。具体的には、ＣＰＵ３０は、対象連続チップＴＬＣＢの先端画素から開始画素位置ＳＣＰの直前の画素までの第２黒データＢＫ２の平均値を算出し、その平均値を対象連続チップＴＬＣＢの開始詳細チップＳＣＢの置換黒データＲＰＢＫとして算出する。対象連続チップＴＬＣＢの先端画素から開始画素位置ＳＣＰの画素までの画素の数が１つの場合は、対象連続チップＴＬＣＢの先端画素の第２黒データＢＫ２を対象連続チップＴＬＣＢの開始詳細チップＳＣＢの置換黒データＲＰＢＫとする。
【００５９】
ＣＰＵ３０は、終了画素位置ＥＣＰを決定する（ＲＢ４）。具体的には、ＣＰＵ３０は、対象連続チップＴＬＣＢの終了詳細チップＥＣＢの末端画素から同一チップＣＨの先端画素へ順に第２黒データＢＫ２が閾値ＴＨＢよりも大きいか否かを判断する。ＣＰＵ３０は、第２黒データＢＫ２が閾値ＴＨＢよりも大きいと最初に判断した画素位置を終了画素位置ＥＣＰとして決定する。終了画素位置ＥＣＰは、対象連続チップＴＬＣＢにおいて外光が入射したと推定される末端画素側の最初の画素位置である。図９を用いて本実施形態における第１連続チップＬＣＢ１の終了画素位置ＥＣＰの決定について説明する。第１連続チップＬＣＢ１の終了詳細チップＥＣＢであるチップＣＨ３の閾値ＴＨＢは１５２である。チップＣＨ３の末端画素から先端画素へ順に第２黒データＢＫ２が１５２よりも大きいか否かが判断される。９６９画素目の画素の第２黒データＢＫ２である５２０が閾値ＴＨＢである１５２よりも大きいと最初に判断されるため、９６９画素目の画素の画素位置が終了画素位置ＥＣＰとして決定される。
【００６０】
ＣＰＵ３０は、対象連続チップＴＬＣＢの終了詳細チップＥＣＢの置換黒データＲＰＢＫを算出する（ＲＢ５）。具体的には、ＣＰＵ３０は、対象連続チップＴＬＣＢの末端画素から終了画素位置ＥＣＰの直後の画素までの第２黒データＢＫ２の平均値を算出し、その平均値を対象連続チップＴＬＣＢの終了詳細チップＥＣＢの置換黒データＲＰＢＫとして算出する。対象連続チップＴＬＣＢの末端画素から終了画素位置ＥＣＰの画素までの画素の数が１つの場合は、対象連続チップＴＬＣＢの末端画素の第２黒データＢＫ２を対象連続チップＴＬＣＢの終了詳細チップＥＣＢの置換黒データＲＰＢＫとする。
【００６１】
ＣＰＵ３０は、対象連続チップＴＬＣＢの次の連続チップＬＣＢが存在するか否かを判断する（ＲＢ６）。具体的には、ＣＰＵ３０は、連続チップＬＣＢが対象連続チップＴＬＣＢから最終画素側の位置に存在しないとき、次の連続チップＬＣＢが存在しないと判断（ＲＢ６：Ｎｏ）し、対象連続チップＴＬＣＢの設定を削除し、処理ＲＢ７へ進む。ＣＰＵ３０は、連続チップＬＣＢが対象連続チップＴＬＣＢから最終画素側の位置に存在するとき、次の連続チップＬＣＢが存在すると判断（ＲＢ６：Ｙｅｓ）し、処理ＲＢ１へ進む。
【００６２】
ＣＰＵ３０は、開始詳細チップＳＣＢおよび終了詳細チップＥＣＢ以外のチップＣＨの置換黒データＲＰＢＫを算出する（ＲＢ７）。具体的には、ＣＰＵ３０は、１ライン中の各画素において第２黒データＢＫ２にライン黒差分ＬＢＫｄｉｆを加算することにより開始詳細チップＳＣＢおよび終了詳細チップＥＣＢ以外のチップＣＨの置換黒データＲＰＢＫとして算出する。処理ＲＢ７が終了すると、置換黒データＲＰＢＫ算出処理（ＲＡ７）が終了する。
【００６３】
＜実施形態の効果＞
本実施形態では、保守メイン処理の処理Ｍ４は、処理Ｍ２においてカバー閉状態と判断された後に、１ライン中の各画素の第１黒データＢＫ１を取得する。読取メイン処理の処理Ｒ２は、１ライン中の各画素の第２黒データＢＫ２を取得する。処理Ｒ５は、各チップＣＨにおいてチップバラツキＢＦを閾値ＴＨＡと比較し、閾値ＴＨＡよりも大きいチップバラツキＢＦに関連付けられたチップＣＨの位置を外光チップ位置ＢＮとして検出する。置換黒データＲＰＢＫ算出ＲＡ７の処理ＲＢ２は、対象連続チップＴＬＣＢの開始詳細チップＳＣＢの先端画素から同一チップＣＨの末端画素へ順に第２黒データＢＫ２が閾値ＴＨＢよりも大きいか否かを判断し、第２黒データＢＫ２が閾値ＴＨＢよりも大きいと最初に判断した画素の画素位置を開始画素位置ＳＣＰとして決定する。処理ＲＢ５は、対象連続チップＴＬＣＢの終了詳細チップＥＣＢの末端画素から同一チップＣＨの先端画素へ順に第２黒データＢＫ２が閾値ＴＨＢよりも大きいか否かを判断し、第２黒データＢＫ２が閾値ＴＨＢよりも大きいと最初に判断した画素の画素位置を終了画素位置ＥＣＰとして決定する。第２黒データＢＫ２置換Ｒ７の処理ＲＡ３は、外光チップ位置ＢＮに記憶されていない全てのチップＣＨに含まれる各画素において第２黒データＢＫ２から第１黒データＢＫ１を引算し、各画素において引算して算出された全ての値を平均してライン黒差分ＬＢＫｄｉｆとして算出する。置換黒データＲＰＢＫ算出ＲＡ７の処理ＲＢ３は、対象連続チップＴＬＣＢの先端画素から開始画素位置ＳＣＰの直前の画素までの第２黒データＢＫ２の平均値を算出し、その平均値を対象連続チップＴＬＣＢの開始詳細チップＳＣＢの置換黒データＲＰＢＫとして算出する。処理ＲＢ５は、対象連続チップＴＬＣＢの末端画素から終了画素位置ＥＣＰの直後の画素までの第２黒データＢＫ２の平均値を算出し、その平均値を対象連続チップＴＬＣＢの終了詳細チップＥＣＢの置換黒データＲＰＢＫとして算出する。処理ＲＢ７は、１ライン中の各画素において第２黒データＢＫ２にライン黒差分ＬＢＫｄｉｆを加算することにより開始詳細チップＳＣＢおよび終了詳細チップＥＣＢ以外のチップＣＨの置換黒データＲＰＢＫとして算出する。第２黒データＢＫ２置換Ｒ７の処理ＲＡ８は、各連続チップＬＣＢにおいて、開始画素位置ＳＣＰから終了画素位置ＥＣＰまでの画素の第２黒データＢＫ２を置換黒データＲＰＢＫに置き換える。よって、置換黒データＲＰＢＫを外光の入射していない第２黒データＢＫ２を用いて算出しているため、より精度の高い置換黒データＲＰＢＫを算出することができ、精度の高い黒補正をすることができる。
【００６４】
［実施形態と発明との対応関係］
画像読取装置ＳＭ、およびカバーＣＶが、本発明の画像読取装置、およびカバーの一例である。読取部２０、およびＡＦＥ３５が、本発明の読取部の一例である。画像処理部３６、およびＣＰＵ３０が、本発明の補正部、および制御部の一例である。処理Ｍ４が、本発明の第１黒データ取得処理の一例である。処理Ｒ２が、本発明の第２黒データ取得処理の一例である。処理Ｒ４、処理Ｒ５、処理ＲＡ５、処理ＲＡ６、処理ＲＢ２、および処理ＲＢ４が、本発明の判断処理の一例である。処理ＲＡ３が、本発明の調整データ算出処理の一例である。処理ＲＢ３、処理ＲＢ５、および処理ＲＢ７が、本発明の第３黒データ算出処理の一例である。処理ＲＡ８が、本発明の補正データ決定処理の一例である。処理Ｒ１１が、本発明の読取処理の一例である。
【００６５】
処理Ｒ５が、本発明の第１判断処理の一例である。処理ＲＢ２、および処理ＲＢ４が、本発明の第２判断処理の一例である。処理ＲＡ５が、本発明の連続グループ群決定処理の一例である。処理ＲＡ６が、本発明の詳細グループ決定処理の一例である。処理Ｍ５が、本発明の平均処理の一例である。処理ＲＡ４が、本発明の第２閾値算出処理の一例である。
【００６６】
［変形例］
本発明は、本実施形態に限定されることなく、その趣旨を逸脱しない範囲において種々の変形が可能である。以下にその変形の一例を述べる。
【００６７】
（１）本実施形態の画像読取装置ＳＭは、プリンタ部を備えた複合機に適用されても良い。本実施形態では、読取部２０が１つの場合について説明したが、読取部２０が複数の場合でも良い。
【００６８】
（２）本実施形態では、図４に示す保守メイン処理、および図５に示す読取メイン処理の全てがＣＰＵ３０によって実行される構成であるが、この構成に限定されない。例えば、保守メイン処理のＭ３〜Ｍ５の一部、および読取メイン処理のＲ４〜Ｒ７、Ｒ１０の一部が画像処理部３６、デバイス制御部３４、またはＡＦＥ３５により実行されても良い。また、保守メイン処理が、画像読取装置ＳＭから独立した外部装置、たとえばコンピュータなどで実行される構成でも良い。
【００６９】
（３）本実施形態では、受光部２２が１６個のチップＣＨ１〜チップＣＨ１６により構成されている場合を説明したが、１６個より少ない数のチップＣＨでも良いし、１６個より多い数のチップＣＨでも良い。
【００７０】
（４）本実施形態では、受光部２２が１ラインの光電変換素子２３で構成される場合について説明したが、複数ラインの光電変換素子２３で構成される場合でも良い。
【００７１】
（５）本実施形態では、第２黒データＢＫのチップバラツキＢＦを算出し、チップＣＨ毎に外光の入射を判断した後に、第２黒データＢＫを閾値ＴＨＢと比較して画素毎に外光の入射を判断したが、全ての画素に対して第２黒データＢＫと閾値ＴＨＢとを比較して外光の入射を判断しても良いし、第２黒データＢＫと白データＷＨとを比較して外光の入射を判断しても良い。
【００７２】
（６）本実施形態では、処理ＲＢ７の置換黒データＲＰＢＫの算出において、第２黒データにライン黒差分ＬＢＫｄｉｆを加算して置換黒データＲＰＢＫを算出したが、第２黒データＢＫ２を第１黒データＢＫ１で割算してライン黒差分ＬＢＫｄｉｆに相当する値を算出した後に、割算した値を第１黒データＢＫ１に掛算することで置換黒データＲＰＢＫを算出しても良い。
【符号の説明】
【００７３】
ＳＭ…画像読取装置、ＯＭ…操作機構、ＣＶ…カバー、２０…読取部、２１…光源、２２…受光部、２３…光電変換素子、３０…ＣＰＵ、３３…フラッシュＲＯＭ、３４…デバイス制御部、３５…ＡＦＥ、３６…画像処理部、２７…カバーセンサ、３７…駆動回路
【図１Ａ】
0006508573.tif 000002
【図１Ｂ】
0006508573.tif 000003
【図２】
0006508573.tif 000004
【図３】
0006508573.tif 000005
【図４】
0006508573.tif 000006
【図５】
0006508573.tif 000007
【図６】
0006508573.tif 000008
【図７】
0006508573.tif 000009
【図８】
0006508573.tif 000010
【図９】
0006508573.tif 000011