(57)【特許請求の範囲】
【請求項１】
光源と、１ラインに並んだ多数の受光素子と、前記受光素子に光を結像するレンズアレイと、を有し、前記光源を点灯して読み取る読取部と、
前記読取部に対向して配置される基準部材と、
前記読取部が読み取った画像データを補正データに基づきシェーディング補正する補正部と、
準備処理を実行し、前記準備処理を実行した後に実行処理を実行する制御部と、を備え、
所定受光素子数離れた受光素子の間隔は、前記レンズアレイの各レンズの間隔であり、
前記準備処理は、
前記読取部が前記基準部材を読み取ることにより、１ライン中の各受光素子の第1基準
部材データを取得する第1基準部材データ取得処理を含み、
前記実行処理は、
前記読取部が前記基準部材を読み取ることにより、１ライン中の各受光素子の第２基準部材データを取得する第２基準部材データ取得処理と、
１ライン中の各受光素子において前記第１基準部材データと前記第２基準部材データとの比を判別データとして算出する判別データ算出処理と、
１ライン中の先頭受光素子を対象受光素子として設定し、前記対象受光素子に対して判別範囲算出処理と修正処理とを順次実行させ、その後、次の受光素子を前記対象受光素子として設定し前記判別範囲算出処理と前記修正処理とを順次実行させることを、前記対象受光素子が前記最終受光素子となるまで繰返す設定処理と、
前記第２基準部材データに基づいて前記補正データを生成する補正データ生成処理と、を含み、
前記判別範囲算出処理は、前記対象受光素子から前記所定受光素子数毎に離れた複数の受光素子の前記判別データを平均した判別データ平均値に第１所定値を加算した値を上限値とし、前記判別データ平均値に前記第１所定値を減算した値を下限値とした範囲を前記対象受光素子の判別範囲として算出し、
前記修正処理は、前記対象受光素子の前記判別データが前記対象受光素子の前記判別範囲を超えるか否かを判別し、前記判別データが前記判別範囲を超えたと判別された受光素子の前記第２基準部材データを修正することを特徴とする画像読取装置。
【請求項２】
前記多数の受光素子が１ラインに並ぶ複数のグループに区分けされており、
前記複数のグループの各グループは偶数個の受光素子を有しており、
前記判別範囲算出処理は、前記複数のグループの各グループにおいて、前記各グループの受光素子の配列領域の中央位置から先頭受光素子側の受光素子が前記対象受光素子として設定されている場合に、前記対象受光素子から最終受光素子側に前記所定受光素子数離れた第１隣接受光素子と、前記第１隣接受光素子から最終受光素子側に前記所定受光素子数離れた第２隣接受光素子と、前記第２隣接受光素子から最終受光素子側に前記所定受光素子数離れた第３隣接受光素子との前記判別データを平均して前記判別データ平均値を算出し、前記中央位置から最終受光素子側の受光素子が前記対象受光素子として設定されている場合に、前記対象受光素子から先頭受光素子側に前記所定受光素子数離れた第４隣接受光素子と、前記第４隣接受光素子から先頭受光素子側に前記所定受光素子数離れた第５隣接受光素子と、前記第５隣接受光素子から先頭受光素子側に前記所定受光素子数離れた第６隣接受光素子との前記判別データを平均して前記判別データ平均値を算出することを特徴とする請求項１に記載の画像読取装置。
【請求項３】
前記基準部材は、白色よりも光の反射率が低い濃度を有し、
前記第１基準部材データ取得処理は、１ライン中の各受光素子において前記読取部が最大光量で前記光源を点灯して前記基準部材を読み取ることにより第１灰淡データを取得し、前記読取部が前記光源を消灯して読み取ることにより取得した黒データを前記第1灰淡
データから引算することにより前記第１基準部材データを取得し、
前記第２基準部材データ取得処理は、１ライン中の各受光素子において前記読取部が最大光量で前記光源を点灯して前記基準部材を読み取ることにより第２灰淡データを取得し、前記読取部が前記光源を消灯して読み取ることにより取得した黒データを前記第２灰淡データから引算することにより前記第２基準部材データを取得することを特徴とする請求項１または２に記載の画像読取装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像読取装置に関する。
【背景技術】
【０００２】
一般に、画像読取装置において、白基準板を読み取って得られた白基準データを不揮発性メモリに記憶しておき、記憶した白基準データを用いてシェーディング補正を行う画像読取装置が知られている。密着型イメージセンサでは、ロッドレンズアレイを構成する各単一レンズの中央部付近で光電変換素子の集光量が増え、各単一レンズの端部付近で光電変換素子の集光量が減るいわゆるレンズムラが発生する。さらに、密着型イメージセンサでは、光源、ロッドレンズアレイ、光電変換素子を実装した基板等が所定の位置関係で筐体に固定されているために、温度上昇によるそれぞれの部材の膨張率や固定方法の差により、光電変換素子とロッドレンズアレイとの位置関係にズレが発生する。
【０００３】
特許文献１に記載の画像読取装置は、画像読取装置に備えられた基準板を読み取った基準板データと予め記憶された白基準データとの比を基準比として１ライン中の各画素で導出し、その基準比が所定範囲外の画素を紙粉等の異物による影響のある画素としてその画素の基準板データを補正して新たな白基準データとして設定する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特許第５１３１０５６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１に記載の画像読取装置では、基準板データと白基準データとの基準比が所定範囲に含まれるか否かを判断することで異物による影響のある画素か否かを判断している。この基準比に関して、以下のようなことが生じる。通常、白基準データを取得したときの白取得時温度と、基準板データを取得したときの基準取得時温度とは異なる。そのため、この白取得時温度から基準取得時温度への温度変化により上述したような光電変換素子とロッドレンズアレイとの位置関係にズレが生じる。この位置関係にズレが生じると、白基準データ取得時での１ライン中の各光電変換素子に発生するレンズムラと、基準板データ取得時での１ライン中の各光電変換素子に発生するレンズムラとで１ライン内でのムラの位置がずれる。このレンズムラの位置ズレにより、基準板データと白基準データとでレンズムラの１ライン中の光電変換素子に現れるムラの位置がそれぞれ異なる。よって、基準板データと白基準データとの基準比にレンズムラの位置ズレを原因としたバラツキが発生する。さらに、紙粉等の異物が付着した基準板が読み取られることにより、異物に起因して基準板データに出力変動が生じ、その結果として基準比に異物に起因したバラツキが生じる。
【０００６】
そのため、基準比のバラツキが、異物に起因したバラツキか、レンズムラの位置ズレを原因としたバラツキか、又は双方に起因したバラツキか否かの判断ができないという問題が発生する。
【０００７】
そこで、本発明は上述した事情に鑑みてなされ、予め基準データを不揮発性メモリに記憶した場合でも、基準板に付着した異物による影響のある画素か否かを判断可能な画像読取装置を提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記目的を達成するために、請求項１に記載の発明態様では、画像読取装置は、光源と、１ラインに並んだ多数の受光素子と、前記受光素子に光を結像するレンズアレイと、を有し、前記光源を点灯して読み取る読取部と、前記読取部に対向して配置される基準部材と、前記読取部が読み取った画像データを補正データに基づきシェーディング補正する補正部と、準備処理を実行し、前記準備処理を実行した後に実行処理を実行する制御部と、を備え、所定受光素子数離れた受光素子の間隔は、前記レンズアレイの各レンズの間隔であり、前記準備処理は、前記読取部が前記基準部材を読み取ることにより、１ライン中の各受光素子の第１基準部材データを取得する第１基準部材データ取得処理を含み、前記実行処理は、前記読取部が前記基準部材を読み取ることにより、１ライン中の各受光素子の第２基準部材データを取得する第２基準部材データ取得処理と、１ライン中の各受光素子において前記第１基準部材データと前記第２基準部材データとの比を判別データとして算出する判別データ算出処理と、１ライン中の先頭受光素子から最終受光素子までを順に、対象受光素子として設定し、前記対象受光素子に対して判別範囲算出処理と、前記対象受光素子に対して修正処理とを順次実行させ、その後、次の受光素子を前記対象受光素子として設定する設定処理と、前記第２基準部材データに基づいて前記補正データを生成する補正データ生成処理と、を含み、前記判別範囲算出処理は、前記対象受光素子から前記所定受光素子数毎に離れた複数の受光素子の前記判別データを平均した判別データ平均値に第１所定値を加算した値を上限値とし、前記判別データ平均値に前記第１所定値を減算した値を下限値とした範囲を前記対象受光素子の判別範囲として算出し、前記修正処理は、前記対象受光素子の前記判別データが前記対象受光素子の前記判別範囲を超えるか否かを判別し、前記判別データが前記判別範囲を超えたと判別された受光素子の前記第２基準部材データを修正する。
【０００９】
請求項２に記載の具体的態様では、前記多数の受光素子が１ラインに並ぶ複数のグループに区分けされており、前記複数のグループの各グループは偶数個の受光素子を有しており、前記判別範囲算出処理は、前記複数のグループの各グループにおいて、前記各グループの受光素子の配列領域の中央位置から先頭受光素子側の受光素子が前記対象受光素子として設定されている場合に、前記対象受光素子から最終受光素子側に前記所定受光素子数離れた第１隣接受光素子と、前記第１隣接受光素子から最終受光素子側に前記所定受光素子数離れた第２隣接受光素子と、前記第２隣接受光素子から最終受光素子側に前記所定受光素子数離れた第３隣接受光素子との前記判別データを平均して前記判別データ平均値を算出し、前記中央位置から最終受光素子側の受光素子が前記対象受光素子として設定されている場合に、前記対象受光素子から先頭受光素子側に前記所定受光素子数離れた第４隣接受光素子と、前記第４隣接受光素子から先頭受光素子側に前記所定受光素子数離れた第５隣接受光素子と、前記第５隣接受光素子から先頭受光素子側に前記所定受光素子数離れた第６隣接受光素子との前記判別データを平均して前記判別データ平均値を算出する。
【００１２】
請求項３に記載の具体的態様では、前記基準部材は、白色よりも光の反射率が低い濃度を有し、前記第１基準部材データ取得処理は、１ライン中の各受光素子において前記読取部が最大光量で前記光源を点灯して前記基準部材を読み取ることにより第１灰淡データを取得し、前記読取部が前記光源を消灯して読み取ることにより取得した黒データを前記第１灰淡データから引算することにより前記第１基準部材データを取得し、前記第２基準部材データ取得処理は、１ライン中の各受光素子において前記読取部が最大光量で前記光源を点灯して前記基準部材を読み取ることにより第２灰淡データを取得し、前記読取部が前記光源を消灯して読み取ることにより取得した黒データを前記第２灰淡データから引算することにより前記第２基準部材データを取得する。
【発明の効果】
【００１３】
請求項１に記載の発明態様では、所定受光素子数離れた受光素子の間隔は、レンズアレイの各レンズの間隔であり、判別範囲算出処理は、対象受光素子から所定受光素子数毎に離れた複数の受光素子の判別データを平均した判別データ平均値に第１所定値を加算した値を上限値とし、判別データ平均値に第１所定値を減算した値を下限値とした範囲を対象受光素子の判別範囲として算出し、修正処理は、対象受光素子の判別データが対象受光素子の判別範囲を超えるか否かを判別し、判別データが判別範囲を超えたと判別された受光素子の第２基準部材データを修正する。よって、レンズの間隔毎の画素の判別データを用いて判別範囲を算出しているため、レンズムラによる影響を除外して異物による影響のある画素か否かを判断することができる。
【００１４】
請求項２に記載の具体的態様では、多数の受光素子が１ラインに並ぶ複数のグループに区分けされており、判別範囲算出処理は、各グループの受光素子の配列領域の中央位置から先頭受光素子側の受光素子が対象受光素子として設定されている場合に、対象受光素子から最終受光素子側に所定受光素子数離れた第１隣接受光素子と、第１隣接受光素子から最終受光素子側に所定受光素子数離れた第２隣接受光素子と、第２隣接受光素子から最終受光素子側に所定受光素子数離れた第３隣接受光素子との判別データを平均して判別データ平均値を算出し、中央位置から最終受光素子側の受光素子が対象受光素子として設定されている場合に、対象受光素子から先頭受光素子側に所定受光素子数離れた第４隣接受光素子と、第４隣接受光素子から先頭受光素子側に所定受光素子数離れた第５隣接受光素子と、第５隣接受光素子から先頭受光素子側に所定受光素子数離れた第６隣接受光素子との判別データを平均して判別データ平均値を算出する。よって、同じグループの３つの受光素子の判別データを用いて判別データ平均値を算出しており、例え１つの受光素子の判別データが異常であった場合でも、３つの受光素子の判別データを用いることで精度の高い判別範囲を算出することができる。
【００１７】
請求項３に記載の具体的態様では、基準部材は、白色よりも光の反射率が低い濃度を有し、第１基準部材データ取得処理は、１ライン中の各受光素子において読取部が最大光量で光源を点灯して基準部材を読み取ることにより第１灰淡データを取得し、取得した第１灰淡データから黒データを引算することにより第１基準部材データを取得し、第２基準部材データ取得処理は、１ライン中の各受光素子において読取部が最大光量で光源を点灯して基準部材を読み取ることにより第２灰淡データを取得し、取得した第２灰淡データから黒データを引算することにより第２基準部材データを取得する。よって、基準部材が白色よりも光の反射率が低い濃度を有している場合でも、より白基準データに近い基準部材データを取得することができ、その基準部材データを用いることでより正確な補正データを取得することができる。
【図面の簡単な説明】
【００１８】
【図１】本発明の実施形態に係る画像読取装置１の内部構成を示す正面図である。
【図２】画像読取装置１の読取部２４の構成を拡大して示す図面である。
【図３】読取部２４の受光部３１の構成を示すブロック図である。
【図４】画像読取装置１の電気的構成を示すブロック図である。
【図５】保守メイン処理を示すフローチャートである。
【図６】白異常画素位置ＰＥＤ１取得処理Ｍ７を示すフローチャートである。
【図７】灰異常画素位置ＰＥＤ２取得処理Ｍ１６を示すフローチャートである。
【図８】保守異常画素置換処理Ｍ１７を示すフローチャートである。
【図９】読取メイン処理を示すフローチャートである。
【図１０】灰異常画素位置ＰＥＤ３取得処理Ｒ７を示すフローチャートである。
【図１１】読取異常画素置換処理ＲＡ８を示すフローチャートである。
【図１２】基準データＣＤ算出処理Ｒ８を示すフローチャートである。
【図１３】２５画素目から４０画素目までの判別データＲＴ２および閾値ＴＨ３を説明する図面である。
【発明を実施するための形態】
【００１９】
［実施形態］
以下に、本発明の一実施形態に係る画像読取装置１について図面を参照して説明する。図１において、上下方向および前後方向は矢印により示される。
【００２０】
＜画像読取装置１の機械的構成＞
図１において、画像読取装置１は、給紙トレイ２と、本体部３と、排紙トレイ４とを備える。操作部５、および表示部６が、本体部３の上面に配置される。操作部５は、電源スイッチ、および各種設定ボタンを含み、使用者からの操作指令等を受け付ける。たとえば、操作部５は、読取動作の開始を指示する開始ボタン、解像度を設定する操作ボタンなどを含む。表示部６は、ＬＣＤを含み、画像読取装置１の状況を表示する。
【００２１】
搬送経路２０が、本体部３の内部に形成される。給紙トレイ２に載置された原稿ＧＳは、搬送経路２０に沿って搬送方向ＦＤに搬送され、排紙トレイ４に排出される。給紙ローラ２１と、分離パッド２２と、一対の上流側搬送ローラ２３と、読取部２４と、プラテンガラス２５と、一対の下流側搬送ローラ２６とが、搬送経路２０に沿って配置される。
【００２２】
給紙ローラ２１は、分離パッド２２と協働して、給紙トレイ２に載置された複数枚の原稿ＧＳを、１枚ずつ給送する。上流側搬送ローラ２３、および下流側搬送ローラ２６は、搬送モータＭＴ（図４参照）により駆動される。プラテンガラス２５は、光透過性を有し、搬送経路２０の下側において搬送経路２０に沿って配置される。搬送ローラ２３、２６は、給紙ローラ２１から給送された原稿ＧＳがプラテンガラス２５の上を通過するように原稿ＧＳを搬送する。
【００２３】
本実施形態では、原稿ＧＳの読み取り面が給紙トレイ２の載置面に向くように原稿ＧＳが給紙トレイ２に載置される。読取部２４は、搬送経路２０の下側に配置され、プラテンガラス２５を通過する原稿ＧＳの読み取り面の画像を読み取る。原稿センサ２７が、給紙トレイ２に配置され、給紙トレイ２に原稿ＧＳが載置されたときにオンし、給紙トレイ２に原稿ＧＳが載置されていないときにオフするように構成される。
【００２４】
（読取部２４の詳細な構成）
読取部２４の詳細な構成について図２および図３を参照して説明する。図２において、読取部２４は、光源３０と、受光部３１と、ロッドレンズアレイ３２とを備える。光源３０は、赤色、緑色および青色の３色の発光ダイオードを含む。光源３０から出射された光が原稿ＧＳの読み取り面などにより反射されたときに、ロッドレンズアレイ３２は、反射光を受光部３１に結像する。本実施形態において、カラーモードが選択されたとき、３色の発光ダイオードが順次点灯することにより１ラインの原稿ＧＳの画像が読み取られる。また、モノモードが選択されたとき、３色のうちの特定の１色、たとえば緑色の発光ダイオードが点灯することにより１ラインの原稿ＧＳの画像が読み取られる。読取部２４は、Ａ４幅である２１０ｍｍ（ミリメートル）を３００ＤＰＩの解像度で読み取ることができるように構成される。
【００２５】
灰色基準板３４が、読取部２４と搬送経路２０を介して対向する位置に、配置される。灰色基準板３４は、原稿ＧＳの背景色である白色より低い反射率を有する。搬送経路２０に原稿ＧＳが存在しない場合、光源３０からの出射光は、灰色基準板３４により反射され、その反射光はロッドレンズアレイ３２を介して受光部３１により受光される。ロッドレンズアレイ３２は、主走査方向ＭＤに並ぶ複数のロッドレンズを含む。各ロッドレンズの間隔は、０．４ｍｍである。本実施形態における灰色基準板３４が有する灰色の濃度は、黒色の濃度に近く、後述するような光源３０を最大光量で点灯したときでも、白色による反射濃度よりも低い反射濃度となる濃度である。
【００２６】
図３において、受光部３１は、主走査方向ＭＤに直線状に配列される１２個のセンサＩＣチップＣＨ１〜ＣＨ１２（以下、チップＣＨ１〜ＣＨ１２という）を有し、各チップＣＨ１〜ＣＨ１２は、主走査方向ＭＤに配列される多数の光電変換素子３３を含み、図示しないシフトレジスタ、および増幅器を内蔵する。各光電変換素子３３の受光量が電荷として蓄積され、その電荷が各画素のアナログ信号として出力される。先頭画素は、主走査方向ＭＤの最上流の位置にあるチップＣＨ１内のチップと隣接していない側の端部にある画素であり、最終画素は、主走査方向ＭＤの最下流の位置にあるチップＣＨ１２内のチップと隣接していない側の端部にある画素である。各チップＣＨ１〜ＣＨ１２は、２１６個の光電変換素子３３を含むため、光電変換素子３３の総数は２５９２個である。画素番号ＰＮは、先頭画素が１であり、最終画素が２５９２である。本実施形態では、各チップＣＨ１〜ＣＨ１２は、チップ内の画素の出力特性は同じであるが、チップ毎に画素の出力特性が異なっている。１ラインは、この先頭画素から最終画素で構成される画素群である。
【００２７】
＜画像読取装置１の電気的構成＞
画像読取装置１の電気的構成について図４を参照して説明する。図４において、画像読取装置１は、ＣＰＵ４０、ＲＯＭ４１、ＲＡＭ４２、フラッシュＰＲＯＭ４３、デバイス制御部４４、アナログフロントエンド（以下、ＡＦＥという）４５、画像処理部４６、および駆動回路４７を主な構成要素として備える。これらの構成要素は、バス４８を介して、操作部５、表示部６、および原稿センサ２７に接続される。
【００２８】
ＲＯＭ４１は、後述する保守メイン処理、読取メイン処理、各メイン処理中のサブルーチンの処理など、画像読取装置１の各種動作を実行するためのプログラムを記憶する。ＣＰＵ４０は、ＲＯＭ４１から読み出されたプログラムに従って、各部の制御を行う。フラッシュＰＲＯＭ４３は、読み書き可能な不揮発性メモリであり、ＣＰＵ４０の制御処理により生成された各種のデータ、たとえば保守メイン処理により算出された各データなどを記憶する。ＲＡＭ４２は、ＣＰＵ４０の制御処理により生成された算出結果などを一時的に記憶する。
【００２９】
デバイス制御部４４は、読取部２４に接続され、ＣＰＵ４０からの命令に基いて、光源３０の点灯または消灯を制御する信号、および、光源３０に流れる電流値を制御する信号を光源３０に送信する。また、デバイス制御部４４は、図３に示すように、ＣＰＵ４０からの命令に基いて、受光部３１の各チップＣＨ１〜ＣＨ１２の多数の光電変換素子３３の電気信号を同時にシフトレジスタに転送するためのシリアルイン信号ＳＩおよびシフトレジスタの電気信号を順番に出力させるためのクロック信号ＣＬＫを受光部３１に送信する。読取部２４は、デバイス制御部４４からこれらの制御信号を受け取ると、光源３０を点灯させるとともに、受光部３１が受光した受光量に応じたアナログ信号をＡＦＥ４５に送信する。ここで、光源３０が照射する最大光量は、予め定められた最大電流値と、シリアルイン信号ＳＩの間隔における光源３０が点灯可能な最大期間とから決定される光量である。
【００３０】
ＡＦＥ４５は、読取部２４に接続され、ＣＰＵ４０からの命令に基づいて、読取部２４から送信されるアナログ信号をデジタルデータに変換する。ＡＦＥ４５は、予め定められた入力レンジおよび分解能を有する。たとえば、分解能は、１０ビットであるならば「０」から「１０２３」の階調である。この場合、ＡＦＥ４５は、読取部２４から送信されたアナログ信号をデジタルデータとして１０ビット（０〜１０２３）の階調データに変換する。ＡＦＥ４５によって変換されたデジタルデータは、画像処理部４６に送信される。ＡＦＥ４５には、読取部２４から送信されるアナログ信号をオフセット調整するオフセット調整値と、オフセットされたアナログ信号を利得調整するゲイン調整値とが設定される。ＡＦＥ４５は、オフセット調整およびゲイン調整されたアナログ信号をデジタルデータに変換する。
【００３１】
画像処理部４６は、画像処理用の専用ＩＣであるＡＳＩＣから構成され、デジタルデータに各種の画像処理を施す。画像処理は、シェーディング補正、およびガンマ補正などの各種の補正処理などである。画像処理部４６は、各種の画像処理を施さないように設定することもできるし、全ての画像処理を施すように設定することもできる。画像処理部４６は、設定された画像処理をデジタルデータに施し、デジタル画像データを生成する。そのデジタル画像データは、バス４８を介してＲＡＭ４２に記憶される。ここで、シェーディング補正は、白補正及び黒補正などである。画像処理部４６には、黒補正のために黒補正データが設定され、白補正のために白補正データが設定される。例えば、画像処理部４６にガンマ補正を施さず、シェーディング補正を施すように設定された場合、画像処理部４６は、設定された黒補正データに従ってデジタルデータに黒補正を施し、設定された白補正データに従って黒補正したデジタルデータに白補正を施すことでデジタル画像データを生成する。
【００３２】
駆動回路４７は、搬送モータＭＴに接続され、ＣＰＵ４０から送信される駆動指令に基づいて搬送モータＭＴを駆動する。駆動回路４７は、駆動指令により指令された回転量および回転方向に従って搬送モータＭＴを回転させる。搬送モータＭＴが所定量だけ回転すると、搬送ローラ２３、２６が所定角度回転し、搬送経路２０において原稿ＧＳが所定距離だけ搬送される。
【００３３】
＜実施形態の動作＞
次に、画像読取装置１の動作について図面を参照して説明する。画像読取装置１は、原稿ＧＳの読み取り前に実行される保守メイン処理と、原稿ＧＳを読み取る読取メイン処理とを主に実行する。保守メイン処理中のＭ１〜Ｍ１９の処理、読取メイン処理中のＲ１〜Ｒ９の処理、および各サブルーチンの処理は、ＣＰＵ４０が実行する処理である。本実施形態において、ＣＰＵ４０が１ラインの各画素について実行するデータ処理は、カラーモードにおいて３色の各画素について実行する処理であり、モノモードにおいて特定の１色の各画素について実行する処理である。本実施形態では、カラーモードについて説明する。
【００３４】
（保守メイン処理）
図５に示す保守メイン処理は、画像読取装置１が工場から出荷される前に、または出荷後にサービスマンが保守点検するときに、サービスマン等の作業者が画像読取装置１の操作部５を特別な操作方法に従って操作することにより開始される。
【００３５】
まず、作業者が白基準となる特別な白基準原稿ＷＧＳを給紙トレイ２に載置すると、原稿センサ２７が白基準原稿ＷＧＳを検知する。ＣＰＵ４０は、原稿センサ２７からの検知信号に従って、白基準原稿ＷＧＳがあるか否かを判断する（Ｍ１）。具体的には、ＣＰＵ４０は、原稿センサ２７がオンのときに白基準原稿ＷＧＳがあると判断（Ｍ１：Ｙｅｓ）し、処理Ｍ２に進む。ＣＰＵ４０は、原稿センサ２７がオフのときに白基準原稿ＷＧＳがないと判断（Ｍ１：Ｎｏ）し、処理Ｍ９に進む。処理Ｍ９に進むと、ＣＰＵ４０は、原稿ＧＳの載置状態が誤っていることを報知するエラーメッセージを表示部６に表示させ（Ｍ９）、保守メイン処理が終了する。
【００３６】
ＣＰＵ４０は、駆動回路４７により白基準原稿ＷＧＳをプラテンガラス２５まで給送させ、デバイス制御部４４、ＡＦＥ４５、および画像処理部４６を初期化する（Ｍ２）。具体的には、ＣＰＵ４０は、駆動回路４７に駆動指令を送信し、給紙トレイ２に載置された白基準原稿ＷＧＳをプラテンガラス２５まで給送させる。さらに、ＣＰＵ４０は、３００ＤＰＩの読取解像度に対応するクロック信号ＣＬＫおよびシリアルイン信号ＳＩの設定をフラッシュＰＲＯＭ４３から取得し、デバイス制御部４４に設定する。ＣＰＵ４０は、カラーモード時に対応する光源３０への信号の設定をフラッシュＰＲＯＭ４３から取得し、デバイス制御部４４に設定する。ＣＰＵ４０は、ＡＦＥ４５のオフセット調整値およびゲイン調整値をフラッシュＰＲＯＭ４３から取得し、ＡＦＥ４５に設定する。ＣＰＵ４０は、各種の画像処理を施さないように画像処理部４６に設定する。
【００３７】
ＣＰＵ４０は、光源３０の光量を調整する（Ｍ３）。具体的には、ＣＰＵ４０は、白基準原稿ＷＧＳに向けて、光源３０から光を照射させ、その反射光を読み取った時のアナログ信号がＡＦＥ４５の入力レンジの最大となるように、各色の光量ＳＴを調整する。光量ＳＴは、光源３０の１ライン中の各色における点灯時間および電流値にて決定される。ここで、各色は、カラーモードで用いられる赤色、青色、および緑色の各色である。
【００３８】
ＣＰＵ４０は、白データＷＨを取得する（Ｍ４）。具体的には、ＣＰＵ４０は、光源３０を各色の光量ＳＴで点灯させ、読取部２４により白基準原稿ＷＧＳを読み取る。そして、ＣＰＵ４０は、読み取った１ラインの各色の各画素のデジタル画像データを白データＷＨとして取得する。
【００３９】
ＣＰＵ４０は、黒データＢＫ１を取得する（Ｍ５）。具体的には、ＣＰＵ４０は、光源３０を消灯させ、読取部２４により白基準原稿ＷＧＳを読み取る。そして、読み取った１ラインの１色の各画素のデジタル画像データを黒データＢＫ１として取得する。ここで、１色は光源を消灯したときの暗色の１色である。
【００４０】
ＣＰＵ４０は、白黒差分データＷＢｄｉｆを算出する（Ｍ６）。具体的には、ＣＰＵ４０は、１ラインの各色の各画素において白データＷＨから黒データＢＫ１を引算し、１ラインの各色の各画素の白黒差分データＷＢｄｉｆとしてＲＡＭ４２に記憶する。
【００４１】
ＣＰＵ４０は、白異常画素位置ＰＥＤ１を取得する（Ｍ７）。詳細は、白異常画素位置ＰＥＤ１取得処理（Ｍ７）として後述する。ＣＰＵ４０は、先頭画素から最終画素まで順に対象画素ＴＰＸを設定する。ＣＰＵ４０は、対象画素ＴＰＸから５画素、１０画素、１５画素離れた位置にある３つの画素の白黒差分データＷＢｄｉｆを平均して白平均値ＷＡＶを算出する。ＣＰＵ４０は、白平均値ＷＡＶに白加算値を加算した値を上限値とし、白平均値ＷＡＶから白減算値を減算した値を下限値とする範囲を対象画素ＴＰＸの閾値ＴＨ１として算出する。ＣＰＵ４０は、対象画素ＴＰＸの白黒差分データＷＢｄｉｆが閾値ＴＨ１の範囲内か否かを判断することにより、対象画素ＴＰＸの白黒差分データＷＢｄｉｆが異常であるか否かを判断する。ＣＰＵ４０は、対象画素ＴＰＸの白黒差分データＷＢｄｉｆが異常であると判断すると、その異常であると判断した対象画素ＴＰＸの画素番号ＰＮを白異常画素位置ＰＥＤ１としてフラッシュＰＲＯＭ４３に記憶する。ＣＰＵ４０は、対象画素ＴＰＸが最終画素となるまでこれらの処理を繰り返す。ここで、白加算値および白減算値は同じ値であり、白平均値ＷＡＶの４％の値である。本実施形態では、対象画素ＴＰＸから５画素間隔で３つの画素を用いて白平均値ＷＡＶを算出したが、ロッドレンズアレイ３２の各レンズの間隔である０．４ｍｍに含まれる受光素子の数が４．７２画素であるため、５画素間隔の画素を用いて算出した。処理Ｍ１６、処理ＭＡ３、処理ＭＡ４、処理ＭＢ３、処理ＭＢ４、処理Ｒ７、処理ＲＡ４、および処理ＲＡ５も同様の理由で５画素間隔としている。
【００４２】
処理Ｍ７が終了すると、ＣＰＵ４０は、操作部５に配置されるセットキーが押下されるまで、画像読取装置１を待機状態にさせる（Ｍ８）。作業者が白基準原稿ＷＧＳを取り除き、セットキーが押下されると、ＣＰＵ４０は、原稿センサ２７がオフとなっているか否かを判断する。ＣＰＵ４０は、原稿センサ２７がオフであるときに白基準原稿ＷＧＳがないと判断（Ｍ８：Ｙｅｓ）し、処理Ｍ１０に進む。ＣＰＵ４０は、原稿センサ２７がオンであるときに白基準原稿ＷＧＳがあると判断（Ｍ８：Ｎｏ）し、処理Ｍ９に進む。処理Ｍ９に進むと、ＣＰＵ４０は、原稿ＧＳの載置状態が誤っていることを報知するエラーメッセージを表示部６に表示させ（Ｍ９）、保守メイン処理が終了する。
【００４３】
ＣＰＵ４０は、灰データＧＲ１を取得する（Ｍ１０）。具体的には、ＣＰＵ４０は、各色の光量ＳＴで灰色基準板３４を照射させ、読取部２４により読み取った１ラインの各色の各画素のデジタル画像データを灰データＧＲ１として取得する。
【００４４】
ＣＰＵ４０は、灰データ最大値ＧＲｍａｘを取得する（Ｍ１１）。ＣＰＵ４０は、処理Ｍ１０で取得した１ラインの各色の各画素の灰データＧＲ１のうちで、各色において灰データＧＲ１の最大値を灰データ最大値ＧＲｍａｘとして取得する。ＣＰＵ４０は、各色の灰データ最大値ＧＲｍａｘを各色に関連付けてフラッシュＰＲＯＭ４３に記憶する。
【００４５】
ＣＰＵ４０は、光源３０を各色の最大光量で点灯させる（Ｍ１２）。具体的には、ＣＰＵ４０は、各色に対して予め定められている最大電流値と、３００ＤＰＩの読取解像度のときの最大点灯期間とで光源３０を点灯する。
【００４６】
ＣＰＵ４０は、灰淡データＬＧＲ１を取得する（Ｍ１３）。具体的には、ＣＰＵ４０は、光源３０を各色の最大光量で点灯させた状態で、灰色基準板３４を照射し、読取部２４により読み取った１ラインの各色の各画素のデジタル画像データを灰淡データＬＧＲ１として取得する。
【００４７】
ＣＰＵ４０は、灰淡黒差分データＬＧＢｄｉｆ１を算出する（Ｍ１４）。具体的には、ＣＰＵ４０は、１ラインの各色の各画素において灰淡データＬＧＲ１から黒データＢＫ１を引算し、１ラインの各色の各画素の灰淡黒差分データＬＧＢｄｉｆ１を算出する。
【００４８】
ＣＰＵ４０は、判別データＲＴ１を算出する（Ｍ１５）。具体的には、ＣＰＵ４０は、１ラインの各色の各画素において灰淡黒差分データＬＧＢｄｉｆ１を白黒差分データＷＢｄｉｆで割算し、１ラインの各色の各画素の判別データＲＴ１を算出する。
【００４９】
ＣＰＵ４０は、灰異常画素位置ＰＥＤ２を取得する（Ｍ１６）。詳細は、灰異常画素位置ＰＥＤ２取得処理（Ｍ１６）として後述する。ＣＰＵ４０は、先頭画素から最終画素まで順に対象画素ＴＰＸを設定する。ＣＰＵ４０は、対象画素ＴＰＸから５画素、１０画素、１５画素離れた位置にある３つの画素の判別データＲＴ１を平均して灰平均値ＧＡＶ１を算出する。ＣＰＵ４０は、灰平均値ＧＡＶ１に保守加算値を加算した値を上限値とし、灰平均値ＧＡＶ１から保守減算値を減算した値を下限値とする範囲を対象画素ＴＰＸの閾値ＴＨ２として算出する。ＣＰＵ４０は、対象画素ＴＰＸの判別データＲＴ１が閾値ＴＨ２の範囲内であるか否かを判断することにより、対象画素ＴＰＸの判別データＲＴ１が異常であるか否かを判断する。ＣＰＵ４０は、対象画素ＴＰＸの判別データＲＴ１が異常であると判断すると、その異常であると判断した対象画素ＴＰＸの画素番号ＰＮを灰異常画素位置ＰＥＤ２としてフラッシュＰＲＯＭ４３に記憶する。ＣＰＵ４０は、対象画素ＴＰＸが最終画素となるまでこれらの処理を繰り返す。ここで、保守加算値および保守減算値は同じ値であり、灰平均値ＧＡＶ１の４％である。
【００５０】
ＣＰＵ４０は、白異常画素位置ＰＥＤ１の画素の白黒差分データＷＢｄｉｆを他のデータに置き換え、灰異常画素位置ＰＥＤ２の画素の灰淡黒差分データＬＧＢｄｉｆ１を他のデータに置き換える（Ｍ１７）。詳細は、保守異常画素置換処理（Ｍ１７）として後述する。ＣＰＵ４０は、全ての画素が正常であるか否かを判断し、正常であれば、保守異常画素置換処理（Ｍ１７）を終了する。ＣＰＵ４０は、正常でなければ、１ラインの各色の各画素において白黒差分データＷＢｄｉｆと灰淡黒差分データＬＧＢｄｉｆ１との差分値を算出し、各色において１ラインの全ての画素の差分値を平均することにより、白灰淡差分平均値ＷＬＧｄｉｆ１を算出する。ＣＰＵ４０は、白異常画素位置ＰＥＤ１および灰異常画素位置ＰＥＤ２の画素を対象異常画素ＴＡＰＸとして順に設定する。ＣＰＵ４０は、対象異常画素ＴＡＰＸの画素番号ＰＮが白異常画素位置ＰＥＤ１および灰異常画素位置ＰＥＤ２として両方に記憶されているか否かを判断する。ＣＰＵ４０は、両方に記憶されている場合は、対象異常画素ＴＡＰＸの白黒差分データＷＢｄｉｆを周辺画素の白黒差分データＷＢｄｉｆに置き換え、対象異常画素ＴＡＰＸの灰淡黒差分データＬＧＢｄｉｆ１を周辺画素の灰淡黒差分データＬＧＢｄｉｆ１に置き換える。ＣＰＵ４０は、どちらか一方にのみ記憶されている場合は、対象異常画素ＴＡＰＸの画素番号ＰＮが灰異常画素位置ＰＥＤ２として記憶されているか否かを判断する。ＣＰＵ４０は、灰異常画素位置ＰＥＤ２として記憶されている場合は、対象異常画素ＴＡＰＸの白黒差分データＷＢｄｉｆから白灰淡差分平均値ＷＬＧｄｉｆ１を引算した値に対象異常画素ＴＡＰＸの灰淡黒差分データＬＧＢｄｉｆ１を置き換える。ＣＰＵ４０は、灰異常画素位置ＰＥＤ２として記憶されていない場合は、対象異常画素ＴＡＰＸの灰淡黒差分データＬＧＢｄｉｆ１に白灰淡差分平均値ＷＬＧｄｉｆ１を加算した値に対象異常画素ＴＡＰＸの白黒差分データＷＢｄｉｆを置き換える。ＣＰＵ４０は、全ての白異常画素位置ＰＥＤ１および灰異常画素位置ＰＥＤ２の画素に対してこれらの処理を繰り返す。
【００５１】
ＣＰＵ４０は、灰淡黒差分平均値ＬＧＢｄｉｆａｖｅ１を算出する（Ｍ１８）。具体的には、ＣＰＵ４０は、各色において１ラインの全ての画素の灰淡黒差分データＬＧＢｄｉｆ１を平均し、灰淡黒差分平均値ＬＧＢｄｉｆａｖｅ１としてフラッシュＰＲＯＭ４３に記憶する。
【００５２】
ＣＰＵ４０は、処理Ｍ１７で置き換えた１ラインの各色の各画素の灰淡黒差分データＬＧＢｄｉｆ１および白黒差分データＷＢｄｉｆをフラッシュＰＲＯＭ４３に記憶する（Ｍ１９）。処理Ｍ１９が終了すると、保守メイン処理が終了する。
【００５３】
（白異常画素位置ＰＥＤ１取得処理Ｍ７）
図６に示す白異常画素位置ＰＥＤ１取得処理（Ｍ７）が開始されると、ＣＰＵ４０は、対象画素ＴＰＸを設定する（ＭＡ１）。具体的には、ＣＰＵ４０は、対象画素ＴＰＸが既に設定されていれば、設定されている対象画素ＴＰＸの次の画素を新たな対象画素ＴＰＸとして設定し、対象画素ＴＰＸが設定されていなければ、先頭画素を対象画素ＴＰＸとして設定する。ＣＰＵ４０は、対象画素ＴＰＸが設定されてからの設定画素数を計数することにより対象画素ＴＰＸの画素番号ＰＮを取得し、ＲＡＭ４２に記憶する。
【００５４】
ＣＰＵ４０は、対象画素ＴＰＸがチップＣＨ内の先頭側画素か、又は最終側画素かのどちらであるかを判断する（ＭＡ２）。具体的には、ＣＰＵ４０は、対象画素ＴＰＸの画素番号ＰＮをチップＣＨが有する画素数である２１６で割算したときの余が１０８以下であるときに対象画素ＴＰＸがチップＣＨ内の先頭側画素であると判断（ＭＡ２：先頭側画素）し、処理ＭＡ３に進む。ＣＰＵ４０は、対象画素ＴＰＸの画素番号ＰＮを２１６で割算したときの余が１０８より大きいときに対象画素ＴＰＸがチップＣＨ内の最終側画素であると判断（ＭＡ２：最終側画素）し、処理ＭＡ４に進む。
【００５５】
ＣＰＵ４０は、先頭側画素における閾値ＴＨ１を算出する（ＭＡ３）。具体的には、ＣＰＵ４０は、対象画素ＴＰＸから最終画素側へ５画素、１０画素、１５画素離れた位置にある３つの画素の白黒差分データＷＢｄｉｆを平均して白平均値ＷＡＶを算出する。ＣＰＵ４０は、白平均値ＷＡＶに白加算値を加算した値を上限値とし、白平均値ＷＡＶから白減算値を減算した値を下限値とする範囲を対象画素ＴＰＸの閾値ＴＨ１として算出する。処理ＭＡ３が終了すると、処理ＭＡ５に進む。ここで、白加算値および白減算値は同じ値であり、白平均値ＷＡＶの４％である。白平均値ＷＡＶの４％は、白黒差分データＷＢｄｉｆが不規則に変動する数値である。
【００５６】
ＣＰＵ４０は、最終側画素における閾値ＴＨ１を算出する（ＭＡ４）。具体的には、ＣＰＵ４０は、対象画素ＴＰＸから先頭画素側へ５画素、１０画素、１５画素離れた位置にある３つの画素の白黒差分データＷＢｄｉｆを平均して白平均値ＷＡＶを算出する。ＣＰＵ４０は、白平均値ＷＡＶに白加算値を加算した値を上限値とし、白平均値ＷＡＶから白減算値を減算した値を下限値とする範囲を対象画素ＴＰＸの閾値ＴＨ１として算出する。ここで、白加算値および白減算値は同じ値であり、白平均値ＷＡＶの４％である。
【００５７】
ＣＰＵ４０は、対象画素ＴＰＸの白黒差分データＷＢｄｉｆが異常であるか否かを判断する（ＭＡ５）。具体的には、ＣＰＵ４０は、対象画素ＴＰＸの白黒差分データＷＢｄｉｆが処理ＭＡ３又は処理ＭＡ４で算出した閾値ＴＨ１の範囲内であるか否かを判断する。ＣＰＵ４０は、閾値ＴＨ１の範囲内であるときに白黒差分データＷＢｄｉｆが異常でないと判断（ＭＡ５：Ｎｏ）し、処理ＭＡ７に進む。ＣＰＵ４０は、閾値ＴＨ１の範囲内でないときに白黒差分データＷＢｄｉｆが異常であると判断（ＭＡ５：Ｙｅｓ）し、処理ＭＡ６に進む。
【００５８】
ＣＰＵ４０は、対象画素ＴＰＸの画素番号ＰＮを白異常画素位置ＰＥＤ１としてフラッシュＰＲＯＭ４３に記憶する（ＭＡ６）。
【００５９】
ＣＰＵ４０は、対象画素ＴＰＸが最終画素であるか否かを判断する（ＭＡ７）。具体的には、ＣＰＵ４０は、対象画素ＴＰＸの画素番号ＰＮが最終画素の画素番号ＰＮである２５９２であるか否かを判断する。ＣＰＵ４０は、２５９２でないときに対象画素ＴＰＸが最終画素でないと判断（ＭＡ７：Ｎｏ）し、処理ＭＡ１に進む。ＣＰＵ４０は、２５９２であるときに対象画素ＴＰＸが最終画素であると判断（ＭＡ７：Ｙｅｓ）し、対象画素ＴＰＸの設定を消去し、白異常画素位置ＰＥＤ１取得処理（Ｍ７）を終了する。
【００６０】
（灰異常画素位置ＰＥＤ２取得処理Ｍ１６）
図７に示す灰異常画素位置ＰＥＤ２取得処理（Ｍ１６）が開始されると、ＣＰＵ４０は、処理ＭＡ１と同様に、対象画素ＴＰＸを設定する（ＭＢ１）。
【００６１】
ＣＰＵ４０は、処理ＭＡ２と同様に、対象画素ＴＰＸがチップＣＨ内の先頭側画素か、又は最終側画素かのどちらであるかを判断する（ＭＢ２）。ＣＰＵ４０は、対象画素ＴＰＸがチップＣＨ内の先頭側画素であると判断（ＭＢ２：先頭側画素）すると、処理ＭＢ３に進む。ＣＰＵ４０は、対象画素ＴＰＸがチップＣＨ内の最終側画素である判断（ＭＢ２：最終側画素）すると、処理ＭＢ４に進む。
【００６２】
ＣＰＵ４０は、先頭側画素における閾値ＴＨ２を算出する（ＭＢ３）。具体的には、ＣＰＵ４０は、対象画素ＴＰＸから最終画素側へ５画素、１０画素、１５画素離れた位置にある３つの画素の判別データＲＴ１を平均して灰平均値ＧＡＶ１を算出する。ＣＰＵ４０は、灰平均値ＧＡＶ１に保守加算値を加算した値を上限値とし、灰平均値ＧＡＶ１から保守減算値を減算した値を下限値とする範囲を対象画素ＴＰＸの閾値ＴＨ２として算出する。処理ＭＢ３が終了すると、処理ＭＢ５へ進む。ここで、保守加算値および保守減算値は同じ値であり、灰平均値ＧＡＶ１の４％である。灰平均値ＧＡＶ１の４％は、判別データＲＴ１が不規則に変動する数値である。
【００６３】
ＣＰＵ４０は、最終側画素における閾値ＴＨ２を算出する（ＭＢ４）。具体的には、ＣＰＵ４０は、対象画素ＴＰＸから先頭画素側へ５画素、１０画素、１５画素離れた位置にある３つの画素の判別データＲＴ１を平均して灰平均値ＧＡＶ１を算出する。ＣＰＵ４０は、灰平均値ＧＡＶ１に保守加算値を加算した値を上限値とし、灰平均値ＧＡＶ１に保守減算値を減算した値を下限値とする範囲を対象画素ＴＰＸの閾値ＴＨ２として算出する。ここで、保守加算値および保守減算値は同じ値であり、灰平均値ＧＡＶ１の４％である。
【００６４】
ＣＰＵ４０は、処理ＭＡ５と同様に、対象画素ＴＰＸの判別データＲＴ１が異常であるか否かを判断する（ＭＢ５）。ＣＰＵ４０は、判別データＲＴ１が閾値ＴＨ２の範囲内であるときに判別データＲＴ１が異常でないと判断（ＭＢ５：Ｎｏ）し、処理ＭＢ７に進む。ＣＰＵ４０は、判別データＲＴ１が閾値ＴＨ２の範囲内でないときに判別データＲＴ１が異常であると判断（ＭＢ５：Ｙｅｓ）し、処理ＭＢ６に進む。
【００６５】
ＣＰＵ４０は、対象画素ＴＰＸの画素番号ＰＮを灰異常画素位置ＰＥＤ２としてフラッシュＰＲＯＭ４３に記憶する（ＭＢ６）。
【００６６】
ＣＰＵ４０は、処理ＭＡ７と同様に、対象画素ＴＰＸが最終画素であるか否かを判断する（ＭＢ７）。ＣＰＵ４０は、対象画素ＴＰＸが最終画素でないと判断（ＭＢ７：Ｎｏ）すると、処理ＭＢ１に進む。ＣＰＵ４０は、対象画素ＴＰＸが最終画素であると判断（ＭＢ７：Ｙｅｓ）すると、対象画素ＴＰＸの設定を消去し、灰異常画素位置ＰＥＤ２取得処理（Ｍ１６）を終了する。
【００６７】
（保守異常画素置換処理Ｍ１７）
図８に示す保守異常画素置換処理（Ｍ１７）が開始されると、ＣＰＵ４０は、全ての画素が正常であるか否かを判断する（ＭＣ１）。具体的には、ＣＰＵ４０は、全ての画素の画素番号ＰＮが白異常画素位置ＰＥＤ１、及び灰異常画素位置ＰＥＤ２として記憶されていないときに全ての画素が正常であると判断（ＭＣ１：Ｙｅｓ）し、保守異常画素置換処理（Ｍ１７）を終了する。ＣＰＵ４０は、いずれかの画素の画素番号ＰＮが白異常画素位置ＰＥＤ１、又は灰異常画素位置ＰＥＤ２として記憶されているときに全ての画素が正常でないと判断（ＭＣ１：Ｎｏ）し、処理ＭＣ２に進む。
【００６８】
ＣＰＵ４０は、白灰淡差分平均値ＷＬＧｄｉｆ１を算出する（ＭＣ２）。具体的には、ＣＰＵ４０は、１ライン中の各色の各画素において白黒差分データＷＢｄｉｆから灰淡黒差分データＬＧＢｄｉｆ１を引算して差分値を算出し、各色において１ラインの全ての画素の差分値を平均して各色の白灰淡差分平均値ＷＬＧｄｉｆ１を算出する。
【００６９】
ＣＰＵ４０は、白異常画素位置ＰＥＤ１および灰異常画素位置ＰＥＤ２の画素を対象異常画素ＴＡＰＸとして順に設定する（ＭＣ３）。具体的には、ＣＰＵ４０は、先頭画素から順番に最終画素まで白異常画素位置ＰＥＤ１又は灰異常画素位置ＰＥＤ２に画素番号ＰＮが記憶されているか否かを判断する。ＣＰＵ４０は、記憶されている場合は、記憶されている画素番号ＰＮの画素を対象異常画素ＴＡＰＸとして設定し、記憶されていない場合は、次の画素に対して記憶されているか否かを判断する。
【００７０】
ＣＰＵ４０は、対象異常画素ＴＡＰＸの画素番号ＰＮが白異常画素位置ＰＥＤ１および灰異常画素位置ＰＥＤ２として両方に記憶されているか否かを判断する（ＭＣ４）。ＣＰＵ４０は、対象異常画素ＴＡＰＸの画素番号ＰＮが白異常画素位置ＰＥＤ１および灰異常画素位置ＰＥＤ２として両方に記憶されていると判断（ＭＣ４：Ｙｅｓ）すると、処理ＭＣ５に進む。ＣＰＵ４０は、対象異常画素ＴＡＰＸの画素番号ＰＮが白異常画素位置ＰＥＤ１および灰異常画素位置ＰＥＤ２のどちらか一方にのみ記憶されていると判断（ＭＣ４：Ｎｏ）すると、処理ＭＣ６に進む。
【００７１】
ＣＰＵ４０は、対象異常画素ＴＡＰＸの白黒差分データＷＢｄｉｆを対象異常画素ＴＡＰＸの周辺画素の白黒差分データＷＢｄｉｆに置き換え、対象異常画素ＴＡＰＸの灰淡黒差分データＬＧＢｄｉｆ１を対象異常画素ＴＡＰＸの周辺画素の灰淡黒差分データＬＧＢｄｉｆ１に置き換える（ＭＣ５）。処理ＭＣ５が終了すると、処理ＭＣ９に進む。
【００７２】
処理ＭＣ４でＮｏと判断されると、ＣＰＵ４０は、対象異常画素ＴＡＰＸの画素番号ＰＮが灰異常画素位置ＰＥＤ２として記憶されているか否かを判断する（ＭＣ６）。ＣＰＵ４０は、対象異常画素ＴＡＰＸの画素番号ＰＮが灰異常画素位置ＰＥＤ２として記憶されていると判断（ＭＣ６：Ｙｅｓ）すると、処理ＭＣ７に進む。ＣＰＵ４０は、対象異常画素ＴＡＰＸの画素番号ＰＮが灰異常画素位置ＰＥＤ２として記憶されていないと判断（ＭＣ６：Ｎｏ）すると、処理ＭＣ８に進む。
【００７３】
ＣＰＵ４０は、対象異常画素ＴＡＰＸの白黒差分データＷＢｄｉｆから白灰淡差分平均値ＷＬＧｄｉｆ１を引算した値に対象異常画素ＴＡＰＸの灰淡黒差分データＬＧＢｄｉｆ１を置き換える（ＭＣ７）。具体的には、ＣＰＵ４０は、各色において対象異常画素ＴＡＰＸの白黒差分データＷＢｄｉｆから白灰淡差分平均値ＷＬＧｄｉｆ１を引算し、対象異常画素ＴＡＰＸの灰淡黒差分データＬＧＢｄｉｆ１を引算した値に置き換える。処理ＭＣ７が終了すると、処理ＭＣ９に進む。
【００７４】
処理ＭＣ６でＮｏと判断されると、ＣＰＵ４０は、対象異常画素ＴＡＰＸの灰淡黒差分データＬＧＢｄｉｆ１に白灰淡差分平均値ＷＬＧｄｉｆ１を加算した値に対象異常画素ＴＡＰＸの白黒差分データＷＢｄｉｆを置き換える（ＭＣ８）。具体的には、ＣＰＵ４０は、各色において対象異常画素ＴＡＰＸの灰淡黒差分データＬＧＢｄｉｆ１に白灰淡差分平均値ＷＬＧｄｉｆ１を加算し、対象異常画素ＴＡＰＸの白黒差分データＷＢｄｉｆを加算した値に置き換える。
【００７５】
ＣＰＵ４０は、他の対象異常画素ＴＡＰＸが有るか否かを判断する（ＭＣ９）。具体的には、ＣＰＵ４０は、設定されている対象異常画素ＴＡＰＸから最終画素までの画素の画素番号ＰＮが、白異常画素位置ＰＥＤ１又は灰異常画素位置ＰＥＤ２として記憶されているときに他の対象異常画素ＴＡＰＸが有ると判断（ＭＣ９：Ｙｅｓ）し、処理ＭＣ３に進む。ＣＰＵ４０は、設定されている対象異常画素ＴＡＰＸから最終画素までの画素の画素番号ＰＮが、白異常画素位置ＰＥＤ１又は灰異常画素位置ＰＥＤ２として記憶されていないときに他の対象異常画素ＴＡＰＸがないと判断（ＭＣ９：Ｎｏ）し、保守異常画素置換処理（Ｍ１７）は終了する。
【００７６】
（読取メイン処理）
図９に示す読取メイン処理は、ユーザが原稿ＧＳを給紙トレイ２に載置し、操作部５のカラー読取開始ボタンを押下することにより、開始される。本実施形態の読取メイン処理は、カラーモードが設定されたときについて説明を行う。
【００７７】
ＣＰＵ４０は、デバイス制御部４４、ＡＦＥ４５、および画像処理部４６を初期化する（Ｒ１）。具体的には、ＣＰＵ４０は、３００ＤＰＩの読取解像度に応じたクロック信号ＣＬＫおよびシリアルイン信号ＳＩの設定をフラッシュＰＲＯＭ４３から取得し、デバイス制御部４４に設定する。ＣＰＵ４０は、カラーモード時に対する光源３０への信号の設定をフラッシュＰＲＯＭ４３から取得し、デバイス制御部４４に設定する。ＣＰＵ４０は、ＡＦＥ４５のオフセット調整値およびゲイン調整値をフラッシュＰＲＯＭ４３から取得し、ＡＦＥ４５に設定する。ＣＰＵ４０は、各種画像処理を施さない設定を画像処理部４６に設定する。
【００７８】
ＣＰＵ４０は、光源３０の光量を調整する（Ｒ２）。ＣＰＵ４０は、灰色基準板３４に向けて、光源３０から光を照射させ、その反射光を読み取った時のデジタル画像データの最大値が灰データ最大値ＧＲｍａｘとなるように、各色の光量ＳＴを調整する。
【００７９】
ＣＰＵ４０は、黒データＢＫ２を取得する（Ｒ３）。具体的には、ＣＰＵ４０は、光源３０を消灯させ、読取部２４により灰色基準板３４を読み取る。読み取った１ラインの１色の各画素のデジタル画像データを黒データＢＫ２として取得する。
【００８０】
ＣＰＵ４０は、光源３０を各色の最大光量で点灯する（Ｒ４）。具体的には、ＣＰＵ４０は、各色に対して予め定められている最大電流値と３００ＤＰＩの読取解像度のときの最大点灯期間とで光源３０を点灯する。
【００８１】
ＣＰＵ４０は、灰淡データＬＧＲ２を取得する（Ｒ５）。具体的には、ＣＰＵ４０は、光源３０を各色の最大光量で点灯させた状態で、灰色基準板３４を照射し、読取部２４により読み取った１ラインの各色の各画素のデジタル画像データを灰淡データＬＧＲ２として取得する。
【００８２】
ＣＰＵ４０は、灰淡黒差分データＬＧＢｄｉｆ２を算出する（Ｒ６）。具体的には、ＣＰＵ４０は、１ラインの各色の各画素において灰淡データＬＧＲ２から黒データＢＫ２を引算し、１ラインの各色の各画素の灰淡黒差分データＬＧＢｄｉｆ２を算出する。
【００８３】
ＣＰＵ４０は、灰異常画素位置ＰＥＤ３を取得する（Ｒ７）。詳細は、灰異常画素位置ＰＥＤ３取得処理（Ｒ７）として後述する。ＣＰＵ４０は、判別データＲＴ２を算出する。ＣＰＵ４０は、先頭画素から最終画素まで順に対象画素ＴＰＸを設定する。ＣＰＵ４０は、対象画素ＴＰＸから５画素、１０画素、１５画素離れた位置にある３つの画素の判別データＲＴ２を平均して灰平均値ＧＡＶ２を算出する。ＣＰＵ４０は、灰平均値ＧＡＶ２に読取加算値を加算した値を上限値とし、灰平均値ＧＡＶ２から読取減算値を減算した値を下限値とする範囲を対象画素ＴＰＸの閾値ＴＨ３として算出する。ＣＰＵ４０は、対象画素ＴＰＸの判別データＲＴ２が閾値ＴＨ３の範囲内であるか否かを判断することにより、対象画素ＴＰＸの判別データＲＴ２が異常であるか否かを判断する。ＣＰＵ４０は、対象画素ＴＰＸの判別データＲＴ２が異常であると判断すると、その異常であると判断した対象画素ＴＰＸの画素番号ＰＮを灰異常画素位置ＰＥＤ３としてフラッシュＰＲＯＭ４３に記憶する。ＣＰＵ４０は、灰異常画素位置ＰＥＤ３の灰淡黒差分データＬＧＢｄｉｆ２を他のデータに置き換える。ＣＰＵ４０は、対象画素ＴＰＸが最終画素となるまでこれらの処理を繰り返す。ここで、読取加算値および読取減算値は同じ値であり、絶対値の０．０４である。絶対値の０．０４は、判別データＲＴ２が不規則に変動する数値である。
【００８４】
ＣＰＵ４０は、基準データＣＤを算出する（Ｒ８）。詳細は、基準データＣＤ算出処理（Ｒ８）として後述する。ＣＰＵ４０は、１ラインの各色において灰淡黒差分データＬＧＢｄｉｆ２の全画素の平均値を灰淡黒差分平均値ＬＧＢｄｉｆａｖｅ２として算出する。ＣＰＵ４０は、白黒差分データＷＢｄｉｆと、後述する変動比率ＳＣＲＴと、後述する平均値比率ＡＶＲＴとを掛算して、１ラインの各色の各画素の基準データＣＤを算出する。
【００８５】
ＣＰＵ４０は、読取処理を実行する（Ｒ９）。具体的には、ＣＰＵ４０は、各種画像処理を施す設定値を画像処理部４６に設定する。ＣＰＵ４０は、駆動回路４７に指令を出力し、駆動回路４７により原稿ＧＳを搬送させる。ＣＰＵ４０は、搬送された原稿ＧＳを読み取らせ、処理Ｒ８で算出した基準データＣＤに基づき各色毎にシェーディング補正を実行させ、さらに各種補正処理を実行させ、デジタル画像データを生成させる。読取処理（Ｒ９）が終了すると、読取メイン処理は終了する。
【００８６】
（灰異常画素位置ＰＥＤ３取得処理Ｒ７）
図１０に示す灰異常画素位置ＰＥＤ３取得処理（Ｒ７）が開始されると、ＣＰＵ４０は、判別データＲＴ２を算出する（ＲＡ１）。具体的には、ＣＰＵ４０は、１ラインの各色の各画素において灰淡黒差分データＬＧＢｄｉｆ２を灰淡黒差分データＬＧＢｄｉｆ１で割算し、１ラインの各色の各画素の判別データＲＴ２を算出する。
【００８７】
ＣＰＵ４０は、対象画素ＴＰＸを設定する（ＲＡ２）。具体的には、ＣＰＵ４０は、対象画素ＴＰＸが既に設定されていれば、設定されている対象画素ＴＰＸの次の画素を新たな対象画素ＴＰＸとして設定し、対象画素ＴＰＸが設定されていなければ、先頭画素を対象画素ＴＰＸとして設定する。ＣＰＵ４０は、対象画素ＴＰＸが設定されてからの設定画素数を計数することにより対象画素ＴＰＸの画素番号ＰＮを取得し、ＲＡＭ４２に記憶する。
【００８８】
ＣＰＵ４０は、対象画素ＴＰＸがチップＣＨ内の先頭側画素か、又は最終側画素かのどちらであるかを判断する（ＲＡ３）。具体的には、ＣＰＵ４０は、対象画素ＴＰＸの画素番号ＰＮをチップＣＨが有する画素数である２１６で割算したときの余が１０８以下であるときに対象画素ＴＰＸがチップＣＨ内の先頭側画素であると判断（ＲＡ３：先頭側画素）し、処理ＲＡ４に進む。ＣＰＵ４０は、対象画素ＴＰＸの画素番号ＰＮを２１６で割算したときの余が１０８より大きいときに対象画素ＴＰＸがチップＣＨ内の最終側画素であると判断（ＲＡ３：最終側画素）し、処理ＲＡ５に進む。
【００８９】
ＣＰＵ４０は、先頭側画素における閾値ＴＨ３を算出する（ＲＡ４）。具体的には、ＣＰＵ４０は、対象画素ＴＰＸから最終画素側へ５画素、１０画素、１５画素離れた位置にある３つの画素の判別データＲＴ２を平均して灰平均値ＧＡＶ２を算出する。ＣＰＵ４０は、灰平均値ＧＡＶ２に読取加算値を加算した値を上限値とし、灰平均値ＧＡＶ２から読取減算値を減算した値を下限値とする範囲を対象画素ＴＰＸの閾値ＴＨ３として算出する。処理ＲＡ４が終了すると、処理ＲＡ６に進む。ここで、読取加算値および読取減算値は同じ値であり、絶対値の０．０４である。絶対値の０．０４は、判別データＲＴ２が不規則に変動する数値である。
【００９０】
ＣＰＵ４０は、最終側画素における閾値ＴＨ３を算出する（ＲＡ５）。具体的には、ＣＰＵ４０は、対象画素ＴＰＸから先頭画素側へ５画素、１０画素、１５画素離れた位置にある３つの画素の判別データＲＴ２を平均して灰平均値ＧＡＶ２を算出する。ＣＰＵ４０は、灰平均値ＧＡＶ２に読取加算値を加算した値を上限値とし、灰平均値ＧＡＶ２から読取減算値を減算した値を下限値とする範囲を対象画素ＴＰＸの閾値ＴＨ３として算出する。ここで、読取加算値および読取減算値は同じ値であり、絶対値の０．０４である。
【００９１】
ＣＰＵ４０は、対象画素ＴＰＸの判別データＲＴ２が異常であるか否かを判断する（ＲＡ６）。具体的には、ＣＰＵ４０は、対象画素ＴＰＸの判別データＲＴ２が処理ＲＡ４又は処理ＲＡ５で算出した閾値ＴＨ３の範囲内であるか否かを判断する。ＣＰＵ４０は、閾値ＴＨ３の範囲内であるときに対象画素ＴＰＸの判別データＲＴ２が異常でないと判断（ＲＡ６：Ｎｏ）し、処理ＲＡ９に進む。ＣＰＵ４０は、閾値ＴＨ３の範囲内でないときに対象画素ＴＰＸの判別データＲＴ２が異常であると判断（ＲＡ６：Ｙｅｓ）し、処理ＲＡ７に進む。
【００９２】
ＣＰＵ４０は、対象画素ＴＰＸの画素番号ＰＮを灰異常画素位置ＰＥＤ３としてフラッシュＰＲＯＭ４３に記憶する（ＲＡ７）。
【００９３】
ＣＰＵ４０は、対象画素ＴＰＸの灰淡黒差分データＬＧＢｄｉｆ２を他のデータに置き換える（ＲＡ８）。詳細は、読取異常画素置換処理（ＲＡ８）として後述する。ＣＰＵ４０は、１ラインの各色の各画素において白黒差分データＷＢｄｉｆと灰淡黒差分データＬＧＢｄｉｆ２との差分値を算出し、各色において１ラインの全ての画素の差分値を平均することにより、白灰淡差分平均値ＷＬＧｄｉｆ２を算出する。ＣＰＵ４０は、対象画素ＴＰＸの画素番号ＰＮが白異常画素位置ＰＥＤ１として記憶されているか否かを判断する。ＣＰＵ４０は、記憶されている場合は、対象画素ＴＰＸの灰淡黒差分データＬＧＢｄｉｆ２を周辺画素の灰淡黒差分データＬＧＢｄｉｆ２に置き換える。ＣＰＵ４０は、記憶されていない場合は、対象画素ＴＰＸの白黒差分データＷＢｄｉｆから白灰淡差分平均値ＷＬＧｄｉｆ２を引算した値に対象画素ＴＰＸの灰淡黒差分データＬＧＢｄｉｆ２を置き換える。
【００９４】
ＣＰＵ４０は、対象画素ＴＰＸが最終画素か否かを判断する（ＲＡ９）。具体的には、ＣＰＵ４０は、対象画素ＴＰＸの画素番号ＰＮが最終画素の画素番号ＰＮである２５９２であるか否かを判断する。ＣＰＵ４０は、２５９２でないときに対象画素ＴＰＸが最終画素でないと判断（ＲＡ９：Ｎｏ）し、処理ＲＡ２に進む。ＣＰＵ４０は、２５９２であるときに対象画素ＴＰＸが最終画素であると判断（ＲＡ２：Ｙｅｓ）し、灰異常画素位置ＰＥＤ３取得処理（Ｒ７）を終了する。
【００９５】
（読取異常画素置換処理ＲＡ８）
図１１に示す読取異常画素置換処理（ＲＡ８）が開始されると、ＣＰＵ４０は、白灰淡差分平均値ＷＬＧｄｉｆ２を算出する（ＲＢ１）。具体的には、ＣＰＵ４０は、１ラインの各色の各画素において白黒差分データＷＢｄｉｆから灰淡黒差分データＬＧＢｄｉｆ２を引算して差分値を算出し、各色において１ラインの全ての画素の差分値を平均して各色の白灰淡差分平均値ＷＬＧｄｉｆ２を算出する。
【００９６】
ＣＰＵ４０は、対象画素ＴＰＸの画素番号ＰＮが白異常画素位置ＰＥＤ１として記憶されているか否かを判断する（ＲＢ２）。ＣＰＵ４０は、対象画素ＴＰＸの画素番号ＰＮが白異常画素位置ＰＥＤ１として記憶されていると判断（ＲＢ２：Ｙｅｓ）すると、処理ＲＢ３に進む。ＣＰＵ４０は、対象画素ＴＰＸの画素番号ＰＮが白異常画素位置ＰＥＤ１として記憶されていないと判断（ＲＢ２：Ｎｏ）すると、処理ＲＢ４に進む。
【００９７】
ＣＰＵ４０は、対象画素ＴＰＸの灰淡黒差分データＬＧＢｄｉｆ２を対象画素ＴＰＸの周辺画素の灰淡黒差分データＬＧＢｄｉｆ２に置き換える（ＲＢ３）。処理ＲＢ３が終了すると、読取異常画素置換処理（ＲＡ８）が終了する。
【００９８】
処理ＲＢ２でＮｏと判断されると、ＣＰＵ４０は、対象画素ＴＰＸの白黒差分データＷＢｄｉｆから白灰淡差分平均値ＷＬＧｄｉｆ２を引算した値に対象画素ＴＰＸの灰淡黒差分データＬＧＢｄｉｆ２を置き換える（ＲＢ４）。具体的には、ＣＰＵ４０は、対象画素ＴＰＸの白黒差分データＷＢｄｉｆから白灰淡差分平均値ＷＬＧｄｉｆ２を引算し、対象画素ＴＰＸの灰淡黒差分データＬＧＢｄｉｆ２を引算した値に置き換える。処理ＲＢ４が終了すると、読取異常画素置換処理（ＲＡ８）が終了する。
【００９９】
（基準データＣＤ算出処理Ｒ８）
図１２に示す基準データＣＤ算出処理（Ｒ８）が開始されると、ＣＰＵ４０は、灰淡黒差分平均値ＬＧＢｄｉｆａｖｅ２を算出する（ＲＣ１）。具体的には、ＣＰＵ４０は、各色の１ラインの全ての画素の灰淡黒差分データＬＧＢｄｉｆ２を平均し、灰淡黒差分平均値ＬＧＢｄｉｆａｖｅ２としてフラッシュＰＲＯＭ４３に記憶する。
【０１００】
ＣＰＵ４０は、変動比率ＳＣＲＴを算出する（ＲＣ２）。具体的には、ＣＰＵ４０は、１ラインの各色の各画素において灰淡黒差分データＬＧＢｄｉｆ１を灰淡黒差分データＬＧＢｄｉｆ２で割算し、１ラインの各色の各画素の変動比率ＳＣＲＴを算出する。
【０１０１】
ＣＰＵ４０は、平均値比率ＡＶＲＴを算出する（ＲＣ３）。具体的には、ＣＰＵ４０は、灰淡黒差分平均値ＬＧＢｄｉｆａｖｅ２を灰淡黒差分平均値ＬＧＢｄｉｆａｖｅ１で割算し、平均値比率ＡＶＲＴを算出する。
【０１０２】
ＣＰＵ４０は、基準データＣＤを算出する（ＲＣ４）。具体的には、ＣＰＵ４０は、１ラインの各色の各画素において処理Ｍ１９で記憶した白黒差分データＷＢｄｉｆに変動比率ＳＣＲＴを掛算し、変動比率ＳＣＲＴを掛算して得られた値に平均値比率ＡＶＲＴを掛算して、１ラインの各色の各画素の基準データＣＤを算出する。
【０１０３】
（具体例）
次に図１３を参照して処理Ｒ７における２５画素目から４０画素目までの閾値ＴＨ３の算出過程および判別データＲＴ２の判別結果について説明する。破線で示すのが、判別データＲＴ２である。一点鎖線で示すのが、閾値ＴＨ３の下限値であり、二点鎖線で示すのが、閾値ＴＨ３の上限値である。本実施形態以外の方法では、異常画素の判別は固定の判別値を用いることが考えられる。固定の判別値は、正常値である１．００に所定のマージンを加えた判別値である０．９５および１．０５であり、実線で示す。
【０１０４】
処理ＲＡ１は、２５画素目から５５画素目までの判別データＲＴ２を算出する。図１３では、判別データＲＴ２は、破線で示すように、２５画素目から４０画素目まで順に、０．９９５２、１．００００、１．００８０、１．０１１２、０．９９７３、１．００９３、１．０１１１、１．００４３、０．９７９６、１．０１０９、０．９４５６、０．９６１０、１．００３８、０．９８１５、０．９９４４、１．０１８１である。さらに、判別データＲＴ２は、図示しないが、４１画素目から５５画素目まで順に、１．０１３４、１．０１８７、１．００９９、１．００２０、１．００２７、１．０２５５、１．００５２、１．００８２、１．００２６、１．０１０７、１．００９０、１．００６９、１．０１４９、１．０１７９、１．００９８であり、閾値ＴＨ３を算出するときに用いられる。
【０１０５】
処理ＲＡ２は、１画素ずつ順に対象画素ＴＰＸを設定するが、図１３では、対象画素ＴＰＸが２５画素目から４０画素目まで順に設定されるものとする。処理ＲＡ３は、対象画素ＴＰＸがチップＣＨ内の先頭側画素か、又は最終側画素かのどちらであるかを判断する。処理ＲＡ３は、２５画素目から４０画素目までの画素の画素番号ＰＮを２１６で割算したときの余が１０８以下であるため、２５画素目から４０画素目までの画素を先頭側画素として判断する。
【０１０６】
処理ＲＡ４は、先頭側画素における閾値ＴＨ３を算出する。処理ＲＡ４は、対象画素ＴＰＸが２５画素目の画素である場合に、３０画素目、３５画素目、４０画素目の画素の判別データＲＴ２である１．００９３、０．９４５６、１．０１８１を平均して、灰平均値ＧＡＶ２として０．９９１０を算出する。処理ＲＡ４は、灰平均値ＧＡＶ２に０．０４を加算した１．０３１０を上限値とし、灰平均値ＧＡＶ２に０．０４を減算した０．９５１０を下限値とする範囲を閾値ＴＨ３として算出する。同様に、処理ＲＡ４は、２６画素目から４０画素目までの画素の閾値ＴＨ３を算出する。閾値ＴＨ３の上限値は、二点鎖線で示すように、２６画素目から４０画素目まで順に、１．０３５２、１．０４８９、１．０３０３、１．０４２４、１．０２８８、１．０４００、１．０４９２、１．０３９９、１．０３９７、１．０５０５、１．０５６０、１．０５０３、１．０５１０、１．０４７５、１．０４７７である。閾値ＴＨ３の下限値は、一点鎖線で示すように、２６画素目から４０画素目まで順に、０．９５５２、０．９６８９、０．９５０３、０．９６２４、０．９４８８、０．９６００、０．９６９２、０．９５９９、０．９５９７、０．９７０５、０．９７６０、０．９７０３、０．９７１０、０．９６７５、０．９６７７である。
【０１０７】
処理ＲＡ６は、対象画素ＴＰＸの判別データＲＴ２が異常であるか否かを判断する。処理ＲＡ６は、対象画素ＴＰＸが３５画素目、又は３６画素目の画素である場合に、破線で示す判別データＲＴ２が一点鎖線で示す閾値ＴＨ３の下限値よりも小さいため判別データＲＴ２が異常であると判断し、対象画素ＴＰＸが３５画素目、及び３６画素目の画素でない残りの２５画素目から４０画素目の画素である場合に、破線で示す判別データＲＴ２が一点鎖線、及ぶ二点鎖線で示す閾値ＴＨ３の範囲内であるため判別データＲＴ２が正常であると判断する。よって、固定の判別値では判別範囲の下限値が０．９５であるため、３６画素目の画素は正常と判断されてしまうが、本実施形態では３６画素目の画素の判別データＲＴ２を異常として判断できる。その利点として、灰淡黒差分データＬＧＢｄｉｆ２を精度良く取得することができる。また、対象画素ＴＰＸが３０画素目の画素の場合は、閾値ＴＨ３は、判別データＲＴ２が異常である３５画素目の判別データＲＴ２を用いて算出される。しかし、閾値ＴＨ３は、対象画素ＴＰＸから５画素間隔の３つの画素の判別データＲＴ３を用いて算出されるため、異常である判別データＲＴ２を用いて閾値ＴＨ３を算出してもその影響を軽減することができる。この場合では、対象画素ＴＰＸが３０画素目の画素の場合でも、判別データＲＴ２を正常と判断できた。その利点として、異常な判別データＲＴ２があった場合でも、判別データＲＴ２を誤判別することなく、判別することが可能である。
【０１０８】
＜実施形態の効果＞
本実施形態では、保守メイン処理の処理Ｍ１９は、灰淡黒差分データＬＧＢｄｉｆ１および白黒差分データＷＢｄｉｆをフラッシュＰＲＯＭ４３に記憶する。読取メイン処理の処理Ｒ６は、灰淡データＬＧＲ２から黒データＢＫ２を引算して灰淡黒差分データＬＧＢｄｉｆ２を算出する。読取メイン処理の灰異常画素位置ＰＥＤ３取得処理Ｒ７の処理ＲＡ１は、灰淡黒差分データＬＧＢｄｉｆ２を灰淡黒差分データＬＧＢｄｉｆ１で割算して判別データＲＴ２を算出する。処理ＲＡ４又は処理ＲＡ５は、対象画素ＴＰＸから５画素、１０画素、１５画素離れた画素の判別データＲＴ２を平均して灰平均値ＧＡＶ２を算出し、算出した灰平均値ＧＡＶ２に読取加算値を加算した値を上限値とし、算出した灰平均値ＧＡＶ２から読取減算値を減算した値を下限値とする範囲を対象画素ＴＰＸの閾値ＴＨ３として算出する。処理ＲＡ６は、対象画素ＴＰＸの判別データＲＴ２が閾値ＴＨ３の範囲内であるか否かを判断することで、対象画素ＴＰＸの判別データＲＴ２が異常か否かを判断する。処理ＲＢ３又は処理ＲＢ４は、異常と判断された対象画素ＴＰＸの灰淡黒差分データＬＧＢｄｉｆ２を他のデータに置き換える。処理Ｒ８は、白黒差分データＷＢｄｉｆと、灰淡黒差分データＬＧＢｄｉｆ１と、灰淡黒差分データＬＧＢｄｉｆ２とに基づいて基準データＣＤを算出する。よって、レンズムラの間隔に相当する５画素毎の判別データＲＴ２を用いて閾値ＴＨ３を算出していることから、レンズムラの影響を除外して異物による影響のある画素か否かを判断することができ、精度の高い基準データＣＤを算出することができる。
【０１０９】
本実施形態では、保守メイン処理の処理ＭＡ３又は処理ＭＡ４は、対象画素ＴＰＸから５画素、１０画素、１５画素離れた画素の白黒差分データＷＢｄｉｆを平均して白平均値ＷＡＶを算出し、算出した白平均値ＷＡＶに白加算値を加算した値を上限値とし、算出した白平均値ＷＡＶに白減算値を減算した値を下限値とする範囲を対象画素ＴＰＸの閾値ＴＨ１として算出する。処理ＭＡ５は、対象画素ＴＰＸの白黒差分データＷＢｄｉｆが閾値ＴＨ１の範囲内であるか否かを判断することで、対象画素ＴＰＸの白黒差分データＷＢｄｉｆが異常であるか否かを判断する。処理ＭＡ６は、白黒差分データＷＢｄｉｆが異常である対象画素ＴＰＸの位置を白異常画素位置ＰＥＤ１として記憶する。読取メイン処理の読取異常画素置換処理ＲＡ８の処理ＲＢ２は、判別データＲＴ２が異常である画素の画素番号ＰＮが白異常画素位置ＰＥＤ１として記憶されているか否かを判断し、記憶されている場合は、処理ＲＢ３に進み、記憶されていない場合は、処理ＲＢ４に進む。処理ＲＢ３は、対象画素ＴＰＸの灰淡黒差分データＬＧＢｄｉｆ２を周辺画素の灰淡黒差分データＬＧＢｄｉｆ２に置き換える。処理ＲＢ４は、対象画素ＴＰＸの白黒差分データＷＢｄｉｆから白灰淡差分平均値ＷＬＧｄｉｆ２を引算した値に対象画素ＴＰＸの灰淡黒差分データＬＧＢｄｉｆ２を置き換える。よって、灰淡黒差分データＬＧＢｄｉｆ２が異常と判断された画素の画素番号ＰＮが白異常画素位置ＰＥＤ１として記憶されているときは、対象画素の灰淡黒差分データを周辺画素のデータに置き換え、白異常画素位置ＰＥＤ１として記憶されていないときは、対象画素ＴＰＸの白黒差分データＷＢｄｉｆから白灰淡差分平均値ＷＬＧｄｉｆ２を引算した値に対象画素ＴＰＸの灰淡黒差分データＬＧＢｄｉｆ２を置き換える。これらの置き換えにより、異常と判断された画素の灰淡黒差分データを異常でないときの値に近い灰淡黒差分データＬＧＢｄｉｆ２に置き換えることが可能である。
［実施形態と発明との対応関係］
画像読取装置１、及び灰色基準板３４が、本発明の画像読取装置、及び基準部材の一例である。読取部２４、及びＡＦＥ４５が、本発明の読取部の一例である。画像処理部４６が本発明の補正部の一例である。フラッシュＰＲＯＭ４３、及びＣＰＵ４０が、本発明の記憶部、及び制御部の一例である。処理Ｍ１３、及び処理Ｍ１４が、本発明の第１基準部材データ取得処理の一例である。処理Ｒ５、及び処理Ｒ６が、本発明の第２基準部材データ取得処理の一例である。処理ＲＡ１が、本発明の判別データ算出処理の一例である。処理ＲＡ２、及び処理ＲＡ９が、本発明の設定処理の一例である。処理ＲＣ２、処理ＲＣ３、及び処理ＲＣ４が、本発明の補正データ生成処理の一例である。処理ＲＡ４、又は処理ＲＡ５が、本発明の判別範囲算出処理の一例である。処理ＲＡ６、処理ＲＢ３、及び処理ＲＢ４が、本発明の修正処理の一例である。
【０１１０】
処理Ｍ４、及び処理Ｍ６が、本発明の白基準データ取得処理の一例である。処理ＭＡ１、及び処理ＭＡ７が、本発明の準備設定処理の一例である。処理ＭＡ３、又は処理ＭＡ４が、本発明の白判別範囲算出処理の一例である。処理ＭＡ５、及び処理ＭＡ６が、本発明の白判別処理の一例である。処理ＲＢ１が、本発明の白差分平均処理の一例である。
【０１１１】
［変形例］
本発明は、本実施形態に限定されることなく、その趣旨を逸脱しない範囲において種々の変形が可能である。以下にその変形の一例を述べる。
【０１１２】
（１）本実施形態の画像読取装置１は、プリンタ部を備えた複合機に適用されても良い。また、本実施形態では、１つの読取部２４と、１つの灰色基準板３４とが備えられる構成であるが、原稿ＧＳの両面を読み取るために、２つの読取部と、２つの灰色基準板とが備えられる構成でもよい。
【０１１３】
（２）本実施形態では、図５に示す保守メイン処理、及び図９に示す読取メイン処理の全てがＣＰＵ４０によって実行される構成であるが、この構成に限定されない。例えば、保守メイン処理の処理Ｍ３〜処理Ｍ７、処理Ｍ１０〜処理Ｍ１９の一部、及び読取メイン処理のＲ２〜処理Ｒ８の一部が画像処理部４６、デバイス制御部４４、又はＡＦＥ４５により実行されても良い。また、保守メイン処理が、画像読取装置１から独立した外部装置、たとえばコンピュータなどで実行される構成でも良い。
【０１１４】
（３）本実施形態では、灰色基準板３４に代えて、白色基準板、又は黒色基準板が備えられる構成でも良い。特に白基準板の場合は、基準データＣＤを生成するときに白黒差分データＷＢｄｉｆと、変動比率ＳＣＲＴと、平均値比率ＡＶＲＴとを掛算して生成したが、灰淡黒差分データＬＧＢｄｉｆ２を基準データＣＤとして用いても良い。
【０１１５】
（４）本実施形態では、図５に示す保守メイン処理、および図９に示す読取メイン処理において、カラーモードについて説明を行ったが、モノモードとしてもよい。カラーモードの場合は、３色で１ラインであったが、モノモードの場合は、１色で１ラインとなる。
【０１１６】
（５）本実施形態では、読取部２４が３００ＤＰＩの解像度で読み取ることができる構成であったが、他の解像度である６００ＤＰＩや１２００ＤＰＩでも良い。その場合、レンズムラの発生する画素間隔が６００ＤＰＩでは１０画素となり、１２００ＤＰＩでは２０画素となる。
【０１１７】
（６）本実施形態では、ロッドレンズアレイ３２の各レンズ間隔が０．４ｍｍであったが、他の間隔である１．０ｍｍでも良い。その場合、レンズムラの発生する画素間隔が１２画素となる。
【０１１８】
（７）本実施形態では、処理ＭＣ５において灰異常画素位置ＰＥＤ２を用いて判断を行ったが、白異常画素位置ＰＥＤ１を用いて判断を行っても良い。灰異常画素位置ＰＥＤ２は、判別データＲＴ１を用いて判断されるが、白異常画素位置ＰＥＤ１は、白黒差分データＷＢｄｉｆを用いて判断される。白黒差分データＷＢｄｉｆは、レンズムラが発生しているが、判別データＲＴ１はレンズムラが発生していない。そのため、判別データＲＴ１を用いて判断した灰異常画素位置ＰＥＤ２では、検知精度が高くなり、灰異常画素位置ＰＥＤ２のデータ数が少なくなる。処理ＭＣ５は、速く判断できる。
【符号の説明】
【０１１９】
１…画像読取装置、５…操作部、２４…読取部、３０…光源、３１…受光部、３３…光電変換素子、４０…ＣＰＵ、４３…フラッシュＰＲＯＭ、４４…デバイス制御部、４５…ＡＦＥ、４６…画像処理部
【図１】
0006558639.tif 000002
【図２】
0006558639.tif 000003
【図３】
0006558639.tif 000004
【図４】
0006558639.tif 000005
【図５】
0006558639.tif 000006
【図６】
0006558639.tif 000007
【図７】
0006558639.tif 000008
【図８】
0006558639.tif 000009
【図９】
0006558639.tif 000010
【図１０】
0006558639.tif 000011
【図１１】
0006558639.tif 000012
【図１２】
0006558639.tif 000013
【図１３】
0006558639.tif 000014