(57)【要約】【課題】原稿のサイズを自動で検知しつつ、スキャンデータの指定された範囲を抽出できることを課題とする。【解決手段】スキャナドライバ２８は、原稿サイズ自動検知スキャンの設定を受け付けた状態で、スキャナ５０から第１スキャンデータＳＤ１を取得し（Ｓ２７）、第１スキャンデータＳＤ１が示す画像をＬＣＤ１６に表示させる（Ｓ３１）。スキャナドライバ２８は、表示した第１スキャンデータＳＤ１の画像における抽出範囲８７を受け付ける（Ｓ３５）。スキャナドライバ２８は、スキャナ５０へ第２スキャンデータＳＤ２のスキャン命令を送信し（Ｓ３９）、スキャナ５０から取得した第２スキャンデータＳＤ２のうち、抽出範囲８７の画像を示すデータを第３スキャンデータＳＤ３として抽出する（Ｓ４５）。スキャナドライバ２８は、抽出した第３スキャンデータＳＤ３を出力する（Ｓ４７）。【選択図】図２
2020088776.tif 000002
【特許請求の範囲】
【請求項１】
ユーザインタフェースとディスプレイとを備えた情報処理装置のコンピュータが読み取り可能な制御プログラムであって、
前記コンピュータを、
原稿サイズ自動検知スキャンの設定を受け付けた状態で、スキャナから第１スキャンデータを取得し、前記第１スキャンデータが示す画像を前記ディスプレイに表示させる表示手段と、して機能させ、前記第１スキャンデータは、原稿全体の画像を示すデータであり、
前記コンピュータを、
前記表示手段により表示した前記第１スキャンデータの画像における抽出範囲を、前記ユーザインタフェースを介して受け付けたことに応じて前記抽出範囲を示す抽出情報をメモリに記憶させる記憶手段と、
前記記憶手段が前記抽出情報を記憶させた後に前記スキャナへ第２スキャンデータのスキャン命令を入力する命令手段と、して機能させ、前記第２スキャンデータは、前記原稿サイズ自動検知スキャンの設定に対応するデータであり、
前記コンピュータを、
前記スキャン命令を入力された前記スキャナから前記第２スキャンデータを取得したことに応じて取得した前記第２スキャンデータのうち、前記メモリに記憶されている前記抽出情報が示す前記抽出範囲の画像を示すデータを第３スキャンデータとして抽出する抽出手段と、
前記抽出手段により抽出した前記第３スキャンデータを出力する出力手段と、
して機能させる制御プログラム。
【請求項２】
前記スキャン命令は、
第１スキャン方式を示すスキャン命令であり、前記第１スキャン方式は、前記スキャナが備える原稿センサによる原稿のサイズの検知と、検知されたサイズの原稿を示す前記第２スキャンデータの生成と、を前記スキャナにおいて行う方式であり、
前記抽出手段は、
前記スキャナにおいて前記第１スキャン方式によって生成された前記第２スキャンデータから前記第３スキャンデータを抽出する、請求項１に記載の制御プログラム。
【請求項３】
前記スキャン命令は、
第２スキャン方式を示すスキャン命令であり、前記第２スキャン方式は、前記原稿の画像を含み且つ前記原稿のサイズよりも大きな範囲の画像を示す前記第２スキャンデータの生成を前記スキャナにおいて行う方式であり、
前記抽出手段は、
前記スキャナにおいて前記第２スキャン方式によって生成された前記第２スキャンデータから前記原稿のサイズを検知し、前記原稿の画像を抽出した後に、抽出したデータから前記第３スキャンデータを抽出する、請求項２に記載の制御プログラム。
【請求項４】
前記命令手段は、
前記スキャン命令を入力する以前に、前記スキャン命令に応じて実行されるスキャンの条件を示す条件情報に基づいて、前記第１スキャン方式又は前記第２スキャン方式のいずれを実行するのかを選択し、前記第１スキャン方式、又は前記第２スキャン方式のうち、選択された方式を示すスキャン命令を入力する、請求項３に記載の制御プログラム。
【請求項５】
前記命令手段は、
前記抽出情報を前記条件情報として用い、前記抽出情報が示す前記抽出範囲が、スキャンの搬送方向における前記原稿の後端から所定の範囲を含まない場合には前記第１スキャン方式を選択し、前記抽出範囲が前記所定の範囲を含む場合には前記第２スキャン方式を選択する、請求項４に記載の制御プログラム。
【請求項６】
前記命令手段は、
前記ユーザインタフェースを介して受け付けたパラメータを前記条件情報として用いる、請求項４又は請求項５に記載の制御プログラム。
【請求項７】
前記命令手段は、
前記条件情報が第１処理条件を示す場合には前記第１スキャン方式を選択し、前記条件情報が第２処理条件を示す場合には前記第２スキャン方式を選択し、前記第２処理条件は、前記第２処理条件で所定のスキャンデータを処理した場合にかかる処理時間が、前記第１処理条件で前記所定のスキャンデータを処理した場合にかかる処理時間よりも長くなる処理条件である、請求項４乃至請求項６の何れか１項に記載の制御プログラム。
【請求項８】
前記命令手段は、
前記条件情報が第１解像度でのスキャンを示す場合には前記第１スキャン方式を選択し、前記条件情報が第２解像度でのスキャンを示す場合には前記第２スキャン方式を選択し、前記第２解像度は、前記第１解像度よりも高い解像度である、請求項７に記載の制御プログラム。
【請求項９】
前記命令手段は、
前記ユーザインタフェースを介して原稿のサイズの指定を受け付けた場合、第１スキャン命令を入力し、前記第１スキャン命令は、指定された前記原稿のサイズと、前記抽出範囲とを前記スキャン命令として前記スキャナへ入力し、前記抽出範囲の画像のみを示す前記第２スキャンデータを前記スキャナへ生成させる命令である、請求項１乃至請求項８の何れか１項に記載の制御プログラム。
【請求項１０】
ユーザインタフェースと、
ディスプレイと
コントローラと、
を備えた情報処理装置であって、
前記コントローラは、
原稿サイズ自動検知スキャンの設定を受け付けた状態で、スキャナから第１スキャンデータを取得し、前記第１スキャンデータが示す画像を前記ディスプレイに表示させる表示手段を有し、前記第１スキャンデータは、原稿全体の画像を示すデータであり、
前記コントローラは、
前記表示手段により表示した前記第１スキャンデータの画像における抽出範囲を、前記ユーザインタフェースを介して受け付けたことに応じて前記抽出範囲を示す抽出情報をメモリに記憶させる記憶手段と、
前記記憶手段が前記抽出情報を記憶させた後に前記スキャナへ第２スキャンデータのスキャン命令を入力する命令手段と、を有し、前記第２スキャンデータは、前記原稿サイズ自動検知スキャンの設定に対応するデータであり、
前記コントローラは、
前記スキャン命令を入力された前記スキャナから前記第２スキャンデータを取得したことに応じて取得した前記第２スキャンデータのうち、前記メモリに記憶されている前記抽出情報が示す前記抽出範囲の画像を示すデータを第３スキャンデータとして抽出する抽出手段と、
前記抽出手段により抽出した前記第３スキャンデータを出力する出力手段と、
を有する情報処理装置。
【請求項１１】
スキャナと、
情報処理装置と、
を備えるスキャンシステムであって、
前記スキャンシステムに含まれるコントローラは、
原稿サイズ自動検知スキャンの設定を受け付けた状態で、前記スキャナから第１スキャンデータを取得し、前記第１スキャンデータが示す画像をディスプレイに表示させる表示手段を有し、前記第１スキャンデータは、原稿全体の画像を示すデータであり、
前記コントローラは、
前記表示手段により表示した前記第１スキャンデータの画像における抽出範囲を、ユーザインタフェースを介して受け付けたことに応じて前記抽出範囲を示す抽出情報をメモリに記憶させる記憶手段と、
前記記憶手段が前記抽出情報を記憶させた後に前記スキャナへ第２スキャンデータのスキャン命令を入力する命令手段と、を有し、前記第２スキャンデータは、前記原稿サイズ自動検知スキャンの設定に対応するデータであり、
前記コントローラは、
前記スキャン命令を入力された前記スキャナから前記第２スキャンデータを取得したことに応じて取得した前記第２スキャンデータのうち、前記メモリに記憶されている前記抽出情報が示す前記抽出範囲の画像を示すデータを第３スキャンデータとして抽出する抽出手段と、
前記抽出手段により抽出した前記第３スキャンデータを出力する出力手段と、
を有するスキャンシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、原稿から読み取ったスキャンデータを処理する制御プログラム等に関する。
【背景技術】
【０００２】
下記特許文献には、事前にプレスキャンを実行しプレスキャンで生成したプレビュー画像を表示しておき、表示した画像から実際にスキャンデータとして出力する範囲を受け付ける複合機が記載されている。この複合機では、表示した画像のうち、タッチパネルを介して受け付けた範囲についてスキャンデータの出力を行う。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１１−１９３２３６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、スキャンデータを生成する際に、原稿のサイズを指定されない場合、原稿のサイズを自動で検知する必要がある。この場合、原稿のサイズを自動で検知しつつ、生成したスキャンデータから指定された範囲のスキャンデータを出力する必要がある。そこで、原稿のサイズを自動で検知しつつ、スキャンデータの指定された範囲を抽出できることを課題とする。
【課題を解決するための手段】
【０００５】
上記課題を解決するために、本願は、ユーザインタフェースとディスプレイとを備えた情報処理装置のコンピュータが読み取り可能な制御プログラムであって、前記コンピュータを、原稿サイズ自動検知スキャンの設定を受け付けた状態で、スキャナから第１スキャンデータを取得し、前記第１スキャンデータが示す画像を前記ディスプレイに表示させる表示手段と、して機能させ、前記第１スキャンデータは、原稿全体の画像を示すデータであり、前記コンピュータを、前記表示手段により表示した前記第１スキャンデータの画像における抽出範囲を、前記ユーザインタフェースを介して受け付けたことに応じて前記抽出範囲を示す抽出情報をメモリに記憶させる記憶手段と、前記記憶手段が前記抽出情報を記憶させた後に前記スキャナへ第２スキャンデータのスキャン命令を入力する命令手段と、して機能させ、前記第２スキャンデータは、前記原稿サイズ自動検知スキャンの設定に対応するデータであり、前記コンピュータを、前記スキャン命令を入力された前記スキャナから前記第２スキャンデータを取得したことに応じて取得した前記第２スキャンデータのうち、前記メモリに記憶されている前記抽出情報が示す前記抽出範囲の画像を示すデータを第３スキャンデータとして抽出する抽出手段と、前記抽出手段により抽出した前記第３スキャンデータを出力する出力手段と、して機能させる制御プログラムを開示する。
【０００６】
なお、本開示の内容は、制御プログラムとしての実施だけでなく、情報処理装置やスキャンシステムとして実施しても有益である。
【発明の効果】
【０００７】
本開示の制御プログラム等によれば、原稿サイズ自動検知スキャンの設定を受け付けた状態で取得した第１スキャンデータの画像を事前に表示し、抽出範囲を受け付ける。第２スキャンデータは、原稿のサイズを自動で検知した処理後のデータや、自動検知に用いる処理前のデータなど、原稿サイズ自動検知スキャンの設定に対応するデータとして用いられる。そして、第２スキャンデータのうち、受け付けた抽出範囲のデータを第３スキャンデータとして抽出し出力する。このため、原稿のサイズを自動で検知する命令を受け付けた場合であっても、原稿のサイズを自動で検知しつつ、スキャンデータから指定された抽出範囲を抽出できる。
【図面の簡単な説明】
【０００８】
【図１】スキャンシステム１のブロック図である。
【図２】第１スキャン処理の流れを示す図である。
【図３】第２スキャン処理の流れを示す図である。
【図４】設定画面７１を示す図である。
【図５】サイズ自動検知方式で生成されるスキャンデータの状態を示す図である。
【図６】オーバースキャン方式で生成されるスキャンデータの状態を示す図である。
【図７】第３スキャン処理の流れを示す図である。
【図８】別例の設定画面７１を示す図である。
【発明を実施するための形態】
【０００９】
＜スキャンシステムの構成＞
図１に、本願に係る実施形態として例示されるスキャンシステム１のブロック図を示す。スキャンシステム１は、ＰＣ（情報処理装置の一例）１０、スキャナ（情報処理装置の一例）５０を備える。
【００１０】
ＰＣ１０は、ＣＰＵ（コンピュータ及びコントローラの一例）１２、メモリ１４、ＬＣＤ（ユーザインタフェースの一例）１６、入力インタフェース（ユーザインタフェースの一例）１８、ネットワークインタフェース２０を主に備えている。これらの構成要素は、バス２２を介して互いに通信可能とされている。なお、「インタフェース」は、「Ｉ／Ｆ」と記載しても良い。
【００１１】
ＣＰＵ１２は、メモリ１４内のアプリケーションプログラム（制御プログラムの一例）２６、スキャナドライバ（制御プログラムの一例）２８、オペレーティングシステム（以下、「ＯＳ」と略す）３２に従って処理を実行する。アプリケーションプログラム２６は、例えば、入力Ｉ／Ｆ１８を介して受け付けた内容に基づいてスキャナドライバ２８に対する指示を出力する、あるいはスキャナドライバ２８から取得したデータをＬＣＤ１６に表示する。従って、アプリケーションプログラム２６は、スキャナドライバ２８への指示やスキャナドライバ２８からのデータを出力するインタフェースとして機能する。
【００１２】
また、スキャナドライバ２８は、スキャナ５０のデバイスドライバであり、スキャナ５０の作動を制御する。スキャナドライバ２８は、アプリケーションプログラム２６との間でデータの入出力を行い、例えば、ＴＷＡＩＮ規格に準拠した通信をスキャナ５０との間で行う。なお、スキャナドライバ２８はＴＷＡＩＮ規格以外（例えば、ＷＩＡ規格）のドライバでも良い。また、スキャナドライバ２８は、スキャンの設定を行う設定画面の表示を行う。また、スキャナドライバ２８は、スキャナ５０から取得したスキャンデータＳＤに対する画像処理を実行可能となっている。
【００１３】
また、ＯＳ３２は、アプリケーションプログラム２６、スキャナドライバ２８に利用される基本的な機能を提供するプログラムである。なお、以下の説明では、アプリケーションプログラム２６等を実行するＣＰＵ１２のことを、単にプログラム名でも記載する場合がある。例えば、「アプリケーションプログラム２６が」という記載は、「アプリケーションプログラム２６を実行するＣＰＵ１２が」ということを意味する場合がある。
【００１４】
また、メモリ１４は、データ記憶領域３４を備える。データ記憶領域３４は、アプリケーションプログラム２６等の実行に必要なデータなどを記憶する領域である。なお、メモリ１４は、ＲＡＭ、ＲＯＭ、フラッシュメモリ、ＨＤＤ、ＣＰＵ１２が備えるバッファなどが組み合わされて構成されている。
【００１５】
メモリ１４は、コンピュータが読み取り可能なストレージ媒体であってもよい。コンピュータが読み取り可能なストレージ媒体とは、ｎｏｎ−ｔｒａｎｓｉｔｏｒｙな媒体である。ｎｏｎ−ｔｒａｎｓｉｔｏｒｙな媒体には、上記の例の他に、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ等の記録媒体も含まれる。また、ｎｏｎ−ｔｒａｎｓｉｔｏｒｙな媒体は、ｔａｎｇｉｂｌｅな媒体でもある。一方、インターネット上のサーバなどからダウンロードされるプログラムを搬送する電気信号は、コンピュータが読み取り可能な媒体の一種であるコンピュータが読み取り可能な信号媒体であるが、ｎｏｎ−ｔｒａｎｓｉｔｏｒｙなコンピュータが読み取り可能なストレージ媒体には含まれない。後述するスキャナ５０のメモリ５４についても同様である。
【００１６】
ＬＣＤ１６は、ＰＣ１０の各種機能を表示する。入力Ｉ／Ｆ１８は、キーボード，マウス等を含み、ユーザ操作を入力するためのインタフェースである。ネットワークＩ／Ｆ２０は、ネットワーク５６に接続され、ネットワーク５６を介して、スキャナ５０のネットワークインタフェース５１に接続されている。これにより、ＰＣ１０はスキャナ５０との間で情報の送受信を行う。
【００１７】
スキャナ５０は、原稿に印刷された画像を読み取ってスキャンデータＳＤを生成する装置であり、上記したネットワークＩ／Ｆ５１の他に、ＣＰＵ５２、メモリ５４、読取インタフェース５５、原稿センサ５９、入力インタフェース５７、ＬＣＤ５８等を備えている。これらの構成要素は、バス５３を介して互いに通信可能とされている。
【００１８】
ＣＰＵ５２は、メモリ５４内のプログラム６１（制御プログラムの一例）に従って処理を実行する。メモリ５４は、ＲＡＭ、ＲＯＭなどが組み合わされて構成されている。また、メモリ５４は、データ記憶領域５４Ａを備える。データ記憶領域５４Ａは、プログラム６１の実行に必要なデータなどを記憶する領域である。
【００１９】
プログラム６１は、スキャナ５０を統括的に制御するプログラムである。スキャナ５０は、ＰＣ１０によって制御され、読み取ったスキャンデータＳＤをＰＣ１０へ送信する。スキャナ５０のＣＰＵ５２は、プログラム６１に従って、スキャンデータＳＤの生成処理やスキャンデータＳＤに対する画像処理を実行する。
【００２０】
読取Ｉ／Ｆ５５は、例えば、ＣＣＤやＣＩＳなどの画像を読み取るデバイスを備える。また、読取Ｉ／Ｆ５５は、ＡＤＦ（Ａｕｔｏ  Ｄｏｃｕｍｅｎｔ  Ｆｅｅｄｅｒの略）を備えており、ＡＤＦにセットされた原稿を１枚ずつ順次搬送しながら読み取ることが可能となっている。なお、読取Ｉ／Ｆ５５は、いわゆるフラットベッド式の原稿台を備え、手作業により原稿を１枚ずつセットする構成でも良い。
【００２１】
原稿センサ５９は、例えば、原稿の副走査方向の長さを検知する物理的なセンサである。ここでいう物理的なセンサとは、例えば、ローラ型のセンサであり、画像の読み取り時に原稿の上を副走査方向へと回転しながら移動し、原稿の端部の段差に基づいて原稿の高さを検知するものである。このような原稿センサ５９による原稿サイズの検知では、センサの検知精度によっては数ミリ程度（例えば、３ミリ〜５ミリ）の誤差が生じる虞がある。例えば、原稿センサ５９による原稿サイズの検知では、搬送方向における原稿の後端の検知タイミングと、読取Ｉ／Ｆ５５のＡＤＦによる原稿の搬送タイミングとのずれによって後端の検知に誤差が生じる。その結果、後述するように、生成されたスキャンデータＳＤの後端には、原稿を背面側から抑える原稿カバーをスキャンした画像が付加される。なお、原稿の主走査方向の長さのことを原稿の幅という場合がある。また、原稿の副走査方向の長さのことを原稿の高さという場合がある。
【００２２】
入力Ｉ／Ｆ５７は、液晶ディスプレイや各種スイッチ等を含み、ユーザ操作を入力するためのインタフェースである。ＬＣＤ５８は、スキャナ５０の各種機能を表示する。
【００２３】
＜画像の読み取りの作動シーケンス＞
ここで、本実施形態のスキャンシステム１は、原稿サイズを自動で検知し、検知した原稿サイズのスキャンデータ（後述する、第３スキャンデータＳＤ３）を生成するスキャン処理（以下、原稿サイズ自動検知スキャン処理という場合がある）を実行することができる。原稿サイズ自動検知スキャン処理には、スキャナ５０が原稿サイズを自動検知する方式（以下、サイズ自動検知方式という場合がある）で生成したスキャンデータ（後述する、図２のＳ４３で出力される第２スキャンデータＳＤ２）を用いて、スキャナドライバ２８が第３スキャンデータＳＤ３を生成する処理である「第１スキャン処理」（後述する、図２のＳ３９〜Ｓ４５）と、スキャナ５０が原稿サイズを自動検知しない方式（以下、オーバースキャン方式という場合がある）生成したスキャンデータ（後述する、図３のＳ５５で出力される第２スキャンデータＳＤ２）を用いて、スキャナドライバ２８が原稿サイズを自動検知し、スキャナドライバ２８が第３スキャンデータＳＤ３を生成する処理である「第２スキャン処理」（後述する、図３のＳ５１〜Ｓ５９）と、がある。また、スキャンシステム１は、プレスキャンを実行して表示した画像から抽出すべき範囲（以下、抽出範囲という場合がある）を受け付け、最終的なスキャンにおいて受け付けた抽出範囲のスキャンデータＳＤを出力することができる。ここでいうプレスキャンとは、最終的なスキャンデータＳＤを出力するためのスキャンに先立って実行されるスキャンである。以下の説明では、プレスキャンで生成するスキャンデータＳＤを第１スキャンデータＳＤ１と称し、最終的なスキャンにおいて抽出前のスキャンデータＳＤを第２スキャンデータＳＤ２と称し、第２スキャンデータＳＤ２から抽出したスキャンデータＳＤ、即ち、最終的に出力するスキャンデータＳＤを第３スキャンデータＳＤ３と称して説明する。なお、第１〜第３スキャンデータＳＤ１，ＳＤ２，ＳＤ３を含むスキャンデータを総称する場合は、スキャンデータＳＤと称して説明する。
【００２４】
後述するように、本実施形態のスキャナドライバ２８は、Ｓ３７において、第１スキャン処理と第２スキャン処理のどちらを実行するのかを自動で選択する。また、スキャナドライバ２８は、スキャンの設定として原稿のサイズの指定を受け付けた場合、即ち、原稿サイズ自動検知スキャン処理を実行しない場合、別のスキャン処理（以下、第３スキャン処理という場合がある）を実行する。第３スキャン処理については、後述する（図７参照）。なお、図２、図３及び図７に示す作動シーケンスの内容は、一例である。
【００２５】
まず、図２に示す第１スキャン処理の作動シーケンスについて説明する。なお、本明細書のシーケンスチャートは、基本的に、プログラムに記述された命令に従ったＣＰＵ１２、５２の処理を示す。即ち、以下の説明における「判断」、「抽出」、「選択」、「決定」、「取得」、「受付」、「制御」「設定」等の処理は、ＣＰＵ１２、５２の処理を表している。ＣＰＵ１２による処理は、ＯＳ３２を介したハードウェア制御も含む。なお、「取得」は要求を必須とはしない概念で用いる。即ち、ＣＰＵ１２が要求することなくデータを受信するという処理も、「ＣＰＵ１２がデータを取得する」という概念に含まれる。また、本明細書中の「データ」とは、コンピュータに読取可能なビット列で表される。そして、実質的な意味内容が同じでフォーマットが異なるデータは、同一のデータとして扱われるものとする。本明細書中の「情報」についても同様である。また、「命令」「応答」「要求」等の処理は、「命令」「応答」「要求」等を示す情報を通信することにより行われる。また、「命令」「応答」「要求」等の文言を、「命令」「応答」「要求」等を示す情報そのものという意味で記載してもよい。
【００２６】
図２に示す作動シーケンスは、例えば、ユーザがＰＣ１０を操作してアプリケーションプログラム２６を起動することで開始される。まず、図２のステップ（以下、単に「Ｓ」と記載する）１１において、ＰＣ１０の入力インタフェース１８を介した操作入力に従って、アプリケーションプログラム２６が起動する。例えば、ユーザは、ＬＣＤ１６に表示されたアプリケーションプログラム２６のアイコンを入力Ｉ／Ｆ１８のマウスでクリックすることで、スキャナドライバ２８を起動させる。アプリケーションプログラム２６は、スキャナドライバ２８へ、設定画面の表示を要求する（Ｓ１３）。この設定画面は、スキャン処理に対する設定を受け付けるものである。スキャナドライバ２８は、アプリケーションプログラム２６からの要求に応じて設定画面をＰＣ１０のＬＣＤ１６に表示する（Ｓ１４）。スキャナドライバ２８は、ＬＣＤ１６に表示した設定画面による受け付けを実行する（Ｓ１７）。なお、設定画面の表示処理は、スキャナドライバ２８に限らず、アプリケーションプログラム２６が実行しても良い。例えば、アプリケーションプログラム２６は、設定画面に表示する設定値をスキャナドライバ２８から取得し、取得した設定値に基づいて設定画面を表示しても良い。
【００２７】
図４は、ＬＣＤ１６に表示される設定画面の一例を示している。図４に示すように、設定画面７１には、スキャン条件選択部７３、詳細設定ボタン７４、プレビュー開始ボタン７５、スキャン開始ボタン７６、プレビューウィンドウ７７、検知情報欄７９が表示されている。スキャン条件選択部７３には、解像度バー７３Ａ、カラー設定バー７３Ｂ、原稿サイズバー７３Ｃが表示されている。解像度バー７３Ａは、入力Ｉ／Ｆ１８を介して、スキャン解像度を、例えば、１００ｄｐｉ＊１００ｄｐｉ、３００ｄｐｉ＊３００ｄｐｉ、６００ｄｐｉ＊６００ｄｐｉなどから選択させるための表示である。
【００２８】
カラー設定バー７３Ｂは、カラー設定を選択させるための表示である。原稿サイズバー７３Ｃは、原稿サイズを選択する操作を受け付けるための表示である。選択可能な原稿サイズは、例えば、ハガキサイズ、Ｂ６、Ｂ５、Ａ４などの定型サイズである。また、本実施形態では、原稿サイズとして、原稿サイズ自動検知スキャンを実行させる原稿サイズ自動検知を選択することができる。図４では、一例として、解像度として３００＊３００ｄｐｉ、色数として１６７７万色カラー、原稿サイズとして原稿サイズ自動検知が選択された状態を示している。
【００２９】
詳細設定ボタン７４は、スキャン条件選択部７３の項目以外のスキャンの設定を行うためのボタンである。スキャナドライバ２８は、詳細設定ボタン７４をクリック操作されることに応じて、例えば、後処理の設定を行うための画面（図示略）をＬＣＤ１６に表示する。ここでいう後処理とは、生成されたスキャンデータＳＤに対して、例えば、カラー変換、傾き補正、原稿ふち補正などの補正を行う処理である。カラー変換は、スキャンデータＳＤの色数を変換する処理である。傾き補正は、スキャンデータＳＤに含まれる原稿の画像の傾きを補正する処理である。原稿ふち補正とは、例えば、スキャンデータＳＤの周囲に張り込んだ背景画像を、原稿の色に合うように補正する処理である。あるいは、スキャンデータＳＤの周囲の画像をなめらかな形状に補正する処理である。これにより、スキャンデータＳＤの外周部分、即ち、原稿のふちを補正することができる。
【００３０】
プレビュー開始ボタン７５は、プレスキャンを実行させるためのボタンである。プレスキャンでは、第３スキャンデータＳＤ３は生成されない。スキャン開始ボタン７６は、第３スキャンデータの生成を伴う、通常のスキャンを実行させるためのボタンである。スキャナドライバ２８は、プレビュー開始ボタン７５をクリックされずに、いきなりスキャン開始ボタン７６をクリックされた場合、プレスキャンを実行せず、通常のスキャンを実行する。
【００３１】
プレビューウィンドウ７７は、プレスキャンで生成した第１スキャンデータＳＤ１が示す画像を表示するウィンドウである。なお、データＡが示す画像を表示するという概念を、以降、単に「データＡを表示する」と記載する場合もある。アプリケーションプログラム２６は、このプレビューウィンドウ７７に第１スキャンデータＳＤ１を表示した後、抽出範囲を受け付ける。抽出範囲の受け付け処理については後述する。検知情報欄７９は、原稿サイズ自動検知スキャンで検知したスキャンデータＳＤのサイズや画素数を示す表示欄である。図４は、プレスキャンが実行され、第１スキャンデータＳＤ１が表示されている状態を示している。プレビューウィンドウ７７および検知情報欄７９は、プレスキャンが実行される前は空欄である。
【００３２】
例えば、図２のＳ１７において、プレビュー開始ボタン７５がクリックされる。スキャナドライバ２８は、プレビュー開始ボタン７５をクリックされると、スキャナ５０に対してプレスキャンの開始を指示するスキャン命令を送信する（Ｓ２３）。
【００３３】
プレスキャンの第１スキャンデータＳＤ１は、最終的な第３スキャンデータＳＤ３を抽出する抽出範囲の選択を受け付けるための画像であり、受付後は不要となる。換言すれば、第１スキャンデータＳＤ１は、ＬＣＤ１６に表示した場合に抽出範囲の選択できる程度の画質があれば良い。そこで、本実施形態のスキャナドライバ２８は、具体的には、Ｓ２３において、設定可能な解像度のうち、最も低い解像度（例えば、１００ｄｐｉ＊１００ｄｐｉ）の第１スキャンデータＳＤ１をサイズ自動検知方式で生成することを示すスキャン命令をスキャナ５０へ送信する。これにより、第１スキャンデータＳＤ１を処理する時間を短縮でき、第１スキャンデータＳＤ１をより迅速に表示できる。なお、スキャナドライバ２８は、プレスキャンにおいて、最も低い解像度以外、例えば、Ｓ１７の設定画面７１で設定された解像度により第１スキャンデータＳＤ１を生成するスキャン命令を送信しても良い。
【００３４】
スキャナ５０のプログラム６１は、Ｓ２３で、プレスキャンの開始を指示するスキャン命令を取得すると、読取Ｉ／Ｆ５５のＡＤＦにセットされた原稿を搬送し、最も低い解像度で原稿をスキャンする（Ｓ２５）。プログラム６１はスキャンして生成したスキャンデータＳＤから第１スキャンデータＳＤ１を抽出する（Ｓ２５）。以下の説明では、スキャナ５０の読み取り可能な原稿サイズのうち、最大のサイズがＡ４サイズであり、スキャナ５０に載置された原稿のサイズがハガキサイズである場合について説明する。
【００３５】
図５は、サイズ自動検知方式で生成される第１スキャンデータＳＤ１の状態を示している。まず、プログラム６１は、主走査方向において最大サイズのＡ４サイズでスキャンを行う。主走査方向において最大サイズでスキャンすることで、図５に示すように、主走査方向における原稿スキャンデータ８１の両側には、主走査方向付加データ８３が発生する。主走査方向付加データ８３は、Ａ４サイズとして足りない部分に対応しており、例えば、スキャナ５０の原稿をスキャンする際に、原稿を背面側から抑える原稿カバーをスキャンした画像である。例えば、原稿カバーの内側（原稿側）には、グレー色が塗られている。
【００３６】
また、スキャナ５０の原稿センサ５９は、読取Ｉ／Ｆ５５のＡＤＦのどの位置まで原稿が挿入されているかを検知する。プログラム６１は、原稿センサ５９により検知した位置を含むよう、読取Ｉ／Ｆ５５による、副走査方向の読み取り長さを決定する。原稿センサ５９の位置検知の誤差によって、副走査方向における原稿スキャンデータ８１の後端には、後端誤差データ８５が発生する。後端誤差データ８５は、原稿センサ５９の位置検知に誤差が生じることによって、原稿の後端から副走査方向に沿って原稿カバーをスキャンした画像である。後端誤差データ８５の副走査方向に沿った長さＬ１は、例えば、３ミリ〜５ミリ程度である。なお、後端誤差データ８５の発生原因は、原稿センサ５９の誤差に限らず、例えば、原稿センサ５９による読み取り長さの決定に一定の余裕を持たせることでも発生する。読取Ｉ／Ｆ５５が、主走査方向は最大のＡ４で、副走査方向は決定した長さまで原稿を読み取ることで、プログラム６１は、主走査方向付加データ８３及び後端誤差データ８５を有するスキャンデータ（以下、中間スキャンデータという場合がある）ＳＤ５を出力する。
【００３７】
次に、プログラム６１は、図５に示す中間スキャンデータＳＤ５に対する画像処理を行い、図５の下図に示す第１スキャンデータＳＤ１を生成する（Ｓ２５）。プログラム６１は、例えば、色の識別によって主走査方向付加データ８３を検知して削除する。プログラム６１は、原稿カバーの内側の色である、グレー色に該当し、且つ主走査方向における中間スキャンデータＳＤ５の外側部分に配置された画像を、主走査方向付加データ８３の画像として検知する。プログラム６１は、中間スキャンデータＳＤ５のうち検知した主走査方向付加データ８３を除く部分を、第１スキャンデータＳＤ１として抽出する画像処理を行う（Ｓ２５、図５参照）。第１スキャンデータＳＤ１の画像形式は、特に限定されないが、例えば、ビットマップ形式の画像データである。
【００３８】
図２に示すように、プログラム６１は、生成した第１スキャンデータＳＤ１を、ネットワークＩ／Ｆ５１（図１参照）を介してスキャナドライバ２８へ送信する（Ｓ２７）。プログラム６１は、例えば、第１スキャンデータＳＤ１を圧縮してデータ量を少なくしてスキャナドライバ２８へ送信する。なお、第１スキャンデータＳＤ１の圧縮方式は、特に限定されない。また、プログラム６１は、非圧縮で第１スキャンデータＳＤ１をスキャナドライバ２８へ送信しても良い。
【００３９】
スキャナドライバ２８は、プログラム６１から取得した第１スキャンデータＳＤ１をデコードし（Ｓ２９）、デコードした第１スキャンデータＳＤ１を表示する命令をアプリケーションプログラム２６に対して行う（Ｓ３１）。図４に示すように、アプリケーションプログラム２６は、設定画面７１のプレビューウィンドウ７７に第１スキャンデータＳＤ１を表示する（Ｓ３３）。
【００４０】
アプリケーションプログラム２６は、プレビューウィンドウ７７において抽出範囲を受け付ける。図４のプレビューウィンドウ７７において破線で示す枠は、抽出範囲８７を示している。アプリケーションプログラム２６は、例えば、プレビューウィンドウ７７において入力Ｉ／Ｆ１８のマウスをドラッグした範囲を抽出範囲８７として受け付ける。ユーザは、例えば、読取Ｉ／Ｆ５５のＡＤＦで読み込みの終了した原稿を再度ＡＤＦの読み込みトレイにセットした後、設定画面７１のスキャン開始ボタン７６をクリックする。アプリケーションプログラム２６は、抽出範囲８７を選択され、読取Ｉ／Ｆ５５のＡＤＦに原稿をセットされた状態でスキャン開始ボタン７６をクリックする操作を受け付けると、最終的なスキャンの命令を受け付ける（Ｓ３３）。アプリケーションプログラム２６は、選択された抽出範囲８７の情報やスキャン条件選択部７３の設定情報を、例えば、データ記憶領域３４に記憶する（Ｓ３３）。
【００４１】
アプリケーションプログラム２６は、抽出範囲８７やスキャン条件選択部７３の設定情報を含むスキャン命令をスキャナドライバ２８へ送信する（Ｓ３５）。スキャナドライバ２８は、抽出範囲８７を含むスキャン命令を取得すると（Ｓ３５）、第１又は第２スキャン処理のいずれを実行するのか判断する（Ｓ３７）。なお、スキャナドライバ２８は、抽出範囲８７を設定されていないスキャン命令を取得すると、抽出範囲８７を抽出しないスキャン命令をスキャナ５０へ送信する。従って、Ｓ３３で抽出範囲８７を選択しない場合、あるいは、プレスキャンを実行せずにいきなりスキャン開始ボタン７６をクリックした場合、スキャナドライバ２８は、抽出範囲８７を抽出せずに原稿の全体をスキャンする通常のスキャン命令をスキャナ５０へ送信する。
【００４２】
Ｓ３７において、スキャナドライバ２８は、抽出範囲８７の設定された位置（条件情報の一例）に基づいて、図２の第１スキャン処理、又は図３の第２スキャン処理を選択する。上記したように、サイズ自動検知方式では、原稿センサ５９の誤差により原稿の後端に後端誤差データ８５が付加される（図５参照）。例えば、図５の下図の破線で示すように、後端誤差データ８５を含む範囲を抽出範囲８７として選択された場合、最終的な第３スキャンデータＳＤ３には、後端誤差データ８５が不要なデータとして含まれることとなる。このような不要なデータが第３スキャンデータＳＤ３に含まれるのを抑制するため、本実施形態のスキャナドライバ２８は、第１スキャンデータＳＤ１のうち、副走査方向の後端から所定距離の領域を抽出範囲８７が含んでいない場合には、Ｓ３７において第１スキャン処理を選択する（Ｓ３７：ＹＥＳ）。所定距離としては、原稿センサ５９の誤差によって生じる長さＬ１を採用することができる。また、スキャナドライバ２８は、副走査方向の後端から所定距離の領域を抽出範囲８７が含んでいる場合には、Ｓ３７において第２スキャン処理（図３参照）を選択する（Ｓ３７：ＮＯ）。これにより、後述するオーバースキャン方式で生成した第２スキャンデータＳＤ２を元に第３スキャンデータＳＤ３を生成することで、第３スキャンデータＳＤ３に後端誤差データ８５が含まれるのを抑制できる。
【００４３】
なお、Ｓ３７において、スキャナドライバ２８は、抽出範囲８７以外の条件情報に基づいて、第１スキャン処理又は第２スキャン処理を選択しても良い。第２スキャン処理は、後述するように実際の原稿サイズよりも大きな第２スキャンデータＳＤ２を処理するため、第１スキャン処理に比べてメモリ１４，５４の使用量の増大やＣＰＵ１２，５２の処理負荷の増大を招く可能性がある。このため、第２スキャン処理のレスポンスタイムは、第１スキャン処理に比べて長くなる。ここでいうレスポンスタイムとは、例えば、Ｓ３３において、スキャン開始ボタン７６をクリックされ最終的な第３スキャンデータＳＤ３の生成の命令を受け付けてから、Ｓ４７の第３スキャンデータＳＤ３の出力を完了するまでに必要な時間である。
【００４４】
また、例えば、高解像度を設定されたスキャン処理の場合、読取Ｉ／Ｆ５５により原稿をスキャンするのに必要な時間が長くなる可能性がある。また、例えば、ＰＣ１０の処理性能が低い場合、ＰＣ１０におけるスキャンデータＳＤの処理時間が長くなる可能性がある。また、例えば、ＰＣ１０とスキャナ５０とを接続する通信回線の速度が遅い場合、スキャンデータＳＤの送信時間が長くなる可能性がある。従って、このような高解像度、低スペック、低速通信回線の場合、スキャンデータＳＤの処理時間（画像処理の時間など）が長くなる。そこで、本実施形態のスキャナドライバ２８は、Ｓ３７においてスキャンデータＳＤの処理時間が短くなる判断した場合（第１処理条件の）は、レスポンスタイムが比較的に短い第１スキャン処理を選択する。これにより、レスポンスタイムをより短縮することができる。
【００４５】
一方で、スキャナドライバ２８は、Ｓ３７においてスキャンデータＳＤの処理時間が長くなると判断した場合（第２処理条件の一例）は、レスポンスタイムが比較的に長い第２スキャン処理を選択する。これにより、例えば、ＡＤＦで複数の原稿を読み込む場合など、前の原稿のスキャンに時間が掛かっている間に、スキャン済みの原稿に対する第２スキャン処理を完了させることができる。即ち、スキャンデータＳＤの処理時間を利用して、処理時間の長い第２スキャン処理を実行できる。
【００４６】
Ｓ３７において、スキャナドライバ２８は、例えば、予め設定された所定の解像度よりも低い解像度の設定情報を取得した場合、第１スキャン処理を選択しても良い。スキャナドライバ２８は、例えば、図４の設定画面７１の解像度バー７３Ａにおいて所定の解像度（例えば、３００＊３００ｄｐｉ）以下の解像度が選択された場合に、第１スキャン処理を選択しても良い。同様に、スキャナドライバ２８は、例えば、ＰＣ１０のＣＰＵ１２の処理能力が所定の処理能力以下であった場合、第１スキャン処理を選択しても良い。スキャナドライバ２８は、ＣＰＵ１２のコア数やクロック周波数を取得し、取得した情報に基づいてＣＰＵ１２の処理能力を判断しても良い。また、スキャナドライバ２８は、ＰＣ１０とスキャナ５０と接続する通信回線の通信速度が所定の速度以下の場合、第１スキャン処理を選択しても良い。あるいは、スキャナドライバ２８は、通信速度を判断せずに、有線通信であれば第１スキャン処理を選択し、無線通信であれば第２スキャン処理を選択しても良い。即ち、通信方式で、第１又は第２スキャン処理を選択しも良い。なお、上記した第１スキャン処理及び第２スキャン処理を選択する条件情報は、一例である。例えば、スキャナドライバ２８は、カラーのスキャンかモノクロのスキャンかによって第１又は第２スキャン処理を選択しても良い。
【００４７】
また、スキャナドライバ２８は、例えば、設定画面７１の詳細設定ボタン７４（図４参照）で設定した後処理の内容に基づいて第１又は第２スキャン処理を選択しても良い。例えば、Ｓ３３において第３スキャンデータＳＤ３に対するカラー変換、原稿ふち補正、傾き補正などの後処理が設定された場合、第３スキャンデータＳＤ３の出力までに掛かる時間、即ち、レスポンスタイムが長くなる。従って、スキャナドライバ２８は、このような後処理の処理時間が長い場合に、第２スキャン処理を選択しても良い。
【００４８】
まず、Ｓ３７において第１スキャン処理を選択した場合について、図２を用いて説明する。スキャナドライバ２８は、Ｓ３７において第１スキャン処理を選択すると、スキャン条件選択部７３の設定情報に従ってサイズ自動検知方式を実行するスキャン命令をスキャナ５０に送信する（Ｓ３９）。スキャナ５０のプログラム６１は、スキャナドライバ２８からスキャン命令を取得すると、スキャン条件選択部７３の設定情報（例えば、解像度が３００ｄｐｉ＊３００ｄｐｉ）に従って第２スキャンデータＳＤ２を生成する（Ｓ４１）。プログラム６１は、上記したＳ２５と同様に、サイズ自動検知方式により原稿サイズを検知し第２スキャンデータＳＤ２を生成する（図５参照）。この第２スキャンデータＳＤ２は、上記した最低解像度で生成した中間スキャンデータＳＤ５とは異なり、図４の解像度バー７３Ａで設定された解像度でスキャンしたデータである。
【００４９】
プログラム６１は、生成した第２スキャンデータＳＤ２を圧縮し、圧縮した第２スキャンデータＳＤ２をスキャナドライバ２８へ送信する（Ｓ４３）。スキャナドライバ２８は、Ｓ４３でプログラム６１から取得した第２スキャンデータＳＤ２の中から、抽出範囲８７に相当するデータのみをデコードする（Ｓ４５）。抽出範囲８７を抽出する方法は特に限定されない。例えば、プログラム６１は、主走査方向及び副走査方向の座標（各列や行の情報）を第２スキャンデータＳＤ２に付加しても良い。そして、スキャナドライバ２８は、この座標の情報と、Ｓ３３で受け付けた抽出範囲８７の設定情報とに基づいて、抽出範囲８７に相当するデータのみをデコードし、抽出範囲８７のみを抽出しても良い。なお、スキャナドライバ２８は、第２スキャンデータＳＤ２の一部のみをデコードせずに、第２スキャンデータＳＤ２の全体をデコードし、デコードした全体の第２スキャンデータＳＤ２から抽出範囲８７を抽出しても良い。
【００５０】
スキャナドライバ２８は、抽出範囲８７のみをデコードしたデータを第３スキャンデータＳＤ３としてアプリケーションプログラム２６へ送信する（Ｓ４７）。このため、図２に示す第１スキャン処理において、スキャナドライバ２８は、抽出範囲８７のみをデコードして、抽出範囲８７に相当する第３スキャンデータＳＤ３を出力する。これにより、後述する図３の第２スキャン処理に比べて、メモリ１４の使用量やＣＰＵ１２の処理負荷の軽減を図ることができる。
【００５１】
アプリケーションプログラム２６は、Ｓ４７においてスキャナドライバ２８から第３スキャンデータＳＤ３を取得すると、第３スキャンデータＳＤ３をＬＣＤ１６へ表示する。あるいは、アプリケーションプログラム２６は、第３スキャンデータＳＤ３をメモリ１４へ保存する処理等を実行する（Ｓ４９）。これにより、原稿サイズの自動検知を実行しつつ、抽出範囲８７を示す第３スキャンデータＳＤ３の表示等を行うことができる。
【００５２】
なお、上記した説明では、１つ原稿に対応する第３スキャンデータＳＤ３を出力する処理の流れについて説明したが、複数の原稿のそれぞれの第３スキャンデータＳＤ３を出力する場合についても同様に実行できる。例えば、スキャナドライバ２８は、Ｓ２３においてＡＤＦにセットされた複数の原稿についてサイズ自動検知方式を実行する命令を送信する。スキャナ５０は、複数の原稿を順次スキャンしながらＳ２５、Ｓ２７の処理を実行する。スキャナドライバ２８は、スキャナ５０から第１スキャンデータＳＤ１を取得するごとにＳ２９〜Ｓ３３の処理を実行する。ユーザは、Ｓ３３で抽出範囲８７を設定し、原稿をＡＤＦにセットしつつ、スキャン開始ボタン７６を選択する。これにより、複数の原稿の１つ１つについて第３スキャンデータＳＤ３を出力できる。
【００５３】
次に、第２スキャン処理について図３を用いて説明する。なお、以下の説明では、上記した図２の第１スキャン処理と同様の内容については、同一符号を付し、その説明を適宜省略する。上記したように、スキャナドライバ２８は、Ｓ３７において第１スキャン処理又は第２スキャン処理を選択する。このため、図３は、図２のＳ３７で第２スキャン処理を選択された後のＳ５１以降の処理内容を示している。Ｓ３７において、スキャナドライバ２８は、例えば、副走査方向の後端から所定距離の領域を抽出範囲８７が含んでいると判断すると、第２スキャン処理を選択する（Ｓ３７：ＮＯ）。
【００５４】
Ｓ５１において、スキャナドライバ２８は、スキャン条件選択部７３の設定情報に従ってオーバースキャン方式を実行するスキャン命令をスキャナ５０に送信する。スキャナ５０のプログラム６１は、スキャナドライバ２８からスキャン命令を取得すると、スキャン条件選択部７３の設定情報に従ってオーバースキャン方式を実行し、第２スキャンデータＳＤ２を生成する（Ｓ５３）。図６は、オーバースキャン方式で生成される第２スキャンデータＳＤ２の状態を示している。プログラム６１は、図６に示すように、ハガキサイズの原稿に相当する原稿スキャンデータ８１を、主走査方向及び副走査方向において最大サイズのＡ４サイズでスキャンする。従って、プログラム６１は、第１スキャン処理のサイズ自動検知スキャン方式とは異なり、原稿センサ５９による副走査方向のサイズ検知を実行せずに、副走査方向においても最大サイズでスキャンする。主走査方向において最大サイズでスキャンすることで、図６に示すように、主走査方向における原稿スキャンデータ８１の両側には、主走査方向付加データ８３が発生する。主走査方向付加データ８３は、Ａ４サイズとして足りない部分に対応している。
【００５５】
また、副走査方向においても最大サイズでスキャンすることで、副走査方向における原稿スキャンデータ８１の両側には、副走査方向付加データ８９が発生する。副走査方向付加データ８９は、主走査方向付加データ８３と同様に、Ａ４サイズとして足りない部分に対応している。副走査方向における原稿の前端より手前の位置からスキャンを開始し原稿カバーを読み取ることで、原稿スキャンデータ８１の前端にも副走査方向付加データ８９が発生する。また、読み込みを開始した位置からＡ４サイズ（最大サイズ）の位置までスキャンすることで、原稿の後端に副走査方向付加データ８９が発生する。
【００５６】
プログラム６１は、主走査方向付加データ８３及び副走査方向付加データ８９を有する第２スキャンデータＳＤ２を生成し（Ｓ５３）、生成した第２スキャンデータＳＤ２を圧縮してスキャナドライバ２８へ送信する（Ｓ５５）。スキャナドライバ２８は、スキャナ５０から取得した第２スキャンデータＳＤ２をデコードし（Ｓ５７）、原稿のサイズを検知して第２スキャンデータＳＤ２から原稿スキャンデータ８１を抽出する（Ｓ５９）。スキャナドライバ２８は、例えば、色の識別によって主走査方向付加データ８３及び副走査方向付加データ８９を検知して削除する。プログラム６１は、原稿カバーの内側の色である、グレー色に該当し、且つ第２スキャンデータＳＤ２の主走査方向における外側部分に配置された画像を、主走査方向付加データ８３の画像として検知する。同様に、スキャナドライバ２８は、原稿カバーの内側の色に該当し、且つ第２スキャンデータＳＤ２の副走査方向における外側部分に配置された画像を、副走査方向付加データ８９として検知する。スキャナドライバ２８は、第２スキャンデータＳＤ２のうち検知した主走査方向付加データ８３及び副走査方向付加データ８９を除く部分（図６の下方に示す原稿スキャンデータ８１）を抽出する（Ｓ５９）。
【００５７】
次に、スキャナドライバ２８は、生成した原稿スキャンデータ８１（処理後の第２スキャンデータＳＤ２）の中から、抽出範囲８７に相当するデータを抽出し、第３スキャンデータＳＤ３を生成する（Ｓ５９）。例えば、スキャナドライバ２８は、第２スキャンデータＳＤ２に対して主走査方向及び副走査方向に沿った座標を設定し、Ｓ３３で受け付けた抽出範囲８７の設定情報（主走査方向、副走査方向における位置）に基づいて抽出範囲８７を抽出する（Ｓ５９）。
【００５８】
スキャナドライバ２８は、抽出したデータを第３スキャンデータＳＤ３としてアプリケーションプログラム２６へ送信する（Ｓ４７）。アプリケーションプログラム２６は、Ｓ４７においてスキャナドライバ２８から第３スキャンデータＳＤ３を取得すると、第３スキャンデータＳＤ３の表示処理や保存処理等を行う（Ｓ４９）。これにより、原稿サイズの自動検知を実行しつつ、抽出範囲８７を示す第３スキャンデータＳＤ３の表示等を行うことができる。
【００５９】
上記したように、図３に示す第２スキャン処理において、スキャナドライバ２８は、２回目の最終的なスキャン処理でオーバースキャン方式を実行し、第２スキャンデータＳＤ２から抽出範囲８７を抽出する画像処理を行う。第２スキャン処理では、スキャナ５０の原稿センサ５９による原稿サイズの検知を実行しない。また、第２スキャン処理では、副走査方向においても副走査方向付加データ８９を付加し、画像処理によって後から削除する。これにより、図５に示す後端誤差データ８５が付加されていない原稿スキャンデータ８１を生成できる。そして、この後端誤差データ８５のない原稿スキャンデータ８１を対象として抽出範囲８７の抽出を行うことができる。これにより、仮に、Ｓ３３において後端誤差データ８５を含む領域を抽出範囲８７として設定された場合であっても、後端誤差データ８５を含まず、且つ原稿の後端の位置に合わせて抽出範囲８７を抽出した第３スキャンデータＳＤ３を生成できる。
【００６０】
一方で、第２スキャン処理では、原稿サイズよりも大きな第２スキャンデータＳＤ２を生成しスキャナ５０からＰＣ１０へ送信する。また、スキャナドライバ２８は、データ量の大きい第２スキャンデータＳＤ２の全体をデコードし、デコードした全体の第２スキャンデータＳＤ２から原稿スキャンデータ８１を抽出する。そして、抽出した原稿スキャンデータ８１から抽出範囲８７を抽出する。このため、第２スキャン処理は、ＰＣ１０とスキャナ５０との間で送信するデータ量、ＣＰＵ１２による処理の負荷、メモリ１４の使用量が第１スキャン処理に比べて増大する可能性がある。そこで、本実施形態では、Ｓ３７において後端誤差データ８５を含む領域を抽出範囲８７として設定されない限り、第１スキャン処理を実行し、サイズ自動検知方式により第３スキャンデータＳＤ３を生成する。これにより、レスポンスタイムの短縮等を図ることができる。
【００６１】
＜第３スキャン処理＞
次に、原稿サイズの指定を受け付けた場合に実行する第３スキャン処理について図７を参照して説明する。第３スキャン処理では、指定された原稿サイズを用いてスキャン処理を実行するため、原稿サイズの自動検知を実行しない。以下の説明では、上記した第１スキャン処理及び第２スキャン処理と同様の処理内容については同一符号を付し、その説明を適宜省略する。
【００６２】
まず、図７に示すように、図２の第１スキャン処理と同様にＳ１１〜Ｓ１４を実行する。Ｓ１７において、スキャナドライバ２８は、設定画面７１の原稿サイズバー７３Ｃにおいて原稿サイズの指定を受け付ける（Ｓ１７）。例えば、原稿サイズバー７３Ｃでハガキサイズを選択される。Ｓ１７において、スキャナドライバ２８は、設定画面７１のプレビュー開始ボタン７５をクリックされると、原稿サイズとしてハガキサイズを指定したプレスキャンのスキャン命令をスキャナ５０へ送信する（Ｓ６３）。スキャナドライバ２８は、解像度として最も低い解像度を指定し、原稿サイズとしてハガキサイズを指定したスキャン命令をスキャナ５０に送信する（Ｓ６３）。
【００６３】
スキャナ５０のプログラム６１は、Ｓ６３でサイズ指定のスキャン命令を取得すると、主走査方向のスキャンの幅をハガキサイズに設定し、且つ副走査方向のスキャンの高さをハガキサイズに設定してスキャンを実行する（Ｓ６５）。これにより、プログラム６１は、第１スキャンデータＳＤ１を生成する。なお、サイズ指定のスキャンにおいて読取Ｉ／Ｆ５５の誤差が生じると、図５の下図と同様に第１スキャンデータＳＤ１には、後端誤差データ８５が発生する。
【００６４】
プログラム６１は、生成した第１スキャンデータＳＤ１をスキャナドライバ２８へ送信する（Ｓ２７）。スキャナドライバ２８及びアプリケーションプログラム２６は、第１スキャン処理と同様に、Ｓ２９〜Ｓ３３の処理を実行する。Ｓ３３において、アプリケーションプログラム２６は、抽出範囲８７の設定と、設定画面７１の原稿サイズバー７３Ｃによりハガキサイズの指定を受付ける。アプリケーションプログラム２６は、スキャン開始ボタン７６をクリックされるのに応じて、抽出範囲８７や指定された原稿サイズの設定情報を含むスキャン命令をスキャナドライバ２８へ送信する（Ｓ６７）。
【００６５】
スキャナドライバ２８は、Ｓ６７でスキャン命令を取得すると、指定サイズや抽出範囲８７の設定情報を含むスキャン命令をプログラム６１へ送信する（Ｓ６９）。従って、第３スキャン処理において、スキャナドライバ２８は、図２や図３に示すＳ３７の判断処理を実行せず、Ｓ６７で取得した指定サイズの設定情報や抽出範囲８７の設定情報（座標、幅、高さなど）をプログラム６１へ送信する（Ｓ６９）。なお、スキャナドライバ２８は、第１スキャン処理及び第２スキャン処理と同様に、抽出範囲８７の位置等に基づいて、スキャン方式を変更しても良い。具体的には、抽出範囲８７に後端誤差データ８５が含まれているような場合には、スキャナドライバ２８は、オーバースキャン方式のスキャン命令をプログラム６１へ送信しても良い。
【００６６】
スキャナ５０のプログラム６１は、Ｓ６９のスキャン命令を取得すると、Ｓ６５と同様に指定されたハガキサイズによるスキャンを実行する（Ｓ７１）。この際、プログラム６１は、解像度としてＳ３３で設定された解像度でスキャンを実行する。また、プログラム６１は、Ｓ６９でスキャナドライバ２８から取得した抽出範囲８７の設定情報に基づいて、抽出範囲８７の抽出を行う（Ｓ７１）。例えば、プログラム６１は、主走査方向及び副走査方向において、Ｓ３３で指定された抽出範囲８７に相当する位置のみをスキャンしても良い。これにより、抽出範囲８７に相当する第２スキャンデータＳＤ２を生成することができる。あるいは、プログラム６１は、Ｓ６５と同様に、指定されたサイズに基づいて原稿の全体をスキャンし、スキャンして生成した原稿スキャンデータ８１から抽出範囲８７の抽出を実行しても良い。
【００６７】
従って、第３スキャン処理では、プログラム６１が、抽出範囲８７の抽出処理までを実行する。これは、第１及び第２スキャン処理において、原稿サイズの検知処理と、抽出範囲８７の抽出処理との両方を、スキャナ５０に実行させることは、スキャナ５０の処理能力やコストの面から考えて難しいためである。なお、スキャナ５０の処理能力が高い場合、第１及び第２スキャン処理において、スキャナ５０側で抽出範囲８７の抽出まで実行しても良い。
【００６８】
プログラム６１は、抽出範囲８７に相当する第２スキャンデータＳＤ２を圧縮してスキャナドライバ２８へ送信する（Ｓ４３）。スキャナドライバ２８は、Ｓ４３で取得した第２スキャンデータＳＤ２をデコードし、デコードしたデータを第３スキャンデータＳＤ３としてアプリケーションプログラム２６へ送信する（Ｓ４７）。このため、図７に示す第３スキャン処理において、スキャナドライバ２８は、第２スキャンデータＳＤ２のデコードのみを実行すれば、第３スキャンデータＳＤ３の出力を実行することができる。アプリケーションプログラム２６は、取得した第３スキャンデータＳＤ３を表示等する（Ｓ４９）。このようにして、サイズを指定された場合の第３スキャンデータＳＤ３の表示等を行うことができる。
【００６９】
因みに、ＰＣ１０、スキャナ５０は、情報処理装置の一例である。ＣＰＵ１２，５２は、コンピュータ、コントローラの一例である。ＬＣＤ１６，５８は、ディスプレイの一例である。入力Ｉ／Ｆ１８，５７は、ユーザインタフェースの一例である。アプリケーションプログラム２６、スキャナドライバ２８、プログラム６１は、制御プログラムの一例である。サイズ自動検知スキャン方式は、第１スキャン方式の一例である。オーバースキャン方式は、第２スキャン方式の一例である。
【００７０】
＜実施例の効果＞
上記した実施形態によれば、以下の効果を奏する。
本実施形態のスキャナドライバ２８は、原稿サイズ自動検知スキャンの設定を受け付けた状態で（Ｓ１７）、スキャナ５０から第１スキャンデータＳＤ１を取得し（Ｓ２７）、第１スキャンデータＳＤ１が示す画像をＬＣＤ１６に表示させる（Ｓ３１）。また、スキャナドライバ２８は、表示した第１スキャンデータＳＤ１の画像における抽出範囲８７を受け付ける（Ｓ３５）。スキャナドライバ２８は、スキャナ５０へ第２スキャンデータＳＤ２のスキャン命令を送信し（Ｓ３９，Ｓ５１）、スキャナ５０から取得した第２スキャンデータＳＤ２のうち、抽出範囲８７の画像を示すデータを第３スキャンデータＳＤ３として抽出する（Ｓ４５，Ｓ５９）。スキャナドライバ２８は、抽出した第３スキャンデータＳＤ３を出力する（Ｓ４７）。
【００７１】
これによれば、第１スキャンデータＳＤ１の画像を事前に表示し、抽出範囲８７を受け付ける。第２スキャンデータＳＤ２は、原稿のサイズを自動で検知した処理後のデータや、自動検知に用いる処理前のデータなど、原稿サイズ自動検知スキャンの設定に対応するデータとして用いられる。そして、第２スキャンデータＳＤ２のうち、受け付けた抽出範囲８７のデータを第３スキャンデータＳＤ３として抽出し出力する。このため、原稿のサイズを自動で検知する命令を受け付けた場合であっても、原稿のサイズを自動で検知しつつ、スキャンデータＳＤから指定された抽出範囲８７を抽出できる。
【００７２】
また、サイズ自動検知スキャン方式（第１スキャン方式の一例）は、スキャナ５０が備える原稿センサ５９による原稿のサイズの検知と、検知されたサイズの原稿を示す第２スキャンデータＳＤ２の生成と、をスキャナ５０において行う方式である。これによれば、スキャナ５０が、原稿センサ５９により原稿サイズを自動で検知する。このため、スキャナドライバ２８は、サイズの検知処理が不要となり、検知後の第２スキャンデータＳＤ２を対象として抽出範囲８７の抽出を実行できる。
【００７３】
また、オーバースキャン方式（第２スキャン方式の一例）は、原稿の画像を含み且つ原稿のサイズよりも大きな範囲の画像を示す第２スキャンデータＳＤ２の生成をスキャナ５０において行う方式である。スキャナドライバ２８は、第２スキャンデータＳＤ２から原稿のサイズを検知し、原稿の画像を抽出した後に、抽出したデータから第３スキャンデータＳＤ３を抽出する。これによれば、スキャナドライバ２８により原稿サイズを自動で検知する。このため、スキャナ５０側の処理負担を軽減することができる。
【００７４】
また、スキャナドライバ２８は、スキャン命令を送信する（Ｓ３９，Ｓ５１）以前のＳ３７においてスキャンの条件を示す条件情報（抽出範囲８７の位置など）に基づいて、サイズ自動検知スキャン又はオーバースキャン方式を選択する。これによれば、条件情報に基づいて、サイズ自動検知スキャン方式を実行すべきか、あるいはオーバースキャン方式を実行すべきかを選択できる。
【００７５】
また、スキャナドライバ２８は、抽出範囲８７の情報を条件情報として用い、抽出範囲８７が、スキャンの搬送方向における原稿の後端から所定の範囲を含まない場合にはサイズ自動検知スキャンを選択し、抽出範囲８７が所定の範囲を含む場合にはオーバースキャン方式を選択する（図５参照）。
【００７６】
スキャナ５０の原稿センサ５９は、例えば、読取Ｉ／Ｆ５５のＡＤＦによる原稿の自動搬送と検知タイミングのずれによって、原稿の後端の検知位置に誤差が生じる可能性がある。その結果、生成された第２スキャンデータＳＤ２の後端には、原稿を背面側から抑える原稿カバーの後端誤差データ８５が入り込む虞がある。これに対し、第２スキャン処理では、オーバースキャン方式により原稿サイズよりも大きな第２スキャンデータＳＤ２を生成しておき、そこからサイズを自動検知したデータを用いて抽出範囲８７の抽出、即ち、第３スキャンデータＳＤ３の生成を実行する。このため、第２スキャン処理は、第１スキャン処理に比べて原稿の後端に後端誤差データ８５が入り込む可能性が低い。一方で、第２スキャン処理は、実際の原稿サイズよりも大きなスキャンデータＳＤを処理するため、第１スキャン処理に比べてメモリ１４の使用量の増大やＣＰＵ１２の処理負荷の増大を招く可能性がある。そこで、抽出範囲８７が、原稿の後端から所定の範囲を含まない場合には、サイズ自動検知スキャン方式のスキャンを実行する第１スキャン処理を選択することで、メモリ１４の使用量やＣＰＵ１２の処理負荷の増大を抑制できる。一方で、抽出範囲８７が所定の範囲を含む場合には、オーバースキャン方式のスキャンを実行する第２スキャン処理を選択することで、第３スキャンデータＳＤ３に後端誤差データ８５などの不要なデータが含まれるのを抑制できる。
【００７７】
また、スキャナドライバ２８は、Ｓ１７で入力Ｉ／Ｆ１８により設定された解像度や後処理（条件情報の一例）を、スキャン方式を選択する条件情報として用いても良い。これによれば、入力Ｉ／Ｆ１８を介して条件情報を受け付けることで、サイズ自動検知スキャン方式を実行すべきか、あるいはオーバースキャン方式を実行すべきかを入力Ｉ／Ｆ１８で受け付けることができる。
【００７８】
また、スキャナドライバ２８は、条件情報が第１処理条件を示す場合にはサイズ自動検知スキャン方式を選択し、条件情報が第２処理条件を示す場合にはオーバースキャン方式を選択しても良い。ここでいう第２処理条件は、第２処理条件で所定のスキャンデータＳＤを処理した場合にかかる処理時間が、第１処理条件で所定のスキャンデータＳＤを処理した場合にかかる処理時間よりも長くなる処理条件である。
【００７９】
高解像度のスキャン処理の場合、読取Ｉ／Ｆ５５により原稿を読み取るのに必要な時間（スキャンデータＳＤの処理時間）が長くなる。また、ＰＣ１０の処理性能が低い場合、抽出処理など（スキャンデータＳＤの処理時間）が長くなる。また、ＰＣ１０とスキャナ５０とを接続する通信回線の速度が遅い場合、スキャンデータＳＤの送信時間（スキャンデータＳＤの処理時間）が長くなる。そこで、スキャンデータＳＤを処理した場合にかかる処理時間がより短い第１処理条件（低解像度、ＣＰＵ１２の処理能力が高い、高速通信回線など）の場合は、画像処理に必要な時間が比較的短い第１スキャン処理のサイズ自動検知スキャン方式を選択する。これにより、第３スキャンデータＳＤ３を出力するまでのレスポンスタイムをより短縮することができる。また、スキャンデータＳＤの処理時間がより長い第２処理条件（高解像度、ＣＰＵ１２の処理能力が低い、低速通信回線など）の場合は、画像処理に必要な時間が比較的に長い第２スキャン処理のオーバースキャン方式を選択する。これにより、例えば、複数の原稿をＡＤＦで読み込む場合など、前の原稿のスキャンに時間が掛かっている間に、スキャン済みの原稿に対する第２スキャン処理を完了させることができる。即ち、スキャンデータＳＤの処理時間を利用して、処理時間の長い第２スキャン処理を実行できる。
【００８０】
また、スキャナドライバ２８は、条件情報が第１解像度でのスキャンを示す場合にはサイズ自動検知スキャン方式を選択し、条件情報が第２解像度でのスキャンを示す場合にはオーバースキャン方式を選択しても良い。ここでいう第２解像度は、第１解像度よりも高い解像度である。これによれば、スキャンの解像度で変動するスキャンデータＳＤの処理時間に合わせて適切なスキャン方式を選択できる。
【００８１】
また、スキャナドライバ２８は、原稿のサイズの指定を受け付けた場合（図７のＳ１７）、第１スキャン命令を送信する。ここでいう第１スキャン命令は、指定された原稿のサイズと、抽出範囲８７とをスキャン命令としてスキャナ５０へ送信し、抽出範囲８７の画像のみを示す第２スキャンデータＳＤ２をスキャナ５０へ生成させる命令である。原稿サイズを指定された場合、原稿サイズの検知処理が不要となり、指定された原稿サイズに基づいて処理ができるため、スキャン処理の負担が低減する。このため、ＰＣ１０等に比べて処理能力の低いスキャナ５０でも、指定された原稿サイズに基づいて抽出範囲８７の画像のみを示す第２スキャンデータＳＤ２を生成することが可能となる。
【００８２】
なお、Ｓ２７，Ｓ２９，Ｓ３１，Ｓ３３を実行するＣＰＵ１２は、表示手段の一例である。Ｓ３３を実行するＣＰＵ１２は、記憶手段の一例である。Ｓ３７，Ｓ３９，Ｓ５１を実行するＣＰＵ１２は、命令手段の一例である。Ｓ４５，Ｓ５９を実行するＣＰＵ１２は、抽出手段の一例である。Ｓ４７を実行するＣＰＵ１２は、出力手段の一例である。
【００８３】
また、本発明は、上記実施形態に限定されるものではなく、当業者の知識に基づいて種々の変更、改良を施した種々の態様で実施することが可能である。
具体的には、例えば、上記実施形態では、サイズ自動検知方式において、ＰＣ１０のスキャナドライバ２８が、第２スキャンデータＳＤ２から抽出範囲８７の抽出（一部デコード）を実行したが（Ｓ４５）、スキャナ５０のプログラム６１が抽出範囲８７の抽出まで実行しても良い。同様に、オーバースキャン方式において、スキャナドライバ２８が、抽出範囲８７の抽出を実行したが、プログラム６１が抽出範囲８７の抽出までを実行しても良い。この場合、スキャナ５０は、本願の情報処理装置の一例である。また、プログラム６１は、本願の制御プログラムの一例である。
また、上記実施形態では、Ｓ３３の第１スキャンデータＳＤ１の表示処理や受付けた抽出範囲８７の抽出情報をメモリ１４へ記憶する処理をアプリケーションプログラム２６が実行したが、スキャナドライバ２８が実行しても良い。
【００８４】
また、上記実施形態では、第１スキャン処理及び第２スキャン処理は、プレスキャンにおいてサイズ自動検知方式を実行したが、これに限らない。プレスキャンとしてオーバースキャン方式を実行しても良い。また、スキャナドライバ２８は、プレスキャンにおいて、Ｓ３７と同様に、Ｓ１７で設定された解像度、ＰＣ１０の処理能力、通信回線の速度などに基づいて、サイズ自動検知方式かオーバースキャン方式かを選択してプレスキャンを実行しても良い。例えば、解像度が低い場合、スキャナドライバ２８は、レスポンスタイムの短いサイズ自動検知方式によりプレスキャンを実行しても良い。
また、上記実施形態では、スキャナドライバ２８は、自動で第１スキャン処理か第２スキャン処理かを選択したが、設定を受け付けて実行しても良い。例えば、図８に示すように、スキャナドライバ２８は、サイズ自動検知方式又はオーバースキャン方式を選択する方式選択欄９１を設定画面７１に表示しても良い。スキャナドライバ２８は、方式選択欄９１に表示したサイズ自動検知方式又はオーバースキャン方式のチェックボックにチェックを入れられたことに応じて、チェックを入れられた方式を実行するスキャン命令をスキャナ５０へ送信しても良い。これにより、プレスキャンや最終的なスキャンの方式を選択できる。また、方式の選択は、設定画面７１のようなユーザインタフェースを用いた方法に限らず、例えば、メモリ１４に記憶された設定ファイルを用いても良い。スキャナドライバ２８は、設定ファイルに書き込まれた方式に基づいて、実行する方式を選択しても良い。
【００８５】
また、上記実施形態では、ＣＰＵ１２によってＰＣ１０側の処理が実行される例を説明したが、これに限らない。ＰＣ１０は、デコード処理などを、ＣＰＵ１２に限らず、ＡＳＩＣや他の論理集積回路により実行しても良いし、ＣＰＵ等やＡＳＩＣ、他の論理集積回路を協働させて実行しても良い。
【符号の説明】
【００８６】
１  スキャンシステム、１０  ＰＣ（情報処理装置）、１２，５２  ＣＰＵ（コンピュータ、コントローラ）、１４，５４  メモリ、１６，５８  ＬＣＤ（ディスプレイ）、１８，５７  入力Ｉ／Ｆ（ユーザインタフェース）、２８  スキャナドライバ（制御プログラム）、２６  アプリケーションプログラム（制御プログラム）、５０  スキャナ、５９  原稿センサ、８７  抽出範囲、ＳＤ１  第１スキャンデータ、ＳＤ２  第２スキャンデータ、ＳＤ３  第３スキャンデータ。
【図１】
2020088776.tif 000003
【図２】
2020088776.tif 000004
【図３】
2020088776.tif 000005
【図４】
2020088776.tif 000006
【図５】
2020088776.tif 000007
【図６】
2020088776.tif 000008
【図７】
2020088776.tif 000009
【図８】
2020088776.tif 000010