(57)【要約】【課題】既存の情報読取装置を改造することなく、既存の情報読取装置に対して別の情報読取装置を接続することができると共に、各情報読取装置をそれぞれ独立して利用したり、あるいは１つの情報読取ユニットとして利用したりすることができる情報読取装置及び画像読取装置を提供する。【解決手段】情報処理装置（ＰＣ４０）に接続されると共に読取領域（ガラス１１）に位置するシートＤの情報を読み取る第１情報読取装置（フラットベットスキャナ１０）と、この第１情報読取装置に対して接続されると共に搬送されるシートＤの画像を読み取る第２情報読取装置（シートフィードスキャナ１）とを備えていることを特徴とする。【選択図】図５
2011055167.tif 000002
【特許請求の範囲】
【請求項１】
情報処理装置に接続されると共にシートの情報を読み取る第１情報読取装置と、
前記第１情報読取装置に接続されると共にシートの情報を読み取る第２情報読取装置とを備え、
前記情報処理装置は、前記第１情報読取装置を制御する第１ドライバと、前記第２情報読取装置を制御する第２ドライバとを含む制御プログラムを有し、
前記制御プログラムは、前記第１ドライバと前記第２ドライバとをそれぞれ起動するプログラムを有すると共に、前記第１ドライバと前記第２ドライバとの起動状態において、前記第１情報読取装置で読み取る第１読取情報と、前記第２情報読取装置で読み取る第２読取情報とを結合するプログラムを有することを特徴とする情報読取装置。
【請求項２】
前記制御プログラムは、前記第１読取情報を前記第１ドライバから受け取り、前記第２読取情報を前記第２ドライバから前記第１ドライバを経由して受け取るように構成されていることを特徴とする請求項１記載の情報読取装置。
【請求項３】
前記制御プログラムは、前記第１ドライバ又は前記第２ドライバからの情報を受け取るアプリケーションプログラムを有し、
前記第２ドライバは、前記第２情報読取装置からの前記第２読取情報を前記第１ドライバへ受け渡す手段として前記情報処理装置を機能させ、
前記第１ドライバは、前記第２ドライバから受け渡される前記第２読取情報を前記アプリケーションプログラムへ受け渡す手段として前記情報処理装置を機能させることを特徴とする請求項１又は２に記載の情報読取装置。
【請求項４】
前記第１ドライバと前記第２ドライバとは、前記情報読取装置への接続判定をした後に、起動されることを特徴とする請求項１〜３の何れか１項に記載の情報読取装置。
【請求項５】
前記第１ドライバ及び前記第２ドライバの何れか一方を起動した後に他方のドライバを起動することを特徴とする請求項１〜４の何れか１項に記載の情報読取装置。
【請求項６】
前記第１ドライバと前記第２ドライバとは、前記第１ドライバ又は前記第２ドライバからの情報を受け取るアプリケーションプログラムの起動に伴って起動されることを特徴とする請求項１〜４の何れか１項に記載の情報読取装置。
【請求項７】
前記アプリケーションプログラムは、前記第１読取情報と前記第２読取情報との結合処理を実行するものであることを特徴とする請求項６記載の情報読取装置。
【請求項８】
前記第１情報読取装置と前記第２情報読取装置とをそれぞれ別々の装置として備えていることを特徴とする請求項１〜７の何れか１項に記載の情報読取装置。
【請求項９】
前記第１情報読取装置及び前記第２情報読取装置は、別系統の電力供給に基づいて駆動するものであることを特徴とする請求項１〜８の何れか１項に記載の情報読取装置。
【請求項１０】
前記第１情報読取装置と前記第２情報読取装置とをそれぞれ種類の異なる装置として備えていることを特徴とする請求項１〜９の何れか１項に記載の情報読取装置。
【請求項１１】
前記第１情報読取装置は、前記情報処理装置と前記第２情報読取装置とがそれぞれ接続可能な複数の接続部を有すると共に読取領域に位置するシートの情報を読み取る第１情報読取手段を有することを特徴とする請求項１〜１０の何れか１項に記載の情報読取装置。
【請求項１２】
前記第２情報読取装置は、シートを搬送する搬送手段と、搬送されるシートの情報を読み取る第２情報読取手段とを備えていることを特徴とする請求項１〜１１の何れか１項に記載の情報読取装置。
【請求項１３】
前記第１情報読取装置及び前記第２情報読取装置は、前記第１情報読取装置に接続される前記情報処理装置での操作に基づいて、前記第１情報読取装置及び前記第２情報読取装置における読取動作の制御が可能であることを特徴とする請求項１〜１２の何れか１項に記載の情報読取装置。
【請求項１４】
前記情報処理装置からの前記第２情報読取装置への読取指示は、前記第１情報読取装置を経由して前記第２情報読取装置に伝達されることを特徴とする請求項１〜１３の何れか１項に記載の情報読取装置。
【請求項１５】
前記第２情報読取装置で読み取られる第２読取情報は、前記第１情報読取装置を経由して前記情報処理装置に送信されることを特徴とする請求項１〜１４の何れか１項に記載の情報読取装置。
【請求項１６】
前記情報処理装置からの前記第１情報読取装置への読取指示は、前記第１情報読取装置に対して直接伝達されることを特徴とする請求項１〜１５の何れか１項に記載の情報読取装置。
【請求項１７】
請求項１〜１６の何れか１項に記載の情報読取装置がシートの画像を読み取るものであることを特徴とする画像読取装置。
【請求項１８】
シートの情報を読み取る第１情報読取装置が接続可能であると共に、前記第１情報読取装置にはシートの情報を読み取る第２情報読取装置が接続可能であり、
前記第１情報読取装置を制御する第１ドライバと、前記第２情報読取装置を制御する第２ドライバとを含む制御プログラムを有し、
前記制御プログラムは、
前記第１ドライバと前記第２ドライバとがそれぞれ起動するプログラムと、
前記第２情報読取装置が前記第１情報読取装置を介して接続状態であって且つ前記第１ドライバと前記第２ドライバとの起動状態において、前記第１情報読取装置で読み取る第１読取情報と、前記第２情報読取装置で読み取る第２読取情報とを結合するプログラムとを有することを特徴とする情報処理装置。
【請求項１９】
情報処理装置と、
前記情報処理装置に接続されると共にシートの情報を読み取る第１情報読取装置と、
前記第１情報読取装置に接続されると共にシートの情報を読み取る第２情報読取装置とを備え、
前記情報処理装置は、前記第１情報読取装置を制御する第１ドライバと、前記第２情報読取装置を制御する第２ドライバとを含む制御プログラムを有し、
前記制御プログラムは、前記第１ドライバと前記第２ドライバとをそれぞれ起動するプログラムを有すると共に、前記第１ドライバと前記第２ドライバとの起動状態において、前記第１情報読取装置で読み取る第１読取情報と、前記第２情報読取装置で読み取る第２読取情報とを結合するプログラムを有することを特徴とする情報読取システム。
【請求項２０】
情報処理装置に接続されると共にシートの情報を読み取る第１情報読取装置を制御する第１ドライバと、前記第１情報読取装置に接続されると共にシートの情報を読み取る第２情報読取装置を制御する第２ドライバとを含む制御プログラムを有し、
前記制御プログラムは、前記第１ドライバと前記第２ドライバとをそれぞれ起動して前記第１情報読取装置と前記第２情報読取装置とを制御可能状態とするよう情報処理装置を機能させると共に、前記第１ドライバと前記第２ドライバとの起動状態において、前記第１情報読取装置で読み取る第１読取情報と、前記第２情報読取装置で読み取る第２読取情報との結合処理を実行するよう前記情報処理装置を機能させることを特徴とする情報読取処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えば、原稿等のシートの情報を読み取る情報読取装置、画像読取装置、情報処理装置、及び情報読取システム、並びに情報読取処理プログラムに関する。
【背景技術】
【０００２】
一般に、情報読取装置の１つである画像読取装置（以下スキャナ）には、シートフィード機能を有するシートフィードスキャナと、フラットベッドスキャナと、シートフィード機能とフラットベッド機能が一体になったスキャナ（以下複合スキャナ）との３種類が存在する。これらは用途に応じて使い分けられている。例えば大量に文書をスキャンしたいときは、シートフィードスキャナが適している。本をスキャンしたいときはフラットベッドスキャナが適している。そして、複合スキャナはその両方の用途を兼ね備えている。
【０００３】
複合スキャナはシートフィード機能とフラットベッド機能が一体になっているため各種の用途に使用可能であるが、複合スキャナのサイズは一般的に大きく、可搬性に乏しい。よって、可搬性も望んでいるユーザーにとって、複合スキャナは不向きである。そこで、可搬性を望むユーザーはフラットベッドスキャナとシートフィードスキャナとをそれぞれ購入し、用途に応じてこれらを使い分けている。また、これらのスキャナは比較的に小さいため、使わないときはスキャナを机上から片付けることができる。
【０００４】
ところで、スキャナは一般的にＵＳＢ（ユニバーサル・シリアル・バス）などの接続インターフェースを介してパーソナルコンピュータ（ＰＣ）と接続されて使用される。スキャナは、スキャナドライバと呼ばれる、アプリケーションとスキャナの仲介を行うプログラムモジュールによって制御される。スキャナが読み取った画像は、スキャナドライバを介してアプリケーションプログラム（以下アプリケーション）に渡され、アプリケーションがその画像を表示したり、保存したりする。
【０００５】
フラットベッドスキャナとシートフィードスキャナとを購入した場合、ユーザーはフラットベッドスキャナ用ドライバ（以下フラットベッドドライバ）とシートフィードスキャナ用ドライバ（以下シートフィードドライバ）とをそれぞれＰＣにインストールしなければならない。さらに、ユーザーは、アプリケーションを実行している最中に、使用するスキャナに対応したスキャナドライバを選択しなければならない。スキャナドライバが選択されると、アプリケーションは、これまで選択されていたスキャナドライバをメモリからアンロードし、新しく選択されたスキャナドライバをメモリにロードし、ロードしたスキャナドライバを通じてスキャナを初期化する必要がある。これらの処理は一般的に時間がかかる処理である。そのため、ユーザーは使用するスキャナを切り替えるたびに、ストレスを感じてしまうかもしれない。
【０００６】
この課題を解決するために、特許文献１では、シートフィードスキャナにプラテンスキャナ（フラットベッドスキャナ）を接続できる構成にし、フラットベッドスキャナが読取った画像は、シートフィードスキャナ内で画像処理される。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００３−２３４８６４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
上述の特許文献１に記載のスキャナシステムでは、シートフィードスキャナとフラットベッドスキャナとは専用のプラテンインタフェースによって接続されており、シートフィードスキャナがフラットベッドスキャナを制御する構成を採用している。
【０００９】
したがって、特許文献１に記載のスキャナシステムでは、予めシートフィードスキャナにプラテンスキャナ専用のインターフェースが必要である。すなわち、シートフォードスキャナにプラテンスキャナ用のインターフェースがない場合は、当然のことながら、プラテンスキャナを使用することができない構成となっている。
【００１０】
また、特許文献１記載のフラットベッドスキャナは、シートフィードスキャナがなければ機能しない構成となっている。すなわち、フラットベッドスキャナは、シートフィードスキャナに完全に依存しており（特許文献１、段落［００３１］等）、単独でＰＣに接続して使用することができない。
【００１１】
したがって、特許文献１記載のスキャナシステムでは、様々な機能がシートフィードスキャナに集中して設けられており、当該シートフィードスキャナを導入しなければフラットベットスキャナを追加利用することができず、非常に使い勝手が悪いという問題がある。また、既存のシートフィードスキャナにフラットベットスキャナを追加接続するには、既存のシートフィードスキャナの改造等が必要となり、このことが、ユーザーにとっては、既存のシートフィードスキャナに対するフラットベットスキャナの追加利用の妨げとなっている。
【００１２】
なお、上述した問題は、情報処理装置により複数の情報読取装置を利用する場合においても同様に発生するおそれがある。
【００１３】
そこで、本発明は、上述した事情に鑑み、複数の情報読取装置を接続することができると共に、各情報読取装置をそれぞれ独立して利用したり、あるいは１つの情報読取ユニットとして利用したりすることができ、ユーザーの利便性に優れた情報読取装置、画像読取装置、情報処理装置、及び情報読取システム、並びに情報読取処理プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１４】
上記目的を達成するための本発明の情報読取装置は、情報処理装置に接続されると共にシートの情報を読み取る第１情報読取装置と、前記第１情報読取装置に接続されると共にシートの情報を読み取る第２情報読取装置とを備え、前記情報処理装置は、前記第１情報読取装置を制御する第１ドライバと、前記第２情報読取装置を制御する第２ドライバとを含む制御プログラムを有し、前記制御プログラムは、前記第１ドライバと前記第２ドライバとをそれぞれ起動するプログラムを有すると共に、前記第１ドライバと前記第２ドライバとの起動状態において、前記第１情報読取装置で読み取る第１読取情報と、前記第２情報読取装置で読み取る第２読取情報とを結合するプログラムを有することを特徴とする。
また、上記目的を達成するための本発明の画像読取装置は、上記の情報読取装置がシートの画像を読み取るものであることを特徴とする。
さらに、上記目的を達成するための本発明の情報処理装置は、シートの情報を読み取る第１情報読取装置が接続可能であると共に、前記第１情報読取装置にはシートの情報を読み取る第２情報読取装置が接続可能であり、前記第１情報読取装置を制御する第１ドライバと、前記第２情報読取装置を制御する第２ドライバとを含む制御プログラムを有し、前記制御プログラムは、前記第１ドライバと前記第２ドライバとをそれぞれ起動するプログラムと、前記第２情報読取装置が前記第１情報読取装置を介して接続状態であって且つ前記第１ドライバと前記第２ドライバとの起動状態において、前記第１情報読取装置で読み取る第１読取情報と、前記第２情報読取装置で読み取る第２読取情報とを結合するプログラムとを有することを特徴とする。
また、上記目的を達成するための本発明の情報読取システムは、情報処理装置と、前記情報処理装置に接続されると共にシートの情報を読み取る第１情報読取装置と、前記第１情報読取装置に接続されると共にシートの情報を読み取る第２情報読取装置とを備え、前記情報処理装置は、前記第１情報読取装置を制御する第１ドライバと、前記第２情報読取装置を制御する第２ドライバとを含む制御プログラムを有し、前記制御プログラムは、前記第１ドライバと前記第２ドライバとをそれぞれ起動するプログラムを有すると共に、前記第１ドライバと前記第２ドライバとの起動状態において、前記第１情報読取装置で読み取る第１読取情報と、前記第２情報読取装置で読み取る第２読取情報とを結合するプログラムを有することを特徴とする。
上記目的を達成するための本発明の情報読取処理プログラムは、情報処理装置に接続されると共にシートの情報を読み取る第１情報読取装置を制御する第１ドライバと、前記第１情報読取装置に接続されると共にシートの情報を読み取る第２情報読取装置を制御する第２ドライバとを含む制御プログラムを有し、前記制御プログラムは、前記第１ドライバと前記第２ドライバとをそれぞれ起動して前記第１情報読取装置と前記第２情報読取装置とを制御可能状態とするよう情報処理装置を機能させると共に、前記第１ドライバと前記第２ドライバとの起動状態において、前記第１情報読取装置で読み取る第１読取情報と、前記第２情報読取装置で読み取る第２読取情報との結合処理を実行するよう前記情報処理装置を機能させることを特徴とする。
【発明の効果】
【００１５】
本発明は、複数の情報読取装置を接続することができると共に、各情報読取装置をそれぞれ独立して利用したり、あるいは１つの情報読取ユニットとして利用したりすることができ、優れたユーザー利便性を発揮するという効果を奏する。
【図面の簡単な説明】
【００１６】
【図１】シートフィードスキャナの構成を示す図。
【図２】フラットベッドスキャナの構成を示す図。
【図３Ａ】シートフィードスキャナの電気回路の概略構成を示すブロック図。
【図３Ｂ】フラットベッドスキャナの電気回路の概略構成を示すブロック図。
【図３Ｃ】ＰＣの電気回路の概略構成を示すブロック図。
【図４】ＰＣ上のアプリケーションとスキャナドライバの構成を示す図。
【図５】シートフィードスキャナとフラットベッドスキャナとをＰＣに同時接続した図。
【図６】ＰＣに複数のスキャナドライバの構成を示す図。
【図７】フラットベッドドライバのロード処理を示したフローチャート図。
【図８】フラットベッドドライバが表示するユーザーインターフェース図。
【図９】白紙検知機能のＯＮ／ＯＦＦを設定するための設定ダイアログ図。
【図１０】自動読取方法の一例を示したフローチャート図。
【図１１】共通のユーザーインターフェースの一例を示した図。
【図１２】スキャナ選択用ダイアログの一例を示した図。
【図１３】ユーザーインターフェースの他の例を示した図。
【図１４】画像読取手順を示すフローチャート図。
【図１５】他の画像読取手順を示すフローチャート図。
【図１６】他の画像読取手順を示すフローチャート図。
【図１７】画像処理部の搭載位置を説明するためのす図。
【図１８】実施形態３の情報読取装置の一例である他の画像読取装置を示す概略構成図。
【図１９】実施形態３の情報読取装置の一例である他の画像読取装置を示す概略構成図。
【図２０】実施形態４の情報読取装置の一例である他の画像読取装置を示す概略構成図。
【図２１】実施形態４の情報読取装置の一例である他の画像読取装置を示す概略構成図。
【図２２】実施形態４の情報読取装置の一例である他の画像読取装置を示す概略構成図。
【図２３】実施形態４の情報読取装置の一例である他の画像読取装置を示す概略構成図。
【発明を実施するための形態】
【００１７】
以下に本発明を実施の形態に基づいて詳細に説明する。なお、以下で説明される個別の実施形態は、本発明の上位概念、中位概念および下位概念など種々の概念を理解するために役立つであろう。また、本発明の技術的範囲は、特許請求の範囲によって確定されるのであって、以下の個別の実施形態によって限定されるわけではない。
（実施形態１）
【００１８】
以下、本実施形態では、情報読取装置の一例である画像読取装置として、それぞれ種類（例えば、読取形式等）の異なる複数の画像読取装置と、これらの画像読取装置が並列または直列に接続可能な情報処理装置とを備えた画像読取システムについて説明する。
【００１９】
なお、画像読取システムには、２種類以上の画像読取装置が少なくとも２台あればよい。すなわち、第１の読取形式の画像読取装置が１台で、第１の読取形式の画像読取装置が２台であってもよい。また、本実施形態では、異なる種類の画像読取装置に基づいて説明するが、同一の装置でもよいし、例えば、略同一の読み取り形式の読取装置であってもよいし、読取の原稿サイズ（Ａ４以下の対応機種と、Ａ３以下の対応機種等）が違う装置、スペック（性能）違いの装置、あるいは型式違いの装置等でもよく、本実施形態に限定されるものではない。
【００２０】
また、情報処理装置に対する画像読取装置の接続形態も２つの画像読取装置が直列（シーケンシャル）に接続されていれば、例えば、並列（パラレル）に情報処理装置へ接続されていてもよいし、あるいは、並列接続形態と直列接続形態とが混在していてもよい。
【００２１】
本実施形態では、画像読取装置を制御する制御プログラムのうちある画像読取装置のドライバが他の画像読取装置のドライバにとってはまるでアプリケーションプログラムであるかのように振舞うようになっている。
【００２２】
図１は、実施形態に係るシートフィードスキャナ１の構成を示す図である。シートフィードスキャナ１は、第１画像読取装置（第１情報読取装置）に接続される第２画像読取装置（第２情報読取装置）の一例である。
【００２３】
なお、シートフィードスキャナは、シートスルー型スキャナと呼ばれることもある。スキャンが開始されると、シートフィードスキャナ１は原稿検知センサ９を用いて原稿Ｄが存在するか否かを判定する。
【００２４】
原稿Ｄが存在していれば、ラインイメージセンサ５が白色の対向部材７を読取り、シートフィードスキャナ１はシェーディング補正用の補正データを生成する。生成された補正データは画素ごとにメモリに記憶される。
【００２５】
ピックアップローラ２と給送ローラ３とがシートフィードスキャナ１内に原稿Ｄの束を取り込む。分離ローラ４は束を１枚ずつの原稿に分離する。第１ローラ対８ａは、分離された原稿Ｄを副走査方向（原稿搬送方向）に搬送し、ラインイメージセンサ５は、原稿Ｄの上面に形成されている画像を主走査方向（原稿搬送方向と直交する方向）に沿って読取る。
【００２６】
シートフィードスキャナ１は、メモリから読み出した補正用のデータを用いて読取った画像にシェーディング補正を実行する。画像が読み取られた後、原稿Ｄは、第２ローラ対８ｂによって装置外部へ排出される。
【００２７】
なお、本実施形態では、シートの搬送路を略水平としたシートフィードスキャナ１を例示したが、勿論これに限定されず、例えば、給紙部と排紙部とを上下に配置し、給紙部からＵ字形状等にカーブした搬送路を介して排紙部に排出するＵターンパス型スキャナであってもよい。
【００２８】
図２は、実施形態に係るフラットベッドスキャナ１０の構成を示す図である。フラットベッドスキャナ１０は、情報処理装置に接続される第１画像読取装置の一例である。
【００２９】
操作者はフラットベッドカバー１４を開け、ガラス面１１に原稿Ｄを載置する。スキャンが開始されると、フラットベッドスキャナ１０は、ラインイメージセンサ１２で白色の対向部材１５を読取り、シェーディング補正用の補正データを生成する。生成された補正データは画素ごとにメモリに記憶される。
【００３０】
また、本実施形態では、ラインイメージセンサ１２は、移動ユニット１３によって副走査方向に移動しながら、原稿Ｄの下面に形成されている画像を主走査方向に沿って読取る。また、フラットベッドスキャナ１０は、メモリから補正データを読み出して、画像にシェーディング補正を実行する。スキャン終了後、ラインイメージセンサ１２は移動ユニット１３によって元の位置に復帰する。
【００３１】
なお、上述した本実施形態では、フラットベットカバー１４は、１枚板で説明したが、本発明は勿論これに限定されず、例えば、長手方向の略中央部で折り畳み可能な開閉蓋であってもよい。これにより、開閉蓋を開けたままで、スキャン実行をすることができ、ユーザーの利便性を更に向上することができる。
【００３２】
具体的には、開閉蓋は、原稿との当接面、すなわち、ガラス面１１に対向する側の面が略中央部で複数又は二分割されて互いに接近する方向に折り畳み可能とすることができる。これにより、開閉蓋を開閉した状態であっても、スキャナ本体側はガラス面１１上の原稿の画像を読み取り可能となる。
【００３３】
また、スキャンモードでは、プリスキャンと本スキャンとを実行し、例えば、プリスキャン時に消灯モード（光源を消灯しながらのスキャン）で読み取り、本スキャン時に点灯モード（光源を点灯しながらのスキャン）で所定の解像度で読み取りを行うようにしてもよい。プリスキャンと本スキャンとの順番は、どちらが先でも実現可能である。
【００３４】
さらに、プリスキャン時は、原稿の外側に写り込む外光の影響を読み取り、当該外光の影響を本スキャン画像から取り除くような画像処理を施すことで、フラットベットカバー１４の開状態でも高品質なスキャンを実現可能である。
【００３５】
ここで、「外光の影響を取り除く」とは、例えば、原稿台上の原稿を含む読取領域内であって原稿よりも外側の領域における外光の入射による影響（蛍光灯等での外光変化に起因する影響）を除外することである。具体的には、原稿の外側で直接的にセンサに対して入射する外光の影響を含む部分（領域）を原稿の画像を含む読取画像から除外することを意味し、原稿の外側の領域を所定の画像に置き換えること等を含む。
【００３６】
また、ここでいう「原稿の外側」とは、原稿の外周領域だけではなく、原稿内のバインダー等の穴（パンチ穴）部分を含む。このように原稿に穴がある場合には、上述した本発明の画像処理により、穴部分での外光の影響を取り除くことができる。これにより、穴部分を特定することができ、その後の穴消し処理（例えば、穴の形状等の特徴部分を検知して穴画像を原稿の下地色（白色等）に置き換える等の処理）を確実に実行することができるという効果もある。
【００３７】
なお、プリスキャン時は、本スキャンと同一又は同程度の解像度であってもよいが、本スキャンよりも低解像度で読み取るようにすることが好ましい。これにより、読取時間を短縮することができ、高速スキャンを実現することができる。
【００３８】
図３Ａは、シートフィードスキャナ１の電気回路の概略構成を示すブロック図である。
【００３９】
Ａ／Ｄ変換部２１は、ラインイメージセンサ５の出力信号を、増幅や黒レベルクランプなどのアナログ処理を施した後、デジタルデータ（画像データ）に変換する。
【００４０】
画像処理部２２は、ラインイメージセンサ５およびＡ／Ｄ変換部２１などの制御と、Ａ／Ｄ変換部２１から出力された画像データに各種の画像処理（シェーディング補正等）を実行する。
【００４１】
画像メモリ２３は、画像データを記憶する。インターフェース部２４は、外部ホスト装置（ＰＣまたは他のスキャナ装置）と通信するためのインターフェースである。
【００４２】
インターフェース部２４は、信号ケーブル２５を介してＰＣ等の外部ホスト装置と接続されている。なお、インターフェース部２４は、無線ＬＡＮ、ワイヤレスＵＳＢ、ブルートゥースなどの無線インターフェースであってもよい。また、インターフェース部２４は、ＵＳＢインターフェース、有線ＬＡＮインターフェースなど、有線インターフェースであってもよい。ここでは、説明をわかりやすくするために、インターフェース部２４は、ＵＳＢハブ機能を備えたＵＳＢインターフェースであるものと仮定する。
【００４３】
ＣＰＵ２６は、シートフィードスキャナ１の制御を司る制御部である。画像処理部２２とＣＰＵ２６とは、バス２７を介して接続されている。ＣＰＵ２６は画像処理部２２を介して画像メモリ２３にアクセスする。
【００４４】
駆動部２９は、ピックアップローラ２、給送ローラ３、分離ローラ４、ローラ対８ａ、８ｂを駆動するためのモータである。モータドライバ２８は、ＣＰＵ２６からの指示に基づいて駆動部２９を制御する制御回路である。
【００４５】
図３Ｂは、フラットベッドスキャナ１０の電気回路の概略構成を示すブロック図である。
【００４６】
Ａ／Ｄ変換部３１は、ラインイメージセンサ１２の出力信号を、増幅や黒レベルクランプなどのアナログ処理を施した後、デジタルデータ（画像データ）に変換する。
【００４７】
画像処理部３２は、ラインイメージセンサ１２およびＡ／Ｄ変換部３１などの制御と、Ａ／Ｄ変換部３１から出力された画像データに各種の画像処理（シェーディング補正等）を実行する。
【００４８】
画像メモリ３３は、画像データを記憶する。インターフェース部３４は、外部ホスト装置（ＰＣまたは他のスキャナ装置）と通信するためのインターフェースである。
【００４９】
インターフェース部３４は、信号ケーブル３５を介してＰＣ等の外部ホスト装置と接続されている。なお、インターフェース部３４は、無線ＬＡＮ、ワイヤレスＵＳＢ、ブルートゥースなどの無線インターフェースであってもよい。
【００５０】
また、インターフェース部３４は、ＵＳＢインターフェース、有線ＬＡＮインターフェースなど、有線インターフェースであってもよい。ここでは、説明をわかりやすくするために、インターフェース部３４は、ＵＳＢハブ機能を備えたＵＳＢインターフェースであるものと仮定する。
【００５１】
ＣＰＵ３６は、フラットベッドスキャナ１０の制御を司る制御部である。画像処理部３２とＣＰＵ３６とは、バス３７を介して接続されている。ＣＰＵ３６は画像処理部３２を介して画像メモリ３３にアクセスする。
【００５２】
駆動部３９は、移動ユニット１３を駆動するためのモータである。モータドライバ３８は、ＣＰＵ３６からの指示に基づいて駆動部３９を制御する制御回路である。
【００５３】
図３Ｃは、実施形態に係るＰＣ４０の電気回路の概略構成を示すブロック図である。
【００５４】
ＣＰＵ４６は、コンピュータプログラムに基づいて、コンピュータの各ユニットを統括的に制御する制御ユニットである。ＣＰＵ４６は、アプリケーションプログラムやスキャナドライバにしたがって、シートフィードスキャナ１やフラットベッドスキャナ１０を制御する。
【００５５】
ＲＯＭ４１は、ファームウエアなどの制御プログラムを記憶する不揮発性の記憶ユニットである。ＲＡＭ４２は、ワークエリアとして機能する揮発性の記憶ユニットである。ハードディスクドライブ（ＨＤＤ）４３は、大容量の記憶ユニットである。
【００５６】
表示装置４５は、ユーザーに対して各種情報を表示するための表示ユニットである。操作部４７は、ポインティングデバイスやキーボードなどの入力ユニットである。
【００５７】
通信インターフェース４４は、ネットワーク通信カードなどの通信ユニットである。ＣＰＵ４６は、通信インターフェース４４を介してシートフィードスキャナ１やフラットベッドスキャナ１０と通信する。
【００５８】
図４は、ＰＣ４０上のアプリケーションとスキャナドライバの構成を示す図である。ここでは、シートフィードスキャナ１とフラットベッドスキャナ１０とのうちいずれか一方のみが単独でＰＣ４０に接続されているものと仮定する。
【００５９】
ユーザーは、スキャナを購入すると、アプリケーション４８とスキャナドライバ４９をＰＣのＨＤＤ４３にインストールする。アプリケーション４８は、画像編集プログラムや、アルバムプログラム、文章編集プログラムなどである。
【００６０】
なお、アプリケーション４８は、第１のドライバまたは第２のドライバと情報の入出力が可能なプログラム（制御プログラム）であり、具体的には、第１のドライバまたは第２のドライバから画像のデータを受け取るアプリケーションプログラムの一例である。
【００６１】
インストールされたアプリケーション４８は、スキャナドライバ４９を介してスキャナ１、１０を制御したり、スキャナドライバ４９から受け取った画像データに画像処理を実行したりする。よって、アプリケーション４８およびＣＰＵ４６は、第１の制御手段または第２の制御手段から画像のデータを受け取って画像処理を実行する画像処理手段として機能する。
【００６２】
アプリケーション４８とスキャナドライバ１９との間、スキャナドライバ４９とスキャナ１，１０との間は、それぞれ決められたプロトコルで通信している。本実施形態では、アプリケーション４８とスキャナドライバ４９はＴｗａｉｎ規格で決められたプロトコルで通信を行うものとする。このＴｗａｉｎ規格で決められたプロトコルは、第１のドライバまたは第２のドライバと通信するための第１のドライバインターフェースであり、アプリケーションプログラムと通信するためのアプリケーションインタフェースの一例でもある。
【００６３】
また、Ｔｗａｉｎ規格で決められたプロトコルは、画像処理手段が第１の制御手段または第２の制御手段と通信するための第１のインターフェースであり、第１の制御手段が画像処理手段と通信するための第２のインターフェースであり、第１の制御手段が第２の制御手段と通信するための第３のインターフェースであり、そして第２の制御手段が画像処理手段と通信するための第４のインターフェースの一例である。スキャナドライバ４９とスキャナ１、１０との間では、ＳＣＳＩ規格で決められたプロトコルで通信を行っているものと仮定する。
【００６４】
このように、ＳＣＳＩ規格で決められたプロトコルは、画像読取装置と通信するためのインターフェースである。ＳＣＳＩ規格で決められたプロトコルは、しかし、本発明では、これらの以外のプロトコルが採用されてもよい。なお、これらのプロトコルを介して、制御コマンドや画像データとが、スキャナ、ドライバおよびアプリケーション間で送受信されることになる。
【００６５】
図５は、シートフィードスキャナ１とフラットベッドスキャナ１０がＰＣ４０へ同時に接続されたときの図である。
【００６６】
図５（Ａ）では、ＰＣ４０にシートフィードスキャナ１とフラットベッドスキャナ１０が並列に接続されている。図５（Ｂ）では、フラットベッドスキャナ１０のインターフェース部３４がハブ機能を備えており、ＰＣ４０→フラットベッドスキャナ１０→シートフィードスキャナ１と数珠繋ぎに（シーケンシャルに）接続されている。どちらの接続状態であっても、ＰＣ４０のＣＰＵ２６は２つのスキャナが接続されているものとして認識する。インターフェース部３４がＵＳＢハブを内蔵していると考えれば、本実施形態を理解しやすいであろう。すなわち、フラットベットスキャナ１０は、ＰＣ４０とシートフィードスキャナ１との間の中継器としての役割がある。本実施形態では、フラットベットスキャナ１０には、図示しないが、ＰＣ４０との接続部（例えば、ＵＳＢ接続部）と、シートフィードスキャナ１との接続部（例えば、ＵＳＢ接続部）とがそれぞれ設けられている。したがって、シートフィードスキャナ１は、フラットベットスキャナ１０を経由してＰＣ４０に間接的に接続される。
【００６７】
図６は、ＰＣ４０に複数のスキャナドライバの構成を示す図である。通常は、図６（Ａ）に示すように、スキャナドライバとスキャナとは１対１で設けられていた。そのため、シートフィードドライバ４９ａとフラットベッドドライバ４９ｂとは完全に独立しており、両者が連携することはなかった。なお、ユーザーは、シートフィードドライバ４９ａとフラットベッドドライバ４９ｂとをＰＣ４０にそれぞれインストールし、使用するスキャナに応じて、スキャナドライバをアプリケーション４８で切り替えなければならなかった。スキャナの切り替え時に、アプリケーション４８は、切り替え前のスキャナドライバのアンロードと、切り替え後のスキャナドライバのロードおよびスキャナの初期化処理を実行する。よって、この処理時間は比較的に長い時間であった。
【００６８】
ここで、シートフィードドライバ４９ａおよびＣＰＵ４６は、第２の画像読取装置を制御するための第２の制御手段として機能する。フラットベッドドライバ４９ｂおよびＣＰＵ４６は、第１画像読取装置を制御するための第１の制御手段として機能する。
【００６９】
図６（Ｂ）は、本実施形態のスキャナドライバの構成を示している。フラットベッドドライバ４９ｂは、第１の画像読取装置を制御するための第１のドライバの一例である。
【００７０】
シートフィードドライバ４９ａは、第２の画像読取装置を制御するための第２のドライバの一例である。ＣＰＵ４６は、アプリケーション４８を起動すると、まずフラットベッドドライバ４９ｂをＲＡＭ４２へロードする。
【００７１】
さらに、ＣＰＵ４６は、フラットベッドドライバ４９ｂにしたがって、シートフィードドライバ４９ａをＲＡＭ４２へロードする。シートフィードドライバ４９ａにとって、フラットベッドドライバ４９ｂは、あたかもアプリケーション４８と同じ役割を担う。つまり、フラットベッドドライバ４９ｂは、シートフィードドライバ４９ａに対してはアプリケーション４８として振舞うよう、シートフィードドライバ４９ａと通信するためのインターフェースを内包している。
【００７２】
このインターフェースは、上述したＴｗａｉｎ規格で決められたプロトコルであり、第１のドライバが、第２のドライバが備えるアプリケーションインタフェースと通信するための第２のドライバインターフェースの一例である。
【００７３】
なお、シートフィードスキャナ１とフラットベッドスキャナ１０との切り替え（選択）は、アプリケーション４８から起動されるフラットベッドドライバ４９ｂの設定画面において実行される。
【００７４】
アプリケーションプログラム４８は、第１の画像読取装置（フラットベッドスキャナ１０）が読取った画像のデータを、第１のドライバ（以下、フラットベッドドライバ４９ｂともいう）を介して受け取る。
【００７５】
また、アプリケーションプログラム４８は、第２の画像読取装置（シートフィードスキャナ１）が読み取った画像のデータを、第１のドライバおよび第２のドライバ（以下、シートフィードドライバ４９ａともいう）を介して受け取るように構成されている。
【００７６】
以上のように、フラットベッドドライバ４９ｂとシートフィードドライバ４９ａの両方ともがアプリケーション４８が実行されている間は常にＲＡＭ４２へロードされている。
【００７７】
よって、アプリケーション４８の起動時にフラットベッドドライバ４９ｂとシートフィードドライバ４９ａとが１度だけＲＡＭ４２にロードされるだけで、アプリケーション４８の実行中は、フラットベッドドライバ４９ｂとシートフィードドライバ４９ａのアンロードやリロードは発生しない。したがって、本実施形態によれば、スキャナの切り替え速度は、従来例と比較して格段に速いといえる。
【００７８】
図７は、アプリケーション４８によって実行されるフラットベッドドライバ４９ａのロード処理を示したフローチャートである。ここでは、アプリケーション４８の起動に伴って、第１のドライバと第２のドライバとが起動するロード処理の一例を示す。
【００７９】
ステップＳ７０１で、ＰＣ４０のＣＰＵ４６は、操作部４７からのアプリケーション４８の起動指示を受信すると、ＨＤＤ４３に記憶されているアプリケーション４８をＲＡＭ４２へロードする。これにより、アプリケーション４８が起動する。
【００８０】
Ｓ７０２で、ＣＰＵ４６は、アプリケーション４８にしたがって、フラットベッドドライバ４９ｂをＲＡＭ４２へロードする。このように、第１の画像読取装置と第２の画像読取装置との両方が情報処理装置に接続されているときにアプリケーションプログラムが起動されると、アプリケーションプログラム（ＣＰＵ４６）は、第１のドライバを情報処理装置のメモリへとロードする。
【００８１】
Ｓ７０３で、ＣＰＵ４６は、フラットベッドドライバ４９ｂにしたがって、シートフィードドライバ４９ａがインストールされているかどうかを判定する。このように、ＣＰＵ４６は、第２のドライバが情報処理装置にインストールされているかどうかを判定する判定手段として機能する。
【００８２】
例えば、ＣＰＵ４６は、フラットベッドドライバ４９ｂが対応しているシートフィードドライバのリストを参照し、当該リストに掲載されているシートフィードドライバをＨＤＤ４３から検索する。あるいは、当該シートフィードドライバをＯＳ（オペレーティングシステム）が管理しているレジストリから検索する。シートフィードドライバが検索により発見されれば、シートフィードドライバはインストール済みである。この場合は、Ｓ７０４に進む。なお、シートフィードドライバがインストールされていなければ、ＣＰＵ４６は、シートフィードドライバのロード処理を終了する。
【００８３】
Ｓ７０４で、ＣＰＵ４６は、シートフィードスキャナ１がＰＣ４０と接続されているかどうかを判定する。シートフィードスキャナ１がＰＣ４０と接続されていれば、Ｓ７０５に進む。なお、シートフィードスキャナ１が接続されていなければ、ＣＰＵ４６は、シートフィードドライバのロード処理を終了する。よって、ＣＰＵ４６は、第２のドライバが情報処理装置にインストールされていないときは第２のドライバのロードを実行しないロード手段として機能する。
【００８４】
Ｓ７０５で、ＣＰＵ４６は、フラットベッドドライバ４９ｂにしたがってＨＤＤ４３からシートフィードドライバ４９ａを読出し、ＲＡＭ４２へロードする。このように、第１のドライバは第２のドライバを情報処理装置のメモリへとロードする。すなわち、ＣＰＵ４６は、第２のドライバが情報処理装置にインストールされているときは第２のドライバを情報処理装置のメモリへロードするロード手段として機能する。なお、ＣＰＵ４６は、アプリケーション４８にしたがってフラットベッドドライバ４９ｂをアンロードしたときに、シートフィードドライバ４９ａもアンロードする。
【００８５】
なお、ここで、上記の図７では、ロード処理の一例として、アプリケーション４８の起動後に、第１のドライバ（フラットベットドライバ４９ｂ）を起動させ、その後、第２のドライバ（シートフィードドライバ４９ａ）を起動する場合について説明したが、勿論これに限定されず、アプリケーションの起動に伴って両方のドライバを同時に起動させてもよいし、第２のドライバを起動後に第１のドライバを起動するようにしてもよい。何れにしても、第１のドライバと第２のドライバとが起動されるため、ユーザーは、シートフィードスキャナ１とフラットベットスキャナ１０とを即座に使用することができて非常に便利である。
【００８６】
すなわち、情報処理装置の一例であるＰＣ４０に対して複数の情報読取装置が接続可能であると共に、複数の情報読取装置のうち第１情報読取装置を制御する第１のドライバと、複数の情報読取装置のうち第１情報読取装置とは別の第２情報読取装置を制御する第２のドライバと、第１のドライバまたは第２のドライバとの間で情報の入出力（例えば、情報の受取等）を行うアプリケーションプログラムとを備え、第１のドライバ及び第２のドライバのそれぞれを起動させて、この状態をスキャン実行前の待機状態とし、その後は、第１情報読取装置と第２情報読取装置とで直ぐに読取開始が可能となっている。
【００８７】
ここで、第１のドライバと第２のドライバとを起動させるタイミングは、特に限定されず、例えば、アプリケーションプログラムの起動に連動させてもよいし、ＰＣ４０での操作（スキャン設定変更、スキャナ選択等）に基づいて、第１のドライバと第２のドライバとを同時起動してもよいし、第１のドライバの起動に伴って第２のドライバを起動するようにしてもよいし、その逆でもよい。何れにしても、第１のドライバと第２のドライバとを起動した状態をスキャン実行前の待機状態としているので、ユーザーは、シートフィードスキャナ１とフラットベットスキャナ１０とを即座に使用することができて非常に便利である。
【００８８】
また、このように、複数の情報読取装置がＰＣに接続されて各ドライバが利用可能となった状態においては、各情報読取装置での読取画像を制御プログラム（例えば、アプリケーションプログラム）により結合するようにしてもよい。これにより、それぞれのスキャナを接続して各スキャナドライバを都度切り替えて使用しなければならない従来装置と比べて、ユーザーの利便性をさらに向上することができる。
【００８９】
例えば、表紙又は裏表紙と、表紙と裏表紙との間に配置される複数の原稿とを１つのファイルとして読み取りたい場合、フラットベットスキャナで表紙又は裏表紙を読み取ると共に、シートフィードスキャナで複数の原稿を読み取るようにアプリケーションプログラムから各スキャナに指示を出すようにしてもよい。この場合は、各スキャナは、同時駆動でもよいし、別駆動でもよいし、あるいは連動駆動（順番駆動）でもよい。
【００９０】
また、各スキャナで読み取った読取画像は、アプリケーションプログラムが受け取るようにし、アプリケーションプログラムの実行により１つの画像ファイルに結合処理をするようにしてもよい。ここでの結合処理は、アプリケーションプログラムで実行しなくても、フラットベットドライバに画像処理機能を設けてそこで実行してもよいし、シートフィードドライバに画像処理機能を設けてそこで実行してもよい。例えば、フラットベットドライバとシートフィードドライバとの何れか一方から他方のドライバへ読取画像を送り、そのドライバで結合処理を行うようにしてもよい。なお、各スキャナ本体又は何れかのスキャナ本体に画像処理手段を設けて、その画像処理手段で読取画像の結合処理を行うようにしてもよい。
【００９１】
さらに、各スキャナへの指示コマンドは、例えば、読取の順番を指定する情報が含まれていてもよい。例えば、フラットベットスキャナで読み取った後にシートフィードスキャナに読み取らせるようにしてもよいし、その逆で読み取りを実行させるようにしてもよい。
【００９２】
この場合、それぞれの読取画像をＰＣに送って、ＰＣ側で１つの画像ファイルに結合処理をするようにしてもよい。あるいは、フラットベットスキャナで読み取った読取画像をシートフィードスキャナに送ってシートフィードスキャナでの読取画像と結合処理し、最終的に、ＰＣに結合画像を送信するようにしてもよい。勿論、その逆で、シートフィードスキャナでの読取画像をフラットベットスキャナに送って、フラットベットスキャナでの読取画像と結合処理し、最終的に、ＰＣに結合画像を送信するようにしてもよい。
【００９３】
なお、上述した例では、基本的にはＰＣからの指示コマンド（読取指示）に基づくものであるが、各スキャナにＰＣと同様の機能を持たせ、別途、ＰＣと同様の操作を可能とする操作部をスキャナに設けて、当該スキャナにより別のスキャナにＰＣと同様の指示コマンドを出すようにしてもよい。この場合には、スキャナに設けたＰＣと同様の機能（ＣＰＵ等）により、上述したアプリケーションプログラム等の制御プログラムを実行するようにしてもよい。
【００９４】
また、上述した例では、各スキャナの接続順番、例えば、ＰＣに接続されたフラットベットスキャナにシートフィードスキャナを接続する場合、ＰＣに接続されたシートフィードスキャナにフラットベットスキャナを接続する場合の何れを含んでいてもよいし、これら各スキャナ以外のスキャナ等の別の周辺機器を接続するようにしてもよい。
【００９５】
以下、図８は、フラットベッドドライバが表示するユーザーインターフェースの一例を示した図である。ユーザーインターフェース５１はフラットベッドスキャナ１０のみがＰＣ４０に接続されているときにアプリケーション４８によって呼び出されて表示装置４５に表示されるユーザーインターフェースである。
【００９６】
すなわち、ユーザーインターフェース５１はフラットベッドドライバ４９ｂのユーザーインターフェースである。ユーザーインターフェース５１では、例えば、カラーモード、読取サイズおよび解像度等を設定できる。
【００９７】
ＣＰＵ４６は、スキャンボタン５４の押し下げを検出すると、スキャンの開始をスキャナドライバに指示する。Ｃｌｏｓｅボタン５５の押し下げを検出すると、ＣＰＵ４６は、ユーザーインターフェースを閉じる。
【００９８】
ユーザーインターフェース５２はシートフィードスキャナ１のみがＰＣ４０に接続されているときにアプリケーション４８によって呼び出されて表示装置４５に表示されるユーザーインターフェースである。すなわち、ユーザーインターフェース５２はシートフィードドライバ４９ａのユーザーインターフェースである。なお、ユーザーインターフェース５２には、特殊機能ボタン５６が追加されている。
【００９９】
シートフィードスキャナ１は、フラットベッドスキャナ１０に比べて単位時間あたりに大量の原稿をスキャンできる。そのため、原稿束の中には、ユーザーが誤って白紙原稿を混ぜてしまう場合がある。そういった白紙原稿を見つけ、画像化しない機能（白紙検知機能）をシートフィードスキャナ１は持っている。本実施形態では、ＣＰＵ４６が特殊機能ボタン５６の押し下げを検出すると、白紙検知機能のＯＮ／ＯＦＦを設定するための設定ダイアログ５７を表示装置４５に表示する。
【０１００】
図９は、白紙検知機能のＯＮ／ＯＦＦを設定するための設定ダイアログ５７を示した図である。この設定の初期値はＯＦＦである。
【０１０１】
図８の説明に戻る。ユーザーインターフェース５３はフラットベッドスキャナ１０とシートフィードスキャナ１との両方がＰＣ４０に接続されているときに表示されるユーザーインターフェースである。
【０１０２】
ＣＰＵ４６は、Ｓ７０５でシートフィードドライバ４９ａのロードに成功すると、フラットベッドドライバ４９ｂにしたがってユーザーインターフェース５３を表示装置４５に表示する。
【０１０３】
シートフィードドライバ４９ａのロードに失敗したときは、ユーザーインターフェース５１が表示される。ユーザーインターフェース５１と比較すると、ユーザーインターフェース５３では、読取方法（読み取りに使用する画像読取装置）の設定項目が追加されている。
【０１０４】
よって、ユーザーは、読取方法の設置項目においてフラットベッドスキャナ１０とシートフィードスキャナ１とを切り替えて使用できる。このように、ＣＰＵ４６や表示装置４５は、第１の画像読取装置と第２の画像読取装置とのどちらを選択するかを操作者に問い合せるためのユーザーインターフェースを表示する表示手段として機能する。
【０１０５】
ユーザーが設定したカラーモード、解像度、サイズなどの設定情報の保存は、フラットベッドドライバ４９ｂ（ＣＰＵ４６）が行う。そのため、ユーザーがアプリケーション４８でシートフィードドライバ４９ａを直接選択した場合、ユーザーインターフェース５３で設定されたカラーモード、解像度、サイズの内容は、シートフィードドライバ４９ａには適用されない。
【０１０６】
つまり、ユーザーがアプリケーション４８で直接的にシートフィードドライバ４９ａを使用するときは、ユーザーインターフェース５３で設定された設定情報が復元されない。設定情報は、ＰＣ４０内の所定の場所（例：レジストリファイル）に保存される。レジストリファイル自身は、ＨＤＤ４３に記憶される。
【０１０７】
上述した白紙検知機能については、フラットベッドドライバ４９ｂがシートフィードドライバ４９ａをロードするときに初期化処理を実行するので、ＯＦＦとなる。
【０１０８】
解像度の選択項目としてはフラットベッドドライバ４９ｂとシートフィードドライバ４９ａとの両方がサポートしている解像度のみが表示される。フラットベッドドライバ４９ｂ（ＣＰＵ４６）は、シートフィードドライバ４９ａがサポートしている解像度をシートフィードドライバ４９ａから取得し、その中から、フラットベッドドライバ４９ｂもサポートしている解像度のみを抽出する。
【０１０９】
このようにして、ユーザーインターフェース５３上で選択可能な解像度が決定される。サイズ、カラーモードに関しても同様の抽出処理が実行されてもよい。これにより、シートフィードドライバ４９ａとフラットベッドドライバ４９ｂとが共通して採用しているサイズ、カラーモードだけを抽出して、ユーザーインターフェース５３に反映させることができる。
【０１１０】
このように、ＣＰＵ４６は、第１の画像読取装置が対応している機能と第２の画像読取装置が対応している機能とを比較し、第１の画像読取装置と第２の画像読取装置とに共通している機能を抽出する手段として機能する。また、ＣＰＵ４６および表示装置４５は、抽出された機能の設定項目をユーザーインターフェースに表示する表示手段として機能する。
【０１１１】
図１０は、自動読取方法の一例を示したフローチャートである。図８に示したユーザーインターフェース５３は、読取方法の選択項目として「自動」を有している。ユーザーが読取方法（自動）を選択したこと、および、スキャンボタン５４を押し下げたことを検出すると、ＣＰＵ４６は、スキャンを開始する。なお、ここでは図示しないが、シートフィードスキャナ１又はフラットベットスキャナ１０側の操作ボタン（例えば、スキャン開始ボタン等）によりスキャンを開始するようにしてもよい。
【０１１２】
Ｓ１００１で、ＣＰＵ４６は、シートフィードスキャナ１に原稿が載置されているかどうかを判定する。例えば、ＣＰＵ４６は、フラットベッドドライバ４９ｂを介してシートフィードドライバ４９ａにシートフィードスキャナ１に原稿が載置されているかどうかを問い合せる。
【０１１３】
シートフィードドライバ４９ａ（ＣＰＵ４６）は、原稿検知センサ９の検知情報を取得し、原稿の有無をフラットベッドドライバ４９ｂに伝える。原稿がシートフィードスキャナ１の原稿台に載置されていれば、Ｓ１００２に進む。
【０１１４】
Ｓ１００２で、ＣＰＵ４６は、フラットベッドドライバ４９ｂを介してシートフィードドライバ４９ａにスキャン開始コマンドを送信する。なお、ユーザーインターフェース５３において、フラットベッドスキャナ１０が選択されたときは、ＣＰＵ４６は、画像の読取開始コマンドをフラットベッドスキャナ１０（第１の画像読取装置）に送信する第１の送信手段として機能する。なお、ここでのスキャン開始コマンドは、フラットベットドライバ４９ｂを介してシートフィードドライバ４９ａに送信されるが、その後、実際にシートフィードスキャナ１にはフラットベットスキャナ１０を経由する。この載、フラットベットスキャナ１０は、受け取ったスキャン開始コマンド（シートフィードスキャナ１用）をＣＰＵ３６等で判断し、自身へのコマンドでない場合に、シートフィードスキャナ１に転送する。
【０１１５】
シートフィードドライバ４９ａは、スキャン開始コマンドを受信すると、シートフィードスキャナ１のＣＰＵ２６にスキャン開始コマンドを転送する。このように、ＣＰＵ４６は、ユーザーインターフェース５３を通じてシートフィードスキャナ１（第２の画像読取装置）が選択されると、スキャン開始コマンド（画像の読取開始コマンド）を第２の画像読取装置に送信する第２の送信手段として機能する。
【０１１６】
シートフィードスキャナ１のＣＰＵ２６は、スキャン開始コマンドを受信すると、スキャン処理を開始する。ＣＰＵ２６は、ラインイメージセンサ５および画像処理部２２を制御して画像データを生成し、シートフィードドライバ４９ａへ画像データを転送する。シートフィードドライバ４９ａは、画像データをフラットベッドドライバ４９ｂに転送する。
【０１１７】
このように、シートフィードドライバ４９ａは、第２の画像読取装置から転送されてきた画像のデータを第１のドライバへ受け渡す手段としてＣＰＵ４６を機能させている。さらに、フラットベッドドライバ４９ｂは画像データをアプリケーション４８に転送する。よって、フラットベッドドライバ４９ｂは、第２のドライバから受け渡された画像のデータをアプリケーションプログラムへ受け渡す手段としてＣＰＵ４６を機能させている。
【０１１８】
一方、シートフィードスキャナ１に原稿が載置されていなければ、Ｓ１００３に進む。Ｓ１００３でＣＰＵ４６は、フラットベッドドライバ４９ｂにスキャン開始コマンドを送信する。
【０１１９】
フラットベッドドライバ４９ｂは、スキャン開始コマンドを受信すると、フラットベッドスキャナ１０のＣＰＵ３６にスキャン開始コマンドを転送する。フラットベッドスキャナ１０のＣＰＵ３６は、スキャン開始コマンドを受信すると、スキャン処理を開始する。
【０１２０】
ＣＰＵ３６は、ラインイメージセンサ１２および画像処理部３２を制御して画像データを生成し、フラットベッドドライバ４９ｂへ画像データを転送する。フラットベッドドライバ４９ｂは、画像データをアプリケーション４８に転送する。
【０１２１】
なお、白紙検知機能がＯＮに設定されている場合、フラットベッドドライバ４９ｂまたはシートフィードドライバ４９ａ白紙検知機能は、原稿画像内を調べ、白紙かどうかを判定する。白紙であれば画像データを破棄する。例えば、ＣＰＵ４６または画像処理部２２、３２は、画像を２値画像へ変換する。次に２値画像変換した画像内の黒画素数を数え、その数が画像全体の２割以下のときに、原稿画像を白紙と判定する。
【０１２２】
次にＰＣ４０から、シートフィードスキャナ１にフラットベッドスキャナ１０を介して、どのようにしてコマンドがやり取りされるかについてさらに詳細に説明する。本実施形態では、フラットベッドスキャナ１０はＵＳＢハブを備えている。そのため、図５（Ｂ）が示すように、ＰＣ４０とシートフィードスキャナ１との間にフラットベッドスキャナ１０が介在していても、ＰＣ４０から直接的にシートフィードスキャナ１にコマンドを送信することができる。つまりＰＣ４０のＣＰＵ４６にとって、図５（Ａ）の接続形態も図５（Ｂ）の接続形態もＵＳＢレベルにおいて違いはないからである。このように、シートフィードスキャナ１とフラットベッドスキャナ１０とはスキャナ読取処理に関して独立している。
【０１２３】
すなわち、シートフィードスキャナ１にとってフラットベッドスキャナ１０はＰＣ４０への信号とＰＣ４０からの信号との中継点に過ぎない。フラットベッドスキャナ１０のＣＰＵ３６や画像処理部３２も、シートフィードスキャナ１の信号の中継に関与しない。これは、シートフィードドライバ４９ａがフラットベッドドライバ４９ｂに依存していることと比較すると、対照的といえよう。
【０１２４】
次に、フラットベッドドライバ４９ｂがＣＰＵ４６と協働して実行するコマンド解析処理について説明する。
【０１２５】
シートフィードスキャナ１とフラットベッドスキャナ１０とが同時にＰＣ４０に接続されている状態でアプリケーション４８からシートフィードドライバ４９ａにコマンドを送るときは、フラットベッドドライバ４９ｂを経由する。この際、フラットベットスキャナ１０では、ＰＣ４０からのシートフィードスキャナ１０へのコマンドが一旦情報として通過する。この際、例えば、フラットベットスキャナ１０のＣＰＵ３６が自身へのコマンドでないと判断し、その後、シートフィードスキャナ１へ転送するよう制御することができる。勿論、フラットベットスキャナ１０のインターフェース３４部分にコマンド判断機能を設けて、シートフィードスキャナ１０へのコマンドをインターフェース３４から直接、シートフィードスキャナ１へ転送するようにしてもよい。あるいは、フラットベットスキャナ１０にコマンド判断手段を別途設けて、コマンドの振り分けを行うようにしてもよい。このように、シートフィードスキャナ１へのコマンドは、フラットベットスキャナ１０を経由することになる。
【０１２６】
そのため、フラットベッドドライバ４９ｂは、アプリケーション４８からのコマンドを解析し、解析結果にしたがってフラットベッドスキャナ１０とシートフィードスキャナ１の制御を行う。
【０１２７】
また、フラットベッドスキャナ１０とシートフィードスキャナ１のどちらを制御するかは、ユーザーインターフェース５３の設定に依存している。ユーザーインターフェース５３において読取方法として「フラットベッド」が選択されているときは、フラットベッドドライバ４９ｂはアプリケーション４８からのコマンドを受信し、フラットベッドスキャナ１０を制御するようにしてもよい。
【０１２８】
さらに、読取方法として「フィーダー」が選択されているときは、フラットベッドドライバ４９ｂは、アプリケーション４８からのコマンドをシートフィードドライバ４９ａにそのまま転送するようにしてもよい。
【０１２９】
シートフィードドライバ４９ａは、フラットベッドドライバ４９ｂを介してアプリケーション４８からのコマンドを受信し、シートフィードスキャナ１を制御する。
【０１３０】
読取方法として「自動」が選択されているときは、原稿がシートフィードスキャナ１にセットされているかどうかに応じて、一方のスキャナ装置を選択する。コマンドの送受信方法は、選択されたスキャナ装置に応じた送受信方法が選択されることになる。
【０１３１】
次に、スキャン画像（画像データ）がスキャナからスキャナドライバを介してアプリケーション４８に渡るまでの処理について説明する。読取方法として「フラットベッド」が選択されているときは、フラットベッドドライバ４９ｂが、フラットベッドスキャナ１０を制御し、画像を取得し、アプリケーション４８にスキャン画像を渡す。また、読取方法として「フィーダー」が選択されているときは、フラットベッドドライバ４９ｂが、シートフィードドライバ４９ａから画像を取得し、そのままアプリケーション４８に渡す。
【０１３２】
以上、本実施形態によれば、シートフィードスキャナ１とフラットベッドスキャナ１０とが同時にＰＣ４０に接続されているときは、ユーザーは、フラットベッドドライバ４９ｂを介して２つのスキャナを使用することができる。よって、ユーザーは、一度、アプリケーション４８においてフラットベッドドライバ４９ｂを選択すれば、使用するスキャナを切り替えるためにドライバの再選択は必要がない。
【０１３３】
すなわち、従来必要であったフラットベッドドライバ４９ｂのアンロードとシートフィードドライバ４９ａのロードは省略できる。これは、アプリケーション４８の起動時にフラットベッドドライバ４９ｂがシートフィードドライバ４９ａをＲＡＭ４２へすでにロードしているためである。よって、スキャナドライバの切り替えに伴って必要であったアンロードおよびロードに伴う処理時間が不要となる。頻繁にシートフィードスキャナ１とフラットベッドスキャナ１０とを切り替えるような使用環境では、本実施形態の効果は高い。
【０１３４】
また、フラットベッドドライバ４９ｂは、アプリケーションプログラムとしてシートフィードドライバ４９ａと通信するためのプロトコル（例：Ｔｗａｉｎ）に対応しているため、シートフィードドライバ４９ａにとってはフラットベッドドライバ４９ｂがアプリケーションとして見える。
【０１３５】
よって、フラットベッドスキャナ１０をすでに所有しているユーザーが新しくシートフィードスキャナ１を追加購入しても、フラットベッドドライバ４９ｂを介してフラットベッドスキャナ１０と新しいシートフィードスキャナ１との両方を使うことができる。
【０１３６】
また、メーカーにとっては、フラットベッドドライバ４９ｂを新製品のシートフィードスキャナ１に対応させるためのバージョンアップを行う必要はない。フラットベッドドライバ４９ｂは、シートフィードドライバ４９ａと通信するためのプロトコルをすでに備えているからである。
【０１３７】
本実施形態では、フラットベッドドライバ４９ｂを介してシートフィードドライバ４９ａを使用したが、シートフィードドライバ４９ａを介してフラットベッドドライバ４９ｂを使用できるように構成してもよい。この場合は、上述の説明において、フラットベッドドライバ４９ｂとシートフィードドライバ４９ａとを読み替えるとともに、フラットベッドスキャナ１０とシートフィードスキャナ１とを読み替えればよい。
【０１３８】
図１１は、ＰＣ４０に接続された３台以上のスキャナを使用するための共通のユーザーインターフェース１１０１の一例を示した図である。ＰＣ４０に接続できるスキャナの台数は３台以上であってもよい。
【０１３９】
この場合のユーザーインターフェース１１０１に、スキャナを選択するためのコンボボックスが追加されることになる。コンボボックスには、選択可能なスキャナの名称が列挙されることになる。なお、図１１に示したユーザーインターフェース１１０１は、１台のフラットベッドスキャナと、４つのシートフィードスキャナとが接続されているときのユーザーインターフェースの一例である。
【０１４０】
図１２は、スキャナ選択用ダイアログの一例を示した図である。上述したコンボボックスに代えて、図１２に示したスキャナ選択用ダイアログ１２０１が採用されてもよい。ユーザーがスキャナ選択用ダイアログ１２０１から所望の一つを選択すると、選択されたスキャナに対応したスキャナドライバがＲＡＭ４２へロードされる。ＲＡＭ４２へのスキャナドライバのロードは１度限りでよいことは上述した通りである。
【０１４１】
読取方法として「自動」が選択されているときは、ＣＰＵ４６は、スキャナドライバを通じて、ＰＣ４０に接続されているすべてのシートフィードスキャナの原稿台を調査し、原稿が載置されているシートフィードスキャナのみにスキャン開始コマンドを送信するようにしてもよい。
【０１４２】
図１３は、ユーザーインターフェースの他の例を示した図である。上記の実施形態では、フラットベッドドライバ４９ｂが、フラットベッドスキャナ１０とシートフィードスキャナ１とで共通にサポートしている機能についての選択項目のみをユーザーインターフェースに表示している。
【０１４３】
図１３が示すように、ユーザーインターフェース１３０１には、両者に共通でない選択項目が表示されてもよい。例えば、フラットベッドスキャナ１０が解像度１２００ｄｐｉをサポートしており、シートフィードスキャナ１ではこれをサポートしていないものとする。
【０１４４】
さらに、シートフィードスキャナ１は白紙検知機能をサポートおり、フラットベッドスキャナ１０もこれをサポートしているものと仮定する。この場合、読取方法として「フィーダー」が選択されると、ＣＰＵ４６は、解像度１２００ｄｐｉはグレーアウト表示に切り替えることで、解像度１２００ｄｐｉを無効としてもよい。
【０１４５】
このように、ＣＰＵ４６は、抽出されなかった機能の設定項目をユーザーインターフェースで操作不可能となるように表示装置４５に表示する手段として機能する。一方、フラットベッドが選択されると、ＣＰＵ４６は、解像度１２００ｄｐｉについてグレーアウト表示から有効表示に切り替える。
【０１４６】
よって、ＣＰＵ４６は、ユーザーインターフェースを通じて選択されたどの画像読取装置が選択されたかを判別する判別手段と、ユーザーインターフェースを通じて選択された画像読取装置が備える機能に応じてユーザーインターフェースにおける操作可能項目を変更する変更手段として機能する。
【０１４７】
上述したように、ユーザーが特殊機能ボタン５６を押すと、ＣＰＵ４６は、図９に示した設定ダイアログ５７を表示する。設定ダイアログ５７は、フラットベッドドライバ４９ｂがシートフィードドライバ４９ａの設定ダイアログを呼び出して表示装置４５に表示したものである。
【０１４８】
よって、ＣＰＵ４６は、ユーザーが読取方法をフィーダーに設定したときに特殊機能ボタン５６を選択可能なように表示する。一方、そうでないときは、ＣＰＵ４６は、特殊機能ボタン５６を無効とすべく、グレーアウト表示に切り替える。
【０１４９】
本実施形態では、フラットベッドスキャナ１０にシートフィードスキャナ１を接続し、フラットベッドドライバ４９ｂでシートフィードドライバ４９ａを制御するものと仮定して説明した。しかし、シートフィードスキャナ１にフラットベッドスキャナ１０を接続し、シートフィードドライバ４９ａでフラットベッドドライバ４９ｂを制御してもよい。また、スキャナの組み合わせは、フラットベッドスキャナ１０、シートフィードスキャナ１に限定されるものではない。すなわち、種類の異なる複数の画像読取装置をＰＣ４０に接続するときも本実施形態に係る発明を適用できる。
【０１５０】
ここで、本実施形態の上述したシートフィードスキャナ１とフラットベットスキャナ１０とを有する画像読取装置（情報読取装置の一例）は、それぞれのスキャナ１，１０を組み合わせて、１つの画像ファイル（結合情報）を形成する場合に適用することができる。これにより、ユーザーの利便性に優れた画像読取装置を実現することができる。
【０１５１】
詳細には、本実施形態の画像読取装置では、アプリケーションプログラムの起動後に、第１のドライバと第２のドライバとが自動起動するようになっている。このように、両ドライバを起動状態とすることにより、スタンバイに要する時間の短縮化を図ることができる。
【０１５２】
情報処理装置の一例であるＰＣ４０には、フラットベットスキャナ１０を制御する第１のドライバ（フラットベットドライバ４９ｂ）と、シートフィードスキャナ１を制御する第２のドライバ（シートフィードドライバ４９ａ）と、各ドライバからの画像情報を受け取るアプリケーションプログラムとを含む制御プログラムがインストール等により導入されている。また、制御プログラムは、シートフィードスキャナ１とフラットベットスキャナ１０とがＰＣに接続されて各ドライバが起動して利用可能となった状態においては、各スキャナ１，１０での読取画像を結合するプログラムを含んでいる。
本実施形態では、この読取画像の結合プログラムをアプリケーションプログラムに組み込んで実行させるようにした。また、アプリケーションプログラムでは、複数の読取画像を結合する場合に、読取画像の結合順番を適宜変更できるようにしてもよいし、読み取った順番で自動的に結合処理を行うようにしてもよい。さらに、単に各スキャナ１，１０で読み取った各読取画像を結合するだけではなく、例えば、一方の読取画像に他方の読取画像を挿入して１つの画像ファイルとしてもよい。具体的には、フラットベッドスキャナ１０でスキャンする画像を、シートフィードスキャナ１でスキャンするバッチのどこに入れるか予め設定する機能（挿入位置設定モード等のプログラムを制御プログラムに挿入）を設けておき、各スキャナ１，１０で読み取った画像を挿入結合するようにしてもよい。この場合には、シートフィードスキャナ１で読み取って、後でフラットベットスキャナ１０により読み取った読取画像を、挿入設定に基づいてバッチの途中に挿入する。これにより、バッチ中の順番を間違うことなく１つの結合画像を得ることができる。
また、シートフィードスキャナ１で複数の原稿を読み取る際において、原稿搬送が難しい又はできない原稿等があった場合、その原稿位置の情報を挿入結合位置として記憶したり、あるいはバーコードやマークシート等に入れ替えたりして、当該原稿をフラットベットスキャナ１０で読み取って、後から上記挿入結合位置（バッチの途中）に挿入するようにしてもよい。これにより、例えば、シートフィードスキャナ１で搬送不良（ジャム等）が生じた場合、そのジャムしたところに、フラットベッドスキャナ１０でスキャンした画像を挿入し、１つの画像ファイルとして取得することができる。
【０１５３】
このように、本実施形態では、それぞれのスキャナ１，１０の各スキャナドライバ（フラットベットドライバ４９ｂ、シートフィードドライバ４９ａ）を都度切り替えることなく、それぞれのドライバをアプリケーションプログラムと共に起動させておくことにより、両スキャナ１，１０が利用可能な状態となっている。
【０１５４】
したがって、例えば、表紙又は裏表紙と、表紙と裏表紙との間に配置される複数の原稿とを１つのファイルとして読み取りたい場合、フラットベットスキャナ１０で表紙又は裏表紙を読み取ると共に、シートフィードスキャナ１で複数の原稿を読み取るようにアプリケーションプログラムから各スキャナに指示を出し、それぞれの読取画像を結合処理により１つのファイルとして取得することができる。
【０１５５】
以下、図１４を用いて、このような連続運転時の処理手順として、複数の原稿をシートフィードスキャナ１で読み取ると共に表紙等となる１枚の原稿をフラットベットスキャナ１０により読み取って各読取画像を結合する場合について説明する。図１４は、本実施形態に係る画像読取装置（システム）の動作を示すフローチャート図である。
【０１５６】
図１４に示すように、まず、アプリケーションプログラムを実行（ステップＳ２００１）した後、ＨＤＤに記憶されているシートフィードドライバ４９ａとフラットベットドライバ４９ｂとをＲＡＭ等のメモリへロードする（ステップＳ２００２）。ここでのステップＳ２００１及びＳ２００２での処理は、図７で説明したステップと同様にすることができる。なお、各ドライバ４９ａ，４９ｂのロードのタイミングは、アプリケーションプログラムの起動に連動してもよいし、ユーザー操作によりアプリケーションプログラムと関係なく起動するようにしてもよいが、何れにしても、両ドライバ４９ａ，４９ｂが起動される。
【０１５７】
次に、シートフィードスキャナ１でスキャンを開始するか否かをユーザーに選択させる（ステップＳ２００３）。ステップＳ２００３でシートフィードスキャナ１によりスキャン指定（Ｙｅｓ）があると、当該シートフィードスキャナ１でスキャンを実行（ステップＳ２００４）し、アプリケーションプログラムがシートフィードスキャナ１で読み取った読取画像を入手する（ステップＳ２００５）。ここでは、シートフィードスキャナ１において予め複数の原稿のセットがされているものとする。また、ここではスキャナ読取設定を省略したが、スキャナでの読取設定を所望のタイミングで実行するようにしてもよい。なお、その後は、シートフィードスキャナ１で読み取った複数の読取画像を結合処理（ステップＳ２００６）し、スキャン終了するかどうか、すなわち、連続スキャン運転をするかどうかを選択する（ステップＳ２００７）。
【０１５８】
ユーザーが連続スキャン運転を開始（Ｎｏ）する場合、ステップＳ２００３に戻り、ステップＳ２００３でシートフィードスキャナ１によるスキャン指定がない場合（Ｎｏ）、フラットベットスキャナ１０でスキャンを開始するか否かをユーザーに選択させる（ステップＳ２００８）。ステップＳ２００８でフラットベットスキャナ１０によりスキャン指定（Ｙｅｓ）があると、当該フラットベットスキャナ１０でスキャンを実行（ステップＳ２００９）し、アプリケーションプログラムがフラットベットスキャナ１０で読み取った読取画像を入手する（ステップＳ２０１０）。なお、図１４のフローでは、ユーザーは、シートフィードスキャナ１を連続運転させることもでき、また、フラットベットスキャナ１０を連続運転させることもでき、あるいは、両スキャナ１，１０を適宜組み合わせて使用することもできる。
【０１５９】
次いで、前回のステップＳ２００５でシートフィードスキャナ１から入手した読取画像と、ステップＳ２０１０でフラットベットスキャナ１０から入手した読取画像とを結合する（ステップＳ２００６）。なお、その後は、ステップＳ２００７へ進み、連続スキャン運転する原稿がない場合（ステップＳ２００７：Ｙｅｓ）は、スキャン終了する。
【０１６０】
なお、ステップＳ２００６では、シートフィードスキャナ１での複数の読取画像を結合する他、シートフィードスキャナ１での読取画像にフラットベットスキャナ１０で読み取った読取画像を結合したり、複数の原稿を個別にフラットベットスキャナ１０で読み取った各読取画像を結合したりすることができる。
【０１６１】
図１４で示すフローでは、シートフィードスキャナ１で読み取った後にフラットベットスキャナ１０で読み取って、各読取画像を結合する一例の手順について説明したが、本発明は勿論これに限定されるものではない。
【０１６２】
例えば、ステップＳ２００３とステップＳ２００８とを入れ替えてもよい。すなわち、まずフラットベットスキャナ１０でスキャン開始するかどうかをユーザーに選択させ、フラットベットスキャナ１０でスキャンを開始した後、連続スキャン運転させる際に、フラットベットスキャナ１０を選択せず、シートフィードスキャナで読み取り、その後、両方の読取画像を結合するようにしてもよい。何れにしても、ユーザーは、ステップＳ２００３とステップＳ２００８とで、シートフィードスキャナ１とフラットベットスキャナ１０との読取順番を適宜設定することができる。
【０１６３】
また、図１５に示すように、ステップＳ２０１０の後に、結合画像の有無を選択させるようにしてもよい（ステップＳ２０１１）。これによれば、１つの原稿の画像をフラットベットスキャナ１０で読み取った後、シートフィードスキャナ１で複数の原稿画像を読み取りたい場合は、ステップＳ２００３でシートフィードスキャナ１を選択せずにステップＳ２００８でフラットベットスキャナ１０を選択し、ステップＳ２０１１で結合画像なしとして連続スキャン運転を選択する（ステップＳ２００７：Ｎｏ）。そして、ステップＳ２００３でシートフィードスキャナ１を選択し、当該シートフィードスキャナ１で読み取った読取画像と、前回のフラットベットスキャナ１０で読み取った読取画像とをステップＳ２００６で結合するようにしてもよい。
【０１６４】
なお、図１４又は図１５において、ステップＳ２０１１の代わりに、ステップＳ２００６前のステップとして、結合する読取画像があるかどうかを判定するステップを設けるようにしてもよい。
【０１６５】
また、図１４又は図１５では、ステップＳ２００７で連続スキャン運転の選択を行うようにしているが、本発明は勿論これに限定されず、例えば、図１６に示すように、予め連続運転するかどうかを設定できるようにしてもよい。
【０１６６】
具体的には、図１６に示すように、まず、アプリケーションプログラムを実行（ステップＳ３００１）した後、ＨＤＤに記憶されているシートフィードドライバ４９ａとフラットベットドライバ４９ｂとをＲＡＭ等のメモリへロードする（ステップＳ３００２）。ここでのステップＳ３００１及びＳ３００２での処理は、上述した図７及び上記図１４等で説明したステップと同様にすることができる。
【０１６７】
次に、２つのスキャナ１，１０を用いて連続スキャン運転するかどうかのモード切替を行う（ステップＳ３００３）。ステップＳ３００３で連続スキャン運転するとした場合（Ｙｅｓ）には、スキャナ順番を設定する（ステップＳ３００４）。続いて、各スキャナ１，１０でのスキャン設定を行う（ステップＳ３００５）。ここでのスキャン設定は、スキャナ読取設定であり、例えば、原稿サイズ、解像度、カラー又はモノクロ等の読取方式、両面又は片面の読取モード等が挙げられるが、勿論これらに限定されるものではない。
【０１６８】
次いで、ＰＣからの操作に基づいて、スキャン実行の指示を待つ（ステップＳ３００６）。具体的には、アプリケーションプログラムの起動等により表示される読取制御画面でのスキャン実行ボタンの押下により、ＰＣからスキャン実行指示が出されるか否かを待つ状態となる。ステップＳ３００６でスキャン実行指示を受け取ると（Ｙｅｓ）、所定のスキャナ順番及びスキャン設定に基づいて、各スキャナ１，１０でのスキャンを実行する（ステップＳ３００７）。
【０１６９】
続いて、アプリケーションプログラムが、ステップＳ３００７で読み取った各読取画像を入手する（ステップＳ３００８）。そして、アプリケーションプログラムは、受け取った各読取画像の結合処理を実行する（ステップＳ３００９）。この際、アプリケーションプログラムでは、読取画像の結合順番を適宜変更できるようにしてもよいし、読み取った順番で自動的に結合処理を行うようにしてもよい。
【０１７０】
なお、ステップＳ３００３で連続スキャン運転を実行しない場合（Ｎｏ）には、何れかのスキャナ１，１０を選択する（ステップＳ３０１０）。続いて、スキャナ設定（ステップＳ３０１１）後、スキャン実行指示を待つ（ステップＳ３０１２）。そして、スキャン実行指示を受け取ると、選択したスキャナで読み取り（ステップＳ３０１３）、アプリケーションプログラムが何れか一方のスキャナ１，１０で読み取った読取画像を入手（ステップＳ３０１４）し、スキャン終了となる。
【０１７１】
以上説明したように、本実施形態では、ＰＣ等の情報読取装置に情報読取装置の一例である複数のスキャナ（シートフィードスキャナ１、フラットベットスキャナ１０）を接続し、各スキャナ１，１０を使用する状態において、両方のスキャナドライバを起動させた状態とし、各スキャナ１，１０での読取画像を適宜１つの画像ファイルに結合できるようにしたので、例えば、ユーザーによる連続スキャン運転時に要する処理時間の短縮化を図ることができる。また、各スキャナ１，１０をそれぞれ独立して利用したり、あるいは１つのスキャナユニットとして利用したりして、所望の画像ファイルを取得することができる。したがって、優れたユーザー利便性を実現することができる。
【０１７２】
また、本実施形態では、各スキャナ１，１０のドライバを各スキャナの読取前に起動させておくようにしたので、スキャナドライバ切り替えに要する時間を短縮することができる。
【０１７３】
さらに、本実施形態では、ＰＣに接続されるフラットベットスキャナ１０にシートフィードスキャナ１を接続し、ＰＣと各スキャナ１，１０との情報入出力において、１つのドライバ（上述した実施形態ではフラットベットドライバ）を経由するようにしたので、既存のシートフィードスキャナ（複数の接続部を持たないスキャナ）１にフラットベットスキャナ１０を追加して利用することができる。これにより、各スキャナ１，１０をそれぞれ独立して利用したり、あるいは１つのスキャナユニットとして利用したりすることができ、ユーザーの利便性をさらに向上することができる。
【０１７４】
図１７は、画像処理部の搭載位置を説明するためのす図である。上記の実施形態では、図１７（Ａ）が示すように、フラットベッドスキャナ１０とシートフィードスキャナ１とがそれぞれ画像処理部を備えており、画像処理部は共通化されてはいない。しかし、図１７（Ｂ）が示すように、フラットベッドドライバ４９ｂとシートフィードドライバ４９ａとのそれぞれが画像処理部を備えてもよい。
【０１７５】
以上説明したように、本実施形態によれば、フラットベットスキャナ１０に複数の接続部を設けて、ＰＣ４０に対してフラットベットスキャナ１０を接続すると共に、フラットベットスキャナ１０にシートフィードスキャナ１を接続するようにしたので、フラットベットスキャナ１０の追加利用のためにシートフィードスキャナ１を改造することない。また、ユーザーは、既存のシートフィードスキャナ１に対してフラットベットスキャナ１０を接続することができ、これらシートフィードスキャナ１及びフラットベットスキャナ１０を個々独立、又は１つの画像読取ユニットとして利用することができる。
【０１７６】
また、本実施形態では、フラットベットスキャナ１０をフラットベットドライバ４９ｂにより制御し、シートフィードスキャナ１をフラットベットドライバ４９ｂを介してシートフィードドライバ４９ａにより制御できるようにしたため、フラットベットドライバ４９ｂをアンロードしたり、再ロードしたりする時間を省略できる。よって、ドライバの切り替えに必要となる切り替え時間を短縮することができる。
【０１７７】
例えば、読取り形式の異なる複数の画像読取装置がＰＣ（情報処理装置）に接続されているときにアプリケーションプログラム４８が起動されると、アプリケーションプログラム４８はフラットベットドライバ４９ｂを情報処理装置のメモリへとロードする。さらに、フラットベットドライバ４９ｂはシートフィードドライバ４９ａを情報処理装置のメモリへとロードする。よって、ユーザーインターフェース５３などにおいて使用すべきスキャナを切り替えたとしても、ドライバのアンロード、ロードおよび初期化処理は発生しない。すなわち、スキャナドライバの切り替えに必要となる切り替え時間を従来よりも短縮できる。
【０１７８】
また、シートフィードスキャナ１が読取った画像のデータをフラットベットドライバ４９ｂおよびシートフィードドライバ４９ａを介してアプリケーションプログラムが受け取るように、フラットベットドライバ４９ｂを構成したことで、シートフィードスキャナ用のシートフィードドライバ４９ａについては変更することなく、本発明を適用できる。
【０１７９】
すなわち、シートフィードドライバ４９ａについての更新やバージョンアップの手間を省くことができる。また、シートフィードドライバ４９ａがインストールされていれば当該シートフィードドライバ４９ａをメモリにロードし、シートフィードドライバ４９ａがインストールされていなければ当該シートフィードドライバ４９ａをロードしないようにフラットベットドライバ４９ｂを構成している。すなわち、シートフィードドライバ４９ａのロード処理はアプリケーションプログラムではなくフラットベットドライバ４９ｂが担当している。
【０１８０】
また、フラットベットドライバ４９ｂが提供するユーザーインターフェース上で画像読取装置を切り替えるようにしているため、画像読取装置の切り替えに伴うドライバのアンロード、ロードおよび初期化処理は必要がない。なお、シートフィードスキャナ１が選択されたときはフラットベットドライバ４９ｂがアプリケーションプログラムのように振舞ってシートフィードドライバ４９ａへコマンドを渡す。それ故、シートフィードドライバ４９ａは、本発明を適用する上での特別な更新や改変は必要がない。
【０１８１】
また、フラットベットドライバ４９ｂのユーザーインターフェースでは、第１の画像読取装置と第２の画像読取装置とで共通している機能についてその設定項目が設けられている。よって、どの画像読取装置が選択されても、読取処理に反映することが不可能な設定を操作者が行ってしまうことを防止できる。
【０１８２】
なお、共通していない設定項目については、ユーザーインターフェースから消去してしまったり、操作不可能なようにグレーアウト表示したりしてもよい。グレーアウト表示された設定項目は、操作者により選択されなかった他の画像読取装置では設定可能な項目であることを操作者に示唆することができる。
【０１８３】
また、ユーザーインターフェースを通じて選択された画像読取装置が備える機能に応じて、ユーザーインターフェースにおける操作可能な設定項目を変更してもよい。この場合は、複数の画像読取装置に共通しているものだけでなく、選択された画像読取装置で設定可能な設定項目をすべて表示することができる。よって、操作者は選択した画像読取装置が備えるすべての機能を使用することができる。
【０１８４】
さらに、本実施形態のように、シートスルー型スキャナのドライバと通信可能なフラットベット型スキャナのドライバを用いることにより、例えば、情報処理装置（ＰＣ）からの読取指示信号をシートスルー型スキャナに伝達することができる。逆に、情報処理装置は、シートスルー型スキャナでの読取画像をシートスルー型スキャナのドライバからフラットベット型スキャナのドライバを経由して取得することができる。これにより、フラットベット型スキャナを情報処理装置と既存のシートスルー型スキャナとの間に接続することが可能となる。すなわち、フラットベットスキャナに複数の接続部を設けるだけで、情報処理装置にフラットベット型スキャナを接続すると共にフラットベット型スキャナに既存のシートスルー型スキャナを接続することができる。
【０１８５】
その結果、ユーザーは、フラットベット型スキャナを導入するだけで、情報処理装置の操作に基づいて、フラットベット型スキャナとシートスルー型スキャナとを別々のスキャナとして使用したり、あるいは１つのスキャナユニットとして容易に使い分けしたりすることができる。また、シートスルー型スキャナを保有するユーザーは、既存のシートスルー型スキャナに対して別途、接続部等を設けるための改良（改造）をすることなく、フラットベット型スキャナを追加利用することができる。
（実施形態２）
【０１８６】
本実施形態では、第１画像読取装置としてフラットベットスキャナを採用し、第２画像読取装置としてシートフィードスキャナを採用し、どちらかのスキャナにシートがセットされた場合に、シートを検知した側のスキャナでの画像読取モードに切り替わるようにした以外は、上述した実施形態１と同様である。
【０１８７】
詳細には、本実施形態では、フラットベットスキャナにシートを載置する載置台（第１載置台）を設け、その載置台にシート検知センサ（第１シート検知手段）を設けることにより、シートの有無を検知することができる。一方、シートフィードスキャナにおいても同様に、シートを載置する載置台（第２載置台）を設け、その載置台にシート検知センサ（第２シート検知手段）を設けることにより、シートの有無を検知することができる。
【０１８８】
このような構造を採用することにより、フラットベットスキャナ又はシートフィードスキャナの何れか一方にシートがセットされたことを検知することができる。また、シートの有無に関する情報については、各ドライバを介してアプリケーションに伝達することができる。
【０１８９】
例えば、情報処理装置（ＰＣ）にフラットベットスキャナを接続し、そのフラットベットスキャナにシートフィードスキャナを接続している状態においては、シートフィードスキャナでのシートの有無に関する情報は、シートフィードドライバからフラットベットドライバを経由して、アプリケーションへ伝達することができる。なお、フラットベットスキャナでのシートの有無に関する情報は、直接、フラットベットドライバからアプリケーションへ伝達することができる。
【０１９０】
これにより、フラットベットスキャナ又はシートフィードスキャナの何れかでシートを検知した場合には、シートを検知した側のスキャナが読取可能な状態となるため、当該スキャナでの画像読取モードに切り替えることができる。
【０１９１】
そして、例えば、情報処理装置からの操作（実際にはアプリケーション実行に伴うユーザーインターフェース画面からの操作）に基づいて、シートを検知した側のスキャナで画像読取を開始することができる。
【０１９２】
また、本実施形態では、図示しないが、シートフィードスキャナ、フラットベットスキャナ側に、スキャン動作の制御あるいは設定を実行するための制御パネル、又は操作ボタン（例えば、スキャン開始ボタン等）を設けることができる。このような場合には、シートがセットされた状態で、スキャナ側の操作により、シートを検知した側のスキャナで画像読取を開始させることもできる。
【０１９３】
さらに、読取画像は、スキャナから情報処理装置に自動的に送信することができるが、この際、例えば、シートフィードスキャナでの読取画像については、シートフィードドライバからフラットベットドライバを経由して情報処理装置に送信される。
【０１９４】
以上のような構成とすることにより、シートフィードスキャナ等の既存の画像読取装置を改造することなく、既存の画像読取装置に対して別の画像読取装置を接続できると共に、各画像読取装置を独立又は１つの画像読取ユニットとして利用でき、さらに、ユーザーの利便性を向上することができる。なお、本実施形態で説明した上述の構成については、上述した実施形態１に適用することができる。
（実施形態３）
【０１９５】
図１８は、本発明の実施形態３に係る情報読取装置の一例である画像読取装置（画像読取ユニット）の概略構成図である。
【０１９６】
図１８に示すように、本実施形態の画像読取装置は、ＰＣ等の情報処理装置４００ａに接続される第２画像読取装置の一例であるシートフィードスキャナ１と、別の情報処理装置４００ｂに接続される第１画像読取装置の一例であるフラットベットスキャナ１０とを備えている。
【０１９７】
具体的には、２つの情報処理装置４００ａ，４００ｂは、それぞれネットワークで通信可能に接続されている。
【０１９８】
また、情報処理装置４００ａにおいては、シートフィードスキャナ１を制御する制御プログラムとして、アプリケーション４８０ａとシートフィードドライバ（第２のドライバ）４９０ａとが導入されている。
【０１９９】
すなわち、情報処理装置４００ａは、アプリケーション４８０ａから各種の指示情報がシートフィードドライバ４９０ａを介してシートフィードスキャナ１に送られ、当該指示情報に基づいてシートフィードスキャナ１が読み取った読取画像をシートフィードドライバ４９０ａを介して取得できるようになっている。
【０２００】
一方、情報処理装置４００ｂにおいては、フラットベットスキャナ１０又はシートフィードスキャナ１をそれぞれ制御する制御プログラムとして、アプリケーション４８０ｂとフラットベットドライバ４９０ｂとが導入されている。
【０２０１】
ここでのフラットベットドライバ４９０は、マルチファンクションドライバ（多機能ドライバ）であり、アプリケーション４８０ｂからの各種の指示情報について、フラットベットスキャナ１への出力以外にも、ネットワークを経由して、情報処理装置４００ａのアプリケーション４８０ａに直接出力できるようになっている。
【０２０２】
具体的には、シートフィードスキャナ１用のアプリケーション４８０ａは、ネットワークを経由して、フラットベットドライバ４９０ｂからの情報処理装置４００ｂ（アプリケーション４８０ｂ）の指示情報を受け取り、その情報をＴｗａｉｎプロトコルでシートフィードドライバ４９０ａに伝達する機能を備えている。すなわち、フラットベットスキャナ１０用のフラットベットドライバ４９０ｂは、フラットベットスキャナ１用のアプリケーション４８０ｂ以外にも、シートフィードスキャナ１用のアプリケーション４８０ａとの情報通信が可能となっている。
【０２０３】
このように、情報処理装置４００ｂ側からは、アプリケーション４８０ｂから各種の指示情報に基づいて、フラットベットスキャナ１とシートフィードスキャナ１０との両方を制御可能となっている。このため、情報処理装置４００ｂは、フラットベットスキャナ１から読取画像を取得できる他、シートフィードスキャナ１０からも読取画像を取得することができる。
【０２０４】
以上、本実施形態では、上述した構成とすることにより、シートフィードスキャナ等の既存の画像読取装置（シートフィードスキャナ１等）に接続部等の構成追加のための改造をしなくても、ネットワークを経由して、既存の画像読取装置（シートフィードスキャナ１等）に対して別の画像読取装置（フラットベットスキャナ１０等）を接続することができる。これにより、ユーザーは、各画像読取装置を独立又は１つの画像読取ユニットとして適宜利用することができ、ユーザーにとって非常に自由度のある装置の利用態様を実現し提供することができる。
【０２０５】
なお、本実施形態においてシートフィードドライバ４９０ａやフラットベッドドライバ４９０ｂのロード等の実行手順等については、上述した実施形態１と同様にすることが可能である。
【０２０６】
また、本実施形態では、フラットベットドライバ４９０ｂとシートフィードスキャナ１用のアプリケーション４８０ａとの間でネットワークを経由して通信可能とした場合について説明したが、本発明は勿論これに限定されず、例えば、図１６に示すように、フラットベットドライバ４９０ｂは、フラットベットスキャナ１用のアプリケーション４８０ｂを経由して、シートフィードスキャナ１用のアプリケーション４８０ａと通信可能としてもよい。何れにしても、本発明は、シートフィードスキャナ１等の既存の情報読取装置に対して、通信可能な状態で接続される他の情報処理装置のドライバに、既存の情報処理装置のドライバへの指示を出すための機能を追加するだけで、既存の情報読取装置を改造（接続部等を設ける等のハード的な改造）等することなく、別の情報読取装置を接続することができるものである。
（実施形態４）
【０２０７】
上述した実施形態１又は２では、シート搬送路が略水平であるシートフィードスキャナを備えた画像読取装置を例示して説明したが、本発明は勿論これに限定されず、様々なシートフィードスキャナ等の情報読取装置にも適用することができる。図２０〜図２３は、本発明の実施形態３に係る情報読取装置の一例である他の画像読取装置（シートフィードスキャナ）の概略構成図である。
【０２０８】
詳細には、図２０（ａ）及び図２０（ｂ）に示す画像読取装置１００は、原稿を積載する給紙トレイ１０２が装置本体１０１Ａに対してヒンジ部１０２ａを介して開閉可能に支持されている。給紙トレイ１０２は、閉じた状態で原稿の給紙口１３を覆い（図１７（ａ）の破線）、開放された状態（図２０（ａ）及び図２０（ｂ）の状態）で積載面１０２ｂに原稿が積載される。
【０２０９】
給紙トレイ１０２に積載された複数枚の原稿は、フィードローラ１０４と分離パッド１０５とによって最も下の原稿から１枚ずつ搬送路に分離給送される。搬送路に給送された原稿は、搬送ローラ対１０６により下流側に搬送される。さらに原稿は、読取センサ１０８，１０９により表裏両面の画像が読み取られ、その後、搬送ローラ対１０７により装置外に排紙される。このような画像読取装置についても本発明を適用することができる。
【０２１０】
また、図２１に示す画像読取装置２００は、縦型の搬送経路を備えたスキャナであり、スキャナ本体Ｓにより全体が構成されている。具体的には、スキャナ本体Ｓの内部には、給紙ローラ２０１が設けられている。この給紙ローラ２０１は、モータ２０２に接続されている。
【０２１１】
また、給紙ローラ２０１の下流側には、搬送ローラ２０３が配置されている。さらに、搬送ローラ２０３の下流側には、原稿の一方面を読み取る第１画像読取センサ２０４が配置されている。
【０２１２】
また、この第１画像読取センサ２０４の下流側には、排紙ローラ２０７が設けられている。この排紙ローラ２０７の手前には、原稿の他方面を読み取る第２画像読取センサ２０９が設けられている。
【０２１３】
なお、搬送ローラ２０３と第２画像読取手段２０９との間に対応する位置には、原稿の到達及び通過を検知するレジストセンサＰ２が配置されている。
【０２１４】
そして、このような縦型の画像読取装置においては、給紙ローラ２０１、搬送ローラ２０３及び排紙ローラ２０７がモータ２０２により同時に駆動される。なお、給紙ローラ２０１の対向する側には、分離ローラ２１３が配設されている。
【０２１５】
これにより、原稿台２０５からの原稿は１枚ずつ分離されながら給紙ローラ２０１により給送される。このような縦型の画像読取装置についても本発明を適用することができる。
【０２１６】
図２２に示す情報読取装置３００は、小切手や手形類等の紙葉類を読み取るチェックスキャナであり、紙葉類を載置するための載置部３０２と、縦置きの紙葉類を搬送するための搬送路３０３と、排紙された紙葉類を載置するための排紙部３０４とを備えている。
【０２１７】
また、図示しないが、搬送路３０３には、紙葉類の磁気インク文字（ＭＩＣＲ［Ｍａｇｎｅｔｉｃ  Ｉｎｋ  Ｃｈａｒａｃｔｅｒ  Ｒｅｃｏｎｇｎｉｔｉｏｎ］）を読み取る磁気センサが設けられている。なお、搬送路には、ＯＣＲ（Ｏｐｔｉｃａｌ  Ｃｈａｒａｃｔｅｒ  Ｒｅｃｏｎｇｎｉｔｉｏｎ）等の文字情報を読み取る読取センサを設けてもよいし、あるいは、紙葉類の画像を読み取る読取センサを設けてもよい。
【０２１８】
また、載置部３０２に載置された紙葉類は、分離ローラ（不図示）によって重送されずに搬送路３０３を通過して排紙され、この排紙された紙葉類は排紙部３０４に載置されるようになっている。このようなチェックスキャナである情報読取装置についても本発明を適用することができる。
【０２１９】
図２３に示す画像読取装置４００は、Ｕターンパス型シートフィードスキャナであり、装置本体４０１の一端部側に設けられて原稿Ｓを給紙する給紙トレイ４０２と、Ｕターン形状の搬送路４０３と、排紙された原稿Ｓを載置するための排紙トレイ４０４とを備えている。
【０２２０】
また、搬送路４０３には、給紙トレイ４０２側から送りローラ４０５と、給紙ローラ４０６と、搬送ローラ対４０７と、原稿Ｓの画像を読み取る画像読取ユニット４０８と、排紙ローラ対４０９とが設けられている。
【０２２１】
これにより、原稿Ｓは、給紙トレイ４０２から装置本体４０１に取り込まれ、搬送路４０３中を搬送されながら、画像読取ユニット４０８により片面又は両面の画像が読み取られる。このようなＵターンパス型シートフィードスキャナである画像読取装置４００についても本発明を適用することができる。
【０２２２】
以上説明したように、本実施形態では、各種シートフィードスキャナを例示したが、これら各スキャナ等の情報読取装置を本発明に適用することにより、上述した実施形態１又は２と同様の効果を得ることができる。
（他の実施形態）
【０２２３】
以上、本発明を実施形態１〜４に基づいて説明したが、本発明は上述した各実施形態１〜４に限定されるものではない。例えば、上述した実施形態１等では、第一画像読取装置（フラットベットスキャナ１０）には情報処理装置（ＰＣ４０）と第二画像読取装置（シートフィードスキャナ１）とをそれぞれ接続可能としたが、本発明は勿論これに限定されず、第一画像読取装置にはさらに接続部を設けて、他の画像読取装置を含む周辺機器を１つ以上接続するようにしてもよい。また、第二画像読取装置に第一画像読取装置との接続部とそれ以外の接続部とが設けられている場合には、第二画像読取装置に別の画像読取装置を連結してもよい。その場合には、直列であってもよいし、並列であってもよい。なお、このような接続については、上述した実施形態２等の画像読取装置に適用してもよい。何れにしても、ユーザーは、複数の画像読取装置を独立して使用することができ、又は１つの画像読取ユニットとして使用することができる。
【０２２４】
なお、上述した実施形態１等では、第一画像読取装置と第二画像読取装置とからなる画像読取装置（画像読取ユニット）として説明したが、本発明は勿論これに限定されず、例えば、情報処理装置と、画像読取ユニットとで画像読取システムとしてもよいし、画像以外の文字情報、図形情報、識別情報等を読み取る情報読取システムとしてもよい。
【０２２５】
また、本発明では、以上のように、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システム又は装置に供給し、それらのコンピュータ（ＣＰＵやＭＰＵ等）が格納されたプログラムコードを読出し実行しても本発明の目的は達成される。
【０２２６】
すなわち、情報処理装置に接続されると共にシートの情報を読み取る第１情報読取装置を制御する第１ドライバと、第１情報読取装置に接続されると共にシートの情報を読み取る第２情報読取装置を制御する第２ドライバと、第１ドライバ又は前記第２ドライバからの情報を受け取るアプリケーションプログラムとを含む制御プログラムを有するようにする。そして、制御プログラムは、アプリケーションプログラムの起動に伴って第１ドライバと第２ドライバとをそれぞれ起動して第１情報読取装置と第２情報読取装置とを制御可能状態とするよう情報処理装置を機能させる。また、制御プログラムは、第１ドライバと第２ドライバとの起動状態において、第１情報読取装置で読み取る第１読取情報と、第２情報読取装置で読み取る第２読取情報との結合処理を実行するよう情報処理装置を機能させる。このようなプログラムを本発明の情報読取処理プログラムとし、本発明の目的は達成される。
【０２２７】
この場合、記憶媒体から読み出されたプログラムコード自体が本発明の新規な機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【０２２８】
従って、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳ（オペレーティングシステム）に供給するスクリプトデータ等、プログラムの形態を問わない。
【０２２９】
プログラムを供給するための記憶媒体としては、例えばフレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＭＯ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ等がある。また、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＤＶＤ等がある。
【０２３０】
この場合、記憶媒体から読出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【０２３１】
他に、プログラムの供給方法として、クライアントコンピュータのブラウザを用いてインターネットのホームページや画像読取装置１０１から本発明のコンピュータプログラムをハードディスク装置等の記録媒体にダウンロードすることもできる。もしくは、圧縮され自動インストール機能を含むファイルをハードディスク装置等の記録媒体にダウンロードすることによっても供給できる。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数の操作者に対してダウンロードさせるＷＷＷサーバやｆｔｐサーバ等も本発明の請求項に含まれるものである。
【０２３２】
また、本発明のプログラムを暗号化してＣＤ−ＲＯＭ等の記憶媒体に格納して操作者に配布することも可能である。その場合、所定の条件をクリアした操作者に対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせることができる。そして、その鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現する。
【０２３３】
また、コンピュータが読み出したプログラムコードを実行するだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働するＯＳ等が実際の処理の一部又は全部を行うことでも実現される。
【０２３４】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込む方法も可能である。その場合、プログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部又は全部を行うことでも実現される。
【０２３５】
また、本発明は、複数の機器から構成されるシステムに適用しても、１つの機器からなる装置に適用してもよい。また、本発明は、システムあるいは装置にプログラムを供給することによって達成される場合にも適応できることは言うまでもない。この場合、本発明を達成するためのソフトウェアによって表されるプログラムを格納した記憶媒体を該システムあるいは装置に読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。
【符号の説明】
【０２３６】
１  シートフィードスキャナ
２  ピックアップローラ
３  搬送ローラ
４  分離ローラ
５  ラインイメージセンサ
７  対向面
８ａ  第１ローラ対
８ｂ  第１ローラ対
９  原稿検知センサ
１０  フラットベッドスキャナ
１１  ガラス
１２  ラインイメージセンサ
１３  移動ユニット
１４  スキャナカバー
１５  対向面
２１  Ａ／Ｄ変換部
２２  画像処理部
２３  メモリ
２４  インターフェース部
２５  信号ケーブル
２６  ＣＰＵ
２７  バス
２８  モータドライバ
２９  駆動部
４０  ＰＣ
４８  アプリケーション
４９  スキャナドライバ
５１  ユーザーインターフェース
５２  ユーザーインターフェース
５３  ユーザーインターフェース
【図１】
2011055167.tif 000003
【図２】
2011055167.tif 000004
【図３Ａ】
2011055167.tif 000005
【図３Ｂ】
2011055167.tif 000006
【図３Ｃ】
2011055167.tif 000007
【図４】
2011055167.tif 000008
【図５】
2011055167.tif 000009
【図６】
2011055167.tif 000010
【図７】
2011055167.tif 000011
【図８】
2011055167.tif 000012
【図９】
2011055167.tif 000013
【図１０】
2011055167.tif 000014
【図１１】
2011055167.tif 000015
【図１２】
2011055167.tif 000016
【図１３】
2011055167.tif 000017
【図１４】
2011055167.tif 000018
【図１５】
2011055167.tif 000019
【図１６】
2011055167.tif 000020
【図１７】
2011055167.tif 000021
【図１８】
2011055167.tif 000022
【図１９】
2011055167.tif 000023
【図２０】
2011055167.tif 000024
【図２１】
2011055167.tif 000025
【図２２】
2011055167.tif 000026
【図２３】
2011055167.tif 000027