(57)【特許請求の範囲】
【請求項１】
画像読取装置とコンピュータとから構成された、画像の読み取りを行う画像読取システムにおいて、
複数の読み取りモードの中から所望の読み取りモードを選択するための選択手段と、
前記画像読取装置にて読み取った画像データを補正する補正手段と、
前記複数の読み取りモードに対応する複数の補正データと、読取回数とを格納可能な格納手段と、
前記格納手段に格納された読取回数に基づいて、前記選択手段により選択された読み取りモードに適合する補正データが前記格納手段に格納されているか否かを判定する判定手段と、
前記判定手段により前記選択された読み取りモードに適合する補正データが前記格納手段に格納されていると判定された場合には、該格納手段内の前記選択された読み取りモードに対応する補正データを前記補正手段に転送し、前記転送された補正データを用いて前記補正手段にて前記画像データの補正を行うように制御し、前記判定手段により前記選択された読み取りモードに適合する補正データが前記格納手段に格納されていないと判定された場合には、前記選択された読み取りモードに対応する補正データを生成し、生成した補正データを前記格納手段に格納し、前記生成した補正データを用いて前記補正手段にて前記画像データの補正を行うように制御する制御手段と、
前記格納手段に格納された読取回数を更新する更新手段と、
を備えることを特徴とする画像読取システム。
【請求項２】
前記判定手段は、前記読取回数が前記画像読取装置の読取手段または照明手段の経時変化に対応して設定した回数に達している場合には、適合する補正データが格納されていないと判定することを特徴とする請求項１に記載の画像読取システム。
【請求項３】
前記補正データは、キャリブレーションデータ又はシェーディングデータであることを特徴とする請求項１又は２記載の画像読取システム。
【請求項４】
前記複数の補正データと前記読取回数とは、同一のデータファイルに記述されていることを特徴とする請求項１に記載の画像読取システム。
【請求項５】
画像読取装置により画像の読み取りを行う画像読取方法において、
複数の読み取りモードの中から所望の読み取りモードを選択する工程と、
前記複数の読み取りモードに対応する複数の補正データと読取回数とを格納可能な格納手段に格納されている読取回数に基づいて、前記選択された読み取りモードに適合する補正データが前記格納手段に格納されているか否かを判定する工程と、
前記選択された読み取りモードに適合する補正データが前記格納手段に格納されていると判定された場合には、前記格納手段内の前記選択された読み取りモードに対応する補正データを用いた補正を行うように制御し、前記選択された読み取りモードに適合する補正データが前記格納手段に格納されていないと判定された場合には、前記選択された読み取りモードに対応する補正データを生成し、前記生成した補正データを前記格納手段に格納し、前記生成した補正データを用いた補正を行うように制御する工程と、
前記格納手段に格納された読取回数を更新する工程と、
を有することを特徴とする画像読取方法。
【請求項６】
前記判定をする工程は、前記読取回数が前記画像読取装置の読取手段または照明手段の経時変化に対応して設定した回数に達している場合には、前記選択された読み取りモードに適合する補正データが格納されていないと判定することを特徴とする請求項５に記載の画像読取方法。
【請求項７】
前記選択された読み取りモードに適合する補正データが格納されていないと判定された場合には、前記格納手段に格納された補正データを削除する工程を更に有することを特徴とする請求項６に記載の画像読取方法。
【請求項８】
画像読取装置とコンピュータとを接続した画像読取システムにおいて、請求項５に記載の画像読取方法を実施するために前記コンピュータで実行されるプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、複数の読み取りモードを有する画像読取システム、画像読取方法およびプログラムに関する。
【０００２】
【従来の技術】
従来、画像読取装置においては、イメージセンサの出力レベルが装置の使用環境の変化や経年変化によって変動すると、読み取り画像に対する階調性、再現性が不安定になり、階調、色再現が低下することなどがある。そこで、使用環境の変化や経年劣化によってイメージセンサの出力レベルが変動しても、常に安定して高い階調性および再現性を実現するための画像読取装置が提案されている（例えば、特開平１１−２７５３１０号公報記載のもの）。
【０００３】
この特開平１１−２７５３１０号公報記載の画像読取装置においては、原稿の読み取り動作を実行する際に、この原稿読み取り動作の開始前に各色光源毎に基準白地の読み取りを行い、この読み取り時のイメージセンサの出力信号をＡ／Ｄ変換によってデジタル画像データに変換し、この画像データの最大値が所定範囲内にあるか否かを調べ、この画像データの最大値が所定範囲から外れていた場合は、その外れた光源の光量調整をやり直す制御構成が設けられている。すなわち、イメージセンサの出力レベルが装置の使用環境の変化や経年変化によって変動しても、原稿画像の読み取り毎に随時それを実行することによって、安定した、高い階調性および再現性を有する画像の読取りを実現している。
【０００４】
また、昨今、画像読取装置の高解像度化が行われ、これに伴い画像処理用のバッファメモリに大容量の記憶素子が要求されている。消費電力およびコストを低減するためには、ＤＲＡＭを使用することが望まれるが、ＤＲＡＭのアクセス速度はＳＲＡＭに比して遅いので、ＤＲＡＭのアクセス速度が読取り時間のボトルネックになる可能性ある。このことは、高解像度のイメージセンサを用いて低解像度の読み取りを行う場合に、読み取り時間を犠牲にする可能性がある。
【０００５】
これを解決するために、読取解像度に応じた画素数に変換した後にＤＲＡＭへのアクセス時間を確保するための画像処理を行う方法が提案されている。この方法では、読み取りモード毎に撮像素子の駆動速度を変え、低解像度時には短時間に読み取りを行うことが可能になる。
【０００６】
【発明が解決しようとする課題】
しかしながら、上述した方法では、読み取りモードによって撮像素子の駆動速度が変わることにより、アナログ信号の歪みや撮像素子の暗電流に起因する固定パターンノイズなどが変化するため、シェーディング補正を厳密に行うためには、各読み取りモード毎にシェーディングデータを取得し、そのデータに基づいてシェーディング補正を行う必要がある。
【０００７】
また、例えば１２００ＤＰＩの高解像度の撮像素子を用いた画像読取装置の場合、低解像度時の読取り時間を短くするために、ハード的には、例えば、７５ＤＰＩ、１５０ＤＰＩ、３００ＤＰＩ、６００ＤＰＩ、１２００ＤＰＩの解像度でのカラーモード、グレイモードのそれぞれの読み取りモードが必要である。この場合には、これらの読み取りモード毎のキャリブレーションデータとシェーディングデータを取得する必要があり、読み取りモードの種類が多く、これらのデータを最初のスキャン時に一括して取得する場合には、数分から十数分程度の時間が必要になることがある。
【０００８】
さらに、毎回キャリブレーションデータとシェーディングデータを取る方法もあるが、この場合は、高解像度になるほど毎回余分に時間が掛かることにある。
【０００９】
本発明の目的は、補正データを複数の読取モード毎に管理することで、複数の読取モードにそれぞれに用いられる補正データの取得を効率的に行うことができる画像読取システム、画像読取方法およびプログラムを提供することにある。
【００１０】
【課題を解決するための手段】
本発明は、上記目的を達成するため、画像読取装置とコンピュータとから構成された、画像の読み取りを行う画像読取システムにおいて、複数の読み取りモードの中から所望の読み取りモードを選択するための選択手段と、前記画像読取装置にて読み取った画像データを補正する補正手段と、前記複数の読み取りモードに対応する複数の補正データと、読取回数とを格納可能な格納手段と、前記格納手段に格納された読取回数に基づいて、前記選択手段により選択された読み取りモードに適合する補正データが前記格納手段に格納されているか否かを判定する判定手段と、前記判定手段により前記選択された読み取りモードに適合する補正データが前記格納手段に格納されていると判定された場合には、該格納手段内の前記選択された読み取りモードに対応する補正データを前記補正手段に転送し、前記転送された補正データを用いて前記補正手段にて前記画像データの補正を行うように制御し、前記判定手段により前記選択された読み取りモードに適合する補正データが前記格納手段に格納されていないと判定された場合には、前記選択された読み取りモードに対応する補正データを生成し、生成した補正データを前記格納手段に格納し、前記生成した補正データを用いて前記補正手段にて前記画像データの補正を行うように制御する制御手段と、前記格納手段に格納された読取回数を更新する更新手段と、を備えることを特徴とする。
【００１１】
また、本発明は、上記目的を達成するため、画像読取装置により画像の読み取りを行う画像読取方法において、複数の読み取りモードの中から所望の読み取りモードを選択する工程と、前記複数の読み取りモードに対応する複数の補正データと読取回数とを格納可能な格納手段に格納されている読取回数に基づいて、前記選択された読み取りモードに適合する補正データが前記格納手段に格納されているか否かを判定する工程と、前記選択された読み取りモードに適合する補正データが前記格納手段に格納されていると判定された場合には、前記格納手段内の前記選択された読み取りモードに対応する補正データを用いた補正を行うように制御し、前記選択された読み取りモードに適合する補正データが前記格納手段に格納されていないと判定された場合には、前記選択された読み取りモードに対応する補正データを生成し、前記生成した補正データを前記格納手段に格納し、前記生成した補正データを用いた補正を行うように制御する工程と、前記格納手段に格納された読取回数を更新する工程と、を有することを特徴とする。
【００１２】
また、本発明は、上記目的を達成するため、画像読取装置とコンピュータとを接続した画像読取システムにおいて、請求項５に記載の画像読取方法を実施するために前記コンピュータで実行されるプログラムを提供する。
【００４３】
【発明の実施の形態】
以下に本発明の実施の形態について図面を参照しながら説明する。
【００４４】
（実施の第１形態）
図１は本発明の実施の第１形態に係る画像読取システムの概略構成図である。
【００４５】
画像読取システムは、図１に示すように、画像読取装置１と、ＵＳＢケーブル８を介して画像読取装置１を接続するホストコンピュータ２０とから構成される。画像読取装置１は、読み取る原稿３が置かれる原稿台ガラス２と、原稿台ガラス２上の原稿を保持するための圧板５と、アプリケーションの起動を行ったり読取開始を指示するためのスタートボタン７とを有する。ホストコンピュータ２０は、アプリケーションソフトの操作画面３１などを表示するためのディスプレイ２０ａと、ＣＰＵ、ＲＯＭ、ＲＡＭ、ハードディスク、各種Ｉ／Ｏインターフェイスなどを含む本体２０ｂと、マウス、キーボードなどの入力デバイス（図示せず）とを有する。
【００４６】
次に、画像読取装置１の詳細な構成について図６を参照しながら説明する。図６は図１の画像読取システムに用いられている画像読取装置１の構成を示すブロック図である。
【００４７】
画像読取装置１は、図６に示すように、タイミングジェネレータ５６で生成された駆動クロックに同期して読取動作に関する制御を行うシーケンス制御回路５７と、原稿台ガラス２に置かれた原稿３上の画像を読み取るためのコンタクトイメージセンサ５１とを備える。ここで、原稿台ガラス２上には、白シェーディングデータを取得するための基準白板４が設けられている。
【００４８】
シーケンス制御回路５７は、具体的には、ホストコンピュータ２０からインターフェイス制御回路１０を介して設定された設定値に応じてステッピングモータ６０の制御、ＬＥＤ５２の点灯制御などの一連のシーケンス制御を行う。
【００４９】
コンタクトイメージセンサ５１は、原稿３を照明するためのＬＥＤ５２、ＬＥＤ５２からの光を原稿３に導くためのライトガイド５３、および原稿３からの反射光を撮像素子５５の結像面に導くためのセルホックレンズアレイ５４を有する。撮像素子５５は、タイミングジェネレータ５６で生成された駆動クロックに同期して駆動され、その結像面に結像された光像を電気信号に変換して出力する。ＬＥＤ５２は、ＬＥＤ制御回路５８により点灯駆動され、ＬＥＤ制御回路５８は、シーケンス制御回路５７からの指示に応じてＬＥＤ５２の点灯、消灯を制御する。
【００５０】
コンタクトイメージセンサ５１は、ステッピングモータ６０を駆動源とするキャリッジ駆動機構５９により、副走査方向に駆動される。ステッピングモータ６０は、シーケンス制御回路５７により、ホストコンピュータ２０から設定された回転速度で設定された回転方向へ駆動される。
【００５１】
コンタクトイメージセンサ５１の撮像素子５５から出力された電気信号は、アナログフロントエンド（AFE）６１に入力される。アナログフロントエンド６１は、タイミングジェネレータ５６からの駆動クロックに同期して撮像素子５５からの電気信号をサンプリングしてデジタル信号に変換するＡ／Ｄ変換回路を含むアナログ回路からなる。
【００５２】
アナログフロントエンド６１から出力されたデジタル信号は画像処理回路６２に入力され、画像処理回路６２は、入力されたデジタル信号にシェーディング補正、ガンマ補正、変倍処理などの画像処理を施して画像データを生成する。この画像処理には、シーケンス制御回路５７から設定された設定値が用いられる。画像処理の際には、バッファメモリ６３が作業領域として使用され、またこのバッファメモリ６３には画像処理後の画像データが格納される。
【００５３】
バッファメモリ６３に格納された画像データは、画像処理回路６２およびインターフェイス制御回路１０を介してホストコンピュータ２０に転送される。インターフェイス制御回路１０は、USB（Universal Serial Bus）規格に準拠したインターフェイス回路であり、この回路はUSBケーブル８を介してホストコンピュータ２０に接続されている。
【００５４】
次に、本画像読取システムにおけるソフトウェアのシステム構成について図２および図３を参照しながら説明する。図２は図１の画像読取システムにおけるソフトウェアのシステム構成を示すブロック図、図３は図２のスキャンコントローラにより表示される操作画面の一例を示す図である。
【００５５】
画像読取装置１においては、図２に示すように、予め搭載されたソフトウェアによりスキャナコントローラ９が構成され、スキャナコントローラ９は、光源６（図６に示すＬＥＤ５２）の点灯制御、スタートボタン７の押下に伴い発生されるスタート信号の信号の取り込みなどを行うとともに、インターフェイス制御回路１０を介してホストコンピュータ２０との間でデータのやり取りを行う。
【００５６】
ホストコンピュータ２０は、USBケーブル８に接続されるＵＳＢインターフェイス２２を有し、ホストコンピュータ２０においては、システムソフトウェア（例えばWindows 95；米国マイクロソフト社の登録商標）およびスキャナ用アプリケーションソフトにより、各リソースを制御するためのシステムドライバ２３、画像読取装置１を制御するためのデバイスドライバ２４、アプリケーションソフトの起動停止などの動作環境の管理を行うためのコントロールパネル２５、画像読取装置１のアプリケーションソフトの制御を行うためのツールボックス２６、および画像読取装置１の画像読取に関する操作を行うためのスキャンコントローラ２７が構成される。
【００５７】
ここで、画像読取装置１とホストコンピュータ２０とがUSBケーブル８を介して接続されると、エナミュレーションが行われ、それぞれのインターフェイス間での通信速度が決定される。画像読取装置１のインターフェイス制御回路１０は、上記通信速度の決定後、その決定された通信速度で動作する。また、ホストコンピュータ２０のUSBインターフェイス２２も、同様に、上記時決定された通信速度で動作する。
【００５８】
通信速度決定後、ホストコンピュータ２０のデバイスドライバ２４は、通信速度に応じて、画像処理回路６２における設定値の切替あるいはシーケンス制御回路５７の制御の切替を行う。通信速度が速い場合は、画像処理回路６２のシェーディング補正、ガンマ補正、変倍の各画像処理を全てバイパスするようにに画像処理回路６２を設定し、アナログフロントエンド６１から出力される１４bitデータをインターフェイス制御回路１０に内蔵されているデータ伝送用のFIFOに出力するように設定する。このとき、タイミングジェネレータ５６は、撮像素子５５に対して、最も速い駆動クロックを発生するように設定される。また、デバイスドライバ２４は、上記各画像処理を行うように設定される。
【００５９】
通信速度が遅い場合は、画像処理回路６２のシェーディング補正、ガンマ補正、変倍の各画像処理の全てが機能するように画像処理回路６２を設定し、画像処理回路６２の出力する８bitデータをインターフェイス制御回路１０に内蔵されているデータ伝送用のFIFOに出力するように設定する。このとき、タイミングジェネレータ５６は撮像素子５５に対して、インターフェイスの通信速度に応じた駆動クロックを発生するように設定される。
【００６０】
スタートボタン７が押下されると、このスタートボタン７の押下がスキャナコントローラ９に伝えられ、スキャナコントローラ９は「スタートボタン７が押下された」という情報を、インターフェイス制御回路１０からUSBケーブル８を介してホストコンピュータ２０のUSBインターフェイス２２に通知する。
【００６１】
USBインターフェイス２２に通知された「スタートボタン７が押下された」という情報は、システムドライバ２３を経由してデバイスドライバ２４に転送される。デバイスドライバ２４は、コントロールパネル２５に対してツールボックス２６の起動を指示し、この指示を受けたコントロールパネル２５は、ツールボックス２６を起動する。ツールボックス２６は、画像読取装置１のスタートボタン７が押下されたことを認識すると、スキャンコントローラ２７が立ち上がっているか否かを判定し、スキャンコントローラ２７が立ち上がっていない場合には、スキャンコントローラ２７を立ち上げる。
【００６２】
スキャンコントローラ２７は、画像読取装置１の画像読取に関する操作を行うための操作画面をディスプレイ２０ａに表示する。例えば図３に示す操作画面３１が表示される。この操作画面３１は、プレビュー後の操作画面であり、このウィンドウ３２内には、クロッピングを行うためのカーソル３３、プレビュー画面３４、ガンマ特性（濃度特性カーブ）などの読み取りモードを設定するためのモード設定ボタン３６、本スキャン開始ボタン３７、解像度設定バー３８、カラーバランス設定バー３９が表示される。
【００６３】
この操作画面３１上でマウス（図示せず）などでボタンをクリックし、またバーをドラッグすることにより、設定が行われまたスキャン開始が指示される。
【００６４】
次に、画像読取装置１におけるスタートボタン７の押下をホストコンピュータ２０に通知する処理について図４を参照しながら説明する。図４は画像読取装置１のボタン処理を示すフローチャートである。
【００６５】
画像読取装置１のスキャナコントローラ９は、スタートボタン７の押下をホストコンピュータ２０に通知するためのボタン処理を行う。このボタン処理は、ポーリング方式による処理である。
【００６６】
このボタン処理が開始されると、図４に示すように、まずステップＳ１で、スタートボタン７が押下されたか否かを判定する。ここでは、一定時間スタートボタン７が押されていない状態後に、スタートボタン７が押下された状態が一定時間継続すると、スタートボタン７が押下されたと判定する。スタートボタン７が押下されていなければ、ステップＳ３に進み、タイマを起動して例えば１０ｍsecの一定時間待ち、上記ステップＳ１に戻る。
【００６７】
スタートボタン７が押下されているときには、ステップＳ２に進み、スタートボタン７が押下されたことをホストコンピュータ２０に通知し、続くステップＳ３で、タイマを起動して例えば１０ｍsecの一定時間待ち、上記ステップＳ１に戻る。
【００６８】
なお、上記ステップＳ１において、一定時間ボタンが押された状態が続いた後、ボタンが押されていない状態が一定時間継続されると、スタートボタン７が押されたと判定するようにしてもよい。また、上記ボタン処理をボタン信号によりハード的にインターラプトをかけて処理する方式とすることも可能である。
【００６９】
次に、ホストコンピュータ２０上でのツールボックス２６の処理について図５を参照しながら説明する。図５はホストコンピュータ２０上でのツールボックス２６の処理手順を示すフローチャートである。
【００７０】
ツールボックス２６がコントロールパネル２５によって起動されると、図５に示すように、まずステップＳ４においてスキャンコントローラ２７が立ち上がっているか否かを判定し、スキャンコントローラ２７が立ち上がっていれば、ステップＳ５に進み、他の起動要因に対応する処理を行い、本処理を終了する。これに対し、スキャンコントローラ２７が立ち上がっていないときは、ステップＳ６に進み、スキャンコントローラ２７を立ち上げ、本処理を終了する。
【００７１】
本実施の形態では、画像読取装置１における選択された読み取りモードを実行する際に、画像読取装置１の読み取りモードのそれぞれと対応付けられたシェーディングデータを含むシェーディングデータファイルに選択された読み取りモードに対応するシェーディングデータが含まれているか否かを判定し、この判定結果に応じてシェーディングデータの生成を行うか否かを決定する。シェーディングデータファイルに選択された読み取りモードに対応するシェーディングデータが含まれていないときには、シェーディングデータの生成を行うことを決定する。このシェーディングデータの生成が決定されると、選択された読み取りモードに対応するシェーディングデータを生成し、この生成されたシェーディングデータを選択された読み取りモードに対応付けてシェーディングデータファイルに格納する。また、上記シェーディングデータファイルが画像読取装置１に適合するファイルでないときには、該ファイルを削除し、新たに画像読取装置１に適合するシェーディングデータファイルを作成する。この処理の詳細な内容については、後述する。
【００７２】
このシェーディングデータファイルの構成について図７を参照しながら説明する。図７は図１の画像読取システムで用いられているシェーディングデータファイルの構成を示す図である。
【００７３】
本実施の形態では、図７に示すシェーディングデータファイル７０が用いられ、このファイル名は、Shading Data File.datである。シェーディングデータファイル７０は、ヘッダ情報７１と、各読み取りモードに対するシェーディングデータのレコード７２，７５，７８からなる。各レコード７２，７５，７８は、その読み取りモードを記述したサブヘッダと、その読み取りモードに対応するキャリブレーションデータとシェーディングデータを含むデータから構成される。このシェーディングデータファイル７０は、ホストコンピュータ２０のハードディスク（図示せず）に格納され、デバイスドライバ２４により管理される。
【００７４】
上記ヘッダ情報７１の内容は、ベンダー名として”Cannon”、製品名として”CanScan650U”、ドライバのバージョンとして”ver4.1”、スキャン回数として”23”を含み、対応するスキャナおよびドライバのバージョンを特定可能なように構成されている。
【００７５】
ヘッダ情報７１は、そのシェーディングデータファイル７０が現在のデバイスドライバ２４に適合するか否かの判定に用いられ、製品名が異なる、ドライバのバージョンが異なる、スキャン回数が特定の回数以上などの場合においては、そのシェーディングデータファイル７０が現在のデバイスドライバ２４に適合しないと判定され、デバイスドライバー２４は、そのファイルを削除し、新たにシェーディングデータファイルを作成する。
【００７６】
スキャン回数は、読み取りモードに関係なくデバイスドライバ２４によりスキャン毎にカウントアップされる。これは、コンタクトイメージセンサ５１のシェーディングやＬＥＤ５２の輝度の経時変化に対応するためで、デバイスドライバ２４はスキャン回数１００回毎にシェーディングデータファイルを削除する。これにより、キャリブレーションデータやシェーディングデータはスキャン回数１００回毎に更新される。また、シェーディングデータファイルを削除する代わりに、ヘッダ以外のレコードを全て削除するようにしてもよい。
【００７７】
第１読み取りモードに対応するヘッダ７３の内容は、カラー、７５ＤＰＩ、標準読み取りを含み、このレコードのデータが対応する読み取りモードを特定する。ここで、「標準読み取り」は、インターフェイスの速度が、フルスピード（１２Ｍｂｐｓ）で、出力がＲＧＢ各色８ビットであることを示すものとする。
【００７８】
第１読み取りモードに対応するデータ７４のキャリブレーションデータは、各色ＬＥＤ５２の点灯時間を制御するための値であり、シェーディングデータは、第１読み取りモードに対応するダークシェーディングデータおよび白シェーディングデータである。デバイスドライバ２４は、スキャン毎にこれらデータをスキャナ１のバッファメモリ６３に画処理回路６２を介してダウンロードする。
【００７９】
第２読み取りモードは、カラー、６００ＤＰＩ、高速読み取りのモードであり、この第２読み取りモードに対応するレコード７５には、同様に、ヘッダ７６およびデータ７７が含まれる。ここで、「高速読み取り」は、インターフェイスの速度が、ハイスピード（４８０Ｍｂｐｓ）で、出力がＲＧＢ各１６ビットであることを示す。この第２読み取りモードの場合、デバイスドライバ２４は、画像処理回路６２を高速読み取りモードに設定して動作させるので、シェーディング補正を画像処理回路６２で行わない。よって、シェーディングデータはバッファメモリ６３にはダウンロードされず、デバイスドライバ２４がシェーディング補正演算を行う。
【００８０】
第Ｎ読み取りモードは、グレイ、３００ＤＰＩ、標準読み取りのモードであり、第Ｎ読み取りモードに対応するレコード７８には、同様に、ヘッダ７９およびデータ８０が含まれる。ここで、「グレイ」はＧ(緑)単色の画像データを出力するモードであり、また「標準読み取り」であるので、８ビットデータが出力されることになる。
【００８１】
本画像読取システムのホストコンピュータ２０上での制御について図８を参照しながら説明する。図８は図１の画像読取システムのホストコンピュータ２０上での制御の手順を示すフロートである。
【００８２】
USBケーブル８が接続されるかまたはホストコンピュータ２０の電源が投入されると、図８に示すように、まずステップＳ１１においてエナミュレーションを行い、USBインターフェイス２２にUSBケーブル８を介して接続されている機器の認識、アドレスの振り分け、および通信速度の決定を行う。続いて、ステップＳ１２に進み、デバイスドライバ２４によりホストコンピュータ２０とスキャナ１との間の通信の実効速度を測定し、そして、ステップＳ１３に進み、デバイスドライバ２４により、通信速度に応じて画像読取装置１の各回路に対して初期設定を行う。この初期設定では、例えばタイミングジェネレータ５６に対しては、通信の実効速度に基づいたクロックの設定を行い、コンタクトイメージセンサ５１をホームポジションに戻す。
【００８３】
次いで、ステップＳ１４に進み、スキャンコントローラ２７から発行された指示がスキャン開始指示であるか否かを判定し、この指示がスキャン開始指示であると、ステップＳ１６に進み、スキャンを開始する。スキャン処理の内容については、後述する。
【００８４】
スキャンコントローラ２７から発行された指示がスキャン開始指示でないときには、ステップＳ１５に進み、上記指示に従って処理を行う。
【００８５】
次に、デバイスドライバ２４によるスキャン開始後の制御シーケンスについて図９を参照しながら説明する。図９は図１の画像読取システムのデバイスドライバ２４によるスキャン開始後の制御シーケンスを示すフローチャートである。
【００８６】
スキャンが開始されると、図９に示すように、まずステップＳ２１において、スキャンコントローラ２７から選択された読み取りモードに基づいて各部の制御パラメータを設定し、続くステップＳ２２で、Shading Data File.dat という名前のシェーディングデータファイルを検索し、シェーディングデータファイルが見出されないときには、ステップＳ２３に進む。
【００８７】
ステップＳ２３では、選択された読み取りモードのキャリブレーションを行い、続くステップＳ２４で、読み取りモードのシェーディングデータを取るように制御する。ここでは、選択された読み取りモードのシェーディングデータは、ランダムノイズの影響を減らすため、平均化される。すなわち、黒シェーディングデータは、複数ラインの読み取りを行い、平均化することによって得られたデータである。白シェーディングデータは、基準白色板４を１５０ＤＰＩの解像度で１０ライン分読み取り、同じ画素のデータを比較して、大きいほうから６個のデータを平均して得られたデータである。
【００８８】
次いで、ステップＳ２４に進み、Shading Data File.datという名前のシェーディングデータファイルを作成する。具体的には、Shading Data File.datという名前のファイルをホストコンピュータ２０のＲＡＭ（図示せず）に開き、このファイルにヘッダ情報を書き込む。次に、その読み取りモードのサブヘッダを書き込み、さらに、ステップＳ１５で求めたキャリブレーションデータと、ステップＳ１６で求めたシェーディングデータを書き込み、このファイルをホストコンピュータ２０のハードディスクに保存する。このようにしてシェーディングデータを含むシェーディングデータファイルが作成される。
【００８９】
次いで、ステップＳ２６に進み、選択された読み取りモードでの画像読み取りを行うように制御する。ここで、画像読取装置１に対して、選択された読み取りモードに対応したキャリブレーションデータに従ってスキャンパラメータを設定し、シェーディングデータをバッファメモリ６３にダウンロードした後、シェーディングデータファイルのヘッダ情報に含まれるスキャン回数のカウントを１インクリメントする。画像読取装置１は、各種設定が行われると、スキャンを開始し、読み取った画像データをホストコンピュータ２０に送る。デバイスドライバー２４は、受信した画像データに対して操作画面３１で設定された処理内容に従って、画像データの演算を行い、最終画像のファイルを作成する。そして、本処理を終了する。
【００９０】
上記ステップＳ２２においてShadingDataFile.datという名前のシェーディングデータファイルが見出されると、ステップＳ２７に進み、ファイルのヘッダ情報を参照して見出されたシェーディングデータファイルがデバイスドライバ２４に適合するものか否かを判定する。例えば、デバイスドライバ２４に適合しない場合としては、機種名が異なる場合、ドライバーのバージョンが異なる場合、スキャン回数が特定の回数以上である場合には、デバイスドライバ２４は、そのファイルが適合しないものと判断する。見出されたシェーディングデータファイルがデバイスドライバ２４に適合しないときには、ステップＳ２８に進み、この見出されたファイルを削除し、ステップＳ２３に進む。このステップＳ２３からの処理は上述した通りであり、その説明は省略する。
【００９１】
見出されたシェーディングデータファイルがデバイスドライバ２４に適合するファイルであるときには、ステップＳ２９に進み、シェーディングデータファイルに、選択された読み取りモードのシェーディングデータが含まれているか否かを判定し、選択された読み取りモードのシェーディングデータが含まれていない場合、ステップＳ３０に進む。ステップＳ３０では、選択された読み取りモードのキャリブレーションを行い、続くステップＳ３１で、選択された読み取りモードのシェーディングデータを取る。そして、ステップＳ３２に進み、シェーディングデータファイルの最後のレコードに続けて、選択された読み取りモードのサブヘッダと、ステップＳ３０で求めたキャリブレーションデータと、ステップＳ３１で求めたシェーディングデータとを含むレコードを書き込む。次いで、ステップＳ２６に進み、画像の読み取りを行う。
【００９２】
ステップＳ２９においてシェーディングデータファイルに選択された読み取りモードに対応するシェーディングデータが含まれていると判定されると、ステップＳ３３に進み、選択された読み取りモードに対応するキャリブレーションデータとシェーディングデータをファイルから読み取る。そして、ステップＳ２６に進み、画像の読み取りを行う。
【００９３】
このように、本実施の形態では、画像読取装置１における選択された読み取りモードを実行する際に、画像読取装置１の読み取りモードのそれぞれと対応付けられたシェーディングデータを含むシェーディングデータファイルに選択された読み取りモードに対応するシェーディングデータが含まれているか否かを判定し、この判定結果に応じてシェーディングデータの生成を行うか否かを決定する。シェーディングデータファイルに選択された読み取りモードに対応するシェーディングデータが含まれていないときには、シェーディングデータの生成を行うことを決定する。このシェーディングデータの生成が決定されると、選択された読み取りモードに対応するシェーディングデータを生成し、この生成されたシェーディングデータを選択された読み取りモードに対応付けてシェーディングデータファイルに格納する。これにより、例えば、読み取りモード毎にシェーディングデータが必要な場合、その読み取りモードの最初の読取り時にシェーディングデータを取得するから、同じ読み取りモードでの２回目以降の読み取り時は、シェーディングデータを取得するための余分な読取り時間が掛からない。また、シェーディングデータを読み取りモード毎に管理し、シェーディングデータを読み取りモード毎に分散して取得することが可能になり、複数の読み取りモードに対してそれぞれのシェーディングデータの取得に掛かる時間を低減することができる。すなわち、複数の読み取りモード毎にそのシェーディングデータの取得を効率的に行うことができる。
【００９４】
また、上記シェーディングデータファイルが画像読取装置１に適合するファイルでないときには、該ファイルを削除し、新たに画像読取装置１に適合するシェーディングデータファイルを作成するので、画像読取装置１に適合するシェーディングデータファイルがないときには、手間を掛けずに、画像読取装置１に適合するシェーディングデータファイルの作成を容易に行うことができる。
【００９５】
（実施の第２形態）
次に、本発明の実施の第２形態について図１０ないし図１４を参照しながら説明する。図１０は本発明の実施の第２形態に係る画像読取システムの構成およびその画像読取装置の構成を示すブロック図、図１１は図１０の画像読取装置のフィルムホルダ９６の構成、およびフィルムホルダ９６に保持されたフィルムの読取範囲と反射原稿の読取範囲の関係を示す図、図１２は図１０の画像読取システムのホストコンピュータ２０が保持するシェーディングデータファイルの一例の構成を示す図、図１３は図１０の画像読取システムのホストコンピュータ２０上での制御の手順を示すフロート、図１４は図１０の画像読取システムのホストコンピュータ２０が保持するシェーディングデータファイルの他の例の構成を示す図である。
【００９６】
本実施の形態は、図１０に示すように、ホストコンピュータ２０と、画像読取装置１００とから構成される。画像読取装置１００は、タイミングジェネレータ８６で生成された駆動クロックに同期して読取動作に関する制御を行うシーケンス制御回路８７と、原稿台ガラス２に置かれた原稿上の画像またはフィルホルダ９６に保持されたフィルム９５の画像を読み取るためのキャリッジ８１とを備える。
【００９７】
シーケンス制御回路８７は、具体的には、ホストコンピュータ２０からインターフェイス制御回路１０を介して設定された設定値に応じてステッピングモータ９０の制御、ランプ８２およびライトボックス９４の点灯制御などの一連のシーケンス制御を行う。
【００９８】
キャリッジ８１は、原稿を照明するためのランプ８２、ランプ８２からの光を原稿に導くための照明光学系８３、および原稿からの反射光をＣＣＤ８５の撮像面に導くための結像光学系８４を有する。ＣＣＤ８５は、タイミングジェネレータ５６で生成された駆動クロックに同期して駆動され、その撮像面に結像された光像を電気信号に変換して出力する。ランプ８２は、ランプ制御回路８８により点灯駆動され、ランプ制御回路８８は、シーケンス制御回路８７からの指示に応じてランプ８２の点灯、消灯を制御する。また、ランプ制御回路８８は、シーケンス制御回路８７からの指示に応じてライトボックス９４の点灯、消灯を制御する。
【００９９】
キャリッジ８１は、ステッピングモータ９０を駆動源とするキャリッジ駆動機構８９により、副走査方向に駆動される。ステッピングモータ９０は、シーケンス制御回路８７により、ホストコンピュータ２０から設定された回転速度で対応する回転方向へ駆動される。
【０１００】
キャリッジ８１のＣＣＤ８５から出力された電気信号は、アナログフロントエンド（AFE）９１に入力される。アナログフロントエンド９１は、タイミングジェネレータ８６からの駆動クロックに同期してＣＣＤ８５からの電気信号をサンプリングしてデジタル信号に変換するＡ／Ｄ変換回路を含むアナログ回路からなる。
【０１０１】
アナログフロントエンド９１から出力されたデジタル信号は画像処理回路９２に入力され、画像処理回路９２は、入力されたデジタル信号にシェーディング補正、ガンマ補正、変倍処理などの画像処理を施して画像データを生成する。この画像処理には、シーケンス制御回路８７から設定された設定値が用いられる。画像処理の際には、バッファメモリ９３が作業領域として使用され、またこのバッファメモリ９３には画像処理後の画像データが格納される。
【０１０２】
バッファメモリ９３に格納された画像データは、画像処理回路９２およびインターフェイス制御回路１０を介してホストコンピュータ２０に転送される。インターフェイス制御回路１０は、USB（Universal Serial Bus）規格に準拠したインターフェイス回路であり、この回路はUSBケーブル８を介してホストコンピュータ２０に接続されている。
【０１０３】
ライトボックス６４は、棒状の冷陰極管と、冷陰極管を点灯するためのインバータと、冷陰極管で形成される線状の光源を面状の一様光源にするためのライトガイドとから構成される。
【０１０４】
フィルムホルダ９６には、図１１に示すように、ライトボックス９４を使用してフィルム９５などの透過原稿を読み取るときにキャリブレーションデータおよび白色基準板（図示せず）からシェーディングデータをサンプルするためのシェーディング用開口部９６ａ、および透過原稿を読み取るための画像読取窓９６ｂが設けられている。フィルムホルダ９６は、原稿台ガラス２上に規定されている反射原稿の読取範囲１０１に対してその先端位置を基準にして位置決めされる。
【０１０５】
画像読取装置１００は、通常の原稿（反射原稿）とフィルム９５などの透過原稿を読み取ることができるように構成されており、反射原稿を読み取るときには、上述の実施の第１形態と同様に動作する。これに対し、透過原稿を読み取るときには、ライトボックス９４でフィルムホルダ９６に保持されたフィルム９５を照明し、フィルム９５の画像を画像読取窓９６ｂを通して結像光学系８４によってＣＣＤ８５上に結像し、この結像された光学像をＣＣＤ８５により電気信号に変換する。
【０１０６】
透過原稿を読み取るときの照明光の光量、露光時間などの露光量、アナログフロントエンド９１のゲイン設定値などのキャリブレーションデータ、シェーディングデータは、シェーディング用開口部９６ａの位置で、透過原稿無しの状態で白色基準板から読み取ったデータに基づき生成される。
【０１０７】
次に、ホストコンピュータ２０に保持されるシェーディングデータファイルの構成について図１２および図１４を参照しながら説明する。
【０１０８】
本実施の形態では、上述の実施の第１形態と基本的には同じ構成を有する２つのシェーディングデータファイルを保持する。例えば、シェーディングデータファイルとしては、図１２に示すシェーディングデータファイル１１０と図１４に示すシェーディングデータファイル１３０とが保持されている。これは、予め準備されている機種が異なる複数の画像読取装置の内の１つをホストコンピュータ２０に接続してこの画像読取装置により画像の読み取りを可能なようにするためのものである。例えば、画像読取装置Ａを接続して画像読取を行う場合には、この画像読取装置Ａに対応するデバイスドライバを選択することによって、画像読取装置Ａを用いた画像の読み取りが可能になり、画像読取装置Ａを接続した場合には、この画像読取装置Ｂに対応するデバイスドライバを選択することによって、画像読取装置Ｂを用いた画像の読み取りが可能になる。
【０１０９】
シェーディングデータファイル１１０は、図１２に示すように、現在接続されている画像読取装置に対応するデバイスドライバ２４により作成される。シェーディングデータファイル１１０は、図１２に示すように、ヘッダ情報１１１と、各読み取りモードに対するシェーディングデータのレコードからなり、各レコードは、その読み取りモードを記述したサブヘッダと、その読み取りモードに対応するキャリブレーションデータとシェーディングデータを含むデータとから構成される。
【０１１０】
ファイルのヘッダ情報１１１には、ベンダー名として”Cannon”、製品名として”D650U”、シリアル番号として”SYX150003124”、ドライバのバージョンとして”ver3.1”、スキャン回数として”１５”が含まれ、このヘッダ情報により対応するスキャナおよびそのドライバのバージョンが特定可能である。
【０１１１】
デバイスドライバ２４は、ヘッダ情報１１１の各情報がデバイスドライバ２４の管理する項目に適合するか否かに応じて当該ファイルがデバイスドライバ２４に適合するファイルであるか否かを判定する。ヘッダ情報１１１の各情報がデバイスドライバ２４の管理する項目に適合しない場合としては、製品名が異なる場合、本体シリアル番号がシェーディングデータファイルで管理されている番号と異なる場合、ドライバのバージョンが異なる場合、スキャン回数が特定の回数以上である場合などであり、このような場合、デバイスドライバ２４は、そのファイルを削除し、新たにシェーディングデータファイルを作成する。
【０１１２】
また、スキャン回数は、読み取りモードに関係なくデバイスドライバ２４によりスキャン毎にカウントアップされる。これは、ＣＣＤ８５のシェーディングやランプ８２の輝度の経時変化に対応するためであり、デバイスドライバ２４はスキャン回数１００回毎にシェーディングデータファイルを削除する。このことによって、キャリブレーションデータやシェーディングデータはスキャン回数１００毎に更新される。また、シェーディングデータファイルを削除する代わりに、ヘッダ以外のレコードを全て削除するようにしてもよい。
【０１１３】
上記シェーディングデータファイル１１０においては、第１読み取りモードとして、カラー読取り、解像度７５ＤＰＩ、標準読み取り、反射原稿に対応するモードが記述され、このレコード１１２のヘッダー１１３の内容は、カラー、７５ＤＰＩ、標準読み取り、反射原稿を含む。ここで、「標準読み取り」は、ＣＣＤ８５の蓄積時間が標準の蓄積時間であることを示すものとする。
【０１１４】
また、第１読み取りモードのデータ１１４の中のキャリブレーションデータは、各色ＬＥＤの点灯時間に関する値である。また、シェーディングデータは、第１読み取りモードに対応するダークシェーディングデータおよび白シェーディングデータであり、デバイスドライバー２４は、スキャン毎にこれらデータを画像読取装置１００のバッファメモリ９３に画処理回路９２を介してダウンロードする。
【０１１５】
第２読み取りモードはカラー、６００ＤＰＩ、標準読み取り、反射原稿のモーであり、第１読み取りモードに対して、読取解像度が異なる。この第２読み取りモードに対するレコード１１５は、サブヘッダ１１６とデータ１１７から構成される。
【０１１６】
第３読み取りモードはカラー、１２００ＤＰＩ、高画質読み取り、透過原稿に対応するモードである。ここで、「高画質読み取り」とは、フィルムなどの透過原稿を高解像度で読み取る読み取り方式である。このモードは、濃度の高いフィルム画像などに対し、比較的長い蓄積時間で読み取り、ランダムノイズを抑えた画像を得るために用いられる。この第３読み取りモードに対するレコード１１８は、サブヘッダ１１９とデータ１２０から構成される。
【０１１７】
第Ｎ読み取りモードは、グレイスケール、３００ＤＰＩ、高速読み取り、反射原稿に対応し、単色の画像を高速に読み取るモードである。ここで、「高速読み取り」とは、ＣＣＤ８５の蓄積時間を標準読み取りの蓄積時間より短くして読み取り時間を短縮する読み取り方式である。この第Ｎ読み取りモードに対するレコード１２１は、サブヘッダ１２２とデータ１２３から構成される。
【０１１８】
高画質読み取りおよび高速読み取りモードにおいては、ＣＣＤ８５の蓄積時間が標準読み取り時の蓄積時間と異なるので、キャリブレーションデータやシェーディングデータが標準読み取りの場合と異なる。またグレイスケールの読み取りは、単色の画像データしか必要としないので、キャリブレーションデータやシェーディングデータは、例えば緑色の信号に対応するもののみでよい。
【０１１９】
上記シェーディングデータファイル１１０に代えて、図１４に示すシェーディングデータファイル１３０を用いることも可能である。このシェーディングデータファイル１３０は、透過原稿の読み取りにおいてスキャン毎にキャリブレーションを行うように構成されている画像読取装置に対応するファイルであり、ヘッダ情報１３１と、各読み取りモードに対応するシェーディングデータの複数のレコード１３２，１３５，１３８，１４１からなり、各レコード１３２，１３５，１３８，１４１は、その読み取りモードを記述したサブヘッダ１３３，１３６，１３９，１４２と、その読み取りモードに対応するデータ１３４，１３７，１４０，１４３とから構成される。
【０１２０】
このファイルのヘッダ情報１３１には、ベンダー名として”Cannon”、製品名として”D6６0U”、シリアル番号として”SXX0001245”、ドライバのバージョンとして”ver5.3”、スキャン回数として”３５”が含まれ、このヘッダ情報により対応するスキャナおよびそのドライバのバージョンが特定可能である。
【０１２１】
このシェーディングデータファイル１３０において、反射原稿を読み取るための第１、第２および第Ｎモードの各レコード１３２，１３５，１４１には、キャリブレーションデータとシェーディングデータ（データ１３４，１３７，１４３）が記述されているが、透過原稿を読み取るための第３モードのレコード１３８には、シェーディングデータ（データ１４０）のみが記述されている。また、シェーディングデータファイル１３０において、各読み取りモードのレコード１３２，１３５，１３８，１４１のサブヘッダ１３３，１３６，１３９，１４２には、ＣＣＤ８５の蓄積時間を直接表す時間値が記述されている。
【０１２２】
次に、画像読取装置１００に対するホストコンピュータ２０上の制御について図１３を参照しながら説明する。ここでは、画像読取装置１００が透過原稿の読み取りにおいてスキャン毎にキャリブレーションを行うように構成されており、この画像読取装置１００に対応するシェーディングデータファイルがシェーディングデータファイル１３０であるとして、説明する。
【０１２３】
デバイスドライバ２４がスキャンコントローラ２７からの指令を受けると、図１３に示すように、まずステップＳ４１において、スキャンコントローラ２７からの指令が透過原稿の読み取りの指令か否かを判断し、この指令が透過原稿の読み取りの指令でないときには、ステップＳ４２に進み、他の処理モードを行い、本処理を終了する。ここで、他の処理モードには、反射原稿の読み取りモードが含まれ、この反射原稿の読み取りの場合は、図９のフローチャートに示す手順と同様の手順で読み取りが行われるので、その説明を省略する。また、読み取り以外の指令であるときには、その指令に従う処理を行う。
【０１２４】
指令が透過原稿の読み取りの指令であるときには、ステップＳ４３に進み、ライトボックス９４を点灯し、続くステップＳ４４で、キャリッジ８１をホームポジションに移動する。そして、ステップＳ４５において、キャリッジ８１をキャリブレーション位置まで移動する。
【０１２５】
次いで、ステップＳ４６に進み、ランプ８２の発光量を安定させるために、ライトボックス９４を点灯してから一定時間経過するまで待ち、ライトボックス９４の点灯から一定時間経過すると、ステップＳ４７に進み、キャリブレーションを行う。
【０１２６】
次いで、ステップＳ４８に進み、ヘッダ情報を参照してデバイスドライバ２４に適合するシェーディングデータファイルを検索し、デバイスドライバ２４に適合するシェーディングデータファイルが見出されないときには、ステップＳ４９に進む。ステップＳ４９では、Shading Data File.datという名前のシェーディングデータファイルを作成し、続くステップＳ５１で、選択された読み取りモードのシェーディングデータを取るように制御する。そして、ステップＳ５２に進み、新たに作成されたShading Data File.datという名前のシェーディングデータファイルに、ヘッダ情報と、ステップＳ５１で求めたシェーディングデータとを書き込み、このファイルをホストコンピュータ２０のハードディスクに保存する。
【０１２７】
次いで、ステップＳ５３に進み、画像読取装置１００のバッファメモリ９３にシェーディングデータを書き込み、画像処理回路９２に対してシェーディング補正を行うように設定する。続いて、ステップＳ５４に進み、選択された読み取りモードでの画像読み取りを行うように制御する。ここでは、シェーディングデータファイルのヘッダ情報に含まれるスキャン回数のカウントを１インクリメントする。画像読取装置１００は、スキャンを開始し、読み取った画像データをホストコンピュータ２０に送る。デバイスドライバ２４は、受信した画像データに対して操作画面３１で設定された処理内容に従って、画像データの演算を行い、最終画像のファイルを作成する。そして、本処理を終了する。
【０１２８】
上記ステップＳ４８においてデバイスドライバ２４に適合するシェーディングデータファイルが見出されると、ステップＳ５０に進み、見出されたシェーディングデータファイルの中に選択された読み取りモードに対応するシェーディングデータがあるか否かを判定する。この選択された読み取りモードに対応するシェーディングデータがないときには、ステップＳ５１に進み、選択された読み取りモードのシェーディングデータを取り、続くステップＳ５２で、見出されたシェーディングデータファイルに、ステップＳ５１で求めたシェーディングデータを含むレコードを書き込み、このファイルを更新する。
【０１２９】
次いで、ステップＳ５３に進み、画像読取装置１００のバッファメモリ９３にシェーディングデータを書き込み、画像処理回路９２に対してシェーディング補正を行うように設定する。続いて、ステップＳ５４で、選択された読み取りモードでの画像読み取りを行い、本処理を終了する。
【０１３０】
上記ステップＳ５０において、見出されたシェーディングデータファイルの中に選択された読み取りモードに対応するシェーディングデータがあると判定されると、ステップＳ５３に進み、画像読取装置１００のバッファメモリ９３にシェーディングデータを書き込み、画像処理回路９２に対してシェーディング補正を行うように設定する。続いて、ステップＳ５４で、選択された読み取りモードでの画像読み取りを行い、本処理を終了する。
【０１３１】
なお、上記説明においては、透過原稿の読み取りにおいてスキャン毎にキャリブレーションを行うように構成されている画像読取装置１００に対応するシェーディングデータをシェーディングデータファイル１３０を用いて管理する場合を示したが、透過原稿の読み取りにおいてスキャン毎にキャリブレーションを行なわない画像読取装置に対しては、キャリブレーションデータおよびシェーディングデータを含むシェーディングデータファイル１１０（図１２に示す）が用いられることになる。この場合、上述の実施の第１形態で示した反射原稿を読み取る際の制御と同様の手順で行われることになる。すなわち、シェーディングデータファイル中に選択された読み取りモードに対応するキャリブレーションデータがないときのみに、キャリブレーションを行う。
【０１３２】
このように、フィルムなどの透過原稿を読み取るモードに対しても、そのシェーディングデータの取得を効率的に行うことができるとともに、画像読取装置１００に適合するシェーディングデータファイルがないときには、手間を掛けずに、画像読取装置１００に適合するシェーディングデータファイルの作成を容易に行うことができる。
【０１３３】
なお、上述の各実施の形態においては、シェーディングデータファイルとして、ヘッダ情報と、各読み取りモードに対するシェーディングデータのレコードからなり、各レコードは、その読み取りモードを記述したサブヘッダと、その読み取りモードに対応するキャリブレーションデータとシェーディングデータを含むデータとから構成されるが、このファイル構造に代えて、ヘッダ情報に各読み取りモードのサブヘッダを含み、各サブヘッダにはシェーディングデータのアドレス情報を付加した構造のシェーディングデータファイルを用いることも可能である。
【０１３４】
このような構造のシェーディングデータファイルとしては、図１５に示すシェーディングデータファイル１５０がある。このシェーディングデータファイル１５０においては、ヘッダ情報１５１に各読み取りモードのサブヘッダ１５２，１５３，１５４，１５５が含まれ、各サブヘッダ１５２，１５３，１５４，１５５には、シェーディングデータのアドレス情報が付加されている。例えば、第１の読み取りモードのサブヘッダ１５２においては、キャリブレーション、シェーディングデータのレコード開始位置とそのレコード長が記述されている。本例では、第１読み取りモードに対するキャリブレーションおよぶシェーディングデータが４００バイト目から１１６００バイト分格納されていることになる。
【０１３５】
また、第２読み取りモードに対しては、シェーディングデータのレコード長として”０”が記述されている。これは、第２読み取りモードに対するシェーディングデータが存在しないことを示している。
【０１３６】
また、上述の各実施の形態の機能（図９および図１３に示すフローチャートなどを含む）を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読出し実行することによっても、達成されることはいうまでもない。
【０１３７】
この場合、記憶媒体から読出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【０１３８】
プログラムコードを供給するための記憶媒体としては、例えば、フロッピディスク，ハードディスク，光ディスク，光磁気ディスク，ＣＤ ＲＯＭ，ＣＤ Ｒ，磁気テープ，不揮発性のメモリカード，ＲＯＭなどを用いることができる。
【０１３９】
また、コンピュータが読出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているＯＳ（オペレーティングシステム）などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることはいうまでもない。
【０１４０】
さらに、記憶媒体から読出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることはいうまでもない。
【０１４１】
【発明の効果】
以上説明したように、本発明によれば、補正データを複数の読取モード毎に管理することで、複数の読取モードにそれぞれに用いられる補正データの取得を効率的に行うことができる。
【図面の簡単な説明】
【図１】本発明の実施の第１形態に係る画像読取システムの概略構成図である。
【図２】図１の画像読取システムにおけるソフトウェアのシステム構成を示すブロック図である。
【図３】図２のスキャンコントローラにより表示される操作画面の一例を示す図である。
【図４】画像読取装置１のボタン処理を示すフローチャートである。
【図５】ホストコンピュータ２０上でのツールボックス２６の処理手順を示すフローチャートである。
【図６】図１の画像読取システムに用いられている画像読取装置１の構成を示すブロック図である。
【図７】図１の画像読取システムで用いられているシェーディングデータファイルの構成を示す図である。
【図８】図１の画像読取システムのホストコンピュータ２０上での制御の手順を示すフロートである。
【図９】図１の画像読取システムのデバイスドライバ２４によるスキャン開始後の制御シーケンスを示すフローチャートである。
【図１０】本発明の実施の第２形態に係る画像読取システムの構成およびその画像読取装置の構成を示すブロック図である。
【図１１】図１０の画像読取装置のフィルムホルダ９６の構成、およびフィルムホルダ９６に保持されたフィルムの読取範囲と反射原稿の読取範囲の関係を示す図である。
【図１２】図１０の画像読取システムのホストコンピュータ２０が保持するシェーディングデータファイルの一例の構成を示す図である。
【図１３】図１０の画像読取システムのホストコンピュータ２０上での制御の手順を示すフロートである。
【図１４】図１０の画像読取システムのホストコンピュータ２０が保持するシェーディングデータファイルの他の例の構成を示す図である。
【図１５】本発明に係る画像読取システムに用いられる異なる構造のシェーディングデータファイルの一例を示す図である。
【符号の説明】
１  画像読取装置
３  原稿
４  白色基準板
７  スタートボタン
９  スキャナコントローラ
１０  インターフェイス制御回路
２０  ホストコンピュータ
２２  USBインターフェイス
２３  システムドライバ
２４  デバイスドライバ
２５  コントロールパネル
２６  ツールボックス
２７  スキャンコントローラ
５２  ＬＥＤ
５７，８７  シーケンス制御回路
６２，９２  画像処理回路
６３，９３  バッファメモリ
８２  ランプ
９４  ライトボックス
９５  フィルム
１１０，１３０，１５０  シェーディングデータファイル
【図１】
0003943808.tif 000002
【図２】
0003943808.tif 000003
【図３】
0003943808.tif 000004
【図４】
0003943808.tif 000005
【図５】
0003943808.tif 000006
【図６】
0003943808.tif 000007
【図７】
0003943808.tif 000008
【図８】
0003943808.tif 000009
【図９】
0003943808.tif 000010
【図１０】
0003943808.tif 000011
【図１１】
0003943808.tif 000012
【図１２】
0003943808.tif 000013
【図１３】
0003943808.tif 000014
【図１４】
0003943808.tif 000015
【図１５】
0003943808.tif 000016