(57)【要約】【課題】  従来のスキャナ・ドライバ全体を入れ替えなければならない、という問題を解決することを目的とする。【解決手段】  画像を入力するための画像入力手段と、当該画像入力装置を制御するためのドライバ・プログラムに於いて、画像入力処理に必要なUI処理を司るフロントエンド部と、実際のスキャン処理を行うバックエンド部とを備える。また、スキャナ・ドライバとは独立したプログラムとして動作する下位レベル・ドライバ、及びスキャナの能力等を記述するスキャナ能力記述ファイルとを備える。機種情報に基づいてスキャナ能力記述ファイルを検索し、その記述に従って画像入力装置に対応する下位レベル・ドライバを選択する。それと同時に、スキャナ能力記述ファイルの記述に応じて、フロントエンドでのUI処理を切り替えるように構成されたことを特徴とする。【選択図】  図１
2008147888.tif 000002
【特許請求の範囲】
【請求項１】
画像を入力するための画像入力手段と、当該画像入力装置を制御するためのドライバ・プログラムに於いて、画像入力処理に必要なＵＩ処理を司るフロントエンド部と、実際のスキャン処理を行うバックエンド部とを備え、
スキャナ・ドライバとは、独立したプログラムとして動作する下位レベル・ドライバ、及びスキャナの能力を記述するスキャナ能力記述ファイルを備え、
機種情報に基づいて前記スキャナ能力記述ファイルを検索し、その記述に従って画像入力装置に対応する前記下位レベル・ドライバを選択するとともに、前記スキャナ能力記述ファイルの記述に応じて、フロントエンド部でのＵＩ処理を切り替えるように構成されたことを特徴とする画像入力装置。
【請求項２】
前記下位レベル・ドライバのプログラムは、ドライバ・プログラムの前記バックエンド部及び前記フロントエンド部とは独立に入れ替え可能に構成されていることを特徴とする請求項１に記載の画像入力装置。
【請求項３】
前記スキャナ能力記述ファイルと前記下位レベル・ドライバは複数の画像入力装置のそれぞれに対応して複数個設けられ、実際に接続されている画像入力装置に応じて前記スキャナ能力記述ファイルを選択し、それにより対応する前記下位レベル・ドライバを選択して実行するように構成されていることを特徴とする請求項１に記載の画像入力装置。
【請求項４】
機種情報は実際にインタフェースに接続されている画像入力装置から取得し、その情報に応じて前記スキャナ能力記述ファイルを検索し、対応する前記下位レベル・ドライバを選択するように構成されていることを特徴とする請求項１に記載の画像入力装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、イメージスキャナやフィルムスキャナ、デジタルカメラなどの画像入力装置の読み込み処理プログラム(ドライバ)の制御方式に関するものである。
【背景技術】
【０００２】
イメージ・スキャナやフィルム・スキャナ等の画像入力装置は、反射原稿(写真プリント等)や透過原稿(写真フィルム等)をデジタルの画像イメージとして入力する機能を備え、近年わが国でも一般的に使われるようになってきている。
【０００３】
この種の装置に於いては、画像入力装置はＳＣＳＩ(Small Computer System Interface)やＵＳＢ(Universal Serial Bus)等を介してパーソナル・コンピュータ等の情報処理装置に接続される。
【０００４】
画像入力装置の制御は専用のプログラム(ドライバ・プログラム)により行われる。スキャナ・ドライバはまずスキャン用の画面を表示する。
【０００５】
図２０はスキャン用画面の例を示す図である。当該画面に於いてユーザはまずスキャンのモード(カラー、モノクロ等)を指定(２６)した後[プレビュー]ボタン(２３)を押すと、スキャナはプレビュー動作を行なう。
【０００６】
そうするとスキャナ・ドライバはスキャナからプレビュー用の低解像度の画像を読み出してプレビュー用の画像データを取得する。
【０００７】
スキャナ・ドライバではその結果を当該画面のプレビュー領域(２１)に表示する。ユーザはプレビュー画面のうちのスキャンすべき領域を、マウス等を使って指定(２２)する。そして、スキャンの解像度(２７)、ズームの有無(２８)、ガンマ(２９)、明るさ(２１０)、コントラスト(２１1)等のパラメータを設定した後、[スキャン]ボタン(２４)を押す。
【０００８】
そうすると、スキャナ・ドライバはスキャナに対してパラメータの設定やコマンドの発行を行い、セットされた原稿のうちユーザが指定した範囲のみをスキャンする。
【０００９】
その後、読み取った画像データに対して必要な処理(色補正や画像処理)を行った後、ファイルとして保存したり、当該ドライバを呼び出したアプリケーション・プログラムに処理済みの画像データを渡したりする。
【００１０】
【特許文献１】特開平１１−２７５３０８号公報
【特許文献２】特開２０００−３３２９６６号公報
【発明の開示】
【発明が解決しようとする課題】
【００１１】
従来のスキャナでは、スキャナ側にインテリジェンスがあった為に、スキャナ・ドライバでは簡単なコマンドを発行することにより、スキャナに対するパラメータの設定やスキャン画像の呼び出しを行うことができた。
【００１２】
例えば、図２１で示すように、スキャナ・ドライバはＵＩ処理を司るフロント・エンド(３１)およびスキャン処理を行うバックエンド(３２)から構成される。
【００１３】
バックエンド(３２)は、ＳＣＳＩ等のインタフェース(３３)を介してスキャナに対してスキャナを制御する為のコマンドを送信する。
【００１４】
例えば、CanoScan300/600の場合には以下のようなＳＣＳＩコマンドが用意されており、これらを使用するだけでスキャンを実行したり、キャリブレーションを行うことができるようになっていた。
【００１５】
この為、従来のスキャナ・ドライバのスキャナ制御部は比較的シンプルにできており、スキャナ・ドライバの一部として組み込まれていた。
・SetWindows：スキャン範囲、明るさ/コントラスト等の設定
・Scan：スキャン動作の起動
・Read：画像データの読み込み
・Send：各種パラメータ(ディザパターン, 濃度カーブ等)の設定
・Exec Calibration：キャリブレーションの実行
【００１６】
ところが、近年ではパーソナル・コンピュータ等のホスト機器の処理能力が向上してきたこと。そのため、スキャナには必要最低限の機能のみを備え、インタフェース(ＵＳＢ等)を介して、スキャナのコントローラの各種レジスタを直接操作することによりスキャナの制御を行うケースが増えてきた。
【００１７】
この場合、スキャナの制御を行う処理が従来に比べて非常に複雑になる為、スキャナを制御する処理を下位レベル・ドライバなるまとまったプログラムとして用意することが増えてきた。
【００１８】
また、従来はスキャナ側で行われていた明るさ／コントラストの調整や色補正(マスキング処理)等もスキャナ・ドライバ側で行う必要が出てきた。
【００１９】
この為、図２２に示すように、スキャナ・ドライバはＵＩ処理を司るフロントエンド(４１)、スキャン処理を管理するバックエンド、及びスキャナ・ハードウェアの直接制御を司る下位レベル・ドライバ部(４３)から構成されるようになってきている。
【００２０】
スキャナ・ドライバ部(４１〜４２)は下位レベル・ドライバ(４３)を介して、スキャンのパラメータを設定したり、スキャナからの画像データを読み込み、更に必要な色補正や画像処理(明るさ／コントラストの調整等)を行う。
【００２１】
下位レベル・ドライバはスキャナ・ドライバ部からの指示に基づいて、ＵＳＢ等のインタフェースを介して画像入力装置(４５)のコントローラのレジスタを直接読み書きすることにより、必要なスキャナの制御を行う。
【００２２】
従来のスキャナ・ドライバでは、スキャナ・ドライバ部(フロントエンド及びバックエンド)と下位レベル・ドライバ部は図３に示すように、一体化されて同一のプログラムとして動作するように構成されている。また、スキャナの能力(サポートされる解像度、スキャン可能な範囲、オプション・デバイス(自動フィーダや透過原稿ユニットなど)の有無等はプログラム中にハードコーディングされるようになっていた。
【００２３】
スキャナのコントローラの仕様は機器毎に異なることが多いが、上記のようなプログラム構成のために、スキャナが変わった場合、下位レベル・ドライバの処理を入れ替えるだけで良いのにスキャナ・ドライバ全体を入れ替えなければならないという問題があった。
【００２４】
そこで、本発明の目的は、スキャナ・ドライバ本体部分はスキャナが変更になってもそのまま使用することを可能とすることにある
【課題を解決するための手段】
【００２５】
本発明の画像入力装置は、画像を入力するための画像入力手段と、当該画像入力装置を制御するためのドライバ・プログラムに於いて、画像入力処理に必要なＵＩ処理を司るフロントエンド部と、実際のスキャン処理を行うバックエンド部とを備え、スキャナ・ドライバとは、独立したプログラムとして動作する下位レベル・ドライバ、及びスキャナの能力を記述するスキャナ能力記述ファイルを備え、機種情報に基づいて前記スキャナ能力記述ファイルを検索し、その記述に従って画像入力装置に対応する前記下位レベル・ドライバを選択すると同時に、前記スキャナ能力記述ファイルの記述に応じて、フロントエンド部でのＵＩ処理を切り替えるように構成されたことを特徴とする。
【発明の効果】
【００２６】
本発明によれば、スキャナのコントローラに固有な処理を行う『下位レベル・ドライバ』、及びスキャナに固有な能力情報を格納した『スキャナ能力記述ファイル』をスキャナ・ドライバ本体(フロントエンド及びバックエンド)とは分離している。この為、スキャナ・ドライバ本体部分はスキャナが変更になってもそのまま使用することが出来るようになる、というメリットがある。
【００２７】
また、本発明においては、スキャナ能力ファイル及び下位レベル・ドライバの検索処理は、スキャナ自体から得られるデバイス情報(ＵＳＢの"デバイス・ディスクリプタ"など)に基づいて自動的に行うように構成することが出来る。従って、システムに対して複数のスキャナ能力記述ファイル及び下位レベル・ドライバのファイルをインストールしておけば、スキャナをＩ／Ｆに接続するだけで自動的に認識して使用することが出来るようになる、というメリットもある。
【００２８】
更に、新たなスキャナが追加された場合にも、当該スキャナに対応するスキャナ能力記述ファイルと下位レベル・ドライバをインストールすれば、スキャナ・ドライバを一切変更することなく、ダイナミックに新規に追加されたスキャナをサポートできる。
【発明を実施するための最良の形態】
【００２９】
以下、本発明を適用した好適な実施形態を、添付図面を参照しながら詳細に説明する。
【００３０】
図１は、本発明の実施形態に係る画像入力装置のシステム構成図である。同図に於いて、１１は、画像を入力するためのスキャナ１７（画像入力手段）のスキャナ・ドライバの本体である。スキャナ・ドライバ（ドライバ・プログラム）に於いて、１２は、画像入力処理に必要なＵＩ処理を司るフロントエンド部である。フロントエンド部１２は、図２０で示すようなＵＩ画面の表示、プレビューの表示、スキャン範囲の指定処理、及び各種スキャン・パラメータ(モード,解像度,その他の設定)の設定処理、スキャンの実行処理、及びキャリブレーションの実行処理を司る。
【００３１】
１３はバックエンド部であり、フロントエンド部１２で設定されたパラメータ(解像度、スキャン範囲等)に従ってスキャン処理を実行し、得られた画像イメージ(生画像イメージ)をフロントエンド部１２に引き渡す。
【００３２】
バックエンド部１３では、指定された機種情報に一致するスキャナ能力記述ファイル１４を検索し、当該スキャナ能力記述ファイル中に記述されている下位レベル・ドライバ１５をロードする。下位レベル・ドライバは、バックエンド部１２及びフロントエンド部１３とは、入れ替え可能なものである。
【００３３】
当該下位レベル・ドライバ１５はＵＳＢ等のＩ／Ｆ（インタフェース）を介してスキャナ１７のコントローラのレジスタを直接操作し、各種パラメータの設定及びスキャン動作の実行を行う。なお、スキャナ能力記述ファイルと下位レベル・ドライバは、複数の画像入力装置のそれぞれに対応して複数個設けられる。
【００３４】
次に、本実施形態での処理の流れについて説明する。まずスキャナ・ドライバ・プロセス側の処理について説明する。
【００３５】
図２はスキャナ・ドライバのフロントエンド部の処理の流れを表す図である。当該プログラムは起動されるとまず、バックエンド部の初期化処理を呼び出す(Ｓ６１)。
【００３６】
次に、同様にバックエンド部のcapability情報取得処理を実行(Ｓ６２)して、対象となるスキャナの能力(最高解像度、スキャン最大幅/最大高、自動原稿フィーダ(ＡＤＦ)の有無、透過原稿ユニット(ＴＰＵ)の有無等)に関する情報を取得する。
【００３７】
その後、ＵＩ処理を起動し、(Ｓ６２)で得られた情報に基づいて図２０に示すような画面を構成して表示する。
【００３８】
当該画面に於いて[プレビュー]ボタン(２３)が押された場合には、プレビュー処理(６５)を実行(詳細は図３参照)した後、再びＵＩ処理に戻って得られたプレビュー画像をＵＩ画面上に表示する(２１)。
【００３９】
一方、スキャン範囲を指定(２２)して[スキャン]ボタン(２４)が押された場合には、本スキャン処理(Ｓ６７)を実行(詳細は図４参照)した後、再びＵＩ処理に戻る。
【００４０】
[キャリブレーション]ボタン(２５)が押された場合には、キャリブレーション処理を実行(Ｓ６９)した後、再びＵＩ処理に戻る。
【００４１】
最後にＵＩ処理に於いて処理の終了が選択された(Ｓ６１０)場合には、バックエンド部の終了処理を実行(Ｓ６１１)して、スキャナ・ドライバの処理を終了する。
【００４２】
図３はフロントエンド部のプレビュー処理(６５)の詳細を表した図である。当該関数ではまずバックエンド部のパラメータ設定関数を呼び出して(Ｓ７１)、プレビューに必要なパラメータの設定を行う。
【００４３】
次に同様にバックエンド部のスキャン処理(Ｓ７２)を呼び出し、最後に得られたプレビュー用の画像データをバッファに格納(Ｓ７３)して処理を終了する。
【００４４】
図４はフロントエンド部の本スキャン処理(Ｓ６７)の詳細を表した図である。当該関数ではまずバックエンド部のパラメータ設定関数を呼び出して(Ｓ８１)、本スキャンに必要なパラメータを設定する。
【００４５】
次にバックエンド部のスキャン処理を実行(Ｓ８２)し、得られた生画像データをバッファに格納する(Ｓ８３)。最後に得られた生画像データに対して、必要な色補正処理及び画像処理(輪郭強調、モアレ除去等)を行った(Ｓ８４)後、処理を終了する。
【００４６】
次に、図５〜図１０はバックエンド部での処理の詳細を表す図である。図５はバックエンド部の初期化処理(Ｓ６１)の詳細を表した図である。
【００４７】
当該処理では、先ずＳ９１に於いてスキャナの機種情報を取得する。機種情報は、例えばユーザがＵＩ画面で指定し、それをバックエンド部の初期化関数で取得するようにしても良い。
【００４８】
指定された機種情報(例えば『製造者名』及び『製品名』)を元にスキャナ能力記述ファイルを検索し、製造社名と製品名が一致するものを探す。
【００４９】
スキャナ能力記述ファイルは、例えば図１８に示すような構造をしている。指定された機種情報から得られる製造者名／製品名と、当該ファイル中の製造者名(Manufacturer)及び製品名のエントリを比較し、一致すれば当該ファイルがスキャナに対応するスキャナ能力記述ファイルになる。
【００５０】
その後、当該ファイル中の下位レベル・ドライバの名称(図１８のLow-levelDriverNameのエントリ)を取得し、当該名称の下位レベル・ドライバ・モジュールをロードする。最後に当該下位レベル・ドライバの初期化処理(詳細は後述)を実行して終了する。
【００５１】
図６は逆にバックエンド部の終了処理(Ｓ６１１)の詳細を表した図である。当該関数では、まず下位レベル・ドライバの終了関数(詳細は後述)を実行(Ｓ１０１)した後、下位レベル・ドライバのモジュールを解放する(Ｓ１０２)。
【００５２】
図７はCapability情報取得処理(Ｓ６２)の詳細を表した図である。ここでは初期化処理(図５)に於いて検索されたスキャナ能力記述ファイル中に記述されている、スキャナの能力情報(センサのタイプ、光学的最高解像度、サポートされている解像度等)を読み出して返す(Ｓ１１１)。
【００５３】
図８はパラメータ設定処理(Ｓ７１、Ｓ８１)の詳細を示した図である。当該関数では上位のフロントエンド部から指定されて来たスキャン用のパラメータを、バックエンド中の内部変数中に保存する(Ｓ１２１)。
【００５４】
図９はスキャン処理(Ｓ７２、Ｓ８２)の処理の詳細を表す図である。当該関数ではまず、Ｓ１３１に於いて、フロントエンド部から設定されて保存されていたスキャン用パラメータを、下位レベル・ドライバのパラメータ設定関数を用いて下位レベル・ドライバに設定する(Ｓ１３１)。
【００５５】
次に、下位レベル・ドライバのスキャン開始関数を呼び出して(Ｓ１３２)、スキャナのスキャン動作を起動する。
【００５６】
次に下位レベル・ドライバの画像読取り関数を実行(Ｓ１３３)する。これを必要な領域の読出しが完了するまで繰り返す(Ｓ１３４)。
【００５７】
必要な画像の読み出しが完了したら、下位レベル・ドライバのスキャン停止関数を呼んで(Ｓ１３５)、スキャナの動作を停止させる。
【００５８】
最後に図１０はキャリブレーション処理(Ｓ６９)の詳細を示した図であるが、当該関数では下位レベル・ドライバのキャリブレーション処理を呼び出す(Ｓ１４１)のみである。
【００５９】
図１１〜図１７は、下位レベル・ドライバでの処理を説明するための図である。図１１は下位レベル・ドライバの初期化関数の処理を表わす図である。
【００６０】
当該関数では、まずスキャナへのＩ／ＯパスをＯｐｅｎ(Ｓ１５１)した後、下位レベル・ドライバ内で使用される内部変数の初期化及び動的メモリの確保処理を行う(Ｓ１５２)。最後にスキャナのコントローラの初期化を行って処理を終了する。
【００６１】
図１２は下位レベル・ドライバの終了関数の処理を表す図である。当該関数では初期化関数で確保されていた動的メモリ領域を開放(Ｓ１６１)した後、スキャナへのＩ／ＯパスをＣｌｏｓｅする(Ｓ１６２)。
【００６２】
図１３は下位レベル・ドライバのパラメータ設定関数である。当該関数では関数のパラメータとして渡されてきたスキャン用パラメータ(解像度、スキャン範囲、スキャンモード等)の値を、内部変数に保存する(Ｓ１７１)。
【００６３】
図１４はスキャン開始関数の詳細を表した図である。当該関数ではまず、キャリブレーション処理(詳細は後述)で作成されたキャリブレーション・データをスキャナのコントローラにダウンロードする(Ｓ１８１)。
【００６４】
次にパラメータ設定関数(図１３)で設定されたスキャン用パラメータに基づいて、スキャナのコントローラのレジスタに値を設定する(Ｓ１８２)。最後にスキャン動作の起動、即ちランプＯｎ，モータの起動等を行う(Ｓ１８３)。
【００６５】
図１５は下位レベル・ドライバの画像読出し処理を示す図である。当該関数では、コントローラの画像読出し用レジスタを通して、スキャンされた画像データの読出しを行う(Ｓ１９１)。
【００６６】
図１６は下位レベル・ドライバのスキャン停止関数である。当該関数では、スキャン動作の停止処理、即ちランプＯｆｆ、モータの停止等の処理を行う(Ｓ２０１)。図１７は下位レベル・ドライバのキャリブレーション処理を表す。
【００６７】
当該関数ではスキャナのキャリブレーション処理を実行(Ｓ２１１)した後、得られたキャリブレーション・データをファイル(キャリブレーション・ファイル)に書き込む(Ｓ２１２)。
【００６８】
最後に、図１８はスキャナ能力記述ファイル(１４)の一つのサンプルを表した図である。
【００６９】
当該ファイルはパラメータは"タグ名"と"値"の組み合せにより、行単位で定義される。同図に於いて、２２１はコメントである。
【００７０】
２２２は当該スキャナの"製造者名"、２２３は"製品名"、２２４は"モデル名"をそれぞれ表している。
【００７１】
２２５は本スキャナの機器制御を司る"下位レベル・ドライバ"のモジュール名を表す。２２６はスキャナのセンサ・タイプである。２２７は光学的な最高解像度である。２２８はスキャナがネイティブでサポートしている解像度のリストである。２２９は当該ドライバで利用可能な解像度のリストである。２２１０〜２２１１はスキャン可能な範囲の幅と高さである。２２１２は利用可能なスキャンモード(線画／グレー／カラー等)である。２２１３〜２２１４はそれぞれＡＤＦ(自動フィーダ)及びＴＰＵ(透過原稿ユニット)が使用可能かどうかを表している。なお、スキャナによっては更に多くの項目が当該ファイルに格納されることになる。
【００７２】
［他の実施形態］
上記の実施形態では、"機種情報"の取得方法は特に説明してこなかった。これは下記のいずれかの方法で行っても良いものとする。
(１)ユーザが指定する
スキャナ・ドライバのＵＩ画面、またはそれとは独立した『スキャナ選択画面』のＵＩを表示し、使用するスキャナの一覧を表示、ユーザに選択させる。選択された機種情報は特定のファイル等の形で保存される。
(２)システムの環境変数等で指定する
スキャナの機種情報を、システムの環境変数として登録するようにし、スキャナ・ドライバでは当該環境変数により機種情報を取得するようにする。
(３)スキャナから自動的に取得する
ＵＳＢ接続のスキャナの場合、ＵＳＢ経由でスキャナから取得可能な『デバイス・ディスクリプタ』により機種情報を取得する。
【００７３】
図１９にＵＳＢのデバイス・ディスクリプタの構成が記載されているが、これらの情報即ち『ベンダーＩＤ／プロダクトＩＤ』、または『製造者名／製品名 文字列』を参照することにより、機種情報を取得することが出来る。
【００７４】
この方式を採用した場合には、ユーザが特に操作を行わなくとも、スキャナを接続するだけで自動的にスキャナ能力記述ファイル及び対応する下位レベル・ドライバを選択することが可能になる。
【００７５】
なお、スキャナ能力記述ファイルの記述方法についても、本実施形態の方法に囚われる必要はなく、例えばＸＭＬ(Extensible Markup Language)等で記述しても構わない。
【００７６】
また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体をシステム或いは装置に供給し、そのシステム等のコンピュータが記憶媒体からプログラムコードを読み出し実行することによっても達成される。
【００７７】
この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、プログラムコード自体及びそのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【００７８】
プログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード、ＲＯＭ等を用いることができる。
【００７９】
また、コンピュータが読み出したプログラムコードの指示に基づき、コンピュータ上で稼動しているＯＳ等が実際の処理の一部又は全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。
【００８０】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに接続された機能拡張ユニット等に備わるメモリに書込まれた後、そのプログラムコードの指示に基づきＣＰＵ等が実際の処理を行い、前述した実施形態の機能が実現される場合も含まれる。
【図面の簡単な説明】
【００８１】
【図１】本発明の実施形態に係るシステム構成図である。
【図２】スキャナ・ドライバ部のフロントエンド部のメイン関数の処理を表したフローチャートである。
【図３】スキャナ・ドライバ部の『プレビュー』処理を表したフローチャートである。
【図４】スキャナ・ドライバ部の『本スキャン』の処理を表したフローチャートである。
【図５】スキャナ・ドライバのバックエンドの初期化処理を表したフローチャートである。
【図６】スキャナ・ドライバのバックエンドの終了処理を表したフローチャートである。
【図７】スキャナ・ドライバのバックエンドのcapability情報取得処理を表したフローチャートである。
【図８】スキャナ・ドライバのバックエンドのパラメータ設定処理を表したフローチャートである。
【図９】スキャナ・ドライバのバックエンドのスキャン処理を表したフローチャートである。
【図１０】スキャナ・ドライバのバックエンドのキャリブレーション処理を表したフローチャートである。
【図１１】下位レベル・ドライバの初期化処理を表したフローチャートである。
【図１２】下位レベル・ドライバの終了処理を表したフローチャートである。
【図１３】下位レベル・ドライバのパラメータ設定処理を表したフローチャートである。
【図１４】下位レベル・ドライバのスキャン開始処理を表したフローチャートである。
【図１５】下位レベル・ドライバの画像読出し処理を表したフローチャートである。
【図１６】下位レベル・ドライバのスキャン停止処理を表したフローチャートである。
【図１７】下位レベル・ドライバのキャリブレーション処理を表したフローチャートである。
【図１８】今回の実施例でのスキャナ能力記述ファイルのサンプルを表す図である。
【図１９】ＵＳＢＩ／Ｆの場合にデバイスから得られるデバイス・ディスクリプタの構成を表した図である。
【図２０】スキャナ・ドライバのＵＩ画面の例を示す図である。
【図２１】従来のスキャナ・ドライバのシステム構成を表した図である。
【図２２】現在よく使用されているスキャナ・ドライバのシステム構成を表した図である。
【符号の説明】
【００８２】
１１  スキャナ・ドライバ
１２、５１  フロントエンド部
１３、５２  バックエンド部
１４、５３  スキャナ能力記述ファイル
１５、５４  下位レベルドライバ
１７  スキャナ
５５  画像入力装置
【図１】
2008147888.tif 000003
【図２】
2008147888.tif 000004
【図３】
2008147888.tif 000005
【図４】
2008147888.tif 000006
【図５】
2008147888.tif 000007
【図６】
2008147888.tif 000008
【図７】
2008147888.tif 000009
【図８】
2008147888.tif 000010
【図９】
2008147888.tif 000011
【図１０】
2008147888.tif 000012
【図１１】
2008147888.tif 000013
【図１２】
2008147888.tif 000014
【図１３】
2008147888.tif 000015
【図１４】
2008147888.tif 000016
【図１５】
2008147888.tif 000017
【図１６】
2008147888.tif 000018
【図１７】
2008147888.tif 000019
【図１８】
2008147888.tif 000020
【図１９】
2008147888.tif 000021
【図２０】
2008147888.tif 000022
【図２１】
2008147888.tif 000023
【図２２】
2008147888.tif 000024