(57)【特許請求の範囲】
【請求項１】
原稿を副走査方向に搬送する原稿搬送部と、
前記原稿搬送部により搬送される原稿を押える原稿押え部材と、
前記副走査方向における読取位置にて主走査方向のライン毎に各画素を読み取る読取部であって、前記読取位置は複数のラインを含む前記副走査方向の所定範囲においていずれかのラインの位置である前記読取部と、
前記読取部を前記副走査方向に移動させる移動ユニットと、
異常画素がある位置である異常位置が記憶される記憶部と、
制御部と、を備え、
前記制御部は、
前記所定範囲の複数のラインのうち前記記憶部に記憶された前記異常位置でない各正常位置において、前記各正常位置と前記各正常位置周囲の特定範囲内に存在する前記記憶部に記憶された前記異常位置との距離が近いほど大きな異常画素係数を算出する係数算出処理と、
前記異常画素係数が最も小さい前記正常位置を前記読取位置として確定する確定処理と、
前記原稿搬送部により原稿を搬送させ、前記確定処理により確定された前記読取位置に前記読取部を前記移動ユニットにより移動させ、前記読取部により搬送された原稿を読み取らせる読取処理と、
前記読取処理が終了した後に、前記読取処理において原稿を読み取らせた前記読取位置で前記原稿押え部材を前記読取部に読み取らせ、１ライン分の各画素の読取結果に異常画素があるか否かを検出する検出処理と、
前記検出処理において前記異常画素があると検出された前記読取位置を前記異常位置として前記記憶部に記憶する位置記憶処理と、を実行することを特徴とする画像読取装置。
【請求項２】
前記係数算出処理は、
前記特定範囲の大きさを示す特定値から前記各正常位置と前記異常位置との間の距離を引算することによりライン距離係数を前記異常画素係数として算出することを特徴とする請求項１に記載の画像読取装置。
【請求項３】
前記係数算出処理は、前記副走査方向において前記各正常位置の上流側と下流側とについてそれぞれ上流側ライン距離係数と下流側ライン距離係数とを算出し、前記上流側ライン距離係数に前記下流側ライン距離係数を加算した前記ライン距離係数を前記異常画素係数として算出することを特徴とする請求項２に記載の画像読取装置。
【請求項４】
前記制御部は、
前記検出処理において前記異常画素があると検出された画素位置を異常画素位置として前記記憶部に記憶する画素位置記憶処理と、
前記各正常位置において、前記副走査方向において前記各正常位置の上流側の前記特定範囲に存在する上流側の特定の前記異常画素と、下流側の前記特定範囲に存在する下流側の特定の前記異常画素との間の最短距離が所定距離よりも小さい場合に、前記最短距離が短いほど大きな近接画素間距離係数を設定する距離係数設定処理と、を実行し、
前記係数算出処理は、前記異常画素係数に前記近接画素間距離係数を加算して新たな前記異常画素係数とすることを特徴とする請求項１乃至請求項３のいずれかに記載の画像読取装置。
【請求項５】
前記制御部は、
前記各正常位置において、前記特定範囲の前記異常画素の画素数を異常画素数として算出し、前記異常画素数が所定画素数以上の場合に、前記各正常位置の周囲の前記特定範囲に存在する前記異常画素の数が多くなるほど大きな異常画素数係数を設定する画素数係数設定処理を実行し、
前記係数算出処理は、前記異常画素係数に前記異常画素数係数を加算して新たな前記異常画素係数とすることを特徴とする請求項１乃至請求項４のいずれかに記載の画像読取装置。
【請求項６】
前記制御部は、
前記各正常位置において、前記特定範囲の前記異常画素が主走査方向若しくは副走査方向に所定数以上連続して存在している場合に、前記各正常位置の周囲の前記特定範囲に存在する前記異常画素が主走査方向若しくは副走査方向に連続して存在する数が多いほど大きな異常画素連続係数を設定する画素連続係数設定処理を実行し、
前記係数算出処理は、前記異常画素係数に前記異常画素連続係数を加算して新たな前記異常画素係数とすることを特徴とする請求項１乃至請求項５のいずれかに記載の画像読取装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像読取装置に関する。
【背景技術】
【０００２】
読取デバイスを読取位置に位置させた状態で原稿を搬送しながら読み取る原稿搬送読取方式において、原稿と読取デバイスとの間に紙粉等のゴミが存在すると、画像読取装置がそのゴミを読み取り、読取結果に筋が発生してしまうという現象が発生していた。
【０００３】
特許文献１に記載の画像読取装置において、原稿の読み取りを開始する前に、読取デバイスを副走査方向の複数の読取位置にそれぞれ移動させながら複数の読取位置においてゴミレベルの検出が行われる。そのゴミレベルの変動量が小さい位置を最終的な読取位置としている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００６−６０４９３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかし、特許文献１に記載の画像読取装置は、ゴミレベルの変動量が小さい位置を最終的な読取位置として決定している。即ち、ゴミレベルの変動量が小さい位置において、その位置の周辺にゴミがあった場合でも、最終的な読取位置として決定している。そのため、最終的な読取位置の周辺のゴミがわずかに移動するだけで、読取結果に筋が発生してしまうという現象が発生する虞がある。
【０００６】
そこで、本発明の目的は、上述した事情に鑑みてなされ、読取位置の周辺のゴミの読取結果への影響を考慮しつつ最終的な読取位置を決定することで、わずかにゴミが移動したとしても読取結果に筋が発生しない画像読取装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記目的を達成するために、請求項１に記載の発明態様は、原稿を副走査方向に搬送する原稿搬送部と、前記原稿搬送部により搬送される原稿を押える原稿押え部材と、前記副走査方向における読取位置にて主走査方向のライン毎に各画素を読み取る読取部であって、前記読取位置は複数のラインを含む前記副走査方向の所定範囲においていずれかのラインの位置である前記読取部と、前記読取部を前記副走査方向に移動させる移動ユニットと、記憶部と、制御部と、を備え、前記制御部は、前記原稿押え部材を前記読取位置で前記読取部に読み取らせ、１ライン分の各画素の読取結果に異常画素があるか否かを検出する検出処理と、前記異常画素を検出した前記読取位置を異常位置として前記記憶部に記憶する位置記憶処理と、前記所定範囲の複数のラインのうち前記異常画素がない各正常位置において、前記各正常位置と前記各正常位置周囲の特定範囲内に存在する前記異常位置との距離が近いほど大きな異常画素係数を算出する係数算出処理と、前記異常画素係数が最も小さい前記正常位置を前記読取位置として確定する確定処理と、を実行する。
【０００８】
請求項２に記載の具体的態様では、前記係数算出処理は、前記特定範囲の大きさを示す特定値から前記各正常位置と前記異常位置との間の距離を引算することによりライン距離係数を前記異常画素係数として算出する。
【０００９】
請求項３に記載の具体的態様では、前記係数算出処理は、前記副走査方向において前記各正常位置の上流側と下流側とについてそれぞれ上流側ライン距離係数と下流側ライン距離係数とを算出し、上流側ライン距離係数に下流側ライン距離係数を加算した前記ライン距離係数を異常画素係数として算出する。
【００１０】
請求項４に記載の具体的態様では、前記制御部は、前記異常画素を検出した画素位置を異常画素位置として前記記憶部に記憶する画素位置記憶処理と、前記各正常位置において、前記副走査方向において前記各正常位置の上流側の前記特定範囲に存在する上流側の特定の前記異常画素と、下流側の前記特定範囲に存在する下流側の特定の前記異常画素との間の最短距離が所定距離よりも小さい場合に、前記最短距離が短いほど大きな近接画素間距離係数を設定する距離係数設定処理と、を実行し、前記係数算出処理は、前記異常画素係数に前記近接画素間距離係数を加算して新たな前記異常画素係数とする。
【００１１】
請求項５に記載の具体的態様では、前記制御部は、前記各正常位置において、前記特定範囲の前記異常画素の画素数を異常画素数として算出し、前記異常画素数が所定画素数以上の場合に、前記各正常位置の周囲の前記特定範囲に存在する前記異常画素の数が多くなるほど大きな異常画素数係数を設定する画素数係数設定処理を実行し、前記係数算出処理は、前記異常画素係数に前記異常画素数係数を加算して新たな前記異常画素係数とする。
【００１２】
請求項６に記載の具体的態様では、前記制御部は、前記各正常位置において、前記特定範囲の前記異常画素が主走査方向若しくは副走査方向に所定数以上連続して存在している場合に、前記各正常位置の周囲の前記特定範囲に存在する前記異常画素が主走査方向若しくは副走査方向に連続して存在する数が多いほど大きな異常画素連続係数を設定する画素連続係数設定処理を実行し、前記係数算出処理は、前記異常画素係数に前記異常画素連続係数を加算して新たな前記異常画素係数とする。
【発明の効果】
【００１３】
請求項１に記載の発明態様では、原稿を搬送して読み取る画像読取装置において、読取部が所定範囲において読取可能に構成され、所定範囲の正常位置毎に正常位置周囲に存在する異常位置との距離が近いほど大きな異常画素係数を算出し、異常画素係数が最も小さい位置を読取位置としているため、原稿を読み取った時に筋が発生し難いという効果がある。
【００１４】
請求項２に記載の具体的態様では、前記特定範囲の大きさを示す特定値から前記各正常位置と前記異常位置との間の距離を引算することにより異常画素係数を算出しているため、精度の高い異常画素係数を算出することができる。
【００１５】
請求項３に記載の具体的態様では、上流側ライン距離係数と下流側ライン距離係数とをそれぞれ算出し、上流側ライン距離係数に下流側ライン距離係数を加算した前記ライン距離係数を異常画素係数として算出するため、上流側だけでなく、下流側からの異常画素による筋の影響を低減することができる。
【００１６】
請求項４に記載の具体的態様では、上流側に存在する異常画素と下流側に存在する異常画素との最短距離が短いほど大きな近接画素間距離係数を設定し、異常画素係数に近接画素間距離係数を加算して新たな異常画素係数としている。よって、異常画素が近接していない位置で読み取ることができる。
【００１７】
請求項５に記載の具体的態様では、各正常位置の周囲の特定範囲に存在する異常画素の数が多くなるほど大きな異常画素数係数を設定し、異常画素係数に異常画素数係数を加算して新たな異常画素係数としている。よって、周囲に異常画素が少ない位置で読み取ることができる。
【００１８】
請求項６に記載の具体的態様では、各正常位置の周囲の特定範囲に存在する異常画素が主走査方向若しくは副走査方向に連続して存在する数が多いほど大きな異常画素連続係数を設定し、異常画素係数に異常画素連続係数を加算して新たな異常画素係数としている。よって、周囲に大きな異物が存在しない位置で読み取ることができる。
【図面の簡単な説明】
【００１９】
【図１】本発明の実施形態に係る画像読取装置１０の内部構成を示す正面図である。
【図２】画像読取装置１０の電気的構成を示すブロック図である。
【図３】読取メイン処理を示すフローチャートである。
【図４】ライン距離係数ＬＤＦ算出処理を示すフローチャートである。
【図５】近接画素間距離係数ＣＤＦ算出処理を示すフローチャートである。
【図６】状態係数ＤＳＦ算出処理を示すフローチャートである。
【図７】異常画素記憶処理を示すフローチャートである。
【図８】具体的なケースにおける異常画素の位置を示す図面である。
【発明を実施するための形態】
【００２０】
［実施形態］
以下に、本発明の一実施形態に係る画像読取装置１０について図面を参照して説明する。図１において、上下方向および左右方向は矢印により示される。
【００２１】
＜画像読取装置１０の機械的構成＞
図１において、画像読取装置１０は、筐体４３の上部に原稿カバー４６が設けられている。筐体４３は、概ね箱型に形成されており、上部に第１プラテンガラス４４と、第２プラテンガラス４５とが配置されている。白色基準板６１は、第２プラテンガラス４５と筐体４３との間に固定され、原稿ＧＳの背景色である白色を有している。
【００２２】
原稿カバー４６は、各プラテンガラス４４，４５を覆う閉姿勢と、各プラテンガラス４４，４５を開放する開姿勢とに回動可能に筐体４３に連結されている。原稿カバー４６には、ＡＤＦ１９、原稿トレイ５８、排紙トレイ５９などが設けられている。
【００２３】
ＡＤＦ１９は、原稿トレイ５８にセットされた原稿を、搬送経路５７に沿って読取部１７による読取位置まで搬送させるとともに、読取部１７による読み取り後の原稿を排紙トレイ５９まで搬送させる。
【００２４】
ＡＤＦ１９の内部には、分離ローラ５０、分離ローラ５０を軸支する軸に基端側を軸支されたアーム５１の先端部に回転自在に設けられている吸入ローラ５２、複数の搬送ローラ５３，５４、排紙ローラ５５、これらに圧接する複数の従動ローラ５６が設けられている。原稿はこれらのローラに搬送されて搬送経路５７を搬送され、読取部１７によって読
み取られる読取位置を通過して、排紙トレイ５９に排紙される。読取位置は複数の位置から構成され、読取部１７が副走査方向に所定の読取領域内を移動することで変更可能となっている。
【００２５】
読取部１７は、画像読取装置１０の筐体４３の内部に収容されている。読取部１７は、ＡＤＦ１９により搬送される原稿を読み取る場合、第２プラテンガラス４５を介して原稿押え板６０に対向する位置にて停止し、その位置を読取位置として、光源の色を順次切り替えながら、第２プラテンガラス４５を介して原稿を読み取る。一方、読取部１７は、第１プラテンガラス４４上に載置される原稿を読み取る場合、駆動回路１８を用いて、読取部１７を副走査方向（矢印Ｆ方向または矢印Ｂ方向）に一定速度で移動させつつ、光源の色を順次切り替えながら原稿を読み取る。
【００２６】
原稿押え板６０は、読取部１７が第２プラテンガラス４５を介して読み取ることのできる位置に設けられている。原稿押え板６０は、均一な濃度である白色を有する。本実施形態では、原稿の読み取り後に、読取部１７が原稿押え板６０を読み取ることにより、第２プラテンガラス４５上にゴミがあるなど、異常画像を発生させる可能性の検出を行う。
【００２７】
フロントセンサ２０は、原稿トレイ５８にセットされた原稿の有無を検出するセンサとして機能する。一方、リアセンサ２１は、読取部１７による原稿の読み取り開始タイミングを計るためのセンサとして機能する。具体的に、画像読取装置１０は、リアセンサ２１が原稿を検出したタイミングから、所定の搬送量だけ原稿が搬送されたタイミングで、読取部１７による原稿の読み取りを開始する。
【００２８】
また、リアセンサ２１は、読取部１７による原稿の読み取り終了タイミングを計るためのセンサとして機能する。具体的に、画像読取装置１０は、リアセンサ２１が原稿を検出しなくなったタイミングから、所定の搬送量だけ原稿が搬送されたタイミングで、読取部１７による原稿の読み取りを終了する。
【００２９】
＜画像読取装置１０の電気的構成＞
画像読取装置１０の電気的構成について図２を参照して説明する。図２（ａ）において、画像読取装置１０は、ＣＰＵ１１、ＲＯＭ１２、ＲＡＭ１３、フラッシュＰＲＯＭ１４、デバイス制御部２２、アナログフロントエンド（以下、ＡＦＥという。）２８、画像処理部２３、および駆動回路１８を構成要素の一部として備える。これらの構成要素は、バス２４を介して、操作部１５、表示部１６、フロントセンサ２０およびリアセンサ２１に接続される。
【００３０】
ＲＯＭ１２は、後述する読取メイン処理、読取メイン処理中のサブルーチンの処理など、画像読取装置１０の各種動作を実行するためのプログラムを記憶する。ＣＰＵ１１は、ＲＯＭ１２から読み出されたプログラムに従って、各部の制御を行う。フラッシュＰＲＯＭ１４は、読み書き可能な不揮発性メモリであり、ＣＰＵ１１の制御処理により生成された各種のデータ、たとえば読取メイン処理により算出された異常画素位置などを記憶する。ＲＡＭ１３は、ＣＰＵ１１の制御処理により生成された算出結果などを一時的に記憶する。
【００３１】
フラッシュＰＲＯＭ１４に設けられるゴミ記憶領域１４ａを図２（ｂ）の模式図を用いて説明する。ゴミ記憶領域１４ａは、第２プラテンガラス４５上にゴミがあるなど、異常画像を発生させる可能性が検出された場合に、その位置（以下、この位置を「ゴミ検出位置」という）を記憶する領域である。本実施形態では、ゴミ検出位置における副走査方向の位置（以下「副走査位置」という）をゴミ記憶領域１４ａ１に記憶し、主走査方向の位置（以下「主走査位置」という）をゴミ記憶領域１４ａ２に記憶する。
【００３２】
ゴミ検出位置Ｑは、その主走査方向の位置（すなわち、主走査位置）、および、副走査方向の位置（すなわち、副走査位置）が、それぞれ、ゴミ記憶領域１４ａ１およびゴミ記憶領域１４ａ２の先頭Ｐから順次記憶される。ゴミ記憶領域１４ａ１、およびゴミ記憶領域１４ａ２には、末尾指定値Ｒが記憶される。末尾指定値Ｒは、これより後方にはゴミ検出位置Ｑが存在しないことを示す値である。末尾指定値Ｒは、ゴミ検出位置Ｑとしては取り得ない値が設定されており、本実施形態では、６５５３５である。末尾指定値Ｒは、ゴミ記憶領域１４ａの初期状態において先頭Ｐに記憶される。異常画像を発生させる可能性が検出される毎に、ゴミ検出位置Ｑが末尾指定値Ｒの位置に書き込まれ、末尾指定値Ｒはその後方側に記憶される。
【００３３】
デバイス制御部２２は、読取部１７に接続され、ＣＰＵ１１からの命令に基づいて、読取部１７を制御する信号を読取部１７に送信する。読取部１７は、デバイス制御部２２から読取部１７を制御する信号を受け取ると、図示しない光源を点灯させるとともに、図示しない受光部が受光した受光量に応じたアナログ信号をＡＦＥ２８に送信する。
【００３４】
ＡＦＥ２８は、読取部１７に接続され、ＣＰＵ１１からの命令に基づいて、読取部１７から送信されるアナログ信号をデジタルデータに変換する。ＡＦＥ２８は、予め定められた入力レンジおよび分解能を有する。たとえば、分解能は、１０ビットであるならば「０」から「１０２３」の階調である。この場合、ＡＦＥ２８は、読取部１７から送信されたアナログ信号をデジタルデータとして１０ビット（０〜１０２３）の階調データに変換する。ＡＦＥ４５によって変換されたデジタルデータは、画像処理部２３に送信される。
【００３５】
画像処理部２３は、画像処理用の専用ＩＣであるＡＳＩＣから構成され、デジタル画像データに各種の画像処理を施す。画像処理は、シェーディング補正などの各種の補正処理、および解像度変換処理などである。画像処理部２３は、デジタル画像データに黒データＢＫおよび白データＷＨに基づいてシェーディング補正を行い階調値に補正する。さらに、画像処理部２３は、階調値を間引いて出力することにより、解像度変換処理を行う。画像処理部２３は、画像処理部２３に設定された設定値に従い、これらのシェーディング補正処理や解像度変換処理を実行し、デジタル画像データ若しくは階調値をＲＡＭ１３に記憶する。シェーディング補正に用いられる白データＷＨおよび黒データＢＫは、画像処理部２３に設定される。
【００３６】
駆動回路１８は、ＡＤＦモータＭＴ１およびＦＢモータＭＴ２に接続され、ＣＰＵ１１から送信される駆動指令に基づいてＡＤＦモータＭＴ１およびＦＢモータＭＴ２を駆動する。駆動回路１８は、駆動指令により指令された回転量および回転方向に従ってＡＤＦモータＭＴ１およびＦＢモータＭＴ２を回転させる。ＡＤＦモータＭＴ１が所定量だけ回転すると、給紙ローラ５０、搬送ローラ５３、５４、および排紙ローラ５５が所定角度回転し、搬送経路５７において原稿ＧＳが所定距離だけ搬送される。ＦＢモータＭＴ２が所定量だけ回転すると、読取部１７が副走査方向（矢印Ｆ方向または矢印Ｂ方向）に移動される。
【００３７】
＜実施形態の動作＞
次に、画像読取装置１０の動作について図面を参照して説明する。画像読取装置１０は、原稿ＧＳを読み取る読取メイン処理を主に実行する。読取メイン処理中のステップＲ１〜Ｒ９の処理、および各サブルーチンのステップの処理は、ＣＰＵ１１が実行する処理である。
【００３８】
（読取メイン処理）
読取メイン処理はユーザにより原稿ＧＳが原稿トレイ５８に載置され、フロントセンサ２０がオンした状態で、操作部１５の開始ボタンが押下されることにより開始される。読取メイン処理が開始されると、ＣＰＵ１１は、デバイス制御部２２、および画像処理部２３に読取設定値を設定する（Ｒ１）。具体的には、ＣＰＵ１１は、ユーザが設定した読取モードに対応する読取解像度に対する読取部１７の設定をフラッシュＰＲＯＭ１４から取得し、デバイス制御部２２に設定する。ＣＰＵ１１は、画像処理部２３に各種画像処理を施さないように設定する。さらに、ＣＰＵ１１は、駆動回路１８に指令を出力し、読取部１７を白色基準板６１と対向する位置に移動させる。
【００３９】
ＣＰＵ１１は、読取部１７の光源の調整、並びに白データＷＨ及び黒データＢＫの取得を行う（Ｒ２）。具体的には、ＣＰＵ１１は、白色基準板６１に向けて、読取部１７の図示しない光源から光を照射させ、その反射光を読み取った時のアナログ信号がＡＦＥ２８の入力レンジの最大となるように、光量ＳＴを調整する。そして、ＣＰＵ１１は、光源を光量ＳＴで点灯させ、白色基準板６１を読み取る。ＣＰＵ１１は、読み取った１ライン分の各色のデジタル画像データを白データＷＨとして取得する。そして、ＣＰＵ１１は、光源を消灯させ、白色基準部材６１を読み取る。ＣＰＵ１１は、読み取った１ラインのデジタル画像データを黒データＢＫとして取得する。
【００４０】
ＣＰＵ１１は、ライン距離係数ＬＤＦを算出する（Ｒ３）。詳細は後述するが、ＣＰＵ１１は、ゴミ記憶領域１４ａに記憶されていない対象ラインＴＬについて上流側検出領域に異常画素ＤＰが存在するか否かを判断する（ＲＡ３）。ＣＰＵ１１は、異常画素ＤＰが存在しない場合は、上流側ライン距離係数Ｌ（ｘ）に０を設定し、異常画素ＤＰが存在する場合は、対象ラインＴＬと異常画素ＤＰとの距離ＬＶＳを算出する（ＲＡ５）。ＣＰＵ１１は、その算出した距離ＬＶＳを用いて上流側ライン距離係数Ｌ（ｘ）を算出する（ＲＡ６）。下流側についても同様に行い、下流側ライン距離係数Ｒ（ｘ）を算出する（ＲＡ１０）。ＣＰＵ１１は、ゴミ記憶領域１４ａに記憶されていない検出領域内の全ての対象ラインＴＬについて上流側ライン距離係数Ｌ（ｘ）、下流側ライン距離係数Ｒ（ｘ）をライン距離係数ＬＤＦとして算出する。ここで、検出領域は対象ラインＴＬの搬送方向上流側と下流側とにそれぞれ設けられる。上流側検出領域と下流側検出領域とは、対象ラインＴＬからライン数Ｔｈ離れたラインまでの領域である。ライン数Ｔｈは例えば「２」である。
【００４１】
ＣＰＵ１１は、近接画素間距離係数ＣＤＦを算出する（Ｒ４）。詳細は後述するが、ＣＰＵ１１は、ゴミ記憶領域１４ａに記憶されていない対象ラインＴＬについて上流側検出領域および下流側検出領域共に異常画素ＤＰが存在するか否かを判断する（ＲＢ３、ＲＢ４）。ＣＰＵ１１は、異常画素ＤＰが存在する場合は、上流側領域の異常画素ＤＰと下流側領域の異常画素ＤＰとの距離Ｋを算出する（ＲＢ８）。ＣＰＵ１１は、算出した距離Ｋのうち最短距離Ｋｍｉｎに応じて、近接画素間距離係数Ｐ（ｘ）を設定する（ＲＢ４、ＲＢ１１、ＲＢ１３）。ＣＰＵ１１は、ゴミ記憶領域１４ａに記憶されていない検出領域内の全ての対象ラインＴＬについて近接画素間距離係数Ｐ（ｘ）を近接画素間距離係数ＣＤＦとして算出する。
【００４２】
ＣＰＵ１１は、状態係数ＤＳＦを算出する（Ｒ５）。詳細は後述するが、ＣＰＵ１１は、ゴミ記憶領域１４ａに記憶されていない対象ラインＴＬについて上流側検出領域に異常画素ＤＰが存在するか否かを判断する（ＲＣ３）。ＣＰＵ１１は、異常画素ＤＰが存在しない場合は、状態係数Ｓ（ｘ）に０を設定する（ＲＣ４）。ＣＰＵ１１は、異常画素ＤＰが存在する場合は、上流側検出領域の１０％以上の画素数に異常画素ＤＰが存在したときに、状態係数Ｓ（ｘ）に１を設定し（ＲＣ６）、存在しなかったときは状態係数Ｓ（ｘ）に０を設定する（ＲＣ４）。ＣＰＵ１１は、上流側検出領域内の異常画素が主走査方向もしくは副走査方向に隣接する連続画素であった場合は、状態係数Ｓ（ｘ）に１を加算する（ＲＣ８）。下流側についても同様に行い、状態係数Ｓ（ｘ）を算出する。ＣＰＵ１１は、ゴミ記憶領域１４ａに記憶されていない検出領域内の全ての対象ラインＴＬについて状態係数Ｓ（ｘ）を状態係数ＤＳＦとして算出する。
【００４３】
ＣＰＵ１１は、異常画素係数ＤＤＦを算出する（Ｒ６）。具体的には、ＣＰＵ１１は、ゴミ記憶領域１４ａに記憶されていない検出領域内の全ての各ラインにおいて、上流側ライン距離係数Ｌ（ｘ）に下流側ライン距離係数Ｒ（ｘ）と近接画素間距離係数Ｐ（ｘ）と状態係数Ｓ（ｘ）とを加算し、異常画素係数Ｄ（ｘ）として算出する。ＣＰＵ１１は、ゴミ記憶領域１４ａに記憶されていない検出領域内の全てのラインについて異常画素係数Ｄ（ｘ）を異常画素係数ＤＤＦとして算出する。
【００４４】
ＣＰＵ１１は、読取位置ＳＰを確定する（Ｒ７）。具体的には、ＣＰＵ１１は、異常画素係数ＤＤＦのうち最も小さい値を示す検出領域内の副走査位置を読取位置ＳＰとして確定する。異常画素係数ＤＤＦのうち最も小さい値が複数ある場合は、ＣＰＵ１１は、白色基準板６１に近い副走査方向（矢印Ｂ方向）の上流側に位置する副走査位置を読取位置ＳＰとして確定する。
【００４５】
ＣＰＵ１１は、読取処理を実行する（Ｒ８）。具体的には、ＣＰＵ１１は、画像処理部２３に各種画像処理を施すように設定する。ＣＰＵ１１は、駆動回路１８により原稿ＧＳを搬送させ、読取部１７を読取位置ＳＰまで移動させる。ＣＰＵ１１は、搬送された原稿ＧＳを読み取らせる。ＣＰＵ１１は、Ｒ２で取得した白データＷＨおよび黒データＢＫに基づきシェーディング補正処理、各種補正処理、および解像度変換処理を順に実行し、階調値を生成させる。
【００４６】
ＣＰＵ１１は、異常画素記憶処理を実行する（Ｒ９）。具体的には、後述するが、ＣＰＵ１１は、１ライン分の階調値を読み取る（ＲＤ１）。ＣＰＵ１１は、読み取った１ライン分の階調値の先頭から後尾まで対象画素ＴＰを順次設定しながら、閾値よりも小さい階調値を示す画素がある場合（ＲＤ３：Ｎｏ）に、その画素の位置をゴミ記憶領域１４ａに記憶する（ＲＤ４）。異常画素記憶処理（Ｒ９）が終了すると、読取メイン処理は終了する。
【００４７】
（ライン距離係数ＬＤＦ算出処理）
図４に示すライン距離係数ＬＤＦ算出処理（Ｒ３）が開始されると、ＣＰＵ１１は、対象ラインＴＬを設定する（ＲＡ１）。具体的には、ＣＰＵ１１は、現在設定されている対象ラインＴＬの次のラインを対象ラインＴＬとして設定する。現在設定されている対象ラインＴＬが最終ラインＥＬの場合は、先頭ラインＦＬを対象ラインＴＬとして設定する。
【００４８】
ＣＰＵ１１は、対象ラインＴＬに異常画素ＤＰが存在するか否かを判断する（ＲＡ２）。存在する場合（ＲＡ２：Ｙｅｓ）は、最終ラインＥＬか否かを判断する処理（ＲＡ１１）へ進める。存在しない場合は、上流側検出領域内に異常画素ＤＰが存在するか否かを判断する処理（ＲＡ３）へ進める。
【００４９】
ＣＰＵ１１は、上流側検出領域内に異常画素ＤＰが存在するか否かを判断する（ＲＡ３）。存在しない場合は、上流側ライン距離係数Ｌ（ｘ）に０を設定する（ＲＡ４）。存在する場合は、対象ラインＴＬと上流側の異常画素ＤＰとの距離ＬＶＳを算出する処理（ＲＡ５）へ進める。処理ＲＡ４が終了すると、下流側検出領域内に異常画素ＤＰが存在するか否かを判断する処理（ＲＡ７）へ進める。ここで、上流側とは、対象ラインＴＬを基準として原稿搬送方向である副走査方向において上流側である。それとは逆に、下流側とは、対象ラインＴＬを基準として副走査方向において下流側である。
【００５０】
ＣＰＵ１１は、対象ラインＴＬと上流側異常画素との距離ＬＶＳを算出する（ＲＡ５）。具体的には、ＣＰＵ１１は、上流側の異常画素ＤＰのうち最も対象ラインＴＬと近い異常画素ＤＰを検索する。検索した異常画素ＤＰの副走査位置と対象ラインＴＬの副走査位置との差分を距離ＬＶＳとして算出する。
【００５１】
ＣＰＵ１１は、上流側ライン距離係数Ｌ（ｘ）を算出する（ＲＡ６）。具体的には、ＣＰＵ１１は、上流側検出領域内に存在するライン数Ｔｈから処理ＲＡ５で算出した距離ＬＶＳを引算し、その引算した結果に１を加算した値を上流側ライン距離係数Ｌ（ｘ）として算出する。ここで、最後に加算した「１」はライン数Ｔｈとの関係から定められた数であり、上流ライン距離係数の異常画素係数ＤＤＦへの影響を強めたい場合は、最後に加算する値を大きく設定する。
【００５２】
ＣＰＵ１１は、下流側検出領域に異常画素ＤＰが存在するか否かを判断する（ＲＡ７）。存在しない場合は、下流側ライン距離係数Ｒ（ｘ）に０を設定する（ＲＡ８）。存在する場合は、対象ラインＴＬと下流側の異常画素ＤＰとの距離ＲＶＳを算出する処理（ＲＡ６）へ進める。処理ＲＡ８が終了すると、最終ラインＥＬか否かを判断する処理（ＲＡ１１）へ進める。
【００５３】
ＣＰＵ１１は、対象ラインＴＬと下流側異常画素との距離ＲＶＳを算出する（ＲＡ９）。具体的には、ＣＰＵ１１は、下流側の異常画素ＤＰのうち最も対象ラインＴＬと近い異常画素ＤＰを検索する。検索した異常画素ＤＰの副走査位置と対象ラインＴＬの副走査位置との差分を距離ＲＶＳとして算出する。
【００５４】
ＣＰＵ１１は、下流側ライン距離係数Ｒ（ｘ）を算出する（ＲＡ１０）。具体的には、ＣＰＵ１１は、下流側検出領域内に存在するライン数Ｔｈから処理ＲＡ９で算出した距離ＲＶＳを引算し、その引算した結果に１を加算した値を下流側ライン距離係数Ｒ（ｘ）として算出する。ここで、最後に加算した「１」はライン数Ｔｈとの関係から定められた数であり、下流側ライン距離係数の異常画素係数ＤＤＦへの影響を強めたい場合は、最後に加算する値を大きく設定する。
【００５５】
ＣＰＵ１１は、対象ラインＴＬが最終ラインＥＬか否かを判断する（ＲＡ１１）。最終ラインＥＬでない場合（ＲＡ１１：Ｎｏ）は、対象ラインＴＬ設定処理（ＲＡ１）へ進める。最終ラインＥＬである場合（ＲＡ１１：Ｙｅｓ）は、ライン距離係数ＬＤＦ算出処理を終了する。
【００５６】
（近接画素間距離係数ＣＤＦ算出処理）
図５に示す近接画素間距離係数ＣＤＦ算出処理（Ｒ４）が開始されると、処理ＲＡ１と同様に、ＣＰＵ１１は、対象ラインＴＬを設定する（ＲＢ１）。具体的には、ＣＰＵ１１は、現在設定されている対象ラインＴＬの次のラインを対象ラインＴＬとして設定する。現在設定されている対象ラインＴＬが最終ラインＥＬの場合は、先頭ラインＦＬを対象ラインＴＬとして設定する。
【００５７】
ＣＰＵ１１は、対象ラインＴＬに異常画素ＤＰが存在するか否かを判断する（ＲＢ２）。存在する場合（ＲＢ２：Ｙｅｓ）は、最終ラインＥＬか否かを判断する処理（ＲＢ１４）へ進める。存在しない場合（ＲＢ２：Ｎｏ）は、上流側検出領域内に異常画素ＤＰが存在するか否かを判断する処理（ＲＢ３）へ進める。
【００５８】
ＣＰＵ１１は、上流側検出領域内に異常画素ＤＰが存在するか否かを判断する（ＲＢ３）。存在しない場合は、近接画素間距離係数Ｐ（ｘ）に０を設定する（ＲＢ４）。存在する場合は、下流側検出領域内に異常画素ＤＰが存在するか否かを判断する処理（ＲＢ５）へ進める。処理ＲＢ４が終了すると、対象ラインＴＬが最終ラインＥＬか否かを判断する処理（ＲＢ１４）に進める。
【００５９】
ＣＰＵ１１は、下流側検出領域内に異常画素ＤＰが存在するか否かを判断する（ＲＢ５）。存在しない場合は、近接画素間距離係数Ｐ（ｘ）に０を設定する（ＲＢ４）。存在する場合は、上流側対象異常画素設定処理（ＲＢ６）へ進める。処理ＲＢ４が終了すると、対象ラインＴＬが最終ラインＥＬか否かを判断する処理（ＲＢ１４）に進める。
【００６０】
ＣＰＵ１１は、上流側検出領域内に存在する異常画素ＤＰについて対象異常画素ＴＤＰを設定する（ＲＢ６）。具体的には、ＣＰＵ１１は、上流側検出領域内に存在する異常画素ＤＰにおいて、対象ラインＴＬに近く、且つ先頭画素に近い画素から順に対象異常画素ＴＤＰを設定する。
【００６１】
ＣＰＵ１１は、下流側検出領域内において対象異常画素ＴＤＰと最も近接している異常画素ＰＤＰを検索する（ＲＢ７）。具体的には、ＣＰＵ１１は、ゴミ記憶領域１４ａに記憶された異常画素ＤＰから下流側検出領域に存在する異常画素ＤＰを検索する。ＣＰＵ１１は、検索した異常画素ＤＰから対象異常画素ＴＤＰが位置する主走査位置と最も近接する主走査位置の異常画素ＤＰを検索する。ＣＰＵ１１は、最も近接する主走査位置の異常画素ＤＰが複数ある場合は、対象ラインＴＬと最も近接する異常画素ＤＰを検索する。ＣＰＵ１１は、この様に検索した最も近接する異常画素ＤＰを下流側近接画素ＤＤＰとしてＲＡＭ１３に記憶する。
【００６２】
ＣＰＵ１１は、対象異常画素ＴＤＰと下流側近接画素ＤＤＰとの距離Ｋを算出する（ＲＢ８）。具体的には、ＣＰＵ１１は、対象異常画素ＴＤＰと下流側近接画素ＤＤＰとの主走査方向の画素位置の差分を主走査差分画素数として算出する。ＣＰＵ１１は、同様に対象異常画素ＴＤＰと下流側近接画素ＤＤＰとの副走査方向の差分を副走査差分画素数として算出する。ＣＰＵ１１は、算出した主走査差分画素数と副走査差分画素数とについて２乗平均平方根を算出することにより、対象異常画素ＴＤＰと下流側近接画素ＤＤＰとの距離Ｋを算出する。
【００６３】
ＣＰＵ１１は、対象異常画素ＴＤＰが上流側検出領域内に存在する異常画素ＤＰの最終異常画素ＥＤＰか否かを判断する（ＲＢ９）。最終異常画素ＥＤＰでない場合（ＲＢ９：Ｎｏ）は、上流側対象異常画素設定処理（ＲＢ６）へ進める。最終異常画素ＥＤＰである場合（ＲＢ９：Ｙｅｓ）は、距離Ｋの最小値Ｋｍｉｎが３以下か否かを判断する処理（ＲＢ１０）へ進める。
【００６４】
ＣＰＵ１１は、距離Ｋの最小値Ｋｍｉｎが３以下か否かを判断する（ＲＢ１０）。距離Ｋの最小値Ｋｍｉｎが３以下の場合（ＲＢ１０：Ｙｅｓ）は、近接画素間距離係数Ｐ（ｘ）に３を設定する（ＲＢ１１）。距離Ｋの最小値Ｋｍｉｎが３より大きい場合（ＲＢ１０：Ｎｏ）は、距離Ｋの最小値Ｋｍｉｎが３より大きく５以下であるか否かを判断する処理（ＲＢ１２）に進める。処理ＲＢ１１が終了すると、対象ラインＴＬが最終ラインＥＬか否かを判断する処理（ＲＢ１４）に進める。
【００６５】
ＣＰＵ１１は、距離Ｋの最小値Ｋｍｉｎが３より大きく５以下であるか否かを判断する（ＲＢ１２）。３より大きく５以下である場合（ＲＢ１２：Ｙｅｓ）は、近接画素間距離係数Ｐ（ｘ）に１を設定する（ＲＢ１３）。５より大きい場合（ＲＢ１２：Ｎｏ）は、近接画素間距離係数Ｐ（ｘ）に０を設定する処理（ＲＢ４）に進める。処理ＲＢ１３が終了すると、対象ラインＴＬが最終ラインＥＬか否かを判断する処理（ＲＢ１４）に進める。
【００６６】
ＣＰＵ１１は、対象ラインＴＬが最終ラインＥＬか否かを判断する（ＲＢ１４）。最終ラインＥＬでない場合（ＲＢ１４：Ｎｏ）は、対象ラインＴＬ設定処理（ＲＢ１）へ進める。最終ラインＥＬである場合（ＲＢ１４：Ｙｅｓ）は、近接画素間距離係数ＣＤＦ算出処理を終了する。
【００６７】
（状態係数ＤＳＦ算出処理）
図６に示す状態係数ＤＳＦ算出処理が開始されると、ＣＰＵ１１は、処理ＲＡ１および処理ＲＢ１と同様に、ＣＰＵ１１は、対象ラインＴＬを設定する（ＲＣ１）。具体的には、ＣＰＵ１１は、現在設定されている対象ラインＴＬの次のラインを対象ラインＴＬとして設定する。現在設定されている対象ラインＴＬが最終ラインＥＬの場合は、先頭ラインＦＬを対象ラインＴＬとして設定する。
【００６８】
ＣＰＵ１１は、対象ラインＴＬに異常画素ＤＰが存在するか否かを判断する（ＲＣ２）。存在する場合（ＲＣ２：Ｙｅｓ）は、最終ラインＥＬか否かを判断する処理（ＲＣ１４）へ進める。存在しない場合（ＲＣ２：Ｎｏ）は、上流側検出領域内に異常画素ＤＰが存在するか否かを判断する処理（ＲＣ３）へ進める。
【００６９】
ＣＰＵ１１は、上流側検出領域内に異常画素ＤＰが存在するか否かを判断する（ＲＣ３）。存在しない場合（ＲＣ３：Ｎｏ）は、状態係数Ｓ（ｘ）に０を設定する（ＲＣ４）。存在する場合（ＲＣ３：Ｙｅｓ）は、下流側検出領域内の異常画素数ＵＤＰＮが上流側検出領域全体の画素数の１０％以上か否かを判断する処理（ＲＣ５）へ進める。処理ＲＣ４が終了すると、上流側検出領域内の画素が連続しているか否かを判断する処理（ＲＣ７）へ進める。
【００７０】
ＣＰＵ１１は、上流側検出領域内の異常画素数ＵＤＰＮが上流側検出領域全体の画素数の１０％以上か否かを判断する（ＲＣ５）。１０％より小さい場合（ＲＣ５：Ｎｏ）は、状態係数Ｓ（ｘ）に０を設定する。１０％以上の場合（ＲＣ５：Ｙｅｓ）は、状態係数Ｓ（ｘ）に１を設定する（ＲＣ６）。処理ＲＣ４または処理ＲＣ６が終了すると、上流側検出領域内の画素が連続しているか否かを判断する処理（ＲＣ７）へ進める。
【００７１】
ＣＰＵ１１は、上流側検出領域内の画素が連続しているか否かを判断する（ＲＣ７）。具体的には、ＣＰＵ１１は、ゴミ記憶領域１４ａに記憶された画素のうち上流側検出領域内において、同一の副走査位置において隣接する異常画素ＤＰが存在するか否か、または同一の主走査位置において隣接する異常画素ＤＰが存在するか否かを判断する。連続していると判断した場合（ＲＣ７：Ｙｅｓ）は、状態係数Ｓ（ｘ）に１を加算する（ＲＣ８）。連続していないと判断した場合（ＲＣ７：Ｎｏ）は、下流側検出領域内に異常画素ＤＰが存在するか否かを判断する処理（ＲＣ９）へ進める。処理ＲＣ８が終了すると、下流側検出領域内に異常画素ＤＰが存在するか否かを判断する処理（ＲＣ９）へ進める。
【００７２】
ＣＰＵ１１は、下流側検出領域内に異常画素ＤＰが存在するか否かを判断する（ＲＣ９）。存在しない場合（ＲＣ９：Ｎｏ）は、対象ラインＴＬが最終ラインＥＬか否かを判断する処理（ＲＣ１４）へ進める。存在する場合（ＲＣ９：Ｙｅｓ）は、下流側検出領域内の異常画素数ＤＤＰＮが下流側検出領域全体の画素数の１０％以上か否かを判断する処理（ＲＣ１０）へ進める。
【００７３】
ＣＰＵ１１は、下流側検出領域内の異常画素数ＤＤＰＮが下流側検出領域全体の画素数の１０％以上か否かを判断する（ＲＣ１０）。１０％より小さい場合（ＲＣ１０：Ｎｏ）は、下流側検出領域内の画素が連続しているか否かを判断する処理（ＲＣ１２）に進める。１０％以上の場合（ＲＣ１０：Ｙｅｓ）は、状態係数Ｓ（ｘ）に１を加算する（ＲＣ１１）。処理ＲＣ１１が終了すると、下流側検出領域内の画素が連続しているか否かを判断する処理（ＲＣ１２）へ進める。
【００７４】
ＣＰＵ１１は、下流側検出領域内の画素が連続しているか否かを判断する（ＲＣ１２）。具体的には、ＣＰＵ１１は、ゴミ記憶領域１４ａに記憶された画素のうち下流側検出領域内において、同一の副走査位置において隣接する異常画素ＤＰが存在するか否か、または同一の主走査位置において隣接する異常画素ＤＰが存在するか否かを判断する。連続していると判断した場合（ＲＣ１２：Ｙｅｓ）は、状態係数Ｓ（ｘ）に１を加算する（ＲＣ１３）。連続していないと判断した場合（ＲＣ１２：Ｎｏ）は、対象ラインＴＬが最終ラインＥＬか否かを判断する処理（ＲＣ１４）に進める。処理ＲＣ１３が終了すると、対象ラインＴＬが最終ラインＥＬか否かを判断する処理（ＲＣ１４）へ進める。
【００７５】
ＣＰＵ１１は、対象ラインＴＬが最終ラインＥＬか否かを判断する（ＲＣ１４）。最終ラインＥＬでない場合（ＲＣ１４：Ｎｏ）は、対象ラインＴＬ設定処理（ＲＣ１）へ進める。最終ラインＥＬである場合（ＲＣ１４：Ｙｅｓ）は、状態係数ＤＳＦ算出処理を終了する。
【００７６】
（異常画素記憶処理）
図７に示す異常画素記憶処理が開始されると、ＣＰＵ１１は、光源を光量ＳＴで点灯させ、原稿押え板６０を読み取らせ、１ライン分の階調値を取得する（ＲＤ１）。
【００７７】
ＣＰＵ１１は、対象画素ＴＰを設定する（ＲＤ２）。具体的には、ＣＰＵ１１は、現在設定されている対象画素ＴＰの次の画素を対象画素ＴＰとして設定する。現在設定されている対象画素ＴＰが最終画素の場合は、先頭画素ＦＰを対象画素ＴＰとして設定する。
【００７８】
ＣＰＵ１１は、階調値が閾値よりも大きいか否かを判断する（ＲＤ３）。具体的には、ＣＰＵ１１は、処理ＲＤ１で取得した対象画素ＴＰの階調値が閾値よりも大きいか否かを判断する。階調値が閾値よりも大きい場合（ＲＤ３：Ｙｅｓ）は、対象画素ＴＰが最終画素ＥＰか否かを判断する処理（ＲＤ５）へ進める。階調値が閾値以下である場合（ＲＤ３：Ｎｏ）は、異常画素位置記憶処理（ＲＤ４）へ進める。例えば、閾値は階調値の範囲（１０２３）の５％である５１である。
【００７９】
ＣＰＵ１１は、対象画素ＴＰの画素位置を異常画素位置として記憶する（ＲＤ４）。具体的には、ＣＰＵ１１は、対象画素ＴＰの主走査位置をゴミ記憶領域１４ａ２に記憶する。ＣＰＵ１１は、読取位置ＳＰの副走査位置をゴミ記憶領域１４ａ１に記憶する。
【００８０】
ＣＰＵ１１は、対象画素ＴＰが最終画素ＥＰか否かを判断する（ＲＤ５）。最終画素ＥＰでない場合（ＲＤ５：Ｎｏ）は、対象画素ＴＰ設定処理（ＲＤ２）へ進める。最終画素ＥＰである場合（ＲＤ５：Ｙｅｓ）は、異常画素記憶処理を終了する。
【００８１】
（具体的なケース）
図８を用いて、読取位置ＳＰが確定される具体的なケースについて説明する。本ケースでは、簡単な模式図として図８（ａ）を示し、ゴミ記憶領域１４ａとして図８（ｂ）を示す。本ケースでは、説明のため簡略化して主走査方向に１０画素および副走査方向に１６ラインの領域を読取領域として説明する。先頭ラインが０ラインであり、最終ラインが１５ラインである。本ケースでは、読取領域内に５画素の異常画素が存在するときに読取位置ＳＰを確定させる過程について説明する。本ケースでは、異常画素の位置は図８（ａ）において斜線で示した画素位置であり、図８（ｂ）においてゴミ検出位置Ｑで囲まれた数値である。ここでも、検出領域の範囲を示すライン数Ｔｈを「２」とする。
【００８２】
本ケースでのライン距離係数ＬＤＦを算出する過程について説明する。対象ラインＴＬが「０ライン」に設定された場合の処理を説明する。上流側検出領域内に異常画素ＤＰが存在しない（ＲＡ３：Ｎｏ）ため、上流側ライン距離係数Ｌ（０）は０に設定される。下流側検出領域内に異常画素ＤＰが存在する（ＲＡ７：Ｙｅｓ）ため、対象ラインＴＬである「０ライン」と異常画素ＤＰが存在する「１ライン」との差分である１が距離ＲＶＳとして算出される。さらに、処理ＲＡ１０においてライン数Ｔｈを示す２から距離ＲＶＳを示す１を引算した値に１を加算することで下流側ライン距離係数Ｒ（０）が２と算出される。対象ラインＴＬは「０ライン」であるため最終ラインＥＬ「１５ライン」でない（ＲＡ１１：Ｎｏ）ため処理ＲＡ１に進む。次に、対象ラインＴＬが「１ライン」に設定された場合の処理を説明する。異常画素ＤＰが存在する（ＲＡ２：Ｙｅｓ）ため処理ＲＡ１１に進む。対象ラインＴＬは「１ライン」であり最終ラインＥＬ「１５ライン」でない（ＲＡ１１：Ｎｏ）ため、処理ＲＡ１に進む。
【００８３】
次に、対象ラインＴＬが「２ライン」に設定された場合の処理を説明する。上流側検出領域である「１ライン」に異常画素ＤＰが存在する（ＲＡ３：Ｙｅｓ）ため、対象ラインＴＬを示す「２ライン」と異常画素ＤＰが存在する「１ライン」との差分である１が距離ＬＶＳとして算出される。上流側ライン距離係数Ｌ（２）は、ライン数Ｔｈを示す２から距離ＬＶＳを示す１を引算した値に１を加算することで２と算出される。下流側検出領域である「４ライン」に異常画素ＤＰが存在する（ＲＡ７：Ｙｅｓ）ため、対象ラインＴＬを示す「２ライン」と異常画素ＤＰが存在する「４ライン」との差分である２が距離ＲＶＳとして算出される。下流側ライン距離係数Ｒ（２）は、ライン数Ｔｈを示す２から距離ＲＶＳを示す２を引算した値に１を加算することで１と算出される。対象ラインＴＬは「２ライン」であり最終ラインＥＬ「１５ライン」でない（ＲＡ１１：Ｎｏ）ため、処理ＲＡ１に進む。
【００８４】
次に、対象ラインＴＬが「３ライン」に設定された場合の処理を説明する。上流側検出領域である「１ライン」に異常画素ＤＰが存在する（ＲＡ３：Ｙｅｓ）ため、対象ラインＴＬを示す「３ライン」と異常画素ＤＰが存在する「１ライン」との差分である２が距離ＬＶＳとして算出される。上流側ライン距離係数Ｌ（３）は、ライン数Ｔｈを示す２から距離ＬＶＳを示す２を引算した値に１を加算することで１と算出される。下流側検出領域である「４ライン」に異常画素ＤＰが存在する（ＲＡ７：Ｙｅｓ）ため、対象ラインＴＬ「３ライン」と異常画素ＤＰが存在する「４ライン」との差分である１が距離ＲＶＳとして算出される。下流側ライン距離係数Ｒ（３）は、ライン数Ｔｈを示す２から距離ＲＶＳを示す１を引算した値に１を加算することで２と算出される。対象ラインＴＬは「３ライン」であるため最終ラインＥＬ「１５ライン」でない（ＲＡ１１：Ｎｏ）ため処理ＲＡ１に進む。次に、対象ラインＴＬが「４ライン」に設定された場合の処理を説明する。異常画素ＤＰが存在する（ＲＡ２：Ｙｅｓ）ため処理ＲＡ１１に進む。対象ラインＴＬは「４ライン」であり最終ラインＥＬ「１５ライン」でない（ＲＡ１１：Ｎｏ）ため、処理ＲＡ１に進む。
【００８５】
次に、対象ラインＴＬが「５ライン」に設定されたときは、上流側検出領域である「４ライン」に異常画素ＤＰが存在する（ＲＡ３：Ｙｅｓ）ため、対象ラインＴＬを示す「５ライン」と異常画素ＤＰが存在する「４ライン」との差分である１が距離ＬＶＳとして算出される。上流側ライン距離係数Ｌ（５）は、ライン数Ｔｈを示す２から距離ＬＶＳを示す１を引算した値に１を加算することで２と算出される。下流側検出領域である「６ライン」に異常画素ＤＰが存在する（ＲＡ７：Ｙｅｓ）ため、対象ラインＴＬを示す「５ライン」と異常画素ＤＰが存在する「６ライン」との差分である１が距離ＲＶＳとして算出される。下流側ライン距離係数Ｒ（５）は、ライン数Ｔｈを示す２から距離ＲＶＳを示す１を引算した値に１を加算することで２と算出される。対象ラインＴＬは「５ライン」であるため最終ラインＥＬ「１５ライン」でない（ＲＡ１１：Ｎｏ）ため処理ＲＡ１に進む。次に、対象ラインＴＬが「６ライン」に設定された場合の処理を説明する。異常画素ＤＰが存在する（ＲＡ２：Ｙｅｓ）ため処理ＲＡ１１に進む。対象ラインＴＬは「６ライン」であり最終ラインＥＬ「１５ライン」でない（ＲＡ１１：Ｎｏ）ため、処理ＲＡ１に進む。
【００８６】
次に、対象ラインＴＬが「７ライン」に設定された場合の処理を説明する。上流側検出領域である「６ライン」に異常画素ＤＰが存在する（ＲＡ３：Ｙｅｓ）ため、対象ラインＴＬを示す「７ライン」と異常画素ＤＰが存在する「６ライン」との差分である１が距離ＬＶＳとして算出される。上流側ライン距離係数Ｌ（７）は、ライン数Ｔｈを示す２から距離ＬＶＳを示す１を引算した値に１を加算することで２と算出される。下流側検出領域に異常画素ＤＰが存在しない（ＲＡ７：Ｎｏ）ため、下流側ライン距離係数Ｒ（７）は０に設定される。対象ラインＴＬは「７ライン」であり最終ラインＥＬ「１５ライン」でない（ＲＡ１１：Ｎｏ）ため、処理ＲＡ１に進む。
【００８７】
次に、対象ラインＴＬが「８ライン」に設定された場合の処理を説明する。上流側検出領域である「６ライン」に異常画素ＤＰが存在する（ＲＡ３：Ｙｅｓ）ため、対象ラインＴＬを示す「８ライン」と異常画素ＤＰが存在する「６ライン」との差分である２が距離ＬＶＳとして算出される。上流側ライン距離係数Ｌ（８）は、ライン数Ｔｈを示す２から距離ＬＶＳを示す２を引算した値に１を加算することで１と算出される。下流側検出領域である「１０ライン」に異常画素ＤＰが存在する（ＲＡ７：Ｙｅｓ）ため、対象ラインＴＬを示す「８ライン」と異常画素ＤＰが存在する「１０ライン」との差分である２が距離ＲＶＳとして算出される。下流側ライン距離係数Ｒ（８）は、ライン数Ｔｈを示す２から距離ＲＶＳを示す２を引算した値に１を加算することで１と算出される。対象ラインＴＬは「８ライン」であり最終ラインＥＬ「１５ライン」でない（ＲＡ１１：Ｎｏ）ため、処理ＲＡ１に進む。
【００８８】
次に、対象ラインＴＬが「９ライン」に設定された場合の処理を説明する。上流側検出領域に異常画素が存在しない（ＲＡ３：Ｎｏ）ため、上流側ライン距離係数Ｌ（９）は０に設定される。下流側検出領域である「１０ライン」に異常画素ＤＰが存在する（ＲＡ７：Ｙｅｓ）ため、対象ラインＴＬを示す「９ライン」と異常画素ＤＰが存在する「１０ライン」との差分である１が距離ＲＶＳとして算出される。下流側ライン距離係数Ｒ（９）は、ライン数Ｔｈを示す２から距離ＲＶＳを示す１を引算した値に１を加算することで２と算出される。対象ラインＴＬは「９ライン」であるため最終ラインＥＬ「１５ライン」でない（ＲＡ１１：Ｎｏ）ため処理ＲＡ１に進む。次に、対象ラインＴＬが「１０ライン」に設定された場合の処理を説明する。異常画素ＤＰが存在する（ＲＡ２：Ｙｅｓ）ため処理ＲＡ１１に進む。対象ラインＴＬは「１０ライン」であり最終ラインＥＬ「１５ライン」でない（ＲＡ１１：Ｎｏ）ため、処理ＲＡ１に進む。
【００８９】
次に、対象ラインＴＬが「１１ライン」に設定された場合の処理を説明する。上流側検出領域である「１０ライン」に異常画素ＤＰが存在する（ＲＡ３：Ｙｅｓ）ため、対象ラインＴＬを示す「１１ライン」と異常画素ＤＰが存在する「１０ライン」との差分である１が距離ＬＶＳとして算出される。上流側ライン距離係数Ｌ（１１）は、ライン数Ｔｈを示す２から距離ＬＶＳを示す１を引算した値に１を加算することで２と算出される。下流側検出領域に異常画素ＤＰが存在しない（ＲＡ７：Ｎｏ）ため、下流側ライン距離係数Ｒ（１１）は０に設定される。対象ラインＴＬは「１１ライン」であり最終ラインＥＬ「１５ライン」でない（ＲＡ１１：Ｎｏ）ため、処理ＲＡ１に進む。
【００９０】
次に、対象ラインＴＬが「１２ライン」に設定された場合の処理を説明する。上流側検出領域である「１０ライン」に異常画素ＤＰが存在する（ＲＡ３：Ｙｅｓ）ため、対象ラインＴＬを示す「１２ライン」と異常画素ＤＰが存在する「１０ライン」との差分である２が距離ＬＶＳとして算出される。上流側ライン距離係数Ｌ（１２）は、ライン数Ｔｈを示す２から距離ＬＶＳを示す２を引算した値に１を加算することで１と算出される。下流側検出領域に異常画素ＤＰが存在しない（ＲＡ７：Ｎｏ）ため、下流側ライン距離係数Ｒ（１２）は０に設定される。対象ラインＴＬは「１２ライン」であり最終ラインＥＬ「１５ライン」でない（ＲＡ１１：Ｎｏ）ため、処理ＲＡ１に進む。
【００９１】
次に、対象ラインＴＬが「１３ライン」に設定された場合の処理を説明する。上流側検出領域に異常画素ＤＰが存在しない（ＲＡ３：Ｎｏ）ため、上流側ライン距離係数Ｌ（１３）は０に設定される。下流側ライン距離係数Ｒ（１３）は、下流側検出領域に異常画素ＤＰが存在しない（ＲＡ７：Ｎｏ）ため、下流側ライン距離係数Ｒ（１３）は０に設定される。対象ラインＴＬは「１３ライン」であり最終ラインＥＬ「１５ライン」でない（ＲＡ１１：Ｎｏ）ため、処理ＲＡ１に進む。１４ラインおよび１５ラインも検出領域内に異常画素ＤＰが存在しないため、上流側ライン距離係数Ｌ（１４，１５）および下流側ライン距離係数Ｒ（１４、１５）は０に設定される。
【００９２】
本ケースでの近接画素間距離係数ＣＤＦを算出する過程について説明する。対象ラインＴＬが「０ライン」に設定された場合の処理を説明する。上流側検出領域に異常画素ＤＰが存在しない（ＲＢ３：Ｎｏ）ため、近接画素間距離係数Ｐ（０）が０に設定される。対象ラインＴＬは「０ライン」であるため最終ラインＥＬ「１５ライン」でない（ＲＢ１４：Ｎｏ）ため処理ＲＢ１に進む。次に、対象ラインＴＬが「１ライン」に設定された場合の処理を説明する。異常画素ＤＰが存在する（ＲＢ２：Ｙｅｓ）ため処理ＲＢ１４に進む。対象ラインＴＬは「１ライン」であり最終ラインＥＬ「１５ライン」でない（ＲＢ１４：Ｎｏ）ため、処理ＲＢ１に進む。
【００９３】
次に、対象ラインＴＬが「２ライン」に設定された場合の処理を説明する。上流側検出領域および下流側検出領域に異常画素ＤＰが存在するため（ＲＢ３：Ｙｅｓ、ＲＢ５：Ｙｅｓ）、上流側対象異常画素ＤＤＰとして画素位置（１、２）の画素が設定される。ここで、画素位置（１、２）は副走査方向の「１ライン」、主走査方向の「２画素」の位置を示す。下流側検出領域において画素位置（１、２）の画素に最も近接する異常画素ＤＰとして画素位置（４、４）の画素が検索される。画素位置（１、２）と画素位置（４、４）とから距離Ｋが３．２として算出される。画素位置（１、２）の画素は最終異常画素のため（ＲＢ９：Ｙｅｓ）、距離Ｋの最小値Ｋｍｉｎは３．２となる。距離Ｋの最小値Ｋｍｉｎは３以上５未満であるため（ＲＢ１２：Ｙｅｓ）、Ｐ（２）は１に設定される。
【００９４】
次に、対象ラインＴＬが「３ライン」に設定された場合の処理を説明する。上流側検出領域および下流側検出領域に異常画素ＤＰが存在するため（ＲＢ３：Ｙｅｓ、ＲＢ５：Ｙｅｓ）、上流側対象異常画素ＤＤＰとして画素位置（１、２）の画素が設定される。下流側検出領域において画素位置（１、２）の画素に最も近接する異常画素ＤＰとして画素位置（４、４）の画素が検索される。画素位置（１、２）と画素位置（４、４）とから距離Ｋが３．２として算出される。画素位置（１、２）の画素は最終異常画素のため（ＲＢ９：Ｙｅｓ）、距離Ｋの最小値Ｋｍｉｎは３．２となる。距離Ｋの最小値Ｋｍｉｎは３以上５未満であるため（ＲＢ１２：Ｙｅｓ）、Ｐ（３）は１に設定される。次に、対象ラインＴＬが「４ライン」に設定されたときは、異常画素ＤＰが存在する（ＲＢ２：Ｙｅｓ）ため処理ＲＢ１４に進む。対象ラインＴＬは「４ライン」であり最終ラインＥＬ「１５ライン」でない（ＲＢ１４：Ｎｏ）ため、処理ＲＢ１に進む。
【００９５】
次に、対象ラインＴＬが「５ライン」に設定された場合の処理を説明する。上流側検出領域および下流側検出領域に異常画素ＤＰが存在するため（ＲＢ３：Ｙｅｓ、ＲＢ５：Ｙｅｓ）、上流側対象異常画素ＤＤＰとして画素位置（４、４）の画素が設定される。下流側検出領域において画素位置（４、４）の画素に最も近接する異常画素ＤＰとして画素位置（６、５）の画素が検索される（ＲＢ７）。画素位置（４、４）と画素位置（６、５）とから距離Ｋが２．２として算出される。画素位置（４、４）の画素は最終異常画素でないため（ＲＢ９：Ｎｏ）、次の上流側対象異常画素として画素位置（４、５）の画素が設定される。下流側検出領域において画素位置（４、５）に最も近接する異常画素ＤＰとして画素位置（６、５）が検索される。画素位置（４、５）と画素位置（６、５）とから距離Ｋが２として算出される。画素位置（４、５）の画素は最終異常画素のため（ＲＢ９：Ｙｅｓ）、距離Ｋの最小値Ｋｍｉｎは２となる。距離Ｋの最小値Ｋｍｉｎは３以下（ＲＢ１０：Ｙｅｓ）のため、Ｐ（５）は３に設定される。次に、対象ラインＴＬが「６ライン」に設定された場合の処理を説明する。異常画素ＤＰが存在する（ＲＢ２：Ｙｅｓ）ため処理ＲＢ１４に進む。対象ラインＴＬは「６ライン」であり最終ラインＥＬ「１５ライン」でない（ＲＢ１４：Ｎｏ）ため、処理ＲＢ１に進む。
【００９６】
次に、対象ラインＴＬが「７ライン」に設定された場合の処理を説明する。下流側検出領域に異常画素ＤＰが存在しない（ＲＢ５：Ｎｏ）ため、近接画素間距離係数Ｐ（７）が０に設定される。対象ラインＴＬは「７ライン」であり最終ラインＥＬ「１５ライン」でない（ＲＢ１４：Ｎｏ）ため処理ＲＢ１に進む。
【００９７】
次に、対象ラインＴＬが「８ライン」に設定された場合の処理を説明する。上流側検出領域および下流側検出領域に異常画素ＤＰが存在するため（ＲＢ３：Ｙｅｓ、ＲＢ５：Ｙｅｓ）、上流側対象異常画素として画素位置（６、５）の画素が設定される。下流側検出領域において画素位置（６、５）に最も近接する異常画素ＤＰとして画素位置（１０、７）が検索される。画素位置（６、５）と画素位置（１０、７）とから距離Ｋが４．５として算出される。画素位置（６、５）の画素は最終異常画素のため（ＲＢ９：Ｙｅｓ）、距離Ｋの最小値Ｋｍｉｎは４．５となる。距離Ｋの最小値Ｋｍｉｎは３以上５未満であるため（ＲＢ１２：Ｙｅｓ）、Ｐ（８）は１に設定される。
【００９８】
次に、対象ラインＴＬが「９ライン」に設定された場合の処理を説明する。上流側検出領域に異常画素ＤＰが存在しない（ＲＢ５：Ｎｏ）ため、近接画素間距離係数Ｐ（９）が０に設定される。対象ラインＴＬは「９ライン」であるため最終ラインＥＬ「１５ライン」でない（ＲＢ１４：Ｎｏ）ため処理ＲＢ１に進む。次に、対象ラインＴＬが「１０ライン」に設定された場合の処理は、異常画素ＤＰが存在する（ＲＢ２：Ｙｅｓ）ため処理ＲＢ１４に進む。対象ラインＴＬは「１０ライン」であり最終ラインＥＬ「１５ライン」でない（ＲＢ１４：Ｎｏ）ため処理ＲＢ１に進む。
【００９９】
次に、対象ラインＴＬが「１１ライン」に設定された場合の処理を説明する。下流側検出領域に異常画素ＤＰが存在しない（ＲＢ５：Ｎｏ）ため、近接画素間距離係数Ｐ（１１）が０に設定される。対象ラインＴＬは「１１ライン」であり最終ラインＥＬ「１５ライン」でない（ＲＢ１４：Ｎｏ）ため、処理ＲＢ１に進む。１２ライン、１３ライン、１４ラインおよび１５ラインも下流側検出領域内に異常画素ＤＰが存在しないため、近接画素間距離係数Ｐ（１２、１３、１４、１５）は０に設定される。
【０１００】
本ケースでの状態係数ＤＳＦを算出する過程について説明する。対象ラインＴＬが「０ライン」に設定された場合の処理を説明する。上流側検出領域に異常画素ＤＰが存在しない（ＲＣ３：Ｎｏ、ＲＣ７：Ｎｏ）ため、状態係数Ｓ（０）が０に設定される。下流側検出領域に異常画素ＤＰが存在する（ＲＣ９：Ｙｅｓ）ため、処理ＲＣ１０に進む。下流側検出領域内の異常画素数ＤＤＰＮは１であり、下流側検出領域全体の画素数である２０の１０％に満たない（ＲＣ１０：Ｎｏ）。下流側検出領域内の画素も連続していない（ＲＣ１２：Ｎｏ）。よって、状態係数Ｓ（０）は０のままである。次に、対象ラインＴＬが「１ライン」に設定された場合の処理を説明する。異常画素ＤＰが存在する（ＲＣ２：Ｙｅｓ）ため処理ＲＣ１４に進む。対象ラインＴＬは「１ライン」であり最終ラインＥＬ「１５ライン」でない（ＲＣ１４：Ｎｏ）ため、処理ＲＣ１に進む。
【０１０１】
次に、対象ラインＴＬが「２ライン」に設定された場合の処理を説明する。上流側検出領域に異常画素ＤＰが存在する（ＲＣ３：Ｙｅｓ）ため、処理ＲＣ５に進む。上流側検出領域内の異常画素数ＵＤＰＮは１であり、上流側検出領域全体の画素数である２０の１０％に満たない（ＲＣ５：Ｎｏ）。上流側検出領域内の画素も連続していない（ＲＣ７：Ｎｏ）。よって、状態係数Ｓ（２）は０に設定される。下流側検出領域に異常画素ＤＰが存在する（ＲＣ９：Ｙｅｓ）ため、処理ＲＣ１０に進む。下流側検出領域内の異常画素数ＤＤＰＮは２であり、下流側検出領域全体の画素数である２０の１０％以上である（ＲＣ１０：Ｙｅｓ）ため、状態係数Ｓ（２）は１が加算されて、１となる。下流側検出領域内の画素が連続しているため（ＲＣ１２：Ｙｅｓ）、状態係数Ｓ（２）は１が加算されて、２となる。対象ラインＴＬは「２ライン」であり最終ラインＥＬ「１５ライン」でない（ＲＣ１４：Ｎｏ）ため、処理ＲＣ１に進む。
【０１０２】
次に、対象ラインＴＬが「３ライン」に設定された場合の処理を説明する。上流側検出領域に異常画素ＤＰが存在する（ＲＣ３：Ｙｅｓ）ため、処理ＲＣ５に進む。上流側検出領域内の異常画素数ＵＤＰＮは１であり、上流側検出領域全体の画素数である２０の１０％に満たない（ＲＣ５：Ｎｏ）。上流側検出領域内の画素も連続していない（ＲＣ７：Ｎｏ）。よって、状態係数Ｓ（３）は０に設定される。下流側検出領域に異常画素ＤＰが存在する（ＲＣ９：Ｙｅｓ）ため、処理ＲＣ１０に進む。下流側検出領域内の異常画素数ＤＤＰＮは２であり、下流側検出領域全体の画素数である２０の１０％以上である（ＲＣ１０：Ｙｅｓ）ため、状態係数Ｓ（３）は１が加算されて、１となる。下流側検出領域内の画素が連続しているため（ＲＣ１２：Ｙｅｓ）、状態係数Ｓ（３）は１が加算されて、２となる。対象ラインＴＬは「３ライン」であり最終ラインＥＬ「１５ライン」でない（ＲＣ１４：Ｎｏ）ため、処理ＲＣ１に進む。次に、対象ラインＴＬが「４ライン」に設定された場合の処理を説明する。異常画素ＤＰが存在する（ＲＣ２：Ｙｅｓ）ため処理ＲＣ１４に進む。対象ラインＴＬは「４ライン」であり最終ラインＥＬ「１５ライン」でない（ＲＣ１４：Ｎｏ）ため、処理ＲＣ１に進む。
【０１０３】
次に、対象ラインＴＬが「５ライン」に設定された場合の処理を説明する。上流側検出領域に異常画素ＤＰが存在する（ＲＣ３：Ｙｅｓ）ため、処理ＲＣ５に進む。上流側検出領域内の異常画素数ＵＤＰＮは２であり、上流側検出領域全体の画素数である２０の１０％以上である（ＲＣ５：Ｙｅｓ）ため、状態係数Ｓ（５）は１に設定される。上流側検出領域内の画素が連続している（ＲＣ７：Ｙｅｓ）ため、状態係数Ｓ（５）は１が加算されて、２となる。下流側検出領域に異常画素ＤＰが存在する（ＲＣ９：Ｙｅｓ）ため、処理ＲＣ１０に進む。下流側検出領域内の異常画素数ＤＤＰＮは１であり、下流側検出領域全体の画素数である２０の１０％に満たない。下流側検出領域内の画素も連続していない（ＲＣ１２：Ｎｏ）。よって、状態係数Ｓ（５）は２のままである。対象ラインＴＬは「５ライン」であり最終ラインＥＬ「１５ライン」でない（ＲＣ１４：Ｎｏ）ため、処理ＲＣ１に進む。次に、対象ラインＴＬが「６ライン」に設定された場合の処理を説明する。異常画素ＤＰが存在する（ＲＣ２：Ｙｅｓ）ため処理ＲＣ１４に進む。対象ラインＴＬは「６ライン」であり最終ラインＥＬ「１５ライン」でない（ＲＣ１４：Ｎｏ）ため、処理ＲＣ１に進む。
【０１０４】
次に、対象ラインＴＬが「７ライン」に設定された場合の処理を説明する。上流側検出領域に異常画素ＤＰが存在する（ＲＣ３：Ｙｅｓ）ため、処理ＲＣ５に進む。上流側検出領域内の異常画素数ＵＤＰＮは１であり、上流側検出領域全体の画素数である２０の１０％に満たない（ＲＣ５：Ｎｏ）。上流側検出領域内の画素も連続していない（ＲＣ７：Ｎｏ）。よって、状態係数Ｓ（７）は０に設定される。下流側検出領域に異常画素ＤＰが存在しない（ＲＣ９：Ｎｏ）ため、処理ＲＣ１４に進む。対象ラインＴＬは「７ライン」であり最終ラインＥＬ「１５ライン」でない（ＲＣ１４：Ｎｏ）ため、処理ＲＣ１に進む。
【０１０５】
次に、対象ラインＴＬが「８ライン」に設定された場合の処理を説明する。上流側検出領域に異常画素ＤＰが存在する（ＲＣ３：Ｎｏ）ため、処理ＲＣ５に進む。上流側検出領域内の異常画素数ＵＤＰＮは１であり、上流側検出領域全体の画素数である２０の１０％に満たない（ＲＣ５：Ｎｏ）。上流側検出領域内の画素も連続していない（ＲＣ７：Ｎｏ）。よって、状態係数Ｓ（８）は１に設定される。下流側検出領域に異常画素ＤＰが存在する（ＲＣ９：Ｙｅｓ）ため、処理ＲＣ１０に進む。下流側検出領域内の異常画素数ＤＤＰＮは１であり、下流側検出領域全体の画素数である２０の１０％に満たない（ＲＣ１０：Ｎｏ）。下流側検出領域内の画素が連続していないため（ＲＣ１２：Ｎｏ）、状態係数Ｓ（８）は１のままである。対象ラインＴＬは「８ライン」であり最終ラインＥＬ「１５ライン」でない（ＲＣ１４：Ｎｏ）ため、処理ＲＣ１に進む。
【０１０６】
次に、対象ラインＴＬが「９ライン」に設定された場合の処理を説明する。上流側検出領域に異常画素ＤＰが存在しない（ＲＣ３：Ｙｅｓ）ため、状態係数Ｓ（９）は０に設定される。下流側検出領域に異常画素ＤＰが存在しない（ＲＣ９：Ｎｏ）ため、処理ＲＣ１４に進む。対象ラインＴＬは「９ライン」であり最終ラインＥＬ「１５ライン」でない（ＲＣ１４：Ｎｏ）ため、処理ＲＣ１に進む。次に、対象ラインＴＬが「１０ライン」に設定されたときを説明する。異常画素ＤＰが存在する（ＲＣ２：Ｙｅｓ）ため処理ＲＣ１４に進む。対象ラインＴＬは「１０ライン」であり最終ラインＥＬ「１５ライン」でない（ＲＣ１４：Ｎｏ）ため、処理ＲＣ１に進む。
【０１０７】
次に、対象ラインＴＬが「１１ライン」に設定された場合の処理を説明する。上流側検出領域に異常画素ＤＰが存在する（ＲＣ３：Ｙｅｓ）ため、処理ＲＣ５に進む。上流側検出領域内の異常画素数ＵＤＰＮは１であり、上流側検出領域全体の画素数２０の１０％に満たない（ＲＣ５：Ｎｏ）。上流側検出領域内の画素も連続していない（ＲＣ７：Ｎｏ）。よって、状態係数Ｓ（１１）は０に設定される。下流側検出領域に異常画素ＤＰが存在しない（ＲＣ９：Ｎｏ）ため、処理ＲＣ１４に進む。対象ラインＴＬは「１１ライン」であり最終ラインＥＬ「１５ライン」でない（ＲＣ１４：Ｎｏ）ため、処理ＲＣ１に進む。
【０１０８】
次に、対象ラインＴＬが「１２ライン」に設定された場合の処理を説明する。上流側検出領域に異常画素ＤＰが存在する（ＲＣ３：Ｙｅｓ）ため、処理ＲＣ５に進む。上流側検出領域内の異常画素数ＵＤＰＮは１であり、上流側検出領域全体の画素数２０の１０％に満たない（ＲＣ５：Ｎｏ）。上流側検出領域内の画素も連続していない（ＲＣ７：Ｎｏ）。よって、状態係数Ｓ（１２）は０に設定される。下流側検出領域に異常画素ＤＰが存在しない（ＲＣ９：Ｎｏ）ため、処理ＲＣ１４に進む。対象ラインＴＬは「１１ライン」であり最終ラインＥＬ「１５ライン」でない（ＲＣ１４：Ｎｏ）ため、処理ＲＣ１に進む。
【０１０９】
次に、対象ラインＴＬが「１３ライン」に設定された場合の処理を説明する。上流側検出領域に異常画素ＤＰが存在しない（ＲＣ３：Ｎｏ）ため、状態係数Ｓ（１３）が０に設定される。下流側検出領域に異常画素ＤＰが存在しない（ＲＣ９：Ｎｏ）ため、処理ＲＣ１４に進む。対象ラインＴＬは「１３ライン」であり最終ラインＥＬ「１５ライン」でない（ＲＣ１４：Ｎｏ）ため、処理ＲＣ１に進む。「１４ライン」および「１５ライン」も「１３ライン」と同様に検出領域内に異常画素ＤＰが存在しないため、状態係数Ｓ（１４、１５）は０に設定される。
【０１１０】
本ケースでの異常画素係数ＤＤＦを算出する過程について説明する。ゴミ記憶領域１４ａに記憶されていない「０ライン」、「２ライン」、「３ライン」、「５ライン」、「７ライン」、「８ライン」、「９ライン」、「１１ライン」、「１２ライン」、「１３ライン」、「１４ライン」、および「１５ライン」について各異常画素係数Ｄ（ｘ）を算出する。
【０１１１】
異常画素係数Ｄ（０）は、上流側ライン距離係数Ｌ（０）である０に下流側ライン距離係数Ｒ（０）である２と近接画素間距離係数Ｐ（０）である０と状態係数Ｓ（０）である０とを加算し、２となる。
【０１１２】
異常画素係数Ｄ（２）は、上流側ライン距離係数Ｌ（２）である２に下流側ライン距離係数Ｒ（２）である１と近接画素間距離係数Ｐ（２）である１と状態係数Ｓ（２）である２とを加算し、４となる。
【０１１３】
異常画素係数Ｄ（３）は、上流側ライン距離係数Ｌ（３）である１に下流側ライン距離係数Ｒ（３）である２と近接画素間距離係数Ｐ（３）である１と状態係数Ｓ（３）である２とを加算し、６となる。
【０１１４】
異常画素係数Ｄ（５）は、上流側ライン距離係数Ｌ（５）である２に下流側ライン距離係数Ｒ（５）である２と近接画素間距離係数Ｐ（５）である３と状態係数Ｓ（５）である２とを加算し、９となる。
【０１１５】
異常画素係数Ｄ（７）は、上流側ライン距離係数Ｌ（７）である２に下流側ライン距離係数Ｒ（７）である０と近接画素間距離係数Ｐ（７）である０と状態係数Ｓ（７）である０とを加算し、２となる。
【０１１６】
異常画素係数Ｄ（８）は、上流側ライン距離係数Ｌ（８）である１に下流側ライン距離係数Ｒ（８）である１と近接画素間距離係数Ｐ（８）である１と状態係数Ｓ（８）である１とを加算し、４となる。
【０１１７】
異常画素係数Ｄ（９）は、上流側ライン距離係数Ｌ（９）である０に下流側ライン距離係数Ｒ（９）である２と近接画素間距離係数Ｐ（９）である０と状態係数Ｓ（９）である０とを加算し、２となる。
【０１１８】
異常画素係数Ｄ（１１）は、上流側ライン距離係数Ｌ（１１）である２に下流側ライン距離係数Ｒ（１１）である０と近接画素間距離係数Ｐ（１１）である０と状態係数Ｓ（１１）である０とを加算し、２となる。
【０１１９】
異常画素係数Ｄ（１２）は、上流側ライン距離係数Ｌ（１２）である１に下流側ライン距離係数Ｒ（１２）である０と近接画素間距離係数Ｐ（１２）である０と状態係数Ｓ（１２）である０とを加算し、１となる。
【０１２０】
異常画素係数Ｄ（１３）は、上流側ライン距離係数Ｌ（１３）である０に下流側ライン距離係数Ｒ（１３）である０と近接画素間距離係数Ｐ（１３）である０と状態係数Ｓ（１３）である０とを加算し、０となる。異常画素係数Ｄ（１４、１５）も「１３ライン」と同様に、０となる。
【０１２１】
本ケースでは、読取位置ＳＰは異常画素係数ＤＤＦの最も小さい「１３ライン」、「１４ライン」、「１５ライン」のうち白色基準板６１に近い副走査方向の上流側の副走査位置である「１３ライン」で確定する。
【０１２２】
＜実施形態の効果＞
本実施形態では、ライン距離係数ＬＤＦ算出処理（Ｒ３）において、対象ラインＴＬと検出領域内に存在する異常画素ＤＰとの距離ＬＶＳ、ＲＶＳを算出し、距離が近いほどライン距離係数ＬＤＦが大きくなるように算出している。異常画素係数ＤＤＦ算出処理（Ｒ６）において、異常画素係数ＤＤＦは、ライン距離係数ＬＤＦに他の係数を加算して算出されている。読取位置ＳＰ確定処理（Ｒ７）において、異常画素係数ＤＤＦが小さいラインを読取位置ＳＰとして確定している。よって、異常画素ＤＰから離れた位置を読取位置ＳＰとして確定することができ、読取結果に筋が発生し難くなる。
【０１２３】
本実施形態では、近接画素間距離係数ＣＤＦ算出処理（Ｒ４）において、対象ラインＴＬの上流側に存在する異常画素ＤＰと下流側に存在する異常画素ＤＰとの距離が５以下である場合に、近接画素間距離係数ＣＤＦを設定している。異常画素係数ＤＤＦ算出処理（Ｒ６）において、異常画素係数ＤＤＦは、近接画素間距離係数ＣＤＦを加算して算出されている。読取位置ＳＰ確定処理（Ｒ７）において、異常画素係数ＤＤＦが小さいラインを読取位置ＳＰとして確定している。よって、上流側と下流側との異常画素ＤＰの距離が５より大きい位置を読取位置ＳＰとして確定することができ、対象ラインＴＬの上下両側にある異常画素ＤＰの影響を受け難い読取結果を得ることができる。
【０１２４】
本実施形態では、状態係数ＤＳＦ算出処理（Ｒ５）において、対象ラインＴＬの検出領域に存在する異常画素の画素数が検出領域における画素数の１０％以上の場合に、状態係数ＤＳＦを設定している。異常画素係数ＤＤＦ算出処理（Ｒ６）において、異常画素係数ＤＤＦは、状態係数ＤＳＦを加算して算出されている。読取位置ＳＰ確定処理（Ｒ７）において、異常画素係数ＤＤＦが小さいラインを読取位置ＳＰとして確定している。よって、周辺に存在する異常画素の画素数が周辺領域の画素数の１０％未満である位置を読取位置ＳＰとして確定することができ、対象ラインＴＬの周辺に存在する異常画素ＤＰの影響を受け難い読取結果を得ることができる。
【０１２５】
本実施形態では、状態係数ＤＳＦ算出処理（Ｒ５）において、対象ラインＴＬの検出領域に存在する異常画素が連続して存在している場合に、状態係数ＤＳＦを設定している。異常画素係数ＤＤＦ算出処理（Ｒ６）において、異常画素係数ＤＤＦは、状態係数ＤＳＦを加算して算出されている。読取位置ＳＰ確定処理（Ｒ７）において、異常画素係数ＤＤＦが小さいラインを読取位置ＳＰとして確定している。よって、周辺に大きな異物がない位置を読取位置ＳＰとして確定することができ、対象ラインＴＬの周辺に存在する異常画素ＤＰの影響を一層受け難い読取結果を得ることができる。
【０１２６】
［実施形態と発明との対応関係］
画像読取装置１０および読取部１７が、本発明の画像読取装置および読取部の一例である。ＦＢモータＭＴ２および駆動回路１８が、本発明の移動ユニットの一例である。ＡＤＦ１９が、本発明の原稿搬送部の一例である。ＣＰＵ１１、およびフラッシュＰＲＯＭ１４が、本発明の制御部、および記憶部の一例である。１ライン読取処理（ＲＤ１）、および階調値が閾値よりも大きいか否かを判断する処理（ＲＤ３）が、本発明の検出処理の一例である。対象画素位置を異常画素位置として記憶する処理（ＲＤ４）が、本発明の位置記憶処理の一例である。ライン距離係数ＬＤＦ算出処理（Ｒ３）、および異常画素係数ＤＤＦ算出処理（Ｒ６）が、本発明の係数算出処理の一例である。読取位置ＳＰ確定処理（Ｒ７）が、本発明の確定処理の一例である。
【０１２７】
対象画素位置を異常画素位置として記憶する処理（ＲＤ４）が、本発明の画素位置記憶処理の一例である。近接画素間距離係数ＣＤＦ算出処理が、本発明の距離係数設定処理の一例である。状態係数ＤＳＦ算出処理（Ｒ５）が、本発明の画素数係数設定処理の一例である。状態係数ＤＳＦ算出処理（Ｒ５）が、本発明の画素連続係数設定処理の一例である。
【０１２８】
［変形例］
本発明は、本実施形態に限定されることなく、その趣旨を逸脱しない範囲において種々の変形が可能である。以下にその変形の一例を述べる。
【０１２９】
（１）本実施形態の画像読取装置１０は、ＡＤＦを用いた原稿の読み取りを実行可能な装置であれば、プリンタ部を備えた複合機に適用されてもよい。
【０１３０】
（２）本実施形態では、読取処理が終了後に、異常画素を検出して検出位置をフラッシュＰＲＯＭに記憶する説明をしたが、読取前に異常画素を検出しても良いし、ユーザからの指示に従って異常画素を検出しても良い。
【０１３１】
（３）本実施形態では、読取処理において読み取った読取位置に対して異常画素の検出を行ったが、読取領域全体を一度に検出する構成にしても良い。
【０１３２】
（４）本実施形態では、ライン距離係数ＬＤＦを算出するときに、ライン数Ｔｈから距離ＬＶＳ、ＲＶＳを引算した値に１を加算した値を上流側ライン距離係数および下流側ライン距離係数として算出し、上流側ライン距離係数に下流側ライン距離係数を加算して異常画素係数ＤＤＦとして算出したが、下流側ライン距離係数を加算せず、上流側ライン距離係数のみから算出しても良い。上流側から原稿により移動させられる異物による筋をなくすことができる。
【０１３３】
（５）本実施形態では、ライン距離係数ＬＤＦを算出するときに、ライン数Ｔｈから距離ＬＶＳ、ＲＶＳを引算した値に１を加算した値を上流側ライン距離係数および下流側ライン距離係数として算出し、上流側ライン距離係数に下流側ライン距離係数を加算して異常画素係数ＤＤＦとして算出したが、実際に読取を行う主走査範囲と異常画素との距離を算出し、算出した距離に基づいて異常画素係数を算出しても良い。
【符号の説明】
【０１３４】
１０…画像読取装置、１５…操作部、１７…読取部、１１…ＣＰＵ、１４…フラッシュＰＲＯＭ、２８…ＡＦＥ、２３…画像処理部、２２…デバイス制御部
【図１】
0006447102.tif 000002
【図２】
0006447102.tif 000003
【図３】
0006447102.tif 000004
【図４】
0006447102.tif 000005
【図５】
0006447102.tif 000006
【図６】
0006447102.tif 000007
【図７】
0006447102.tif 000008
【図８】
0006447102.tif 000009