(57)【要約】【課題】  ゴミ検知処理に特化した目的のために設置される専用ラインメモリを用いることなく、原稿読取り時にも用いるハードウェアを兼用し読取り位置に付着したゴミを検知する画像読取り装置を提供する。【解決手段】  本発明における画像読取り装置は、自動原稿搬送により搬送され原稿台ガラス面上の読取り位置を通過した原稿を読取る読取り手段、前記読取り手段により読取った原稿のデータを回転して出力する回転手段を有する画像読取り装置であり、前記読取り位置にある原稿台ガラス面を読取ったｍ値データをｎ値データ化（ｍ＞ｎ）し、前記回転手段によって、ｎ値化手段によってｎ値化されたデータを回転し、回転されたデータの副走査方向に構成される１ライン分のデータに対し、ｎ値化閾値以上である画素の数が第２の閾値以上である場合に、この画素の位置を記憶することを特徴とする。【選択図】  図１０
2011250178.tif 000002
【特許請求の範囲】
【請求項１】
自動原稿搬送により搬送され、原稿台ガラス面上の読取り位置を通過した原稿を読取る読取り手段と、前記読取り手段により読取った原稿のデータを回転して出力する回転手段を有している画像読取り装置であって、
前記読取り手段により、前記読取り位置にある原稿台ガラス面を読取ったｍ値データをｎ値データ化（ｍ＞ｎ）するｎ値化手段と、
前記回転手段によって、前記ｎ値化手段によってｎ値化されたデータを回転し、前記回転されたデータの副走査方向に構成される１ライン分のデータに対し、ｎ値化閾値以上である画素の数を数える算出手段と、
前記算出手段によって数えられた画素の数が第２の閾値以上であると、該画素の位置を記憶する記憶手段とを有することを特徴とする画像読取り装置。
【請求項２】
さらに、前記記憶手段によって記憶された位置に配置された画素の位置を、ゴミが読取られた位置と判定し、該ゴミが読取られた位置の画素のデータを補正する補正手段を有することを特徴とする請求項１に記載の画像読取り装置。
【請求項３】
前記記憶手段によって記憶された画素の配置された位置を、前記回転手段によって回転し、主走査方向と副走査方向が変換される前の配置された位置に変換することを特徴とする請求項１に記載の画像読取り装置。
【請求項４】
前記読取り手段によって複数枚の原稿を読取る場合、原稿を読取った後、次の原稿を読取る前に、前記読取り位置にある原稿台ガラス面を読取ることを特徴とする請求項１記載の画像読取り装置。
【請求項５】
前記算出手段による算出の結果、前記ｎ値化閾値以上である画素がＡ個続いて配置された場合にのみ、前記記憶手段により前記ｎ値化閾値以上である画素を記憶することを特徴とする請求項１記載の画像読取り装置。
【請求項６】
前記算出手段による算出の結果、前記ｎ値化閾値以上ではない画素がＢ個続いて発生した場合、前記算出手段を中止することを特徴とする請求項１記載の画像読取り装置。
【請求項７】
前記読取り手段によって前記１ライン分のデータをラインごとに読取る際、ライン閾値であるＣライン目以降を読取ると、前記算出手段は、ｎ値化閾値以上である画素の数を重み付けしながら累積することを特徴とする請求項１記載の画像読取り装置。
【請求項８】
自動原稿搬送により搬送され、原稿台ガラス面上の読取り位置を通過した原稿を読取る読取り手段と、前記読取り手段により読取った原稿のデータを回転して出力する回転手段を有している画像読取り装置の制御方法であって、
前記読取り手段により、前記読取り位置にある原稿台ガラス面を読取ったｍ値データをｎ値データ化（ｍ＞ｎ）するｎ値化ステップと、
前記回転手段によって、前記ｎ値化ステップによってｎ値化されたデータを回転し、前記回転されたデータの副走査方向に構成される１ライン分のデータに対し、ｎ値化閾値以上である画素の数を数える算出ステップと、
前記算出ステップによって数えられた画素の数が第２の閾値以上であると、該画素の位置を記憶する記憶ステップとを有することを特徴とする画像読取り装置の制御方法。
【請求項９】
さらに、前記記憶ステップによって記憶された位置に配置された画素の位置を、ゴミが読取られた位置と判定し、該ゴミが読取られた位置の画素のデータを補正する補正ステップを有することを特徴とする請求項８に記載の画像読取り装置の制御方法。
【請求項１０】
前記記憶ステップによって記憶された画素の配置された位置を、前記回転手段によって回転し、主走査方向と副走査方向が変換される前の配置された位置に変換することを特徴とする請求項７に記載の画像読取り装置の制御方法。
【請求項１１】
前記読取り手段によって複数枚の原稿を読取る場合、原稿を読取った後、次の原稿を読取る前に、前記読取り位置にある原稿台ガラス面を読取ることを特徴とする請求項８記載の画像読取り装置の制御方法。
【請求項１２】
前記算出ステップによる算出の結果、前記ｎ値化閾値以上である画素がＡ個続いて配置された場合にのみ、前記記憶ステップにより前記ｎ値化閾値以上である画素を記憶することを特徴とする請求項８記載の画像読取り装置の制御方法。
【請求項１３】
前記算出ステップによる算出の結果、前記ｎ値化閾値以上ではない画素がＢ個続いて発生した場合、前記算出ステップを中止することを特徴とする請求項８記載の画像読取り装置の制御方法。
【請求項１４】
前記読取り手段によって、前記１ライン分のデータをラインごとに読取る際、ライン閾値であるＣライン目以降を読取ると、前記算出ステップは、ｎ値化閾値以上である画素の数を重み付けしながら累積することを特徴とする請求項８記載の画像読取り装置の制御方法。
【請求項１５】
コンピュータに請求項８乃至１４に記載の方法を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像読取装置に関し、特に、画像の読取りを原稿搬送中に行う原稿流し読み機能を備えた画像読取装置に関する。
【背景技術】
【０００２】
画像の読取や印刷を行う複写機において、セットされた複数枚の原稿を自動的に１枚ずつ搬送する自動原稿搬送装置を用いて原稿の読取りを行うものがある。
【０００３】
この自動原稿搬送装置を用いた原稿の読取り方法の中に、原稿読取り位置に固定された読取り光学系機器を用いて原稿の読取りを行う”流し読み”と呼ばれる方式がある。
【０００４】
この方式においては、原稿読取り位置にゴミや埃が付着した場合又は傷や汚れがついた場合、読取り光学系機器の位置が固定されているため、その後に続く複数の原稿を読取る毎に、同じゴミ等を読取り続ける。その結果、読取り画像内に直線の黒スジが発生することがある。この原稿読取り位置に存在するゴミ、埃、傷、汚れ等（以下、これらを「ゴミ」と呼ぶ）は、読取った画像内に黒スジを発生させる要因となる。この黒スジの発生を抑止するための技術として、原稿読取り位置に存在するゴミを検知し、発生する黒スジを補正することにより、黒スジを目立たなくする技術が特許文献１に開示されている。この技術では、原稿自動搬送用の搬送ローラの白色面を読取り、その平均濃度をラインメモリ上に記憶させる。そして、この記録された濃度と、予め設定されている閾値とを比較し、記録された濃度が閾値以上の濃度を有する場合は、記録された濃度に対応する位置にゴミが付着していることを検知する。
【０００５】
また、特許文献２には、このゴミ検知のために設けたラインメモリの容量をより少ない容量にできる技術について開示されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００２−１８５７２５号公報
【特許文献２】特開２００２−１８５７２１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら上述した技術では、ゴミ検知のために原稿自動搬送用の搬送ローラなどの白色面を読取り、その平均濃度を記憶しておくために専用に用いるラインメモリが必要であった。このラインメモリのため、ゴミ検知回路の回路規模は増大してしまう。
【０００８】
そこで、本発明は、ゴミ検知処理に特化した目的のために設置される専用ラインメモリを用いることなく、原稿読取り時にも用いるハードウェアを兼用して読取り位置に付着したゴミを検知する画像読取装置及び画像読取方法を提供することを目的とする。
【課題を解決するための手段】
【０００９】
上記課題を解決するため、本発明の画像読取装置は、自動原稿搬送により搬送され、原稿台ガラス面上の読取り位置を通過した原稿を読取る読取り手段と、前記読取り手段により読取った原稿のデータを回転して出力する回転手段を有している画像読取り装置であって、前記読取り手段により、前記読取り位置にある原稿台ガラス面を読取ったｍ値データをｎ値データ化（ｍ＞ｎ）するｎ値化手段と、前記回転手段によって、前記ｎ値化手段によってｎ値化されたデータを回転し、前記回転されたデータの副走査方向に構成される１ライン分のデータに対しｎ値化閾値以上である画素の数を数える算出手段と、前記算出手段とによって数えられた画素の数が第２の閾値以上であると、該画素の位置を記憶する記憶手段とを有することを特徴とする。
【発明の効果】
【００１０】
本発明によれば、ゴミ検知処理に特化した目的のために設置される専用メモリを用いずに、原稿読取り時にも用いるハードウェアを兼用して、読取り位置に付着したゴミを検知することが可能になる。その結果、ゴミ検知処理に特化した回路の規模を縮小することができる。
【図面の簡単な説明】
【００１１】
【図１】複写機の概観例を示す図である。
【図２】スキャナ部の構造例を示す図である。
【図３】スキャナ部の流し読み動作時の構造例を示す図である。
【図４】コントローラの構成例を示すブロック図である。
【図５】操作ユニットの構成例を示す図である。
【図６】画像回転部の構成例を示すブロック図である。
【図７】画像回転のための画像メモリからのデータ読み出しを示す図である。
【図８】画像回転部における回転例を示す図である。
【図９】実施例１のスキャナＩＦ画像処理部の構成を示すブロック図である。
【図１０】実施例１のゴミ検知部の構成例を示すブロック図である。
【図１１】二値化スライスレベルを用いた二値化を説明するための図である。
【図１２】ゴミ判定レベルを用いて行うゴミ判定を説明するための図である。
【図１３】黒スジを含んだ白板データを示す図である。
【図１４】白板データの回転処理を示す図である。
【図１５】黒スジの入った画像を示す図である。
【図１６】黒スジを補正するための補間演算の一例を説明するための図である。
【図１７】実施例１の流し読みモードの流れを示すフローチャートである。
【図１８】実施例１のゴミ検知処理の流れを示すフローチャートである。
【図１９】実施例１のゴミ位置検出処理の流れを示すフローチャートである。
【図２０】実施例２のスキャナＩＦ画像処理部の構成を示すブロック図である。
【図２１】実施例２のゴミ検知部の構成例を示すブロック図である。
【図２２】実施例２のゴミ検知処理の流れを示すフローチャートである。
【発明を実施するための形態】
【００１２】
以下、本発明を実施するための最良の形態について図面を用いて説明する。
【実施例１】
【００１３】
＜複写機の外観＞
図１は、実施例１における複写機の外観の一例を示す図である。
【００１４】
画像読取手段であるスキャナ部１４０は、照明ランプの発光によって原稿上の画像を露光走査して得られた反射光をリニアイメージセンサ（ＣＣＤセンサ）に入力することで画像の情報を電気信号に変換する。スキャナ部１４０はさらに電気信号をＲ、Ｇ、Ｂ各色からなる輝度信号に変換し、この輝度信号を画像データとして図４にて後述するコントローラ２００に出力する。
【００１５】
原稿は、原稿フィーダ１４１のトレイ１４２にセットされる。ユーザが操作ユニット１６０から読取り開始を指示すると、コントローラ２００はスキャナ部１４０に対して原稿読取り指示を送る。スキャナ部１４０はこの指示を受取ると、原稿フィーダ１４１のトレイ１４２から原稿を１枚ずつフィードして原稿の読取り動作を行う（以降この自動原稿搬送装置を用いて原稿を読取る動作モードを流し読みモードと呼ぶ）。また、流し読みモードの他に、後述する原稿台ガラス面上に原稿を置くことで、読取りを行う方法もある。
【００１６】
プリンタ１２０は、コントローラ２００から受取った画像データを用紙上に形成する画像形成デバイスである。
【００１７】
本実施例における画像形成方式は、感光体ドラムや感光体ベルトを用いた電子写真方式である。また、プリンタ１２０は、異なる用紙サイズ又は異なる用紙向きに対応可能な複数の用紙カセット１２１、１２２、１２３を備える。排紙トレイ１２４には印字後の用紙が排出される。
【００１８】
＜複写機−スキャナ部＞
図２は、実施例１におけるリニアイメージセンサを用いたスキャナ部１４０の主要構成及び読取動作を示す概略図である。図２において、１４０１は原稿台ガラスであり、読取りの対象となる原稿１００が置かれている。原稿１００は照明ランプ１４０２により照射され、その反射光はミラー１４０３、１４０４、１４０５を経て、レンズ１４０６によりＣＣＤセンサ１４０７上に結像される。ミラー１４０３、照明ランプ１４０２を含む第１ミラーユニット１４０９は速度ｖで移動し、ミラー１４０４、１４０５を含む第２ミラーユニット１４１０は速度１／２ｖで移動することにより、原稿１００の全面を走査する。第１ミラーユニット１４０９及び第２ミラーユニット１４１０はモータ１４０８により駆動する。ＣＣＤセンサ１４０７に入力された反射光はセンサによって電気信号に変換され、その画素の電気信号は図示しないＡ／Ｄ変換器によってデジタルデータに変換され、コントローラ２００に画素信号Ｄｉｎとして入力される。
【００１９】
図３は、図２とは別で原稿フィーダ１４１を動作させることによって原稿を読取る流し読みモードの場合の主要構成及び読取動作を示す概略図である。図３において、読取られるべき原稿束１００Ｐはトレイ１４２上に置かれている。
【００２０】
図３の原稿搬送方向の下部には、送り出しローラ１４１１と分離搬送ローラ対１４１２、レジストローラ対１４１３が配置されている。送り出しローラ１４１１は図示しない駆動源により回転され、トレイ１４２上に置かれた原稿束１００Ｐを送り出す。送り出しローラ１４１１の下流に配置された分離搬送ローラ対１４１２は搬送された原稿束１００Ｐから最上位の原稿１００を分離搬送する。分離搬送ローラ対１４１２の下流に配置されたレジストローラ対１４１３は、駆動源に接続して回転可能なレジストローラと従動ローラとから成る。レジストローラ対１４１３の回転開始は、以降の原稿１００の搬送タイミングや画像読取タイミングの基準となる。
【００２１】
これら送り出しローラ１４１１、分離搬送ローラ対１４１２、レジストローラ対１４１３を駆動する駆動源は、例えばステッピングモータなどとなる。
【００２２】
レジストローラ対１４１３から排出された原稿１００は、案内板１４１８に沿って進行し、回転する大径の搬送ローラ１４１５と従動ローラ１４１６ａ、１４１６ｂ、１４１６ｃにより狭持され、搬送ローラ１４１５の外周に沿って搬送される。このとき、原稿１００は、一度、原稿台ガラス１４０１の面上を通って図３の矢印の方向へ等速で搬送されることとなる。原稿１００の画像読取手段による画像読取は、原稿１００が原稿台ガラス１４０１の面上を通過する際に行われる。画像読取後は、引き続き搬送ローラ１４１５の外周に沿って搬送され、排紙ローラ１４１７によって原稿フィーダ１４１上に排出される。
このような流し読みモードでは、第１ミラーユニット１４０９や第２ミラーユニット１４１０といった光学系は移動させず、これら光学系を固定して原稿を読取る。この流し読みモードにおいては、原稿束１００Ｐの各原稿を一定方向に移動させればよいだけなので、大量の原稿を連続して高速に読取ることが可能となる。
【００２３】
なお、本実施例の後述するゴミ検知処理は、この流し読みモードの開始時（１枚目の原稿を読取る前）または紙間で搬送ローラ１４１５の白色面を読取ることで実行される。白色面とは、原稿を搬送していない時の画像読取り位置のことである。よって、ゴミ検知処理は、原稿読取り時には行わない。また、紙間とは流し読みモードにおいて、原稿１００が原稿台ガラス１４０１の面上を通過していない区間や、読取られる原稿と原稿の間の区間である。
【００２４】
この方式では棒状の光源を使用し、この光源の長手方向と平行に読取りラインを設定し、この読取りラインに対して直角な方向に原稿を搬送する。なお読取りラインと平行な方向を主走査方向と定義し、読取りラインと直角な方向（原稿搬送方向）を副走査方向と定義する。
【００２５】
＜複写機−コントローラ＞
図４は、本実施例の複写機のハードウェア構成、特にコントローラの構成例を詳細に示すブロック図である。
【００２６】
コントローラ２００は、画像入力デバイスであるスキャナ部１４０や、画像出力デバイスであるプリンタ１２０や、ＬＡＮ１０や、公衆回線（ＷＡＮ）１２と接続され、複写機の動作を統括的に制御すると共に画像情報やデバイス情報の入出力制御を行う。
【００２７】
ＣＰＵ２１００は、複写機全体を制御するプロセッサであり、ＲＯＭ２１２０に記憶された制御プログラム等に基づいて接続中の各種デバイスとのアクセスを統括的に制御する。さらに、ＣＰＵ２１００は、コントローラ２００内部で行われる各種処理についても統括的に制御する。ＲＡＭ２１１０は、ＣＰＵ２１００が動作するためのシステムワークメモリであり、画像データなどを一時記憶するための画像メモリでもある。ＲＯＭ２１２０は、ブートＲＯＭであり、システムのブートプログラムを格納する。ＨＤＤ２１３０は、ハードディスクドライブで、主に、コンピュータを起動・動作させるために必要な情報（システムソフトウェア）や画像データを格納する。これらのデータは、ＨＤＤ２１３０に限らず、電源が切れても記憶保持可能な記録媒体に格納してもよい。
【００２８】
ＬＡＮＣ（ＬＡＮコントローラ）２２００は、ＬＡＮ１０に接続し、ユーザＰＣ２０との間で出力用画像データの入出力や機器制御にかかわる情報の入出力を行う。ローカルＩＦ（ローカルインタフェース）２２１０は、ＵＳＢやセントロニクス等のインタフェースであり、ケーブル１１にてユーザＰＣ２１やプリンタと接続し、データの入出力を行う。ＭＯＤＥＭ２２２０は、公衆回線１２に接続し、データの入出力を行う。
【００２９】
プリンタＩＦ画像処理部２３００は、プリンタ１２０と接続し、プリンタ１２０に搭載されたＣＰＵと通信を行う。また、プリンタＩＦ画像処理部２３００は、画像データの同期系／非同期系の変換やプリント出力のための画像処理を行う。スキャナＩＦ画像処理部２４００は、原稿フィーダ１４１を含めたスキャナ部１４０と接続し、スキャナ部１４０に搭載されたＣＰＵと通信を行う。また、スキャナＩＦ画像処理部２４００は、画像データの同期系／非同期系の変換や後述するゴミ検知処理やゴミ補正処理等を含めた画像読取のための画像処理を行う。
【００３０】
画像回転部２５００は、操作ユニット１６０を介してユーザにより設定された処理条件や原稿の向きに基づいて、入力された画像データに対する回転処理を行う。また、後述するゴミ検知処理中においても入力されたデータの回転処理を行う。よって、この画像回転部２５００は、入力された原稿に対して回転処理を行う際に用い、またゴミ検知処理を行う際にも用いる兼用部である。
【００３１】
画像圧縮伸張部２６００は、多値の画像データをＪＰＥＧに、２値の画像データをＪＢＩＧ、ＭＭＲ、ＭＨ等に圧縮し、さらに必要に応じて圧縮された画像データを伸張する処理を行う。操作部ＩＦ２７００は、操作ユニット１６０に表示する画像データをコントローラ２００から操作ユニット１６０に出力し、かつ、複写機の使用者が操作ユニット１６０から入力した情報をコントローラ２００に出力するためのインタフェースである。
【００３２】
＜複写機−操作部＞
図５は、操作ユニット１６０の構成例を示す図である。
【００３３】
液晶操作パネル１６１は、液晶とタッチパネルを組み合わせたものであり、操作画面を表示するとともに、表示キーがユーザにより押されるとその情報をコントローラ２００に送る。スタートキー１６２は、原稿画像の読取り印刷の動作を開始するときや、その他機能の開始指示に用いられる。スタートキーには、緑色と赤色の２色のＬＥＤが組み込まれ、緑色点灯時には開始可能を示し、赤色点灯時には開始不可であることを示す。ストップキー１６３は稼動中の動作を止める働きをする。ハードキー群１６４には、テンキー、クリアキー、リセットキー、ガイドキー、ユーザーモードキーが設けられる。
【００３４】
＜画像回転処理部＞
図６は画像回転部２５００の構成例を示すブロック図である。
【００３５】
ＤＭＡＣ２５１０はＤＭＡコントローラである。これは、ＣＰＵを介さずに、直接、ＲＡＭ２１１０の指定された領域から画像データ等を読み出し、画像回転制御部２５２０へ出力する役割を担うＤＭＡコントローラである。
【００３６】
また、ＤＭＡＣ２５４０も同じくＤＭＡコントローラであり、画像回転制御部２５２０が出力する画像データ等をＲＡＭ２１１０の指定された領域へ書き込む。
【００３７】
以下に画像回転部２５００の処理手順を示す。
ＣＰＵ２１００は、画像回転制御部２５２０に画像回転のための設定を行う。この設定により画像回転制御部２５２０には画像回転に必要な情報（例えば画像サイズや回転方向，角度等）が設定される。これらの必要な設定を行った後に、再度ＣＰＵ２１００からＤＭＡＣ２５１０、ＤＭＡＣ２５４０に対して画像データ転送の許可を行う。この許可に従い、ＤＭＡＣ２５１０はＲＡＭ２１１０から画像データ等の読み出しを開始し、ＤＭＡＣ２５４０は画像回転制御部から画像データ等が出力され次第、ＲＡＭ２１１０への画像データ等の書き込みを開始する。
【００３８】
なお、ここでは回転を行う画像サイズを３２×３２（ｂｉｔ）とし、また、ＲＡＭ２１１０に画像データを転送させる際に３２ｂｉｔを単位とするデータ転送を行うものとする。
【００３９】
上述のように、３２×３２（ｂｉｔ）の画像を得るためには、図７に示す様に上述の３２ｂｉｔ単位のデータ転送を３２回行う必要があり、且つ不連続なアドレスから画像データを転送する必要がある。
【００４０】
不連続アドレッシングにより転送された画像データは、読み出し時に所望の角度に回転されているように、画像回転バッファ２５３０に書き込まれる。例えば、９０度時計方向回転であれば、最初に転送された３２ｂｉｔの画像データを、図８のように１ｂｉｔずつＹ方向に書き込んでいく。これらを読み出し時にＸ方向に読み出すことで、画像は回転される。
【００４１】
３２×３２（ｂｉｔ）の画像回転（画像回転バッファ２５３０への書き込み）が完了した後、画像回転制御部２５２０は画像回転バッファ２５３０から上述した読み出し方法で画像データを読み出し、ＤＭＡＣ２５４０に画像を転送する。
【００４２】
回転処理された画像データを受取ったＤＭＡＣ２５４０は、画像全体が所望の回転結果となるようにＲＡＭ２１１０上の定められたアドレスに画像データを転送する。
【００４３】
こうした一連の処理は、ＣＰＵ２１００からの処理要求が無くなるまで繰り返される。
【００４４】
＜スキャナＩＦ画像処理部＞
図９は、スキャナＩＦ画像処理部２４００の構成例を示すブロック図である。
【００４５】
前述した通り、図３で示した流し読みモードの場合は、読取り中にも入力原稿が移動するため、光学系固定位置の原稿読取り位置にゴミ、埃、傷、汚れ等が存在すると、スジ状の画像不良（スジ像／ゴミスジ）が発生してしまう。これは、原稿読み取り時に原稿より暗いゴミに対応する画素のレベルが、その周辺の画素レベルよりも低下してしまうことによって発生する。以下の説明においては黒スジ発生要因がゴミである場合を例として挙げるが、ゴミ以外の黒スジ発生要因であっても本実施例は適用可能である。
【００４６】
シェーディング補正部２４１０には、スキャナ部１４０が出力するＤｉｎの画素信号（図２、図３参照）を入力する。シェーディング補正部２４１０は、公知の技術を用いて光学系や撮像系の特性による輝度ムラに対して、一様な明るさの画像になるように補正処理を施す。シェーディング補正処理の施された画素信号Ｄｓｈが後段に出力される。
【００４７】
ゴミ補正部２４２０は、原稿読取り位置に黒スジ発生要因となるゴミが付着した場合に、付着したゴミの検知位置情報Ｇを後述するゴミ検知部２４４０から取得し、そのゴミが原因で発生した読取り画像内の黒スジを目立ちにくくするための補正処理を行う。具体的には、ゴミ補正部２４２０は、黒スジの周辺に存在する正常画素を用いて、黒スジに対して補正処理を施す。以降、黒スジが生じた画素のことを異常画素と呼ぶ。ゴミ補正処理の詳細な補正方法に関しては後述する。ゴミ補正処理の施された画素信号Ｄｈが後段へ出力される。
【００４８】
ガンマ補正部２４３０は、公知の技術を用いて、読取り素子と機器との間の色特性の差を補正する。ガンマ補正処理の施された画素信号Ｄｇが後段へ出力される。
【００４９】
ＤＭＡＣ２４５０はＤＭＡコントローラである。これは、ＣＰＵを介さずに、直接、ガンマ補正部２４３０が出力する画素信号Ｄｇやゴミ検知部２４４０が出力するデータＤｋを画像メモリ（ＲＡＭ２１１０）の指定された領域へデータＤｏｕｔとして書き込む。また、ＤＭＡＣ２４６０は画像メモリ（ＲＡＭ２１１０）の指定された領域からデータＤｉｎ’を読み出し、ゴミ検知部２４４０へデータＤｋ’として出力する役割を担うＤＭＡコントローラである。このＤＭＡＣ２４６０は後述するゴミ検知部２４４０が動作する場合のみ必要となる。よってゴミ検知処理動作時以外はスキャナＩＦ画像処理部２４００以外の処理部（例えばプリンタＩＦ画像処理部２３００）で画像メモリ（ＲＡＭ２１１０）から画像データを読み出すために使用される構成としてもよい。このＤＭＡＣ２４６０の共用は、ゴミ検知部２４４０の動作が流し読みモードの開始時または紙間に限定されるためにプリンタＩＦ画像処理部２３００等の動作とは排他動作となり、可能となる。
【００５０】
ゴミ検知部２４４０は、原稿読取り時ではないとき、原稿読取り位置に黒スジ発生要因となるゴミが付着した場合に、付着したゴミの位置を検知する。検知されたゴミの位置情報Ｇはゴミ補正部２４２０に渡され、実際に黒スジの入った画像が入力された際に補正範囲（黒スジ個所）を特定するために使用される。なお、ゴミ位置情報Ｇとはゴミの主走査位置と幅から成る情報である。また、本実施例においてゴミ検知部２４４０は内部にラインメモリを保持していない構成となっており、ゴミ検知のために画像メモリ（ＲＡＭ２１１０）とデータのやりとりを行う必要のある構成となっている。よって画像メモリに書き込むべきデータをＤｋとしてＤＭＡＣ２４５０へ出力し、画像メモリから読み出すべきデータをＤｋ’としてＤＭＡＣ２４６０から入力できる構成となっている。
【００５１】
＜ゴミ検知部の前段処理詳細＞
図１０は実施例１におけるゴミ検知部２４４０の好適な一例を示す詳細図である。図１０において、２４４１はフィルタ回路、２４４２はｎ値化回路、２４４３は累積カウンタ、２４４４は主走査方向ライン数カウンタ、２４４５はコンパレータ、２４４６はゴミ主走査画素位置判定回路、２４４７はゴミ判定結果保持部である。
【００５２】
次にゴミ検知部２４４０の前段処理動作について各部の詳細とともに説明する。前段処理とはフィルタ回路２４４１とｎ値化回路２４４２の処理を示す。このｎ値化回路は、ｍ値データをｎ値データ化（ｍ＞ｎ）する。以下、本実施例では主にｎ＝２の場合について説明するが、ｎ値化回路２４４２では、元のｍ値のデータをｍより小さいｎ値のデータに変更できればよい。なお、ゴミ検知部は、前述したように原稿フィーダ１４１を用いた流し読みモードの開始時や紙間で搬送ローラ１４１５上の白色面を読取った場合にのみ、その画素信号がＤｓｈとして入力され、動作が開始される。
【００５３】
フィルタ回路２４４１ではシェーディング補正後の画素信号Ｄｓｈに対して高周波成分を強調する等の処理を行い、ゴミの影響を検知しやすくするための前処理を行う。
【００５４】
さらにｎ値化回路２４４２で所定のｎ値化スライスレベルとの比較によって画素信号をｎ値化する。ｎ＝２である２値化の様子を図１１に示す。白色面にゴミが付着しており、画素信号に影響が出ていれば、この２値化結果は主走査方向の同一位置に対して、ほぼ毎ライン‘１’（ｎ（この例ではｎ＝２）値化スライスレベル超え）となる。
【００５５】
この２値化結果はデータＤｋとして一度、ＤＭＡＣ２４５０に出力され、画像メモリ（ＲＡＭ２１１０）の指定された領域に書き込まれる。
【００５６】
＜ゴミ検知処理における画像回転の詳細＞
次に、図１３及び図１４（ａ）、図１４（ｂ）を用いて実施例１におけるゴミ検知処理中の画像回転の詳細を説明する。
【００５７】
まず、図１３はゴミ検知処理中に読取った搬送ローラ１４１５上における白色面の画像データの一例を示している。本実施例では主走査方向にＸ画素、副走査方向にＹライン分読取っている。この読取った白色面の画像データを以降では白板データと呼ぶ。
【００５８】
主走査方向のＸ画素は搬送する原稿幅と同じ画素数分読取り、副走査方向のＹラインは、３２〜６４ライン分読取る。原稿読取り位置にゴミが付着している場合、ゴミ検知処理において、白色面を１ライン分読取ればそのゴミが検知できる。しかし、１ライン分しか読取らないと、例えば、原稿読取り位置に一瞬だけ付着したゴミやノイズ等、黒スジ発生原因とは無関係の付着物も検知してしまう。これにより、黒スジの原因となるゴミのみを検知する際に、ノイズが増えてしまう。よって、上記したように複数ライン読取りを行う。また、この値は経験値から設定されたものであり、この値に限定せず、黒スジ発生原因となるゴミを検知できる範囲で予め設定可能である。
【００５９】
今、原稿読取り位置にゴミが付着していたものとすると図１３に記載したように白板データ上にゴミによる黒スジが発生してしまう。この白板データがＤｉｎとしてスキャナＩＦ画像処理部２４００に入力され、ゴミ検知部２４４０に入力される。
【００６０】
次に図１４（ａ）にｎ値化回路２４４２にｎ値化された白板データを示す。読取った白板データの１画素を８ｂｉｔデータとすると、２値化（ｎ＝２のとき）により、図に示したように、あたかも主走査方向のデータサイズが１／８に圧縮されたようなデータとなる。この２値化された白板データは前述の通り、データＤｋとしてＤＭＡＣ２４５０によって画像メモリ（ＲＡＭ２１１０）に書き込まれる。画像メモリ（ＲＡＭ２１１０）には２値化後の白板データが書き込まれるのでこのとき必要な画像メモリ（ＲＡＭ２１１０）の容量を抑えることができる構成となっている。ここで、画像メモリ（ＲＡＭ２１１０）には図７に示したように主走査方向＝Ｘ方向、副走査方向＝Ｙ方向として２値化された白板データが書き込まれる。回転される前の２値化白板データにおいて、主走査方向に配列された画素の位置を主走査方向Ｎ画素目で定義し、副走査方向に配列されたラインの位置を副走査方向Ｎライン目で定義する。この画像メモリ（ＲＡＭ２１１０）に書き込まれた２値化された白板データは、画像回転部２５００のＤＭＡＣ２５１０によって３２ｂｉｔを単位として順次回転を行う画像サイズ３２×３２（ｂｉｔ）ごとに読み出されていく。
【００６１】
次に図１４（ｂ）に画像回転後の２値化された白板データを示す。ここでは、ゴミ検知処理のために、２値化された白板データの主走査方向と副走査方向の配列を逆にする目的で９０度回転を実施したものとする。９０度回転とは、スキャナ部１４０で読取った画像データの主走査方向と副走査方向を変換することと同義となるので、この９０度回転処理を以下では主・副変換とよぶ。２値化白板データは主・副変換されることによって、変換前の主走査方向の画素が副走査方向に配列され、変換前の副走査方向のラインが主走査方向に配列される。この主・副変換によって副走査方向に配列された変換前の主走査方向の画素位置を副走査方向Ｎ画素目で定義し、主・副変換によって主走査方向に配列された変換前の副走査方向のライン位置を主走査方向Ｎライン目で定義する。この図１４（ｂ）に示した変換後の２値化白板データはＤＭＡＣ２５４０によって画像メモリ（ＲＡＭ２１１０）に書き込まれ、さらにＤＭＡＣ２４６０によって同データは読み出され、データＤｋ’としてゴミ検知部２４４０に入力されることとなる。
【００６２】
＜ゴミ検知部の後段処理詳細＞
次にゴミ検知部２４４０の後段処理動作について各部の詳細とともに図１０を用いて説明する。後段処理とは累積カウンタ２４４３からゴミ判定結果保持部２４４７までの処理を示す。
【００６３】
ゴミ検知部２４４０にはデータＤｋ’がＤＭＡＣ２４６０から入力される。データＤｋ’とは画像メモリ（ＲＡＭ２１１０）に書き込まれたデータＤｋが前述の画像回転部２５００で９０度回転され、主走査方向と副走査方向が変換されたものである。このデータＤｋ’はＤＭＡＣ２４６０によってゴミ検知部２４４０に入力される。
【００６４】
累積カウンタ２４４３では入力されたデータＤｋ’に含まれる１の数をカウントし、合計値を算出する。１とは、つまりｎ値化スライスレベル（ｎ値化閾値）超えをした画素信号値を有するということ（ｎ値化閾値以上の画素信号値を有するということ）である。このカウントはゴミ検知位置を特定するために副走査方向の複数ライン分の累積カウントを実行する必要がある。しかし、前述の画像回転部２５００でデータＤｋ’は白板データの主走査方向と副走査方向の配列を逆にした（主・副変換された）データとなっている。よって累積カウンタ２４４３は、次々に入力される１ライン分のデータＤｋ’に含まれる１の数を単純に累積カウントしていくだけで上記回転前の副走査方向の累積カウント値が得られる構成となっている。ここで、この累積カウンタ２４４３はデータＤｋ’の１の連続性によってカウント方式を変化させる構成としてもよい。例えば、ｎ値化スライスレベルを超えた値（ｎ値化閾値以上の値）を持つ画素の存在を示す１が連続Ａ個続いたらカウントアップを開始する構成とし、ノイズの影響を軽減させる。また、ｎ値化スライスレベル未満の値（ｎ値化閾値未満の値）を持つ画素の存在を示す０が連続Ｂ個続いたらゴミの影響が消えたと判断し、一旦カウントをクリアする構成としてもよい。また、データＤｋ’が何ライン目の信号かによってカウントアップの重み付けをし、ゴミ検出の精度を向上させる構成としてもよい（この詳細については、後述する）。これらの構成では累積カウンタ２４４３が次々に入力されるデータＤｋ’をカウントしていくだけでよい構成となっているため、簡易な回路で実装可能となっている。
【００６５】
また主走査方向ライン数カウンタ２４４４では、入力されるデータＤｋ’がゴミの特定に必要な複数ライン分入力されたかを検出する。ここでは、カウント動作前にＣＰＵ２１００によってゴミの特定に必要なライン数が主走査方向ライン数カウンタ２４４４に設定される。言い換えると搬送ローラ１４１５上の白色面を何ライン分読取ったかが設定される。よって、主走査方向１ライン分のデータであるデータＤｋ’が何個入力されたかをラインカウンタでカウントし、そのライン数に到達したかどうかを検出する。到達したことを検出すると主走査方向ライン数カウンタ２４４４は累積カウンタ２４４３に累積カウント値クリア信号を出力する。また、後述するゴミ主走査画素位置判定回路２４４６に主走査位置カウントアップ信号を出力する。
【００６６】
コンパレータ２４４５では、図１２に示すような黒画素率を示すゴミ判定レベル（第２の閾値）と累積カウンタ２４４３から出力される累積カウント値を比較する。図示しているようにゴミ判定レベルを超える累積カウント値となった主走査位置をゴミ位置と判定する。図１２では、主走査位置Ｋ画素目から３画素分がゴミ位置であると判定されたものを示している。これをもとに後段でゴミ位置情報Ｇが生成される。
【００６７】
ゴミ主走査画素位置判定回路２４４６では、コンパレータ２４４５においてゴミ位置と判定されたものが具体的に主走査方向の何画素目かを判定する。ゴミ主走査画素位置は動作開始時は主走査方向０画素目に設定されており、主走査方向ライン数カウンタ２４４４から主走査位置カウントアップ信号を受け付けるとゴミ主走査画素位置を＋１する。ゴミ主走査画素位置判定回路２４４６は後段のゴミ判定結果保持部２４４７に、主走査位置情報とゴミ判定結果を出力する。
【００６８】
ゴミ判定結果保持部２４４７では、主走査位置情報とゴミ判定結果からゴミの主走査位置と幅からなるゴミ位置情報Ｇを生成・保持する。例えば主走査位置Ｋ画素目とＫ＋１画素目、Ｋ＋２画素目がゴミ主走査画素位置判定回路２４４６によってゴミだと判定されると、ゴミ判定結果保持部２４４７にはゴミ主走査位置−Ｋ画素目、ゴミ幅−３画素というゴミ位置情報Ｇが生成・保持される。
【００６９】
ここでは、ある一定幅以上のゴミ判定結果を無視する構成としてもよい。これはハードウェアとして、回路によって修正できる幅に限界があるからである。またある一定個数以上のゴミ判定結果を保持しないとする構成としてもよい。これは、ハードウェアとして、回路によって保持できるゴミの個数に限界があるからである。
ゴミ位置情報Ｇはゴミ検知部２４４０から出力され、ゴミ補正部２４２０へ入力され実際に黒スジの入った画像が入力された際に補正範囲（黒スジ個所）を特定するために使用される。
【００７０】
ここで、ＣＰＵ２１００が判定結果生成・保持部２４４７の出力であるゴミの位置情報Ｇを参照することが可能で、ゴミ検知の結果を知ることができる構成とし、ＣＰＵ２１００がゴミ補正部２４２０へゴミ位置情報を設定しにいく構成としてもよい。
【００７１】
＜ゴミ補正処理の詳細＞
ゴミ補正処理はゴミ補正部２４２０で行われ、補正対象となった異常画素を周囲の画素で補間もしくは置き換えることで実現される。図１５は黒スジ（異常画素）の入った画像を示している。黒スジは図に示しているように、流し読み時のゴミの影響で主走査方向のある特定位置にある幅をもって現れ、副走査方向にスジとして伸びる。
【００７２】
次に図１６にゴミ補正処理の詳細を示す。図のＤ１は左端参照隣接画素、Ｄ２は右端参照隣接画素、Ｋはゴミ補正処理開始位置からの画素位置、Ｗは異常画素幅を示している。このとき、線形補間することでゴミ補正処理を実行する場合は以下の式で補正結果Ｙを算出する。
Ｙ＝Ｄ１＋Ｋ／Ｗ×（Ｄ２−Ｄ１）
また、演算を用いずに単純に周囲の正常画素（参照隣接画素）を用いて置き換え処理をすることでゴミ補正処理を実行してもよい。
【００７３】
＜流し読みモードのフローチャート＞
図１７〜図１９は、実施例１における流し読みモード及びゴミ検知処理の流れを示すフローチャートである。図１７に示すフローチャートはＨＤＤ２１３０に格納されたプログラムに従って、ＣＰＵ２１００が実行する。
【００７４】
まずＳ１１００において、読取るべき複数枚の原稿が原稿フィーダ１４１のトレイ１４２にセットされたことを検出する。
【００７５】
次にＳ１２００にて操作ユニット１６０のスタートキー１６２の押下を検知することによって流し読みモードを開始する。
【００７６】
Ｓ１３００では、一連のゴミ検知処理を実行する。ゴミ検知処理の詳細は図１８、図１９を用いて後述する。このゴミ検知処理は本フローチャートが示すように原稿の読取処理を実行していない区間で実行される。つまり、流し読みモードの開始時または紙間で実行されるものとなる。
【００７７】
次にＳ１４００では、実際に原稿フィーダ１４１を用いて原稿の読取を行う。この際、Ｓ１３００によってゴミ検知結果（図７のゴミ位置情報Ｇに相当）が得られている場合には、ゴミ補正処理も実行されることとなる。
【００７８】
Ｓ１５００では続けて画像読取が行われるかどうかの判断を行う。これは原稿フィーダ１４１上のトレイ１４２にまだ原稿が残っているかどうかで判断される。トレイ１４２上に読取るべき原稿が残っているならばＳ１３００に戻る。読取るべき原稿が残っていないならば、終了となる。
【００７９】
＜ゴミ検知処理のフローチャート＞
図１８では、ゴミ検知処理のフローチャートについて説明している。本フローチャートは図１７のＳ１３００を詳細に説明したものであり、スキャナ部１４０及びコントローラ２００内のハードウェアが処理するものとなる。
【００８０】
まずＳ１３１０にて白板データの読取をする。白板データとは前述したように搬送ローラ１４１５上の白色面を読取って得られる画像データである。これは、図３で示した位置で光学系を固定し、原稿１００の搬送を開始する前の白色面の反射光をＣＣＤセンサ１４０７にて取り込むことで得られる。
【００８１】
次にＳ１３２０にて入力された白板データをｎ値化スライスレベルでｎ値化する。これはゴミ検知部２４４０のｎ値化回路２４４２に白板データが入力されることで実行される。
【００８２】
次にＳ１３３０にて前ステップでｎ値化された白板データを主・副変換する。これは画像回転部２５００にてｎ値化された白板データを９０度回転することによって実行する。主・副変換のイメージは前述した図１４（ａ）、図１４（ｂ）の通りである。ここで、ゴミ検知処理は流し読みモードの開始時または紙間で実行されるので、このとき実際の原稿読取処理は実行されていない。よって画像回転部２５００がゴミ検知処理と同時のタイミングで他の処理で使われることはなく、ゴミ検知処理の所望のタイミングで画像回転部２５００を使用することができることとなる。
【００８３】
Ｓ１３４０では、主・副変換されたｎ値化後の白板データを用いて、一連のゴミ位置を検出するための処理を実行する。ゴミ位置検出処理の詳細は図１９を用いて後述する。
【００８４】
＜ゴミ位置検出処理のフローチャート＞
図１９では、ゴミ位置検出処理のフローチャートについて説明している。本フローチャートは図１８のＳ１３４０を詳細に説明したものであり、スキャナＩＦ画像処理部２４００のゴミ検知部２４４０内の各ハードウェアが処理するものである。
【００８５】
まずＳ１３４１では、主走査方向ライン位置ｉ、副走査方向画素位置ｊ、累積カウント値ｋをそれぞれ初期化している。前述した画像回転部２５００によって主・副変換された白板データでは副走査方向に配列され、変換前には主走査方向に並行に配列されていた画素において、（回転後の）副走査方向Ｎ画素目にある画素を位置ｊで定義する。また、画像回転部２５００によって主・副変換された白板データの主走査方向に配列され、変換前には副走査方向に並行に配列されていたラインにおいて、（回転後の）主走査方向Ｎライン目を位置ｉで定義する。累積カウント値ｋとは累積カウンタ２４４３にてカウントされるｎ値化回路２４４２にてｎ値化スライスレベル超えをした画素（ｎ値化閾値以上である画素）の数である。
【００８６】
Ｓ１３４２では、位置（ｉ、ｊ）の入力データを累積カウンタ２４４３にて受け付ける。ここで、入力データとは前述のｎ値化され、主・副変換処理された白板データを指している。なおＳ１３４２〜Ｓ１３４９はすべて累積カウンタ２４４３の処理である。
【００８７】
Ｓ１３４３では、入力データが１かどうかの判定が累積カウンタ２４４３にて実行される。１であった場合にはＳ１３４４に処理が進む。
【００８８】
Ｓ１３４４では、入力データの１の連続性を検出している。具体的には入力データが１を示す画素が（回転後の）主走査方向（ｉ方向）に何個続いて発生しているかを判定している。このような判定を入れることでｎ値化の際に発生するノイズの影響を低減する。この場合のノイズとはゴミではないのにｎ値化で１となってしまった画素である。入力データが１を示す画素が連続回数ＡをいくつにするかはＣＰＵ２１００によって累積カウンタ２４４３に対して予め設定できる。連続回数Ａ以上であった場合にはＳ１３４５に進む。
【００８９】
Ｓ１３４５では、連続回数Ａ以上であった入力データの主走査方向のライン位置（ｉ）が何ライン目以上かを判定している。このような判定を入れることで累積カウンタ２４４３のカウントアップに重み付けをすることができるようになる。つまり、データをラインごとに順に読取り、ライン閾値であるＣライン目以降を読取る際、ｎ値化閾値以上である画素の数を重み付けしながら累積する。カウントアップに重み付けを開始するライン閾値ＣをいくつにするかはＣＰＵ２１００によって累積カウンタ２４４３に対して予め設定できる。重み付けをすることによって白板データの読取の後半部（ライン閾値Ｃライン目以降）のカウントアップ値を前半部（Ｃライン未満入力）より大きくすることができる。これにより、白板読取中にゴミが付着した場合などのゴミ検出度を向上できる。
【００９０】
Ｓ１３４６では、Ｓ１３４５で入力データの主走査方向のライン位置（ｉ）がＣライン目未満と判定された場合に実行され、累積カウント値ｋを＋１する。
【００９１】
また、Ｓ１３４７では、Ｓ１３４５で入力データの主走査方向のライン位置（ｉ）がＣライン目以降と判定された場合に実行され、累積カウント値ｋを＋２する。
【００９２】
Ｓ１３４６、Ｓ１３４７の処理が実行されるとＳ１３５０に進む。また、Ｓ１３４４にて入力データが１を示す画素の連続回数がＡ回未満であると判定された場合にもＳ１３５０に進む。
Ｓ１３４３にて入力データが０を示す画素であると判定された場合にはＳ１３４８に進む。
【００９３】
Ｓ１３４８では、入力データが０を示す画素の連続性を検出している。具体的には入力データの０が主走査方向（ｉ方向）に連続何ライン発生しているかを判定している。このような判定を入れることでゴミの誤判定の可能性を低減する。具体的には白板読取中にゴミの付着が取れた場合の誤判定を低減させる。連続回数ＢをいくつにするかはＣＰＵ２１００によって累積カウンタ２４４３に対して予め設定できる。連続回数Ｌ（連続回数の閾値）以上であった場合にはＳ１３４９に進む。
【００９４】
Ｓ１３４９では、Ｓ１３４８にて連続回数の閾値Ｂ以上であった場合に累積カウント値であるｋをクリア（初期化）している。これは入力データの０が閾値であるＢ回続いたことによってゴミの付着がないと判断するためである。
【００９５】
Ｓ１３４８にて連続回数Ｂ以下と判定された場合にはＳ１３５０に進む。
【００９６】
また、Ｓ１３４４〜Ｓ１３４９に示したような入力データの連続性は本実施例のように入力前に入力データに主・副変換を施すことによって小さい回路規模で実現できるようになっている。つまり、見るべき連続性の方向を副走査から主走査方向に変換することによって連続性検出のために保持すべきデータ情報を短縮させ、バッファ容量を大幅に低減している。
【００９７】
Ｓ１３５０では、入力データの主走査方向ライン位置ｉが最終ライン位置かどうかの判定を行う。本判定は、主走査方向ライン数カウンタ２４４４にて入力データの数をカウントすることで行う。
【００９８】
Ｓ１３５０にて最終ライン位置と判定されなかった場合にはＳ１３５１にて主走査方向ライン位置ｉを＋１してＳ１３４２に戻り、次の入力データを受け付ける。Ｓ１３５０にて最終ライン位置と判定された場合には、Ｓ１３５２に進む。
【００９９】
Ｓ１３５２では、累積カウンタ２４４３にてカウントされた累積カウント値ｋがゴミ判定レベル以上（第２の閾値以上）かどうかの判定を行う。本判定はコンパレータ２４４５にて実行される。累積カウント値ｋがゴミ判定レベル以上だった場合にはＳ１３５３に進む。そうでなければＳ１３５４に進む。
【０１００】
Ｓ１３５３では、コンパレータ２４４５にてゴミ判定レベル以上となった入力データの（回転後の）副走査方向の画素位置（ｊ）をゴミ位置としてゴミ判定結果保持部２４４７がゴミ補正部２４２０にセットする。具体的にはゴミ主走査画素位置判定回路２４４６にてそのときの入力データにおける副走査方向の画素位置（ｊ）を判断し、ゴミ判定結果保持部２４４７に通知する。なお、副走査方向の画素位置（ｊ）とは主・副変換前における白板データの主走査方向の画素位置情報と同一となる。ゴミ判定結果保持部２４４７は、ゴミの主走査位置と幅からなるゴミ位置情報Ｇを上記通知により保持し、ゴミ補正部２４２０に出力（セット）する。
【０１０１】
Ｓ１３５４では、主走査方向ライン位置ｉ、累積カウント値ｋをクリアし、副走査方向の画素位置（ｊ）におけるゴミ位置検出処理を終了させる。主走査方向ライン位置ｉのクリアは主走査方向ライン数カウンタ２４４４が自身における入力データの数のカウント値をクリアし、カウントを中止すること実行する。また累積カウント値ｋのクリアは主走査方向ライン数カウンタ２４４４が累積カウンタ２４４３に累積カウント値クリア信号を出力することで実行する。
【０１０２】
Ｓ１３５５では、入力データの副走査方向画素位置ｊが最終画素位置かどうかの判定を行う。本判定は、ゴミ主走査画素位置判定回路２４４６の副走査方向の画素位置（ｊ）が最終画素位置かどうかで判定する。最終画素位置とは主・副変換前の白板データの主走査方向の最終画素かどうかを指している。
【０１０３】
Ｓ１３５５にて最終画素位置と判定されなかった場合には副走査方向画素位置ｊをＳ１３５６にて＋１してＳ１３４２に戻り、次の入力データを受け付ける。Ｓ１３５５にて最終画素位置と判定された場合には、ゴミ位置検出処理を終了する。
【０１０４】
本実施例１においては、ゴミ検知処理時に入力された白板データをゴミ検知部で２値化してから主・副変換処理をすることで、バッファ容量を大幅に低減し小さい回路規模でゴミ判定を行うことが可能になる。
【０１０５】
なお、閾値である画素数は、予めユーザによって設定可能である。
【実施例２】
【０１０６】
実施例１においては、ゴミ検知処理時に入力された白板データをゴミ検知部でｎ値化してから主・副変換処理をしていた。しかし、本実施例においては、入力された白板データを主・副変換処理してからゴミ検知部でｎ値化する。このような構成をとることで、原稿読取処理で動作するパスと白板データ読取処理で動作するパスをスキャナＩＦ画像処理部内で同一のものとできる。さらにそれら動作パスとゴミ検知部が動作する場合のスキャナＩＦ画像処理部内での動作パスを完全に分離することができる。よって回路設計を容易化でき、さらに回路検証性が向上する。特にゴミ検知部のみが回路に組み込まれていないスキャナＩＦ画像処理部にゴミ検知部のみを追加実装する場合などに有効である。
【０１０７】
以下、図面を参照して、本実施例を詳細に説明する。
【０１０８】
＜複写機―スキャナ部―コントローラ−操作部＞
実施例２における複写機の外観構成、スキャナ部の構成、及びコントローラの構成は図１、図２、図３、図４、図６に示す構成と同じである。また、図５の操作部の構成も同じである。実施例２は、コントローラのスキャナＩＦ画像処理部２４００内部の構成が実施例１とは異なる。
【０１０９】
＜スキャナＩＦ画像処理部＞
実施例１におけるスキャナＩＦ画像処理部２４００と同一箇所に配置される実施例２のスキャナＩＦ画像処理部３４００の内部について図２０を用いて説明する。
【０１１０】
シェーディング補正部３４１０、ゴミ補正部３４２０、ガンマ補正部３４３０は、図９のシェーディング補正部２４１０、ゴミ補正部２４２０、ガンマ補正部２４３０の機能を有している。ただしシェーディング補正処理の施された画素信号Ｄｓｈは実施例２においてはゴミ補正部に入力されるのみとなっている。
【０１１１】
ＤＭＡＣ３４５０とＤＭＡＣ３４６０は、図９のＤＭＡＣ２４５０、ＤＭＡＣ２４６０と同様の機能のＤＭＡコントローラである。しかし、実施例１の図９と異なり、ＤＭＡＣ２４５０はガンマ補正部３４３０が出力する画素信号Ｄｇのみを画像メモリ（ＲＡＭ２１１０）の指定された領域へデータＤｏｕｔとして書き込む。
【０１１２】
このような構成によってゴミ検知処理時における白板データは、ｎ値化されずに画像データとして画像メモリ（ＲＡＭ２１１０）に書き込まれ、さらに画像回転部２５００にて主・副変換される。よってＤｉｎからＤｏｕｔまでの処理の流れは原稿読取時と白板データ読取時で同一のものとなる。
【０１１３】
また、実施例２において画像回転部２５００に入力される白板データが１画素当り８ｂｉｔ階調だとすると、９０度回転処理（主・副変換）もこの階調に合わせて実行する。つまり、実施例１で説明した１ｂｉｔ単位での画像回転バッファへの書き込みや読み出しを１ｂｙｔｅ単位で実施する。
【０１１４】
＜ゴミ検知部＞
図２１は、実施例２におけるゴミ検知部３４４０の好適な一例を示す構成図である。
【０１１５】
図２１において、３４４１はフィルタ回路、３４４２はｎ値化回路、３４４３は累積カウンタ、３４４４は主走査方向ライン数カウンタ、３４４５はコンパレータ、３４４６はゴミ主走査画素位置判定回路、３４４７はゴミ判定結果保持部である。
【０１１６】
３４４１〜３４４７までのそれぞれ個々のブロックが持つ機能は実施例１の図１０における２４４１〜２４４７のブロックと同等の機能となる。実施例２ではそれぞれのブロックの接続構成における一部が実施例１と異なる。
【０１１７】
実施例２においてフィルタ３４４１に入力されるデータＤｋ’はＤＭＡＣ３４６０によって画像メモリ（ＲＡＭ２１１０）から読み出された主・副変換処理後の８ｂｉｔ階調の白板データである。フィルタ回路の出力は２値化回路３４４２の入力となる。
【０１１８】
２値化回路３４４２では実施例１と同様に所定のｎ値化スライスレベルとの比較によって入力された画素信号をｎ値化する。ｎ値化回路の出力は直接累積カウンタ３４４３及び副走査カウンタ３４４４の入力となる。
【０１１９】
以下３４４３〜３４４７までの接続構成は実施例１と同様となる。このように白板データを画像回転部２５００にて９０度回転処理（主・副変換）後にｎ値化する構成をとることでゴミ検知部３４４０への画素信号の入力をＤｋ’のみとしている。
【０１２０】
＜処理フローチャート＞
実施例２における流し読みモードのフローチャートは実施例１の図１７と同様となる。しかしゴミ検知処理のフローチャートが実施例１とは異なる。
【０１２１】
図２２は、実施例２におけるゴミ検知処理の流れを示すフローチャートである。本フローチャートは図１７のＳ１３００を実施例２として詳細に説明したものであり、スキャナ部１４０及びコントローラ２００内のハードウェアが処理するものである。
【０１２２】
まずＳ２３１０にて白板データの読取をする。白板データとは搬送ローラ１４１５上の白色面を読取って得られる画像データである。これは、図３で示した位置で光学系を固定し、原稿１００の搬送を開始する前の白色面の反射光をＣＣＤセンサ１４０７にて取り込むことで得られる。
【０１２３】
次にＳ２３２０にて前ステップで読取られた白板データを主・副変換する。これは画像回転部２５００にて画像メモリ（ＲＡＭ２１１０）上に書き込まれた白板データを９０度回転することによって実行する。主・副変換のイメージは前述した図１４（ａ）、図１４（ｂ）の通りである。ただし、ｎ値化されていない白板データを画素単位（８ｂｉｔ階調であれば１ｂｙｔｅ単位）で回転処理させる点が異なる。ここで、ゴミ検知処理は流し読みモードの開始時または紙間で実行されるので、このとき実際の原稿読取処理は実行されていない。よって画像回転部２５００がゴミ検知処理と同時のタイミングで他の処理で使われることはなく、実施例１と同様にゴミ検知処理の所望のタイミングで画像回転部２５００を使用することができる。
【０１２４】
次にＳ２３３０にて入力された主・副変換された白板データをｎ値化スライスレベルでｎ値化する。これはゴミ検知部３４４０のｎ値化回路３４４２に主・副変換された白板データが入力されることで実行される。
【０１２５】
Ｓ２３４０では、一連のゴミ位置を検出するための処理を実行する。ゴミ位置検出処理の詳細は実施例１の図１９と同様となる。
【０１２６】
本実施例２においては、ゴミ検知判定処理時に入力された白板データをゴミ検知部で主・副変換処理をしてから、ｎ値化処理を行う。これにより、原稿読取り処理で動作するパスと読取り処理で動作するパスをスキャナＩＦ画像処理部内で同一できる。
【０１２７】
また、ゴミ検知部が回路に組み込まれていないスキャナＩＦ画像処理部にゴミ検知部のみを追加実装する場合、容易にゴミ検知部を追加実装することができる。
【０１２８】
（その他の実施例）
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【図１】
2011250178.tif 000003
【図２】
2011250178.tif 000004
【図３】
2011250178.tif 000005
【図４】
2011250178.tif 000006
【図５】
2011250178.tif 000007
【図６】
2011250178.tif 000008
【図７】
2011250178.tif 000009
【図８】
2011250178.tif 000010
【図９】
2011250178.tif 000011
【図１０】
2011250178.tif 000012
【図１１】
2011250178.tif 000013
【図１２】
2011250178.tif 000014
【図１３】
2011250178.tif 000015
【図１４】
2011250178.tif 000016
【図１５】
2011250178.tif 000017
【図１６】
2011250178.tif 000018
【図１７】
2011250178.tif 000019
【図１８】
2011250178.tif 000020
【図１９】
2011250178.tif 000021
【図２０】
2011250178.tif 000022
【図２１】
2011250178.tif 000023
【図２２】
2011250178.tif 000024