(57)【特許請求の範囲】
【請求項１】
ライン状に並べた複数の受光素子により原稿画像を読取って入力する画像入力手段と、
前記入力手段によって基準濃度原稿を複数回読取って入力された前記受光素子の素子毎の複数の入力値を、所定領域に転送・格納する転送手段と、
前記転送手段によって前記所定領域に格納された複数の入力値を前記素子毎に、大小関係でソート処理して、大小両端夫々複数所定数の入力値を除いて平均値を求めて、前記素子毎の濃度基準値を決定する統計手段と、
前記統計手段によって決定された前記濃度基準値を保持する濃度基準値保持手段と、
前記入力手段による各素子毎の入力値を前記濃度基準値に基づいてシェーディング補正する補正手段と、
前記転送手段における第ｎラインの入力値の転送・格納処理と、前記統計手段による第ｎ‐１ラインの入力値の前記ソート処理とが並行して行われるように制御する制御手段と、
を有することを特徴とする画像処理装置。
【請求項２】
前記画像入力手段及び前記濃度基準値保持手段、及び前記補正手段は画像処理装置に着脱可能なユニット内に備えられ、該入力手段による入力値は該濃度基準値保持手段に一旦保持されることを特徴とする請求項１記載の画像処理装置。
【請求項３】
前記転送手段は、前記ユニット内の前濃度基準値保持手段に一旦保持された複数の入力値を画像処理装置内の所定領域に転送・格納することを特徴とする請求項２記載の画像処理装置。
【請求項４】
前記制御手段は、前記ユニットへ所定の同期信号及びコマンドを送出することによって、前記転送手段における転送・格納処理と、前記統計手段による統計処理とが並行して行われるように制御することを特徴とする請求項２記載の画像処理装置。
【請求項５】
前記制御手段は、前記統計手段によって決定された基準値を前記ユニット内の前記濃度基準値保持手段に格納することを特徴とする請求項２記載の画像処理装置。
【請求項６】
前記基準濃度原稿の複数の位置で夫々前記複数回読取による前記濃度基準値を決定し、素子毎の前記複数の位置での前記濃度基準値のうちの最大値を前記濃度基準値保持手段に保持することを特徴とする請求項１に記載の画像処理装置。
【請求項７】
ライン状に並べた複数の受光素子により原稿画像を読取って入力する画像入力手段を備えたユニットが着脱可能な画像処理装置であって、
前記入力手段によって基準濃度原稿を複数回読取って入力された前記受光素子の素子毎の複数の入力値を、所定領域に転送・格納する転送手段と、
前記転送手段によって前記所定領域に格納された複数の入力値を前記素子毎に、大小関係でソート処理して、大小両端夫々複数所定数の入力値を除いて平均値を求めて、前記素子毎の濃度基準値を決定する統計手段と、
前記転送手段における第ｎラインの入力値の転送・格納処理と、前記統計手段による第ｎ‐１ラインの入力値の前記ソート処理とが並行して行われるように制御する制御手段と、
前記ユニット内で、前記統計手段によって決定された前記濃度基準値を保持する濃度基準値保持手段と、
前記ユニット内で、前記入力手段による各素子毎の入力値を前記濃度基準値に基づいてシェーディング補正する補正手段と、
を有することを特徴とする画像処理装置。
【請求項８】
ライン状に並べた複数の受光素子により基準濃度原稿を複数回読取って入力する測定工程と、
前記測定工程において入力された前記受光素子の素子毎の複数の入力値を、所定領域に転送・格納する転送工程と、
前記転送工程によって前記所定領域に格納された複数の入力値を前記素子毎に、大小関係でソート処理して、大小両端夫々複数所定数の入力値を除いて平均値を求めて、前記素子毎の濃度基準値を決定する統計工程と、
前記統計工程によって決定された前記濃度基準値を濃度基準値保持手段に格納する保持工程と、
各素子毎の入力値を前記濃度基準値に基づいてシェーディング補正する補正工程と、を有し、
第ｎラインの入力値の前記転送工程と、第ｎ‐１ラインの入力値の前記統計工程におけるソート処理とは並行して行われることを特徴とする画像処理方法。
【請求項９】
ライン状に並べた複数の受光素子により原稿画像を読取る入力手段を備えた画像処理装置における画像処理のプログラムコードが格納されたコンピュータ可読メモリであって、
前記入力手段により基準濃度原稿を複数回読取って入力する測定工程のコードと、
前記測定工程において入力された前記受光素子の素子毎の複数の入力値を、所定領域に転送・格納する転送工程のコードと、
前記転送工程によって前記所定領域に格納された複数の入力値を前記素子毎に、大小関係でソート処理して、大小両端夫々複数所定数の入力値を除いて平均値を求めて、前記素子毎の濃度基準値を決定する統計工程のコードと、
前記統計工程によって決定された前記濃度基準値を濃度基準値保持手段に格納する保持工程のコードと、
各素子毎の入力値を前記濃度基準値に基づいてシェーディング補正する補正工程のコードと、を有し、
前記転送工程のコードによる第ｎラインの入力値の転送工程と、前記統計工程のコードによる第ｎ‐１ラインの入力値の転送工程におけるソート処理とは並行して行われることを特徴とするコンピュータ可読メモリ。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は画像処理装置及びその方法に関し、例えば、シェーディング補正を行なう画像処理装置及びその方法に関する。
【０００２】
【従来の技術】
従来、用紙上の原稿画像の読み取りを行なう画像処理装置においては、光電センサ群が用紙サイズの幅分配置されているラインヘッド型のスキャナユニットを、該センサ群の配列方向に対して垂直方向に移動しながら原稿を読みとる、フラットヘッドタイプが主流であった。
【０００３】
このタイプは、高速かつ高精度の画像読み取りが可能である反面、紙幅分の光電センサを必要とするため、装置の大きさやコストの面で制約があり、個人ユースには不向きであった。
【０００４】
これに対して、印字ヘッドを搭載するキャリア部に、紙送り方向に対して平行な方向に光電センサを配置することにより、印刷のみでなく、比較的安価に画像読み取りも可能とする、いわゆるシリアルタイプのスキャナ付プリンタユニットを搭載した、パーソナルワードプロセッサ等が近年商品化されている。
【０００５】
このシリアルタイプのスキャナについて更に詳細に説明すると、印字ヘッドユニットとスキャナユニットとを交換することで、紙送り方向（Ｙ軸方向）に平行に配置された光電センサ群が紙送り方向に対して垂直方向（Ｘ軸方向）に移動しながらの画像入力動作と、光電センサ群を原稿用紙に対してＹ軸方向に相対的に移動させる紙送り動作と、の繰り返しで原稿を読みとる方式である。
【０００６】
【発明が解決しようとする課題】
上記従来例で示したシリアルタイプの画像読取りを行なう画像処理装置においては、図２に示すように、プリンタヘッドと交換可能なサイズにスキャナユニットが設計されている。このため、フラットヘッドタイプのスキャナに比べて、電気ノイズや温度特性に対して、よりシビアな制御が必要になる。
【０００７】
特にスキャナの基本機能の一つである、シェーディング補正機能に与える影響が大きい。シェーディング補正機能とは、図５に示すように、発光部の両端部での光量低下や各受光素子の受光特性のばらつきを補償する機能である。一般的には、リファレンス値となる白基準値測定用原稿（フラットヘッドタイプでは、読み取り領域外のところに白基準測定用原稿がある）の読み取り値を、シェーディング補正用データ、即ち白基準データとして使用する。
【０００８】
図５中段に示す、正常な白基準データによるシェーディング補正後のデータでは、原稿の黒い部分に対応する読み取りデータが０（絶対黒）に近いレベルで、その他は発行部の両端部での光量低下の影響が補正されて、比較的フラットな値が得られている。ところが、図５下段に示すように、白基準測定時にたまたまノイズが生じて、以後その白基準データでシェーディング補正を行った場合は、ノイズがのった画素に対応する原稿部に対して、正しい読み取り画像データを得ることができなくなる。
【０００９】
こうした電気的なノイズにともなう部分的な白基準値のドロップと、受光素子の特性に基づく正常な値とを明確に判別することは困難であり、一般的には統計的な手法によって、ノイズ分の除去が行われる。
【００１０】
例えば、複数の白基準測定値の平均化により、ノイズの影響を排除した白基準データを取得している。具体的には、白基準値を測定してその大きさに基づいてソーティングするという処理を複数回くり返し、全サンプル数分の測定値のソーティングが終了したら、所定数分をその上下からカットし、残りのサンプル数による平均値をもって白基準値を決定する。
【００１１】
この場合、サンプル数が大きくなればなるほど、ノイズの除去率も高くなるが、同時に温度特性の問題が浮上してくる。図６に示すように、光源であるＬＥＤの出力はスキャナユニット内部の電気素子の温度特性変化に応じて点灯後急速に低下してくる。もちろん、比較的安定したタイミング（例えばＬＥＤ点灯後６０秒）で白基準の測定を行えば良いが、それでもＬＥＤの出力特性は常に変化しているため、上記白基準値の複数回の測定時間を必要最小限に抑えねばならない。更に、白基準原稿上の白基準測定点が汚れている場合等を考慮して、図６に示すように、白基準値の測定ポイントは複数でなければならない。
【００１２】
以上説明したように、図２に示すような超小型スキャナユニットにおける白基準値の測定の際には、最初の測定ポイントの１回目の測定から、最後の測定ポイントの最後の測定までに要する時間をいかに短くするかが、重要となってくる。
【００１３】
本発明は上記の問題点を解消するためになされたものであり、白基準値の測定、及び最終白基準値の決定に要する処理時間を短縮することが可能な画像処理装置及びその方法を提供することを目的とする。
【００１４】
【課題を解決するための手段】
上記目的を達成するための一手段として、本発明の画像処理装置は以下の構成を備える。
【００１５】
即ち、ライン状に並べた複数の受光素子により原稿画像を読取って入力する画像入力手段と、前記入力手段によって基準濃度原稿を複数回読取って入力された前記受光素子の素子毎の複数の入力値を、所定領域に転送・格納する転送手段と、前記転送手段によって前記所定領域に格納された複数の入力値を前記素子毎に、大小関係でソート処理して、大小両端夫々複数所定数の入力値を除いて平均値を求めて、前記素子毎の濃度基準値を決定する統計手段と、前記統計手段によって決定された前記濃度基準値を保持する濃度基準値保持手段と、前記入力手段による各素子毎の入力値を前記濃度基準値に基づいてシェーディング補正する補正手段と、前記転送手段における第ｎラインの入力値の転送・格納処理と、前記統計手段による第ｎ‐１ラインの入力値の前記ソート処理とが並行して行われるように制御する制御手段と、を有することを特徴とする。
【００１７】
【発明の実施の形態】
以下、本発明に係る一実施形態について、図面を参照して詳細に説明する。
【００１８】
＜第１実施形態＞
［装置構成］
図１は、本実施形態におけるスキャナ装置の概観図である。同図において１はスキャナ装置本体、２は画像読み取り手段であるところのスキャナユニット、３はスキャナユニット２をホールドするためのキャリヤユニット、４はスキャナユニット２でＡ／Ｄ変換されたデジタル画像データをメイン制御ユニット部（不図示）に転送するためのフレキシブルなケーブル、５はスキャナユニット２が搭載されたキャリヤユニット３を紙送り方向に対して垂直方向に走査させるキャリヤ駆動ユニット、６は原稿用紙をキャリヤユニット３の走査方向に対して垂直方向に動かすための紙送りユニット、７はホストコンピュータ８とスキャナ装置１間におけるコマンドや画像データの経路となる入出力コネクタ、９は原稿用紙を給紙するための給紙トレイである。このほか、図示されていないユニットとして、紙送りユニット６やキャリヤユニット３等のメカ駆動系の制御や、スキャナユニット２が読みとった画像データを必要に応じて編集・加工して入出力コネクタ７を経由してホストコンピュータ８に転送するためのメイン制御ユニット等を備える。
【００１９】
図２は、図１に示したスキャナユニット２の外観斜視図であり、プリントヘッドユニット（不図示）と交換することによってスキャナ装置１がプリンタとしても使用できるように、約４０ｍｍ×４５ｍｍ×２５ｍｍのユニット内部にスキャナとしての基本的な機能を凝縮した、超小型ユニットになっている。スキャナユニット２をキャリヤユニット３に装着すると、キャリヤユニット３の端子とスキャナユニット２の端子１０とが接触し、ケーブル４を介してスキャナユニット２とメイン制御ユニットとが接続される。
【００２０】
図３は、図２に示したスキャナユニット２の詳細構成を示すブロック図である。スキャナユニット２は、読み取り面を照射する発光部１１と、読み取り面からの反射光を受光するために紙送り方向に３６０ｄｐｉの密度で配置された１２８個の受光素子（第１受光素子〜第１２８受光素子）からなる受光部１２と、受光部１２によるアナログ電圧をデジタル値に変換するＡ／Ｄ変換部１３と、Ａ／Ｄ変換後の値から絶対黒レベルを保持しているオフセットレジスタ１４の値を減算する減算部１５と、減算後の画像データにシェーディングＲＡＭ１６に保持されている内容（白基準値）でシェーディング補正を行うシェーディング補正部１７と、最終的な画像データをメイン制御ユニット側にシリアル転送する転送部１８と、メイン制御ユニットからヘッドレジスタ設定信号２０を介して指定されるコマンドに応じてスキャナユニット２内の各種動作（ＬＥＤのオン／オフ、オフセット値の測定、白基準値の測定、原稿の読込等）を制御する内部レジスタ設定部１９から構成される。尚、発光部１１と受光部１２とにより、スキャナヘッド１００を構成する。
【００２１】
尚、ヘッドレジスタ設定信号２０は、オフセットレジスタ１４やシェーディングＲＡＭ１６にも接続されており、メイン制御ユニット側からの書き込みも可能な回路構成になっている。また、スキャナユニット２内部で実行される前述の各種動作は、メイン制御ユニットから送出される同期クロックＣＲＳＴ２１に同期して実行されることになる。
【００２２】
図４は、スキャナエンジン２２の詳細構成を示すブロック図である。同図においてスキャナエンジン２２は、メイン制御を行なうＭＰＵ２３を中心に構成される。このＭＰＵ２３は、ＭＰＵ２３の動作手順やモータ制御用の各種テーブル等が記載されたＲＯＭ部や、ＭＰＵ２３の演算用等に使用される内部ワークＲＡＭを内蔵したいわゆるワンチップマイコンである。ＭＰＵ２３の周辺には、スキャナユニット２から転送された画像データを格納するための１メガバイトの外部ＲＡＭ２４、スキャナユニット２からの画像データをシリアル／パラレル変換後、ＭＰＵ２３が指定する外部ＲＡＭ２４のエリア内の指定アドレスから順に画像データを格納する画像データ格納制御部２５、アドレスラインとデータラインから構成され、ＭＰＵ２３と画像データ格納制御部２５の双方からの外部ＲＡＭ２４エリアへのアクセスを可能にするデータバス２６、入出力コネクタ７を経由してホストコンピュータ８からのコマンドを受け取ったり、あるいは読み取った画像データをホストコンピュータ８に転送するための、ホストＰＣインタフェース制御部２７、ＭＰＵ２３からの制御信号に応じてキャリヤユニット３駆動用のステッピングモータ２８と、紙送り用のステッピングモータ２９との電流量を制御するモータドライバ３０等が配置されている。キャリア・紙送りの両ステッピングモータ２８，２９はともに、モータ１パルス（１ステップ）でキャリア・原稿用紙が１／３６０インチ動くようなギヤ比で設計されている。
【００２３】
ＭＰＵ２３と画像データ格納制御部２５とスキャナユニット２とは、ＭＰＵ２３から出力されるＣＲＳＴ(Column Read Start Timing)信号２１によって同期がとられている。つまり、キャリアユニット３が１／３６０インチ移動するごとにＭＰＵ２３はＣＲＳＴ信号２１をワンショット信号として出力し、スキャナユニット２はこの信号をトリガにして１カラム分の画像データを画像クロック信号（ＳＣＬＫ）３１と画像データ信号（ＳＤＡＴＡ）３２によって、シリアル形式のデータとして画像データ格納制御部２５に転送する。画像データ格納制御部２５では、転送されてきたシリアルデータを８ビットを１単位としてパラレル変換後に、格納アドレスが示す先頭アドレスから順に、データバス２６を経由して外部ＲＡＭ２４へ画像データを格納していく。
【００２４】
但し、画像データの読込動作以外の場合（オフセットスキャンや白基準測定等）は、ＭＰＵ２３の制御の元に、キャリヤユニット３側の制御は切り放して、スキャナユニット２側の制御のみが実行される。
［白基準値設定の基本処理］
以下、本実施形態のスキャナ装置１における白基準値設定の動作を図７Ａのフローチャートに示し、説明する。
【００２５】
スキャナユニット２内のシェーディングＲＡＭ１６に保持されている白基準値は、スキャナユニット２の交換やスキャナユニット２の電源オフにより失われる。ＭＰＵ２３は、スキャナユニット２への電源供給を管理しており、白基準値の取得・未取得を常に把握している。
【００２６】
ホストコンピュータ８からスキャンコマンドが送られてきた場合、ＭＰＵ２３は、白基準値が未取得の場合は、白基準値未取得のワーニングをリターンする。ホストコンピュータ８側のスキャナドライバはこのワーニングを受けると、ポップアップメニューでユーザに白基準取得用の用紙を給紙するように促す。ユーザは白基準用紙を給紙トレイにセットし、ポップアップメニュー上のＯＫボタンをクリックする。スキャナドライバはＯＫボタンのクリックを検出すると、スキャナ装置１に白基準取得コマンドを発行し、スキャナ装置１側では図７以降に示す制御フローチャートに基づいた白基準値取得処理が実行される（以上不図示）。
【００２７】
ＭＰＵ２３はモータ制御部３０を介してＬＦモータ２９を回転させ、白基準用紙がスキャナユニット２の下まで十分到達するまで（例えば１８００パルス（３６０×５インチ）回転分）紙送りを実行する（Ｓ７０１）。
【００２８】
ＭＰＵ２３はキャリヤモータ２８を回転させ、スキャナユニット２の読み取り位置がキャリヤユニット３のホームポジションから４インチの位置（以降、Ａ点）にくるように、キャリヤユニット３を移動させる（Ｓ７０２）。
【００２９】
このポイント（Ａ点）で後述する白基準値測定処理を実行し、外部ＲＡＭ２４の878000ｈからの１２８バイトに格納されている統計処理済みの白基準値最終データを、878100ｈからの１２８バイトに転送する（Ｓ７０３）。
【００３０】
ＭＰＵ２３はキャリヤユニット３をさらに右方向に３６０パルス分移動させ（Ｓ７０４）、Ａ点から１インチ離れたＢ点において前記Ｓ７０３と同様の処理を実行し、外部ＲＡＭ２４の878000ｈからの１２８バイトにおける最終データを878200ｈに転送する（Ｓ７０５）。
【００３１】
ＭＰＵ２３はキャリヤユニット３をさらに右方向に１インチ移動させ（Ｓ７０６）、前記同様にＣ点での白基準値測定処理を行ない、最終結果を外部ＲＡＭ２４の878300ｈに格納する（Ｓ７０７）。このように、白基準値を３点で測定する理由は、白基準用紙表面の汚れの影響を排斥するためである。
【００３２】
以上測定して外部ＲＡＭ２４に格納された、Ａ点での白基準値（878100ｈ）・Ｂ点での白基準値（878200ｈ）・Ｃ点での白基準値（878300ｈ）の３ポイントの白基準値から最終的な白基準値αを算出し（Ｓ７０８）、この値αをヘッドレジスタ設定信号２０を経由して、スキャナユニット２内のシェーディングＲＡＭ１６に書き込む（Ｓ７０９）。これにより、本実施形態における白基準値設定処理が終了する。
［白基準値最終データ算出処理］
以下、前記Ｓ７０８で実行される白基準値最終データ算出処理の詳細を、図７Ｂのフローチャートに基づいて説明する。
【００３３】
前記Ｓ７０３の処理によって、Ａ点における、受光部１２の第１受光素子での白基準値測定値は外部ＲＡＭ２４の878100ｈに、第１２８受光素子での白基準値は87817Fｈに格納されている。Ｂ点においても同様に、第１受光素子での値は878200ｈに、第１２８受光素子での値は87827Fｈに格納され、Ｃ点においては第１受光素子の値は878300ｈに、第１２８受光素子での値は87837Fｈに格納されている。
【００３４】
測定点にたまたま汚れや挨が付着している場合は、その部分を読み取った白基準値は、他のポイントでの値より低い値になる。よってＡ点・Ｂ点・Ｃ点の３ポイントでの、同一受光素子での白基準値を大小比較し、最も大きな値を、その受光素子における白基準値とすることで、上記の汚れや挨の影響をなくすことが可能になる。即ち、
まず、受光素子番号を示すｎを１で初期化する（Ｓ７１１）。次に、前述のアドレスのＲＡＭエリアに格納されているＡ点・Ｂ点・Ｃ点での第１（ｎ）受光素子の白基準値について、大小比較を行う（Ｓ７１２）。そして、その最大値を第１（ｎ）受光素子の白基準値として採用し、879000ｈに格納する（Ｓ７１３）。
【００３５】
そして、受光素子番号ｎに１加算して（Ｓ７１４）、ｎがスキャナヘッド１００上の受光素子の個数である１２８以下の場合は、ステップＳ７１２に分岐し、次の受光素子についての白基準値の判断を繰り返す（Ｓ７１５）。ｎが１２９になった場合、白基準最終データ算出処理を終了する。これにより、外部ＲＡＭ２４の879000ｈからの１２８バイトに、第１受光素子から第１２８受光素子までの白基準値が順次格納されたことになる。
［白基準値測定処理］
次に、前記ステップＳ７０３・Ｓ７０５・Ｓ７０７で実行される白基準値測定処理の詳細を説明する。
【００３６】
本実施形態においては、白基準値の測定及び転送処理と並行して、前回測定した白基準値のソーティング処理を行うことを特徴とする。この並行処理により、測定・転送処理とソーティング処理とを分割して行う場合に比べて処理時間を短縮することができる。
【００３７】
まず、白基準値測定処理および後述するソーティング処理で使用するワークＲＡＭの構造を図１２〜図１４に示し、説明する。
【００３８】
図１２に示す様に、画像データ格納制御部２５によってスキャナユニット２側で測定した白基準値を自動格納するためのワークエリアとして、外部ＲＡＭ２４上の、860000ｈから8618FFｈの６４００バイト（１２８バイト×５０回）のエリアが確保される。尚、本実施形態の画像データ格納制御部２５はＡＳＩＣにより構成されており、後述するＡＳＩＣによる自動格納では、１回目の測定における第１受光素子の白基準値は860000ｈに、５０回目の第１２８受光素子の白基準値は8618FFｈに格納される。以降、画像データ格納制御部２５をＡＳＩＣ２５と表記する。
【００３９】
また、本実施形態においてＡＳＩＣ（画像データ格納制御部２５）による自動格納処理と平行してソーティング処理が実行される。このソーティング処理とは即ち、測定された白基準値を大きさの順に並べ代える処理であり、外部ＲＡＭ２４上で３ブロックのワークエリアが使用される。以下、この３つのワークエリアについて説明する。
【００４０】
まず１つ目として、外部ＲＡＭ２４の872000ｈからの２５６バイトは白基準値累積値算出用のワークエリア（不図示）であり、例えば872000ｈからの２バイトは第１受光素子における５０回分の白基準測定値の合計が格納されることになる。
【００４１】
次は図１３に示した、ロウアーデータ（Lowwer Data）格納エリアである。第１受光素子でのロウアーデータは870000ｈからの３２バイトに格納される。２バイトがワンセットで、ローバイト（Low Byte）が測定値を示し、ハイバイト（High Byte）が測定回数番号を示す。ワークエリアとしては、１６個のロウアーデータまで対応できるが、本実施形態では１０個までに限定している。後述するソーティング処理によって、１０個のデータの並びはその受光素子での白基準値のなかで小さい１０個が格納され、さらにその１０個の中で最も大きい白基準値が先頭アドレス（第１受光素子については、870000ｈからの２バイト）に格納されることになる。
【００４２】
また、ハイアーデータ（Higher Data）についても同様に、図１４に示すハイアーデータ格納エリアが用意され、各受光素子ごとの白基準測定値で高い方から１０個のサンプルについて、白基準値と測定回数番号がワンセットで、871000ｈから871FFFｈのエリアに格納される。上記ロウアーデータ用格納エリアとの違いは、１０個の配列順序において１０個の中で最も小さい白基準値が先頭アドレスに格納される点である。
【００４３】
以下、図８のフローチャートを参照して、本実施形態の白基準値測定処理について詳細に説明する。
【００４４】
尚、本実施形態の白基準値測定処理においては、オフセット値及び白基準値の測定開始や測定値の転送開始等は、後述するＩＮＴ７割込処理によって、ヘッドレジスタ設定信号２０を介してスキャナユニット２に命じられることにより制御される。
【００４５】
まず、外部ＲＡＭ２４中のソーティング処理用のワークエリアを、ロウアーデータ格納エリアは００ｈで、ハイアーデータ格納エリアはＦＦｈで、累積値算出用ワークエリアは００ｈで初期化する（Ｓ８０１）。次にＭＰＵ２３は、ヘッドレジスタ設定信号２０を介して、スキャナヘッド１００の発光部１１に対して、光源であるＬＥＤの消灯命令を発効する（Ｓ８０２）。そして残光が完全に無くなるまで１０ミリ秒待ったのち（Ｓ８０３）、後述するＩＮＴ７割込処理で参照するオフセットフラグをセットし（Ｓ８０４）、測定回数ｎを１に、ＡＳＩＣによる自動格納処理の格納先頭アドレス（以降、格納ポインタＰ）を860000ｈで初期設定する（Ｓ８０５）。以降、ｎ回目の測定値の格納先頭アドレスをＰｎで表す。
【００４６】
前述のように、スキャナユニット２内部の動作は、基本的にＭＰＵからＡＳＩＣ２５を経由して送られてくる信号ＣＲＳＴ２１に同期して動作する。スキャナユニット２内部では、ＣＲＳＴ２１の周期が白基準値測定時間に相当し、実際の画像読み取りの際もＣＲＳＴ２１の周期でキャリヤユニット３は１パルス（１ドット／３６０インチ）移動する。つまり、３６０ｄｐｉの読み取りを行う場合に、１ドット幅の原稿面に照射される時間がＣＲＳＴ２１の周期になる。本実施形態においては、５１２μ秒周期をＣＲＳＴ２１周期としている。
【００４７】
また、スキャナユニット２内部でのオフセット値及び白基準測定処理において、最初の２パルス分はスキャナユニット２内部のバッファをクリアするためのウォームアップに使用され、実際の測定は３パルス目以降に実行される。本実施形態では、７パルス目で白基準値の測定を行ない、オフセット値の測定結果はオフセットレジスタ１４に、白基準値の測定結果は１２８バイトのシェーディングＲＡＭ１６に格納されることになる。
【００４８】
また、オフセットレジスタ１４やシェーディングＲＡＭ１６内部の測定値をＡＳＣＩ２５を介して、前記ステップＳ８０５で指定したスキャナエンジン２２内の外部ＲＡＭ２４に自動転送する処理も、ＣＲＳＴ２１に同期して実行される。この場合も数段のバッファを経由して送られてくるため、実際に外部ＲＡＭ２４に格納されるタイミングは、スキャナユニット２とＡＳＩＣ２５に自動転送の開始を命じた５パルス後になる。このため、測定用と自動転送用として、トータル１５パルスのＣＲＳＴ２１出力をＡＳＩＣ２５に設定する（Ｓ８０６）。
【００４９】
前述のオフセット値及び白基準値の測定開始や、測定値の転送開始は、後述するＩＮＴ７割込処理によって、ヘッドレジスタ設定信号２０を介してスキャナユニット２に命じられることにより制御される。ここでは、その起動になる、ＣＲＳＴ２１の２パルス後のＩＮＴ７の発生をＡＳＩＣ２５に設定する（Ｓ８０７）。
【００５０】
ＣＲＳＴ２１の出力開始をＡＳＩＣ２５に命じて（Ｓ８０８）、後述するＩＮＴ７処理の最終処理でセットされるフラグをポ-リングし、ＣＲＳＴ２１の出力終了を待つ（Ｓ８０９）。ＣＲＳＴ出力が終わると、外部ＲＡＭ２４の860000ｈにはスキャナユニット２内部のオフセットレジスタ１４の内容と同じ値が格納されていることになる。この値をオフセット値演算用ワーク（不図示）に転送し（Ｓ８１０）、測定回数ｎを１増加させ（Ｓ８１１）、測定回数ｎが１０回以下の場合は再度前記ステップＳ８０６に分岐し、オフセット値の測定処理を繰り返す（Ｓ８１２）。
【００５１】
１０回分のオフセットの測定が終了すると、ノイズ除去のために上下各２サンプルをカット後、残り６個のサンプルでの平均値（β）を算出する（Ｓ８１３）。このβをヘッドレジスタ設定信号２０を介して、スキャナユニット２内部のオフセットレジスタ１４に書き込むことで、オフセットレジスタ１４の設定処理が終了し（Ｓ８１４）、即ち絶対黒レベルが決定される。
【００５２】
次に、白基準値の測定処理が開始される。基本的な制御は前述のオフセット値の設定処理と同じ手順になる。但し、オフセット値取得の場合は、発光部１１のＬＥＤは消灯しているが、白基準値取得の場合は、ＬＥＤが点灯している状態での処理になる。このため、ノイズやスキャナユニット２内部の昇温の影響が大きくなる。このため、測定回数は５０回に、また処理手順も高速化するための工夫が盛り込まれている。
【００５３】
まずスキャナユニット２に対して、発光部１１内のＬＥＤの点灯命令を発行する（Ｓ８１５）。そして、コマンド実行までのディレイとして１０ミリ秒待った後（Ｓ８１６）、後述するＩＮＴ７割込処理で使用する白基準フラグをセットする（Ｓ８１７）。そして、前述のステップＳ８０５と同様に測定回数と格納アドレスを設定し（Ｓ８１８）、白基準の測定と測定値の転送のために１５パルスのＣＲＳＴ出力をＡＳＩＣ２５に設定し（Ｓ８１９）、更に２パルス目のＣＲＳＴ２１でＩＮＴ７を発行するようにＡＳＩＣ２５に設定後（Ｓ８２０）、ＣＲＳＴ２１の出力開始をＡＳＩＣ２５に指令して（Ｓ８２１）、１回目の白基準値の測定・転送処理を開始する。尚、前記ステップＳ８１８における格納先アドレスの設定により、測定白基準値はワークエリアに保持されるのみであり、後述するＩＮＴ７の中でこのワークエリアの値を参照し、ＡＳＩＣ２５に設定することになる。
【００５４】
その後、前記ステップＳ８０９と同様にＣＲＳＴ２１の出力終了を待って（Ｓ８２２）、次回の測定用に測定回数を１増加させるとともにＡＳＩＣ２５による自動転送の格納先アドレスを１２８増加させる（Ｓ８２３）。ここで図１２に示すように、１回目測定において第１受光素子の白基準値は860000ｈに、第１２８受光素子の白基準値は86007Fｈに格納されており、二回目の測定では860080ｈ（860000h+128）からの１２８バイトに白基準値が格納されることになる。
【００５５】
そして、１回目の測定におけるステップＳ８１９〜Ｓ８２１までの処理と同様の処理を行い、２回目の測定・転送処理を開始する（Ｓ８２４，Ｓ８２５，Ｓ８２６）。
【００５６】
ここで、前回の測定・転送処理で格納されている１２８バイトの白基準値について、後述するソーティング処理を実行する（Ｓ８２７）。つまり、スキャナユニット２とＡＳＩＣ２５によるｎ回目の白基準測定及び転送処理と平行して、ＭＰＵ２３ではｎ−１回目の白基準測定値についてのソーティング処理（統計処理）を実行することになる。尚、このソーティング処理については後述する。
【００５７】
測定回数が５０回を越えるまで前記ステップＳ８２２からＳ８２７の処理を繰り返し（Ｓ８２８）、５０回の測定が終了すると、ソーティング処理によって図１３及び図１４に示すように構築されるロウアーデータ・ハイアーデータを使用して、同じくソーティング処理によって累積された累積値ワークエリアの内容からロウアーデータ・ハイアーデータの値を減算し、３０サンプルでの平均値γを算出する（Ｓ８２９）。そして、外部ＲＡＭ２４の878000ｈからの１２８バイトに前記γの値を格納して（Ｓ８３０）、白基準値測定処理が終了し、即ち絶対白レベルが決定される。
［ソーティング処理（統計処理）］
以下、前記ステップＳ８２７で実行されるソーティング処理の詳細を、図９のフローチャートを参照して説明する。このフローチャートに示す１回のソーティング処理により、図１２に示されるワークエリア中の１２８画素×５０回の白基準測定値のうち、１２８画素×１回の測定分が、図１３及び図１４のソーティング用のデータ格納エリアに格納されるべきか否かチェックされる。
【００５８】
まず、前回の測定における白基準値先頭格納アドレスの値を便宜上Ｐとする（Ｓ９０１）。次に、受光素子番号ｍとして、第１受光素子は０番（Ｓ９０２）、第１２８受光素子は１２７番として取り扱い、まず第１受光素子の白基準値より、累積値データ，ロウアーデータ，ハイアーデータの更新を開始する。
【００５９】
ｍ番の受光素子の白基準測定値は、Ｐ＋ｍのアドレスに格納されている。この値を便宜上ＡとしてＭＰＵ２３のレジスタにセットする（Ｓ９０３）。そして、Ａを第（ｍ＋１）受光素子用の２バイトの累積値ワークエリアの内容に加算する（Ｓ９０４）。
【００６０】
そして、第（ｍ＋１）受光素子用のロウアーデータ格納エリアの先頭アドレスを便宜上ＬＴとする（Ｓ９０５）。例えば、画素番号ｍ＝２（つまり第３受光素子）用のロウアーデータ格納エリアの先頭アドレスＬＴは図１３に示すように870040ｈになる。
【００６１】
そして、ソーティング用のワークポインタＬＳＰを０で初期化し（Ｓ９０６）、ロウアーデータ格納エリアのアドレス（ＬＴ＋ＬＳＰ）の内容をＢとする（Ｓ９０７）。そして、白基準測定値Ａがロウアーデータ格納エリアに既に格納されている値Ｂより小さければ（Ｓ９０８）、該白基準測定値Ａはロウアーデータ格納エリアに格納すべき値であるとしてＬＳＰに２加算し（Ｓ９０９）、ＬＳＰが２０を越えるまで（Ｓ９１０）、前記ステップＳ９０７に戻る。
【００６２】
ステップＳ９０８で白基準測定値Ａがロウアーデータ格納エリアに既に格納されている値Ｂより大きければ、Ａをロウアーデータ格納エリアに格納すべきかのチェックは終了し、その時のＬＳＰの値に基づいて、ロウアーデータ格納エリア内の第ｍ画素における１０個のデータの並べかえを行なう（Ｓ９１１）。
【００６３】
このようにしてロウアーデータ格納エリアに対するソーティングが終了すると、次にハイアーデータ格納エリアに対するソーティングを開始するが、これは上述したロウアーデータ格納エリアに対するソーティングと略同様であるため、詳細な説明は省略する。ただし、ステップＳ９１５における白基準測定値Ａと格納データＢとの比較方法が上記ステップＳ９０８の場合とは逆になる。
【００６４】
以上のように、ステップＳ９１８まででハイアーデータ格納エリアに対する第ｍ画素のソーティングが終了する。続いて画素番号ｍに１加算して（Ｓ９１９）、第１２８画素まで以上ステップＳ９０３〜Ｓ９１９の処理をくり返す（Ｓ９２０）ことにより、１回の測定による第１画素から第１２８画素までの白基準測定値がソーティングされる。
［ＩＮＴ７割込処理］
以下、前記白基準測定処理中のオフセット値（絶対黒レベル）の測定や、白基準値（絶対白レベル）の測定で起動がかけられ、フォアグランドでの前記ソーティング処理と平行して、バックグラウンドで実行されるＩＮＴ７割込処理について、図１０，図１１のフローチャートを参照して説明する。
【００６５】
ＩＮＴ７割込は、ＣＲＳＴ２１の出力回数がＡＳＩＣ２５内部のＩＮＴ７設定レジスタに設定した回数分に達したときに、ＡＳＩＣ２５からＭＰＵ２３に外部割込として入力される。ＩＮＴ７割込が発生する処理としては、前述のオフセット値の測定・白基準値の測定、及び画像データの読込の３種類の処理が含まれるが、本実施形態においては画像データの読込処理についての説明は割愛する。
【００６６】
●オフセット値処理におけるＩＮＴ７割込
図１０を参照して、オフセット値処理におけるＩＮＴ７割込について説明する。
【００６７】
まず、図８ＡのステップＳ８０４でセットしたオフセットフラグをチェックし（Ｓ１０１）、１の場合はステップＳ１０２以降のオフセット処理を実行する。
【００６８】
図８ＡのステップＳ８０６では、１５パルスのＣＲＳＴ出力を設定した。本実施形態においてはこの１５パルス中、２パルス目でオフセット値測定開始を、７パルス目でオフセット値測定終了とオフセット値リード開始を、１２パルス目でオフセット値リード終了を、それぞれヘッドレジスタ設定信号２０を介してＭＰＵ２３からスキャナユニット２に命令しなければならない。この３種類の制御を判断するために、ＩＮＴ７ＳＮ(Sequence Nomber)というワークエリアを用いる。即ち、ＩＮＴ７ＳＮ＝０の場合は、スキャナユニット２にオフセット値測定開始命令を発行し（Ｓ１０３）、次のシーケンスのためにＩＮＴ７ＳＮに１をセットし（Ｓ１０４）、同じく次のシーケンス起動のために５パルス後のＣＲＳＴ２１でＩＮＴ７を発生するようにＡＳＩＣ２５に設定し（Ｓ１０５）、割込処理を一旦終了する。
【００６９】
そして、ＣＲＳＴ２１の５パルス出力後、再度ＩＮＴ７が発生し、前記ステップＳ１０１，Ｓ１０２と同様の処理が行われた後、ＩＮＴ７ＳＮ＝１の処理に分岐する。スキャナユニット２に前記ステップＳ１０３で命じていたオフセット値の測定を止めるために、オフセット値測定終了命令を発行し（Ｓ１０６）、次のシーケンスのためにＩＮＴ７ＳＮに２をセットする（Ｓ１０７）。そして、ＡＳＩＣ２５によるオフセット値の自動格納処理のために、ＡＳＩＣ２５内のデータ格納アドレス設定レジスタに860000ｈを設定する（Ｓ１０８）。同じく、ＡＳＩＣ２５内部のデータ格納制御レジスタで、スキャナユニット２から転送されてくるオフセット値を、スキャナエンジン２２上の外部ＲＡＭ２４（前記Ｓ１０８で860000ｈにセット済み）に格納することを許可する（Ｓ１０９）。その後、スキャナユニット２内部のオフセットレジスタ１４に格納されている１バイトのオフセット値を、スキャナエンジン２２側に転送するように、オフセット値リード開始命令をスキャナユニット２に発行する（Ｓ１１０）。
【００７０】
スキャナユニット２からは、１バイトのオフセット値を８ビットのシリアルデータに変換し、２メガヘルツの転送クロックでスキャナエンジン２２側に転送してくる。転送回数はＣＲＳＴ２１の１回に対して１回の割合である。スキャナエンジン２２側では、一旦ＡＳＩＣ２５に該シリアルデータがバッファリングされ、ＡＳＩＣ２５内部で８ビットシリアルから１バイトにシリ−パラ変換されたあとに、ステップＳ１０８で設定した外部ＲＡＭ２４上のアドレスに格納される。このため、ステップＳ１１０でリード開始命令を発行しても、ただちに外部ＲＡＭ２４上の所定のアドレスにデータが格納されるわけではなく、ＣＲＳＴ２１の数パルス分のディレイが必要になる。本実施形態においては、ＣＲＳＴ２１の５パルス後に外部ＲＡＭ２４にデータが格納されるように、ＡＳＩＣ（画像データ格納制御部）２５を設計している。このため、ＩＮＴ７での次のシーケンスであるオフセット値リード終了処理の起動のために、さらに５パルスのＣＲＳＴ２１出力後に再度ＩＮＴ７が発生するように、ＡＳＩＣ２５を設定し（Ｓ１１１）、割込処理を一旦終了する。
【００７１】
そしてＣＲＳＴ２１の５パルス出力後、再度ＩＮＴ７が発生し、ステップＳ１０１，Ｓ１０２と同様の処理が行われ、ＩＮＴ７ＳＮ＝２の処理に分岐する。スキャナユニット２にステップＳ１１０で命じていたオフセット値のリード（スキャナユニット２からスキャナエンジン２２側へのオフセット値の転送）を止めるために、スキャナユニット２にオフセット値リード終了命令を発行する（Ｓ１１２）。そして、次のシーケンスのためにＩＮＴ７ＳＮに３をセットする（Ｓ１１３）。
【００７２】
以上でバックグラウンドにおける処理が終了したことを、フォアグラウンドに通知するためにＣＲＳＴ出力エンドフラグをセットし（Ｓ１１４）、オフセット値に関するＩＮＴ７割込処理を終了する。
【００７３】
●白基準値処理におけるＩＮＴ７割込
図１１を参照して、白基準値処理におけるＩＮＴ７割込について説明する。
【００７４】
図１０のステップＳ１０１で、オフセットフラグが０で、かつ白基準フラグが１の場合は、図１１に示す白基準値に関するＩＮＴ７割込処理が実行される。白基準値に関するＩＮＴ７割込処理も、基本構造は上述したオフセット値の割込処理と類似している。
【００７５】
ＩＮＴ７ＳＮ＝０の場合は、スキャナユニット２に白基準値測定開始命令を発行し（Ｓ１１７）、次のシーケンスのためにＩＮＴ７ＳＮに１をセットし（Ｓ１１８）、同じく次のシーケンス起動のために５パルス後のＣＲＳＴ２１でＩＮＴ７を発生するようにＡＳＩＣ２５に設定して（Ｓ１１９）、割込処理を一旦終了する。
【００７６】
ＣＲＳＴの５パルス出力後、再度ＩＮＴ７が発生し、ステップＳ１０１，Ｓ１１６と同様の処理が行われ、ＩＮＴ７ＳＮ＝１の処理に分岐する。スキャナユニット２にステップＳ１１７で命じていた白基準値の測定を止めるために、白基準値測定終了命令を発行し（Ｓ１２０）、次のシーケンスのためにＩＮＴ７ＳＮに２をセットする（Ｓ１２１）。
【００７７】
図８Ｂに示すステップＳ８２３の処理において、測定中の白基準値の格納アドレスはフォアグラウンドの処理でワークエリアに保持されていている。このワークエリアの内容を参照し、その値（Ｐｎ）をＡＳＩＣ２５内のデータ格納アドレス設定レジスタに設定する（Ｓ１２２）。そして、前記ステップＳ１０９と同様にＡＳＩＣ２５による白基準値の格納をイネーブルにし（Ｓ１２３）、スキャナユニット２に白基準値リード開始命令を発行する（Ｓ１２４）。
【００７８】
スキャナユニット２内部の１２８バイトのＲＡＭに保持されている白基準測定値は、本コマンドを受けると、第１受光素子に対応する１バイトデータから順にパラ−シリ変換され、１２８×８ビットのシリアルデータとして２メガヘルツの転送クロックでスキャナエンジン２２側のＡＳＩＣ２５に転送されてくる。ＡＳＩＣ２５では、該白基準測定値を再度シリ−パラ変換し、第１受光素子での白基準測定値を外部ＲＡＭ２４上のＰｎのアドレスに、第２受光素子での測定値をＰｎ＋１のアドレスというように、順次に格納していく。そして、ＩＮＴ７での次のシーケンスである白基準値リード終了処理の起動のために、さらに５パルス後のＣＲＳＴ出力後に再度ＩＮＴ７が発生するようにＡＳＩＣ２５に設定し（Ｓ１２５）、割込処理を一旦終了する。
【００７９】
そして、ＣＲＳＴ２１の５パルス出力後、再度ＩＮＴ７が発生し、前記ステップＳ１０１，Ｓ１１６と同様の処理が行われ、ＩＮＴ７ＳＮ＝２の処理に分岐する。スキャナユニット２にステップＳ１２４で命じていた白基準値のリード（スキャナユニット２からスキャナエンジン２２側への白基準値の転送）を止めるために、スキャナユニット２に白基準値リード終了命令を発行し（Ｓ１２６）、次のシーケンスのためにＩＮＴ７ＳＮに３をセットする（Ｓ１２７）。そして、バックグラウンドでの処理が終了したことをフォアグラウンドに通知するために、ＣＲＳＴ出力エンドフラグをセットし（Ｓ１２８）、白基準値に関するＩＮＴ７割込処理を終了する。
【００８０】
以上、図８Ａ〜図１１のフローチャートを参照して、本実施形態の白基準値取得処理について説明したが、このタイミングチャートを図１５（ａ）に示す。同図によれば、バックグラウンドでスキャナユニット２とＡＳＩＣ２５によるｎ回目の白基準値の測定と転送処理を実行中に、フォアグラウンドではｎ−１回目の白基準値でのソーティング処理が行われていることが分かる。
【００８１】
このような並行処理を行なうことにより得られる効果を、図１５（ｂ）に示す。同図において、上部が白基準値の測定・転送処理とソーティング処理とを分割して行った際に要する全体の処理時間を示し、下部が本実施形態の並行処理による全体処理時間を示す。即ち、本実施形態の並行処理によれば、従来の分割処理に比べて、全体としての処理時間を、５０回分のソーティング処理に要する時間程度、短縮することができる。また同時に、ｎ回目に測定された白基準値の転送直後にｎ＋１回目の白基準値の測定が行なえるため、５０回分の白基準値を測定するための時間も短縮される。
【００８２】
尚、本実施形態ではノイズの影響を除去する手法として、５０回の測定データのうち上下各１０サンプルを除いた値で平均化する例について説明を行なったが、もちろん統計処理の手法としてはこの方法に限定されるものではなく、例えば標準備差等を用いたより高度な統計処理を行うことも可能である。この場合は、本実施形態におけるソーティング処理を当該統計処理に変更すれば良い。
【００８３】
また、本実施形態では、スキャナユニット２の光源として単色ＬＥＤを用いたモノクロスキャナについて説明したが、例えばＲ・Ｇ・Ｂの３種類の光源を用いたカラースキャナの場合においては、ノイズや昇温の問題はさらに厳しくなることが予想される。従って、本発明はカラースキャナに更に好適に適用され、その効果もより期待できる。
【００８４】
また、本実施形態では各ワークエリアとしてのＲＡＭのアドレスについて、説明の簡便上具体的に説明したが、もちろんこのアドレスは本実施形態に限定されるものではない。
【００８５】
以上説明したように本実施形態によれば、白基準値の測定・転送処理とソーティング処理とを並行して行なった上で統計処理を施すことにより、白基準値の測定時間、及び最終白基準値が決定されるまでの処理時間が短縮される。従って、スキャナユニット２の小型化に伴うノイズ及びＬＥＤ出力変動の影響を、最小限に押さえた白基準値を算出することが可能になる。
【００８６】
そして、この白基準値に基づいてシェーディング補正を実行することにより、むらのない画像読込を行うことができる。
【００８７】
＜他の実施形態＞
なお、本発明は、複数の機器（例えばホストコンピュータ，インタフェイス機器，リーダ，プリンタなど）から構成されるシステムに適用しても、一つの機器からなる装置（例えば、複写機，ファクシミリ装置など）に適用してもよい。
【００８８】
また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読出し実行することによっても、達成されることは言うまでもない。
【００８９】
この場合、記憶媒体から読出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【００９０】
プログラムコードを供給するための記憶媒体としては、例えば、フロッピディスク，ハードディスク，光ディスク，光磁気ディスク，ＣＤ−ＲＯＭ，ＣＤ−Ｒ，磁気テープ，不揮発性のメモリカード，ＲＯＭなどを用いることができる。
【００９１】
また、コンピュータが読出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているＯＳ（オペレーティングシステム）などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００９２】
さらに、記憶媒体から読出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００９３】
【発明の効果】
以上説明したように本発明によれば、スキャナユニットのノイズや温度特性の影響を押さえ、高精度な白基準値を設定することができる。従って、この白基準値でシェーディング補正を行うことで、むらのない画像読込が可能となる。
【００９４】
【図面の簡単な説明】
【図１】本発明に係る一実施形態におけるスキャナ装置の外観図である。
【図２】本実施形態におけるスキャナユニットの外観図である。
【図３】本実施形態におけるスキャナユニットの構成を示すブロック図である。
【図４】本実施形態におけるメイン制御ユニットの構成を示すブロック図である。
【図５】シェーディング補正を説明する図である。
【図６】シェーディング補正のための白基準値測定ポイント例を示す図である。
【図７Ａ】本実施形態における白基準値設定処理のフローチャートである。
【図７Ｂ】本実施形態における白基準値設定処理のフローチャートである。
【図８Ａ】本実施形態における白基準値測定処理のフローチャートである。
【図８Ｂ】本実施形態における白基準値測定処理のフローチャートである。
【図９】本実施形態におけるソーティング処理のフローチャートである。
【図１０】本実施形態における割込処理（オフセット値用）のフローチャートである。
【図１１】本実施形態における割込処理（白基準値用）のフローチャートである。
【図１２】本実施形態における白基準測定値格納イメージを示す図である。
【図１３】本実施形態におけるロウアーデータ格納イメージを示す図である。
【図１４】本実施形態におけるハイアーデータ格納イメージを示す図である。
【図１５】本実施形態における白基準値測定・転送・ソーティング処理のタイミングチャートである。
【符号の説明】
１  スキャナ装置
２  スキャナユニット
３  キャリヤユニット
４  フレキシブルケーブル
５  キャリヤ駆動ユニット
６  紙送りユニット
７  入出力コネクタ
８  ホストコンピュータ
９  給紙トレイ
１０  スキャナユニット接触端子
１１  発光部
１２  受光部
１３  画像データＡ／Ｄ変換部
１４  オフセットレジスタ
１５  減算回路
１６  シェーディングデータ（白基準値）格納ＲＡＭ
１７  シェーディング補正部
１８  デジタル画像データ転送部
１９  内部レジスタ設定部
２０  ヘッドレジスタ設定信号
２１  ＣＲＳＴ（スキャナユニット・ＡＳＩＣ・ＭＰＵ同期信号）
２２  スキャナエンジン
２３  ＭＰＵ
２４  画像データ格納用外部ＲＡＭ
２５  画像データ格納制御部（ＡＳＩＣ）
２６  アドレス・データバス
２７  ホストＰＣインターフェース制御部
２８  キャリヤモータ
２９  ＬＦモータ
３０  モータ制御部
３１  画像データ転送クロック信号
３２  画像データ信号
【図１】
0003733227.tif 000002
【図２】
0003733227.tif 000003
【図３】
0003733227.tif 000004
【図４】
0003733227.tif 000005
【図５】
0003733227.tif 000006
【図６】
0003733227.tif 000007
【図７Ａ】
0003733227.tif 000008
【図７Ｂ】
0003733227.tif 000009
【図８Ａ】
0003733227.tif 000010
【図８Ｂ】
0003733227.tif 000011
【図９】
0003733227.tif 000012
【図１０】
0003733227.tif 000013
【図１１】
0003733227.tif 000014
【図１２】
0003733227.tif 000015
【図１３】
0003733227.tif 000016
【図１４】
0003733227.tif 000017
【図１５】
0003733227.tif 000018