(57)【要約】【課題】ユーザの操作性に影響を与えることなく、複数のスキャナドライバの機能を一つのスキャナドライバを通じて操作できるスキャナドライバを提供し、使い勝手を向上させることが可能なスキャナドライバ、及びスキャナドライバ連携装置を提供する。【解決手段】画像の読み取り時に使用するとして設定されたスキャナドライバＡで、他のスキャナドライバでサポートするデバイスを含めたＧＵＩを作成して、デバイスの選択をユーザに促す。ここで、他のスキャナドライバ（例えば、スキャナドライバＢ）でサポートするデバイス（例えば、デバイスＢ）をユーザが選択すると、スキャナドライバＡは、デバイスＢ及びスキャナドライバＢに関する情報を記憶すると共に、デバイスＢをスキャナドライバＢで画像読み取り時に利用するデバイスとして設定する。そして、スキャナドライバＡは、アプリケーションから画像読み取りのコマンドを受信すると、スキャナドライバＢにコマンドを転送して当該コマンドの処理を依頼する。  【選択図】  図１
2008098994.tif 000002
【特許請求の範囲】
【請求項１】
画像を処理するアプリケーションから受信したコマンドを画像読み取り機能を備えたデバイスを用いて処理するための処理をコンピュータに実行させるスキャナドライバであって、
前記コンピュータに備えられているスキャナドライバの何れかでサポートするデバイスの中から画像の読み取り時に使用する読み取りデバイスを設定する第１のデバイス設定手段と、
前記読み取りデバイスが自ドライバでサポートするデバイスであると、前記アプリケーションから受け付けたコマンドを前記読み取りデバイスを用いて処理し、前記読み取りデバイスが他のスキャナドライバがサポートするデバイスであると、前記読み取りデバイスをサポートするサポートドライバに前記コマンドを転送し、該サポートドライバからコマンドの処理結果を受信することによってコマンドの処理を行うコマンド処理手段と、
前記コマンドの処理結果を前記アプリケーションに送信する処理結果送信手段と
をコンピュータに実行させることを特徴とするスキャナドライバ。
【請求項２】
前記第１のデバイス設定手段は、前記スキャナドライバの何れかでサポートされるデバイスの一覧を表示し、前記読み取りデバイスの選択を受け付けることを特徴とする請求項１記載のスキャナドライバ。
【請求項３】
前記読み取りデバイスに関する情報を記憶すると共に、該読み取りデバイスを他のスキャナドライバがサポートする場合は、前記サポートドライバに関する情報を記憶する第１の記憶手段をさらにコンピュータに実行させ、
前記コマンド処理手段は、前記第１の記憶手段に記憶されている情報に基づいて前記読み取りデバイスを判断し、該読み取りデバイスに応じたコマンドの処理を行うことを特徴する請求項１又は２記載のスキャナドライバ。
【請求項４】
前記サポートドライバは、
前記読み取りデバイスを設定する第２のデバイス設定手段と、
前記第２のデバイス設定手段で設定された前記読み取りデバイスに関する情報を記憶する第２の記憶手段と
をさらにコンピュータに実行させ、
前記第１のデバイス設定手段は、前記サポートドライバでサポートするデバイスを前記読み取りデバイスとして設定すると、該読み取りデバイスに関する情報を前記第２のデバイス設定手段に送信することを特徴とする請求項１乃至３記載のスキャナドライバ。
【請求項５】
画像を処理するアプリケーションと、
画像読み取り機能を備えたデバイスをサポートする複数のスキャナドライバと、
複数の前記スキャナドライバの中から画像読み取り時に使用する自ドライバを設定するスキャナドライバ設定手段と
を備え、
前記自ドライバは、
前記スキャナドライバの何れかでサポートするデバイスの中から画像の読み取り時に使用する読み取りデバイスを設定する第１のデバイス設定手段と、
前記読み取りデバイスが自ドライバでサポートするデバイスであると、前記アプリケーションから受け付けたコマンドを前記読み取りデバイスを用いて処理し、前記読み取りデバイスが他のスキャナドライバがサポートするデバイスであると、前記読み取りデバイスをサポートするサポートドライバに前記コマンドを転送し、該サポートドライバからコマンドの処理結果を受信することによってコマンドの処理を行うコマンド処理手段と、
前記コマンドの処理結果を前記アプリケーションに送信する処理結果送信手段と
を具備する
ことを特徴とするスキャナドライバ連携装置。
【請求項６】
前記第１のデバイス設定手段は、前記スキャナドライバの何れかでサポートされるデバイスの一覧を表示し、前記読み取りデバイスの選択を受け付けることを特徴とする請求項５記載のスキャナドライバ連携装置。
【請求項７】
前記自ドライバは、前記読み取りデバイスに関する情報を記憶すると共に、該読み取りデバイスを他のスキャナドライバがサポートする場合は、前記サポートドライバに関する情報を記憶する第１の記憶手段をさらに具備し、
前記コマンド処理手段は、前記第１の記憶手段に記憶されている情報に基づいて前記読み取りデバイスを判断し、該読み取りデバイスに応じたコマンドの処理を行うことを特徴する請求項５又は６記載のスキャナドライバ連携装置。
【請求項８】
前記サポートドライバは、
前記読み取りデバイスを設定する第２のデバイス設定手段と、
前記第２のデバイス設定手段で設定された前記読み取りデバイスに関する情報を記憶する第２の記憶手段と
を具備し、
前記第１のデバイス設定手段は、前記サポートドライバでサポートするデバイスを前記読み取りデバイスとして設定すると、該読み取りデバイスに関する情報を前記第２のデバイス設定手段に送信することを特徴とする請求項５乃至７記載のスキャナドライバ連携装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、スキャナドライバ、及びスキャナドライバ連携装置に関し、特に、複数のスキャナドライバの機能を一つのスキャナドライバを通じて利用するスキャナドライバ、及びスキャナドライバ連携装置に関する。
【背景技術】
【０００２】
原稿などをスキャンして画像を読み取るスキャナは、ＳＣＳＩ(Small Computer System Interface)やＵＳＢ(Universal Serial Bus)などを介してＰＣ(Personal Computer)などの情報処理装置と直接接続して利用されることが多く、また、スキャナやスキャナとしての機能を備えた複合機などをＬＡＮ(Local Area Network)などのネットワークを介して情報処理装置と接続し、ネットワークスキャナとして利用する機会もオフィスなどで近年増加している。
【０００３】
そして、スキャナや複合機などを制御して原稿の画像データを取得するスキャナドライバは、ＴＷＡＩＮドライバが業界標準となっており、多くのメーカはこの方式に準拠したスキャナドライバを提供している。
【０００４】
しかし、スキャナとして利用可能な製品（デバイス）が増えるに従って、スキャナドライバの種類や、各スキャナドライバでサポートする機種の数が増加し、開発に係る負担が増大する傾向にある。
【０００５】
そこで、例えば、動的なライブラリであるデータソースをデバイス毎に設け、デバイスに関する情報をそれぞれ対応するデータソースに格納し、画像アプリケーションとスキャナドライバとのコマンドのやり取りをデータソースを介して行うことによって、画像アプリケーションに対するスキャナドライバの共通化を図る方法が提案されている（例えば、特許文献１参照）。
【０００６】
しかし、この方式では、デバイス毎にスキャナドライバが必要となる点は従来と変わらず（図８(ａ)参照）、デバイスの数が増えるとスキャナドライバを選択する際に、画面がスクロールするほど多数のスキャナドライバが表示される可能性があり、デバイスを容易に切り替えるために大変な手間がかかっていた。
【０００７】
また、ネットワークスキャナでは、例えば、同じスキャナドライバを利用することが可能なデバイス毎にＴＷＡＩＮデータソースを提供する方式がある（図８(ｂ)参照）。この方式では、ユーザがスキャナドライバを選択すると、該スキャナドライバが対応するデバイスを自発的にネットワークから検出して一覧表示するため、ユーザがこの中から利用したいデバイスを選択することでデバイスの切り替えを行なうことができる。
【特許文献１】特開平１０−２７５２２３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
デバイスにアクセスする手段が大きく変わらなければ、この方式で殆ど全てのデバイスにアクセスできるスキャナドライバを提供することが可能である。
【０００９】
しかし、例えば、通信プロトコルの変更や物理的なアクセス方法の変更など、デバイスにアクセスする方式が変更されると、開発工数の増大や操作性の変化などから既存のスキャナドライバを拡張して開発できない場合がある。
【００１０】
このため、既存のスキャナドライバとは全く別の新たなスキャナドライバを開発することとなり、ユーザが利用したいデバイスを選択する場合、既存のスキャナドライバを選べば良いのか、新たなスキャナドライバを選べば良いのかを事前に知っていなければならず、先に述べた特許文献１と同様の問題が発生する。
【００１１】
そこで、本発明では、ユーザの操作性に影響を与えることなく、複数のスキャナドライバの機能を一つのスキャナドライバを通じて操作できるスキャナドライバを提供し、使い勝手を向上させることが可能なスキャナドライバ、及びスキャナドライバ連携装置を提供することを目的とする。
【課題を解決するための手段】
【００１２】
本発明に係るスキャナドライバは、画像を処理するアプリケーションから受信したコマンドを画像読み取り機能を備えたデバイスを用いて処理するための処理をコンピュータに実行させるスキャナドライバであって、前記コンピュータに備えられているスキャナドライバの何れかでサポートするデバイスの中から画像の読み取り時に使用する読み取りデバイスを設定する第１のデバイス設定手段と、前記読み取りデバイスが自ドライバでサポートするデバイスであると、前記アプリケーションから受け付けたコマンドを前記読み取りデバイスを用いて処理し、前記読み取りデバイスが他のスキャナドライバがサポートするデバイスであると、前記読み取りデバイスをサポートするサポートドライバに前記コマンドを転送し、該サポートドライバからコマンドの処理結果を受信することによってコマンドの処理を行うコマンド処理手段と、前記コマンドの処理結果を前記アプリケーションに送信する処理結果送信手段とをコンピュータに実行させることを特徴とする。
【００１３】
また、前記第１のデバイス設定手段は、前記スキャナドライバの何れかでサポートされるデバイスの一覧を表示し、前記読み取りデバイスの選択を受け付けることを特徴とする。
【００１４】
加えて、前記読み取りデバイスに関する情報を記憶すると共に、該読み取りデバイスを他のスキャナドライバがサポートする場合は、前記サポートドライバに関する情報を記憶する第１の記憶手段をさらにコンピュータに実行させ、前記コマンド処理手段は、前記第１の記憶手段に記憶されている情報に基づいて前記読み取りデバイスを判断し、該読み取りデバイスに応じたコマンドの処理を行うことを特徴する。
【００１５】
さらに、前記サポートドライバは、前記読み取りデバイスを設定する第２のデバイス設定手段と、前記第２のデバイス設定手段で設定された前記読み取りデバイスに関する情報を記憶する第２の記憶手段とをさらにコンピュータに実行させ、前記第１のデバイス設定手段は、前記サポートドライバでサポートするデバイスを前記読み取りデバイスとして設定すると、該読み取りデバイスに関する情報を前記第２のデバイス設定手段に送信することを特徴とする。
【００１６】
次に、本発明に係るスキャナドライバ連携装置は、画像を処理するアプリケーションと、画像読み取り機能を備えたデバイスをサポートする複数のスキャナドライバと、複数の前記スキャナドライバの中から画像読み取り時に使用する自ドライバを設定するスキャナドライバ設定手段とを備え、前記自ドライバは、前記スキャナドライバの何れかでサポートするデバイスの中から画像の読み取り時に使用する読み取りデバイスを設定する第１のデバイス設定手段と、前記読み取りデバイスが自ドライバでサポートするデバイスであると、前記アプリケーションから受け付けたコマンドを前記読み取りデバイスを用いて処理し、前記読み取りデバイスが他のスキャナドライバがサポートするデバイスであると、前記読み取りデバイスをサポートするサポートドライバに前記コマンドを転送し、該サポートドライバからコマンドの処理結果を受信することによってコマンドの処理を行うコマンド処理手段と、前記コマンドの処理結果を前記アプリケーションに送信する処理結果送信手段とを具備することを特徴とする。
【００１７】
また、前記第１のデバイス設定手段は、前記スキャナドライバの何れかでサポートされるデバイスの一覧を表示し、前記読み取りデバイスの選択を受け付けることを特徴とする。
【００１８】
加えて、前記自ドライバは、前記読み取りデバイスに関する情報を記憶すると共に、該読み取りデバイスを他のスキャナドライバがサポートする場合は、前記サポートドライバに関する情報を記憶する第１の記憶手段をさらに具備し、前記コマンド処理手段は、前記第１の記憶手段に記憶されている情報に基づいて前記読み取りデバイスを判断し、該読み取りデバイスに応じたコマンドの処理を行うことを特徴する。
【００１９】
さらに、前記サポートドライバは、前記読み取りデバイスを設定する第２のデバイス設定手段と、前記第２のデバイス設定手段で設定された前記読み取りデバイスに関する情報を記憶する第２の記憶手段とを具備し、前記第１のデバイス設定手段は、前記サポートドライバでサポートするデバイスを前記読み取りデバイスとして設定すると、該読み取りデバイスに関する情報を前記第２のデバイス設定手段に送信することを特徴とする。
【発明の効果】
【００２０】
本発明では、ユーザの使い勝手を低下させることなく効率的にスキャナドライバを開発することができる。
【発明を実施するための最良の形態】
【００２１】
図１は、本発明おけるスキャナドライバを備えた情報処理装置（スキャナドライバ連携装置）を用いて構成した画像読み取りシステムの構成の一例を示す該略ブロック図である。
【００２２】
同図に示すように情報処理装置１０は、原稿をスキャンして読み取った画像を利用するアプリケーション１１と、スキャナやスキャナ機能を備えた複合機など、スキャナとして機能するデバイス２０(２０−１、２０−２、２０−３、２０−４、２０−５)を制御するための処理を行うスキャナドライバ１２(１２−１、１２−２、１２−３)と、アプリケーション１１でスキャナドライバ１２を利用するための処理を行うスキャンインターフェイス１３とを備えて構成され、図示しない通信インターフェイス、及びＬＡＮなどのネットワーク３０を介して各デバイス２０と接続している。
【００２３】
ここで、スキャナドライバ(１)１２−１は、デバイス(１)２０−１をサポートし、スキャナドライバ(２)１２−２は、デバイス(２)２０−２を、スキャナドライバ(３)１２−３は、デバイス(３)２０−３、デバイス(４)２０−４、及びデバイス(５)２０−５をサポートしている。
【００２４】
なお、アプリケーション１１、スキャナドライバ１２、スキャンインターフェイス１３は、情報処理装置１０にインストールされたソフトウェアなどにより実現される部分であり、各スキャナドライバは、独立してインストールやアンインストールを行なうことができる。
【００２５】
上記構成を用いて情報処理装置１０は、アプリケーション１１がスキャンインターフェイス１３にスキャナドライバ１２の選択を指示すると、スキャンインターフェイス１３は、インストール済みのスキャナドライバ１２を検出・一覧表示して、スキャナドライバの選択をユーザに促し、ユーザが選択した任意のスキャナドライバを画像読み取り時に利用するスキャナドライバ(１)１２−１として設定する。
【００２６】
また、スキャナドライバ(１)１２−１は、自ドライバがサポートしているデバイスはもとより、デバイス(２)２０−２、デバイス(３)２０−３など、他ドライバがサポートしているデバイスを一覧表示して、デバイスの選択をユーザに促し、自ドライバがサポートするデバイス(１)２０−１が選択されると、当該デバイスを記憶し、画像の読み取り時に利用するデバイスとして設定する。
【００２７】
一方、他ドライバが選択するデバイス、例えば、スキャナドライバ２がサポートするデバイス２が選択されると、スキャナドライバ２及びデバイス２を自ドライバに記憶すると共に、スキャナドライバ２に画像読み取り時に利用するデバイスとしてデバイス２を設定する。
【００２８】
そして、アプリケーション１１からスキャンインターフェイス１３に画像読み取り指示のコマンドを送信すると、スキャンインターフェイス１３は、予め設定されているスキャナドライバ(１)１２−１を起動する。
【００２９】
スキャナドライバ１は、自ドライバがサポートするデバイス(１)２０−１を画像読み取り時に利用するデバイスとして設定している場合は、アプリケーションからのコマンド(COM)を自ドライバで処理する。
【００３０】
一方、スキャナドライバ２（他ドライバ）がサポートするデバイス２を画像読み取り時に利用するスキャナドライバ、及びデバイスとして設定している場合は、通常のスキャンインターフェイスと同様の手段を使ってスキャナドライバ２を起動して、コマンド(COM)の処理を依頼し、スキャナドライバ２におけるコマンドの処理結果(RES)をスキャンインターフェイスを通じてアプリケーションに結果(RES)を通知する。
【００３１】
なお、スキャナドライバ１からスキャナドライバ２に依頼するコマンドはスキャンインターフェイスを介してアプリケーションから指示されるコマンドそのものであり、スキャナドライバ２にとっては、スキャンインターフェイスからコマンドを受け取る際の動作と同様である。
【００３２】
また、図１では、情報処理装置と各デバイスがネットワークを介して接続しているが、情報処理装置と各デバイスとの接続はネットワーク接続に限られるものではない。例えば、図２(ａ)は、特定のＰＣやサーバに１００ＢＡＳＥ−ＴなどのＬＡＮで接続されたネットワークスキャナと、ＵＳＢケーブルで接続されたスキャナが混在する例であり、ＬＡＮ、ＵＳＢ毎のスキャナドライバを提供し、後述する図３のネットワークアクセス部４８、５８を、ＵＳＢを介してデバイスにアクセスするための処理を行うＵＳＢデバイスアクセス部などに置き換えることにより、実施することができる。
【００３３】
さらに、図２(ｂ)に一例を示すように、異なるプロトコルを利用するデバイスが混在してもよく、それぞれのプロトコルに対応するスキャナドライバを提供し、後述する図３のネットワークアクセス部４８、５８をそれぞれの通信プロトコルに対応するものに置き換えることにより、実施することができる。
【００３４】
以下、本発明に係るスキャナドライバについて、実施例を用いて詳細に説明する。
【実施例１】
【００３５】
図３は、スキャナドライバの構成の一例を示す機能ブロック図である。
【００３６】
なお、同図では、スキャナドライバ(１)１２−１がアプリケーション１１で使用するスキャナドライバであるとスキャンインターフェイス１３において設定されているものとする。
【００３７】
図３に示すようにスキャナドライバ１２−１は、スキャナ選択部４０と、ＧＵＩ(Graphical User Interface)提供部４１と、転送部４２と、記憶部４３と、ＡＰＩ(Application Program Interface)部４４と、コマンド処理部４５と、読み取り部４６と、画像処理部４７と、ネットワークアクセス部４８とを具備して構成されている。
【００３８】
スキャナ選択部４０は、アプリケーション１１からの読み取り指示（コマンド）を実行するデバイス（スキャナ）を選択するための処理を行う。具体的には、例えば、アプリケーション１１からの読み取り指示（コマンド）を受け付けると、記憶部４３に記憶されているスキャナ情報を検索し、該スキャナ情報に基づいてデバイスを選択する。この際、他のスキャナドライバに対応するデバイスが選択されると、該デバイスに対応するスキャナドライバを起動させ、アプリケーションから受け付けたコマンドを送信する。また、記憶部４３にスキャナ情報が記憶されていない場合は、情報処理装置にＧＵＩを表示し、ユーザによるデバイス（スキャナ）の選択を受け付ける。
【００３９】
ＧＵＩ提供部４１は、デバイスの選択を受け付けるためのインターフェイスをユーザに提供するための処理を行う。具体的には、例えば、自らのスキャナドライバで対応可能なデバイス、及び自らのスキャナドライバを介して連携する他のスキャナドライバで対応可能なデバイスの一覧などを表示するＧＵＩを作成する。なお、ＧＵＩは、図形を多用することなく、主に文字又は文字のみからなるものであってもよい。
【００４０】
転送部４２は、他のスキャナドライバとの間でコマンドやコマンドの処理結果を送受信するための処理を行う。
【００４１】
記憶部４３は、デバイスに関する情報（スキャナ情報）を記憶する。具体的には、例えば、スキャナ選択部４０で選択されたデバイスや該デバイスに対応するスキャナドライバ（サポートドライバ）などに関する情報（スキャナ情報）を記憶する。
【００４２】
ＡＰＩ部４４は、自らのスキャナドライバで対応可能なデバイスの検索、利用するデバイスの設定、設定されているデバイスの解除など、所定の処理を行う。具体的には、例えば、ＧＵＩ提供部４１からデバイスの検索が指示されると、対応可能なデバイスを検索し、検索結果を通知する。また、ＧＵＩ提供部４１からデバイスの設定が指示されると、記憶部４３にスキャナ情報を書き込み、設定解除が指示されると記憶部４３からスキャナ情報を削除する。
【００４３】
コマンド処理部４５は、アプリケーションから受け付けた読み取り指示（コマンド）を実行するための処理を行う。
【００４４】
読み取り部４６は、デバイス２０−１で画像の読み取りを行うための処理を行う。
【００４５】
画像処理部４７は、原稿から読み取った画像を適切なファイル形式に変換するなどの処理を行う。
【００４６】
ネットワークアクセス部４８は、ネットワークを介してデバイス２０−１とアクセスするための処理を行う。
【００４７】
次に、スキャナドライバ１２−２は、スキャナ選択部５０と、ＧＵＩ提供部５１と、転送部５２と、記憶部５３と、ＡＰＩ部５４と、コマンド処理部５５と、読み取り部５６と、画像処理部５７と、ネットワークアクセス部５８とを具備して構成されている。
【００４８】
なお、スキャナ選択部５０、ＧＵＩ提供部５１、転送部５２、記憶部５３、ＡＰＩ部５４、コマンド処理部５５、読み取り部５６、画像処理部５７、ネットワークアクセス部５８は、それぞれ、スキャナ選択部４０、ＧＵＩ提供部４１、転送部４２、記憶部４３、ＡＰＩ部４４、コマンド処理部４５、読み取り部４６、画像処理部４７、ネットワークアクセス部４８に対応するものであり、その詳細な説明を省略する。
【００４９】
そして、スキャナドライバ(１)１２−１とスキャナドライバ(２)１２−２は、それぞれ独立して動作することが可能なスキャナドライバであり、互いに異なるデバイス２０−１、２０−２を制御するための処理（サポート）を行う。
【００５０】
図４は、アプリケーション１１で利用するデバイス２０を設定する際のスキャナドライバにおける処理の流れの一例を示すフローチャートである。
【００５１】
まず、スキャナドライバ(１)１２−１のスキャナ選択部４０は、例えば、画像の読み取りを指示するＧＵＩ（図５参照）を表示し、「スキャナ変更」ボタンがマウスポインタでクリックされるなどして、アプリケーション１１で利用するデバイス２０の設定変更（設定要求）を受け付ける（ステップ１００）と、デバイスの設定を開始し、自ドライバがサポートするデバイスをＡＰＩ部４４で検索し、ＧＵＩ提供部４１に通知する（ステップ１０１）。
【００５２】
ＧＵＩ提供部４１は、連携する（自ドライバがコマンドなどを中継する）他のスキャナドライバがあるか否かの判断を行い（ステップ１０２）、連携する他のドライバがないと判断する（ステップ１０２でＮＯ）と、自ドライバでサポートするデバイスを一覧表示するためのＧＵＩを作成し、情報処理装置のディスプレイなどに表示するための処理を行う（ステップ１０３）。
【００５３】
一方、ステップ１０２で、連携する他のスキャナドライバ（以下、「スキャナドライバ２」という）があると判断する（ステップ１０２でＹＥＳ）と、スキャナドライバ２のＡＰＩ部５４に当該スキャナドライバでサポート可能なデバイスの通知を要求する（ステップ１０４）。
【００５４】
スキャナドライバ２のＡＰＩ部５４は、自ドライバがサポートするデバイスを検索し（ステップ１０５）、スキャナドライバ１のＧＵＩ提供部４１に検索結果を通知する（ステップ１０６）。
【００５５】
ＧＵＩ提供部４１は、自ドライバ、及びスキャナドライバ２（他ドライバ）でサポートするデバイスを一覧表示するためのＧＵＩを作成し、情報処理装置のディスプレイなどに表示するための処理を行う（ステップ１０３）。
【００５６】
ここで、デバイス（デバイス１又は２）が選択されると、スキャナ選択部４０は、選択されたデバイスのスキャナ情報（スキャナの識別情報、スキャナをサポートするスキャナドライバに関する情報など）を記憶部４３に記憶して、当該デバイスを画像読み取り時に使用するデバイスとして設定する（ステップ１０７）。
【００５７】
そして、設定されたデバイスがスキャナドライバ１（自ドライバ）でサポートするデバイス（デバイス１）である場合は（ステップ１０８でＹＥＳ）、デバイスの設定を終了する。
【００５８】
一方、設定されたデバイスがスキャナドライバ２（他ドライバ）でサポートするデバイス（デバイス２）である場合は（ステップ１０８でＮＯ）、デバイスの設定要求をスキャナドライバ２に送信して（ステップ１１０）、スキャナドライバ１におけるデバイスの設定を終了し（ステップ１０９）、スキャナドライバ１からデバイスの設定要求が送信されたスキャナドライバ２のＡＰＩ部５４は、設定が要求されたデバイスのスキャナ情報を記憶部５３に記憶して、当該デバイス（デバイス２）を画像読み取り時に使用するデバイスとして設定する（ステップ２１１）。
【００５９】
図６は、原稿をデバイスでスキャンして画像の読み取りを行う際のスキャナドライバにおける処理の流れの一例を示すフローチャートである。
【００６０】
まず、アプリケーション１１から送信された画像の読み取り指示（コマンド）をスキャナドライバ１のスキャナ選択部４０で受け付ける（ステップ２００）と、スキャナ選択部４０は、記憶部４３からスキャナ情報を読み出し、画像読み取り時に使用するデバイスが設定されているか否かの判断を行う（ステップ２０１）。
【００６１】
そして、デバイスが設定されていると判断する（ステップ２０１でＹＥＳ）と、当該デバイスを自ドライバ（スキャナドライバ１）でサポートしているか否かの判断を行う（ステップ２０２）。
【００６２】
また、ステップ２０１で、デバイスが設定されていないと判断する（ステップ２０１でＮＯ）と、デバイスの設定を開始し、自ドライバがサポートするデバイスをＡＰＩ部４４で検索し、ＧＵＩ提供部４１に通知する（ステップ２０３）。
【００６３】
ここで、ＧＵＩ提供部４１は、連携する（自ドライバがコマンドなどを中継する）他のスキャナドライバがあるか否かの判断を行い（ステップ２０４）、連携する他のドライバがないと判断する（ステップ２０４でＮＯ）と、自ドライバでサポートするデバイスを一覧表示するためのＧＵＩを作成し、情報処理装置のディスプレイなどに表示するための処理を行う（ステップ２０５）。
【００６４】
一方、ステップ２０４で、連携する他のスキャナドライバ（以下、「スキャナドライバ２」という）があると判断する（ステップ２０４でＹＥＳ）と、スキャナドライバ２のＡＰＩ部５４に当該スキャナドライバでサポート可能なデバイスの通知を要求する（ステップ２０６）。
【００６５】
スキャナドライバ２のＡＰＩ部５４は、自ドライバがサポートするデバイスを検索し（ステップ２０７）、スキャナドライバ１のＧＵＩ提供部４１に検索結果を通知する（ステップ２０８）。
【００６６】
ＧＵＩ提供部４１は、自ドライバ、及びスキャナドライバ２（他ドライバ）でサポートするデバイスを一覧表示するためのＧＵＩを作成し、情報処理装置のディスプレイなどに表示するための処理を行う（ステップ２０５）。
【００６７】
ここで、デバイス（デバイス１又は２）が選択されると、スキャナ選択部４０は、選択されたデバイスのスキャナ情報（スキャナの識別情報、スキャナをサポートするスキャナドライバに関する情報など）を記憶部４３に記憶して、当該デバイスを画像読み取り時に使用するデバイスとして設定する（ステップ２０９）。
【００６８】
そして、設定されたデバイスがスキャナドライバ１（自ドライバ）でサポートするデバイス（デバイス１）である場合は（ステップ２１０でＹＥＳ）、デバイスの設定を終了し、設定されたデバイスがスキャナドライバ２（他ドライバ）でサポートするデバイス（デバイス２）である場合は（ステップ２１０でＮＯ）、デバイスの設定要求をスキャナドライバ２に送信して（ステップ２１１）、デバイスの設定を終了する。
【００６９】
また、スキャナドライバ１からデバイスの設定要求が送信される（ステップ２１１）と、デバイスの設定要求を受信したスキャナドライバ２のＡＰＩ部５４は、設定が要求されたデバイスのスキャナ情報を記憶部５３に記憶して、当該デバイス（デバイス２）を画像読み取り時に使用するデバイスとして設定する（ステップ２１２）。
【００７０】
そして、自ドライバ（スキャナドライバ１）でサポートするデバイス（デバイス１）が記憶部４３に設定されている（ステップ２０２でＹＥＳ）と、コマンド処理部４５は、読み取り部４６、画像処理部４７、ネットワークアクセス部４８を用いて、デバイス(１)２０−１でコマンド（画像読み取り指示）を実行するための処理を行い（ステップ２１３）、コマンドの処理結果（画像データ）をスキャナ選択部４０を介してアプリケーション１１に送信する（ステップ２１４）。
【００７１】
一方、他ドライバ（スキャナドライバ２）でサポートするデバイス（デバイス２）が記憶部４３に設定されている（ステップ２０２でＮＯ）と、スキャナ選択部４０は、スキャナドライバ２を起動させると共に、アプリケーション１１からのコマンドをスキャナドライバ２のスキャナ選択部５０に転送する（ステップ２１５）。
【００７２】
スキャナ選択部５０は、記憶部５３に設定されているデバイス（デバイス２）を画像の読み取りに使用するデバイスとして選択し、コマンド処理部５５は、読み取り部５６、画像処理部５７、ネットワークアクセス部５８を用いて、デバイス(２)２０−２でコマンドを実行するための処理を行い（ステップ２１６）、コマンドの処理結果をスキャナ選択部５０を介してスキャナドライバ１のスキャナ選択部４０に送信する（ステップ２１７）。
【００７３】
そして、スキャナドライバ選択４０は、スキャナドライバ２におけるコマンドの処理結果をアプリケーション１１に送信する（ステップ２１４）。
【００７４】
このように本実施例では、単独で動作可能な複数のスキャナドライバが互いに連携し、画像の読み取りを行うデバイスをサポートしていないスキャナデバイスがアプリケーションから画像の読み取りを指示するコマンドを受信しても、当該デバイスをサポートするスキャナドライバにコマンドを転送し、処理を依頼するため、複数のスキャナドライバの機能を一つのスキャナドライバを通じて利用することができる。
【００７５】
また、ユーザは、互いに連携するスキャナドライバの何れかでサポートするデバイスであれば、何れのスキャナドライバを画像の読み取り時に使用するスキャナドライバとして設定しているかを意識することなく利用することが可能であり、ユーザの操作性や利便性を向上させることができる。
【００７６】
さらに従来は、スキャナドライバを選択した後、当該スキャナドライバがサポートするデバイスの中から画像の読み取りに利用するデバイスをユーザは選択しなければならなかった（図７(ａ)及び(ｂ)参照）が、本発明では、スキャナドライバを選択した後にも、選択したスキャナドライバ、及び当該スキャナドライバと連携するスキャナドライバの何れかでサポートするデバイスの中から画像の読み取りに利用するデバイスを選択することが可能であり（図７(ｃ)参照）、デバイスの選択に際しても、ユーザの操作性や利便性を向上させることができる。
【図面の簡単な説明】
【００７７】
【図１】本発明おけるスキャナドライバを備えた情報処理装置を用いて構成した画像読み取りシステムの構成の一例を示す該略ブロック図である。
【図２】情報処理装置と各デバイスとの接続方法の一例を示す該略ブロック図である。
【図３】スキャナドライバの構成の一例を示す機能ブロック図である。
【図４】デバイス設定時のスキャナドライバにおける処理の流れの一例を示すフローチャートである。
【図５】画像の読み取りを指示する際のアプリケーションにおけるＧＵＩの一例を示す図である。
【図６】画像読み取り時のスキャナドライバにおける処理の流れの一例を示すフローチャートである。
【図７】デバイスを選択する際のＧＵＩの一例を示す図である。
【図８】デバイス（スキャナ）とスキャナドライバとの関係を示す図である。
【符号の説明】
【００７８】
１０…情報処理装置
１１…アプリケーション
１２…スキャナドライバ
１３…スキャンインターフェイス
２０…デバイス
３０…ネットワーク
４０、５０…スキャナ選択部
４１、５１…ＧＵＩ提供部
４２、５２…転送部
４３、５３…記憶部
４４、５４…ＡＰＩ部
４５、５５…コマンド処理部
４６、５６…読み取り部
４７、５７…画像処理部
４８、５８…ネットワークアクセス部
【図１】
2008098994.tif 000003
【図２】
2008098994.tif 000004
【図３】
2008098994.tif 000005
【図４】
2008098994.tif 000006
【図５】
2008098994.tif 000007
【図６】
2008098994.tif 000008
【図７】
2008098994.tif 000009
【図８】
2008098994.tif 000010