(57)【要約】【課題】  スキャナドライバの設定を改善することを目的とする。【解決手段】  画像を入力するための画像入力手段と、画像入力装置を制御するためのドライバ・プログラムに於いて画像入力の際に必要なユーザインタフェースを司るＵＩ処理部（１．１）と、複数種類の画像入力装置の制御を行う複数の下位ドライバとを備えた画像入力装置制御装置であって、画像入力装置の機種情報とそれに対応する下位ドライバとの対応を示すドライバ・データベース部（１．３）と、ＵＩ処理部（１．１）から呼び出されるドライバ管理部（１．２）とを有し、ドライバ管理部（１．２）は画像入力装置から機種情報を取得し、前記機種情報とドライバ・データベース部（１．３）に格納されている情報とから前記画像入力装置に対応する下位ドライバを選択して実行する。【選択図】  図１
2007325007.tif 000002
【特許請求の範囲】
【請求項１】
画像を入力するための画像入力手段と、画像入力装置を制御するためのドライバ・プログラムに於いて画像入力の際に必要なユーザインタフェースを司るＵＩ処理部と、複数種類の画像入力装置の制御を行う複数の下位ドライバとを備えた画像入力装置制御装置であって、
画像入力装置の機種情報とそれに対応する下位ドライバとの対応を示すドライバ・データベース部と、
前記ＵＩ処理部から呼び出されるドライバ管理部とを有し、
前記ドライバ管理部は画像入力装置から機種情報を取得し、前記機種情報と前記ドライバ・データベース部に格納されている情報とから前記画像入力装置に対応する下位ドライバを選択して実行することを特徴とする画像入力装置制御装置。
【請求項２】
複数の画像入力装置が同時に接続されている場合に、前記ドライバ管理部が前記複数の画像入力装置より取得した機種情報に基づいて、接続されている画像入力装置の一覧を表示してユーザにそのうちの一つを選択させる画像入力装置一覧表示・選択手段を更に備え、
前記画像入力装置一覧表示・選択手段によりユーザが選択した機種名に対応する下位ドライバを選択して実行することを特徴とする請求項１に記載の画像入力装置制御装置。
【請求項３】
前記画像入力装置一覧表示・選択手段に於いて、ユーザが選択した機種名を記憶しておき、次回に前記ドライバ・プログラムが起動された場合に、記憶された前記機種名をデフォルトの画像入力装置とすることを特徴とする請求項２に記載の画像入力装置制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、イメージ・スキャナやフィルム・スキャナ、デジタル・カメラなどの、画像入力装置の制御を行う画像入力装置制御装置に関する。
【背景技術】
【０００２】
イメージ・スキャナやフィルム・スキャナ等の画像入力装置は、反射原稿(写真プリントなど)や透過原稿(写真フィルムなど)をデジタルの画像イメージとして入力する機能を備え、近年わが国でも一般的に使われるようになってきている。
【０００３】
この種の装置に於いては、画像入力装置はＳＣＳＩ (Ｓｍａｌｌ Ｃｏｍｐｕｔｅｒ  Ｓｙｓｔｅｍ  Ｉｎｔｅｒｆａｃｅ)やＵＳＢ(Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ)等を介してパーソナル・コンピュータ等の情報処理装置に接続される。
【０００４】
画像入力装置の制御は、情報処理装置上で動作する専用のプログラム(ドライバ・プログラム)により行われる。スキャナ・ドライバはまずスキャン用のＵＩ画面を表示する。図２はスキャン用ＵＩ画面の例である。
【０００５】
当該画面に於いてユーザはまずスキャンのモード(カラー/モノクロなど)を指定(２.６)した後、プレビューボタン(２.３)を押すと、スキャナはプレビュー動作を行なう。
【０００６】
そうするとスキャナ・ドライバはスキャナからプレビュー用の低解像度の画像を読み出して、プレビュー用の画像データを取得する。スキャナ・ドライバではその結果を当該画面のプレビュー領域(２.１)に表示する。
【０００７】
ユーザはプレビュー画面のうちのスキャンすべき領域をマウス等を使って指定(２.２)する。そして、スキャンの解像度(２.７)、 ズームの有無(２.８)、ガンマ(２.９)、明るさ(２.１０)、 コントラスト(２.１１)等のパラメータを設定した後、スキャンボタン(２.４)を押す。
【０００８】
そうすると、スキャナ・ドライバはスキャナに対してパラメータの設定やコマンドの発行を行い、セットされた原稿のうちユーザが指定した範囲のみをスキャンする。
【０００９】
その後読み取った画像データに対して必要な処理(カラーマッチング処理や、輪郭強調、ゴミ傷除去等の画像処理)を行った後、ファイルとして保存したり、当該ドライバを呼び出したアプリケーション・プログラムに処理済みの画像データを渡したりする。
【００１０】
【特許文献１】特開平１１−２７５３０８号公報
【発明の開示】
【発明が解決しようとする課題】
【００１１】
従来のスキャナでは、スキャナ側にインテリジェンスがあった為に、スキャナ・ドライバでは簡単なコマンドを発行することにより、スキャナに対するパラメータの設定やスキャン画像の呼び出しを行うことができた。例えば図３で示すように、スキャナ・ドライバ(３.１〜３.２)はＳＣＳＩ等のインタフェースを介してスキャナに対してコマンド(３.３)を送信する。すると画像入力装置はコマンドで指定された動作を行い、必要なデータ(画像データ等)をスキャナ・ドライバに返す。
【００１２】  例えば、（公序良俗違反につき、不掲載）の場合には以下のようなＳＣＳＩコマンドが用意されており、これらを使用するだけでスキャンを実行したり、キャリブレーションを行うことができるようになっていた。この為、従来のスキャナ・ドライバのスキャナ制御部(３.２)は比較的シンプルにできており、ＵＩ処理部(３.１)と共にスキャナ・ドライバに一体として組み込まれていた。【００１３】
・ＳｅｔWindows(登録商標)：スキャン範囲、明るさ／コントラスト等の設定
・Ｓｃａｎ              ：スキャン動作の起動
・Ｒｅａｄ              ：画像データの読み込み
・Ｓｅｎｄ              ：各種パラメータ(ディザパターン, 濃度カーブ等)の設定
・Ｅｘｅｃ  Ｃａｌｉｂｒａｔｉｏｎ      ：キャリブレーションの実行
【００１４】
ところが、近年ではパーソナル・コンピュータ等のホスト機器の処理能力が向上してきたことから、スキャナには必要最低限の機能のみを備え、インタフェース(ＵＳＢ等)を介して、スキャナのコントローラの各種レジスタを直接操作することによりスキャナの制御を行うケースが増えてきた。
【００１５】
この場合、スキャナの制御を行う処理が従来に比べて非常に複雑になると共に、スキャナ毎に処理が大幅に異なるようになってくる。この為、スキャナを制御する処理を、ＵＩ処理部とは独立した下位ドライバなるまとまったプログラムとして用意するようになってきた。この為、スキャナ・ドライバは図４に示すように、全てのスキャナに共通のユーザインタフェースを司るＵＩ処理部(４.１)と、スキャナ毎に異なる処理を司り、スキャナ(４.５〜４.７)毎に作成される複数の下位ドライバ(４.２〜４.４)とに分けられるようになる。
【００１６】
このような構成に於いてユーザが必要なスキャナを使用する為には、接続されているスキャナに対応する下位ドライバだけを情報処理装置にインストールするか、接続可能なスキャナの下位ドライバは全て情報処理装置にインストールしておいてスキャンを開始する時にユーザがＵＩ画面で使用する下位ドライバを指定する方法の２通りの方法が考えられる。
【００１７】
前者の方式の場合、使用するスキャナに対応する下位ドライバをユーザが認識した上で、必要なドライバを用意してインストールしなければならない。また、接続するスキャナを変更した場合には、その都度下位ドライバをインストールしなおさなければならない、という問題があった。
【００１８】
一方後者の方式の場合、ユーザがいちいち下位ドライバをインストールする手間は不要になるが、スキャナを使用する度に、ユーザが実際に接続されているスキャナとそれを制御する為の下位ドライバを意識しなければならない、という問題があった。
【課題を解決するための手段】
【００１９】
本発明の画像入力装置制御装置は、画像を入力するための画像入力手段と、画像入力装置を制御するためのドライバ・プログラムに於いて画像入力の際に必要なユーザインタフェースを司るＵＩ処理部と、複数種類の画像入力装置の制御を行う複数の下位ドライバとを備えた画像入力装置制御装置であって、画像入力装置の機種情報とそれに対応する下位ドライバとの対応を示すドライバ・データベース部と、前記ＵＩ処理部から呼び出されるドライバ管理部とを有し、前記ドライバ管理部は画像入力装置から機種情報を取得し、前記機種情報と前記ドライバ・データベース部に格納されている情報とから前記画像入力装置に対応する下位ドライバを選択して実行することを特徴とする。
【発明の効果】
【００２０】
本発明によれば、スキャナドライバの処理を機種に依存しないＵＩ処理部と、各機種毎に固有の処理を行う下位ドライバとに分離し、かつ必要な下位ドライバは予め情報処理装置に格納しておく。然る後、ドライバ管理部が実際に接続されているスキャナから機種情報を取得し、機種情報と下位ドライバ毎の対応を示すドライバ・データベースを検索して、機種情報に対応する（当該機種を制御する）下位ドライバを選択してメモリ上にロードして実行するように構成される。この場合、必要な下位ドライバは予め情報処理装置に格納されているので、ユーザがスキャナ毎にドライバをインストールする必要が無くなる。またスキャナの機種情報より、下位ドライバを自動的に選択して実行するので、ユーザが実際に接続されているスキャナの機種名を意識して、使用する下位ドライバを指定する必要が無くなる、という効果が得られる。
【００２１】
また、1台の情報処理装置に複数台のスキャナが接続されている場合に、実際に接続されているスキャナの機種名が画面上に一覧表示され、その一覧の中から使用するスキャナを選択することができる。そのため、ユーザが実際に接続されているスキャナの機種名をいちいち意識する必要がなくなる、という効果が得られる。
【００２２】
さらに情報処理装置が前回選択された機種名を記憶しているため、情報処理装置に複数台のスキャナが接続されている場合に於いて、同一のスキャナを連続して使用したい場合に、ユーザがいちいち使用する機種名を指定する必要が無くなる、という効果が得られる。
【発明を実施するための最良の形態】
【００２３】
（第１の実施の形態）
以下に、第１の実施の形態に沿って、本発明に内容を詳細に説明する。図１は本発明の実施形態を示すシステム構成図である。
【００２４】
図１に於いて１.１はＵＩ処理部である。ＵＩ処理部１．１は図２で示すようなＵＩ画面の表示、プレビューの起動及び表示、スキャン範囲の指定処理、各種スキャンパラメータ(モード、解像度、その他の設定)の設定処理、スキャンの実行処理、及びスキャナのキャリブレーションの実行などを司る。
【００２５】
１.２はドライバ管理部であり、外部インタフェース(ＵＳＢ、ＳＣＳＩなど)経由接続された画像入力装置(フラットベッド・スキャナ、フィルム・スキャナなど)から機種情報（１.７）を取得する。そして、当該情報に基づいて１.３のドライバ・データベースを検索して、情報処理装置にインストールされている複数のスキャナの下位ドライバから機種情報に対応する下位ドライバを選択し、当該下位ドライバ（１.４）をメモリ上にロードして実行する。
【００２６】
下位ドライバ（１.４）は物理的な外部インタフェース(ＵＳＢ、ＳＣＳＩなど)を介して、１.６のスキャナに対して各種パラメータの設定処理、及びスキャン動作の実行などを行う。
【００２７】
次に本実施形態での処理の流れについて説明する。まずスキャナ・ドライバのＵＩ処理部での処理について説明する。図８はスキャナ・ドライバのＵＩ処理部のメイン・プログラムの処理の流れを表す図である。
【００２８】
当該プログラムは起動されるとまず、下位ドライバ初期化処理(８.１)を呼び出す(詳細は図９参照)。
【００２９】
次にスキャナ能力情報取得処理(８.２)を呼び出して、対象となるスキャナの能力(最高解像度、スキャン最大幅/最大高、自動原稿フィーダ(ＡＤＦ)の有無、透過原稿ユニット(ＴＰＵ)の有無など)に関する情報を取得する。
【００３０】
その後ＵＩ処理を起動して図２に示すようなＵＩ画面を表示する。当該画面に於いて（プレビュー）ボタン(２.３)が押された場合には(８.４)、プレビュー処理(８.５；詳細は図１０参照)を実行した後、再びＵＩ処理に戻って得られたプレビュー画像(２.１)をＵＩ画面上に表示する。
【００３１】
一方スキャン範囲を指定(２.２)してスキャンボタン(２.４)が押された場合(８.６)には、本スキャン処理(８.７)を実行(詳細は図１１参照)した後、再びＵＩ処理に戻る。キャリブレーションボタン(２.５)が押された場合(８.８)には、キャリブレーション処理を実行(８.９)した後、再びＵＩ処理に戻る。
【００３２】
最後にＵＩ処理に於いて処理の終了が選択された(８.１０)場合には、下位ドライバ終了処理(８.１１)を実行して、スキャナ・ドライバの処理を終了する。
【００３３】
図９は図８に於ける下位ドライバ初期化処理(８．１)の詳細を説明した図である。当該処理では、ドライバ管理部(１.２)の初期化処理(９.１；詳細は後述)を実行した後、スキャナ初期化処理(９.２)を実行して本関数の処理を終了する。
【００３４】
図１０は図８に於けるプレビュー処理(８.５)の詳細を説明した図である。本処理ではプレビュー用のスキャン・パラメータを設定(１０.１)した後、スキャンを起動(１０.２)、画像の読み取り処理(１０.３)、スキャン停止(１０.４)を行う。そして、最後に取得したプレビュー用画像をデータをバッファに格納(１０.５)して処理を終了する。
【００３５】
図１１は図８に於ける本スキャン処理(８.７)の詳細を説明した図である。当該処理にでは、まず本スキャンに必要な各種パラメータを設定(１１.１)した後、スキャン動作を起動(１１.２)する。
【００３６】
次に本スキャン用のバッファに空きがあるかどうかを判定(１１.３)し、もしあった場合には画像読取り処理(１１.４)を行い、読み取られた生の画像データをバッファに格納する(１１.５)。
【００３７】
次に当該生画像データに対して色補正及び各種画像処理(ガンマ補正、明るさ／コントラスト調整など)を行う(１１.６)。
【００３８】
これをスキャン範囲全域に対して行い、必要なスキャンが終了した場合(１１.７)にはスキャン停止処理(１１.８)を行ってスキャナの動作を停止させた後、処理を終了する。
【００３９】
図１２は図８に於ける下位ドライバ終了処理(８.１１)の詳細を説明した図である。当該処理ではまずスキャナ終了処理(１２.１)を実行した後、ドライバ管理部の終了処理(１２.２)を実行した後、処理を終了する。
【００４０】
図７はＵＩ処理部、ドライバ管理部、及び下位ドライバ間の関係を示した図である。７.１はＵＩ処理部であり、これまで説明してきたように７.２のドライバ管理部の各関数を呼び出すことによりスキャナへのアクセス処理を行うようになっている。ＵＩ処理部が呼び出すドライバ管理部の関数は、本実施形態の場合では例えば下記の１０種類である。
【００４１】
１． 下位ドライバ初期化処理     (９.１)
２． 下位ドライバ終了処理       (１２.２)
３． スキャナ初期化処理         (９.２)
４． スキャナ終了処理           (１２.１)
５． スキャナ能力情報取得処理   (８.２)
６． スキャン・パラメータ設定処理        (１０.１,１１.１)
７． スキャン起動処理           (１０.２,１１.２)
８． 画像読取り処理             (１０.３,１１.４)
９． スキャン停止処理           (１０.４,１１.８)
１０．キャリブレーション処理    (８.９)
【００４２】
これらの関数のうち、７.６の下位ドライバ初期化関数、７.７のドライバ終了関数はドライバ管理部自身で処理され、残りの関数(７.８)は下位ドライバ(７.３)の対応する関数を呼び出すことにより処理される。
【００４３】
７.３の下位ドライバの各関数は、インタフェース(７.５)を介して直接スキャナ等の画像入力装置(７.４)とのやり取りを行う。
【００４４】
図１３はドライバ管理部の下位ドライバ初期化関数(９.１)の処理の詳細を表したフローである。
【００４５】
当該関数ではまず１３.１に於いて情報処理装置の外部インタフェース(ＵＳＢ、ＳＣＳＩなど)を介して接続されている外部機器に対して順次機種情報の問い合せを行い、各外部機器の機種情報を取得する。
【００４６】
図６はＵＳＢ機器から取得できる機種情報であるデバイス・ディスクリプタの構成を表した図である。同図に於いて６.１はデバイス・ディスクリプタの各フィールドを表し、６.２はそれぞれの内容を説明している。
【００４７】
６.３〜６.１６の各フィールドのうち、６.１３の製造者名、６.１４の製品名、６.１５のシリアル番号は機種により一意なので、この組合せによりインタフェースに接続されている機器の機種情報を一意に確定することが出来る。
【００４８】
次に１３.２に於いてドライバ・データベースを検索し、当該機種情報に対応する(即ち当該機器を制御することができる)下位ドライバの名称を決定する。図５はドライバ・データベースの一例を示した図である。
【００４９】
当該データベースは５.１のベンダーＩＤ、５.２の製品ＩＤ、５.３の製品リビジョンの組み合せと、当該機種に対応する下位ドライバの名称の配列を格納したテーブルである。
【００５０】  例えば５.５の場合には、ベンダー名が“（公序良俗違反につき、不掲載）”、製品名が“（公序良俗違反につき、不掲載）”、製品リビジョンが“１．０１”の場合、当該機器を制御する下位ドライバは“ｌｉｂｃａｎｏｎ３００．ｓｏ”なる名前のプログラム・モジュールであることを表している。【００５１】
次に１３.３に於いてドライバ・データベース中に該当するものがあったかどうかを判定し、一致しなかったら当該機器を制御する為のドライバは情報処理装置中には存在しないことを表している。そのため、インタフェース上の次の機器を選択(１３.５)して、１３.１からの処理を繰り返す。
【００５２】
最終的にインタフェース上の全ての機器が該当しなかった場合(１３.６)には、当該情報処理装置でサポートできる画像入力装置は無いことを表しているので、エラーとして返す。
【００５３】
一方、ドライバ・データベース中に一致するものがあった場合には、当該データベースより取得される、機種情報に対応した下位ドライバのプログラム・モジュールをメモリ上にロードしてきて、利用可能な状態にする(１３.４)。
【００５４】
図１４はドライバ管理部の下位ドライバ終了関数(１２.２)の処理を表した図である。当該関数では、下位ドライバ初期化関数でメモリ上にロードされたプログラム・モジュールを解放(１４.１)して処理を終了する。
【００５５】
図１５は、ドライバ管理部での残りの８種類の関数(７.８)の処理を表した図である。これらの関数(１５.１〜１５.５)については、下位ドライバ初期化関数によりメモリ上にロードされたプログラム・モジュール中の、それぞれに対応する関数を呼び出し(１５.６)、下位ドライバの関数から返されてきた値を、当該関数の戻り値として上位プログラム(ＵＩ処理部)に返す(１５.７)。
【００５６】
最後に、下位ドライバ側の処理について説明する。図１６は下位ドライバのメイン・プログラムの処理を表した図である。下位ドライバはドライバ管理部から必要に応じてロードされるダイナミックリンク・ライブラリまたは共有ライブラリであり、ドライバ管理部が直接処理することができない、個々のスキャナのハードウェアの制御処理を行う。
【００５７】
本実施形態の場合、下位ドライバは図７の７.８に示す８つの機能を司る８つの関数から構成される。なお、各関数は全て共通のインタフェース(ＡＰＩ)を持つ。
【００５８】
図１７〜２５で示される関数群が下位レベル・ドライバの実際の処理であり、図７の７.３に相当する。これらの関数はＵＳＢなどのインタフェースを介して、スキャナのコントローラのレジスタに直接アクセスし、スキャン処理に必要な各種処理を実行する。
【００５９】
図１７はスキャナ初期化処理の詳細を表した図である。当該関数ではまずスキャナ・デバイスへのＩ／ＯパスをＯｐｅｎ (１７.１)した後、下位ドライバの処理に必要な各種内部変数の初期化、及び動的メモリの確保処理等(１７.２)を行った後、スキャナ・コントローラの初期化処理(１７.３)を行う。
【００６０】
図１８はスキャナ終了処理の詳細を表した図である。当該関数では１７.２で確保された動的メモリの解放処理(１８.１)を行った後、スキャナ・デバイスへのＩ／Ｏパスを閉じる(１８.２)。
【００６１】
図１９はスキャナ能力情報取得関数の詳細を表した図である。当該関数では、当該下位レベル・ドライバがサポートするスキャナの能力に関する情報、例えば以下のような情報を返す。
【００６２】
・ベンダー名、モデル名、ファーム・バージョン
・物理的解像度 (７５／１５０／３００／６００／１２００  ｄｐｉ等)
・スキャン可能範囲の幅/高さ
・スキャン方法 (フラットベッド、自動フィーダ(ＡＤＦ), 透過原稿ユニット(ＴＰＵ)等
・イメージモード (白黒、グレー、カラーなど)
・イメージのビット長 (１／８／１２／１６ビットなど)
【００６３】
図２０はスキャン・パラメータ設定処理の詳細を表した図である。当該関数では、スキ  ャン処理に必要な、以下のようなパラメータを設定する(２０.１)。
【００６４】
・スキャン解像度 (ｄｏｔ  ｐｅｒ  ｉｎｃｈ)
・スキャン範囲 (左上端, 右下端の位置)
・スキャンモード (白黒, グレー, カラーなど)
・スキャン方法 (フラットベッド、ＡＤＦ、ＴＰＵなど)
・ピクセル当りのビット数 (１，８，２４ビットなど)
【００６５】
図２１はスキャン開始関数の処理を示した図である。当該関数ではまず、キャリブレーション・ファイル(詳細は後述)からキャリブレーション・データを読み出し、当該データをスキャナのコントローラにダウンロードする(２１.１)。
【００６６】
これにより、スキャナの状態 (ランプの明るさや各イメージ・センサの感度など)に最適な状態でスキャンが出来るようになる。
【００６７】
次に２１.２でスキャナ・ドライバから(スキャン・パラメータ設定処理経由で)設定されたスキャン・パラメータに応じてコントローラの各種レジスタを設定した後、最後に２１.３でスキャン動作の起動 (ランプのＯＮ、モータの起動など)を行う。
【００６８】
図２２は画像読み取り処理の処理を表した図である。当該関数ではスキャナのコントローラより、スキャンされた画像データの読み出し処理を行う(２２.１)。
【００６９】
図２３はスキャン停止処理関数の処理を表した図であり、当該関数ではスキャン動作の停止処理 (モータの停止、ランプＯＦＦ、キャリアのホームポジションへの移動処理等)を行う(２３.１)。最後に図２５はキャリブレーション処理関数の処理を表した図である。
【００７０】
当該関数ではスキャナに対してキャリブレーション処理を行った(２４.１)後、結果のデータをファイル (キャリブレーション・ファイル)に書き込む(２４.１)。
【００７１】
（第２の実施の形態）
上記の第１の実施形態では、基本的に情報処理装置には１台の画像入力装置が接続されていることを前提にしており、もし複数台の画像入力装置が接続されていた場合には、最初に検出された画像入力装置が有効になるように構成されていた。
【００７２】
それに対して、第２の実施形態として、上記第１実施形態に於いて1台の情報処理装置に複数台のスキャナが(ＵＳＢやＳＣＳＩインタフェースの場合)が同時に接続される場合が考えられる。
【００７３】
この場合、ドライバ管理部ではインタフェース(ＵＳＢ、ＳＣＳＩなど)上に接続されている、スキャナを含む外部機器からそれぞれ機種情報を取得する。
【００７４】
然る後それぞれの機種情報とドライバ・データベースとからそれらが当該情報機器に登録済みのスキャナであるかどうかを判定する。
【００７５】
その結果、もし登録済みのスキャナが２台以上接続されていることが判明した場合には、図２５に示すような、接続されているスキャナの一覧表示・選択画面を表示する。
【００７６】
当該画面に於いて２５.１は一覧のヘッダ部、２５.２〜２５.４が機種名の一覧を示す。当該一覧に於いて使用したいスキャナをキー入力またはマウスにより選択し、２５.５の選択ボタンを押すことにより当該機種名が選択され、当該機種名に対応する下位ドライバがロード及び実行される。
【００７７】
一方、２５.６のキャンセル・ボタンが押された場合には、デフォルトのスキャナ(例えば最初にインタフェース上で検出されたスキャナなど)が選択され、当該機種名に対応する下位ドライバがロード及び実行される。
【００７８】
（第３の実施の形態）
また、第３の実施形態として、上記実施形態に於いて、１台の情報処理装置に複数台のスキャナが同時に接続されている場合(ＵＳＢ、ＳＣＳＩなど)に、ドライバ管理部が図２５に示すような、接続されているスキャナの一覧表示・選択画面を表示する。
【００７９】
しかして、当該画面でユーザが選択したスキャナの機種名情報をドライバ管理部が記憶しておき、次回にスキャナ・ドライバが起動された場合には、スキャナの一覧画面に於いて前回選択されたスキャナをデフォルトのスキャナとして表示する。
【図面の簡単な説明】
【００８０】
【図１】本発明の実施の形態に係るシステム構成図である。
【図２】本発明の実施の形態に係るＵＩ画面の表示例を示す図である。
【図３】従来のスキャナ・ドライバシステムのシステム構成図である。
【図４】現在よく使用されているスキャナ・ドライバのシステム構成を示す図である。
【図５】本発明の実施の形態に係るドライバ・データベースの構成を示す図である。
【図６】ＵＳＢの場合のデバイス・ディスクリプタ情報の構成を示す図である。
【図７】本発明の実施の形態に係る要部間の関数呼び出しの関係を表した図である。
【図８】スキャナ・ドライバのＵＩ処理部のメイン関数の処理を表したフローチャートである。
【図９】ＵＩ処理部のうちの「下位ドライバ初期化」処理を表したフローチャートである。
【図１０】ＵＩ処理部の「プレビュー」処理を表したフローチャートである。
【図１１】ＵＩ処理部の「本スキャン」の処理を表したフローチャートである。
【図１２】ＵＩ処理部の「下位ドライバ終了」処理を表したフローチャートである。
【図１３】スキャナ・ドライバのドライバ管理部の「下位ドライバ初期化」処理を表したフローチャートである。
【図１４】ドライバ管理部の「下位ドライバ終了」処理を表したフローチャートである。
【図１５】ドライバ管理部の、上記以外の関数の処理を表したフローチャートである。
【図１６】スキャナ・ドライバの下位ドライバ部の、メインの処理を表したフローチャートである。
【図１７】下位ドライバ部のスキャナ初期化関数の処理を表したフローチャートである。
【図１８】下位ドライバのスキャナ終了関数の処理を表したフローチャートである。
【図１９】下位ドライバのスキャナ能力情報取得関数の処理を表したフローチャートである。
【図２０】下位ドライバのスキャン・パラメータの設定処理を表したフローチャートである。
【図２１】下位ドライバのスキャン開始処理を表したフローチャートである。
【図２２】下位ドライバ画像読み取り処理を表したフローチャートである。
【図２３】下位ドライバのスキャン停止処理を表したフローチャートである。
【図２４】下位ドライバのキャリブレーション処理を表したフローチャートである。
【図２５】ドライバ管理部が表示する接続スキャナ一覧表示・選択画面を表した図である。
【符号の説明】
【００８１】
１．１  ＵＩ処理部
１．２  ドライバ管理部
１．３  ドライバ・データベース
１．４  下位ドライバ
１．６  スキャナ
１．７  機種情報
【図１】
2007325007.tif 000003
【図２】
2007325007.tif 000004
【図３】
2007325007.tif 000005
【図４】
2007325007.tif 000006
【図５】
2007325007.tif 000007
【図６】
2007325007.tif 000008
【図７】
2007325007.tif 000009
【図８】
2007325007.tif 000010
【図９】
2007325007.tif 000011
【図１０】
2007325007.tif 000012
【図１１】
2007325007.tif 000013
【図１２】
2007325007.tif 000014
【図１３】
2007325007.tif 000015
【図１４】
2007325007.tif 000016
【図１５】
2007325007.tif 000017
【図１６】
2007325007.tif 000018
【図１７】
2007325007.tif 000019
【図１８】
2007325007.tif 000020
【図１９】
2007325007.tif 000021
【図２０】
2007325007.tif 000022
【図２１】
2007325007.tif 000023
【図２２】
2007325007.tif 000024
【図２３】
2007325007.tif 000025
【図２４】
2007325007.tif 000026
【図２５】
2007325007.tif 000027