(57)【要約】【課題】ページ単位で読取条件が異なる場合にも対応するとともに処理時間を短縮した画像読取システムおよび画像読取装置を提供する。【解決手段】本発明の画像読取システムは、コマンドを送信するコマンド送信部と、前記コマンド送信部から送信された読取開始コマンドに応じて１枚目の原稿を所定の読取位置へ給送して原稿画像を読み取り、画像データを前記コマンド送信部へ転送する画像読取部と、２枚目以降の原稿について、前記コマンド送信部から送信された読取開始コマンドに応じて次原稿の給送を開始する第１給送モードと、前記コマンド送信部から送信された読取開始コマンドから独立して次原稿の給送を開始する第２給送モードとの給送モードの切替を行う切替手段とを備える。【選択図】図６
2010183367.tif 000002
【特許請求の範囲】
【請求項１】
コマンドを送信するコマンド送信部と、
前記コマンド送信部から送信された読取開始コマンドに応じて１枚目の原稿を所定の読取位置へ給送して原稿画像を読み取り、画像データを前記コマンド送信部へ転送する画像読取部と、
２枚目以降の原稿について、前記コマンド送信部から送信された読取開始コマンドの受信とは関係なく次原稿の給送を開始する第１給送モードと、前記コマンド送信部から送信された読取開始コマンドを受信した後に次原稿の給送を開始する第２給送モードと、の給送モードの切り替えを行う切替手段とを備える画像読取システム。
【請求項２】
前記画像読取部は、画像データを記憶させるための記憶手段をさらに備え、
前記第１給送モードの場合は、前記記憶手段の空き状況に基づいて２枚目以降の原稿の給送を開始することを特徴とする請求項１に記載の画像読取システム。
【請求項３】
ページごとに読取条件が異なる場合は、前記第２給送モードで原稿を給送することを特徴とする請求項１に記載の画像読取システム。
【請求項４】
前記読取条件は、画像データの取り込み領域、カラー／モノクロ、解像度の少なくともいずれか一つであることを特徴とする請求項３に記載の画像読取システム。
【請求項５】
上位装置から送信された読取開始コマンドに応じて１枚目の原稿を所定の読取位置へ給送して原稿画像を読み取り、画像データを前記コマンド送信部へ転送する画像読取部装置であって、
２枚目以降の原稿について、前記上位装置から送信された読取開始コマンドを受信した後に次原稿の給送を開始する第１給送モードと、前記ホストから送信された読取開始コマンドとは関係なく次原稿の給送を開始する第２給送モードとの給送モードの切り替えを行う切替手段とを備える画像読取装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コマンドを発信するコマンド発信部とコマンド発信部からのコマンドに応じて原稿画像の読み取りを行う画像読取部とを有する画像読取システムおよび画像読取装置に関する。
【背景技術】
【０００２】
パーソナルコンピュータ（以下、ＰＣという）などで構成されるコマンド発信部と、そのコマンド発信部からのコマンドに応じて原稿画像の読み取りを行う画像読取装置とを備える画像読取システムが従来から知られている（例えば特許文献１参照）。画像読取装置が原稿搬送機構を有する場合の画像読取装置システムおける、コマンド発信部と画像読取装置間の従来の画像データの送受信について以下に説明を行う。
【０００３】
図１５に示すように、ＰＣとスキャナ装置は例えばＵＳＢ、ＳＣＳＩ、Ethernet、ＰＣＩｅ、などのインタフェースを介して接続され、ＰＣには、スキャナ装置用ユーザインタフェースのアプリケーションプログラム、スキャナ装置を動作させるためのドライバプログラムが内蔵されている。
【０００４】
まず、ユーザーは、図１６に示すＰＣ画面上に映し出されたアプリケーション画面上で、解像度、原稿サイズ、カラー／モノクロ、などの読取条件の設定を行ったのち（ＳＴＥＰ３０００）、読取開始を指示するスキャンボタンを選択する（ＳＴＥＰ３００１）。ユーザーによるスキャンボタン選択後は、アプリケーションとドライバ、ドライバとスキャナ装置間では図１７に示す以下のようなやりとりが行われる。
【０００５】
まず、アプリケーションがドライバを介してスキャナ装置の初期化を行った後（図示せず）、アプリケーションは１頁目の読取条件設定を要求するコマンド「読取条件コマンド」を送信し、スキャナ装置はドライバを介してこのコマンドを受信する（ＳＴＥＰ３００２）次に、アプリケーションから１頁目の読み取りを要求するコマンド「読取開始コマンド（Start Scan）」が送信され（ＳＴＥＰ３００３）、この読取開始コマンドを受信したスキャナ装置は、１枚目の原稿を読取位置へ搬送し、ＣＣＤなどで構成される読取センサを駆動させて１頁目の原稿画像の読み取りを行う（ＳＴＥＰ３００４）。
【０００６】
次にスキャナ装置は、アプリケーションから１頁目の画像データの転送を要求する「画像データ転送コマンド」を受信し（ＳＴＥＰ３００５）、このコマンド受信後に１頁目の画像データをドライバへ転送し、ドライバはアプリケーションへ送信する（ＳＴＥＰ３００６）。アプリケーションは１頁目の全画像データを受信した後、次原稿があるか否かをスキャナ装置に問合せ（図示せず）、次原稿がある場合は、２頁目の読取条件設定コマンドを送信した後（ＳＴＥＰ３００７）、２頁目の読取開始コマンドを送信する（ＳＴＥＰ３００８）。これらのコマンドはスキャナ装置へ送信される。スキャナ装置は、２頁目の読取開始コマンドを受信してから２枚目原稿を給送して画像読み取りを行う（ＳＴＥＰ３００９）。そして、上記ＳＴＥＰ３００５、３００６と同様に画像データ転送コマンドに応じて画像データの転送を行う（ＳＴＥＰ３０１０）。
【０００７】
上記のように、従来の画像読取システムでは、ページ単位で読取開始コマンドがアプリケーションプログラムから送信され、スキャナ装置はその読取開始コマンドを受けてから次ページの原稿の給送を開始していた。
【０００８】
そのため、スキャナ装置からＰＣへ画像データの転送を行っている間、スキャナ装置側は次原稿の読取ができる状況にあったとしても、次原稿の給送および読取を行うことはできず、処理全体に掛かる時間が長くなってしまっていた。
【０００９】
そこで、処理時間を短縮させるものとして出願人は、特願２００８−１５７４３６の出願を行った。この出願では、２枚目以降の原稿については、スキャナ装置は、読取開始コマンドの受信の有無に係らず、メモリの容量に基づいて、すなわちメモリの空き容量があれば次原稿の給送・読み取りを行うようにすることで処理時間の短縮を図っている。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】特開平１０−２６０９２７号公報
【発明の概要】
【発明が解決しようとする課題】
【００１１】
しかし、従来の方法は、前原稿と次原稿の読取条件（解像度、カラー／モノクロ、読取領域など）が同じであることを前提としているため、例えばページ単位で読取位置や解像度が異なる場合、対応できないという問題があった。
【００１２】
本発明はページ単位で読取条件が異なる場合にも対応するとともに処理時間を短縮した画像読取システムおよび画像読取装置を提供することを課題としている。
【課題を解決するための手段】
【００１３】
本発明の画像読取システムは、コマンドを送信するコマンド送信部と、前記コマンド送信部から送信された読取開始コマンドに応じて１枚目の原稿を所定の読取位置へ給送して原稿画像を読み取り、画像データを前記コマンド送信部へ転送する画像読取部と、２枚目以降の原稿について、前記コマンド送信部から送信された読取開始コマンドに応じて次原稿の給送を開始する第１給送モードと、前記コマンド送信部から送信された読取開始コマンドから独立して次原稿の給送を開始する第２給送モードとの給送モードの切替を行う切替手段とを備えることを特徴としている。
【００１４】
また、本発明の画像読取装置は、上位装置から送信された読取開始コマンドに応じて１枚目の原稿を所定の読取位置へ給送して原稿画像を読み取り、画像データを前記コマンド送信部へ転送する画像読取部装置であって、２枚目以降の原稿について、前記上位装置から送信された読取開始コマンドを受信した後に次原稿の給送を開始する第１給送モードと、ホストから送信された読取開始コマンドとは関係なく次原稿の給送を開始する第２給送モードとの給送モードの切替を行う切替手段とを備えることを特徴としている。
【発明の効果】
【００１５】
本発明は、前記コマンド送信部から送信された読取開始コマンドに応じて次原稿の給送を開始する第１給送モードと前記コマンド送信部から送信された読取開始コマンドから独立して次原稿の給送を開始する第２給送モードとを切り替える切替手段を備えているため条件に応じて両給送モードを使い分けることが可能である。つまり全ページの読取条件が同じ場合は第２給送モードとすることで処理時間を短縮することができ、ページ単位で読取条件が異なる場合は、第１給送モードとすることでページ単位で所定の読取条件で読み取ることが可能となる。
【図面の簡単な説明】
【００１６】
【図１】画像読取システムの一部を構成するスキャナ装置の全体説明図である。
【図２】画像読取システムのブロック図である。
【図３】スキャナ装置における画像データ取得手順を示す説明図である。
【図４】ドライバとアプリケーションの画像データの送受信方法を示す図である。
【図５】アプリケーションのユーザー設定画面を示す図である。
【図６】第１給紙モードの実施例１の処理手順を示す図である。
【図７】第１給紙モードの実施例２の処理手順を示す図である。
【図８】アプリケーションのユーザー設定画面を示す図である。
【図９】第２給紙モードの処理手順を示す図である。
【図１０】第１給紙モードの実施例１におけるアプリケーションで実行する処理の詳細を示すフローチャートである。
【図１１】第１給紙モードの実施例１におけるドライバで実行する処理の詳細を示すフローチャートである。
【図１２】第１給紙モードの実施例１におけるスキャナ装置で実行する処理「転送処理」の詳細を示すフローチャートである。
【図１３】第１給紙モードの実施例１におけるスキャナ装置で実行する処理「読取処理」の詳細を示すフローチャートである。
【図１４】第１給紙モードの実施例１におけるスキャナ装置で実行する処理「原稿搬送処理」の詳細を示すフローチャートである。
【図１５】従来技術における画像読み取りシステムを示す図である。
【図１６】従来技術におけるアプリケーションのユーザー設定画面を示す図である。
【図１７】従来技術における画像読取システムの実行する処理手順を示す図である。
【発明を実施するための形態】
【００１７】
画像読取システム構成は、従来技術の図１５と同様、コマンド送信部としてのパーソナルコンピュータ（以下ＰＣという）１と、画像読取装置としてのスキャナ装置Ｂとを有している。本実施例ではＰＣ１とスキャナ装置ＢとはＵＳＢインタフェースを介して接続されているが、従来技術と同様、ＰＣ１とスキャナ装置Ｂとは例えばＵＳＢ、ＳＣＳＩ、Ethernet、ＰＣＩｅ等のインタフェースを介して接続され、その間が有線でも無線でも構わない。さらにまたスキャナ装置Ｂは、プリンタ、ファクシミリなどの各種機能を備えた複合機でも構わず、原稿から画像データを取得し、コマンド送信部へ画像データを転送するものであればよい。
【００１８】
［コマンド送信部（ＰＣ）の構成］
本実施例のＰＣ１は広く知られているパーソナルコンピュータで構成され、中央処理装置（以下「ＣＰＵ」という）２と、ハードディスクなどで構成される記憶装置３と、キィボードなどの入力装置５と、ディスプレイなどの出力装置６、画像データなどを一時的に記憶するメモリのＲＡＭ「Ｄ」、ＲＡＭ「Ａ」を備えている。記憶装置３にはオペレーティングシステム（ＯＳ）プログラム３ａ、スキャナ装置Ｂのユーザインタフェースとなるアプリケーションプログラム３ｂ、スキャナ装置Ｂを動作させるドライバプログラム３ｃがそれぞれ記憶されており、ＣＰＵ２はキャッシュを使用しながら（不図示）これらの各種プログラムを実行する。アプリケーションプログラム３ｂとドライバプログラム３ｃはＴＷＡＩＮ、ＩＳＩＳ、ＷＩＡ等の規格に準じてコマンドのやりとりをするよう構成されている。なお、アプリケーションプログラム３ｂは例えばドキュメント作成、画像編集、ＤＴＰなどの画像データを処理するように構成されても構わない。
【００１９】
［スキャナ装置の構成］
図１にスキャナ装置Ｂの構成を示す。このスキャナ装置Ｂは原稿シートを載置する給紙スタッカ１１と、排紙スタッカ１２と、この給紙スタッカ１１から排紙スタッカ１２に原稿シートを案内する搬送経路１３と、搬送経路１３に配置された読取プラテン１４ａ、１４ｂとを備えている。読取プラテンは搬送経路１３を移動する原稿シートの裏面画像を読取る第１プラテン１４ａと表面画像を読取る第２プラテン１４ｂで構成されている。図示の装置は、上述の給紙スタッカ１１から排紙スタッカ１２に移動する原稿シートの表裏画像を読取る第１第２プラテン１４ａ、１４ｂとは別に原稿シートを静止セットする第３プラテン（フラットベッドプラテン）１５が設けられている。この第３プラテン１５は上記第２プラテン１４ｂと略々同一平面を形成するようにケーシング１０の上面に配置されている。
【００２０】
上記第１プラテン１４ａには搬送経路１３を所定速度で移動する原稿シートの裏面画像を第１読取位置Ｒ１で読み取る第１画像読取ユニット１６が配置され、上記第２プラテン１４ｂには原稿シートの表面画像を第２読取位置Ｒ２で読み取る第２画像読取ユニット１７が配置されている。この第２画像読取ユニット１７は上記第３プラテン１５上に載置セットされた原稿シートの画像を読み取るように第２、第３プラテン１４ｂ、１５の間で位置移動可能に構成されている。キャリッジ１７ｘはキャリッジ移動モータＭｃに連結された走行ベルト１８に連結されている。従ってこのキャリッジ移動モータＭｃの回転制御によってキャリッジ１７ｘは第２プラテン１４ｂと第３プラテン１５の直下に選択的に位置づけられ、第３プラテン１５では、このプラテン上にセットされた原稿シートに沿って移動しながらその画像を読み取るように構成されている。
【００２１】
［画像読取ユニットの構成］
上記第１画像読取ユニット１６と第２画像読取ユニット１７とは、同一の構成であるので同一番号を付してその一方について説明する。図示画像読取ユニット１６（１７）は縮小光学系で画像読み取りする場合を示す。光源２１から第１第２プラテン１４ａ、１４ｂに光を照射し、プラテンを通過する原稿からの反射光を、ミラー２２を介して集光レンズ２３に導き、この集光レンズ２３で読取センサ上に結像する。図示の読取センサ２４ａ、２４ｂはＣＣＤなどの光電変換素子で構成され、集光レンズ２３からの撮像光を電気信号に変換して出力する。
【００２２】
［給紙手段の構成］
上記給紙スタッカ１１は複数の原稿シートを載置するトレイで構成され、このトレイには原稿の有無を検出するトレイセンサＳｔが設けられている。そしてこの給紙スタッカ１１には原稿シートを繰り出すピックアップローラ２５と、このピックアップローラ２５で繰り出されたシートを１枚に分離する分離ローラ２６と、この分離ローラ２６から送られた原稿シートを一時的に待機させるレジストローラ２７が配置されている。また、このレジストローラ２７の下流側には第１フィードローラ２８と第２フィードローラ２９が設けられている。そこで原稿シートは、給紙スタッカ１１からピックアップローラ２５と分離ローラ２６で１枚に分離してレジストローラ２７に給送され、このレジストローラ位置で一時停止した後、レジストローラ２７を駆動回転して下流側の第１第２フィードローラ２８、２９に原稿シートを給送する。
【００２３】
従って図１に示す装置は原稿シートを第１第２プラテン１４ａ、１４ｂに向けて給送する給紙手段は、上記レジストローラ２７と第１第２フィードローラ２８、２９で構成され、これらのローラはフィードモータＭｆに連結され、同一周速度で原稿を給送するように構成されている。つまり図１の装置は給紙スタッカ１１から先の原稿を読取プラテン１４ａ（１４ｂ）に向けて給送した後、後続する次原稿を給紙スタッカ１１から繰り出して分離し、その下流側のレジストローラ位置に待機させる（先出し待機制御）。そして後述する所定のタイミングでレジストローラ２７から第１プラテン１４ａに原稿シートを給送する制御を前提としている。
【００２４】
尚本発明にあって第１プラテン１４ａに原稿シートを給送する給紙手段を上述のピックアップローラ２５、分離ローラ２６とレジストローラ２７、第１第２フィードローラ２８、２９で構成することも可能である。この場合には後述するＣＰＵ４１の制御によりピックアップローラ２５と分離ローラ２６を駆動回転して給紙スタッカ１１から原稿シートを繰り出して１枚に分離する。次いでこの給紙スタッカ１１から送られた原稿シートを第１プラテン１４ａに向けてレジストローラ２７と第１第２フィードローラ２８、２９で給送するように制御する。
【００２５】
上記搬送経路１３には第１プラテン１４ａの下流側に第３フィードローラ３０が配置され、第１プラテン１４ａからの原稿を第２プラテン１４ｂに給送し、この第２プラテン１４ｂの下流側にはプラテン面から原稿シートを掬い上げる搬出ローラ３１と、排紙ローラ３２がそれぞれこの順に配置されている。排紙ローラ３２は搬出ローラ３１からの原稿シートを排紙スタッカ１２に搬出するように構成されている。
【００２６】
［給紙手段の駆動機構］
上述の給紙スタッカ１１及び搬送経路１３に配置された各搬送ローラの駆動機構は例えば次のように構成する。上記ピックアップローラ２５と分離ローラ２６は給紙モータＭｋに連結され、この給紙モータＭｋの正回転でピックアップローラ２５と分離ローラ２６を給紙方向に回転させる。これと共にこの給紙モータＭｋの回転でピックアップローラ２５は給紙スタッカ上方の待機位置からスタッカ上の最上シートの上に降下するように構成する。また給紙モータＭｋの逆回転でピックアップローラ２５を給紙スタッカ上方の待機位置に上昇させて待機させる。
【００２７】
上記給紙モータＭｋの正逆転によって給紙スタッカ上の原稿シートは１枚に分離され、レジストローラ２７に繰り出され、この位置に待機することとなる。そこで上記レジストローラ２７と第１第２第３フィードローラ２８、２９、３０はそれぞれ同一周速度で原稿シートを給送するようにフィードモータＭｆに連結されている。従ってＣＰＵ４１はこのフィードモータＭｆを正回転させて所定方向に回転することによって原稿シートを搬送経路１３に沿って第１プラテン１４ａ、第２プラテン１４ｂの順に所定速度で給送することとなる。
【００２８】
［給紙センサの構成］
上述の搬送経路１３には図２に示すように、レジストセンサＳｒ、第１リードセンサＳｅ１、第２リードセンサＳｅ２、排紙センサＳｈが配置されている。レジストセンサＳｒは分離ローラ２６とレジストローラ２７の間に配置され給紙スタッカ１１から送られた原稿シートの先端がレジストローラ位置に到達したのを検出する。第１リードセンサＳｅ１は第１プラテン１４ａの上流に配置され、レジストローラ２７から送られた原稿シートの先端を検知する。上記第２リードセンサＳｅ２は第２プラテン１４ｂの上流に配置され、第３フィードローラ３０から送られた原稿シートの先端を検知する。また排紙センサＳｈは搬出ローラ３１から送られた原稿シートの前後端を検知する。
【００２９】
そして上記第１リードセンサＳｅ１と第２リードセンサＳｅ２はシートの先端を検出して下流側の第１読取プラテン１４ａ及び第２読取プラテン１４ｂにおける画像読取りの開始位置と読取り終了位置を設定する基準信号として使用され、また、上記各センサＳｅ１、Ｓｅ２はシート前後端を検知し、原稿シートのジャムを判断する検出信号として使用される。上記給紙スタッカ１１には図示しないがトレイ上に載置された原稿シートのサイズを検出するサイズ検知センサが配置されていても構わない。本実施例では、後述の通り、ＰＣ１からユーザーが原稿サイズを指定する。
【００３０】
ＣＰＵ４１（後述）は上記レジストセンサＳｒからの原稿後端の通過信号に基づいて上記ピックアップローラ２５と分離ローラ２６の給紙モータＭｋを回転起動して後続シートをレジストローラ位置に繰り出す。またＣＰＵ４１は、第１リードセンサＳｅ１のシート後端検知信号を基準に後述する条件の下で後続シートをレジストローラ位置から第１プラテン１４ａに向けて給送する。
【００３１】
［スキャナ装置の制御構成］
スキャナ装置Ｂには図２に示すコントロールボード（以下「スキャナコントローラ」という）４０が設けられている。このスキャナコントローラ４０はスキャナ装置Ｂを制御するＣＰＵ４１と、その制御用プログラムを記憶するＲＯＭ４２と、画像データや画像データに関する情報等を一時的に格納するための記憶手段（ＲＡＭ）４３と、読取センサ２４ａ（２４ｂ）からの画像信号を補正処理するＤＳＰ４４ａ（４４ｂ）と、スキャナ装置Ｂの制御ポート４５と、画像データを外部に転送するためのＵＳＢコントローラ４８を備えている。ＣＰＵ４１は前述した読取センサ２４ａ、２４ｂ（図２に示すＣＣＤ１、ＣＣＤ２）、光源２１（図２に示すランプ１、ランプ２）、及び給紙モータＭｋ、フィードモータＭｆなどを制御する制御プログラムを実行するＩＣチップで構成されている。このＣＰＵ４１は、ＲＯＭ４２に記憶されている制御プログラムを実行して動作制御部としても機能すると共に、記憶手段（ＲＡＭ）４３を制御するメモリコントロール部としても機能する。また、後述するように、ＰＣ１からの情報に応じて給紙モードを切り替える切替手段としての機能も備えている。
【００３２】
また、記憶手段（ＲＡＭ）４３には、ＤＳＰ４４ａ（４４ｂ）で処理する前の画像データを一時的に格納するための領域である画処理用バッファ４３ａとＤＳＰ４４ａ（４４ｂ）で処理後の転送される画像データを一時的に格納するための領域である転送用バッファ（転送データ用記憶手段）４３ｂ、転送単位の各画像データ（ブロック画像データ）に関する情報を記憶するための情報レジスタ４３ｃ、読み取る次の原稿があるか否かの情報を記憶するための次原稿情報レジスタ４３ｄを有している。
【００３３】
上記制御構成について説明すると、ＣＰＵ４１から制御ポート（ＧＰＩＯ）４５を介してキャリッジ移動モータＭｃと給紙モータＭｋとフィードモータＭｆを制御するようにそれぞれのドライバ回路に制御コマンドが伝達され、各モータの起動、停止と回転速度が制御されるようになっている。同様にこの制御ポート（ＧＰＩＯ）４５を介して第１第２画像読取ユニット１６、１７の光源（ランプ１，ランプ２）２１が点灯制御される。一方、前述のトレイセンサＳｔと、レジストセンサＳｒと、第１第２リードセンサＳｅ１、Ｓｅ２と、排紙センサＳｈの検出信号は制御ポート（ＧＰＩＯ）４５を介してＣＰＵ４１に伝達されるようになっている。
【００３４】
原稿シートの裏面画像を読取る第１読取センサ（ＣＣＤ１）２４ａと表面画像を読み取る第２読取センサ（ＣＣＤ２）２４ｂからの画像データは図示しないコンバータでデジタル信号に変換されゲートアレイ（ＦＰＧＡ）４７、スキャナインタフェース（ＳＣ  Ｉ／Ｆ）４６を介してデータバス取り込まれる。この画像データは画処理用バッファ４３ａに蓄えられ、裏面画像用プロセッサ（ＤＳＰ１）４４ａ、または表面画像用プロセッサ（ＤＳＰ２）４４ｂで画像処理され、転送用バッファ４３ｂに一時的に記憶される。この転送用バッファ４３ｂのデータは、後述する情報添付手段４９によって画像情報が添付された後データ転送手段（ＵＳＢコントローラ）４８を介して外部装置に転送される。
【００３５】
［ＰＣの制御構成］
上記ＰＣ１におけるデータ転送に関する制御構成について図４に基づいて説明する。図４は、ＰＣ１の画像データ転送処理に係るドライバとアプリケーションの各機能を概念的に示したものである。ＣＰＵ２はドライバプログラム３ｃに従って読取モード（片面モード／両面モード）に応じて画像データを一時書込むためのメモリエリア（ＭＡ１，ＭＡ２，ＭＢ１，ＭＢ２）をＲＡＭ「Ｄ」に設定するとともに、各メモリエリアの状態を監視する。ドライバプログラム３ｃは、両面モードの場合は、ＲＡＭ「Ｄ」に表面画像データ２枚分の画像データを格納可能なメモリエリアＭＡ１、ＭＡ２と裏面画像データを格納可能な２枚分のメモリエリアＭＢ１、ＭＢ２が設定するよう構成され、片面モードの場合は、ＲＡＭ「Ｄ」に表面画像データ２枚分の画像データを格納可能なメモリエリアＭＡ１、ＭＡ２のみが設定されるよう構成されている。そして各メモリエリアにはスキャナ装置Ｂのデータ転送手段（ＵＳＢコントローラ）４８からＰＣのデータ受信手段（ＵＳＢコントローラ）５０を介して画像データが転送されそれぞれ記憶される。
【００３６】
一方、ＣＰＵ２は、アプリケーションプログラム３ｂに従って、ＲＡＭ「Ａ」に１ページ分の画像データが記憶可能なメモリエリアＭＸを設定し、上記ＲＡＭ「Ｄ」（ＭＡ１，ＭＡ２，ＭＢ１，ＭＢ２）から画像データを引き受けるよう構成される。
【００３７】
またＣＰＵ２は、カウンタ１（５１）、カウンタ２（５２）を使用してメモリ監視プログラムに従って、スキャナ装置Ｂから転送されてくる画像データ（後述、ブロック画像データ）に添付された「最終ブロック」情報をカウントする処理と、アプリケーションから送信されるストップコマンド、ＳＴＯＰ）の数をカウントする処理を行い、これらのカウント情報を使用して、アプリケーションからの「次原稿あるか否か」の問合せに対する回答、転送するバッファの選択、画像データを書込むバッファの選択等を行っている。上記構成の画像読取システムを用いて、二つの給紙モードについて以下に説明を行う。
【００３８】
［第１給紙モード（片面読取モードで全ページ読取条件同一の場合）］
（実施例１）
まず、片面読取モードで全ページの読取条件が同一の場合を例に第１給紙モードについて図５及び図６を使用して概略説明する。
【００３９】
まず、ユーザーがＰＣ１の出力装置６のディスプレイ上でスキャナのユーザインタフェースであるアプリケーション画面を立ち上げると、図５（ａ）に示す給紙方法選択画面が映し出される。この画面では、自動給紙モードかフラットベッドモードを使用するかを選択でき、さらに自動給紙モードの場合は、片面読取モードと両面読取モードとが選択できるようになっている。そして片面読取モードの場合は、全ページ同一の読取条件で読み取る「全ページ同一条件」とページ毎に読取条件を設定できる「ページ毎に条件設定」とが選択できるようになっている。本実施例では、両面読み取りの両面同一条件の場合も第１給紙モードが適用されるよう構成したが、ここでは、片面読み取りモードの「全ページ同一条件」を例に説明する。
【００４０】
上記の給紙方法選択画面上でユーザーが「全ページ同一条件」を選択すると、図５（ｂ）に示す読取条件設定画面が映し出される。このページでは、全ページ共通の読取条件（画像イメージ（カラー／モノクロ）、解像度、原稿サイズ）が設定可能となっており、ユーザーはそれぞれ希望の条件を選択し（ＳＴＥＰ１０００）、読み取りを開始するスキャンボタンを選択（クリック）する（ＳＴＥＰ１００１）。
【００４１】
上記のステップで「全ページ同一条件」の選択による「全ページ同一条件」設定コマンドがドライバへ送信され、これと同コマンドがＤＰからスキャナ装置Ｂへ送信される（ＳＴＥＰ１００２）。これに続けてＳＴＥＰ１００３では、ＳＴＥＰ１０００で設定された全ページ共通の読取条件の（画像イメージ（カラー／モノクロ）、解像度、原稿サイズ）読取条件設定コマンドが、ＳＴＥＰ１００４では読取開始を要求するコマンド「読取開始コマンド（１ページ目、Start Scan）」がアプリケーションからドライバへ送信され、ドライバからは各コマンドと同様コマンドがスキャナ装置Ｂへ送信される。
【００４２】
この「読取開始コマンド（１ページ目、Start Scan）」を受けたスキャナ装置Ｂは、以下に説明するように、２ページ目以降の読み取りは、読取開始コマンドを受信かしたかに係わらずメモリ（ＲＡＭ４３）の空き容量に応じて次ページ原稿の給送を開始して読み取りを行う。すなわち、スキャナ装置ＢのＣＰＵ（切替手段）４１は、コマンド送信部（アプリケーション）からの情報（「全ページ同一条件」）にもとづいて第１給紙モードを選択している。ＳＴＥＰ１００５では画像データの送信を要求するコマンド「データ転送コマンド（１ページ目）」をドライバへ送信する。
【００４３】
スキャナ装置Ｂはドライバからの「読取開始コマンド（１ページ目、Start Scan）」を受信すると、給紙モータＭｋ、フィードモータＭｆを駆動させて給紙スタッカ１１上の１枚目の原稿を第２読取位置Ｒ２へ向けて搬送させるとともに、ＣＣＤ２（２４ｂ）により原稿画像の読み取りを行う（ＳＴＥＰ１００６）。
【００４４】
スキャナ装置ＢはＳＴＥＰ１００５のアプリケーションからの「画像データ転送コマンド」をドライバを介して受けると、１ページ目の原稿の読み取りを行いながら順に画像データをドライバへ送信し、さらにドライバはアプリケーションへ画像データを送信する（ＳＴＥＰ１００７）。ここでスキャナ装置Ｂは１ページ目原稿の搬送・読み取りを行っているが、ＲＡＭ４３の転送用バッファ４３ｂと画処理用バッファ４３ａにそれぞれ２枚目原稿の１ページ分の画像データが記憶するに十分な空き容量があることが確認されると、２枚目の原稿の給送を開始するとともに、ＣＣＤ２（２４ｂ）で２枚目の原稿の読み取りを開始する。この場合、読み取り条件は全ページ共通なので、先に送られてきた１ページ目の読取条件と同条件で読み取りを行う（ＳＴＥＰ１００８）。
【００４５】
スキャナ装置Ｂは、ドライバのメモリ（ＲＡＭ「Ｄ」）の空き状況に応じて２ページ目の読み取りを行いながら（２ページ目の画像データをドライバへ送信するが（ＳＴＥＰ１００９）、ドライバはアプリケーションから２ページ目の「画像データ転送コマンド」を受けていないので、アプリケーションへの画像転送は行わない。なお、図６では、１ページ目の全画像データをドライバへ転送完了後にスキャナ装置Ｂは２枚目（１ページ目）原稿の搬送・読み取り開始することが記載されているが、２枚目原稿の給送は上記の通りＲＡＭ４３の転送用バッファ４３ｂと画処理用バッファ４３ａにそれぞれ２枚目原稿の１ページ分の画像データが記憶するに十分な空き容量があることが確認されれば可能であるので、図中矢印で示すように、１ページ目の画像データ転送中でも構わない。
【００４６】
アプリケーションは１ページ目の全画像データをすべて取得した後、２ページ目の読取開始を要求するコマンド「読取開始コマンド（２ページ目、Start Scan）」（ＳＴＥＰ１０１０）、２ページ目の画像データを送信するよう指示するコマンド「データ転送コマンド（２ページ目、Read Scan）」（ＳＴＥＰ１０１１）をそれぞれドライバへ送信する。２ページ目の画像データはすでにドライバへ転送済みでドライバのＲＡＭ「Ｄ」へ格納済みなので、ＳＴＥＰ１０１１のデータ転送コマンド（２ページ目）を受けたドライバは、アプリケーションへ２ページ目の画像データを送信する。
【００４７】
上述の通り、第１給紙モードでは画像データを記憶するメモリ（ＲＡＭ４３）に所定の空き容量ができると次原稿の給送を開始するようにしたので、アプリケーションおよびドライバからの読取開始コマンドを待つ必要がなくなり、よって全体の処理時間を短くすることが可能となる。
【００４８】
（実施例２）
第１給紙モードの別の実施例２について図７を用いて説明する。１ページ目の画像データをアプリケーションに転送するまで（ＳＴＥＰ１００１〜ＳＴＥＰ１００７）は実施例１と同様なので、説明を省略する。実施例２では、上記実施例１と同様、ＲＡＭ４３の転送用バッファ４３ｂと画処理用バッファ４３ａにそれぞれ２枚目原稿の１ページ分の画像データを記憶するに十分な空き容量があることが確認されると、２枚目の原稿の給送を開始する点では同じであるが、画像データの保管場所が異なる。
【００４９】
図６に示したように、実施例１では、ＳＴＥＰ１００８で２枚目原稿の給紙・読み取りを開始し、ＳＴＥＰ１００９でスキャナ装置Ｂからドライバへ２ページ目の画像データが転送される。そしてアプリケーションから２ページ目の「画像データ転送コマンド」がドライバへ送信されてくるまでは２ページ目の画像データはドライバのＲＡＭ「Ｄ」のメモリ領域に保管され、２ページ目の画像データ転送コマンドを受信するとドライバは画像データをアプリケーションへ送信するようになっている。そして、２ページ目以降の読取開始コマンド（Start Scan）および画像データ転送コマンド（Read Scan）はスキャナ装置Ｂには送信されない。このように、実施例１ではアプリケーションから送信されるコマンドとスキャナ装置Ｂの給紙開始のタイミングとが非同期となっているが、ドライバ（ＣＰＵ２）がそのメモリ（ＲＡＭ「Ｄ」）を使用して両者のタイミングの調整を図っているのである。
【００５０】
これに対し実施例２では、スキャナ装置ＢのＣＰＵ４１が調整を行う。図７に示すように、ＳＴＥＰ１００８で実施例１と同じタイミングで２枚目原稿の給紙を開始するが、その画像データは、アプリケーションから２ページ目の「画像データ転送コマンド（Read Scan）」が送信されてくるまではスキャナ装置ＢのＲＡＭ４３（４３ａまたは４３ｂ）に保管され、２ページ目の画像データ転送コマンド（Read Scan）を受信するとドライバは画像データを送信するようになっている。
【００５１】
ＳＴＥＰ１０１２、ＳＴＥＰ１０１３で２ページ目の読取開始コマンド（Start Scan）、画像データ転送コマンド（Read Scan）が送信されるとドライバを介して各コマンドがスキャナ装置Ｂへ送信される。これを受けてスキャナ装置Ｂは、ドライバへ２ページ目の画像データを送信し、さらにドライバはアプリケーションへ送信する（ＳＴＥＰ１０１４）。
【００５２】
実施例１ではアプリケーションからの画像データ転送コマンドがくるまでドライバで、すなわちＰＣ側のメモリに画像データを保管するためスキャナ装置のメモリ容量を多く用意する必要がないが、実施例２ではスキャナ装置内にメモリ容量を多く用意する必要がある。
【００５３】
［第２給紙モード（片面読取モードでページごとに読取条件を異ならせる場合）］
片面読取モードでページごとに読取条件を異ならせる場合を例に第２給紙モードについて図８及び図９を使用して概略説明する。
【００５４】
図５（ａ）で示した給紙方法選択画面でユーザーが「ページ毎に条件設定」を選択すると、図８（ａ）で示す１ページ目の読取条件設定画面が映し出される。この画面では、１ページ目の読取条件（画像イメージ（カラー／モノクロ）、解像度、原稿サイズ）が設定可能となっており、ユーザーはそれぞれ希望の条件を選択する。１ページ目の読取条件を設定した後、「次ページへ」のボタンを選択すると、図８（ｂ）に示す２ページ目の読取条件設定画面が映し出され、２ページ目の読取条件を設定する。このようにしてユーザーはページ毎の読取条件を設定するが、２ページ目以降の読取条件設定画面では読取開始を選択するスキャンボタンが追加されているので、ユーザーは最終ページの条件設定を行った後、このスキャンボタンを選択することで原稿の読取を開始することが可能となっている。そこで、ユーザーは最終ページの読取条件を設定した後（ＳＴＥＰ２０００）、スキャンボタンを選択する（ＳＴＥＰ２００１）。
【００５５】
まず、ＳＴＥＰ２００２では、ＳＴＥＰ２０００で設定した１ページ目の読み取り条件（画像イメージ（カラー／モノクロ）、解像度、原稿サイズ）と、給紙方法選択画面でユーザーが選択した「ページ毎に条件設定」とを含む「読取条件設定コマンド」がアプリケーションから送信され、同コマンドがドライバを介してスキャナ装置Ｂへ送信される。これに続けてＳＴＥＰ２００３では読取開始を要求するコマンド「読取開始コマンド（１ページ目、Start Scan）」がアプリケーションからドライバへ送信され、ドライバからは同様コマンドがスキャナ装置Ｂへ送信される。この「読取開始コマンド（１ページ目、Start Scan）」を受けたスキャナ装置Ｂは、以下に説明するように、全ページにおいてアプリケーションからの「読取開始コマンド（１ページ目、Start Scan）」を受けてから次原稿の給送を開始して読み取りを行う。すなわち、スキャナ装置ＢのＣＰＵ（切替手段）４１は、コマンド送信部（アプリケーション）からの情報（「ページ毎に条件設定」）にもとづいて第２給紙モードを選択している。
【００５６】
ＳＴＥＰ２００４では画像データの送信を要求するコマンド「画像データ転送コマンド（１ページ目、Read Scan）」をドライバへ送信する。スキャナ装置Ｂはドライバからの「読取開始コマンド（１ページ目、Start Scan）」を受信すると、給紙スタッカ１１上に原稿があることを確認した後、給紙モータＭｋ、フィードモータＭｆを駆動させて給紙スタッカ１１上の１枚目の原稿を第２読取位置Ｒ２へ向けて搬送させるとともに、ＣＣＤ２（２４ｂ）により原稿画像の読み取りを行う（ＳＴＥＰ２００５）。
【００５７】
スキャナ装置Ｂはアプリケーションからの「画像データ転送コマンド」をドライバを介して受けると、１ページ目の原稿の読み取りを行いながら順に画像データをドライバへ送信し、さらにドライバはアプリケーションへ画像データを送信する（ＳＴＥＰ２００６）。
【００５８】
アプリケーションは１ページ目の全画像データをすべて取得した後、２ページ目の読み取り条件（画像イメージ（カラー／モノクロ）、解像度、原稿サイズ）と、給紙方法選択画面でユーザーが選択した「ページ毎に条件設定」情報とを含む「読取条件設定コマンド」がアプリケーションから送信され、同コマンドがドライバを介してスキャナ装置Ｂへ送信される（ＳＴＥＰ２００７、２ページ目以降は、「ページ毎に条件設定」情報は省略しても構わない）。
【００５９】
２ページ目の読取開始を要求するコマンド「読取開始コマンド（２ページ目、Start Scan）」（ＳＴＥＰ２００８）、２ページ目の画像データを送信するよう指示するコマンド「データ転送コマンド（２ページ目、Read Scan）」（ＳＴＥＰ２００９）がそれぞれドライバへ送信さドライバを介してスキャナ装置Ｂへ送信される。スキャナ装置Ｂはドライバからの「読取開始コマンド（２ページ目、Start Scan）」を受信すると、１ページ目と同様、給紙モータＭｋ、フィードモータＭｆを駆動させて給紙スタッカ１１上の２枚目の原稿を第２読取位置Ｒ２へ向けて搬送させるとともに、ＣＣＤ２（２４ｂ）により原稿画像の読み取りを行う（ＳＴＥＰ２０１０）。
【００６０】
上述のように、第２給紙モードでは、２ページ目以降についても１ページ目と同様、読取開始コマンドを受信した後に次ページ原稿の給送を開始する。よって、ページごとに読み取り条件が異なる場合でもそれぞれの読み取り条件で読み取ることが可能となる。
【００６１】
なお、本実施例では、第２給紙モードの例として、片面読取モードでページ毎に読取条件を異ならせる場合を説明したが、このほか、両面読み取りモードで片面毎に読取条件を異ならせる場合（図５（ａ）で「片面毎に条件設定」を選択した場合）や、また、片面モードでページ毎に読み取り領域の設定を変える場合や、両面読取モードで片面毎に読取領域の設定を変える場合などに第２給紙モードは適用が可能である。すなわち、本発明は、両面読取モード、片面読取モードに関わらず、ページ単位で読取条件が異なるか否かで第１給紙モードと第２給紙モードとを切り替えるものである。
【００６２】
さらに、本実施例ではコマンド送信部としてスキャナ装置Ｂとは別体のＰＣ１を例に説明を行ったが、スキャナ装置内部に上記ＰＣ１と同様の機能を有するコマンド送信部（アプリケーションおよびドライバ）を設けて、スキャナ装置内部でコマンドや画像データのやり取りをするようにしても構わない。この場合は、スキャナ装置自身がディスプレイなどの表示部を備え、この表示部の設定画面条でユーザーが各種読み取り条件を設定できるようにすればよい。
【００６３】
第１給紙モードの実施例１の概略は図５及び図６を用いて説明したが、より詳細説明として、アプリケーション、ドライバ、スキャナ装置Ｂごとの処理手順を説明する。なお、アプリケーションの処理は、ＰＣ１のＣＰＵ２がアプリケーションプログラム３ｂに従って実行する処理であり、ドライバの処理はＰＣ１のＣＰＵ２がドライバプログラム３ｃに従って実行する処理であり、スキャナ装置Ｂの処理は、スキャナ装置ＢのＣＰＵ４１がＲＯＭ４２に記憶された制御用プログラムに従って実行する処理である。
【００６４】
［アプリケーション処理手順］
図１０を用いてアプリケーション処理手順について説明する。上述と同様、ユーザーがＰＣ１の出力装置６のディスプレイ上でアプリケーション画面を立ち上げると、図５（ａ）に示す給紙方法選択画面が映し出され、片面読み取りモードの「全ページ同一条件」を選択すると図５（ｂ）の条件設定画面が映し出される。この条件設定画面上で、モノクロ、カラー、グレースケールなど画像に係る設定、解像度設定、原稿サイズをユーザーが選定する。（ＳＴ００１、上記ＳＴＥＰ１０００対応）、読み取りを開始させるスキャンボタンを選択する（ＳＴ００２、上記ＳＴＥＰ１００１対応）と、上記のステップで「全ページ同一条件」の選択による「全ページ同一条件」設定コマンドと、ＳＴ００１で設定された全ページ共通の読取条件（画像イメージ（カラー／モノクロ）、解像度、原稿サイズ）の読取条件設定コマンドがドライバへ送信され、これと同コマンドがＤＰからスキャナ装置Ｂへ送信される（ＳＴ００３、上記ＳＴＥＰ１００２，１００３対応）。フローには記載されていないが、これと同様コマンドをスキャナ装置Ｂへ送信している。
【００６５】
そして、１ページ分の画像データを記憶するだけの十分な領域をＲＡＭ「Ａ」（メモリエリアＭＸ）内に確保した後（ＳＴ００４）、読取開始を要求するコマンド「読取開始コマンド（１ページ目、Start Scan１）、画像データの送信を要求するコマンド「データ転送コマンド（１ページ目、Read Scan１）」をドライバへ送信する。（ＳＴ００５（上記ＳＴＥＰ１００４対応）、ＳＴ００６（上記ＳＴＥＰ１００５対応））。
【００６６】
データ転送コマンド（１ページ目、Read Scan１）」を送信したアプリケーションは、ドライバのＲＡＭ「Ｄ」に１ページ分の画像データが用意できるまで待つこととなる。ドライバのＲＡＭ「Ｄ」に１ページ分の画像データが用意できるとアプリケーションは、予め定められた所定のブロックの画像データを受信し（ＳＴ００７）、そのブロックデータがページの最終ブロックか否か、すなわち１ページ分の画像データを受信したか否かを判断する（ＳＴ００８）。
【００６７】
ステップＳＴ００６からＳＴ００８を繰り返すことによりブロック単位でドライバから画像データを受信し続け、１ページ分の画像データを受信すると、ドライバへ画像データの送信等を停止させる指示（ストップコマンドStop Scan、ＳＴ００９）を出し、１ページ分の画像データをハードディスクなどに記憶し、その後ＲＡＭ「Ａ」を開放する。次に、次ページの画像データが有るか否か（アプリケーションへ送信する画像データがあるか否か）を含めたステータス情報を送るよう指示するコマンド（Get Status）をドライバへ送信する（ＳＴ０１０）。
【００６８】
ドライバからの「次ページ画像データあり／なし情報」を受信し（ＳＴ０１１）、その情報から「次ページ画像データあり／なし」の判断を行い（ＳＴ０１２）、次ページの画像データがない場合は、アプリケーションの処理が終了となる。次ページの画像データがある場合はステップＳＴ００３、ＳＴ００５と同様に各種の読み取り条件（パラメーター）をドライバへ送信、「Start Scan１」をドライバへ送信する（ＳＴ０１３、ＳＴ０１４）。
【００６９】
ここで、ステップＳＴ００６で画像データの送信を指示するコマンド「Read Scan１」をドライバへ送信した後、画像データの受信開始までの待ちの時間は、スキャナ装置Ｂ、ドライバの処理状況に応じて異なる。
【００７０】
１枚目原稿の場合は、アプリケーションからの「Start Scan１」でスキャナ装置Ｂが読み取りを開始するため長くなってしまうが、本発明では２枚目以降の原稿については、後述するようにアプリケーションからの「スキャン開始指示（Start Scan１）」のあるなしに係らず次原稿の搬送を開始させて読み取りを独立して実行するため次原稿の画像データを用意することができるので、この待ち時間を短縮することができるようになった。この待ち時間は原稿枚数分発生するので、読み取る原稿の枚数が多ければ多いほどこの待ち時間の短縮によるシステム全体の処理時間に対する効果は大きくなる。
【００７１】
また、スキャナ装置Ｂは先行して次原稿を読み始めることで、アプリケーションからの画像データ要求があった時点で、すでに次のデータはドライバのＲＡＭ「Ｄ」に保存されている状態が作られ、アプリケーションの待ち時間は非常に短くなる。
【００７２】
［ドライバ処理手順］
図１１を用いてドライバの処理手順について説明する。ステップＳＴ００３によるアプリケーションからの各種の読み取り条件（パラメーター）を受信すると、カウンタ１，２（５１，５２）のカウントをクリア（０）にし（ＳＴ０１５）、２ページ分画像データを記憶できるバッファＭＡ１、ＭＡ２を用意する（ＳＴ０１６）。ステップＳＴ００５によるアプリケーションからの「Start Scan１」を受信すると（ＳＴ０１７）、スキャナ装置Ｂとの間で画像データや情報送受信に関する以下の処理を実行する。
【００７３】
［スキャナ装置との送受信処理］
「スキャン動作開始指示信号（Start Scan２）」、「データ転送の指示コマンド（Read Scan２）」を送信する（ＳＴ０１８、ＳＴ０２７）。なお、１枚目原稿の場合はステップＳＴ０１６で２ページ分の画像データ記憶領域が確保されているので「Start Scan２」を送信するとすぐに「Read Scan２」を送信する。このあと、スキャナ装置Ｂが原稿の読み取りを開始し、１枚目原稿の最初のブロック画像データが転送用バッファＲＡＭ１（４３ｂ）に用意できるまでは待ち時間となるが、これが用意されるとまず、ブロック画像データに関する情報（１）表／裏情報、（２）最終ブロック情報（ページの最終ブロックか否かの情報）、（３）次原稿有無情報、（４）サイズ情報（ブロック画像データのサイズ）が送信されてくるので、これを受信し（ＳＴ０２８）、その情報に応じてＲＡＭ「Ｄ」の２個のバッファのうちどのバッファに格納するかを決定する（ＳＴ０２９）。具体的にはバッファ１のカウント値を２で割り、その余が０の場合は、ＭＡ１（表・奇数）を選択し、その余が１の場合は、ＭＡ２（表・偶数）を選択する。
【００７４】
次にブロック画像データが転送されてくるのでこれを受信し、ステップＳＴ０２９で決定したバッファに書き込む（ＳＴ０３０）、ステップＳＴ０２８で受信した添付情報（最終ブロック情報）からこのブロック画像データがページの最終ブロックデータか否かを判断し（ＳＴ０３１）、最終ブロックデータでない場合は、最終ブロックデータを受信して書き込むまで再びステップＳＴ０２７からＳＴ０３１までを複数回繰り返して１ページ分のブロックデータを取得する。
【００７５】
ステップＳＴ０３１で最終ブロックデータであった場合、すなわち1枚目原稿の全画像データがバッファＭＡ１に書き込まれた場合は、カウンタ１（５１）を１だけプラスさせる（ＳＴ０３２）。そして、この最終ブロックデータの添付情報（すなわち最終ブロックデータの次原稿有無情報）から次原稿があるか否かを判断し（ＳＴ０３３）、次原稿がない場合はスキャナ装置Ｂとの処理は終了となる。
【００７６】
ステップＳＴ０３３で次原稿がある場合は、次ページ（２ページ目）の画像データ１ページ分の空き容量があるか否かをカウンタ１、２（５１，５２）の値から判断し、ない場合は空きができるまで待つ。空きができると、ステップＳＴ０２７に戻ってステップＳＴ０３４までを実行して、スキャナ装置Ｂから次ページ原稿の１ページ分の画像データを取得する。
【００７７】
［アプリケーションとの送受信処理］
また、ステップＳＴ００５によるアプリケーションからの「Start Scan１」を受信した後、ドライバは、アプリケーションとの間で画像データや情報送受信に関する以下の処理を実行する。
【００７８】
ステップＳＴ００６によるアプリケーションからの「Read Scan１」を受信したかを判断し（ＳＴ０１９）、1枚目原稿の全画像データが取得されたか（バッファＭＡ１に1枚目原稿の画像データが書き込まれたか）否かをカウンタ１，２（５１，５２）の情報から判断する（ＳＴ０２０）。具体的には、カウンタ１（５１）がカウンタ２（５２）より1以上大きい値になっていることを確認することで、アプリケーションに送るデータが用意できたと判断する。
【００７９】
１枚目原稿の全画像データを取得していない場合は、それを待つ。そして１枚目原稿の１ページ分の画像データがＭＡ１に書き込まれると、ブロック単位で画像データの転送を開始する（ＳＴ０２１）。ドライバからのブロック単位の画像データを取得するたびにアプリケーションから「Read１」が送信されてくるので、ブロック単位で画像データを送信するたびにステップＳＴ０１９へ戻って、ステップＳＴ０１９からステップＳＴ０２１までのステップを繰り返して1枚目原稿の画像データをアプリケーションへ送信する（すなわちＲＡＭ「Ａ」にＲＡＭ「Ｄ」の１ページ分の画像データをコピーする）。なお、アプリケーションへ送信するバッファの選択は、バッファ２のカウント値を２で割り、その余が０の場合は、ＭＡ１（表・奇数）を選択し、その余が１の場合は、ＭＡ２（表・偶数）を選択する。
【００８０】
そして１枚目原稿の全画像データをアプリケーションへ送信した後も再び「Read」を受信したか否かの判断をステップＳＴ０１９で行うが、上述したように、アプリケーションは１ページ分の画像データを取得すると「Read」を送信せずにストップコマンドを送信するので（ＳＴ００９）、ステップＳＴ０１９では否定判断となり、ステップＳＴ０２２へ進む。
【００８１】
ステップＳＴ０２２ではストップコマンドを受信したか否かの判断を行う。ストップコマンドを受けていない場合は、再びステップＳＴ０１９へ戻る。ステップＳＴ０２２でストップコマンドを受けたことが確認されると、ステップＳＴ０１０によるアプリケーションからの、次ページの画像データがあるか否か（アプリケーションへ送信する画像データがあるか否か）を含めたステータス情報を送るよう指示するコマンド（Get Status）を受けたか否かの判断を行う（ＳＴ０２３）。
【００８２】
このコマンド（Get Status）受けたと判断された場合は、カウンタ１（５１）とカウンタ２（５２）の情報からアプリケーションへ転送する次ページ（２ページ目）原稿の画像データがあるか否かの判断を行う（ＳＴ０２４）。
【００８３】
具体的に説明すると、カウンタ１（５１）のカウント値はＲＡＭ「Ｄ」に書き込んだ画像データのページ数であり、カウンタ２のカウント値はＲＡＭ「Ｄ」からアプリケーションへ送信された画像データのページ数である。したがって、カウンタ１（５１）の値とカウンタ２（５２）の値が等しい場合は、ＲＡＭ「Ｄ」に書き込んだ画像データはすべてアプリケーションへ送信されて、バッファＭＡ１、ＭＡ２いずれも次の画像データの書込が可能な状態である。これとは逆に、カウンタ１（５１）よりもカウンタ２（５２）の値が大きい場合（すなわちカウンタ１の値とカウンタ２の値が等しくない場合）は、ＲＡＭ「Ｄ」にはまだアプリケーションへ送信されていない画像データが残っている状態である。
【００８４】
従ってステップＳＴ０２４でカウンタ1（５１）の値とカウンタ２（５２）の値が等しくないと判断された場合は、次ページ（２ページ目）画像データがあるので、アプリケーションへ次ページ画像データがあるとの情報を送信し（ＳＴ０２５）、ステップＳＴ０１９に戻ってアプリケーションからの「Read１」を待って画像データの送信を行う。
【００８５】
ステップＳＴ０２４でカウンタ1（５１）の値とカウンタ２（５２）の値が等しいと判断された場合は、次ページの画像データがないとの情報をアプリケーション送信し（ＳＴ０２６）、アプリケーションとの間で行われる送受信に関する一連の処理を終了する。
【００８６】
［スキャナ装置の処理手順］
図１２、１３、１４を用いてスキャナ装置Bの処理手順について説明する。ドライバからのＳＴ０１８による「Start Scan２」を受信すると（ＳＴ０３５）、ＣＰＵ４１は原稿搬送処理、読取処理、転送処理をそれぞれ並行して実行する。
【００８７】
［原稿搬送処理］
原稿搬送処理について図１４を用いて説明する。給紙スタッカ１１上に原稿があるか否かの判断をトレイセンサＳｔの出力から（ＯＮか否か）で判断する（ＳＴ０５１，ＳＴ０５２）。なお、給紙スタッカ１１上には読み取りを行いたい面を上側に向けた状態（フェイスアップ）で原稿が載置されている。給紙スタッカ１１上に原稿がある場合は、１ページ目原稿の繰り出しを開始する（ＳＴ０５３）。
【００８８】
給紙モータＭｋを正・逆回転させてピックアップローラ２５を回転させて給紙スタッカ１１上の原稿を繰り出し、分離ローラ２６で一枚に分離し、停止しているレジストローラ２７にその１枚目原稿の先端を突き当てて一時停止させてスキュー修正した後給紙モータＭｋを停止する。そしてレジストローラ２７に到達する直前にその先端がレジストセンサＳｒで検出される。
【００８９】
次にフィードモータＭｆの回転により原稿の給送を開始する（ＳＴ０５４）。フィードモータＭｆを回転させてレジストローラ２７と第１第２第３フィードローラ２８，２９、３０を回転させて１枚目原稿を給送する。第２リードセンサＳｅ２で１枚目原稿の先端が検出されると（ＳＴ０５５）、ＣＣＤ２（２４ｂ）により原稿画像の読み取りを開始する（ＳＴ０５６）。１枚目原稿の読み取りはその後端がＣＣＤ２（２４ｂ）の読取位置を抜けるまで続けられるが、その読み取りの間に次原稿（２枚目原稿）の先出しを次のタイミングで行う。レジストセンサＳｒで１枚目原稿の後端を検出すると、すなわちレジストセンサＳｒがＯＦＦすると（ＳＴ０５７）給紙トレイ１１上に次原稿があるか否かの判断をトレイセンサＳｒの出力から行う。次原稿がない場合は、原稿搬送処理は終了となる（ＳＴ０５８）。
【００９０】
次原稿がある場合は、ステップＳＴ０５３と同様処理により次原稿の繰り出しを行う（ＳＴ０５９）すなわち、給紙モータＭｋを正・逆回転させてピックアップローラ２５を回転させて給紙トレイ上の原稿を繰り出し、分離ローラ２６で一枚に分離し、停止しているレジストローラ２７にその２枚目原稿の先端を突き当てて一時停止させる。そして次原稿のあるなし情報に対応するレジスタ（次原稿情報レジスタ４３ｄ）のフラグを「あり」にセットする（ＳＴ０６０）なお、１枚目原稿の後端がレジストセンサＳｒを抜けるとレジストローラ２７はフィードモータＭｆの駆動が絶たれて停止している。よって２枚目原稿の先端がレジストローラ２７に突き当てられるときレジストローラ２７は停止している。
【００９１】
次に、ステップＳＴ０５７でレジストセンサＳｒで１枚目原稿の後端を検出してからフィードモータＭｆを回転させる駆動パルスが予め定められた所定パルス数に達することが確認されると、すなわち、１枚目原稿との間に予め定められた所定間隔ができることが確認されると（ＳＴ０６１）、ＲＡＭ４３の転送用バッファ４３ａと画処理用バッファ４３ｂにそれぞれ２枚目原稿の１ページ分の画像データが記憶するに十分な空き容量があるか否かの判断を行い（ＳＴ０６２）、空き容量があることが確認されると、フィードモータＭｆの駆動をレジストローラ２７に伝達させて２枚目原稿の給紙を開始する（ＳＴ０６３）。このとき同時に光源２１のランプを点灯する。そしてステップＳＴ０５５に戻って、第２リードセンサＳｅ２で２枚目原稿の先端が検出されるとＣＣＤ２（２４ｂ）でその読み取りが開始される。このように、（１）先行原稿シートの後端検出信号から予め定められた所定長さの原稿間隔を形成でき、（２）転送用バッファ４３ｂに１ページ分の画像データが記憶できる十分な空き容量があるとの二つの条件が整ったときＣＰＵ４１は搬送モータＭｆを回転駆動して２枚目原稿の給送を開始する。
【００９２】
このような手順を給紙スタッカ１１上に載置された原稿がなくなるまで繰り返すことで給紙スタッカ１１上に載置されたすべての原稿の読み取り処理が行われる。上述のように、１枚目原稿の場合は、アプリケーションからの「Start Scan１」に基づいて給送を開始して読み取りを行うが、２枚目原稿の場合は、アプリケーションからの「Star Scan１」のあるなしに関わらず、１枚目原稿との間に予め定められた所定間隔ができること、およびＲＡＭ４３の転送用バッファ４３ａと画処理用バッファ４３ｂにそれぞれ２枚目（次ページ）原稿の１ページ分の画像データが記憶するに十分な空き容量があること、の確認がなされることによって給送を開始させて読み取りを行う。
【００９３】
［読取処理］
原稿の読取処理について図１３を用いて説明する。この読取処理は、図２のＳＣＩ／Ｆ（４６）を介してデータバスに取り込まれた画像データを転送用バッファ４３ｂに書き込むまでの処理手順である。ドライバからのステップＳＴ０１８による「Start Scan２」を受信すると、スキャン準備処理を実行する（ＳＴ０４２）。例えば、ゲイン・オフセット調整、シェーディングデータ取得、さらに本説明では、原稿自動給紙モードなので、第２画像読取ユニット１７を所定のホームポジションから図１の読取位置までの移動などを行う。ＣＰＵ４１は、ＲＡＭ４３の転送用バッファ４３ａと画処理用バッファ４３ｂにそれぞれ１枚目原稿の１ページ分の画像データを記憶するのに十分な空き容量を確保する（ＳＴ０４３）。
【００９４】
原稿搬送処理のステップＳＴ０５６で1枚目原稿の読み取りが開始されると、ＣＣＤ２４ｂからの画像データはＦＰＧＡ（４７）、ＧＰＩＯ（４５）等を介してデータバスに取り込まれ、図３に示すように画処理用バッファ４３ａへの書き込みが開始される（ＳＴ０４４）。そしてＣＣＤ２４ｂの取得した順に１枚目原稿の画像データは画処理用バッファ４３ａに書き込まれていき、それが予め定められた所定ライン数（本実施例では６４ライン）に達すると（ＳＴ０４５）、この６４ライン分の画像データを画処理用バッファ４３ａから取り出してＤＳＰ２（４４ｂ）で種々の処理を実施させ（ＳＴ０４６）、転送用バッファ４３ｂに書込む（ＳＴ０４７）。
【００９５】
そしてＣＰＵ４１は転送用バッファ４３ｂに書き込んだ画像データのライン数をカウントしているので、ステップＳＴ０４７で書き込んだ分のライン数を加算する（ＳＴ０４８）。このカウント数（ライン数）が、ステップＳＴ００１におけるユーザーの設定した原稿サイズ1ページ分のライン数に達したか、すなわちステップＳＴ０４７で転送用バッファ４３ｂに書き込んだ画像データが１枚目原稿の最終ラインか否かを判断し（ＳＴ０４９）、否定判断の場合はステップＳＴ０４４に戻る。そして１枚目原稿の1ページ分の画像データを転送用バッファ４３ｂに書き込むまでステップＳＴ０４５〜ＳＴ０４９を繰り返し、１枚目原稿の1ページ分の画像データの書込が終了したら、ステップＳＴ０６０の「次原稿情報レジスタ４３ｄ」から次原稿があるか否かの判断を行い、ある場合はステップＳＴ０４４〜ＳＴ０４９を繰り返して全原稿について処理を行い、次原稿がない場合本処理は終了となる。
【００９６】
なお、ステップＳＴ０４９で１ページ分の画像データが転送用バッファ４３ｂに書き込まれた時点では、各ブロック画像データに関する情報は（１）表／裏情報、（２）最終ブロック情報（ページの最終ブロックか否かの情報）、（３）サイズ情報（ブロック画像データのサイズ）、が情報レジスタ４３ｃに記憶されている。なお、（４）次原稿有無情報は、ステップＳＴ０６０による次原稿情報レジスタ４３ｄの情報が反映されている。
【００９７】
［転送処理］
画像データをドライバへ転送する転送処理について図１２を用いて説明する。ステップＳＴ０２７によるドライバからの「Read２」を受信したか否かの判断をし（ＳＴ０３６）、肯定判断の場合は、転送用バッファ４３ｂに転送一回分の画像データ（ブロック画像データ、１ＭＢ）があるか否かをメモリコントロール部４１ｂの情報から判断し（ＳＴ０３７）、肯定判断の場合は、情報レジスタ４３ｃにあるそのブロック画像データに関する情報を添付した後、転送する（ＳＴ０３８）。なお、ブロック画像データに関する情報は、情報添付手段４９Ｄ添付され、情報が添付されたブロック画像データがＵＳＢコントローラ４８からＰＣ側のＵＳＢコントローラ５０に送られる。情報添付手段４９は、所定のプログラムに従ってＣＰＵ４１が実行するもので、情報レジスタ４３ｃに記憶されている各ブロック画像データに関する情報を各ブロック画像データに添付する。この場合の情報は、（１）表／裏情報、（２）最終ブロック情報（ページの最終ブロックか否かの情報）、（３）次原稿有無情報、（４）サイズ情報（ブロック画像データのサイズ情報）である。なお、ここでは片面読取モードを例に説明している関係で、（１）の表／裏情報は常に表となっている。そして、ブロック画像データを転送した後はそのブロック画像データが書き込まれていた転送用バッファ４３ｂ内の領域を開放して再び別の画像データを書込可能にする（ＳＴ０３９）。
【００９８】
次に、転送したブロック画像データがページの最終ブロックであるか否かを判断する（ＳＴ０４０）。否定判断の場合は、ステップＳＴ０３６〜ＳＴ０４０を繰り返して（Read２の受信と画像ブロックデータの転送を繰り返して）最終ブロックデータまでブロック画像データの転送を行い、肯定判断の場合は、次ページ原稿ありの情報があるか否かの判断をし（ＳＴ０４１）、次ページありの場合はステップＳＴ０３６〜ＳＴ０４２を繰り返して最終原稿（最終ページ）の最終ブロックデータの転送までを行い、次ページなしの場合は、転送処理は終了となる。
【００９９】
上述の通り、全原稿の読取条件が同一の場合は、アプリケーションからの「スキャン開始指示（Start Scan1）」のあるなしに係らず次原稿の搬送を開始させて読み取りを独立して実行するため次原稿の画像データを用意することができ、アプリケーションが「データ転送の指示コマンド（Read１）」を送信してから次ページ画像データを取得するまでに時間を短縮することができるようになった。したがって、アプリケーションが全ページ分の画像データを取得するまでのシステム全体の処理時間が短くなり、読み取る原稿の枚数が多ければ多いほどこの効果は大きい。
【０１００】
さらに、アプリケーションからの次ページ画像データ有り無しの問い合わせに対し、従来はスキャナ装置Ｂとの通信により有り無し情報をアプリケーションへ送信（転送）していたため、この通信に時間がかかり、「スキャン開始指示（Start Scan１）」、ひいては「データ転送の指示コマンド（Read１）」の送信自体が遅かった。しかし本発明では、画像データに添付された情報（最終ブロック情報）を用いてドライバが回答を行うことで、これらのやり取りをＰＣ内部で行えるようになり、「スキャン開始指示（Start Scan１）」、「データ転送の指示コマンド（Read１）」を送信するまでの時間が短縮され、結果としてシステム全体の処理時間を短くすることができる。この効果も読み取る原稿の枚数が多ければ多いほど大きい。
【符号の説明】
【０１０１】
Ｂ        スキャナ装置（画像読取装置）
Ｒ１      第１読取位置
Ｒ２      第２読取位置
Ｍｆ      フィードモータ
Ｍｋ      給紙モータ
１        パーソナルコンピュータ（ＰＣ）（コマンド送信部）
２        中央処理装置（ＣＰＵ）
３        記憶装置
３ａ      ＯＳプログラム
３ｂ      アプリケーションプログラム
３ｃ      ドライバプログラム
５        入力装置
６        出力装置
１０      ケーシング
１１      給紙スタッカ
１２      排紙スタッカ
１３      搬送経路
１４ａ    第１プラテン
１４ｂ    第２プラテン
１５      第３プラテン
１６      第１画像読取ユニット
１７      第２画像読取ユニット
２１      光源（ランプ１、ランプ２）
２４ａ    第１読取センサ（ＣＣＤ１）
２４ｂ    第２読取センサ（ＣＣＤ２）
４０      コントロールボード（スキャナコントローラ）
４１      ＣＰＵ（切替手段）
４２      ＲＯＭ
４３      記憶手段（ＲＡＭ）
４３ａ    画処理用バッファ
４３ｂ    転送用バッファ（転送データ用記憶手段）
４４ａ    ＤＳＰ１（裏面画像用プロセッサ）
４４ｂ    ＤＳＰ２（表面画像用プロセッサ）
４８      ＵＳＢコントローラ（データ転送手段）
【図１】
2010183367.tif 000003
【図２】
2010183367.tif 000004
【図３】
2010183367.tif 000005
【図４】
2010183367.tif 000006
【図５】
2010183367.tif 000007
【図６】
2010183367.tif 000008
【図７】
2010183367.tif 000009
【図８】
2010183367.tif 000010
【図９】
2010183367.tif 000011
【図１０】
2010183367.tif 000012
【図１１】
2010183367.tif 000013
【図１２】
2010183367.tif 000014
【図１３】
2010183367.tif 000015
【図１４】
2010183367.tif 000016
【図１５】
2010183367.tif 000017
【図１６】
2010183367.tif 000018
【図１７】
2010183367.tif 000019