(57)【要約】【課題】画像読取装置で原稿の両面が読み取られたときに、原稿の両面の画像それぞれに対応するデータを適切に管理し、処理を好適に行える、画像読取装置を動作させるためのコンピュータプログラム及び画像読取システムを提供することを目的とする。【解決手段】画像読取装置を動作させるためのコンピュータプログラムであって、コンピュータを、確保手段と取得手段と格納手段と形成手段として機能させる。確保手段は、第二部分データを格納する第二データ記憶領域と、第一部分データを格納する第一データ記憶領域とを確保する（Ｓ２２０）。取得手段は、第二部分データと第一部分データとを取得する（Ｓ２０４）。格納手段は、第二部分データを第二データ記憶領域に格納し、第一部分データを第一データ記憶領域に格納する（Ｓ２２４）。形成手段は、複数の第二部分データから第二面の第二データを、複数の第一部分データから第一面の第一データを形成する。【選択図】図８
2012182757.tif 000002
【特許請求の範囲】
【請求項１】
原稿を搬送する搬送手段と、搬送手段によって搬送される原稿の第一面の反対側の面である第二面を読み取る上流側読取手段と、前記上流側読取手段より原稿の搬送方向の下流側に設けられ、搬送手段によって搬送される上流側読取手段で第二面が読み取られた原稿の第一面を読み取る下流側読取手段と、を有する画像読取装置を動作させ、第二面の画像に対応する第二データと、第一面の画像に対応する第一データと、を形成するためのコンピュータが読み取り可能なコンピュータプログラムであって、
前記コンピュータを、
第二面の画像の全部の部分について、前記上流側読取手段で読み取られた第二面の画像の一部に対応する第二部分データを格納する第二データ記憶領域と、第一面の画像の全部の部分について、前記下流側読取手段で読み取られた第一面の画像の一部に対応する第一部分データを格納する第一データ記憶領域と、を前記コンピュータが有する記憶手段に確保する確保手段と、
第二部分データを、第二面の画像の全部の部分について、繰り返して取得し、第一部分データを、第一面の画像の全部の部分について、繰り返して取得する取得手段と、
前記取得手段で繰り返して取得された第二部分データを、順次、前記第二データ記憶領域に格納し、前記取得手段で繰り返して取得された第一部分データを、順次、前記第一データ記憶領域に格納する格納手段と、
前記格納手段によって、第二面の画像の全部に対応する、複数の第二部分データが前記第二データ記憶領域に格納された状態で、複数の第二部分データから、第二データを形成し、前記格納手段によって、第一面の画像の全部に対応する、複数の第一部分データが前記第一データ記憶領域に格納された状態で、複数の第一部分データから、第一データを形成する形成手段と、して機能させるためのコンピュータプログラム。
【請求項２】
前記コンピュータを、さらに、
前記形成手段で形成された、第二データ及び第一データを、前記コンピュータにおいて他のコンピュータプログラムによって実行されている他のプロセスに転送する転送手段として機能させ、
前記転送手段は、
前記形成手段で、第一データが形成されておらず、第二データが形成されている状態では、第二データを、前記他のプロセスに転送せず、
前記形成手段で、第二データ及び第一データが形成されている状態では、第一データ、第二データの順で、前記他のプロセスに転送する、機能を含む、請求項１に記載のコンピュータプログラム。
【請求項３】
原稿の第一面の反対側の面である第二面と、原稿の第一面と、を読み取る画像読取装置と、前記画像読取装置と通信し、前記画像読取装置を動作させ、第二面の画像に対応する第二データと、第一面の画像に対応する第一データと、を形成するコンピュータと、を含む画像読取システムであって、
前記画像読取装置は、
原稿を搬送する搬送手段と、
前記搬送手段によって搬送される原稿の第二面を読み取る上流側読取手段と、
前記上流側読取手段より搬送方向の下流側に設けられ、前記搬送手段によって搬送される、前記上流側読取手段で第二面が読み取られた原稿の第一面を読み取る下流側読取手段と、
前記上流側読取手段で読み取られた第二面の画像の一部に対応する第二部分データを、第二面の画像の全部の部分について、繰り返して、前記コンピュータに送信し、前記下流側読取手段で読み取られた第一面の画像の一部に対応する第一部分データを、第一面の画像の全部の部分について、繰り返して、前記コンピュータに送信する送信手段と、を有し、
前記コンピュータは、
第二面の画像の全部の部分について、第二部分データを格納する第二データ記憶領域と、第一面の画像の全部の部分について、第一部分データを格納する第一データ記憶領域と、を前記コンピュータが有する記憶手段に確保する確保手段と、
前記画像読取装置から送信される第二部分データを、第二面の画像の全部の部分について、繰り返して取得し、前記画像読取装置から送信される第一部分データを、第一面の画像の全部の部分について、繰り返して取得する取得手段と、
前記取得手段で繰り返して取得された第二部分データを、順次、前記第二データ記憶領域に格納し、前記取得手段で繰り返して取得された第一部分データを、順次、前記第一データ記憶領域に格納する格納手段と、
前記格納手段によって、第二面の画像の全部に対応する、複数の第二部分データが前記第二データ記憶領域に格納された状態で、複数の第二部分データから、第二データを形成し、前記格納手段によって、第一面の画像の全部に対応する、複数の第一部分データが前記第一データ記憶領域に格納された状態で、複数の第一部分データから、第一データを形成する形成手段と、を有する、画像読取システム。
【請求項４】
前記コンピュータは、さらに、
前記形成手段で形成された、第二データ及び第一データを、前記コンピュータにおいて他のコンピュータプログラムによって実行されている他のプロセスに転送する転送手段を有し、
前記転送手段は、
前記形成手段で第一データが形成されておらず、第二データが形成されている状態では、第二データを、前記他のプロセスに転送せず、
前記形成手段で、第二データ及び第一データが形成されている状態では、第一データ、第二データの順で、前記他のプロセスに転送する、請求項３に記載の画像読取システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータプログラムと、画像読取装置とコンピュータとを含む画像読取システムとに関する。
【背景技術】
【０００２】
従来から、原稿の原稿面を読み取ることに関する技術が提案されている（例えば、特許文献１参照）。特許文献１には、画像処理装置が開示されている。特許文献１の画像処理装置は、読み取り制御部と、メモリと、編集処理部と、ファイル生成部とを有する。読み取り制御部は、スキャナが画像をページ単位で読み取って出力するように、スキャナを制御する。メモリは、スキャナが出力した複数ページの画像データを一時的に蓄積する。編集処理部は、メモリに蓄積されている複数ページを編集する。ファイル生成部は、編集処理部による編集後の複数ページの画像データを１ファイルとして出力する。編集処理部は、メモリに蓄積されている複数ページの画像データを取得し、スキャナが読み込んだ順にページ番号が割り当てられた複数ページの画像を含む編集画面を出力し、編集画面に対する入力に従った処理を実行するものである。編集画面には、複数のページのページ番号を逆転させるための順序入れ替えボタンが含まれている。画像データの表示領域に、１〜６ページの画像が表示されている場合、順序入れ替えボタンが押されると、ボタンが押される前の６ページが１ページ、５ページが２ページ、・・・とされ、ボタンが押される前の１ページが６ページとされる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００６−２７０２０６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、画像読取装置で原稿の両面を読み取る場合、各面の画像に対応するデータそれぞれを、適切に管理する必要がある。例えば、原稿の両面のうち、一方の面に所定の情報の一部が記載されており、他方の面に、その情報の一部に連続する他の一部が記載されているとする。このような場合、画像読取装置で読み取られた一方の面の画像に対応するデータと、同じく読み取られた他方の面の画像に対応するデータとは、個別に管理する必要がある。そして、このような管理は、効率的に行われることが好ましい。
【０００５】
本発明は、画像読取装置で原稿の両面が読み取られたときに、原稿の両面の画像それぞれに対応するデータを適切に管理し、処理を好適に行える、画像読取装置を動作させるためのコンピュータプログラム及び画像読取システムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記従来の課題に鑑みなされた本発明の一側面は、原稿を搬送する搬送手段と、搬送手段によって搬送される原稿の第一面の反対側の面である第二面を読み取る上流側読取手段と、前記上流側読取手段より原稿の搬送方向の下流側に設けられ、搬送手段によって搬送される上流側読取手段で第二面が読み取られた原稿の第一面を読み取る下流側読取手段と、を有する画像読取装置を動作させ、第二面の画像に対応する第二データと、第一面の画像に対応する第一データと、を形成するためのコンピュータが読み取り可能なコンピュータプログラムであって、前記コンピュータを、第二面の画像の全部の部分について、前記上流側読取手段で読み取られた第二面の画像の一部に対応する第二部分データを格納する第二データ記憶領域と、第一面の画像の全部の部分について、前記下流側読取手段で読み取られた第一面の画像の一部に対応する第一部分データを格納する第一データ記憶領域と、を前記コンピュータが有する記憶手段に確保する確保手段と、第二部分データを、第二面の画像の全部の部分について、繰り返して取得し、第一部分データを、第一面の画像の全部の部分について、繰り返して取得する取得手段と、前記取得手段で繰り返して取得された第二部分データを、順次、前記第二データ記憶領域に格納し、前記取得手段で繰り返して取得された第一部分データを、順次、前記第一データ記憶領域に格納する格納手段と、前記格納手段によって、第二面の画像の全部に対応する、複数の第二部分データが前記第二データ記憶領域に格納された状態で、複数の第二部分データから、第二データを形成し、前記格納手段によって、第一面の画像の全部に対応する、複数の第一部分データが前記第一データ記憶領域に格納された状態で、複数の第一部分データから、第一データを形成する形成手段と、して機能させるためのコンピュータプログラムである。これによれば、１枚の原稿における、第一面と第二面といった異なる面それぞれの画像に対応する異なるデータを、個別に管理し、第一面の画像に対応する第一データと、第二面の画像に対応する第二データとを、好適に形成することができる。
【０００７】
このコンピュータプログラムは、前記コンピュータを、さらに、前記形成手段で形成された、第二データ及び第一データを、前記コンピュータにおいて他のコンピュータプログラムによって実行されている他のプロセスに転送する転送手段として機能させ、前記転送手段は、前記形成手段で、第一データが形成されておらず、第二データが形成されている状態では、第二データを、前記他のプロセスに転送せず、前記形成手段で、第二データ及び第一データが形成されている状態では、第一データ、第二データの順で、前記他のプロセスに転送する、機能を含む、ようにしてもよい。これによれば、他のプロセスにおける処理を簡略化することができる。
【０００８】
本発明の他の側面は、原稿の第一面の反対側の面である第二面と、原稿の第一面と、を読み取る画像読取装置と、前記画像読取装置と通信し、前記画像読取装置を動作させ、第二面の画像に対応する第二データと、第一面の画像に対応する第一データと、を形成するコンピュータと、を含む画像読取システムであって、前記画像読取装置は、原稿を搬送する搬送手段と、前記搬送手段によって搬送される原稿の第二面を読み取る上流側読取手段と、前記上流側読取手段より搬送方向の下流側に設けられ、前記搬送手段によって搬送される、前記上流側読取手段で第二面が読み取られた原稿の第一面を読み取る下流側読取手段と、前記上流側読取手段で読み取られた第二面の画像の一部に対応する第二部分データを、第二面の画像の全部の部分について、繰り返して、前記コンピュータに送信し、前記下流側読取手段で読み取られた第一面の画像の一部に対応する第一部分データを、第一面の画像の全部の部分について、繰り返して、前記コンピュータに送信する送信手段と、を有し、前記コンピュータは、第二面の画像の全部の部分について、第二部分データを格納する第二データ記憶領域と、第一面の画像の全部の部分について、第一部分データを格納する第一データ記憶領域と、を前記コンピュータが有する記憶手段に確保する確保手段と、前記画像読取装置から送信される第二部分データを、第二面の画像の全部の部分について、繰り返して取得し、前記画像読取装置から送信される第一部分データを、第一面の画像の全部の部分について、繰り返して取得する取得手段と、前記取得手段で繰り返して取得された第二部分データを、順次、前記第二データ記憶領域に格納し、前記取得手段で繰り返して取得された第一部分データを、順次、前記第一データ記憶領域に格納する格納手段と、前記格納手段によって、第二面の画像の全部に対応する、複数の第二部分データが前記第二データ記憶領域に格納された状態で、複数の第二部分データから、第二データを形成し、前記格納手段によって、第一面の画像の全部に対応する、複数の第一部分データが前記第一データ記憶領域に格納された状態で、複数の第一部分データから、第一データを形成する形成手段と、を有する、画像読取システムである。
【０００９】
この画像読取システムにおいて、前記コンピュータは、さらに、前記形成手段で形成された、第二データ及び第一データを、前記コンピュータにおいて他のコンピュータプログラムによって実行されている他のプロセスに転送する転送手段を有し、前記転送手段は、前記形成手段で、第一データが形成されておらず、第二データが形成されている状態では、第二データを、前記他のプロセスに転送せず、前記形成手段で、第二データ及び第一データが形成されている状態では、第一データ、第二データの順で、前記他のプロセスに転送する、ようにしてもよい。
【００１０】
これら画像記録システムによれば、上述したコンピュータプログラムによって得られる有利な機能を実現することができる。
【発明の効果】
【００１１】
本発明によれば、画像読取装置で原稿の両面が読み取られたときに、原稿の両面の画像それぞれに対応するデータを適切に管理し、処理を好適に行える、画像読取装置を動作させるためのコンピュータプログラム及び画像読取システムを得ることができる。
【図面の簡単な説明】
【００１２】
【図１】画像読取装置とコンピュータとを含む画像読取システムの一例を示す図であって、画像読取装置及びコンピュータのハードウェア構成の一例を示すブロック図である。
【図２】原稿搬送過程の第一過程及び第二過程の一例を説明する図である。
【図３】原稿搬送過程の第三過程及び第四過程の一例を説明する図である。
【図４】画像読取装置での読取動作の順序の一例を説明する図である。
【図５】画像読取装置で実行される処理のフローチャート（その１）である。
【図６】（ａ）は、画像読取装置の上流側読取センサで読み取られた原稿の裏面（第二面）に関するヘッダ及び裏面部分データを説明する図である。（ｂ）は、画像読取装置の下流側読取センサで読み取られた原稿の表面（第一面）に関するヘッダ及び表面部分データを説明する図である。
【図７】画像読取装置で実行される処理のフローチャート（その２）である。
【図８】コンピュータで実行される処理のフローチャート（その１）である。
【図９】コンピュータで実行される処理のフローチャート（その２）である。
【図１０】裏面部分データと表面部分データとの格納を時間経過に関連して説明する図である。
【発明を実施するための形態】
【００１３】
本発明を実施するための実施形態について、図面を用いて説明する。本発明は、以下に記載の構成に限定されるものではなく、同一の技術的思想において種々の構成を採用することができる。例えば、以下に示す構成の一部は、省略し又は他の構成等に置換してもよい。また、他の構成を含むようにしてもよい。
【００１４】
＜画像読取システム＞
画像読取システム１について、図１〜図３を参照して説明する。画像読取システム１は、図１に示すように、コンピュータ１０と、画像読取装置５０とを含む。画像読取システム１では、コンピュータ１０からのスキャン開始コマンドに従い、画像読取装置５０が動作し、画像読取装置５０で読み取られた原稿面に対応するデータが、画像読取装置５０からコンピュータ１０に送信される。コンピュータ１０では、受信されたデータに対応する原稿面の画像が表示される。コンピュータ１０と画像読取装置５０とは、通信ケーブル３によって、データ通信可能に接続されている。通信ケーブル３としては、ＵＳＢ接続用のＵＳＢケーブル、又は、ネットワーク接続用のＬＡＮケーブルが例示される。なお、コンピュータ１０と画像読取装置５０とは、無線接続されていてもよい。この場合、通信ケーブル３は省略される。
【００１５】
コンピュータ１０は、例えば、従来から広く使用されているパーソナルコンピュータである。コンピュータ１０は、図１に示すように、ＣＰＵ１２と、ＲＯＭ１４と、ＲＡＭ１６と、ハードディスク（以下、「ＨＤＤ」という。）１８と、接続インターフェース（以下、「接続Ｉ／Ｆ」という。）２０と、操作部２２と、表示部２４とを有する。ＣＰＵ１２は、演算処理を実行する。ＣＰＵ１２は、例えば、ＨＤＤ１８にインストールされた各種のコンピュータプログラムを実行する等して、コンピュータ１０を制御する。ＲＯＭ１４は、所定のコンピュータプログラムを記憶する。ＲＡＭ１６は、ＣＰＵ１２が各種のコンピュータプログラムを実行する際に利用される記憶領域となる記憶手段である。コンピュータ１０において、ＣＰＵ１２が、ＲＡＭ１６を利用して、例えばＨＤＤ１８にインストールされたコンピュータプログラムを実行することで、各種の機能手段が構成される。
【００１６】
ＨＤＤ１８は、記憶部である。ＨＤＤ１８には、例えば、オペレーションシステム、画像読取装置５０を動作させるためのコンピュータプログラム、及び画像読取装置５０を利用するためのアプリケーションプログラム等がインストールされている。なお、画像読取装置５０を動作させるためのコンピュータプログラムは、図８及び図９に示す処理のためのものであって、スキャナドライバと称されることもある。ＨＤＤ１８は、ＳＤＤ（Solid State Drive）に代替することもできる。接続Ｉ／Ｆ２０は、コンピュータ１０を画像読取装置５０に接続し、通信ケーブル３を介したデータ通信を行うためのインターフェースである。通信ケーブル３がＵＳＢケーブルである場合、接続Ｉ／Ｆ２０は、ＵＳＢインターフェースカードによって構成される。通信ケーブル３がＬＡＮケーブルである場合、接続Ｉ／Ｆ２０は、ネットワークカードによって構成される。コンピュータ１０と画像読取装置５０とが無線接続される場合、接続Ｉ／Ｆ２０は、無線接続のためのアダプタによって構成される。操作部２２は、ユーザが所定の指令（情報）をコンピュータ１０に入力するためのユーザインターフェースである。操作部２２は、例えば、キーボード、マウスによって構成される。表示部２４は、各種の情報を表示するモニタである。表示部２４は、例えば、液晶モニタによって構成される。
【００１７】
画像読取装置５０は、例えば、従来から広く使用されているスキャナ装置、又は、スキャン機能を含む複合機である。画像読取装置５０は、図１に示すように、ＣＰＵ５２と、ＲＯＭ５４と、ＲＡＭ５６と、接続Ｉ／Ｆ５８と、シートフィーダ６０と、上流側読取センサ６２と、下流側読取センサ６４と、上流側検知センサ６６と、下流側検知センサ６８とを有する。ＣＰＵ５２は、演算処理を実行する。ＣＰＵ５２は、例えば、ＲＯＭ５４に記憶された所定のコンピュータプログラムを実行する等して、画像読取装置５０を制御する。ＲＯＭ５４は、画像読取装置５０を制御するためのコンピュータプログラム等を記憶する。ＲＡＭ５６は、ＣＰＵ５２がＲＯＭ５４に記憶されたコンピュータプログラムを実行する際に利用される記憶領域となる記憶手段である。画像読取装置５０において、ＣＰＵ５２が、ＲＡＭ５６を利用して、ＲＯＭ５４に記憶されたコンピュータプログラムを実行することで、各種の機能手段が構成される。
【００１８】
接続Ｉ／Ｆ５８は、画像読取装置５０をコンピュータ１０に接続し、通信ケーブル３を介したデータ通信を行うためのインターフェースである。接続Ｉ／Ｆ５８は、コンピュータ１０における接続Ｉ／Ｆ２０と同様の構成を有する。接続Ｉ／Ｆ５８に関する説明は、上述した通りであり、省略する。シートフィーダ６０は、自動給紙部（自動搬送部）としての機能を有する。シートフィーダ６０は、原稿収容部と、搬送機構と、原稿排紙部とを含む。シートフィーダ６０が、図２及び図３に示すような構成である場合、シートフィーダ６０は、画像読取装置５０の上方部分に設けられる。シートフィーダ６０では、原稿収容部に載せ置かれた原稿１００（図２及び図３参照）が、原稿収容部から搬送機構によって自動的に搬送される。搬送された原稿１００は、原稿排紙部に排紙される。なお、シートフィーダ６０による原稿搬送過程については、後述する。上流側読取センサ６２は、図２及び図３に示すように、シートフィーダ６０によって搬送されている原稿１００に対して下側の位置で、搬送される原稿１００の一方側の面である第二面１０２に対向するように設けられている。上流側読取センサ６２は、この位置で、シートフィーダ６０によって搬送される原稿１００の第二面１０２を読み取る。下流側読取センサ６４は、図２及び図３に示すように、シートフィーダ６０によって搬送されている原稿１００に対して下側の位置で、搬送される原稿１００の他方側の面である第一面１０１に、原稿台ガラス７０を介して対向するように設けられている。
【００１９】
シートフィーダ６０による原稿１００の搬送経路における上流側読取センサ６２と下流側読取センサ６４との位置関係について、下流側読取センサ６４は、上流側読取センサ６２より原稿１００の搬送方向の下流側に設けられている。従って、下流側読取センサ６４は、前述の位置で、シートフィーダ６０によって搬送される、上流側読取センサ６２で第二面１０２が読み取られた原稿１００の第一面１０１を読み取る。上流側読取センサ６２及び下流側読取センサ６４は、例えば、ＣＭＯＳセンサ（ＣＩＳ方式）又はＣＣＤセンサ（ＣＣＤ方式）によって構成される。
【００２０】
上流側検知センサ６６は、図２及び図３に示すように、上流側読取センサ６２より原稿１００の搬送方向の上流側の位置で、且つ搬送方向において上流側読取センサ６２の直前に設けられている。上流側検知センサ６６は、この位置で、上流側読取センサ６２に搬送されてきた原稿１００を検知する。下流側検知センサ６８は、図２及び図３に示すように、下流側読取センサ６４より原稿１００の搬送方向の上流側の位置で、且つ搬送方向において下流側読取センサ６４の直前に設けられている。下流側検知センサ６８は、この位置で、下流側読取センサ６４に搬送されてきた原稿１００を検知する。上流側検知センサ６６及び下流側検知センサ６８は、搬送されてきた原稿１００を検出することができる、近接センサ等の所定の方式のセンサによって構成される。
【００２１】
ここで、原稿１００の第二面１０２と第一面１０１との関係について、第一面１０１は、原稿１００の第二面１０２の反対側の面である。例えば、第一面１０１は、原稿１００の表面で、第二面１０２は、原稿１００の裏面である。以下、第一面１０１を表面（以下、「表面１０１」という。）とし、第二面１０２を裏面（以下、「裏面１０２」という。）として説明する。
【００２２】
＜原稿搬送過程＞
画像読取装置５０で行われる読取動作における原稿搬送過程の一例について、図２及び図３を参照して説明する。なお、図２及び図３の各図において、片矢の点線は、搬送経路及び搬送方向を示す。すなわち、原稿１００は、点線によって示される搬送経路を、矢印の方向に搬送される。画像読取装置５０において原稿１００の搬送は、シートフィーダ６０の原稿収容部に原稿１００が載せ置かれた状態で、画像読取装置５０に、スキャン開始コマンドが入力された場合に開始される。スキャン開始コマンドは、上述した通り、コンピュータ１０の側から入力される。ユーザが、画像読取装置５０が有する操作部（不図示）を操作して、スキャン開始コマンドが入力されるようにしてもよい。なお、以下では、原稿１００の表面１０１及び裏面１０２に所定の画像が記録された複数枚の原稿１００が、表面１０１が上側となるようにして重ねられた状態で、載せ置かれた場合を例に説明する。
【００２３】
スキャン開始コマンドが入力されると、シートフィーダ６０では、先ず、重ねられた状態の複数枚の原稿１００のうち、最も上側にある１枚目の原稿１００の搬送が開始され、原稿搬送過程の第一過程が行われる。図１の上段に示す第一過程では、シートフィーダ６０の搬送機構によって搬送される原稿１００は、上流側読取センサ６２に到達し、上流側読取センサ６２の上を通過する。上流側読取センサ６２は、搬送されている原稿１００の裏面１０２を読み取る。上流側読取センサ６２における裏面１０２の読み取りは、上流側検知センサ６６で原稿１００の先端部（搬送方向において先頭側）が検知されたことに対応して開始される。開始された裏面１０２の読み取りは、検知されていた原稿１００の後端部（搬送方向において後尾側）が上流側検知センサ６６を通過し、上流側検知センサ６６で原稿１００が検知されなくなった後、予め定めた時間が経過したタイミングで終了する。この終了の基準となる時間は、例えば、原稿１００が、上流側検知センサ６６で検知されなくなった後、上流側読取センサ６２を通過するのに要する時間を、予め計測又は計算する等して、予め定められている。
【００２４】
第一過程で、上流側読取センサ６２で裏面１０２が読み取られた１枚目の原稿１００は、継続して、搬送経路を搬送方向の下流側に搬送され、原稿搬送過程は、第一過程に続けて第二過程に移行する。図２の下段に示す第二過程では、１枚目の原稿１００は、下流側読取センサ６４に到達する。下流側読取センサ６４では、搬送されている１枚目の原稿１００の表面１０１の読み取りが開始される。下流側読取センサ６４における表面１０１の読み取りは、下流側検知センサ６８で原稿１００の先端が検知されたことに対応して開始される。また、第二過程では、例えば、１枚目の原稿１００が、上流側検知センサ６６を通過した後の所定のタイミングで、シートフィーダ６０の原稿収容部に載せ置かれている２枚目の原稿１００の搬送が開始される。そして、下流側読取センサ６４で、１枚目の原稿１００の表面１０１が読み取られている状態で、２枚目の原稿１００の裏面１０２の読み取りが、上流側読取センサ６２で開始される。上流側読取センサ６２における２枚目の原稿１００の裏面１０２の読み取りは、第一過程の場合と同様にして行われる。これに関する説明は、省略する。
【００２５】
図３の上段に示す原稿搬送過程の第三過程では、第二過程で開始された、下流側読取センサ６４における１枚目の原稿１００の表面１０１の読み取りと、上流側読取センサ６２における２枚目の原稿１００の読み取りとが、継続される。１枚目の原稿１００が、さらに搬送されると、検知されていた原稿１００の後端は、下流側検知センサ６８を通過し、下流側検知センサ６８では、原稿１００が検知されなくなる。下流側読取センサ６４における１枚目の原稿１００の表面１０１の読み取りは、下流側検知センサ６８で１枚目の原稿１００が検知されなくなった後、予め定めた時間が経過したタイミングで、終了する。この終了の基準となる時間は、上述した上流側読取センサ６２及び上流側検知センサ６６の場合と同様に定められている。同じく、２枚目の原稿１００が、さらに搬送されると、検知されていた原稿１００の後端は、上流側検知センサ６６を通過し、上流側検知センサ６６では、原稿１００が検知されなくなる。この場合、上流側読取センサ６２における２枚目の原稿１００の裏面１０２の読み取りは、第一過程の場合と同じように終了する。
【００２６】
図３の下段に示す原稿搬送過程の第四過程では、下流側検知センサ６８と下流側読取センサ６４とを通過した１枚目の原稿１００は、さらに搬送される。その後、１枚目の原稿１００は、搬送経路から排紙される。排紙された原稿１００は、原稿排紙部に収容される。また、第四過程では、２枚目の原稿１００は、下流側読取センサ６４に到達する。さらに、第四過程では、例えば、２枚目の原稿１００が、上流側検知センサ６６を通過した後の所定のタイミングで、シートフィーダ６０の原稿収容部に載せ置かれている３枚目の原稿１００の搬送が開始される。第四過程における２枚目の原稿１００及び３枚目の原稿１００の搬送は、上述した第二過程における１枚目の原稿１００及び２枚目の原稿１００の場合と、同様にして行われる。これに関する説明は、省略する。
【００２７】
４枚目以降の原稿１００については、上述した第二過程から第四過程と同様の過程が、原稿収容部に収容された原稿１００がなくなるまで、順次、繰り返して実行される。これに関する説明は、省略する。搬送が開始された原稿１００が、原稿収容部に収容された最後の原稿１００である場合、この最後の原稿１００が搬送され、上流側検知センサ６６を通過したとしても、新たな原稿１００のための搬送は開始されない。最後の原稿１００が、搬送経路を搬送されて原稿排紙部に排紙されることで、画像読取装置５０における読取動作は、終了する。
【００２８】
上述した原稿搬送過程を経て画像読取装置５０で行われる読取動作の順序の一例を、図４を参照してまとめる。なお、図４は、２枚の原稿１００が重ねられて、シートフィーダ６０の原稿収容部に収容された場合を対象としている。画像読取装置５０では、スキャン開始コマンドによって読取動作が開始されると、先ず、１枚目の原稿１００の裏面１０２が、上流側読取センサ６２で読み取られる。次に、１枚目の原稿１００の表面１０１が、下流側読取センサ６４で読み取られる。その後、１枚目の原稿１００の表面１０１が、下流側読取センサ６４で読み取られている途中に、２枚目の原稿１００の裏面１０２が、上流側読取センサ６２で読み取られる。最後に、２枚目の原稿１００の表面１０１が、下流側読取センサ６４で読み取られる。２枚目の原稿１００の表面１０１が、下流側読取センサ６４で読み取られた後、読取動作は終了する。なお、搬送経路における上流側読取センサ６２と下流側読取センサ６４との間隔が、原稿１００の搬送方向における寸法より短い場合、原稿１００の裏面１０２の読み取りが行われている状態で、同一の原稿１００の表面１０１の先端は、下流側読取センサ６４に到達する。そのため、原稿１００の裏面１０２の読み取りが行われている状態で、同一の原稿１００の表面１０１の読み取りが開始される。図４は、このような状態である場合を例として図示されている（後述する図１０において同じ）。
【００２９】
ここで、例えば、１枚目の原稿１００の裏面１０２及び表面１０１と、２枚目の原稿１００の裏面１０２及び表面１０１とが、それぞれ、順次連続して読み取られる場合、画像読取装置５０（画像読取システム１）では、１枚目の原稿１００の表面１０１が１ページ目、１枚目の原稿１００の裏面１０２が２ページ目、２枚目の原稿１００の表面１０１が３ページ目、２枚目の原稿１００の裏面１０２が４ページ目として、取り扱われる（図５のＳ１００、図７のＳ１３０，Ｓ１４０参照）。
【００３０】
＜画像読取装置で実行される処理＞
画像読取装置５０で実行される処理について、図５〜図７を参照して説明する。図５及び図７に示す処理は、画像読取装置５０のＣＰＵ５２が、この処理のためのコンピュータプログラムをＲＯＭ５４から読み出し、ＲＡＭ５６上で実行して行われる。この処理は、例えば、コンピュータ１０から、スキャン開始コマンドが入力されたことを条件として開始される。この処理を開始したＣＰＵ５２は、この処理で管理対象となる表ページ番号を「１」に、裏ページ番号を「２」に初期化する（Ｓ１００）。続けて、ＣＰＵ５２は、画像読取装置５０にエラーが発生しているかについて判断する（Ｓ１０２）。なお、エラーの発生は、画像読取装置５０の所定の各部に設けられたエラー検知用のセンサで検知される。何れかのエラーが発生している場合（Ｓ１０２：Ｙｅｓ）、ＣＰＵ５２は、発生しているエラーを示すエラーコードを、接続Ｉ／Ｆ５８から通信ケーブル３を介してコンピュータ１０に送信する（Ｓ１０４）。
【００３１】
エラーが発生していない場合（Ｓ１０２：Ｎｏ）、ＣＰＵ５２は、シートフィーダ６０によって搬送されている原稿１００が、上流側読取センサ６２の上にあるかについて判断する（Ｓ１０６）。Ｓ１０６の判断について、上流側検知センサ６６で原稿１００が検知されている場合、又は、原稿１００が検知されなくなった後、予め定めた時間が経過していない場合、この判断は肯定される（Ｓ１０６：Ｙｅｓ）。上流側検知センサ６６で原稿１００が検知されておらず、前述の予め定めた時間が経過している場合、この判断は否定される（Ｓ１０６：Ｎｏ）。Ｓ１０６の判断が否定された場合（Ｓ１０６：Ｎｏ）、ＣＰＵ５２は、処理をＳ１１４に移行する。Ｓ１０６の判断が肯定された場合（Ｓ１０６：Ｙｅｓ）、ＣＰＵ５２は、上流側読取センサ６２で、搬送されている原稿１００の裏面１０２の読み取りを実行し、読み取られた裏面１０２の画像の一部に対応する裏面部分データを、ＲＡＭ５６上に取得する（Ｓ１０８）。
【００３２】
Ｓ１０８で取得される裏面部分データは、図６（ａ）に示すような形式のデータである。すなわち、裏面部分データは、搬送されている原稿１００の裏面１０２の画像の一部に対応するデータである。換言すれば、読み取られた裏面１０２の画像の全部は、搬送方向を基準として、原稿１００の先端から後端において分割された裏面部分データａ〜ｉ全部によって現される。Ｓ１０８でＣＰＵ５２は、搬送されている原稿１００の裏面１０２が、搬送方向を基準として、複数のブロックに分割された、裏面１０２の画像の一部に対応する裏面部分データを、１ブロック分、上流側読取センサ６２から取得する。裏面部分データは圧縮された形式のデータとされる。例えば、ＪＰＥＧ形式のデータとされる。裏面部分データは、例えば、数キロバイト程度の容量のデータである。
【００３３】
続けて、ＣＰＵ５２は、ヘッダを作成し、作成したヘッダに、裏ページ番号を付加する（Ｓ１１０）。例えば、今回のＳ１１０の処理が、スキャン開始コマンドが入力され、画像読取装置５０でＳ１００が実行された後、最初に実行されたものであれば、裏ページ番号は、Ｓ１００で「２」に初期化されている。そこで、ＣＰＵ５２は、裏ページ番号として「２」をヘッダに付加する。また、後述する図７のＳ１３０が実行されている場合、裏ページ番号は、「４」以上の所定の値（偶数）とされている。そこで、ＣＰＵ５２は、その時点で管理されている「４」以上の裏ページ番号を付加する。なお、ＣＰＵ５２は、裏ページ番号と共に、裏面部分データに関する情報、データサイズ等の諸情報をヘッダに付加する。Ｓ１１０を実行した後、ＣＰＵ５２は、Ｓ１０８で取得した１ブロック分の裏面部分データと、この裏面部分データに対応してＳ１１０で作成したヘッダとをセットにし、これらを含むデータを、接続Ｉ／Ｆ５８からコンピュータ１０に送信する。具体的に、ＣＰＵ５２は、図６（ａ）に示す、「ヘッダａ」及び「裏面部分データａ」〜「ヘッダｉ」及び「裏面部分データｉ」の何れかを、送信する。
【００３４】
次に、ＣＰＵ５２は、シートフィーダ６０によって搬送されている原稿１００が、下流側読取センサ６４の上にあるかについて判断する（Ｓ１１４）。Ｓ１１４の判断について、下流側検知センサ６８で原稿１００が検知されている場合、又は、原稿１００が検知されなくなった後、予め定めた時間が経過していない場合、この判断は肯定される（Ｓ１１４：Ｙｅｓ）。下流側検知センサ６８で原稿１００が検知されておらず、前述の予め定めた時間が経過している場合、この判断は否定される（Ｓ１１４：Ｎｏ）。Ｓ１０６の判断が否定された場合（Ｓ１１４：Ｎｏ）、ＣＰＵ５２は、処理を図７のＳ１２２に移行する。Ｓ１１４の判断が肯定された場合（Ｓ１１４：Ｙｅｓ）、ＣＰＵ５２は、下流側読取センサ６４で、搬送されている原稿１００の表面１０１の読み取りを実行し、読み取られた表面１０１の画像の一部に対応する表面部分データを、ＲＡＭ５６上に取得する（Ｓ１１６）。
【００３５】
Ｓ１１６で取得される表面部分データは、図６（ｂ）に示すような形式のデータである。すなわち、表面部分データは、搬送されている原稿１００の表面１０１の画像の一部に対応するデータである。換言すれば、読み取られた表面１０１の画像の全部は、搬送方向を基準として、原稿１００の先端から後端において分割された表面部分データｊ〜ｒ全部によって現される。Ｓ１１６でＣＰＵ５２は、搬送されている原稿１００の表面１０１が、搬送方向を基準として、複数のブロックに分割された、表面１０１の画像の一部に対応する表面部分データを、１ブロック分、下流側読取センサ６４から取得する。表面部分データは、裏面部分データと同様、ＪＰＥＧ形式のように圧縮された形式で、数キロバイト程度の容量のデータである。
【００３６】
続けて、ＣＰＵ５２は、ヘッダを作成し、作成したヘッダに、表ページ番号を付加する（Ｓ１１８）。例えば、今回のＳ１１８の処理が、スキャン開始コマンドが入力され、画像読取装置５０でＳ１００が実行された後、最初に実行されたものであれば、表ページ番号は、Ｓ１００で「１」に初期化されている。そこで、ＣＰＵ５２は、表ページ番号として「１」をヘッダに付加する。また、後述する図７のＳ１４０が実行されている場合、表ページ番号は、「３」以上の所定の値（奇数）とされている。そこで、ＣＰＵ５２は、その時点で管理されている「３」以上の表ページ番号を付加する。なお、ＣＰＵ５２は、表ページ番号と共に、表面部分データに関する情報、データサイズ等の諸情報をヘッダに付加する。Ｓ１１８を実行した後、ＣＰＵ５２は、Ｓ１１６で取得した１ブロック分の表面部分データと、この表面部分データに対応してＳ１１８で作成したヘッダとをセットにし、これらを含むデータを、接続Ｉ／Ｆ５８からコンピュータ１０に送信する。具体的に、ＣＰＵ５２は、図６（ｂ）に示す、「ヘッダｊ」及び「表面部分データｊ」〜「ヘッダｒ」及び「表面部分データｒ」の何れかを、送信する。
【００３７】
次に、図７のＳ１２２でＣＰＵ５２は、シートフィーダ６０によって搬送されている原稿１００が、上流側読取センサ６２を通過したタイミングであるかについて判断する。ＣＰＵ５２は、シートフィーダ６０によって搬送されている原稿１００が、上流側読取センサ６２を通過したことを、上流側検知センサ６６で原稿１００が検知されなくなった後、予め定めた時間が経過したかで判断する。従って、ＣＰＵ５２は、現時点が、この予め定めた時間を経過したタイミングである場合、Ｓ１２２の判断を肯定する（Ｓ１２２：Ｙｅｓ）。ＣＰＵ５２は、現時点が、この予め定めた時間を経過したタイミングではない場合、Ｓ１２２の判断を否定する（Ｓ１２２：Ｎｏ）。例えば、原稿１００が、上流側読取センサ６２の上を搬送されている場合、ＣＰＵ５２は、Ｓ１２２の判断を否定する。また、ＣＰＵ５２は、現時点が、この予め定めた時間を経過し、さらに時間が経過したタイミングである場合、Ｓ１２２の判断を否定する。ＣＰＵ５２は、Ｓ１２２の判断が否定された場合（Ｓ１２２：Ｎｏ）、処理をＳ１３２に移行し、Ｓ１２２の判断が肯定された場合（Ｓ１２２：Ｙｅｓ）、処理をＳ１２４に移行する。
【００３８】
Ｓ１２４でＣＰＵ５２は、ヘッダを作成し、作成したヘッダに、図６（ａ）に示すように、Ｎページ終了を付加する。この場合において、Ｎページ終了は、裏ページ番号に対応する裏面１０２の読み取りが終了したことを示すステータスコードである。付加されるページ番号は、直前に実行された図５のＳ１１０で付加された裏ページ番号と同一のページ番号となる。一例を示せば、例えば、今回のＳ１２４の処理が、スキャン開始コマンドが入力され、画像読取装置５０で図５のＳ１００が実行された後、最初に実行されたものであるとき、裏ページ番号は、Ｓ１００で「２」に初期化されている。そこで、ＣＰＵ５２は、Ｎページ終了として「２ページ終了」をヘッダに付加する。ＣＰＵ５２は、Ｓ１２４で作成したヘッダを、接続Ｉ／Ｆ５８からコンピュータ１０に送信する（Ｓ１２６）。続けて、ＣＰＵ５２は、未搬送の原稿１００がシートフィーダ６０にあるかについて判断する（Ｓ１２８）。ＣＰＵ５２は、シートフィーダ６０の原稿収容部に設けられたセンサ（不図示）で、原稿１００が検知されている場合、この判断を肯定し（Ｓ１２８：Ｙｅｓ）、裏ページ番号の値を「２」増加させる（Ｓ１３０）。ＣＰＵ５２は、原稿１００が検知されておらず、Ｓ１２８の判断が否定される場合（Ｓ１２６：Ｎｏ）、又は、Ｓ１３０を実行した場合、処理をＳ１３２に移行する。
【００３９】
Ｓ１３２でＣＰＵ５２は、シートフィーダ６０によって搬送されている原稿１００が、下流側読取センサ６４を通過したタイミングであるかについて判断する。この判断は、Ｓ１２２の場合と同様にして行われる。これに関する説明は、省略する。原稿１００が、下流側読取センサ６４を通過したタイミングではない場合（Ｓ１３２：Ｎｏ）、ＣＰＵ５２は、処理を図５のＳ１０２に戻し、上述した処理を繰り返して実行する。一方、原稿１００が、下流側読取センサ６４を通過したタイミングである場合（Ｓ１３２：Ｙｅｓ）、ＣＰＵ５２は、ヘッダを作成し、作成したヘッダに、図６（ｂ）に示すように、Ｎページ終了を付加する。この場合において、Ｎページ終了は、表ページ番号に対応する表面１０１の読み取りが終了したことを示すステータスコードである。付加されるページ番号は、直前に実行された図５のＳ１１８で付加された表ページ番号と同一のページ番号となる。一例を示せば、例えば、今回のＳ１３４の処理が、スキャン開始コマンドが入力され、画像読取装置５０で図５のＳ１００が実行された後、最初に実行されたものであるとき、表ページ番号は、Ｓ１００で「１」に初期化されている。そこで、ＣＰＵ５２は、Ｎページ終了として「１ページ終了」をヘッダに付加する。ＣＰＵ５２は、Ｓ１３４で作成したヘッダを、接続Ｉ／Ｆ５８からコンピュータ１０に送信する（Ｓ１３６）。
【００４０】
続けて、ＣＰＵ５２は、裏ページ番号が、表ページ番号に「１」を加算した値であるかについて判断する（Ｓ１３８）。裏ページ番号が、表ページ番号に「１」を加算した値ではない場合（Ｓ１３８：Ｎｏ）、ＣＰＵ５２は、表ページ番号の値を「２」増加させ（Ｓ１４０）、処理を図５のＳ１０２に戻し、上述した処理を繰り返して実行する。一方、裏ページ番号が、表ページ番号に「１」を加算した値である場合（Ｓ１３８：Ｙｅｓ）、ＣＰＵ５２は、図６（ｂ）に示すように、全ページ終了が付加されたヘッダを、接続Ｉ／Ｆ５８からコンピュータ１０に送信する。全ページ終了は、シートフィーダ６０の原稿収容部に載せ置かれた原稿１００を対象とした読み取りが全て終了したことを示すステータスコードである。Ｓ１４２を実行した後、ＣＰＵ５２は、この処理を終了する。これによって、画像読取装置５０における読取動作は終了する。
【００４１】
＜コンピュータで実行される処理＞
コンピュータ１０で実行される処理について、図８及び図９を参照して説明する。図８及び図９に示す処理の開始に先立ち、ユーザは、画像読取装置５０を利用するためのアプリケーションプログラムを、コンピュータ１０上で起動する。ユーザは、表示部２４を視認しつつ、操作部２２を操作する等して、起動されたこのアプリケーションプログラムの画面上で、画像読取装置５０における読取動作の開始の指示を入力する。ＣＰＵ１２は、このアプリケーションプログラムによるプロセス（以下、「アプリプロセス」という。）から、読取動作の開始の指示が入力されたとき、画像読取装置５０を動作させるためのコンピュータプログラムをＨＤＤ１８から読み出し、ＲＡＭ１６上で実行する。これによって、図８及び図９の処理が開始される。この処理を開始したＣＰＵ１２は、スキャン開始コマンドを、接続Ｉ／Ｆ２０から画像読取装置５０に送信する（Ｓ２００）。続けて、ＣＰＵ１２は、アプリ要求ページ番号Ｃを「Ｃ＝１」に初期化する（Ｓ２０２）。
【００４２】
次に、ＣＰＵ１２は、スキャン開始コマンドの送信に対応して、図５及び図７の処理が実行されている画像読取装置５０から送信されるデータを、接続Ｉ／Ｆ２０を介して受信する（Ｓ２０４）。ＣＰＵ１２は、受信したデータのヘッダに付加されている情報を取得する（Ｓ２０６）。ＣＰＵ１２は、取得した情報が、全ページ終了（図６（ｂ）参照）であるかについて判断する（Ｓ２０８）。なお、全ページ終了は、図７のＳ１４２でコンピュータ１０に送信されたものである。全ページ終了であった場合（Ｓ２０８：Ｙｅｓ）、ＣＰＵ１２は、読取終了を、この処理の開始を指示したアプリプロセスに通知する（Ｓ２１０）。読取終了は、シートフィーダ６０に収容された全ての原稿１００について、読取動作が行われたことを示す情報である。Ｓ２１０を実行した後、ＣＰＵ１２は、この処理を終了する。Ｓ２０６で取得した情報が、全ページ終了ではなかった場合（Ｓ２０８：Ｎｏ）、ＣＰＵ１２は、Ｓ２０４で受信したデータがエラーコードであるかについて判断する（Ｓ２１２）。なお、エラーコードは、図５のＳ１０４でコンピュータ１０に送信されたものである。受信したデータがエラーコードであった場合（Ｓ２１２：Ｙｅｓ）、ＣＰＵ１２は、エラー発生（エラーコード）を、この処理の開始を指示したアプリプロセスに通知し（Ｓ２１４）、この処理を終了する。なお、Ｓ２１４が実行された場合、このアプリケーションプログラムの画面には、エラーの発生及び／又はエラーコードによって示されるエラーの種別を含むエラーメッセージが表示される。
【００４３】
Ｓ２０４で受信したデータがエラーコードではなかった場合（Ｓ２１２：Ｎｏ）、ＣＰＵ１２は、Ｓ２０６で取得した情報に含まれる裏ページ番号又は表ページ番号を、ページ番号Ｎとして取得する（Ｓ２１６）。Ｓ２１２の判断が否定された場合（Ｓ２１２：Ｎｏ）、Ｓ２０４では、図５のＳ１１２で送信されたヘッダ及び裏面部分データ、若しくは、図５のＳ１２０で送信されたヘッダ及び表面部分データ、又は、図７のＳ１２６又はＳ１３６で送信されたＮページ終了が付加されたヘッダ（図６（ａ），（ｂ）参照）の何れかが受信されている。続けて、ＣＰＵ１２は、Ｓ２１６で取得したページ番号Ｎに一致する裏ページ番号の裏面部分データ、又は、Ｓ２１６で取得したページ番号Ｎに一致する表ページ番号の表面部分データが、既に受信されているかについて判断する（Ｓ２１８）。例えば、Ｓ２０４で受信されたデータが、図６（ｂ）に示す「ヘッダｊ」及び「表面部分データｊ」である場合、ＣＰＵ１２は、Ｓ２１８の判断を否定する（Ｓ２１８：Ｎｏ）。これは、「ヘッダｊ」及び「表面部分データｊ」が、第一面１０１の先端の範囲に対応するヘッダ及び表面部分データであるためである。「ヘッダｊ」及び「表面部分データｊ」は、下流側読取センサ６４で、第一面１０１の読み取りが開始された場合、最初に取得される表面部分データに関するものであって（図５のＳ１１６参照）、この第一面１０１について、最初に送信される（図５のＳ１２０参照）。Ｓ２１８の判断が否定された場合（Ｓ２１８：Ｎｏ）、ＣＰＵ１２は、処理をＳ２２０に移行する。
【００４４】
また、例えば、Ｓ２０４で受信されたデータが、図６（ｂ）に示す「ヘッダｋ」及び「表面部分データｋ」〜「ヘッダｒ」及び「表面部分データｒ」の何れかである場合、ＣＰＵ１２は、Ｓ２１８の判断を肯定する（Ｓ２１８：Ｙｅｓ）。これは、「ヘッダｋ」及び「表面部分データｋ」〜「ヘッダｒ」及び「表面部分データｒ」が、第一面１０１の先端の範囲に対応するヘッダ及び表面部分データではないためである。「ヘッダｋ」及び「表面部分データｋ」〜「ヘッダｒ」及び「表面部分データｒ」の何れかが転送されるタイミングでは、少なくとも既に図５のＳ１２０において「ヘッダｊ」及び「表面部分データｊ」が送信され、コンピュータ１０においてこれらが既に受信されている。なお、同一の原稿１００において同一の第一面１０１については、ヘッダに付加される表ページ番号は、上述した通り、同一のページ番号である。
【００４５】
受信されたデータが、図５のＳ１１２で転送されたヘッダ及び裏面部分データ（図６（ａ）参照）である場合については、上述した表面部分データの場合と同様である。すなわち、Ｓ２０４で受信されたデータが、図６（ａ）に示す「ヘッダａ」及び「裏面部分データａ」である場合のＳ２１８の判断は、Ｓ２０４で受信されたデータが、図６（ｂ）に示す「ヘッダｊ」及び「表面部分データｊ」である場合と同様である。また、Ｓ２０４で受信されたデータが、図６（ａ）に示す「ヘッダｂ」及び「裏面部分データｂ」〜「ヘッダｉ」及び「裏面部分データｉ」である場合のＳ２１８の判断は、Ｓ２０４で受信されたデータが、図６（ｂ）に示す「ヘッダｋ」及び「表面部分データｋ」〜「ヘッダｒ」及び「表面部分データｒ」である場合と同様である。なお、同一の原稿１００においての同一の第二面１０２については、ヘッダに付加される裏ページ番号は、上述した通り、同一のページ番号である。Ｓ２１８の判断が肯定された場合（Ｓ２１８：Ｙｅｓ）、ＣＰＵ１２は、処理をＳ２２２に移行する。
【００４６】
Ｓ２２０でＣＰＵ１２は、Ｓ２１６で取得したページ番号Ｎのための、データ記憶領域及び転送記憶領域を、それぞれ、ＲＡＭ１６上に確保する。Ｓ２０４で受信されたデータが、図６（ａ）に示す「ヘッダａ」及び「裏面部分データａ」である場合、Ｓ２２０によって、ＲＡＭ１６上には、この「ヘッダａ」に付加されている裏ページ番号に一致するページ番号Ｎのための、裏面用のデータ記憶領域及び裏面用の転送記憶領域が確保される。また、Ｓ２０４で受信されたデータが、図６（ｂ）に示す「ヘッダｊ」及び「表面部分データｊ」である場合、ＲＡＭ１６上には、この「ヘッダｊ」に付加されている表ページ番号に一致するページ番号Ｎのための、表面用のデータ記憶領域及び表面用の転送記憶領域が確保される。裏面用のデータ記憶領域には、ヘッダ及び裏面部分データ（図６（ａ）参照）を格納することが可能となり、表面用のデータ記憶領域には、ヘッダ及び表面部分データ（図６（ｂ）参照）を格納することが可能となる。Ｓ２２０を実行した後、ＣＰＵ１２は、処理をＳ２２４に移行する。Ｓ２２２でＣＰＵ１２は、Ｓ２０６で取得した情報が、Ｎページ終了（図６（ａ），（ｂ）参照）であるかについて判断する。判断の結果、Ｎページ終了であった場合（Ｓ２２２：Ｙｅｓ）、ＣＰＵ１２は、処理を図９のＳ２２６に移行する。一方、Ｎページ終了ではなかった場合（Ｓ２２２：Ｎｏ）、ＣＰＵ１２は、処理をＳ２２４に移行する。なお、Ｎページ終了は、図７のＳ１２６又はＳ１３６でコンピュータ１０に送信されたものである。
【００４７】
Ｓ２２４でＣＰＵ１２は、今回のＳ２２０で確保したデータ記憶領域、又は、既に確保されているデータ記憶領域に、Ｓ２０４で受信された、ヘッダ及び裏面部分データ、又は、ヘッダ及び表面部分データを格納する。図６（ａ），（ｂ）を例に、Ｓ２２４の処理の具体例を説明する。Ｓ２０４で、図６（ａ）に示す「ヘッダａ」及び「裏面部分データａ」が受信されていたとする。この場合、今回のＳ２２０において、Ｓ２０４で受信された「ヘッダａ」に付加されている裏ページ番号に一致するページ番号Ｎのための裏面用のデータ記憶領域が確保されている。ＣＰＵ１２は、「ヘッダａ」及び「裏面部分データａ」を、この裏面用のデータ記憶領域に新規に格納する。一方、Ｓ２０４で、図６（ａ）に示す「ヘッダｂ」及び「裏面部分データｂ」〜「ヘッダｉ」及び「裏面部分データｉ」の何れかが受信されていたとする。この場合、ＣＰＵ１２は、「ヘッダｂ」及び「裏面部分データｂ」〜「ヘッダｉ」及び「裏面部分データｉ」の何れかを、既に確保されている、「ヘッダｂ」〜「ヘッダｉ」に付加されている裏ページ番号に一致するページ番号Ｎのための裏面用のデータ記憶領域に、追加格納する。このとき、この裏面用のデータ記憶領域には、少なくとも既に「ヘッダａ」及び「裏面部分データａ」が格納されている。そこで、ＣＰＵ１２は、「ヘッダｂ」及び「裏面部分データｂ」〜「ヘッダｉ」及び「裏面部分データｉ」の何れかを、既に格納されているものに続けて格納する。従って、「ヘッダａ」及び「裏面部分データａ」〜「ヘッダｉ」及び「裏面部分データｉ」は、受信された順に従い、図６（ａ）に示すような順で連続した状態で格納される。
【００４８】
また、Ｓ２０４で、図６（ｂ）に示す「ヘッダｊ」及び「表面部分データｊ」が受信されていたとする。この場合、今回のＳ２２０において、Ｓ２０４で受信された「ヘッダｊ」に付加されている表ページ番号に一致するページ番号Ｎのための表面用のデータ記憶領域が確保されている。ＣＰＵ１２は、「ヘッダｊ」及び「表面部分データｊ」を、この表面用のデータ記憶領域に新規に格納する。一方、Ｓ２０４で、図６（ｂ）に示す「ヘッダｋ」及び「表面部分データｋ」〜「ヘッダｒ」及び「表面部分データｒ」の何れかが受信されていたとする。この場合、ＣＰＵ１２は、「ヘッダｋ」及び「表面部分データｋ」〜「ヘッダｒ」及び「表面部分データｒ」の何れかを、既に確保されている、「ヘッダｋ」〜「ヘッダｒ」に付加されている表ページ番号に一致するページ番号Ｎのための表面用のデータ記憶領域に、追加格納する。このとき、この表面用のデータ記憶領域には、少なくとも既に「ヘッダｊ」及び「表面部分データｊ」が格納されている。そこで、ＣＰＵ１２は、「ヘッダｋ」及び「表面部分データｋ」〜「ヘッダｒ」及び「表面部分データｒ」の何れかを、既に格納されているものに続けて格納する。従って、「ヘッダｊ」及び「表面部分データｊ」〜「ヘッダｒ」及び「表面部分データｒ」は、受信された順に従い、図６（ｂ）に示すような順で連続した状態で格納される。Ｓ２２４を実行した後、ＣＰＵ１２は、処理をＳ２０４に戻し、上述した処理を繰り返して実行する。
【００４９】
図９のＳ２２６でＣＰＵ１２は、Ｎページ終了のページ番号に対応するページ番号Ｎのための裏面用のデータ記憶領域又は表面用のデータ記憶領域に格納されている、複数の裏面部分データ又は複数の表面部分データを処理して、裏面１０２の画像に対応する裏面データ又は表面１０１の画像に対応する表面データを形成する。ＣＰＵ１２は、裏面データを、Ｓ２２０で確保した裏面用の転送記憶領域に格納し、又は、表面データを、Ｓ２２０で確保した表面用の転送記憶領域に格納する。裏面データ及び表面データは、圧縮されていない形式のデータとされる。例えば、ビットマップ形式のデータとされる。図６（ａ）が裏ページ番号「２」に対応し、且つＮページ終了が「２ページ終了」であったとする。この場合、Ｓ２２６でＣＰＵ１２は、ページ番号「２」のための裏面用のデータ記憶領域に格納されている圧縮された形式の「裏面部分データａ」〜「裏面部分データｉ」を展開する等して処理し、非圧縮形式の一つの裏面データを形成する。ＣＰＵ１２は、ページ番号が「２」に対応する裏面データを、ページ番号「２」のための裏面用の転送記憶領域に格納する。また、図６（ｂ）が表ページ番号「１」に対応し、且つＮページ終了が「１ページ終了」であったとする。この場合、Ｓ２２６でＣＰＵ１２は、ページ番号「１」のための表面用のデータ記憶領域に格納されている圧縮された形式の「表面部分データｊ」〜「表面部分データｒ」を展開する等して処理し、非圧縮形式の一つの表面データを形成する。ＣＰＵ１２は、ページ番号が「１」に対応する表面データを、ページ番号「１」のための表面用の転送記憶領域に格納する。
【００５０】
Ｓ２２６を実行した後、ＣＰＵ１２は、アプリ要求ページ番号Ｃと、Ｓ２２６で裏面用の転送記憶領域に格納された裏面データ又は表面用の転送記憶領域に格納された表面データのページ番号Ｎとが一致するかについて判断する（Ｓ２２８）。例えば、今回のＳ２２８が、この処理が開始された後、最初に実行されたものであって、且つ、Ｓ２２６で、ページ番号「２」に対応する裏面用の転送記憶領域に裏面データが格納されていたとする。この場合、アプリ要求ページ番号Ｃは、図８のＳ２０２で「Ｃ＝１」と設定されているため、ＣＰＵ１２は、この判断を否定する（Ｓ２２８：Ｎｏ）。また、前述の状態でＳ２２８が否定（Ｓ２２８：Ｎｏ）された後、後述するＳ２３４が未実行の状態で、且つ、Ｓ２２６で、ページ番号「１」に対応する表面用の転送記憶領域に表面データが格納されていたとする。この場合、アプリ要求ページ番号Ｃと、ページ番号Ｎとは共に「１」であるため、ＣＰＵ１２は、この判断を肯定する（Ｓ２２８：Ｙｅｓ）。なお、この処理では、Ｓ２２８が肯定される場合（Ｓ２２８：Ｙｅｓ）、Ｓ２３４が１回実行され、その後、Ｓ２３６の判断が肯定される（Ｓ２３６：Ｙｅｓ）。これは、前述したように、Ｓ２２８の判断が否定された偶数（前述の例では「２」）であるページ番号Ｎの裏面データが、既に格納されているためである。Ｓ２３６が肯定された場合（Ｓ２３６：Ｙｅｓ）、再度、Ｓ２３４が実行される。そのため、ページ番号Ｎが奇数であるとき、Ｓ２２８の判断は肯定（Ｓ２２８：Ｙｅｓ）される。Ｓ２２８の判断が肯定された場合（Ｓ２２８：Ｙｅｓ）、ＣＰＵ１２は、処理をＳ２３０に移行する。Ｓ２２８又はＳ２３６の判断が否定された場合（Ｓ２２８，Ｓ２３６：Ｎｏ）、ＣＰＵ１２は、処理を図８のＳ２０４に戻し、上述した処理を繰り返して実行する。
【００５１】
Ｓ２２８からＳ２３６の処理について改めて説明する。Ｓ２２８又はＳ２３６の判断が肯定された場合（Ｓ２２８，Ｓ２３６：Ｙｅｓ）、ＣＰＵ１２は、判断が肯定される原因となったページ番号Ｎのための表面用の転送記憶領域に格納又は裏面用の転送記憶領域に格納されている、表面データ又は裏面データを読み出し、この処理の開始を指示したアプリプロセスに転送する（Ｓ２３０）。Ｓ２３０は、例えば、ＴＷＡＩＮに従って行われる。アプリプロセスは、転送された表面データ又は裏面データを用いて、読み取られた原稿１００の表面１０１の画像又は裏面１０２の画像を、アプリケーションプログラムの画面に表示し、又は、ＨＤＤ１８に記憶等する。続けて、ＣＰＵ１２は、転送済みの表面データ又は裏面データに対応するページ番号Ｎのための、表面用のデータ記憶領域及び表面用の転送記憶領域、又は、裏面用のデータ記憶領域及び裏面用の転送記憶領域を、開放する（Ｓ２３２）。これによって、図８のＳ２２０で、他のページ番号Ｎのための新たなデータ記憶領域及び転送記憶領域を確保することが可能となる。Ｓ２３２を実行した後、ＣＰＵ１２は、アプリ要求ページ番号Ｃを、「１」増加させる（Ｓ２３４）。Ｓ２３４が実行される前、アプリ要求ページ番号Ｃが「１」であった場合、Ｓ２３４によって、アプリ要求ページ番号Ｃは、「２」とされ、また、「２」であった場合、「３」とされる。
【００５２】
次に、ＣＰＵ１２は、Ｓ２３４で「１」増加された新たなアプリ要求ページ番号Ｃに一致するページ番号Ｎのための、裏面用の転送記憶領域に裏面データが格納されているかについて判断する（Ｓ２３６）。本実施形態では、上流側読取センサ６２は、下流側読取センサ６４に対して搬送方向の上流側に設けられている。図５に示す処理では、先ず、下流側読取センサ６４に関するＳ１１４〜Ｓ１２０に先立ち、上流側読取センサ６２に関するＳ１０６〜Ｓ１１２が行われる。例えば、シートフィーダ６０に重ねられた状態で収容された複数枚の原稿１００のうち、最も上側にある１枚目の原稿１００の裏面１０２と表面１０１を対象とした場合、図１０に示すように、裏面１０２の画像の全部に対応する「裏面部分データａ」〜「裏面部分データｉ」は、表面１０１の画像の全部に対応する「表面部分データｊ」〜「表面部分データｒ」が、全て表面用のデータ記憶領域に格納されるより早く裏面用のデータ記憶領域に格納される。しかし、Ｓ２２８に関する説明として上述した通り、ページ番号「２」に対応する裏面用の転送記憶領域に裏面データが格納されたとしても、アプリ要求ページ番号Ｃは、Ｓ２０２で「Ｃ＝１」と設定されているため、この裏面データは、アプリプロセスに転送されない。後に形成される、ページ番号「１」に対応する表面用の転送記憶領域に格納された表面データが、先に、Ｓ２３０で転送される。そこで、この処理では、Ｓ２３４において、表面データが転送されたことを条件として、アプリ要求ページ番号Ｃを「１」増加させた上で、Ｓ２３６で、転送されずに格納されたままの裏面データの存在を確認することとしている。
【００５３】
Ｓ２３６において、新たなアプリ要求ページ番号Ｃに一致するページ番号Ｎのための、裏面用の転送記憶領域に裏面データが格納されていると判断される場合（Ｓ２３６：Ｙｅｓ）、ＣＰＵ１２は、この裏面データを、アプリプロセスに転送するため、処理をＳ２３０に戻し、上述した処理を繰り返して実行する。一方、前述のように処理がＳ２３０に戻され、再度、Ｓ２３０〜Ｓ２３４が実行された場合、ＣＰＵ１２は、この判断を否定し（Ｓ２３６：Ｎｏ）、処理を図８のＳ２０４に戻す。処理をＳ２０４に戻したＣＰＵ１２は、上述した処理を繰り返して実行する。
【００５４】
以上説明した本実施形態によれば、原稿１００の裏面１０２を読み取り、その後、表面１０１を読み取るような構成の画像読取装置５０によっても、この画像読取装置５０による読み取りを指示したアプリプロセスに対して、表面１０１の画像に対応する表面データを転送した後、裏面１０２の画像に対応する裏面データを転送することができる。例えば、図４のような搬送が行われたとする。この場合、１枚目の原稿１００の裏面１０２（２ページ）、１枚目の原稿１００の表面１０１（１ページ）、２枚目の原稿１００の裏面１０２（４ページ）、２枚目の原稿１００の表面１０１（３ページ）のような順序で、合計４個の裏面データ及び表面データが形成される。本実施形態によれば、このような場合であっても、４個の裏面データ及び表面データは、それぞれ、ページの順に従って、アプリプロセスに転送される。そのため、アプリプロセスは、ページの順を管理することなく、処理を実行することができる。
【符号の説明】
【００５５】
１  画像読取システム
３  通信ケーブル
１０  コンピュータ
１２  ＣＰＵ
１４  ＲＯＭ
１６  ＲＡＭ
１８  ハードディスク（ＨＤＤ）
２０  接続インターフェース（接続Ｉ／Ｆ）
２２  操作部
２４  表示部
５０  画像読取装置
５２  ＣＰＵ
５４  ＲＯＭ
５６  ＲＡＭ
５８  接続インターフェース（接続Ｉ／Ｆ）
６０  シートフィーダ
６２  上流側読取センサ
６４  下流側読取センサ
１００  原稿
１０１  第一面，表面
１０２  第二面，裏面
【図１】
2012182757.tif 000003
【図２】
2012182757.tif 000004
【図３】
2012182757.tif 000005
【図４】
2012182757.tif 000006
【図５】
2012182757.tif 000007
【図６】
2012182757.tif 000008
【図７】
2012182757.tif 000009
【図８】
2012182757.tif 000010
【図９】
2012182757.tif 000011
【図１０】
2012182757.tif 000012